:root{--abyss:#0c0e12;--hull:#1c2027;--plate:#262b33;--line:#3a4250;--bone:#e6dfcc;--barnacle:#a3aebf;--alarm:#f2685f;--brine:#6cc3ae;--sonar:#7fd6ea;--gold:#e2b84a;--f-display:"Big Shoulders Stencil Display", Impact, "Arial Narrow Bold", sans-serif;--f-body:"Barlow Semi Condensed", "Arial Narrow", "Segoe UI", sans-serif;--f-paper:"Special Elite", "Courier New", monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:var(--abyss);height:100%;color:var(--bone);font:500 17px/1.45 var(--f-body);-webkit-user-select:none;user-select:none;background-image:repeating-linear-gradient(45deg,#e6dfcc08 0 1px,#0000 1px 7px);margin:0;overflow:hidden}#app{height:100%}h1,h2{font-family:var(--f-display);letter-spacing:.03em;margin:0;font-weight:900;line-height:1}kbd{font:700 .85em var(--f-body);background:var(--bone);color:var(--abyss);border-radius:3px;padding:0 5px}button{font:600 16px var(--f-body);color:var(--bone);background:var(--plate);border:1px solid var(--line);cursor:pointer;border-radius:6px;padding:9px 14px}button:hover:not(:disabled){border-color:var(--bone)}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:var(--bone);color:var(--abyss);border-color:var(--bone)}button:focus-visible,input:focus-visible{outline:2px solid var(--sonar);outline-offset:2px}input{font:600 16px var(--f-body);color:var(--bone);background:var(--hull);border:1px solid var(--line);border-radius:6px;padding:8px 12px}.menu{text-align:center;flex-direction:column;justify-content:safe center;align-items:center;gap:12px;height:100%;padding:24px 16px;display:flex;overflow-y:auto}.menu h1{font-size:52px}.menu .eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--barnacle);margin:0;font-size:13px}.menu .logo{letter-spacing:.06em;font-size:clamp(64px,12vw,128px)}.menu .tagline{max-width:60ch;color:var(--barnacle);margin:0 0 8px}.menu .buttons{flex-direction:column;gap:10px;width:min(360px,100%);display:flex}.menu .row{gap:8px;display:flex}.menu .row input{text-transform:uppercase;letter-spacing:.2em;flex:1;min-width:0}.menu .code{font:900 56px var(--f-display);letter-spacing:.25em;margin:0}.menu .error{color:var(--alarm);min-height:1.2em;margin:0}.howto{text-align:left;background:var(--hull);border:1px solid var(--line);border-radius:8px;max-width:620px;margin-top:8px;padding:14px 18px}.howto h2{margin-bottom:6px;font-size:24px}.howto ul{margin:0;padding-left:20px}.howto li{margin:3px 0}.howto .keys{color:var(--barnacle);margin:10px 0 0;font-size:15px}.paper-note{max-width:520px;font:400 14px/1.45 var(--f-paper);color:#1a1712;background:#d9d0b8;margin:0;padding:10px 14px;transform:rotate(-.6deg)}.build{color:var(--barnacle);font-variant-numeric:tabular-nums;font-size:12px}.spinner{border:3px solid var(--line);border-top-color:var(--sonar);border-radius:50%;width:28px;height:28px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.progress{background:var(--line);border-radius:3px;width:min(320px,100%);height:6px;overflow:hidden}.progress i{background:var(--sonar);width:0;height:100%;transition:width .25s linear;display:block}.countdown{font:900 28px var(--f-display);margin:0}.players{grid-template-columns:repeat(2,minmax(0,220px));justify-content:center;gap:10px;display:grid}.player-card{text-align:left;border:1px solid var(--line);background:var(--hull);border-radius:8px;align-items:center;gap:12px;padding:10px 14px;display:flex}.player-card.is-ready{border-color:var(--pc)}.player-card.empty{opacity:.5}.player-card .swatch{background:var(--pc);border-radius:50%;flex:none;width:22px;height:22px}.player-card.empty .swatch{border:2px dashed var(--barnacle);background:0 0}.player-card .title{font-weight:700}.player-card .status{color:var(--barnacle);font-size:14px}.player-card.is-ready .status{color:var(--bone)}.colors,.segs{color:var(--barnacle);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;font-size:15px;display:flex}.color-pick{background:var(--pc);border:3px solid #0000;border-radius:50%;width:28px;height:28px;padding:0}.color-pick:hover:not(:disabled){background:var(--pc);border-color:#e6dfcc80}.color-pick.selected{border-color:var(--bone)}.color-pick:disabled{opacity:.2}.seg.selected{border-color:var(--bone);background:var(--line)}.dive{background:#000;position:fixed;inset:0}.dive canvas{cursor:crosshair;width:100%;height:100%;display:block}.hud{pointer-events:none;position:absolute;inset:0}.hud-tag{border:1px solid var(--line);background:#0c0e12c7;border-radius:6px;flex-direction:column;padding:6px 10px;display:flex;position:absolute;top:12px;left:12px}.hud-tag b{font:900 18px var(--f-display);letter-spacing:.06em}.hud-tag span{color:var(--barnacle);font-size:13px}.crosshair{background:var(--bone);border-radius:50%;width:6px;height:6px;margin:-3px;position:absolute;top:50%;left:50%;box-shadow:0 0 0 2px #050608}.ring{width:54px;height:54px;margin:-27px;position:absolute;top:50%;left:50%}.ring circle{fill:none;stroke-width:5px}.ring-bg{stroke:#0c0e12b3}.ring-fg{stroke:var(--bone)}.prompt{white-space:nowrap;border:1px solid var(--bone);background:#0c0e12db;border-radius:5px;padding:5px 10px;font-weight:600;position:absolute;top:calc(50% + 36px);left:50%;transform:translate(-50%)}.prompt kbd{margin-right:6px}.toast{text-align:center;border-left:4px solid var(--bone);opacity:0;background:#0c0e12e6;border-radius:4px;max-width:min(92%,560px);padding:8px 14px;transition:opacity .3s;position:absolute;bottom:64px;left:50%;transform:translate(-50%)}.toast.show{opacity:1}.toast.alarm{border-left-color:var(--alarm)}.toast.gold{border-left-color:var(--gold)}.toast.brine{border-left-color:var(--brine)}.held{border:1px solid var(--line);background:#0c0e12d1;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;font-size:15px;display:flex;position:absolute;bottom:14px;right:14px}.tape-dot{border:4px solid #9aa4b2;border-radius:50%;width:14px;height:14px}.banner{border:1px solid var(--alarm);color:var(--alarm);background:#0c0e12eb;border-radius:6px;padding:8px 16px;font-weight:700;position:absolute;top:14px;left:50%;transform:translate(-50%)}.pause,.end{pointer-events:auto;background:#05060899;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0;overflow-y:auto}.panel{background:var(--hull);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:10px;width:min(460px,100%);padding:20px 22px;display:flex}.panel h2{font-size:36px}.panel .muted{color:var(--barnacle);margin:0}.panel label{color:var(--barnacle);justify-content:space-between;align-items:center;gap:10px;display:flex}.panel label.check{justify-content:flex-start}.panel input[type=range]{width:55%;padding:0}.keys{color:var(--barnacle);grid-template-columns:1fr 1fr;gap:4px 12px;font-size:15px;display:grid}.ledger h1{font-size:54px}.ledger .paper{font:400 15px/1.45 var(--f-paper);color:#1a1712;background:#d9d0b8;margin:0;padding:10px 12px}.ledger .rows{flex-direction:column;display:flex}.ledger .row{border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;justify-content:space-between;padding:7px 2px;display:flex}.ledger .row span{color:var(--barnacle)}.ledger .note{min-height:1.2em;color:var(--barnacle);margin:0}.ledger .buttons{gap:8px;display:flex}.ledger .buttons button{flex:1}.badge{font:700 13px var(--f-body);letter-spacing:.1em;text-transform:uppercase;border-radius:3px;align-self:flex-start;padding:5px 8px}.badge.paid{background:var(--gold);color:#1a1405}.badge.off{color:var(--alarm);border:1px solid var(--alarm)}@media (prefers-reduced-motion:reduce){.toast,.progress i{transition:none}.spinner{animation:none}}
