@font-face{font-family:Luckiest Guy;src:url(./luckiest-guy-dJClyBWO.woff2) format("woff2");font-display:block}@font-face{font-family:Russo One;src:url(./russo-one-BfOuQF9V.woff2) format("woff2");font-display:block}:root{--yellow: #ffc300;--yellow2: #ffe14d;--red: #ff2d2d;--green: #29e04a;--ink: #101018;--chunky: "Luckiest Guy", Impact, "Arial Black", sans-serif;--ui: "Russo One", "Arial Black", system-ui, sans-serif;--sa-t: env(safe-area-inset-top, 0px);--sa-b: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:#000;color:#fff;font-family:var(--ui);user-select:none;-webkit-user-select:none;touch-action:none;overscroll-behavior:none}#game{position:fixed;inset:0;overflow:hidden}#gl{position:absolute;inset:0;width:100%;height:100%;display:block}.hidden{display:none!important}kbd{display:inline-block;min-width:1.6em;padding:.1em .4em;margin:0 .1em;border-radius:.3em;background:#fff;color:#111;font-family:var(--ui);font-size:.85em;line-height:1.3;text-align:center;box-shadow:0 .18em #999}.big,#announce .a,.logo span,.big-h,#dest-name,#dest-dist,.stamp,.pop{font-family:var(--chunky);paint-order:stroke fill;-webkit-text-stroke:0}#hud{position:absolute;inset:0;pointer-events:none}.readout{position:absolute;top:calc(10px + var(--sa-t));line-height:.85}.readout .lbl{font-family:var(--chunky);font-size:clamp(16px,2.4vw,28px);letter-spacing:2px;color:#fff;text-shadow:3px 3px 0 #000,-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000}.readout .big{font-size:clamp(54px,9vw,116px);text-shadow:5px 5px 0 #000,-3px -3px 0 #000,3px -3px 0 #000,-3px 3px 0 #000,0 0 30px rgba(0,0,0,.35)}#hud-time{left:calc(14px + env(safe-area-inset-left,0px))}#hud-time .big{color:var(--yellow2);transform-origin:left top}#hud-time.low .big{color:var(--red);animation:pulse .5s infinite alternate}#hud-fare{right:calc(14px + env(safe-area-inset-right,0px));text-align:right}#hud-fare .big{color:#6bff6b;font-size:clamp(40px,6.4vw,84px)}#hud-fare .cur{font-size:.75em;margin-right:4px}#fare-add,#time-bonus{font-family:var(--chunky);font-size:clamp(22px,3.4vw,40px);color:#fff;text-shadow:3px 3px 0 #000;opacity:0;transition:opacity .3s;margin-top:6px}#fare-add.show,#time-bonus.show{opacity:1;animation:popin .35s cubic-bezier(.2,2,.4,1)}#time-bonus{color:var(--green)}@keyframes pulse{to{transform:scale(1.12)}}@keyframes popin{0%{transform:scale(.3)}to{transform:scale(1)}}#hud-guide{position:absolute;left:50%;top:calc(clamp(118px,25vh,230px) + var(--sa-t));transform:translate(-50%);text-align:center;white-space:nowrap}#dest-name{font-size:clamp(16px,2.2vw,26px);color:#fff;letter-spacing:1px;text-shadow:2px 2px 0 #000,-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000}#dest-dist{font-size:clamp(28px,4vw,48px);color:var(--green);text-shadow:3px 3px 0 #000,-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000;line-height:1}#dest-dist small{font-size:.55em;margin-left:2px}#hud-pax{position:absolute;top:calc(14px + var(--sa-t));left:50%;transform:translate(calc(-50% - clamp(120px,17vw,220px)));text-align:center}#hud-pax .ring{width:clamp(62px,7.5vw,96px);height:clamp(62px,7.5vw,96px);border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,rgba(0,0,0,.55) 55%,transparent 56%),conic-gradient(var(--pc, #29e04a) var(--pp, 100%),rgba(255,255,255,.2) 0);border:4px solid #000;box-shadow:0 4px #000}#pax-val{font-family:var(--chunky);font-size:clamp(30px,3.8vw,50px);color:var(--pc, #29e04a);text-shadow:2px 2px 0 #000;line-height:1;margin-top:4px}#hud-pax.urgent .ring{animation:pulse .3s infinite alternate}#pax-lbl{font-size:11px;letter-spacing:1px;margin-top:4px;text-shadow:1px 1px 0 #000}#hud-find{position:absolute;top:calc(clamp(40px,9vh,90px) + var(--sa-t));left:50%;transform:translate(-50%);font-family:var(--chunky);font-size:clamp(22px,3.2vw,38px);color:var(--yellow2);text-shadow:3px 3px 0 #000,-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000;animation:bob 1s infinite alternate ease-in-out;white-space:nowrap}@keyframes bob{to{transform:translate(-50%) translateY(6px) scale(1.04)}}#hud-hint{position:absolute;bottom:calc(clamp(150px,26vh,230px) + var(--sa-b));left:50%;transform:translate(-50%);font-family:var(--chunky);font-size:clamp(22px,3.4vw,42px);color:#fff;text-shadow:3px 3px 0 #000,-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000;opacity:0;transition:opacity .2s;white-space:nowrap}#hud-hint.show{opacity:1}#hud-hint.flash{color:var(--red);animation:pulse .2s infinite alternate}#hud-combo{position:absolute;right:calc(16px + env(safe-area-inset-right,0px));top:calc(clamp(180px,30vh,280px) + var(--sa-t));text-align:right;font-family:var(--chunky);font-size:clamp(20px,2.8vw,34px);color:#ff9f1c;text-shadow:3px 3px 0 #000,-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000;transition:opacity .3s}#hud-combo small{display:block;color:#fff;font-size:.65em}#hud-speed{position:absolute;left:calc(16px + env(safe-area-inset-left,0px));bottom:calc(14px + var(--sa-b));width:clamp(120px,15vw,180px);padding:8px 12px 10px;border-radius:14px;background:#0a0a148c;border:3px solid rgba(255,255,255,.25)}#spd-val{font-family:var(--chunky);font-size:clamp(34px,4.4vw,56px);line-height:1;color:#fff;text-shadow:3px 3px 0 #000}#hud-speed .unit{position:absolute;right:12px;top:12px;font-size:12px;color:var(--yellow2)}#gear{position:absolute;right:12px;top:30px;font-family:var(--chunky);font-size:22px;color:#6bff6b}#gear.rev{color:#fff;background:#e63946;border-radius:4px;padding:0 4px}#spd-bar{height:10px;margin-top:6px;border-radius:6px;background:#ffffff26;overflow:hidden}#spd-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#29e04a,#ffd400 60%,#ff2d2d);border-radius:6px}#hud-stats{position:absolute;right:calc(16px + env(safe-area-inset-right,0px));top:calc(clamp(86px,13vw,150px) + var(--sa-t));font-family:var(--chunky);font-size:clamp(16px,2vw,24px);text-shadow:2px 2px 0 #000;color:#fff}#hud-stats b{color:var(--yellow2);font-weight:400}#hud-buttons{position:absolute;right:calc(14px + env(safe-area-inset-right,0px));bottom:calc(14px + var(--sa-b));display:flex;gap:10px;pointer-events:auto}button.icon{width:48px;height:48px;border-radius:50%;border:3px solid #000;background:var(--yellow);color:#111;font-size:18px;font-weight:700;cursor:pointer;box-shadow:0 4px #000;display:grid;place-items:center;padding:0;font-family:var(--ui)}button.icon:active{transform:translateY(3px);box-shadow:0 1px #000}button.icon svg{width:26px;height:26px}#edge-marker{position:absolute;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:var(--yellow);border:3px solid #000;display:grid;place-items:center;font-family:var(--chunky);font-size:26px;color:#111;box-shadow:0 3px #000}#edge-marker i{position:absolute;width:0;height:0;border:9px solid transparent;border-left:14px solid #000;left:100%;top:50%;margin-top:-9px;transform-origin:-23px 50%}#controls-hint{position:absolute;left:50%;bottom:calc(16px + var(--sa-b));transform:translate(-50%);display:flex;gap:14px;flex-wrap:wrap;justify-content:center;max-width:64vw;padding:8px 14px;border-radius:12px;background:#00000080;font-size:12px;letter-spacing:.5px;transition:opacity .6s}#controls-hint.fade{opacity:0}#controls-hint kbd{font-size:11px}#speedlines{position:absolute;inset:-20%;pointer-events:none;opacity:0;background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.55) 0deg .6deg,transparent .6deg 7deg);-webkit-mask:radial-gradient(circle,transparent 38%,#000 70%);mask:radial-gradient(circle,transparent 38%,#000 70%);mix-blend-mode:screen}#vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 #f000;transition:box-shadow .15s}#vignette.hit{box-shadow:inset 0 0 120px 20px #ff28288c}#vignette.cash{box-shadow:inset 0 0 140px 30px #3cff5a73}#bubbles{position:absolute;inset:0;pointer-events:none}.bubble{position:absolute;transform:translate(-50%,-100%);background:#fff;color:#111;font-family:var(--chunky);font-size:clamp(14px,1.8vw,22px);padding:6px 12px 4px;border-radius:14px;border:3px solid #000;white-space:nowrap;box-shadow:0 3px #000;animation:popin .25s cubic-bezier(.2,2,.4,1)}.bubble:after{content:"";position:absolute;left:50%;bottom:-12px;border:8px solid transparent;border-top:10px solid #000;transform:translate(-50%)}.bubble.top{transform:translate(-50%);font-size:clamp(16px,2.2vw,26px);max-width:88vw;white-space:normal;text-align:center}.bubble.top:after{display:none}#announce{position:absolute;left:0;right:0;top:38%;text-align:center;pointer-events:none}#announce .a{display:block;font-size:clamp(44px,9vw,120px);line-height:.95;color:var(--yellow2);text-shadow:6px 6px 0 #000,-3px -3px 0 #000,3px -3px 0 #000,-3px 3px 0 #000;transform:rotate(-4deg);animation:slam .45s cubic-bezier(.2,1.8,.4,1) both}#announce .a.sub{font-size:clamp(22px,3.6vw,46px);color:#fff;transform:rotate(-2deg)}#announce .a.green{color:#6bff6b}#announce .a.red{color:var(--red)}#announce .a.orange{color:#ff9f1c}#announce .a.out{animation:slamout .35s ease-in both}@keyframes slam{0%{transform:rotate(-4deg) scale(3);opacity:0}to{transform:rotate(-4deg) scale(1);opacity:1}}@keyframes slamout{to{transform:rotate(-4deg) scale(.6) translateY(-60px);opacity:0}}#popups{position:absolute;inset:0;pointer-events:none}.pop{position:absolute;transform:translate(-50%,-50%);font-size:clamp(22px,3vw,38px);color:#6bff6b;text-shadow:3px 3px 0 #000,-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000;animation:floatup 1.2s ease-out forwards;white-space:nowrap}.pop.tip{color:#ff9f1c}@keyframes floatup{0%{transform:translate(-50%,-50%) scale(.4);opacity:0}15%{transform:translate(-50%,-60%) scale(1.2);opacity:1}to{transform:translate(-50%,-260%) scale(1);opacity:0}}#touch{position:absolute;left:0;right:0;bottom:calc(10px + var(--sa-b));display:flex;justify-content:space-between;align-items:flex-end;padding:0 10px;pointer-events:none}#touch .tgroup{display:flex;gap:10px;pointer-events:auto;align-items:flex-end}#touch .tgroup.right{flex-wrap:wrap;justify-content:flex-end;max-width:55%}#touch button{width:76px;height:76px;border-radius:50%;border:3px solid rgba(0,0,0,.8);background:#ffffff47;color:#fff;font-family:var(--chunky);font-size:30px;text-shadow:2px 2px 0 #000;backdrop-filter:blur(2px);touch-action:none}#touch button.small{width:58px;height:58px;font-size:14px}#touch button.gas{background:#29e04a8c;font-size:22px;width:84px;height:84px}#touch button.brake{background:#ff2d2d80;font-size:16px;line-height:1}#touch button.on{transform:scale(.92);background-color:#ffd600bf}.screen{position:absolute;inset:0;display:none;align-items:center;justify-content:center;overflow-y:auto;padding:calc(16px + var(--sa-t)) 12px calc(16px + var(--sa-b));z-index:10}.screen.show{display:flex}.screen.dim{background:#080a1e99;backdrop-filter:blur(3px)}#loading{flex-direction:column;background:radial-gradient(circle at 50% 40%,#ffd84d,#ff8a00 70%,#d9480f);color:#111;font-size:16px}.loadbar{width:min(320px,70vw);height:18px;border:4px solid #111;border-radius:12px;overflow:hidden;margin:24px 0 10px;background:#fff5}.loadbar i{display:block;height:100%;width:0;background:#111;transition:width .2s}.logo{display:flex;flex-direction:column;align-items:center;line-height:.8;transform:rotate(-6deg) skew(-8deg);filter:drop-shadow(8px 10px 0 rgba(0,0,0,.55))}.logo span{display:block;font-size:clamp(72px,16vw,200px);letter-spacing:2px}.logo .l1{color:#ff2d2d;text-shadow:0 0 0 #000,5px 5px 0 #fff,10px 10px 0 #000;-webkit-text-stroke:3px #000}.logo .l2{color:var(--yellow);-webkit-text-stroke:3px #000;text-shadow:5px 5px 0 #000,10px 10px 0 #ff2d2d;margin-left:.4em}.logo.small span{font-size:clamp(48px,10vw,100px)}#title{flex-direction:column;background:linear-gradient(180deg,#0000 55%,#0000008c)}.title-wrap{display:flex;flex-direction:column;align-items:center;gap:14px;animation:titlein .7s cubic-bezier(.2,1.6,.4,1) both}@media (min-width: 900px) and (min-aspect-ratio: 4/3){#title{justify-content:center;align-items:flex-start;padding-left:5vw}}@keyframes titlein{0%{transform:scale(.2) rotate(20deg);opacity:0}}.tagline{font-family:var(--chunky);font-size:clamp(22px,3.6vw,40px);background:#111;color:var(--yellow2);padding:6px 20px 2px;transform:rotate(-3deg);border:3px solid var(--yellow);letter-spacing:3px}.menu{display:flex;flex-direction:column;gap:10px;align-items:stretch;min-width:min(300px,80vw);margin-top:10px}.mbtn{font-family:var(--chunky);font-size:clamp(20px,2.6vw,30px);padding:12px 26px 8px;border:4px solid #000;border-radius:14px;background:#fff;color:#111;cursor:pointer;box-shadow:0 6px #000;transition:transform .08s,background .1s;letter-spacing:1px}.mbtn:hover,.mbtn.focus{background:var(--yellow2);transform:translateY(-2px) rotate(-1deg)}.mbtn:active{transform:translateY(4px);box-shadow:0 2px #000}.mbtn.primary{background:var(--yellow)}.mbtn.primary:hover,.mbtn.primary.focus{background:#ff2d2d;color:#fff}.press{margin-bottom:36px;font-family:var(--chunky);font-size:clamp(18px,2.4vw,26px);text-shadow:3px 3px 0 #000;animation:blink 1s steps(2) infinite;margin-top:6px}@keyframes blink{50%{opacity:.2}}.title-foot{position:absolute;bottom:calc(14px + var(--sa-b));left:14px;right:14px;display:flex;align-items:center;gap:12px;font-size:13px;text-shadow:1px 1px 0 #000}.panel{background:linear-gradient(160deg,#1d2a5b,#121833);border:5px solid #000;outline:4px solid var(--yellow);border-radius:22px;padding:20px 22px;box-shadow:0 12px #0009;max-width:92vw;margin:auto;text-align:center}.panel.wide{width:min(1040px,94vw)}.panel h2{font-family:var(--chunky);font-size:clamp(24px,3.4vw,40px);color:var(--yellow2);margin:4px 0 12px;text-shadow:3px 3px 0 #000;letter-spacing:1px}.big-h{font-size:clamp(44px,8vw,90px)!important}.row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:16px}.cards{display:grid;gap:12px;margin-bottom:12px}.cards.modes{grid-template-columns:repeat(3,1fr)}.cards.drivers{grid-template-columns:repeat(4,1fr)}.card{border:4px solid #000;border-radius:16px;background:#fff;color:#111;padding:12px 10px;cursor:pointer;box-shadow:0 5px #000;transition:transform .1s;text-align:center;font-family:var(--ui)}.card h3{font-family:var(--chunky);font-size:clamp(20px,2.4vw,30px);margin:2px 0 4px;font-weight:400}.card p{margin:0;font-size:12px}.card.sel{background:var(--yellow);transform:translateY(-4px) rotate(-1.5deg);outline:4px solid #ff2d2d}.card .portrait{width:64px;height:64px;border-radius:50%;margin:0 auto 6px;border:3px solid #000;position:relative;overflow:hidden}.card .portrait:before{content:"";position:absolute;left:50%;top:14px;width:30px;height:30px;margin-left:-15px;border-radius:50%;background:var(--skin, #e0ac69);box-shadow:0 -8px 0 -2px var(--hair, #333)}.card .portrait:after{content:"";position:absolute;left:50%;bottom:-18px;width:50px;height:36px;margin-left:-25px;border-radius:50% 50% 0 0;background:var(--shirt, #333)}.stat{display:flex;align-items:center;gap:6px;font-size:11px;justify-content:space-between;margin-top:3px}.stat i{display:flex;gap:2px}.stat i b{width:10px;height:8px;background:#ccc;border:1px solid #000}.stat i b.on{background:#ff2d2d}.keys-note{font-size:12px;opacity:.8;margin:10px 0 0}.how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.how-card{background:#ffffff14;border:3px solid rgba(255,255,255,.2);border-radius:16px;padding:12px;position:relative;text-align:left}.how-card h3{font-family:var(--chunky);font-weight:400;font-size:22px;color:var(--yellow2);margin:0 0 6px 40px}.how-card p{font-size:13px;line-height:1.4;margin:8px 0 0}.how-card .step{position:absolute;left:10px;top:8px;width:32px;height:32px;border-radius:50%;background:var(--yellow);color:#111;display:grid;place-items:center;font-family:var(--chunky);font-size:20px;border:2px solid #000}.cr{color:#ff4d4d}.cy{color:#ffd400}.cg{color:#3dff5a}.ringdemo{display:flex;gap:10px;justify-content:center;margin-top:8px}.ringdemo i{width:36px;height:18px;border-radius:50%;border:4px solid}.ringdemo .r{border-color:#ff2d2d}.ringdemo .y{border-color:#ffd400}.ringdemo .g{border-color:#29e04a}.arrowdemo{font-size:44px;color:#29e04a;text-align:center;text-shadow:3px 3px 0 #000;transform:rotate(-30deg);line-height:1}.zonedemo{width:70px;height:36px;margin:6px auto 0;border-radius:50%;border:4px dashed #29e04a;background:#29e04a40;box-shadow:0 -30px 20px -10px #3dff5a59}.keys{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 16px;margin-top:14px;font-size:13px;text-align:left}#rec-table{width:min(520px,84vw);border-collapse:collapse;font-size:15px}#rec-table td,#rec-table th{padding:8px 6px;border-bottom:2px solid rgba(255,255,255,.15)}#rec-table th{color:var(--yellow2);font-weight:400}.results{width:min(560px,94vw)}.res-grid{display:flex;flex-direction:column;gap:6px;margin:6px 0 12px}.res-row{display:flex;justify-content:space-between;align-items:baseline;font-size:clamp(15px,2vw,20px);padding:4px 8px;border-bottom:2px dashed rgba(255,255,255,.2)}.res-row b{font-family:var(--chunky);font-weight:400;font-size:1.4em;color:#fff}.res-row.total b{color:#6bff6b;font-size:2.1em}.license{display:flex;align-items:center;justify-content:center;gap:18px;margin:6px 0}.lic-card{background:linear-gradient(135deg,#fff7d1,#ffe07a);color:#111;border:3px solid #000;border-radius:10px;padding:10px 16px;text-align:left;min-width:170px;transform:rotate(-3deg)}.lic-head{font-size:11px;letter-spacing:2px;border-bottom:2px solid #111;padding-bottom:3px}.lic-driver{font-family:var(--chunky);font-size:26px;margin-top:4px}.lic-class{font-size:11px}.stamp{font-size:clamp(56px,10vw,96px);color:#ff2d2d;border:6px solid #ff2d2d;border-radius:16px;padding:4px 16px 0;transform:rotate(12deg);text-shadow:3px 3px 0 #000;line-height:1;min-width:1.4em}.stamp.go{animation:stamp .45s cubic-bezier(.2,2,.4,1) both}.stamp.long{font-size:clamp(30px,5vw,48px);padding:10px 14px 4px}@keyframes stamp{0%{transform:rotate(12deg) scale(4);opacity:0}}#res-record{font-family:var(--chunky);font-size:30px;color:var(--yellow2);text-shadow:3px 3px 0 #000;animation:pulse .4s infinite alternate}#rotate-note{position:absolute;bottom:110px;left:50%;transform:translate(-50%);background:#0009;padding:6px 12px;border-radius:10px;font-size:12px;z-index:5;pointer-events:none}@media (max-width: 760px){.cards.modes{grid-template-columns:repeat(3,1fr);gap:8px}.cards.drivers{grid-template-columns:repeat(2,1fr);gap:8px}.card{padding:8px 6px}.card p{font-size:10px}.card .portrait{width:44px;height:44px}.card .portrait:before{top:8px;width:22px;height:22px;margin-left:-11px}.how-grid{grid-template-columns:1fr 1fr}.how-card p{font-size:11px}.how-card h3{font-size:17px}.keys{grid-template-columns:1fr 1fr;font-size:11px}.panel{padding:14px 12px}#controls-hint,#hud-speed{display:none}.touchmode #hud-buttons{top:calc(96px + var(--sa-t));bottom:auto;flex-direction:column;right:10px}button.icon{width:42px;height:42px}#hud-stats{display:none}#hud-pax{top:calc(92px + var(--sa-t));left:12px;transform:none}#hud-combo{top:auto;bottom:calc(190px + var(--sa-b))}#hud-hint{bottom:calc(200px + var(--sa-b));font-size:22px}#hud-guide{top:calc(clamp(118px,22vh,200px) + var(--sa-t))}.touchmode #hud-guide{top:calc(29vh + var(--sa-t))}.readout .big{font-size:58px}#hud-fare .big{font-size:40px}#hud-find{top:calc(96px + var(--sa-t));font-size:22px}}.touchmode #hud-speed{display:block;width:auto;bottom:calc(100px + var(--sa-b));padding:4px 10px 6px}.touchmode #spd-val{font-size:30px}.touchmode #spd-bar,.touchmode #gear{display:none}.touchmode #hud-speed .unit{position:static;display:inline}.touchmode #spd-val{display:inline}.touchmode #controls-hint{display:none}@media (max-height: 480px){.logo span{font-size:64px}.menu{flex-direction:row;flex-wrap:wrap;justify-content:center}}
