:root{--bg:#0d1117;--panel:#0c10169e;--ink:#f5f3ee;--muted:#a9b0b8;--accent:#ffd400;--green:#1f8a4c;--red:#ff3b30;--display:"Barlow Condensed", "Arial Narrow", system-ui, sans-serif;--body:"Inter", system-ui, -apple-system, sans-serif;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);height:100%;color:var(--ink);font-family:var(--body);overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-text-size-adjust:100%;margin:0;overflow:hidden}#app{position:fixed;inset:0}#app canvas{display:block}button{font:inherit;color:inherit;cursor:pointer}#loader{background:radial-gradient(ellipse at 50% 30%, #1d2833, var(--bg) 70%);z-index:50;place-items:center;transition:opacity .5s;display:grid;position:fixed;inset:0}#loader.done{opacity:0;pointer-events:none}.loader-inner{text-align:center;width:min(360px,80vw)}.title{font-family:var(--display);letter-spacing:.02em;font-size:clamp(44px,10vw,84px);font-style:italic;font-weight:800;line-height:.95}.title span{color:var(--accent)}.title.small{font-size:44px}.bar{background:#ffffff1f;border-radius:3px;height:6px;margin:22px 0 10px;overflow:hidden}.bar i{background:var(--accent);width:0;height:100%;transition:width .3s;display:block}.label{color:var(--muted);font-size:13px}.menu{z-index:20;touch-action:pan-y;background:linear-gradient(#080a0e33,#080a0ecc 55%);display:none;position:fixed;inset:0;overflow-y:auto}.menu.on{display:block}.menu:has(.title-screen){background:linear-gradient(#080a0e33 0%,#080a0e00 26% 60%,#080a0e66 100%)}.title-screen .subtitle{text-shadow:0 1px 3px #000000d9,0 0 12px #0000008c}.title-screen .title{text-shadow:0 2px 14px #0000008c,0 1px 2px #0009}.menu-inner{max-width:980px;padding:calc(28px + var(--safe-t)) 16px calc(28px + var(--safe-b));text-align:center;margin:0 auto}.menu-inner.small{background:var(--panel);-webkit-backdrop-filter:blur(10px);border-radius:18px;max-width:360px;margin-top:12vh;padding:26px 22px}.subtitle{color:#e8e3d6;text-shadow:0 1px 6px #000;margin:8px 0 22px;font-size:14px}.cars{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.car-card{text-align:left;background:var(--panel);-webkit-backdrop-filter:blur(8px);border:2px solid #0000;border-radius:14px;padding:14px;transition:border-color .15s,transform .15s}.car-card:hover{transform:translateY(-2px)}.car-card.sel{border-color:var(--accent)}.swatch{border-radius:5px;width:36px;height:10px;margin-bottom:8px;box-shadow:0 0 0 1px #ffffff40}.car-name{font-family:var(--display);font-size:24px;font-weight:700}.car-desc{color:var(--muted);min-height:50px;margin:4px 0 10px;font-size:12px;line-height:1.4}.stat{letter-spacing:.08em;color:var(--muted);grid-template-columns:70px 1fr;align-items:center;margin:4px 0;font-size:10px;display:grid}.stat i{background:#ffffff1f;border-radius:3px;height:5px;overflow:hidden}.stat b{background:var(--accent);height:100%;display:block}.car-best{font-family:var(--display);color:var(--accent);margin-top:10px;font-size:15px}.modes{flex-wrap:wrap;justify-content:center;gap:12px;margin:18px 0 12px;display:flex}.mode{background:var(--panel);font-family:var(--display);border:2px solid #0000;border-radius:12px;min-width:200px;padding:10px 18px;font-size:20px;font-weight:700}.mode small{font-family:var(--body);color:var(--muted);font-size:11px;font-weight:400;display:block}.mode.sel{border-color:var(--accent)}.options{text-shadow:0 1px 4px #000;flex-wrap:wrap;justify-content:center;gap:18px;margin-bottom:16px;font-size:13px;display:flex}.options input{accent-color:var(--accent);vertical-align:-3px;width:16px;height:16px}.start,.secondary{width:min(320px,100%);font-family:var(--display);letter-spacing:.06em;border:0;border-radius:12px;margin:10px auto 0;padding:14px;font-size:26px;font-weight:800;display:block}.start{background:var(--accent);color:#111;box-shadow:0 8px 30px #ffd40059}.secondary{background:#ffffff1a;padding:11px;font-size:18px}.help{color:#d8d4ca;text-shadow:0 1px 4px #000;margin-top:16px;font-size:12px}.credits{color:var(--muted);margin-top:10px;font-size:10px}.result-time{font-family:var(--display);color:var(--accent);font-size:64px;font-weight:800}.result-sub{color:var(--muted);margin:4px 0;font-size:13px}.menu-inner.title-screen{flex-direction:column;align-items:center;min-height:100%;display:flex}.title-screen .title-actions{flex-direction:column;gap:10px;width:min(560px,100%);margin-top:auto;padding-top:24px;display:flex}.menu-caption{min-height:1.4em;font-family:var(--display);letter-spacing:.04em;color:var(--accent);opacity:0;background:#0c10168c;border-radius:999px;padding:6px 14px;font-size:18px;font-weight:700;display:inline-block}.menu-caption:empty{visibility:hidden}.menu-caption.show{animation:.5s forwards caption-in}@keyframes caption-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.menu-notice{background:#1f8a4cd9;border-radius:10px;margin-top:12px;padding:8px 14px;font-size:13px;font-weight:600}.play-card{background:var(--accent);color:#111;text-align:left;border:0;border-radius:16px;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:16px 20px;transition:transform .15s;display:flex;box-shadow:0 10px 34px #ffd4004d}.play-card:hover,.play-card:focus-visible{transform:translateY(-2px)}.play-kicker{letter-spacing:.12em;text-transform:uppercase;opacity:.7;font-size:11px;font-weight:700}.play-main{font-family:var(--display);font-size:34px;font-style:italic;font-weight:800;line-height:1}.play-meta{font-size:13px;font-weight:600}.play-goal{background:#0000001f;border-radius:6px;margin-top:4px;padding:3px 8px;font-size:12px}.menu-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.menu-row .secondary{background:var(--panel);-webkit-backdrop-filter:blur(8px);width:100%;margin:0}.secondary small{font-family:var(--body);letter-spacing:0;color:var(--muted);margin-top:2px;font-size:11px;font-weight:400;display:block}@media (max-width:420px){.menu-row{grid-template-columns:1fr}}.intro-lead{margin:12px 0;font-size:15px;line-height:1.5}.intro-steps{text-align:left;gap:8px;margin:0 0 10px;padding-left:20px;font-size:13px;line-height:1.5;display:grid}.intro-steps b{color:var(--accent)}.intro-note{color:var(--muted);margin:0 0 6px;font-size:12px}.menu-inner.small.intro,.menu-inner.small.settings{max-width:440px;margin-top:8vh}.settings-list{text-align:left;gap:12px;margin:16px 0 6px;display:grid}.setting{align-items:flex-start;gap:12px;font-size:14px;display:flex}.setting[hidden]{display:none}.setting input{accent-color:var(--accent);flex:none;width:18px;height:18px;margin-top:2px}.setting small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.settings .controls-pick{margin:0}.hud{pointer-events:none;z-index:10;font-family:var(--display);position:fixed;inset:0}.panel{background:var(--panel);-webkit-backdrop-filter:blur(6px);border-radius:12px}.hud-top{top:calc(12px + var(--safe-t));align-items:flex-start;gap:10px;display:flex;position:absolute;left:12px;right:12px}.race-panel{min-width:140px;padding:8px 14px}.race-panel .label{letter-spacing:.15em;color:var(--muted);font-size:11px}.race-panel .time{font-variant-numeric:tabular-nums;font-size:34px;font-weight:800;line-height:1}.race-panel .sub{color:var(--accent);letter-spacing:.04em;font-size:13px}.job-panel{border-left:4px solid var(--accent);width:230px;padding:7px 12px 8px}.job-panel[data-mode=delivery]{border-left-color:#ff8a1f}.job-panel[data-mode=taxi]{border-left-color:#ffd21f}.job-panel[data-mode=offers]{border-left-color:#8e8e93}.job-head{letter-spacing:.08em;align-items:center;font-size:13px;font-weight:700;display:flex}.job-cancel{pointer-events:auto;color:var(--ink);letter-spacing:.08em;background:#ffffff1f;border:0;border-radius:6px;min-width:64px;height:32px;margin-left:auto;padding:0 10px;font-size:11px;font-weight:700}.nav-stop{pointer-events:auto;color:var(--ink);background:#ffffff1f;border:0;border-radius:6px;width:36px;height:36px;margin-left:8px;font-size:14px}.job-main{font-variant-numeric:tabular-nums;align-items:baseline;gap:8px;display:flex}.job-arrow{color:var(--accent);font-size:20px;font-style:normal;transition:transform .1s linear;display:inline-block}.job-dist{font-size:26px;font-weight:800;line-height:1.1}.job-time{margin-left:auto;font-size:20px;font-weight:700}.job-time.late{color:var(--red)}.job-target{font-family:var(--body);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.job-status{font-family:var(--body);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.job-status .bad{color:var(--red)}.job-status .dot{border-radius:50%;width:8px;height:8px;margin:0 3px 0 4px;display:inline-block}.job-status .dot.delivery{background:#ff8a1f}.job-status .dot.taxi{background:#ffd21f}.job-wallet{letter-spacing:.08em;color:#34c759;margin-top:2px;font-size:12px}.msg small{font-size:.6em;font-weight:600}.road-panel{letter-spacing:.06em;background:#1f6b3a;border:2px solid #fff;border-radius:6px;margin-left:auto;margin-right:auto;padding:6px 12px;font-size:18px;font-weight:700}.icon-btn{pointer-events:auto;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#0c1016a8;border:1px solid #ffffff24;border-radius:14px;place-items:center;width:44px;height:44px;padding:0;transition:background .15s,transform .1s,border-color .15s;display:grid;box-shadow:0 2px 10px #00000047}.icon-btn svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.icon-btn svg .fill{fill:currentColor;stroke:none}@media (hover:hover){.icon-btn:hover{background:#1c222ccc;border-color:#ffffff42}}.icon-btn:active{color:#0d1117;background:#ffd21fe6;transform:scale(.94)}.icon-btn:focus-visible{outline-offset:2px;outline:2px solid #ffd21f}.speedo{right:16px;bottom:calc(16px + var(--safe-b));text-align:right;width:128px;padding:8px 12px 10px;position:absolute}.speedo .speed{font-variant-numeric:tabular-nums;font-size:52px;font-weight:800;line-height:.9}.speedo .unit{letter-spacing:.2em;color:var(--muted);font-size:12px}.speedo .gear{color:var(--accent);font-size:22px;font-weight:800;position:absolute;top:8px;left:12px}.msg{text-align:center;text-shadow:0 2px 12px #000c;opacity:0;white-space:nowrap;font-size:clamp(20px,4vw,34px);font-weight:700;transition:opacity .2s,transform .2s;position:absolute;top:28%;left:50%;transform:translate(-50%,-50%)scale(.9)}.msg.on{opacity:1;transform:translate(-50%,-50%)scale(1)}.msg .count,.msg .go{color:var(--accent);font-size:clamp(80px,18vw,150px);font-style:italic;font-weight:800}.msg .good{color:#34c759}.msg .bad{color:var(--red)}.warn{background:var(--red);color:#fff;letter-spacing:.1em;border-radius:8px;padding:6px 18px;font-size:26px;font-weight:800;animation:.8s infinite blink;display:none;position:absolute;top:40%;left:50%;transform:translate(-50%)}.warn.on{display:block}@keyframes blink{50%{opacity:.35}}.stats{left:12px;bottom:calc(12px + var(--safe-b));background:#00000080;border-radius:6px;padding:4px 8px;font-family:ui-monospace,monospace;font-size:11px;position:absolute}.minimap{right:12px;top:calc(68px + var(--safe-t));z-index:11;pointer-events:none;position:fixed}.touch-ui{z-index:12;pointer-events:none;position:fixed;inset:0}.touch-ui button{-webkit-touch-callout:none;touch-action:none}.steer-zone{pointer-events:auto;touch-action:none;width:55%;position:absolute;top:22%;bottom:0;left:0}.stick-base{opacity:.55;background:radial-gradient(circle,#0000002e,#00000061);border-radius:50%;place-items:center;width:128px;height:128px;margin:-64px 0 0 -64px;transition:opacity .15s;display:grid;position:absolute;top:0;left:0;box-shadow:inset 0 0 0 2px #ffffff47}.steer-zone.active .stick-base{opacity:1;transition:none}.stick-knob{background:#ffd400eb;border-radius:50%;width:56px;height:56px;box-shadow:0 3px 12px #00000073}.steer-zone.active .stick-knob{transition:none}.touch-ui[data-scheme=pedals] .stick-base{border-radius:28px;width:200px;height:56px;margin-top:-28px;margin-left:-100px}.steer-hint{left:16px;bottom:calc(14px + var(--safe-b));font-family:var(--display);letter-spacing:.2em;color:#fff9;text-shadow:0 1px 3px #000;font-size:12px;position:absolute}.steer-zone.active .steer-hint{opacity:0}.pedals{right:16px;bottom:calc(150px + var(--safe-b));pointer-events:auto;align-items:flex-end;gap:12px;display:flex;position:absolute}.pedal{font-family:var(--display);letter-spacing:.08em;color:#fff;border:0;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-weight:800;transition:transform 60ms;display:flex;box-shadow:0 4px 14px #00000059}.pedal[hidden]{display:none}.pedal small{letter-spacing:.1em;opacity:.8;font-size:9px}.pedal.gas{background:#34c759d9;width:86px;height:118px;font-size:22px}.pedal.brake{background:#ff3b30d1;width:96px;height:104px;font-size:19px}.pedal.drift{width:70px;height:64px;color:var(--accent);background:#141820c7;font-size:15px;box-shadow:inset 0 0 0 2px #ffd400b3,0 4px 14px #00000059}.pedal.down{filter:brightness(1.2);transform:scale(.94)}.touch-tools{right:16px;bottom:calc(272px + var(--safe-b));pointer-events:auto;gap:8px;display:flex;position:absolute}.tool{color:var(--ink);font:700 12px var(--display);letter-spacing:.12em;background:#0c10169e;border:0;border-radius:12px;padding:9px 12px;box-shadow:inset 0 0 0 1px #ffffff38}.tool:active{color:#0d1117;background:#ffd400e6}.controls-pick{justify-content:center;gap:10px;max-width:520px;margin:0 auto 14px;display:flex}.scheme{background:var(--panel);font:800 16px var(--display);letter-spacing:.06em;border:2px solid #ffffff29;border-radius:12px;flex:1;padding:10px 12px}.scheme small{font:400 11px var(--body);letter-spacing:0;color:var(--muted);margin-top:2px;display:block}.scheme.sel{border-color:var(--accent)}@media (max-height:500px){.pedals{bottom:calc(96px + var(--safe-b))}.pedal.brake{width:88px;height:84px}.pedal.gas{width:78px;height:96px}.pedal.drift{width:62px;height:54px}.touch-tools{bottom:auto;top:calc(64px + var(--safe-t));right:120px}}@media (max-width:640px){.race-panel .time{font-size:26px}.race-panel{min-width:0;padding:6px 10px}.job-panel{width:168px;padding:5px 9px 6px}.job-dist{font-size:20px}.job-time{font-size:16px}.road-panel{text-align:center;max-width:132px;margin:0;padding:4px 8px;font-size:13px;position:absolute;top:176px;right:0}.speedo{width:100px;right:12px}.speedo .speed{font-size:40px}.minimap{top:calc(64px + var(--safe-t))}.cars{scroll-snap-type:x mandatory;touch-action:pan-x;grid-template-columns:none;grid-auto-columns:76%;grid-auto-flow:column;padding-bottom:6px;overflow-x:auto}.car-card{scroll-snap-align:center;padding:12px}.car-desc{min-height:0;font-size:11px}.menu-inner{padding-top:calc(18px + var(--safe-t))}.subtitle{margin-bottom:14px}.mode{flex:1;min-width:0}}.phone-btn{margin-left:0}.hud-left{flex-direction:column;flex-shrink:0;gap:8px;min-width:0;display:flex}.nav-banner{background:#0a46a0e0;border-radius:12px;align-items:center;gap:10px;width:340px;max-width:calc(100vw - 154px);padding:6px 12px 6px 10px;display:flex}.nav-body{min-width:0}.nav-arrow{text-align:center;width:30px;font-size:30px;line-height:1}.nav-text{white-space:nowrap;text-overflow:ellipsis;font-size:17px;font-weight:700;overflow:hidden}.nav-sub{font-family:var(--body);opacity:.85;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.nav-in{font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:20px;font-weight:800}.map-canvas{touch-action:none;cursor:grab;width:100%;height:100%;display:block}.bigmap{z-index:30;font-family:var(--body);color:#1b1b1b;background:#e8e4da;display:none;position:fixed;inset:0}.bigmap.on{display:block}.bm-canvas{position:absolute;inset:0}.bm-top{top:calc(10px + var(--safe-t));pointer-events:none;z-index:1;align-items:flex-start;gap:8px;display:flex;position:absolute;left:10px;right:10px}.bm-dest{pointer-events:auto;background:#fff;border-radius:12px;flex-direction:column;gap:2px;max-width:560px;padding:8px 12px;display:flex;box-shadow:0 2px 10px #0003}.bm-dest b{font-size:15px}.bm-dest span{color:#555;font-size:12px}.bm-dest button,.bm-close,.bm-zoom button{pointer-events:auto;color:#1b1b1b;background:#fff;border:0;border-radius:10px;font-weight:700;box-shadow:0 2px 10px #0003}.bm-dest button{box-shadow:none;background:#eee;align-self:flex-start;margin-top:4px;padding:4px 10px}.bm-close{width:44px;height:44px;margin-left:auto;font-size:18px}.bm-zoom{right:10px;bottom:calc(40px + var(--safe-b));flex-direction:column;gap:8px;display:flex;position:absolute}.bm-zoom button{width:44px;height:44px;font-size:22px}.bm-hint{left:50%;bottom:calc(10px + var(--safe-b));white-space:nowrap;pointer-events:none;background:#ffffffd9;border-radius:8px;padding:4px 10px;font-size:12px;position:absolute;transform:translate(-50%)}.phone-wrap{z-index:30;font-family:var(--body);color:#1b1b1b;background:#00000040;justify-content:flex-end;align-items:center;padding:16px 5vw;display:none;position:fixed;inset:0}.phone-wrap.on{display:flex}.phone{background:#111;border-radius:38px;flex-direction:column;width:min(360px,100%);height:min(720px,100vh - 32px);padding:12px;display:flex;position:relative;box-shadow:0 20px 60px #00000080,inset 0 0 0 2px #333}.ph-status{color:#fff;justify-content:space-between;padding:2px 16px 6px;font-size:11px;font-weight:600;display:flex}.ph-screen{background:#f5f4f0;border-radius:26px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.ph-home{background:#ddd;border:0;border-radius:3px;align-self:center;width:120px;height:5px;margin:9px 0 1px;padding:0}.ph-screen[data-app=home]{color:#fff;background:linear-gradient(160deg,#1f8a4c,#0b3d2e 60%,#062018)}.ph-wall{font-family:var(--display);letter-spacing:.04em;opacity:.9;padding:40px 24px 0;font-size:46px;font-weight:800}.ph-apps{grid-template-columns:repeat(3,1fr);gap:16px;padding:28px 22px;display:grid}.ph-apps button{color:#fff;background:0 0;border:0;flex-direction:column;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.ph-apps i{color:#fff;border-radius:16px;place-items:center;width:58px;height:58px;font-size:28px;font-style:normal;font-weight:800;display:grid;box-shadow:0 4px 12px #0000004d}.ph-head{align-items:center;gap:6px;padding:10px 12px 6px;font-size:17px;display:flex}.ph-back{color:#0a5bd8;background:0 0;border:0;padding:0 6px;font-size:28px;line-height:1}.ph-search{padding:0 12px 8px;position:relative}.ph-search input{width:100%;font:inherit;background:#e6e4de;border:0;border-radius:10px;padding:9px 12px;font-size:14px}.ph-results{z-index:2;background:#fff;border-radius:10px;margin:0;padding:0;list-style:none;position:absolute;top:40px;left:12px;right:12px;overflow:hidden;box-shadow:0 6px 20px #0003}.ph-results li{cursor:pointer;border-bottom:1px solid #eee;padding:9px 12px;font-size:13px}.ph-results li.none{color:#888}.ph-map{border-radius:14px;height:42%;min-height:160px;margin:0 12px;position:relative;overflow:hidden}.ph-map-actions{gap:8px;padding:8px 12px 0;display:flex}.ph-map-actions button,.ph-row button,.ph-go{font:inherit;color:#1b1b1b;background:#e6e4de;border:0;border-radius:9px;padding:7px 10px;font-size:12px;font-weight:700}.ph-go,.ph-nav-job{margin-top:6px;color:#fff!important;background:#0a5bd8!important}.ph-stop{margin-left:auto}.ph-dir{flex:1;min-height:0;padding:8px 12px 12px;overflow-y:auto}.ph-dest-name{font-size:15px;font-weight:800}.ph-dest-sub{color:#555;margin-bottom:6px;font-size:12px}.ph-steps{margin:0;padding:0;list-style:none}.ph-steps li{border-top:1px solid #e4e2dc;align-items:center;gap:10px;padding:7px 0;font-size:13px;display:flex}.ph-steps b{text-align:center;color:#0a5bd8;width:22px;font-size:18px}.ph-steps i{color:#777;white-space:nowrap;margin-left:auto;font-size:12px;font-style:normal}.ph-empty{color:#777;padding:10px 2px;font-size:13px}.ph-scroll{flex:1;padding:4px 12px 12px;overflow-y:auto}.ph-sub{letter-spacing:.08em;text-transform:uppercase;color:#888;margin:12px 2px 6px;font-size:11px;font-weight:700}.ph-card{background:#fff;border-radius:12px;flex-direction:column;gap:2px;margin-bottom:8px;padding:10px 12px;font-size:13px;display:flex}.ph-card.active{border:2px solid #34c759}.ph-card-top{gap:6px;font-weight:700;display:flex}.ph-card-top span{color:#1f8a4c;margin-left:auto}.ph-muted{color:#777;font-size:12px}.ph-row{gap:8px;display:flex}.ph-balance{font-family:var(--display);color:#1f8a4c;padding:16px 4px;font-size:44px;font-weight:800}.ph-balance small{font-family:var(--body);color:#777;font-size:12px;font-weight:600;display:block}.ph-goal .ph-card-top span.ph-tick{color:#777;width:18px;margin-left:0}.ph-goal.done{opacity:.6}.ph-goal.done .ph-tick{color:#1f8a4c!important}.ph-goal.active{border:2px solid var(--accent)}.ph-goal.active .ph-tick{color:#1b1b1b!important}.ph-balance.small{padding:8px 4px 4px;font-size:32px}.ph-note{border-left:4px solid var(--accent);background:#fff7cc;border-radius:8px;margin:4px 0 8px;padding:8px 10px;font-size:12px;font-weight:600}.ph-foot{margin:4px 2px 10px}.ph-buy{font:inherit;background:var(--accent);color:#1b1b1b;border:0;border-radius:9px;align-self:flex-start;margin-top:6px;padding:7px 12px;font-size:12px;font-weight:800}.ph-buy:disabled{color:#777;background:#e6e4de}.ph-buy.use{color:var(--accent);background:#1b1b1b}.ph-buy.owned:disabled{color:#1f8a4c;background:#e3f4e8}.ph-home-img{aspect-ratio:16/9;object-fit:cover;background:#ddd;border-radius:12px 12px 0 0;width:calc(100% + 24px);margin:-10px -12px 6px}.ph-features{color:#444;margin:4px 0 2px;padding-left:18px;font-size:12px}.ph-confirm{margin-top:6px;font-size:12px}.ph-chips{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.ph-chips small{letter-spacing:.08em;text-transform:uppercase;color:#888;width:100%;font-size:10px;font-weight:700}.ph-chip{font:inherit;color:#1b1b1b;background:#fff;border:1px solid #d6d3cb;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:600}.ph-chip.sel{color:var(--accent);background:#1b1b1b;border-color:#1b1b1b}@media (max-width:640px){.phone-wrap{background:#000;justify-content:center;padding:0}.phone{width:100%;height:100%;padding:calc(6px + var(--safe-t)) 6px calc(6px + var(--safe-b));border-radius:0}.ph-screen{border-radius:18px}.nav-banner{width:calc(100vw - 152px);max-width:none;padding:4px 10px 4px 8px}.nav-text{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;line-height:1.1;display:-webkit-box}.nav-arrow{font-size:24px}.nav-in{font-size:16px}}.touch-ui.on-foot .pedals,.touch-ui.on-foot .tool.reset{display:none}.tool.act{color:#0d1117;background:#ffd400eb}.tool.act2{color:var(--accent);background:#0d1117d9;border:2px solid #ffd400eb}.rest-fade{z-index:25;opacity:0;pointer-events:none;background:#05070a;transition:opacity .6s;position:fixed;inset:0}.rest-fade.on{opacity:1}@media (prefers-reduced-motion:reduce){.rest-fade{transition:none}}.hud .stars{top:calc(58px + var(--safe-t));letter-spacing:1px;text-shadow:0 1px 3px #000000b3;gap:2px;font-size:26px;line-height:1;display:none;position:absolute;left:50%;transform:translate(-50%)}.hud .stars.on{display:flex}.hud .stars i{color:#ffffff47;font-style:normal}.hud .stars i.lit{color:#ffd21f}.hud .stars.spotted i.lit{animation:.5s steps(2,jump-none) infinite star-flash}@keyframes star-flash{50%{color:#fff4b0;opacity:.45}}@media (max-width:640px){.hud .stars{top:calc(52px + var(--safe-t));font-size:20px}}@media (prefers-reduced-motion:reduce){.hud .stars.spotted i.lit{animation:none}}.hud .objective{left:50%;bottom:calc(168px + var(--safe-b));color:#fff;text-align:center;text-shadow:0 1px 2px #0009;pointer-events:none;background:#0c1016a8;border-radius:10px;max-width:min(92vw,640px);padding:7px 14px;font-size:15px;line-height:1.3;position:absolute;transform:translate(-50%)}.hud .objective b{color:#ffd21f}.hud .objective small{opacity:.75;font-size:12px;display:block}.hud .objective-meter{background:#fff3;border-radius:3px;width:160px;height:5px;margin:6px auto 0;display:block;overflow:hidden}.hud .objective-meter b{background:linear-gradient(90deg,#ffd21f,#ff3b30);width:0;height:100%;display:block}@media (max-width:640px){.hud .objective{bottom:auto;top:calc(84px + var(--safe-t));font-size:13px}}.hud .prompt{left:50%;bottom:calc(120px + var(--safe-b));color:#fff;letter-spacing:.04em;pointer-events:none;white-space:nowrap;background:#0c1016b8;border-radius:10px;padding:8px 14px;font-size:15px;font-weight:700;position:absolute;transform:translate(-50%)}.hud .prompt b{color:#0d1117;text-align:center;background:#ffd400;border-radius:5px;min-width:1.5em;margin-right:6px;padding:1px 6px;display:inline-block}.hud.on-foot .speedo{display:none}.online-panel{z-index:1000;color:#f5f0d8;background:#18221d;border:1px solid #526151;border-radius:10px;width:min(440px,92vw);max-height:85vh;padding:28px;font-family:inherit;position:fixed;inset:50% auto auto 50%;overflow:auto;transform:translate(-50%,-50%)}.online-panel[hidden]{display:none}.online-panel h2{margin:0 0 18px;font-size:30px}.online-status{font-size:14px;line-height:1.6}.online-actions{flex-direction:column;gap:10px;margin:20px 0;display:flex}.online-panel button,.online-panel input{color:#18221d;font:inherit;background:#f0cf4f;border:1px solid #687560;border-radius:5px;padding:13px;font-size:12px}.online-panel input{background:#fff}.online-close{width:100%;color:#eee!important;background:#29372b!important}.online-racers>div{border-bottom:1px solid #ffffff20;padding:10px 0;font-size:13px}.ad-studio-launch{bottom:calc(18px + var(--safe-b));z-index:45;-webkit-backdrop-filter:blur(10px);color:var(--accent);font:700 15px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;background:#0c1016b8;border:1px solid #ffd40080;border-radius:999px;align-items:center;gap:8px;padding:10px 16px 10px 14px;transition:background .15s,color .15s;display:flex;position:fixed;right:18px}.driving .ad-studio-launch{display:none}.ad-studio-launch:before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px}.ad-studio-launch:hover{background:var(--accent);color:#0d1117}.ad-studio-launch:hover:before{background:#0d1117}.ad-studio{box-sizing:border-box;width:min(820px,94vw);max-height:92vh;color:var(--ink);font:14px/1.5 var(--body);touch-action:pan-y;-webkit-user-select:text;user-select:text;background:linear-gradient(#161c25,#0d1117 70%);border:1px solid #ffffff1f;border-radius:16px;margin:auto;padding:28px 30px 26px;overflow:auto;box-shadow:0 30px 120px #000000b3}.ad-studio::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#06080cc7}.ad-studio *{box-sizing:border-box}.ad-studio header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.ad-studio .eyebrow{font:700 12px var(--display);letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}.ad-studio h1{font:italic 800 clamp(38px,7vw,58px)/.95 var(--display);letter-spacing:.01em;text-transform:uppercase;margin:2px 0 6px}.ad-studio h1 span{color:var(--accent)}.ad-studio .intro{color:var(--muted);max-width:520px;margin:0 0 22px}.ad-studio button,.ad-studio .import{font:600 13px var(--body);color:var(--ink);cursor:pointer;background:#ffffff0a;border:1px solid #fff3;border-radius:10px;padding:11px 18px;transition:background .15s,border-color .15s}.ad-studio button:hover:not(:disabled),.ad-studio .import:hover{background:#ffffff1a;border-color:#ffffff61}.ad-studio .close{border-radius:50%;flex:none;width:40px;height:40px;padding:0;font-size:26px;line-height:1}.ad-studio nav{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;display:grid}.ad-studio nav button{text-align:left;align-items:center;gap:14px;padding:14px 16px;display:flex}.ad-studio nav b{font:italic 800 28px/1 var(--display);color:var(--muted)}.ad-studio nav span{font:700 18px/1.1 var(--display);letter-spacing:.04em;text-transform:uppercase;display:block}.ad-studio nav small{font:400 12px var(--body);letter-spacing:0;text-transform:none;color:var(--muted);margin-top:3px;display:block}.ad-studio nav .selected{border-color:var(--accent);background:#ffd4001a}.ad-studio nav .selected b{color:var(--accent)}.ad-stage{background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;overflow:hidden}.ad-stage figure{margin:0;position:relative}.ad-stage figcaption{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font:700 12px var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);background:#0d1117c7;border-radius:6px;padding:4px 9px;position:absolute;top:12px;left:12px}.ad-shot{aspect-ratio:16/9;background:#0a0e13}.ad-shot img{object-fit:cover;width:100%;height:100%;display:block}.ad-shot:after{content:"";pointer-events:none;background:radial-gradient(at 50% 45%,#0000 55%,#00000059),linear-gradient(#0000 62%,#080a0ed1);position:absolute;inset:0}.ad-place{z-index:1;font:italic 800 clamp(20px,3.6vw,30px)/1 var(--display);letter-spacing:.02em;text-transform:uppercase;color:#fff;text-shadow:0 2px 12px #0009;position:absolute;bottom:14px;left:16px;right:16px}.ad-shot figcaption{z-index:1}.ad-preview{background:repeating-linear-gradient(45deg,#0a0e13,#0a0e13 10px,#0d1218 10px 20px);padding:44px 18px 18px}.ad-preview figcaption{color:var(--muted)}.ad-preview img{object-fit:contain;border-radius:4px;width:100%;max-height:150px;display:block;box-shadow:0 0 0 1px #ffffff29,0 8px 30px #00000080}.ad-meta{border-top:1px solid #ffffff1a;padding:14px 18px 16px}.ad-specs{flex-wrap:wrap;gap:8px 28px;display:flex}.ad-specs small{font:700 11px var(--display);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);display:block}.ad-specs b{font:700 17px var(--display);letter-spacing:.03em}.ad-tip{color:var(--muted);margin:10px 0 0;font-size:13px}.ad-upload{text-align:center;cursor:pointer;color:var(--ink);border:1.5px dashed #ffffff47;border-radius:12px;flex-direction:column;align-items:center;gap:4px;margin-top:16px;padding:22px 16px;transition:border-color .15s,background .15s;display:flex;position:relative}.ad-upload svg,.ad-upload u{color:var(--accent)}.ad-upload small{color:var(--muted)}.ad-upload:hover,.ad-upload.over{border-color:var(--accent);background:#ffd40012}.ad-upload input,.ad-studio .import input{opacity:0;cursor:pointer;width:100%;height:100%;font-size:0;position:absolute;inset:0}.ad-status{min-height:22px;color:var(--muted);margin:10px 0 12px;font-size:13px}.ad-actions{flex-wrap:wrap;gap:10px;display:flex}.ad-studio .apply{background:var(--accent);border-color:var(--accent);color:#0d1117;font:800 17px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;padding:12px 22px}.ad-studio .apply:hover:not(:disabled){background:#ffe14d;border-color:#ffe14d}.ad-studio .apply:disabled{color:#ffffff59;cursor:default;background:#ffffff14;border-color:#0000}.ad-studio footer{border-top:1px solid #ffffff1a;justify-content:space-between;gap:24px;margin-top:24px;padding-top:20px;display:flex}.ad-studio footer strong{font:700 18px var(--display);letter-spacing:.06em;text-transform:uppercase}.ad-studio footer p{max-width:430px;color:var(--muted);margin:4px 0 0;font-size:12px}.ad-studio code{color:var(--ink);background:#ffffff14;border-radius:4px;padding:1px 5px;font-size:11px}.campaign-actions{flex:none;align-items:flex-start;gap:10px;display:flex}.ad-studio .import{display:inline-block;position:relative;overflow:hidden}.ad-studio :focus-visible,.ad-studio-launch:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (max-width:620px){.ad-studio{padding:20px 16px}.ad-studio nav{grid-template-columns:1fr}.ad-studio footer{flex-direction:column}.ad-studio .ad-actions button{flex:auto}.ad-studio-launch{bottom:calc(8px + var(--safe-b));right:8px}}.garden-game{z-index:90;touch-action:auto;background:#07120cbb;place-items:center;padding:12px;display:grid;position:absolute;inset:0}.garden-game section{color:#f7f3ea;background:#15241d;border:1px solid #526342;border-radius:16px;width:min(420px,100%);max-height:100%;padding:18px;overflow:auto;box-shadow:0 18px 80px #0008}.garden-game header{justify-content:space-between;align-items:center;display:flex}.garden-game small{color:#b3c4b0;letter-spacing:1.4px;font-size:10px}.garden-game h2{margin:5px 0;font:italic 700 28px Barlow Condensed,sans-serif}.garden-game button{cursor:pointer;color:#fff;font:inherit;background:#273c2e;border:1px solid #69796b;border-radius:8px;padding:10px 14px}.garden-game button:focus-visible{outline-offset:2px;outline:2px solid #ffd400}.garden-game .tt-close{padding:0 10px;font-size:25px}.garden-game canvas{touch-action:none;border-radius:8px;width:min(100%,38.7vh);height:auto;margin:auto;display:block}.garden-game .tt-score{text-align:center;color:#ffd400;padding:12px;font-weight:700}.garden-game p{text-align:center;margin:10px 0;font-size:13px}.garden-game .tt-help{color:#b3c4b0;font-size:11px}.garden-game footer{justify-content:center;gap:8px;display:flex}.garden-game .tt-restart{color:#142922;background:#ffd400;border-color:#ffd400}
