:root{--bg:#061d27;--panel:#0b2a33;--gold:#f1ce85;--mint:#a4dfcd;--ink:#eff5ed;--muted:#91abae;--line:#c8e5de20;color-scheme:dark;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:radial-gradient(ellipse at 30% 0,#123a40,transparent 65%),var(--bg)}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;cursor:pointer}button:disabled{opacity:.36;cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--mint);outline-offset:4px}[hidden]{display:none!important}.site-header{height:82px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;max-width:1390px;margin:auto;padding:0 44px}.brand{display:flex;gap:12px;align-items:center;font-weight:800;font-size:17px;letter-spacing:2px}.brand b{color:var(--gold)}.brand small{font-size:8px;color:var(--muted);display:block;margin-top:7px;letter-spacing:2.6px;font-weight:400}.brand-mark{display:grid;place-items:center;color:var(--gold);width:44px;height:44px;border:1px solid #ead39877;border-radius:50%;font-family:Georgia,serif;font-size:37px;line-height:1}.header-right{display:flex;align-items:center;gap:10px}.free-badge{font-size:9px;letter-spacing:1.3px;color:var(--mint);margin-right:20px}.free-badge i{display:inline-block;width:5px;height:5px;background:var(--mint);border-radius:50%;margin-right:7px}.icon-btn{width:35px;height:35px;border:1px solid #8cb4b344;border-radius:50%;background:transparent;color:var(--ink);font-size:18px}.page{max-width:1390px;margin:auto;padding:0 44px}.page-heading{display:flex;align-items:center;justify-content:space-between;padding:29px 0 25px}.eyebrow{color:var(--mint);font-size:9px;font-weight:700;letter-spacing:2px}.page-heading h1{font-size:30px;letter-spacing:-.8px;font-weight:500;margin:10px 0 0}.page-heading em,.journey-card em{font-family:Georgia,serif;color:var(--gold);font-weight:400}.page-heading>p{font-size:11px;color:var(--muted);line-height:1.7;margin:0;border-left:1px solid var(--line);padding-left:20px}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:25px;align-items:start}.arcade{background:#08242e;border:1px solid #88b5ac44;border-radius:20px;overflow:hidden;box-shadow:0 24px 70px #0004}.campaign-brief{padding:18px 22px 12px;background:linear-gradient(90deg,#10353b,#0d2b35)}.campaign-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.campaign-heading>div:first-child{display:flex;align-items:center;gap:14px}.campaign-heading #level-label{font-size:9px;border:1px solid #a4dfcd4d;border-radius:5px;padding:6px 8px;letter-spacing:.7px;color:var(--mint);white-space:nowrap}.campaign-heading b{font-size:13px;font-weight:600}.goal-text{text-align:right}.goal-text>span{display:block;font-size:7px;letter-spacing:1.5px;color:var(--muted);margin-bottom:4px}.goal-text strong{font-size:14px;color:var(--gold);font-variant-numeric:tabular-nums}.goal-track{height:3px;background:#b0e2d61a;margin-top:13px;border-radius:3px;overflow:hidden}.goal-track i{display:block;height:100%;width:0;background:var(--gold);transition:width .2s}.campaign-bottom{display:flex;justify-content:space-between;gap:12px;min-height:21px;padding-top:8px;font-size:8px;color:#a0c0bd}.campaign-bottom p{margin:0}.campaign-bottom b{font-size:7px;letter-spacing:.5px;color:var(--gold)}.arena{height:470px;position:relative;isolation:isolate;overflow:hidden;background:#08758d url('assets/reef.png') center/cover}.arena:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 55px #00283877;z-index:1}.arena>canvas{width:100%;height:100%;display:block;touch-action:none;outline:none}.hud{position:absolute;left:18px;right:18px;top:16px;display:flex;align-items:center;gap:10px;z-index:2;pointer-events:none}.hud-score,.timer{padding:10px 13px;border:1px solid #abdce344;background:#082d3cbf;backdrop-filter:blur(8px);border-radius:10px;min-width:71px}.hud small{display:block;font-size:7px;color:#c3dfdf;letter-spacing:1.4px;margin-bottom:3px}.hud strong{font-size:27px;font-variant-numeric:tabular-nums}.timer{text-align:center}.timer strong span{font-size:12px;color:#b1cdd2}.phase{flex:1;text-align:center;font-size:8px;font-weight:700;letter-spacing:1px;text-shadow:0 2px 8px #001a28}.pause{pointer-events:auto;min-width:32px;height:32px;border:1px solid #c9edeb55;background:#082f3c99;color:white;border-radius:50%}.boss-hud{position:absolute;top:98px;left:28%;right:28%;font-size:9px;text-align:center;letter-spacing:.8px;pointer-events:none;text-shadow:0 1px 4px #001b20;z-index:2}.boss-hud>div{height:6px;border-radius:5px;overflow:hidden;background:#05232ebf;margin:7px 0 4px}.boss-hud i{display:block;height:100%;background:#ffb18d;transition:width .1s}.boss-hud b{font-size:8px;font-weight:400}.boss-hud.golden i{background:var(--gold)}.rare-hud{position:absolute;bottom:24px;left:16px;padding:10px 12px;background:#062c38e3;border:1px solid #85d9c777;border-radius:8px;display:flex;flex-direction:column;gap:4px;max-width:35%;pointer-events:none;z-index:2}.rare-hud b{font-size:9px;letter-spacing:.8px;color:var(--mint)}.rare-hud span{font-size:8px;color:#d9efeb}.rare-hud.golden{border-color:#e9c47099;background:#332b18e6}.rare-hud.golden b{color:var(--gold)}.stage-notice{position:absolute;top:35%;left:10%;right:10%;text-align:center;pointer-events:none;font-size:clamp(17px,2vw,28px);font-weight:800;color:#ffe1a0;text-shadow:0 2px 5px #002330,0 4px 30px #001c2d;z-index:3}.aim-tip{position:absolute;bottom:13px;width:100%;text-align:center;font-size:8px;letter-spacing:1px;color:#def8f0;pointer-events:none;text-shadow:0 1px 4px #000}.aim-tip>span{font-size:18px;vertical-align:middle;margin-right:4px}.start-screen,.pause-screen{position:absolute;inset:0;z-index:4;background:linear-gradient(180deg,#012e3f40,#042f42b0 60%,#032c3ce8);display:flex;align-items:center;justify-content:center;text-align:center;flex-direction:column}.start-label{display:flex;align-items:center;gap:12px;color:#dbefdf;letter-spacing:2px;font-size:8px}.start-label span{width:22px;height:1px;background:#d9e8c777}.start-screen h2{font-size:74px;line-height:.96;letter-spacing:-2px;font-weight:600;margin:23px 0 18px;text-shadow:0 4px 30px #00293655}.start-screen h2 em{font-family:Georgia,serif;font-weight:400;color:#ffe0a0}.start-screen p{font-size:12px;line-height:1.8;color:#d9ebe8;margin:0 0 25px}.gold-button{border:1px solid #ffe5b8;border-radius:10px;background:linear-gradient(115deg,#ffe6ab,#eab75f);box-shadow:0 6px 0 #9e7942,0 15px 40px #001f2a80;color:#15323a;padding:18px 28px;display:flex;align-items:center;justify-content:center;gap:35px;font-size:11px;font-weight:800;letter-spacing:1px;min-width:230px;transition:transform .15s}.gold-button:hover{transform:translateY(-2px);filter:brightness(1.05)}.gold-button:active{transform:translateY(3px);box-shadow:0 3px 0 #9e7942}.gold-button>span{font-size:20px}.start-screen>small{font-size:9px;color:#bcd5d2;margin-top:24px}.pause-screen{background:#042b3bd9;backdrop-filter:blur(5px)}.pause-screen h2{font-family:Georgia,serif;font-size:36px;color:var(--gold);font-weight:400;margin:18px 0 6px}.pause-screen p{font-size:12px;color:var(--muted);margin:8px 0 30px}.controls{display:flex;gap:14px;align-items:center;padding:17px 20px 10px}.shot-modes{display:flex;gap:4px;background:#031a24;border-radius:9px;padding:4px}.shot-modes button{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:52px;padding:7px 10px;color:#8aaeb5;background:transparent;border:1px solid transparent;border-radius:6px}.shot-modes b{font-size:20px;line-height:20px}.shot-modes span{font-size:7px;letter-spacing:.7px}.shot-modes [aria-pressed=true]{background:#294544;border-color:#c7c49c55;color:#ffe3a2}.boss-button{background:transparent;border:1px solid #7ea9a644;border-radius:8px;color:var(--mint);font-size:8px;letter-spacing:.5px;min-height:54px;padding:10px 13px}.boss-button>span{font-size:23px;display:inline-block;vertical-align:middle;margin-right:5px}.fire-button{margin-left:auto;min-width:120px;flex:1;max-width:240px;border-radius:8px;border:1px solid #b4e1c5;background:#a8d9c1;color:#123a35;min-height:54px;font-weight:800;font-size:12px;letter-spacing:1px;position:relative;touch-action:none}.fire-button small{display:block;font-size:7px;letter-spacing:1.5px;margin-top:4px;opacity:.65}.fire-button>span{font-size:20px;margin-left:8px;vertical-align:middle}.fire-button:active{background:#d1f0d0}.milestones{padding:4px 23px 10px}.star-row{display:flex;align-items:center;color:#36555b}.star-row span{font-size:21px}.star-row .earned{color:var(--gold);text-shadow:0 0 14px #ffd68555}.star-row i{flex:1;height:1px;background:#698b8533;margin:0 13px}.milestone-labels{display:flex;justify-content:space-between;font-size:7px;letter-spacing:.7px;color:#8ba8aa;margin-top:3px}.game-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:9px 21px 16px;font-size:9px;color:#9cbaba;min-height:40px}.game-bottom>span{line-height:1.5}.game-bottom>div{display:flex;gap:10px}.game-bottom button{font-size:9px;color:#b6d4cd;background:transparent;border:0;padding:6px 0;white-space:nowrap}.expedition{display:flex;flex-direction:column;gap:16px}.journey-card,.boss-card,.session-card{border:1px solid var(--line);border-radius:16px;background:linear-gradient(140deg,#12373c99,#0c293399);padding:23px}.section-label{font-size:8px;letter-spacing:1.4px;color:#9cb8b9;display:flex;justify-content:space-between;gap:5px}.section-label>span{color:var(--gold);letter-spacing:0}.journey-card h2{font-size:23px;font-weight:400;letter-spacing:-.5px;line-height:1.3;margin:21px 0}.stage-steps{display:flex;align-items:center}.stage-steps>span{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;border:1px solid #819c9638;color:#83a6a5;border-radius:50%;font-size:10px}.stage-steps>i{height:1px;flex:1;background:#819c9638}.stage-steps .current{background:var(--gold);border-color:var(--gold);color:#213a3c;box-shadow:0 0 20px #f1ce8517;font-weight:700}.journey-card p{font-size:10px;line-height:1.9;color:var(--muted);margin:18px 0 0}.boss-card{text-align:center;padding-top:19px;overflow:hidden;background:radial-gradient(ellipse at 50% 48%,#1c5c6944,transparent 70%),#0a2933}.shark-art{height:112px;background:url('assets/blue-shark.png') center/contain no-repeat;margin:5px -13px 4px;filter:drop-shadow(0 12px 12px #00141e99);transform:rotate(-8deg)}.encounter-label{font-size:7px;letter-spacing:1.1px;color:#a2c8c9}.boss-card h3{font-family:Georgia,serif;font-weight:400;font-size:27px;color:#e1ebdd;margin:10px 0}.boss-card p{color:var(--muted);font-size:10px;line-height:1.8;margin:0}.session-card{display:grid;grid-template-columns:1fr 1fr;padding:20px 14px;gap:8px;text-align:center}.session-card>div+div{border-left:1px solid var(--line)}.session-card span,.session-card small{display:block;font-size:7px;letter-spacing:1px;color:var(--muted)}.session-card strong{display:block;font-size:27px;font-weight:500;color:var(--gold);margin:9px 0}.session-card small{font-size:6px;letter-spacing:.6px}.rush-tip{display:flex;align-items:center;gap:11px;padding:0 12px}.rush-tip>span{font-size:26px;color:var(--gold)}.rush-tip p{font-size:9px;line-height:1.9;color:var(--muted)}.rush-tip b{font-size:11px;color:#d8ddca;font-weight:500}.fish-guide{border:1px solid var(--line);border-radius:14px;background:#0a2731;margin-top:25px}.fish-guide summary{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:22px 25px;cursor:pointer;list-style:none}.fish-guide summary::-webkit-details-marker{display:none}.fish-guide summary b{font-weight:500;font-size:15px}.fish-guide summary small{display:block;font-size:9px;color:var(--muted);margin-top:6px}.guide-action{font-size:8px;letter-spacing:1.3px;color:var(--gold);white-space:nowrap}.guide-action b{margin-left:18px}.fish-guide[open] .guide-action b{display:inline-block;transform:rotate(45deg)}.fish-guide>p{font-size:10px;color:var(--muted);padding:0 25px 18px;line-height:1.6;margin:0}#species-guide{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 20px 20px}.species-entry{display:flex;align-items:center;gap:8px;border:1px solid #9cbdba22;border-radius:8px;padding:10px 7px;background:#041b2422}.species-entry canvas{width:75px;height:48px;flex-shrink:0}.species-entry div{display:flex;flex-direction:column;gap:5px}.species-entry b{font-size:10px;font-weight:500}.species-entry small{font-size:7px;color:var(--muted)}.species-entry strong{font-size:11px;color:var(--mint)}.species-entry.elite,.species-entry.boss,.species-entry.golden{border-color:#e7ce8155}.species-entry.golden strong{color:var(--gold)}footer{padding:23px 0 28px;display:flex;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:.8px;color:#709392}footer i{padding:0 7px;font-style:normal}footer p{margin:0;letter-spacing:0}dialog{background:#0b303a;border:1px solid #8fb7ac55;border-radius:20px;padding:30px;color:var(--ink);width:min(460px,92vw);max-height:90dvh;overflow:auto;box-shadow:0 20px 90px #001019bb}dialog::backdrop{background:#03131bce;backdrop-filter:blur(6px)}.modal-close{position:absolute;top:9px;right:13px;font-size:27px;color:#b5c6be;background:transparent;border:0;z-index:8}dialog h2{font-family:Georgia,serif;font-size:31px;font-weight:400;color:var(--gold)}.rules-list{padding-left:20px;font-size:13px;line-height:1.7;color:#bdd3ce}.rules-list li{padding:8px 0}.rules-list b{color:#f2eddb;display:block}.rules-note{font-size:10px;line-height:1.8;color:var(--muted)}body.gold-rush .arcade{border-color:var(--gold);box-shadow:0 0 40px #e2bc4922}body.gold-rush .phase{color:#ffe0a0}body.gold-rush .arena:after{box-shadow:inset 0 0 45px #f9c75433}body[data-game-state=playing] .start-screen{display:none}
@media(min-width:1500px){.arena{height:540px}.page-heading{padding:32px 0}.expedition{gap:20px}.journey-card,.boss-card{padding:28px}.shark-art{height:138px}}
@media(max-width:1100px){.site-header{padding:0 24px}.page{padding:0 24px}.play-layout{grid-template-columns:minmax(0,1fr) 235px;gap:18px}.journey-card,.boss-card{padding:18px}.arena{height:450px}.controls{gap:8px;padding:13px 13px 7px}.shot-modes button{min-width:44px;padding:6px}.boss-button{font-size:7px;padding:7px}.fire-button{min-width:90px}.campaign-heading b{font-size:11px}#species-guide{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.play-layout{display:block}.expedition{display:none}.page{max-width:700px;padding:0 16px}.site-header{height:68px;padding:0 20px}.page-heading{padding:21px 0}.page-heading h1{font-size:27px}.page-heading>p{display:none}.arena{height:460px}.free-badge{display:none}#species-guide{grid-template-columns:repeat(2,minmax(0,1fr))}.species-entry canvas{width:70px}.brand{font-size:15px}.brand-mark{width:36px;height:36px;font-size:30px}}
@media(max-width:480px){.site-header{height:61px;padding:0 14px}.brand{gap:9px;font-size:12px;letter-spacing:1.4px}.brand small{font-size:6px;margin-top:5px;letter-spacing:1.7px}.brand-mark{width:32px;height:32px;font-size:28px}.icon-btn{width:30px;height:30px;font-size:16px}.header-right{gap:7px}.page{padding:0 10px}.page-heading{padding:15px 5px}.page-heading .eyebrow{font-size:7px;letter-spacing:1.6px}.page-heading h1{font-size:23px;margin-top:7px}.arcade{border-radius:14px}.campaign-brief{padding:13px 13px 9px}.campaign-heading>div:first-child{gap:8px}.campaign-heading #level-label{font-size:7px;padding:5px}.campaign-heading b{font-size:10px}.goal-text strong{font-size:12px}.goal-text>span{font-size:6px}.campaign-bottom{font-size:7px;padding-top:7px;min-height:18px}.campaign-bottom b{font-size:6px}.goal-track{margin-top:10px}.arena{height:410px;height:clamp(330px,49svh,440px)}.hud{left:10px;right:10px;top:10px;gap:6px}.hud-score,.timer{min-width:56px;padding:8px 10px}.hud strong{font-size:23px}.hud small{font-size:6px}.phase{font-size:6px;letter-spacing:.5px;max-width:130px}.pause{height:28px;min-width:28px;margin-left:auto}.start-screen h2{font-size:59px;margin:19px 0 15px}.start-screen p{font-size:11px;margin-bottom:19px}.start-label{font-size:7px;letter-spacing:1.2px}.gold-button{padding:15px 20px;min-width:220px;font-size:10px}.start-screen>small{font-size:8px;margin-top:20px}.controls{padding:10px 10px 4px;gap:7px}.shot-modes{padding:3px;gap:2px}.shot-modes button{min-width:35px;padding:5px}.shot-modes span{font-size:5px;letter-spacing:.5px}.shot-modes b{font-size:18px;line-height:18px}.boss-button{font-size:6px;letter-spacing:0;max-width:87px;min-height:48px;padding:5px 6px}.boss-button>span{display:block;font-size:18px;margin:0 0 3px}.fire-button{min-width:85px;min-height:48px;font-size:10px}.fire-button>span{font-size:17px;margin-left:4px}.fire-button small{font-size:6px}.milestones{padding:5px 15px 4px}.star-row span{font-size:18px}.milestone-labels{font-size:6px}.game-bottom{padding:8px 12px 11px;font-size:7px;gap:9px}.game-bottom button{font-size:8px}.game-bottom>div{gap:8px}.boss-hud{top:80px;left:25%;right:25%;font-size:7px}.rare-hud{padding:7px 8px;bottom:14px;left:9px;max-width:40%}.rare-hud b{font-size:7px;letter-spacing:.4px}.rare-hud span{font-size:7px}.aim-tip{font-size:6px;letter-spacing:.6px;bottom:8px}.stage-notice{font-size:18px}.fish-guide{margin-top:16px}.fish-guide summary{padding:16px}.fish-guide summary b{font-size:12px}.fish-guide summary small{font-size:8px}.guide-action{font-size:6px;letter-spacing:.6px}.guide-action b{margin-left:7px}#species-guide{padding:0 10px 12px;gap:7px}.species-entry{padding:7px 4px;gap:4px}.species-entry canvas{width:50px;height:40px}.species-entry b{font-size:8px}.species-entry small{font-size:6px}.fish-guide>p{padding:0 15px 13px;font-size:9px}footer{padding:20px 4px 24px;flex-direction:column;gap:9px;font-size:7px}.rush-result-stats{flex-wrap:wrap}.rush-replay{max-width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Final playability pass: keep start instructions clear and compact screens focused. */
body[data-game-state=ready] .hud,body[data-game-state=ready] .aim-tip{visibility:hidden}.shark-art{width:calc(100% + 26px);background:none;object-fit:contain;display:block}.gold-rush .timer{border-color:#f1ce8599}.rush-result-card .rush-replay{font-size:13px;letter-spacing:.5px}@media(min-width:801px) and (max-width:1000px){.play-layout{grid-template-columns:minmax(0,1fr)}.expedition{display:none}.arena{height:470px}.page{max-width:820px}.page-heading{padding:23px 0}}
