:root { --paper:#f1f0ea; --carbon:#111210; --panel:#191a18; --panel2:#20211f; --line:#3b3d38; --red:#e32636; --muted:#8d8f87; }
*{box-sizing:border-box}body{margin:0;background:var(--carbon);color:var(--paper);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}.skip-link{position:fixed;top:-60px;left:16px;z-index:20;padding:12px;background:white;color:#111}.skip-link:focus{top:16px}header{height:72px;padding:0 24px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;border-bottom:1px solid var(--line)}.wordmark{color:white;text-decoration:none;font-weight:800;font-size:13px;letter-spacing:.22em}.product{justify-self:center;font-size:12px;letter-spacing:.16em}.product i{margin-left:12px;color:var(--muted);font:700 8px/1 monospace}.header-actions{justify-self:end;display:flex;gap:8px}button,select,input{font:inherit}.header-actions button{border:1px solid var(--line);background:transparent;color:var(--paper);padding:9px 13px;font-size:9px;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}.header-actions button:last-child{background:var(--red);border-color:var(--red)}main{min-height:calc(100vh - 124px);display:grid;grid-template-columns:300px 1fr 300px}.controls,.results{padding:24px;background:var(--panel);}.controls{border-right:1px solid var(--line)}.results{border-left:1px solid var(--line)}.panel-title{display:flex;align-items:center;gap:12px;padding-bottom:20px;border-bottom:1px solid var(--line)}.panel-title>span{color:var(--red);font:700 9px/1 monospace}.panel-title h1,.panel-title h2{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.panel-title .live{margin-left:auto;color:#a5a79e;font:700 8px/1 monospace;text-transform:uppercase}.panel-title .live:before{content:'';display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:var(--red)}label{display:block;margin-top:25px;color:#c6c7c0;font-size:10px;text-transform:uppercase;letter-spacing:.09em}label>span{float:right;color:white;font-family:monospace}select{width:100%;margin-top:9px;padding:12px;border:1px solid var(--line);border-radius:0;background:var(--panel2);color:white;font-size:12px}input[type=range]{width:100%;height:2px;margin-top:18px;accent-color:var(--red)}.gain-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gain-grid label{padding:12px;background:var(--panel2)}.gain-grid label span{color:var(--muted)}input[type=number]{width:100%;margin-top:12px;border:0;border-bottom:1px solid var(--line);background:transparent;color:white;font:20px monospace}.field-note{margin-top:28px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:10px;line-height:1.6}.visual{position:relative;min-height:600px;overflow:hidden;background-color:#141513;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:40px 40px}.visual-label,.coordinates{position:absolute;font:700 8px/1.6 monospace;letter-spacing:.1em;color:var(--muted)}.visual-label{left:20px;top:20px}.coordinates{right:20px;bottom:20px;text-align:right}.orbit{position:absolute;border:1px solid rgba(241,240,234,.1);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.orbit-1{width:45%;aspect-ratio:1}.orbit-2{width:65%;aspect-ratio:1}.orbit-3{width:85%;aspect-ratio:1}.endpoint{position:absolute;z-index:3;display:flex;align-items:center;gap:10px;font:700 8px/1 monospace;letter-spacing:.08em}.endpoint i{width:11px;height:11px;border:2px solid var(--red);border-radius:50%;background:#141513;box-shadow:0 0 0 7px rgba(227,38,54,.12)}.tx{left:16%;top:58%}.rx{right:16%;top:35%}.signal{position:absolute;left:17%;right:17%;top:48%;height:1px;background:var(--red);transform:rotate(-16deg);transform-origin:center}.signal i{position:absolute;width:55px;height:1px;background:white;animation:transmit 2.3s linear infinite}@keyframes transmit{from{left:0;opacity:0}20%{opacity:1}80%{opacity:1}to{left:calc(100% - 55px);opacity:0}}.distance-label{position:absolute;left:50%;top:43%;transform:translate(-50%,-50%);padding:10px 13px;background:var(--paper);color:var(--carbon);text-align:center}.distance-label span{display:block;font:14px/1.3 monospace}.distance-label small{font:700 7px/1 monospace;letter-spacing:.12em}.results article{position:relative;padding:20px 0;border-bottom:1px solid var(--line)}.results article span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.1em}.results article strong{display:inline-block;margin-top:10px;font:400 30px/1 monospace}.results article em{margin-left:7px;color:var(--muted);font:400 10px/1 monospace}.results .primary-result strong{font-size:46px;color:white}.status-card{margin-top:24px;padding:16px;background:var(--panel2)}.status-card>span{color:var(--muted);font:700 8px/1 monospace}.status-card strong{display:block;margin-top:13px;font-size:11px}.status-card strong i{display:inline-block;width:7px;height:7px;margin-right:8px;background:var(--red);border-radius:50%}.status-card p{margin:8px 0 0;color:var(--muted);font-size:9px}.equation{border-top:1px solid var(--line);background:var(--carbon)}.equation>button{width:100%;height:52px;padding:0 24px;border:0;background:none;color:white;display:flex;justify-content:space-between;align-items:center;text-transform:uppercase;font-size:9px;letter-spacing:.1em;cursor:pointer}.equation>button span{color:var(--red)}#equation-body{padding:22px 24px;border-top:1px solid var(--line);color:#b5b6af;font-size:12px}#equation-body code{color:white}.toast{position:fixed;right:20px;bottom:20px;padding:12px 16px;background:var(--paper);color:var(--carbon);font-size:10px;opacity:0;transform:translateY(10px);transition:.2s}.toast.visible{opacity:1;transform:none}
@media(max-width:950px){main{grid-template-columns:260px 1fr}.results{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.results .panel-title,.results .status-card{grid-column:1/-1}.results{border-left:0;border-top:1px solid var(--line)}}@media(max-width:650px){header{grid-template-columns:1fr auto}.product{display:none}main{display:flex;flex-direction:column}.controls{border-right:0}.visual{min-height:430px}.results{display:block}.header-actions button:first-child{display:none}.signal{transform:rotate(-20deg)}.results .primary-result strong{font-size:38px}}@media(prefers-reduced-motion:reduce){.signal i{animation:none;left:50%}}

/* Version 0.2 — progressive controls and link assessment */
.mode-bar{min-height:58px;padding:8px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#151614}.mode-bar>div:first-child{display:grid;gap:3px}.mode-bar strong{font-size:9px;text-transform:uppercase;letter-spacing:.11em}.mode-bar span{color:var(--muted);font-size:9px}.segmented{display:flex;padding:3px;background:#252623}.segmented button{min-width:82px;padding:8px 12px;border:0;background:transparent;color:#9a9c94;font-size:9px;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}.segmented button.active{background:var(--paper);color:var(--carbon)}
main{min-height:calc(100vh - 182px);grid-template-columns:340px 1fr 320px}.controls{padding:24px 26px}.field{display:block;margin-top:22px;color:#c6c7c0;font-size:10px;text-transform:uppercase;letter-spacing:.09em}.field>label{margin:0}.field select{display:block}.help{width:18px;height:18px;margin-left:3px;padding:0;border:1px solid #55574f;border-radius:50%;background:transparent;color:#aeb0a8;font:700 9px/1 monospace;cursor:help;vertical-align:middle}.help:hover,.help:focus{border-color:var(--paper);color:white;outline:0}.input-row{display:grid;grid-template-columns:1fr 104px;gap:12px;align-items:center;margin-top:8px}.input-row input[type=range]{margin:0}.input-row>span{height:37px;display:grid;grid-template-columns:1fr auto;align-items:center;padding:0 9px;background:var(--panel2);border:1px solid var(--line)}.input-row input[type=number]{width:100%;margin:0;border:0;font-size:13px}.input-row b{color:var(--muted);font:700 8px/1 monospace}.gain-grid .help{float:none}.gain-grid label{min-width:0}.advanced-fields{margin-top:26px;padding-top:2px;border-top:1px solid #696b63}.advanced-heading{margin-top:18px;color:var(--paper);font:700 9px/1.3 monospace;text-transform:uppercase;letter-spacing:.1em}.check-field{display:flex;align-items:center;gap:10px;margin-top:18px;padding:13px;background:var(--panel2);cursor:pointer}.check-field input{accent-color:var(--red)}.check-field span{float:none;color:#c6c7c0;font:700 9px/1.3 Arial,sans-serif}.validation{margin-top:20px;padding:12px;border-left:3px solid var(--red);background:rgba(227,38,54,.1);color:#ffb2b8;font-size:10px;line-height:1.4}.tooltip{position:fixed;z-index:30;width:250px;padding:12px;background:var(--paper);color:var(--carbon);box-shadow:0 8px 30px rgba(0,0,0,.35);font-size:11px;line-height:1.45;opacity:0;pointer-events:none;transform:translateY(-4px);transition:.15s}.tooltip.visible{opacity:1;transform:none}
.assessment{margin:20px 0 8px;padding:18px;border-left:3px solid #6acb8a;background:var(--panel2)}.assessment[data-state=marginal]{border-color:#e5a938}.assessment[data-state=failed]{border-color:var(--red)}.assessment>span{display:block;color:#8dd6a4;font:700 8px/1 monospace;letter-spacing:.12em}.assessment[data-state=marginal]>span{color:#efc36c}.assessment[data-state=failed]>span{color:#ff8e98}.assessment strong{display:block;margin-top:10px;font-size:15px}.assessment strong b{font:400 28px/1 monospace}.assessment p{margin:9px 0 0;color:#aaaca4;font-size:9px;line-height:1.45}.limiter{margin-top:22px;padding:16px;background:var(--panel2)}.limiter span{color:var(--muted);font:700 8px/1 monospace}.limiter strong{display:block;margin-top:10px;font-size:12px}.limiter p{margin:7px 0 0;color:var(--muted);font-size:9px;line-height:1.5}.results article strong{font-size:24px}.trace-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.trace-grid article{padding:20px;background:var(--panel)}.trace-grid h3{margin:0 0 14px;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.trace-grid p{margin:12px 0 0;color:var(--muted);font:10px/1.5 monospace}.assumption{max-width:900px;margin:20px 0 0;color:var(--muted);font-size:10px;line-height:1.55}
@media(max-width:1100px){main{grid-template-columns:310px 1fr}.results{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:0 24px}.results .panel-title,.results .assessment,.results .limiter{grid-column:1/-1}.results{border-left:0;border-top:1px solid var(--line)}}
@media(max-width:700px){.mode-bar{align-items:flex-start;gap:12px;flex-direction:column;padding:12px 16px}.segmented{width:100%}.segmented button{flex:1}main{display:flex;flex-direction:column}.controls{padding:22px 18px}.visual{min-height:420px}.results{display:block}.input-row{grid-template-columns:1fr 100px}.trace-grid{grid-template-columns:1fr}.mode-bar span{line-height:1.35}}

/* Version 0.3 — simulation-first mission path builder */
.sim-builder{padding:28px 24px;border-bottom:1px solid var(--line);background:var(--paper);color:var(--carbon)}.sim-heading{display:grid;grid-template-columns:140px minmax(280px,.9fr) 1fr;gap:24px;align-items:end}.sim-heading>span{color:var(--red);font:700 8px/1 monospace;letter-spacing:.12em}.sim-heading h1{margin:0;font-size:clamp(26px,3vw,44px);line-height:.95;letter-spacing:-.045em;font-weight:500}.sim-heading p{max-width:560px;margin:0;color:#5f615a;font-size:11px;line-height:1.5}.sim-presets{display:flex;gap:6px;margin:24px 0 14px}.sim-presets button{padding:9px 12px;border:1px solid #aaa9a2;background:transparent;color:var(--carbon);font-size:8px;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.sim-presets button:hover,.sim-presets button.active{border-color:var(--red);background:var(--red);color:white}.path-builder{display:grid;grid-template-columns:1fr 24px 1fr 24px 1fr .75fr;gap:8px;align-items:end}.path-builder label{margin:0;padding:11px;background:#e5e4de;color:#555750}.path-builder select{margin-top:8px;border-color:#aaa9a2;background:var(--white,#faf9f5);color:var(--carbon)}.path-arrow{align-self:center;text-align:center;color:var(--red);font:18px/1 monospace}.sim-summary{margin-top:12px;padding-top:12px;display:flex;align-items:center;gap:28px;border-top:1px solid #c8c7c0}.sim-summary span{color:#65675f;font:700 7px/1 monospace;letter-spacing:.08em}.sim-summary b{margin-right:5px;color:var(--carbon);font-size:9px}.sim-summary small{margin-left:auto;color:#777970;font-size:8px}.relay{left:50%;top:47%;transform:translate(-50%,-50%)}.relay i{background:var(--red);border-color:var(--paper)}
@media(max-width:1000px){.sim-heading{grid-template-columns:110px 1fr}.sim-heading p{grid-column:2}.path-builder{grid-template-columns:1fr 20px 1fr 20px 1fr}.path-builder label:last-child{grid-column:1/-1}.sim-summary{flex-wrap:wrap}.sim-summary small{width:100%;margin:0}}
@media(max-width:650px){.sim-builder{padding:22px 16px}.sim-heading{grid-template-columns:1fr}.sim-heading p{grid-column:auto}.sim-presets{overflow-x:auto;padding-bottom:4px}.sim-presets button{white-space:nowrap}.path-builder{grid-template-columns:1fr}.path-arrow{display:none}.path-builder label:last-child{grid-column:auto}.sim-summary{gap:12px 20px}.relay{top:48%}}
