: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{font:inherit}button,input[type=range],input[type=checkbox]{cursor:pointer}button,a,input{touch-action:manipulation}button{color:inherit}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:2px solid var(--mint);outline-offset:3px}[hidden]{display:none!important}
.workspace{display:grid;grid-template-columns:295px minmax(0,1fr);max-width:1900px;margin:auto}.controls{padding:28px 23px;border-right:1px solid var(--border);background:var(--surface)}main{padding:28px 30px;min-width:0}.eyebrow{margin:0 0 10px;font-size:10px;font-weight:650;letter-spacing:1.7px;color:var(--muted)}h1{margin:0;font-size:30px;line-height:1.25;font-weight:600;letter-spacing:-.8px}h2{margin:0;font-size:13px;font-weight:600}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.page-heading .eyebrow{margin-bottom:6px}.intro{max-width:850px;margin:13px 0 19px;color:var(--muted);font-size:13px;line-height:1.7}.badge{border:1px solid var(--border-strong);color:var(--secondary);padding:5px 10px;border-radius:20px;font-size:11px;white-space:nowrap}
.equations{font:18px/1.8 Georgia,serif;letter-spacing:.2px;margin:14px 0 22px;color:var(--text)}input[type=number]{background:var(--input-bg);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:8px 9px;min-width:0;font-variant-numeric:tabular-nums}.parameter-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.parameter-heading label{font-size:13px;color:var(--secondary)}.parameter-heading input{width:150px;font-size:12px}.parameter-slider{width:100%;margin:18px 0 3px}.range-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.hint{font-size:11px;line-height:1.65;color:var(--muted);margin:10px 0}.control-section{border-top:1px solid var(--border);margin-top:23px;padding-top:20px}.control-section h2{display:flex;align-items:center;gap:7px;margin-bottom:12px}.event-buttons{display:grid;gap:7px}.event-button{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--secondary);padding:10px;font-size:12px}.event-button small{font:10px ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--muted)}.event-button:hover{background:var(--hover-bg)}.event-button[aria-pressed=true]{border-color:var(--mint);background:var(--stable-bg)}.event-button[aria-pressed=true] small{color:var(--secondary)}.compare-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-top:12px}.secondary-button{padding:8px 7px;border:1px solid var(--border-strong);border-radius:6px;background:transparent;color:var(--secondary);font-size:11px}.secondary-button:hover{background:var(--hover-bg)}.offset-control{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;color:var(--muted);font-size:11px}.offset-control input{width:88px;padding:6px 8px}.view-options label{display:flex;align-items:center;gap:8px;margin-top:11px;font-size:12px;color:var(--secondary)}input[type=checkbox],input[type=range]{accent-color:var(--mint)}input[type=checkbox]{width:14px;height:14px;margin:0}.count{margin-left:auto;color:var(--muted);font-size:10px;font-weight:400}.coordinate-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.coordinate-fields label{font-size:11px;color:var(--muted)}.coordinate-fields input{display:block;width:100%;margin-top:5px}.trajectory-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.reset-button{width:100%;margin-top:20px}.error{color:var(--error);font-size:12px;line-height:1.6}.error:empty,.status:empty{display:none}input[aria-invalid=true]{border-color:var(--error)}
.event-summary{margin:0 0 20px;padding:14px 18px;border:1px solid var(--border);border-left:3px solid var(--connection);border-radius:8px;background:var(--surface)}.summary-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:7px 20px;font-size:13px}.summary-heading strong{color:var(--connection);font-weight:600}.summary-heading output{font:12px ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--text)}.event-summary p{margin:8px 0 0;font-size:12px;color:var(--secondary);line-height:1.65}.event-summary .detail{font-size:11px;color:var(--muted)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;min-width:0;overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 18px}.portrait-panel>.panel-heading{border-bottom:1px solid var(--border)}.plot-actions{display:flex;gap:5px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;padding:0;background:transparent;border:1px solid var(--border);border-radius:5px;font-size:21px;color:var(--secondary)}.icon-button:hover{background:var(--hover-bg)}#phase-canvas{display:block;width:100%;height:clamp(410px,53vh,630px);cursor:crosshair;touch-action:none}#bifurcation-canvas{display:block;width:100%;height:245px;cursor:ew-resize;touch-action:none}.plot-legend{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px 20px;font-size:10px;margin:13px 16px 0}.plot-legend span{display:flex;align-items:center;gap:6px}.plot-legend span:before{content:'';display:inline-block;width:15px;border-top:2px solid currentColor}.plot-note{font-size:11px;color:var(--muted);margin:10px 18px 14px;line-height:1.65}.status{color:var(--violet)}.diagram-panel{margin-top:18px}.subtle{color:var(--muted);font-size:10px}.bottom-panels{display:grid;grid-template-columns:1.1fr 1fr;gap:18px;margin-top:18px}.table-wrap{overflow-x:auto;padding:0 18px 16px}table{border-collapse:collapse;width:100%;text-align:left;font-size:11px;white-space:nowrap}th{color:var(--muted);font-weight:400;padding:0 12px 9px 0}td{color:var(--secondary);border-top:1px solid var(--border);padding:11px 12px 11px 0}td:first-child,td:last-child{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px}td:last-child,th:last-child{padding-right:0}.reading-panel p{font-size:12px;line-height:1.75;color:var(--secondary);margin:0 18px 12px}.reading-panel strong{color:var(--text);font-weight:500}.nullcline-formulas{display:grid;gap:4px;margin:15px 18px 20px;font:15px/1.6 Georgia,serif}footer{font-size:11px;color:var(--muted);line-height:1.7;margin-top:19px;max-width:950px}
:root{--connection:#e8a2cf;--x-nullcline:#7f878d;--y-nullcline:#96918a;--stable-path:#77c9ef}html[data-theme=light]{--connection:#a83d7d;--x-nullcline:#737a80;--y-nullcline:#817a72;--stable-path:#2479a4}.connection-legend{color:var(--connection)}.x-nullcline{color:var(--x-nullcline)}.y-nullcline{color:var(--y-nullcline)}.stable-legend{color:var(--stable-path)}.unstable-legend{color:var(--orange)}.trajectory-legend{color:var(--violet)}
@media(max-width:1150px){.workspace{grid-template-columns:270px minmax(0,1fr)}.controls{padding:24px 18px}main{padding:24px 20px}.bottom-panels{grid-template-columns:1fr}.parameter-heading input{width:140px}.page-heading{align-items:flex-start}.badge{font-size:10px}h1{font-size:27px}}
@media(max-width:760px){.workspace{display:flex;flex-direction:column}.controls{border-right:0;border-bottom:1px solid var(--border);padding:23px 20px}.event-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.event-button{flex-direction:column;align-items:flex-start;gap:4px}.parameter-heading input{width:190px}.view-options{display:grid;grid-template-columns:1fr 1fr;gap:9px 12px}.view-options h2{grid-column:1/-1;margin-bottom:0}.view-options label{margin-top:2px;font-size:11px}.control-section{margin-top:20px;padding-top:17px}.secondary-button{font-size:12px}main{padding:24px 14px}.page-heading{flex-wrap:wrap;gap:12px}h1{font-size:26px}.page-heading .eyebrow{font-size:9px}#phase-canvas{height:430px}#bifurcation-canvas{height:265px}.panel-heading{padding:13px 14px}.panel-heading .subtle{font-size:9px}.plot-legend{gap:8px 14px}.plot-note{margin-left:14px;margin-right:14px}.summary-heading{font-size:12px}.event-summary{padding:13px 14px}.bottom-panels{gap:16px}}
