@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-mono-latin-400-normal-4GdczIuU.woff2)format("woff2"),url(/assets/dm-mono-latin-400-normal--0xN8mdc.woff)format("woff")}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-mono-latin-500-normal-DRMDZjhP.woff2)format("woff2"),url(/assets/dm-mono-latin-500-normal-CN8Miw6E.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-latin-400-normal-PaqtzbVb.woff2)format("woff2"),url(/assets/manrope-latin-400-normal-8tf8FM3T.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/manrope-latin-500-normal-BYYD-dBL.woff2)format("woff2"),url(/assets/manrope-latin-500-normal-DMZssgOp.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-latin-600-normal-4f0koTD-.woff2)format("woff2"),url(/assets/manrope-latin-600-normal-BqgrALkZ.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-latin-700-normal-BZp_XxE4.woff2)format("woff2"),url(/assets/manrope-latin-700-normal-DGRFkw-m.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/manrope-latin-800-normal-BfWYOv1c.woff2)format("woff2"),url(/assets/manrope-latin-800-normal-uHUdIJgA.woff)format("woff")}:root{color:#f5f0df;font-synthesis:none;--ink:#f5f0df;--muted:#9fb5ad;--deep:#08181b;--panel:#10282b;--panel-2:#16383a;--line:#e5f6e624;--lime:#d8ff72;--mint:#72ddca;--coral:#ff836f;--danger:#ffae9f;background:#08181b;font-family:Manrope,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{background:radial-gradient(circle at 90% 0, #72ddca1f, transparent 30rem), var(--deep);min-height:100vh}button{color:inherit;font:inherit}button:focus-visible{outline:3px solid var(--lime);outline-offset:3px}button,kbd{-webkit-tap-highlight-color:transparent}h1,h2,p{margin:0}.tide-shell{border-inline:1px solid var(--line);background:var(--panel);grid-template-columns:220px minmax(0,1fr);width:min(1440px,100%);min-height:100vh;margin:0 auto;display:grid}.tide-rail{border-right:1px solid var(--line);background:#0c2023;flex-direction:column;min-height:100vh;padding:24px 14px;display:flex;position:sticky;top:0}.brand-lockup{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;margin:0 8px 54px;padding:0;display:flex}.brand-lockup>span:last-child{gap:3px;display:grid}.brand-lockup strong{letter-spacing:-.05em;font-size:17px}.brand-lockup small{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font:10px DM Mono,monospace}.brand-mark{width:40px;height:40px;color:var(--lime);border:1px solid #d8ff7280;border-radius:12px;place-items:center;font-weight:900;display:grid}.tide-rail nav{gap:5px;display:grid}.tide-rail nav button{width:100%;color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;padding:12px;display:flex}.tide-rail nav button>span{background:currentColor;border-radius:50%;width:6px;height:6px}.tide-rail nav button:hover,.tide-rail nav button.active{color:var(--ink);border-color:var(--line);background:#72ddca0f}.tide-rail nav button.active>span{color:var(--mint);box-shadow:0 0 0 5px #72ddca1a}.rail-note{border-top:1px solid var(--line);margin-top:auto;padding:18px 10px 4px}.rail-note span,.eyebrow{color:var(--mint);letter-spacing:.14em;font:700 10px DM Mono,monospace}.rail-note p{color:var(--muted);margin-top:8px;font-size:11px;line-height:1.55}.rail-note a{color:var(--lime);margin-top:12px;font-size:10px;text-decoration:none;display:inline-block}.rail-note a:hover{text-decoration:underline}.tide-main{background:linear-gradient(135deg, #72ddca0d, transparent 34%), var(--panel);min-width:0}.topline{border-bottom:1px solid var(--line);background:#08181b57;justify-content:space-between;align-items:center;gap:20px;min-height:70px;padding:14px 28px;display:flex}.status-dot{color:var(--muted);letter-spacing:.09em;align-items:center;gap:9px;font:10px DM Mono,monospace;display:inline-flex}.status-dot:before{background:var(--mint);content:"";border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 5px #72ddca14}.language-switch{border:1px solid var(--line);border-radius:999px;padding:3px;display:flex}.language-switch button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 10px;font-size:11px}.language-switch button.active{color:var(--deep);background:var(--lime);font-weight:800}.content{padding:clamp(32px,6vw,82px)}.home-view{align-content:center;gap:58px;min-height:calc(100vh - 70px);display:grid}.hero-copy{max-width:850px}.hero-copy h1,.page-heading h1{letter-spacing:-.075em;max-width:850px;margin-top:14px;font-size:clamp(42px,7vw,92px);line-height:.91}.hero-copy>p:last-of-type,.page-heading>p:last-child{max-width:650px;color:var(--muted);margin-top:24px;font-size:16px;line-height:1.7}.action-row{flex-wrap:wrap;gap:10px;margin-top:30px;display:flex}.primary-action,.secondary-action,.quiet-action{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:28px;min-height:46px;padding:12px 16px;font-size:12px;font-weight:800;display:inline-flex}.primary-action{color:var(--deep);background:var(--lime);border:0;box-shadow:5px 5px #d8ff721f}.primary-action:hover{transform:translate(-1px,-1px)}.secondary-action{color:var(--lime);background:#d8ff720a;border:1px solid #d8ff724d}.quiet-action{border:1px solid var(--line);color:var(--muted);background:0 0}.tide-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.tide-cards article{border-top:1px solid var(--line);background:#08181b2e;min-height:130px;padding:20px}.tide-cards article>span{color:var(--coral);font:700 11px DM Mono,monospace}.tide-cards strong{margin:20px 0 7px;font-size:14px;display:block}.tide-cards p{color:var(--muted);font-size:11px;line-height:1.5}.page-heading{max-width:900px}.page-heading h1{font-size:clamp(38px,6vw,74px)}.setup-view,.summary-view,.history-view{min-height:calc(100vh - 70px)}.setup-grid{grid-template-columns:minmax(0,1fr) minmax(260px,.65fr);gap:16px;margin-top:42px;display:grid}.key-binding{cursor:pointer;background:#d8ff720a;border:1px solid #d8ff7257;border-radius:12px;place-items:center;min-height:220px;padding:26px;display:grid}.key-binding.listening{border-color:var(--lime);box-shadow:inset 0 0 0 2px #d8ff7221}.key-binding>span{color:var(--muted);letter-spacing:.13em;font:700 10px DM Mono,monospace}.key-binding kbd{border:1px solid var(--lime);min-width:110px;color:var(--lime);background:#08181ba6;border-radius:9px;padding:18px 24px;font:800 22px DM Mono,monospace;box-shadow:0 7px #071619}.key-binding small{color:var(--muted)}.how-card{border:1px solid var(--line);background:#08181b52;border-radius:12px;padding:26px}.how-card strong{font-size:16px}.how-card p{color:var(--ink);margin-top:18px;font-size:13px;line-height:1.65}.how-card span{border-top:1px solid var(--line);color:var(--muted);margin-top:24px;padding-top:18px;font-size:11px;line-height:1.55;display:block}.game-view{min-height:calc(100vh - 70px);padding:22px 28px 28px;position:relative}.game-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:22px;padding-bottom:18px;display:flex}.game-toolbar>div:first-child{grid-template-columns:auto auto;align-items:baseline;gap:3px 9px;display:grid}.game-toolbar .eyebrow{grid-column:1/-1}.game-toolbar strong{color:var(--lime);font:700 25px DM Mono,monospace}.game-toolbar small{color:var(--muted);font-size:10px}.game-actions{gap:7px;display:flex}.game-actions button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#08181b4d;border-radius:7px;padding:9px 11px}.game-actions button:hover{color:var(--ink)}.game-actions button.danger{color:var(--danger);border-color:#ff836f47}.solo-board{grid-template-columns:minmax(190px,.35fr) minmax(320px,1fr);gap:24px;max-width:980px;margin:34px auto 0;display:grid}.session-stats{align-content:start;gap:7px;display:grid}.session-stats>div{border:1px solid var(--line);background:#08181b47;border-radius:8px;justify-content:space-between;align-items:center;gap:15px;padding:14px;display:flex}.session-stats span{color:var(--muted);font-size:10px}.session-stats strong{font:700 18px DM Mono,monospace}.session-stats .fish-now{gap:5px;margin-top:10px;display:grid;position:relative}.fish-now i{border-radius:50%;width:9px;height:9px;position:absolute;right:14px}.water-wrap{grid-template-columns:minmax(180px,290px) minmax(180px,1fr);align-items:center;gap:28px;display:grid}.water-column{background:linear-gradient(#1d5960,#0b3038 65%,#08262d);border:1px solid #72ddca47;border-radius:18px;height:min(64vh,610px);min-height:430px;position:relative;overflow:hidden;box-shadow:inset 0 0 70px #0003,0 26px 60px #0000002e}.water-lines{opacity:.2;background:repeating-linear-gradient(175deg,#0000 0 35px,#72ddca38 36px 37px);position:absolute;inset:0}.catch-zone{border:2px solid var(--lime);background:#d8ff7217;border-radius:12px;transition:border-color .1s;position:absolute;left:12%;right:12%;box-shadow:0 0 24px #d8ff721f}.catch-zone.overlap{background:#d8ff722e;border-color:#fff}.catch-zone span{background:#d8ff7259;width:1px;position:absolute;inset:0 auto 0 50%}.fish-marker{border:1px solid color-mix(in srgb,var(--fish-color),white 30%);width:45px;height:45px;color:var(--deep);background:var(--fish-color);box-shadow:0 0 24px color-mix(in srgb,var(--fish-color),transparent 50%);border-radius:50%;place-items:center;font-size:19px;transition:scale .1s;display:grid;position:absolute;left:50%;transform:translate(-50%,-50%)}.fish-marker.overlap{scale:1.13}.round-callout{z-index:2;color:var(--deep);background:var(--lime);white-space:nowrap;border-radius:8px;padding:11px 15px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.round-callout.escaped{color:var(--ink);background:var(--coral)}.catch-meter{gap:12px;display:grid}.catch-meter>div:first-child{color:var(--muted);justify-content:space-between;gap:15px;font-size:11px;display:flex}.catch-meter strong{color:var(--ink);font:700 14px DM Mono,monospace}.meter-track{border:1px solid var(--line);background:#08181b;border-radius:999px;height:12px;overflow:hidden}.meter-track span{background:linear-gradient(90deg,var(--coral),var(--lime));height:100%;transition:width .1s linear;display:block}.catch-meter small{color:var(--muted);font-size:10px;line-height:1.6}.catch-meter kbd{border:1px solid var(--line);color:var(--lime);background:#08181b80;border-radius:4px;padding:4px 6px}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#030d0fc7;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-card,.countdown-card{border:1px solid var(--line);background:#10282b;border-radius:16px;width:min(480px,100%);padding:34px;box-shadow:0 30px 90px #0006}.modal-card h2{letter-spacing:-.05em;margin-top:10px;font-size:35px}.modal-card>p:last-of-type{color:var(--muted);margin-top:17px;font-size:13px;line-height:1.65}.modal-card>.primary-action{margin-top:25px}.countdown-card{text-align:center;box-shadow:none;background:0 0;border:0;place-items:center;display:grid}.countdown-card p{color:var(--mint);letter-spacing:.16em;font:700 11px DM Mono,monospace}.countdown-card strong{color:var(--lime);letter-spacing:-.1em;font:800 clamp(110px,20vw,220px)/.9 DM Mono,monospace}.countdown-card span{max-width:340px;color:var(--muted);font-size:12px}.summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:42px;display:grid}.summary-grid article,.history-totals article{border:1px solid var(--line);background:#08181b47;border-radius:9px;min-height:130px;padding:18px}.summary-grid span,.history-totals span{color:var(--muted);font-size:10px;display:block}.summary-grid strong,.history-totals strong{color:var(--lime);margin-top:28px;font:700 28px DM Mono,monospace;display:block}.save-notice{min-height:42px;color:var(--muted);align-items:center;gap:15px;margin-top:16px;font-size:11px;display:flex}.save-notice.error{color:var(--danger)}.save-notice button{color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:6px;padding:6px 9px}.history-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:38px;display:grid}.history-list{margin-top:25px;display:grid}.history-list article{border-top:1px solid var(--line);color:var(--muted);grid-template-columns:minmax(170px,1.5fr) 90px 80px 100px 100px;align-items:center;gap:14px;padding:15px 13px;font-size:11px;display:grid}.history-list strong{color:var(--lime);font:700 17px DM Mono,monospace}.empty-state{border:1px dashed var(--line);color:var(--muted);border-radius:10px;justify-items:start;gap:12px;margin-top:30px;padding:30px;display:grid}.empty-state strong{color:var(--ink)}.empty-state .primary-action{margin-top:8px}@media (width<=900px){.tide-shell{grid-template-columns:170px minmax(0,1fr)}.brand-lockup{margin-inline:4px}.setup-grid,.solo-board{grid-template-columns:1fr}.session-stats{grid-template-columns:repeat(4,1fr)}.session-stats .fish-now{grid-column:1/-1}.water-wrap{justify-content:center}.summary-grid{grid-template-columns:repeat(3,1fr)}.history-list article{grid-template-columns:1fr 70px 70px}.history-list article span:nth-last-child(-n+2){display:none}}@media (width<=680px){.tide-shell{display:block}.tide-rail{border-right:0;border-bottom:1px solid var(--line);min-height:auto;padding:14px;position:static}.brand-lockup{margin:0 0 14px}.tide-rail nav{grid-template-columns:repeat(3,1fr)}.tide-rail nav button{justify-content:center;padding:9px 5px;font-size:10px}.rail-note{display:none}.topline{padding:10px 16px}.content,.game-view{padding:25px 18px}.tide-cards,.history-totals{grid-template-columns:1fr}.game-toolbar{align-items:flex-start}.game-actions{flex-wrap:wrap;justify-content:flex-end}.session-stats{grid-template-columns:repeat(2,1fr)}.water-wrap{grid-template-columns:minmax(170px,240px)}.water-column{height:52vh;min-height:390px}.summary-grid{grid-template-columns:repeat(2,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
