@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#e6f0f6;background:#09131e;color-scheme:dark;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{color:#dceaf0;background:#192c3c;border:1px solid #355064;border-radius:9px;padding:10px 12px;cursor:pointer;touch-action:manipulation}button:hover{background:#284454}button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #9eeab9;outline-offset:3px}button.selected{background:#c1edb9;color:#102c24;border-color:#c1edb9}button:disabled{opacity:.5;cursor:default}main{height:100dvh;min-height:650px;display:grid;grid-template-columns:minmax(0,1fr) 332px;grid-template-rows:1fr}#space{position:relative;min-width:0;overflow:hidden;background:#09131e}#sky{width:100%;height:100%;display:block}.brand{position:absolute;top:28px;left:30px;letter-spacing:3px;font-size:14px;font-weight:700}.brand span:last-child{color:#a9bccb;font-weight:400;letter-spacing:2px}.star{color:#c1edb9;font-size:24px;vertical-align:middle;margin-right:8px}.view-tools{position:absolute;top:24px;right:22px;display:flex;gap:6px}.view-tools button{background:#112333;font-size:12px}.flight-data{position:absolute;top:90px;left:30px;display:flex;gap:32px;pointer-events:none}.flight-data small{display:block;color:#a9bccb;letter-spacing:1.7px;font-size:9px;margin-bottom:7px}.flight-data strong{font-family:'Space Grotesk',sans-serif;font-size:23px;font-weight:500}.flight-data em{font-style:normal;font-size:12px;color:#b5c8d5}meter{display:block;width:72px;height:6px;margin-top:5px;accent-color:#c1edb9}aside{padding:27px 24px;background:#10202e;border-left:1px solid #294052;overflow:auto}.mission-top{display:flex;align-items:center;justify-content:space-between}.eyebrow{font-size:10px;letter-spacing:2px;color:#b2c7d6}.mission-top button{font-size:11px;padding:7px 10px}h1{font-family:'Space Grotesk',sans-serif;font-size:27px;letter-spacing:-1px;margin:25px 0 9px;font-weight:500}p{font-size:13px;color:#b4c8d5;line-height:1.6;margin:0}.mission-picks{display:flex;gap:5px;flex-wrap:wrap;margin:22px 0}.mission-picks button{font-size:10px;padding:8px}.lesson{border:1px solid #345046;padding:17px;border-radius:12px;background:#192e30}.lesson span{color:#c1edb9;font-size:10px;letter-spacing:1.5px;font-weight:700}.lesson p{color:#e0eddf;margin:9px 0 15px;font-size:13px;min-height:40px}.track{height:3px;background:#456158;border-radius:5px}.track i{height:100%;background:#c1edb9;display:block;width:0;transition:width .3s}.orbit-readout{padding:18px 0}.orbit-readout div{display:flex;justify-content:space-between;font-size:12px;margin:10px 0}.orbit-readout span{color:#a9c0d0}.orbit-readout b{font-weight:500;font-family:'Space Grotesk',sans-serif}details{border-top:1px solid #304658;border-bottom:1px solid #304658;padding:14px 0;margin-bottom:20px}summary{cursor:pointer;list-style:none;font-size:13px;display:flex;justify-content:space-between}summary span{color:#c1edb9}details label{display:block;font-size:11px;margin-top:20px;color:#b4c8d5}output{float:right;color:#e6f0f6}input[type=range]{width:100%;margin:16px 0;accent-color:#c1edb9}details p{font-size:11px;margin-bottom:12px}details button{width:100%;font-size:12px}.actions{display:flex;gap:8px}.primary{background:#c1edb9;color:#102c24;font-weight:700;flex:1;border-color:#c1edb9}.primary:hover{background:#d4ffcb}.primary span{float:right}.utility{display:flex;gap:5px;margin-top:10px}.utility button{flex:1;font-size:11px;padding:9px 4px}#saveState{font-size:10px;margin-top:12px}.controls{position:absolute;bottom:28px;left:30px;right:362px;display:flex;align-items:center;justify-content:center;gap:12px}.controls button{user-select:none;-webkit-user-select:none;touch-action:none;height:62px;min-width:62px;background:#152a3b;border-color:#426074;font-size:22px}.turn-controls{display:flex;gap:6px}.controls small{display:block;font-size:8px;letter-spacing:1px;color:#b7cbd9;margin-top:3px}#thrust{min-width:150px;color:#d4ffcb;font-size:13px;font-weight:700;letter-spacing:2px;border-color:#88b89b;background:#254335}#thrust.held{background:#c1edb9;color:#102c24}#assist{font-size:11px;min-width:80px}.orbit-key{position:absolute;bottom:112px;left:30px;font-size:10px;color:#b4c8d5}.orbit-key i{display:inline-block;width:13px;height:2px;background:#85dabc;vertical-align:middle;margin-right:5px}.orbit-key .planned{background:#e7bd79;margin-left:16px}#toast{position:absolute;bottom:160px;left:50%;transform:translateX(-50%);max-width:90%;padding:12px 18px;background:#192e30;color:#e0eddf;border:1px solid #527563;border-radius:10px;font-size:13px;text-align:center;display:none}#toast.visible{display:block}
@media(max-width:740px){main{min-height:0;height:100dvh;display:flex;flex-direction:column}#space{flex:1;min-height:250px}aside{padding:14px 18px 12px;max-height:43dvh;border-left:0;border-top:1px solid #294052;overflow:auto}.brand{top:17px;left:17px;font-size:11px}.star{font-size:20px}.view-tools{top:17px;right:12px}.view-tools button{padding:7px;font-size:10px}.flight-data{top:64px;left:18px;gap:23px}.flight-data strong{font-size:18px}.flight-data small{font-size:8px}.controls{position:relative;left:auto;right:auto;bottom:auto;order:3;padding:10px 12px max(10px,env(safe-area-inset-bottom));gap:10px;background:#0c1b28}.controls button{height:54px;min-width:49px}#thrust{min-width:120px;flex:1}#assist{min-width:64px;font-size:10px}.orbit-key{left:18px;bottom:12px;font-size:9px}.mission-top .eyebrow{font-size:9px}.mission-top button{padding:5px 8px}h1{margin:5px 0;font-size:23px}#missionText{font-size:11px}.mission-picks{margin:10px 0;gap:5px}.mission-picks button{padding:7px 9px}.lesson{padding:10px 12px}.lesson p{min-height:0;margin:6px 0 9px;font-size:12px}.lesson span{font-size:9px}.orbit-readout{display:flex;justify-content:space-between;gap:12px;padding:6px 0}.orbit-readout div{font-size:10px;display:block;margin:7px 0}.orbit-readout b{display:block;margin-top:4px}details{padding:10px 0;margin-bottom:10px}#toast{bottom:42px;font-size:12px}.utility{margin-top:7px}#saveState{margin-top:6px}summary{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
