:root{--bg: #05070a;--panel: rgba(4, 10, 14, .78);--line: #0f3a2a;--green: #39ff88;--green-dim: #1d8a4c;--amber: #ffb347;--red: #ff4d5a;--text: #cfe9d8;--mono: "IBM Plex Mono", "SF Mono", Menlo, Consolas, "Courier New", monospace}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);overflow:hidden;font-family:var(--mono);color:var(--text)}#game{position:fixed;inset:0;width:100%;height:100%;display:block}#hud{position:fixed;inset:0;pointer-events:none;z-index:5}.hidden{display:none!important}.panel{position:absolute;background:var(--panel);border:1px solid var(--line);padding:10px 12px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 0 0 1px #39ff8814,0 0 24px #39ff880f inset;backdrop-filter:blur(3px)}.panel:before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px)}#title{top:calc(16px + var(--banner-h, 0px));left:16px;text-align:left}.title-main{font-size:22px;font-weight:700;color:var(--green);text-shadow:0 0 8px rgba(57,255,136,.6);letter-spacing:.18em}.title-sub{font-size:10px;color:var(--green-dim);letter-spacing:.3em}#status{top:calc(16px + var(--banner-h, 0px));right:16px;min-width:240px}.status-line{color:var(--green);margin-bottom:8px;font-weight:700}.blink{animation:blink 1.2s steps(2,start) infinite}@keyframes blink{to{visibility:hidden}}.row{display:flex;justify-content:space-between;gap:12px;line-height:1.7}.k{color:var(--green-dim)}.v{color:var(--text);font-variant-numeric:tabular-nums}#legend{bottom:56px;left:16px}.legend-head{color:var(--green);font-weight:700;margin-bottom:6px;letter-spacing:.2em}.key{display:inline-block;min-width:64px;color:var(--amber)}#teleport{bottom:56px;right:16px;pointer-events:auto;width:300px}#goform{display:flex;gap:6px;margin-bottom:8px}#goinput{flex:1;background:#02060a;border:1px solid var(--line);color:var(--green);font-family:var(--mono);font-size:12px;padding:6px 8px;outline:none;text-transform:none}#goinput:focus{border-color:var(--green);box-shadow:0 0 8px #39ff884d}button{background:#05140c;border:1px solid var(--green-dim);color:var(--green);font-family:var(--mono);font-size:11px;letter-spacing:.12em;padding:6px 10px;cursor:pointer;text-transform:uppercase}button:hover{background:var(--green-dim);color:#02060a}#presets{display:grid;grid-template-columns:1fr 1fr;gap:6px}#presets button{width:100%;padding:6px 4px;font-size:10px}#attribution{position:absolute;bottom:10px;left:12px;right:12px;display:flex;align-items:center;gap:10px;font-size:10px;color:#dfe9e3;text-shadow:0 0 4px #000,0 0 2px #000;pointer-events:none;text-transform:none;letter-spacing:0}#google-logo{height:20px;display:none;filter:drop-shadow(0 0 2px rgba(0,0,0,.9))}#google-logo[src]{display:block}#attribution-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#touch-note{top:calc(70px + var(--banner-h, 0px));left:16px;color:var(--amber);border-color:var(--amber);pointer-events:auto;display:flex;gap:10px;align-items:center}#touch-note-close{padding:0 8px;font-size:14px;line-height:1.4;border-color:var(--amber);color:var(--amber)}#touch-ui{position:absolute;inset:0;pointer-events:none}#joy-zone{position:absolute;left:0;bottom:0;width:45%;height:55%;pointer-events:auto;touch-action:none}#look-zone{position:absolute;right:0;bottom:0;width:55%;height:55%;pointer-events:auto;touch-action:none}#joy-base{position:absolute;left:40px;bottom:60px;width:120px;height:120px;border-radius:50%;border:2px solid var(--green-dim);background:#040a0e80;opacity:.7}#joy-knob{position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:var(--green);box-shadow:0 0 14px #39ff8899;opacity:.85}#touch-buttons{position:absolute;right:24px;bottom:60px;display:flex;flex-direction:column;gap:12px;pointer-events:auto}#touch-buttons button{width:84px;height:56px;font-size:12px;font-weight:700;border-radius:6px;touch-action:none;background:#040a0eb3;user-select:none;-webkit-user-select:none}#touch-buttons button.active{background:var(--green);color:#02060a}body.touch #legend{display:none}body.touch #teleport{bottom:auto;top:calc(280px + var(--banner-h, 0px));right:16px;width:220px}body.touch #presets{grid-template-columns:1fr}.overlay{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:#020508d1;font-family:var(--mono);text-align:center;cursor:pointer}.overlay-box{border:1px solid var(--green-dim);padding:28px 40px;background:var(--panel);min-width:340px}.overlay-title{color:var(--green);font-size:34px;letter-spacing:.25em;font-weight:700;text-shadow:0 0 12px rgba(57,255,136,.7)}.overlay-sub{color:var(--amber);margin-top:8px;letter-spacing:.2em;font-size:13px}.overlay-small{color:var(--green-dim);margin-top:14px;font-size:11px}.overlay button{margin-top:18px}.bar{height:6px;background:#0a1a12;border:1px solid var(--line);margin-top:18px;overflow:hidden}#loadbar{height:100%;width:0%;background:var(--green);box-shadow:0 0 10px var(--green);transition:width .2s}#banner{position:fixed;top:0;left:0;right:0;z-index:30;background:#1a0508;border-bottom:2px solid var(--red);color:#ffd9dc;font-family:var(--mono);font-size:12px;padding:12px 18px;line-height:1.5}.banner-title{color:var(--red);font-weight:700;letter-spacing:.15em;margin-bottom:4px}#banner code{background:#2a0a0e;padding:1px 5px;color:#fff}#banner ol{margin:6px 0 0 18px;padding:0}@media(max-width:760px){#legend,#status .row:nth-child(n+7){display:none}#teleport{width:calc(100% - 32px)}.overlay-box{min-width:0;padding:20px}}#watermark{position:absolute;left:50%;bottom:40px;transform:translate(-50%);font-size:12px;letter-spacing:.35em;color:var(--amber);opacity:.55;border:1px dashed var(--amber);padding:4px 12px;text-transform:uppercase;pointer-events:none}#fade{position:fixed;inset:0;background:#000;z-index:15;pointer-events:none;opacity:1;transition:opacity 1.4s ease-out}#fade.out{opacity:0;transition:opacity 1.4s ease-out}#mp{top:calc(320px + var(--banner-h, 0px));left:16px;min-width:200px;pointer-events:auto;font-size:11px}#mp-toggle{padding:2px 10px;font-size:11px}#mp-toggle.on{background:var(--green);color:#02060a}.mp-hint{color:var(--green-dim);font-size:10px;margin-top:4px;text-align:right}#chat{left:50%;transform:translate(-50%);bottom:56px;width:460px;max-width:calc(100% - 32px);pointer-events:auto;text-transform:none;letter-spacing:0}#chat.collapsed{pointer-events:none;background:transparent;border-color:transparent;box-shadow:none;backdrop-filter:none}#chat.collapsed:before{display:none}#chat.collapsed #chat-form{display:none}#chat.collapsed #chat-log{max-height:96px}#chat-log{max-height:180px;overflow-y:auto;font-size:12px;line-height:1.5;display:flex;flex-direction:column;justify-content:flex-end}#chat-log .line{text-shadow:0 0 4px #000}#chat-log .line.sys{color:var(--green-dim);font-style:italic}#chat-log .cs{font-weight:700;margin-right:6px}#chat-input{width:100%;margin-top:8px;background:#02060a;border:1px solid var(--green);color:var(--text);font-family:var(--mono);font-size:13px;padding:7px 8px;outline:none}body.touch #mp{top:auto;bottom:200px;left:16px;transform:none;min-width:0}body.touch #chat{bottom:240px}#minimap-wrap{top:calc(96px + var(--banner-h, 0px));left:16px;padding:6px;pointer-events:auto}#minimap{display:block;width:200px;height:200px;border-radius:50%}#minimap-zoom{position:absolute;right:6px;top:6px;display:flex;flex-direction:column;gap:4px}#minimap-zoom button{width:24px;height:24px;padding:0;font-size:14px;line-height:1}body.touch #minimap-wrap{display:none}body.touch #touch-note{top:calc(96px + var(--banner-h, 0px))}#touch-note{top:calc(320px + var(--banner-h, 0px))}#mission{top:calc(16px + var(--banner-h, 0px));left:50%;transform:translate(-50%);min-width:300px;text-align:left;padding:6px 12px}.mission-row{display:flex;justify-content:space-between;gap:14px;align-items:baseline}.mission-row .legend-head{margin-bottom:0}#mission-progress{color:var(--amber);font-weight:700}.fuel{display:inline-flex;align-items:center;gap:6px}.fuel-track{display:inline-block;width:70px;height:8px;border:1px solid var(--green-dim);background:#02060a;overflow:hidden}#fuel-bar{display:block;height:100%;width:0;background:var(--amber);box-shadow:0 0 6px var(--amber);transition:width .2s}#toast{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%) scale(.9);opacity:0;pointer-events:none;color:var(--green);font-size:22px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;text-align:center;text-shadow:0 0 12px rgba(57,255,136,.8),0 0 2px #000;background:#040a0eb3;padding:14px 28px;border:1px solid var(--green-dim);transition:opacity .25s,transform .25s;max-width:80%}#toast.show{opacity:1;transform:translate(-50%,-50%) scale(1)}body.touch #mission{top:auto;bottom:330px;left:16px;transform:none;min-width:0}#prompt{position:absolute;top:58%;left:50%;transform:translate(-50%);color:var(--amber);font-size:13px;letter-spacing:.2em;text-transform:uppercase;background:#040a0eb3;border:1px solid var(--amber);padding:6px 14px;pointer-events:none}#flight-mode{margin-top:6px;width:100%;font-size:10px}#flight-mode.on{border-color:var(--amber);color:var(--amber)}.panel,#watermark{transition:opacity .5s}body.moving .dimmable{opacity:.1;pointer-events:none!important}body.moving .dimmable *{pointer-events:none!important}body.moving .dimmable-soft{opacity:.45}body.moving #mission-hint,body.moving #flight-mode{display:none}body.moving #watermark{opacity:.2}.dimmable:hover{opacity:1!important;pointer-events:auto!important}body.hud-hidden .panel,body.hud-hidden #watermark{display:none!important}body.hud-hidden #attribution,body.hud-hidden #toast,body.hud-hidden #prompt{display:flex!important}body.hud-hidden #toast.hidden{display:none!important}#zone{position:absolute;top:12%;left:50%;transform:translate(-50%);opacity:0;pointer-events:none;color:var(--amber);font-size:17px;letter-spacing:.35em;text-transform:uppercase;text-align:center;text-shadow:0 0 14px rgba(255,179,71,.8),0 0 3px #000;transition:opacity .6s}#zone.show{opacity:1}#sponsor{position:absolute;bottom:30px;left:50%;transform:translate(-50%);font-size:10px;letter-spacing:.25em;color:var(--green-dim);text-decoration:none;text-transform:uppercase;border:1px solid var(--line);background:var(--panel);padding:3px 14px;pointer-events:auto}#sponsor:hover{color:var(--green);border-color:var(--green-dim)}.menu-box{max-width:420px;text-align:left;cursor:default}#menu-modal{cursor:default}#menu-items{margin-top:14px;font-size:13px}#menu-items .mi{display:flex;justify-content:space-between;gap:16px;line-height:1.9;border-bottom:1px dashed var(--line)}#menu-items .mi span:last-child{color:var(--amber)}.menu-coupon{margin-top:14px;border:1px dashed var(--amber);color:var(--amber);text-align:center;padding:8px;letter-spacing:.2em}.menu-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}#events-btn{margin-top:6px;width:100%;font-size:10px}#events-btn.on{border-color:#ff5fa2;color:#ff5fa2}#credit{position:absolute;bottom:10px;right:12px;font-size:9px;letter-spacing:.2em;color:var(--green-dim);text-decoration:none;text-transform:uppercase;pointer-events:auto;text-shadow:0 0 4px #000}#credit:hover{color:var(--green)}#missions-menu{bottom:300px;right:16px;width:300px;pointer-events:auto}#missions-list .mrow{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:5px 0;border-bottom:1px dashed var(--line);font-size:11px}#missions-list .mrow:last-child{border-bottom:none}#missions-list .mname{color:var(--text)}#missions-list .mstat{color:var(--green-dim);white-space:nowrap}#missions-list .mstat.done{color:var(--green)}#missions-list .mstat.active{color:var(--amber)}#missions-list button{padding:3px 8px;font-size:10px}#missions-list button.on{background:#ff5fa2;border-color:#ff5fa2;color:#02060a}body.touch #missions-menu{display:none}#race-timer{position:absolute;top:calc(52px + var(--banner-h, 0px));left:50%;transform:translate(-50%);color:#4fd8ff;font-size:14px;font-weight:700;letter-spacing:.15em;font-variant-numeric:tabular-nums;background:#040a0ebf;border:1px solid #17505f;padding:5px 16px;pointer-events:none}#home-btn{position:absolute;top:calc(16px + var(--banner-h, 0px));left:16px;z-index:6;pointer-events:auto;font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--green);text-decoration:none;background:var(--panel);border:1px solid var(--line);padding:6px 12px;text-transform:uppercase}#home-btn:hover{background:var(--green-dim);color:#02060a}#title{top:calc(52px + var(--banner-h, 0px))!important}#motion-banner{position:absolute;left:0;right:0;bottom:0;z-index:6;pointer-events:none;text-align:center;font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:.12em;text-transform:uppercase;color:#04110a;background:var(--green);padding:8px 12px;opacity:0;transform:translateY(100%);transition:opacity .4s,transform .4s;box-shadow:0 -4px 20px #39ff8840}body.moving #motion-banner{opacity:.95;transform:translateY(0)}#motion-banner b{color:#04110a}body.moving #attribution{bottom:42px}body.moving #sponsor{display:none}body.paused-menu .dimmable,body.paused-menu .dimmable-soft{opacity:1!important;pointer-events:auto!important}body.paused-menu #motion-banner{opacity:0!important}#results-board{margin-top:14px;font-family:var(--mono);font-size:13px}#results-board .lb{display:flex;justify-content:space-between;gap:12px;line-height:1.9;border-bottom:1px dashed var(--line)}#results-board .lb.me{color:var(--amber);font-weight:700}#results-board .lb .rk{color:var(--green-dim);width:2.5em}#results-board .lb .nm{flex:1}#results-board .lb .tm{font-variant-numeric:tabular-nums}#results-board .head{color:var(--green);letter-spacing:.16em;margin-bottom:6px}#hunt-counters{position:absolute;top:340px;right:16px;display:flex;flex-direction:column;gap:4px;z-index:6;pointer-events:none}body:not(.moving) #status~#hunt-counters,#hunt-counters{margin-top:0}.hunt-row{background:var(--panel);border:1px solid var(--line);padding:5px 12px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;display:flex;justify-content:space-between;gap:14px;min-width:190px}.hunt-row .v{color:var(--text);font-weight:700;font-variant-numeric:tabular-nums}.collect-pop{position:absolute;left:50%;top:46%;transform:translate(-50%);font-family:var(--display);font-weight:700;font-size:26px;letter-spacing:.12em;text-shadow:0 0 12px currentColor,0 0 2px #000;pointer-events:none;animation:collectrise 1.4s ease-out forwards}@keyframes collectrise{0%{opacity:0;transform:translate(-50%,10px) scale(.8)}15%{opacity:1}to{opacity:0;transform:translate(-50%,-80px) scale(1.1)}}@media(prefers-reduced-motion:reduce){.collect-pop{animation:none;opacity:.95}}#status{top:calc(16px + var(--banner-h,0px))}#emoji-bar{position:absolute;left:50%;bottom:70px;transform:translate(-50%);display:flex;gap:8px;z-index:8;pointer-events:auto;background:#040a0ed9;border:1px solid var(--line);padding:8px 10px;border-radius:8px}#emoji-bar.hidden{display:none}#emoji-bar button{width:46px;height:46px;font-size:24px;padding:0;border-color:var(--line);background:#02060a}#emoji-bar button:hover{background:var(--green-dim)}.emoji-float{position:absolute;font-size:40px;pointer-events:none;z-index:7;animation:emojirise 2s ease-out forwards;text-shadow:0 2px 6px rgba(0,0,0,.6)}@keyframes emojirise{0%{opacity:0;transform:translate(-50%,10px) scale(.6)}15%{opacity:1}to{opacity:0;transform:translate(-50%,-70px) scale(1.2)}}#flight-keys{position:absolute;left:16px;bottom:16px;z-index:6;pointer-events:none;display:flex;flex-direction:column;gap:5px;align-items:flex-start;font-family:var(--mono);opacity:.9;transition:opacity .4s}#flight-keys .kb-row{display:flex;gap:5px;align-items:center}#flight-keys .kc{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 7px;font-size:12px;font-weight:600;color:var(--green);background:#040a0ed1;border:1px solid var(--green-dim);border-radius:5px;box-shadow:0 1px #39ff8840}#flight-keys .kc.wide{min-width:auto}#flight-keys .kc.lbl,#flight-keys .kc-lbl{border:none;background:none;box-shadow:none;color:var(--muted);font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding-left:6px}body.moving #flight-keys{opacity:.5}body.hud-hidden #flight-keys,body.touch #flight-keys{display:none}@media(max-width:900px){#legend{display:none}}#spawn-hint{position:absolute;left:50%;top:60%;transform:translate(-50%);z-index:7;pointer-events:none;font-family:var(--mono);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);background:#040a0eb3;border:1px solid var(--amber);padding:8px 16px;transition:opacity .5s}#spawn-hint.hidden{opacity:0}
