:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--edge-top:max(var(--safe-top), .75rem);--edge-right:max(var(--safe-right), .75rem);--edge-bottom:max(var(--safe-bottom), .75rem);--edge-left:max(var(--safe-left), .75rem);--ink:#11151a;--ink-edge:#07090c;--surface:#1c222b;--control:#2a323d;--control-hover:#36404d;--line:#2f3742;--line-strong:#4a5563;--text:#f4f2ec;--muted:#9aa3ad;--signal:#ffd02e;--signal-hover:#ffdc5c;--signal-edge:#c0970f;--signal-ink:#15130a;--overlay:#11151ad6;--focus:#7cc4ff;--radius:.5rem;--radius-lg:.75rem;--gap:.6rem;--small:max(11px, .75rem);--target:max(44px, 2.6rem);--lift:3px;--drop:0 .3rem 0 #0000004d;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:clamp(14px,10px + 1.2vmin,20px);line-height:1.3}@media (pointer:coarse){:root{--target:max(48px, 2.6rem);--hud-x:max(var(--safe-left), var(--safe-right), 1.5rem);font-size:clamp(15px,11px + 1.2vmin,20px)}}*{box-sizing:border-box;margin:0;padding:0}html,body{background:#11151a;width:100%;height:100%;overflow:hidden}#game{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;display:block}#ui{pointer-events:none;color:var(--text);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;position:fixed;inset:0}.screen{padding:var(--edge-top) var(--edge-right) var(--edge-bottom) var(--edge-left);pointer-events:auto;flex-direction:column;align-items:center;gap:.75rem;display:flex;position:absolute;inset:0}.btn{appearance:none;min-height:var(--target);border-radius:var(--radius);background:var(--control);color:var(--text);font:inherit;letter-spacing:.01em;cursor:pointer;touch-action:manipulation;box-shadow:0 var(--lift) 0 var(--ink-edge);border:0;justify-content:center;align-items:center;gap:.5rem;padding:.4rem 1rem;font-weight:700;transition:background-color .12s,transform 80ms,box-shadow 80ms;display:inline-flex}.btn:active:not(:disabled){transform:translateY(calc(var(--lift) - 1px));box-shadow:0 1px 0 var(--ink-edge)}.btn:disabled{opacity:.35;cursor:default}.btn-primary{background:var(--signal);color:var(--signal-ink);box-shadow:0 var(--lift) 0 var(--signal-edge);font-weight:800}.btn-primary:active:not(:disabled){box-shadow:0 1px 0 var(--signal-edge)}.btn-lg{min-height:calc(var(--target) * 1.35);letter-spacing:.04em;text-transform:uppercase;gap:.7rem;font-size:1.25rem}.btn-lg .icon{width:1.6rem;height:1.6rem}.btn-text{flex-direction:column;align-items:flex-start;gap:.05rem;line-height:1.15;display:flex}.btn-sub{font-size:var(--small);letter-spacing:.06em;opacity:.72;font-weight:700}.btn-tile{font-size:var(--small);flex-direction:column;gap:.2rem;padding:.45rem .3rem;line-height:1.15}.btn-icon{width:var(--target);min-width:var(--target);padding:0}.icon{fill:currentColor;flex:none;width:1.3rem;height:1.3rem}.btn:focus-visible,.map-card:focus-visible,.dot:focus-visible,.switch-input:focus-visible+.switch{outline:3px solid var(--focus);outline-offset:2px}.panel{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--drop)}.muted{color:var(--muted)}.small{font-size:.85rem}.eyebrow{color:var(--muted);font-size:var(--small);letter-spacing:.1em;text-transform:uppercase;font-weight:700}.screen-menu{grid-template-columns:minmax(0,23rem) minmax(0,25rem);place-content:center;align-items:center;gap:clamp(1.25rem,5vw,3.5rem);display:grid}.menu-main{gap:clamp(.9rem,4vh,1.6rem);display:grid}.logo{letter-spacing:.01em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:.3em;font-size:clamp(1.7rem,7.5vmin,2.9rem);font-weight:800;line-height:1;display:flex}.logo-mark{flex:none;width:1.2em;height:1.2em}.mark-bg{fill:var(--signal)}.mark-plane{fill:var(--signal-ink)}.menu-actions{gap:var(--gap);display:grid}.menu-row{gap:var(--gap);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.menu-credit{color:var(--muted);font-size:var(--small);text-align:center;grid-column:1/-1;justify-items:center;gap:.5rem;display:grid}.menu-credit a{color:inherit;text-underline-offset:.2em}.menu-credit a:hover,.menu-credit a:focus-visible{color:var(--text)}.menu-credit .menu-fork{border:1px solid var(--line);border-radius:999px;align-items:center;gap:.45rem;padding:.4rem .85rem;font-weight:600;text-decoration:none;display:inline-flex}.menu-fork:hover,.menu-fork:focus-visible{border-color:var(--line-strong)}.menu-fork .icon{opacity:.7;width:.95rem;height:.95rem}.menu-fork:hover .icon,.menu-fork:focus-visible .icon{opacity:1}.menu-map{gap:.45rem;display:grid}@media (width<=34rem),(orientation:portrait){.screen-menu{grid-template-columns:minmax(0,24rem);gap:1.25rem}.logo{justify-content:center}}.screen-sub{--content:40rem}.screen-header{width:min(100%, var(--content));flex:none;align-items:center;gap:.75rem;display:flex}.screen-header h1{letter-spacing:.06em;text-transform:uppercase;flex:1;font-size:1.25rem;font-weight:800}.counter{border-radius:var(--radius);background:var(--surface);color:var(--muted);font-size:var(--small);font-variant-numeric:tabular-nums;letter-spacing:.06em;padding:.2rem .55rem;font-weight:700}.scroll{overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;flex-direction:column;flex:1;align-items:center;width:100%;min-height:0;padding:.25rem .25rem .4rem;display:flex;overflow-y:auto}.scroll>*{width:min(100%, var(--content));flex:none}.scroll>:first-child{margin-top:auto}.scroll>:last-child{margin-bottom:auto}[data-screen=settings]{--content:30rem}[data-screen=scores]{--content:48rem}[data-screen=maps]{--grid-gap:.75rem;--content:min(60rem, calc((100dvh - var(--edge-top) - var(--edge-bottom) - var(--target) - .75rem - .65rem - var(--grid-gap)) * 8 / 3 + 2 * var(--grid-gap)))}[data-screen=help]{--content:min(52rem, calc((100dvh - var(--edge-top) - var(--edge-bottom) - 2 * var(--target) - 3.2rem - 2.25rem) * 16 / 9))}.settings{padding:.25rem 1rem}.setting{min-height:var(--target);text-align:left;justify-content:space-between;align-items:center;gap:1rem;padding-block:.3rem;display:flex;position:relative}label.setting{cursor:pointer}.settings .setting+.setting{border-top:1px solid var(--line)}.setting-label{font-weight:600}.switch-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.switch{background:var(--line-strong);border-radius:.4rem;flex:none;width:2.9rem;height:1.6rem;transition:background-color .15s;position:relative}.switch:before{content:"";background:var(--text);border-radius:.25rem;width:1.2rem;height:1.2rem;transition:transform .15s,background-color .15s;position:absolute;top:.2rem;left:.2rem}.switch-input:checked+.switch{background:var(--signal)}.switch-input:checked+.switch:before{background:var(--signal-ink);transform:translate(1.3rem)}.map-grid{gap:var(--grid-gap);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@media (width<=34rem){[data-screen=maps]{--content:60rem}.map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.map-card{appearance:none;aspect-ratio:16/9;border-radius:var(--radius-lg);background:var(--surface);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;box-shadow:var(--drop);border:0;padding:0;transition:transform .12s,box-shadow .12s;display:block;position:relative;overflow:hidden}.map-card.current{box-shadow:0 0 0 3px var(--signal), var(--drop)}.map-card:active{transform:translateY(2px)}.thumb{position:absolute;inset:0}.thumb canvas{width:100%;height:100%;animation:.3s ease-out both fade-in;display:block}.map-caption{background:var(--ink);align-items:center;gap:.55rem;padding:.4rem .6rem;display:flex;position:absolute;inset:auto 0 0}.map-tag{background:var(--control);color:var(--muted);font-size:var(--small);font-variant-numeric:tabular-nums;letter-spacing:.04em;border-radius:.3rem;flex:none;padding:.15rem .35rem;font-weight:800}.map-card.current .map-tag{background:var(--signal);color:var(--signal-ink)}.map-text{flex-direction:column;flex:1;min-width:0;line-height:1.2;display:flex}.map-name{text-overflow:ellipsis;white-space:nowrap;font-weight:750;overflow:hidden}.map-meta{color:var(--muted);font-size:var(--small);font-variant-numeric:tabular-nums}.map-change{color:var(--signal);font-size:var(--small);letter-spacing:.08em;text-transform:uppercase;flex:none;align-items:center;gap:.1rem;font-weight:800;display:flex}.map-change .icon{width:1rem;height:1rem}.scores{padding:.5rem .25rem .75rem;overflow-x:auto}.scores table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.scores th,.scores td{text-align:left;white-space:nowrap;padding:.5rem .75rem}.scores thead th{color:var(--signal);font-size:var(--small);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.scores tbody tr{border-top:1px solid var(--line)}.scores tbody th{font-weight:650}.scores tr.current th{box-shadow:inset 3px 0 0 var(--signal)}.scores .num{text-align:right}.scores .best{font-weight:800}.scores-total{color:var(--muted);text-align:right;padding:.5rem .75rem 0}.scores-total strong{color:var(--text)}.score-share{gap:.4rem;display:grid}.share-status:empty{display:none}.scores .share-status{white-space:normal;max-width:14rem}.share-text{border:1px solid var(--line);border-radius:var(--radius);background:var(--ink);width:100%;min-width:12rem;color:var(--text);font:inherit;font-size:var(--small);-webkit-user-select:text;user-select:text;padding:.5rem}.help{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.75rem;width:100%;min-height:0;display:flex}.help-scene{width:min(100%, var(--content));aspect-ratio:16/9;border-radius:var(--radius-lg);box-shadow:var(--drop);touch-action:pan-y;display:block}.help-side{flex-direction:column;align-items:center;gap:.75rem;display:flex}.help-caption{text-align:center;max-width:36rem;min-height:2.6em;font-size:1.05rem;font-weight:550}.help-nav{justify-content:center;align-items:center;gap:.5rem;display:flex}.dots{display:flex}.dot{appearance:none;width:1.75rem;height:var(--target);border-radius:var(--radius);cursor:pointer;touch-action:manipulation;background:0 0;border:0;place-items:center;display:grid}.dot:after{content:"";background:var(--line-strong);border-radius:2px;width:1.4rem;height:.3rem;transition:background-color .15s}.dot[aria-current]:after{background:var(--signal)}@media (height<=30rem) and (orientation:landscape){[data-screen=help]{--content:100%}.help{grid-template-columns:auto minmax(11rem,18rem);align-items:center;gap:1rem;display:grid}.help-scene{width:min(calc(100vw - var(--edge-left) - var(--edge-right) - 13rem), calc((100dvh - var(--edge-top) - var(--edge-bottom) - var(--target) - .75rem) * 16 / 9))}.help-side{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--drop);padding:1rem .75rem}.help-caption{min-height:0}}.screen-modal{justify-content:center}.modal{--pad:1.25rem;overscroll-behavior:contain;width:min(100%,22rem);max-height:100%;padding:var(--pad);text-align:center;flex-direction:column;gap:.6rem;display:flex;overflow-y:auto}.modal-wide{width:min(100%,28rem)}.modal>.eyebrow{margin:calc(-1 * var(--pad)) calc(-1 * var(--pad)) .2rem;padding:.35rem var(--pad);background:var(--signal);color:var(--signal-ink);font-weight:800}.modal-title{letter-spacing:.04em;text-transform:uppercase;font-size:1.6rem;font-weight:800;line-height:1.1}.stack{gap:var(--gap);margin-top:.4rem;display:grid}.modal .setting{border-top:1px solid var(--line);margin-top:.2rem;padding-inline:.2rem}.score{flex-direction:column;align-items:center;gap:.1rem;display:flex}.score-value{font-variant-numeric:tabular-nums;font-size:3.2rem;font-weight:800;line-height:1}.score-label{color:var(--muted);font-size:var(--small);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.badge{background:var(--signal);color:var(--signal-ink);font-size:var(--small);letter-spacing:.06em;text-transform:uppercase;border-radius:.3rem;margin-top:.35rem;padding:.15rem .55rem;font-weight:800}.rank{border-radius:var(--radius);background:var(--ink);gap:.4rem;padding:.75rem;display:grid}.rank-line{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;display:flex}.rank-name{font-size:1.1rem;font-weight:750}.chip{background:var(--control);color:var(--text);font-size:var(--small);font-variant-numeric:tabular-nums;border-radius:.3rem;padding:.1rem .45rem;font-weight:700}.progress{background:var(--control);border-radius:2px;height:.4rem;overflow:hidden}.progress>span{background:var(--signal);height:100%;display:block}.actions{gap:var(--gap);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:.4rem;display:grid}.screen-play{pointer-events:none;padding:0}.hud{position:absolute;inset:0}.hud-top{top:max(var(--safe-top), .4rem);right:var(--hud-x,var(--edge-right));left:var(--hud-x,var(--edge-left));grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;display:grid;position:absolute}.hud-top>:first-child{justify-self:start}.hud-top>:last-child{justify-self:end}.pill{background:var(--overlay);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:.4rem;align-items:baseline;gap:.45rem;padding:.25rem .6rem;font-size:.9rem;font-weight:800;display:inline-flex;box-shadow:inset 0 0 0 1px #f4f2ec24}.pill-key{color:var(--muted);font-size:var(--small);letter-spacing:.1em;text-transform:uppercase;font-weight:700}.pill-rank{color:var(--signal);font-size:var(--small);letter-spacing:.1em;text-transform:uppercase}.hud-btn{bottom:max(var(--safe-bottom), .6rem);border:2px solid var(--text);background:var(--overlay);box-shadow:none;pointer-events:auto;border-radius:.7rem;position:absolute}.hud-btn:active:not(:disabled){box-shadow:none;transform:scale(.94)}.hud-left{left:var(--hud-x,max(var(--safe-left), .6rem))}.hud-right{right:var(--hud-x,max(var(--safe-right), .6rem))}.hud-btn[aria-pressed=true]{border-color:var(--signal);background:var(--signal);color:var(--signal-ink)}.hud-btn:disabled{visibility:hidden}@media (pointer:coarse){.hud{--target:max(52px, 2.8rem)}.pill{padding:.3rem .7rem;font-size:1rem}}@media (hover:hover){.btn:hover:not(:disabled,.btn-primary,[aria-pressed=true]){background:var(--control-hover)}.btn-primary:hover:not(:disabled){background:var(--signal-hover)}.map-card:hover{transform:translateY(-3px)}.dot:hover:not([aria-current]):after{background:var(--muted)}}@media (height<=420px){:root{--gap:.45rem}.screen{gap:.6rem}.modal{--pad:.9rem;gap:.45rem}.modal .btn-tile{flex-direction:row;gap:.35rem}.score-value{font-size:2.5rem}.scores th,.scores td{padding-block:.35rem}[data-screen=settings]{--content:46rem}.settings{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2rem;display:grid}.settings .setting+.setting{border-top:0}.settings .setting:nth-child(n+3){border-top:1px solid var(--line)}}@keyframes fade-in{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(.6rem)}}@keyframes pop{0%{opacity:0;transform:translateY(.5rem)scale(.97)}}.enter.screen-menu>*,.enter.screen-sub>*{animation:.25s ease-out both rise}.enter.screen-menu>:nth-child(2),.enter.screen-sub>:nth-child(2){animation-delay:50ms}.enter.screen-modal .modal{animation:pop var(--fade,.3s) ease-out both}.enter.screen-play{animation:.7s ease-out both fade-in}@media (prefers-reduced-motion:reduce){#ui *,#ui :before,#ui :after{transition-duration:1ms!important;animation-duration:1ms!important}.map-card:hover,.map-card:active,.btn:active:not(:disabled){transform:none}}
