@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{font-family:DM Sans,sans-serif;color:#f4f3e9;background:#b9c6bd;font-synthesis:none;--accent: #eab75c;--mono: "IBM Plex Mono", monospace;--hud-inset: 24px;--mirror-height: clamp(96px, 26dvh, 200px);--mirror-width: calc(var(--mirror-height) * .65);--panel: #14211dcc;--panel-line: #e7ecd326;--muted: #a9b8a6;--bar-height: 52px;--top-band: 92px}*{box-sizing:border-box}body{margin:0;overflow:hidden}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button:disabled{cursor:wait}[hidden]{display:none!important}#app,#world{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;height:100dvh}#world{display:block;touch-action:none}.hud-panel{position:absolute;top:var(--hud-inset);padding:12px 16px;border:1px solid var(--panel-line);border-radius:10px;background:var(--panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 8px 28px #0b141140;pointer-events:none}.eyebrow{color:var(--muted);font:9px var(--mono);letter-spacing:2px;text-transform:uppercase}.task-card{left:var(--hud-inset);width:min(340px,calc(100vw - 2 * var(--hud-inset) - 200px));min-height:calc(var(--top-band) - 8px)}.task-card header{display:flex;align-items:center;gap:8px}.badge{padding:2px 6px;border-radius:3px;background:var(--accent);color:#1c2a24;font:600 8px var(--mono);letter-spacing:1.5px}.task-dest{margin-top:5px;overflow:hidden;font-size:14px;font-weight:600;white-space:nowrap;text-overflow:ellipsis}.task-dest:before{content:"→ ";color:var(--accent)}.task-meta{display:flex;align-items:baseline;gap:10px;margin-top:4px}.task-meta b{font:600 24px/1 Barlow Condensed,sans-serif;font-variant-numeric:tabular-nums}.task-meta span{overflow:hidden;color:#d8e0d4;font-size:11px;white-space:nowrap;text-overflow:ellipsis}.task-progress{height:3px;margin-top:9px;border-radius:2px;background:#ffffff1a;overflow:hidden}.task-progress span{display:block;height:100%;width:0;background:var(--accent);transition:width .3s linear}.task-card.arrived .task-progress span{background:#37c772}.task-counter{right:var(--hud-inset);display:flex;gap:18px;min-height:calc(var(--top-band) - 8px);align-items:center}.task-counter>div{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.task-counter span{font:9px var(--mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}.task-counter b{font:600 36px/1 Barlow Condensed,sans-serif;font-variant-numeric:tabular-nums}.task-counter #best-tasks{color:var(--accent)}.task-counter.record #best-tasks{animation:record-pulse 1.2s ease-out}@keyframes record-pulse{0%{transform:scale(1.5);color:#fff3c8}to{transform:scale(1)}}.mirror{position:absolute;top:calc(var(--hud-inset) + var(--top-band) + 8px);width:var(--mirror-width);height:var(--mirror-height);border:3px solid #1b2622;border-radius:6px;box-shadow:0 6px 18px #0b141155,inset 0 0 0 1px #ffffff30;pointer-events:none}.mirror-left{left:var(--hud-inset)}.mirror-right{right:var(--hud-inset)}.speed-readout{position:absolute;right:var(--hud-inset);bottom:calc(var(--bar-height) + 14px);display:flex;gap:7px;align-items:baseline;text-shadow:0 1px 4px #14221dc0}.speed-readout #speed{font:600 44px Barlow Condensed,sans-serif;font-variant-numeric:tabular-nums}.speed-readout>span:last-child{font:10px var(--mono);color:#d8e0d4}.hud-bar{position:absolute;left:0;right:0;bottom:0;height:var(--bar-height);padding:0 var(--hud-inset);display:flex;align-items:center;justify-content:center;gap:18px;background:linear-gradient(#0e171400,#0e1714d9 45%);overflow-x:auto;scrollbar-width:none}.hud-bar .sep{flex:none;width:1px;height:16px;background:#ffffff26}.hint{display:flex;flex:none;align-items:center;gap:7px;color:#eef1e6;font-size:11px;font-weight:500;line-height:1;white-space:nowrap}.keys{display:inline-flex;gap:3px}.keys.wasd{display:grid;grid-template-columns:repeat(3,17px);grid-auto-rows:15px;gap:2px}.keys.wasd kbd{min-width:0;height:15px;padding:0;font-size:9px}.keys.wasd kbd:first-child{grid-column:2;grid-row:1}.keys.wasd kbd:not(:first-child){grid-row:2}.keys.mouse-drag{color:#eef1e6}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:19px;padding:0 4px;border:1px solid #ffffff45;border-bottom-width:2px;border-radius:4px;background:#ffffff12;font:10px var(--mono)}button.hint{border:0;background:none;padding:4px 0;text-align:left}button.hint:hover{color:#ffe0a4}button.hint:hover kbd{border-color:#ffe0a4}button.hint[aria-pressed=true] kbd{background:#eab75c40;border-color:var(--accent)}.hint.accent{color:var(--accent)}.hint.accent kbd{border-color:var(--accent);background:#eab75c26;animation:next-pulse 1.4s ease-in-out infinite}@keyframes next-pulse{50%{box-shadow:0 0 10px #eab75caa}}.fov-control{gap:9px}.fov-control output{margin-left:4px;font-variant-numeric:tabular-nums;color:var(--muted)}.fov-control input{width:96px;margin:0;accent-color:#f2e5b6;cursor:ew-resize}#toast{position:absolute;left:50%;top:var(--hud-inset);max-width:min(460px,calc(100vw - 2 * var(--hud-inset) - 2 * 220px));transform:translate(-50%,-8px);padding:10px 16px;border:1px solid var(--panel-line);border-radius:8px;background:var(--panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:12px;line-height:1.4;text-align:center;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none}#toast.visible{opacity:1;transform:translate(-50%)}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#1528245c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;justify-content:center;align-items:center}.overlay.hidden{opacity:0;visibility:hidden;pointer-events:none}.intro{max-width:540px;width:calc(100% - 36px);padding:40px;text-align:center;background:#182a25ee;border:1px solid #e7ecd32b;border-radius:12px;box-shadow:0 30px 100px #14282150}.intro h2{font:600 76px/1 Barlow Condensed,sans-serif;letter-spacing:-1px;margin:20px 0 12px}.intro p{font-size:13px;line-height:1.6;color:#b6c2b2;margin:0 0 26px}.intro>button{background:var(--accent);color:#25342b;border:0;border-radius:5px;padding:16px 26px;min-width:220px;font-weight:700;font-size:12px}.intro>button:hover{background:#f7c872}.intro>button:disabled{opacity:.7}#loading-status{display:block;font:9px var(--mono);letter-spacing:.5px;margin-top:14px;color:#899c89}#task-summary{margin:0 0 20px;font-size:12px;line-height:1.6;color:#e4ebde}.touch-controls{display:none}@media(max-width:760px){:root{--hud-inset: 12px;--top-band: 84px}.task-card{width:calc(100vw - 2 * var(--hud-inset) - 150px);padding:10px 12px}.task-counter{gap:12px;padding:10px 12px}.task-counter b{font-size:28px}#toast{top:calc(var(--hud-inset) + var(--top-band) + 8px);max-width:calc(100vw - 2 * var(--hud-inset) - 2 * var(--mirror-width) - 24px)}.hud-bar{justify-content:flex-start;gap:14px}.intro{padding:32px 24px}.intro h2{font-size:60px}}@media(max-height:540px)and (orientation:landscape){:root{--top-band: 76px;--mirror-height: clamp(72px, 24dvh, 120px)}.task-card .task-progress{display:none}}@media(pointer:coarse){.driving-hint,.fov-control,.hud-bar .sep{display:none}.hud-bar{left:50%;right:auto;transform:translate(-50%);background:none;gap:16px}.touch-controls{position:absolute;bottom:24px;left:20px;right:20px;display:flex;justify-content:space-between;pointer-events:none}.touch-controls>div{display:flex;gap:12px}.touch-controls button{pointer-events:auto;width:60px;height:60px;border:1px solid #dce7d650;border-radius:10px;background:#19302bdd;touch-action:none;font:20px var(--mono)}.touch-controls button:active{background:var(--accent);color:#172522}.speed-readout{bottom:100px}}#accident-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;background:linear-gradient(transparent,#18080870);color:#fff;text-align:center}#accident-overlay[hidden],#accident-fade[hidden]{display:none}#accident-overlay h1{margin:0;font-size:clamp(48px,9vw,132px);font-weight:900;text-transform:uppercase;letter-spacing:-.05em;color:#ff544b;text-shadow:0 4px 30px #000b}#accident-overlay p{font-size:20px;text-shadow:0 2px 8px #000}#accident-overlay span{font-size:12px;text-transform:uppercase;letter-spacing:.2em}#accident-fade{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;pointer-events:auto;background:#000;opacity:0}.accident-active .hud-bar,.accident-active .touch-controls,.accident-active .mirror,.accident-active #toast,.accident-active .speed-readout,.accident-active .hud-panel{visibility:hidden}#confetti{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:25}#congrats{position:fixed;top:35%;left:0;right:0;text-align:center;pointer-events:none;z-index:26;font-size:clamp(48px,9vw,120px);font-weight:900;color:#ffe08a;text-shadow:0 4px 24px #000a}#congrats span{display:block;font-size:24px;color:#fff}#confetti[hidden],#congrats[hidden]{display:none}.splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(ellipse at 50% 35%,#24413a,#14211d 70%);transition:opacity .6s ease,visibility .6s}.splash.hidden{opacity:0;visibility:hidden;pointer-events:none}.splash-road{position:absolute;left:50%;bottom:0;width:90vmin;height:240%;transform:translate(-50%) perspective(500px) rotateX(76deg);transform-origin:50% 100%;background:linear-gradient(90deg,transparent 2%,#f1efe2aa 2%,#f1efe2aa 3.5%,transparent 3.5%,transparent 96.5%,#f1efe2aa 96.5%,#f1efe2aa 98%,transparent 98%),repeating-linear-gradient(0deg,transparent 0 40px,#e6bc58 40px 80px) 50% 0 / 2.5% 80px repeat-y,linear-gradient(#2c3534,#3d4646);-webkit-mask-image:linear-gradient(transparent 10%,#000 70%);mask-image:linear-gradient(transparent 10%,#000 70%);animation:splash-drive .7s linear infinite;opacity:.6}@keyframes splash-drive{0%{background-position:0 0,50% 0,0 0}to{background-position:0 0,50% 80px,0 0}}.splash-content{position:relative;width:min(420px,calc(100% - 32px));text-align:center}.splash h1{margin:16px 0 34px;font:700 clamp(64px,14vw,104px)/.88 "Barlow Condensed",sans-serif;letter-spacing:-1px;text-transform:uppercase;text-shadow:0 6px 40px #0008}.splash-bar{height:4px;border-radius:2px;background:#ffffff1c;overflow:hidden}.splash-bar span{display:block;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:0 50%;box-shadow:0 0 12px var(--accent)}.splash-meta{display:flex;justify-content:space-between;margin-top:10px;font:10px var(--mono);letter-spacing:.5px;color:#a2b293}.splash-percent{font-variant-numeric:tabular-nums;color:#f4f3e9}.splash-tip{min-height:3em;margin:26px 0 0;font-size:13px;line-height:1.5;color:#c8d2c3}.splash.failed .splash-bar span{background:#ff544b;box-shadow:none}.splash.failed .splash-status{color:#ff8a83}@media(prefers-reduced-motion:reduce){.splash-road{animation:none}}
