:root{color-scheme:dark;--ink: #eef2f5;--muted: #93a3ad;--teal: #63e2c8;--teal-dim: #2f7f72;--amber: #ffc247;--red: #ff6a52;--deep: #07070f;--panel: rgba(9, 12, 20, .9);--line: rgba(99, 226, 200, .24);--line-soft: rgba(147, 163, 173, .18);font-family:Space Grotesk,system-ui,-apple-system,sans-serif;font-synthesis:none}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--deep)}body{color:var(--ink)}button,input{font:inherit}button{color:inherit;cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid var(--teal);outline-offset:3px}#app,#stage{position:fixed;inset:0;width:100%;height:100%}#stage{display:block;touch-action:none}#hud{position:fixed;z-index:8;top:0;left:0;right:0;display:flex;align-items:center;gap:18px;padding:18px 26px;pointer-events:none}.mark,.hud-actions{pointer-events:auto}.mark{display:flex;align-items:center;gap:10px;letter-spacing:.2em;font-size:12px;font-weight:700}.mark i{display:block;width:22px;height:22px;border-radius:4px;background:linear-gradient(180deg,#1b3b45 0 44%,#6b5a44 44% 62%,#0d1a24 62% 100%);box-shadow:0 0 14px #63e2c847}.mark span{display:grid;gap:3px}.mark small{color:var(--muted);font:10px DM Mono,ui-monospace,monospace;letter-spacing:.14em}.readouts{display:flex;gap:8px;pointer-events:auto}.gauge{margin:0;display:grid;gap:3px;min-width:88px;padding:7px 11px;border:1px solid var(--line-soft);background:#080b12c2}.gauge span{color:var(--muted);font:9px DM Mono,ui-monospace,monospace;letter-spacing:.16em}.gauge b{font:13px DM Mono,ui-monospace,monospace;font-weight:400}.gauge.stock b{color:var(--teal)}.gauge.stock.warn b{color:var(--amber)}.gauge.stock.bad b{color:var(--red)}.hud-actions{margin-left:auto;display:flex;gap:7px}.hud-actions button{border:1px solid var(--line-soft);background:#080b12c2;padding:9px 11px;font:10px DM Mono,ui-monospace,monospace;letter-spacing:.1em;transition:background .16s,border-color .16s,color .16s}.hud-actions button:hover{border-color:var(--teal);color:var(--teal)}#weir-board{position:fixed;z-index:7;left:26px;top:96px;width:268px;border:1px solid var(--line);background:var(--panel);padding:14px}.board-head{margin:0 0 10px;display:flex;align-items:baseline;justify-content:space-between;gap:8px}.board-head span{color:var(--teal);font:10px DM Mono,ui-monospace,monospace;letter-spacing:.14em}.board-head b{font:11px DM Mono,ui-monospace,monospace;font-weight:400}.board-head span.warn{color:var(--amber)}.board-head span.bad{color:var(--red)}.tide{position:relative;height:9px;border:1px solid var(--line-soft);background:#14283499;overflow:hidden}.tide i{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,#1d5a63,#63e2c8);transition:width .2s linear}.tide u{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--amber)}.board-note{margin:7px 0 12px;color:var(--muted);font:9px DM Mono,ui-monospace,monospace;letter-spacing:.12em}#bay-list{margin:0;padding:0;list-style:none;display:grid;gap:1px}#bay-list li{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px;padding:9px 8px;border:1px solid transparent;border-left:2px solid var(--line-soft);background:#0e141e99}#bay-list li.on{border-color:var(--teal);background:#142e34b8}#bay-list li.hauling{border-left-color:var(--amber)}#bay-list li.full{border-left-color:var(--red)}.bay-name{display:grid;gap:3px;min-width:0}.bay-name b{font:10px DM Mono,ui-monospace,monospace;letter-spacing:.1em;font-weight:400}.bay-name small{color:var(--muted);font:9px DM Mono,ui-monospace,monospace;letter-spacing:.08em}.bay-tag{padding:3px 7px;border:1px solid var(--line-soft);font:9px DM Mono,ui-monospace,monospace;letter-spacing:.1em;color:var(--muted);white-space:nowrap}.bay-tag.pot{color:var(--teal);border-color:var(--line)}.bay-tag.full{color:var(--red);border-color:#ff6a5280}.bay-tag.lift{color:var(--amber);border-color:#ffc24780}.board-ticker{margin:12px 0 0;color:var(--muted);font:10px/1.45 DM Mono,ui-monospace,monospace;letter-spacing:.06em;min-height:2.9em}#actions{position:fixed;z-index:8;left:50%;bottom:22px;transform:translate(-50%);display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;width:min(760px,calc(100vw - 52px));pointer-events:none}#actions button{pointer-events:auto;min-height:44px;padding:8px 6px;border:1px solid var(--line-soft);background:#080b12d6;font:10px DM Mono,ui-monospace,monospace;letter-spacing:.08em;transition:background .14s,border-color .14s,color .14s}#actions button:hover{border-color:var(--teal);color:var(--teal)}#actions button:active{background:#1c464acc}#actions .wide{grid-column:span 4}#actions .primary{border-color:var(--teal);color:#04140f;background:var(--teal)}#actions .primary:hover{background:#8bf2da;color:#04140f}#actions button:disabled{opacity:.4;cursor:not-allowed}#bank-tray{position:fixed;z-index:9;left:50%;bottom:22px;transform:translate(-50%);width:min(760px,calc(100vw - 52px));max-height:56vh;overflow:auto;border:1px solid var(--line);background:var(--panel);padding:12px}#bank-tray header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}#bank-tray header span{color:var(--teal);font:10px DM Mono,ui-monospace,monospace;letter-spacing:.16em}#bank-tray header b{font:10px DM Mono,ui-monospace,monospace;font-weight:400;color:var(--muted)}#tray-list{margin:0;padding:0;list-style:none;display:grid;gap:6px}#tray-list li{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line-soft);background:#0d121bdb}#tray-list .who{display:grid;gap:3px;min-width:0}#tray-list .who b{font:11px DM Mono,ui-monospace,monospace;letter-spacing:.06em;font-weight:400}#tray-list .who small{color:var(--muted);font:9px DM Mono,ui-monospace,monospace}#tray-list .who small.warn{color:var(--amber)}#tray-list .who small.bad{color:var(--red)}#tray-list .acts{display:flex;gap:5px}#tray-list button{min-height:38px;padding:6px 12px;border:1px solid var(--line-soft);background:#080b12cc;font:10px DM Mono,ui-monospace,monospace;letter-spacing:.08em}#tray-list button.keep{border-color:#63e2c880;color:var(--teal)}#tray-list button.back{border-color:#ffc24766;color:var(--amber)}#flash{position:fixed;z-index:7;left:50%;top:15%;transform:translate(-50%);margin:0;width:max-content;max-width:calc(100vw - 40px);text-align:center;color:#fff;font:11px DM Mono,ui-monospace,monospace;letter-spacing:.12em;text-shadow:0 0 20px rgba(99,226,200,.6);opacity:0;transition:opacity .3s linear;pointer-events:none}#flash.show{opacity:1}#flash.bad{text-shadow:0 0 20px rgba(255,106,82,.7);color:#ffd9d2}.screen{position:fixed;z-index:10;inset:0;display:flex;align-items:center;justify-content:center;padding:28px;background:#04050bb8;backdrop-filter:blur(6px)}.title-screen{justify-content:space-between;align-items:flex-end;background:linear-gradient(90deg,#04050beb,#04050b75 52%,#04050b24)}.title-copy{width:min(580px,100%);padding:24px 0}.eyebrow{color:var(--teal);font:10px DM Mono,ui-monospace,monospace;letter-spacing:.2em}.title-copy h1{margin:14px 0 12px;font-size:clamp(56px,10vw,118px);line-height:.8;letter-spacing:-.08em;font-weight:700}.title-copy h1 span{color:var(--teal)}.title-copy p{max-width:500px;color:#c3d0d8;font-size:clamp(13px,1.3vw,15px);line-height:1.55}.title-controls{display:flex;flex-wrap:wrap;gap:7px 16px;margin:20px 0;color:var(--muted);font:10px DM Mono,ui-monospace,monospace}kbd{display:inline-block;border:1px solid rgba(99,226,200,.32);padding:2px 5px;color:var(--ink);font:9px DM Mono,ui-monospace,monospace;margin-right:3px}.primary,.secondary{min-width:220px;border:1px solid var(--teal);padding:14px 18px;background:var(--teal);color:#04140f;font:11px DM Mono,ui-monospace,monospace;letter-spacing:.12em}.primary:hover{background:#8bf2da}.secondary{margin-top:9px;background:transparent;border-color:var(--line-soft);color:var(--muted)}.secondary:hover{color:var(--ink);border-color:var(--teal)}.title-copy>small{display:block;margin-top:13px;color:#77858e;font:10px DM Mono,ui-monospace,monospace}.ledger-card{width:min(300px,100%);margin-bottom:12px;padding:16px;border:1px solid var(--line);background:var(--panel)}.ledger-card>span{color:var(--muted);font:10px DM Mono,ui-monospace,monospace;letter-spacing:.14em}#ledger-list{margin-top:12px;display:grid;gap:4px}#ledger-list div{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:7px 0;border-top:1px solid var(--line-soft)}#ledger-list b{font:12px DM Mono,ui-monospace,monospace;font-weight:400}#ledger-list span{color:var(--muted);font:9px DM Mono,ui-monospace,monospace}#ledger-list p{margin:0;color:var(--muted);font:11px DM Mono,ui-monospace,monospace;line-height:1.45}.modal{background:#03040ad1}.modal-card{width:min(470px,100%);max-height:calc(100vh - 56px);overflow:auto;padding:30px;border:1px solid var(--line);background:var(--panel);box-shadow:0 24px 90px #0000008c}.modal-card h2{margin:12px 0 10px;font-size:30px;line-height:1.04;letter-spacing:-.04em}.modal-card p{color:var(--muted);font-size:13px;line-height:1.55}.toggle{display:flex;align-items:center;gap:9px;margin:20px 0;color:var(--muted);font:11px DM Mono,ui-monospace,monospace}.toggle input{accent-color:var(--teal)}.help-card{width:min(600px,100%)}.help-card dl{display:grid;grid-template-columns:118px 1fr;gap:9px 14px;margin:20px 0}.help-card dt{color:var(--teal);font:10px DM Mono,ui-monospace,monospace;letter-spacing:.1em}.help-card dd{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.end-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:20px 0 14px}.end-stats span{display:grid;gap:6px;padding:9px;border:1px solid var(--line-soft)}.end-stats small{color:var(--muted);font:8px DM Mono,ui-monospace,monospace;letter-spacing:.1em}.end-stats b{font:13px DM Mono,ui-monospace,monospace;font-weight:400}.end-ledger{display:grid;gap:3px;margin:0 0 22px}.end-ledger div{display:grid;grid-template-columns:1fr auto auto auto;gap:10px;padding:6px 0;border-top:1px solid var(--line-soft)}.end-ledger span{color:var(--muted);font:9px DM Mono,ui-monospace,monospace;letter-spacing:.08em}.end-ledger b{font:10px DM Mono,ui-monospace,monospace;font-weight:400;min-width:54px;text-align:right}#end-screen.lose .modal-card{border-color:#ff6a5280}#end-screen.lose .eyebrow{color:var(--red)}#end-screen.win .eyebrow{color:var(--teal)}@media(max-width:900px){#weir-board{width:232px}#actions{grid-template-columns:repeat(4,minmax(0,1fr))}#actions .wide{grid-column:span 2}}@media(max-width:760px){#hud{padding:10px 12px;gap:8px;flex-wrap:wrap}.mark{font-size:10px;gap:7px}.mark i{width:16px;height:16px}.mark small{font-size:8px}.readouts{order:3;width:100%;gap:5px}.gauge{flex:1;min-width:0;padding:5px 8px}.gauge span{font-size:8px}.gauge b{font-size:11px}.hud-actions{gap:4px}.hud-actions button{min-height:34px;padding:6px 7px;font-size:8px}#weir-board{left:8px;right:8px;top:112px;width:auto;padding:8px}.board-head{margin-bottom:7px}.board-note{margin:5px 0 8px}#bay-list{grid-template-columns:repeat(3,1fr);gap:4px}#bay-list li{grid-template-columns:1fr;padding:7px 6px}.bay-tag{justify-self:start}.board-ticker{min-height:0;margin-top:9px}#actions,#bank-tray{left:8px;right:8px;width:auto;bottom:max(8px,env(safe-area-inset-bottom));transform:none}#actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}#actions button{min-height:42px;font-size:9px;padding:6px 3px}#actions .wide{grid-column:span 2}#bank-tray{max-height:52vh}#flash{top:44%;font-size:10px}.title-screen{align-items:flex-end;padding:14px;background:linear-gradient(180deg,#04050b6b,#04050be0 30%,#04050bf7)}.title-copy{width:100%;padding:0 2px 2px;max-height:calc(100vh - 28px);overflow:auto}.title-copy h1{font-size:clamp(50px,18vw,82px)}.title-copy p{font-size:12px}.title-controls{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;margin:15px 0}.primary,.secondary{width:100%;min-height:48px}.secondary{margin-left:0;margin-top:8px}.ledger-card{display:none}.modal{padding:12px}.modal-card{width:calc(100% - 24px);max-height:calc(100vh - 24px);padding:20px 16px}.modal-card h2{font-size:25px}.help-card dl{grid-template-columns:1fr;gap:3px}.help-card dt{margin-top:8px}.end-stats{grid-template-columns:repeat(2,1fr)}.end-ledger div{grid-template-columns:1fr auto auto}.end-ledger b:last-child{display:none}}@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important}}
