:root{color-scheme:dark;--bg:#0c151c;--panel:#111e27;--line:#293b47;--text:#edf4f5;--muted:#a6bbc6;--accent:#97efd8;--amber:#f5cb82}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 "Avenir Next",Avenir,"Trebuchet MS",sans-serif}button,input,select{font:inherit}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}header{max-width:1500px;margin:auto;padding:24px 4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:14px;font-size:23px;letter-spacing:-1px;font-weight:600}.brand>span{font:28px Georgia;color:var(--accent);letter-spacing:-5px;transform:rotate(-15deg)}.brand small{font:11px monospace;letter-spacing:2px;color:var(--muted)}nav{display:flex;gap:24px;color:var(--muted);font-size:14px}main{max-width:1500px;margin:auto;padding:32px 4% 0}.intro{display:flex;justify-content:space-between;align-items:center;gap:30px}.eyebrow{color:var(--accent);font:11px/1.6 monospace;letter-spacing:1.4px;margin:0}h1{font-size:clamp(40px,4.7vw,66px);font-weight:500;line-height:1.08;letter-spacing:-2.5px;margin:13px 0}h1 em{font:italic 1.05em Georgia;color:var(--accent)}.intro p:not(.eyebrow){margin:0;color:var(--muted)}.actions{display:grid;grid-template-columns:1fr auto;gap:10px;min-width:290px}.actions .primary{grid-column:span 2}.primary,.secondary,.stop,.quiet{border-radius:7px;padding:11px 15px;border:1px solid var(--line);font-size:14px;background:transparent;color:var(--text)}.primary{display:flex;justify-content:space-between;background:var(--accent);color:#0d2527;border:0;font-weight:600}.secondary{background:#1b303c}.stop{color:var(--amber)}.quiet{font-size:13px;color:var(--accent);padding:7px 10px}.status{border-left:2px solid var(--accent);background:#14262e;padding:11px 16px;margin:25px 0 22px;color:#c7d9df;font-size:14px}.status.demo{border-color:var(--amber);color:var(--amber)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 335px;gap:22px}.tracking-panel,.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-head h2{font-size:16px;font-weight:500;margin:0}.tracking-panel>.panel-head{padding:18px 23px}.badge{font:11px monospace;letter-spacing:.6px;border:1px solid var(--line);padding:4px 9px;border-radius:30px;color:var(--muted)}.badge.demo{color:var(--amber);border-color:#7c613b}.plot-wrap{height:385px;position:relative;background:radial-gradient(ellipse at 50% 50%,#1a3037,#0e1b24)}#trajectory{width:100%;height:100%;display:block}.plot-empty{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;flex-direction:column;text-align:center;pointer-events:none}.plot-empty[hidden]{display:none}.cross{font:50px/1 Georgia;color:#5f817f;margin-bottom:12px}.plot-empty h3{font:normal 28px Georgia;margin:0 0 13px}.plot-empty p{font-size:14px;color:var(--muted);margin:0}.plot-caption{position:absolute;left:20px;bottom:12px;right:20px;text-align:center;color:var(--muted);font-size:12px;pointer-events:none}.metrics{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:19px 22px;border-top:1px solid var(--line)}.metrics>div{min-width:0}.metrics>div>span{display:block;font:10px monospace;letter-spacing:1px;color:var(--muted);margin-bottom:7px}.metrics strong{font:27px monospace;color:var(--accent);white-space:nowrap}.metrics strong small{font:13px monospace}.metrics .text-metric{font:14px "Avenir Next",sans-serif;color:var(--text)}aside{display:flex;flex-direction:column;gap:16px}.panel{padding:20px}.step{color:var(--muted);font:12px monospace}.setup ol{color:var(--muted);font-size:14px;padding-left:20px;margin:13px 0}.setup li{padding:3px 0}.small{color:var(--muted);font-size:12px;line-height:1.55}.setup label{display:block;color:var(--muted);font-size:13px;margin-top:16px}.setup output{float:right;color:var(--text);font:12px monospace}select,input[type=number]{width:100%;border:1px solid var(--line);border-radius:5px;background:var(--bg);color:var(--text);padding:9px;margin-top:7px;font-size:13px}input[type=range]{width:100%;accent-color:var(--accent);margin:12px 0}dl{font-size:12px;margin:15px 0 0}dl>div{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid #243640}dt{color:var(--muted)}dd{margin:0;text-align:right;max-width:62%}.analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}.analysis-grid canvas{width:100%;height:155px;display:block;margin-top:17px}.axis-labels{display:flex;justify-content:space-between;gap:10px;font:11px monospace;color:var(--muted);margin-top:8px}.analysis-grid .small{margin-bottom:0}.analysis-grid .eyebrow{font-size:10px}details.panel{margin-top:20px;padding:0}summary{padding:17px 21px;cursor:pointer;display:flex;justify-content:space-between;font-size:14px}details>p,details>label,details>button,details>output{margin-left:21px;margin-right:21px}details>p{font-size:14px;color:var(--muted);max-width:950px}.geometry-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 21px;max-width:850px}.geometry-fields label{font-size:13px;color:var(--muted)}.checkbox{display:flex;align-items:center;gap:10px;font-size:13px}.checkbox input{accent-color:var(--accent)}#checks{display:block;white-space:pre-wrap;font:12px/1.8 monospace;color:var(--accent);margin-top:15px}footer{display:flex;justify-content:space-between;gap:25px;color:var(--muted);font-size:11px;padding:23px 0;margin-top:20px;border-top:1px solid var(--line)}@media(min-width:1500px){.plot-wrap{height:470px}}@media(max-width:1000px){.workspace{grid-template-columns:minmax(0,1fr) 300px;gap:16px}.metrics{flex-wrap:wrap}.brand small{display:none}.analysis-grid{gap:16px}.plot-wrap{height:440px}.actions{min-width:240px}}@media(max-width:760px){header{padding:18px 5%;align-items:flex-start}.brand{font-size:19px}nav{font-size:11px;gap:9px;flex-direction:column;align-items:end}main{padding:24px 5% 0}.intro{display:block}h1{font-size:46px}.intro p:not(.eyebrow){font-size:14px}.actions{margin-top:23px;grid-template-columns:1fr auto}.workspace{display:flex;flex-direction:column}.tracking-panel{width:100%}.plot-wrap{height:315px}.plot-empty h3{font-size:22px}.plot-empty p{font-size:12px}.metrics{padding:15px;gap:20px;justify-content:flex-start}.metrics strong{font-size:22px}.metrics .text-metric{font-size:13px}.metrics .quiet{padding:6px 10px}aside{display:grid;grid-template-columns:1fr;width:100%}.analysis-grid{grid-template-columns:1fr;gap:16px;margin-top:16px}.geometry-fields{grid-template-columns:1fr;gap:12px}.panel-head .eyebrow{font-size:9px}.panel{padding:18px}.tracking-panel>.panel-head{padding:15px}.panel-head h2{font-size:14px}footer{font-size:10px;flex-direction:column;gap:8px}.status{font-size:13px}.eyebrow{font-size:10px}.plot-caption{font-size:10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
