:root{color-scheme:dark;--ink:#f8efd6;--muted:#b2c4b8;--gold:#e9ce91;--green:#8ccebb;--line:#ffffff20;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:#12333a;color:var(--ink)}body{overflow:hidden}button,select,input{font:inherit}button{cursor:pointer;color:inherit;border:1px solid var(--line);background:#21484b;border-radius:14px;min-height:44px;touch-action:manipulation}button:disabled{opacity:.4;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.app{height:100vh;height:100dvh;width:100%;position:relative;overflow:hidden;isolation:isolate;background:#4c8380}.landscape,.water-input,.vignette{position:absolute;inset:0}#scene{display:block;width:100%;height:100%}.water-input{width:100%;height:100%;border:0;border-radius:0;background:transparent;z-index:2;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;outline-offset:-6px!important}.vignette{pointer-events:none;z-index:3;background:linear-gradient(#122f355c 0%,transparent 23%,transparent 68%,#092e35a6 100%)}.hud-header{position:absolute;z-index:4;top:max(30px,env(safe-area-inset-top));left:max(34px,env(safe-area-inset-left));right:max(34px,env(safe-area-inset-right));display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none}.eyebrow{font-size:9px;font-weight:650;letter-spacing:4px;color:#f5e0b6}.location h1{font-family:ui-serif,Georgia,'Songti SC',serif;font-weight:500;letter-spacing:4px;font-size:34px;margin:10px 0 9px;text-shadow:0 2px 12px #143b3f30}.location p{margin:0;font-size:11px;letter-spacing:2px;color:#eceddbb0}.header-tools{display:flex;align-items:center;gap:9px;pointer-events:auto}.icon-button{width:42px;min-height:42px;border-radius:50%;background:#123b3f38;border:1px solid #fff3;font-size:18px;backdrop-filter:blur(12px)}#wallet{font-size:12px;letter-spacing:.7px;color:#f6dfab;margin-left:10px;text-shadow:0 1px 6px #133e45}.environment{position:absolute;z-index:4;right:max(35px,env(safe-area-inset-right));top:99px;display:flex;flex-direction:column;gap:5px;text-align:right;font-size:10px;letter-spacing:.7px;color:#eaf2dfbb;pointer-events:none}.context-status{position:absolute;z-index:9;left:50%;top:max(14px,env(safe-area-inset-top));transform:translateX(-50%);width:max-content;max-width:70%;padding:8px 13px;border-radius:20px;background:#594b28dc;font-size:11px;box-shadow:0 4px 22px #0002}.fight-hud{position:absolute;z-index:4;left:50%;top:max(34px,env(safe-area-inset-top));transform:translateX(-50%);width:min(350px,35%);padding:15px 20px;background:#123e436b;border:1px solid #fff2;border-radius:20px;backdrop-filter:blur(16px);pointer-events:none}.fight-caption{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#d8e5d7;margin-bottom:14px}.fight-caption strong{font-weight:500;color:var(--gold)}.meters{display:grid;grid-template-columns:1fr 1fr;gap:20px}.meters label{font-size:9px;letter-spacing:.5px;color:#daeadcc2}.meters b{float:right;font-weight:500;color:#f4efd9}.bar{height:4px;background:#ebf6dd24;border-radius:20px;overflow:hidden;margin-top:8px}.bar i{height:100%;width:0;display:block;background:var(--gold);transition:width .2s}.stamina i{background:var(--green)}#direction-hint{font-size:11px;text-align:center;margin-top:13px;color:#f2deac}.gesture-copy{position:absolute;z-index:4;pointer-events:none;left:50%;bottom:175px;transform:translateX(-50%);text-align:center;width:min(560px,80%);text-shadow:0 2px 13px #082f3d88}.gesture-copy h2{font-family:ui-serif,Georgia,'Songti SC',serif;font-size:27px;letter-spacing:3px;font-weight:500;margin:10px 0}.gesture-copy p{font-size:13px;margin:8px 0;line-height:1.7;color:#f4f2d9dd}.gesture-copy>span:last-child{font-size:10px;letter-spacing:1px;color:#d4e1cbaa}#gesture-symbol{font-size:35px;font-weight:200;display:block;height:46px;color:#f1d8a4;animation:breath 3s infinite}.app[data-phase=waiting] .gesture-copy,.app[data-phase=fight] .gesture-copy{bottom:72px}.app[data-phase=waiting] .gesture-copy h2,.app[data-phase=fight] .gesture-copy h2{font-size:20px}.app[data-phase=waiting] #gesture-symbol,.app[data-phase=fight] #gesture-symbol{display:none}.app[data-phase=waiting] .gesture-copy>span:last-child,.app[data-phase=fight] .gesture-copy>span:last-child{display:none}.app[data-phase=waiting] .gesture-copy p,.app[data-phase=fight] .gesture-copy p{font-size:11px}.app[data-phase=won] .gesture-copy{bottom:162px}.app[data-phase=won] #gesture-symbol{display:none}.app[data-phase=won] .gesture-copy h2{font-size:18px}.app[data-phase=won] .gesture-copy p{font-size:11px}.app.active-round .shore-label,.app.active-round .progress,.app.active-round nav{opacity:0;pointer-events:none}.app.active-round .location p{opacity:.5}.app.is-charging .gesture-copy{opacity:0}.cast-reticle{position:absolute;z-index:4;pointer-events:none;transform:translate(-50%,-50%);width:95px;height:95px;display:grid;place-content:center;text-align:center;filter:drop-shadow(0 2px 7px #153f4666)}.cast-reticle svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);fill:#143f3a33;stroke:#f5eed849;stroke-width:2}.cast-reticle #charge-ring{fill:none;stroke:#f3d291;stroke-width:4;stroke-linecap:round;stroke-dasharray:270;stroke-dashoffset:243}.cast-reticle>span{font-size:18px;font-weight:500;z-index:1}.cast-reticle small{position:absolute;top:104px;width:190px;left:-47px;font-size:11px;letter-spacing:1px}.bite-cue{position:absolute;z-index:4;pointer-events:none;left:50%;top:37%;transform:translate(-50%,-50%);text-align:center}.bite-cue>span{display:grid;place-items:center;margin:auto;width:62px;height:62px;border-radius:50%;border:2px solid #ffe0ad;background:#ce7957e0;font:38px Georgia,serif;box-shadow:0 0 0 13px #f2c28224;animation:breath .45s infinite}.bite-cue b{display:block;margin-top:24px;font-size:17px;letter-spacing:3px;text-shadow:0 3px 12px #0c3342}.reel-feedback{position:absolute;z-index:4;pointer-events:none;right:8%;bottom:19%;width:88px;height:88px;border:1px solid #fff4;border-radius:50%;background:#163c4444;display:flex;flex-direction:column;align-items:center;justify-content:center;backdrop-filter:blur(4px)}.reel-feedback span{font-size:32px;line-height:32px}.reel-feedback b{font-size:10px;font-weight:500;margin-top:6px}.app.is-reeling .reel-feedback{border-color:#f4d596;background:#ddb87833}.app.is-reeling .reel-feedback span{animation:turn 1.4s linear infinite}.shore-label{position:absolute;z-index:4;bottom:34px;left:35px;color:#dae2c999;display:flex;gap:14px;font-size:10px;letter-spacing:1px;pointer-events:none;transition:opacity .25s}nav{position:absolute;z-index:5;bottom:max(30px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;gap:25px;transition:opacity .25s}nav button{width:65px;border:0;background:transparent;display:flex;flex-direction:column;align-items:center;color:#e3e6ce;gap:6px}nav button span{font-size:25px;line-height:32px}nav button b{font-size:10px;font-weight:500;letter-spacing:1px}nav button:hover{color:#ffe3ad;background:#ffeec00d}.progress{position:absolute;z-index:4;right:35px;bottom:35px;width:145px;color:#dbe6ce9c;font-size:9px;display:flex;gap:10px;align-items:center;pointer-events:none}.progress .bar{flex:1;margin:0}.progress #xp{display:none}.catch-popup{position:absolute;z-index:4;pointer-events:none;top:29%;left:50%;transform:translateX(-50%);width:min(430px,80%);text-align:center;text-shadow:0 4px 24px #123e47}.catch-popup .catch-kicker{font-size:10px;letter-spacing:4px;color:var(--gold)}.catch-popup .caught-fish{display:block;width:180px;height:100px;margin:15px auto;filter:drop-shadow(0 12px 18px #14363b70);animation:land 1s both}.catch-popup strong{display:block;font:32px ui-serif,Georgia,'Songti SC',serif;letter-spacing:3px;margin:5px}.catch-popup .weight{display:block;font-size:21px;letter-spacing:2px;color:#f9df9e;margin:12px}.catch-popup small{display:block;font-size:11px;color:#dbe9d0}.app.tension-danger:after{content:'';position:absolute;z-index:3;inset:0;pointer-events:none;box-shadow:inset 0 0 90px #ea805347}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}dialog{margin:0;inset:0;width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;border:0;border-radius:0;padding:max(32px,env(safe-area-inset-top)) max(28px,env(safe-area-inset-right)) max(32px,env(safe-area-inset-bottom));background:radial-gradient(ellipse at 80% 0,#295f5f,#102f36 65%);color:var(--ink);overscroll-behavior:contain;overflow:auto}dialog::backdrop{background:#0d2d32}.sheet-head{max-width:780px;margin:0 auto 32px;display:flex;align-items:center;justify-content:space-between;gap:15px}.sheet-head h2{font:32px ui-serif,Georgia,'Songti SC',serif;font-weight:500;letter-spacing:2px;margin:12px 0}.back-button{padding:0 18px;border-radius:25px;font-size:11px;background:#ffffff09}#sheet-content,#settings-panel{max-width:780px;margin:auto}.tile{background:#ffffff04;border:1px solid var(--line);border-radius:18px;padding:20px;margin-bottom:14px}.tile h3{font:20px ui-serif,Georgia,'Songti SC',serif;font-weight:500;margin:0 0 10px}.tile p,.note{color:var(--muted);font-size:12px;line-height:1.8;margin:10px 0}.tile button{padding:0 16px;font-size:12px;background:#d5c49413;border-color:#d5c49433}.tile .meta{display:flex;justify-content:space-between;align-items:center;gap:12px}.tile .meta span{font-size:12px;color:var(--gold)}.fish-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}.fish-tile{margin:0;min-height:150px}.fish-tile small{font-size:11px;color:var(--muted)}.fish-icon{font-size:34px;color:var(--gold)}.unknown{opacity:.4}input[type=text]{width:100%;padding:14px;background:#082c3166;border:1px solid var(--line);color:var(--ink);border-radius:12px;margin:10px 0 14px}input[type=range]{accent-color:var(--green);min-width:0;height:26px;touch-action:pan-x}input[type=checkbox]{width:24px;height:24px;accent-color:var(--green)}select{background:#153e43;border:1px solid var(--line);color:var(--ink);padding:10px 15px;border-radius:10px}.row{display:flex;gap:10px;margin:8px 0}.row button{flex:1}.aquarium{height:260px;background:linear-gradient(#4b9aa27a,#113e62);border:9px solid #a7c5b42a;border-radius:24px;position:relative;overflow:hidden;margin:20px 0}.aquarium:after{content:'';position:absolute;bottom:0;left:0;right:0;height:18px;background:#b6a07855}.aquarium .swimmer{position:absolute;font-size:46px;animation:swim 8s infinite alternate ease-in-out;left:8%;color:var(--gold)}.aquarium .swimmer:nth-child(2n){animation-delay:-4s}.aquarium .swimmer:nth-child(3n){animation-delay:-2s}.audio-settings,.setting{border-bottom:1px solid var(--line);padding:15px 0}.setting,.audio-settings label{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:12px 0}.audio-settings h3{font-weight:500}.audio-settings p{font-size:12px;line-height:1.7;color:var(--muted)}ol{font-size:13px;line-height:2}#toast{position:fixed;bottom:max(25px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(90%,480px);background:#ead39e;color:#243b37;padding:14px 20px;border-radius:16px;font-size:12px;z-index:30;box-shadow:0 8px 35px #061d3280}[hidden]{display:none!important}@keyframes breath{50%{opacity:.7;transform:scale(1.07)}}@keyframes turn{to{transform:rotate(360deg)}}@keyframes swim{to{left:70%;transform:scaleX(-1)}}@keyframes land{from{opacity:0;transform:translateY(35px) rotate(-12deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@media(max-width:650px){.hud-header{top:max(25px,env(safe-area-inset-top));left:24px;right:24px}.location h1{font-size:28px;letter-spacing:3px}.location p{font-size:9px;letter-spacing:1px}.eyebrow{font-size:8px;letter-spacing:3px}.header-tools{gap:7px;flex-wrap:wrap;width:92px;justify-content:flex-end}.header-tools #wallet{flex-basis:100%;text-align:right;margin:6px 0 0;font-size:10px}.icon-button{width:37px;min-height:37px;font-size:16px}.environment{top:142px;right:24px;font-size:9px;gap:4px}.gesture-copy{bottom:180px;width:88%}.gesture-copy h2{font-size:23px;letter-spacing:2px}.gesture-copy p{font-size:11px;line-height:1.8}.gesture-copy>span:last-child{font-size:9px}.shore-label{bottom:111px;left:24px;font-size:8px;gap:9px}.progress{right:24px;bottom:111px;width:106px;font-size:8px}nav{bottom:max(28px,env(safe-area-inset-bottom));width:90%;justify-content:space-around;gap:8px}nav button{width:64px}.fight-hud{top:163px;width:calc(100% - 48px);max-width:380px;padding:14px 17px}.fight-caption{margin-bottom:11px}.app[data-phase=fight] .gesture-copy{bottom:64px}.app[data-phase=waiting] .gesture-copy{bottom:88px}.app.active-round .environment{opacity:.7}.reel-feedback{bottom:21%;right:7%;width:72px;height:72px}.catch-popup{top:31%;width:84%}.catch-popup strong{font-size:27px}.catch-popup .caught-fish{width:145px;height:80px}.app[data-phase=won] .gesture-copy{bottom:172px}.fish-list{grid-template-columns:1fr 1fr}.tile{padding:17px}.sheet-head h2{font-size:28px}dialog{padding-left:23px;padding-right:23px}.context-status{top:130px;max-width:85%;font-size:10px}.bite-cue{top:38%}}
@media(max-height:600px) and (min-width:651px){.hud-header{top:20px}.location h1{font-size:25px;margin:7px 0}.environment{top:83px}.gesture-copy{bottom:130px}.gesture-copy h2{font-size:22px}#gesture-symbol{display:none}.shore-label,.progress{bottom:23px}nav{bottom:18px}.catch-popup{top:22%}.catch-popup .caught-fish{height:66px;margin:8px auto}.catch-popup strong{font-size:24px}.app[data-phase=won] .gesture-copy{bottom:112px}.app[data-phase=fight] .gesture-copy,.app[data-phase=waiting] .gesture-copy{bottom:28px}.reel-feedback{width:70px;height:70px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* First-person simulator controls: the lake stays clear and the reel is a thumb target. */
.graphics-notice{position:absolute;left:50%;top:130px;transform:translateX(-50%);z-index:9;background:#554b37e8;border:1px solid #e5ce9755;border-radius:18px;padding:8px 14px;font-size:10px;max-width:85%}.reel-feedback{pointer-events:auto;z-index:6;touch-action:none;user-select:none;-webkit-user-select:none;right:5%;bottom:19%;background:#122e3866;width:90px;height:90px;box-shadow:0 4px 24px #0d283622}.drag-dial{position:absolute;z-index:6;right:4%;bottom:8%;width:165px;background:#13333c6e;border:1px solid #e3dfbd26;border-radius:14px;padding:10px 13px;backdrop-filter:blur(8px)}.drag-dial label{display:grid;grid-template-columns:1fr auto;font-size:10px;color:#e7ead2;gap:5px}.drag-dial input{grid-row:2;grid-column:1 / 3;width:100%;margin:0;height:22px}.drag-dial output{grid-row:1;grid-column:2;color:var(--gold)}.app[data-phase=fight] .gesture-copy{width:55%;left:37%;bottom:5%;opacity:.9}.app[data-phase=fight] .gesture-copy h2{font-size:17px;letter-spacing:1px}.app[data-phase=fight] .gesture-copy p{font-size:10px;max-width:420px;margin:auto}.app[data-phase=won] .catch-popup{top:20%;pointer-events:none}.app[data-phase=won] .catch-popup strong{font-size:26px}.app[data-phase=won] .catch-popup .weight{font-size:18px;margin:8px}.app[data-phase=won] .gesture-copy{bottom:137px}.vignette{background:linear-gradient(#102e353d 0%,transparent 25%,transparent 80%,#092e353d 100%)}
@media(max-width:650px){.reel-feedback{right:6%;bottom:23%;width:78px;height:78px}.drag-dial{right:5%;bottom:12%;width:125px;padding:9px 11px}.app[data-phase=fight] .gesture-copy{left:31%;width:52%;bottom:7%;text-align:left}.app[data-phase=fight] .gesture-copy h2{font-size:15px}.app[data-phase=fight] .gesture-copy p{font-size:9px}.app[data-phase=won] .catch-popup{top:25%}.app[data-phase=won] .gesture-copy{bottom:162px}.fight-hud{padding:11px 15px;top:158px}.fight-caption{margin-bottom:10px}.gesture-copy h2{font-size:21px}.gesture-copy p{font-size:10px}}
.loadout-strip{padding:17px;border:1px solid #bdcaa22b;border-radius:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:15px;background:#badbbb06}.loadout-strip>span{grid-column:1 / -1;font-size:11px;letter-spacing:2px;color:var(--gold)}.loadout-strip div{display:flex;flex-direction:column;gap:6px}.loadout-strip small{font-size:9px;color:var(--muted)}.loadout-strip b{font-size:11px;font-weight:500}.shop-filters{display:flex;gap:6px;margin:22px 0;overflow-x:auto}.shop-filters button{padding:0 15px;white-space:nowrap;font-size:11px;background:transparent;flex:1}.shop-filters button[aria-selected=true]{background:#d8c38c26;border-color:#d8c38c88;color:var(--gold)}.shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.shop-card{border:1px solid #c3c8a629;background:#c5e4c805;border-radius:20px;padding:20px;overflow:hidden}.item-art{display:block;width:155px;height:130px;margin:0 auto 13px;filter:drop-shadow(0 8px 14px #092f38)}.item-meta>span{font-size:9px;letter-spacing:1px;color:var(--gold)}.item-meta h3{font-size:20px;letter-spacing:1px;margin:10px 0;font-weight:500}.item-meta p{font-size:11px;line-height:1.65;color:var(--muted);min-height:38px}.item-stats{margin:14px 0;border-top:1px solid var(--line);padding-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.item-stats div{font-size:10px;display:flex;justify-content:space-between;gap:8px}.item-stats dt{color:var(--muted)}.item-stats dd{margin:0;color:var(--ink)}.item-price{display:flex;align-items:center;justify-content:space-between;font-size:10px;margin:15px 0}.item-price span{color:var(--muted)}.item-price b{color:var(--gold);font-size:14px}.shop-card .row{flex-wrap:wrap}.shop-card button{font-size:10px;padding:0 12px;white-space:nowrap;background:#ddc8860f}.species-grid{display:grid;gap:16px}.species-card{display:grid;grid-template-columns:190px 1fr;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#daeaca06}.species-card canvas{width:100%;height:160px;align-self:center}.species-card>div{padding:18px}.species-card h3{font-size:21px;margin:0 0 10px}.species-card p{font-size:11px;color:var(--muted);line-height:1.7}.species-card dl{display:grid;grid-template-columns:75px 1fr;gap:7px;font-size:11px}.species-card dt{color:var(--gold)}.species-card dd{margin:0;color:var(--muted)}@media(max-width:650px){.shop-grid{grid-template-columns:1fr}.shop-card{padding:19px}.item-art{width:135px;height:115px;float:right;margin:0 0 0 10px}.item-meta h3{font-size:21px;max-width:65%}.item-meta p{min-height:62px}.item-stats{clear:both}.shop-filters{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.species-card{grid-template-columns:1fr}.species-card canvas{height:180px}.species-card>div{padding:18px 22px}.loadout-strip{gap:12px}.loadout-strip b{font-size:10px}}
.bag-fish-preview{float:right;width:140px;height:78px;border-radius:12px;margin:0 0 10px 15px}.aquarium .swimmer{width:120px;height:66px;line-height:0;font-size:0}.aquarium .swimmer canvas{width:100%;height:100%;mix-blend-mode:screen;border-radius:40%}.graphics-notice{font-size:9px;top:142px;padding:6px 11px;opacity:.86}.app[data-phase=won] .catch-popup{top:18%}.app[data-phase=won] .catch-popup strong{font-size:24px}.app[data-phase=won] .catch-popup .weight{margin:6px}.app[data-phase=won] .gesture-copy{bottom:125px}@media(max-width:650px){.bag-fish-preview{width:110px;height:65px}.app[data-phase=won] .catch-popup{top:24%}.app[data-phase=won] .gesture-copy{bottom:158px}.graphics-notice{top:138px}}
.shop-balance{float:right;color:var(--gold);font-size:13px;letter-spacing:0}
