#ui{--ui-bg:#141c24d1;--ui-fg:#f4f1ea;--ui-accent:#e8a33d;color:var(--ui-fg);font-family:system-ui,sans-serif}#ui [hidden]{display:none!important}.ui-overlay{padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(28px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));z-index:10;background:#00000040;place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.ui-panel{box-sizing:border-box;background:var(--ui-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:12px;flex-direction:column;gap:12px;width:min(360px,100%);padding:20px;display:flex}.ui-panel h1,.ui-panel h2{text-align:center;margin:0 0 4px}.ui-panel h1{letter-spacing:.02em;font-size:28px}.ui-panel h2{font-size:20px}#ui button{min-height:44px;color:inherit;font:inherit;cursor:pointer;background:#ffffff14;border:1px solid #ffffff40;border-radius:8px;padding:8px 16px;font-size:16px}#ui button:hover,#ui button:focus-visible{background:#ffffff2e}#ui .ui-primary{background:var(--ui-accent);border-color:var(--ui-accent);color:#1b1b1b;font-weight:600}.ui-form{flex-direction:column;gap:10px;display:flex}.ui-row{grid-template-columns:1fr 1fr;align-items:center;gap:12px;display:grid}.ui-row select,.ui-row input{min-height:36px;font:inherit;box-sizing:border-box;width:100%}.ui-open-menu{top:max(8px, env(safe-area-inset-top));left:max(8px, env(safe-area-inset-left));z-index:10;position:fixed;background:var(--ui-bg)!important}#ui .attribution{z-index:20;color:#333;background:#ffffffbf;padding:2px 6px;font-size:11px;text-decoration:none;position:fixed;bottom:0;right:0}.ui-choices{border:0;flex-wrap:wrap;gap:6px;margin:0;padding:0;display:flex}.ui-choices legend{width:100%;margin-bottom:4px;padding:0;font-weight:600}.ui-choice{cursor:pointer;border:1px solid #ffffff40;border-radius:8px;align-items:center;gap:6px;min-height:40px;padding:4px 10px;display:inline-flex}.ui-choice:has(input:checked){border-color:var(--ui-accent);background:#e8a33d33}.ui-choice input{accent-color:var(--ui-accent);margin:0}.ui-swatch{border:1px solid #ffffff80;border-radius:3px;width:14px;height:14px}.ui-camera-follow{top:max(60px, calc(env(safe-area-inset-top) + 52px));right:max(60px, calc(env(safe-area-inset-right) + 52px));z-index:10;min-width:44px;position:fixed;background:var(--ui-bg)!important;font-size:22px!important}.ui-camera-follow[aria-pressed=false]{opacity:.55;text-decoration:line-through}.ui-back-to-road{top:max(8px, env(safe-area-inset-top));right:max(8px, env(safe-area-inset-right));z-index:10;min-width:44px;position:fixed;background:var(--ui-bg)!important;font-size:22px!important}.ui-overlay.ui-overlay-paused{background:#00000073}.ui-confirm-quit p{margin:0;line-height:1.4}.touch[hidden],.touch [hidden],.touch-rotate[hidden]{display:none!important}.touch{--touch-bg:#141c248c;--touch-fg:#f4f1ea;z-index:5;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:fixed;inset:0}.touch-stick{pointer-events:auto;touch-action:none;width:45vw;height:70vh;position:fixed;bottom:0;left:0}.touch-knob{background:var(--touch-bg);box-sizing:border-box;border:2px solid #ffffff59;border-radius:50%;width:100px;height:100px;margin:-50px 0 0 -50px;position:fixed}.touch-knob:after{content:"";background:#fff9;border-radius:50%;position:absolute;inset:30px}.touch-pedal{bottom:max(28px, env(safe-area-inset-bottom));background:var(--touch-bg);width:76px;height:76px;color:var(--touch-fg);pointer-events:auto;touch-action:none;border:2px solid #ffffff59;border-radius:50%;font:600 14px system-ui,sans-serif;position:fixed}.touch-pedal:before{content:attr(aria-label)}.touch-gas{right:max(16px, env(safe-area-inset-right));background:#3c8c46a6;border-radius:38px;height:110px}.touch-brake{right:calc(max(16px, env(safe-area-inset-right)) + 92px);background:#aa322899}.touch-run{right:max(16px, env(safe-area-inset-right))}.touch-held{filter:brightness(1.5)}.touch-rotate{z-index:9;color:#f4f1ea;text-align:center;background:#141c24eb;place-items:center;padding:24px;font:600 20px system-ui,sans-serif;display:grid;position:fixed;inset:0}.ui-account{border-top:1px solid #ffffff26;flex-direction:column;gap:8px;padding-top:12px;font-size:14px;display:flex}.ui-account h3,.ui-account p{margin:0}.ui-account h3{font-size:16px}.ui-account-field{gap:8px;display:flex}.ui-account-field input{box-sizing:border-box;min-width:0;min-height:44px;color:inherit;font:inherit;background:#00000040;border:1px solid #ffffff40;border-radius:8px;flex:1;padding:8px 10px;font-size:16px}.ui-account-form{flex-direction:column;gap:6px;display:flex}.ui-error{color:#ffb4a8}#ui .ui-link{background:0 0;border:none;align-self:center;min-height:36px;font-size:14px;text-decoration:underline}#nav{--nav-bg:#141c24d1;color:#f4f1ea;font-family:system-ui,sans-serif}#nav [hidden]{display:none!important}.nav-minimap{left:max(8px, env(safe-area-inset-left));top:max(60px, calc(env(safe-area-inset-top) + 52px));z-index:9;pointer-events:none;background:#28342cc7;border:2px solid #fff6;border-radius:50%;width:clamp(110px,22vmin,180px);height:clamp(110px,22vmin,180px);position:fixed}#nav button{min-height:44px;color:inherit;font:inherit;cursor:pointer;background:#ffffff14;border:1px solid #ffffff40;border-radius:8px;padding:8px 16px;font-size:16px}#nav .nav-map-button{top:max(60px, calc(env(safe-area-inset-top) + 52px));right:max(8px, env(safe-area-inset-right));z-index:10;background:var(--nav-bg);min-width:44px;font-size:22px;position:fixed}.nav-arrow{z-index:9;color:#ff5a3c;text-shadow:0 0 3px #000;pointer-events:none;font-size:30px;line-height:1;position:fixed;top:0;left:0}.nav-map{z-index:15;padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(28px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));box-sizing:border-box;background:#0e141af0;flex-direction:column;gap:8px;display:flex;position:fixed;inset:0}.nav-map h2{text-align:center;margin:0;font-size:20px}.nav-map p{text-align:center;opacity:.8;margin:0;font-size:14px}.nav-map-canvas{cursor:crosshair;touch-action:none;background:#28342c;border-radius:8px;flex:1;width:100%;min-height:0}.nav-map-buttons{justify-content:center;gap:8px;display:flex}.missions-panel{max-height:calc(100dvh - 48px);overflow-y:auto}.missions-panel h3{opacity:.8;margin:4px 0 0;font-size:15px}.missions-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}#ui .missions-item{text-align:left;justify-content:space-between;gap:8px;width:100%;display:flex}.missions-stars,.mission-result-stars{color:#e8a33d;letter-spacing:.1em}.missions-row{margin:0}.missions-preview canvas,.missions-preview img{border-radius:8px;width:100%;height:auto;display:block}#missions{--m-bg:#141c24d1;color:#f4f1ea;font-family:system-ui,sans-serif}#missions [hidden]{display:none!important}#missions button{min-height:40px;color:inherit;font:inherit;cursor:pointer;background:#ffffff14;border:1px solid #ffffff40;border-radius:8px;padding:6px 14px}#missions .ui-primary{color:#1b1b1b;background:#e8a33d;border-color:#e8a33d;font-weight:600}.mission-hud{top:max(8px, env(safe-area-inset-top));z-index:9;background:var(--m-bg);border-radius:10px;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 12px;max-width:calc(100vw - 140px);padding:6px 12px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.mission-hud-timer{font-variant-numeric:tabular-nums;font-weight:600}.mission-result{z-index:12;box-sizing:border-box;background:var(--m-bg);text-align:center;border-radius:12px;width:min(320px,100vw - 32px);padding:16px 20px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.mission-result h2{margin:0 0 8px}.mission-result p{margin:4px 0}.mission-result-stars{font-size:28px}.mission-result-record{color:#e8a33d;font-weight:600}.mission-result-buttons{justify-content:center;gap:8px;margin-top:12px;display:flex}.missions-board-tabs{flex-wrap:wrap;gap:4px;display:flex}#ui .missions-board-tabs button{min-height:32px;padding:2px 10px;font-size:13px}#ui .missions-board-tabs button.is-active{background:#ffffff38;font-weight:600}.missions-board-list{font-variant-numeric:tabular-nums;margin:4px 0 0;padding:0;list-style:none}.missions-board-list li.is-me{font-weight:700}.missions-board-name{overflow-wrap:anywhere}#violations{font-family:system-ui,sans-serif}#violations [hidden]{display:none!important}.violation-limit{top:max(112px, calc(env(safe-area-inset-top) + 104px));right:max(8px, env(safe-area-inset-right));z-index:8;box-sizing:border-box;color:#1b1b1b;font-variant-numeric:tabular-nums;pointer-events:none;background:#fff;border:5px solid #d22b2b;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:16px;font-weight:700;display:flex;position:fixed}.violation-toast{z-index:9;box-sizing:border-box;color:#fff;text-align:center;pointer-events:none;background:#961818e0;border-radius:10px;max-width:calc(100vw - 32px);padding:8px 16px;font-weight:600;position:fixed;top:22%;left:50%;transform:translate(-50%)}.violation-cost{color:#ffd27a;white-space:nowrap}html,body{background:#bfd9e8;height:100%;margin:0;font-family:system-ui,sans-serif;overflow:hidden}#scene{width:100vw;height:100vh;touch-action:none;cursor:grab;height:100dvh;display:block}#scene:active{cursor:grabbing}.debug-overlay{color:#fff;background:#0000008c;flex-direction:column;gap:2px;padding:4px 8px;font:12px/1.3 ui-monospace,monospace;display:flex;position:fixed;top:0;left:0}
