:root{color-scheme:dark;--bg:#080a0d;--panel:#101419;--line:#28303a;--red:#fa4a58;--text:#f4f5f7;--muted:#a3afbd;--green:#c5e1b2;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{background:var(--bg);overscroll-behavior:none}body{margin:0;color:var(--text);font-size:13px;-webkit-font-smoothing:antialiased}button,a,textarea{-webkit-tap-highlight-color:transparent}button,textarea{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:default;opacity:.4}a{color:inherit}button:focus-visible,a:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid #b4deff;outline-offset:3px}button svg{width:19px;height:19px}button{border:0}button[hidden],.hidden{display:none!important}.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}.app{height:100svh;min-height:620px;max-width:1320px;margin:auto;padding:env(safe-area-inset-top) 12px env(safe-area-inset-bottom);display:flex;flex-direction:column}header{height:52px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:7px;align-items:center;text-decoration:none;font-weight:700;font-size:12px;letter-spacing:1.2px;white-space:nowrap}.brand svg{width:24px;height:24px;color:var(--red)}.brand b{font-weight:400;font-size:9px;color:var(--muted);letter-spacing:.5px;margin-left:5px}.header-actions{display:flex;gap:3px}.icon-btn{height:42px;width:40px;border:0;background:transparent;color:#c6d0dc;display:flex;align-items:center;justify-content:center;font-size:19px}.icon-btn:hover,.view-button:hover{color:white;background:#ffffff0a}main{display:flex;flex-direction:column;min-height:0;flex:1}.mission-bar{height:34px;flex-shrink:0;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.9px;color:var(--muted)}.mission-bar>div{display:flex;align-items:center;gap:6px}.mission-name{font-size:9px}.attempt-display b{color:white;font-size:15px;font-weight:500;font-variant-numeric:tabular-nums}.attempt-display>span{font-size:8px;border-left:1px solid var(--line);padding-left:9px;margin-left:4px;letter-spacing:.2px}.scene{position:relative;min-height:210px;flex:1;background:#030406;border:1px solid var(--line);border-radius:10px 10px 0 0;overflow:hidden;isolation:isolate}canvas{display:block;width:100%;height:100%;position:absolute;inset:0}.scene-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#03040775,transparent 25%,transparent 76%,#050709a0);z-index:1}.app[data-phase=ready] .scene-shade{background:linear-gradient(90deg,#03040770,transparent 80%)}.view-top{position:absolute;z-index:2;top:9px;left:13px;right:8px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.scene-caption{font-size:8px;letter-spacing:.7px;color:#b9c4cf}.scene-caption>span:first-child{padding:0 5px;color:#68798c}.view-top>div{display:flex;gap:3px;pointer-events:auto}.view-button{border:1px solid #5c667650;background:#0b1015a8;border-radius:6px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;font-size:18px}.view-button[aria-pressed=true]{border-color:var(--red);color:var(--red)}.ready-card{position:absolute;z-index:3;top:19%;left:22px;right:22px;pointer-events:none;text-shadow:0 2px 14px #0008}.eyebrow{font-size:9px;line-height:1.5;letter-spacing:1.25px;color:var(--muted);font-weight:500}h1{font-size:clamp(36px,10vw,48px);line-height:.98;font-weight:750;letter-spacing:-1.8px;margin:12px 0 12px}.ready-card p{font-size:12px;color:#c3ccd8;line-height:1.55;margin:0 0 19px}.primary-btn,.secondary-btn{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;padding:12px 16px;border-radius:6px;font-size:13px;font-weight:600;text-decoration:none;pointer-events:auto;text-shadow:none}.primary-btn{background:var(--red);color:#fff;border:1px solid transparent}.primary-btn>span{font-size:20px;line-height:1}.primary-btn:hover{background:#ff6672}.ready-card .primary-btn{min-width:185px}.secondary-btn{background:#202933;border:1px solid #445161;color:#f0f4f9;justify-content:center}.quiet-btn{font-size:11px;display:block;background:none;border:0;color:#c3cedb;margin-top:5px;padding:12px 0;min-height:40px;pointer-events:auto;text-shadow:none}.quiet-btn span{margin-right:4px}.quiet-btn:hover{color:white}.scene-bottom{position:absolute;z-index:2;bottom:9px;left:13px;right:8px;display:flex;align-items:center;gap:8px;justify-content:flex-end}.stage-tag{margin-right:auto;display:flex;align-items:center;gap:7px;font-size:9px;letter-spacing:1px;color:#c1cad6}.live-dot{width:4px;height:4px;border-radius:50%;background:var(--red)}.flight-hud{position:absolute;z-index:2;left:13px;top:59px;display:flex;flex-direction:column;gap:12px;pointer-events:none}.flight-hud>div>span{display:block;color:#b1bece;font-size:8px;letter-spacing:.8px;margin-bottom:3px}.flight-hud strong{font-size:20px;line-height:1;font-weight:500;font-variant-numeric:tabular-nums;text-shadow:0 2px 8px #000}.flight-hud strong small{font-size:10px;color:#a3adb9}.roll-meter>small{display:block;font-size:8px;letter-spacing:.5px;color:#b0bdce;margin-top:4px}.loading{position:absolute;inset:0;z-index:8;display:flex;justify-content:center;align-items:center;background:#080a0d;color:#b4c0d0;font-size:11px;letter-spacing:1px;text-align:center;padding:25px;line-height:1.6}.loading span{color:var(--red)}.cockpit{background:var(--panel);border:1px solid var(--line);border-top:0;border-radius:0 0 10px 10px;flex-shrink:0}.instructor{display:flex;align-items:center;padding:7px 12px;gap:9px;min-height:49px;border-bottom:1px solid var(--line)}.instructor>span{font-size:9px;color:var(--red);font-variant-numeric:tabular-nums}.instructor p{font-size:11px;line-height:1.4;margin:0;flex:1;color:#d0d8e2}.restart-btn{background:transparent;border:0;font-size:25px;line-height:1;width:36px;height:36px;color:#a0adbd;flex-shrink:0}.telemetry{display:flex;padding:9px 12px 8px;gap:16px}.metric-label{display:block;font-size:9px;letter-spacing:.9px;color:#a2afc0}.speed-block{width:31%;border-right:1px solid var(--line);padding-right:16px}.speed-block>div:not(.speed-track){display:flex;align-items:baseline;gap:5px;margin-top:2px}.speed-block strong{font-size:27px;letter-spacing:-.6px;font-weight:500;font-variant-numeric:tabular-nums}.speed-block small{font-size:9px;color:#a6b3c5}.speed-track{height:3px;position:relative;background:#333b46;margin-top:6px}.speed-track i{display:block;height:100%;background:#bdc9d5;width:0}.speed-track>span{position:absolute;left:40%;width:17.5%;top:-2px;bottom:-2px;background:#c5e1b222;border:1px solid #b3db9777}.nitrogen-block{flex:1;min-width:0}.nitrogen-head{display:flex;align-items:center;justify-content:space-between}.nitrogen-head>span:last-child{display:flex;align-items:baseline;gap:4px}.nitrogen-head strong{font-size:26px;font-weight:500;font-variant-numeric:tabular-nums}.nitrogen-head small{font-size:9px;color:#a6b3c5}.gas-track{height:4px;background:#313841;margin:7px 0}.gas-track i{height:100%;display:block;width:100%;background:#d7e0eb;transition:width .1s}.gas-caption{display:flex;justify-content:space-between;font-size:8px;color:#a4b3c7;gap:6px}.gas-caption>span:last-child{font-size:8px;text-align:right}.mobile-controls{padding:2px 12px 11px;display:flex;gap:12px;user-select:none;-webkit-user-select:none}.attitude-control{flex:1;min-width:0}.thrust-controls{flex:1.1;min-width:0}.control-caption,.power-line{height:27px;display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:10px;letter-spacing:.6px;color:#c2cddd}.control-caption span:last-child{font-size:8px;color:#9aa9bd;letter-spacing:.3px}.power-line label{font-size:9px;letter-spacing:.2px;white-space:nowrap}.power-line b{font-weight:600;color:white;margin-left:4px}.power-line button{background:#18212c;border:1px solid #435064;border-radius:4px;padding:6px 5px;min-height:27px;font-size:8px;color:#c4d3e6;white-space:nowrap}.power-line button.pressed{background:#823d47;color:white}.attitude-pad,.throttle-pad{height:104px;position:relative;border:1px solid #3e4e62;border-radius:7px;touch-action:none;background:#16202c;overflow:hidden;user-select:none;-webkit-user-select:none}.attitude-pad{display:flex;align-items:center;justify-content:center}.stick-cross{width:74px;height:74px;border:1px solid #5a6e87;border-radius:50%;position:absolute;opacity:.55}.stick-cross:before,.stick-cross:after{content:'';position:absolute;background:#53647c}.stick-cross:before{left:50%;top:-5px;width:1px;height:82px}.stick-cross:after{top:50%;left:-5px;height:1px;width:82px}.stick-knob{height:36px;width:36px;border-radius:50%;border:1px solid #a4bedf;background:#3c536f;box-shadow:0 2px 12px #0005;z-index:1;pointer-events:none;display:flex;align-items:center;justify-content:center}.stick-knob span{color:#e4efff;font-size:17px}.stick-axis{position:absolute;font-size:8px;letter-spacing:.4px;color:#a9bed8;pointer-events:none}.stick-axis.top{top:6px}.stick-axis.bottom{bottom:6px}.brake-mode .stick-cross{opacity:.2}.brake-mode .stick-knob{border-radius:7px}.attitude-pad.pressed{background:#2b3e57;border-color:#bfd7f3}.throttle-pad{border-color:#96505b;background:#281a21;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px}.throttle-fill{position:absolute;inset:auto 0 0;height:0;background:linear-gradient(0deg,#f54858,#c3324588);pointer-events:none}.throttle-pad>span,.throttle-pad>small{z-index:2;pointer-events:none;text-shadow:0 1px 5px #000}.throttle-pad>span{font-size:11px;letter-spacing:1px;font-weight:600}.throttle-pad>small{font-size:8px;letter-spacing:.3px;color:#d1b5bf}.throttle-ticks{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-evenly;padding:0 8px;pointer-events:none}.throttle-ticks i{border-top:1px solid #a75b6755}.throttle-hover-line{position:absolute;left:0;right:0;bottom:25%;border-top:1px dashed #ead9bf70;pointer-events:none;display:none}.app[data-phase=flight] .throttle-hover-line{display:block}.throttle-hover-line span{position:absolute;right:6px;top:2px;font-size:7px;color:#ded0ca;letter-spacing:.3px}.throttle-handle{position:absolute;bottom:0;left:5px;right:5px;height:3px;background:#ffd6dc;pointer-events:none}.throttle-pad.active{border-color:#ffb2be}.desktop-keys{display:none}footer{height:30px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:9px;color:#8e9cad}footer button{background:none;border:0;font-size:9px;color:#acb9ca;padding:8px 0;min-height:30px}#sound{font-size:8px;letter-spacing:.3px}.result{position:absolute;z-index:6;left:12px;right:12px;top:50%;transform:translateY(-50%);padding:22px 18px;background:#10161ef7;border:1px solid #4c596b;border-radius:9px;text-align:center;box-shadow:0 15px 60px #0008}.result .eyebrow{color:#c5d4e7;font-size:9px;letter-spacing:.8px}.result[data-success=true] .eyebrow{color:var(--green)}.result h2{font-size:29px;letter-spacing:-.9px;font-weight:600;margin:10px 0}.result p{font-size:12px;line-height:1.55;color:#bac8da;max-width:340px;margin:0 auto}.result .primary-btn{width:100%;margin-top:17px;justify-content:center}.result .secondary-btn{width:100%;margin-top:8px}.result-stats{display:flex;gap:15px;justify-content:center;margin:20px 0 5px;font-size:17px;color:#e1ebf8;font-variant-numeric:tabular-nums}.result-stats small{font-size:8px;letter-spacing:.4px;display:block;color:#a6b7ce;margin-top:5px}.result-attempt{margin-top:12px!important;font-size:10px!important;color:#a7b7cd!important}dialog{border:1px solid #445267;border-radius:12px;background:#111821;color:var(--text);padding:28px 24px;max-width:490px;width:calc(100% - 24px);max-height:90svh;box-shadow:0 20px 100px #0008;overscroll-behavior:contain}dialog::backdrop{background:#020407cf}dialog h2{font-size:30px;line-height:1.08;letter-spacing:-1px;font-weight:600;margin:13px 0 22px}dialog ol{padding-left:20px}dialog li{font-size:13px;line-height:1.6;color:#b6c4d7;padding:0 0 16px 4px}dialog b,dialog strong{color:#f1f5fb}dialog p{font-size:12px;line-height:1.6;color:#b6c4d7}.dialog-close{position:absolute;right:5px;top:5px;border:0;background:transparent;width:44px;height:44px;font-size:27px;color:#b0c0d6}.dialog-play{width:100%;justify-content:center;margin:20px 0 0}dialog .reference-btn{margin:3px auto 0}details{font-size:12px;line-height:1.6;color:#b6c4d7;margin-top:20px;padding-top:15px;border-top:1px solid var(--line)}summary{cursor:pointer;padding:8px 0}details a{font-size:12px}.video-dialog{width:calc(100% - 20px);max-width:850px;padding:28px 16px 20px}.video-dialog video{display:block;width:100%;border-radius:5px;background:black}.video-dialog .primary-btn{margin-top:20px;width:100%;justify-content:center}.video-dialog p{font-size:11px}.share-actions{display:flex;gap:8px;margin-top:8px}.share-actions>*{flex:1}#share-text{display:block;width:100%;border:1px solid #354458;background:#0a1018;border-radius:6px;padding:13px;color:#d3e0ef;resize:none;font-size:14px;line-height:1.6;margin-bottom:17px}#share-status{min-height:19px;margin:10px 0 0;font-size:11px}
@media(max-height:740px) and (max-width:599px){.app{min-height:600px;padding-left:10px;padding-right:10px}header{height:44px}.mission-bar{height:28px}.ready-card{top:17%;left:18px}.ready-card .eyebrow{display:none}.ready-card h1{font-size:34px;margin:9px 0}.ready-card p{font-size:11px;margin-bottom:12px}.quiet-btn{min-height:33px;padding:8px 0}.ready-card .primary-btn{min-height:41px}.attitude-pad,.throttle-pad{height:92px}.instructor{min-height:43px;padding-top:4px;padding-bottom:4px}.instructor p{font-size:10px}.telemetry{padding-top:7px;padding-bottom:6px}.metric-label{font-size:8px}.nitrogen-head strong,.speed-block strong{font-size:24px}.mobile-controls{padding-bottom:9px}.scene{min-height:195px}.flight-hud{gap:8px;top:53px}.flight-hud strong{font-size:17px}.result{padding:15px}.result h2{font-size:24px;margin:8px 0}.result p{font-size:11px}.result-stats{margin:12px 0 3px}.result .primary-btn{margin-top:12px}.result-attempt{display:none!important}footer{height:27px}}
@media(max-width:359px){.brand b{display:none}.mission-name{font-size:8px}.attempt-display>span{display:none}.gas-caption>span:last-child{display:none}.control-caption span:last-child{display:none}.power-line label{font-size:8px}.power-line button{font-size:7px;padding:5px 3px}.result-stats{gap:10px;font-size:15px}footer{font-size:8px}footer button{font-size:8px}}
@media(min-width:600px){.app{padding-left:24px;padding-right:24px}header{height:62px}.brand{font-size:15px}.brand b{font-size:10px}.mission-bar{height:40px;font-size:10px}.mission-name{font-size:10px}.ready-card{left:30px;top:20%}h1{font-size:56px;letter-spacing:-2.5px}.ready-card p{font-size:14px}.ready-card .primary-btn{min-width:220px}.ready-card .quiet-btn{font-size:12px}.eyebrow{font-size:10px}.view-top{left:20px;right:14px;top:14px}.scene-caption{font-size:9px}.scene-bottom{left:20px;right:14px;bottom:14px}.flight-hud{left:20px;top:70px;gap:18px}.flight-hud strong{font-size:24px}.telemetry{padding:12px 20px;gap:24px}.mobile-controls{padding:0 20px 15px;gap:20px}.instructor{padding-left:20px;padding-right:16px}.attitude-pad,.throttle-pad{height:115px}.result{max-width:390px;left:50%;right:auto;width:90%;transform:translate(-50%,-50%);padding:28px}.result-stats{font-size:19px}.result-stats small{font-size:9px}footer{height:34px}}
@media(min-width:1000px) and (pointer:fine){.app{min-height:720px;padding:0 32px}header{height:72px}main{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-template-rows:42px minmax(0,1fr)}.mission-bar{grid-column:1/-1}.scene{border-radius:10px 0 0 10px;min-height:0}.cockpit{border-top:1px solid var(--line);border-left:0;border-radius:0 10px 10px 0;display:flex;flex-direction:column;justify-content:center;overflow:auto}.instructor{padding:20px 18px;min-height:84px}.instructor p{font-size:12px}.telemetry{padding:23px 20px;gap:16px}.speed-block{width:35%;padding-right:16px}.gas-caption{font-size:8px}.gas-caption>span:last-child{display:none}.metric-label{font-size:9px}.mobile-controls{padding:0 16px 20px;gap:12px}.attitude-pad,.throttle-pad{height:132px}.power-line{height:32px}.control-caption{height:32px;font-size:9px}.control-caption span:last-child{display:none}.power-line label{font-size:8px}.power-line button{font-size:7px;padding:5px 3px}.stick-axis{font-size:7px}.throttle-pad>small{font-size:7px}.throttle-pad>span{font-size:10px}.desktop-keys{display:grid;grid-template-columns:1fr 1fr;gap:13px 10px;padding:20px 16px;border-top:1px solid var(--line);font-size:10px;line-height:1.4;color:#a6b6c9}.desktop-keys>span{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.desktop-keys>span:first-child{grid-column:1/-1}kbd{font:9px Arial;border:1px solid #435169;padding:4px 5px;border-radius:3px;color:#d0dff2}.ready-card{left:36px;top:23%}h1{font-size:62px}.ready-card p{font-size:15px}.ready-card .primary-btn{font-size:14px;min-height:48px}.flight-hud{left:20px;top:78px;gap:20px}.flight-hud>div>span{font-size:9px}.flight-hud strong{font-size:26px}footer{height:40px;font-size:10px}footer button{font-size:10px}}
@media(orientation:landscape) and (max-height:560px){.app{min-height:360px;height:100svh;padding:0 12px}header{height:42px}.brand{font-size:12px}main{display:grid;grid-template-columns:minmax(0,1fr) 285px;grid-template-rows:28px minmax(0,1fr)}.mission-bar{grid-column:1/-1;height:28px}.scene{border-radius:8px 0 0 8px;min-height:0}.cockpit{border-top:1px solid var(--line);border-left:0;border-radius:0 8px 8px 0;overflow:auto}.instructor{padding:5px 10px;min-height:46px}.instructor p{font-size:10px}.telemetry{padding:9px 10px;gap:12px}.gas-caption{font-size:7px}.gas-caption>span:last-child{display:none}.metric-label{font-size:8px}.speed-block{padding-right:12px}.mobile-controls{padding:0 10px 10px;gap:10px}.attitude-pad,.throttle-pad{height:106px}.control-caption{font-size:9px}.control-caption span:last-child{display:none}.power-line label{font-size:8px}.power-line button{font-size:7px;padding:5px 3px}.ready-card{left:18px;top:22%}.ready-card .eyebrow{display:none}.ready-card h1{font-size:33px;margin:5px 0 8px}.ready-card p{font-size:10px;margin-bottom:10px}.ready-card .primary-btn{min-height:38px;min-width:160px;font-size:11px}.quiet-btn{font-size:10px;padding:8px 0;min-height:32px}.view-top{top:6px;left:12px;right:6px}.view-button{height:30px;width:30px}.scene-caption{font-size:7px}.scene-bottom{left:12px;bottom:6px}.flight-hud{top:45px;left:12px;gap:8px}.flight-hud strong{font-size:17px}.flight-hud>div>span{font-size:7px}.roll-meter>small{font-size:7px}.result{padding:13px}.result h2{font-size:24px;margin:7px 0}.result .eyebrow{font-size:8px}.result p{font-size:10px}.result-stats{font-size:15px;margin:10px 0 3px}.result-stats small{font-size:7px}.result .primary-btn,.result .secondary-btn{min-height:36px;padding:8px 12px;font-size:11px;margin-top:8px}.result-attempt{display:none!important}.desktop-keys{display:none}footer{height:27px;font-size:8px}footer button{font-size:8px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
#rear-boost{visibility:hidden}.app[data-phase=flight] #rear-boost{visibility:visible}.app:not([data-phase=flight]):not([data-phase=done]) .roll-meter{display:none}.app[data-phase=done] .flight-hud{opacity:.25}
@media(max-height:650px) and (max-width:599px){.app{min-height:540px}.ready-card{top:21%;left:16px}.ready-card h1{font-size:28px;letter-spacing:-1.2px}.ready-card h1 br{display:none}.ready-card h1 br:after{content:' '}.ready-card p{font-size:10px;margin-bottom:10px}.ready-card .quiet-btn{font-size:10px;min-height:30px}.ready-card .primary-btn{min-height:38px;font-size:12px}.attitude-pad,.throttle-pad{height:86px}.stick-axis{font-size:7px}.stick-knob{width:32px;height:32px}.result{padding:12px}.result h2{font-size:22px}.result-stats{margin:9px 0 3px;font-size:15px}.result .primary-btn,.result .secondary-btn{min-height:36px;padding:8px 12px;margin-top:7px}}

footer button{min-height:0;padding:6px 0;line-height:1.2}
.result{max-height:calc(100% - 20px);overflow-y:auto;overscroll-behavior:contain}

.share-preview{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:7px;margin:16px 0}.share-note{font-size:12px;line-height:1.5;color:#a6b6c9}#share-dialog #native-share[hidden]{display:none}#share-dialog #native-share,#share-dialog #save-share-image,#share-dialog #share-x{display:flex;width:100%;align-items:center;justify-content:center;margin-top:10px;text-decoration:none}#share-dialog .share-actions{margin-top:10px}#share-dialog .share-actions button{width:100%}
