:root{color-scheme:dark;--bg:#101211;--panel:#1a1e1c;--line:#303632;--muted:#929d95;--text:#f1f3ec;--amber:#f4bc58;--green:#a9c895;--radius:20px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:15px}button,a,input{font:inherit}button{cursor:pointer;color:inherit}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible{outline:2px solid var(--amber);outline-offset:4px}button{border:0}h1,h2,h3,p{margin:0}h1{font-size:34px;letter-spacing:-1.2px}h2{font-size:22px;letter-spacing:-.5px}h3{font-size:17px}small,.muted{color:var(--muted)}.shell{display:grid;grid-template-columns:218px 1fr;min-height:100vh}.sidebar{padding:30px 20px;border-right:1px solid var(--line);display:flex;flex-direction:column;position:fixed;width:218px;height:100vh;background:#131614;z-index:20}.brand{display:flex;align-items:center;gap:11px;font-weight:800;font-size:17px;line-height:1.1;letter-spacing:-.4px}.brand-mark{display:grid;place-items:center;background:var(--amber);width:41px;height:41px;border-radius:12px;color:#20251e;font-size:28px;font-weight:900;flex-shrink:0}.brand small{display:block;font-size:9px;letter-spacing:2.5px;font-weight:500;margin-top:7px}.nav{display:grid;gap:9px;margin-top:53px}.nav button{display:flex;align-items:center;gap:12px;text-align:left;background:transparent;color:var(--muted);padding:14px;border-radius:12px;font-weight:600}.nav button.active{color:var(--amber);background:#f4bc5814}.nav button:hover{background:#ffffff08}.icon{width:22px;height:22px;display:inline-block;vertical-align:middle;flex-shrink:0}.sidebar-foot{margin-top:auto;font-size:12px;line-height:1.7;color:var(--muted);padding:14px}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:6px}.main{grid-column:2;min-width:0}.topbar{height:84px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 38px;gap:12px}.breadcrumb{color:var(--muted);font-size:13px}.breadcrumb span{color:var(--text)}.wallet{display:flex;align-items:center;gap:18px}.money{font-size:19px;font-weight:750;font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:9px}.coin{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#ffe49c,#ce8a27);border:2px solid #f8ca71;box-shadow:inset 0 0 0 2px #b88035;color:#805119;font-size:13px;font-weight:900}.avatar{border:1px solid #465141;background:#2b3429;border-radius:50%;height:36px;width:36px;display:grid;place-items:center;font-weight:700;color:var(--green);font-size:13px}.content{max-width:1450px;margin:auto;padding:34px 38px 42px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:26px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:10px;color:var(--amber);font-weight:700;margin-bottom:10px}.page-head p{color:var(--muted);margin-top:10px;line-height:1.5;font-size:14px}.pill{font-size:11px;font-weight:650;color:var(--green);border:1px solid #40513a;background:#a9c8950b;padding:8px 11px;border-radius:30px;white-space:nowrap}.garage-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:22px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.hero{position:relative}.scene{position:relative;aspect-ratio:1/1;overflow:hidden;background-color:#29251d;isolation:isolate}.art{position:absolute;inset:0;background-image:url('/assets/cars-real.png');background-size:300% 200%;background-position:var(--x) var(--y);background-repeat:no-repeat}.paint-layer{clip-path:var(--body);filter:var(--paint-filter);pointer-events:none}.scene:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#121714 0%,#12171400 34%,#00000012 100%);pointer-events:none;z-index:3}.scene-label{position:absolute;top:20px;left:20px;font-size:10px;letter-spacing:1.5px;background:#151b17bc;border:1px solid #ffffff26;border-radius:7px;padding:8px 10px;z-index:5}.hero-title{position:absolute;bottom:27px;left:25px;right:25px;z-index:4;display:flex;justify-content:space-between;align-items:end}.hero-title h2{font-size:30px;margin-top:7px}.hero-title small{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#d8c6a7}.hero-info{padding:0 24px 25px;margin-top:-4px;position:relative;z-index:5}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding:20px 0;gap:12px}.stat strong{display:block;margin-top:7px;font-size:19px;font-weight:650}.stat small{font-size:11px}.progress{height:5px;background:#333b33;border-radius:9px;overflow:hidden;margin-top:10px}.progress i{height:100%;display:block;background:var(--amber);border-radius:8px}.button{display:inline-flex;justify-content:center;align-items:center;gap:9px;border-radius:10px;padding:14px 18px;background:#282e29;color:var(--text);font-weight:650;font-size:13px;min-height:46px;transition:background .15s,transform .15s}.button:hover:not(:disabled){background:#384039;transform:translateY(-1px)}.button.primary{background:var(--amber);color:#24291f;box-shadow:inset 0 1px #fff7}.button.primary:hover:not(:disabled){background:#ffd17c}.button.outline{border:1px solid #414a41;background:transparent}.button.danger{color:#eca29b}.button.wide{width:100%}.button .icon{width:18px;height:18px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.right-stack{display:flex;flex-direction:column;gap:20px}.card-body{padding:22px}.section-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px}.section-top h2{font-size:17px}.subtle-link{color:var(--amber);font-size:12px;background:none;padding:5px}.collection{display:flex;gap:8px;overflow-x:auto;margin-bottom:14px;padding-bottom:2px}.car-thumb{min-width:94px;width:94px;border-radius:10px;border:1px solid var(--line);background:#252b26;overflow:hidden;text-align:left;padding:0}.car-thumb.active{border-color:var(--amber)}.car-thumb .mini-art{height:70px;background-image:url('/assets/cars-real.png');background-size:300% 200%;background-position:var(--x) var(--y)}.car-thumb span{display:block;font-size:10px;padding:7px 6px;color:var(--muted)}.car-thumb.active span{color:var(--amber)}.job{background:linear-gradient(130deg,#293326,#1b211b);border-color:#3d4b36}.job .job-icon{width:43px;height:43px;display:grid;place-items:center;background:#a9c89515;border-radius:12px;color:var(--green);margin-bottom:18px}.job h3{font-size:20px}.job p{font-size:12px;color:#a9b6a3;line-height:1.7;margin:10px 0 18px}.job-footer{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.reward{color:var(--green);font-weight:700}.tag{font-size:10px;color:var(--muted);border:1px solid #46513f;border-radius:5px;padding:4px 6px}.hint{display:flex;gap:12px;padding:16px;border:1px solid #3c4337;background:#e9d6a506;border-radius:12px;font-size:12px;line-height:1.6;color:#b8b9a9}.hint .icon{color:var(--amber);width:19px;margin-top:2px}.lower-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:22px;margin-top:22px}.log{list-style:none;padding:0;margin:0;display:grid;gap:14px}.log li{display:flex;gap:10px;align-items:start;font-size:12px;color:#c0c7bf;line-height:1.5}.log li:before{content:"";width:5px;height:5px;background:var(--amber);border-radius:50%;margin-top:6px;flex-shrink:0}.empty{font-size:13px;color:var(--muted);line-height:1.8}.market-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.market-card .scene{aspect-ratio:1/1}.market-card .card-body{padding:20px}.market-card h2{font-size:21px}.market-card p{font-size:12px;margin:6px 0 18px;color:var(--muted)}.market-stats{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);padding:13px 0;border-top:1px solid var(--line)}.price-row{display:flex;align-items:center;justify-content:space-between;margin:15px 0}.price-row strong{font-size:24px;letter-spacing:-.7px}.filters{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap}.chip{border:1px solid var(--line);background:transparent;border-radius:9px;padding:9px 14px;color:var(--muted);font-size:12px}.chip.active{border-color:var(--amber);color:var(--amber);background:#f4bc580b}.workshop-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:22px}.tuning-section{padding-bottom:21px;margin-bottom:21px;border-bottom:1px solid var(--line)}.tuning-section:last-child{margin:0;padding:0;border:0}.tuning-section h3{margin-bottom:7px}.tuning-section p{font-size:12px;line-height:1.6;color:var(--muted);margin-bottom:14px}.swatches{display:flex;gap:12px;margin:15px 0}.swatch{width:35px;height:35px;border-radius:50%;border:3px solid var(--panel);box-shadow:0 0 0 1px #596052;background:var(--color);position:relative}.swatch.active{box-shadow:0 0 0 2px var(--amber)}.swatch.active:after{content:'✓';color:white;text-shadow:0 1px 3px black;font-weight:800}.option-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.upgrade{display:flex;justify-content:space-between;align-items:center;padding:17px 0;border-bottom:1px solid var(--line);gap:12px}.upgrade:last-child{border:0}.upgrade h3{font-size:14px}.upgrade p{margin-top:6px;font-size:11px;color:var(--muted)}.upgrade .button{padding:11px;font-size:12px}.tuning-preview{font-size:11px;color:var(--amber);margin:12px 0}.rim{position:absolute;width:8.2%;height:12.8%;z-index:2;border-radius:50%;transform:rotate(10deg);pointer-events:none;filter:drop-shadow(0 0 1px #000)}.rim svg{width:100%;height:100%}.sport-stripe{position:absolute;inset:0;clip-path:polygon(35% 51%,77% 47%,78% 48.5%,35% 52.5%);background:#e9e8de;opacity:.85;z-index:2;pointer-events:none}.splitter{position:absolute;inset:0;clip-path:polygon(3% 64%,32% 69%,34% 70%,3% 66%);background:#202421;z-index:2}.race-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:22px}.track{min-height:300px;position:relative;background:linear-gradient(180deg,#252c24,#17201a);overflow:hidden;padding:25px}.track h2{font-size:23px}.track p{font-size:12px;color:var(--muted);margin-top:8px}.lane{position:relative;height:65px;border-bottom:2px dashed #70796166;margin-top:28px;background:linear-gradient(0deg,#ffffff04,transparent)}.lane:after{content:"";position:absolute;right:15px;top:0;bottom:0;width:8px;background:repeating-conic-gradient(#d6d9cb 0 25%,#222b23 0 50%) 0 0/8px 8px}.race-car{position:absolute;left:0;bottom:8px;width:75px;height:30px;background:var(--amber);border-radius:18px 24px 7px 7px;box-shadow:inset 0 -7px #0004;transition:left 2.6s cubic-bezier(.25,.5,.6,1)}.race-car:before{content:"";position:absolute;left:10px;right:12px;height:12px;top:3px;background:#273530;clip-path:polygon(12% 0,76% 0,100% 100%,0 100%)}.race-car:after{content:"";position:absolute;left:10px;bottom:-5px;width:13px;height:13px;background:#111;border:3px solid #6b7368;border-radius:50%;box-shadow:40px 0 0 -2px #111,40px 0 0 0 #6b7368}.race-car.rival{background:#a7b8b0}.track.running .race-car{left:calc(100% - 95px)}.track.running .rival{transition-duration:2.9s}.track.lost .rival{transition-duration:2.3s}.lane-label{position:absolute;top:-17px;font-size:10px;letter-spacing:1px;color:#8b9b88}.result{padding:20px;border:1px solid #586c46;border-radius:12px;background:#a9c8950d;margin-top:18px}.result h3{color:var(--amber);font-size:21px}.result p{line-height:1.8;margin-top:8px;font-size:13px}.missions{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.mission{display:flex;align-items:center;gap:16px;padding:22px}.mission-number{font-size:23px;font-weight:700;color:#5c6b57;flex-shrink:0}.mission-info{flex:1}.mission p{font-size:12px;line-height:1.6;color:var(--muted);margin:6px 0 9px}.mission .reward{font-size:12px}.mission .button{font-size:11px;padding:10px}.mission.done{border-color:#526145}.footer-note{color:#788376;font-size:11px;line-height:1.8;margin-top:24px;display:flex;justify-content:space-between;gap:15px}.loading{display:flex;min-height:100vh;align-items:center;justify-content:center;flex-direction:column;gap:18px}.loading h1{font-size:24px}.loading p{color:var(--muted)}#toast{position:fixed;bottom:26px;left:calc(50% + 109px);transform:translate(-50%,20px);background:#e9ede0;color:#20271e;box-shadow:0 10px 40px #0007;border-radius:12px;padding:16px 22px;font-size:13px;opacity:0;pointer-events:none;transition:.2s;z-index:100;max-width:90vw}#toast.show{opacity:1;transform:translate(-50%,0)}#toast.error{background:#eed0c9}dialog{background:#1b211c;border:1px solid #46503f;border-radius:20px;color:var(--text);padding:28px;max-width:440px;width:calc(100% - 32px)}dialog::backdrop{background:#000a;backdrop-filter:blur(5px)}dialog p{color:var(--muted);line-height:1.8;margin:14px 0 24px;font-size:14px}dialog .actions{margin-top:20px}.mobile-logo{display:none}.summary{font-size:13px;color:var(--muted);line-height:1.7;margin:16px 0}.summary strong{color:var(--text)}
@media(min-width:1450px){.scene{aspect-ratio:1.15/1}.market-card .scene{aspect-ratio:1/1}}
@media(max-width:1150px){.sidebar{width:180px;padding:26px 14px}.shell{grid-template-columns:180px 1fr}.brand{font-size:14px}.brand small{font-size:8px}.brand-mark{width:35px;height:35px}.content{padding:28px 24px}.topbar{padding:0 24px}.garage-grid,.lower-grid{grid-template-columns:1.4fr 1fr;gap:16px}.card-body{padding:18px}.hero-title h2{font-size:25px}.market-grid{gap:12px}.market-card .card-body{padding:15px}.market-card h2{font-size:18px}.missions{grid-template-columns:1fr}#toast{left:calc(50% + 90px)}}
@media(max-width:860px){.garage-grid,.lower-grid,.workshop-grid,.race-layout{grid-template-columns:1fr}.right-stack{display:grid;grid-template-columns:1fr 1fr;gap:16px}.right-stack>.hint{grid-column:1/-1}.market-grid{grid-template-columns:1fr 1fr}.market-card:last-child{grid-column:1/-1;max-width:420px}.hero .scene{aspect-ratio:1/1}.workshop-grid>.panel:first-child{max-width:600px}.page-head{align-items:start}h1{font-size:30px}}
@media(max-width:600px){.shell{display:block}.sidebar{position:fixed;top:auto;bottom:0;width:100%;height:auto;padding:0;background:#161c18f5;border-right:0;border-top:1px solid #3b4237;backdrop-filter:blur(14px)}.sidebar>.brand,.sidebar-foot{display:none}.nav{display:flex;margin:0;gap:0;justify-content:space-around;padding:8px 6px calc(8px + env(safe-area-inset-bottom))}.nav button{padding:7px 5px;display:flex;flex-direction:column;gap:5px;font-size:10px;border-radius:9px;min-width:55px}.nav .icon{width:21px;height:21px}.main{padding-bottom:86px}.topbar{height:68px;padding:0 18px;background:#131714}.breadcrumb{display:none}.mobile-logo{display:flex;align-items:center;gap:9px;font-weight:750;font-size:13px;line-height:1.1}.mobile-logo .brand-mark{width:31px;height:31px;border-radius:8px;font-size:22px}.wallet{gap:11px}.money{font-size:16px}.coin{width:21px;height:21px;font-size:11px}.avatar{width:29px;height:29px;font-size:10px}.content{padding:24px 15px}.page-head{margin-bottom:20px;gap:8px}h1{font-size:28px}.page-head p{font-size:12px;max-width:250px;margin-top:8px}.eyebrow{font-size:9px;letter-spacing:1.8px}.pill{font-size:9px;padding:7px 8px}.garage-grid{gap:16px}.hero-title{left:20px;right:20px;bottom:23px}.hero-title h2{font-size:27px}.hero-info{padding:0 18px 20px}.scene-label{left:16px;top:16px;font-size:9px}.stat-row{padding:16px 0}.stat strong{font-size:17px}.button{padding:13px 12px;font-size:12px}.right-stack{display:flex}.collection{margin-bottom:10px}.car-thumb{min-width:100px;width:100px}.job .card-body{padding:20px}.job .job-icon{float:right;margin:0}.job p{max-width:260px}.lower-grid{margin-top:16px;gap:16px}.market-grid{grid-template-columns:1fr;gap:18px}.market-card:last-child{grid-column:auto;max-width:none}.market-card .scene{aspect-ratio:1/1}.market-card .card-body{padding:20px}.market-card h2{font-size:23px}.footer-note{display:block;font-size:10px}.footer-note span{display:block;margin-top:5px}.mission{padding:17px;gap:12px}.mission h3{font-size:15px}.mission p{font-size:11px}.mission-number{font-size:20px}.mission .button{padding:9px;font-size:10px;min-width:72px}#toast{left:50%;bottom:95px;width:max-content;max-width:calc(100vw - 30px);text-align:center}.track{padding:20px}.workshop-grid{gap:16px}.tuning-section{padding-bottom:18px;margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
.rim{width:6%;height:12%}.sport-stripe{clip-path:polygon(61% 59%,83% 52%,83% 53%,61% 60%)}.splitter{clip-path:polygon(3% 68%,40% 74%,40% 75%,3% 69%)}
.rim{transform:rotate(6deg);filter:brightness(.89) drop-shadow(1px 1px 1px #0008);width:6.4%;height:12.4%;border-radius:50%;overflow:hidden}.rim-1{width:4.1%;height:9.8%;filter:brightness(.72) drop-shadow(1px 1px 1px #0008)}.rim svg{display:block;width:100%;height:100%}.wheels-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0}.wheel-card{display:flex;flex-direction:column;align-items:center;justify-content:start;gap:5px;background:#131915;border:1px solid #354037;border-radius:12px;padding:12px 5px 10px;min-width:0;transition:border-color .15s,background .15s}.wheel-card:hover{border-color:#77846f;background:#242e25}.wheel-card.active{border-color:var(--amber);background:#f4bc5810;box-shadow:inset 0 0 0 1px #f4bc5833}.wheel-card>svg{width:68px;height:68px;filter:drop-shadow(0 3px 4px #0008);margin-bottom:4px}.wheel-card>span{font-size:10px;line-height:1.35;text-align:center;min-height:27px;display:grid;place-items:center}.wheel-card small{font-size:9px;color:#8f9c91}.wheel-card.active>span{color:var(--amber)}.wheel-card .stock-wheel{width:68px;height:68px;min-height:68px;font-size:35px;border:2px dashed #445044;border-radius:50%;margin-bottom:4px;color:#8c9b8c}.wheel-finishes{display:flex;gap:14px;margin:20px 0 14px}.wheel-selection{font-size:13px;color:var(--text);line-height:1.6;margin:12px 0 16px}.wheel-selection small{display:block;font-size:11px;color:var(--amber)}.tuning-section h3>small{display:block;font-weight:400;font-size:10px;margin-top:7px;color:var(--amber)}@media(max-width:600px){.wheel-card{padding:13px 5px 10px}.wheel-card>svg,.wheel-card .stock-wheel{width:75px;height:75px}.wheel-card>span{font-size:11px}.wheel-card small{font-size:10px}.wheels-grid{gap:9px}.wheel-finishes{justify-content:space-between;max-width:280px}.wheel-finishes .swatch{width:38px;height:38px}}
@media(min-width:861px){.workshop-grid>div:first-child{position:sticky;top:18px;align-self:start}}
