:root{font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;color:#f3f6f8;background:#091017;font-synthesis:none;--lime:#edbc84;--ink:#11191e;--muted:#96a5b0;--coral:#ff967e;--mint:#a4e6d7;--line:#ffffff22}*{box-sizing:border-box}body{margin:0;overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid #edbc84;outline-offset:5px}button{touch-action:manipulation}.hidden{display:none!important}#app{position:relative;height:100svh;min-height:480px;width:100%;overflow:hidden;isolation:isolate}#scene{position:absolute;inset:0;z-index:-3}#scene canvas{width:100%;height:100%;display:block}#speed-fx{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}.vignette{position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(90deg,#060d16ed,#07101cb8 25%,transparent 72%),linear-gradient(0deg,#060c16b8,transparent 28%)}.is-playing .vignette,.is-paused .vignette,.is-ended .vignette{background:linear-gradient(0deg,#060c1699,transparent 31%,transparent 69%,#060d1677)}
.topbar{position:absolute;inset:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:24px 32px;z-index:8}.portal{display:flex;gap:9px;align-items:center;font-size:9px;letter-spacing:1.4px;font-weight:600;opacity:.8}.portal-symbol{font-size:19px;line-height:1;border:1px solid #ffffff38;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;letter-spacing:0}.top-actions{display:flex;gap:7px}.icon-button{height:36px;min-width:38px;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;border:1px solid var(--line);background:#0c18264d;border-radius:30px;backdrop-filter:blur(14px);font-size:16px}.icon-button>span{font-size:8px;letter-spacing:1px}.icon-button:hover{background:#30445580}.menu-panel{position:absolute;left:6.5%;top:18%;width:440px}.menu-topline{display:flex;align-items:center;gap:16px;font:8px ui-monospace,monospace;letter-spacing:1.8px;color:#a4b3c0}.edition{padding:7px 0;border-bottom:1px solid #edbc8466;color:#edbc84}.live-mark{font-size:8px}.live-mark i{display:none}.title-wrap{margin-top:28px}.kicker{font-size:9px;letter-spacing:3px;color:#9eadb8;margin:0 0 18px}h1{margin:0;font-size:46px;line-height:1.15;letter-spacing:-2.3px;font-weight:750}h1>span{display:block;font-size:112px;font-weight:850;letter-spacing:-6px;line-height:1.04;font-style:italic;color:#f3f5f5;margin-left:-5px}.title-star{display:none}.intro{font-size:21px;font-weight:600;letter-spacing:-.8px;margin:24px 0 12px}.intro em{color:#edbc84;font-style:normal}.summary{font-size:11px;line-height:1.9;color:#9cabb8;margin:0}.start-cluster{margin-top:30px;width:286px}.start-button{width:100%;min-height:53px;border:1px solid #edbc8488;background:#edbc84;color:#131c23;border-radius:10px;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;gap:16px;font-size:14px;font-weight:750;letter-spacing:-.3px;transition:background .15s,transform .15s}.start-button>span:last-child{font-size:22px;font-weight:400}.start-button #start-text{font-size:14px;font-weight:750}.start-button:hover{background:#ffd7a9;transform:translateY(-1px)}.start-button:active{transform:translateY(1px)}.start-button:disabled{opacity:.5;cursor:wait}.start-note{display:block;font-size:8px;letter-spacing:.5px;color:#8899a8;margin-top:10px}.menu-bottom{display:flex;align-items:flex-end;justify-content:space-between;margin-top:28px;max-width:320px}.best>span{font:8px ui-monospace,monospace;color:#7f929f;letter-spacing:1.3px}.best>strong{display:block;font-size:23px;font-variant-numeric:tabular-nums;font-weight:500;margin-top:5px}.menu-utility{display:flex;flex-direction:column;align-items:flex-end}.text-button{border:0;background:none;color:#a1b2bf;font-size:10px;padding:5px 0;line-height:1.6}.text-button:hover{color:#edbc84}.rare-preview{position:absolute;right:4%;bottom:11%;display:flex;gap:14px;align-items:center;border-left:1px solid #edbc8466;padding:9px 0 9px 18px}.rare-mini{width:39px;height:52px;border-radius:5px;border:1px solid #fff4a56b;background:linear-gradient(140deg,#b5b998,#8b9d8c,#c9bea0);color:#18302b;font-size:10px;padding:4px;transform:rotate(-8deg);box-shadow:0 5px 18px #0006}.rare-mini>span{font-size:23px;display:block}.eyebrow{font:8px ui-monospace,monospace;color:#edbc84;letter-spacing:1.8px}.rare-preview strong{display:block;margin-top:6px;font-size:12px;font-weight:600}.rare-preview p{font-size:9px;color:#92a4b1;margin:6px 0 0}.menu-footer{position:absolute;bottom:max(18px,env(safe-area-inset-bottom));left:32px;right:32px;display:flex;align-items:center;gap:25px;font-size:8px;color:#718594;letter-spacing:.5px}.menu-footer a{color:#edbc84}.menu-footer .text-button{font-size:8px}.fan-label{margin-left:auto}
.hud{position:absolute;inset:0;pointer-events:none;filter:drop-shadow(0 2px 8px #02070db3)}.score-block{position:absolute;top:88px;left:32px;width:185px}.score-block>.eyebrow{color:#b3c2ce;font-size:7px;letter-spacing:2px}.score-block>strong{font-size:39px;display:block;font-variant-numeric:tabular-nums;font-weight:500;letter-spacing:-1.8px;line-height:1.15;margin-top:5px}.combo-label{display:block;font-size:9px;margin-top:7px;color:#c4cfd5;min-height:13px}.flow-track{width:105px;height:2px;background:#ffffff18;margin-top:9px;overflow:hidden}.flow-track>i{display:block;width:0;height:100%;background:#edbc84}.flowing .combo-label{color:#edbc84}.drive-block{position:absolute;top:87px;right:32px;width:145px;text-align:right}.drive-state{font:7px ui-monospace,monospace;color:#a4b5c3;letter-spacing:1.6px;display:block}.speed{display:flex;align-items:baseline;justify-content:flex-end;gap:6px;margin-top:5px}.speed>strong{font-size:56px;font-variant-numeric:tabular-nums;font-weight:350;letter-spacing:-3.5px;line-height:1}.speed>span{font-size:9px;color:#b1bec7}.speed-track{height:2px;background:#ffffff21;margin:11px 0 10px;overflow:hidden}.speed-track>div{height:100%;background:#e4bc91;width:0}.condition>span{display:flex;justify-content:space-between;font-size:8px;color:#a4b5c3}.condition b{font-weight:500;color:#dce5e9}.health-track{height:3px;background:#ffffff21;margin-top:6px;border-radius:5px;overflow:hidden}#health{height:100%;width:100%;background:#a4e6d7;transition:width .15s}.boosting #speed,.boosting .drive-state{color:#d0f6ff}.boosting #speed-bar{background:#c5efff;box-shadow:0 0 15px #a4dcff}.route-strip{position:absolute;left:50%;top:30px;transform:translateX(-50%);display:flex;gap:17px;align-items:center;font-size:9px;color:#b6c5cf;white-space:nowrap}.route-strip i{display:inline-block;width:4px;height:4px;border-radius:50%;background:#edbc84;margin-right:7px}.route-strip b{font-size:9px;font-weight:500;font-variant-numeric:tabular-nums}.route-strip small{font-size:8px;color:#7f95a5}.air-block{position:absolute;left:32px;top:201px;width:145px;background:none;border-left:1px solid #a6c6d252;padding:0 0 0 11px}.air-title{display:flex;justify-content:space-between;align-items:baseline;font:7px ui-monospace,monospace;color:#9aafbd;letter-spacing:1px}.air-title b{font-size:12px;font-weight:500;color:#d3e8ec;letter-spacing:0}.air-track{height:3px;background:#abc8d529;margin:8px 0 7px;overflow:hidden}#air-bar{height:100%;width:100%;background:#a4d9e7}.air-details{display:flex;justify-content:space-between;font-size:8px;color:#94aab9}.air-details b{font-weight:500;color:#d5e3e9}#air-status{display:block;font-size:7px;margin-top:8px;color:#788f9e}.air-block.low{border-color:#edaa6f}.air-block.low #air-bar{background:#edaa6f}.air-block.low .air-title b{color:#edaa6f}.run-goal{position:absolute;left:50%;top:88px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:10px 15px 12px;background:#09131d59;border:1px solid #bdced21c;border-radius:12px;min-width:235px;overflow:hidden;backdrop-filter:blur(10px)}.run-goal>span{font:8px ui-monospace,monospace;color:#edbc84}.run-goal b{display:block;font-size:10px;font-weight:500;color:#dde6eb}.run-goal small{font-size:8px;display:block;color:#8a9ead;margin-top:4px}.run-goal>i{position:absolute;left:0;bottom:0;height:2px;width:0;background:#edbc84}.air-readout{position:absolute;left:50%;bottom:224px;transform:translateX(-50%);text-align:center;min-width:210px;text-shadow:0 2px 10px #000}.air-readout>span:first-child{display:block;font-size:12px;font-weight:650;letter-spacing:1.5px}.landing-track{width:170px;height:2px;background:#d4e4f23b;margin:9px auto}.landing-track>div{height:100%;width:0;background:#bbd9e5}.air-readout strong{font-size:9px;font-weight:500;color:#b2c6d4}.air-readout>span:last-child{font-size:9px;color:#8da7ba;margin-left:12px}.air-readout.ready strong{color:#a4e6d7}.air-readout.ready .landing-track>div{background:#a4e6d7}.air-readout.risk strong{color:#ff967e}.air-readout.risk .landing-track>div{background:#ff967e}.trick-banner{position:absolute;left:50%;top:30%;transform:translate(-50%,7px);text-align:center;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;max-width:90%;text-shadow:0 3px 20px #02070b}.trick-banner.show{opacity:1;transform:translate(-50%,0)}.trick-banner>span{display:block;font-size:17px;font-weight:650;letter-spacing:2px;color:#e2c7a5}.trick-banner>strong{display:block;font-size:35px;line-height:1.25;font-weight:550;letter-spacing:-1.2px}.trick-banner.bail>span{color:#ff967e}.trick-banner.bail>strong{font-size:15px;letter-spacing:0}.tip{position:absolute;bottom:224px;left:50%;transform:translateX(-50%);font-size:10px;color:#c8d7e0;border-radius:30px;border:1px solid #b5c8db26;background:#0c1a2866;padding:9px 15px;backdrop-filter:blur(8px);max-width:82%;text-align:center;pointer-events:none}.airborne .tip{display:none}.power-hud{position:absolute;top:162px;left:50%;transform:translateX(-50%);text-align:center;width:200px;text-shadow:0 2px 20px #000a}.power-hud>span{font:8px ui-monospace,monospace;color:#e9ca93;letter-spacing:2px}.power-hud>strong{display:block;font-size:37px;font-weight:450;line-height:1.3}.power-hud small{font-size:13px;margin-left:4px}.power-hud p{font-size:8px;color:#afc2ce}.power-track{height:2px;background:#ffffff22}.power-track>div{height:100%;background:#e9ca93;width:100%}.damage-flash{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 110px #c6462377;opacity:0;transition:opacity .12s}.damage-flash.show{opacity:1}
.controls{position:absolute;left:32px;right:32px;bottom:max(23px,env(safe-area-inset-bottom));display:flex;align-items:flex-end;justify-content:space-between;gap:20px;pointer-events:none;touch-action:none;user-select:none;-webkit-user-select:none}.trick-deck,.right-deck{pointer-events:auto;touch-action:none}.control-caption{margin-bottom:11px}.control-caption>span{display:block;font:6px ui-monospace,monospace;letter-spacing:1.6px;color:#748e9f}.control-caption>b{display:block;font-size:9px;font-weight:450;color:#a7bdca;margin-top:5px}.trick-deck{width:224px}.trick-keys{display:flex;gap:8px}.controls button{pointer-events:auto;user-select:none;touch-action:none}.trick-keys>button{position:relative;width:69px;min-height:80px;border:1px solid #b9d3df33;border-radius:15px;background:linear-gradient(160deg,#1d2e3d80,#091521b3);backdrop-filter:blur(14px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:9px 5px 7px;transition:border-color .12s,background .12s}.trick-keys svg{width:27px;height:27px;fill:none;stroke:#c8dce7;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.trick-keys strong{font-size:12px;font-weight:600;margin-top:4px;color:#e4edf1}.trick-keys small{font-size:6px;letter-spacing:1px;color:#839aa9;margin-top:3px}.trick-keys kbd{position:absolute;right:6px;top:5px;font:7px ui-monospace,monospace;color:#698496}.trick-keys>button.held{border-color:#edbc84b0;background:#95714a4d}.trick-keys>button.held svg{stroke:#f8ce9f}.trick-keys>button.complete{border-color:#a4e6d778}.trick-keys>button.complete svg{stroke:#a4e6d7}.combo-preview{display:flex;align-items:center;justify-content:space-between;gap:7px;border-bottom:1px solid #a9c4d533;padding:10px 2px;margin-top:1px;min-height:48px}.combo-preview b{display:block;font-size:9px;font-weight:650;letter-spacing:.6px;color:#d2e1e9}.combo-preview span{font-size:8px;display:block;margin-top:4px;color:#819cab}.combo-preview>strong{font-size:17px;font-weight:450;color:#e2be94}.combo-preview.held{border-color:#e2be94}.trick-deck>p{font-size:7px;color:#758f9e;margin:8px 0 0;line-height:1.4}.right-deck{width:145px;text-align:center}.right-deck .control-caption{margin-bottom:10px}.drive-pad{position:relative;display:block;width:126px;height:126px;margin:auto;border:1px solid #bad9e74d;border-radius:50%;padding:0;overflow:hidden;touch-action:none;background:radial-gradient(circle,#253e515c,#0a18244d 70%);backdrop-filter:blur(8px)}.drive-pad::before{content:'';position:absolute;inset:8px;border:1px solid #b9d3df12;border-radius:50%;pointer-events:none}.pad-axis{position:absolute;background:#bed9eb1a;pointer-events:none}.pad-axis.horizontal{top:50%;left:14%;width:72%;height:1px}.pad-axis.vertical{left:50%;top:14%;height:72%;width:1px}.pad-label{position:absolute;pointer-events:none;color:#96b3c4;font:6px ui-monospace,monospace;letter-spacing:.6px}.pad-label.up{top:12px;left:0;right:0}.pad-label.down{bottom:11px;left:0;right:0}.pad-label.left{left:13px;top:43%;font-size:18px}.pad-label.right{right:13px;top:43%;font-size:18px}.drive-stick{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:38px;height:38px;border-radius:50%;border:1px solid #b4d2e287;display:grid;place-items:center;background:radial-gradient(circle at 40% 35%,#93acbc44,#1d384a88);box-shadow:0 4px 13px #01070d6b;pointer-events:none}.drive-stick>i{width:5px;height:5px;border:1px solid #d3eaf2b8;border-radius:50%}.drive-pad.active{border-color:#edbc84a8}.drive-pad.boosting{border-color:#c5eaff;box-shadow:0 0 25px #93d1ed24}.boost-button{width:126px;min-height:34px;margin:9px auto 0;border:1px solid #b5d6e44d;border-radius:10px;background:#10253680;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 9px;backdrop-filter:blur(12px)}.boost-button>span{font:6px ui-monospace,monospace;letter-spacing:1px;color:#7f9aac}.boost-button>b{font-size:9px;letter-spacing:1.7px;font-weight:600}.boost-button kbd{font:11px ui-monospace,monospace;color:#b2d5e7}.boosting .boost-button{background:#c5e8f1;color:#0d2735;border-color:#effbff;box-shadow:0 0 35px #9fdef04d}.boosting .boost-button>span,.boosting .boost-button kbd{color:#486576}
.overlay{position:absolute;inset:0;z-index:12;display:grid;place-items:center;padding:22px;background:#030a13b3;backdrop-filter:blur(13px)}.dialog{width:100%;max-width:440px;padding:33px;border:1px solid #b7d3e529;border-radius:18px;background:linear-gradient(150deg,#1c2c39f5,#0d1b29f5);box-shadow:0 25px 100px #0005;max-height:92svh;overflow:auto;scrollbar-width:thin}.dialog h2{font-size:28px;letter-spacing:-1.3px;line-height:1.3;margin:15px 0 18px;font-weight:650}.dialog>p{font-size:12px;line-height:1.8;color:#a1b7c6}.dialog>.start-button{margin-top:24px}.dialog>.text-button{display:block;margin:12px auto 0}.result-label{font:8px ui-monospace,monospace;color:#89a1b1;letter-spacing:2px;display:block;margin-top:25px}.result-score{display:block;font-size:59px;letter-spacing:-3px;font-weight:450;line-height:1.25;font-variant-numeric:tabular-nums}.new-best{font-size:10px;color:#edbc84;margin:5px 0 18px}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:19px 9px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin-top:19px}.result-stats b{font-size:20px;font-weight:450;display:block;font-variant-numeric:tabular-nums}.result-stats span{font-size:8px;color:#7895a8;display:block;margin-top:5px}.dialog>.result-next{color:#d6c2a7;font-size:11px;margin:18px 0 0}.help-panel{max-width:520px}.help-rows p{display:flex;align-items:center;gap:9px;font-size:11px;color:#b8cbd6;line-height:1.7;margin:16px 0}.help-rows p>span:last-child{flex:1}.help-symbol{font-size:22px;color:#e6bf91;min-width:23px}.help-rows kbd{border:1px solid #7992a14d;border-radius:4px;padding:3px 6px;font:10px ui-monospace,monospace;min-width:22px;text-align:center;color:#e6bf91}.dialog>.help-note{font-size:10px;line-height:1.9;border-top:1px solid var(--line);padding-top:16px}.privacy-link{font-size:10px;color:#d8c0a2;display:block;text-align:center;margin:16px 0}.vehicle-specs{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin:20px 0}.vehicle-specs>div{padding:12px 4px;border-bottom:1px solid var(--line)}.vehicle-specs span{font-size:9px;color:#839eaf;display:block}.vehicle-specs b{font-size:14px;font-weight:550;margin-top:5px;display:block}.dialog>.model-note{font-size:10px;line-height:1.8;color:#8fa8ba;margin:14px 0}.charge-modes{display:flex;gap:9px}.charge-modes button{width:50%;text-align:left;padding:12px;border:1px solid #91aebf33;background:#0c1b2959;border-radius:9px}.charge-modes button[aria-pressed=true]{border-color:#edbc84a8;background:#6d55352e}.charge-modes b{font-size:11px;display:block;font-weight:550}.charge-modes span{font-size:9px;color:#88a2b5;display:block;margin-top:5px}.vehicle-panel .privacy-link{margin:11px 0}.vehicle-panel .start-button{margin-top:16px}.unavailable{position:absolute;inset:0;z-index:30;background:#09131ef5;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:32px;text-align:center}.unavailable h2{font-size:26px}.unavailable p,.unavailable a{font-size:13px;line-height:1.8;color:#93aab9}.unavailable .start-button{max-width:280px;margin:20px 0}
@media(max-width:900px){.menu-panel{left:5.5%;width:400px}h1{font-size:41px}h1>span{font-size:100px}.rare-preview{right:4%;bottom:10%;max-width:250px}.live-mark{display:none}.route-strip{font-size:8px;gap:10px}.run-goal{min-width:200px;padding:9px 12px}.score-block{width:158px}.air-block{width:136px}.drive-block{width:128px}.speed>strong{font-size:50px}.trick-deck{width:208px}.trick-keys>button{width:64px;min-height:77px}}
@media(max-width:540px){.topbar{padding:19px 20px}.portal{font-size:7px;letter-spacing:1px}.portal-symbol{width:23px;height:23px;font-size:17px}.icon-button{height:34px;min-width:34px;padding:0 10px}.menu-panel{left:25px;top:15.5%;width:calc(100% - 50px)}.menu-topline{font-size:7px}.title-wrap{margin-top:24px}.kicker{font-size:8px;letter-spacing:2px;margin-bottom:16px}h1{font-size:37px;letter-spacing:-1.8px}h1>span{font-size:101px;letter-spacing:-5px}.intro{font-size:19px;margin:19px 0 11px}.summary{font-size:10px}.start-cluster{margin-top:25px;width:267px;max-width:100%}.menu-bottom{margin-top:21px;max-width:300px}.start-note{font-size:7px}.rare-preview{bottom:11%;left:26px;right:auto;padding-left:13px;max-width:300px}.rare-preview strong{font-size:11px}.rare-preview .eyebrow{font-size:6px}.rare-preview p{font-size:8px}.rare-mini{width:31px;height:43px}.rare-mini>span{font-size:19px}.menu-footer{left:21px;right:21px;bottom:max(16px,env(safe-area-inset-bottom));gap:16px;font-size:6px;letter-spacing:.3px}.menu-footer .text-button{font-size:7px}.fan-label{font-size:5px}.route-strip{top:69px;font-size:7px;gap:10px;opacity:.85}.route-strip b{font-size:8px}.score-block{left:20px;top:103px;width:162px}.score-block>strong{font-size:33px}.score-block>.eyebrow{font-size:6px}.combo-label{font-size:8px;margin-top:5px}.flow-track{width:91px;margin-top:7px}.drive-block{top:102px;right:20px;width:114px}.drive-state{font-size:6px;letter-spacing:1px}.speed>strong{font-size:45px}.speed>span{font-size:7px}.speed-track{margin:8px 0}.condition>span{font-size:7px}.health-track{height:2px}.air-block{left:20px;top:202px;width:139px;padding-left:10px}.air-title{font-size:6px}.air-title b{font-size:11px}.air-track{height:2px;margin:7px 0}.air-details{font-size:7px}#air-status{font-size:6px;margin-top:6px}.run-goal{left:auto;right:20px;top:202px;transform:none;min-width:0;width:160px;padding:9px 10px;gap:8px;border-radius:9px}.run-goal>span{font-size:6px}.run-goal b{font-size:8px;line-height:1.4}.run-goal small{font-size:7px}.controls{left:16px;right:16px;bottom:max(20px,env(safe-area-inset-bottom));gap:15px}.trick-deck{width:183px}.trick-keys{gap:6px}.trick-keys>button{width:57px;min-height:76px;border-radius:13px;padding:8px 3px}.trick-keys svg{width:24px;height:24px}.trick-keys strong{font-size:11px}.trick-keys small{font-size:5px}.trick-keys kbd{font-size:6px;right:5px}.control-caption{margin-bottom:9px}.control-caption>span{font-size:5px;letter-spacing:1.3px}.control-caption>b{font-size:7px}.combo-preview{padding:9px 1px;min-height:47px}.combo-preview b{font-size:8px;letter-spacing:.2px}.combo-preview span{font-size:7px}.combo-preview>strong{font-size:15px}.trick-deck>p{font-size:6px;line-height:1.5}.right-deck{width:127px;flex-shrink:0}.drive-pad{width:112px;height:112px}.drive-stick{width:34px;height:34px}.pad-label{font-size:5px}.pad-label.up{top:11px}.pad-label.down{bottom:11px}.pad-label.left,.pad-label.right{font-size:17px}.boost-button{width:113px;min-height:33px;border-radius:9px;margin-top:8px;gap:6px}.boost-button>span{font-size:5px}.boost-button>b{font-size:8px}.boost-button kbd{font-size:10px}.air-readout{bottom:223px;min-width:160px}.air-readout>span:first-child{font-size:10px;letter-spacing:.7px}.landing-track{width:139px}.air-readout strong,.air-readout>span:last-child{font-size:8px}.trick-banner{top:36%}.trick-banner>span{font-size:16px;letter-spacing:1px}.trick-banner>strong{font-size:29px}.tip{bottom:227px;font-size:9px;padding:8px 12px;max-width:85%;width:max-content}.power-hud{top:285px;width:164px}.power-hud>span{font-size:7px}.power-hud>strong{font-size:31px}.power-hud p{font-size:7px}.overlay{padding:17px}.dialog{padding:25px;max-height:92svh;border-radius:16px}.dialog h2{font-size:25px}.dialog>p{font-size:11px}.result-score{font-size:53px}.result-stats b{font-size:18px}.result-stats span{font-size:7px}.help-rows p{font-size:10px}.dialog>.model-note{font-size:9px}.vehicle-specs span{font-size:8px}.vehicle-specs b{font-size:13px}.charge-modes button{padding:10px}.charge-modes b{font-size:10px}.charge-modes span{font-size:8px}}
@media(max-height:740px) and (max-width:540px){.menu-panel{top:12%}.menu-topline{display:none}.title-wrap{margin-top:0}h1{font-size:31px}h1>span{font-size:84px}.kicker{margin-bottom:13px}.intro{font-size:17px;margin:15px 0 9px}.summary{font-size:9px}.start-cluster{margin-top:20px}.menu-bottom{margin-top:16px}.rare-preview{bottom:8%;transform:scale(.9);transform-origin:left bottom}.topbar{padding-top:14px}.route-strip{top:57px}.score-block,.drive-block{top:85px}.air-block,.run-goal{top:182px}.power-hud{top:250px}.controls{bottom:14px}}
@media(max-height:580px) and (min-width:541px){.menu-panel{top:18%;width:400px}.menu-topline,.rare-preview{display:none}.title-wrap{margin:0}.kicker{margin-bottom:10px}h1{font-size:31px}h1>span{font-size:76px}.intro{font-size:17px;margin:14px 0 8px}.summary{font-size:10px}.start-cluster{margin-top:18px}.menu-bottom{margin-top:16px;max-width:300px}.menu-footer{bottom:9px}.control-caption,.trick-deck>p{display:none}.controls{bottom:12px;left:23px;right:23px}.trick-keys>button{min-height:61px;width:58px}.trick-keys svg{width:22px;height:22px}.trick-keys strong{font-size:10px}.trick-deck{width:190px}.combo-preview{min-height:37px;padding:7px 2px}.right-deck{width:120px}.drive-pad{width:98px;height:98px}.boost-button{width:108px;min-height:29px;margin-top:5px}.air-block{top:181px}.air-readout{bottom:45px}.tip{bottom:145px}.score-block,.drive-block{top:78px}.speed>strong{font-size:44px}.run-goal{top:79px}.power-hud{top:154px}.trick-banner{top:35%}.dialog{max-height:92svh}.overlay{padding:15px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}#speed-fx{display:none}.start-button:hover,.start-button:active{transform:none}.drive-pad.boosting{box-shadow:none}}
/* Contrast stays stable when the photographic sky crosses the instruments. */
.drive-block::before{content:'';position:absolute;inset:-10px -12px;z-index:-1;background:linear-gradient(140deg,#071421a3,#07142150);border:1px solid #c3d8e318;border-radius:13px;backdrop-filter:blur(8px)}.drive-state{color:#c1d4df}.condition>span{color:#b5c9d4}.speed>span{color:#c6d5dd}.score-block{filter:drop-shadow(0 1px 4px #0009)}
.boosting .tip{display:none}

.run-goal.celebrate{border-color:#edbc8466}.run-goal.celebrate b{color:#edbc84}.run-goal.celebrate>i{background:#edbc84}

.air-block{background:#0714216b;border:1px solid #c3d8e324;border-radius:11px;padding:11px 12px;backdrop-filter:blur(8px);width:157px}.air-title{color:#b5cbd5}.air-details{color:#aec4d0}#air-status{color:#9eb5c4}@media(max-width:540px){.air-block{width:140px;padding:9px 10px}.air-title{font-size:7px;letter-spacing:.3px}.air-details{font-size:8px}#air-status{font-size:7px}.control-caption>b{font-size:8px}}

.graphics-note{display:block;color:#839dab;font-size:8px;line-height:1.6;margin-top:9px}@media(max-width:540px){.graphics-note{font-size:7px}}

/* Keep smash feedback below the power timer on both chase-camera layouts. */
.powered .trick-banner{top:274px}
@media(max-width:540px){.powered .trick-banner{top:384px}.powered .trick-banner>span{font-size:12px}.powered .trick-banner>strong{font-size:25px}}
@media(max-height:740px) and (max-width:540px){.powered .trick-banner{top:348px}}
@media(max-height:580px) and (min-width:541px){.powered .trick-banner{top:250px}}

/* The port map reads the same ten actual actuator levels used by physics. */
.air-block{width:198px}.rocket-flow{display:flex;align-items:center;gap:10px;border-top:1px solid #a5ccd125;margin-top:10px;padding-top:8px}.rocket-flow svg{width:57px;height:75px;flex-shrink:0;overflow:visible}.rocket-outline{fill:#9ab7bf0b;stroke:#91aab5;stroke-width:1}.rocket-axis{stroke:#738e9e;stroke-width:.5;stroke-dasharray:2 4;opacity:.5}.jet-dot{fill:#304b58;stroke:#7595a3;stroke-width:.5}.jet-dot.active{fill:#c9f5fa;stroke:#f3ffff;filter:drop-shadow(0 0 2px #9eebff)}.countering .jet-dot.active{fill:#ffdba0;stroke:#fff5d9;filter:drop-shadow(0 0 2px #ffc57d)}.rocket-flow>div{display:flex;flex-direction:column;gap:7px}.rocket-flow span{font-size:7px;color:#8baebd;letter-spacing:1px}.rocket-flow b{font-size:11px;font-weight:500;color:#d6edf2}.rocket-flow small{font-size:7px;color:#8fa9b5;white-space:nowrap}.countering #jet-phase{color:#ffdda0}.powered .rocket-flow{display:none}.powered .air-block{width:157px}
@media(max-width:540px){.air-block{width:170px}.rocket-flow{gap:6px;margin-top:7px;padding-top:6px}.rocket-flow svg{width:47px;height:63px}.rocket-flow>div{gap:6px}.rocket-flow b{font-size:9px}.rocket-flow span{font-size:6px}.rocket-flow small{font-size:6px}.powered .air-block{width:140px}}
@media(max-height:580px) and (min-width:541px){.air-block{width:185px}.rocket-flow{gap:5px;margin-top:5px;padding-top:4px}.rocket-flow svg{width:40px;height:49px}.rocket-flow>div{gap:4px}.rocket-flow b{font-size:9px}}

@media(max-width:540px){.trick-banner{top:367px}}
@media(max-height:740px) and (max-width:540px){.trick-banner{top:347px}}

/* One-thumb flight wheel: eight analog rays, orbital yaw, held central catch. */
.trick-deck{width:206px}.orbit-pad{display:block;position:relative;width:176px;height:176px;border:1px solid #b7d5df60;border-radius:50%;background:radial-gradient(circle,#214053a6 0 22%,#09192399 23% 62%,#b4dfe514 63% 71%,#0b1c27b3 72%);backdrop-filter:blur(10px);padding:0;isolation:isolate}.orbit-pad::before{content:'';position:absolute;inset:15px;border:1px dashed #a5ccd131;border-radius:50%;pointer-events:none}.orbit-rim{position:absolute;top:-7px;right:18px;font-size:24px;color:#c5dfe6aa;transform:rotate(25deg);pointer-events:none}.orbit-ray{position:absolute;left:50%;top:50%;width:29%;height:1px;background:#adcbd22e;transform-origin:left center;transform:rotate(var(--ray)) translateX(31px);pointer-events:none}.orbit-ray.active{height:2px;background:#ebc18e;box-shadow:0 0 9px #f6c88599}.orbit-direction{position:absolute;font-size:8px;color:#a4bec9;pointer-events:none}.orbit-direction.north{top:22px;left:0;right:0}.orbit-direction.south{bottom:21px;left:0;right:0}.orbit-direction.west{top:48%;left:15px}.orbit-direction.east{top:48%;right:11px}.orbit-hub{position:absolute;inset:calc(50% - 27px);width:54px;height:54px;border-radius:50%;border:1px solid #c4dce75e;background:#172f40de;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;z-index:2;pointer-events:none}.orbit-hub b{font-size:12px;font-weight:550;color:#deebee}.orbit-hub small{font:6px ui-monospace,monospace;letter-spacing:.7px;color:#99b3c1}.orbit-stick{position:absolute;left:50%;top:50%;width:18px;height:18px;transform:translate(-50%,-50%);border:1px solid #dcf3f8;border-radius:50%;box-shadow:0 0 14px #aeecf14d;background:#d1ecf226;pointer-events:none;z-index:3;opacity:0}.orbit-pad.active .orbit-stick{opacity:1}.orbit-pad.active{border-color:#ecc38d}.orbit-mode{display:block;font:7px ui-monospace,monospace;color:#8faebd;letter-spacing:.4px;margin-top:10px;min-height:10px}.trick-deck .combo-preview{min-height:42px;padding:8px 1px}.catching .orbit-pad{border-color:#f3c388;box-shadow:0 0 24px #f7b56726}.catching .orbit-hub{border-color:#ffddac;background:#8f643b99}.catching .orbit-mode{color:#ffd39a}.catch-window .orbit-hub{border-color:#b9edbb;box-shadow:0 0 14px #b1efbe66}.catch-window .orbit-hub b{color:#c4f5cb}.perfect-ready .orbit-pad{border-color:#c4f5cb;box-shadow:0 0 23px #b9edbb44}.perfect-result{display:flex;align-items:baseline;gap:9px;font:8px ui-monospace,monospace;color:#a7c9bc;border-block:1px solid #b8ddcb26;padding:10px 0}.perfect-result b{font-size:20px;color:#d4f7cb}.perfect-result span{font:8px system-ui,sans-serif;color:#8fa8ab;margin-left:auto}.air-readout{bottom:264px}.tip{bottom:264px}
@media(max-width:900px){.trick-deck{width:190px}.orbit-pad{width:164px;height:164px}}
@media(max-width:540px){.trick-deck{width:183px}.orbit-pad{width:150px;height:150px}.orbit-hub{inset:calc(50% - 24px);width:48px;height:48px}.orbit-hub b{font-size:11px}.orbit-hub small{font-size:5px}.orbit-direction{font-size:7px}.orbit-direction.north{top:18px}.orbit-direction.south{bottom:18px}.orbit-direction.west{left:11px}.orbit-direction.east{right:8px}.orbit-ray{width:27%;transform:rotate(var(--ray)) translateX(27px)}.orbit-mode{font-size:6px;margin-top:8px;letter-spacing:0}.trick-deck .combo-preview{min-height:38px;padding:7px 1px}.trick-deck>p{font-size:6px}.air-readout{bottom:284px}.tip{bottom:288px}}
@media(max-height:740px) and (max-width:540px){.orbit-pad{width:130px;height:130px}.orbit-direction.north{top:13px}.orbit-direction.south{bottom:13px}.air-readout{bottom:261px}}
@media(max-height:580px) and (min-width:541px){.orbit-pad{width:124px;height:124px}.orbit-direction.north{top:12px}.orbit-direction.south{bottom:12px}.orbit-mode{margin-top:6px}.trick-deck{width:175px}.trick-deck .combo-preview{min-height:30px;padding:5px 1px}.air-readout{bottom:60px}.tip{bottom:185px}}

.orbit-ray[data-sector="0"]{--ray:0deg}.orbit-ray[data-sector="1"]{--ray:45deg}.orbit-ray[data-sector="2"]{--ray:90deg}.orbit-ray[data-sector="3"]{--ray:135deg}.orbit-ray[data-sector="4"]{--ray:180deg}.orbit-ray[data-sector="5"]{--ray:225deg}.orbit-ray[data-sector="6"]{--ray:270deg}.orbit-ray[data-sector="7"]{--ray:315deg}

/* Input hints follow the device actually used; key presses share the flight readout. */
.input-note{display:block;font-size:10px;line-height:1.7;color:#c5d6df;margin-top:12px}.keyboard-help{border-bottom:1px solid var(--line);padding-bottom:16px}.keyboard-help b{color:#edbc84;font-weight:550}.orbit-pad.spinning .orbit-rim{color:#ffd39a;text-shadow:0 0 10px #f6c88599}[data-input="keyboard"] .orbit-rim{font:9px ui-monospace,monospace;top:4px;right:17px;transform:none}[data-input="keyboard"] #flight-hint{color:#e6c69e}[data-input="keyboard"] #flight-sequence{font-size:9px;color:#bdcdd7}[data-input="keyboard"] .orbit-direction{font-size:9px}
@media(max-width:540px){.input-note{font-size:8px;margin-top:9px}[data-input="keyboard"] #flight-sequence{font-size:7px}[data-input="keyboard"] .orbit-direction{font-size:7px}}

/* Owner-approved product name; compact three-line lockup keeps controls in view. */
h1.game-title{font-size:34px;line-height:1.1;letter-spacing:-1.4px}h1.game-title>span{font-size:70px;line-height:1.15;font-style:normal;letter-spacing:-4px;margin:5px 0 0}h1.game-title>small{display:block;font-size:23px;font-weight:550;letter-spacing:2.5px;margin-top:10px;color:#c1d0d9}
@media(max-width:900px){h1.game-title>span{font-size:64px}}
@media(max-width:540px){h1.game-title{font-size:28px}h1.game-title>span{font-size:48px;letter-spacing:-2.8px}h1.game-title>small{font-size:19px;letter-spacing:1.5px;margin-top:8px}}

/* Guided first flight uses the actual controls and keeps the road and nozzle readout visible. */
.lesson-dialog{max-width:480px}.lesson-inputs{display:flex;gap:9px;margin:20px 0}.lesson-inputs button{flex:1;min-width:0;min-height:72px;text-align:left;padding:13px 12px;border:1px solid #91aebf44;background:#0c1b2959;border-radius:10px}.lesson-inputs button[aria-pressed=true]{border-color:#edbc84;background:#6d553541}.lesson-inputs b{display:block;font-size:13px;font-weight:650}.lesson-inputs span{display:block;margin-top:8px;font-size:9px;line-height:1.5;color:#9eb4c2}.lesson-steps{list-style:none;counter-reset:flight;display:grid;grid-template-columns:1fr 1fr;gap:14px 12px;padding:0;margin:24px 0}.lesson-steps li{display:flex;align-items:center;gap:8px;font-size:11px;line-height:1.5;color:#c7d7df;counter-increment:flight}.lesson-steps li::before{content:counter(flight,decimal-leading-zero);font:10px ui-monospace,monospace;color:#edbc84;border-bottom:1px solid #edbc8455;padding-bottom:3px}.dialog>.lesson-note{font-size:10px;color:#8fa9ba;line-height:1.8}.lesson-earned{padding:17px 0;border-block:1px solid #b8ddcb26;display:flex;align-items:center;gap:15px;margin:22px 0}.lesson-earned strong{font-size:32px;font-weight:550;color:#c3f1c3}.lesson-earned span{font-size:10px;line-height:1.7;color:#b2c9bb}.lesson-coach{position:absolute;left:50%;top:85px;transform:translateX(-50%);width:min(440px,calc(100% - 36px));z-index:9;padding:12px 17px 14px;border:1px solid #ddbc8f66;border-radius:14px;background:#102330ed;box-shadow:0 10px 35px #0004;backdrop-filter:blur(15px)}.lesson-topline{display:flex;align-items:center;justify-content:space-between;gap:14px}.lesson-topline>span{font:8px ui-monospace,monospace;letter-spacing:1px;color:#b8cbd5}.lesson-topline b{font-weight:500;color:#edbc84}.lesson-topline button{border:0;background:none;color:#9db3c0;font-size:9px;min-height:32px;padding:6px 0 6px 12px}.lesson-coach h2{font-size:21px;line-height:1.25;letter-spacing:-.7px;margin:3px 0 8px;font-weight:650}.lesson-coach>p{font-size:12px;line-height:1.6;color:#c1d1dc;min-height:38px;margin:0;word-break:keep-all}.lesson-meter{height:3px;border-radius:5px;overflow:hidden;background:#c7dbe22b;margin:12px 0 10px}.lesson-meter>div{height:100%;width:0;background:#edbc84}.lesson-bottom{display:flex;align-items:center;gap:11px;min-height:24px}.lesson-bottom>b{font:11px ui-monospace,monospace;letter-spacing:.4px;color:#ffd29d;white-space:nowrap}.lesson-bottom>span{font-size:9px;color:#92adbd;line-height:1.5}.is-tutorial .score-block,.is-tutorial .run-goal,.is-tutorial .air-readout,.is-tutorial .trick-banner,.is-tutorial .tip{display:none!important}.is-tutorial #boost-button{opacity:.35}.is-tutorial[data-lesson=jump] #drive-pad,.is-tutorial[data-lesson=thrust] #orbit-pad,.is-tutorial[data-lesson=release] #orbit-pad{border-color:#f6ca91;box-shadow:0 0 0 4px #f4c68c20,0 0 27px #edbc844d}.is-tutorial[data-lesson=thrust] .orbit-direction.north{color:#ffd6a0;font-weight:750}.is-tutorial[data-lesson=catch] .lesson-coach{border-color:#b7ebba}.is-tutorial[data-lesson=catch] .orbit-hub{background:#416954;border-color:#c8f3c4;box-shadow:0 0 0 5px #c2f3be2b,0 0 25px #b1efbe66}.is-tutorial[data-lesson=catch] #lesson-key{color:#c8f3c4}.is-tutorial[data-lesson=catch] .lesson-meter>div{background:#b7ebba}
@media(max-width:900px) and (min-width:541px){.lesson-coach{width:350px}.lesson-coach>p{font-size:11px}}
@media(max-width:540px){.lesson-coach{top:87px;padding:10px 13px 13px}.lesson-coach h2{font-size:20px}.lesson-coach>p{font-size:11px;min-height:35px}.lesson-topline>span{font-size:7px}.lesson-bottom>b{font-size:10px}.lesson-bottom>span{font-size:8px}.is-tutorial .air-block,.is-tutorial .drive-block{top:286px}.is-tutorial .air-block{width:170px}.lesson-steps{gap:12px 9px}.lesson-steps li{font-size:10px}.lesson-inputs b{font-size:12px}.lesson-inputs span{font-size:8px}}
@media(max-height:740px) and (max-width:540px){.lesson-coach{top:72px}.is-tutorial .air-block,.is-tutorial .drive-block{top:257px}.is-tutorial .rocket-flow svg{width:35px;height:47px}.is-tutorial .rocket-flow small{font-size:5px}}
@media(max-height:580px) and (min-width:541px){.lesson-coach{top:73px;left:calc(50% + 10px);width:330px;padding:7px 12px 10px}.lesson-coach h2{font-size:18px;margin:0 0 5px}.lesson-coach>p{font-size:10px;min-height:30px}.lesson-meter{margin:7px 0}.lesson-bottom>span{font-size:8px}.lesson-topline button{min-height:25px}.is-tutorial .air-block{top:173px}}
.lesson-coach:focus-visible{outline:1px solid #edbc8466;outline-offset:3px}.is-tutorial[data-lesson=catch] .lesson-coach:focus-visible{outline-color:#b7ebba66}
.flight-lessons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:17px 0}.flight-lessons button{position:relative;min-height:71px;padding:12px 12px 11px 34px;text-align:left;border:1px solid #a4c1d22b;border-radius:9px;background:#0a1d2b66}.flight-lessons button[aria-pressed=true]{border-color:#edbc84;background:#6d553541}.flight-lessons button>span{position:absolute;left:12px;top:14px;font:9px ui-monospace,monospace;color:#dcb78a}.flight-lessons b{display:block;font-size:12px;font-weight:600}.flight-lessons small{display:block;margin-top:8px;font-size:9px;color:#9eb4c2}.lesson-earned{flex-wrap:wrap;gap:8px 15px}.lesson-earned span{font-variant-numeric:tabular-nums}.is-tutorial[data-lesson=mix] #orbit-pad{border-color:#f6ca91;box-shadow:0 0 0 4px #f4c68c20,0 0 27px #edbc844d}.is-tutorial[data-lesson=mix] .orbit-direction.north,.is-tutorial[data-lesson=mix] .orbit-direction.east{color:#ffd6a0}.is-tutorial[data-lesson=mix] #orbit-guide{display:block}.orbit-guide{display:none;position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.orbit-guide path{fill:none;stroke:#ffd29a;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px #dfad73)}[data-input=keyboard] #orbit-guide{display:none!important}.is-tutorial[data-course="2"][data-lesson=mix] .orbit-guide .guide-diagonal{display:none}.is-tutorial:not([data-course="2"]) .orbit-guide .guide-arc{display:none}
@media(max-width:540px){.flight-lessons button{padding-left:30px;min-height:65px}.flight-lessons button>span{left:10px}.flight-lessons b{font-size:11px}.flight-lessons small{font-size:8px}.lesson-earned strong{font-size:30px}}
@media(min-width:701px) and (max-width:900px){.lesson-coach{width:330px;left:calc(50% + 40px)}}
@media(min-width:541px) and (max-width:700px){.is-tutorial .air-block,.is-tutorial .drive-block{display:none}.lesson-coach{width:min(440px,calc(100% - 36px))}}
@media(max-height:580px) and (min-width:701px){.lesson-coach{left:calc(50% + 10px)}.is-tutorial .air-block{top:79px;width:150px;padding:8px 10px}.is-tutorial .rocket-flow{display:none}}
@media(max-height:740px) and (max-width:540px){.is-tutorial .rocket-flow small:last-child{display:none}.is-tutorial .rocket-flow{margin-top:4px;padding-top:4px}.is-tutorial .rocket-flow svg{height:38px;width:30px}.is-tutorial .rocket-flow>div{gap:4px}}
