:root{--orange:#ff6c32;--paper:#f3f2ee;--muted:#8d979c;--line:#ffffff19;--bg:#0c1115}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:var(--bg);color:var(--paper);font:14px/1.5 'Inter','Segoe UI','PingFang SC','Microsoft Yahei',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;border:0;cursor:pointer;background:none;touch-action:none}button:focus-visible,a:focus-visible{outline:2px solid var(--orange);outline-offset:4px}#world,.vignette{position:fixed;inset:0}#world canvas{display:block;width:100%;height:100%}.vignette{pointer-events:none;background:linear-gradient(90deg,rgba(7,11,15,.9),transparent 65%),linear-gradient(0deg,#090e12b3,transparent 35%,transparent 85%,#080c10a6)}header{position:fixed;top:0;left:0;right:0;padding:27px 38px;display:flex;justify-content:space-between;align-items:center;z-index:5;border-bottom:1px solid var(--line);background:linear-gradient(#0b101784,transparent)}.brand{text-decoration:none;color:inherit;display:flex;align-items:center;gap:14px;letter-spacing:3px;font-size:15px;font-weight:700}.brand small{display:block;letter-spacing:2px;font-size:8px;color:#9ca4aa;margin-top:3px;font-weight:400}.brand-icon{font-size:30px;line-height:1;font-style:italic;position:relative}.brand-icon span{color:var(--orange);font-size:22px}.top-center{font:9px monospace;letter-spacing:2px;color:#99a3ab}.top-center i,.intro-foot i{display:inline-block;width:5px;height:5px;background:var(--orange);border-radius:50%;margin-right:8px;box-shadow:0 0 12px #ff6c3280}.top-center b{margin-left:24px;color:#d5d9db;font-weight:400}nav{display:flex;gap:9px}nav button{font-size:10px;border:1px solid var(--line);padding:7px 11px;border-radius:3px;color:#bcc4c8}nav button:hover{border-color:#ff6c3280;color:#fff}nav #help{width:31px;padding:5px}.intro{position:absolute;left:6.5vw;top:50%;transform:translateY(-46%);width:440px;max-width:45vw;z-index:2}.eyebrow{font-size:9px;letter-spacing:2px;color:var(--orange)}.eyebrow span{letter-spacing:3px;color:#c9cccb;margin-right:13px}h1{font-size:clamp(37px,4.7vw,72px);font-weight:500;line-height:1.24;letter-spacing:-3px;margin:24px 0}h1 em{font-style:normal;color:var(--orange)}.lead{font-size:13px;line-height:1.95;color:#aab3ba;letter-spacing:.5px;margin-bottom:30px}.mode-label{font-size:10px;letter-spacing:2px;border-top:1px solid var(--line);padding-top:16px;display:flex;justify-content:space-between;color:#bac0c4}.mode-label span{font:9px monospace;color:#6e7a82}.modes{display:flex;gap:9px;margin:12px 0 18px}.modes button{border:1px solid #ffffff1c;background:#10191e88;text-align:left;padding:12px 13px 13px;flex:1;font-size:13px;border-radius:3px}.modes button>span{font:9px monospace;display:block;margin-bottom:8px;color:#73828c}.modes small{display:block;font-size:9px;color:#84919a;margin-top:4px;white-space:nowrap}.modes .selected{border-color:#ff6c3290;background:#ff6c3212}.modes .selected>span{color:var(--orange)}.primary{background:var(--orange);color:#130e09;font-weight:600;font-size:13px;padding:16px 20px;width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;border-radius:3px;transition:background .2s}.primary:hover{background:#ff8757}.primary span{font-size:22px;line-height:1}.intro-foot{display:flex;justify-content:space-between;font:8px monospace;letter-spacing:1px;margin-top:18px;color:#82909a}.scene-label{position:absolute;right:8%;top:28%;display:flex;flex-direction:column;padding-left:16px;border-left:1px solid #ffffff45;text-shadow:0 2px 10px #000}.scene-label span{font:9px monospace;letter-spacing:2px;color:#bac8cf}.scene-label strong{font-size:40px;font-weight:300;letter-spacing:-2px;margin:8px 0 3px}.scene-label small{font-size:8px;letter-spacing:1px;color:#8d9ca5}.hidden{display:none!important}#hud{position:absolute;inset:0;pointer-events:none}.stagebar{position:absolute;left:38px;top:123px;display:flex;align-items:center;gap:15px}.stagebar>span{font:34px monospace;color:var(--orange);font-weight:300}.stagebar small{font:8px monospace;letter-spacing:2px;color:#8597a2}.stagebar h2{font-size:17px;font-weight:400;letter-spacing:2px;margin:0}.stage-dots{display:flex;gap:4px;margin-left:20px}.stage-dots i{width:19px;height:2px;background:#ffffff30}.stage-dots i.on{background:var(--orange)}.telemetry{position:absolute;left:38px;top:218px;width:172px}.speed{display:flex;align-items:baseline;gap:7px}.speed>span{font:64px/.95 'Segoe UI',sans-serif;letter-spacing:-4px;font-weight:300;font-variant-numeric:tabular-nums}.speed small{font:10px monospace;color:#92a1ab}.speed-track{height:3px;margin:17px 0 23px;background:#ffffff18;position:relative}.speed-track i{display:block;height:100%;background:#cedadd;width:0}.speed-track b{position:absolute;left:65.6%;width:7%;height:7px;top:-2px;background:#ff6c3290}.telemetry label{display:flex;justify-content:space-between;font-size:10px;color:#8d9ba3;margin:12px 0}.telemetry strong{font:13px monospace;color:#e6ebee}.telemetry small{font-size:9px;color:#80919b}.fuel-label{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;font-size:10px;margin-top:22px;color:#a1b0b8}.fuel-label span{color:var(--orange);font:11px monospace}.fuel-track{height:3px;background:#ffffff19;margin:10px 0 5px}.fuel-track i{display:block;height:100%;background:var(--orange);transition:width .1s}.attitude{position:absolute;right:38px;top:130px;text-align:center}.attitude-ring{height:94px;width:94px;border:1px solid #ffffff35;border-radius:50%;display:flex;justify-content:center;align-items:center;background:linear-gradient(#73939b19 50%,#ff6c3212 50%)}.attitude-ring:after{content:'';width:110px;height:1px;background:#ffffff45;position:absolute}.attitude-ring span{color:#ff6c32;font:14px monospace}.attitude-ring i{position:absolute;width:60px;height:12px;border-bottom:2px solid #f0f1ef;border-left:2px solid #f0f1ef;border-right:2px solid #f0f1ef;transform-origin:50% 50%}.attitude small{font:8px monospace;letter-spacing:2px;color:#80949f;display:block;margin-top:10px}.coach{position:absolute;bottom:151px;left:50%;transform:translateX(-50%);display:flex;gap:15px;align-items:center;background:#0b131ccc;border:1px solid #ffffff1c;backdrop-filter:blur(12px);padding:14px 22px;border-radius:4px;min-width:370px}.coach>span{font:28px monospace;color:var(--orange)}.coach strong{font-size:12px;font-weight:500;letter-spacing:1px}.coach p{font-size:10px;color:#92a3ae;margin:4px 0 0}.flight-info{position:absolute;bottom:122px;left:38px;right:38px;display:flex;justify-content:space-between;font:9px monospace;letter-spacing:1px;color:#96a6b0}.controls{position:absolute;bottom:46px;left:38px;right:38px;display:flex;justify-content:space-between;gap:12px;z-index:4;opacity:.5;pointer-events:none}body.playing .controls{opacity:1;pointer-events:auto}.control-group{display:flex;gap:7px}.control-group button{display:flex;gap:9px;align-items:center;background:#101a22bc;border:1px solid #ffffff25;padding:10px 12px;border-radius:4px;user-select:none;min-height:48px;backdrop-filter:blur(8px)}kbd{font:10px monospace;color:#eef1f2;min-width:15px;text-align:center}.control-group button span{font-size:10px;color:#9dabb5}.control-group button.active{background:#ff6c3240;border-color:var(--orange)}.control-group .jet-control{border-color:#ff6c3266;min-width:168px;justify-content:space-between}.jet-control kbd,.jet-control i{color:var(--orange);font-style:normal}.jet-control i{margin-left:16px}footer{position:fixed;bottom:13px;left:38px;right:38px;display:flex;justify-content:space-between;font:8px monospace;letter-spacing:1.4px;color:#627780;pointer-events:none}footer b{color:var(--orange);font-weight:400;margin:0 10px}.result{position:absolute;top:50%;left:6.5vw;transform:translateY(-44%);width:430px;max-width:90vw;background:#0b131de8;border:1px solid #ffffff25;padding:25px 28px;backdrop-filter:blur(16px);border-radius:5px;z-index:6}.result-head{display:flex;justify-content:space-between;align-items:center}.result-head b{color:var(--orange);font:italic 42px/1 Georgia}.result h2{font-size:30px;letter-spacing:-1px;margin:9px 0}.result>p{font-size:11px;color:#a5b2ba;min-height:32px;margin:0}.score-line{display:flex;gap:14px;align-items:center;margin:12px 0}.score-line>strong{font:68px/1 'Segoe UI',sans-serif;font-weight:300;letter-spacing:-4px}.score-line>span{font:11px monospace;color:#7f919f}.score-line small{display:block;color:var(--orange);font-size:9px;margin-top:5px}#breakdown>div{display:flex;align-items:center;gap:11px;font-size:10px;color:#99abb7;margin:8px 0}#breakdown label{width:55px}#breakdown .track{flex:1;height:3px;background:#ffffff14}#breakdown i{display:block;height:100%;background:#c4d0d7}#breakdown span{width:48px;text-align:right;font:10px monospace}.result-metrics{display:flex;justify-content:space-between;padding:14px 0;margin:16px 0;border-block:1px solid var(--line)}.result-metrics span{font-size:9px;color:#899aa5}.result-metrics strong{display:block;font:15px monospace;color:#e1e7ec;margin-top:5px}.result-actions{display:flex;justify-content:space-between;margin-top:12px}.result-actions button{font-size:10px;color:#95a8b3;text-decoration:underline;text-underline-offset:4px}.modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);background:#0e1824ef;border:1px solid var(--line);padding:38px;width:360px;z-index:10;backdrop-filter:blur(20px);text-align:center;border-radius:4px}.modal small{font:9px monospace;letter-spacing:2px;color:var(--orange)}.modal h2{font-size:23px;font-weight:400;margin:15px 0 30px}.modal>button:last-child{font-size:11px;color:#a7b5bd;margin-top:20px}.help-panel{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:510px;max-width:93vw;max-height:88dvh;overflow:auto;background:#101a24f5;border:1px solid #ffffff30;padding:32px;z-index:12;backdrop-filter:blur(22px);border-radius:5px}.close{position:absolute;right:17px;top:9px;font-size:26px;color:#8096a4}.help-panel h2{font-size:28px;font-weight:400;margin:15px 0 25px}.help-panel article{display:flex;gap:19px;margin:22px 0}.help-panel article>b{font:18px monospace;color:var(--orange);padding-top:1px}.help-panel h3{font-size:13px;margin:0 0 7px;font-weight:500}.help-panel p{font-size:11px;color:#9bafbb;line-height:1.8;margin:0}.help-note{border-top:1px solid var(--line);padding-top:15px;color:#7e949f;font-size:10px;line-height:1.8;margin-bottom:22px}.replay-banner{position:fixed;left:50%;top:120px;transform:translateX(-50%);font:10px monospace;color:var(--orange);background:#101923d9;padding:12px 20px;border:1px solid #ffffff25;z-index:9;white-space:nowrap}.replay-banner button{margin-left:20px;color:#c3d2da;font:10px 'Segoe UI',sans-serif}#load{position:fixed;inset:0;background:#0b1117;z-index:30;display:flex;flex-direction:column;justify-content:center;align-items:center}.loader-mark{font:italic 48px Georgia;letter-spacing:-5px;color:var(--orange)}#load p{font:11px monospace;letter-spacing:2px;color:#92a6b2}body.playing .vignette{background:linear-gradient(90deg,#07101999,transparent 28%),linear-gradient(0deg,#091019a0,transparent 35%,transparent 80%,#09101990)}
@media(min-width:1500px){.intro{width:490px}.telemetry{top:250px}}@media(max-height:760px) and (min-width:800px){.intro{top:49%;transform:translateY(-40%)}h1{font-size:48px;margin:17px 0}.lead{margin-bottom:15px}.intro-foot{margin-top:10px}.controls{bottom:40px}.result{padding:19px 25px;transform:translateY(-42%)}.result h2{font-size:25px}.score-line>strong{font-size:54px}.result-metrics{margin:10px 0;padding:9px 0}.result>p{min-height:20px}.result-head b{font-size:32px}}@media(max-width:850px){header{padding:20px}.top-center{display:none}.intro{left:6%;max-width:50vw;width:390px}.telemetry{left:22px}.stagebar{left:22px}.controls{left:20px;right:20px}.control-group button{padding:10px}.control-group button span{font-size:9px}.control-group .jet-control{min-width:140px}.attitude{right:22px}.flight-info{left:22px;right:22px}footer{left:20px;right:20px;font-size:7px;letter-spacing:.6px}.scene-label{right:6%;top:31%}nav{gap:5px}}
@media(max-width:600px){header{padding:16px 18px}.brand{font-size:12px;gap:8px;letter-spacing:2px}.brand-icon{font-size:26px}.brand small{font-size:6px;letter-spacing:1px}nav button{padding:6px 7px;font-size:9px}nav #pause{display:none}nav #help{width:24px}.intro{left:6%;top:auto;bottom:145px;transform:none;max-width:none;width:88%}.eyebrow{font-size:8px;letter-spacing:1px}.eyebrow span{margin-right:8px}h1{font-size:42px;margin:14px 0;letter-spacing:-2px}.lead{font-size:11px;line-height:1.7;margin:14px 0 20px}.mode-label{padding-top:12px}.modes{margin:9px 0 13px}.modes button{padding:8px 10px;font-size:12px}.modes button>span{margin-bottom:3px}.modes small{font-size:8px}.primary{padding:13px 17px}.intro-foot{font-size:7px;margin-top:12px}.scene-label{top:17%;right:8%;border-left:0;text-align:right}.scene-label span{font-size:7px}.scene-label strong{font-size:26px;margin:2px 0}.scene-label small{display:none}.vignette{background:linear-gradient(0deg,#080f16 3%,#080f16df 38%,transparent 84%)}.stagebar{top:91px;left:19px;gap:10px}.stagebar>span{font-size:24px}.stagebar h2{font-size:13px}.stagebar small{font-size:7px}.stage-dots{margin-left:8px}.stage-dots i{width:13px}.telemetry{left:20px;top:164px;width:118px}.speed>span{font-size:42px;letter-spacing:-2px}.speed small{font-size:9px}.speed-track{margin:13px 0 15px}.telemetry label{font-size:9px;margin:10px 0}.telemetry strong{font-size:11px}.fuel-label{padding-top:12px;margin-top:15px;font-size:9px}.fuel-label span{font-size:10px}.attitude{right:24px;top:100px}.attitude-ring{width:64px;height:64px}.attitude-ring:after{width:77px}.attitude-ring i{width:42px;height:9px}.attitude small{font-size:7px}.coach{bottom:193px;padding:11px 13px;min-width:0;width:calc(100% - 34px);gap:10px}.coach strong{font-size:11px}.coach p{font-size:9px}.coach>span{font-size:23px}.controls{bottom:43px;left:17px;right:17px;flex-direction:column;gap:8px}.control-group{gap:8px}.control-group button{justify-content:center;flex:1;min-height:52px;padding:7px;flex-direction:column;gap:3px}.control-group button span{font-size:9px}.right-group .jet-control{flex:1.6;min-width:0}.jet-control i{margin-left:5px}kbd{font-size:10px}.flight-info{bottom:177px;left:19px;right:19px;font-size:7px}.result{left:5%;width:90%;max-width:none;top:50%;transform:translateY(-45%);padding:20px 24px}.result h2{font-size:26px}.score-line>strong{font-size:57px}.result-head b{font-size:35px}.result-metrics{margin:13px 0}.result>p{min-height:20px}footer #footer-right{display:none}footer{font-size:6px;bottom:13px}.help-panel{padding:25px}.help-panel h2{font-size:24px}.help-panel article{margin:17px 0}.help-panel p{font-size:11px}body.playing .vignette{background:linear-gradient(90deg,#08111c8a,transparent 45%),linear-gradient(0deg,#08111cc9,transparent 45%,transparent 90%,#08111c90)}.replay-banner{top:95px;font-size:8px;width:90%;text-align:center;padding:12px 8px}.replay-banner button{font-size:9px;margin-left:8px}}
@media(max-height:700px) and (max-width:600px){.intro{bottom:137px}.lead{margin:10px 0 12px;font-size:10px}h1{font-size:33px;line-height:1.2;margin:12px 0}.mode-label{padding-top:8px}.modes small{font-size:7px}.modes button{padding:6px 9px}.intro-foot{margin-top:8px}.scene-label{top:15%}.telemetry{top:142px}.telemetry label{margin:6px 0}.fuel-label{margin-top:9px;padding-top:9px}.coach{bottom:180px}.controls{gap:6px}.control-group button{min-height:47px}.flight-info{bottom:165px}.result{padding:15px 22px}.result-metrics{padding:9px 0;margin:10px 0}.result .score-line{margin:8px 0}.result>p{font-size:10px}}

/* V2 air system and high-speed telemetry. */
.speed-track b{left:57.5%;width:7.5%}#jet-status{display:block;color:#bacbd4;font:8px monospace;letter-spacing:.4px;margin-top:11px}.intro .lead{max-width:440px}.telemetry #fuel-seconds{font-family:monospace} .control-group .jet-control{min-width:175px}
@media(max-width:600px){#jet-status{font-size:7px;max-width:130px;margin-top:8px}.intro .lead{font-size:10px}.right-group .jet-control{min-width:0}}

#inspect{font-size:10px;color:#d5e1e9;padding:6px 0 0;text-decoration:underline;text-underline-offset:4px}.inspect-panel{position:fixed;bottom:135px;left:50%;transform:translateX(-50%);z-index:8;background:#101923dd;border:1px solid #ffffff30;backdrop-filter:blur(12px);padding:14px 20px;display:flex;gap:30px;align-items:center;white-space:nowrap}.inspect-panel span{font:9px monospace;letter-spacing:1px;color:#a6bac6}.inspect-panel button{color:#ff895d;font-size:11px}#world canvas{touch-action:none}@media(max-width:600px){.inspect-panel{bottom:195px;padding:12px;gap:15px}.inspect-panel span{font-size:8px}.inspect-panel button{font-size:10px}.intro .lead{margin-bottom:12px}}

/* V4: black launch stage. */
:root{--bg:#000}body{background:#000}.vignette,body.playing .vignette{background:linear-gradient(90deg,#000a,transparent 40%),linear-gradient(0deg,#0009,transparent 35%)}header{background:linear-gradient(#000c,transparent)}
/* V5: separate the driving viewport from touch controls. */
.observer-frame{position:fixed;right:38px;bottom:160px;width:112px;height:138px;border:1px solid #ffffff35;pointer-events:none;z-index:3;border-radius:4px}.observer-frame span{position:absolute;bottom:-19px;left:0;right:0;text-align:center;font:9px monospace;letter-spacing:2px;color:#b5c5ce}.landing-radar{display:none}.radar-track{height:5px;background:#ffffff1a;position:relative;border-radius:4px}.radar-track i{height:100%;display:block;position:absolute;background:#ff8745;border-radius:4px}.radar-track b{position:absolute;font:10px monospace;color:#eef6ff;top:-5px;transform:translateX(-50%)}.speed-track b{left:61.25%;width:8.75%}
@media(max-width:700px),(max-width:1100px) and (pointer:coarse){
header{height:50px;padding:10px 12px}.brand{font-size:12px;letter-spacing:1px;gap:6px}.brand small{font-size:6px;letter-spacing:1px}.brand-icon{font-size:23px}.top-center{display:none}nav{gap:4px}nav button{padding:5px 6px;font-size:8px}nav #pause{display:inline-block}nav #help{width:22px}.observer-frame{left:10px;right:auto;top:64px;bottom:auto;width:52px;height:62px;border-color:#ff8b5a66}.observer-frame span{font-size:6px;letter-spacing:.3px;bottom:-13px}.stagebar{left:76px;top:51px;gap:0}.stagebar>span,.stagebar small,.stage-dots{display:none}.stagebar h2{font-size:10px;letter-spacing:1px;line-height:18px}.telemetry{top:76px;left:76px;right:12px;width:auto;display:grid;grid-template-columns:1.15fr 1fr 1fr .8fr;column-gap:7px;align-items:start}.speed{gap:4px;align-items:baseline}.speed>span{font-size:25px;line-height:28px;letter-spacing:-1px}.speed small{font-size:7px}.speed-track{display:none}.telemetry label{display:flex;flex-direction:column;align-items:flex-start;gap:0;margin:0;font-size:8px;line-height:12px;color:#9dafbb}.telemetry strong{font-size:13px;line-height:16px}.telemetry strong small{font-size:7px}.fuel-label{position:absolute;right:0;top:-22px;margin:0;padding:0;border:0;display:flex;gap:5px;font-size:8px;line-height:18px}.fuel-label span{font-size:9px}.fuel-track{grid-column:1/-1;margin:4px 0 0;height:2px}.telemetry #fuel-seconds,.telemetry #jet-status,.attitude,.flight-info{display:none}.landing-radar{display:grid;position:absolute;top:120px;left:76px;right:12px;grid-template-columns:105px 1fr;gap:8px;height:20px;align-items:center;font-size:9px;color:#ffaf81}.controls{left:12px;right:12px;bottom:14px;flex-direction:column;gap:6px;height:104px}.control-group{display:flex;gap:6px;flex:1}.control-group button{flex:1;justify-content:center;align-items:center;min-height:0;padding:6px;flex-direction:row}.control-group button span{font-size:11px;color:#c8d3db}.control-group kbd{display:none}.control-group .jet-control{min-width:0;flex:1.3;justify-content:center;background:#ff6c3219}.jet-control i{margin-left:4px}.coach{left:12px;right:12px;bottom:132px;transform:none;width:auto;min-width:0;height:32px;padding:4px 10px;gap:8px;backdrop-filter:none}.coach>span{font-size:18px}.coach strong{font-size:10px;letter-spacing:.4px}.coach p{display:none}footer{display:none}.inspect-panel{bottom:142px}.result{max-height:calc(100dvh - 74px);overflow:auto}.vignette,body.playing .vignette{background:linear-gradient(0deg,#0005,transparent 28%)}
}
@media(max-height:500px) and (max-width:700px) and (orientation:landscape),(max-height:500px) and (max-width:1100px) and (pointer:coarse) and (orientation:landscape){
header{height:37px;padding:5px 10px}.brand small{display:none}.brand-icon{font-size:20px}.observer-frame{top:42px;width:38px;height:38px}.observer-frame span{font-size:5px;bottom:-9px}.stagebar{left:61px;top:35px}.stagebar h2{font-size:8px;line-height:13px}.telemetry{top:49px;left:61px;right:12px;grid-template-columns:1.15fr 1fr 1fr 1fr;column-gap:15px}.speed>span{font-size:22px;line-height:24px}.telemetry label{flex-direction:row;gap:5px;align-items:center;font-size:8px;line-height:24px}.telemetry strong{font-size:12px}.fuel-label{top:-16px;font-size:7px}.fuel-track{display:none}.landing-radar{top:72px;left:61px;height:12px;font-size:8px;grid-template-columns:105px 1fr}.controls{height:47px;bottom:8px;display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.control-group{display:contents}.control-group button{height:47px}.control-group button span{font-size:10px}.coach{bottom:61px;height:20px;min-height:0;padding:0 9px}.coach>span{font-size:14px}.coach strong{font-size:9px}.intro{top:53px;bottom:auto;transform:none;left:4%;width:43%;max-width:none}.intro .eyebrow,.intro .lead,.mode-label,.intro-foot{display:none}.intro h1{font-size:30px;margin:0 0 6px;line-height:1.05}.intro h1 br{display:none}.intro h1 em{margin-left:8px}.modes{margin:5px 0 8px}.modes button{padding:6px;font-size:11px}.modes small{font-size:7px}.modes button>span{display:none}.intro .primary{padding:9px 12px}.scene-label{top:22%;right:10%}.result{width:54%;left:23%;top:44%;max-height:calc(100dvh - 50px);padding:14px 20px}.result-head b{font-size:24px}.result h2{font-size:20px;margin:3px 0}.result .score-line{margin:4px 0}.score-line>strong{font-size:37px}#breakdown>div{margin:4px 0}.result-metrics{padding:7px 0;margin:8px 0}.result .primary{padding:10px 14px}
}

.camera-hint{position:fixed;bottom:103px;left:50%;transform:translateX(-50%);z-index:2;color:#8c9ea8;font:9px monospace;letter-spacing:.5px;pointer-events:none;white-space:nowrap}#world canvas{cursor:grab}#world canvas:active{cursor:grabbing}@media(max-width:700px),(max-width:1100px) and (pointer:coarse){.camera-hint{top:152px;bottom:auto;left:12px;transform:none;font-size:8px;color:#82929b}nav #camera{font-size:8px;padding:5px 4px}}@media(max-height:500px) and (orientation:landscape) and (pointer:coarse){.camera-hint{top:89px;font-size:7px}}
