:root{font-family:Arial,Helvetica,sans-serif;color:#fff;background:#061727;font-synthesis:none;--lime:#eaff38;--cyan:#3ef3ff;--ink:#061727}
*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--cyan);outline-offset:5px}[hidden]{display:none!important}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-library{position:absolute;width:0;height:0;overflow:hidden}#sea{position:fixed;inset:0;width:100%;height:100%;touch-action:none}header{position:fixed;left:max(28px,env(safe-area-inset-left));right:max(28px,env(safe-area-inset-right));top:max(24px,env(safe-area-inset-top));display:flex;justify-content:space-between;align-items:center;z-index:5}.arcade,.icon-button{width:44px;height:44px;display:grid;place-items:center;border:1px solid #ffffff40;border-radius:50%;background:#061727dd;color:white;text-decoration:none;font-size:23px}.top-actions{display:flex;gap:10px}.muted{opacity:.65}.muted:after{content:'';position:absolute;width:25px;height:2px;background:#fff;transform:rotate(-45deg)}.screen{position:fixed;inset:0;z-index:3;overflow:auto}#menu{pointer-events:none;background:linear-gradient(90deg,#031326ac,transparent 62%)}.intro{position:absolute;left:7vw;top:23%;pointer-events:auto}h1{font-size:clamp(70px,9.5vw,148px);line-height:.86;letter-spacing:-.065em;margin:0 0 44px;font-weight:900;font-style:italic;text-shadow:0 4px 40px #00102550}h1 span{display:block;color:var(--lime)}.primary{min-width:210px;border:0;border-radius:7px;background:var(--lime);color:var(--ink);padding:20px 25px;font-weight:900;font-size:16px;letter-spacing:1.5px;display:flex;align-items:center;gap:35px;justify-content:space-between;box-shadow:0 5px 24px #04152628;transition:background .15s,transform .15s}.primary:hover{background:white;transform:translateY(-2px)}.primary svg{width:26px;height:26px}.controls{display:flex;gap:25px;margin-top:28px;align-items:flex-start}.controls>span{display:flex;gap:5px;align-items:center;flex-wrap:wrap;max-width:88px}.controls small{width:100%;font-size:9px;font-weight:bold;letter-spacing:1.5px;margin-top:5px;color:white;text-shadow:0 2px 4px #061727}kbd{display:grid;place-items:center;width:29px;height:29px;border:1px solid #ffffffa0;border-radius:4px;background:#061727b0;font:15px Arial;color:white}kbd.space{width:78px;font-size:10px;letter-spacing:1px}.record{display:flex;align-items:center;gap:12px;margin-top:30px;color:var(--cyan);font-size:14px;font-variant-numeric:tabular-nums}.record svg{width:18px;height:18px}#hud{position:fixed;inset:0;z-index:2;pointer-events:none}.score-box{position:absolute;left:28px;top:95px;background:#061727df;border-left:3px solid var(--lime);padding:13px 20px;min-width:153px;border-radius:0 7px 7px 0}.score-box>span{font-size:10px;font-weight:bold;letter-spacing:3px;color:var(--cyan)}.score-box>b{display:block;font-size:35px;letter-spacing:-1.3px;font-variant-numeric:tabular-nums;margin:3px 0}.score-box>small{display:block;color:var(--lime);font-size:13px;font-weight:bold;min-height:0}.hull-box{position:absolute;top:96px;right:28px;display:flex;align-items:center;gap:10px;border-radius:25px;background:#061727df;padding:12px 17px;color:var(--cyan)}.hull-box svg{width:18px;height:18px}#hull{display:flex;gap:5px}#hull i{width:16px;height:8px;background:var(--cyan);border-radius:2px}#hull i.empty{background:#ffffff30}.speed-box{position:absolute;bottom:95px;right:35px;display:flex;align-items:baseline;gap:9px;filter:drop-shadow(0 2px 6px #061727);font-style:italic}.speed-box b{font-size:64px;line-height:1;font-variant-numeric:tabular-nums;font-weight:900;letter-spacing:-4px}.speed-box>span{font-size:12px;font-weight:bold}.boost-box{position:absolute;bottom:41px;right:28px;width:190px;display:flex;align-items:center;gap:10px;padding:10px 13px;border-radius:8px;background:#061727e8;color:var(--lime)}.boost-box svg{width:20px;height:20px}.meter{flex:1;height:7px;border-radius:4px;background:#ffffff30;overflow:hidden}.meter i{height:100%;display:block;background:var(--lime);transform-origin:left;border-radius:4px}.route{position:absolute;bottom:27px;left:28px;width:min(250px,32vw);height:4px;background:#061727d0;border-radius:3px}.route>i{display:block;height:100%;background:var(--cyan);width:0;border-radius:3px}.route svg{position:absolute;right:-25px;top:-9px;width:20px;height:20px;color:var(--cyan);filter:drop-shadow(0 1px 3px #061727)}#courseMarker{position:absolute;transform:translate(-50%,-100%);color:var(--lime);text-shadow:0 2px 5px #001020;transition:opacity .15s}#courseMarker span{display:block;font-size:42px;line-height:1;font-weight:900}#toast{position:fixed;top:24%;left:50%;transform:translateX(-50%) scale(.9);z-index:4;color:var(--lime);font-size:28px;font-weight:900;letter-spacing:-.8px;text-align:center;pointer-events:none;text-shadow:0 3px 8px #001020;opacity:0;transition:opacity .15s,transform .15s;white-space:nowrap}#toast.visible{opacity:1;transform:translateX(-50%) scale(1)}#impact{position:fixed;inset:0;pointer-events:none;z-index:1;box-shadow:inset 0 0 130px #ff253c;opacity:0;transition:opacity .1s}body[data-boosting="true"] .boost-box{box-shadow:0 0 25px #eaff3860}.modal-screen{display:flex;align-items:center;justify-content:center;padding:85px 20px 25px;background:#03132670;backdrop-filter:blur(8px)}.panel{width:min(680px,100%);padding:36px;background:#061727f2;border:1px solid #ffffff30;border-radius:14px;box-shadow:0 20px 80px #00102050}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--cyan);font-weight:bold}.panel h2{font-size:clamp(30px,5vw,55px);line-height:1;letter-spacing:-2px;margin:18px 0 30px;font-style:italic}.compact{max-width:470px}.compact .primary{width:100%;margin-top:24px}.secondary{display:block;width:100%;text-align:center;background:transparent;color:#fff;border:1px solid #ffffff45;border-radius:6px;padding:14px;font-weight:bold;font-size:11px;letter-spacing:1.5px;margin-top:12px;text-decoration:none}.secondary:hover{border-color:white}#upgrades{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.upgrade{border:1px solid #ffffff40;border-radius:8px;padding:25px 12px;background:#0e3044;color:white;text-align:center;transition:background .15s,transform .15s}.upgrade:hover{background:#194d60;transform:translateY(-3px);border-color:var(--lime)}.upgrade svg{width:38px;height:38px;color:var(--lime);margin-bottom:15px}.upgrade b{display:block;font-size:12px;letter-spacing:1px}.upgrade p{font-size:16px;font-weight:bold;color:var(--cyan);margin-bottom:0}.results{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin:20px 0}.results span{display:block;font-size:9px;letter-spacing:1.5px;color:#b9d8e6}.results b{display:block;font-size:25px;margin-top:9px;color:var(--lime);font-variant-numeric:tabular-nums}#resultCopy{font-size:11px;font-weight:bold;color:var(--cyan);letter-spacing:2px;min-height:13px}.leaders{display:flex;gap:10px;margin-top:25px;border-top:1px solid #ffffff20;padding-top:15px}.leaders>svg{width:18px;height:18px;color:var(--cyan)}.leaders ol{margin:0;padding-left:20px;flex:1;font-size:11px;color:white}.leaders li{padding:4px}.leaders li b{float:right;color:var(--cyan)}#touch{position:fixed;bottom:max(38px,env(safe-area-inset-bottom));left:20px;right:20px;display:flex;justify-content:space-between;align-items:center;z-index:2;pointer-events:none}.steering{display:flex;gap:10px}#touch button{width:64px;height:64px;background:#061727e6;border:1px solid #ffffff70;color:white;font-size:27px;touch-action:none;pointer-events:auto;border-radius:50%;user-select:none}#touch .boost{width:75px;height:75px;background:var(--lime);border-color:var(--lime);color:var(--ink)}#touch .boost svg{width:30px;height:30px}#touch button.held{background:white;color:var(--ink);transform:scale(.94)}
@media(pointer:coarse){.controls{display:none}.speed-box{bottom:170px;right:25px}.speed-box b{font-size:50px}.boost-box{bottom:119px;right:23px;width:150px}.route{bottom:17px}.score-box{min-width:125px}.score-box>b{font-size:29px}}
@media(max-width:700px){header{left:18px;right:18px;top:max(17px,env(safe-area-inset-top))}.arcade,.icon-button{width:40px;height:40px}.intro{left:7vw;top:22%}h1{font-size:clamp(49px,16.8vw,100px);margin-bottom:32px}.primary{min-width:180px;padding:17px 22px;font-size:14px}.record{margin-top:22px}.score-box{left:18px;top:76px;padding:10px 13px}.hull-box{right:18px;top:76px;padding:11px 13px;gap:7px}#hull i{width:11px;height:7px}.hull-box svg{width:16px;height:16px}.route{left:22px;width:32vw}.panel{padding:25px}.panel h2{font-size:38px;margin:15px 0 25px}#upgrades{gap:7px}.upgrade{padding:20px 7px}.upgrade b{font-size:10px}.upgrade p{font-size:14px}.upgrade svg{width:30px;height:30px}.speed-box b{font-size:50px}.speed-box{right:25px}#toast{font-size:23px}}
@media(max-height:550px){.intro{top:22%}h1{font-size:min(15vh,80px);margin-bottom:22px}.controls{margin-top:18px}.record{margin-top:16px}.modal-screen{padding:70px 16px 16px;align-items:flex-start}.panel{margin:auto;padding:22px}.panel h2{font-size:34px;margin:12px 0 18px}.leaders{margin-top:17px;padding-top:10px}.speed-box{bottom:89px}.speed-box b{font-size:42px}.boost-box{bottom:45px}.score-box{top:78px}.hull-box{top:78px}.results{margin:12px 0}.compact .primary{margin-top:15px}}
@media(prefers-reduced-motion:reduce){button,#toast{transition:none!important}}

@media(pointer:coarse) and (max-height:550px){.speed-box{bottom:166px;right:25px}.boost-box{bottom:121px;right:23px;width:150px}}
.clock-box{position:absolute;top:24px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:9px;padding:10px 14px;border-radius:24px;background:#061727e8;color:var(--cyan)}.clock-box svg{width:20px;height:20px}.clock-box b{font-size:20px;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.clock-box .urgent{color:#ff4c62}.rank-box{position:absolute;right:28px;top:152px;display:flex;align-items:baseline;gap:8px;background:#061727df;padding:7px 17px;border-radius:9px;color:var(--lime)}.rank-box b{font-size:40px;font-style:italic;line-height:1.15}.rank-box span{font-size:12px;font-weight:bold;color:white}#touch [data-hold="brake"]{font-size:22px;color:var(--cyan)}
@media(max-width:700px){.clock-box{top:17px;padding:9px 12px;gap:7px}.clock-box b{font-size:17px}.clock-box svg{width:17px;height:17px}.rank-box{top:129px;right:18px;padding:7px 13px}.rank-box b{font-size:32px}}
@media(max-width:380px){#touch .steering{gap:6px}#touch .steering button{width:54px;height:58px}}
@media(max-height:550px){.rank-box{top:130px;right:28px}.rank-box b{font-size:28px}.clock-box b{font-size:17px}}
