@font-face{font-family:ManusCC0;src:url(../fonts/ManusCC0-Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:ManusCC0;src:url(../fonts/ManusCC0-Medium.ttf)format("truetype");font-weight:500;font-display:swap}@font-face{font-family:ManusCC0;src:url(../fonts/ManusCC0-Bold.ttf)format("truetype");font-weight:700;font-display:swap}:root{--navy:#0e2a47;--navy-2:#163a5e;--teal:#1fb5b0;--coral:#ff6b4a;--sun:#ffc93c;--sand:#fff3dc;--mint:#7be0a5;--ink:#fff7e8;--glass:#0e2a47c7;--radius:16px;color:var(--ink);font-family:ManusCC0,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{touch-action:none;-webkit-user-select:none;user-select:none;background:#0b2540;height:100%;margin:0;overflow:hidden}body{font-size:16px;line-height:1.4}#game{cursor:grab;outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}body[data-screen=title] #game,body[data-screen=boot] #game{cursor:default}#game:active{cursor:grabbing}#ui{pointer-events:none;position:fixed;inset:0}.fatal{background:var(--navy);color:var(--ink);text-align:center;place-items:center;padding:2rem;display:grid;position:fixed;inset:0}.screen{pointer-events:none;display:none;position:absolute;inset:0}.screen.is-active{display:block}.screen button,.screen input,.screen label,.screen .panel,.screen .card,.screen canvas#fullmap,.screen li{pointer-events:auto}.logo-text{letter-spacing:.01em;color:var(--ink);text-shadow:0 3px 0 var(--navy), 0 6px 24px #00000059;font-size:clamp(2.6rem,7vw,4.8rem);font-weight:700;line-height:.95}.tagline{letter-spacing:.32em;text-transform:uppercase;color:var(--sun);text-shadow:0 2px 0 var(--navy);margin-top:.4rem;font-size:clamp(1.1rem,2.6vw,1.7rem);font-weight:500}.muted{color:#fff7e8c7}.small{font-size:.86rem}.panel{background:var(--glass);-webkit-backdrop-filter:blur(10px);border:1px solid #ffffff2e;border-radius:22px;padding:1.4rem 1.5rem;box-shadow:0 18px 50px #00000059}.panel h2{margin:0 0 .8rem;font-size:1.45rem}.panel.narrow{width:min(92vw,420px)}.panel.center{text-align:center}.screen[data-screen=pause].is-active,.screen[data-screen=settings].is-active,.screen[data-screen=help].is-active,.screen[data-screen=complete].is-active,.screen[data-screen=dialog].is-active,.screen[data-screen=notice].is-active{background:#08182a6b;place-items:center;display:grid}.screen[data-screen=complete].is-active,.screen[data-screen=dialog].is-active,.screen[data-screen=notice].is-active{z-index:5}.btn{font:inherit;color:var(--ink);cursor:pointer;background:#ffffff1f;border:1.5px solid #ffffff59;border-radius:999px;min-height:44px;padding:.65rem 1.2rem;font-weight:700;transition:transform .12s,background .12s}.btn:hover{background:#ffffff38;transform:translateY(-1px)}.btn:focus-visible,.craft-card:focus-visible,.link:focus-visible,.icon-btn:focus-visible{outline:3px solid var(--sun);outline-offset:2px}.btn.primary{color:var(--navy);background:linear-gradient(#ffd45c,#ffb41f);border-color:#ffe9a8;box-shadow:0 6px #c47d00,0 12px 24px #0000004d}.btn.primary:hover{background:linear-gradient(#ffdc78,#ffc02e)}.btn.primary:active{transform:translateY(3px);box-shadow:0 3px #c47d00}.btn.big{padding:.85rem 2rem;font-size:1.25rem}.btn.picked{border-color:var(--mint);background:#7be0a54d}.btn-row{flex-wrap:wrap;align-items:center;gap:.7rem;margin-top:1rem;display:flex}.stack{gap:.6rem;display:grid}.link{color:var(--sun);font:inherit;cursor:pointer;background:0 0;border:0;min-height:36px;padding:.4rem 0;text-decoration:underline}.bar{background:#fff3;border-radius:99px;height:8px;overflow:hidden}.bar>i{background:linear-gradient(90deg, var(--teal), var(--mint));border-radius:99px;width:0;height:100%;transition:width .3s;display:block}kbd{font:inherit;white-space:nowrap;background:#ffffff29;border:1px solid #ffffff4d;border-bottom-width:3px;border-radius:8px;padding:.1rem .5rem;font-size:.82rem;font-weight:700}.screen[data-screen=boot].is-active{pointer-events:auto;background:radial-gradient(circle at 50% 40%,#1b5f8e,#0b2540 70%);place-items:center;display:grid}.boot-card{text-align:center;width:min(86vw,380px)}.boot-icon{border-radius:22px;margin-bottom:1rem;box-shadow:0 8px 24px #00000059}.boot-card .bar{height:10px;margin-top:1.6rem}.screen[data-screen=title].is-active{background:linear-gradient(90deg,#08182ac7 0%,#08182a73 45%,#08182a00 78%)}.title-wrap{pointer-events:none;grid-template-columns:minmax(280px,1fr) minmax(320px,620px);align-items:center;gap:clamp(1rem,4vw,4rem);padding:clamp(1rem,4vw,3.5rem);display:grid;position:absolute;inset:0;overflow:auto}.title-wrap>*{pointer-events:auto}.brand .lede{text-shadow:0 2px 10px #0009;max-width:30ch;margin-top:1.4rem;font-size:1.15rem}.craft-grid{grid-template-columns:1fr 1fr;gap:.7rem;display:grid}.craft-card{font:inherit;color:inherit;text-align:left;cursor:pointer;background:#ffffff14;border:2px solid #fff3;border-radius:14px;gap:.25rem;padding:.75rem .85rem;transition:transform .12s,border-color .12s,background .12s;display:grid}.craft-card:hover{background:#ffffff24;transform:translateY(-2px)}.craft-card.active{border-color:var(--sun);background:#ffc93c29;box-shadow:0 0 0 3px #ffc93c40}.craft-name{font-size:1.05rem;font-weight:700}.craft-blurb{opacity:.82;min-height:3.2em;font-size:.78rem}.rate{justify-content:space-between;align-items:center;font-size:.72rem;display:flex}.rate b{opacity:.8;font-weight:500}.pips{gap:3px;display:inline-flex}.pips i{background:#fff3;border-radius:3px;width:14px;height:6px}.pips i.on{background:var(--sun)}.screen[data-screen=hud]{z-index:2}.card{background:var(--glass);-webkit-backdrop-filter:blur(8px);border-radius:var(--radius);border:1px solid #ffffff2e;padding:.6rem .85rem;box-shadow:0 8px 24px #00000047}.hud-top-left{top:max(14px, env(safe-area-inset-top));left:max(14px, env(safe-area-inset-left));z-index:2;gap:.6rem;width:min(300px,62vw);display:grid;position:absolute}.progress-head{justify-content:space-between;margin-bottom:.4rem;font-size:.86rem;display:flex}.progress-head b{color:var(--sun);font-size:1rem}.target{text-align:left;font:inherit;color:inherit;cursor:pointer;align-items:center;gap:.75rem;display:flex}.arrow-wrap{background:#ffffff1f;border-radius:50%;flex:none;place-items:center;width:48px;height:48px;display:grid}.arrow-wrap svg{width:34px;height:34px;fill:var(--sun);stroke:var(--navy);stroke-width:2px;stroke-linejoin:round;transition:transform .12s linear}.target-text{min-width:0;display:grid}.target-text small{opacity:.75;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}.target-text b{white-space:nowrap;text-overflow:ellipsis;font-size:1.05rem;overflow:hidden}.target-text em{color:var(--mint);font-style:normal;font-weight:700}.hud-top-right{top:max(14px, env(safe-area-inset-top));right:max(14px, env(safe-area-inset-right));z-index:2;justify-items:end;gap:.5rem;display:grid;position:absolute}.mini-wrap{aspect-ratio:1;border-radius:50%;width:clamp(130px,18vw,190px);position:relative;box-shadow:0 8px 24px #00000059}.mini-wrap canvas{border-radius:50%;width:100%;height:100%;display:block}.north{width:22px;height:22px;color:var(--navy);background:var(--sun);pointer-events:none;transform-origin:50%;border-radius:50%;place-items:center;margin:-11px;font-size:.75rem;font-weight:700;display:grid;position:absolute;top:50%;left:50%}.mini-buttons{gap:.5rem;display:flex}.icon-btn{font:inherit;color:var(--ink);background:var(--glass);cursor:pointer;border:1px solid #ffffff40;border-radius:999px;min-height:36px;padding:.4rem .9rem;font-size:.86rem;font-weight:700}.icon-btn:hover{background:var(--navy-2)}.hud-bottom-left{bottom:max(14px, env(safe-area-inset-bottom));left:max(14px, env(safe-area-inset-left));z-index:2;position:absolute}.craft-bar{background:var(--glass);border:1px solid #ffffff2e;border-radius:18px;gap:.4rem;padding:.4rem;display:flex}.craft-bar button{font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:2px solid #0000;border-radius:12px;justify-items:center;gap:2px;min-width:74px;padding:.35rem .6rem;font-size:.8rem;display:grid}.craft-bar button kbd{padding:0 .4rem;font-size:.7rem}.craft-bar button.active{border-color:var(--sun);background:#ffc93c33}.hud-bottom-center{bottom:max(14px, env(safe-area-inset-bottom));pointer-events:none;z-index:2;justify-items:center;gap:.35rem;display:grid;position:absolute;left:50%;transform:translate(-50%)}.speedo{background:var(--glass);text-align:center;border:1px solid #ffffff2e;border-radius:18px;padding:.2rem 1.1rem .3rem}.speedo b{margin-right:.35rem;font-size:2.1rem;line-height:1}.speedo small{opacity:.75}.boost{background:#08182a99;border:1px solid #ffffff40;border-radius:99px;width:150px;height:14px;position:relative;overflow:hidden}.boost i{background:linear-gradient(90deg, #ff8a3d, var(--sun));width:100%;position:absolute;inset:0 auto 0 0}.boost span{letter-spacing:.1em;text-transform:uppercase;color:var(--navy);place-items:center;font-size:.6rem;font-weight:700;display:grid;position:absolute;inset:0}.boost.on{box-shadow:0 0 14px 2px #ffc93ccc}.hud-prompt{border:2px solid var(--sun);text-align:center;z-index:2;background:#0e2a47e6;border-radius:999px;max-width:92vw;padding:.6rem 1.4rem;font-size:1.05rem;font-weight:700;animation:1.6s ease-in-out infinite pulse;position:absolute;bottom:22%;left:50%;transform:translate(-50%)}.hud-prompt.warn{border-color:var(--coral);animation:none}.hud-prompt[hidden]{display:none}.hud-hint{text-align:center;z-index:2;background:#0e2a47b3;border-radius:12px;max-width:92vw;padding:.45rem 1rem;font-size:.92rem;transition:opacity .4s;position:absolute;top:16%;left:50%;transform:translate(-50%)}.hud-hint[data-show=false],.hud-hint:empty{opacity:0}.toasts{z-index:2;justify-items:center;gap:.4rem;display:grid;position:absolute;top:11%;left:50%;transform:translate(-50%)}.toast{background:var(--navy);border:1px solid #ffffff4d;border-radius:999px;padding:.45rem 1.1rem;font-weight:700;transition:opacity .4s;animation:.25s ease-out toast-in}.toast.good{border-color:var(--mint)}.toast.warn{border-color:var(--coral)}.toast.out{opacity:0}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}}@keyframes pulse{50%{transform:translate(-50%)scale(1.04)}}.touch-layer{z-index:1;pointer-events:auto;touch-action:none;position:absolute;inset:0}.touch-layer[hidden]{display:none}.joy{left:max(22px, env(safe-area-inset-left));bottom:calc(max(14px, env(safe-area-inset-bottom)) + 70px);touch-action:none;z-index:3;background:#0e2a4773;border:2px solid #ffffff59;border-radius:50%;width:150px;height:150px;position:absolute}.joy i{border:2px solid var(--navy);pointer-events:none;background:#ffffff8c;border-radius:50%;width:64px;height:64px;margin:-32px;position:absolute;top:50%;left:50%}.touch-buttons{right:max(18px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));z-index:3;justify-items:end;gap:.6rem;display:grid;position:absolute}.t-btn{font:inherit;color:var(--ink);touch-action:none;pointer-events:auto;background:#0e2a4799;border:2px solid #fff6;border-radius:50%;width:96px;height:96px;font-weight:700}.t-btn.down,.t-btn.primary{background:var(--sun);color:var(--navy)}.t-btn[hidden],body.is-touch .hud-hint{display:none}.field{gap:.35rem;margin:.9rem 0;font-weight:500;display:grid}.field.check{align-items:center;gap:.6rem;display:flex}.field input[type=range]{width:100%;accent-color:var(--sun);height:28px}.field input[type=checkbox]{width:22px;height:22px;accent-color:var(--sun)}.seg{border:1.5px solid #ffffff59;border-radius:999px;display:inline-flex;overflow:hidden}.seg button{font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;min-height:40px;padding:.5rem 1rem}.seg button.active{background:var(--sun);color:var(--navy);font-weight:700}.keys{gap:.35rem;margin:1rem 0;display:grid}.keys .row{grid-template-columns:minmax(140px,220px) 1fr;align-items:center;gap:.8rem;display:grid}.screen[data-screen=help] .panel{width:min(94vw,640px);max-height:92vh;overflow:auto}.screen[data-screen=map].is-active{z-index:4;background:#08182ab3;place-items:center;display:grid}.map-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:stretch;gap:1rem;width:min(96vw,1240px);max-height:92vh;display:grid}.map-canvas-wrap{background:#4b96c8;border:2px solid #fff6;border-radius:20px;min-height:0;position:relative;overflow:hidden}.map-canvas-wrap canvas{object-fit:contain;cursor:pointer;width:100%;height:100%;display:block}.map-side{align-content:start;gap:.4rem;max-height:92vh;display:grid;overflow:auto}.map-side h2{margin-bottom:0}.checklist{gap:.2rem;margin:.4rem 0 1rem;padding:0;list-style:none;display:grid}.checklist li{cursor:pointer;border-radius:10px;align-items:center;gap:.6rem;padding:.35rem .5rem;display:flex}.checklist li:hover{background:#ffffff1a}.checklist li.target{background:#ffffff29;outline:1.5px solid #fff}.checklist .dot{border:2px solid var(--navy);background:var(--coral);border-radius:50%;flex:none;width:14px;height:14px}.checklist .kind-restaurant .dot{background:var(--sun)}.checklist .kind-beach .dot{background:#3ee0ff}.checklist li.done .dot{background:var(--mint)}.checklist li.done .nm{opacity:.7;text-decoration:line-through}.checklist em{color:var(--mint);margin-left:auto;font-size:.75rem;font-style:normal}.dialog{border-top:6px solid var(--coral);width:min(94vw,520px);animation:.28s ease-out pop}.dialog[data-kind=restaurant]{border-top-color:var(--sun)}.dialog[data-kind=beach]{border-top-color:#3ee0ff}.dialog[data-kind=home]{border-top-color:#fff}.dialog-kind{text-transform:uppercase;letter-spacing:.12em;opacity:.9;justify-content:space-between;align-items:center;font-size:.78rem;display:flex}.dialog-kind em{color:var(--mint);letter-spacing:.04em;text-transform:none;font-style:normal;font-weight:700}.dialog-kind em.new{background:var(--mint);color:var(--navy);border-radius:99px;padding:.1rem .7rem}.dialog h2{margin:.3rem 0 0;font-size:1.9rem}.dlg-tag{color:var(--sun);margin:.1rem 0 .8rem;font-weight:500}.dlg-msg{margin:.4rem 0;font-size:1.08rem}.dlg-reply{background:#ffffff14;border-radius:12px;min-height:2.6em;margin:.8rem 0 0;padding:.6rem .9rem;font-style:italic}.dlg-reply:empty{visibility:hidden}@keyframes pop{0%{opacity:0;transform:scale(.94)translateY(10px)}}.confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti i{border-radius:2px;width:10px;height:16px;animation:linear infinite fall;position:absolute;top:-20px}@keyframes fall{to{transform:translateY(110vh)rotate(720deg)}}@media (max-width:760px){.title-wrap{grid-template-columns:1fr;align-content:start}.brand .lede,.craft-blurb{display:none}.map-layout{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr}.map-side{max-height:36vh}}@media (max-height:520px){.hud-top-left{width:230px}.mini-wrap{width:110px}.joy{width:120px;height:120px;bottom:60px}.t-btn{width:72px;height:72px;font-size:.8rem}.panel{padding:.9rem 1rem}.craft-card{padding:.5rem}}@media (prefers-reduced-motion:reduce){.hud-prompt,.toast,.dialog,.confetti i{animation:none}}.hud-mission{gap:.5rem;display:grid}.mission{border-color:#ff9d2e99;gap:.3rem;display:grid}.mission[data-stage=carry]{border-color:#7bf0a8b3}.mission-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.mission-head b{font-size:.95rem;line-height:1.15}.mission small{opacity:.85;font-size:.76rem;line-height:1.25}.mission-row{align-items:center;gap:.6rem;display:flex}.mission-row em{color:var(--sun);font-style:normal;font-weight:700}.mission[data-stage=carry] .mission-row em{color:var(--mint)}.mission .rescued{color:var(--mint);margin-left:auto;font-size:.72rem;font-weight:700}.arrow-wrap.small{width:34px;height:34px}.arrow-wrap.small svg{width:24px;height:24px}.mission .arrow-wrap svg{fill:#ff9d2e}.mission[data-stage=carry] .arrow-wrap svg{fill:var(--mint)}.hearts{flex:none;gap:3px;display:inline-flex}.hearts i{width:17px;height:15px;clip-path:path("M8.5 15 1.4 8.2C-1 5.6.4 1.2 4 .8c1.9-.2 3.6.7 4.5 2.1C9.4 1.5 11.1.6 13 .8c3.6.4 5 4.8 2.6 7.4Z");background:#ffffff38;display:block}.hearts i.full{filter:drop-shadow(0 0 3px #ff4d5ecc);background:#ff4d5e}.bar.hold{height:10px}.bar.hold>i{background:linear-gradient(90deg, #ff9d2e, var(--sun));transition:width .1s linear}.mission[data-stage=carry] .bar.hold>i{background:linear-gradient(90deg, var(--teal), var(--mint))}.shark-alert{background:#961216e0;border:1.5px solid #ff7b73;border-radius:14px;align-items:center;gap:.5rem;padding:.4rem .75rem;font-weight:700;display:flex;box-shadow:0 6px 20px #00000059}.shark-alert svg:first-child{fill:#fff;flex:none;width:28px;height:28px}.shark-alert em{color:#ffd3cf;margin-right:auto;font-style:normal}.shark-alert .arrow-wrap svg{fill:#fff;stroke:#7a0d12}.shark-alert.close{animation:.7s ease-in-out infinite shark-pulse}.shark-alert[hidden]{display:none}@keyframes shark-pulse{50%{background:#d21e24f2;transform:scale(1.04)}}.danger{pointer-events:none;z-index:1;--danger:0;background:radial-gradient(ellipse at center, transparent 55%, rgba(210, 20, 30, calc(var(--danger) * .55)) 100%);position:absolute;inset:0}.danger.hit{animation:.9s ease-out bite-flash}@keyframes bite-flash{0%{background:#e6141e99}to{background:0 0}}.dolphin-btn{right:max(14px, env(safe-area-inset-right));bottom:max(96px, calc(env(safe-area-inset-bottom) + 84px));z-index:3;font:inherit;color:var(--ink);text-align:left;background:var(--glass);cursor:pointer;pointer-events:auto;border:1.5px solid #6fe7ffb3;border-radius:18px;align-items:center;gap:.6rem;min-height:52px;padding:.5rem .9rem .6rem .7rem;display:flex;position:absolute;overflow:hidden;box-shadow:0 8px 22px #0000004d}.dolphin-btn svg{fill:#6fe7ff;width:40px;height:28px;stroke:var(--navy);stroke-width:1.5px;flex:none}.dol-text{line-height:1.1;display:grid}.dol-text small{opacity:.85;font-size:.72rem}.dol-fill{background:linear-gradient(90deg, #35c7ea, var(--mint));transform-origin:0;height:5px;position:absolute;bottom:0;left:0;right:0;transform:scaleX(1)}.dolphin-btn[data-state=cooldown]{opacity:.7;border-color:#ffffff4d}.dolphin-btn[data-state=cooldown] svg{fill:#8aa}.dolphin-btn[data-state=ready]{animation:1.8s ease-in-out infinite dolphin-ready}.dolphin-btn.shielded{border-color:var(--mint);box-shadow:0 0 18px 3px #7bf0a899}@keyframes dolphin-ready{50%{box-shadow:0 0 16px 3px #6fe7ffb3}}.notice[data-kind=caught]{border-color:#ff7b73}.notice[data-kind=rescued]{border-color:var(--mint)}.notice[data-kind=briefing]{border-color:#ff9d2e}@media (prefers-reduced-motion:reduce){.dolphin-btn,.shark-alert.close,.danger.hit{animation:none}}body[data-screen=notice] .hud-top-left,body[data-screen=notice] .dolphin-btn,body[data-screen=notice] .hud-hint{opacity:.15;pointer-events:none}.partner-logo{z-index:3;background:#fff;border-radius:14px;width:clamp(92px,12vw,170px);padding:.3rem .45rem;transition:transform .18s;display:block;position:absolute;top:clamp(.6rem,2vw,1.5rem);right:clamp(.6rem,2vw,1.5rem);box-shadow:0 8px 28px #05142873,0 0 0 3px #ffffff59}.partner-logo:hover{transform:scale(1.05)rotate(-1deg)}.partner-logo img{width:100%;height:auto;display:block}.screen[data-screen=title] .title-wrap{padding-top:clamp(5.5rem,14vw,7.5rem)}@media (max-width:700px){.screen[data-screen=title] .title-wrap{padding-top:clamp(1rem,4vw,3.5rem)}.partner-logo{width:86px}}body.is-touch .hud-top-left{width:calc(100vw - 150px);max-width:250px;top:max(10px, env(safe-area-inset-top));left:max(10px, env(safe-area-inset-left));gap:.4rem}body.is-touch .card{border-radius:14px;padding:.35rem .6rem}body.is-touch .progress{align-items:center;gap:.5rem;padding:.25rem .6rem;display:flex}body.is-touch .progress-head{justify-content:flex-start;gap:.4rem;margin:0;font-size:.74rem}body.is-touch .progress-head b{font-size:.8rem}body.is-touch .progress .bar{flex:1;height:6px}body.is-touch .target{gap:.5rem;padding:.3rem .55rem}body.is-touch .target .arrow-wrap{width:34px;height:34px}body.is-touch .target .arrow-wrap svg{width:24px;height:24px}body.is-touch .target-text small{letter-spacing:.04em;font-size:.6rem}body.is-touch .target-text b{font-size:.92rem}body.is-touch .target-text em{font-size:.78rem}body.is-touch .mission{gap:.15rem;padding:.3rem .6rem}body.is-touch .mission-head b{font-size:.82rem}body.is-touch .mission small,body.is-touch .mission #ms-detail{display:none}body.is-touch .mission .hearts i{width:13px;height:12px}body.is-touch .mission-row{gap:.4rem}body.is-touch .mission .arrow-wrap.small{width:26px;height:26px}body.is-touch .mission .arrow-wrap.small svg{width:18px;height:18px}body.is-touch .mission-row em{font-size:.8rem}body.is-touch .shark-alert{padding:.25rem .6rem;font-size:.8rem}body.is-touch .hud-top-right{top:max(10px, env(safe-area-inset-top));right:max(10px, env(safe-area-inset-right));gap:.35rem;width:96px}body.is-touch .mini-wrap{width:96px}body.is-touch .mini-buttons{grid-template-columns:1fr 1fr;gap:.3rem;width:100%;display:grid;position:static}body.is-touch .icon-btn{min-height:32px;padding:.2rem 0;font-size:.74rem}body.is-touch .hud-bottom-left{top:auto;bottom:auto;left:auto;right:max(10px, env(safe-area-inset-right));top:calc(max(10px, env(safe-area-inset-top)) + 188px);width:96px;position:absolute;transform:none}body.is-touch .craft-bar{border-radius:12px;gap:0;width:100%;padding:0}body.is-touch .craft-bar button{border-radius:12px;width:100%;min-width:0;padding:.25rem .3rem;font-size:.74rem;line-height:1.15;display:none}body.is-touch .craft-bar button.active{border-color:var(--sun);display:grid}body.is-touch .craft-bar button.active:after{content:"tap to switch";opacity:.7;font-size:.55rem}body.is-touch .craft-bar kbd,body.is-touch .hud-hint{display:none}body.is-touch .joy{width:128px;height:128px;left:max(14px, env(safe-area-inset-left));bottom:max(22px, calc(env(safe-area-inset-bottom) + 12px))}body.is-touch .joy i{width:54px;height:54px;margin:-27px}body.is-touch .touch-buttons{width:154px;right:max(14px, env(safe-area-inset-right));bottom:max(22px, calc(env(safe-area-inset-bottom) + 12px));flex-flow:row-reverse wrap-reverse;place-content:flex-start;gap:10px;display:flex}body.is-touch .t-btn{width:72px;height:72px;font-size:.85rem}body.is-touch .dolphin-btn{right:calc(max(14px, env(safe-area-inset-right)) + 82px);bottom:calc(max(22px, calc(env(safe-area-inset-bottom) + 12px)) + 82px);border-radius:50%;justify-content:center;width:72px;height:72px;min-height:0;padding:0}body.is-touch .dolphin-btn svg{width:38px;height:26px}body.is-touch .dol-text{display:none}body.is-touch .dol-fill{height:7px}body.is-touch .hud-bottom-center{left:max(14px, env(safe-area-inset-left));bottom:calc(max(22px, calc(env(safe-area-inset-bottom) + 12px)) + 128px + 10px);justify-items:start;gap:.25rem;transform:none}body.is-touch .speedo{border-radius:12px;padding:.1rem .7rem .15rem}body.is-touch .speedo b{font-size:1.4rem}body.is-touch .speedo small{font-size:.7rem}body.is-touch .boost{width:96px;height:11px}body.is-touch .hud-prompt{bottom:calc(max(22px, calc(env(safe-area-inset-bottom) + 12px)) + 128px + 70px);border-width:1.5px;border-radius:16px;max-width:calc(100vw - 28px);padding:.35rem .8rem;font-size:.85rem}@media (orientation:landscape){body.is-touch .hud-top-left{max-width:240px}body.is-touch .hud-bottom-center{left:50%;bottom:max(14px, env(safe-area-inset-bottom));justify-items:center;transform:translate(-50%)}body.is-touch .hud-prompt{bottom:90px}body.is-touch .joy{width:110px;height:110px}body.is-touch .t-btn{width:64px;height:64px}body.is-touch .touch-buttons{width:138px}body.is-touch .dolphin-btn{width:64px;height:64px;right:calc(max(14px, env(safe-area-inset-right)) + 74px);bottom:calc(max(22px, calc(env(safe-area-inset-bottom) + 12px)) + 74px)}}body.is-touch .target-text small{display:none}body.is-touch .target-text b{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.15;display:-webkit-box}body.is-touch .boost span{display:none}body.is-touch .mission-head{gap:.4rem}.hull{margin-top:.35rem}.hull i{background:linear-gradient(90deg,#7be0a5,#ffc93c)}.hull.low i{background:#ff5a4a}.hull.low{animation:.8s ease-in-out infinite shark-pulse}.hull[hidden]{display:none}.shark-alert.ambush{background:#be1418eb}.shark-alert.jet{background:#b05c08eb;border-color:#ffc27a}.shark-alert.jet em{color:#ffe4c2}.fish-panel{text-align:center;pointer-events:none;background:#0e2a47eb;border:2px solid #5ff0d0;border-radius:18px;gap:.35rem;width:min(340px,86vw);padding:.55rem .9rem;display:grid;position:absolute;bottom:27%;left:50%;transform:translate(-50%)}.fish-panel b{font-size:.98rem}.fish-panel small{color:#bfe9ff;font-size:.82rem}.fish-panel[data-state=bite]{border-color:#ffd23f;animation:.35s ease-in-out infinite shark-pulse}.fish-panel.strained{border-color:#ff5a4a}.fish-panel .bar{height:9px}.fish-panel .tension i{background:linear-gradient(90deg,#7be0a5,#ffc93c 60%,#ff5a4a)}.fish-panel[hidden],.flight-hud[hidden]{display:none}.flight-hud{left:50%;bottom:max(18px, env(safe-area-inset-bottom));background:#0e2a47e0;border:2px solid #ffd23f;border-radius:20px;align-items:center;gap:1rem;padding:.5rem 1rem;display:flex;position:absolute;transform:translate(-50%)}.fl-stat{justify-items:center;min-width:56px;line-height:1.05;display:grid}.fl-stat b{font-size:1.5rem}.fl-stat small,.fl-near small{color:#bfe9ff;letter-spacing:.06em;text-transform:uppercase;font-size:.7rem}.fl-near{max-width:150px;line-height:1.15;display:grid}.fl-near b{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;overflow:hidden}.fl-near em{color:#ffd23f;font-size:.85rem;font-style:normal}.notice[data-kind=wrecked]{border-color:#ff9d2e}body[data-flying=true] .hud-bottom-left,body[data-flying=true] .dolphin-btn,body[data-flying=true] .hud-mission,body[data-flying=true] .hud-bottom-center{display:none}body.is-touch .fish-panel{padding:.4rem .7rem;bottom:36%}body.is-touch .fish-panel small{font-size:.74rem}body.is-touch .flight-hud{top:38%;bottom:auto;left:max(14px, env(safe-area-inset-left));flex-direction:column;align-items:flex-start;gap:.35rem;padding:.4rem .7rem;transform:none}body.is-touch .fl-stat{grid-auto-flow:column;align-items:baseline;gap:.35rem}body.is-touch .fl-stat b{font-size:1.1rem}body.is-touch .fl-near,body.is-touch #fl-land,body.is-touch[data-fishing=true] [data-hold=sprint],body.is-touch[data-fishing=true] [data-hold=brake],body.is-touch[data-flying=true] #t-moor{display:none}@media (prefers-reduced-motion:reduce){.hull.low,.fish-panel[data-state=bite]{animation:none}}body[data-flying=true] .hud-hint{display:none}.caption{border:1px solid #ffffff47;border-left:4px solid var(--sun,#ffc83d);z-index:3;text-align:left;pointer-events:none;background:#08182cdb;border-radius:.8rem;gap:.15rem;width:min(92vw,42rem);padding:.55rem 1rem .65rem;transition:opacity .4s;display:grid;position:absolute;bottom:calc(max(5.4rem,11vh));left:50%;transform:translate(-50%)}.caption[hidden]{display:none}.caption.out{opacity:0}.caption b{letter-spacing:.08em;text-transform:uppercase;color:var(--sun,#ffc83d);font-size:.78rem}.caption span{font-size:1.02rem;font-weight:600;line-height:1.3}body.is-touch .caption{padding:.4rem .7rem .5rem;font-size:.92rem;bottom:calc(max(15rem,33vh))}body.is-touch .caption span{font-size:.92rem}.wx-chip{color:#e9f4ff;text-shadow:0 1px 3px #0000008c;pointer-events:none;justify-items:end;gap:.15rem;font-size:.78rem;line-height:1.15;display:grid}.wx-chip b{letter-spacing:.02em;opacity:.85;font-weight:700}.wx-chip span:empty{display:none}.wx-chip span{background:#0e2a47b8;border-radius:999px;padding:.15rem .6rem;font-weight:700}.wx-chip[data-phase=warning] span{color:#1b1200;text-shadow:none;background:#d68e0ee6}.wx-chip[data-phase=storm] span{background:#3c567aeb}.rain-veil{pointer-events:none;opacity:0;z-index:0;background:radial-gradient(at 50% 55%,#1e2a3600 35%,#18222e80 100%),linear-gradient(#3c4a5a2e,#2834421f);transition:opacity .4s linear;position:absolute;inset:0}body.is-touch .wx-chip{font-size:.7rem}.river-panel{left:50%;bottom:calc(max(90px, env(safe-area-inset-bottom)) + 40px);color:#fff;text-align:center;pointer-events:none;background:#0e2a47e6;border:2px solid #ffb347;border-radius:16px;gap:.25rem;width:min(420px,88vw);padding:.55rem .85rem;display:grid;position:absolute;transform:translate(-50%)}.river-panel b{font-size:1rem}.river-panel #rv-score{color:#ffd23f;font-weight:700}.river-panel small{color:#bfe9ff;font-size:.82rem}.river-panel .bar{height:11px;margin-top:.15rem;position:relative}.river-panel .bar em{color:#ffd9a0;font-size:.7rem;font-style:normal;position:absolute;top:-17px;left:8px}.river-panel .bar i{background:linear-gradient(90deg,#7be0a5,#ffc93c)}.river-panel .bar[data-tone=warn] i{background:#ffc93c}.river-panel .bar[data-tone=danger] i{background:#ff5a4a}.river-panel[hidden]{display:none}body.is-touch .river-panel{background:#0e2a47c7;gap:.1rem;width:min(300px,100vw - 540px);min-width:210px;padding:.3rem 2.2rem .3rem .65rem;top:8px;bottom:auto}body.is-touch .river-panel b{font-size:.85rem}body.is-touch .river-panel small{font-size:.7rem;line-height:1.25}@media (max-aspect-ratio:1){body.is-touch .river-panel{width:min(330px,92vw);top:150px}}#t-photo{display:none}@media (pointer:coarse){#t-photo{display:block}}@media (hover:hover) and (pointer:fine){body.is-touch #t-photo{display:block}}body[data-photo=on] .touch-buttons,body[data-photo=on] .joystick,body[data-photo=on] #joy{visibility:hidden}body.is-touch #t-photo{touch-action:none}body.is-touch .toasts{justify-items:start;width:calc(100vw - 150px);top:40%;left:12px;transform:none}body.is-touch .toast{padding:.3rem .8rem;font-size:.78rem}body.is-touch.rt-fishing .dolphin-btn,body.is-touch .t-btn[hidden]{display:none}body[data-photo=on] .hud-top-left,body[data-photo=on] .hud-top-right,body[data-photo=on] .hud-bottom-left,body[data-photo=on] .hud-bottom-center,body[data-photo=on] .dolphin-btn,body[data-photo=on] .hud-hint,body[data-photo=on] #hud-prompt,body[data-photo=on] .river-panel,body[data-photo=on] .toasts{visibility:hidden}body.is-touch #fl-roll,body.is-touch #fl-loop{min-height:0;padding:.3rem .7rem;font-size:.85rem;display:inline-flex}body.is-touch .flight-hud{flex-wrap:wrap;max-width:46vw}.map-groups{gap:.1rem;display:grid}.map-progress{color:var(--mint);margin:0 0 .2rem;font-size:.8rem;font-weight:700}.map-group-title{letter-spacing:.08em;text-transform:uppercase;opacity:.75;margin:.55rem 0 .1rem;font-size:.72rem}.map-side .checklist{margin:0 0 .2rem}.checklist .pin{background:var(--c,#fff);border:2px solid var(--navy);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;display:grid}.checklist .pin b{color:var(--navy);font-size:.72rem;line-height:1}.checklist .ico{opacity:.9;flex:none;place-items:center;display:inline-grid}.checklist li.done .pin{background:var(--mint)}.checklist li{padding:.28rem .4rem;font-size:.9rem}.map-key{border-top:1px solid #fff3;margin-top:.6rem;padding-top:.5rem}.map-key summary{cursor:pointer;margin-bottom:.3rem;font-weight:800}.map-key h4{letter-spacing:.08em;text-transform:uppercase;opacity:.75;margin:.6rem 0 .2rem;font-size:.72rem}.key-list{gap:.2rem;margin:0;padding:0;list-style:none;display:grid}.key-list li,.key-line{align-items:center;gap:.5rem;margin:0;font-size:.8rem;line-height:1.2;display:flex}.key-line{margin-bottom:.2rem}.sw{width:20px;height:20px;color:var(--navy);border:2px solid #fff;border-radius:50%;flex:none;place-items:center;font:800 .7rem system-ui,sans-serif;display:inline-grid}.sw-you{clip-path:polygon(50% 0,85% 90%,50% 70%,15% 90%);background:#fff;border:0}.sw-ring{background:var(--coral);outline-offset:2px;outline:2px solid #fff;width:14px;height:14px;margin:0 3px}.sw-done{background:var(--mint)}.map-zoom{gap:6px;display:flex;position:absolute;top:12px;left:12px}.map-zoom button{color:#fff;cursor:pointer;background:#0e2a47d1;border:2px solid #ffffffb3;border-radius:999px;padding:.4rem .75rem;font:700 .8rem system-ui,sans-serif}.map-zoom button.on{color:var(--navy);background:#fff}.fl-storm{background:#281808b3;border:1px solid #ffbe50b3;border-radius:10px;flex-direction:column;gap:2px;min-width:190px;padding:4px 10px;display:flex}.fl-storm small{color:#ffc04d;letter-spacing:.14em;font-size:.62rem}.fl-storm b{color:#fff;font-size:.82rem}.icon-btn.toggle.on{background:var(--sun);color:#12263d;border-color:#ffffffb3}.mini-buttons{flex-wrap:wrap}.account{background:#ffffff14;border:1px solid #ffffff24;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;margin:10px 0 2px;padding:8px 12px;font-size:13px;line-height:1.3;display:flex}.account[data-state=error] .account-text{color:#ffd37a}.account[data-state=saved] .account-text{color:#b8f0d0}.account .btn.small{white-space:nowrap;min-height:0;padding:6px 12px;font-size:13px}:is(.panel:has(>.close-x),.river-panel){position:relative}.river-panel{position:absolute}.close-x{width:38px;height:38px;font:inherit;color:var(--ink);cursor:pointer;z-index:12;pointer-events:auto;background:#0a1e34d9;border:1.5px solid #ffffff8c;border-radius:50%;place-items:center;padding:0;font-size:1.05rem;font-weight:800;line-height:1;display:grid;position:absolute;top:8px;right:8px}.close-x:hover{background:var(--coral);border-color:#fff}.close-x:focus-visible{outline:3px solid var(--sun);outline-offset:2px}.close-x.small{width:28px;height:28px;font-size:.8rem;top:5px;right:5px}.close-x.screen-x{top:max(10px, env(safe-area-inset-top));right:max(10px, env(safe-area-inset-right));z-index:20;width:46px;height:46px;font-size:1.25rem;position:absolute}body.is-touch .close-x{width:44px;height:44px}body.is-touch .close-x.small{width:30px;height:30px;top:4px;right:4px}.river-panel{z-index:3}@media (min-aspect-ratio:1){body.is-touch .hud-bottom-left{top:auto;right:auto;left:max(138px, calc(env(safe-area-inset-left) + 138px));bottom:max(14px, env(safe-area-inset-bottom));width:104px}}
