:root{--water:#0d1f38;--water2:#13294a;--shallow:#1f4e7a;--contour:#3a78ae;--land:#c9b98a;--sand:#9fbbd1;--orange:#ff7a1a;--orange-dk:#b84f0a;--yellow:#ffd60a;--text:#f2f4f7;--green:#2fb05a;--red:#e0322b;--ink:#061020;--shadow:0 8px 0 #061020;--display:"Black Ops One", Impact, sans-serif;--body:"Public Sans", system-ui, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;color:var(--text);font-family:var(--body);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;touch-action:none;background:#061020;margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0}.hidden{display:none!important}.muted{color:#9fbbd1;font-weight:700}#canvas{display:block;position:fixed;inset:0}#stage{transform-origin:0 0;pointer-events:none;width:1194px;height:834px;position:fixed;top:0;left:0}.screen{position:absolute;inset:0}.screen button,.screen .card,.screen .start-cta,.screen input,#s-start{pointer-events:auto}#s-start{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:26px;padding:0 120px;display:flex}.start-title{font:108px/1 var(--display);text-shadow:0 10px 0 var(--ink);letter-spacing:.01em}.start-rule{font:800 26px/1.3 var(--body);color:#f2f4f7;background:var(--water);box-shadow:var(--shadow);max-width:900px;padding:16px 28px}.name-form{flex-direction:column;align-items:center;gap:10px;margin-top:6px;display:flex}.name-form label{font:800 14px/1 var(--body);letter-spacing:.14em;color:var(--sand)}#name-input{text-align:center;width:420px;font:48px/1 var(--display);color:var(--orange);background:var(--water);border:0;border-bottom:6px solid var(--orange);letter-spacing:.04em;text-transform:uppercase;outline:none;padding:14px 20px}#name-input::placeholder{color:#2f6e9e}#name-input:focus{border-bottom-color:var(--yellow)}.start-cta{font:800 30px/1 var(--body);letter-spacing:.12em;color:var(--water);background:var(--orange);box-shadow:0 10px 0 var(--orange-dk);margin-top:20px;padding:26px 60px;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{box-shadow:0 7px 0 var(--orange-dk);transform:translateY(3px)}}.start-foot{font:800 16px/1 var(--body);letter-spacing:.1em;color:var(--sand);align-items:baseline;gap:26px;display:flex;position:absolute;bottom:30px;left:40px;right:40px}.mcd-logo{width:auto;height:44px;display:block}.mcd-logo.small{height:34px}.room-line b,.board-room b{color:var(--orange)}.start-foot .conn{margin-left:auto;font-size:14px}.start-foot .conn.ok{color:#7ed69f}.pick-title{text-align:center;font:64px/1 var(--display);text-shadow:0 6px 0 var(--ink);position:absolute;top:44px;left:0;right:0}.pick-sub{text-align:center;font:800 22px/1 var(--body);color:var(--sand);letter-spacing:.08em;position:absolute;top:122px;left:0;right:0}.pick-name{font:800 14px/1 var(--body);letter-spacing:.1em;color:var(--sand);background:var(--water);box-shadow:0 6px 0 var(--ink);padding:12px 16px;position:absolute;top:44px;right:40px}.pick-name b{color:var(--orange)}.cards{gap:18px;display:flex;position:absolute;top:0;left:71px}.card{text-align:center;flex-direction:column;align-items:center;gap:6px;width:196px;height:640px;padding-top:470px;display:flex}.card .name{font:28px/1 var(--display);color:var(--text);justify-content:center;align-items:flex-end;height:56px;display:flex}.card.selected .name{color:var(--orange)}.card .blurb{font:700 18px/1 var(--body);color:var(--sand)}.card .stats{font:800 10px/1 var(--body);letter-spacing:.1em;color:var(--sand);grid-template-columns:auto 1fr;align-items:center;gap:3px 8px;margin-top:6px;display:grid}.card .stats .bar{gap:2px;display:flex}.card .stats .bar i{background:#1f4e7a;width:12px;height:8px}.card .stats .bar i.on{background:var(--sand)}.card.selected .stats .bar i.on{background:var(--orange)}.card .pick{background:var(--water);width:170px;height:64px;color:var(--text);font:800 24px/1 var(--body);letter-spacing:.06em;box-shadow:var(--shadow);place-items:center;margin-top:auto;display:grid}.card.selected .pick{background:var(--orange);color:var(--water);box-shadow:0 8px 0 var(--orange-dk)}#s-line{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:0 120px;display:flex}.line-title{font:72px/1 var(--display);text-shadow:0 8px 0 var(--ink)}.line-sub{font:700 20px/1.3 var(--body);color:var(--sand);max-width:760px}.line-count{font:120px/1 var(--display);color:var(--orange);text-shadow:0 10px #7a3a0c;min-height:120px}.line-count.small{color:var(--sand);text-shadow:none;font-size:34px}.line-list{flex-wrap:wrap;justify-content:center;gap:12px;min-height:60px;display:flex}.line-list .who{background:var(--water);box-shadow:0 6px 0 var(--ink);font:700 22px/1 var(--body);align-items:center;gap:10px;padding:12px 18px;display:flex}.line-list .who .nm{font-family:var(--display);font-weight:400}.line-list .who .sh{letter-spacing:.1em;color:var(--sand);font-size:12px}.line-list .who.me{outline:4px solid var(--orange);outline-offset:-4px}.line-list .who.me .nm{color:var(--orange)}.line-buttons{gap:20px;margin-top:10px;display:flex}.btn-ready{background:var(--orange);height:84px;color:var(--water);font:800 30px/1 var(--body);letter-spacing:.1em;box-shadow:0 10px 0 var(--orange-dk);padding:0 60px}.btn-ready.armed{background:var(--green);box-shadow:0 10px #1c7a3b}.btn-back{background:var(--water);height:84px;font:800 24px/1 var(--body);letter-spacing:.06em;box-shadow:var(--shadow);padding:0 40px}.hud{flex-direction:column;gap:12px;display:flex;position:absolute;top:24px;left:270px;right:270px}.hud-row{justify-content:space-between;align-items:baseline;display:flex}.score-box{background:var(--water);box-shadow:0 6px 0 var(--ink);align-items:baseline;gap:10px;padding:6px 14px;display:flex}.score{font:56px/1 var(--display);color:var(--orange)}.pts{font:800 20px/1 var(--body);color:var(--text);letter-spacing:.08em}.gate-box{background:var(--water);box-shadow:0 6px 0 var(--ink);align-items:center;gap:8px;padding:10px 14px;display:flex}.pips{gap:8px;display:flex}.pips i{border:4px solid var(--contour);width:22px;height:22px}.pips i.done{background:var(--orange);border-color:var(--orange)}.pips i.next{border-color:var(--text)}.gate-label{font:800 20px/1 var(--body);color:var(--sand);letter-spacing:.08em;margin-left:8px}.question{background:var(--text);color:var(--water);font:800 30px/1.2 var(--body);text-wrap:pretty;box-shadow:0 8px 0 var(--sand);padding:18px 26px;animation:.25s ease-out drop}.fact{background:var(--water);color:var(--text);box-shadow:var(--shadow);border-left:10px solid #4fa3d9;flex-direction:column;gap:8px;padding:16px 26px 20px;animation:.25s ease-out drop;display:flex}.fact-title{font:28px/1 var(--display);letter-spacing:.02em;color:#4fa3d9}.fact-text{font:700 22px/1.3 var(--body);text-wrap:pretty}@keyframes drop{0%{transform:translateY(-12px)}to{transform:none}}.bump{text-align:center;font:800 26px/1 var(--body);letter-spacing:.08em;color:var(--yellow);text-shadow:0 4px 0 var(--ink);position:absolute;top:400px;left:0;right:0}.standings{width:220px;box-shadow:0 6px 0 var(--ink);font:700 16px/1 var(--body);background:#0d1f38d9;flex-direction:column;gap:8px;padding:10px 14px;display:flex;position:absolute;top:330px;right:24px}.standings .hd{letter-spacing:.14em;color:var(--sand);font-size:11px}.standings .row{white-space:nowrap;grid-template-columns:22px 1fr auto;align-items:center;gap:8px;display:grid;overflow:hidden}.standings .row .nm{font-family:var(--display);text-overflow:ellipsis;font-weight:400;overflow:hidden}.standings .row.me .nm{color:var(--orange)}.standings .row .st{color:var(--sand);font-size:12px}.standings .row.out{opacity:.5}.race-toast{text-align:center;font:800 24px/1 var(--body);letter-spacing:.1em;color:var(--text);text-shadow:0 4px 0 var(--ink);animation:.3s ease-out drop;position:absolute;top:340px;left:0;right:0}.crash-actions{justify-content:center;gap:20px;animation:.3s ease-out drop;display:flex;position:absolute;bottom:70px;left:0;right:0}.crash-actions .btn-respawn{background:var(--orange);height:96px;color:var(--water);font:800 34px/1 var(--body);letter-spacing:.12em;box-shadow:0 10px 0 var(--orange-dk);padding:0 70px;animation:1.2s ease-in-out infinite pulse}.crash-actions .btn-score{background:var(--water);height:96px;color:var(--text);font:800 22px/1 var(--body);letter-spacing:.08em;box-shadow:var(--shadow);padding:0 36px}.wrong{text-align:center;position:absolute;inset:0}.wrong-big{font:120px/1 var(--display);color:var(--text);text-shadow:0 10px #7a1a15;letter-spacing:.02em;position:absolute;top:60px;left:0;right:0}.wrong-small{font:800 28px/1.2 var(--body);letter-spacing:.06em;color:var(--text);text-shadow:0 4px #7a1a15;position:absolute;top:196px;left:60px;right:60px}.finish{text-align:center;position:absolute;inset:0}.finish-big{font:120px/1 var(--display);color:var(--text);text-shadow:0 10px 0 var(--ink);animation:.4s ease-out drop;position:absolute;top:260px;left:0;right:0}.finish-small{font:800 28px/1.2 var(--body);letter-spacing:.06em;color:var(--sand);text-shadow:0 4px 0 var(--ink);position:absolute;top:400px;left:60px;right:60px}.over-grid{grid-template-columns:minmax(0,1fr) 340px;padding:44px 40px;display:grid;position:absolute;inset:0}.over-left{flex-direction:column;gap:22px;min-width:0;display:flex}.over-title{font:96px/1 var(--display);text-shadow:var(--shadow)}.over-score{align-items:baseline;gap:16px;display:flex}.over-score .big{font:160px/1 var(--display);color:var(--orange);text-shadow:0 10px #7a3a0c}.over-score .pts{font-size:28px}.over-sub{font:700 22px/1.3 var(--body);color:var(--sand);letter-spacing:.04em}.tag-row{align-items:stretch;gap:20px;display:flex}.over-name{background:var(--water);width:394px;box-shadow:var(--shadow);flex-direction:column;justify-content:center;gap:8px;padding:20px 26px;display:flex}.over-name .lbl{font:800 14px/1 var(--body);letter-spacing:.14em;color:var(--sand)}.over-name .nm{font:64px/1 var(--display);color:var(--orange);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.over-name .ship{font:800 16px/1 var(--body);letter-spacing:.1em;color:var(--sand)}.btn-ship{font:800 13px/1 var(--body);letter-spacing:.1em;color:var(--sand);border:2px solid var(--contour);align-self:flex-start;margin-top:6px;padding:8px 12px}.btn-again{background:var(--orange);color:var(--water);box-shadow:0 8px 0 var(--orange-dk)}.over-buttons{flex-direction:column;flex:1;justify-content:flex-end;gap:20px;min-width:0;max-width:240px;display:flex}.over-buttons button{height:84px;font:800 28px/1 var(--body);letter-spacing:.06em;place-items:center;width:100%;display:grid}.btn-submit{background:var(--orange);color:var(--water);box-shadow:0 8px 0 var(--orange-dk)}.btn-submit:disabled{background:var(--green);color:var(--water);box-shadow:0 8px #1c7a3b}.btn-again{background:var(--water);box-shadow:var(--shadow)}.top10{background:var(--water);box-shadow:0 10px 0 var(--ink);flex-direction:column;align-self:start;padding:26px 30px;display:flex}.top10-title{font:800 22px/1 var(--body);color:var(--sand);letter-spacing:.12em;margin-bottom:18px}.top10-list{font:700 30px/1 var(--body);flex-direction:column;display:flex}.top10-list .row{white-space:nowrap;grid-template-columns:44px 1fr auto;padding:13px 0;display:grid}.top10-list .row .tag{text-overflow:ellipsis;font-size:24px;overflow:hidden}.top10-list .row .n{color:var(--sand)}.top10-list .row .tag{font-family:var(--display);font-weight:400}.top10-list .row.me{background:var(--water2);outline:5px solid var(--orange);outline-offset:-5px;margin:0 -10px;padding:13px 10px}.top10-list .row.me .tag,.top10-list .row.me .sc{color:var(--orange)}.top10-list .row.empty{color:#2f6e9e}#board-stage{transform-origin:0 0;grid-template-rows:auto 400px 1fr;gap:18px;width:1920px;height:1080px;padding:26px 40px 28px;display:grid;position:fixed;top:0;left:0}.board-head{justify-content:space-between;align-items:baseline;gap:30px;display:flex}.board-title{font:54px/1 var(--display);text-shadow:0 5px 0 var(--ink)}.board-state{font:800 22px/1 var(--body);letter-spacing:.14em;color:var(--orange);background:var(--water);box-shadow:0 6px 0 var(--ink);margin-left:auto;padding:12px 20px}.board-state.count{font:44px/1 var(--display);padding:8px 24px}.board-runs{align-items:baseline;gap:8px;display:flex}.board-runs .n{font:44px/1 var(--display);color:var(--orange)}.board-runs .lbl{font:800 16px/1 var(--body);color:var(--sand);letter-spacing:.1em}.board-grid{grid-template-columns:1fr 1fr;gap:28px;min-height:0;display:grid}.board-left,.board-right{flex-direction:column;gap:12px;min-height:0;display:flex}.board-top10{background:var(--water);box-shadow:0 6px 0 var(--ink);font:700 24px/1 var(--body);grid-template-rows:repeat(5,1fr);grid-template-columns:1fr 1fr;grid-auto-flow:column;gap:6px 28px;height:250px;padding:14px 22px;display:grid}.board-top10 .row{grid-template-columns:34px 1fr auto;align-items:center;display:grid}.board-top10 .row .n{color:var(--sand)}.board-top10 .row .tag{font-family:var(--display);text-overflow:ellipsis;white-space:nowrap;font-weight:400;overflow:hidden}.board-top10 .row.first{background:var(--orange);color:var(--water);margin:0 -10px;padding:0 10px}.board-top10 .row.first .n{color:var(--water)}.board-top10 .row.empty{color:#2f6e9e}.board-strip-head,.board-live-head{font:800 14px/1 var(--body);color:var(--sand);letter-spacing:.1em;justify-content:space-between;display:flex}.board-strips{font:700 20px/1 var(--body);grid-template-columns:auto 1fr;align-items:center;gap:8px 16px;display:grid}.board-strips .tag,.board-live .tag{font-family:var(--display);font-weight:400}.strip{background:var(--water);height:22px;box-shadow:0 4px 0 var(--ink);grid-template-columns:repeat(7,1fr);gap:3px;padding:3px;display:grid}.strip i.on{background:var(--orange)}.strip i.live{background:var(--text);animation:1s steps(2,end) infinite blink}@keyframes blink{50%{opacity:.3}}.board-live{font:700 24px/1 var(--body);background:var(--water);box-shadow:0 6px 0 var(--ink);flex-direction:column;gap:8px;min-height:250px;padding:14px 22px;display:flex}.board-live .row{grid-template-columns:40px 1fr auto auto;align-items:center;gap:16px;display:grid}.board-live .row .pos{color:var(--sand)}.board-live .row .tag{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.board-live .row .ship{color:var(--sand);letter-spacing:.08em;font-size:14px}.board-live .row .st{letter-spacing:.1em;color:var(--orange);text-align:right;min-width:90px;font-size:16px}.board-live .row.sunk{opacity:.5}.board-live .row.sunk .st{color:var(--red)}.board-live .row.finished .st{color:var(--green)}.board-room{font:800 16px/1 var(--body);letter-spacing:.1em;color:var(--sand);align-items:center;gap:24px;margin-top:auto;display:flex}
