:root{color-scheme:dark;--ink:#080e18;--paper:#f1f3ed;--muted:#83929e;--line:rgba(215,232,241,.16);--acid:#d7ff62;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;--sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:var(--ink);color:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--acid);outline-offset:5px}button:disabled{cursor:wait}button{touch-action:manipulation}a{color:inherit;text-decoration:none}[hidden]{display:none!important}#world{position:fixed;inset:0;overflow:hidden}#world canvas{display:block;width:100%;height:100%}.scene-vignette{position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(5,11,19,.54),transparent 25%,transparent 70%,rgba(5,11,19,.68));z-index:1}main{position:relative;z-index:2}.topbar{position:fixed;top:0;left:0;right:0;height:112px;padding:0 52px;display:flex;align-items:center;justify-content:space-between;z-index:15;pointer-events:none}.topbar>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:34px;height:34px;color:var(--acid)}.brand-text{font-size:22px;letter-spacing:.06em;font-weight:750;line-height:1.1}.brand-text>span{color:var(--acid);font-weight:400}.brand-text small{display:block;font-family:var(--mono);font-size:8px;font-weight:400;letter-spacing:.22em;color:#a6b3bc;margin-top:8px}.range-id{position:absolute;left:50%;transform:translateX(-50%);font-family:var(--mono);font-size:9px;letter-spacing:.1em;white-space:nowrap;color:#a7b2bb;display:flex;align-items:center;gap:12px}.live-dot{width:5px;height:5px;border-radius:50%;background:var(--acid);box-shadow:0 0 10px rgba(215,255,98,.45);animation:livePulse 3s ease infinite}.range-slash{opacity:.4;margin:0 2px}.top-actions{display:flex;gap:12px}.icon-btn{display:flex;align-items:center;gap:9px;min-height:38px;background:rgba(11,20,30,.25);border:1px solid var(--line);padding:9px 11px;transition:border-color .2s,background .2s}.icon-btn:hover{border-color:rgba(215,255,98,.5);background:rgba(215,255,98,.06)}.icon-btn svg{width:16px;height:16px}.button-label{font:8px var(--mono);letter-spacing:.12em}.start-screen{position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(5,12,21,.87),rgba(5,12,21,.61) 28%,rgba(5,12,21,.12) 52%,transparent 72%)}.intro-content{position:absolute;top:50%;left:8%;width:440px;transform:translateY(-48%);pointer-events:auto}.eyebrow{font:9px var(--mono);letter-spacing:.15em;color:var(--acid);display:flex;align-items:center;gap:10px}.section-tick{height:7px;width:7px;background:var(--acid)}.eyebrow-divider{height:8px;width:1px;background:#68744f;margin:0 2px}h1{font-size:clamp(42px,4.7vw,70px);font-weight:700;letter-spacing:-.055em;line-height:1.38;margin:26px 0 23px;white-space:nowrap}h1>span{color:var(--acid)}.intro-lead{font-size:17px;letter-spacing:.07em;margin:0 0 15px;font-weight:600}.intro-description{font-size:12px;line-height:2;color:#95a4af;letter-spacing:.05em;margin:0}.difficulty-block{margin-top:31px;width:352px}.field-label{font-family:var(--mono);font-size:8px;letter-spacing:.14em;font-weight:400;color:var(--muted)}.field-label>span{font-family:var(--sans);font-size:9px;letter-spacing:.02em;margin-left:10px;color:#83909a}.difficulty-switch{display:flex;margin-top:12px;border:1px solid var(--line);padding:4px;background:rgba(8,16,25,.36)}.difficulty-option{display:flex;align-items:center;gap:9px;flex:1;padding:11px 11px;text-align:left;background:none;border:1px solid transparent;font:9px var(--mono);letter-spacing:.08em;color:#a4aeb6;transition:background .2s,color .2s,border-color .2s}.difficulty-option small{display:block;margin-top:5px;font:9px var(--sans);letter-spacing:.03em;color:#7e8c95}.difficulty-option.active,.difficulty-option[aria-pressed=true]{border-color:rgba(215,255,98,.22);background:rgba(215,255,98,.075);color:var(--acid)}.difficulty-option.active small,.difficulty-option[aria-pressed=true] small{color:#a1af91}.option-dot{width:5px;height:5px;border:1px solid #6b777e;border-radius:50%}.difficulty-option.active .option-dot,.difficulty-option[aria-pressed=true] .option-dot{border-color:var(--acid);background:var(--acid)}.primary-btn{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;min-height:58px;border:1px solid var(--acid);background:var(--acid);color:#172012;padding:0 22px;font-size:13px;font-weight:700;letter-spacing:.05em;transition:background .2s,box-shadow .2s,transform .2s}.primary-btn:hover{background:#e3ff93;box-shadow:0 0 35px rgba(215,255,98,.13)}.primary-btn:active{transform:translateY(1px)}.primary-btn:disabled{background:#8fa64e;border-color:#8fa64e;color:#263020;opacity:.72}.primary-btn>svg{height:22px;width:22px}.primary-btn>span:last-child:not(:first-child){font-size:24px;font-weight:400}.start-btn{width:352px;margin-top:14px}.start-btn>span:first-child{font-size:13px}.load-status{font:9px var(--sans);color:#71808b;letter-spacing:.05em;margin:12px 0 0;height:14px}.entry-caption{position:absolute;right:7%;bottom:21%;font:9px/1.8 var(--mono);letter-spacing:.18em;color:#b0b9bd;display:flex;align-items:flex-start;gap:13px}.caption-rule{display:block;width:33px;height:1px;background:var(--acid);margin-top:7px}.intro-controls{position:absolute;left:8%;bottom:100px;display:flex;gap:27px;align-items:center}.control-shortcut{display:flex;align-items:center;gap:9px;color:#8d9ba5;font-size:9px;letter-spacing:.04em}.key-pair{display:flex;gap:4px}kbd{display:inline-flex;justify-content:center;align-items:center;min-width:21px;height:22px;padding:0 5px;border:1px solid rgba(170,188,199,.23);border-bottom-color:rgba(170,188,199,.4);border-radius:3px;font:9px var(--mono);color:#b4c0c9;background:rgba(13,23,34,.4);white-space:nowrap}.bottom-bar{position:fixed;bottom:0;left:0;right:0;z-index:15;display:flex;align-items:center;justify-content:space-between;height:66px;padding:0 52px;pointer-events:none}.bottom-bar>span{font:7px var(--mono);letter-spacing:.12em;color:#637580}.footer-dot{padding:0 9px;color:#a2b172}.help-btn{pointer-events:auto;display:flex;align-items:center;gap:9px;border:0;background:none;padding:8px 0;color:#9caab3;font-size:10px;letter-spacing:.05em}.help-btn:hover{color:var(--acid)}.help-circle{width:17px;height:17px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font:10px var(--mono)}.hud{position:fixed;inset:0;pointer-events:none}.run-progress{position:absolute;top:139px;left:52px;width:250px}.progress-topline{display:flex;align-items:center;justify-content:space-between;font:9px var(--mono);letter-spacing:.1em;color:#b7c6ce}.progress-topline>b{font-weight:400}.metric-unit{font-size:9px;color:#84939d}.progress-track{margin-top:12px;background:rgba(174,197,208,.13);height:2px;overflow:hidden}#progress-fill{width:0;height:100%;background:var(--acid);box-shadow:0 0 10px rgba(215,255,98,.4);transition:width .15s linear}.progress-bottomline{display:flex;justify-content:space-between;margin-top:8px;font:7px var(--mono);letter-spacing:.16em;color:#647783}.speed-cluster{position:absolute;bottom:115px;left:52px;width:222px}.speed-reading{display:flex;align-items:baseline;gap:12px;margin-top:7px}#speed-value{font:300 77px/1 var(--sans);letter-spacing:-.07em;font-variant-numeric:tabular-nums}.speed-unit{font:10px var(--mono);color:#94a6b0;letter-spacing:.08em}.speed-underline{height:2px;background:linear-gradient(90deg,var(--acid) 0%,var(--acid) 26%,rgba(158,180,193,.2) 26%);margin:20px 0}.small-metrics{display:flex;gap:0}.small-metrics>div{display:flex;flex-direction:column;gap:10px;flex:1}.small-metrics>div+div{padding-left:24px;border-left:1px solid var(--line)}.small-metrics strong{font:20px var(--mono);letter-spacing:-.03em;font-variant-numeric:tabular-nums}.small-metrics strong small{font-size:10px;margin-left:4px;color:#9caeb8}.flight-cluster{position:absolute;right:52px;top:50%;width:142px;transform:translateY(-38%)}.flight-label{text-align:center;white-space:nowrap;font-size:7px}.attitude-gauge{position:relative;width:120px;height:120px;margin:20px auto 14px;border:1px solid rgba(168,193,204,.28);border-radius:50%;padding:6px;background:rgba(6,17,26,.22)}.attitude-window{width:100%;height:100%;position:relative;border-radius:50%;overflow:hidden;border:1px solid rgba(168,193,204,.12)}#attitude-indicator{position:absolute;inset:-60%;transform:rotate(0deg);will-change:transform}.horizon-upper,.horizon-lower{position:absolute;left:0;right:0;height:50%}.horizon-upper{top:0;background:rgba(111,157,168,.13)}.horizon-lower{bottom:0;background:rgba(8,17,27,.42)}.horizon-line{position:absolute;top:50%;width:100%;height:1px;background:rgba(179,208,215,.55)}.pitch-line{position:absolute;width:20px;height:1px;background:rgba(179,208,215,.45);left:calc(50% - 10px)}.pitch-line.upper{top:calc(50% - 17px)}.pitch-line.lower{top:calc(50% + 17px)}.aircraft-reticle{position:absolute;inset:0;color:var(--acid);width:100%;height:100%}.gauge-tick{position:absolute;background:#b4c9d0}.tick-top{width:1px;height:6px;left:50%;top:-4px}.tick-left{width:6px;height:1px;left:-4px;top:50%}.tick-right{width:6px;height:1px;right:-4px;top:50%}.attitude-values{display:flex;justify-content:space-between;font:7px var(--mono);color:#8295a0;letter-spacing:.04em}.attitude-values b{font-weight:400;color:#c0d0d7;margin-left:4px}.altitude-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:22px;padding-top:19px}.altitude-row strong{font:25px var(--mono);letter-spacing:-.06em}.altitude-row small{font:9px var(--mono);margin-left:4px;color:#8497a2}.battery-row{display:flex;align-items:center;justify-content:space-between;margin-top:25px}.energy-symbol{color:var(--acid);font-size:18px;line-height:1}.battery-track{height:4px;background:rgba(152,180,194,.16);margin-top:10px;overflow:hidden}#battery-fill{width:100%;height:100%;background:var(--acid);transition:width .12s linear}.playing-controls{position:absolute;bottom:79px;left:50%;transform:translateX(-50%);display:flex;gap:19px;white-space:nowrap;font-size:9px;color:#9aabb4;letter-spacing:.03em}.playing-controls>span{display:flex;align-items:center;gap:4px}.playing-controls kbd{height:19px;min-width:18px;font-size:8px}.playing-controls kbd:last-of-type{margin-right:3px}.center-reticle{position:absolute;top:45%;left:50%;width:14px;height:14px;opacity:.35;transform:translate(-50%,-50%)}.center-reticle i{position:absolute;width:4px;height:4px;border-color:#deeee7;border-style:solid}.center-reticle i:nth-child(1){top:0;left:0;border-width:1px 0 0 1px}.center-reticle i:nth-child(2){top:0;right:0;border-width:1px 1px 0 0}.center-reticle i:nth-child(3){bottom:0;left:0;border-width:0 0 1px 1px}.center-reticle i:nth-child(4){bottom:0;right:0;border-width:0 1px 1px 0}.toast{position:fixed;top:24%;left:50%;transform:translate(-50%,-8px);color:var(--acid);background:rgba(9,21,29,.82);border:1px solid rgba(215,255,98,.25);padding:13px 21px;font:11px var(--sans);letter-spacing:.07em;pointer-events:none;opacity:0;transition:opacity .2s,transform .2s;z-index:20;white-space:nowrap;backdrop-filter:blur(10px)}.toast.show,.toast.visible{opacity:1;transform:translate(-50%,0)}.toast:empty{display:none}.modal-layer{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;background:rgba(3,10,17,.73);backdrop-filter:blur(14px);padding:24px;overflow:auto}.modal-card{width:420px;max-width:100%;padding:36px;background:linear-gradient(145deg,rgba(19,33,43,.97),rgba(8,18,29,.98));border:1px solid rgba(166,193,205,.22);box-shadow:0 35px 100px rgba(0,0,0,.3);position:relative}.modal-card:before{position:absolute;content:"";top:-1px;left:36px;width:38px;height:2px;background:var(--acid)}h2{font-size:28px;line-height:1.45;letter-spacing:-.05em;margin:27px 0 13px;font-weight:650}.modal-description{font-size:12px;line-height:1.9;color:#9cabb5;margin:0 0 29px}.modal-card .primary-btn{min-height:54px}.secondary-btn{width:100%;display:flex;justify-content:space-between;align-items:center;min-height:52px;margin-top:10px;border:1px solid var(--line);background:rgba(255,255,255,.02);font-size:12px;letter-spacing:.03em;padding:0 18px;color:#aebec8}.secondary-btn:hover{background:rgba(255,255,255,.05);color:white}.modal-footnote{font:7px var(--mono);letter-spacing:.13em;color:#6f838f;display:flex;gap:7px;justify-content:center;align-items:center;margin-top:23px}.modal-footnote kbd{height:16px;min-width:16px;font-size:7px}.result-card{width:460px}.result-score-wrap{display:flex;flex-direction:column;gap:9px;padding:23px 0 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}#result-score{color:var(--acid);font:400 58px/1 var(--mono);letter-spacing:-.08em}.result-stats{display:flex;margin:26px 0 31px;gap:25px;justify-content:space-between}.result-stats>div{display:flex;flex-direction:column;gap:11px}.result-stats .field-label{font-size:7px;letter-spacing:.08em}.result-stats strong{font:20px var(--mono);letter-spacing:-.04em}.result-stats small{font-size:9px;color:#91a4af;margin-left:4px}.help-card{width:500px}.help-heading{display:flex;align-items:center;justify-content:space-between}.close-btn{background:none;border:0;color:#98a9b4;font-size:25px;line-height:1;padding:0 3px}.close-btn:hover{color:var(--acid)}.help-controls{border-top:1px solid var(--line)}.help-controls>div{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line);font-size:11px;color:#afbdc5;gap:20px}.help-controls>div>span:first-child{display:flex;gap:5px;align-items:center}.help-tip{margin-top:24px;display:flex;align-items:center;gap:9px;color:#afba9d;font-size:10px;line-height:1.7}.tip-dot{width:4px;height:4px;background:var(--acid);flex-shrink:0}.touch-controls{position:fixed;left:20px;right:20px;bottom:76px;z-index:25;display:flex;justify-content:space-between;pointer-events:none;user-select:none;-webkit-user-select:none}.touch-controls button{pointer-events:auto;touch-action:none;min-height:46px;min-width:48px;border:1px solid rgba(176,201,211,.27);background:rgba(11,25,36,.7);color:#d5e0e5;backdrop-filter:blur(6px);font-size:14px}.touch-controls button:active,.touch-controls button.active{background:rgba(215,255,98,.22);border-color:var(--acid);color:var(--acid)}.touch-steering,.touch-flight{display:grid;grid-template-columns:repeat(2,48px);gap:7px}.touch-flight{grid-template-columns:repeat(2,57px)}.touch-flight button{font-size:10px}.touch-flight .touch-thrust{background:rgba(215,255,98,.83);border-color:var(--acid);color:#182015;font-size:13px}.touch-flight .touch-stabilize{color:var(--acid)}@keyframes livePulse{0%,100%{opacity:1}50%{opacity:.4}}
@media(min-width:1600px){.intro-content{left:9%;width:500px}.difficulty-block,.start-btn{width:380px}.intro-controls{left:9%}.intro-lead{font-size:19px}.intro-description{font-size:13px}.topbar{height:128px}.entry-caption{right:9%;bottom:23%}}
@media(max-height:800px) and (min-width:801px){.topbar{height:92px}.intro-content{top:49%;transform:translateY(-46%)}h1{font-size:52px;margin:18px 0}.intro-description{font-size:11px}.difficulty-block{margin-top:23px}.primary-btn{min-height:52px}.intro-controls{bottom:78px}.bottom-bar{height:53px}.entry-caption{bottom:24%}.run-progress{top:117px}.playing-controls{bottom:67px}.speed-cluster{bottom:103px}}
@media(max-height:650px) and (min-width:801px){h1{font-size:40px;margin:14px 0}.intro-content{top:49%;left:7%;transform:translateY(-44%)}.intro-lead{font-size:14px;margin-bottom:8px}.intro-description{font-size:10px;line-height:1.8}.difficulty-block{margin-top:17px}.difficulty-option{padding:8px 11px}.difficulty-option small{font-size:8px}.difficulty-switch{margin-top:8px}.primary-btn{min-height:46px}.start-btn{margin-top:10px}.load-status{margin-top:8px}.intro-controls{left:7%;bottom:65px}.topbar{height:80px}.entry-caption{bottom:20%}.flight-cluster{transform:translateY(-30%);width:130px;top:39%}.attitude-gauge{width:95px;height:95px;margin:15px auto 12px}.altitude-row{margin-top:17px;padding-top:13px}.battery-row{margin-top:18px}.run-progress{top:100px}.speed-cluster{bottom:96px}.speed-reading #speed-value{font-size:63px}.modal-card{padding:26px}.modal-card h2{margin-top:18px}.modal-card .modal-description{margin-bottom:18px}.result-score-wrap{padding:16px 0}.result-stats{margin:20px 0}.help-controls>div{padding:10px 0}}
@media(max-width:1000px){.topbar{padding:0 32px}.bottom-bar{padding:0 32px}.range-id{font-size:8px}.button-label{display:none}.icon-btn{padding:9px}.intro-content{left:7%}.intro-controls{left:7%;gap:18px}.entry-caption{right:5%;font-size:8px}.run-progress{left:32px;width:210px}.speed-cluster{left:32px;width:180px}.flight-cluster{right:32px;width:126px}.playing-controls{gap:11px;font-size:8px}.playing-controls kbd{font-size:7px}.small-metrics>div+div{padding-left:16px}}
@media(max-width:800px){.topbar{height:88px;padding:0 25px}.brand-text{font-size:19px}.brand-mark{width:29px}.brand{gap:10px}.brand-text small{font-size:7px;margin-top:6px}.range-id{display:none}.top-actions{gap:7px}.icon-btn{min-height:33px;padding:8px}.icon-btn svg{width:14px;height:14px}.intro-content{left:7%;width:390px;top:49%;transform:translateY(-45%)}h1{font-size:52px;margin:23px 0}.intro-lead{font-size:15px}.intro-description{font-size:11px}.difficulty-block,.start-btn{width:330px}.intro-controls{bottom:90px;gap:20px}.control-shortcut{font-size:8px;gap:7px}.control-shortcut:last-child{display:none}.entry-caption{display:none}.bottom-bar{padding:0 25px;height:58px}.bottom-bar>span{font-size:6px;letter-spacing:.08em}.footer-dot{padding:0 5px}.help-btn{font-size:9px}.start-screen{background:linear-gradient(90deg,rgba(5,12,21,.86),rgba(5,12,21,.57) 42%,rgba(5,12,21,.1) 85%)}.run-progress{top:112px;left:25px;width:190px}.speed-cluster{bottom:106px;left:25px;width:160px}#speed-value{font-size:60px}.speed-unit{font-size:8px}.speed-underline{margin:15px 0}.small-metrics strong{font-size:17px}.flight-cluster{right:25px;width:113px;top:48%;transform:translateY(-30%)}.attitude-gauge{width:100px;height:100px;margin:17px auto 12px}.flight-label{font-size:6px}.field-label{font-size:7px}.attitude-values{font-size:6px}.attitude-values b{margin-left:2px}.altitude-row{margin-top:17px;padding-top:15px}.altitude-row strong{font-size:21px}.battery-row{margin-top:19px}.playing-controls{bottom:71px;gap:8px;font-size:7px}.playing-controls kbd{font-size:6px;min-width:15px;height:17px;padding:0 3px}.playing-controls>span{gap:3px}}
@media(max-width:600px){.topbar{height:76px;padding:0 20px}.brand-text{font-size:17px;letter-spacing:.055em}.brand-text small{font-size:6px;letter-spacing:.17em}.brand-mark{width:25px;height:27px}.brand{gap:8px}.intro-content{left:25px;width:calc(100% - 50px);top:auto;bottom:127px;transform:none}.eyebrow{font-size:7px;letter-spacing:.1em;gap:8px}.section-tick{width:5px;height:5px}.eyebrow-divider{height:7px}.start-screen{background:linear-gradient(0deg,rgba(5,12,21,.98),rgba(5,12,21,.8) 40%,rgba(5,12,21,.13) 82%)}h1{font-size:clamp(39px,10.7vw,58px);line-height:1.35;margin:18px 0 17px}.intro-lead{font-size:13px;letter-spacing:.04em;margin-bottom:11px}.intro-description{font-size:10px;line-height:1.8;color:#91a2ae}.difficulty-block{margin-top:23px}.difficulty-block,.start-btn{width:100%;max-width:360px}.difficulty-option{padding:10px 13px;font-size:8px}.difficulty-option small{font-size:8px}.start-btn{min-height:51px;margin-top:12px}.start-btn>span:first-child{font-size:12px}.load-status{font-size:8px;margin-top:10px}.intro-controls{left:25px;bottom:80px;gap:18px}.control-shortcut{font-size:7px;gap:5px}kbd{font-size:8px;min-width:19px;height:20px}.bottom-bar{height:52px;padding:0 20px}.bottom-bar>span{max-width:220px;line-height:1.6;font-size:5px;letter-spacing:.08em}.help-btn{font-size:8px;gap:6px}.help-circle{width:15px;height:15px;font-size:9px}.run-progress{top:95px;left:20px;width:170px}.progress-topline{font-size:8px}.progress-track{margin-top:10px}.progress-bottomline{font-size:6px}.speed-cluster{left:20px;bottom:203px;width:128px}#speed-value{font-size:51px}.speed-reading{gap:8px}.speed-unit{font-size:7px}.speed-underline{margin:12px 0}.small-metrics strong{font-size:14px}.small-metrics>div{gap:7px}.small-metrics>div+div{padding-left:13px}.small-metrics .field-label{font-size:6px}.flight-cluster{right:20px;top:auto;bottom:205px;transform:none;width:91px}.flight-label{font-size:5px}.attitude-gauge{width:80px;height:80px;padding:5px;margin:13px auto 10px}.attitude-values{font-size:5px}.attitude-values b{margin-left:2px}.altitude-row{margin-top:12px;padding-top:12px}.altitude-row .field-label{font-size:6px}.altitude-row strong{font-size:19px}.altitude-row small{font-size:7px}.battery-row{margin-top:11px}.battery-row .field-label{font-size:5px;letter-spacing:.07em}.battery-track{margin-top:6px;height:3px}.energy-symbol{font-size:14px}.playing-controls{display:none}.touch-controls{left:20px;right:20px;bottom:70px}.toast{font-size:10px;max-width:calc(100vw - 40px);white-space:normal;text-align:center;top:24%;padding:12px 16px}.modal-layer{padding:20px}.modal-card{padding:28px}.modal-card:before{left:28px}h2{font-size:25px;margin-top:24px}.modal-description{font-size:11px;line-height:1.9}.help-controls>div{font-size:9px;gap:10px;padding:12px 0}.help-controls>div>span:first-child{gap:4px}.help-controls kbd{font-size:7px;min-width:18px;height:19px}.help-tip{font-size:9px}.result-stats{gap:16px}.result-stats strong{font-size:17px}.result-stats .field-label{font-size:6px}#result-score{font-size:51px}}
@media(max-width:600px) and (max-height:750px){.intro-content{bottom:111px}h1{font-size:41px;line-height:1.3;margin:14px 0}.intro-lead{margin-bottom:8px}.intro-description{font-size:9px;line-height:1.75}.difficulty-block{margin-top:17px}.difficulty-switch{margin-top:9px}.difficulty-option{padding:9px 11px}.start-btn{min-height:47px;margin-top:10px}.intro-controls{bottom:69px}.bottom-bar{height:47px}.speed-cluster{bottom:194px}.flight-cluster{bottom:193px}}
@media(hover:none) and (pointer:coarse){.intro-controls{display:none}.intro-content{bottom:90px}.playing-controls{display:none}.help-btn{padding:12px 0}.touch-controls button{border-radius:4px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Runtime state hooks. */
.icon-btn{font:9px var(--mono);letter-spacing:.06em}.icon-btn:disabled{opacity:.35;cursor:default}.toast:not([hidden]):not(:empty){opacity:1;transform:translate(-50%,0)}#hull-value{font-size:13px;letter-spacing:1px;color:var(--acid)}.touch-controls{display:none}.touch-controls button.held{background:rgba(215,255,98,.22);border-color:var(--acid);color:var(--acid)}body.playing:after{content:"";position:fixed;inset:0;pointer-events:none;box-shadow:inset 0 0 180px rgba(255,74,51,var(--damage,0));z-index:4}@media(hover:none) and (pointer:coarse){.touch-controls{display:flex}}

@media(max-width:600px){.touch-controls{display:flex}}

/* Vector-flight interface. */
.camera-btn{font:10px var(--sans);letter-spacing:.02em;white-space:nowrap;gap:8px}.camera-btn kbd{height:19px;min-width:18px;font-size:9px;background:none;border-color:rgba(215,255,98,.3);color:var(--acid)}.camera-btn[aria-pressed=true]{color:var(--acid);border-color:rgba(215,255,98,.5)}
.intro-content{width:450px}.intro-content h1{font-size:clamp(44px,4.3vw,66px);line-height:1.22;margin:20px 0}.intro-lead{font-size:17px;margin-bottom:12px}.intro-description{font-size:12px;line-height:1.85}.mode-block{margin-top:22px;width:352px}.mode-switch{display:flex;gap:8px;margin-top:10px}.mode-option{display:grid;grid-template-columns:18px 1fr;align-items:center;gap:3px 7px;flex:1;min-height:48px;padding:9px 11px;background:rgba(8,17,26,.4);border:1px solid var(--line);text-align:left;font-size:11px;color:#b6c1c8;white-space:nowrap}.mode-option>span{grid-row:1/3;font:9px var(--mono);color:#607782}.mode-option small{grid-column:2;font-size:9px;letter-spacing:.02em;color:#7e939f}.mode-option.active,.mode-option[aria-pressed=true]{border-color:rgba(215,255,98,.55);background:rgba(215,255,98,.08);color:var(--acid)}.mode-option.active>span,.mode-option[aria-pressed=true]>span{color:var(--acid)}.mode-option:hover{border-color:rgba(215,255,98,.4)}.difficulty-block{margin-top:17px}.difficulty-switch{margin-top:9px}.difficulty-option{padding:9px 10px}.intro-controls{gap:19px;flex-wrap:wrap;max-width:760px}.control-shortcut{font-size:10px;gap:7px}.control-shortcut:last-child{display:flex}.intro-controls kbd{font-size:9px}.entry-caption{bottom:23%}.field-label{font-size:10px;letter-spacing:.11em}.field-label>span{font-size:10px}.button-label{font-size:9px}.progress-topline{font-size:10px}.progress-bottomline{font-size:8px}.flight-label{font-size:9px}.attitude-values{font-size:9px}.flight-cluster{width:160px;transform:translateY(-39%)}.battery-row{margin-top:20px}.battery-row .field-label{font-size:9px;letter-spacing:.08em}.pressure-value{font:12px var(--mono);color:var(--acid);margin-left:6px}.dynamic-metrics{display:grid;grid-template-columns:1fr 1fr;margin-top:18px;border-top:1px solid var(--line);padding-top:15px;gap:12px}.dynamic-metrics>div{display:flex;flex-direction:column;gap:7px}.dynamic-metrics>div+div{border-left:1px solid var(--line);padding-left:16px}.dynamic-metrics strong{font:17px var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.04em}.dynamic-metrics .field-label{font-size:8px}.playing-controls{gap:15px;font-size:10px;bottom:76px}.playing-controls kbd{font-size:9px;height:21px;min-width:20px}.maneuver-label{position:absolute;bottom:124px;left:50%;transform:translateX(-50%);font:9px var(--mono);letter-spacing:.24em;color:var(--acid);padding:7px 13px;border:1px solid rgba(215,255,98,.22);background:rgba(8,19,27,.42);white-space:nowrap}.thruster-cluster{position:absolute;left:52px;top:205px;width:112px}.thruster-heading{display:flex;justify-content:space-between;align-items:center;gap:6px}.thruster-heading .field-label{font-size:9px;letter-spacing:.07em}#jet-count{font:9px var(--mono);color:var(--acid);white-space:nowrap}.thruster-map{position:relative;width:88px;height:128px;margin:13px auto 8px}.thruster-body{position:absolute;top:9%;bottom:9%;left:25%;right:25%;border:1px solid rgba(191,215,221,.3);border-radius:15px 15px 10px 10px;background:linear-gradient(180deg,rgba(169,195,204,.05),rgba(169,195,204,.12));clip-path:polygon(12% 0,88% 0,100% 18%,96% 93%,80% 100%,20% 100%,4% 93%,0 18%)}.thruster-cabin{position:absolute;top:30%;left:16%;right:16%;height:29%;border:1px solid rgba(191,215,221,.22);border-radius:7px 7px 3px 3px;background:rgba(9,20,29,.7)}.thruster-axis{position:absolute;top:0;bottom:0;left:50%;border-left:1px dashed rgba(191,215,221,.13)}.thruster-map>span{position:absolute;width:5px;height:8px;border:1px solid rgba(132,160,172,.5);background:rgba(132,160,172,.08);transform:translate(-50%,-50%);transition:background .06s,box-shadow .06s}.thruster-map>span.active,.thruster-map>span.firing,.thruster-map>span[data-active=true]{background:var(--acid);border-color:#edffb1;box-shadow:0 0 8px var(--acid),0 0 16px rgba(215,255,98,.35)}.thruster-map>span:nth-of-type(1){left:30%;top:7%}.thruster-map>span:nth-of-type(2){left:43%;top:7%}.thruster-map>span:nth-of-type(3){left:57%;top:7%}.thruster-map>span:nth-of-type(4){left:70%;top:7%}.thruster-map>span:nth-of-type(5){left:18%;top:27%}.thruster-map>span:nth-of-type(6){left:18%;top:43%}.thruster-map>span:nth-of-type(7){left:18%;top:59%}.thruster-map>span:nth-of-type(8){left:18%;top:75%}.thruster-map>span:nth-of-type(9){left:82%;top:27%}.thruster-map>span:nth-of-type(10){left:82%;top:43%}.thruster-map>span:nth-of-type(11){left:82%;top:59%}.thruster-map>span:nth-of-type(12){left:82%;top:75%}.thruster-map>span:nth-of-type(13){left:30%;top:93%}.thruster-map>span:nth-of-type(14){left:43%;top:93%}.thruster-map>span:nth-of-type(15){left:57%;top:93%}.thruster-map>span:nth-of-type(16){left:70%;top:93%}.thruster-map>span:nth-of-type(n+5):nth-of-type(-n+12){width:8px;height:5px}.thruster-caption{text-align:center;font:7px var(--mono);letter-spacing:.14em;color:#8197a2}.cockpit-hud{position:absolute;left:50%;top:47%;width:264px;transform:translate(-50%,-50%);color:#dcffa1;text-shadow:0 0 8px rgba(163,255,83,.3);opacity:.85}.cockpit-horizon-frame{height:80px;position:relative;overflow:hidden}.cockpit-horizon-frame>svg{position:absolute;inset:0;width:100%;height:100%}.cockpit-horizon{position:absolute;top:50%;left:50%;width:176px;height:66px;transform:translate(-50%,-50%)}.cockpit-horizon i{position:absolute;left:50%;transform:translateX(-50%);height:1px;border-top:1px solid rgba(220,255,161,.5)}.cockpit-horizon i:nth-child(1){top:0;width:24px}.cockpit-horizon i:nth-child(2){top:50%;width:176px;border-top-style:dashed;opacity:.45}.cockpit-horizon i:nth-child(3){bottom:0;width:24px}.cockpit-readings{display:flex;justify-content:center;gap:28px;margin-top:8px}.cockpit-readings>div{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:50px}.cockpit-readings strong{font:20px var(--mono);font-variant-numeric:tabular-nums}.cockpit-readings span{font:7px var(--mono);letter-spacing:.15em}.footer-actions{display:flex;gap:24px;align-items:center;pointer-events:auto}.source-icon{font-size:16px;line-height:1}.source-card{width:520px}.source-section{margin-top:24px}.source-section h3{font-size:12px;font-weight:600;letter-spacing:.03em;margin:0 0 12px;color:#dbe5e9}.source-section p{font-size:12px;line-height:1.9;color:#a6b9c3;margin:0 0 12px}.source-section a{display:flex;align-items:center;justify-content:space-between;color:var(--acid);font:10px var(--mono);padding:10px 0 13px;border-bottom:1px solid var(--line);margin-bottom:18px}.source-section a:hover{text-decoration:underline}.simulation-note{border-left:2px solid rgba(215,255,98,.6);padding-left:16px}.simulation-note p:last-child{margin-bottom:0}.source-date{font:7px var(--mono);letter-spacing:.08em;color:#708996;margin-top:25px;line-height:1.8}.help-card,.source-card{max-height:calc(100dvh - 48px);overflow:auto;scrollbar-width:thin;scrollbar-color:#526752 transparent}.help-card h2{margin-top:20px}.help-card .modal-description{margin-bottom:18px}.help-controls>div{padding:9px 0;font-size:11px}.help-tip{font-size:11px;margin-top:18px}.touch-steering,.touch-flight{grid-template-columns:repeat(2,52px);gap:5px}.touch-controls button{min-height:38px;min-width:52px;font-size:12px}.touch-flight button{font-size:10px}.touch-flight .touch-thrust{font-size:12px}.touch-flight .touch-boost{color:var(--acid);border-color:rgba(215,255,98,.5)}
@media(min-width:1600px){.mode-block{width:380px}.intro-controls{max-width:850px;gap:24px}.thruster-cluster{top:222px}.intro-content h1{font-size:70px}}
@media(max-width:1200px){.range-id{display:none}.playing-controls{gap:10px;font-size:9px}.playing-controls kbd{font-size:8px;min-width:18px}.intro-controls{gap:14px}.control-shortcut{font-size:9px}}
@media(max-height:800px) and (min-width:801px){.intro-content{top:49%;transform:translateY(-47%)}.intro-content h1{font-size:48px;margin:16px 0;line-height:1.17}.intro-lead{font-size:15px;margin-bottom:9px}.intro-description{font-size:11px;line-height:1.8}.mode-block{margin-top:16px}.mode-option{min-height:42px;padding:7px 10px}.mode-switch{margin-top:7px}.difficulty-block{margin-top:14px}.difficulty-option{padding:8px 10px}.intro-controls{bottom:74px}.field-label{font-size:9px}.thruster-cluster{top:178px}.flight-cluster{top:49%;transform:translateY(-35%)}.attitude-gauge{width:102px;height:102px;margin-top:15px}.dynamic-metrics{margin-top:14px;padding-top:11px}.playing-controls{bottom:66px}.maneuver-label{bottom:110px}}
@media(max-height:680px) and (min-width:801px){.intro-content{top:49%;transform:translateY(-43%)}.intro-content h1{font-size:36px;margin:12px 0}.intro-lead{font-size:13px;margin-bottom:7px}.intro-description{font-size:10px;line-height:1.65}.mode-block{margin-top:12px}.mode-option{min-height:36px;padding:5px 10px;font-size:10px}.mode-option small{font-size:8px}.difficulty-block{margin-top:10px}.difficulty-option{padding:6px 10px}.difficulty-switch{margin-top:6px}.primary-btn{min-height:43px}.start-btn{margin-top:9px}.load-status{margin-top:8px;font-size:8px}.intro-controls{bottom:61px}.control-shortcut{font-size:8px}.intro-controls kbd{height:18px;font-size:8px}.thruster-cluster{top:158px;width:100px}.thruster-map{height:108px;width:76px;margin-top:10px}.flight-cluster{top:43%;width:145px}.attitude-gauge{width:88px;height:88px;margin:12px auto 10px}.altitude-row{margin-top:12px;padding-top:10px}.battery-row{margin-top:14px}.dynamic-metrics{margin-top:12px;padding-top:10px}.speed-cluster{bottom:94px}.maneuver-label{bottom:100px}.playing-controls{font-size:8px;gap:8px;bottom:61px}.playing-controls kbd{font-size:7px;height:18px}}
@media(max-width:1000px){.thruster-cluster{left:32px}.flight-cluster{right:32px;width:142px}.intro-controls{max-width:670px}.control-shortcut:last-child{display:none}.playing-controls{max-width:80%;flex-wrap:wrap;justify-content:center;gap:7px 12px}.playing-controls>span{font-size:8px}}
@media(max-width:800px){.intro-content{width:390px}.intro-content h1{font-size:48px}.mode-block{width:330px;margin-top:18px}.difficulty-block{margin-top:14px}.intro-controls{gap:13px;max-width:580px}.control-shortcut:nth-child(n+5){display:none}.control-shortcut:last-child{display:none}.field-label{font-size:9px}.flight-label{font-size:8px}.attitude-values{font-size:8px}.thruster-cluster{left:25px;top:175px;width:102px}.flight-cluster{right:25px;width:128px}.altitude-row .field-label{font-size:8px}.battery-row .field-label{font-size:8px}.pressure-value{font-size:10px}.dynamic-metrics .field-label{font-size:7px}.dynamic-metrics strong{font-size:15px}.footer-actions{gap:18px}.playing-controls>span{font-size:8px}.camera-btn{font-size:9px}.camera-btn kbd{font-size:8px;min-width:16px;height:17px}.cockpit-hud{width:230px}.cockpit-readings strong{font-size:18px}}
@media(max-width:600px){.topbar{padding:0 16px;height:72px}.brand{gap:7px}.brand-text{font-size:15px}.brand-text small{font-size:5px}.brand-mark{width:23px}.top-actions{gap:5px}.icon-btn{min-height:32px;padding:7px}.camera-btn{font-size:9px;gap:5px}.camera-btn kbd{font-size:7px;min-width:14px;height:15px}.intro-content{left:24px;width:calc(100% - 48px);bottom:105px}.intro-content h1{font-size:44px;line-height:1.17;margin:14px 0}.intro-lead{font-size:14px;margin-bottom:9px}.intro-description{font-size:11px;line-height:1.8}.mode-block,.difficulty-block,.start-btn{width:100%;max-width:360px}.mode-block{margin-top:17px}.mode-switch{margin-top:8px;gap:7px}.mode-option{min-height:42px;font-size:11px;padding:7px 10px}.mode-option small{font-size:9px}.difficulty-block{margin-top:13px}.difficulty-switch{margin-top:8px}.difficulty-option{font-size:9px;padding:8px 10px}.difficulty-option small{font-size:9px}.field-label,.field-label>span{font-size:9px}.start-btn{min-height:49px;margin-top:11px}.intro-controls{bottom:67px;left:24px;gap:17px}.control-shortcut{font-size:9px}.control-shortcut:nth-child(4){display:flex}.intro-controls kbd{font-size:8px}.load-status{font-size:9px;margin-top:10px}.bottom-bar{padding:0 17px;height:48px}.bottom-bar>span{max-width:146px;font-size:5px}.footer-actions{gap:14px}.help-btn{font-size:9px;gap:5px}.source-icon{font-size:14px}.run-progress{top:90px;left:20px;width:158px}.progress-topline{font-size:9px}.progress-bottomline{font-size:7px}.thruster-cluster{top:145px;left:20px;width:90px}.thruster-heading .field-label,#jet-count{font-size:8px}.thruster-map{width:67px;height:94px;margin-top:9px;margin-bottom:6px}.thruster-caption{font-size:6px;letter-spacing:.06em}.speed-cluster{bottom:210px;width:130px}.speed-cluster>.field-label{font-size:8px}.small-metrics .field-label{font-size:8px}.small-metrics strong{font-size:14px}.flight-cluster{right:20px;top:auto;bottom:210px;width:112px;transform:none}.flight-label{font-size:7px}.attitude-gauge{width:77px;height:77px;margin:12px auto 10px}.attitude-values{font-size:7px}.attitude-values b{margin-left:2px}.altitude-row{margin-top:12px;padding-top:10px}.altitude-row .field-label{font-size:8px}.altitude-row strong{font-size:21px}.battery-row{margin-top:12px}.battery-row .field-label{font-size:7px;letter-spacing:.02em}.pressure-value{font-size:10px}.battery-track{height:4px;margin-top:8px}.dynamic-metrics{margin-top:12px;padding-top:10px;gap:8px}.dynamic-metrics>div{gap:5px}.dynamic-metrics>div+div{padding-left:10px}.dynamic-metrics strong{font-size:14px}.dynamic-metrics .field-label{font-size:7px}.touch-controls{bottom:65px;left:19px;right:19px}.touch-steering,.touch-flight{grid-template-columns:repeat(2,49px);gap:5px}.touch-controls button{min-width:49px;min-height:36px}.maneuver-label{bottom:72px;max-width:116px;white-space:normal;text-align:center;font-size:8px;letter-spacing:.08em;line-height:1.6;padding:6px 7px}.cockpit-hud{top:44%;width:200px}.cockpit-readings{gap:13px;margin-top:3px}.cockpit-readings strong{font-size:16px}.cockpit-readings span{font-size:6px}.modal-layer{padding:16px}.help-card,.source-card{max-height:calc(100dvh - 32px);padding:23px}.help-card h2,.source-card h2{font-size:23px;margin-top:20px}.help-controls>div{font-size:10px;padding:10px 0;gap:8px}.help-controls kbd{font-size:8px;min-width:19px;height:21px}.help-controls>div>span:last-child{text-align:right;line-height:1.6}.help-tip{font-size:10px;line-height:1.8}.source-section{margin-top:20px}.source-section p{font-size:11px;line-height:1.9}.source-section a{font-size:9px;line-height:1.7}.source-date{font-size:6px}.playing-controls{display:none}}
@media(max-width:600px) and (max-height:750px){.intro-content{bottom:91px}.intro-content h1{font-size:35px;margin:11px 0;line-height:1.16}.intro-lead{font-size:12px;margin-bottom:7px}.intro-description{font-size:10px;line-height:1.65}.mode-block{margin-top:12px}.mode-switch{margin-top:6px}.mode-option{min-height:37px;padding:5px 9px;font-size:10px}.mode-option small{font-size:8px}.difficulty-block{margin-top:10px}.difficulty-switch{margin-top:6px}.difficulty-option{padding:6px 9px;font-size:8px}.difficulty-option small{font-size:8px}.start-btn{min-height:43px;margin-top:9px}.load-status{font-size:8px;margin-top:8px}.intro-controls{bottom:60px}.speed-cluster,.flight-cluster{bottom:199px}.thruster-map{height:82px;width:60px}.thruster-cluster{top:140px}.flight-cluster{width:104px}.attitude-gauge{width:64px;height:64px;margin-top:10px}.dynamic-metrics{margin-top:9px;padding-top:8px}.touch-controls{bottom:59px}.touch-controls button{min-height:34px}.maneuver-label{bottom:64px}.cockpit-hud{top:41%}}
@media(hover:none) and (pointer:coarse){.intro-controls{display:none}.intro-content{bottom:77px}.playing-controls{display:none}.touch-controls{display:flex}}

.cockpit-view .speed-cluster,.cockpit-view .flight-cluster{display:none}

/* Freestyle: easy-to-find tricks, unobstructed cockpit sightline. */
.intro-content h1{font-size:clamp(39px,3.9vw,58px);line-height:1.25;letter-spacing:-.065em;margin:18px 0}.intro-lead{font-size:15px;letter-spacing:.025em}.intro-description{font-size:12px;line-height:1.85}.intro-drive-keys{display:flex;align-items:center;gap:15px;margin-top:16px}.intro-drive-keys>span{display:flex;align-items:center;gap:6px;font:9px var(--mono);letter-spacing:.03em;color:#c9d9dc;white-space:nowrap}.intro-drive-keys kbd{color:var(--acid);border-color:rgba(215,255,98,.35);background:rgba(215,255,98,.06);height:24px;min-width:24px;font-size:10px}.mode-block{margin-top:18px}.difficulty-option{font-size:10px;letter-spacing:.06em}.difficulty-option small{font-size:10px}.entry-caption{bottom:22%}.combo-chip{position:absolute;top:128px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:15px;min-width:210px;max-width:310px;padding:12px 18px;border:1px solid rgba(198,220,226,.17);border-top-color:rgba(215,255,98,.48);background:linear-gradient(110deg,rgba(10,24,32,.74),rgba(10,24,32,.3));backdrop-filter:blur(7px);pointer-events:none}.combo-count{display:flex;flex-direction:column;align-items:center;gap:4px;padding-right:15px;border-right:1px solid var(--line)}#combo-value{font:400 32px/1 var(--mono);color:var(--acid);letter-spacing:-.06em;font-variant-numeric:tabular-nums}.combo-count>span{font:7px var(--mono);letter-spacing:.2em;color:#8dabb6}.combo-detail{display:flex;flex-direction:column;gap:8px;min-width:0}#combo-label{font:9px var(--mono);letter-spacing:.08em;color:#dce7e9;max-width:205px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-counter{font:8px var(--mono);letter-spacing:.15em;color:#78939e}#queue-value{font-weight:400;color:var(--acid);margin-left:8px}.combo-chip.active,.combo-chip[data-active=true]{border-color:rgba(215,255,98,.44);box-shadow:0 0 28px rgba(215,255,98,.055)}.drive-guide{position:absolute;bottom:108px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:11px;white-space:nowrap;padding:4px 0;color:#b5c7ce;pointer-events:none}.drive-guide>span{display:flex;align-items:center;gap:5px;font:9px var(--mono);letter-spacing:.06em}.drive-guide kbd{height:20px;min-width:20px;color:var(--acid);border-color:rgba(215,255,98,.3);font-size:9px}.drive-guide>i{height:9px;width:1px;background:var(--line)}.drive-guide small{font-size:9px;letter-spacing:.03em;color:#6f8b98;margin-left:2px}.maneuver-label{bottom:147px;padding:6px 11px;font-size:8px;letter-spacing:.15em}.help-flow{display:flex;justify-content:space-between;align-items:center;gap:9px;padding:12px 0 16px;margin-bottom:5px;color:#9cb1ba;font-size:10px}.help-flow>span{display:flex;align-items:center;gap:6px}.help-flow b{font:9px var(--mono);color:var(--acid)}.help-flow>i{font-style:normal;color:#496674}.touch-flight .touch-trick{background:rgba(132,164,73,.2);border-color:rgba(215,255,98,.45);color:var(--acid);font:11px var(--mono);line-height:1.2}.touch-trick small{display:block;margin-top:2px;font:8px var(--sans);color:#bdcbaa}.cockpit-view .playing-controls{display:none}.cockpit-view .drive-guide{bottom:65px;color:#d5e3e5}.cockpit-view .drive-guide small{color:#a1b5bf}.cockpit-view .maneuver-label{bottom:101px;background:rgba(8,19,27,.65)}.cockpit-view .cockpit-hud{top:29%;width:190px;opacity:.7}.cockpit-view .cockpit-horizon-frame{height:46px}.cockpit-view .cockpit-horizon{width:130px;height:48px;top:calc(50% - 24px);left:calc(50% - 65px);transform:none;transform-origin:center}.cockpit-view .cockpit-horizon i:nth-child(2){width:130px}.cockpit-view .cockpit-readings{gap:18px;margin-top:1px}.cockpit-view .cockpit-readings strong{font-size:15px}.cockpit-view .cockpit-readings span{font-size:6px;letter-spacing:.1em}.cockpit-view .cockpit-readings>div{min-width:40px;gap:3px}.cockpit-view .center-reticle{display:none}.cockpit-view .thruster-cluster{opacity:.72}.cockpit-view .combo-chip{top:112px;background:rgba(8,20,29,.48);padding:9px 14px}.cockpit-view #combo-value{font-size:26px}
@media(min-width:1600px){.intro-content h1{font-size:65px}.intro-drive-keys{gap:20px}.intro-drive-keys>span{font-size:10px}.combo-chip{top:144px}.cockpit-view .combo-chip{top:132px}}
@media(max-height:800px) and (min-width:801px){.intro-content h1{font-size:43px;margin:14px 0;line-height:1.2}.intro-lead{font-size:13px;margin-bottom:8px}.intro-description{font-size:11px;line-height:1.75}.intro-drive-keys{margin-top:12px;gap:13px}.intro-drive-keys>span{font-size:8px}.intro-drive-keys kbd{height:21px;min-width:21px;font-size:9px}.mode-block{margin-top:13px}.difficulty-option{font-size:9px}.difficulty-option small{font-size:9px}.combo-chip{top:111px;padding:10px 15px;min-width:195px}#combo-value{font-size:28px}.drive-guide{bottom:98px}.maneuver-label{bottom:132px}.cockpit-view .combo-chip{top:100px}.cockpit-view .cockpit-hud{top:29%}}
@media(max-height:680px) and (min-width:801px){.intro-content h1{font-size:34px;margin:10px 0;line-height:1.16}.intro-lead{font-size:12px;margin-bottom:6px}.intro-description{font-size:10px;line-height:1.65}.intro-drive-keys{margin-top:9px;gap:11px}.intro-drive-keys>span{font-size:8px}.intro-drive-keys kbd{height:19px;min-width:19px;font-size:8px}.mode-block{margin-top:10px}.combo-chip{top:95px;padding:8px 12px;min-width:184px}.combo-count{padding-right:12px}#combo-value{font-size:25px}.combo-detail{gap:6px}#combo-label{font-size:8px}.combo-count>span{font-size:6px}.drive-guide{bottom:88px}.maneuver-label{bottom:122px}.cockpit-view .combo-chip{top:88px}.cockpit-view .drive-guide{bottom:55px}.cockpit-view .maneuver-label{bottom:88px}.cockpit-view .cockpit-hud{top:29%}}
@media(max-width:800px){.intro-content h1{font-size:43px}.intro-lead{font-size:13px}.intro-drive-keys{gap:12px}.intro-drive-keys>span{font-size:8px}.intro-drive-keys kbd{min-width:22px;height:22px}.combo-chip{top:108px;min-width:190px;padding:9px 12px;gap:12px}#combo-label{font-size:8px}.combo-count{padding-right:12px}#combo-value{font-size:27px}.drive-guide{bottom:102px}.drive-guide small{display:none}.maneuver-label{bottom:138px}.cockpit-view .combo-chip{top:97px}.cockpit-view .cockpit-hud{top:31%}}
@media(max-width:600px){.intro-content h1{font-size:40px;margin:13px 0;line-height:1.22}.intro-lead{font-size:12px;letter-spacing:.01em;margin-bottom:8px}.intro-description{font-size:10px;line-height:1.8}.intro-drive-keys{gap:11px;margin-top:12px;flex-wrap:nowrap}.intro-drive-keys>span{font-size:8px;gap:5px;letter-spacing:0}.intro-drive-keys kbd{min-width:21px;height:21px;font-size:9px}.mode-block{margin-top:15px}.difficulty-option{font-size:9px}.difficulty-option small{font-size:9px}.combo-chip{left:auto;right:18px;top:89px;transform:none;min-width:0;width:146px;max-width:146px;padding:9px 10px;gap:9px}.combo-count{padding-right:9px;gap:4px}#combo-value{font-size:25px}.combo-count>span{font-size:5px;letter-spacing:.15em}.combo-detail{gap:7px;flex:1}#combo-label{font-size:7px;letter-spacing:.02em;max-width:77px}.queue-counter{font-size:7px;letter-spacing:.05em}#queue-value{margin-left:4px}.drive-guide{bottom:192px;gap:9px;padding:4px 8px;background:rgba(8,20,29,.3)}.drive-guide>span{font-size:8px}.drive-guide kbd{height:18px;min-width:18px;font-size:8px}.maneuver-label{bottom:79px;max-width:115px;font-size:7px;letter-spacing:.06em;padding:5px 6px}.help-flow{gap:5px;font-size:8px;padding:11px 0 14px}.help-flow>span{gap:4px}.help-flow b{font-size:8px}.help-controls>div>span:last-child{font-size:9px}.touch-flight .touch-trick{font-size:10px;padding:3px 0}.touch-trick small{font-size:7px;margin-top:1px}.cockpit-view .combo-chip{top:87px;padding:9px 10px}.cockpit-view #combo-value{font-size:25px}.cockpit-view .cockpit-hud{top:29%;width:165px;opacity:.66}.cockpit-view .cockpit-horizon-frame{height:39px}.cockpit-view .cockpit-readings{gap:13px;margin-top:0}.cockpit-view .cockpit-readings strong{font-size:13px}.cockpit-view .cockpit-readings span{font-size:5px}.cockpit-view .cockpit-readings>div{min-width:35px}.cockpit-view .thruster-cluster{opacity:.5}.cockpit-view .drive-guide{bottom:192px;background:rgba(8,20,29,.35)}.cockpit-view .maneuver-label{bottom:80px}.cockpit-view .drive-guide small{display:none}}
@media(max-width:600px) and (max-height:750px){.intro-content h1{font-size:32px;line-height:1.2;margin:10px 0}.intro-lead{font-size:11px;margin-bottom:6px}.intro-description{font-size:9px;line-height:1.7}.intro-drive-keys{margin-top:9px;gap:10px}.intro-drive-keys>span{font-size:7px}.intro-drive-keys kbd{min-width:19px;height:19px;font-size:8px}.mode-block{margin-top:11px}.difficulty-option{font-size:8px}.difficulty-option small{font-size:8px}.drive-guide,.cockpit-view .drive-guide{bottom:180px}.maneuver-label,.cockpit-view .maneuver-label{bottom:69px}.cockpit-view .cockpit-hud{top:31%}}
@media(max-width:350px){.intro-content h1{font-size:34px}.intro-drive-keys{gap:8px}.intro-drive-keys>span{font-size:7px;gap:4px}.intro-lead{font-size:11px}.combo-chip{width:123px;max-width:123px;right:14px;padding:8px;gap:7px}.combo-count{padding-right:7px}#combo-label{max-width:63px;font-size:6px}.run-progress{width:145px;left:15px}.cockpit-view .combo-chip{padding:8px}.help-flow{font-size:7px}.help-flow b{display:none}}

/* The Blender dashboard carries speed/altitude/pressure in cockpit view. */
.cockpit-view .cockpit-readings,.cockpit-view .thruster-cluster{display:none}.cockpit-view .cockpit-hud{opacity:.4}

@media(max-width:600px){.drive-guide,.cockpit-view .drive-guide{bottom:156px;gap:8px;padding:4px 6px}.drive-guide>span{font-size:7px}}
@media(max-width:600px) and (max-height:750px){.drive-guide,.cockpit-view .drive-guide{bottom:145px}}
@media(max-width:350px){.drive-guide,.cockpit-view .drive-guide{display:none}}

/* Drive / jump / replay: four primary controls, a compact playback transport. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.intro-content h1{font-size:clamp(38px,3.6vw,52px);line-height:1.24;letter-spacing:-.065em}.intro-drive-keys{gap:15px}.intro-drive-keys>span{font:10px var(--sans);color:#cbd9df;gap:5px;letter-spacing:.02em}.intro-drive-keys kbd{font:10px var(--mono)}.intro-lead{font-size:15px;letter-spacing:.03em}.intro-description{font-size:12px}.queue-counter{display:none!important}.combo-chip{min-width:190px}.combo-detail{justify-content:center}#combo-label{font-size:9px;line-height:1.6;letter-spacing:.04em}.combo-count>span{font-size:7px}.playing-controls{gap:19px;bottom:76px}.drive-guide{display:none}.maneuver-label{bottom:118px}.cockpit-view .drive-guide{display:flex;bottom:64px;gap:10px}.cockpit-view .drive-guide>span{font-size:9px}.cockpit-view .drive-guide small{font-size:9px}.cockpit-view .maneuver-label{bottom:101px}.help-flow{font-size:10px}.help-replay{margin-top:22px;border-top:1px solid var(--line);padding-top:18px}.help-replay strong{font-size:12px;font-weight:500;color:#dae5e8}.help-replay p{font-size:11px;color:#8fa7b4;line-height:1.9;margin:9px 0 0}.end-run-btn{border-color:rgba(215,255,98,.24);color:#b9cca7}.end-run-btn>span{color:var(--acid);font-size:20px}.result-card,.pause-card{max-height:calc(100dvh - 48px);overflow:auto;scrollbar-width:thin;scrollbar-color:#526752 transparent}.replay-result-btn{margin-top:0}.replay-result-btn:disabled{cursor:default}.replay-availability{font-size:10px;line-height:1.7;color:#8098a6;margin:10px 0 15px;min-height:17px}.result-card .secondary-btn{margin-top:0}.replay-panel{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);width:min(680px,calc(100% - 48px));z-index:30;background:linear-gradient(135deg,rgba(13,28,39,.95),rgba(6,17,27,.97));border:1px solid rgba(184,207,218,.24);border-top-color:rgba(215,255,98,.5);box-shadow:0 15px 45px rgba(0,0,0,.3);padding:16px 20px 18px;backdrop-filter:blur(14px);pointer-events:auto}.replay-topline{display:flex;align-items:center;justify-content:space-between;gap:16px}.replay-title{display:flex;align-items:center;gap:8px;font:10px var(--mono);letter-spacing:.12em;color:#dbe7e7;white-space:nowrap}.replay-dot{display:block;width:5px;height:5px;border-radius:50%;background:var(--acid);box-shadow:0 0 8px rgba(215,255,98,.3)}.replay-clock{display:flex;gap:8px;font:12px var(--mono);color:#92aab6;font-variant-numeric:tabular-nums;white-space:nowrap}#replay-time{color:var(--acid)}.replay-clock>i{font-style:normal;color:#3f5c69}.replay-seek{display:block;width:100%;height:27px;margin:10px 0 8px;padding:0;cursor:ew-resize;accent-color:var(--acid);appearance:none;-webkit-appearance:none;background:transparent;touch-action:pan-x}.replay-seek::-webkit-slider-runnable-track{height:3px;background:#324c59;border-radius:3px}.replay-seek::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:15px;height:15px;border-radius:50%;background:var(--acid);border:3px solid #e7ffab;box-shadow:0 0 10px rgba(215,255,98,.15);margin-top:-6px}.replay-seek::-moz-range-track{height:3px;background:#324c59;border-radius:3px}.replay-seek::-moz-range-thumb{width:11px;height:11px;border-radius:50%;background:var(--acid);border:2px solid #e7ffab}.replay-seek:focus-visible{outline:2px solid var(--acid);outline-offset:3px}.replay-actions{display:grid;grid-template-columns:1fr 1fr 75px 1.2fr;gap:9px;align-items:center}.replay-action,.replay-rate select{min-height:38px;padding:7px 11px;color:#c8d9df;border:1px solid rgba(173,200,211,.22);background:rgba(172,205,213,.04);font:11px var(--sans);letter-spacing:.03em;border-radius:2px;white-space:nowrap}.replay-action:hover,.replay-rate select:hover{border-color:rgba(215,255,98,.45);background:rgba(215,255,98,.05)}.primary-replay-action{background:var(--acid);border-color:var(--acid);color:#15200f;font-weight:600}.primary-replay-action:hover{color:#15200f;background:#e4ff95;border-color:#e4ff95}.replay-rate select{width:100%;font:12px var(--mono);cursor:pointer;padding-left:12px}.replay-exit{color:#9aafba}.replaying .touch-controls,.replaying .playing-controls,.replaying .drive-guide,.replaying .maneuver-label,.replaying .combo-chip,.replaying .run-progress,.replaying .thruster-cluster,.replaying .speed-cluster,.replaying .flight-cluster,.replaying .cockpit-hud,.replaying .bottom-bar,.replaying #pause-btn,.replaying #camera-btn{display:none!important}.replaying .scene-vignette{background:linear-gradient(180deg,rgba(5,11,19,.4),transparent 21%,transparent 83%,rgba(5,11,19,.38))}.touch-controls{grid-template-columns:112px minmax(54px,1fr) 136px;gap:9px;align-items:end;max-width:720px;margin:auto}.touch-steering{grid-template-columns:repeat(2,52px);gap:8px}.touch-flight{grid-template-columns:repeat(2,64px);gap:8px}.touch-controls button{height:66px;min-height:66px;min-width:0;border-radius:7px;font-size:25px;line-height:1;background:rgba(10,28,40,.77);border-color:rgba(180,206,216,.37);padding:7px 4px}.touch-controls button small{display:block;font:9px var(--sans);color:#90a7b4;letter-spacing:.04em;margin-top:7px}.touch-flight button{font-size:11px;letter-spacing:.02em}.touch-flight .touch-thrust{font-size:11px;background:rgba(215,255,98,.92);color:#14210e;font-weight:700}.touch-flight .touch-thrust small{color:#3b5122;font:8px var(--mono);margin-top:9px}.touch-flight .touch-accelerate{border-color:rgba(215,255,98,.42);color:#e1ebd4;background:rgba(100,126,55,.28)}.touch-flight .touch-accelerate small{color:#b6c4a2;font:9px var(--mono);margin-top:9px}.touch-auxiliary{display:flex;flex-direction:column;align-items:center;gap:6px}.touch-auxiliary button{height:28px;min-height:28px;width:52px;max-width:100%;padding:5px 3px;font:8px var(--sans);border-radius:3px;color:#8fa8b4;border-color:rgba(180,206,216,.19);background:rgba(10,28,40,.5)}.touch-auxiliary button[data-control=boost]{font:7px var(--mono);letter-spacing:.03em;color:#aebf93}
@media(min-width:1600px){.intro-content h1{font-size:58px}.intro-drive-keys>span{font-size:11px}.intro-controls{gap:25px}}
@media(max-height:800px) and (min-width:801px){.intro-content h1{font-size:41px;line-height:1.2;margin:14px 0}.intro-lead{font-size:13px}.intro-description{font-size:11px}.intro-drive-keys>span{font-size:9px}.playing-controls{bottom:66px}.maneuver-label{bottom:108px}.replay-panel{bottom:16px;padding-top:14px;padding-bottom:14px}.replay-seek{margin-top:8px;margin-bottom:6px}}
@media(max-height:680px) and (min-width:801px){.intro-content h1{font-size:34px;margin:10px 0;line-height:1.16}.intro-lead{font-size:12px}.intro-description{font-size:10px}.intro-drive-keys>span{font-size:8px}.playing-controls{bottom:59px;gap:12px}.maneuver-label{bottom:95px}.cockpit-view .drive-guide{bottom:55px}.cockpit-view .maneuver-label{bottom:87px}.replay-panel{bottom:12px;padding:10px 16px 12px}.replay-seek{height:22px;margin:6px 0}.replay-action,.replay-rate select{min-height:34px}}
@media(max-width:800px){.intro-content h1{font-size:42px}.intro-lead{font-size:13px}.intro-drive-keys{gap:12px}.intro-drive-keys>span{font-size:9px}.playing-controls{gap:11px}.combo-chip{min-width:175px}.cockpit-view .drive-guide small{font-size:8px}.help-flow{font-size:9px}.replay-panel{width:calc(100% - 40px)}}
@media(max-width:600px){.intro-content h1{font-size:37px;line-height:1.23;margin:13px 0}.intro-lead{font-size:12px;margin-bottom:8px}.intro-description{font-size:10px;line-height:1.85}.intro-drive-keys{gap:12px;margin-top:12px}.intro-drive-keys>span{font-size:9px;gap:4px}.intro-drive-keys kbd{font-size:9px}.intro-controls .control-shortcut:nth-child(n+4){display:none}.combo-chip{min-width:0;width:146px;max-width:146px}.combo-detail{padding:0}#combo-label{font-size:8px;max-width:78px;white-space:normal;line-height:1.6}.combo-count>span{font-size:6px}.drive-guide,.cockpit-view .drive-guide{display:none}.touch-controls{display:grid;left:18px;right:18px;bottom:65px;grid-template-columns:112px minmax(46px,1fr) 136px;gap:8px}.touch-steering{grid-template-columns:repeat(2,52px);gap:8px}.touch-flight{grid-template-columns:repeat(2,64px);gap:8px}.touch-controls button{min-height:66px;height:66px;min-width:0}.touch-auxiliary button{height:28px;min-height:28px;width:50px}.speed-cluster,.flight-cluster{bottom:166px}.maneuver-label,.cockpit-view .maneuver-label{bottom:154px;font-size:7px;max-width:116px}.help-flow{font-size:8px;gap:5px}.help-flow>span{gap:4px}.help-replay strong{font-size:11px}.help-replay p{font-size:10px}.result-card,.pause-card{max-height:calc(100dvh - 32px)}.result-stats{margin:22px 0 23px}.replay-availability{font-size:9px;margin:8px 0 12px}.replay-panel{bottom:14px;width:calc(100% - 28px);padding:13px 13px 14px;z-index:35}.replay-title{font-size:9px;letter-spacing:.07em;gap:6px}.replay-clock{font-size:11px;gap:6px}.replay-seek{height:27px;margin:7px 0 6px}.replay-actions{grid-template-columns:1fr 1fr 61px 1.15fr;gap:6px}.replay-action,.replay-rate select{min-height:40px;font-size:10px;letter-spacing:0;padding:6px 5px}.replay-rate select{font-size:11px;padding-left:7px}.end-run-btn{font-size:11px}.cockpit-view .combo-chip{min-width:0}}
@media(max-width:600px) and (max-height:750px){.intro-content h1{font-size:31px;line-height:1.2;margin:10px 0}.intro-lead{font-size:11px}.intro-description{font-size:9px;line-height:1.75}.intro-drive-keys{margin-top:9px;gap:10px}.intro-drive-keys>span{font-size:8px}.intro-drive-keys kbd{font-size:8px}.touch-controls{bottom:57px}.speed-cluster,.flight-cluster{bottom:157px}.maneuver-label,.cockpit-view .maneuver-label{bottom:145px}.replay-panel{bottom:10px;padding:11px 12px 12px}.replay-action,.replay-rate select{min-height:38px}}
@media(max-width:360px){.intro-content h1{font-size:31px}.intro-drive-keys{gap:8px}.intro-drive-keys>span{font-size:8px}.combo-chip{width:123px;max-width:123px}#combo-label{font-size:7px;max-width:65px}.touch-controls{grid-template-columns:1fr 1fr;gap:20px;left:16px;right:16px}.touch-steering{grid-template-columns:repeat(2,48px);gap:7px}.touch-flight{grid-template-columns:repeat(2,60px);gap:7px;justify-self:end}.touch-auxiliary{position:absolute;top:-36px;left:50%;transform:translateX(-50%);flex-direction:row;gap:6px}.touch-auxiliary button{width:50px;min-height:27px;height:27px}.replay-title{font-size:8px}.replay-clock{font-size:10px}.replay-actions{grid-template-columns:1fr 1fr 53px 1.15fr;gap:4px}.replay-action{font-size:9px}.replay-rate select{font-size:10px}.replay-panel{padding-left:10px;padding-right:10px}}
@media(hover:none) and (pointer:coarse){.touch-controls{display:grid}.drive-guide,.cockpit-view .drive-guide{display:none}}

/* Timed gas recovery remains visible at narrow HUD widths. */
.pressure-status{display:flex;flex-direction:column;gap:3px;min-height:27px;margin-top:8px;font:9px var(--sans);line-height:1.35;color:#95aeb9;letter-spacing:.02em}.pressure-status strong{font:9px var(--mono);font-weight:400;font-variant-numeric:tabular-nums;color:var(--acid)}.pressure-status[data-state=ready],.pressure-status[data-state=charging]{color:var(--acid)}.pressure-status[data-state=locked],.pressure-status[data-state=locked] strong,.cockpit-recharge[data-state=locked]{color:#efb57d}#battery-fill[data-state=locked]{background:#efb57d}.cockpit-recharge{text-align:center;font:9px var(--sans);line-height:1.5;letter-spacing:.03em;margin-top:10px;font-variant-numeric:tabular-nums}@media(max-width:600px){.pressure-status{font-size:8px;min-height:25px;margin-top:6px;gap:2px}.pressure-status strong{font-size:8px}.cockpit-recharge{font-size:8px;margin-top:7px}}

/* A grey gated analog stick and one jet button keep mobile input simple. */
.intro-drive-keys { gap: 20px; }
.playing-controls { gap: 23px; }
.playing-controls > span { display: flex; align-items: center; gap: 5px; }
.help-controls > div > span:last-child { line-height: 1.75; }
.gas-tip { margin-top: 10px; color: #91a7b2; }
.autothrottle-status { display: flex; align-items: center; gap: 7px; margin-top: 12px; color: #b3e3e6; font: 8px var(--mono); letter-spacing: .08em; }
.autothrottle-status i { width: 4px; height: 4px; border-radius: 50%; background: #95e0e3; box-shadow: 0 0 8px #8ad9dd75; }
.touch-controls {
  grid-template-columns: auto auto;
  justify-content: space-between;
  align-items: end;
  gap: 24px;
  max-width: none;
  left: max(26px, env(safe-area-inset-left));
  right: max(26px, env(safe-area-inset-right));
  bottom: max(60px, calc(env(safe-area-inset-bottom) + 32px));
}
.touch-stick-cluster { width: 164px; display: flex; flex-direction: column; align-items: center; gap: 7px; }
.stick-title { font: 7px var(--mono); color: #b7c3c5; letter-spacing: .13em; text-shadow: 0 1px 5px #05101a; }
.stick-hint { font: 6px var(--sans); letter-spacing: .035em; color: #9fb6bf; white-space: nowrap; text-shadow: 0 1px 5px #05101a; }
.touch-stick {
  --stick-x: 0px;
  --stick-y: 0px;
  position: relative;
  width: 164px;
  height: 164px;
  flex: 0 0 164px;
  pointer-events: auto;
  touch-action: none;
  border-radius: 28%;
  cursor: grab;
  outline: none;
  filter: drop-shadow(0 7px 10px #0008);
}
.touch-stick:focus-visible { outline: 2px solid var(--acid); outline-offset: 4px; }
.touch-stick.is-active { cursor: grabbing; }
.stick-gate {
  position: absolute;
  inset: 3px;
  clip-path: polygon(29% 0, 71% 0, 100% 29%, 100% 71%, 71% 100%, 29% 100%, 0 71%, 0 29%);
  background: linear-gradient(145deg, #b4b7b4 0%, #8c9290 24%, #555f60 77%, #3e4a4e 100%);
}
.stick-gate:before {
  content: '';
  position: absolute;
  inset: 2px;
  clip-path: inherit;
  background: linear-gradient(145deg, #8d9797, #606e70 48%, #717d7e);
}
.stick-well {
  position: absolute;
  inset: 10px;
  border-radius: 50%;
  border: 2px solid #3f4c4e;
  background: repeating-radial-gradient(circle, #455256 0 3px, #5b6668 4px, #455256 5px, #455256 9px);
  box-shadow: inset 0 5px 13px #000a, 0 1px 1px #b7c0bb75;
}
.stick-well:after {
  content: '';
  position: absolute;
  inset: 24%;
  border-radius: 50%;
  background: radial-gradient(circle, #273a42, #303e43);
  border: 1px solid #61757a;
  box-shadow: inset 0 3px 7px #0009;
}
.stick-direction { position: absolute; z-index: 1; color: #d0d8d4; font: 14px var(--mono); line-height: 1; opacity: .9; pointer-events: none; text-shadow: 0 1px 1px #273b40; }
.stick-north { left: calc(50% - 4px); top: 11px; }
.stick-east { right: 10px; top: calc(50% - 7px); }
.stick-south { left: calc(50% - 4px); bottom: 10px; }
.stick-west { left: 10px; top: calc(50% - 7px); }
.stick-cap {
  position: absolute;
  z-index: 2;
  left: calc(50% - 31px);
  top: calc(50% - 34px);
  width: 62px;
  height: 62px;
  border-radius: 50%;
  border: 1px solid #cdd0c9;
  border-bottom: 5px solid #747f7e;
  background: linear-gradient(145deg, #cbd0c9, #a9b0aa 43%, #8f9996);
  box-shadow: 0 7px 0 #3a4b4e, 1px 12px 12px #0009, inset 0 2px 2px #eef2e480;
  transform: translate(var(--stick-x), var(--stick-y));
  transition: transform .15s cubic-bezier(.2, .85, .25, 1.25), box-shadow .15s;
  pointer-events: none;
}
.stick-cap span {
  position: absolute;
  inset: 7px;
  border: 1px solid #7d898380;
  border-radius: 50%;
  background: repeating-radial-gradient(circle, #a9b3aa 0 3px, #87948b 3.5px, #c2cabc 4px, #a9b3aa 4.5px, #a9b3aa 6px);
  box-shadow: inset 0 2px 4px #586c5d66, 0 1px 1px #e0e5d6b0;
}
.touch-stick.is-active .stick-cap { transition: none; border-top-color: #e3edc5; box-shadow: 0 7px 0 #35484b, 1px 12px 12px #0009, 0 0 15px #9be2dd30; }
.touch-stick.is-active .stick-direction { color: #e4ffc0; }
.touch-controls .touch-flight { display: block; justify-self: end; padding-bottom: 22px; }
.touch-controls .touch-flight .touch-thrust {
  width: 88px;
  height: 88px;
  min-width: 88px;
  min-height: 88px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 10px;
  border-radius: 50%;
  border: 1px solid rgba(239, 255, 186, .7);
  box-shadow: 0 0 0 5px rgba(215, 255, 98, .07), 0 5px 24px rgba(0, 0, 0, .2);
  font: 600 12px/1.2 var(--sans);
  touch-action: none;
}
.touch-thrust svg { width: 25px; height: 25px; }
.touch-controls .touch-flight .touch-thrust small { margin: 0; font: 9px/1.2 var(--sans); }
.touch-controls .touch-flight .touch-thrust.active,
.touch-controls .touch-flight .touch-thrust:active { background: #edffc3; box-shadow: 0 0 0 7px rgba(215, 255, 98, .16), 0 0 35px rgba(215, 255, 98, .23); }
@media (max-width: 600px) {
  .intro-drive-keys { gap: 14px; }
  .intro-drive-keys > span { gap: 4px; }
  .intro-controls { gap: 13px; }
  .intro-controls .control-shortcut { font-size: 8px; }
  .touch-controls { grid-template-columns: auto auto; left: max(18px, env(safe-area-inset-left)); right: max(22px, env(safe-area-inset-right)); bottom: max(53px, calc(env(safe-area-inset-bottom) + 23px)); gap: 18px; }
  .speed-cluster, .flight-cluster { bottom: 255px; }
  .maneuver-label, .cockpit-view .maneuver-label { bottom: 190px; left: auto; right: 20px; transform: none; max-width: 105px; }
  .autothrottle-status { font-size: 7px; margin-top: 9px; letter-spacing: .04em; }
}
@media (max-width: 600px) and (max-height: 750px) {
  .speed-cluster, .flight-cluster { bottom: 236px; }
  .touch-controls { bottom: max(43px, calc(env(safe-area-inset-bottom) + 17px)); }
  .touch-stick-cluster { gap: 5px; }
  .maneuver-label, .cockpit-view .maneuver-label { bottom: 175px; }
  .flight-cluster .attitude-gauge { width: 57px; height: 57px; margin: 8px auto; }
  .flight-cluster .dynamic-metrics { display: none; }
  .intro-drive-keys { gap: 10px; }
}
@media (max-width: 360px) {
  .touch-controls { left: 13px; right: 18px; }
  .touch-stick, .touch-stick-cluster { width: 148px; }
  .touch-stick { height: 148px; flex-basis: 148px; }
  .touch-controls .touch-flight .touch-thrust { width: 78px; min-width: 78px; height: 78px; min-height: 78px; }
  .intro-drive-keys { gap: 10px; }
  .intro-drive-keys > span { gap: 3px; }
}
@media (hover: none) and (pointer: coarse) and (min-width: 601px) and (max-height: 600px) {
  .touch-controls { bottom: max(26px, calc(env(safe-area-inset-bottom) + 10px)); }
  .touch-stick, .touch-stick-cluster { width: 148px; }
  .touch-stick { height: 148px; flex-basis: 148px; }
  .speed-cluster { bottom: 218px; }
  .flight-cluster { bottom: 170px; top: auto; transform: none; width: 108px; }
  .flight-cluster .attitude-gauge, .flight-cluster .attitude-values, .flight-cluster .flight-label, .flight-cluster .dynamic-metrics { display: none; }
  .flight-cluster .altitude-row { margin-top: 0; padding-top: 0; border: 0; }
  .flight-cluster .battery-row { margin-top: 7px; }
  .flight-cluster .altitude-row strong { font-size: 22px; }
  .flight-cluster .battery-track { margin-top: 5px; }
  .flight-cluster .pressure-status { margin-top: 5px; }
}

/* Single-stage score attack and bilingual UI. */
.topbar { z-index: 50; }
.language-control { display: flex; align-items: center; }
.language-control select { min-height: 36px; width: 76px; padding: 7px 8px; color: #d7e5e8; background: rgba(11, 24, 33, .84); border: 1px solid rgba(183, 209, 218, .27); border-radius: 2px; font: 10px var(--sans); cursor: pointer; }
.language-control select:focus-visible { outline: 2px solid var(--acid); outline-offset: 3px; }
.language-control option { color: #d7e5e8; background: #10212c; }
html[lang=en] .intro-content h1 { font-size: clamp(36px, 3.35vw, 51px); letter-spacing: -.055em; line-height: 1.12; max-width: 500px; }
html[lang=en] .intro-content { width: min(510px, 46vw); }
html[lang=en] .intro-description { max-width: 450px; line-height: 1.8; }
html[lang=en] .intro-lead { letter-spacing: 0; }
.run-timing { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 15px; padding-top: 11px; border-top: 1px solid var(--line); font-variant-numeric: tabular-nums; }
.run-timing > div { display: flex; flex-direction: column; gap: 6px; }
.run-timing span { font: 7px var(--sans); color: #8fa6b1; letter-spacing: .03em; line-height: 1.4; }
.run-timing strong { font: 18px var(--mono); font-weight: 400; color: #e4eef0; letter-spacing: -.045em; }
.run-timing > div:last-child strong { color: var(--acid); }
.thruster-cluster { transform: translateY(65px); }
.result-card { width: 500px; }
.result-rank { display: flex; align-items: center; justify-content: flex-end; gap: 11px; margin: -9px 0 10px; }
.result-rank strong { font: 26px var(--mono); line-height: 1; color: var(--acid); }
.result-rank .field-label { font-size: 8px; }
.result-score-wrap { padding: 17px 0 15px; }
.result-stats { margin: 19px 0 20px; }
.result-breakdown { display: grid; grid-template-columns: 1fr 1fr; gap: 13px 24px; margin-bottom: 23px; padding-top: 16px; border-top: 1px solid var(--line); }
.result-breakdown > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.result-breakdown span { font: 8px var(--sans); color: #9bb0ba; letter-spacing: .02em; }
.result-breakdown strong { font: 13px var(--mono); color: #d4e2e5; font-variant-numeric: tabular-nums; }
.help-score { margin-top: 20px; padding: 17px 18px; border-left: 2px solid var(--acid); background: rgba(215, 255, 98, .04); }
.help-score strong { font-size: 12px; font-weight: 500; color: #d8e6d0; }
.help-score p { margin: 8px 0 0; color: #a1b6bd; font-size: 11px; line-height: 1.8; }
.loop-tip { color: #a5d3d5; }
body:has(.modal-layer:not([hidden])) .topbar .brand,
body:has(.modal-layer:not([hidden])) .topbar .range-id,
body:has(.modal-layer:not([hidden])) .topbar .icon-btn { visibility: hidden; }
body:has(.modal-layer:not([hidden])) .topbar { height: 68px; }
.modal-layer { padding-top: 82px; }
.modal-card, .help-card, .source-card, .result-card, .pause-card { max-height: calc(100dvh - 106px); }
@media (max-width: 1200px) {
  html[lang=en] .intro-content { width: 460px; }
  html[lang=en] .intro-content h1 { font-size: 43px; }
}
@media (max-height: 760px) and (min-width: 601px) {
  html[lang=en] .intro-content h1 { font-size: 35px; }
  .run-timing { margin-top: 9px; padding-top: 8px; }
  .thruster-cluster { transform: translateY(55px); }
}
@media (max-width: 600px) {
  .language-control select { width: 64px; min-height: 32px; padding: 6px; font-size: 9px; }
  .top-actions { gap: 5px; }
  html[lang=en] .intro-content { left: 24px; width: calc(100% - 48px); }
  html[lang=en] .intro-content h1 { font-size: 35px; max-width: 350px; margin: 13px 0; }
  html[lang=en] .intro-description { max-width: 350px; font-size: 10px; line-height: 1.7; }
  html[lang=en] .intro-drive-keys { gap: 10px; }
  html[lang=en] .intro-drive-keys > span { font-size: 8px; }
  .run-timing { gap: 7px; margin-top: 10px; padding-top: 8px; }
  .run-timing span { font-size: 6px; letter-spacing: 0; min-height: 17px; }
  .run-timing strong { font-size: 14px; }
  .thruster-cluster { transform: translateY(64px); }
  .result-card { padding: 24px; }
  .result-rank { margin-top: -8px; margin-bottom: 7px; }
  .result-rank strong { font-size: 23px; }
  .result-breakdown { gap: 13px 14px; margin-bottom: 18px; }
  .result-breakdown span { font-size: 7px; }
  .result-breakdown strong { font-size: 11px; }
  .help-score { padding: 14px; }
  .help-score strong { font-size: 11px; }
  .help-score p { font-size: 10px; }
  .modal-layer { padding-top: 76px; }
  .modal-card, .help-card, .source-card, .result-card, .pause-card { max-height: calc(100dvh - 92px); }
}
@media (max-width: 420px) {
  .brand-mark { width: 20px; }
  .brand-text { font-size: 12px; }
  .brand-text small { font-size: 4px; }
  .brand { gap: 5px; }
  .top-actions { gap: 3px; }
  .language-control select { width: 60px; }
  .icon-btn { padding: 6px; font-size: 8px; }
  .camera-btn { font-size: 8px; }
}
@media (max-width: 600px) and (max-height: 750px) {
  html[lang=en] .intro-content h1 { font-size: 29px; margin: 10px 0; }
  html[lang=en] .intro-description { font-size: 9px; }
  .thruster-cluster { transform: translateY(62px); }
}

/* Scored tricks: chrome typography, a single radial burst, and points that pop. */
.trick-flash{position:fixed;left:50%;top:31%;width:min(780px,94vw);transform:translateX(-50%) rotate(-5deg);text-align:center;pointer-events:none;z-index:45;isolation:isolate;filter:drop-shadow(0 6px 0 #092232)}
.trick-detail{position:relative;z-index:2;font:700 clamp(10px,1.3vw,16px) var(--mono);letter-spacing:.24em;color:#ecffff;text-shadow:0 0 13px #37d9fa,0 2px 2px #00121e}
.trick-word{display:block;position:relative;z-index:2;margin:3px -7%;font:1000 italic clamp(36px,7.2vw,96px)/1.07 Arial,Helvetica,sans-serif;letter-spacing:-.055em;background:linear-gradient(177deg,#fff 4%,#cbffff 18%,#48e8ff 28%,#faffeb 38%,#fff2a4 47%,#ffb325 53%,#fff8bb 66%,#ecff5a 78%,#fff 90%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-stroke:1.1px #f6fdde;filter:drop-shadow(0 0 14px #00a6ed);text-transform:uppercase}
.trick-points{display:inline-block;position:relative;z-index:2;padding:4px 18px;margin-top:9px;transform:skew(-9deg);font:900 italic clamp(23px,3vw,40px)/1 Arial,Helvetica,sans-serif;letter-spacing:-.03em;color:#17211a;background:linear-gradient(120deg,#ddff78,#eeffc1,#94f6ff);box-shadow:5px 5px 0 #0d4c68,0 0 25px #2ce4ff70;clip-path:polygon(6% 0,100% 0,94% 100%,0 100%)}
.trick-burst{position:absolute;width:160%;aspect-ratio:1;left:-30%;top:50%;z-index:-1;background:repeating-conic-gradient(from 7deg,#3bd6ff3b 0deg 2deg,transparent 2deg 18deg);mask-image:radial-gradient(ellipse,#000 10%,transparent 64%);transform:translateY(-50%) rotate(0deg);opacity:0}
.trick-sparks{position:absolute;inset:-35px -10px auto;display:flex;justify-content:space-between;font:70px/1 Arial;color:#f2ffb7;text-shadow:0 0 16px #3cf0ff;opacity:0;z-index:1}.trick-sparks i{font:45px/1 Arial;transform:translateY(-12px)}
.trick-streak{position:absolute;left:11%;right:11%;top:61%;height:2px;background:linear-gradient(90deg,transparent,#f2ff91,#fff,transparent);box-shadow:0 0 14px #70f6ff;transform:scaleX(0)}
.trick-flash.is-active{animation:trick-pop 1.55s cubic-bezier(.2,.9,.3,1) both}.trick-flash.is-active .trick-burst{animation:trick-rays 1.5s ease-out both}.trick-flash.is-active .trick-sparks{animation:trick-stars 1.45s ease-out both}.trick-flash.is-active .trick-streak{animation:trick-line .9s .05s ease-out both}.trick-flash[data-level="4"] .trick-word{filter:drop-shadow(0 0 15px #f472ed) drop-shadow(0 0 25px #32e8f5)}
@keyframes trick-pop{0%{opacity:0;transform:translateX(-50%) rotate(-8deg) scale(.42)}13%{opacity:1;transform:translateX(-50%) rotate(-5deg) scale(1.08)}25%,72%{opacity:1;transform:translateX(-50%) rotate(-5deg) scale(1)}100%{opacity:0;transform:translateX(-50%) translateY(-27px) rotate(-3deg) scale(1.07)}}
@keyframes trick-rays{0%{opacity:0;transform:translateY(-50%) rotate(-7deg) scale(.65)}18%{opacity:1}75%{opacity:.5}100%{opacity:0;transform:translateY(-50%) rotate(12deg) scale(1.3)}}
@keyframes trick-stars{0%{opacity:0;transform:scale(.3)}22%{opacity:1;transform:scale(1.05)}80%{opacity:1}100%{opacity:0;transform:scale(1.22)}}
@keyframes trick-line{0%{transform:scaleX(0)}28%{transform:scaleX(1.1)}100%{opacity:0;transform:scaleX(1.35)}}

/* The final recorded instant plays behind a three-second victory fanfare. */
.finish-showtime{position:fixed;inset:0;display:grid;place-items:center;z-index:70;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse at center,#09243614 12%,#031222ad 100%);isolation:isolate}
.finish-halo{position:absolute;inset:-50%;z-index:-1;background:repeating-conic-gradient(from 0deg,#c5ff7822 0deg 3deg,transparent 3deg 18deg);mask-image:radial-gradient(ellipse,#000 8%,transparent 56%)}
.finish-stage{width:min(750px,94vw);text-align:center;transform:rotate(-4deg);filter:drop-shadow(0 5px 0 #08202c)}
.finish-eyebrow{display:block;font:600 clamp(9px,1.1vw,14px) var(--mono);color:#e7ffbd;letter-spacing:.35em;text-shadow:0 0 12px #5aefef}
.finish-stage h2{margin:9px 0 0;font:1000 italic clamp(90px,16vw,200px)/.95 Arial,Helvetica,sans-serif;letter-spacing:-.075em;background:linear-gradient(174deg,#fff 4%,#d6ffff 20%,#42e6ff 29%,#fff 38%,#fff8a6 47%,#eeb32d 52%,#fff3a7 68%,#d8ff77 84%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-stroke:2px #effff1;filter:drop-shadow(0 0 22px #00d9ffb3);text-shadow:none}
.finish-awesome{display:block;margin:6px 0 19px;font:900 italic clamp(13px,2vw,25px) Arial,Helvetica,sans-serif;letter-spacing:.24em;color:#f1ff9a;text-shadow:0 0 16px #c3ff3c}
.finish-medal{display:inline-flex;flex-direction:column;vertical-align:middle;align-items:center;justify-content:center;min-width:95px;aspect-ratio:1;padding:10px;border:2px solid #f4ffab;background:linear-gradient(135deg,#9ce8f23b,#10231ef0 48%,#9baf4722);clip-path:polygon(20% 0,80% 0,100% 20%,100% 80%,80% 100%,20% 100%,0 80%,0 20%);box-shadow:0 0 30px #c7ff5d5c;color:#e8ff9e}
.finish-medal>span{font:11px var(--mono);letter-spacing:.22em}.finish-rank{font:1000 italic 67px/.95 Arial,Helvetica,sans-serif;text-shadow:0 0 17px #b4ff5e}
.finish-total{display:inline-flex;flex-direction:column;vertical-align:middle;align-items:flex-start;margin-left:25px;gap:4px;text-align:left}.finish-total>span:first-child{font:11px var(--mono);letter-spacing:.22em;color:#c3dade}.finish-score{font:900 italic clamp(42px,6vw,77px)/1 Arial,Helvetica,sans-serif;color:#fff;text-shadow:0 0 20px #47d8ff;font-variant-numeric:tabular-nums;letter-spacing:-.05em}.finish-time{font:17px var(--mono);color:#d9ffa1;font-variant-numeric:tabular-nums}
.finish-checker{position:absolute;height:44px;width:140%;left:-20%;background:conic-gradient(#e8fce7 25%,#092532 0 50%,#e8fce7 0 75%,#092532 0) 0 0/44px 44px;border-top:3px solid #d9ff7b;border-bottom:3px solid #d9ff7b;opacity:.88;transform:rotate(-5deg);box-shadow:0 0 25px #a5e4b43b}.finish-checker-top{top:15%}.finish-checker-bottom{bottom:15%}
.finish-confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none}.finish-confetti i{position:absolute;top:-10%;left:calc(var(--x)*1%);width:8px;height:16px;background:#d7ff7c;transform:rotate(calc(var(--i)*17deg));opacity:0}.finish-confetti i:nth-child(3n){background:#63e9ff;width:12px;height:7px}.finish-confetti i:nth-child(3n+1){background:#ffe697}.finish-confetti i:nth-child(5n){background:#ff95db}
.finish-showtime.is-active .finish-stage{animation:finish-arrive 3.4s cubic-bezier(.2,.85,.25,1) both}.finish-showtime.is-active .finish-halo{animation:finish-halo 3.4s ease-out both}.finish-showtime.is-active .finish-confetti i{animation:finish-confetti 2.8s var(--delay) cubic-bezier(.15,.45,.65,1) both}.finish-showtime.is-active .finish-checker-top{animation:finish-banner-left .5s ease-out both}.finish-showtime.is-active .finish-checker-bottom{animation:finish-banner-right .5s ease-out both}.finish-showtime.is-active .finish-medal{animation:finish-medal .5s .5s ease-out both}
@keyframes finish-arrive{0%{opacity:0;transform:rotate(-7deg) scale(.35)}12%{opacity:1;transform:rotate(-4deg) scale(1.07)}22%,87%{opacity:1;transform:rotate(-4deg) scale(1)}100%{opacity:0;transform:rotate(-4deg) scale(1.05)}}
@keyframes finish-halo{0%{opacity:0;transform:rotate(-5deg) scale(.7)}20%,80%{opacity:1}100%{opacity:0;transform:rotate(15deg) scale(1.1)}}
@keyframes finish-confetti{0%{opacity:0;transform:translate3d(0,0,0) rotate(0deg)}8%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translate3d(calc((var(--i) - 16)*7px),110vh,0) rotate(calc(var(--i)*50deg))}}
@keyframes finish-banner-left{from{transform:translateX(-100%) rotate(-5deg)}to{transform:translateX(0) rotate(-5deg)}}
@keyframes finish-banner-right{from{transform:translateX(100%) rotate(-5deg)}to{transform:translateX(0) rotate(-5deg)}}
@keyframes finish-medal{from{opacity:0;transform:scale(2) rotate(-20deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}
.finishing .hud,.finishing .topbar,.finishing .bottom-bar,.finishing .touch-controls,.finishing .toast{opacity:0;pointer-events:none;transition:opacity .25s ease-out}

/* A separate camera row keeps six replay views usable on small screens. */
.replay-panel{width:min(640px,calc(100% - 40px))}.replay-title{min-width:0;flex-wrap:wrap;row-gap:3px}#replay-view-label{padding-left:9px;border-left:1px solid #6a828c;color:#caff83;font-size:9px;letter-spacing:.04em;max-width:200px;overflow:hidden;text-overflow:ellipsis}
.replay-camera-row{display:grid;grid-template-columns:auto minmax(140px,1fr) auto;gap:11px;align-items:center;margin-top:13px}.replay-camera-row>label{font:9px var(--mono);color:#8aa6b2;letter-spacing:.06em}.replay-camera-row>select{min-height:37px;width:100%;border:1px solid #9cbbce42;border-radius:2px;background:#112938;color:#e1f1eb;font:11px var(--sans);padding:6px 10px;cursor:pointer}.replay-camera-row>select:focus-visible{outline:2px solid var(--acid);outline-offset:2px}.replay-camera-row>span{font:9px var(--sans);color:#8da8b5;white-space:nowrap}.replay-camera-row kbd{min-width:18px;height:19px;margin-right:3px;font-size:9px}.replay-camera-row option{color:#e8f3ed;background:#102735}.replaying #camera-btn{display:inline-flex!important}
@media(max-width:600px){.trick-flash{top:32%;width:96vw}.trick-word{font-size:clamp(31px,8.6vw,51px);-webkit-text-stroke:.7px}.trick-detail{font-size:9px;letter-spacing:.14em}.trick-points{font-size:28px;margin-top:6px}.trick-sparks{inset:-22px 8px auto;font-size:42px}.trick-sparks i{font-size:30px}.finish-checker{height:26px;background-size:26px 26px}.finish-stage h2{font-size:clamp(78px,22vw,130px);-webkit-text-stroke:1.2px}.finish-eyebrow{font-size:8px;letter-spacing:.19em}.finish-awesome{font-size:12px;letter-spacing:.15em;margin-bottom:16px}.finish-medal{min-width:72px;padding:8px}.finish-medal>span{font-size:8px}.finish-rank{font-size:51px}.finish-total{margin-left:16px}.finish-total>span:first-child{font-size:8px}.finish-score{font-size:44px}.finish-time{font-size:13px}.finish-checker-top{top:21%}.finish-checker-bottom{bottom:21%}.replay-panel{width:calc(100% - 28px)}.replay-camera-row{grid-template-columns:auto minmax(120px,1fr);gap:9px;margin-top:9px}.replay-camera-row>span{display:none}.replay-camera-row>select{min-height:38px;font-size:11px}#replay-view-label{font-size:8px;padding-left:6px;max-width:130px}.replay-title{font-size:8px;column-gap:6px}.replay-clock{font-size:10px;gap:4px}}
@media(max-height:560px) and (min-width:601px){.finish-stage{transform:rotate(-4deg) scale(.73)}.finish-stage h2{font-size:130px}.finish-checker-top{top:8%}.finish-checker-bottom{bottom:8%}.replay-camera-row{margin-top:7px}.replay-camera-row>select{min-height:30px}.trick-flash{top:26%}.trick-word{font-size:58px}}
@media(prefers-reduced-motion:reduce){.trick-flash.is-active,.finish-showtime.is-active .finish-stage{opacity:1}.trick-burst,.trick-sparks,.finish-confetti,.finish-halo{display:none}.finish-checker-top,.finish-checker-bottom{transform:rotate(-5deg)}.finish-showtime.is-active .finish-medal{opacity:1}}

/* Locally generated replay digest: a compact result card and capture progress. */
.digest-card{margin:0 0 23px;padding:19px 18px 15px;border:1px solid rgba(177,211,221,.24);border-radius:3px;background:linear-gradient(135deg,rgba(109,171,174,.09),rgba(10,25,35,.42));text-align:left}
.digest-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.digest-eyebrow{font:7px var(--mono);letter-spacing:.16em;color:#9cbdc5}.digest-heading h3{margin:7px 0 0;font:500 16px/1.45 var(--sans);letter-spacing:.01em;color:#e6f1ee}.digest-quality{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:39px;padding:7px 8px;border:1px solid rgba(215,255,98,.32);border-radius:2px;color:var(--acid);font:12px var(--mono)}.digest-quality>span{font:7px var(--mono);letter-spacing:.19em}
.digest-description{margin:12px 0 0;color:#9bb3bc;font:10px/1.8 var(--sans);letter-spacing:.015em}.digest-video{display:block;width:100%;aspect-ratio:16/9;margin:15px 0 12px;border:1px solid #405b69;border-radius:2px;background:#02090e;object-fit:contain}.digest-status-row{display:flex;align-items:flex-start;gap:7px;margin-top:13px}.digest-status-dot{width:5px;height:5px;flex:0 0 5px;margin-top:6px;border-radius:50%;background:#79939e}.digest-status{margin:0;font:10px/1.7 var(--sans);color:#bed0d6;overflow-wrap:anywhere}.digest-card[data-state=generating] .digest-status-dot{background:var(--acid);box-shadow:0 0 7px #d7ff625e;animation:digest-pulse 1.5s ease-in-out infinite}.digest-card[data-state=ready] .digest-status-dot{background:var(--acid)}.digest-card[data-state=ready] .digest-status{color:#cee6ac}.digest-card[data-state=error] .digest-status-dot,.digest-card[data-state=unsupported] .digest-status-dot{background:#edb078}.digest-card[data-state=error] .digest-status,.digest-card[data-state=unsupported] .digest-status{color:#e6bd98}
.digest-progress{appearance:none;-webkit-appearance:none;display:block;width:100%;height:4px;border:0;border-radius:3px;margin:12px 0 0;overflow:hidden;background:#29424f;color:var(--acid);accent-color:var(--acid)}.digest-progress::-webkit-progress-bar{border-radius:3px;background:#29424f}.digest-progress::-webkit-progress-value{border-radius:3px;background:linear-gradient(90deg,#9ee4e7,#d7ff62);transition:width .2s linear}.digest-progress::-moz-progress-bar{border-radius:3px;background:linear-gradient(90deg,#9ee4e7,#d7ff62)}
.digest-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.digest-button{display:inline-flex;align-items:center;justify-content:center;min-height:37px;padding:8px 12px;gap:6px;border:1px solid rgba(163,197,207,.32);border-radius:2px;font:10px/1.4 var(--sans);letter-spacing:.03em;color:#d4e4e7;background:rgba(161,204,215,.04);cursor:pointer;white-space:normal;text-align:center;text-decoration:none;transition:background .15s,border-color .15s}.digest-button:hover{border-color:#b6e4da;background:rgba(161,204,215,.1)}.digest-button:focus-visible{outline:2px solid var(--acid);outline-offset:3px}.digest-button:disabled{cursor:wait;opacity:.45}.digest-create,.digest-download{flex:1 1 auto;border-color:rgba(215,255,98,.45);color:#dfffad;background:rgba(215,255,98,.07)}.digest-download{background:var(--acid);color:#14210e;font-weight:600}.digest-download:hover{color:#14210e;background:#e4ff95;border-color:#e4ff95}.digest-share{flex:1 1 auto}.digest-cancel{color:#9cb3be;background:transparent;border-color:rgba(166,197,208,.19)}.digest-note{margin:10px 0 0;color:#7e9ca9;font:8px/1.65 var(--sans);letter-spacing:.015em}
.digest-export-overlay{position:fixed;z-index:120;left:50%;bottom:24px;transform:translateX(-50%);width:min(480px,calc(100vw - 36px));padding:16px 18px 13px;border:1px solid rgba(166,207,214,.37);border-top:2px solid var(--acid);border-radius:3px;background:rgba(6,20,31,.91);backdrop-filter:blur(16px);box-shadow:0 8px 36px #0006;pointer-events:auto}.digest-export-topline{display:flex;align-items:center;gap:8px}.digest-export-topline>strong{font:500 11px/1.5 var(--sans);color:#dcece6;letter-spacing:.02em}.digest-export-pulse{height:5px;width:5px;flex:0 0 5px;border-radius:50%;background:var(--acid);box-shadow:0 0 8px #d7ff625e;animation:digest-pulse 1.5s ease-in-out infinite}.digest-export-format{margin-left:auto;font:9px var(--mono);white-space:nowrap;letter-spacing:.04em;color:#9bbda9}.digest-export-status{margin:9px 0 0;font:10px/1.6 var(--sans);color:#a9c0cb}.digest-export-bottom{display:flex;justify-content:space-between;align-items:center;gap:13px;margin-top:11px}.digest-export-bottom>span{font:8px/1.6 var(--sans);color:#91a9b5}.digest-export-bottom .digest-cancel{min-height:31px;padding:5px 10px;font-size:9px;flex-shrink:0}.digesting .hud,.digesting .touch-controls,.digesting .bottom-bar,.digesting .topbar,.digesting .replay-panel,.digesting .toast{opacity:0;pointer-events:none}.digesting #digest-export-overlay{opacity:1;pointer-events:auto}
@keyframes digest-pulse{0%,100%{opacity:.45}50%{opacity:1}}
@media(max-width:600px){.digest-card{margin-bottom:18px;padding:16px 14px 13px}.digest-heading h3{font-size:15px}.digest-eyebrow{font-size:6px}.digest-description{font-size:9px;line-height:1.75}.digest-status{font-size:9px}.digest-quality{font-size:11px;min-width:36px;padding:6px}.digest-actions{gap:6px}.digest-button{min-height:41px;font-size:10px;padding:8px 10px}.digest-note{font-size:8px}.digest-export-overlay{bottom:max(16px,env(safe-area-inset-bottom));padding:13px 14px 11px;width:calc(100vw - 28px)}.digest-export-topline>strong{font-size:10px}.digest-export-format{font-size:8px}.digest-export-status{font-size:9px}.digest-export-bottom{gap:9px}.digest-export-bottom>span{font-size:8px}.digest-export-bottom .digest-cancel{min-height:35px;font-size:9px}}
@media(max-width:360px){.digest-heading h3{font-size:13px}.digest-actions{gap:6px}.digest-button{padding:8px;font-size:9px}.digest-export-format{display:none}.digest-export-topline>strong{font-size:10px}}
@media(prefers-reduced-motion:reduce){.digest-status-dot,.digest-export-pulse{animation:none}.digest-progress::-webkit-progress-value{transition:none}}

#digest-capture-preview{position:fixed;inset:0;width:100%;height:100%;object-fit:contain;background:#06121a;z-index:100;pointer-events:none}.digesting .scene-vignette{opacity:0}.digesting .modal-layer,.digesting #trick-flash,.digesting #finish-showtime{pointer-events:none;opacity:0}


/* Select the digest's orientation before driving or recreate it after a run. */
.start-digest-format{display:grid;grid-template-columns:minmax(95px,1fr) minmax(145px,1.45fr);gap:10px;align-items:center;width:350px;max-width:100%;margin-top:13px}.start-digest-format>label{display:flex;flex-direction:column;gap:4px;font:9px var(--sans);letter-spacing:.03em;color:#b8cdd4}.start-digest-format>label small{font:8px var(--mono);color:#7799a8;letter-spacing:.01em}.start-digest-format select,.digest-format-control select{width:100%;min-height:36px;padding:7px 9px;color:#d8e8e5;border:1px solid rgba(174,209,218,.29);border-radius:2px;background:rgba(12,31,44,.88);font:10px var(--sans);cursor:pointer}.start-digest-format select:focus-visible,.digest-format-control select:focus-visible{outline:2px solid var(--acid);outline-offset:3px}.start-digest-format option,.digest-format-control option{background:#102735;color:#e1eeea}.start-digest-format select:disabled,.digest-format-control select:disabled{opacity:.45;cursor:wait}
.digest-format-control{display:grid;grid-template-columns:auto minmax(155px,1fr);gap:6px 13px;align-items:center;margin-top:14px}.digest-format-control>label{font:9px var(--sans);color:#b9cfd5;letter-spacing:.02em}.digest-format-control>span{grid-column:2;font:8px var(--mono);color:#8aabb7;font-variant-numeric:tabular-nums;letter-spacing:.02em}.digest-format-hint{font:8px/1.65 var(--sans);color:#819fab;margin:8px 0 0}.digest-video[data-format=portrait]{aspect-ratio:9/16;width:auto;max-width:100%;height:min(58dvh,520px);max-height:520px;margin-left:auto;margin-right:auto}.digest-video[data-format=landscape]{aspect-ratio:16/9;width:100%;height:auto}
@media(min-width:1600px){.start-digest-format{width:380px}}
@media(max-height:800px) and (min-width:601px){.start-digest-format{margin-top:9px}.start-digest-format select{min-height:32px;padding:5px 8px}.start-digest-format>label{font-size:8px}.start-digest-format>label small{font-size:7px}}
@media(max-width:600px){.start-digest-format{width:100%;max-width:360px;margin-top:11px;gap:10px;grid-template-columns:minmax(105px,1fr) minmax(148px,1.35fr)}.start-digest-format>label{font-size:9px;gap:3px}.start-digest-format>label small{font-size:8px}.start-digest-format select{min-height:37px;font-size:10px}.digest-format-control{gap:6px 11px;margin-top:12px;grid-template-columns:auto minmax(140px,1fr)}.digest-format-control>label{font-size:8px}.digest-format-control select{min-height:40px;font-size:10px}.digest-format-control>span{font-size:8px}.digest-format-hint{font-size:8px;margin-top:7px}.digest-video[data-format=portrait]{height:min(51dvh,470px);max-height:470px}}
@media(max-width:600px) and (max-height:750px){.start-digest-format{margin-top:8px}.start-digest-format select{min-height:33px;padding:5px 8px}.start-digest-format>label{font-size:8px}.start-digest-format>label small{font-size:7px}}
@media(max-width:360px){.start-digest-format{grid-template-columns:minmax(88px,1fr) minmax(142px,1.4fr);gap:7px}.start-digest-format>label{font-size:8px}.start-digest-format select{font-size:9px;padding-left:7px;padding-right:6px}.digest-format-control{grid-template-columns:1fr}.digest-format-control>span{grid-column:1}.digest-format-control select{font-size:10px}.digest-video[data-format=portrait]{height:min(49dvh,420px)}}

/* The first paint is a complete branded scene, before WebGL or models arrive. */
.asset-loader{position:fixed;inset:0;z-index:96;display:grid;place-items:center;padding:28px;background:radial-gradient(ellipse at 72% 33%,#143a455c,transparent 47%),linear-gradient(145deg,#07131d,#091c27 64%,#051019);overflow:hidden;color:#dceced;isolation:isolate}
.asset-loader-grid{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#8ddae50a 1px,transparent 1px),linear-gradient(90deg,#8ddae50a 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse at center,#000,transparent 78%)}
.asset-loader-orbit{position:absolute;width:min(82vw,860px);aspect-ratio:1;right:-20%;top:-26%;border:1px solid #a4d7d614;border-radius:50%;box-shadow:0 0 0 48px #99d6e008,0 0 0 49px #99d6e00d,0 0 0 142px #99d6e004;z-index:-1}
.asset-loader-card{width:min(650px,100%);padding:33px 38px 27px;border:1px solid #9ccbd82e;border-top:2px solid #d6ff83;background:linear-gradient(135deg,#0b2331c7,#071722d9);box-shadow:0 26px 90px #0006;border-radius:3px;position:relative}
.asset-loader-card:before,.asset-loader-card:after{content:"";position:absolute;width:11px;height:11px;border:1px solid #c4ffa2}.asset-loader-card:before{left:-1px;bottom:-1px;border-right:0;border-top:0}.asset-loader-card:after{right:-1px;top:-1px;border-left:0;border-bottom:0}
.asset-loader-topline{display:flex;align-items:center;justify-content:space-between;gap:16px}.asset-loader-wordmark{font:600 27px/1 var(--sans);letter-spacing:.12em;white-space:nowrap}.asset-loader-wordmark i{font-weight:300;font-style:normal;color:#b8ee88}.asset-loader-index{font:8px var(--mono);letter-spacing:.12em;color:#7598a7;white-space:nowrap}
.asset-loader-hero{display:flex;align-items:center;gap:25px;padding:30px 0 24px}.asset-loader-mark{flex:0 0 111px;width:111px;height:111px;color:#d5ff89;filter:drop-shadow(0 0 25px #94e4a52e)}.asset-loader-kicker{font:9px var(--sans);color:#9eb9c5;letter-spacing:.12em}.asset-loader-hero h2{font:500 29px/1.25 var(--sans);letter-spacing:-.02em;margin:9px 0 11px;color:#edf6ef}.asset-loader-hero p{font:10px/1.65 var(--sans);color:#93b2c0;margin:0;max-width:340px}
.asset-loader-meter{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin:3px 0 12px}.asset-loader-meter>span{font:9px var(--sans);color:#92afbd;letter-spacing:.1em;padding-bottom:4px}#asset-load-percent{font:300 47px/.9 var(--mono);letter-spacing:-.07em;color:#d9ffa0;font-variant-numeric:tabular-nums}
#asset-load-bar{display:block;appearance:none;-webkit-appearance:none;width:100%;height:5px;border:0;border-radius:0;overflow:hidden;background:#294755;color:#d2ff7a;accent-color:#d2ff7a}#asset-load-bar::-webkit-progress-bar{background:#294755}#asset-load-bar::-webkit-progress-value{background:linear-gradient(90deg,#8fdcdd,#d5ff83);transition:width .24s ease-out}#asset-load-bar::-moz-progress-bar{background:linear-gradient(90deg,#8fdcdd,#d5ff83)}
.asset-load-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0;margin:20px 0 0;list-style:none}.asset-load-stages li{display:flex;align-items:center;gap:8px;padding:11px 9px;border:1px solid #7fa5b51f;background:#9cd6e005;min-width:0;font:9px var(--sans);color:#6e94a4;letter-spacing:.02em}.asset-stage-icon{font:8px var(--mono);color:#658c9d}.asset-load-stages li>i{height:4px;width:4px;border-radius:50%;margin-left:auto;background:#456571;flex:0 0 4px}.asset-load-stages li[data-state=loading],.asset-load-stages li.loading{color:#c8e5e6;border-color:#b8f29c48;background:#a7ea9409}.asset-load-stages li[data-state=loading]>i,.asset-load-stages li.loading>i{background:#d5ff83;box-shadow:0 0 8px #d5ff8345;animation:asset-stage-pulse 1.5s ease-in-out infinite}.asset-load-stages li[data-state=ready],.asset-load-stages li.ready{color:#c9eaa8;border-color:#b7ef9b2b}.asset-load-stages li[data-state=ready] .asset-stage-icon,.asset-load-stages li.ready .asset-stage-icon{font-size:0}.asset-load-stages li[data-state=ready] .asset-stage-icon:after,.asset-load-stages li.ready .asset-stage-icon:after{content:"✓";font-size:11px;color:#d5ff83}.asset-load-stages li[data-state=ready]>i,.asset-load-stages li.ready>i{background:#a7e688}.asset-load-stages li[data-state=error],.asset-load-stages li.error{color:#ffb7a1;border-color:#ff9d7c50}.asset-load-stages li[data-state=error]>i,.asset-load-stages li.error>i{background:#ff987e}
.asset-loader-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:19px}.asset-loader-bottom p{font:9px/1.7 var(--sans);color:#718f9e;margin:0}.asset-load-retry{min-height:36px;padding:8px 12px;color:#f5d7c8;border:1px solid #ffae8a69;background:#f5947214;border-radius:2px;font:10px var(--sans);white-space:nowrap}.asset-load-retry:hover{background:#f594722a}.asset-loader-footnote{position:absolute;left:50%;bottom:25px;transform:translateX(-50%);font:8px var(--mono);letter-spacing:.33em;color:#668c9a;white-space:nowrap}.asset-loader[data-state=error] .asset-loader-card{border-top-color:#ff9a7b}.asset-loader[data-state=error] #asset-load-percent{color:#ffc3a9}.asset-loader[data-state=error] .asset-loader-mark{color:#ffb99d}.asset-loader[data-state=ready] .asset-loader-hero h2{color:#d8ffa3}
@keyframes asset-stage-pulse{0%,100%{opacity:.4}50%{opacity:1}}

/* Choose a full replay, a director's edit, or a short digest after the run. */
.result-replay-choices{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:8px}.result-replay-choices .primary-btn,.editor-open{margin:0;min-height:47px;padding:11px 12px;font:500 10px/1.5 var(--sans);letter-spacing:.015em;display:flex;align-items:center;justify-content:space-between;gap:7px}.editor-open{color:#d4e6e7;border:1px solid #a8d1dd48;background:linear-gradient(130deg,#183a48,#102633);border-radius:2px}.editor-open>span{font-size:18px;font-weight:300;color:#bff38f}.editor-open:hover{border-color:#aee9cc;background:#204554}.editor-open:disabled{opacity:.4;cursor:wait}.result-replay-choices+.replay-availability{margin-bottom:20px}.digest-card .digest-create{min-height:43px;font-size:11px;font-weight:600;justify-content:center}.digest-card[data-state=idle]{border-color:#baddab49}.digest-card[data-state=idle] .digest-create{background:#d7ff62;color:#14210e;border-color:#d7ff62}.digest-card[data-state=idle] .digest-create:hover{background:#e6ffa8}

/* Camera cuts live in a collapsible drawer so the run stays in view. */
.editor-panel{margin-top:13px;border-top:1px solid #94bfcb3b;padding-top:10px}.editor-options>summary{display:flex;align-items:center;gap:11px;cursor:pointer;list-style:none;padding:2px 0 4px;user-select:none}.editor-options>summary::-webkit-details-marker{display:none}.editor-options>summary:focus-visible{outline:2px solid var(--acid);outline-offset:4px}.editor-heading{display:flex;flex-direction:column;gap:4px}.editor-heading small{font:6px var(--mono);letter-spacing:.16em;color:#789da9}.editor-heading strong{font:500 12px var(--sans);letter-spacing:.02em;color:#d8e9e7}.editor-cut-badge{display:flex;align-items:baseline;gap:4px;margin-left:auto;padding:5px 7px;background:#c3ee9b0c;border:1px solid #c3ee9b27;border-radius:2px;color:#d3f3a9}.editor-cut-badge>b{font:500 15px var(--mono);font-variant-numeric:tabular-nums}.editor-cut-badge>span{font:7px var(--mono);letter-spacing:.04em}.editor-chevron{color:#9db7c0;font:20px/1 Arial,sans-serif;transform:rotate(0);transition:transform .18s}.editor-options[open] .editor-chevron{transform:rotate(180deg)}
.editor-body{max-height:min(31dvh,290px);overflow:auto;overscroll-behavior:contain;padding:10px 4px 2px 0;scrollbar-width:thin;scrollbar-color:#708b7b #102b37}.editor-description{margin:0 0 12px;font:10px/1.7 var(--sans);color:#93b0bd}.editor-record-toggle{display:flex;align-items:center;gap:8px;font:10px var(--sans);color:#cedfdc;cursor:pointer}.editor-record-toggle input{appearance:auto;-webkit-appearance:checkbox;accent-color:var(--acid);width:14px;height:14px;margin:0;flex:0 0 14px}.editor-record-toggle i{width:4px;height:4px;border-radius:50%;background:#4c6976;margin-left:auto}.editor-record-toggle:has(input:checked) i{background:#d7ff62;box-shadow:0 0 8px #d7ff6244}.editor-cuts-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px}.editor-cuts-heading>span{font:8px var(--sans);color:#8cabb7}.editor-reset{padding:5px 7px;color:#a6c2cd;border:1px solid #a8c7d02e;background:transparent;border-radius:2px;font:8px var(--sans);min-height:27px}.editor-reset:hover{border-color:#c9f09a;color:#d5f4b0}.editor-cuts-list{list-style:none;margin:6px 0 12px;padding:0;max-height:96px;overflow:auto;scrollbar-width:thin;scrollbar-color:#708b7b #102b37}.editor-cuts-list:empty:before{content:"—";display:block;padding:12px;color:#5d7d8d;font:10px var(--mono);background:#071b244d}.editor-cuts-list li{display:flex;align-items:center;gap:9px;padding:7px 9px;border-top:1px solid #6c9aa422;background:#6da5ae06;font:9px/1.5 var(--sans);color:#bed2d8}.editor-cuts-list li>span:first-child,.editor-cuts-list time{font:9px var(--mono);color:#c9ecaf;font-variant-numeric:tabular-nums;flex:0 0 auto}.editor-cuts-list button{margin-left:auto;border:0;background:transparent;color:#a6bdc8;font:10px var(--sans);padding:3px 5px;min-height:24px}.editor-cuts-list button:hover{color:#ffb399}
.editor-format-row{display:grid;grid-template-columns:auto minmax(140px,1fr);align-items:center;gap:12px;margin-top:10px}.editor-format-row label{font:9px var(--sans);color:#a8c1ca}.editor-format-row select{min-height:34px;width:100%;padding:6px 9px;color:#dce9e5;border:1px solid #9bbfca40;background:#102b3a;border-radius:2px;font:10px var(--sans)}.editor-format-row option{background:#102b3a}.editor-export{display:block;width:100%;min-height:39px;padding:9px 13px;margin-top:11px;border:1px solid #c1ee9973;border-radius:2px;background:#c9f488;color:#193020;font:600 11px/1.5 var(--sans);letter-spacing:.015em}.editor-export:hover{background:#deffa6}.editor-export:disabled{opacity:.45;cursor:wait}.editor-output-note{margin:8px 0 0;font:8px/1.7 var(--sans);color:#a5c9bf}.editor-status{margin:8px 0 0;font:9px/1.6 var(--sans);color:#92acb8;overflow-wrap:anywhere}.editor-video{width:100%;aspect-ratio:16/9;display:block;object-fit:contain;border:1px solid #8bb5c33a;background:#020a10;margin:11px auto 0}.editor-video[data-format=portrait]{aspect-ratio:9/16;width:auto;height:min(36dvh,350px);max-width:100%;max-height:350px}.editor-video-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.editor-video-actions:empty{display:none}.editor-video-actions .digest-button{min-height:35px;font-size:9px}

/* Impacts read immediately; a wreck leaves a clear red report state. */
.crash-feedback{position:fixed;z-index:47;left:50%;top:24%;transform:translateX(-50%) rotate(-3deg);display:flex;align-items:center;gap:14px;max-width:min(510px,calc(100vw - 36px));padding:15px 21px 15px 16px;border:1px solid #ffab8ba3;border-left:4px solid #ff876d;border-radius:3px;background:linear-gradient(110deg,#8e251bd9,#261c20e8);box-shadow:0 9px 35px #20000080,0 0 36px #ff4c332b;pointer-events:none;animation:crash-arrive .35s cubic-bezier(.15,.85,.3,1) both}.crash-feedback-icon{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border:2px solid #ffd7ac;border-radius:50%;color:#ffe9c5;font:900 italic 27px/1 Arial}.crash-feedback>div{display:flex;flex-direction:column;gap:4px}.crash-feedback strong{font:900 italic 25px/1.1 Arial,var(--sans);letter-spacing:.01em;color:#ffe0b8;text-shadow:0 0 14px #ff653d8f}.crash-feedback>div>span{font:10px/1.6 var(--sans);color:#ffd0b9}.damaged:before,.wrecked:before{content:"";position:fixed;inset:0;z-index:38;pointer-events:none;border:3px solid #ff695c80;background:radial-gradient(ellipse at center,transparent 46%,#de35261c 72%,#c82b1c9c);box-shadow:inset 0 0 100px #d933244a}.damaged:not(.wrecked):before{animation:damage-edge .85s ease-out both}.damaged #hull-value{color:#ffb395;animation:damage-hull .8s ease-out both}.wrecked #hull-value,.wrecked #result-rank{color:#ff9b7f}.wrecked #result-screen .result-card{border-top-color:#ff9678;background:linear-gradient(145deg,#321f24,#0b1d29 45%)}.wrecked #result-screen .result-card:before{background:#ff9678}.wrecked #result-title{color:#ffc3a8}.wrecked #result-screen .section-tick{background:#ff9678}.wrecked #result-screen .eyebrow{color:#d1a399}.wrecked .crash-feedback{background:linear-gradient(105deg,#a22e20ef,#382127ed);border-color:#ffb98e}.wrecked .crash-feedback strong{font-size:28px}
@keyframes crash-arrive{from{opacity:0;transform:translateX(-50%) translateY(-12px) rotate(-5deg) scale(.85)}to{opacity:1;transform:translateX(-50%) rotate(-3deg) scale(1)}}
@keyframes damage-edge{0%{opacity:1}25%{opacity:.8}100%{opacity:0}}
@keyframes damage-hull{0%{transform:scale(1.3);opacity:.45}50%{transform:scale(1.07);opacity:1}100%{transform:scale(1);opacity:1}}
@media(max-width:600px){.asset-loader{padding:21px}.asset-loader-card{padding:25px 23px 21px}.asset-loader-wordmark{font-size:21px;letter-spacing:.1em}.asset-loader-index{font-size:6px;letter-spacing:.04em}.asset-loader-hero{gap:17px;padding:25px 0 22px}.asset-loader-mark{width:72px;height:72px;flex-basis:72px}.asset-loader-hero h2{font-size:23px;line-height:1.3;margin:8px 0 9px}.asset-loader-kicker{font-size:8px}.asset-loader-hero p{font-size:9px;line-height:1.7}.asset-loader-meter>span{font-size:8px}#asset-load-percent{font-size:39px}.asset-load-stages{gap:7px;margin-top:17px}.asset-load-stages li{font-size:8px;padding:10px 7px;gap:6px}.asset-stage-icon{font-size:7px}.asset-loader-bottom{margin-top:16px;flex-wrap:wrap;gap:11px}.asset-loader-bottom p{font-size:8px}.asset-load-retry{min-height:39px;width:100%}.asset-loader-footnote{font-size:6px;letter-spacing:.25em;bottom:22px}.result-replay-choices{gap:7px}.result-replay-choices .primary-btn,.editor-open{font-size:9px;min-height:45px;padding:10px 9px;gap:5px}.editor-open>span{font-size:16px}.digest-card .digest-create{font-size:10px}.editor-panel{margin-top:10px;padding-top:9px}.editor-heading strong{font-size:11px}.editor-heading small{font-size:5px}.editor-cut-badge>b{font-size:13px}.editor-body{max-height:25dvh;padding-top:9px}.editor-description{font-size:9px;line-height:1.6;margin-bottom:10px}.editor-record-toggle{font-size:9px}.editor-cuts-list{max-height:73px}.editor-cuts-list li{padding:6px 8px;font-size:8px;gap:7px}.editor-cuts-list li>span:first-child,.editor-cuts-list time{font-size:8px}.editor-format-row{gap:8px;grid-template-columns:auto minmax(135px,1fr)}.editor-format-row label{font-size:8px}.editor-format-row select{min-height:37px;font-size:9px}.editor-export{min-height:39px;font-size:10px}.editor-status{font-size:8px;line-height:1.6;margin-top:7px}.editor-output-note{font-size:8px}.editor-video[data-format=portrait]{height:min(34dvh,310px)}.crash-feedback{top:25%;gap:10px;padding:12px 16px 12px 12px;border-left-width:3px}.crash-feedback-icon{width:28px;height:28px;flex-basis:28px;font-size:22px}.crash-feedback strong,.wrecked .crash-feedback strong{font-size:21px}.crash-feedback>div>span{font-size:9px;line-height:1.5}.damaged:before,.wrecked:before{border-width:2px;box-shadow:inset 0 0 70px #d933243d}}
@media(max-width:360px){.asset-loader{padding:16px}.asset-loader-card{padding:22px 18px}.asset-loader-wordmark{font-size:18px}.asset-loader-index{font-size:5px}.asset-loader-hero{gap:12px}.asset-loader-mark{width:59px;height:59px;flex-basis:59px}.asset-loader-hero h2{font-size:20px}.asset-load-stages li{font-size:7px;gap:4px;padding:9px 5px}.asset-stage-icon{font-size:6px}.asset-load-stages{gap:5px}.result-replay-choices{grid-template-columns:1fr}.editor-format-row{grid-template-columns:1fr;gap:6px}.editor-body{max-height:24dvh}}
@media(max-height:560px) and (min-width:601px){.asset-loader-card{padding:22px 29px;width:min(650px,100%)}.asset-loader-hero{padding:17px 0 13px}.asset-loader-mark{width:78px;height:78px;flex-basis:78px}.asset-loader-hero h2{font-size:25px}.asset-load-stages{margin-top:14px}.asset-loader-bottom{margin-top:13px}.asset-loader-footnote{bottom:12px}.editor-body{max-height:23dvh}.editor-panel{margin-top:9px;padding-top:7px}}
@media(prefers-reduced-motion:reduce){.asset-load-stages li>i,.crash-feedback,.damaged:before,.damaged #hull-value{animation:none}.damaged:not(.wrecked):before{opacity:.45}#asset-load-bar::-webkit-progress-value,.editor-chevron{transition:none}}

/* Controller-generated cut rows keep the seek target large and delete separate. */
.editing-replay .replay-panel{border-top-color:#c9ee9375;max-height:min(66dvh,620px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#708b7b #102b37}
.editor-cuts-list .editor-cut{padding:4px 6px;gap:7px}.editor-cuts-list .editor-cut-jump{flex:1 1 auto;min-width:0;min-height:29px;margin:0;padding:5px 6px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:9px/1.5 var(--mono);color:#cbe5bc;border-radius:2px}.editor-cuts-list .editor-cut-jump:hover{background:#c0f29d0c;color:#e0ffc0}.editor-cuts-list .editor-cut-delete{display:grid;place-items:center;flex:0 0 27px;min-width:27px;min-height:27px;margin:0;padding:1px;color:#b3c8d0;border:1px solid #9fc1ce24;border-radius:2px;font:17px/1 Arial,sans-serif;background:#a9c6cf05}.editor-cuts-list .editor-cut-delete:hover{color:#ffbea5;background:#ff9b7110;border-color:#ffba946b}.editor-cuts-list .editor-cut-jump:focus-visible,.editor-cuts-list .editor-cut-delete:focus-visible,.editor-format-row select:focus-visible{outline:2px solid var(--acid);outline-offset:2px}.editor-cuts-list .editor-cut-delete:disabled,.editor-cuts-list .editor-cut-jump:disabled{opacity:.35;cursor:wait}
@media(max-width:600px){.editing-replay .replay-panel{max-height:64dvh}.editor-cuts-list .editor-cut-jump{min-height:31px;font-size:8px}.editor-cuts-list .editor-cut-delete{min-height:29px;min-width:29px;flex-basis:29px}.editor-cuts-list .editor-cut{padding:3px 4px;gap:5px}}
@media(max-height:560px) and (min-width:601px){.editing-replay .replay-panel{max-height:72dvh}}

/* Editing sits beside the driving shot on desktop, preserving its centre. */
@media(min-width:901px){
 body.editing-replay #replay-panel{left:auto;right:18px;bottom:18px;transform:none;width:380px;max-width:calc(100vw - 36px);max-height:calc(100dvh - 110px);padding:16px 16px 14px;overflow-y:auto}
 .editing-replay .replay-topline{gap:10px;align-items:flex-start}.editing-replay .replay-title{font-size:9px;letter-spacing:.07em;column-gap:6px;row-gap:5px}.editing-replay #replay-view-label{font-size:8px;max-width:123px;padding-left:6px}.editing-replay .replay-clock{font-size:10px;gap:5px;padding-top:1px}
 .editing-replay .replay-camera-row{grid-template-columns:auto minmax(120px,1fr) auto;gap:8px;margin-top:11px}.editing-replay .replay-camera-row>label,.editing-replay .replay-camera-row>span{font-size:8px}.editing-replay .replay-camera-row select{font-size:10px;padding-left:8px;padding-right:5px}
 .editing-replay .replay-actions{grid-template-columns:1fr 1fr 59px 1.16fr;gap:6px}.editing-replay .replay-action{font-size:10px;min-height:36px;padding:6px}.editing-replay .replay-rate select{font-size:10px;min-height:36px;padding:6px}
 .editing-replay .editor-panel{margin-top:11px;padding-top:9px}.editing-replay .editor-body{max-height:min(32dvh,270px)}.editing-replay .editor-description{font-size:9px}.editing-replay .editor-format-row{gap:9px;grid-template-columns:auto minmax(130px,1fr)}.editing-replay .editor-format-row>label{font-size:8px}.editing-replay .editor-format-row select{font-size:9px}.editing-replay .editor-export{font-size:10px}.editing-replay .editor-status{font-size:8px}
}
@media(max-width:900px){
 body.editing-replay #replay-panel{left:50%;right:auto;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(560px,calc(100vw - 28px));max-height:58dvh;overflow-y:auto}
 .editing-replay .editor-body{max-height:23dvh}
}
@media(max-width:600px){
 body.editing-replay #replay-panel{max-height:min(55dvh,410px);bottom:max(10px,env(safe-area-inset-bottom));padding:11px 12px 12px;width:calc(100vw - 24px)}
 .editing-replay .replay-camera-row{margin-top:8px}.editing-replay .replay-seek{margin-top:6px;margin-bottom:5px}.editing-replay .editor-panel{margin-top:9px;padding-top:7px}.editing-replay .editor-body{max-height:19dvh}.editing-replay .editor-status{margin-top:5px}.editing-replay .editor-options>summary{padding-top:0;padding-bottom:2px}
}

/* Three routes share one compact row: wall, city, then practice. */
.mode-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.mode-option{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:5px;min-width:0;min-height:70px;padding:9px 8px;font-size:10px;line-height:1.4;white-space:normal}.mode-option>span{font-size:7px;line-height:1.2;letter-spacing:.08em}.mode-option small{font-size:7px;line-height:1.45;letter-spacing:0;color:#839da9;white-space:normal}.mode-option.active small,.mode-option[aria-pressed=true] small{color:#b1ce95}#mode-city:not(.active):not([aria-pressed=true])>span{color:#77b8c7}#mode-city:not(.active):not([aria-pressed=true]){background:linear-gradient(135deg,#1b3b452e,#10273342)}

/* A lightweight navigation strip leaves the driving line and car clear. */
.city-mission{position:absolute;left:50%;top:201px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;width:min(350px,calc(100vw - 40px));padding:10px 13px 10px 10px;border:1px solid #9acbd23d;border-left:2px solid #b9f194;border-radius:2px;background:linear-gradient(110deg,#0a2631de,#0a2230a6);backdrop-filter:blur(8px);pointer-events:none;box-shadow:0 5px 24px #0002;color:#c6edaa}
.city-mission-icon{display:grid;place-items:center;width:29px;height:29px;flex:0 0 29px;color:#c5eea4}.city-mission-icon svg{display:block;width:26px;height:26px}.city-mission-copy{flex:1;min-width:0}.city-mission-topline{display:flex;align-items:center;justify-content:space-between;gap:10px}.city-mission-topline>strong{font:500 11px/1.35 var(--sans);letter-spacing:.015em;color:#e0eee6}.city-mission-topline>span{font:8px var(--mono);color:#d2f69e;font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:.015em}.city-mission-copy>p{margin:5px 0 0;font:9px/1.55 var(--sans);color:#91b3c1;letter-spacing:.015em}.city-mission[data-state=highway]{border-left-color:#83dcf0}.city-mission[data-state=highway] .city-mission-icon,.city-mission[data-state=highway] .city-mission-topline>span{color:#a0e9f3}.city-mission[data-state=crossing]{border-left-color:#f7cf87}.city-mission[data-state=crossing] .city-mission-icon{color:#f7da9c}.city-mission[data-state=complete]{border-color:#c1f79254;background:linear-gradient(110deg,#17312be3,#10282da6)}.city-mission[data-state=complete] .city-mission-topline>strong{color:#deffb9}
.replaying .city-mission,.finishing .city-mission,.digesting .city-mission{display:none!important}.help-city{margin-top:18px;padding:16px 18px;border-left:2px solid #83d6e2;background:#73b6c00a}.help-city>strong{font:500 12px/1.5 var(--sans);color:#c4e6e7}.help-city>p{margin:8px 0 0;font:11px/1.8 var(--sans);color:#99b8c4}
@media(min-width:1600px){.mode-option{padding:10px 9px;font-size:11px;min-height:74px}.mode-option small{font-size:8px}.city-mission{top:224px}}
@media(max-height:800px) and (min-width:801px){.mode-option{min-height:64px;padding:7px 8px;gap:4px}.mode-option small{font-size:7px}.city-mission{top:178px;padding-top:9px;padding-bottom:9px}.city-mission-topline>strong{font-size:10px}.city-mission-copy>p{font-size:8px}}
@media(max-height:680px) and (min-width:801px){.mode-option{min-height:57px;padding:6px 7px;font-size:9px;gap:3px}.mode-option small{font-size:7px}.city-mission{top:154px;width:320px;padding:8px 10px}.city-mission-icon{width:25px;height:25px;flex-basis:25px}.city-mission-copy>p{font-size:8px;margin-top:4px}}
@media(max-width:800px){.mode-switch{gap:6px}.mode-option{min-height:66px;padding:8px 7px;font-size:10px;gap:4px}.city-mission{top:172px;width:320px}}
@media(max-width:600px){.mode-option{min-height:61px;padding:7px 7px;font-size:10px;gap:3px}.mode-option>span{font-size:6px}.mode-option small{font-size:7px}.city-mission{top:151px;gap:8px;padding:8px 10px 8px 8px;width:calc(100vw - 40px);max-width:350px}.city-mission-icon{width:23px;height:23px;flex-basis:23px}.city-mission-icon svg{width:22px;height:22px}.city-mission-topline{gap:8px}.city-mission-topline>strong{font-size:10px}.city-mission-topline>span{font-size:7px}.city-mission-copy>p{font-size:8px;line-height:1.45;margin-top:4px}.help-city{padding:13px 14px}.help-city>strong{font-size:11px}.help-city>p{font-size:10px}}
@media(max-width:600px) and (max-height:750px){.mode-option{min-height:56px;font-size:9px;padding:6px 7px;gap:3px}.mode-option small{font-size:6px}.city-mission{top:145px;padding-top:7px;padding-bottom:7px}}
@media(max-width:360px){.mode-switch{gap:5px}.mode-option{padding:6px;font-size:9px}.mode-option small{font-size:6px}.city-mission{left:15px;transform:none;width:calc(100vw - 30px);max-width:none}.city-mission-topline>strong{font-size:9px}.city-mission-copy>p{font-size:7px}.city-mission-topline>span{font-size:7px}}

.city-mission[data-state=exit]{border-left-color:#ffba91;background:linear-gradient(110deg,#29272cde,#112733ad)}.city-mission[data-state=exit] .city-mission-icon,.city-mission[data-state=exit] .city-mission-topline>span{color:#ffceaa}

/* Small route arrows stay above the road instead of covering the driving line. */
.city-director{--nav-accent:#dfff62;--nav-turn:0deg;position:absolute;left:50%;top:108px;transform:translateX(-50%);width:250px;height:72px;padding:0;z-index:25;border:0;border-radius:0;background:none;box-shadow:none;pointer-events:none;filter:drop-shadow(0 2px 3px #020b0de8);isolation:isolate}
.city-director:before,.city-director-eyebrow{display:none}.city-director-main{display:grid;grid-template-columns:66px minmax(0,1fr);grid-template-rows:1fr 1fr;column-gap:8px;height:72px;margin:0;align-items:center}.city-director-arrow{grid-column:1;grid-row:1 / 3;display:grid;place-items:center;width:66px;height:66px;filter:drop-shadow(0 2px 0 #0008)}.city-director-arrow svg{display:block;width:66px;height:66px;transform:rotate(var(--nav-turn));overflow:visible}.city-arrow-depth{fill:#64762c;stroke:#020702;stroke-width:8;stroke-linejoin:round}.city-arrow-face{fill:var(--nav-accent);stroke:#020702;stroke-width:8;stroke-linejoin:round}.city-director-arrow[data-direction=up-right]{--nav-turn:45deg}.city-director-arrow[data-direction=up-left]{--nav-turn:-45deg}.city-director-arrow[data-direction=right]{--nav-turn:90deg}.city-director-arrow[data-direction=down-right]{--nav-turn:135deg}.city-director-arrow[data-direction=down]{--nav-turn:180deg}.city-director-arrow[data-direction=down-left]{--nav-turn:-135deg}.city-director-arrow[data-direction=left]{--nav-turn:-90deg}
.city-director-copy{grid-column:2;grid-row:1;align-self:end;min-width:0;padding-bottom:2px}.city-director-copy>strong{display:block;font:900 italic 14px/1.15 Arial,var(--sans);letter-spacing:-.015em;color:var(--nav-accent);white-space:nowrap;-webkit-text-stroke:0;paint-order:stroke fill;text-shadow:0 2px 3px #020903,1px 0 #020903,-1px 0 #020903}.city-director-copy>p{display:none}.city-director-range{grid-column:2;grid-row:2;align-self:start;min-width:0;padding:0;border:0;border-radius:0;background:none;text-align:left}.city-director-range>span{display:none}.city-director-range>strong{display:block;margin:0;font:800 25px/1.14 var(--mono);letter-spacing:-.06em;color:#fbffe6;font-variant-numeric:tabular-nums;white-space:nowrap;text-shadow:0 2px 4px #020903,1px 0 #020903,-1px 0 #020903}.city-director:has(.city-director-range[hidden]) .city-director-copy{grid-row:1 / 3;align-self:center;padding:0}
.city-director[data-urgency=warning]{--nav-accent:#e5ff69}.city-director[data-urgency=urgent]{--nav-accent:#ffc75e}.city-director[data-urgency=critical]{--nav-accent:#ffe879}.city-director[data-urgency=land]{--nav-accent:#9bffe6}.city-director[data-urgency=critical] .city-director-arrow{animation:city-nav-pulse .75s ease-in-out infinite alternate}.city-director[data-urgency=land] .city-arrow-depth{fill:#285d55}
.city-mission{top:185px;gap:0;width:250px;max-width:250px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none;color:#a7beb8;text-shadow:0 1px 3px #000}.city-mission-icon,.city-mission-copy>p{display:none}.city-mission-topline{gap:10px;justify-content:center}.city-mission-topline>strong{font:500 8px/1.5 var(--sans);color:#9eb6b1;letter-spacing:0;white-space:nowrap}.city-mission-topline>span{font:8px/1.5 var(--mono);color:#d4eaa8;white-space:nowrap}.city-mission[data-state=highway],.city-mission[data-state=crossing],.city-mission[data-state=complete],.city-mission[data-state=exit]{border:0;background:none}
.replaying .city-director{top:100px}
@keyframes city-nav-pulse{from{opacity:1;transform:translateY(0)}to{opacity:.65;transform:translateY(-2px)}}
@media(max-width:800px){.city-director{top:137px;width:200px;height:60px}.city-director-main{height:60px;grid-template-columns:54px minmax(0,1fr);column-gap:6px}.city-director-arrow,.city-director-arrow svg{width:54px;height:54px}.city-director-copy>strong{font-size:11px}.city-director-range>strong{font-size:22px}.city-mission{top:200px;width:220px;max-width:220px;left:50%;transform:translateX(-50%)}.city-mission-topline>strong,.city-mission-topline>span{font-size:7px}.replaying .city-director{top:88px}}
@media(max-height:520px){.city-director,.replaying .city-director{left:50%;right:auto;top:80px;transform:translateX(-50%);width:220px;height:60px}.city-director-main{height:60px;grid-template-columns:54px minmax(0,1fr);column-gap:6px}.city-director-arrow,.city-director-arrow svg{width:54px;height:54px}.city-director-copy>strong{font-size:12px}.city-director-range>strong{font-size:22px}.city-mission{left:50%;right:auto;top:144px;transform:translateX(-50%);width:220px;max-width:220px}}
@media(prefers-reduced-motion:reduce){.city-director[data-urgency=critical] .city-director-arrow{animation:none}}
/* Live phone guidance sits beside distance/time; replay has the centre free. */
@media(max-width:800px) and (min-height:521px){
 body:not(.replaying) .city-director{left:auto;right:16px;top:88px;transform:none;width:min(180px,calc(50vw - 16px))}
 body:not(.replaying) .city-mission{left:auto;right:16px;top:152px;transform:none;width:min(180px,calc(50vw - 16px));max-width:none}
 body:not(.replaying) .city-mission-topline{justify-content:flex-start;gap:6px}
}
@media(max-width:360px) and (min-height:521px){body:not(.replaying) .city-director-main{grid-template-columns:46px minmax(0,1fr);column-gap:4px}body:not(.replaying) .city-director-arrow,body:not(.replaying) .city-director-arrow svg{width:46px;height:46px}body:not(.replaying) .city-director-copy>strong{font-size:10px}body:not(.replaying) .city-director-range>strong{font-size:20px}.city-mission-topline>strong{display:none}}
@media(max-width:800px){body.city-mode #combo-chip,body.city-mode .thruster-cluster{display:none}}

/* Docket release: secondary gameplay-film entry. */
.film-link{display:flex;align-items:center;justify-content:center;gap:12px;width:min(100%,390px);padding:12px 16px;color:#c1cbd8;text-decoration:none;font-size:12px;letter-spacing:.05em;transition:color .18s;background:transparent}
.film-link:hover{color:#c9ff67}.film-link:focus-visible{outline:2px solid #c9ff67;outline-offset:2px}
