:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--text);background:var(--page-bg);color-scheme:var(--color-scheme);}
*{box-sizing:border-box}body{margin:0;font-size:14px;line-height:1.5}button,input,select{font:inherit}button,select{cursor:pointer}button,a,input,select{touch-action:manipulation}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--mint);outline-offset:3px}
.time-hint{color:var(--muted);font-size:10px;margin:11px 0 0}#range-note{color:var(--orange)}#range-note:empty{display:none}
#model{width:100%;margin-bottom:15px}#equation{white-space:normal;line-height:1.4}.controls>#model{grid-column:1/-1}
.workspace{display:grid;grid-template-columns:278px minmax(0,1fr)}.controls{padding:27px 22px;border-right:1px solid var(--border);background:var(--surface)}.section-heading,.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.8px;color:var(--muted)}.equation{font:20px Georgia,serif;margin:13px 0 4px;white-space:nowrap}.compact{font-size:11px;margin:0 0 25px}.muted,.subtle{color:var(--muted)}.subtle{font-size:11px}.field-label{display:block;font-size:12px;color:var(--muted);margin-bottom:7px}
select,input[type=number]{background:var(--input-bg);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:8px 10px;min-width:0}#preset{width:100%}.control-section{padding-top:22px;margin-top:22px;border-top:1px solid var(--border)}h2{font-size:13px;line-height:1.4;font-weight:600;margin:0}.control-section h2{margin-bottom:17px}.control-section h2 .muted{font-size:11px;font-weight:400;float:right}.parameter{margin-bottom:18px}.parameter:last-child{margin-bottom:0}.parameter-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.parameter-top label{font-size:12px}.parameter-top label span{color:var(--mint);font:italic 16px Georgia,serif;margin-left:4px}.parameter-top input{width:74px;padding:5px 7px;text-align:right}input[type=range]{accent-color:var(--mint);cursor:pointer;width:100%;margin:12px 0 0;height:14px}.initial-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.initial-fields label{font-size:11px;color:var(--muted)}.initial-fields input{display:block;width:100%;margin-top:7px}.check-row{display:flex;align-items:center;gap:8px;font-size:12px;margin:10px 0;cursor:pointer}input[type=checkbox]{accent-color:var(--mint);width:14px;height:14px;margin:0}.duration-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:22px;font-size:12px}.duration-row input{width:78px;padding:6px 8px}.error{font-size:12px;color:var(--error)}.error:empty{display:none}input[aria-invalid=true]{border-color:var(--error)}.secondary-button{width:100%;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--secondary);padding:9px;margin-top:24px}.secondary-button:hover{background:var(--input-bg)}
main{padding:25px 28px 20px;max-width:1640px;width:100%;margin:0 auto;min-width:0}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:23px}.eyebrow{margin:0 0 6px}h1{font-size:clamp(21px,2.3vw,29px);line-height:1.25;letter-spacing:-.7px;font-weight:550;margin:0}.badge{font-size:11px;padding:4px 10px;border:1px solid var(--stable-border);border-radius:20px;color:var(--stable);background:var(--stable-bg);white-space:nowrap}.top-panels{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.panel{min-width:0;overflow:hidden;background:var(--panel);border:1px solid var(--border);border-radius:11px}.panel-heading{padding:17px 19px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-heading h2{font-size:13px}.panel canvas{display:block;width:100%}#motion-canvas{height:210px}#phase-canvas{height:260px}#time-canvas{height:242px}#response-canvas{height:203px}.readouts{display:flex;justify-content:center;gap:30px;font:11px ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--muted);min-height:29px}.readouts strong{font-size:14px;font-weight:500;color:var(--text);margin-left:7px;font-variant-numeric:tabular-nums}.readouts span:last-child strong{color:var(--orange)}.plot-note{color:var(--muted);font-size:10px;margin:9px 19px 15px;min-height:15px}
.playback{display:flex;align-items:center;gap:13px;margin:17px 0}.play-button{display:block;min-width:91px;padding:8px 12px;color:var(--on-accent);background:var(--mint);border:0;border-radius:6px;font-size:12px;font-weight:650}.play-button:hover{background:var(--accent-hover)}.icon-button{background:none;color:var(--secondary);border:1px solid var(--border);border-radius:6px;font-size:23px;line-height:1;width:34px;height:34px}.playback output{font:12px ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap;min-width:83px;color:var(--secondary)}.playback input{flex:1;min-width:30px;margin:0}.playback select{font-size:12px;padding:6px}.legend{display:flex;gap:17px;color:var(--muted);font-size:10px}.legend span{display:flex;align-items:center;gap:6px}.legend span:before{content:'';display:block;width:13px;border-top:2px solid var(--mint)}.legend .forcing:before{border-color:var(--orange);border-top-style:dashed}.legend .particular:before{border-color:var(--violet);border-top-style:dashed}[hidden]{display:none!important}.bottom-panels{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:16px;margin-top:17px}.insight-panel{padding-bottom:17px}#insight{font-size:12px;color:var(--secondary);line-height:1.65;margin:17px 19px 18px;min-height:58px}.metrics{margin:0 19px;display:grid;gap:9px}.metrics div{display:flex;justify-content:space-between;gap:14px;font-size:11px}.metrics dt{color:var(--muted)}.metrics dd{color:var(--text);margin:0;text-align:right;font-variant-numeric:tabular-nums}.formula{color:var(--muted);font:13px Georgia,serif;margin:18px 19px 0}footer{font-size:10px;color:var(--muted);margin-top:19px}
@media(min-width:1500px){#phase-canvas{height:290px}#motion-canvas{height:240px}#time-canvas{height:270px}}
@media(max-width:1100px){.workspace{grid-template-columns:245px minmax(0,1fr)}.controls{padding:24px 16px}main{padding:24px 18px}.equation{font-size:18px}.panel-heading{padding:15px 14px 0}.panel-heading .subtle{font-size:10px}.readouts{gap:13px}.plot-note{margin-left:14px;margin-right:14px}.bottom-panels{grid-template-columns:minmax(0,1fr)}.insight-panel{display:grid;grid-template-columns:1fr 1fr;column-gap:12px}.insight-panel .panel-heading{grid-column:1/-1}#insight{grid-row:2/4;min-height:0}.metrics{margin-top:17px}.formula{margin-top:14px;font-size:12px}}
@media(max-width:850px){.top-panels{grid-template-columns:minmax(0,1fr)}.motion-panel{order:0}.phase-panel{order:1}#motion-canvas{height:190px}#phase-canvas{height:270px}.page-heading{align-items:flex-start;flex-direction:column}.legend{gap:10px}.time-panel .panel-heading{align-items:flex-start;flex-direction:column;gap:8px}}
@media(max-width:620px){.workspace{display:flex;flex-direction:column}.controls{padding:23px 20px;border-right:0;border-bottom:1px solid var(--border);display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.controls>.section-heading,.controls>.equation,.controls>.compact,.controls>.field-label,.controls>#preset,.controls>.error,.controls>.secondary-button{grid-column:1/-1}.controls>.control-section{grid-column:1/-1;margin-top:20px;padding-top:18px}.equation{font-size:23px;margin-top:9px}.compact{margin-bottom:17px}.control-section h2{margin-bottom:12px}.parameter{margin-bottom:12px}.controls>.secondary-button{margin-top:18px}main{padding:24px 14px}.page-heading{gap:10px;margin-bottom:20px}.panel-heading h2{font-size:13px}.playback{gap:9px;flex-wrap:wrap}.playback input{order:5;flex-basis:100%;margin:2px 0 6px}.playback select{margin-left:auto}.playback output{margin-left:auto}.insight-panel{display:block}#insight{min-height:0}#response-canvas{height:215px}.top-panels{gap:14px}.legend{font-size:9px}.plot-note{font-size:10px}.initial-fields{gap:20px}}

#phase-canvas{cursor:crosshair}#trajectory-select{width:100%;margin-bottom:13px;font-size:12px}.trajectory-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}.trajectory-actions .secondary-button{margin:0;padding:7px 5px;font-size:10px}.trajectory-actions #keep-trajectory{grid-column:1/-1}button:disabled{opacity:.4;cursor:default}.trajectory-legend{display:flex;flex-wrap:wrap;gap:6px 12px;margin:5px 19px 0;min-height:21px}.trajectory-chip{font-size:10px;color:var(--trajectory-color);opacity:.7}.trajectory-chip.selected{opacity:1;font-weight:600}#trajectory-status:empty{display:none}
