:root{--red:#e3261c;--red-dark:#8a0b00;--orange:#ff6a13;--yellow:#ffd21a;--lime:#c4e017;--blue:#2167e6;--dark:#1d2024;--font:"Titan One", "Arial Rounded MT Bold", system-ui, sans-serif;--logo:"Bangers", Impact, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;font-family:var(--font);color:#fff;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overscroll-behavior:none;touch-action:none;background:#cfeaff;margin:0;overflow:hidden}#game{width:100vw;height:100vh;display:block;position:fixed;inset:0}.hidden{display:none!important}button{font-family:var(--font);cursor:pointer;color:#fff;touch-action:manipulation;border:none}.fw-badge{padding:.18em .9em .22em .7em;line-height:1;display:inline-block;position:relative}.fw-badge:before{content:"";z-index:0;clip-path:polygon(0% 70%,6% 38%,14% 50%,22% 18%,31% 42%,41% 4%,51% 36%,61% 0%,70% 32%,79% 8%,86% 34%,94% 12%,100% 30%,97% 100%,3% 100%);filter:drop-shadow(0 3px #00000059);background:linear-gradient(90deg,#ffae00 0%,#ff4a00 30%,#d40000 75%,#9d0000 100%);border-radius:0 0 14px 40px;position:absolute;inset:0}.fw-name{z-index:1;font-family:var(--logo);letter-spacing:.04em;color:#ffe23a;background:linear-gradient(#fff9a8 0%,#ffe23a 45%,#ffae00 100%);-webkit-text-fill-color:transparent;-webkit-text-stroke:.06em #6d0700;paint-order:stroke fill;filter:drop-shadow(.05em .07em #4a0400);white-space:nowrap;-webkit-background-clip:text;background-clip:text;padding-top:.25em;font-size:1.6em;display:inline-block;position:relative;transform:skew(-10deg)}.fw-badge.tiny{font-size:9px}.fw-badge.small{font-size:13px}.fw-badge.big{font-size:26px}.fw-badge.huge{font-size:clamp(36px,9vw,96px)}#loading{z-index:50;text-align:center;background:radial-gradient(circle at 50% 40%,#ff8a2a,#c91a10 70%);flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:20px;font-size:22px;display:flex;position:fixed;inset:0}.loadtxt{animation:1s infinite alternate pulse}#title{z-index:40;background:radial-gradient(#0000000d,#00000073);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.titleBox{text-align:center;padding:20px;animation:.7s cubic-bezier(.2,1.6,.4,1) drop}.subtitle{font-family:var(--logo);letter-spacing:.2em;color:#fff;text-shadow:0 3px 0 var(--red-dark), 0 0 20px #00000080;margin:6px 0 22px;font-size:clamp(22px,4vw,40px)}.tips{text-shadow:0 2px 4px #000000b3;max-width:560px;margin-top:18px;font-size:15px}.big{border-radius:18px;padding:14px 30px;font-size:26px;transition:transform 80ms;box-shadow:0 6px #00000059}.big:active{transform:translateY(4px);box-shadow:0 2px #00000059}.mid{background:#00000059;border-radius:14px;padding:10px 16px;font-size:16px}.green{text-shadow:0 2px #13600c;background:linear-gradient(#5be04a,#2a9d1f)}.yellow{color:#7a2a00;background:linear-gradient(#ffe45a,#ffb300)}#playBtn{padding:18px 60px;font-size:40px;animation:.9s infinite alternate pulse}#hud{pointer-events:none;z-index:10;position:fixed;inset:0}#hud button,#hud canvas{pointer-events:auto}#topbar{top:max(8px, env(safe-area-inset-top));align-items:center;gap:10px;display:flex;position:absolute;left:10px;right:10px}#coins{border:3px solid var(--yellow);background:#00000073;border-radius:30px;align-items:center;gap:6px;padding:6px 16px 6px 10px;font-size:24px;display:flex}#coins.bump{animation:.3s bump}#carTitle{text-align:center;flex:1}#buttons{gap:6px;display:flex}#buttons button{background:#00000073;border:2px solid #ffffff59;border-radius:14px;width:46px;height:46px;font-size:22px}#buttons button.off{opacity:.4}#banner{opacity:0;text-align:center;border:3px solid var(--yellow);background:linear-gradient(90deg,#d40000,#ff6a13);border-radius:16px;max-width:90vw;padding:12px 22px;font-size:clamp(15px,2.4vw,22px);transition:all .35s;position:absolute;top:70px;left:50%;transform:translate(-50%,-30px);box-shadow:0 6px 20px #00000059}#banner.show{opacity:1;transform:translate(-50%)}#banner.police{background:linear-gradient(90deg,#173f99,#2167e6)}#banner.win{background:linear-gradient(90deg,#2a9d1f,#5be04a)}#popups{flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;top:34%;left:0;right:0}.popup{font-family:var(--logo);color:#ffe23a;-webkit-text-stroke:2px #8a0b00;paint-order:stroke fill;text-shadow:0 4px #4a0400,0 0 24px #ff7800e6;white-space:nowrap;font-size:clamp(34px,6vw,64px);animation:1.5s forwards pop;transform:skew(-10deg)}.popup.small{font-size:clamp(24px,4vw,40px)}.popup.name{font-size:clamp(30px,5vw,56px)}#hint{opacity:0;white-space:nowrap;text-overflow:ellipsis;background:#0000008c;border-radius:20px;max-width:92vw;padding:8px 18px;font-size:clamp(14px,2vw,18px);transition:opacity .3s;position:absolute;bottom:150px;left:50%;overflow:hidden;transform:translate(-50%)}#hint.show{opacity:1}#minimap{border-radius:50%;width:150px;height:150px;position:absolute;top:70px;left:12px;box-shadow:0 4px 14px #0006;pointer-events:none!important}#speedo{text-align:right;text-shadow:0 3px #00000080;position:absolute;top:70px;right:16px}#speedNum{font-family:var(--logo);color:#fff;-webkit-text-stroke:1px #000;font-size:54px;line-height:.9}#speedo .unit{opacity:.9;font-size:13px}#turboBar{background:#00000080;border:2px solid #fff;border-radius:10px;width:150px;height:20px;margin-top:6px;margin-left:auto;position:relative;overflow:hidden}#turboFill{background:linear-gradient(90deg,#2bd2ff,#ff6a13,#ffd21a);height:100%;transition:width .15s}#turboBar span{text-align:center;font-size:12px;line-height:17px;position:absolute;inset:0}#speedo.turbo #speedNum{color:#ffd21a;animation:.1s infinite shake}#elevator{pointer-events:auto;border:3px solid var(--lime);background:#00000080;border-radius:20px;flex-direction:column;align-items:center;gap:8px;padding:10px;display:flex;position:absolute;top:50%;right:22px;transform:translateY(-50%)}#elevator button{color:#234;background:linear-gradient(#d6f03a,#8eab05);border-radius:50%;width:84px;height:84px;font-size:44px;box-shadow:0 5px #0006}#elevator button:disabled{opacity:.25}#elFloor{font-size:14px}body.touch #elevator{flex-direction:row;top:38%;right:50%;transform:translate(50%,-50%)}#touch{display:none}body.touch #touch{display:block}body.touch #hint{bottom:200px}.tleft{left:max(16px, env(safe-area-inset-left));bottom:max(18px, env(safe-area-inset-bottom));gap:16px;display:flex;position:absolute}.tright{right:max(16px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));width:300px;height:230px;position:absolute}.tb{pointer-events:auto;touch-action:none;background:#0000006b;border:4px solid #ffffffb3;border-radius:50%;font-size:34px}.tb.on{background:#ffd21abf;transform:scale(.94)}.steer{width:104px;height:104px;font-size:44px}.tright .gas{width:128px;height:128px;font-family:var(--logo);background:radial-gradient(circle at 40% 35%,#6bf05a,#1f8c14);font-size:40px;position:absolute;bottom:0;right:0}.tright .brake{width:86px;height:86px;position:absolute;bottom:0;right:142px}.tright .turbo{background:radial-gradient(circle at 40% 35%,#ffb04a,#d43a00);width:86px;height:86px;position:absolute;bottom:142px;right:22px}.tright .spray{background:radial-gradient(circle at 40% 35%,#6fd0ff,#1a6fd4);width:78px;height:78px;position:absolute;bottom:100px;right:142px}.tright .small{width:60px;height:60px;font-size:26px;position:absolute;bottom:100px;right:236px}#garage{z-index:30;padding:max(8px, env(safe-area-inset-top)) 12px 8px;background:radial-gradient(circle at 25% 30%,#ff7a2a 0%,#c41a10 45%,#5a0600 100%);flex-direction:column;display:flex;position:fixed;inset:0}.g-head{align-items:center;gap:12px;padding:4px 4px 8px;font-size:18px;display:flex}.g-head .fw-badge{font-size:18px}.coinsBox{border:2px solid var(--yellow);background:#0006;border-radius:20px;margin-left:auto;padding:6px 14px;font-size:20px}.xbtn{background:#0006;border-radius:50%;width:44px;height:44px;font-size:20px}.g-body{flex:1;gap:12px;min-height:0;display:flex}.g-left{flex-direction:column;gap:8px;width:46%;min-height:0;display:flex}.g-right{background:#00000040;border-radius:18px;flex-direction:column;flex:1;min-height:0;padding:8px;display:flex}.g-preview-wrap{height:38vh;min-height:180px;box-shadow:inset 0 0 0 4px var(--yellow);background:radial-gradient(circle at 50% 70%,#3a3f46,#14171a 80%);border-radius:18px;flex:none;position:relative;overflow:hidden}#gPreview{width:100%;height:100%;display:block}#gName{text-align:center;pointer-events:none;position:absolute;top:10px;left:0;right:0}#gName .fw-badge.big{font-size:clamp(16px,2.6vw,26px)}.g-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.g-actions .big{padding:12px 18px;font-size:20px}#gDrive{margin-left:auto;font-size:26px}.g-tabs{flex-wrap:wrap;gap:4px;display:flex}.g-tabs button{white-space:nowrap;background:#00000059;border-radius:12px 12px 4px 4px;flex:1;padding:9px 4px;font-size:14px}.g-tabs button.on{background:var(--yellow);color:#7a2a00}#gOptions{-webkit-overflow-scrolling:touch;touch-action:pan-y;background:#0000004d;border-radius:0 0 14px 14px;flex:1;padding:8px 10px;overflow-y:auto}.optTitle{opacity:.9;margin:6px 0;font-size:14px}.chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip{background:#ffffff29;border:2px solid #0000;border-radius:22px;padding:9px 13px;font-size:14px}.chip.on{background:var(--yellow);color:#7a2a00;border-color:#fff}.num{text-align:center;min-width:50px;font-size:26px}.swatches{flex-wrap:wrap;gap:8px;display:flex}.sw{border:3px solid #ffffff80;border-radius:50%;width:40px;height:40px;box-shadow:inset -4px -6px 8px #0000004d,inset 3px 4px 6px #fff6}.sw.on{box-shadow:0 0 0 3px var(--yellow);border-color:#fff;transform:scale(1.18)}.g-right-head{justify-content:space-between;align-items:center;padding:0 4px 8px;display:flex}.g-right-head h3{font-family:var(--logo);letter-spacing:.05em;color:var(--yellow);text-shadow:0 2px 0 var(--red-dark);margin:0;font-size:26px}#gGrid{-webkit-overflow-scrolling:touch;touch-action:pan-y;flex:1;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-auto-rows:max-content;align-content:start;gap:10px;padding:4px;display:grid;overflow-y:auto}.card{text-align:center;background:linear-gradient(#2e3338,#1b1e22);border:3px solid #0000;border-radius:14px;min-height:max-content;padding:6px 6px 8px;display:block;position:relative;overflow:hidden}.card img{aspect-ratio:1.6;background:radial-gradient(circle at 50% 70%,#474d55,#23272b);border-radius:8px;width:100%;display:block}.card .fw-badge{max-width:100%;margin-top:-10px}.card .fw-name{white-space:normal;font-size:1.45em}.cardType{opacity:.75;margin-top:3px;font-size:11px}.card.sel{border-color:var(--yellow);transform:scale(1.02);box-shadow:0 0 16px #ffd21acc}.card.th{background:linear-gradient(#6a4c00,#2a1d00)}.card.locked img{filter:grayscale()brightness(.5)}.lock{text-align:center;background:#00000059;justify-content:center;align-items:center;font-size:15px;display:flex;position:absolute;inset:0}#credit{z-index:41;left:50%;bottom:max(8px, env(safe-area-inset-bottom));letter-spacing:.02em;color:#ffffffeb;white-space:nowrap;-webkit-user-select:none;user-select:none;touch-action:manipulation;background:#00000061;border-radius:999px;padding:7px 12px;font:12px/1 system-ui,-apple-system,Segoe UI,sans-serif;text-decoration:none;position:fixed;transform:translate(-50%)}#credit:hover,#credit:focus-visible{color:#fff;background:#0009}#credit:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}body:has(#hud:not(.hidden)) #credit{opacity:.8;padding:5px 9px;font-size:11px;top:228px;bottom:auto;left:12px;transform:none}#help{z-index:45;background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.helpBox{border:4px solid var(--yellow);text-align:center;background:linear-gradient(#2f3438,#1b1e22);border-radius:22px;max-width:620px;max-height:92vh;padding:18px 24px;overflow-y:auto}.helpBox h2{font-family:var(--logo);color:var(--yellow);letter-spacing:.05em;margin:0 0 8px;font-size:40px}.helpBox table{text-align:left;border-spacing:10px 4px;margin:0 auto}.helpBox td:first-child{color:var(--yellow);white-space:nowrap}.helpBox p{text-align:left;font-size:15px;line-height:1.5}@keyframes pop{0%{opacity:0;transform:skew(-10deg)scale(.3)}15%{opacity:1;transform:skew(-10deg)scale(1.15)}25%{transform:skew(-10deg)scale(1)}80%{opacity:1}to{opacity:0;transform:skew(-10deg)translateY(-40px)}}@keyframes pulse{0%{transform:scale(1)}to{transform:scale(1.06)}}@keyframes drop{0%{opacity:0;transform:translateY(-80px)scale(.8)}to{opacity:1;transform:none}}@keyframes bump{50%{transform:scale(1.25)}}@keyframes shake{50%{transform:translate(2px)}}@media (width<=820px),(orientation:portrait){.g-body{flex-direction:column;overflow-y:auto}.g-left{flex:none;width:100%}.g-preview-wrap{height:30vh}.g-right{flex:none}#gGrid{overflow:visible}#gOptions{flex:none;max-height:none;overflow:visible}#buttons button{width:40px;height:40px;font-size:18px}#carTitle{display:none}#minimap{width:110px;height:110px}body:has(#hud:not(.hidden)) #credit{top:188px}#speedNum{font-size:40px}.steer{width:84px;height:84px}}@media (height<=500px){.tright{transform-origin:100% 100%;transform:scale(.75)}.tleft{transform-origin:0 100%;transform:scale(.8)}#minimap{width:100px;height:100px}body:has(#hud:not(.hidden)) #credit{top:178px}}@media (width<=500px){.tright{transform-origin:100% 100%;transform:scale(.68)}.tleft{transform-origin:0 100%;transform:scale(.8)}#topbar{gap:6px;left:8px;right:8px}#coins{padding:4px 10px 4px 6px;font-size:18px}#buttons{gap:4px}#buttons button{border-radius:11px;width:36px;height:36px;font-size:16px}}
