:root{--bg:#0a0e14;--text:#edf3fb;--muted:#a8b6c8;--accent:#6ee7b7;--accent2:#82b5ff;--alt:#ffb86b;--analytic:#d6a6ff;--danger:#ff8f9c;--border:rgba(255,255,255,.1);--shadow:0 22px 70px rgba(0,0,0,.34);--radius:8px;--app-shell-max:1280px;--app-shell-gap:14px;--page-gutter:18px;--sans:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--text);font:15px/1.42 var(--sans);background:linear-gradient(135deg,rgba(110,231,183,.12),transparent 34%),linear-gradient(315deg,rgba(130,181,255,.14),transparent 34%),var(--bg)}
.app-shell>.hero,.app-shell>.panel,.app-shell>.metrics-grid,.app-shell>.mode-tabs{width:min(1180px,100%)}.hero,.panel,.metric-card,.mode-tabs{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));box-shadow:var(--shadow)}
.hero{padding:18px}.hero h1{margin:0 0 6px;font-size:clamp(30px,5vw,46px);line-height:1}.hero p,.panel-copy,.status{margin:0;color:rgba(237,243,251,.74)}.panel{display:grid;gap:14px;padding:14px}.panel h2{margin:0 0 4px;font-size:22px}.panel-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px}
.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:end;justify-content:flex-end}button,input,select{appearance:none;border:1px solid var(--border);border-radius:var(--radius);background:rgba(0,0,0,.24);color:var(--text);font:inherit}button{min-height:40px;padding:9px 12px;cursor:pointer;font-weight:750}button:hover{border-color:rgba(237,243,251,.28);background:rgba(255,255,255,.06)}button.primary{border-color:rgba(110,231,183,.52);background:linear-gradient(180deg,rgba(110,231,183,.24),rgba(110,231,183,.1))}button:disabled{cursor:not-allowed;opacity:.5}label{display:grid;gap:6px;color:rgba(237,243,251,.72);font-size:12px;font-weight:650}input,select{width:100%;padding:9px 10px;outline:none}input:focus,select:focus{border-color:rgba(110,231,183,.72);box-shadow:0 0 0 4px rgba(110,231,183,.14)}select option{background:#111928}
.mode-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:5px;gap:5px}.mode-tab{border-color:rgba(255,255,255,.18);background:rgba(0,0,0,.16)}.mode-tab.is-active{border-color:rgba(110,231,183,.6);background:rgba(110,231,183,.18);color:var(--accent)}[hidden]{display:none!important}
.input-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}fieldset{min-width:0;margin:0;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:rgba(0,0,0,.12)}legend{padding:0 6px;color:var(--text);font-size:13px;font-weight:800}.input-grid{display:grid;gap:8px}.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.four-col{grid-template-columns:repeat(4,minmax(0,1fr))}.force-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.numerics-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.toggle{display:inline-flex;align-items:center;gap:9px;min-height:40px;padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:rgba(0,0,0,.18);white-space:nowrap}.toggle input{width:18px;height:18px;padding:0;accent-color:var(--accent)}.run-actions{justify-content:flex-start}.status{min-height:20px;font-size:13px}.status.is-ok{color:var(--accent)}.status.is-warn{color:#ffd18a}.status.is-error{color:var(--danger)}
.figure-canvas,.plot-canvas{display:block;width:100%;border:1px solid var(--border);border-radius:var(--radius);background:#05070a}.figure-canvas{height:300px}.timeline-label input{padding:0;height:12px;accent-color:var(--accent);cursor:pointer}.time-readout{font:800 16px var(--mono);color:var(--accent)}
.metrics-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.metric-card{display:grid;gap:5px;padding:12px;min-width:0}.metric-card span{color:var(--muted);font-size:12px}.metric-card strong{overflow:hidden;color:var(--text);font:750 15px var(--mono);text-overflow:ellipsis;white-space:nowrap}
.plot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.plot-grid figure{min-width:0;margin:0}.plot-grid figcaption{margin:0 0 6px;color:var(--text);font-weight:750}.plot-canvas{height:300px;cursor:crosshair;touch-action:none}.legend{display:flex;flex-wrap:wrap;gap:12px;color:var(--muted);font-size:12px}.legend span::before{content:"";display:inline-block;width:18px;height:3px;margin-right:6px;vertical-align:middle;border-radius:9px}.legend-primary::before{background:var(--accent)}.legend-alt::before{background:var(--alt)}.legend-analytic::before{background:var(--analytic)}
.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--radius)}table{width:100%;min-width:680px;border-collapse:collapse}th,td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left;font-size:13px}th{background:rgba(10,14,20,.95)}td:nth-child(2){font-family:var(--mono);color:var(--accent)}.equation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.equation{display:grid;gap:6px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:rgba(0,0,0,.16)}.equation span{color:var(--muted);font-size:12px}.equation strong{font:750 16px var(--mono);color:var(--accent2)}
.sheet-tabs{display:flex;align-items:center;gap:10px;margin-bottom:-14px;position:relative;z-index:1}.sheet-tab{padding:7px 12px;border:1px solid var(--border);border-bottom-color:#0b1119;border-radius:7px 7px 0 0;background:#0b1119;font-weight:800}.sheet-note{color:var(--muted);font-size:12px}.spreadsheet-wrap{border-radius:0 var(--radius) var(--radius) var(--radius);background:#080c12}.spreadsheet-wrap table{table-layout:fixed;font-family:var(--mono)}.spreadsheet-wrap th,.spreadsheet-wrap td{height:38px;padding:5px 8px;border-right:1px solid rgba(255,255,255,.08)}.spreadsheet-wrap thead th{position:sticky;top:0;z-index:2;text-align:center;color:var(--muted)}.parameter-sheet{min-width:720px}.parameter-sheet th:first-child{width:120px;color:var(--accent)}.parameter-sheet td:nth-child(2){width:180px}.parameter-sheet td:nth-child(3){width:100px;color:var(--muted)}.spreadsheet-wrap input{min-width:0;height:30px;padding:4px 7px;border-radius:3px;background:rgba(130,181,255,.06);font-family:var(--mono)}.formula-bar{display:grid;grid-template-columns:58px 28px minmax(0,1fr);align-items:center;border:1px solid var(--border);background:#080c12}.formula-bar span,.formula-bar label{display:grid;place-items:center;height:38px;border-right:1px solid var(--border);color:var(--muted);font:700 12px var(--mono)}.formula-bar input{height:38px;border:0;border-radius:0;background:transparent;font-family:var(--mono)}.history-sheet{min-width:920px}.history-sheet .row-number,.history-sheet tbody th{width:54px;text-align:center;color:var(--muted)}.history-sheet td{color:var(--text)!important}.history-sheet .initial-row td{background:rgba(130,181,255,.05)}.history-sheet .formula-row td{padding:3px}.history-sheet .formula-row input{border-color:rgba(110,231,183,.2)}.formula-help{margin:0;color:var(--muted);font-size:12px}.formula-help code{color:var(--accent2);font-family:var(--mono)}.calculated-wrap{max-height:390px}.calculated-wrap tbody tr{cursor:pointer}.calculated-wrap tbody tr:hover,.calculated-wrap tbody tr.is-current{background:rgba(110,231,183,.1)}.calculated-wrap td{font-variant-numeric:tabular-nums}
@media(max-width:1100px){.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.input-sections{grid-template-columns:1fr}.equation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.panel-head,.plot-grid{grid-template-columns:1fr}.actions{justify-content:flex-start}.three-col,.four-col,.force-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.numerics-grid{grid-template-columns:1fr}.figure-canvas{height:250px}.plot-canvas{height:280px}}
@media(max-width:540px){.metrics-grid,.equation-grid,.three-col,.four-col,.force-grid{grid-template-columns:1fr}.preset-actions button{flex:1 1 45%}}
