:root{--black:#050505;--panel:#0c0d0c;--panel-soft:#111210d6;--ink:#f2f2ed;--muted:#95978f;--line:#ffffff1f;--acid:#d9ff81;--orange:#ffb44a;--blue:#a9e8ff;--safe-top:max(18px, env(safe-area-inset-top));--safe-bottom:max(18px, env(safe-area-inset-bottom))}*{box-sizing:border-box}html,body{min-height:100%;color:var(--ink);overscroll-behavior:none;background:#101110;margin:0}body{-webkit-font-smoothing:antialiased;font-family:Arial,Helvetica,sans-serif}button{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:2px solid var(--acid);outline-offset:3px}main{min-height:100dvh}.game-shell{background:var(--black);isolation:isolate;width:min(100%,480px);min-height:100dvh;margin:0 auto;position:relative;overflow:hidden}.eyebrow{color:var(--acid);letter-spacing:.22em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:700}.primary-button,.secondary-button,.text-button{cursor:pointer;letter-spacing:.02em;border:0;border-radius:3px;min-height:56px;font-weight:750}.primary-button{background:var(--acid);color:#11140c;justify-content:space-between;align-items:center;width:100%;padding:0 20px;display:flex}.primary-button svg{width:21px}.secondary-button{border:1px solid var(--line);background:#1b1c19;justify-content:center;align-items:center;gap:10px;width:100%;display:flex}.text-button{width:100%;color:var(--muted);background:0 0}.title-screen{padding:calc(var(--safe-top) + 32px) 26px var(--safe-bottom);background:radial-gradient(circle at 50% 40%,#171916 0,#080908 43%,#030303 77%);flex-direction:column;justify-content:space-between;display:flex}.title-grain{opacity:.2;pointer-events:none;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='.24'/%3E%3C/svg%3E");position:absolute;inset:0}.brand-lockup{margin-top:min(19vh,150px);position:relative}.brand-lockup h1{letter-spacing:-.095em;margin:10px 0 18px;font-size:clamp(4rem,20vw,6rem);font-weight:900;line-height:.82}.brand-lockup h1 span{color:var(--acid)}.brand-road{background:linear-gradient(#0000,#62645d);width:2px;height:67px;position:absolute;top:-92px;left:50%;transform:translate(-50%)}.brand-road span,.brand-road i{background:var(--acid);width:7px;height:14px;box-shadow:0 0 20px var(--acid);display:block;position:absolute;left:50%;transform:translate(-50%)}.brand-road span{bottom:6px}.brand-road i{width:1px;height:8px;box-shadow:none;background:#888;bottom:27px}.tagline{color:#b6b8b1;margin:0;font-family:Georgia,serif;font-size:1.06rem;font-style:italic;line-height:1.55}.title-actions{gap:5px;display:grid;position:relative}.best-time{text-align:center;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:9px 0 0;font-size:.72rem}.editor-level-chip{color:var(--acid);letter-spacing:.1em;text-align:center;text-transform:uppercase;border:1px solid #d9ff8138;margin:0 0 7px;padding:7px 9px;font-size:.62rem}.editor-link{color:#85877f;letter-spacing:.08em;text-transform:uppercase;place-items:center;min-height:40px;font-size:.72rem;text-decoration:none;display:grid}.editor-link:hover{color:var(--acid)}.title-foot{color:#62645f;text-align:center;letter-spacing:.18em;margin:22px 0 0;font-size:.58rem;position:relative}.briefing-screen{padding:calc(var(--safe-top) + 20px) 22px calc(var(--safe-bottom) + 8px);flex-direction:column;display:flex}.briefing-header h2{margin:8px 0;font-family:Georgia,serif;font-size:2rem;font-weight:500}.briefing-header>p:last-child{max-width:38ch;color:var(--muted);margin:0;font-size:.86rem;line-height:1.55}.study-map{border-block:1px solid var(--line);background:#070707;height:min(43vh,365px);margin:22px -22px 0}.study-map canvas{width:100%;height:100%;display:block}.map-legend{color:#a4a69f;letter-spacing:.08em;text-transform:uppercase;justify-content:center;gap:22px;padding:12px 0;font-size:.65rem;display:flex}.map-legend span{align-items:center;gap:7px;display:flex}.map-legend i{border:1px solid;width:8px;height:8px;display:block;transform:rotate(45deg)}.legend-home{color:var(--acid)}.legend-store{color:var(--orange)}.legend-gas{color:var(--blue);border-radius:50%}.briefing-note{border-left:2px solid var(--acid);background:#0d0e0c;grid-template-columns:auto 1fr;gap:13px;margin:2px 0 16px;padding:12px;display:grid}.briefing-note span{color:var(--acid);letter-spacing:.12em;text-transform:uppercase;font-size:.66rem;font-weight:800}.briefing-note p{color:#a9aba3;margin:0;font-size:.72rem;line-height:1.45}.play-screen{touch-action:none;-webkit-user-select:none;user-select:none;height:100dvh;min-height:520px}.game-canvas{width:100%;height:100%;position:absolute;inset:0}.game-hud{z-index:3;top:var(--safe-top);justify-content:space-between;align-items:flex-start;display:flex;position:absolute;left:16px;right:16px}.mission-chip{background:var(--panel-soft);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:4px;align-items:center;gap:10px;max-width:220px;padding:8px 11px;display:flex}.mission-chip>span{width:29px;height:29px;color:var(--acid);border:1px solid #d9ff8166;place-items:center;font-size:.7rem;display:grid}.mission-chip p{margin:0;font-family:Georgia,serif;font-size:.87rem}.mission-chip small{color:#777a72;letter-spacing:.14em;margin-bottom:2px;font-family:Arial,sans-serif;font-size:.48rem;display:block}.hud-actions{gap:7px;display:flex}.hud-actions button{border:1px solid var(--line);background:var(--panel-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:50%;place-items:center;width:42px;height:42px;padding:0;display:grid}.hud-actions svg{width:18px;height:18px}.fuel-hud{z-index:3;top:calc(var(--safe-top) + 61px);color:#b6b8b1;align-items:center;gap:7px;display:flex;position:absolute;left:17px}.fuel-hud svg{width:15px}.fuel-hud>div{background:#363731;width:86px;height:3px}.fuel-hud>div span{background:var(--acid);height:100%;transition:width .2s;display:block}.fuel-hud b{width:20px;font-size:.56rem}.thought-bubble{z-index:3;color:#c7c8c2;text-align:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0505057a;border:1px solid #ffffff17;border-radius:50%;width:min(78%,300px);padding:11px 17px;font-family:Georgia,serif;font-size:.8rem;font-style:italic;animation:.6s both thought-in;position:absolute;top:19%;left:50%;transform:translate(-50%)}.interaction{z-index:4;border:1px solid var(--line);text-align:center;background:#060606db;width:210px;padding:12px;position:absolute;top:29%;left:50%;transform:translate(-50%)}.interaction p{letter-spacing:.14em;margin:0 0 8px;font-size:.55rem}.interaction>div{background:#333;height:3px}.interaction>div span{background:var(--acid);height:100%;display:block}.interaction small{color:#777;margin-top:5px;font-size:.55rem;display:block}.speed-readout{z-index:3;left:20px;bottom:calc(var(--safe-bottom) + 102px);color:#e6e7e1;grid-template-columns:auto auto;align-items:end;gap:0 5px;display:grid;position:absolute}.speed-readout b{font-variant-numeric:tabular-nums;font-size:2rem;font-weight:300;line-height:.9}.speed-readout span{color:var(--muted);letter-spacing:.12em;font-size:.5rem}.speed-readout small{color:#6e7069;letter-spacing:.13em;grid-column:1/-1;margin-top:5px;font-size:.48rem}.game-controls{z-index:4;left:18px;right:18px;bottom:var(--safe-bottom);justify-content:space-between;align-items:end;display:flex;position:absolute}.steering-controls,.pedal-controls{align-items:end;gap:11px;display:flex}.control-button{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);touch-action:none;background:#111210b8;border:1px solid #fff3;border-radius:50%;place-items:center;width:65px;height:65px;padding:0;display:grid}.control-button:active{border-color:var(--acid);background:#d9ff812b;transform:scale(.96)}.control-button svg{width:25px}.pedal-controls{gap:8px}.pedal-controls .control-button{border-radius:7px;width:58px;height:82px}.pedal-controls small{letter-spacing:.11em;font-size:.45rem}.accelerator{color:var(--acid)}.accelerator svg{width:20px}.brake span{background:#c3c4be;border-radius:2px;width:21px;height:4px;margin-bottom:10px;display:block}.pause-overlay{z-index:20;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#000000b8;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.pause-card{border:1px solid var(--line);text-align:center;background:#0d0e0c;width:100%;padding:27px 22px 16px}.pause-card h2{margin:8px 0;font-family:Georgia,serif;font-size:2rem;font-weight:500}.pause-card>p:not(.eyebrow){color:var(--muted);margin:0 0 28px}.pause-card .secondary-button{margin-top:9px}.result-screen{text-align:center;background:radial-gradient(circle at 50% 35%,#191b16,#050505 55%);flex-direction:column;justify-content:center;align-items:center;padding:38px 24px;display:flex}.result-screen.failed{background:radial-gradient(circle at 50% 35%,#1c1511,#050505 55%)}.result-mark{border:1px solid var(--acid);width:82px;height:82px;color:var(--acid);border-radius:50%;place-items:center;margin-bottom:28px;font-size:2.3rem;display:grid;box-shadow:0 0 40px #d9ff811f}.failed .result-mark{border-color:var(--orange);color:var(--orange);box-shadow:0 0 40px #ffb44a1a}.result-screen h2{margin:10px 0;font-family:Georgia,serif;font-size:2.3rem;font-weight:500}.result-screen>p:not(.eyebrow){max-width:33ch;color:var(--muted);margin:0;line-height:1.55}.result-stats{border-block:1px solid var(--line);grid-template-columns:repeat(3,1fr);width:100%;margin:35px 0;display:grid}.result-stats span{color:#777970;letter-spacing:.14em;text-transform:uppercase;flex-direction:column;gap:6px;padding:15px 5px;font-size:.56rem;display:flex}.result-stats span+span{border-left:1px solid var(--line)}.result-stats b{color:var(--ink);letter-spacing:.03em;font-size:1rem;font-weight:500}@keyframes thought-in{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}@media (min-width:481px){.game-shell{box-shadow:0 0 80px #0000008c}}@media (max-height:650px){.thought-bubble{top:16%}.study-map{height:35vh}.briefing-header>p:last-child{display:none}.briefing-note{margin-bottom:8px}.brand-lockup{margin-top:11vh}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.editor-shell{--editor-panel:#10110f;--editor-panel-2:#151613;min-height:100dvh;color:var(--ink);background:#080908;overflow:hidden}.editor-shell button,.editor-shell input,.editor-shell select,.editor-shell textarea{font:inherit}.editor-header{border-bottom:1px solid var(--line);background:#0c0d0b;justify-content:space-between;align-items:center;gap:24px;min-height:76px;padding:12px 18px;display:flex}.editor-header>div:first-child{grid-template-columns:auto auto;align-items:center;gap:2px 11px;display:grid}.editor-header h1{grid-column:1/-1;margin:0;font-family:Georgia,serif;font-size:1.45rem;font-weight:500}.editor-back{color:#8f9189;font-size:.7rem;text-decoration:none}.editor-kicker{color:var(--acid);letter-spacing:.2em;font-size:.57rem;font-weight:800}.editor-header-actions{align-items:center;gap:7px;display:flex}.editor-header-actions button,.inspector-title button{border:1px solid var(--line);color:#c7c9c1;cursor:pointer;background:#171815;border-radius:3px;min-height:36px;padding:0 12px;font-size:.7rem}.editor-header-actions button:disabled{opacity:.3;cursor:default}.editor-header-actions .editor-test{background:var(--acid);border-color:var(--acid);color:#11140c;font-weight:800}.editor-workspace{grid-template-columns:78px minmax(0,1fr) 282px;height:calc(100dvh - 76px);display:grid}.editor-tools{border-right:1px solid var(--line);background:var(--editor-panel);flex-direction:column;gap:4px;padding:8px;display:flex;overflow-y:auto}.editor-tools button{color:#85877f;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:58px;padding:4px;display:flex}.editor-tools button b{color:#c8cac3;font-size:1.3rem;font-weight:500;line-height:1}.editor-tools button span{letter-spacing:.03em;font-size:.54rem}.editor-tools button:hover{color:#fff;background:#191a17}.editor-tools button.active{color:var(--acid);background:#d9ff8117;border-color:#d9ff8159}.editor-tools button.active b{color:var(--acid)}.editor-stage{background:#050505;min-width:0;position:relative;overflow:hidden}.editor-canvas{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.editor-canvas.tool-pan,.editor-canvas.space-pan{cursor:grab}.editor-canvas.tool-pan:active,.editor-canvas.is-panning{cursor:grabbing}.editor-canvas.space-pan *{cursor:grab}.editor-canvas.is-panning *{cursor:grabbing}.editor-canvas.tool-road-main,.editor-canvas.tool-road-side,.editor-canvas.tool-home,.editor-canvas.tool-store,.editor-canvas.tool-fuel,.editor-canvas.tool-spawn,.editor-canvas.tool-narrative{cursor:crosshair}.editor-road{cursor:pointer}.editor-marker{pointer-events:none}.editor-narrative-marker{cursor:move}.editor-narrative-marker .narrative-radius{fill:#e8a9ff0e;stroke:#e8a9ff73;stroke-width:2px;stroke-dasharray:9 8;vector-effect:non-scaling-stroke}.editor-canvas-actions{z-index:4;border:1px solid var(--line);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#0f100ee6;border-radius:4px;align-items:center;display:flex;position:absolute;top:12px;left:12px;overflow:hidden}.editor-canvas-actions button{border:0;border-right:1px solid var(--line);color:#dadbd5;cursor:pointer;background:0 0;min-width:38px;height:38px}.editor-canvas-actions label{color:#94968f;letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:6px;padding:0 10px;font-size:.6rem;display:flex}.editor-canvas-actions input{accent-color:var(--acid)}.editor-coordinate{color:#62645d;letter-spacing:.08em;background:#080808b8;padding:6px 8px;font-size:.55rem;position:absolute;bottom:10px;right:12px}.editor-draw-actions{z-index:5;border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);white-space:nowrap;background:#0f100ef0;border-radius:4px;align-items:center;gap:7px;padding:8px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.editor-draw-actions span{color:#979991;padding:0 7px;font-size:.63rem}.editor-draw-actions button{border:1px solid var(--line);color:#c8cac3;cursor:pointer;background:#20211e;border-radius:3px;min-height:35px;padding:0 10px;font-size:.62rem}.editor-draw-actions button:disabled{opacity:.35}.editor-draw-actions .finish{background:var(--acid);border-color:var(--acid);color:#11140c;font-weight:800}.editor-inspector{border-left:1px solid var(--line);background:var(--editor-panel);overflow-y:auto}.editor-inspector section{border-bottom:1px solid var(--line);padding:16px}.inspector-title{align-items:center;gap:5px;min-height:26px;margin-bottom:13px;display:flex}.inspector-title>span{color:#d7d8d2;letter-spacing:.12em;text-transform:uppercase;margin-right:auto;font-size:.67rem;font-weight:800}.inspector-title button{min-height:28px;padding:0 8px;font-size:.58rem}.inspector-title button.danger{color:#ff9b83;border-color:#ff9b8340}.editor-inspector label{color:#8d8f87;grid-template-columns:1fr auto;align-items:center;gap:6px;margin-top:10px;font-size:.63rem;display:grid}.editor-inspector label input:not([type=range]),.editor-inspector label select,.editor-inspector label textarea{border:1px solid var(--line);color:#dadbd5;background:#0a0b09;border-radius:3px;outline:none;grid-column:1/-1;width:100%;min-height:36px;padding:0 9px;font-size:.72rem}.editor-inspector label textarea{resize:vertical;min-height:88px;padding:9px;line-height:1.45}.editor-inspector label input:focus,.editor-inspector label select:focus,.editor-inspector label textarea:focus{border-color:var(--acid)}.editor-inspector label input[type=range]{width:100%;accent-color:var(--acid);grid-column:1/-1}.editor-inspector output{color:var(--acid);font-size:.62rem}.editor-size-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.editor-size-grid label{min-width:0}.narrative-audio{border:1px solid var(--line);background:#0b0c0a;border-radius:4px;gap:9px;margin-top:13px;padding:11px;display:grid}.narrative-audio>span{color:#d0d2ca;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.narrative-audio>div{flex-wrap:wrap;gap:6px;display:flex}.narrative-audio button{border:1px solid var(--line);color:#cfd1ca;cursor:pointer;background:#1a1b18;border-radius:3px;min-height:32px;padding:0 9px;font-size:.62rem}.narrative-audio button.danger{color:#ff9f89}.narrative-audio small{color:#686a63;font-size:.58rem;line-height:1.5}.inspector-help,.validation-card p{color:#73756e;margin:11px 0 0;font-size:.65rem;line-height:1.5}.editor-steps{color:#8c8e86;margin:0;padding-left:20px;font-size:.68rem;line-height:1.7}.validation-card{background:#ffb44a09}.validation-card.valid{background:#d9ff8109}.validation-card .inspector-title i{border:1px solid var(--orange);width:22px;height:22px;color:var(--orange);border-radius:50%;place-items:center;font-size:.7rem;font-style:normal;display:grid}.validation-card.valid .inspector-title i{border-color:var(--acid);color:var(--acid)}.validation-card ul{color:#b29b85;margin:0;padding-left:17px;font-size:.64rem;line-height:1.55}.editor-notice{z-index:30;color:#dcebc1;background:#171a12;border:1px solid #d9ff8147;align-items:center;gap:10px;width:min(92%,430px);min-height:48px;padding:9px 11px 9px 15px;font-size:.72rem;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 16px 50px #00000080}.editor-notice.error{color:#ffc1b2;background:#1b1210;border-color:#ff9b834d}.editor-notice span{flex:1}.editor-notice button{width:30px;height:30px;color:inherit;cursor:pointer;background:0 0;border:0;font-size:1.2rem}@media (max-width:840px){.editor-header{flex-direction:column;align-items:flex-start;gap:9px;min-height:112px;padding:10px 12px}.editor-header h1{font-size:1.18rem}.editor-header-actions{width:100%;padding-bottom:2px;overflow-x:auto}.editor-header-actions button{flex:none}.editor-workspace{grid-template-rows:minmax(360px,64vh) auto;grid-template-columns:58px minmax(0,1fr);height:calc(100dvh - 112px);overflow-y:auto}.editor-tools{grid-area:1/1;padding:5px}.editor-tools button{min-height:48px}.editor-tools button span{display:none}.editor-stage{grid-area:1/2;min-height:360px}.editor-inspector{border-left:0;border-top:1px solid var(--line);grid-area:2/1/auto/-1;overflow:visible}.editor-inspector section{padding:14px 16px}.editor-draw-actions{bottom:8px;left:8px;right:8px;overflow-x:auto;transform:none}.editor-draw-actions span,.editor-canvas-actions label{display:none}}
