:root{color-scheme:dark;--bg:#07131f;--card:#102638;--line:#2c485b;--ink:#e9f4f8;--muted:#9fb8c8;--cyan:#6ee8df;--amber:#ffc18c;--purple:#b5b2f4;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:radial-gradient(ellipse at 78% 2%,#1a3c58 0,transparent 42%),radial-gradient(ellipse at 0 52%,#113743 0,transparent 40%),var(--bg)}a{color:var(--cyan)}button,select,input{font:inherit}button,select{background:#163147;color:var(--ink);border:1px solid #406075;border-radius:6px;padding:9px 11px;font-size:11px}button{cursor:pointer}button:hover{background:#25495d;border-color:#76b1ba}button:disabled{opacity:.38;cursor:not-allowed}button[aria-pressed=true]{background:#20565b;border-color:#61bcb7;color:#c1fff5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}input[type=range]{width:100%;height:17px;accent-color:var(--cyan);margin:6px 0 4px;cursor:pointer}input:disabled{opacity:.4}select{width:100%}.skip{position:absolute;top:-70px;left:15px;padding:10px;background:white;color:#123;z-index:5}.skip:focus{top:10px}header{height:68px;border-bottom:1px solid var(--line);background:#071521b8;padding:13px 30px;display:flex;justify-content:space-between;align-items:center}.logos{display:flex;gap:20px;align-items:center}.logos img:first-child{width:177px}.logos img:last-child{width:146px}.logos span{height:30px;border-left:1px solid #496173}header>a:last-child{font-size:11px;text-decoration:none;color:var(--muted)}main{max-width:1550px;margin:auto;padding:0 26px}.related{display:flex;gap:7px;flex-wrap:wrap;margin-top:20px}.related a{font-size:10px;border:1px solid #354f60;border-radius:30px;padding:7px 10px;color:#b9cfdb;text-decoration:none}.related a[aria-current]{border-color:#52918c;background:#184545;color:#b4fff0}.intro{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 0}.eyebrow{font-size:9px;letter-spacing:.14em;color:var(--cyan);margin:0 0 9px}h1{font-size:36px;letter-spacing:-.04em;font-weight:500;margin:0;line-height:1.12}h1 span{color:#b9d2de}.intro>div>p:last-child{font-size:13px;color:var(--muted);margin:10px 0 0}.model-tag{font-size:9px;letter-spacing:.12em;white-space:nowrap}.model-tag i{display:inline-block;width:6px;height:6px;background:var(--cyan);border-radius:50%;box-shadow:0 0 12px #6ee8df;margin-right:6px}.model-tag small{display:block;color:var(--muted);font-size:10px;letter-spacing:0;margin-top:9px}.experiment{display:grid;grid-template-columns:250px minmax(0,1fr);border:1px solid #3b5d70;background:#0b1e2e;border-radius:13px;overflow:hidden;box-shadow:0 20px 70px #0003}.controls{padding:18px;background:linear-gradient(160deg,#19394d,#102536);border-right:1px solid var(--line)}.block-title{display:flex;align-items:center;gap:11px;margin-bottom:20px}.block-title span{font-size:10px;color:var(--cyan);border-top:1px solid var(--cyan);padding-top:3px}.block-title h2{font-size:14px;margin:0;font-weight:500}.controls>label{display:block;font-size:10px;color:#b7ccd8;margin:13px 0 6px}.control-row{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:10px;margin-top:12px}.control-row label{line-height:1.45}.control-row i{font-style:normal;color:var(--muted)}output{font-variant-numeric:tabular-nums;color:var(--cyan);font-size:12px;white-space:nowrap}.hint{font-size:10px;color:var(--muted);line-height:1.6;margin:7px 0 15px}.controls details{border-top:1px solid var(--line);margin-top:17px;padding-top:13px}.controls summary{font-size:10px;cursor:pointer;line-height:1.5}.full{width:100%;margin-top:14px}.quiet{background:transparent}.workspace{min-width:0;display:flex;flex-direction:column}.viewbar{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:10px 14px;border-bottom:1px solid var(--line)}.layer-buttons{display:flex;gap:5px}.viewbar button{font-size:10px;padding:7px 9px}#play{background:transparent}.engine-stage{position:relative;background:radial-gradient(ellipse at 50% 47%,#19394b,#071521 80%);height:340px;flex:1;min-height:320px;overflow:hidden}.stage-caption{display:flex;justify-content:space-between;gap:12px;position:absolute;top:16px;left:17px;right:17px;font-size:8px;color:#a6c7d3;letter-spacing:.08em}.engine-stage>svg{position:absolute;width:100%;height:100%;inset:0}.colour-legend{position:absolute;right:17px;bottom:14px;width:180px;background:#071b27e8;border:1px solid #3b5868;border-radius:6px;padding:8px 10px;font-size:9px}#colour-bar{height:5px;margin-top:6px;background:linear-gradient(90deg,#47c4df,#9ae9cf,#ffd189,#f57863)}#colour-labels{display:flex;justify-content:space-between;margin-top:4px;font-size:8px;color:var(--muted)}.station-buttons{display:flex;justify-content:space-between;gap:4px;padding:10px 13px 0}.station-buttons button{flex:1;padding:7px 4px;min-width:0;font-size:10px;background:#112b3c}.station-buttons button[aria-pressed=true]{border-color:var(--cyan);background:#1e5055;color:#c4fff8}.station-buttons small{font-size:8px;display:block;color:#b1c7d0;margin-top:4px}.visual-note{font-size:9px;color:var(--muted);padding:0 16px;margin:10px 0 13px;line-height:1.6}.readouts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px;background:#102638;gap:14px}.readouts>div+div{border-left:1px solid var(--line);padding-left:15px}.readouts span{font-size:10px;color:var(--muted);display:block;line-height:1.45}.readouts strong{display:block;font-size:26px;font-weight:500;letter-spacing:-.03em;margin:7px 0;font-variant-numeric:tabular-nums}.readouts strong em{font-style:normal;font-size:10px;margin-left:4px;letter-spacing:0;color:#c2d6df}.readouts small{display:block;font-size:8px;color:var(--muted);line-height:1.5}.station-card{display:grid;grid-template-columns:1.1fr 1fr;gap:20px;padding:18px 17px;background:#0d2232}.station-card h2{font-size:17px;font-weight:500;margin:0}.station-card p{font-size:11px;line-height:1.6;color:#b4cbd8;margin:8px 0 0}.station-card .eyebrow{font-size:8px}#station-values{display:grid;grid-template-columns:1fr 1fr;gap:11px;align-content:center;font-variant-numeric:tabular-nums}#station-values span{font-size:9px;color:var(--muted);display:block}#station-values b{font-size:15px;font-weight:500;display:block;margin-top:5px}.casebar{border-top:1px solid var(--line);padding:12px 15px;display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:auto;background:#152b3b}.casebar>div{display:flex;align-items:center;gap:8px;flex:1;min-width:140px;font-size:10px}.case-a{display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;border:1px solid #b18a63;color:var(--amber);border-radius:4px}.casebar button{font-size:10px;padding:7px 9px}#save-a{border-color:#a78260;color:#ffe0bd;background:#40372e}.subline{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:9px;line-height:1.6;margin:12px 0 25px}.invalid{margin:12px 16px;padding:12px 15px;background:#402a26;border:1px solid #b78265;border-radius:6px;color:#ffdbc1;font-size:12px;line-height:1.7}.card{min-width:0;border:1px solid var(--line);border-radius:12px;background:linear-gradient(145deg,#142f42,#0b1e2d);padding:20px}.card h2{font-size:19px;font-weight:500;letter-spacing:-.025em;margin:0}.card h3{font-size:17px;font-weight:500;letter-spacing:-.02em;margin:0 0 12px}.heading-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.heading-row>strong{font-size:18px;color:var(--amber);font-weight:500;white-space:nowrap}.unit{color:var(--muted);font-size:11px}.energy-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:15px}.caption{font-size:11px;line-height:1.7;color:var(--muted);margin:13px 0 0}.energy-row{margin-top:15px}.energy-row>div:first-child{display:flex;justify-content:space-between;gap:7px;font-size:10px;color:#c1d5df}.energy-row strong{font-size:11px;font-weight:500;white-space:nowrap}.track{height:6px;background:#061724;border-radius:4px;overflow:hidden;margin-top:7px}.track span{display:block;height:100%;border-radius:4px;background:var(--cyan)}.energy-row small{color:var(--muted);font-size:8px;margin-left:5px}.energy-row .negative{background:#d486a8}.shaft-card svg{display:block;width:100%;height:160px;margin:10px 0 0}.thrust-equation{font-size:12px;color:#d8ebf0;border-top:1px solid var(--line);padding-top:12px;margin-top:15px}.plot-section{margin:30px 0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.section-heading h2{font-size:25px;font-weight:500;letter-spacing:-.035em;margin:0}.keys{display:flex;gap:17px;font-size:10px;flex-wrap:wrap}.key-b{color:var(--cyan)}.key-a{color:var(--amber)}.key-b:before,.key-a:before{content:'';display:inline-block;width:16px;border-top:2px solid currentColor;margin-right:7px;vertical-align:middle}.key-a:before{border-top-style:dashed}.plots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.plots svg{display:block;width:100%;height:auto;overflow:visible;touch-action:none}.plot-hint{font-size:10px;color:var(--muted);margin:12px 0}.comparison{margin:0 0 25px}.comparison .section-heading{margin-bottom:10px}#comparison-message,#export-status{font-size:11px;line-height:1.7;color:var(--muted)}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:11px}th,td{text-align:right;padding:11px 10px;border-bottom:1px solid #294455;white-space:nowrap}th:first-child,td:first-child{text-align:left;color:#b8cfdb}th{font-size:10px;font-weight:500;color:#dcebf3}td:nth-child(2),th:nth-child(2){color:var(--amber)}td:nth-child(3),th:nth-child(3){color:var(--cyan)}td:last-child{color:#d4e5ed}#compare-inputs{margin-top:18px}summary{cursor:pointer;font-size:12px;color:#d6e9ef}#compare-inputs table{margin-top:12px}.notes{border-top:1px solid var(--line);padding:23px 0 30px}.notes-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 35px;margin-top:15px}.notes h3{font-size:15px;font-weight:500}.notes p{color:var(--muted);font-size:12px;line-height:1.8}.notes .equation{padding:10px 12px;background:#14343e;color:#cff3ed;border-radius:5px;font-size:11px}.sources{display:flex;gap:12px;flex-wrap:wrap}footer{display:flex;justify-content:space-between;gap:25px;padding:28px;background:#06101b;border-top:1px solid var(--line)}footer b{font-weight:500}footer p{font-size:10px;line-height:1.8;color:var(--muted);margin:12px 0 0}footer>div:last-child{display:flex;flex-direction:column;align-items:flex-end;gap:15px;font-size:11px}footer small{font-size:8px;letter-spacing:.1em;color:var(--muted)}footer a{font-size:11px}
@media(max-width:1100px){main{padding:0 18px}.experiment{grid-template-columns:222px minmax(0,1fr)}.controls{padding:15px}.model-tag{display:none}.engine-stage{height:300px;min-height:300px;flex:none}.readouts{gap:9px;padding:15px}.readouts>div+div{padding-left:10px}.readouts strong{font-size:21px}.readouts span{font-size:9px}.station-card{grid-template-columns:1fr}.station-card p{margin-bottom:2px}#station-values{grid-template-columns:repeat(4,1fr);gap:8px}#station-values b{font-size:13px}.energy-grid{grid-template-columns:1fr 1fr}.fuel-card{grid-column:1/-1}.fuel-card #energy-bars{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.plots{grid-template-columns:1fr 1fr}.plots article:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.4fr;align-items:center}.plots article:last-child svg{grid-column:2;grid-row:1/3;max-height:300px}.plots article:last-child .caption{grid-column:1}.card{padding:17px}.stage-caption span:last-child{display:none}.colour-legend{width:145px}}
@media(max-width:700px){header{height:58px;padding:12px 14px}.logos{gap:10px}.logos img:first-child{width:118px}.logos img:last-child{width:98px}.logos span{height:24px}header>a:last-child{font-size:9px}main{padding:0 12px}.related{gap:5px;margin-top:14px}.related a{font-size:9px;padding:6px 8px}.intro{padding:23px 0}h1{font-size:30px}h1 span{display:block}.intro>div>p:last-child{font-size:12px}.eyebrow{font-size:8px}.experiment{display:flex;flex-direction:column}.controls{border:0;border-top:1px solid var(--line);order:1;padding:18px 16px;display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.controls .block-title,.controls>label,.controls>select,.controls>.hint,.controls>details,.controls>button{grid-column:1/-1}.controls .control-row{grid-column:1;align-self:center;font-size:11px}.controls>input{grid-column:2;align-self:center;margin-top:12px}.controls details input{margin:10px 0}.engine-stage{height:255px;min-height:255px}.stage-caption{font-size:7px;left:12px}.viewbar{padding:9px}.viewbar button{font-size:9px;padding:7px 7px}.station-buttons{padding:8px 8px 0;gap:3px}.station-buttons small{display:none}.station-buttons button{font-size:10px;min-height:31px}.visual-note{font-size:9px;padding:0 12px}.colour-legend{width:140px;bottom:10px;right:12px;font-size:8px}.readouts{grid-template-columns:1fr 1fr;gap:15px}.readouts>div:nth-child(3){border:0;padding-left:0}.readouts strong{font-size:24px}.station-card{padding:16px 13px}#station-values{grid-template-columns:1fr 1fr;gap:13px}.casebar{padding:12px}.casebar>div{flex-basis:100%;margin-bottom:4px}.subline{flex-direction:column;gap:4px}.energy-grid,.plots{grid-template-columns:1fr}.fuel-card{grid-column:auto}.fuel-card #energy-bars{display:block}.plots article:last-child{display:block;grid-column:auto}.plots article:last-child svg{max-height:none}.plots .card{padding:18px}.section-heading{align-items:flex-start;flex-wrap:wrap}.section-heading h2{font-size:23px}.keys{margin:0}.notes-grid{grid-template-columns:1fr;gap:0}.table-scroll{margin:0 -8px}table{font-size:10px}th,td{padding:10px 8px}footer{flex-direction:column;padding:24px 16px}footer>div:last-child{align-items:flex-start}.shaft-card svg{height:165px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
.quick-controls{display:none}
@media(max-width:700px){.quick-controls{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;padding:12px 14px;background:#153544;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.quick-controls label{display:flex;justify-content:space-between;gap:5px;font-size:10px;align-items:center}.quick-controls output{font-size:12px}.quick-controls a{grid-column:1/-1;font-size:9px;text-align:right;text-decoration:none;margin-top:3px}}
@media(min-width:500px) and (max-width:700px){.station-buttons small{display:block;font-size:8px}}
