.gate[data-v-4eb1f847]{position:relative;height:100svh;min-height:420px;overflow:hidden;background:#0b0e0c}.gate-scene[data-v-4eb1f847]{position:absolute;inset:0;width:100%;height:100%;display:block}.gate[data-v-4eb1f847]:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,11,9,.9),rgba(8,11,9,.55) 38%,transparent 62%);pointer-events:none}.gate-card[data-v-4eb1f847]{position:absolute;z-index:1;left:clamp(16px,7vw,96px);top:50%;transform:translateY(-50%);width:max-content;max-width:calc(100% - 32px)}.gate-brand[data-v-4eb1f847]{display:flex;align-items:flex-end;gap:18px}.gate-mark[data-v-4eb1f847]{width:120px;height:120px;flex-shrink:0;margin-left:-4px}.gate-name[data-v-4eb1f847]{position:relative;padding-top:10px}.gate-title[data-v-4eb1f847]{margin:0;font:600 44px/.95 var(--font-display);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.gate-title span[data-v-4eb1f847]{color:var(--accent)}.gate-tab[data-v-4eb1f847]{position:absolute;z-index:1;top:0;right:-12px;padding:5px 9px 4px;border-radius:3px 3px 3px 0;background:var(--accent-fill);color:var(--on-accent);font:600 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;transform:rotate(-3deg);transform-origin:left bottom;box-shadow:0 2px 10px #00000059}.gate-form[data-v-4eb1f847]{margin-top:34px}.gate-label[data-v-4eb1f847]{display:block;margin-bottom:8px;color:var(--ink-faint);font:11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}.gate-row[data-v-4eb1f847]{display:flex;height:46px}.gate-row input[data-v-4eb1f847]{flex:1;width:0;padding:0 14px;border:2px solid var(--accent);border-right:0;border-radius:4px 0 0 4px;background:var(--sign-black);color:var(--accent);font:18px var(--mono);letter-spacing:.2em;outline:none}.gate-row input[data-v-4eb1f847]:focus-visible{box-shadow:inset 0 0 0 1px var(--accent)}.gate-row input[data-v-4eb1f847]::selection{background:rgba(var(--accent-rgb),.3);color:var(--ink)}.gate-go[data-v-4eb1f847]{display:flex;align-items:center;gap:8px;padding:0 16px 0 18px;border:0;border-radius:0 4px 4px 0;background:var(--accent-fill);color:var(--on-accent);font-weight:700;font-size:18px;letter-spacing:.08em;text-transform:uppercase}.gate-go[data-v-4eb1f847]:hover{background:var(--accent-fill-hover)}.gate-go svg[data-v-4eb1f847]{stroke-width:2.2}.gate-hint[data-v-4eb1f847]{min-height:1em;margin:10px 0 0;color:var(--ink-faint);font:12px/1 var(--mono);letter-spacing:.04em}.is-wrong .gate-row[data-v-4eb1f847]{animation:gate-shake-4eb1f847 .32s ease-out}.is-wrong .gate-row input[data-v-4eb1f847]{border-color:var(--danger);color:var(--danger)}.is-wrong .gate-hint[data-v-4eb1f847]{color:var(--danger)}@keyframes gate-shake-4eb1f847{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}@media(prefers-reduced-motion:reduce){.is-wrong .gate-row[data-v-4eb1f847]{animation:none}}@media(max-width:640px){.gate[data-v-4eb1f847]:after{background:linear-gradient(0deg,rgba(8,11,9,.94),rgba(8,11,9,.6) 45%,transparent 70%)}.gate-card[data-v-4eb1f847]{top:auto;bottom:32px;transform:none;left:16px}.gate-brand[data-v-4eb1f847]{gap:12px}.gate-title[data-v-4eb1f847]{font-size:32px}.gate-mark[data-v-4eb1f847]{width:92px;height:92px;margin-left:-3px}}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-latin-500-normal-BgYH2mbd.woff2) format("woff2"),url(/assets/barlow-condensed-latin-500-normal-HIEiP5Ov.woff) format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2) format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff) format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2) format("woff2"),url(/assets/barlow-condensed-latin-700-normal-Dmwat-ge.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}:root{--font-display: "Barlow Condensed", "Roboto Condensed", "Segoe UI", sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace;--panel: rgba(17, 21, 18, .95);--bar: rgba(11, 14, 12, .88);--raise: rgba(255, 255, 255, .045);--recess: rgba(0, 0, 0, .32);--line: rgba(150, 172, 150, .14);--line-2: rgba(150, 172, 150, .28);--ink: #e9efe3;--muted: #9bab9b;--ink-faint: #6c7a6c;--accent: #f7cc0f;--accent-rgb: 247, 204, 15;--accent-fill: linear-gradient(90deg, #f8dc12, #f2b807);--accent-fill-hover: linear-gradient(90deg, #fbe544, #f6c637);--on-accent: #14160a;--traffic: #8fd6e6;--success: #5fd68a;--sign-black: #0d0e0b;--landing: #7be89c;--danger: #ff5a4a;--danger-rgb: 255, 90, 74;--gutter: 18px;--bottom-bar: 34px;font-family:var(--font-display);color:var(--ink);background:#0b0e0c;font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body{margin:0;height:100%;background:#0b0e0c}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}kbd{font:11px var(--mono);border:1px solid var(--line-2);border-radius:3px;padding:1px 4px;color:var(--ink)}.viewer-shell{position:relative;height:100svh;min-height:400px;overflow:hidden}.viewer-shell>canvas{display:block;width:100%;height:100%;touch-action:none;outline:none}.micro-label{color:var(--ink-faint);font:11px/1 var(--mono);letter-spacing:.1em}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.topbar{position:absolute;inset:0 0 auto;z-index:10;min-height:61px;display:flex;align-items:flex-end;gap:16px;padding:9px 16px 10px var(--gutter);background:linear-gradient(180deg,rgba(8,11,9,.94),rgba(8,11,9,.62) 76%,transparent);pointer-events:none}.topbar:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:var(--line-2);opacity:.5}.topbar>*{pointer-events:auto}.bar-div{width:1px;height:30px;margin:0 2px;background:var(--line-2)}.bar-right{display:flex;align-items:flex-end;gap:12px;margin-left:auto}.game-score+.bar-right{margin-left:0}.logout-btn{width:34px;justify-content:center;padding:0}.brand{display:flex;align-items:center;gap:11px;height:34px}.brand-mark{display:block;width:34px;height:34px;object-fit:contain}.brand-text{display:flex;flex-direction:column;gap:3px;text-transform:uppercase}.brand-text b{font-size:17px;line-height:.95;font-weight:600;letter-spacing:.07em;white-space:nowrap}.brand-text b span{color:var(--accent)}.brand-text small{color:#c9d1c6;font:11px var(--mono);letter-spacing:.1em;white-space:nowrap}.tool-btn{min-height:34px;display:flex;align-items:center;gap:8px;padding:7px 11px;color:var(--muted);background:var(--recess);border:1px solid var(--line-2);border-radius:6px;font:13px var(--mono);letter-spacing:.04em;text-transform:uppercase;transition:color .14s,border-color .14s,background .14s}.tool-btn svg{width:17px;height:17px}.tool-btn:hover{color:var(--ink);background:var(--raise)}.tool-btn.is-active{color:var(--ink);border-color:var(--accent);background:rgba(var(--accent-rgb),.08)}.basemap-picker{position:relative;display:flex;flex-direction:column;gap:4px}.picker-button{height:34px;display:flex;align-items:center;gap:9px;min-width:168px;padding:0 11px 0 4px;color:var(--ink);background:var(--recess);border:1px solid var(--line-2);border-radius:6px;font-size:15px;font-weight:600;text-align:left;transition:border-color .14s}.picker-button:hover,.picker-button[aria-expanded=true]{border-color:var(--accent)}.picker-button:focus-visible,.tool-btn:focus-visible,.segmented button:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb),.3)}.picker-thumb{width:34px;height:24px;border-radius:3px;background-color:#33402f;background-position:center;background-size:cover;box-shadow:inset 0 0 0 1px #ffffff1f}.picker-name{flex:1;letter-spacing:.02em}.picker-chevron{width:10px;height:6px;color:var(--muted);transition:transform .15s}.picker-button[aria-expanded=true] .picker-chevron{transform:rotate(180deg)}.basemap-menu{position:absolute;top:calc(100% + 8px);left:0;display:grid;grid-auto-flow:column;grid-auto-columns:76px;gap:8px;padding:10px;background:#111512;border:1px solid var(--line-2);border-radius:6px;box-shadow:0 18px 48px -16px #000000d9,0 2px #0000004d}.style-option{display:flex;flex-direction:column;gap:5px;padding:0;background:transparent;border:0;color:var(--muted)}.style-thumb{display:block;width:76px;height:52px;border-radius:4px;background-color:#33402f;background-position:center;background-size:cover;box-shadow:inset 0 0 0 1px #ffffff1a;transition:box-shadow .14s}.style-thumb.is-none,.picker-thumb.is-none{background-color:#7d8a78;background-image:linear-gradient(135deg,transparent 47%,rgba(20,22,10,.45) 47% 53%,transparent 53%)}.style-label{font-size:14px;font-weight:500;line-height:1;text-align:left;letter-spacing:.02em}.style-option:hover{color:var(--ink)}.style-option:hover .style-thumb{box-shadow:inset 0 0 0 1px #ffffff59}.style-option[aria-checked=true]{color:var(--accent)}.style-option[aria-checked=true] .style-thumb{box-shadow:0 0 0 2px var(--accent)}.style-option:focus-visible{outline:none}.style-option:focus-visible .style-thumb{box-shadow:0 0 0 2px var(--accent),0 0 0 4px rgba(var(--accent-rgb),.35)}.bar-control{display:flex;flex-direction:column;gap:4px}.bar-control .segmented{grid-auto-columns:auto}.bar-control .segmented button{min-width:52px;padding:0 12px}.layers-panel,.help-popover{position:absolute;z-index:5;padding:14px;background:var(--panel);border:1px solid var(--line-2);border-radius:6px;box-shadow:0 18px 48px -16px #000000d9,0 2px #0000004d}.layers-panel{top:78px;right:var(--gutter);width:min(236px,calc(100vw - 2 * var(--gutter)));max-height:calc(100% - 78px - var(--bottom-bar) - 18px);overflow:auto}.panel-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.panel-close{width:26px;height:26px;display:grid;place-items:center;padding:0 0 2px;color:var(--muted);background:var(--recess);border:1px solid var(--line-2);border-radius:5px;font-size:19px;line-height:1}.panel-close:hover{color:var(--ink);border-color:var(--accent)}.panel-rule{height:1px;margin:8px 0 12px;background:var(--line)}.layer-row{width:100%;display:flex;align-items:center;gap:8px;padding:7px 0;background:transparent;border:0;text-align:left}.layer-label{display:flex;align-items:center;gap:9px;flex:1;font-size:16px;font-weight:500;letter-spacing:.01em;color:var(--ink);transition:color .14s}.layer-icon{width:17px;height:17px;color:var(--muted);stroke-width:1.35}.layer-row:hover .layer-label{color:var(--accent)}.layer-row[aria-checked=false] .layer-label{color:#85928b}.layer-row.is-unavailable .layer-label{color:#75817a}.layer-row.is-unavailable[aria-checked=true] .layer-label{color:#a7b2a9}.layer-status{font:10px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.layer-status.is-error{color:#ef7a5d}.switch-track{width:28px;height:15px;padding:3px;border-radius:8px;background:#4a5553;transition:background .15s;flex-shrink:0}.switch-track>span{display:block;width:9px;height:9px;border-radius:50%;background:#dce4dd;transition:transform .15s,background .15s}.layer-row[aria-checked=true] .switch-track{background:var(--accent-fill)}.layer-row[aria-checked=true] .switch-track>span{transform:translate(13px);background:#22342a}.layer-row.is-unavailable[aria-checked=true] .switch-track{background:color-mix(in srgb,var(--accent) 45%,#4a5553)}.control-block{padding:7px 0 9px}.control-block+.control-block{margin-top:2px}.control-head{display:flex;align-items:center;gap:8px;min-height:17px;margin-bottom:8px}.control-block.is-off .layer-label{color:#85928b}.control-value{color:var(--accent);font:13px var(--mono);letter-spacing:.04em;font-variant-numeric:tabular-nums}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:2px;height:34px;padding:2px;background:var(--recess);border:1px solid var(--line-2);border-radius:6px}.segmented button{min-width:0;padding:0 4px;color:var(--muted);background:transparent;border:0;border-radius:4px;font:13px var(--mono);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.segmented button:hover{color:var(--ink);background:var(--raise)}.segmented button[aria-checked=true]{color:var(--accent);background:linear-gradient(180deg,rgba(var(--accent-rgb),.16),rgba(var(--accent-rgb),.07));box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.55)}.control-block.is-off .segmented button[aria-checked=true]{color:var(--ink);background:#ffffff12;box-shadow:inset 0 0 0 1px #85928b}.range{--fill: 0%;display:block;width:100%;height:22px;margin:0;padding:0;background:transparent;appearance:none;-webkit-appearance:none;cursor:pointer;touch-action:pan-y}.range::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(90deg,var(--accent) var(--fill),rgba(255,255,255,.14) 0)}.range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:10px;height:18px;margin-top:-7px;border:0;border-radius:2px;background:var(--accent);box-shadow:0 0 0 2px var(--panel),0 1px 4px #0009}.range::-moz-range-track{height:4px;border-radius:2px;background:linear-gradient(90deg,var(--accent) var(--fill),rgba(255,255,255,.14) 0)}.range::-moz-range-thumb{width:10px;height:18px;border:0;border-radius:2px;background:var(--accent);box-shadow:0 0 0 2px var(--panel),0 1px 4px #0009}.range:focus-visible{outline:none}.range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 2px var(--panel),0 0 0 4px rgba(var(--accent-rgb),.45)}.range:focus-visible::-moz-range-thumb{box-shadow:0 0 0 2px var(--panel),0 0 0 4px rgba(var(--accent-rgb),.45)}.range-scale{display:flex;justify-content:space-between;margin-top:3px;color:var(--ink-faint);font:10px var(--mono);letter-spacing:.04em}.camera-controls{position:absolute;left:var(--gutter);bottom:calc(var(--bottom-bar) + 24px);z-index:4;width:48px;display:flex;flex-direction:column;align-items:center;gap:11px}.camera-controls button{display:grid;place-items:center;padding:0;border:0;background:transparent;color:#f1f5efb0;filter:drop-shadow(0 2px 5px #0009);transition:color .18s,transform .12s}.camera-controls button:active{transform:scale(.92)}.camera-controls button.camera-lock,.camera-controls button.camera-reset,.camera-controls button.camera-overview{width:44px;padding:6px;color:#ffffffe8;filter:drop-shadow(0 1px 2px #000) drop-shadow(0 0 6px #000e)}.camera-controls button.camera-lock:hover,.camera-controls button.camera-reset:hover,.camera-controls button.camera-overview:hover{color:var(--accent)}.camera-lock svg,.camera-reset svg,.camera-overview svg{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.camera-lock circle{fill:currentColor;stroke:none}.camera-lock svg{width:30px;height:30px}.camera-lock-label{margin-top:2px;font:600 14px/1 var(--font-display);letter-spacing:.09em;text-shadow:0 1px 2px #000a}.camera-controls button.camera-lock.is-locked{color:var(--accent)}.camera-reset svg{width:27px;height:27px;stroke-width:2.05}.camera-overview svg{width:27px;height:27px;stroke-width:2.05}.camera-compass{width:48px;height:48px;border-radius:50%;box-shadow:0 2px 7px #000000a6}.camera-compass svg{width:100%;height:100%;stroke:none}.compass-face{fill:#141a1fef;stroke:#e8efe917;stroke-width:1}.camera-compass:hover:not(.is-north) .compass-face{stroke:rgba(var(--accent-rgb),.7)}.camera-compass.is-north{cursor:default}.camera-controls .camera-compass.is-north:active{transform:none}.compass-rose{transform-box:view-box;transform-origin:50% 50%}.compass-needle{fill:#ef4a30}.compass-tick{fill:#68717c}.compass-tick.is-cardinal{fill:#aab3bd}.compass-n{fill:#c3cad4;stroke:none;font:600 19px/1 system-ui,Segoe UI,Roboto,sans-serif;text-anchor:middle}.bottom-bar{position:absolute;inset:auto 0 0;z-index:6;height:var(--bottom-bar);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 var(--gutter);background:var(--bar);border-top:1px solid var(--line-2)}.render-stats{display:flex;align-items:center;gap:18px;font:11px var(--mono);color:#aab7ae;letter-spacing:.04em;white-space:nowrap}.render-stats>span{display:flex;align-items:center;gap:6px}.render-stats strong{font-weight:400;color:#e4ebdd;font-variant-numeric:tabular-nums}.fps-counter strong{display:inline-block;min-width:3ch;text-align:right}.fps-counter.is-idle strong,.stat-sep{color:var(--ink-faint)}.region-progress{transition:opacity .6s .3s}.region-progress.is-done{opacity:0}.load-bar{position:absolute;inset:-1px 0 auto;height:2px;overflow:hidden;pointer-events:none;transition:opacity .6s .3s}.load-bar span{display:block;height:100%;background:var(--accent);transform-origin:left;transition:transform .35s ease-out}.load-bar.is-done{opacity:0}.status-dot{width:5px;height:5px;border-radius:50%;background:#4a5553;transition:background .2s}.tiles-loading.is-busy .status-dot{background:var(--accent);animation:pulse 1s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}.bar-end{display:flex;align-items:center;gap:16px;min-width:0;margin-left:auto}.credit{display:flex;align-items:center;gap:6px;flex-shrink:0;font:11px var(--mono);color:#aab7ae;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.credit-link{display:flex;align-items:center;gap:6px;color:inherit;text-decoration:none;border-radius:4px;cursor:pointer}.credit-link:hover .credit-text,.credit-link:focus-visible .credit-text{color:var(--ink)}.credit-link:hover .credit-by,.credit-link:focus-visible .credit-by{color:#aab7ae}.credit-logo{display:block;width:18px;height:18px;border-radius:50%;box-shadow:0 0 0 1px #e9efe329;filter:saturate(.35);opacity:.85;transition:filter .18s,opacity .18s}.credit-link:hover .credit-logo,.credit-link:focus-visible .credit-logo{filter:none;opacity:1}.credit-text{transition:color .18s}.credit-by{color:#7f8a83;transition:color .18s}.credit-sep{margin:0 4px;color:var(--ink-faint)}.end-div{width:1px;height:14px;background:var(--line-2);flex-shrink:0}.attribution{display:flex;align-items:center;gap:10px;min-width:0;overflow:hidden;font:11px var(--mono);white-space:nowrap}.attribution-toggle{flex-shrink:0;width:18px;height:18px;display:grid;place-items:center;padding:0;background:transparent;border:0;color:#aab7ae;font:15px/1 var(--mono);cursor:pointer}.attribution-toggle:hover,.attribution.open .attribution-toggle{color:var(--ink)}.attribution a{color:#aab7ae;text-decoration:none}.attribution a:hover{color:var(--ink);text-decoration:underline}.help-button{display:flex;align-items:center;gap:8px;padding:0;background:transparent;border:0;font-size:15px;white-space:nowrap}.help-button:hover{color:var(--accent)}.help-key{width:18px;height:18px;display:grid;place-items:center;border:1px solid #ffffff33;border-radius:3px;font:11px var(--mono)}.help-popover{right:var(--gutter);bottom:calc(var(--bottom-bar) + 12px);width:min(236px,calc(100vw - 2 * var(--gutter)))}.help-popover dl{display:grid;grid-template-columns:1fr auto;gap:9px 12px;margin:8px 0 0;font-size:15px}.help-popover dt{color:#c4d1c7}.help-popover dd{margin:0;color:var(--muted);font-size:14px;text-align:right}.error-card{position:absolute;top:50%;left:50%;z-index:20;width:min(380px,calc(100% - 32px));padding:22px;transform:translate(-50%,-50%);background:var(--panel);border:1px solid var(--line-2);border-radius:6px}.error-card p{margin:12px 0 0;font-size:17px;line-height:1.35;color:#c4d1c7}.game-score{height:34px;display:flex;align-items:center;gap:12px;margin-left:auto;padding:0 14px;background:var(--recess);border:1px solid var(--line-2);border-radius:6px;white-space:nowrap}.game-score>span:not(.score-dot){display:flex;align-items:baseline;gap:7px}.game-score small{color:var(--ink-faint);font:11px var(--mono);letter-spacing:.1em}.game-score b{min-width:2ch;font-size:20px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}.game-score b.is-landed{color:var(--success)}.game-score b.is-lost{color:var(--danger)}.score-dot{color:var(--ink-faint)}.game-hud{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden}.game-field{position:absolute;border:1px solid rgba(143,214,230,.16);border-radius:3px;box-shadow:0 0 0 200vmax #05080652}.game-tag{position:absolute;left:0;top:0;color:var(--traffic);font:12px/18px var(--mono);letter-spacing:.02em;white-space:nowrap;padding:0 5px;background:#0b0e0cbd;border-radius:3px;box-shadow:inset 0 0 0 1px #8fd6e64d;text-shadow:0 1px 2px #000;will-change:transform}.game-tag small{margin-left:6px;color:#c9eef6;font-size:11px}.game-tag.is-landing{color:var(--landing);background:#06160cbd;box-shadow:inset 0 0 0 1px #7be89c59}.game-tag.is-landing small{color:#d4f7de}.game-tag.is-vector{color:#f4f4f4;box-shadow:inset 0 0 0 1px #ffffff4d}.game-tag.is-vector small{color:#f4f4f4;font-size:12px}.game-tag.is-hover{box-shadow:inset 0 0 0 1px currentColor}.game-marks{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none;stroke:none}.hover-halo{stroke:#ffffffd9;stroke-width:1.5;stroke-dasharray:3 3}.tag-leader{stroke:#8fd6e6b3;stroke-width:1}.tag-leader.is-vector{stroke:#ffffffb3}.game-hit{position:absolute;left:0;top:0;padding:0;border:0;border-radius:50%;background:transparent;pointer-events:auto;cursor:pointer;touch-action:manipulation;will-change:transform}.game-hit:focus-visible{outline:none}.alert-halo{stroke-width:2.5}.alert.is-conflict .alert-halo{stroke:var(--accent);stroke-dasharray:6 4;animation:alert-spin 2.4s linear infinite}.alert.is-loss .alert-halo{stroke:var(--danger);transform-box:fill-box;transform-origin:center;animation:alert-pulse .8s ease-in-out infinite alternate}.alert-track{stroke:var(--accent);stroke-width:2;stroke-dasharray:7 5;stroke-linecap:round;stroke-linejoin:round;opacity:.9}.alert.is-conflict .alert-line{stroke:var(--accent);stroke-width:1.5;stroke-dasharray:2 3}.alert.is-loss .alert-line{stroke:var(--danger);stroke-width:2}.alert-point{fill:var(--accent);stroke:#050806b3;stroke-width:1}.alert-mark{fill:var(--accent);stroke:var(--on-accent);stroke-width:1.4;stroke-linejoin:round}.alert-halo,.alert-track,.alert-line{filter:drop-shadow(0 0 1.5px rgba(0,0,0,.8))}@keyframes alert-spin{to{stroke-dashoffset:-20}}@keyframes alert-pulse{0%{opacity:1;transform:scale(1)}to{opacity:.45;transform:scale(1.18)}}.game-alert{position:absolute;left:0;top:0;margin:-9px 0 0;padding:0 5px;font:12px/18px var(--mono);letter-spacing:.02em;white-space:nowrap;background:#0b0e0cd1;border-radius:3px;translate:-50% 0;will-change:transform}.game-alert.is-conflict{color:var(--on-accent);background:var(--accent-fill);box-shadow:0 1px 3px #0000008c}.game-alert.is-loss{color:#ff8578;box-shadow:inset 0 0 0 1px rgba(var(--danger-rgb),.7)}.game-ring{position:absolute;left:0;top:0;overflow:visible;will-change:transform}.ring-band{fill:none;stroke:#0a0d0b6b}.ring-tick{stroke:#e9efe380;stroke-width:1.2;stroke-linecap:butt}.ring-tick.is-long{stroke:#e9efe3e6;stroke-width:1.6}.ring-label{fill:#e9efe3;font:600 12px var(--font-display);letter-spacing:.03em;text-anchor:middle;dominant-baseline:central;paint-order:stroke;stroke:#050806b3;stroke-width:2.5px}.ring-bug path{fill:var(--accent);stroke:var(--on-accent);stroke-width:1;stroke-linejoin:round}.ring-bug.is-ghost path{fill:rgba(var(--accent-rgb),.35);stroke:var(--accent)}.ring-pointer path{fill:#fff;stroke:var(--on-accent);stroke-width:1;stroke-linejoin:round}.ring-hit{fill:none;stroke:transparent;pointer-events:stroke;cursor:crosshair;touch-action:none}.ring-readout rect{fill:#0b0e0ce0;stroke:var(--accent);stroke-width:1}.ring-readout text{fill:var(--accent);font:12px var(--mono);text-anchor:middle}.game-block{position:absolute;left:0;top:0;display:grid;gap:3px;padding:5px 9px;color:var(--accent);background:#0b0e0cc7;border:1px solid rgba(var(--accent-rgb),.4);border-radius:4px;font:12px/1.15 var(--mono);letter-spacing:.02em;white-space:nowrap}.block-call{font:600 16px/1 var(--font-display);letter-spacing:.05em;color:color-mix(in srgb,var(--accent) 35%,#fff)}.block-call small,.command-call small{margin-left:8px;color:var(--accent);font:11px var(--mono);letter-spacing:.04em}.block-hdg i,.command-hdg i{margin:0 5px;font-style:normal;color:var(--ink-faint)}.block-hdg{display:flex;align-items:center}.block-fix{color:var(--traffic);font-weight:400}.block-hold{display:inline-flex;align-items:center;gap:5px;height:18px;margin-left:10px;padding:0 3px 0 6px;color:var(--accent);background:transparent;border:1px solid rgba(var(--accent-rgb),.55);border-radius:3px;font:600 12px/1 var(--font-display);letter-spacing:.12em;text-transform:uppercase;pointer-events:auto}.block-hold kbd{padding:0 3px;color:var(--accent);border-color:rgba(var(--accent-rgb),.4);font-size:10px;line-height:12px}.block-hold:hover{color:var(--on-accent);background:var(--accent-fill)}.block-hold:hover kbd{color:var(--on-accent);border-color:#14160a73}.game-flash{position:absolute;width:0;height:0}.flash-ring{position:absolute;left:-26px;top:-26px;width:52px;height:52px;border:3px solid currentColor;border-radius:50%;animation:flash-ring .9s ease-out forwards}.flash-text{position:absolute;left:0;top:-40px;transform:translate(-50%);font:700 24px/1 var(--font-display);letter-spacing:.04em;white-space:nowrap;text-shadow:0 1px 3px #000,0 0 8px #000;animation:float-up 1.4s ease-out forwards}.game-flash.is-capture{color:var(--success)}.game-flash.is-lost{color:var(--danger)}.game-flash.is-lost .flash-ring{animation:flash-ring .8s ease-out 2 forwards}.game-flash.is-lost .flash-text{font-size:18px;text-transform:uppercase;animation-duration:1.8s}.game-flash.is-collision{color:var(--danger)}.game-flash.is-collision .flash-ring{border-width:4px;animation:flash-ring .9s ease-out 2 forwards}.game-flash.is-collision .flash-text{font-size:22px;text-transform:uppercase;animation-duration:2.2s}.flash-burst{position:absolute;left:-40px;top:-40px;width:80px;height:80px;stroke:currentColor;stroke-width:4;stroke-linecap:round;animation:flash-burst .7s ease-out forwards}@keyframes flash-burst{0%{transform:scale(.4);opacity:1}to{transform:scale(1.5);opacity:0}}@keyframes flash-ring{0%{transform:scale(.35);opacity:1}to{transform:scale(2.1);opacity:0}}@keyframes float-up{0%{opacity:0;transform:translate(-50%,8px)}15%{opacity:1}70%{opacity:1}to{opacity:0;transform:translate(-50%,-26px)}}.game-queue{--flap-w: 13px;--flap-h: 22px;--flap-font: 17px;--flap-gap: 1px;--flap-ink: #f4f5ef;--flap-top: #26292c;--flap-bottom: #1d1f22;--row-gap: 5px;--pitch: calc(var(--flap-w) + var(--flap-gap));--sep-w: 5px;--col-gap: 10px;--state-font: 14px;--state-w: 72px;--head-h: 15px;--alert-room: 9px;--board-rows: 9;position:absolute;top:78px;left:var(--gutter);z-index:5;width:max-content;max-width:calc(100vw - 2 * var(--gutter));padding:11px 12px 12px;background:var(--sign-black);border:1px solid var(--line);border-radius:6px;box-shadow:0 18px 48px -16px #000000d9,0 2px #0000004d;pointer-events:auto}.board-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 10px}.board-title{color:#f3f4ef;font:700 16px/1 var(--font-display);letter-spacing:.16em;text-transform:uppercase}.queue-count{color:var(--muted);font:11px/1 var(--mono);letter-spacing:.06em;font-variant-numeric:tabular-nums}.queue-list{display:grid;grid-template-columns:minmax(calc(7 * var(--pitch) - var(--flap-gap)),max-content) minmax(calc(2 * var(--pitch) - var(--flap-gap)),max-content) minmax(calc(3 * var(--pitch) - var(--flap-gap)),max-content) minmax(calc(3 * var(--pitch) + var(--sep-w)),max-content) minmax(var(--state-w),1fr);column-gap:var(--col-gap);max-height:min(48vh,calc(var(--head-h) + var(--board-rows) * (var(--flap-h) + var(--row-gap)) + 3px));margin:0 -4px 0 calc(-1 * var(--alert-room));padding:0 4px 3px var(--alert-room);overflow-y:auto;list-style:none;scrollbar-width:thin}.queue-list>li{position:relative;grid-column:1 / -1;display:grid;grid-template-columns:subgrid;align-items:center}.queue-list>li+li{padding-top:var(--row-gap)}.board-head{position:sticky;top:0;z-index:1;padding-bottom:1px;background:var(--sign-black)}.flaps{display:flex;gap:var(--flap-gap)}.flap{position:relative;width:var(--flap-w);height:var(--flap-h);display:grid;place-items:center;padding-top:1px;color:var(--flap-ink);background:linear-gradient(180deg,var(--flap-top) 50%,var(--flap-bottom) 50%);border-radius:2px;box-shadow:inset 0 0 0 1px #ffffff09,0 1px 1px #000c;font:700 var(--flap-font)/1 var(--font-display);font-variant-numeric:tabular-nums;text-transform:uppercase}.flap:after{content:"";position:absolute;inset:calc(50% - .5px) 0 auto;height:1px;background:#0000008c}.flap.is-flipping{--flip-ms: 84ms}.flap-half{position:absolute;left:0;right:0;height:50%;overflow:hidden;line-height:1px;text-align:center}.flap-half.is-top{top:0;padding-top:calc(var(--flap-h) / 2);background:var(--flap-top);border-radius:2px 2px 0 0;transform-origin:50% 100%}.flap-half.is-bottom{bottom:0;background:var(--flap-bottom);border-radius:0 0 2px 2px;transform-origin:50% 0}.flap-leaf{backface-visibility:hidden}.flap-leaf.is-top{animation:flap-fall var(--flip-ms) calc(var(--flip-delay) + var(--k) * var(--flip-ms)) both}.flap-leaf.is-bottom{animation:flap-land var(--flip-ms) calc(var(--flip-delay) + (var(--k) - 1) * var(--flip-ms)) both}@keyframes flap-fall{0%{transform:perspective(64px) rotateX(0);animation-timing-function:ease-in}50%,to{transform:perspective(64px) rotateX(-90deg)}}@keyframes flap-land{0%,50%{transform:perspective(64px) rotateX(90deg);animation-timing-function:ease-out}to{transform:perspective(64px) rotateX(0)}}.flap-sep{width:var(--sep-w);color:var(--flap-ink);font:700 var(--flap-font)/1 var(--font-display);font-style:normal;text-align:center}.queue-row.is-selected{--flap-ink: var(--accent)}.queue-row.is-selectable{cursor:pointer}.queue-row.is-selectable.is-hover:after{content:"";position:absolute;left:-4px;right:-4px;bottom:-2px;height:calc(var(--flap-h) + 4px);border-radius:3px;box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.6);background:rgba(var(--accent-rgb),.06);pointer-events:none}.queue-row[class*=is-alert-]:before{content:"";position:absolute;left:calc(2px - var(--alert-room));bottom:0;width:4px;height:var(--flap-h);border-radius:2px}.queue-row.is-alert-conflict:before{background:var(--accent)}.queue-row.is-alert-loss:before{background:var(--danger);animation:pulse .8s ease-in-out infinite alternate}.queue-state{justify-self:start;height:var(--flap-h);display:inline-flex;align-items:center;padding-top:1px;color:#b4bbab;font:600 var(--state-font)/1 var(--font-display);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;transform-origin:100% 50%;animation:flap-flip .2s ease-out backwards}.queue-row.is-controlled .queue-state{color:#f4f4f4}.queue-row.is-selected .queue-state{padding:1px 8px 0;color:var(--on-accent);background:var(--accent-fill);border-radius:2px;font-weight:700}.queue-row.is-dim{--flap-ink: #8f948b;--flap-top: #1e2023;--flap-bottom: #17191b}.queue-row.is-dim .queue-state{color:#7f8679}.queue-row.is-landed .queue-state{color:var(--success);animation:flap-flip .2s ease-out backwards,landed-glow 1.6s ease-out}.queue-row.is-leaving{overflow:hidden;animation:row-leave .6s ease-in forwards}.queue-list>.queue-empty{display:block;padding:calc(var(--row-gap) + 5px) 0 1px;color:var(--muted);font:12px var(--mono);letter-spacing:.08em;text-transform:uppercase}@keyframes flap-flip{0%{opacity:0;transform:perspective(48px) rotateX(-70deg);filter:brightness(1.7)}}@keyframes landed-glow{0%{text-shadow:0 0 10px color-mix(in srgb,var(--success) 85%,transparent)}}@keyframes row-leave{0%{max-height:calc(var(--flap-h) + var(--row-gap))}45%{opacity:0;max-height:calc(var(--flap-h) + var(--row-gap));padding-top:var(--row-gap)}to{opacity:0;max-height:0;padding-top:0}}.game-command{position:absolute;left:50%;bottom:calc(var(--bottom-bar) + 10px);z-index:5;width:min(560px,calc(100% - 2 * var(--gutter)));padding:8px 8px 7px 14px;transform:translate(-50%);background:var(--panel);border:1px solid var(--line-2);border-radius:6px;box-shadow:0 18px 48px -16px #000000d9,0 2px #0000004d;pointer-events:auto}.command-main{display:flex;align-items:center;gap:16px;height:30px}.command-call{font-size:18px;font-weight:600;letter-spacing:.04em;color:var(--accent);white-space:nowrap}.command-hdg{color:var(--muted);font:12px var(--mono);letter-spacing:.04em;white-space:nowrap}.command-hdg b{color:var(--ink);font-size:14px;font-weight:400}.command-hdg b.is-cleared{color:var(--accent)}.command-hdg b.is-hold{color:var(--traffic)}.command-wait{color:var(--muted);font-size:16px}.command-ff{margin-left:auto;color:var(--accent);font:12px var(--mono);letter-spacing:.06em;white-space:nowrap}.command-ff+.command-entry{margin-left:0}.command-entry{position:relative;display:flex;align-items:center;min-width:92px;height:30px;margin-left:auto;padding:0 10px;color:var(--accent);background:var(--recess);border:1px solid var(--line-2);border-radius:5px;font:16px var(--mono);letter-spacing:.12em;transition:border-color .14s}.command-entry.is-valid{border-color:rgba(var(--accent-rgb),.6)}.command-entry.is-invalid{border-color:var(--danger);color:var(--danger);animation:shake .3s}.entry-caret{width:2px;height:16px;margin-left:1px;background:var(--accent);animation:blink 1.05s steps(1) infinite}.game-command.is-idle .entry-caret{display:none}.entry-hint{position:absolute;right:10px;color:var(--ink-faint);font-size:11px;letter-spacing:.1em}.command-readback{margin:5px 0 0;color:#c4d1c7;font-size:15px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-readback.is-empty{color:var(--ink-faint);font-size:14px}@keyframes blink{50%{opacity:0}}@keyframes shake{25%{transform:translate(-3px)}75%{transform:translate(3px)}}.game-hud>*{transition:opacity .35s ease}.game-hud.is-menu .game-field,.game-hud.is-menu .game-queue,.game-hud.is-menu .game-command,.game-hud.is-menu .game-tag,.game-hud.is-menu .game-marks,.game-hud.is-menu .game-alert{opacity:0;pointer-events:none}.game-score{transition:opacity .3s ease}.game-score.is-hidden{opacity:0;visibility:hidden}.game-pause{position:absolute;z-index:7;width:min(400px,calc(100% - 32px));padding:18px 20px;transform:translate(-50%,-50%);color:var(--accent);background:var(--sign-black);border-radius:5px;box-shadow:inset 0 0 0 5px var(--sign-black),inset 0 0 0 7px var(--accent),0 22px 60px -18px #000,0 2px #0006;pointer-events:auto}.game-pause h2{margin:0 4px 16px;font:700 30px/1 var(--font-display);letter-spacing:.08em;text-transform:uppercase}.pause-options{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;margin:0 0 16px}.pause-row{display:contents}.pause-label{display:flex;flex-wrap:wrap;align-items:baseline;align-self:center;gap:5px 10px;min-width:0;margin-left:4px;color:#9ea596;font:11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}.pause-hint{display:inline-flex;align-items:center;gap:4px;color:#80857a;font:10px/1 var(--mono);letter-spacing:.04em;white-space:nowrap}.pause-hint svg{width:10px;height:10px;stroke-width:1.5;transform:translateY(-.5px)}.pause-switch{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:2px;border-radius:3px;box-shadow:inset 0 0 0 1px #c9cdc238}.pause-switch button{height:26px;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;border:0;border-radius:2px;color:#80857a;background:transparent;font:700 14px/1 var(--font-display);letter-spacing:.12em;text-transform:uppercase;transition:color .14s,background .14s}.pause-time button{padding:0 11px 0 9px}.pause-switch button:hover{color:#c9cdc2}.pause-switch button[aria-checked=true]{color:var(--sign-black);background:var(--accent-fill);cursor:default}.pause-switch button:focus-visible{outline:2px solid #fff;outline-offset:2px}.pause-time svg{width:14px;height:14px;stroke-width:1.7}.pause-time .is-night svg{fill:currentColor;stroke:none}.pause-toggles{grid-column:1 / -1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.pause-toggles button{min-width:0;height:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:0 2px;border:0;border-radius:3px;color:#80857a;background:transparent;box-shadow:inset 0 0 0 1px #c9cdc238;font:600 14px/1 var(--font-display);letter-spacing:.02em;transition:color .14s,background .14s,box-shadow .14s}.pause-toggles svg{width:18px;height:18px;stroke-width:1.5}.pause-toggles span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pause-toggles button:hover{color:#c9cdc2;box-shadow:inset 0 0 0 1px #c9cdc273}.pause-toggles button[aria-pressed=true]{color:var(--accent);background:rgba(var(--accent-rgb),.08);box-shadow:inset 0 0 0 2px var(--accent)}.pause-toggles button[aria-pressed=true]:hover{color:color-mix(in srgb,var(--accent) 65%,#fff);background:rgba(var(--accent-rgb),.14)}.pause-toggles button:disabled{opacity:.35;cursor:not-allowed;box-shadow:none;background:none}.pause-toggles button:focus-visible{outline:2px solid #fff;outline-offset:2px}.pause-actions{display:grid;grid-template-columns:1fr auto;gap:8px}.pause-actions button{height:40px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 10px 0 14px;border:0;border-radius:3px;font:700 18px/1 var(--font-display);letter-spacing:.1em;text-transform:uppercase}.pause-actions kbd{font-size:10px;letter-spacing:.04em}.pause-resume{color:var(--sign-black);background:var(--accent-fill)}.pause-resume kbd{color:var(--sign-black);border-color:#0d0e0b73}.pause-resume:hover{background:var(--accent-fill-hover)}.pause-menu{color:var(--accent);background:transparent;box-shadow:inset 0 0 0 2px var(--accent)}.pause-menu kbd{color:var(--accent);border-color:rgba(var(--accent-rgb),.45)}.pause-menu:hover{background:rgba(var(--accent-rgb),.1)}.pause-actions button:focus-visible{outline:2px solid #fff;outline-offset:2px}.game-coach{position:absolute;inset:0;z-index:7;cursor:pointer;outline:none;pointer-events:auto;animation:coach-in .22s ease-out}.coach-overlay{position:absolute;inset:0;width:100%;height:100%;stroke:none}.coach-shade{fill:#050806a8}.coach-zone{fill:rgba(var(--accent-rgb),.2);stroke:var(--accent);stroke-width:2;stroke-dasharray:8 5;stroke-linejoin:round}.coach-spot{fill:none;stroke:var(--accent);stroke-width:2}.coach-leader line{stroke:var(--accent);stroke-width:2}.coach-leader circle{fill:var(--accent)}.coach-banner,.coach-callout{position:absolute;left:0;top:0;width:max-content;background:var(--panel);border:1px solid var(--line-2);border-radius:6px;box-shadow:0 18px 48px -16px #000000d9,0 2px #0000004d}.coach-banner{max-width:min(640px,calc(100% - 28px));padding:13px 26px 14px;text-align:center}.coach-banner small{display:block;color:var(--muted);font:11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase}.coach-banner h2{margin:9px 0 0;font:700 34px/1.05 var(--font-display);letter-spacing:.02em}.coach-banner em{font-style:normal;color:var(--accent)}.coach-ff{margin:8px 0 0;color:#c4d1c7;font-size:17px}.coach-ff.is-more{margin-top:5px;color:var(--muted);font-size:15px}.coach-go{margin:11px 0 0;color:var(--ink-faint);font:11px var(--mono);letter-spacing:.1em;text-transform:uppercase;animation:pulse 1.6s ease-in-out infinite}.coach-banner kbd,.coach-callout kbd{display:inline-block;min-width:20px;margin:0 1px;color:var(--ink);background:var(--recess);text-align:center;line-height:16px}.coach-steps{margin:0;padding:0;list-style:none}.coach-callout{display:flex;align-items:flex-start;gap:9px;max-width:290px;padding:8px 12px 9px 8px;color:#c4d1c7;border-color:var(--accent);font-size:15px;line-height:1.2}.coach-callout b{display:block;margin:2px 0;color:var(--accent);font-size:16px;font-weight:700;line-height:1;letter-spacing:.06em;text-transform:uppercase}.coach-num{width:22px;height:22px;display:grid;place-items:center;flex:none;color:var(--on-accent);background:var(--accent-fill);border-radius:3px;font:700 15px/1 var(--font-display)}.coach-callout.is-keys{max-width:none;align-items:center}.coach-callout.is-keys b{display:inline;margin:0 8px 0 0}.coach-keys{display:inline-flex;align-items:center;white-space:nowrap}.coach-keys kbd:last-child{margin-left:6px}.coach-legend{display:grid;gap:7px;margin:12px 0 0;padding:10px 0 0;border-top:1px solid var(--line);list-style:none;text-align:left;color:#c4d1c7;font-size:15px;line-height:1.2}.coach-legend li{display:flex;align-items:flex-start;gap:9px}.coach-legend b{color:var(--accent);font-size:15px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.coach-steps.is-compact .coach-callout{padding:0;background:none;border:0;box-shadow:0 2px 8px #0009}.coach-steps.is-compact .coach-callout>:not(.coach-num){display:none}.coach-steps.is-compact .coach-num{width:24px;height:24px;font-size:16px}.game-hud:has(.coach-steps.is-compact) .game-queue{visibility:hidden}@keyframes coach-in{0%{opacity:0}}.game-menu{--menu-pad: 22px;position:absolute;top:78px;left:var(--gutter);z-index:8;width:min(500px,calc(100vw - 2 * var(--gutter)));max-height:calc(100% - 78px - var(--bottom-bar) - 18px);overflow:auto;scrollbar-width:thin}.menu-plate{position:relative;display:flex;flex-direction:column;padding:var(--menu-pad);color:var(--accent);background:var(--sign-black);border-radius:6px;box-shadow:0 30px 70px -24px #000,0 2px #00000073}.menu-plate:before{content:"";position:absolute;inset:7px;border:2px solid var(--accent);border-radius:3px;pointer-events:none}.menu-head{padding:2px 2px 0}.menu-title{display:flex;align-items:center;gap:12px;margin:0;font:700 46px/.9 var(--font-display);letter-spacing:.03em;text-transform:uppercase}.menu-title span:last-child{color:#f3f4ef}.menu-sub{margin:9px 0 0;color:#b4bbab;font:11px var(--mono);letter-spacing:.12em;text-transform:uppercase}.menu-sub span{white-space:nowrap}.menu-step{display:flex;align-items:center;gap:10px;margin:20px 2px 9px}.step-sign{width:22px;height:22px;display:grid;place-items:center;border:2px solid var(--accent);border-radius:2px;font:700 15px/1 var(--font-display)}.step-label{color:#f3f4ef;font:600 15px/1 var(--font-display);letter-spacing:.16em;text-transform:uppercase}.fids{display:flex;flex-direction:column;perspective:700px}.fids-head,.fids-row{display:grid;grid-template-columns:24px minmax(0,1fr) 96px 62px 64px 40px;align-items:center;column-gap:8px;padding:0 10px 0 8px}.fids-head,.board-head{color:var(--accent);font:10px var(--mono);letter-spacing:.14em;text-transform:uppercase}.fids-head{padding-bottom:6px}.fids-head span:nth-child(n+4){text-align:right}.fids-row{height:42px;color:#d9dcd2;background:transparent;border:0;border-top:1px solid rgba(var(--accent-rgb),.16);text-align:left;transform-origin:50% 0;animation:flap .46s cubic-bezier(.2,.9,.25,1) both;animation-delay:calc(var(--i) * 70ms + .14s);transition:background .14s,color .14s}.fids-row:last-child{border-bottom:1px solid rgba(var(--accent-rgb),.16)}.fids-row:hover{background:rgba(var(--accent-rgb),.08)}.fids-arrow{width:20px;height:16px;stroke:currentColor;stroke-width:2.6;stroke-linecap:square;stroke-linejoin:miter;opacity:0;transform:translate(-4px);transition:opacity .14s,transform .14s}.fids-level{color:var(--accent);font:700 22px/1 var(--font-display);letter-spacing:.06em;text-transform:uppercase}.fids-funnel{display:flex;align-items:center;gap:6px}.fids-funnel svg{width:56px;height:18px;fill:currentColor;stroke:none;opacity:.8}.fids-funnel b{font:400 12px var(--mono)}.fids-cell{font:14px var(--mono);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.fids-cell small{margin-left:3px;font-size:9px;letter-spacing:.06em;opacity:.7}.fids-row[aria-checked=true]{color:var(--sign-black);background:var(--accent-fill);border-color:var(--accent);border-radius:2px}.fids-row[aria-checked=true] .fids-level{color:var(--sign-black)}.fids-row[aria-checked=true] .fids-arrow{opacity:1;transform:none}.fids-row:focus-visible{outline:2px solid #fff;outline-offset:1px;position:relative;z-index:1}@keyframes flap{0%{opacity:0;transform:rotateX(-88deg)}to{opacity:1;transform:none}}.time-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.time-tile{position:relative;height:104px;padding:0;overflow:hidden;font:inherit;background:#1b1f1a;border:0;border-radius:4px;box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.22)}.tile-map{position:absolute;inset:0;background-position:center;background-size:cover;filter:saturate(.55) brightness(.62);transition:filter .2s,transform .5s cubic-bezier(.2,.8,.2,1)}.time-tile.is-night .tile-map{background-color:#191c22}.time-tile.is-night .tile-map{filter:brightness(1.25) contrast(1.15)}.time-tile.is-night:hover .tile-map{filter:brightness(1.6) contrast(1.15)}.time-tile.is-night[aria-checked=true] .tile-map{filter:brightness(1.9) contrast(1.2)}.time-tile.is-day .tile-map{background-color:#3a4a32}.time-tile:hover .tile-map{filter:saturate(.8) brightness(.85);transform:scale(1.04)}.time-tile[aria-checked=true] .tile-map{filter:none}.time-tile[aria-checked=true]{box-shadow:inset 0 0 0 3px var(--accent)}.tile-plate{position:absolute;left:8px;bottom:8px;display:flex;align-items:center;gap:7px;padding:5px 9px 5px 7px;color:var(--accent);background:var(--sign-black);border-radius:2px}.tile-plate svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7}.time-tile.is-night .tile-plate svg{fill:currentColor;stroke:none}.tile-plate b{font:700 17px/1 var(--font-display);letter-spacing:.12em;text-transform:uppercase}.tile-plate small{color:#a8ad9f;font:10px var(--mono);letter-spacing:.06em;text-transform:uppercase}.time-tile[aria-checked=true] .tile-plate{color:var(--sign-black);background:var(--accent-fill)}.time-tile[aria-checked=true] .tile-plate small{color:#0d0e0bb3}.time-tile:focus-visible{outline:2px solid #fff;outline-offset:2px}.menu-brief{margin:18px 2px 0;color:#aeb5a6;font:12px/1.55 var(--mono)}.menu-brief p{margin:0}.brief-keys{display:grid;grid-template-columns:auto auto auto;justify-content:space-between;gap:7px 12px;margin-top:10px!important;color:#8e968a;font-size:11px;letter-spacing:.02em}.brief-keys span{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.brief-keys kbd{min-width:18px;padding:1px 4px;color:#e8eadf;text-align:center;border-color:rgba(var(--accent-rgb),.3)}.brief-keys span kbd:last-of-type{margin-right:5px}.brief-ring{width:15px;height:15px;margin:0 6px 0 2px;border:2px dashed rgba(232,234,223,.75);border-radius:50%}.menu-start{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;height:60px;margin-top:20px;padding:0 14px 0 20px;color:var(--sign-black);background:var(--accent-fill);border:0;border-radius:3px;transition:background .14s,transform .12s}.start-word{font:700 32px/1 var(--font-display);letter-spacing:.16em;text-transform:uppercase}.start-arrow{width:64px;height:28px;stroke:currentColor;stroke-width:5;stroke-linecap:square;stroke-linejoin:miter;transition:transform .2s cubic-bezier(.2,.8,.2,1)}.start-key{color:var(--sign-black);border-color:#0d0e0b73;font-size:10px;letter-spacing:.06em}.menu-start:hover{background:var(--accent-fill-hover)}.menu-start:hover .start-arrow{transform:translate(6px)}.menu-start:active{transform:translateY(1px)}.menu-start:focus-visible{outline:3px solid #fff;outline-offset:3px}.menu-start:disabled{cursor:default;opacity:.55}.menu-start:disabled .start-arrow{transform:none}.menu-enter-active .menu-plate{transition:transform .42s cubic-bezier(.2,.9,.25,1),opacity .3s ease}.menu-leave-active .menu-plate{transition:transform .3s cubic-bezier(.5,0,.75,0),opacity .25s ease}.menu-enter-active,.menu-leave-active{transition:opacity .42s}.menu-enter-from .menu-plate,.menu-leave-to .menu-plate{opacity:0;transform:translate(-36px)}@media(max-height:800px){.game-menu{--menu-pad: 18px;top:72px;max-height:calc(100% - 72px - var(--bottom-bar) - 12px)}.menu-title{font-size:38px}.menu-step{margin:14px 2px 7px}.fids-row{height:36px}.time-tile{height:80px}.menu-brief{margin-top:14px}.menu-brief p:first-child{display:none}.brief-keys{margin-top:0!important}.menu-start{height:52px;margin-top:14px}.start-word{font-size:28px}.game-queue{--flap-w: 10px;--flap-h: 18px;--flap-font: 14px;--sep-w: 4px;--col-gap: 7px;--state-font: 12px;--state-w: 62px;--row-gap: 4px;--board-rows: 7;padding:9px 10px 10px}.board-top{margin-bottom:8px}.board-title{font-size:14px}.queue-row.is-selected .queue-state{padding:1px 6px 0}}@media(max-width:800px){.credit-text,.credit-by{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.credit-sep{display:none}}@media(max-width:380px){.help-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}}@media(max-width:700px){:root{--gutter: 12px}.topbar{gap:8px;padding-right:12px}.bar-control .segmented button{min-width:0;padding:0 9px}.bar-right{gap:8px}.bar-div{display:none}.brand-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.picker-button{min-width:0}.basemap-picker .micro-label,.tool-btn span{display:none}.basemap-menu{grid-auto-columns:70px}.style-thumb{width:70px;height:48px}.layers-panel{top:70px}.render-stats{display:none}.bar-end{gap:10px}.attribution{gap:8px}.camera-controls{width:44px;gap:10px}.camera-compass{width:44px;height:44px}.game-queue{--flap-w: 10px;--flap-h: 18px;--flap-font: 14px;--sep-w: 4px;--col-gap: 6px;--state-font: 12px;--state-w: 46px;padding:9px 9px 10px}.board-top{margin-bottom:8px}.board-title{font-size:14px}.queue-row.is-selected .queue-state{padding:1px 6px 0}.game-menu{--menu-pad: 16px}.menu-sub{font-size:10px;letter-spacing:.06em}.fids-head,.fids-row{grid-template-columns:18px minmax(0,1fr) 40px 56px 58px 36px;column-gap:6px;padding:0 8px 0 6px}.fids-level{font-size:19px;letter-spacing:.04em}.fids-funnel svg{display:none}.fids-arrow{width:18px}.tile-plate small{display:none}.brief-keys{grid-template-columns:auto auto}.coach-banner{padding:10px 14px 11px}.coach-banner h2{font-size:24px}.coach-ff{font-size:15px}.coach-callout{max-width:176px;font-size:14px}.coach-callout b{font-size:15px}.pause-switch button{padding:0 8px;letter-spacing:.08em}.pause-toggles button{padding:0;letter-spacing:0}.game-score{gap:9px;padding:0 10px}.game-score>span:not(.score-dot){gap:5px}.game-score small{font-size:9px;letter-spacing:.06em}.game-score b{font-size:17px}.score-dot{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
