:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#eef5ff;font-synthesis:none;background:#03040a;font-family:Arial Narrow,Roboto Condensed,Aptos Narrow,system-ui,sans-serif}*{box-sizing:border-box}html,body,#app{overscroll-behavior:none;background:#03040a;width:100%;height:100%;min-height:100dvh;margin:0;overflow:hidden}button,select{font:inherit}#app{isolation:isolate;touch-action:none;-webkit-user-select:none;user-select:none;position:relative}#canvas-host,#canvas-host canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.boot{z-index:20;padding:max(24px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));text-align:center;touch-action:manipulation;background:radial-gradient(circle at 50% 70%,#201b4ead,#03040af0 52%,#03040a 85%);place-content:center;justify-items:center;gap:1.15rem;transition:opacity 1.4s,visibility 1.4s;display:grid;position:absolute;inset:0}.boot.is-gone{opacity:0;visibility:hidden;pointer-events:none}.boot.is-fallback .drive-button{cursor:pointer;opacity:1}button[hidden]{display:none!important}.eyebrow,.boot-meta,.hud-label,.debug{font-family:ui-monospace,Cascadia Mono,monospace}.eyebrow{color:#42f5e9;letter-spacing:.2em;margin:0;font-size:clamp(.65rem,1.2vw,.78rem)}h1{letter-spacing:-.055em;text-transform:uppercase;text-shadow:0 0 34px #f04aa538;max-width:12ch;margin:0;font-size:clamp(3.4rem,11vw,9rem);font-weight:800;line-height:.78}h1 span{color:#f04aa5;letter-spacing:.46em;padding-left:.46em;font-size:.26em;line-height:1.5;display:block}.boot-copy{color:#eef5ffb8;letter-spacing:.08em;margin:0}.drive-button,.pause-action,.district-toggle{color:#eef5ff;letter-spacing:.22em;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#03040aeb;border:1px solid #42f5e9;border-radius:2px;min-width:150px;min-height:48px}.drive-button:hover,.drive-button:focus-visible,.pause-action:hover,.pause-action:focus-visible,.district-toggle:hover,.district-toggle:focus-visible{outline-offset:4px;background:#42f5e91f;outline:2px solid #42f5e9}.district-field{text-align:left;-webkit-user-select:auto;user-select:auto;touch-action:manipulation;gap:.28rem;min-width:min(86vw,280px);display:grid}.district-field>span{color:#42f5e9;letter-spacing:.14em;font:.62rem ui-monospace,monospace}.district-picker{position:relative}.district-toggle{letter-spacing:.14em;text-align:left;touch-action:manipulation;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2342f5e9' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-position:right .85rem center;background-repeat:no-repeat;justify-content:space-between;align-items:center;width:100%;padding:0 2.2rem 0 .85rem;display:flex}.district-picker.is-open .district-toggle{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2342f5e9' d='M1 7l5-5 5 5'/%3E%3C/svg%3E")}.district-menu{z-index:8;background:#03040a;border:1px solid #42f5e9;border-radius:2px;gap:2px;max-height:min(48vh,340px);padding:4px;display:grid;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto;box-shadow:0 12px 32px #03040ab8}.district-menu[hidden]{display:none}.district-option{color:#eef5ff;letter-spacing:.14em;text-align:left;cursor:pointer;touch-action:manipulation;background:#0a0c18;border:0;border-radius:1px;min-height:44px;padding:0 .85rem}.district-option:hover,.district-option:focus-visible{color:#03040a;background:#42f5e9;outline:0}.district-option.is-current{color:#42f5e9;box-shadow:inset 2px 0 #42f5e9}.district-option.is-current:hover,.district-option.is-current:focus-visible{color:#03040a;box-shadow:inset 2px 0 #03040a}.boot-meta{color:#eef5ff7a;letter-spacing:.12em;flex-wrap:wrap;justify-content:center;gap:.5rem 1.4rem;font-size:.67rem;display:flex}#ui-root{z-index:15;pointer-events:none;position:absolute;inset:0}#ui-root .hud-pause,#ui-root .hud-radio,#ui-root .touch-pad,#ui-root .pause-layer,#ui-root .end-layer,#ui-root .restore-layer{pointer-events:auto}.hud{z-index:10;pointer-events:none;padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));opacity:0;transition:opacity 1s;position:absolute;inset:0}.drive-button:disabled{opacity:.45;cursor:wait}.hud.is-visible{opacity:.86}.hud.is-visible.is-dim{opacity:.18}.hud-block{text-shadow:0 1px 10px #03040a;background:linear-gradient(90deg,#03040a85,#0000);padding:.6rem .72rem;position:absolute}.hud-district{top:max(18px, env(safe-area-inset-top));left:max(18px, env(safe-area-inset-left))}.hud-clock{top:max(18px, env(safe-area-inset-top));right:max(18px, env(safe-area-inset-right));text-align:right}.hud-speed{bottom:max(18px, env(safe-area-inset-bottom));left:max(18px, env(safe-area-inset-left))}.hud-radio{bottom:max(18px, env(safe-area-inset-bottom));right:max(18px, env(safe-area-inset-right));text-align:right;pointer-events:auto;cursor:pointer;color:inherit;border:0;min-height:44px}.hud-pause{left:50%;top:max(18px, env(safe-area-inset-top));pointer-events:auto;color:inherit;cursor:pointer;border:0;min-width:44px;min-height:44px;transform:translate(-50%)}.hud-value{color:#eef5ff;letter-spacing:.08em;font-size:clamp(1rem,2.1vw,1.45rem);font-weight:700;display:block}.hud-label{color:#42f5e9;letter-spacing:.16em;margin-top:.2rem;font-size:.62rem;display:block}.hud-speed .hud-value{font-size:clamp(2rem,6vw,4rem);line-height:.8}.touch-pad{z-index:12;left:50%;bottom:max(20px, calc(env(safe-area-inset-bottom) + 6px));pointer-events:none;gap:min(42vw,9.5rem);display:none;position:absolute;transform:translate(-50%)}.touch-pad.is-visible{display:flex}.touch-pad.is-away{display:none}.touch-btn{pointer-events:auto;color:#eef5ff6b;letter-spacing:0;touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#03040a47;border:0;border-radius:1px;width:56px;height:56px;padding:0;font-size:1.35rem;line-height:1;box-shadow:inset 1px 0 #42f5e947}.touch-btn.is-held{color:#42f5e9;background:#42f5e91a}.touch-btn:focus-visible{outline-offset:3px;outline:2px solid #42f5e9}html.is-contrast .touch-btn{color:#c9fff9;background:#03040ab8;box-shadow:inset 2px 0 #7cfffa}.event-card{text-align:left;opacity:0;background:#03040ac2;border-left:2px solid #f04aa5;min-width:min(86vw,310px);padding:.8rem 1rem;transition:opacity .8s,transform .8s;position:absolute;top:20%;left:50%;transform:translate(-50%,-10px)}.event-card.is-visible{opacity:.88;transform:translate(-50%)}.event-card strong,.event-card span{display:block}.event-card span{color:#f04aa5;letter-spacing:.14em;font:.65rem ui-monospace,monospace}.event-card strong{letter-spacing:.16em;margin-top:.2rem}.pause-layer.is-visible,.end-layer.is-visible,.restore-layer.is-visible{display:grid}.pause-layer{z-index:30;padding:max(24px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));text-align:center;background:#03040ae0;place-content:center;justify-items:center;gap:.55rem;display:none;position:absolute;inset:0;overflow:auto}.pause-layer .pause-action,.pause-layer .district-field,.pause-layer .settings-grid{width:min(86vw,280px)}.settings-grid{gap:.45rem;display:grid}.pause-layer h2,.end-layer h2,.restore-layer h2{letter-spacing:-.03em;margin:0;font-size:clamp(2rem,8vw,5rem)}.pause-layer p,.end-layer p,.restore-layer p{color:#eef5ff99;margin:0 0 .8rem;font-style:italic}.pause-meta{grid-template-columns:repeat(2,minmax(8rem,11rem));gap:.55rem 1.2rem;margin:0 0 .4rem;padding:0;display:grid}.pause-meta div{text-align:left;margin:0}.pause-meta dt{color:#42f5e9;letter-spacing:.14em;margin:0;font:.62rem ui-monospace,monospace}.pause-meta dd{letter-spacing:.08em;margin:.15rem 0 0}.end-layer{z-index:31;padding:max(24px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;background:#03040ae0;place-content:center;justify-items:center;gap:1rem;display:none;position:absolute;inset:0;overflow:auto}.restore-layer{z-index:50;text-align:center;background:#03040aeb;place-content:center;justify-items:center;gap:.8rem;padding:24px;display:none;position:absolute;inset:0}.debug{z-index:40;white-space:pre;color:#a8ff93;pointer-events:none;background:#03040ab8;border-left:2px solid #a8ff93;padding:.55rem .7rem;font-size:11px;line-height:1.45;display:none;position:absolute;top:50%;left:18px;transform:translateY(-50%)}.debug.is-visible{display:block}.grain{z-index:5;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");animation:.35s steps(2,end) infinite grain;display:none;position:absolute;inset:-50%}html.is-grain .grain{display:block}@keyframes grain{0%{transform:translate(0)}25%{transform:translate(3%,-2%)}50%{transform:translate(-2%,3%)}75%{transform:translate(2%,2%)}}html.is-contrast .hud-block{background:#03040ae0}html.is-contrast .hud-value{color:#fff}html.is-contrast .hud-label{color:#7cfffa}html.is-contrast .event-card{background:#03040a;border-left-width:4px}html.is-contrast .pause-layer,html.is-contrast .end-layer{background:#03040a}html.is-reduced-fx .event-card{transition:opacity .2s;transform:none}html.is-embed .grain{display:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.grain{display:none!important}}@media (orientation:portrait){.hud-district{max-width:58vw}.hud-block{padding:.45rem .55rem}.touch-pad{bottom:max(18px, env(safe-area-inset-bottom))}}@media (pointer:fine) and (min-width:900px){.touch-pad.is-visible{display:none}}
