*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#83d7e5;color:white;font-family:Arial,Helvetica,sans-serif}button{font:inherit;cursor:pointer;border:0}button:focus-visible{outline:4px solid #fff;outline-offset:5px}#game{width:100%;height:100%;display:block;touch-action:none}.hidden{display:none!important}#hud{position:absolute;inset:0;pointer-events:none;text-shadow:2px 3px 0 #17213b}.top{position:absolute;top:26px;left:32px;right:32px;display:flex;justify-content:space-between;align-items:flex-start}.clock label,.earnings label{display:block;font-size:13px;letter-spacing:2px;font-weight:900}.clock strong{display:block;font-size:90px;line-height:1;color:#ffe132;font-style:italic;letter-spacing:-5px;-webkit-text-stroke:2px #17213b;text-shadow:4px 5px 0 #17213b}.clock small,.earnings small{font-size:10px;letter-spacing:1.5px}.earnings{text-align:right;padding-right:92px}.earnings strong{display:block;color:#68ff7b;font-size:44px;font-weight:900;font-style:italic;letter-spacing:-2px;-webkit-text-stroke:1px #173531}.navigation{text-align:center;position:absolute;left:50%;transform:translateX(-50%);top:-12px;width:250px}#arrow{color:#76ff31;font-size:92px;line-height:1;filter:drop-shadow(3px 4px 0 #163d2b);-webkit-text-stroke:2px #193e21;transform:rotate(-90deg);margin:0 auto 7px;width:95px}.navigation span{display:block;font-weight:900;letter-spacing:1px;font-size:14px}.navigation small{display:block;margin-top:6px;font-size:12px}#fare-panel{position:absolute;top:175px;left:32px;width:250px;background:#142d42df;padding:14px 17px;border-left:5px solid #73fc35;transform:skew(-3deg);text-shadow:none}#customer{color:#b7cec9;font-size:10px;letter-spacing:1px;display:block}#destination{font-size:24px;display:block;margin:4px 0 9px;color:#fff6d5}.patience{height:6px;background:#4b6570;margin-bottom:8px}.patience i,.boost i{height:100%;display:block;background:#73fc35;width:100%}#fare-detail{font-size:12px;color:#e4efdb}#announcement{position:absolute;top:36%;left:50%;transform:translate(-50%,-50%) rotate(-4deg);font-style:italic;text-align:center;font-weight:1000;font-size:42px;color:#ffef40;width:80%;text-shadow:3px 4px 0 #16212e;transition:opacity .2s}#announcement small{display:block;font-size:17px;margin:8px;color:white;letter-spacing:1px}.bottom{position:absolute;bottom:24px;left:28px;right:30px;display:flex;align-items:flex-end;justify-content:space-between}.map-wrap{background:#122b37dc;border:2px solid #dceadb75;padding:5px;transform:rotate(-2deg)}#map{width:156px;height:156px;display:block}.map-wrap span{display:block;text-align:center;font-size:8px;letter-spacing:1px;margin:4px 0}.map-wrap b{color:#fff535}#drive-hint{font-size:10px;letter-spacing:1px;background:#102738a6;padding:10px;text-align:center}#drive-hint b{color:#ffe84d}.speed{text-align:right;min-width:130px}.speed strong{font-size:70px;line-height:1;font-style:italic;font-weight:900}.speed span{font-size:12px;letter-spacing:2px;margin-left:7px}.speed small{font-size:10px;letter-spacing:1px}.boost{height:6px;background:#294653;margin:8px 0}.boost i{background:#ffdd36}.utility{position:absolute;right:24px;top:25px;display:flex;gap:8px}.utility button{color:#fff;background:#143248cc;border:1px solid #ffffff65;border-radius:50%;height:36px;width:36px;font-size:19px}#menu{position:absolute;inset:0;background:linear-gradient(90deg,#08334ed9 0%,#0a3b5270 40%,transparent 70%);padding:7vh 7vw;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.brand-kicker{color:#a6f4ee;letter-spacing:5px;font-weight:900;font-size:12px;margin-bottom:22px}h1{font-family:Impact,'Arial Black',sans-serif;font-size:clamp(90px,12vw,176px);line-height:.77;letter-spacing:-4px;transform:rotate(-7deg) skew(-5deg);margin:0 0 38px;color:#ffe32f;-webkit-text-stroke:2px #152e3b;text-shadow:5px 5px 0 #172d3a,10px 10px 0 #fa6829}h1>span:first-child{font-size:.83em;letter-spacing:2px}.star{font-size:.38em;display:inline-block;vertical-align:top;margin-top:8px;margin-left:8px;color:#ff7a31}.subtitle{font-weight:900;letter-spacing:2px;font-size:13px;margin:10px 0 26px}.primary{background:#ffe32f;color:#183244;padding:20px 26px;min-height:60px;font-size:15px;font-weight:900;letter-spacing:.7px;box-shadow:5px 5px 0 #f37331;transform:skew(-5deg);transition:transform .15s}.primary:hover{transform:skew(-5deg) translateY(-3px);background:#fff07d}.primary span{margin-left:28px;font-size:22px}.text-button{background:transparent;color:white;font-size:12px;font-weight:900;letter-spacing:1.5px;padding:22px 0}.text-button span{color:#ffe32f;margin-left:14px}.menu-footer{position:absolute;bottom:28px;left:7vw;right:7vw;display:flex;justify-content:space-between;color:#d3edef;font-size:9px;letter-spacing:2px}#modal{position:absolute;inset:0;background:#052336a8;display:grid;place-items:center;backdrop-filter:blur(7px);padding:20px}.dialog{background:#143446;border:2px solid #719aa4;max-width:590px;width:100%;padding:38px;box-shadow:10px 10px 0 #0d25347d}.dialog h2{font-family:Impact,'Arial Black',sans-serif;font-size:48px;font-style:italic;letter-spacing:1px;margin:0 0 20px;color:#ffe332}.dialog p{font-size:14px;line-height:1.6;color:#d8e9e7}.controls-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.controls-grid div{border-bottom:1px solid #587080;padding:10px 0;font-size:12px;color:#bfdae0}.controls-grid b{display:block;color:#ffe332;font-size:16px;margin-bottom:6px}.dialog .primary{width:100%;margin-top:15px}.result-money{font-weight:900;color:#70ff85;font-size:58px;font-style:italic}.stats{display:flex;gap:25px;margin:20px 0;color:#bfdae0;font-size:12px}.stats b{display:block;color:white;font-size:25px;margin-bottom:6px}#touch{position:absolute;bottom:18px;left:15px;right:15px;display:none;justify-content:space-between;pointer-events:none}#touch>div{display:flex;gap:8px;align-items:flex-end}#touch button{pointer-events:auto;touch-action:none;user-select:none;width:56px;height:56px;border-radius:8px;background:#133a4ebd;border:1px solid #e5ffff90;color:white;font-size:22px;font-weight:900}#touch button[data-action="forward"]{height:75px;background:#e9cb23d9;color:#183043}#touch button[data-action="drift"],#touch button[data-action="boost"]{font-size:10px;width:48px;height:45px}#touch button:active{background:#fa7931}
@media(pointer:coarse){#touch:not(.hidden){display:flex}#drive-hint{display:none}.bottom{bottom:112px}.map-wrap{display:none}}@media(max-width:650px){.top{left:15px;right:15px;top:20px}.clock strong{font-size:64px}.clock label,.earnings label{font-size:9px;letter-spacing:1px}.clock small,.earnings small{font-size:8px}.earnings{padding:0;margin-top:43px}.earnings strong{font-size:30px}.utility{right:14px;top:14px}.navigation{top:0;width:160px}#arrow{font-size:65px;width:65px;margin-bottom:10px}.navigation span{font-size:10px}.navigation small{font-size:10px}#fare-panel{top:133px;left:15px;width:175px;padding:10px}#destination{font-size:19px}#announcement{font-size:30px;top:42%}#announcement small{font-size:13px}.bottom{left:15px;right:15px;bottom:105px}.speed strong{font-size:48px}.speed{min-width:100px}.map-wrap{display:none}#drive-hint{display:none}#touch:not(.hidden){display:flex}#touch>div{gap:5px}#touch button{width:44px;height:53px}#touch button[data-action="drift"],#touch button[data-action="boost"]{width:39px;font-size:8px}#menu{padding:30px;justify-content:center;background:linear-gradient(90deg,#08334ecd,transparent)}h1{font-size:106px}.brand-kicker{font-size:9px;letter-spacing:3px}.subtitle{font-size:10px;letter-spacing:1px}.primary{font-size:12px;padding:18px}.primary span{margin-left:12px}.menu-footer{left:30px;bottom:22px;font-size:8px;line-height:1.5}.menu-footer span:last-child{display:none}.dialog{padding:24px}.dialog h2{font-size:37px}.dialog p{font-size:12px}.result-money{font-size:48px}}
@media(prefers-reduced-motion:reduce){button{transition:none}}
