:root{--bg: #05070c;--bg-soft: #071018;--panel: rgba(6, 15, 23, .86);--panel-2: rgba(4, 10, 16, .94);--line: rgba(78, 200, 226, .22);--line-bright: rgba(91, 226, 246, .55);--cyan: #2ee6ff;--cyan-dim: rgba(46, 230, 255, .55);--pink: #ff3ba7;--lime: #b8ff3a;--orange: #ff8a2e;--text: #d7f6ff;--dim: rgba(160, 220, 235, .55);--dimmer: rgba(140, 200, 220, .32);--mono: ui-monospace, "SF Mono", SFMono-Regular, "Cascadia Mono", "Segoe UI Mono", "Roboto Mono", Menlo, Consolas, monospace;--ui: "Bahnschrift", "DIN Alternate", "Avenir Next", "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;background:var(--bg);color:var(--text);font-family:var(--ui);overscroll-behavior:none}body{-webkit-font-smoothing:antialiased;overflow:hidden}#app{position:fixed;inset:0;overflow:hidden}[hidden]{display:none!important}button,input{font-family:inherit}button{color:inherit}.arena{position:absolute;inset:0;width:100%;height:100%;display:block;background:var(--bg);touch-action:none}body.playing .arena{cursor:crosshair}.screen{position:fixed;inset:0;z-index:10;display:none;overflow-y:auto;background:radial-gradient(ellipse 70% 60% at 78% 28%,rgba(20,96,122,.18),transparent 70%),radial-gradient(ellipse 60% 60% at 10% 90%,rgba(80,26,90,.12),transparent 70%),linear-gradient(180deg,#060a10,#04070c)}.screen.active{display:block;animation:screen-in .24s ease-out}.screen:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(70,160,190,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(70,160,190,.07) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse 80% 70% at 50% 45%,black 10%,transparent 78%);-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 45%,black 10%,transparent 78%)}.screen-title:before{display:none}.screen-inner{position:relative;z-index:2;width:min(1080px,calc(100% - 48px));margin:0 auto}@keyframes screen-in{0%{opacity:0}to{opacity:1}}.title-inner{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);grid-template-areas:"brand brand" "menu controls" "foot foot";gap:26px 56px;align-content:center;min-height:100vh;padding:40px 0}.brand{grid-area:brand;position:relative;padding-right:180px}.brand:after{content:"";position:absolute;left:0;bottom:-12px;width:64px;height:2px;background:var(--cyan);box-shadow:0 0 18px var(--cyan)}.brand-mark{position:absolute;top:-12px;right:30px;width:148px;height:148px;color:#2ee6ffb3;animation:orbit 34s linear infinite}.brand-mark:before,.brand-mark:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.brand-mark:before{inset:-18px;border:1px dashed rgba(46,230,255,.16)}.brand-mark:after{inset:22px;border:1px solid rgba(255,59,167,.18)}.brand-mark svg{width:100%;height:100%;display:block}@keyframes orbit{to{transform:rotate(360deg)}}.eyebrow{margin:0 0 10px;font-size:clamp(11px,.82vw,15px);font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--cyan-dim)}h1{margin:0;font-size:clamp(58px,9vw,122px);line-height:.82;letter-spacing:-.035em;font-weight:800;color:#eafcff;text-shadow:0 0 28px rgba(46,230,255,.25),0 0 90px rgba(46,230,255,.12)}.caret{color:var(--cyan);animation:blink 1.1s steps(2,end) infinite}@keyframes blink{50%{opacity:0}}.tagline{margin:18px 0 0;font-size:11px;letter-spacing:.26em;color:var(--dim)}.menu-panel{grid-area:menu;align-self:start}.panel{position:relative;border:1px solid var(--line);background:linear-gradient(155deg,var(--panel),var(--panel-2));padding:22px}.panel:before,.panel:after{content:"";position:absolute;width:12px;height:12px;border-color:var(--line-bright);border-style:solid;pointer-events:none}.panel:before{top:-1px;left:-1px;border-width:2px 0 0 2px}.panel:after{right:-1px;bottom:-1px;border-width:0 2px 2px 0}.field{display:block;margin-bottom:16px}.field-label{display:block;margin-bottom:7px;font-size:9px;font-weight:700;letter-spacing:.24em;color:var(--dim)}input{width:100%;height:42px;padding:0 12px;border:1px solid rgba(78,200,226,.26);border-radius:2px;background:#02070bcc;color:var(--text);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;outline:none;transition:border-color .15s,box-shadow .15s}input::placeholder{color:#8cc8dc47;letter-spacing:.16em}input:focus{border-color:var(--cyan);box-shadow:0 0 0 1px #2ee6ff40,0 0 24px #2ee6ff14}.menu-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:8px;margin-bottom:8px}.menu-stage{animation:stage-in .16s ease-out}@keyframes stage-in{0%{opacity:0;transform:translateY(4px)}}.stage-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.stage-head .field-label{margin:0;color:var(--text)}.stage-note{margin-left:auto;color:#78bed27a;font-size:7px;letter-spacing:.18em;white-space:nowrap}.back-btn{padding:4px 8px;border:1px solid rgba(89,208,232,.24);border-radius:2px;background:transparent;color:var(--dim);font-family:inherit;font-size:8px;font-weight:700;letter-spacing:.16em;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.back-btn:hover,.back-btn.nav-focus{border-color:var(--cyan);background:#2c80962e;color:var(--text)}.mode-cards{display:grid;gap:8px}.mode-card{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"tag title" "desc desc";gap:4px 10px;padding:14px 14px 13px;border:1px solid rgba(89,208,232,.3);border-radius:2px;background:linear-gradient(115deg,#0a222ec7,#050d1499);color:#d8f8ff;font-family:inherit;text-align:left;cursor:pointer;overflow:hidden;transition:border-color .15s,background .15s,box-shadow .15s,transform .06s}.mode-card:after{content:"";position:absolute;top:0;bottom:0;left:-40%;width:30%;background:linear-gradient(90deg,transparent,rgba(46,230,255,.09),transparent);transform:skew(-18deg);transition:left .35s ease-out}.mode-card:hover:after,.mode-card.nav-focus:after{left:120%}.mode-card:hover,.mode-card.nav-focus{border-color:var(--cyan);background:linear-gradient(115deg,#103846e6,#06121bb3);box-shadow:0 0 0 1px #2ee6ff2e,0 0 28px #2ee6ff1a}.mode-card:active{transform:translateY(1px)}.mode-tag{grid-area:tag;align-self:center;padding:2px 5px;border:1px solid rgba(46,230,255,.4);color:var(--cyan);font-size:7px;letter-spacing:.2em}.mode-tag-next{border-color:#ff54d866;color:var(--threat-virus, #ff54d8)}.mode-card strong{grid-area:title;font-size:14px;letter-spacing:.16em}.mode-desc{grid-area:desc;color:#aad6e29e;font-size:9px;line-height:1.5;letter-spacing:.04em}.mode-go{position:absolute;right:12px;bottom:10px;color:var(--cyan-dim);font-size:8px;letter-spacing:.18em;opacity:0;transform:translate(-4px);transition:opacity .15s,transform .15s}.mode-card:hover .mode-go,.mode-card.nav-focus .mode-go{opacity:1;transform:none}.roadmap-card{margin-top:12px;padding:12px;border:1px dashed rgba(255,84,216,.26);background:#14041257}.roadmap-card strong{display:block;margin:7px 0 4px;color:#ffd7f5;font-size:10px;letter-spacing:.16em}.roadmap-card p{margin:0;color:#cea8ca99;font-size:8px;line-height:1.55;letter-spacing:.04em}.roadmap-card-tight{margin-top:10px}.solo-grid{margin-bottom:2px}.btn-sub{font-size:7px;font-weight:500;letter-spacing:.06em;opacity:.7;text-transform:none}.btn-gauntlet .btn-sub{color:#ffd9ddb8}.multi-actions{display:grid;gap:2px}.mode-brief{display:grid;gap:5px}.mode-brief>div{display:flex;justify-content:space-between;gap:10px;font-size:7px;letter-spacing:.14em;color:var(--dim)}.mode-brief b{color:#c8eef8c7;font-weight:700;letter-spacing:.08em}.btn{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:clamp(50px,4vw,58px);padding:12px clamp(18px,1.4vw,24px);border:1px solid rgba(89,208,232,.32);border-radius:2px;background:#0c202c8c;color:#c9f2ff;font-size:clamp(14px,1.1vw,21px);font-weight:700;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:border-color .15s,background .15s,color .15s,transform .06s}.btn:hover:not(:disabled),.btn.nav-focus{border-color:var(--cyan);background:#2c80963d;color:#f2feff;box-shadow:0 0 0 1px #2ee6ff2e,0 0 26px #2ee6ff14}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.32;cursor:not-allowed}.btn-primary{border-color:var(--cyan);background:var(--cyan);color:#031016}.btn-primary:hover:not(:disabled),.btn-primary.nav-focus{background:#8af2ff;color:#031016;box-shadow:0 0 34px #2ee6ff59}.btn-primary .btn-tag{color:#031016a6}.btn-tag{font-size:clamp(11px,.8vw,14px);letter-spacing:.2em;opacity:.8}.btn-ghost{min-height:clamp(44px,3.4vw,50px);padding:10px 16px;background:transparent;border-color:#59d0e838;color:var(--dim);font-size:clamp(13px,1.05vw,20px)}.btn-ghost:hover:not(:disabled){color:var(--text)}.join-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:8px}.code-input{letter-spacing:.42em;padding-left:16px;font-size:15px}.status{margin:12px 0 0;min-height:18px;font-size:clamp(13px,.95vw,18px);letter-spacing:.12em;color:var(--cyan-dim);text-transform:uppercase}.status.error{color:var(--orange)}.panel-rule{height:1px;margin:16px 0;background:#46b4d224}.select-block{margin-top:14px}.select-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:8px;letter-spacing:.22em;color:var(--dim)}.select-head b{max-width:62%;overflow:hidden;color:var(--text);font-size:8px;font-weight:700;letter-spacing:.12em;text-overflow:ellipsis;white-space:nowrap}.arena-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.arena-tagline{margin:6px 0 0;color:var(--dim);font-size:8px;letter-spacing:.1em;text-transform:uppercase}.arena-card{display:flex;flex-direction:column;gap:4px;min-width:0;padding:4px;border:1px solid rgba(78,200,226,.18);border-radius:2px;background:#03090f99;color:var(--dim);font-family:inherit;font-size:7px;letter-spacing:.08em;text-align:left;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.arena-card canvas{display:block;width:100%;aspect-ratio:2 / 1;border:1px solid rgba(70,180,210,.12);background:#04080e}.arena-card span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.arena-card:hover,.arena-card.nav-focus{border-color:var(--cyan-dim);color:var(--text)}.arena-card.selected{border-color:var(--cyan);background:#1036448c;color:var(--text);box-shadow:0 0 18px #2ee6ff14}.arena-card.selected canvas{border-color:#2ee6ff73}.seg-rows{display:grid;gap:6px;margin-bottom:8px}.seg-row{display:flex;gap:4px}.seg-btn{flex:1;min-height:25px;padding:4px 2px;border:1px solid rgba(78,200,226,.18);border-radius:2px;background:#03090f99;color:var(--dim);font-family:inherit;font-size:7px;font-weight:700;letter-spacing:.1em;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.seg-btn:hover,.seg-btn.nav-focus{border-color:var(--cyan-dim);color:var(--text)}.seg-btn.selected{border-color:var(--cyan);background:#2ee6ff24;color:var(--text)}.btn-bot{width:100%;min-height:38px;font-size:9px}.gauntlet-block{margin-top:18px;padding-top:14px;border-top:1px dashed rgba(255,84,216,.24)}.gauntlet-block .arena-tagline{color:#ff9bdc94}.btn-gauntlet{width:100%;min-height:40px;margin-top:10px;border-color:#ff3b3b6b;background:linear-gradient(100deg,#420812b8,#25071a9e);color:#ffd9dd}.btn-gauntlet:hover:not(:disabled),.btn-gauntlet.nav-focus{border-color:#ff4b5c;background:linear-gradient(100deg,#700c1abf,#420a2cad);color:#fff3f5;box-shadow:0 0 0 1px #ff3b3b38,0 0 30px #ff3b3b24}.controls-card{grid-area:controls;align-self:start;padding:10px 0 0 24px;border-left:1px solid rgba(70,180,210,.16)}.controls-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.controls-head h2{margin:0;font-size:clamp(16px,1.3vw,25px);letter-spacing:.18em;color:var(--text)}.controls-head span{font-size:clamp(13px,1vw,19px);letter-spacing:.1em;color:var(--dimmer)}.controls-grid{display:grid;gap:8px}.ctrl{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:10px;border-bottom:1px solid rgba(70,180,210,.09);font-size:clamp(14px,1.1vw,20px);letter-spacing:.04em}.ctrl span{color:var(--dim);letter-spacing:.16em}.ctrl b{color:var(--text);font-weight:600;white-space:nowrap}.controls-note{margin:14px 0 0;font-size:clamp(13px,.95vw,18px);line-height:1.5;letter-spacing:.02em;color:#afdae699}.setting-row{display:flex;align-items:center;gap:9px;margin-top:15px;padding-top:10px;border-top:1px solid rgba(70,180,210,.12);font-size:8px;letter-spacing:.14em;color:var(--dim)}.setting-row input[type=range]{flex:1;min-width:0;accent-color:var(--cyan);cursor:pointer}.setting-row b{min-width:34px;text-align:right;color:var(--text);font-weight:600;letter-spacing:.04em}.foot{grid-area:foot;display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:16px;border-top:1px solid rgba(70,180,210,.12);font-size:9px;letter-spacing:.18em;color:var(--dimmer)}.link-btn{border:0;background:none;padding:0;font-size:9px;letter-spacing:.18em;color:var(--dim);cursor:pointer}.link-btn:hover{color:var(--cyan)}.lobby-inner{width:min(1120px,calc(100% - 64px));padding:clamp(24px,3.4vh,44px) 0 clamp(32px,5vh,64px)}.lobby-header{display:flex;align-items:center;gap:22px;padding-bottom:20px;border-bottom:1px solid rgba(70,180,210,.14);margin-bottom:28px}.lobby-header .eyebrow{margin:0;flex:1}.lobby-role{font-size:clamp(12px,.9vw,16px);letter-spacing:.18em;color:var(--lime);border:1px solid rgba(184,255,58,.3);padding:8px 12px}.lobby-grid{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:22px;align-items:start}.room-panel{display:flex;flex-direction:column;gap:18px}.room-panel .eyebrow{margin:0}.room-code{font-size:clamp(44px,6vw,64px);font-weight:800;letter-spacing:.16em;line-height:1;color:var(--cyan);text-shadow:0 0 34px rgba(46,230,255,.35)}.invite-url{margin:0;font-size:clamp(13px,.95vw,18px);line-height:1.5;color:#a0d0dc80;word-break:break-all;letter-spacing:.03em;min-height:30px}.room-rule{height:1px;background:#46b4d224}.hint{margin:0;font-size:clamp(13px,.95vw,18px);line-height:1.6;color:var(--dim);letter-spacing:.03em}.room-stats{display:flex;gap:18px;font-size:clamp(13px,.95vw,18px);letter-spacing:.12em;color:#a0d0dc7a}.room-stats b{color:var(--text);font-weight:700}.players-panel{min-height:420px;display:flex;flex-direction:column}.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid rgba(70,180,210,.14)}.panel-head h2{margin:0;font-size:clamp(16px,1.25vw,23px);letter-spacing:.16em}.count{font-size:clamp(13px,1vw,18px);letter-spacing:.14em;color:var(--dim)}.player-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px;flex:1}.player-row{--player-color: var(--cyan);display:flex;align-items:center;gap:14px;padding:10px 14px;border:1px solid rgba(78,200,226,.12);background:#03090f8c;animation:row-in .2s ease-out}.player-row.is-you{border-color:color-mix(in srgb,var(--player-color) 55%,transparent);background:#0a1a24a6}@keyframes row-in{0%{opacity:0;transform:translate(-4px)}}.player-avatar{width:48px;height:48px;flex:0 0 48px}.player-avatar canvas{display:block;width:48px;height:48px}.player-meta{flex:1;min-width:0}.player-name{font-size:clamp(15px,1.15vw,22px);font-weight:700;letter-spacing:.1em;color:var(--player-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-sub{margin-top:4px;font-size:clamp(12px,.9vw,17px);letter-spacing:.1em;color:#a5d4e075}.player-state{font-size:clamp(12px,.9vw,17px);letter-spacing:.12em;color:#a5d4e075;border:1px solid rgba(120,180,200,.16);padding:5px 8px;white-space:nowrap}.player-state.ready{color:var(--lime);border-color:#b8ff3a52}.player-state.host{color:var(--cyan);border-color:#2ee6ff52}.lobby-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid rgba(70,180,210,.14);align-items:center}.lobby-actions .status{flex-basis:100%;margin:2px 0 0}.game-ui{position:fixed;inset:0;z-index:20;pointer-events:none}.mp-status{position:absolute;top:16px;right:16px;min-width:196px;padding:10px 12px 9px;border:1px solid rgba(78,200,226,.26);border-right:2px solid var(--cyan);background:#030a10d1;color:var(--text);font-family:var(--mono);font-size:10px;letter-spacing:.08em;pointer-events:none}.mp-status-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:7px;border-bottom:1px solid rgba(78,200,226,.16);color:#afdce894;font-size:9px}.mp-status-head b{color:var(--cyan);font-weight:700;text-align:right}.mp-status-grid{display:grid;grid-template-columns:auto auto;gap:3px 18px;padding-top:7px}.mp-status-grid span{color:#a0dceb80}.mp-status-grid b{color:var(--lime);font-weight:700;text-align:right}.mp-status-detail{margin:7px 0 0;padding-top:6px;border-top:1px solid rgba(78,200,226,.12);color:#a0dceb66;font-size:8px}@media (pointer: coarse){.mp-status{top:62px;right:12px;min-width:172px;padding:8px 10px;font-size:9px}}.icon-btn{position:absolute;right:14px;bottom:14px;pointer-events:auto;min-height:30px;padding:6px 10px;border:1px solid rgba(120,180,200,.22);background:#03090fa6;color:var(--dim);font-size:8px;letter-spacing:.18em;cursor:pointer}.icon-btn:hover,.icon-btn.nav-focus{color:var(--text);border-color:var(--cyan-dim)}.net-badge{position:absolute;left:14px;bottom:14px;padding:6px 9px;border-left:2px solid var(--cyan-dim);background:#03090f99;color:var(--dim);font-size:8px;letter-spacing:.18em}.countdown{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;pointer-events:none;text-align:center}.countdown span{font-size:9px;letter-spacing:.4em;color:var(--cyan-dim)}.countdown strong{font-size:clamp(64px,11vw,120px);line-height:.9;font-weight:800;color:#eafcff;text-shadow:0 0 32px rgba(46,230,255,.5),0 0 90px rgba(46,230,255,.2);animation:tick .28s ease-out}@keyframes tick{0%{opacity:.2;transform:scale(1.25)}}.overlay{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at center,#06121b59,#020509db 75%);backdrop-filter:blur(5px);animation:overlay-in .2s ease-out}@keyframes overlay-in{0%{opacity:0}}.overlay-card{width:min(760px,100%);padding:clamp(28px,3vw,44px);border:1px solid rgba(78,200,226,.3);background:linear-gradient(160deg,#081620f5,#03080dfa);position:relative;box-shadow:0 30px 100px #00000080;animation:card-in .24s cubic-bezier(.2,.9,.3,1)}.overlay-card:before,.overlay-card:after{content:"";position:absolute;width:18px;height:18px;border-color:var(--cyan);border-style:solid}.overlay-card:before{top:-1px;left:-1px;border-width:2px 0 0 2px}.overlay-card:after{right:-1px;bottom:-1px;border-width:0 2px 2px 0}@keyframes card-in{0%{opacity:0;transform:translateY(10px) scale(.985)}}.overlay-card h2{margin:0;font-size:clamp(30px,4.4vw,52px);line-height:.95;letter-spacing:-.02em;font-weight:800;color:#eafcff;text-shadow:0 0 32px rgba(46,230,255,.18)}.overlay-sub{margin:18px 0 0;font-size:clamp(14px,1.1vw,21px);line-height:1.55;letter-spacing:.08em;color:#afdce8b8;text-transform:uppercase}.overlay-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;padding-top:24px;border-top:1px solid rgba(70,180,210,.14)}.overlay-actions .btn{flex:1;min-width:170px}.perf{position:fixed;left:12px;top:12px;z-index:50;padding:8px 10px;border-left:2px solid var(--lime);background:#03090fc7;color:var(--lime);font-size:9px;line-height:1.7;letter-spacing:.08em;white-space:pre;pointer-events:none}.toasts{position:fixed;left:50%;bottom:64px;transform:translate(-50%);z-index:60;display:flex;flex-direction:column;gap:6px;align-items:center;pointer-events:none;width:min(520px,calc(100% - 32px))}.toast{padding:11px 16px;border-left:2px solid var(--cyan);background:#030a10eb;color:var(--text);font-size:clamp(13px,.95vw,18px);letter-spacing:.08em;text-transform:uppercase;animation:toast-in .2s ease-out;box-shadow:0 8px 30px #00000059}.toast.warn{border-left-color:var(--orange)}.toast.error{border-left-color:var(--pink)}.toast.out{opacity:0;transition:opacity .25s}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}}body.playing .scanlines{display:none}.scanlines{position:fixed;inset:0;z-index:70;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.024) 0,rgba(255,255,255,.024) 1px,transparent 1px,transparent 3px);opacity:.5}.vignette{position:fixed;inset:0;z-index:5;pointer-events:none;background:radial-gradient(ellipse at center,transparent 45%,rgba(0,0,0,.55) 100%)}@media (max-width: 900px){.title-inner{grid-template-columns:1fr;grid-template-areas:"brand" "menu" "controls" "foot";gap:26px;padding:34px 0}.brand{padding-right:0}.brand-mark{display:none}.controls-card{padding-left:0;border-left:0}.controls-grid{grid-template-columns:1fr 1fr;gap:8px 18px}.lobby-grid{grid-template-columns:1fr}.room-panel{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px}.room-panel .eyebrow,.room-code,.room-rule,.hint,.room-stats,.invite-url,.room-panel .btn{grid-column:1 / -1}}@media (max-width: 560px){.screen-inner{width:calc(100% - 28px)}h1{font-size:clamp(46px,15vw,68px)}.tagline{font-size:9px;letter-spacing:.17em}.panel{padding:16px}.menu-grid{grid-template-columns:1fr}.arena-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.controls-grid{grid-template-columns:1fr}.foot{flex-direction:column;align-items:flex-start;gap:10px}.lobby-header{flex-wrap:wrap}.overlay-card{padding:24px 20px 20px}}@media (max-height: 700px) and (min-width: 900px){.title-inner{padding:20px 0;gap:18px 48px}h1{font-size:clamp(54px,7vw,86px)}.brand-mark{width:110px;height:110px}.tagline{margin-top:12px}}@media (prefers-reduced-motion: reduce){.brand-mark,.caret{animation:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen-title{background:radial-gradient(ellipse 62% 55% at 50% 32%,rgba(18,110,128,.22),transparent 72%),radial-gradient(ellipse 80% 80% at 50% 50%,#061318,#03070b 58%,#010305)}.screen-title:before{background-image:linear-gradient(rgba(70,220,235,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(70,220,235,.09) 1px,transparent 1px);background-size:32px 32px;mask-image:radial-gradient(ellipse 72% 62% at 50% 44%,black 12%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 72% 62% at 50% 44%,black 12%,transparent 80%);opacity:.55}.screen-title:after{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent 0%,rgba(46,230,255,.035) 50%,transparent 100%);animation:crt-roll 7s linear infinite}@keyframes crt-roll{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}.console-brand{padding-right:0}.console-brand:after{width:100%;height:1px;background:repeating-linear-gradient(90deg,rgba(46,230,255,.55) 0 8px,transparent 8px 14px);box-shadow:none}.console-line{margin:0 0 4px;color:var(--cyan);font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-shadow:0 0 12px rgba(46,230,255,.35)}.console-dim{color:#78d6e67a;font-size:8px}.console-ok{color:#9dffd0;text-shadow:0 0 10px rgba(120,255,190,.35)}.console-title{display:flex;align-items:flex-end;gap:8px;margin:14px 0 0;color:#8df7ff;font-size:0;line-height:.82;letter-spacing:0}.ascii-logo{margin:0;color:#8df7ff;font-family:var(--mono);font-size:clamp(5.2px,1.35vw,13px);line-height:1.06;letter-spacing:0;white-space:pre;text-shadow:0 0 8px rgba(46,230,255,.6),0 0 28px rgba(46,230,255,.25)}.console-title .caret{margin-bottom:.08em;color:#b9fbff;font-size:clamp(26px,3vw,48px);line-height:1;text-shadow:0 0 16px rgba(46,230,255,.65);animation:blink 1.05s steps(2,start) infinite}.console-brand .tagline{margin-top:14px;color:#78e0ee9e;font-size:9px;letter-spacing:.18em}.console-brand .tagline .console-ok{font-size:8px}.menu-panel{border-radius:0;background:repeating-linear-gradient(0deg,rgba(46,230,255,.022) 0 1px,transparent 1px 4px),linear-gradient(180deg,#030e12f5,#02070bf7);box-shadow:inset 0 0 42px #2ee6ff0e,0 0 0 1px #2ee6ff0f,0 18px 50px #00000059}.panel:before{width:18px;height:18px;border-color:#78f8ffb3}.panel:after{width:18px;height:18px;border-color:#78f8ffb3}.field-label{color:#78ebf5b3;text-shadow:0 0 8px rgba(46,230,255,.16)}.field-label:before{content:"> ";color:var(--cyan)}input{border-radius:0;border-color:#2ee6ff52;background:#01080ae6;color:#bdfbff;font-family:var(--ui);box-shadow:inset 0 0 16px #2ee6ff08}input:focus{border-color:#7df8ff;box-shadow:inset 0 0 18px #2ee6ff14,0 0 0 1px #2ee6ff33}.stage-head{padding-bottom:7px;border-bottom:1px dashed rgba(46,230,255,.2)}.stage-head .field-label{color:#8df7ff;letter-spacing:.22em}.stage-head .field-label:before{content:""}.stage-note{color:#78cddc6b;font-size:7px}.back-btn{border-radius:0;border-color:transparent;color:#78ebf58c}.back-btn:before{content:"[";margin-right:4px;color:#2ee6ff59}.back-btn:after{content:"]";margin-left:4px;color:#2ee6ff59}.btn{border-radius:0;border-color:#2ee6ff42;background:#04121685;color:#9cefff;font-family:var(--ui);font-size:clamp(14px,1.1vw,21px);letter-spacing:.12em;text-shadow:0 0 10px rgba(46,230,255,.25)}.btn:before{content:"[";position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#2ee6ff66;font-size:1em}.btn:after{content:"]";position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#2ee6ff66;font-size:1em}.btn:hover:not(:disabled),.btn.nav-focus{border-color:#6ff5ff;background:#2ee6ff1a;color:#e8ffff;box-shadow:inset 0 0 24px #2ee6ff14,0 0 22px #2ee6ff1f}.btn.nav-focus,.settings-tab.nav-focus{outline:2px solid rgba(125,248,255,.92);outline-offset:2px}.btn-primary{border-color:#7df8ffb3;background:#2ee6ff14;color:#c9fdff}.btn-primary:hover:not(:disabled),.btn-primary.nav-focus{background:#2ee6ff2e;color:#fff;box-shadow:inset 0 0 28px #2ee6ff1f,0 0 28px #2ee6ff2e}.btn-primary .btn-tag{color:#92eefaa3}.btn-tag{color:#78e6f28c;font-size:clamp(11px,.8vw,14px)}.btn-sub{color:#8fd6e18c}.btn-gauntlet{background:#23040c66;border-color:#ff5b6873;color:#ffc9ce}.btn-gauntlet:hover:not(:disabled),.btn-gauntlet.nav-focus{background:#ff3b4d1f;border-color:#ff7181;color:#fff2f3;box-shadow:0 0 26px #ff3b4d26}.mode-card{display:block;position:relative;padding:12px 14px 12px 26px;border:1px solid rgba(46,230,255,.14);border-left:2px solid rgba(46,230,255,.44);border-radius:0;background:#030e1266;color:#9cefff;font-family:var(--ui)}.mode-card:before{content:">";position:absolute;left:9px;top:11px;color:var(--cyan);font-size:11px;text-shadow:0 0 10px rgba(46,230,255,.5)}.mode-card:after{display:none}.mode-card strong{font-size:12px;letter-spacing:.2em}.mode-card strong:before{content:"[ ";color:#2ee6ff66}.mode-card strong:after{content:" ]";color:#2ee6ff66}.mode-card:hover,.mode-card.nav-focus{border-color:#2ee6ff99;border-left-color:#8df7ff;background:#2ee6ff14;color:#e7feff;box-shadow:inset 0 0 26px #2ee6ff0d,0 0 22px #2ee6ff14}.mode-tag{border:0;padding:0;color:#7deefa8c;font-size:7px}.mode-desc{color:#8acdd88a;font-size:8px}.mode-go{display:none}.roadmap-card{border-radius:0;border-color:#2ee6ff29;background:#02090c80}.roadmap-card:before{content:"// ";color:#2ee6ff66}.roadmap-card strong{display:inline;color:#88f2ff;font-size:9px}.roadmap-card p{margin-top:5px;color:#8ecad680}.mode-tag-next{color:#ffa971b3}.arena-card,.seg-btn{border-radius:0;font-family:var(--ui)}.arena-card,.seg-btn{background:#02090cb3}.seg-btn.selected,.arena-card.selected{border-color:#7df8ff;background:#2ee6ff1a;box-shadow:inset 0 0 16px #2ee6ff0f}.controls-card{border-left-style:dashed;border-left-color:#2ee6ff2e}.controls-head h2:before{content:"> ";color:var(--cyan)}.controls-head span{color:#78dceb6b}.ctrl{border-bottom:1px dotted rgba(46,230,255,.12)}.ctrl span{color:#84dceb8c}.ctrl b{color:#b7f8ff;text-shadow:0 0 8px rgba(46,230,255,.18)}.controls-note{color:#82c8d67a}.controls-note:before{content:"// ";color:#2ee6ff73}.setting-row span:before{content:"> ";color:var(--cyan)}.link-btn{font-family:var(--ui)}.boot-screen{position:fixed;inset:0;z-index:90;display:grid;place-items:end start;padding:28px;pointer-events:none;background:none;opacity:0;transition:opacity .4s ease}.boot-screen.active{opacity:1}.boot-screen.leaving{opacity:0}.boot-inner{width:min(390px,calc(100vw - 48px));padding:14px 16px;border-left:1px solid rgba(46,230,255,.4);background:linear-gradient(90deg,#01080acc,#01080a00);color:#9cefff;font-family:var(--mono);text-shadow:0 0 10px rgba(46,230,255,.24)}.boot-kicker{margin:0 0 12px;color:#8df7ff;font-size:9px;letter-spacing:.22em;text-shadow:0 0 12px rgba(46,230,255,.4)}.boot-log{margin:0 0 16px;color:#92e7f2b8;font-family:var(--mono);font-size:9px;line-height:1.9;white-space:pre-wrap}.boot-status{margin:10px 0 0;color:#7debf88c;font-size:8px;letter-spacing:.2em}.title-inner{grid-template-columns:minmax(0,860px);grid-template-areas:"brand" "menu" "foot";justify-content:center;gap:24px}.menu-panel{width:100%}.settings-inner{width:min(1400px,calc(100% - 96px));min-height:100vh;padding:clamp(22px,3.4vh,44px) 0 clamp(32px,5vh,64px)}.settings-header{display:flex;align-items:center;gap:22px;padding-bottom:20px;border-bottom:1px dashed rgba(46,230,255,.24)}.settings-header .eyebrow{margin:0}.settings-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:28px;margin-top:22px}.settings-panel{position:relative}.settings-panel h2:before{content:"> ";color:var(--cyan)}.settings-panel .controls-grid{margin-top:16px}.settings-panel .control-row,.setting-row{border-bottom:1px dotted rgba(46,230,255,.14)}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:clamp(52px,4.4vw,64px);font-size:clamp(15px,1.15vw,21px);letter-spacing:.07em;color:var(--dim)}.setting-row b{color:#bdfbff;font-size:clamp(15px,1.15vw,21px);letter-spacing:.04em}.setting-row input[type=range]{flex:1;height:3px;accent-color:#2ee6ff}.setting-row-stack{display:grid;grid-template-columns:1fr auto;gap:8px 12px;padding:12px 0}.setting-row-stack input{grid-column:1 / 2}.setting-row-stack b{grid-column:2 / 3;grid-row:1 / 2}.settings-panel .btn-ghost{min-width:120px}@media (max-width: 760px){.settings-grid{grid-template-columns:1fr}.settings-header{align-items:flex-start;flex-direction:column;gap:8px}}.settings-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px;border-bottom:1px dashed rgba(46,230,255,.22)}.settings-tab{position:relative;padding:13px clamp(16px,1.5vw,24px) 14px;border:1px solid transparent;border-bottom:0;background:transparent;color:#87dbe89e;font-family:var(--ui);font-size:clamp(14px,1.1vw,21px);letter-spacing:.14em;cursor:pointer;transition:color .12s,background .12s,border-color .12s}.settings-tab:before{content:"[ ";color:#2ee6ff40}.settings-tab:after{content:" ]";color:#2ee6ff40}body.pointer-live .settings-tab:hover,.settings-tab.nav-focus{border-color:#2ee6ff59;color:#e7feff;background:#2ee6ff1f}.settings-tab.active{color:#bdfbff;border-color:#2ee6ff47;background:#04141ad9;box-shadow:inset 0 2px #2ee6ff8c}.settings-body{margin-top:24px}.settings-page{display:none}.settings-page.active{display:block;animation:settings-in .16s ease-out}@keyframes settings-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.settings-grid-wide{grid-template-columns:minmax(0,1fr);max-width:960px;margin-left:auto;margin-right:auto}.kit-list{display:grid;gap:10px;margin:14px 0 0;padding:0;list-style:none}.kit-list li{display:grid;grid-template-columns:190px 1fr;gap:18px;padding-bottom:9px;border-bottom:1px dotted rgba(46,230,255,.13)}.kit-list b{color:#8df7ff;font-size:clamp(13px,.92vw,17px);letter-spacing:.06em}.kit-list span{color:var(--dim);font-size:clamp(13px,.92vw,17px);line-height:1.4;letter-spacing:.02em}.preview-panel{align-self:start}.preview-panel .btn{margin-top:14px}body.no-scanlines .scanlines{display:none}@media (max-width: 760px){.settings-grid-wide{max-width:none}}.title-inner.console-body{display:flex;flex-direction:column;justify-content:center;justify-content:safe center;width:min(1040px,calc(100% - 80px));min-height:100vh;padding:clamp(24px,4vh,56px) 0;gap:clamp(12px,1.6vh,22px)}.console-head{padding:0;border:0;box-shadow:none}.console-head .console-title{margin:0;gap:10px}.console-head .ascii-logo{font-size:clamp(7px,1.6vw,28px)}.screen-title.stage-open .console-head{display:none}.console-version{margin:12px 0 0 2px;color:#8df7ff94;font-family:var(--ui);font-size:clamp(10px,.75vw,13px);letter-spacing:.24em}.build-tag{display:inline-block;margin-left:8px;padding:1px 6px;border:1px solid rgba(184,255,58,.6);color:#b8ff3a;font-size:.82em;letter-spacing:.18em}.console-shell{border-top:1px solid rgba(46,230,255,.24);padding-top:12px}.console-menu{display:flex;flex-direction:column;gap:3px;margin-top:16px}.console-menu[hidden]{display:none}.console-option{position:relative;display:flex;align-items:center;gap:16px;width:100%;min-height:clamp(56px,4.6vw,72px);margin:0;padding:clamp(12px,1vw,16px) clamp(14px,1.2vw,20px);border:0;border-left:2px solid transparent;border-radius:0;background:transparent;color:#b2eef8d1;font-family:var(--ui);font-size:clamp(21px,1.65vw,32px);letter-spacing:.12em;line-height:1.25;text-align:left;cursor:pointer;transition:background .1s,color .1s,border-color .1s}.console-option:before{content:" ";flex:0 0 1ch;color:var(--cyan);text-shadow:0 0 10px rgba(46,230,255,.55)}body.pointer-live .console-option:hover{border-left-color:#2ee6ff4d;background:#2ee6ff0f;color:#ecfefff0}.console-option:focus,.console-option.nav-focus{border-left-color:var(--cyan);background:#2ee6ff29;color:#f2ffff;outline:none;text-shadow:0 0 14px rgba(46,230,255,.28);box-shadow:inset 0 0 0 1px #2ee6ff42}.console-option:focus:before,.console-option.nav-focus:before{content:">"}.console-option:disabled{color:#78aab442;cursor:default}.option-key{flex:0 0 4.5ch;color:#7de2f194;font-size:clamp(13px,.88vw,17px);letter-spacing:.12em;white-space:nowrap}.option-key-wide{flex-basis:8.5ch}.option-label{flex:1 1 auto}.option-value{flex:0 0 auto;color:#7de2f18f;font-size:clamp(13px,.88vw,17px);letter-spacing:.12em}.console-back{min-height:clamp(44px,3.4vw,54px);padding-block:8px;color:#96d8e49e;font-size:clamp(16px,1.1vw,21px)}.story-slot-row{display:flex;align-items:stretch;gap:3px}.story-slot-main{flex:1 1 auto;min-width:0}.story-slot-clear{flex:0 0 auto;width:clamp(82px,6.2vw,112px);min-height:clamp(56px,4.6vw,72px);justify-content:center;padding-inline:clamp(8px,.8vw,14px);border-left-color:#ff5b6838;color:#ffc9ceb8;font-size:clamp(14px,1vw,19px);letter-spacing:.1em}.story-slot-clear:focus,.story-slot-clear.nav-focus,body.pointer-live .story-slot-clear:hover{border-left-color:#ff7181;background:#ff3b4d24;color:#fff2f3;box-shadow:inset 0 0 0 1px #ff5b6847,0 0 22px #ff3b4d1f}@media (max-width: 560px){.story-slot-clear{width:72px;font-size:13px;letter-spacing:.06em}.story-slot-main .option-value{display:none}}.console-stage-label{margin:clamp(16px,1.8vh,24px) 10px 8px;color:#9bf8ffc7;font-family:var(--ui);font-size:clamp(13px,1.05vw,21px);letter-spacing:.16em}.console-group{margin-top:18px;padding-top:12px;border-top:1px dotted rgba(46,230,255,.15)}.console-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 10px 6px;color:#8cdcea9e;font-family:var(--ui);font-size:clamp(13px,.95vw,18px);letter-spacing:.14em}.console-group-head b{color:#bdfbff;font-weight:400;letter-spacing:.12em}.console-group-head span{color:#ffa971b3;font-size:7px}.console-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 14px}.console-choices-stack{grid-template-columns:minmax(0,620px)}.console-arena-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:8px 0 12px}.local-seats{display:grid;gap:6px;margin:6px 0 10px}.local-seat{display:flex;align-items:center;gap:14px;padding:8px 12px;border:1px solid rgba(46,230,255,.12);background:#02090c8c;font-family:var(--ui);font-size:16px;letter-spacing:.04em;color:#8cd3deb8}.local-seat-key{min-width:34px;color:#78f8ff9e}.local-seat-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.local-seat b{font-weight:600;color:#ffc887d1}.local-seat.ready b{color:#7df8ff}.tutorial{position:fixed;left:50%;bottom:28px;z-index:24;width:min(760px,calc(100vw - 40px));transform:translate(-50%);padding:14px 18px 12px;border:1px solid rgba(46,230,255,.28);background:#030a10eb;box-shadow:0 0 0 1px #000000b3,0 18px 44px #0000008c;font-family:var(--ui);color:#d7f6ff}.tutorial-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.tutorial-mark{font-size:22px;line-height:1}.tutorial-speaker{flex:1;font-size:15px;letter-spacing:.14em;color:#7df8ff}.tutorial-step{font-family:var(--mono);font-size:12px;color:#8cd3de99}.tutorial-line{margin:0;font-size:20px;line-height:1.35;letter-spacing:.02em}.tutorial-prompt{margin:9px 0 0;font-size:14px;letter-spacing:.08em;color:#ffc887e6}.tutorial-skip{margin-top:10px;padding:5px 10px;border:1px solid rgba(46,230,255,.2);background:#2ee6ff0d;color:#a0dcebb3;font-family:var(--ui);font-size:12px;letter-spacing:.1em;cursor:pointer}.tutorial-skip:hover,.tutorial-skip:focus-visible{border-color:#78f8ff8c;color:#e7feff;outline:none}.campaign-road{position:fixed;inset:0;z-index:26;display:grid;place-items:center;padding:24px;background:#010509c7;backdrop-filter:blur(3px);font-family:var(--ui)}.campaign-road[hidden]{display:none}.campaign-road-card{width:min(980px,calc(100vw - 32px));padding:20px 22px 18px;border:1px solid rgba(46,230,255,.34);background:#030a10f5;box-shadow:0 0 0 1px #000000bf,0 26px 70px #000000b3}.campaign-road-kicker{margin:0 0 4px;color:#7df8ff;font:600 12px/1.2 var(--mono);letter-spacing:.14em}.campaign-road-title{margin:0 0 8px;color:#e7feff;font-size:26px;font-weight:600;letter-spacing:.05em}.campaign-road-canvas{display:block;width:100%;height:auto;border:1px solid rgba(46,230,255,.14)}.campaign-road-next{margin:12px 0 0;color:#ffc887eb;font:600 14px/1.4 var(--ui);letter-spacing:.06em}.campaign-road-continue{margin-top:14px;padding:9px 16px;border:1px solid rgba(120,248,255,.55);background:#2ee6ff1a;color:#e7feff;font:600 14px/1 var(--ui);letter-spacing:.08em;cursor:pointer}.campaign-road-continue:hover,.campaign-road-continue:focus-visible{background:#2ee6ff33;outline:2px solid rgba(120,248,255,.6);outline-offset:2px}.console-arena-card{display:flex;flex-direction:column;gap:7px;min-width:0;padding:8px;border:1px solid rgba(46,230,255,.14);border-radius:0;background:#02090c8c;color:#8cd3de9e;font-family:var(--ui);text-align:left;cursor:pointer}.console-arena-card canvas{display:block;width:100%;aspect-ratio:2 / 1;height:auto;background:#04080e}.console-arena-label{display:block;padding:0 2px 3px;font-size:clamp(13px,.95vw,18px);letter-spacing:.1em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.pointer-live .console-arena-card:hover,.console-arena-card:focus,.console-arena-card.nav-focus{border-color:#78f8ff8c;background:#2ee6ff0f;color:#e7feff;outline:none}.console-arena-card.selected{border-color:#2ee6ff38;background:#02090c8c;color:#8cd3deb8}.console-arena-card.selected .console-arena-label:after{content:" •";color:#7df8ff}.console-arena-card.nav-focus,.console-program-card.nav-focus{box-shadow:0 0 0 2px #2ee6ff9e,0 0 18px #2ee6ff2e}.console-program-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:12px;margin:8px 0}.console-program-card{display:flex;flex-direction:column;gap:6px;min-width:0;padding:8px;border:1px solid rgba(46,230,255,.14);border-radius:0;background:#02090c8c;color:#8cd3de9e;font-family:var(--ui);text-align:left;cursor:pointer}.console-program-card canvas{display:block;width:100%;aspect-ratio:1 / 1;height:auto;background:#04080e}.console-program-name{display:block;padding:0 2px;font-size:clamp(13px,.9vw,17px);letter-spacing:.08em;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.console-program-role{display:block;padding:0 2px 2px;font-size:clamp(10px,.72vw,13px);letter-spacing:.1em;opacity:.72}body.pointer-live .console-program-card:hover,.console-program-card:focus,.console-program-card.nav-focus{border-color:#78f8ff8c;background:#2ee6ff0f;color:#e7feff;outline:none}.console-program-card.selected{border-color:#2ee6ff38;background:#02090c8c;color:#8cd3deb8}.console-program-card.selected .console-program-name:after{content:" •";color:#7df8ff}.console-program-line{margin-top:2px;color:#bdfbffb8;letter-spacing:.12em}.console-group-tight{margin-top:8px;padding-top:0;border-top:0}.console-choice{display:flex;align-items:center;gap:10px;min-width:0;min-height:54px;padding:10px 14px;border:0;border-left:2px solid transparent;border-radius:0;background:transparent;color:#96dbe6b8;font-family:var(--ui);font-size:clamp(18px,1.28vw,24px);letter-spacing:.12em;text-align:left;cursor:pointer;transition:background .1s,color .1s,border-color .1s}.console-choice:before{content:" ";flex:0 0 1ch;color:var(--cyan)}body.pointer-live .console-choice:hover{border-left-color:#2ee6ff4d;background:#2ee6ff12;color:#eaffff}.console-choice:focus,.console-choice.nav-focus{border-left-color:var(--cyan);background:#2ee6ff24;color:#f2ffff;outline:none;box-shadow:inset 0 0 0 1px #2ee6ff38}.console-choice:focus:before,.console-choice.nav-focus:before{content:">"}.console-choice.selected{color:#bdfbff}.console-choice.selected:after{content:"*";margin-left:auto;color:var(--cyan)}.console-note{margin:8px 10px 0;color:#9bd5e1a8;font-family:var(--ui);font-size:clamp(14px,1.05vw,20px);line-height:1.5;letter-spacing:.05em}.console-note-action{margin-top:10px;color:#c8fdffd1;letter-spacing:.1em}.console-records{display:flex;flex-direction:column;gap:1px;margin:4px 10px 0;padding:0;list-style:none;color:#a0e0eab8;font-family:var(--ui);font-size:clamp(13px,.95vw,18px);letter-spacing:.05em}.console-records li{display:grid;grid-template-columns:4ch minmax(7ch,1fr) 8ch 8ch minmax(6ch,1fr);gap:12px;align-items:baseline;padding:6px 0;border-bottom:1px dotted rgba(46,230,255,.1)}.console-records li:last-child{border-bottom:0}.console-record-head{color:#7de2f18f;font-size:clamp(12px,.85vw,16px);letter-spacing:.1em}.console-record-rank{color:#6ddced73}.console-record-name{overflow:hidden;color:#bdfbff;text-overflow:ellipsis;white-space:nowrap}.console-record-wave,.console-record-time{color:#bdfbffbd;white-space:nowrap}.console-record-arena{overflow:hidden;color:#76b9c670;text-align:right;text-overflow:ellipsis;white-space:nowrap}.console-record-empty{display:block!important;padding:6px 0;color:#76b9c670;letter-spacing:.1em}@media (max-width: 620px){.console-records li{grid-template-columns:3ch minmax(6ch,1fr) 6ch 6ch}.console-record-arena,.console-record-head span:last-child{display:none}}.console-form{display:flex;align-items:center;gap:14px;padding:8px 10px}.console-form .option-key{flex:0 0 4ch}.console-code{flex:1 1 auto;min-width:0;max-width:280px;height:46px;padding:6px 4px;border:0;border-bottom:2px solid rgba(46,230,255,.3);border-radius:0;background:transparent;color:#bdfbff;font-family:var(--mono);font-size:clamp(18px,1.4vw,26px);letter-spacing:.3em;box-shadow:none}.console-code:focus{border-color:#7df8ff;box-shadow:none}.console-join{flex:0 0 auto;width:auto;padding:4px 8px}.console-status-line{min-height:18px;margin:8px 10px 0;color:#ffc887d1;font-family:var(--ui);font-size:clamp(13px,.95vw,18px);letter-spacing:.06em}.console-sectors{margin:6px 10px 0 13ch}.console-sectors-menu{margin-top:4px}.console-sector-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:8px 10px}.console-sector-tab{flex:1 1 150px;min-width:0;padding:8px 10px;border:1px solid rgba(46,230,255,.12);border-radius:0;background:#02090c73;color:#96dbe6ad;font-family:var(--ui);font-size:clamp(13px,.95vw,18px);letter-spacing:.09em;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.console-sector-tab:before{content:" ";margin-right:4px;color:var(--cyan)}.console-sector-tab:hover,.console-sector-tab:focus,.console-sector-tab.nav-focus{border-color:#78f8ff7a;background:#2ee6ff0f;color:#e7feff;outline:none}.console-sector-tab:focus:before,.console-sector-tab.nav-focus:before{content:">"}.console-sector-tab.selected{border-color:#7df8ff42;background:#2ee6ff0d;color:#eaffff}.sector-sheet{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(300px,1fr);gap:18px;align-items:start;margin:0 8px}.sector-plate,.sector-brief{min-width:0}.console-sectors-menu .sector-meta{margin:2px 8px 6px}.sector-map{display:block;width:100%;height:auto;aspect-ratio:900 / 430;border:1px solid rgba(46,230,255,.18);background:#04080e}.sector-brief .console-note{margin:0 0 8px}@media (max-width: 980px){.sector-sheet{grid-template-columns:minmax(0,1fr);gap:10px}}.sector-meta{color:#ffc278b3}.console-route{margin-top:2px;color:#8df7ff94;letter-spacing:.08em}.sector-facts{display:grid;gap:6px;margin:2px 0 10px;padding-top:8px;border-top:1px dotted rgba(46,230,255,.15)}.sector-facts p{display:grid;grid-template-columns:9.5ch minmax(0,1fr);gap:10px;margin:0;font-family:var(--mono);font-size:clamp(14px,1vw,18px);line-height:1.4;letter-spacing:.04em}.sector-facts span{color:#6ddced75}.sector-facts b{color:#bdfbffbd;font-weight:400}@media (max-width: 620px){.console-sector-tab{flex-basis:120px;font-size:11px}.sector-facts p{grid-template-columns:1fr;gap:1px}}.settings-callsign{width:min(260px,100%);height:48px;padding:8px 10px;font-size:clamp(16px,1.15vw,21px);letter-spacing:.12em}.howto-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:22px}.howto-panel{padding:clamp(16px,1.5vw,24px)}.howto-span{grid-column:1 / -1}.howto-panel .ctrl,.howto-panel .ctrl b{font-size:clamp(15px,1.12vw,21px)}.howto-points{display:grid;gap:12px;margin:0;padding:0;list-style:none}.howto-points li{display:grid;gap:4px;padding-bottom:12px;border-bottom:1px dotted rgba(46,230,255,.12)}.howto-points li:last-child{border-bottom:0;padding-bottom:0}.howto-points b{color:#bdfbff;font-size:clamp(15px,1.15vw,21px);font-weight:500;letter-spacing:.14em}.howto-points span{color:#9bd5e1a8;font-size:clamp(14px,1.02vw,19px);line-height:1.5;letter-spacing:.03em}.howto-programs,.howto-clips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.howto-program{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;padding:14px 16px;border:1px solid rgba(46,230,255,.16);border-left:3px solid var(--program-color, var(--cyan));background:#0512188c}.howto-program-glyph{grid-row:1 / 3;align-self:center;color:var(--program-color, var(--cyan));font-size:clamp(20px,1.7vw,30px);line-height:1;white-space:pre;text-shadow:0 0 14px rgba(46,230,255,.25)}.howto-program b{color:#eaffff;font-size:clamp(16px,1.15vw,21px);font-weight:500;letter-spacing:.12em}.howto-program-role,.howto-program-note{color:#96d5e299;font-size:clamp(13px,.92vw,17px);letter-spacing:.05em;line-height:1.45}.howto-program-note{grid-column:1 / -1;margin-top:6px;color:#8cc8d680}.howto-clip{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;align-items:center;padding:16px;border:1px dashed rgba(46,230,255,.2);background:#040e1473}.howto-clip-play{grid-row:1 / 3;align-self:center;color:#2ee6ff7a;font-size:22px;line-height:1}.howto-clip b{color:#e8fdffe6;font-size:clamp(15px,1.1vw,20px);font-weight:500;letter-spacing:.12em}.howto-clip-state{color:#7ddcec73;font-size:clamp(12px,.85vw,15px);letter-spacing:.18em}@media (max-width: 900px){.howto-grid,.howto-programs,.howto-clips{grid-template-columns:1fr}}@media (max-height: 780px){.title-inner.console-body{padding-block:14px;gap:10px}.console-head .ascii-logo{font-size:clamp(7px,1.35vw,22px)}.console-option{min-height:50px;padding-block:9px}.howto-grid{margin-top:14px;gap:14px}.howto-panel{padding:14px 16px}.howto-panel .controls-grid{gap:4px}.howto-panel .ctrl{padding-bottom:6px}}@media (max-width: 620px){.title-inner.console-body{width:calc(100% - 32px)}.console-choices{grid-template-columns:1fr}.console-option{font-size:16px}.console-sector-tab{flex-basis:120px;font-size:11px}}body.demo{cursor:none}.demo-title{position:fixed;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(24px,8vh,90px) 6vw;text-align:center;pointer-events:none;user-select:none;opacity:0;background:radial-gradient(ellipse 52% 34% at 50% 50%,#02090da8,#02090d00 74%)}.demo-title.live{animation:demo-title-cycle 60s ease-in-out infinite}.demo-title-lockup{display:flex;align-items:flex-end;gap:8px}.demo-title .ascii-logo{margin:0;font-size:clamp(5px,2.4vw,18px);line-height:1.06;letter-spacing:0;text-shadow:0 0 12px rgba(46,230,255,.65),0 0 42px rgba(46,230,255,.28)}.demo-title .caret{margin-bottom:.08em;color:#b9fbff;font-family:var(--mono);font-size:clamp(24px,3vw,44px);line-height:1;text-shadow:0 0 16px rgba(46,230,255,.7);animation:blink 1.05s steps(2,start) infinite}@keyframes demo-title-cycle{0%{opacity:0;transform:translateY(7px)}3%,15%{opacity:1;transform:translateY(0)}21%,to{opacity:0;transform:translateY(-7px)}}.touch-controls{position:absolute;inset:0;z-index:25;pointer-events:none;touch-action:none;user-select:none;-webkit-user-select:none}.touch-stick{position:absolute;left:calc(18px + env(safe-area-inset-left,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));width:clamp(112px,20vw,148px);aspect-ratio:1;border-radius:50%;pointer-events:auto;touch-action:none;border:1px solid rgba(125,248,255,.42);background:radial-gradient(circle at 50% 50%,#2ee6ff1a,#030a107a 56%,#030a1033 74%);box-shadow:inset 0 0 0 1px #030a1099,0 0 24px #2ee6ff14}.touch-stick.active{border-color:#beffffd1;box-shadow:inset 0 0 0 1px #2ee6ff4d,0 0 30px #2ee6ff33}.touch-stick-ring{position:absolute;inset:14%;border-radius:50%;border:1px dashed rgba(125,248,255,.22)}.touch-stick-knob{position:absolute;left:50%;top:50%;width:46%;aspect-ratio:1;border-radius:50%;border:2px solid rgba(216,253,255,.82);background:radial-gradient(circle at 38% 32%,#3c92a6b8,#05141cf0);box-shadow:0 0 18px #2ee6ff33;transform:translate(calc(-50% + var(--tx, 0px)),calc(-50% + var(--ty, 0px)));transition:transform .12s ease-out}.touch-stick.active .touch-stick-knob{transition:none;border-color:#fff;box-shadow:0 0 24px #2ee6ff6b}.touch-actions{--touch-btn: clamp(58px, 15vw, 74px);position:absolute;right:calc(14px + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:repeat(2,var(--touch-btn));grid-template-rows:repeat(2,var(--touch-btn));gap:10px;pointer-events:auto}.touch-btn-skill{grid-column:2;grid-row:1}.touch-btn-shield{grid-column:1;grid-row:2}.touch-btn-dash{grid-column:2;grid-row:2}.touch-btn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:var(--touch-btn);height:var(--touch-btn);padding:0;border-radius:50%;border:2px solid rgba(125,248,255,.5);background:radial-gradient(circle at 36% 28%,#173e4ce6,#02090ef0);color:#d9fdff;font-family:var(--ui);line-height:1;pointer-events:auto;touch-action:none;cursor:pointer;-webkit-tap-highlight-color:transparent;box-shadow:inset 0 0 0 1px #030a1099,0 0 18px #2ee6ff14;transition:transform .08s ease-out,border-color .08s,background .08s}.touch-btn.active,.touch-btn:active{transform:scale(.93);border-color:#fff;background:radial-gradient(circle at 36% 28%,#2a768af0,#040f15f5);box-shadow:inset 0 0 0 1px #2ee6ff80,0 0 28px #2ee6ff52}.touch-btn-icon{font-family:var(--ui);font-size:clamp(18px,4.2vw,24px);font-weight:600;line-height:1}.touch-btn-label{font-size:clamp(8px,1.9vw,10px);letter-spacing:.12em;text-indent:.12em;color:#e6feffeb}.touch-btn-hint{font-size:clamp(6px,1.4vw,7px);letter-spacing:.06em;color:#91e2f07a;white-space:nowrap}.touch-btn-crescent{width:17px;height:17px;border:2.5px solid currentColor;border-top-color:transparent;border-right-color:transparent;border-radius:50%;transform:rotate(45deg)}.touch-btn-spark{color:#b8ff3a;text-shadow:0 0 12px rgba(184,255,58,.4)}.touch-btn-chevron{font-size:clamp(22px,5vw,28px);letter-spacing:-.16em;text-indent:-.16em}.touch-menu{position:absolute;top:calc(12px + env(safe-area-inset-top,0px));right:calc(14px + env(safe-area-inset-right,0px));width:44px;height:44px;border-radius:50%;border:1px solid rgba(125,248,255,.34);background:#030a10b8;color:#bef8ffc2;font-family:var(--mono);font-size:11px;letter-spacing:.08em;pointer-events:auto;touch-action:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.touch-menu:active{border-color:#fff;color:#fff;background:#123a48e6}.setting-note{margin:-2px 0 14px;color:#8ccedc8a;font-size:clamp(11px,.85vw,14px);line-height:1.5;letter-spacing:.1em}.setting-note-touch{margin-top:18px;padding-top:12px;border-top:1px dotted rgba(46,230,255,.14)}.howto-note{margin:14px 0 0;color:#8ccedc8c;font-size:clamp(11px,.85vw,14px);line-height:1.5;letter-spacing:.1em}.campaign-debug{position:fixed;right:14px;bottom:14px;z-index:95;width:min(310px,calc(100vw - 24px));max-height:46vh;overflow:auto;border:1px solid rgba(184,255,58,.55);background:#030b08e6;box-shadow:0 0 0 1px #000000b3,0 12px 30px #0006;color:#d9ffd6;font-family:var(--mono);font-size:10px;line-height:1.45;letter-spacing:.04em;pointer-events:auto}.campaign-debug-head{display:flex;align-items:center;gap:7px;padding:7px 9px;border-bottom:1px solid rgba(184,255,58,.2);color:#b8ff3a;text-transform:uppercase}.campaign-debug-dot{width:6px;height:6px;border-radius:50%;background:#b8ff3a;box-shadow:0 0 8px #b8ff3ae6}.campaign-debug-clock{margin-left:auto;color:#d9ffd69e;letter-spacing:.02em}.campaign-debug-state{padding:7px 9px 2px;color:#f1ffd9;font-size:11px;font-weight:700;letter-spacing:.08em}.campaign-debug-detail{padding:0 9px 8px;color:#d9ffd6ad;white-space:pre-line}.campaign-debug-actions{display:flex;gap:4px;padding:0 9px 9px}.campaign-debug-actions button{flex:1;min-width:0;padding:5px 4px;border:1px solid rgba(184,255,58,.32);background:#b8ff3a12;color:#d9ffd6;font:inherit;letter-spacing:.04em;cursor:pointer}.campaign-debug-actions button:hover,.campaign-debug-actions button:focus-visible{border-color:#b8ff3ae6;background:#b8ff3a29;outline:none}.campaign-debug.campaign-debug-collapsed .campaign-debug-detail,.campaign-debug.campaign-debug-collapsed .campaign-debug-actions{display:none}@media (max-width: 700px){.campaign-debug{right:8px;bottom:8px}}
