html,body{background:#1a1e24;width:100%;height:100%;margin:0;padding:0;font-family:IBM Plex Mono,JetBrains Mono,ui-monospace,monospace;overflow:hidden}#app{width:100%;height:100%;position:relative}#game-canvas{cursor:default;width:100%;height:100%;display:block}#game-canvas.is-playing{cursor:none}#hud{pointer-events:none;color:#e8eef4;text-shadow:0 1px 2px #000000a6;position:absolute;inset:0}.hud-widget{transform:translate(-50%, -50%) scale(var(--hud-scale,1));transform-origin:50%;pointer-events:none;white-space:nowrap;position:absolute}.hud-edit-mode .hud-widget.is-editable{pointer-events:auto;cursor:grab;outline-offset:5px;border-radius:2px;outline:1px dashed #f0c8648c}.hud-edit-mode .hud-widget.is-editable:active{cursor:grabbing}.hud-widget-handle{cursor:nwse-resize;background:#f0c864d9;border:1px solid #00000080;border-radius:1px;width:10px;height:10px;display:none;position:absolute;bottom:-6px;right:-6px}.hud-edit-mode .hud-widget.is-editable .hud-widget-handle{display:block}.hud-edit-banner{letter-spacing:.06em;text-transform:uppercase;color:#f0d878;pointer-events:none;z-index:5;background:#080c12e0;border:1px solid #f0c86466;padding:8px 14px;font-size:11px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.hud-timer{letter-spacing:.04em;opacity:.9;font-size:22px;font-weight:500}.hud-streak{opacity:.7;text-transform:lowercase;font-size:14px}.hud-speed{letter-spacing:-.03em;filter:drop-shadow(0 2px 8px #000000bf);font-size:52px;font-weight:700;line-height:1}.hud-speed b{font-weight:inherit;text-shadow:0 0 20px #78c8ff26,0 2px 4px #000000d9;transition:color .15s}.hud-speed span{opacity:.65;text-shadow:0 1px 3px #000000b3;margin-left:4px;font-size:16px;font-weight:500}.hud-crosshair{pointer-events:none;opacity:var(--ch-alpha,1);--ch-size:8px;--ch-gap:3px;--ch-thick:1.5px;--ch-color:#e8eef4;--ch-alpha:1;--ch-outline:1px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hud-crosshair--dot{width:var(--ch-size);height:var(--ch-size);background:var(--ch-color);border-radius:50%}.hud-crosshair--cross,.hud-crosshair--t{width:calc(var(--ch-gap) * 2 + var(--ch-size) * 2);height:calc(var(--ch-gap) * 2 + var(--ch-size) * 2);background:linear-gradient(var(--ch-color), var(--ch-color)) 50% 0 / var(--ch-thick) var(--ch-size) no-repeat, linear-gradient(var(--ch-color), var(--ch-color)) 50% 100% / var(--ch-thick) var(--ch-size) no-repeat, linear-gradient(var(--ch-color), var(--ch-color)) 0 50% / var(--ch-size) var(--ch-thick) no-repeat, linear-gradient(var(--ch-color), var(--ch-color)) 100% 50% / var(--ch-size) var(--ch-thick) no-repeat}.hud-crosshair--t{background:linear-gradient(var(--ch-color), var(--ch-color)) 50% 100% / var(--ch-thick) var(--ch-size) no-repeat, linear-gradient(var(--ch-color), var(--ch-color)) 0 50% / var(--ch-size) var(--ch-thick) no-repeat, linear-gradient(var(--ch-color), var(--ch-color)) 100% 50% / var(--ch-size) var(--ch-thick) no-repeat}.hud-crosshair--circle{width:calc(var(--ch-size) * 2);height:calc(var(--ch-size) * 2);border:var(--ch-thick) solid var(--ch-color);box-sizing:border-box;border-radius:50%}.hud-crosshair--has-dot:after{content:"";width:calc(var(--ch-thick) * 2);height:calc(var(--ch-thick) * 2);margin:calc(var(--ch-thick) * -1) 0 0 calc(var(--ch-thick) * -1);background:var(--ch-color);border-radius:50%;position:absolute;top:50%;left:50%}.hud-crosshair--outline{filter:drop-shadow(0 0 var(--ch-outline) #000) drop-shadow(0 0 var(--ch-outline) #000)}.hud-crosshair--none{display:none;display:none!important}.hud-showpos{color:#e8eef4d1;pointer-events:none;background:#060a0eb8;border:1px solid #c8dcf01f;margin:0;padding:6px 8px;font:500 11px/1.45 IBM Plex Mono,ui-monospace,monospace;position:absolute;top:10px;left:10px}.hud-showpos:empty,.hud-showpos[style*="display: none"]{display:none!important}.hud-strafe{opacity:.85;align-items:center;gap:8px;min-width:120px;font-size:11px;display:flex}.hud-strafe-label{text-transform:lowercase;opacity:.65;letter-spacing:.04em}.hud-strafe-track{background:#ffffff1a;border-radius:2px;flex:1;height:4px;overflow:hidden}.hud-strafe-fill{background:#9fd4a8;border-radius:2px;width:0%;height:100%;transition:width .12s,background-color .15s}.hud-strafe[data-tier=mid] .hud-strafe-fill{background:#f0d878}.hud-strafe[data-tier=low] .hud-strafe-fill{background:#e87878}.hud-strafe-pct{text-align:right;opacity:.75;min-width:32px;font-size:10px}#debug-stats{z-index:60;white-space:pre;pointer-events:none;color:#b8f6d0;text-shadow:0 1px 2px #000;background:#050a09db;border:1px solid #82f0aa59;min-width:132px;padding:9px 11px;font:600 12px/1.5 IBM Plex Mono,ui-monospace,monospace;position:absolute;top:58px;left:16px}#debug-stats[hidden]{display:none}.hud-quality{letter-spacing:.08em;text-transform:uppercase;min-height:1.2em;margin-top:8px;font-size:18px;font-weight:600;transition:opacity .15s}.hud-quality[data-quality=Perfect]{color:#ffd966;letter-spacing:.1em;text-shadow:0 0 14px #ffd2508c,0 2px 4px #000000d9;font-size:22px;font-weight:700}.hud-quality[data-quality=Perfect].is-flash{animation:.42s ease-out perfect-quality-pop}@keyframes perfect-quality-pop{0%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.hud-quality[data-quality=Good]{color:#9fd4a8}.hud-quality[data-quality=Ok]{color:#9eb0c0}.hud-meta{opacity:.8;font-size:13px}#play-gate{z-index:45;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:default;pointer-events:auto;background:#06080c8c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}#play-gate.is-dismissed{pointer-events:none;display:none}.play-gate-bg{pointer-events:none;background:radial-gradient(80% 55% at 50% 20%,#5a8caa47,#0000 60%),radial-gradient(60% 40% at 70% 80%,#c896461f,#0000 50%),linear-gradient(#0a1218 0%,#121820 50%,#0c1014 100%);position:absolute;inset:0}.play-gate-inner{text-align:center;background:linear-gradient(160deg,#0c1016f0,#121820e6);border:1px solid #c8dcf029;max-width:min(420px,100vw - 32px);padding:32px 40px 28px;position:relative;box-shadow:0 16px 48px #00000080}.play-gate-studio{letter-spacing:.18em;color:#f0d878;margin:0 0 10px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:13px;font-weight:600}.play-gate-brand{letter-spacing:.04em;color:#eef4fa;margin:0 0 10px;font-family:Syne,Segoe UI,sans-serif;font-size:clamp(28px,6vw,40px);font-weight:700;line-height:1.1}.play-gate-tag{opacity:.72;letter-spacing:.02em;margin:0 0 22px;font-size:13px;line-height:1.45}.play-gate-fork{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.play-gate-choice,.play-gate-play{pointer-events:auto;cursor:pointer;color:#e8eef4;letter-spacing:.08em;text-transform:uppercase;background:#141c24e6;border:1px solid #c8dcf047;padding:12px 18px;font:600 12px/1 IBM Plex Mono,ui-monospace,monospace;transition:border-color .16s,background .16s,color .16s}.play-gate-choice:hover,.play-gate-play:hover{color:#f0d878;background:#1e242cf2;border-color:#f0c8648c}.play-gate-play{border-color:#f0c86466;width:100%;margin-top:8px}.play-gate-skip{color:#8a9aa8;letter-spacing:.06em;cursor:pointer;text-underline-offset:3px;background:0 0;border:none;margin-top:10px;font:500 11px/1 IBM Plex Mono,ui-monospace,monospace;text-decoration:underline}.play-gate-skip:hover{color:#c8d4e0}.play-gate-steps{text-align:left;opacity:.88;margin:0 0 16px;padding:0 0 0 18px;font-size:12px;line-height:1.55}.play-gate-steps li{margin-bottom:8px}.play-gate-steps strong{color:#f0d878;font-weight:600}.play-gate-sub{opacity:.55;letter-spacing:.04em;margin:12px 0 0;font-size:11px}#play-gate [hidden]{display:none!important}#perfect-flash{pointer-events:none;opacity:0;background:radial-gradient(ellipse at center, transparent 55%, rgba(255, 220, 140, calc(var(--flash-alpha,.25) * .85)) 100%);box-shadow:inset 0 0 80px rgba(255, 210, 120, calc(var(--flash-alpha,.25)));position:absolute;inset:0}#perfect-flash.flash-active{animation:.18s ease-out forwards perfect-flash-anim}@keyframes perfect-flash-anim{0%{opacity:1}to{opacity:0}}#map-menu{pointer-events:none;z-index:20;position:absolute;inset:0}.map-menu-toggle{pointer-events:auto;color:#e8eef4;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#0a0e14b8;border:1px solid #c8dcf038;padding:8px 12px;font:500 12px/1 IBM Plex Mono,ui-monospace,monospace;transition:border-color .18s,color .18s,background .18s;position:absolute;top:16px;right:16px}.map-menu-toggle:hover{color:#f0d878;border-color:#f0c8648c}.map-menu-panel{pointer-events:auto;color:#e8eef4;background:linear-gradient(160deg,#0c1016f5,#121820f0);border:1px solid #c8dcf02e;width:min(520px,100vw - 24px);max-height:min(82vh,720px);padding:14px 14px 10px;font-family:IBM Plex Mono,ui-monospace,monospace;position:absolute;top:52px;left:auto;right:16px;overflow:auto;box-shadow:0 12px 40px #00000073}.map-menu-kicker{letter-spacing:.14em;text-transform:uppercase;color:#f0d878;opacity:.85;margin:0 0 4px;font-size:10px}.map-menu-studio{pointer-events:none;letter-spacing:.14em;color:#f0d878;opacity:.9;align-self:center;margin-right:auto;font-size:11px}.map-menu-filters{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.map-menu-filter{pointer-events:auto;cursor:pointer;color:#9eb0c0;letter-spacing:.08em;text-transform:uppercase;background:0 0;border:1px solid #c8dcf033;padding:6px 10px;font:500 10px/1 IBM Plex Mono,ui-monospace,monospace}.map-menu-filter.is-active,.map-menu-filter:hover{color:#f0d878;border-color:#f0c86473}.map-menu-grid{grid-template-columns:1fr;gap:8px;display:grid}.map-menu-card{--map-accent:#9eb0c0;--map-accent-soft:#9eb0c026;text-align:left;border-left:3px solid var(--map-accent)!important;background:linear-gradient(90deg, var(--map-accent-soft), #0e12188c)!important;gap:3px!important;padding:10px 12px!important}.map-menu-card:hover{border-color:var(--map-accent)!important}.map-menu-card.is-current{box-shadow:inset 0 0 0 1px var(--map-accent)}.map-menu-card-top{gap:6px;margin-bottom:2px;display:flex}.map-menu-badge{letter-spacing:.1em;text-transform:uppercase;color:#c8d4e0;border:1px solid #c8dcf033;padding:2px 6px;font-size:9px}.map-menu-badge--pulse{color:#7ec8e8;border-color:#7ec8e873}.map-menu-badge--session{color:#e8a060;border-color:#e8a06073}.map-menu-badge--odyssey{color:#90b0d8;border-color:#90b0d880}.map-menu-badge--tier{opacity:.75}.map-menu-fantasy{color:#b8c8d4;opacity:.92;font-size:11px;line-height:1.35}#jit-coach{z-index:18;pointer-events:none;max-width:min(420px,100vw - 32px);position:absolute;bottom:18%;left:50%;transform:translate(-50%)}.jit-coach-hint{text-align:center;letter-spacing:.03em;color:#eef4fa;background:#0a0e14c7;border:1px solid #f0c86459;margin:0;padding:10px 14px;font:500 12px/1.4 IBM Plex Mono,ui-monospace,monospace;box-shadow:0 8px 24px #00000059}@media (min-width:720px){.map-menu-grid{grid-template-columns:1fr 1fr}}.map-menu-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.map-menu-header h2{letter-spacing:.06em;text-transform:uppercase;opacity:.9;margin:0;font-size:14px;font-weight:600}.map-menu-close{color:#9eb0c0;cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:16px;transition:color .16s}.map-menu-close:hover{color:#f0d878}.map-menu-panel,.settings-panel{scrollbar-width:thin;scrollbar-color:#c8dcf040 transparent}.map-menu-panel::-webkit-scrollbar{width:6px}.settings-panel::-webkit-scrollbar{width:6px}.map-menu-panel::-webkit-scrollbar-thumb{background:#c8dcf038;border-radius:3px}.settings-panel::-webkit-scrollbar-thumb{background:#c8dcf038;border-radius:3px}.map-menu-panel::-webkit-scrollbar-thumb:hover{background:#f0c86459}.settings-panel::-webkit-scrollbar-thumb:hover{background:#f0c86459}.map-menu-tier{margin-bottom:10px}.map-menu-tier-label{letter-spacing:.14em;text-transform:uppercase;opacity:.45;margin:6px 2px 4px;font-size:10px}.map-menu-item{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:#ffffff08;border:1px solid #0000;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:3px;padding:8px 10px;transition:background .16s,border-color .16s;display:flex}.map-menu-item:hover{background:#ffffff12;border-color:#c8dcf026}.map-menu-item.is-current{background:#f0c86414;border-color:#f0c86473}.map-menu-name{font-size:13px}.map-menu-meta{opacity:.5;font-size:10px}.map-menu-foot{opacity:.4;margin:8px 2px 0;font-size:10px}.map-menu-toolbar{pointer-events:none;z-index:21;justify-content:flex-start;align-items:center;gap:6px;display:flex;position:absolute;top:16px;left:16px;right:16px}.map-menu-toolbar .map-menu-toggle,.map-menu-toolbar .map-menu-studio{pointer-events:auto}.map-menu-toolbar .map-menu-toggle{position:static}.map-menu-tabs{gap:4px;margin-bottom:10px;display:flex}.map-menu-tab{color:#9eb0c0;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#ffffff0a;border:1px solid #0000;flex:1;padding:7px 8px;font:500 11px/1 IBM Plex Mono,ui-monospace,monospace;transition:color .16s,border-color .16s,background .16s}.map-menu-tab.is-active{color:#f0d878;background:#f0c86414;border-color:#f0c86459}.map-menu-empty{opacity:.55;margin:12px 4px;font-size:12px}.lb-table{border-collapse:collapse;width:100%;margin-bottom:6px;font-size:11px}.lb-table th,.lb-table td{text-align:left;border-bottom:1px solid #c8dcf014;padding:4px 6px}.lb-table th{opacity:.45;letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:500}.lb-table tr.is-current td{color:#f0d878}.hud-cp{opacity:.7;letter-spacing:.04em;min-height:1em;font-size:12px;position:absolute;top:90%;left:10%}.hud-hint{opacity:.38;letter-spacing:.04em;margin:0;font-size:10px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}#settings-screen{z-index:40;pointer-events:auto;background:#06080cb8;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}#settings-screen[hidden]{display:none!important}.settings-panel{color:#e8eef4;background:linear-gradient(160deg,#0c1016f7,#121820f2);border:1px solid #c8dcf02e;width:min(520px,100vw - 24px);max-height:min(86vh,720px);padding:16px 18px 18px;font-family:IBM Plex Mono,ui-monospace,monospace;overflow:auto;box-shadow:0 16px 48px #0000008c}.settings-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.settings-header h2{letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:15px}.settings-close{color:#9eb0c0;cursor:pointer;background:0 0;border:none;font-size:16px;transition:color .16s}.settings-close:hover{color:#f0d878}.settings-section{border-bottom:1px solid #c8dcf014;margin-bottom:16px;padding-bottom:10px}.settings-section h3{letter-spacing:.12em;text-transform:uppercase;opacity:.5;margin:0 0 8px;font-size:11px}.settings-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;font-size:12px;display:flex}.settings-row label{opacity:.85;flex:0 0 38%}.settings-slider-wrap{flex:1;align-items:center;gap:8px;display:flex}.settings-slider-wrap input[type=range]{accent-color:#f0d878;flex:1}.settings-val{text-align:right;opacity:.7;min-width:52px;font-size:11px}.settings-number{width:88px;color:inherit;font:inherit;background:#ffffff0d;border:1px solid #c8dcf033;padding:4px 6px}.settings-row select{color:inherit;font:inherit;background:#ffffff0d;border:1px solid #c8dcf033;max-width:55%;padding:4px 6px}.settings-row input[type=checkbox]{accent-color:#f0d878;width:16px;height:16px}.settings-bind-btn{min-width:100px;color:inherit;font:inherit;cursor:pointer;background:#ffffff0d;border:1px solid #c8dcf038;padding:5px 8px;transition:border-color .16s,background .16s}.settings-bind-btn:hover{background:#ffffff14;border-color:#c8dcf059}.settings-bind-btn.is-capturing{color:#f0d878;border-color:#f0c86499}.settings-hint{opacity:.45;margin:6px 0 0;font-size:10px;line-height:1.4}.settings-row-colors{align-items:flex-start}.settings-color-wrap{flex-wrap:wrap;flex:1;justify-content:flex-end;align-items:center;gap:6px;display:flex}.settings-color-swatch{cursor:pointer;border:2px solid #c8dcf033;border-radius:3px;width:22px;height:22px;padding:0;transition:border-color .16s,transform .16s}.settings-color-swatch:hover{transform:scale(1.08)}.settings-color-swatch.is-active{border-color:#f0d878}.settings-color-picker{cursor:pointer;background:0 0;border:1px solid #c8dcf040;width:28px;height:22px;padding:0}.settings-row-code{align-items:flex-start}.settings-code-wrap{flex-wrap:wrap;flex:1;justify-content:flex-end;align-items:center;gap:6px;display:flex}.settings-code-input{min-width:140px;font:inherit;color:#e8eef4;background:#080c128c;border:1px solid #c8dcf038;flex:160px;padding:6px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.settings-code-input.is-invalid{border-color:#ff6b6b}.settings-code-wrap>button{font:inherit;cursor:pointer;color:#f0d878;background:#f0c8641a;border:1px solid #f0c86459;padding:6px 10px;font-size:11px}.settings-code-wrap>button:hover{background:#f0c8642e}.settings-row-action{justify-content:stretch}.settings-action-btn{color:#f0d878;width:100%;font:inherit;cursor:pointer;background:#f0c8641a;border:1px solid #f0c86459;padding:8px 12px;font-size:12px;transition:background .16s,border-color .16s}.settings-action-btn:hover{background:#f0c8642e;border-color:#f0c8648c}#tutorial{z-index:35;pointer-events:none;background:linear-gradient(#0000 40%,#06080c8c);justify-content:center;align-items:flex-end;padding:24px;display:flex;position:absolute;inset:0}#tutorial[hidden]{display:none!important}.tutorial-panel{pointer-events:auto;color:#e8eef4;background:linear-gradient(160deg,#0c1016f5,#121820f0);border:1px solid #c8dcf02e;width:min(440px,100vw - 32px);padding:16px 18px 14px;font-family:IBM Plex Mono,ui-monospace,monospace;box-shadow:0 12px 40px #00000080}.tutorial-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.tutorial-header h2{letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:14px}.tutorial-skip{color:#9eb0c0;font:inherit;cursor:pointer;background:0 0;border:1px solid #c8dcf033;padding:4px 8px;font-size:11px;transition:border-color .16s,color .16s}.tutorial-skip:hover{color:#e8eef4;border-color:#c8dcf066}.tutorial-body{opacity:.9;margin:0 0 10px;font-size:13px;line-height:1.45}.tutorial-feedback{letter-spacing:.04em;color:#9eb0c0;min-height:1.3em;margin-bottom:6px;font-size:14px;font-weight:600}.tutorial-feedback[data-quality=Perfect]{color:#f0d878}.tutorial-feedback[data-ok="1"]{color:#9fd4a8}.tutorial-hint{opacity:.5;margin:0 0 10px;font-size:11px}.tutorial-actions{gap:8px;margin-bottom:10px;display:flex}.tutorial-next,.tutorial-close{color:#f0d878;font:inherit;cursor:pointer;background:#f0c86426;border:1px solid #f0c86466;padding:6px 14px;font-size:12px;transition:background .16s,border-color .16s}.tutorial-next:hover,.tutorial-close:hover{background:#f0c86440;border-color:#f0c86499}.tutorial-steps{justify-content:center;gap:6px;display:flex}.tutorial-dot{background:#c8dcf033;border-radius:50%;width:7px;height:7px}.tutorial-dot.is-active{background:#f0d878}.tutorial-dot.is-done{background:#9fd4a8b3}.daily-card{background:linear-gradient(145deg,#121c24e6,#0e141cd9);border:1px solid #c8dcf029;margin:0 0 14px;padding:12px 12px 10px;transition:border-color .35s,background .35s}.daily-card.is-calm,.daily-card.is-reduced-motion,#map-menu.is-reduced-motion .daily-card,#map-menu.is-reduced-motion .daily-card-play{transition:none!important}.daily-card-label{letter-spacing:.14em;text-transform:uppercase;color:#c8dcf08c;margin-bottom:6px;font-size:10px}.daily-card-title{color:#e8eef4;margin-bottom:4px;font-size:14px;font-weight:600}.daily-card-meta{color:#c8dcf08c;margin-bottom:8px;font-size:11px}.daily-card-explainer{color:#c8dcf09e;margin:-2px 0 10px;font-size:11px;line-height:1.4}.daily-card-row{color:#c8dcf0b8;justify-content:space-between;margin-bottom:3px;font-size:11px;display:flex}.daily-card-targets{color:#c8dcf073;margin:6px 0 8px;font-size:10px}.daily-card-streak{color:#9fd4a8;margin-bottom:10px;font-size:11px;line-height:1.35}.daily-card-play{color:#e8eef4;width:100%;font:inherit;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:#c8dcf00f;border:1px solid #c8dcf038;padding:8px 10px;font-size:11px;transition:border-color .2s,background .2s,color .2s}.daily-card.is-calm .daily-card-play{transition:none}.daily-card-play:hover{color:#e8d4b0;background:#c8a87814;border-color:#c8a8788c}.map-menu-medals{opacity:.45;width:100%;margin-top:2px}#session-summary{z-index:35;pointer-events:auto;background:#060a0e7a;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}#session-summary[hidden]{display:none}#session-summary.is-calm,#session-summary.is-reduced-motion{background:#060a0e94}.session-summary-panel{z-index:1;color:#e8eef4;background:linear-gradient(160deg,#0c1016f5,#121820f0);border:1px solid #c8dcf02e;width:min(360px,100vw - 32px);padding:16px 16px 14px;font-family:IBM Plex Mono,ui-monospace,monospace;transition:opacity .25s;position:relative;box-shadow:0 16px 48px #0006}#session-summary.is-calm .session-summary-panel,#session-summary.is-reduced-motion .session-summary-panel{transition:none}.session-summary-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.session-summary-header h2{letter-spacing:.08em;text-transform:uppercase;opacity:.85;margin:0;font-size:13px;font-weight:600}.session-summary-close{color:#9eb0c0;cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:16px}.session-summary-time{letter-spacing:.04em;margin:0 0 4px;font-size:28px;font-weight:500}.session-summary-medal{color:#c8a878;margin:0 0 12px;font-size:12px}.session-summary-stats{margin:0 0 12px;padding:0;list-style:none}.session-summary-stats li{color:#c8dcf0b8;border-top:1px solid #c8dcf014;padding:4px 0;font-size:11px}.session-summary-note{color:#9fd4a8;margin:0 0 12px;font-size:11px;line-height:1.4}.session-summary-tip{color:#f0d878;opacity:.92;margin:0 0 12px;font-size:11px;line-height:1.45}.session-summary-ctas{flex-wrap:wrap;gap:8px;display:flex}.session-summary-cta{color:#e8eef4;min-width:88px;font:inherit;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:#c8dcf00f;border:1px solid #c8dcf038;flex:auto;padding:8px 10px;font-size:11px}.session-summary-cta:hover{color:#f0d878;border-color:#f0d87880}.session-summary-cta[data-cta=race]{border-color:#f0d87847}.session-summary-dismiss{color:#e8eef4;width:100%;font:inherit;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:#c8dcf00f;border:1px solid #c8dcf038;padding:8px 10px;font-size:11px}.session-summary-dismiss:hover{color:#e8d4b0;border-color:#c8a87880}#pause-menu{z-index:32;pointer-events:auto;background:#060a0e6b;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}#pause-menu[hidden]{display:none}.pause-menu-panel{color:#e8eef4;background:linear-gradient(160deg,#0c1016f5,#121820f0);border:1px solid #c8dcf02e;width:min(320px,100vw - 32px);padding:16px 16px 14px;font-family:IBM Plex Mono,ui-monospace,monospace;box-shadow:0 16px 48px #0006}.pause-menu-header h2{letter-spacing:.08em;text-transform:uppercase;opacity:.85;margin:0 0 4px;font-size:13px;font-weight:600}.pause-menu-clock-note{color:#c8dcf08c;letter-spacing:.04em;margin:0 0 14px;font-size:10px}.pause-menu-actions{flex-direction:column;gap:6px;display:flex}.pause-menu-btn{color:#e8eef4;width:100%;font:inherit;cursor:pointer;text-align:left;background:#c8dcf00d;border:1px solid #c8dcf02e;justify-content:space-between;align-items:center;padding:9px 11px;font-size:12px;display:flex}.pause-menu-btn:hover{color:#f0d878;border-color:#f0d87873}.pause-menu-key{letter-spacing:.06em;text-transform:uppercase;color:#c8dcf073;font-size:10px}.pause-menu-btn:hover .pause-menu-key{color:#f0d878b3}.pause-menu-ghost{color:#f0d878;border-color:#f0d87847;margin-top:4px}.pause-menu-meta{border-top:1px solid #c8dcf01a;margin-top:14px;padding-top:10px}.pause-menu-meta-row{color:#c8dcf09e;justify-content:space-between;gap:12px;padding:3px 0;font-size:10px;display:flex}.pause-menu-meta-row span:last-child{color:#e8eef4;text-align:right}#fail-flash{z-index:28;pointer-events:none;opacity:0;background:#b4282838;transition:opacity .22s ease-out;position:absolute;inset:0}#fail-flash.is-on{opacity:1}#fail-flash.is-calm{background:#b43c3c8c;height:3px;transition:opacity .18s ease-out;inset:auto 0 0}@media (prefers-reduced-motion:reduce){.daily-card,.daily-card-play,.session-summary-panel{transition:none!important;animation:none!important}#fail-flash{transition:none!important}.map-loading-dots:after{content:"…"!important;animation:none!important}}#map-loading{z-index:40;pointer-events:none;background:#080c1059;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}#map-loading[hidden]{display:none}.map-loading-text{letter-spacing:.06em;text-transform:lowercase;color:#e8eef4e0;background:#0c1014d1;border:1px solid #c8dcf029;margin:0;padding:10px 14px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px}.map-loading-name{color:#f0d878}.map-loading-dots:after{content:"";animation:1.2s steps(4,end) infinite map-loading-dots}#map-loading.is-calm .map-loading-dots:after{content:"…";animation:none}@keyframes map-loading-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}#boot-blocker{z-index:50;color:#e8eef4;justify-content:center;align-items:center;font-family:IBM Plex Mono,ui-monospace,monospace;display:flex;position:absolute;inset:0}.boot-blocker-bg{background:radial-gradient(80% 55% at 50% 20%,#5a8caa47,#0000 60%),linear-gradient(#0a1218 0%,#121820 50%,#0c1014 100%);position:absolute;inset:0}.boot-blocker-inner{text-align:center;background:linear-gradient(160deg,#0c1016f0,#121820e6);border:1px solid #c8dcf029;max-width:min(420px,100vw - 32px);padding:32px 36px 28px;position:relative;box-shadow:0 16px 48px #00000080}.boot-blocker-studio{letter-spacing:.18em;color:#f0d878;margin:0 0 10px;font-size:13px;font-weight:600}.boot-blocker-brand{letter-spacing:.04em;color:#eef4fa;margin:0 0 14px;font-family:Syne,Segoe UI,sans-serif;font-size:clamp(28px,6vw,40px);font-weight:700;line-height:1.1}.boot-blocker-title{letter-spacing:.08em;text-transform:uppercase;color:#f0d878;margin:0 0 8px;font-size:13px}.boot-blocker-body{opacity:.75;margin:0;font-size:13px;line-height:1.45}.boot-blocker-link{margin:16px 0 0;font-size:12px}.boot-blocker-link a{color:#f0d878;text-underline-offset:3px;text-decoration:underline}#playtest-toast{z-index:46;letter-spacing:.04em;color:#e8eef4;opacity:0;pointer-events:none;background:#0c1014eb;border:1px solid #f0d87859;max-width:min(420px,100vw - 24px);padding:10px 14px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;transition:opacity .18s,transform .18s;position:absolute;bottom:28px;left:50%;transform:translate(-50%)translateY(8px)}#playtest-toast.is-on{opacity:1;transform:translate(-50%)translateY(0)}@media (prefers-reduced-motion:reduce){#playtest-toast{transition:none!important}}
