@import "https://fonts.googleapis.com/css2?family=Press+Start+2P&family=VT323&display=swap";
:root{--night:#0e0a2b;--night-2:#1a1248;--magenta:#ff2e88;--cyan:#3df0ff;--yellow:#ffcd1f;--orange:#ff6a1f;--paper:#f4ecd0;--paper-dim:#cdc4a7;--red:#e8262a;--green:#2ee676;--ink:#07051a;--grid:#3df0ff1a;--scan-strength:.35}*{box-sizing:border-box}html,body{background:var(--night);height:100%;color:var(--paper);-webkit-font-smoothing:none;font-smooth:never;image-rendering:pixelated;margin:0;padding:0;font-family:VT323,Courier New,monospace;overflow:hidden}button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;font-family:inherit}.slot,.swatch,.livery,.opt{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.pixel{letter-spacing:.02em;font-family:"Press Start 2P",monospace}#rally-root{position:fixed;inset:0}.stage{background:radial-gradient(at 50% 120%,#2b1772 0%,#0000 60%),radial-gradient(at 50% -10%,#4b1b6a 0%,#0000 55%),linear-gradient(#0e0a2b 0%,#190b3a 100%);position:fixed;inset:0;overflow:hidden}.scene-bg{pointer-events:none;z-index:0;opacity:1;transition:opacity .3s;position:absolute;inset:0}.scene-bg:before{content:"";transform-origin:50% 0;background:linear-gradient(#0000 0%,#07051a99 100%),repeating-linear-gradient(#0000 0 28px,#3df0ff2e 28px 30px);height:45%;position:absolute;bottom:0;left:0;right:0;transform:perspective(400px)rotateX(60deg);-webkit-mask-image:linear-gradient(#0000 0%,#000 30% 100%);mask-image:linear-gradient(#0000 0%,#000 30% 100%)}.scene-bg .sun{background:linear-gradient(180deg, var(--yellow) 0%, var(--yellow) 38%, transparent 38%, transparent 44%, var(--orange) 44%, var(--orange) 60%, transparent 60%, transparent 64%, var(--magenta) 64%, var(--magenta) 78%, transparent 78%, transparent 82%, var(--magenta) 82%, var(--magenta) 100%);filter:drop-shadow(0 0 40px #ff2e8880);border-radius:50%;width:360px;height:360px;position:absolute;bottom:42%;left:50%;transform:translate(-50%,50%)}.scene-bg .stars{background-image:radial-gradient(2px 2px at 12% 20%,#fff,#0000),radial-gradient(1px 1px at 22%,#fff,#0000),radial-gradient(2px 2px at 34% 10%,#fff,#0000),radial-gradient(1px 1px at 48% 30%,#fff,#0000),radial-gradient(1px 1px at 62% 18%,#fff,#0000),radial-gradient(2px 2px at 76% 45%,#fff,#0000),radial-gradient(1px 1px at 88% 25%,#fff,#0000),radial-gradient(1px 1px at 8% 38%,#3df0ff,#0000),radial-gradient(1px 1px at 95% 12%,#ff2e88,#0000);position:absolute;inset:0 0 50%}.scene-bg .mountains{background:linear-gradient(135deg, transparent 49.5%, var(--night-2) 50%) 0 0/120px 120px, linear-gradient(45deg, transparent 49.5%, var(--night-2) 50%) 0 0/120px 120px;mix-blend-mode:normal;opacity:.9;height:22%;position:absolute;bottom:38%;left:-5%;right:-5%;-webkit-mask-image:linear-gradient(#0000 0%,#000 60% 100%);mask-image:linear-gradient(#0000 0%,#000 60% 100%)}.scene-mountain .sun{background:linear-gradient(180deg, var(--yellow) 0%, var(--yellow) 50%, var(--orange) 50%, var(--orange) 75%, var(--magenta) 75%, var(--magenta) 100%)}.scene-snow{background:radial-gradient(at 50% 110%,#6fb6ff 0%,#0000 55%),linear-gradient(#1a3464 0%,#6a90b8 100%)!important}.scene-snow .sun{display:none}.scene-snow .mountains{opacity:.95;background:linear-gradient(135deg,#0000 49.5%,#f4ecd0 50%) 0 0/120px 120px,linear-gradient(45deg,#0000 49.5%,#f4ecd0 50%) 0 0/120px 120px}.scene-snow:after{content:"";pointer-events:none;background-image:radial-gradient(2px 2px at 10% 18%,#fff,#0000),radial-gradient(2px 2px at 35% 8%,#fff,#0000),radial-gradient(2px 2px at 55% 22%,#fff,#0000),radial-gradient(2px 2px at 75% 10%,#fff,#0000),radial-gradient(2px 2px at 92% 30%,#fff,#0000),radial-gradient(2px 2px at 18% 42%,#fff,#0000),radial-gradient(2px 2px at 60% 55%,#fff,#0000);animation:18s linear infinite snowfall;position:absolute;inset:0}@keyframes snowfall{0%{transform:translateY(-20px)}to{transform:translateY(60px)}}.scene-desert{background:radial-gradient(at 50% 110%,#ffb46a 0%,#0000 55%),linear-gradient(#ffcd1f 0%,#ff6a1f 60%,#6a1733 100%)!important}.scene-desert .sun{background:radial-gradient(circle, #fff 0%, var(--yellow) 30%, transparent 70%);filter:drop-shadow(0 0 60px var(--yellow))}.scene-desert .stars{display:none}.scene-desert .mountains{background:linear-gradient(135deg,#0000 49.5%,#6a1733 50%) 0 0/140px 140px,linear-gradient(45deg,#0000 49.5%,#6a1733 50%) 0 0/140px 140px}.scene-city{background:linear-gradient(#0e0a2b 0%,#390c5a 60%,#ff2e88 100%)!important}.scene-city .mountains{background:linear-gradient(90deg, transparent 0 5%, var(--night) 5% 9%, transparent 9% 12%, var(--night) 12% 18%, transparent 18% 22%, var(--night) 22% 28%, transparent 28% 32%, var(--night) 32% 40%, transparent 40% 43%, var(--night) 43% 50%, transparent 50% 54%, var(--night) 54% 62%, transparent 62% 66%, var(--night) 66% 72%, transparent 72% 76%, var(--night) 76% 84%, transparent 84% 88%, var(--night) 88% 95%, transparent 95% 100%);height:30%;bottom:38%}.scene-city .mountains:after{content:"";background-image:radial-gradient(2px 2px at 7% 70%, var(--yellow), transparent), radial-gradient(2px 2px at 7% 80%, var(--yellow), transparent), radial-gradient(2px 2px at 15% 60%, var(--cyan), transparent), radial-gradient(2px 2px at 24% 80%, var(--yellow), transparent), radial-gradient(2px 2px at 34% 50%, var(--cyan), transparent), radial-gradient(2px 2px at 45% 75%, var(--yellow), transparent), radial-gradient(2px 2px at 55% 60%, var(--magenta), transparent), radial-gradient(2px 2px at 67% 70%, var(--yellow), transparent), radial-gradient(2px 2px at 78% 65%, var(--cyan), transparent), radial-gradient(2px 2px at 90% 75%, var(--yellow), transparent);position:absolute;inset:0}.scene-garage{background:linear-gradient(#221033 0%,#0e0a2b 100%)!important}.scene-garage .sun,.scene-garage .stars,.scene-garage .mountains{display:none}.scene-garage:after{content:"";background:repeating-conic-gradient(at 50% 100%,#ffffff0a 0deg 90deg,#0000 90deg 180deg);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 50%,#000 80%);mask-image:linear-gradient(#0000 50%,#000 80%)}.car-3d{z-index:1;position:absolute;inset:0}.car-3d canvas{width:100%;height:100%;display:block}.topbar{z-index:10;pointer-events:none;justify-content:space-between;align-items:flex-start;display:flex;position:absolute;top:18px;left:18px;right:18px}.topbar>*{pointer-events:auto}.brand{background:var(--night);border:3px solid var(--paper);box-shadow:4px 4px 0 var(--magenta), 8px 8px 0 var(--cyan);align-items:center;gap:14px;padding:10px 14px;display:inline-flex}.brand .mark{background:conic-gradient(from 0deg, var(--magenta) 0deg 90deg, var(--paper) 90deg 180deg, var(--magenta) 180deg 270deg, var(--paper) 270deg 360deg);border:2px solid var(--paper);width:36px;height:36px;position:relative}.brand .mark:after{content:"";background:var(--ink);border-radius:50%;position:absolute;inset:6px}.brand .text{line-height:1.05}.brand .text .t1{color:var(--paper);font-family:"Press Start 2P",monospace;font-size:14px}.brand .text .t2{color:var(--cyan);letter-spacing:.18em;font-family:VT323,monospace;font-size:18px}.top-actions{align-items:center;gap:10px;display:flex}.car-name-input{background:var(--night);color:var(--yellow);border:3px solid var(--paper);width:220px;box-shadow:4px 4px 0 var(--cyan);text-align:center;outline:none;padding:10px 12px;font-family:"Press Start 2P",monospace;font-size:10px}.btn{text-transform:uppercase;background:var(--paper);color:var(--ink);border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);padding:10px 14px;font-family:"Press Start 2P",monospace;font-size:10px;transition:transform 50ms,box-shadow 50ms}.btn:active{box-shadow:1px 1px 0 var(--ink);transform:translate(3px,3px)}.btn.primary{background:var(--magenta);color:var(--paper)}.btn.ghost{color:var(--paper);box-shadow:4px 4px 0 var(--magenta);background:0 0}@media (hover:hover){.btn:hover{background:var(--yellow)}.btn.primary:hover{background:var(--cyan);color:var(--ink)}.btn.ghost:hover{background:var(--magenta);color:var(--paper)}}.btn.icon{justify-content:center;min-width:40px;padding:10px;display:inline-flex}.rail{background:var(--night);border:3px solid var(--paper);width:96px;box-shadow:6px 6px 0 var(--magenta);z-index:9;flex-direction:column;gap:8px;padding:12px 8px;display:flex;position:absolute;top:120px;bottom:200px;left:18px;overflow-y:auto}.rail::-webkit-scrollbar{width:6px}.rail::-webkit-scrollbar-thumb{background:var(--magenta)}.cat{color:var(--paper);text-align:center;background:0 0;border:2px solid #0000;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;transition:all .1s;display:flex;position:relative}.cat .ico{background:var(--night-2);border:2px solid var(--paper);width:44px;height:44px;image-rendering:pixelated;place-items:center;display:grid}.cat .ico svg{display:block}.cat .lbl{color:var(--paper-dim);font-family:"Press Start 2P",monospace;font-size:6px;line-height:1.3}@media (hover:hover){.cat:hover .ico{border-color:var(--cyan)}.cat:hover .lbl{color:var(--cyan)}}.cat.active .ico{background:var(--magenta);border-color:var(--paper);box-shadow:0 0 0 2px var(--cyan)}.cat.active .lbl{color:var(--yellow)}.cat.active:before{content:"";border:6px solid #0000;border-left-color:var(--yellow);width:0;height:0;position:absolute;top:50%;left:-14px;transform:translateY(-50%)}.picker{z-index:9;background:var(--night);border:3px solid var(--paper);box-shadow:6px 6px 0 var(--cyan);padding:14px 16px 16px;position:absolute;bottom:18px;left:134px;right:18px}.picker-header{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.picker-header .label{color:var(--yellow);font-family:"Press Start 2P",monospace;font-size:12px}.picker-header .meta{color:var(--paper-dim);letter-spacing:.1em;font-family:VT323,monospace;font-size:18px}.picker-header .meta b{color:var(--cyan)}.picker-body{align-items:center;gap:12px;display:flex}.arrow{background:var(--paper);border:3px solid var(--ink);width:40px;height:110px;color:var(--ink);box-shadow:3px 3px 0 var(--ink);flex-shrink:0;font-family:"Press Start 2P",monospace;font-size:14px}.arrow:active{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}@media (hover:hover){.arrow:hover{background:var(--magenta);color:var(--paper)}}.options-row{scroll-behavior:smooth;scroll-snap-type:x mandatory;flex:1;gap:10px;padding:4px 2px;display:flex;overflow-x:auto}.options-row::-webkit-scrollbar{height:6px}.options-row::-webkit-scrollbar-thumb{background:var(--magenta)}.opt{background:var(--night-2);border:3px solid var(--paper);text-align:center;cursor:pointer;scroll-snap-align:start;flex:0 0 130px;padding:8px;transition:transform 80ms;position:relative}@media (hover:hover){.opt:hover{border-color:var(--cyan);transform:translateY(-3px)}}.opt.selected{border-color:var(--yellow);background:linear-gradient(135deg, var(--magenta) 0%, var(--night-2) 100%);box-shadow:0 0 0 3px var(--cyan)}.opt.selected:after{content:"◆";background:var(--yellow);color:var(--ink);border:2px solid var(--ink);place-items:center;width:22px;height:22px;font-size:10px;display:grid;position:absolute;top:-10px;right:-10px}.opt .preview{background:var(--ink);border:2px solid var(--paper-dim);width:100%;height:70px;image-rendering:pixelated;place-items:center;margin-bottom:6px;display:grid}.opt .preview svg{display:block}.opt .name{color:var(--paper);font-family:"Press Start 2P",monospace;font-size:7px;line-height:1.4}.opt .badge{color:var(--ink);background:var(--cyan);padding:2px 4px;font-family:"Press Start 2P",monospace;font-size:6px;position:absolute;top:6px;left:6px}.paint-panel{background:var(--night);border:3px solid var(--paper);width:240px;box-shadow:6px 6px 0 var(--yellow);z-index:10;padding:14px;position:absolute;top:120px;right:18px}.paint-panel h3{color:var(--yellow);margin:0 0 12px;font-family:"Press Start 2P",monospace;font-size:11px}.swatches{grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:12px;display:grid}.swatch{aspect-ratio:1;border:2px solid var(--paper);cursor:pointer;position:relative}.swatch.active{outline:3px solid var(--cyan);outline-offset:2px}.swatch.active:after{content:"✓";color:var(--ink);place-items:center;font-family:"Press Start 2P",monospace;font-size:14px;display:grid;position:absolute;inset:0}.paint-row{color:var(--paper-dim);justify-content:space-between;margin-bottom:8px;font-family:VT323,monospace;font-size:16px;display:flex}.paint-row b{color:var(--cyan)}.livery-row{flex-wrap:wrap;gap:6px;display:flex}.livery{border:2px solid var(--paper);cursor:pointer;background:var(--ink);flex:1 0 calc(33% - 4px);height:38px;position:relative;overflow:hidden}.livery.active{outline:3px solid var(--cyan);outline-offset:2px}.livery-name{text-align:center;color:var(--paper);text-shadow:1px 1px #000;font-family:"Press Start 2P",monospace;font-size:6px;position:absolute;bottom:1px;left:0;right:0}.number-row{grid-template-columns:repeat(5,1fr);gap:4px;margin-top:8px;display:grid}.num-btn{background:var(--night-2);color:var(--paper);border:2px solid var(--paper);cursor:pointer;padding:6px 0;font-family:"Press Start 2P",monospace;font-size:10px}.num-btn.active{background:var(--magenta);color:var(--paper);border-color:var(--yellow)}@media (hover:hover){.num-btn:hover{background:var(--cyan);color:var(--ink)}}.num-actions{gap:6px;margin-top:12px;display:flex}.num-actions .btn{flex:1;font-size:9px}.garage-screen{z-index:100;background:radial-gradient(#1a1248 0%,#0e0a2b 70%);flex-direction:column;padding:24px 0;display:flex;position:fixed;inset:0;overflow:hidden auto}.garage-screen::-webkit-scrollbar{width:12px}.garage-screen::-webkit-scrollbar-track{background:var(--night)}.garage-screen::-webkit-scrollbar-thumb{background:var(--magenta);border:2px solid var(--night)}.garage-screen::-webkit-scrollbar-thumb:hover{background:var(--cyan)}.garage-screen .grid-floor{pointer-events:none;background:linear-gradient(180deg, transparent 40%, #0009 100%), repeating-linear-gradient(0deg, transparent 0 38px, var(--magenta) 38px 40px), repeating-linear-gradient(90deg, transparent 0 38px, var(--magenta) 38px 40px);transform-origin:50% 100%;opacity:.6;position:absolute;inset:0;transform:perspective(500px)rotateX(72deg)translateY(20%);-webkit-mask-image:linear-gradient(#0000 20%,#000 70%);mask-image:linear-gradient(#0000 20%,#000 70%)}.garage-inner{z-index:2;text-align:center;max-width:100%;margin:auto;padding:40px;position:relative}.garage-title{color:var(--paper);text-shadow:6px 0 0 var(--magenta), 12px 0 0 var(--cyan);letter-spacing:.04em;margin:0 0 16px;font-family:"Press Start 2P",monospace;font-size:72px;line-height:1}.garage-sub{color:var(--yellow);letter-spacing:.3em;margin-bottom:40px;font-family:VT323,monospace;font-size:28px}.garage-slots{grid-template-columns:repeat(3,1fr);gap:18px;max-width:720px;margin:0 auto 30px;display:grid}.slot{background:var(--night);border:3px solid var(--paper);text-align:center;cursor:pointer;padding:18px;transition:transform 80ms;position:relative}@media (hover:hover){.slot:hover{box-shadow:6px 6px 0 var(--magenta);transform:translate(-2px,-2px)}}.slot .slot-preview{aspect-ratio:1.4;background:var(--night-2);border:2px solid var(--paper-dim);place-items:center;width:100%;margin-bottom:10px;display:grid}.slot .slot-preview img{object-fit:cover;width:100%;height:100%;image-rendering:pixelated}.slot .slot-name{color:var(--paper);font-family:"Press Start 2P",monospace;font-size:10px}.slot.empty .slot-preview{color:var(--paper-dim);font-family:"Press Start 2P",monospace;font-size:28px}.slot.empty .slot-name{color:var(--paper-dim)}.start-btn{background:var(--magenta);color:var(--paper);border:4px solid var(--paper);cursor:pointer;box-shadow:6px 6px 0 var(--cyan);letter-spacing:.1em;padding:16px 28px;font-family:"Press Start 2P",monospace;font-size:16px;animation:1.4s ease-in-out infinite pulse}.start-btn:active{box-shadow:2px 2px 0 var(--cyan);transform:translate(4px,4px)}@media (hover:hover){.start-btn:hover{background:var(--cyan);color:var(--ink)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.insert-coin{color:var(--paper-dim);letter-spacing:.15em;margin-top:24px;font-family:VT323,monospace;font-size:18px}.coin-corner{color:var(--yellow);font-family:"Press Start 2P",monospace;font-size:10px;position:absolute;bottom:24px;right:24px}.poster-overlay{z-index:200;background:#07051aeb;place-items:center;padding:40px;display:grid;position:fixed;inset:0;overflow:auto}.poster{background:var(--paper);width:540px;color:var(--ink);border:6px solid var(--ink);box-shadow:12px 12px 0 var(--magenta);padding:24px;font-family:VT323,monospace;position:relative}.poster:before{content:"";background-image:radial-gradient(var(--ink) 1px, transparent 1px);opacity:.06;pointer-events:none;background-size:6px 6px;position:absolute;inset:0}.poster-eyebrow{color:var(--red);letter-spacing:.1em;border-bottom:3px solid var(--ink);justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:6px;font-family:"Press Start 2P",monospace;font-size:10px;display:flex}.poster-title{text-transform:uppercase;margin:0 0 6px;font-family:"Press Start 2P",monospace;font-size:28px;line-height:1}.poster-sub{letter-spacing:.18em;color:var(--red);margin-bottom:16px;font-size:22px}.poster-img{aspect-ratio:16/10;background:var(--ink);border:4px solid var(--ink);width:100%;margin-bottom:16px;position:relative;overflow:hidden}.poster-img img{object-fit:cover;width:100%;height:100%;image-rendering:pixelated}.poster-specs{border-top:3px solid var(--ink);border-bottom:3px solid var(--ink);grid-template-columns:1fr 1fr;gap:10px 24px;margin-bottom:14px;padding:12px 0;font-size:20px;display:grid}.poster-specs .row{flex-direction:column;gap:2px;line-height:1.1;display:flex}.poster-specs .row b{color:var(--red);letter-spacing:.1em;font-family:"Press Start 2P",monospace;font-size:8px}.poster-specs .row span{letter-spacing:.04em;font-size:18px}.poster-footer{justify-content:space-between;align-items:center;font-family:"Press Start 2P",monospace;font-size:8px;display:flex}.poster-footer .stamp{border:3px solid var(--red);color:var(--red);letter-spacing:.1em;padding:6px 10px;transform:rotate(-6deg)}.poster-actions{justify-content:center;gap:10px;margin-top:20px;display:flex}.close-x{background:var(--magenta);width:44px;height:44px;color:var(--paper);border:3px solid var(--paper);cursor:pointer;box-shadow:3px 3px 0 var(--ink);font-family:"Press Start 2P",monospace;font-size:16px;position:absolute;top:-22px;right:-22px}.toast{background:var(--green);color:var(--ink);border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);z-index:150;padding:12px 20px;font-family:"Press Start 2P",monospace;font-size:11px;animation:.2s toastIn,.3s 1.6s forwards toastOut;position:fixed;top:86px;left:50%;transform:translate(-50%)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}@keyframes toastOut{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-20px)}}.cam-controls{z-index:9;flex-direction:column;gap:6px;width:96px;display:flex;position:absolute;bottom:18px;left:18px}.cam-controls .btn{padding:6px;font-size:7px}.cam-controls .lbl{color:var(--paper-dim);text-align:center;margin-top:2px;font-family:"Press Start 2P",monospace;font-size:7px}.ticker{z-index:8;border-left:4px solid var(--cyan);border-right:4px solid var(--magenta);color:var(--paper);white-space:nowrap;letter-spacing:.04em;background:#0e0a2bbf;padding:6px 14px;font-family:VT323,monospace;font-size:16px;position:absolute;top:86px;left:18px;right:18px;overflow:hidden}.ticker .scroll{animation:30s linear infinite ticker;display:inline-block}.ticker b{color:var(--yellow)}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}.scene-dd{position:relative}.scene-dd-shade{z-index:19;position:fixed;inset:0}.scene-dd-menu{z-index:20;background:var(--night);border:3px solid var(--paper);box-shadow:6px 6px 0 var(--magenta);min-width:200px;padding:4px;position:absolute;top:calc(100% + 6px);right:0}.scene-dd-item{width:100%;color:var(--paper);letter-spacing:.06em;cursor:pointer;text-align:left;background:0 0;border:2px solid #0000;align-items:center;gap:10px;padding:8px 10px;font-family:"Press Start 2P",monospace;font-size:9px;display:flex}@media (hover:hover){.scene-dd-item:hover{background:var(--night-2);border-color:var(--cyan);color:var(--cyan)}}.scene-dd-item.active{background:var(--magenta);border-color:var(--paper);color:var(--paper)}.scene-dd-item-check{color:var(--yellow);margin-left:auto}.scene-dot{border:2px solid var(--paper);flex-shrink:0;width:14px;height:14px;display:inline-block}.scene-dot-mountain{background:linear-gradient(#ffcd1f 0 40%,#ff6a1f 40% 70%,#ff2e88 70% 100%)}.scene-dot-snow{background:linear-gradient(#6a90b8 0 60%,#f4ecd0 60% 100%)}.scene-dot-desert{background:linear-gradient(#ffcd1f 0 50%,#ff6a1f 50% 100%)}.scene-dot-city{background:linear-gradient(#0e0a2b 0 40%,#390c5a 40% 70%,#ff2e88 70% 100%)}.scene-dot-garage{background:linear-gradient(#221033 0 50%,#0e0a2b 50% 100%)}.garage-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;display:flex}.landing-actions{flex-direction:column;justify-content:center;align-items:center;gap:14px;width:max-content;margin:16px auto 24px;display:flex}.landing-actions .start-btn{width:100%;min-width:280px}.landing-drive{padding:22px 48px!important;font-size:22px!important}.landing-build{background:var(--cyan)!important;color:var(--ink)!important;box-shadow:6px 6px 0 var(--magenta)!important;padding:22px 28px!important;font-size:18px!important;animation:none!important}@media (hover:hover){.landing-build:hover{background:var(--yellow)!important}}.landing-build:active{transform:translate(4px,4px);box-shadow:2px 2px 0 var(--magenta)!important}.landing-garage{background:var(--yellow)!important;color:var(--ink)!important;box-shadow:6px 6px 0 var(--cyan)!important;padding:22px 28px!important;font-size:18px!important;animation:none!important}@media (hover:hover){.landing-garage:hover{background:var(--magenta)!important;color:var(--paper)!important}}.landing-garage:active{transform:translate(4px,4px);box-shadow:2px 2px 0 var(--cyan)!important}.race-speed{color:var(--yellow)}.race-speed-unit{color:var(--paper-dim);letter-spacing:.1em;margin-left:6px;font-size:9px}.race-menu-btn{padding:8px 14px;font-size:18px}.race-menu{z-index:240;background:#07051ac7;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.race-menu-inner{background:var(--night);border:4px solid var(--paper);box-shadow:8px 8px 0 var(--magenta), 14px 14px 0 var(--cyan);flex-direction:column;gap:10px;min-width:260px;padding:18px;display:flex}.race-menu-head{color:var(--yellow);letter-spacing:.12em;text-align:center;border-bottom:2px dashed var(--paper-dim);margin-bottom:4px;padding-bottom:8px;font-family:"Press Start 2P",monospace;font-size:14px}.race-menu-item{background:var(--paper);color:var(--ink);border:3px solid var(--ink);cursor:pointer;text-align:left;letter-spacing:.08em;box-shadow:4px 4px 0 var(--ink);padding:14px 18px;font-family:"Press Start 2P",monospace;font-size:13px}@media (hover:hover){.race-menu-item:hover{background:var(--cyan)}}.race-menu-item:active{box-shadow:2px 2px 0 var(--ink);transform:translate(2px,2px)}.race-menu-item.ghost{color:var(--paper);border-color:var(--paper);box-shadow:4px 4px 0 var(--magenta);background:0 0}@media (hover:hover){.race-menu-item.ghost:hover{background:var(--night-2);color:var(--cyan)}}.map-modal{z-index:250;background:#07051ae0;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.map-modal-inner{background:var(--night);border:5px solid var(--paper);box-shadow:8px 8px 0 var(--magenta), 14px 14px 0 var(--cyan);flex-direction:column;gap:12px;max-width:90vw;max-height:90vh;padding:14px 18px 16px;display:flex}.map-modal-head{color:var(--yellow);letter-spacing:.08em;justify-content:space-between;align-items:center;gap:12px;font-family:"Press Start 2P",monospace;font-size:11px;display:flex}.map-modal-canvas{background:var(--ink);border:3px solid var(--paper-dim);image-rendering:pixelated;place-items:center;padding:6px;display:grid;overflow:auto}.map-modal-canvas svg{image-rendering:pixelated;display:block}.map-modal-foot{color:var(--paper-dim);letter-spacing:.1em;justify-content:center;gap:16px;font-family:"Press Start 2P",monospace;font-size:8px;display:flex}.map-legend{align-items:center;gap:6px;display:inline-flex}.map-dot{border:1px solid var(--paper);width:12px;height:12px;display:inline-block}.map-dot-car{background:var(--magenta);border-radius:50%}.map-dot-road{background:#3a3a45}.map-dot-grass{background:#4a7d3a}.maps-inner{max-width:920px}.maps-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-bottom:24px;display:grid}.map-card{background:var(--night);border:3px solid var(--paper);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:12px;display:flex;position:relative}.map-card-name{color:var(--yellow);letter-spacing:.06em;font-family:"Press Start 2P",monospace;font-size:10px}.map-preview{background:var(--night-2);border:2px solid var(--paper-dim);image-rendering:pixelated;place-items:center;min-height:100px;padding:6px;display:grid}.map-preview svg{image-rendering:pixelated;width:100%;max-width:100%;height:auto;display:block}.map-preview-empty{color:var(--paper-dim);aspect-ratio:1;place-items:center;width:100%;font-family:"Press Start 2P",monospace;font-size:56px;display:grid}.map-card-meta{color:var(--paper-dim);letter-spacing:.08em;font-family:VT323,monospace;font-size:16px}.map-card-meta b{color:var(--cyan)}.map-card-actions{justify-content:center;gap:4px;width:100%;display:flex}.map-card-actions .btn{padding:8px 10px;font-size:8px}.map-card-new{cursor:pointer;border-style:dashed;transition:transform 80ms}@media (hover:hover){.map-card-new:hover{box-shadow:6px 6px 0 var(--cyan);transform:translate(-2px,-2px)}}.maps-back{text-align:center}.maps-section-title{color:var(--yellow);letter-spacing:.1em;text-align:left;margin:18px 0 10px;font-family:"Press Start 2P",monospace;font-size:11px}.map-card-preset{border-color:var(--cyan);box-shadow:4px 4px 0 var(--cyan)}.map-card-others{border-color:var(--yellow);box-shadow:4px 4px 0 var(--yellow)}.map-card-badge{background:var(--cyan);color:var(--ink);border:2px solid var(--ink);letter-spacing:.1em;padding:3px 6px;font-family:"Press Start 2P",monospace;font-size:7px;position:absolute;top:-10px;left:-10px}.map-card-badge-others{background:var(--yellow)}.admin-badge{background:var(--magenta);color:var(--paper);border:3px solid var(--paper);letter-spacing:.1em;box-shadow:4px 4px 0 var(--cyan);margin-bottom:16px;padding:6px 14px;font-family:"Press Start 2P",monospace;font-size:9px;display:inline-block}.editor-screen{z-index:100;background:radial-gradient(#1a1248 0%,#0e0a2b 70%);flex-direction:column;display:flex;position:fixed;inset:0}.editor-topbar{background:var(--night);border-bottom:3px solid var(--paper);box-shadow:0 4px 0 var(--magenta);align-items:center;gap:10px;padding:14px 18px;display:flex}.editor-top-spacer{flex:1}.editor-error{background:var(--red);color:var(--paper);border-bottom:3px solid var(--ink);letter-spacing:.08em;padding:8px 18px;font-family:"Press Start 2P",monospace;font-size:10px}.editor-body{flex:1;display:flex;overflow:hidden}.editor-palette{background:var(--night);border-right:3px solid var(--paper);flex-direction:column;gap:4px;width:200px;padding:12px 8px;display:flex;overflow-y:auto}.palette-section{flex-direction:column;gap:4px;margin-bottom:8px;display:flex}.palette-section+.palette-section{border-top:2px dashed var(--paper-dim);padding-top:8px}.palette-title{color:var(--yellow);letter-spacing:.1em;text-align:left;margin:2px 0 4px;font-family:"Press Start 2P",monospace;font-size:8px}.palette-grid{grid-template-columns:1fr 1fr;gap:4px;display:grid}.palette-btn{background:var(--night-2);color:var(--paper);border:2px solid var(--paper);cursor:pointer;text-align:center;letter-spacing:.02em;flex-direction:column;align-items:center;gap:2px;padding:4px 2px;font-family:"Press Start 2P",monospace;font-size:6px;line-height:1.2;display:flex}.palette-btn svg{flex-shrink:0}.palette-btn.active{background:var(--magenta);border-color:var(--yellow);color:var(--paper);box-shadow:0 0 0 2px var(--cyan)}@media (hover:hover){.palette-btn:hover{border-color:var(--cyan)}}.palette-rotate{border-top:2px dashed var(--paper-dim);flex-direction:column;gap:6px;margin-top:12px;padding-top:12px;display:flex}.palette-rotate .btn{padding:8px;font-size:9px}.editor-3d-wrap{background:var(--ink);flex:1;position:relative;overflow:hidden}.editor-3d-canvas{position:absolute;inset:0}.editor-3d-canvas canvas{width:100%;height:100%;display:block}.editor-hint{border:2px solid var(--paper);color:var(--paper-dim);letter-spacing:.08em;white-space:nowrap;pointer-events:none;background:#0e0a2bd9;padding:6px 14px;font-family:"Press Start 2P",monospace;font-size:8px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.selection-hud{z-index:30;pointer-events:auto;gap:4px;display:flex;position:absolute;transform:translate(-50%,-100%)}.sel-btn{background:var(--paper);border:3px solid var(--ink);cursor:pointer;width:38px;height:38px;box-shadow:3px 3px 0 var(--ink);place-items:center;font-family:"Press Start 2P",monospace;font-size:16px;display:grid}.sel-btn:active{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.sel-rotate{background:var(--yellow)}.sel-delete{background:var(--red);color:var(--paper)}.expand-handle{z-index:25;background:var(--magenta);width:56px;height:56px;color:var(--paper);border:4px solid var(--paper);cursor:pointer;box-shadow:4px 4px 0 var(--ink);opacity:0;pointer-events:auto;border-radius:50%;place-items:center;font-family:"Press Start 2P",monospace;font-size:26px;transition:opacity .2s;display:grid;position:absolute}.expand-handle:hover{background:var(--cyan);color:var(--ink);opacity:1}.editor-3d-wrap:hover .expand-handle{opacity:.8}.expand-handle:active{box-shadow:2px 2px 0 var(--ink);transform:translate(2px,2px)}.race-canvas{z-index:1;position:fixed;inset:0}.race-canvas canvas{width:100%;height:100%;display:block}.race-hud-top{z-index:50;pointer-events:none;align-items:center;gap:12px;display:flex;position:fixed;top:18px;left:18px;right:18px}.race-hud-top>*{pointer-events:auto}.race-map-name{background:var(--night);border:3px solid var(--paper);color:var(--yellow);letter-spacing:.1em;box-shadow:4px 4px 0 var(--magenta);padding:8px 14px;font-family:"Press Start 2P",monospace;font-size:11px}.race-timer{background:var(--night);border:3px solid var(--paper);color:var(--cyan);letter-spacing:.1em;box-shadow:4px 4px 0 var(--magenta);margin-left:auto;padding:10px 16px;font-family:"Press Start 2P",monospace;font-size:18px}.race-best{color:var(--paper-dim);letter-spacing:.08em;margin-left:12px;font-size:8px}.race-car-tag{z-index:50;border-left:4px solid var(--cyan);color:var(--paper);letter-spacing:.08em;background:#0e0a2bd9;padding:6px 12px;font-family:"Press Start 2P",monospace;font-size:9px;position:fixed;top:80px;left:18px}.dpad{z-index:50;grid-template-rows:60px 60px 60px;grid-template-columns:60px 60px 60px;gap:6px;display:grid;position:fixed;bottom:32px;left:50%;transform:translate(-50%)}.dpad-btn{background:var(--paper);color:var(--ink);border:3px solid var(--ink);cursor:pointer;box-shadow:4px 4px 0 var(--magenta);place-items:center;font-family:"Press Start 2P",monospace;font-size:18px;display:grid}.dpad-btn:active{box-shadow:2px 2px 0 var(--magenta);transform:translate(2px,2px)}.dpad-up{grid-area:1/2}.dpad-left{grid-area:2/1}.dpad-right{grid-area:2/3}.dpad-down{grid-area:3/2}.race-overlay{z-index:200;background:#07051ae0;place-items:center;padding:40px;display:grid;position:fixed;inset:0}.race-overlay-inner{background:var(--night);border:5px solid var(--paper);box-shadow:10px 10px 0 var(--magenta), 16px 16px 0 var(--cyan);text-align:center;max-width:480px;padding:32px 48px}.race-overlay-title{color:var(--yellow);letter-spacing:.08em;margin:0 0 16px;font-family:"Press Start 2P",monospace;font-size:24px}.race-overlay-title.race-overlay-bad{color:var(--red)}.race-overlay-time{color:var(--cyan);letter-spacing:.06em;margin-bottom:16px;font-family:"Press Start 2P",monospace;font-size:36px}.race-overlay-new-best{color:var(--magenta);letter-spacing:.1em;margin-bottom:20px;font-family:"Press Start 2P",monospace;font-size:14px;animation:.8s ease-in-out infinite pulse}.race-overlay-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}@media (max-width:1100px){.paint-panel{width:200px}}@media (max-width:600px){.editor-palette{width:160px}.dpad{grid-template-rows:52px 52px 52px;grid-template-columns:52px 52px 52px}.race-timer{padding:8px 12px;font-size:14px}}
