@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#faf8ec;background:#a8d1dc;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,select{font:inherit}button{cursor:pointer;color:inherit;border:1px solid #ffffff32;background:#18383c99;border-radius:9px;padding:11px 15px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}button:hover{background:#295052cc}button:focus-visible,select:focus-visible{outline:3px solid #edb26a;outline-offset:3px}button:disabled{opacity:.6;cursor:wait}kbd{font-size:10px;opacity:.65;border:1px solid #ffffff45;border-radius:3px;padding:2px 4px;margin-left:8px}a{color:inherit}#game,#viewport{width:100%;height:100dvh;display:block}header{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:28px 34px;background:linear-gradient(#0b2e4240,transparent);z-index:3}.brand{display:flex;gap:12px;align-items:center;font-family:Manrope,sans-serif;font-size:15px;font-weight:800;letter-spacing:2px;text-decoration:none;text-shadow:0 1px 10px #18383c66}.brand-icon{font-size:36px;color:#f1ba79}.brand small{display:block;font:9px DM Sans,sans-serif;letter-spacing:2px;margin-top:5px}.top-actions{display:flex;gap:8px}.top-actions button{font-size:12px}.top-actions .active{background:#e9b775;color:#173136;border-color:#e9b775}#welcome{position:fixed;left:7%;top:25%;max-width:560px;text-shadow:0 2px 24px #16303766}#welcome:before{content:"";position:absolute;inset:-80px -70px;z-index:-1;background:radial-gradient(ellipse,#16393d85,transparent 70%);pointer-events:none}.eyebrow{font-size:10px;letter-spacing:3px;color:#f7d9b1;font-weight:700}h1{font-family:Manrope,sans-serif;font-size:clamp(40px,5.5vw,78px);letter-spacing:-3px;font-weight:600;line-height:1.12;margin:22px 0}#welcome p{font-size:15px;line-height:1.85;color:#f0f2e9}.primary{background:#edb478;color:#193137;border:0;font-weight:700;padding:16px 28px;box-shadow:0 4px 24px #15303522}.primary:hover{background:#f4c796}.welcome-note{font-size:9px;letter-spacing:2px;margin-top:18px;color:#ffffffa3}footer{position:fixed;bottom:0;left:0;right:0;padding:30px 34px;display:flex;align-items:end;justify-content:space-between;background:linear-gradient(transparent,#102e3780);pointer-events:none}.route-label,.season-label{font-size:10px;font-weight:700;letter-spacing:2px}.route-label small,.season-label small{display:block;font-size:10px;letter-spacing:.3px;font-weight:400;margin-top:9px;color:#ffffffb0}.live-dot{display:inline-block;width:6px;height:6px;background:#efbc81;border-radius:50%;margin-right:9px}.season-label{text-align:right}.progress-track{margin-top:13px;height:2px;background:#ffffff35;width:190px}.progress-track i{display:block;height:100%;width:0;background:#e9b87f}.dash{text-align:center;min-width:150px}.speed{display:flex;justify-content:center;align-items:baseline;gap:9px}.speed strong{font-family:Manrope,sans-serif;font-size:52px;font-weight:400;line-height:1}.speed span{font-size:9px;letter-spacing:2px;opacity:.75}.dash-meta{font-size:10px;color:#ffffffb5;display:flex;justify-content:center;gap:15px;margin-top:9px}#panel{position:fixed;right:20px;top:95px;width:320px;max-height:calc(100dvh - 125px);overflow:auto;background:#153236ef;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:24px;border:1px solid #ffffff25;border-radius:16px;z-index:10;box-shadow:0 20px 100px #12282e55}.panel-heading{display:flex;justify-content:space-between;align-items:center}.panel-heading h2{font:500 22px Manrope}.panel-heading button{border:0;font-size:24px;padding:3px 10px}label{display:block;font-size:11px;color:#d3dfd8;margin:16px 0}select{display:block;width:100%;background:#25484b;color:#fff;border:1px solid #ffffff25;border-radius:7px;padding:11px;margin-top:8px}#panel>button{display:block;width:100%;margin:9px 0;text-align:left;font-size:12px}.controls{font-size:11px;line-height:1.9;border-top:1px solid #ffffff25;margin-top:20px;padding-top:17px;color:#d2dfda}.controls b{color:#f1c293}details{font-size:11px;line-height:1.6;margin:15px 0;color:#c0d2d0}summary{cursor:pointer}#panel>small{font-size:9px;letter-spacing:1px;color:#ffffff6c}#toast{position:fixed;left:50%;top:110px;transform:translate(-50%);background:#153639cf;padding:11px 22px;border-radius:30px;font-size:12px;opacity:0;transition:opacity .2s;pointer-events:none;z-index:20}#paused,#end{position:fixed;left:50%;top:45%;transform:translate(-50%,-50%);background:#14383aee;padding:34px;border:1px solid #ffffff33;border-radius:15px;text-align:center;z-index:8;font-size:22px}#paused small{display:block;font-size:12px;margin:13px}#end h2{font:500 28px Manrope}#end p{font-size:14px}#touch-controls{display:none;position:fixed;bottom:115px;left:16px;right:16px;justify-content:space-between;pointer-events:none}#touch-controls>div{display:flex;gap:10px}#touch-controls button{pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;min-width:60px;height:62px;font-size:18px;background:#15383b96}#touch-controls .throttle{background:#d6ab76bd;color:#173339;font-size:13px}#touch-controls [data-drive=ArrowDown]{font-size:10px}[hidden]{display:none!important}@media(pointer:coarse){#touch-controls{display:flex}}@media(max-width:650px){header{padding:16px}.brand{font-size:11px;letter-spacing:1.2px}.brand small{font-size:7px;letter-spacing:1px}.brand-icon{font-size:25px}.top-actions button{padding:10px;font-size:10px}.top-actions kbd{display:none}#welcome{top:24%;left:7%;right:7%}h1{letter-spacing:-1.8px;font-size:44px}#welcome p{font-size:13px}footer{padding:22px 16px}.season-label{display:none}.route-label{font-size:8px}.route-label small{font-size:9px;max-width:150px}.progress-track{width:130px}.speed strong{font-size:40px}.dash{min-width:120px}#panel{right:12px;top:75px;width:min(320px,calc(100vw - 24px))}#toast{top:80px;width:max-content;max-width:85vw}#end{width:85vw;padding:25px}}@media(max-height:500px){header{padding:12px 20px}#welcome{top:21%}h1{font-size:38px;margin:12px 0}#welcome p{margin:8px 0}.welcome-note{display:none}footer{padding:15px 22px}#touch-controls{bottom:85px}#welcome .primary{padding:12px 22px}}
