:root{color:#18283b;font-synthesis:none;--ink:#17293f;--muted:#526277;--line:#dce4ee;--blue:#195bc6;--orange:#bd5618;background:#f3f6fa;font-family:system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}:focus-visible{outline-offset:3px;outline:3px solid #437ee1}.topbar{border-bottom:1px solid var(--line);background:#fff}.topbar-inner,.workspace{max-width:1440px;margin-inline:auto;padding-inline:clamp(16px,4vw,58px)}.topbar-inner{align-items:center;gap:clamp(20px,5vw,68px);min-height:66px;display:flex}.wordmark{white-space:nowrap;align-items:center;gap:10px;font-weight:730;display:flex}.mark{background:var(--ink);color:#fff;border-radius:9px;place-items:center;width:32px;height:32px;font-size:19px;display:grid}nav{align-self:stretch;gap:clamp(14px,2.7vw,35px);display:flex}nav button{color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;padding:3px 0 0;font-size:.91rem;font-weight:630}nav button:hover,nav button[aria-current]{color:var(--blue)}nav button[aria-current]{border-bottom-color:var(--blue)}.workspace{padding-block:30px 38px}.heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:23px;display:flex}.heading p{color:var(--muted);margin:5px 0 0}.heading .eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin:0;font-size:.74rem;font-weight:750}h1{letter-spacing:-.035em;margin:4px 0 0;font-size:clamp(1.9rem,4vw,2.55rem);line-height:1.14}h2{margin:0;font-size:.99rem;font-weight:690}.status{border:1px solid var(--line);color:var(--muted);white-space:nowrap;background:#fff;border-radius:40px;padding:6px 11px;font-size:.8rem}.status span{background:#76869a;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.status[data-status=running] span{background:#197647}.status[data-status=error] span{background:#bb2525}.dashboard{grid-template-columns:minmax(240px,288px) minmax(0,1fr);grid-template-areas:"controls viewer";align-items:start;gap:20px;display:grid}.dashboard.with-model{grid-template-columns:minmax(210px,1fr) minmax(0,3fr) minmax(210px,1fr);grid-template-areas:"controls viewer model"}.controls{grid-area:controls}.model-panel{grid-area:model}.panel{border:1px solid var(--line);background:#fff;border-radius:13px;min-width:0;box-shadow:0 2px 5px #1d385407}.controls{padding:19px}fieldset{border:0;min-width:0;margin:0;padding:0}legend{padding:0;font-size:.96rem;font-weight:720}.slider{margin-top:13px;display:block}.slider>span{color:var(--muted);justify-content:space-between;align-items:baseline;gap:6px;font-size:.84rem;display:flex}.slider-value{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:650}input[type=range]{width:100%;accent-color:var(--blue);cursor:pointer;margin:6px 0 0;display:block}.model-select{color:var(--muted);margin-top:10px;font-size:.82rem;display:block}.model-select select{border:1px solid var(--line);width:100%;color:var(--ink);background:#f8fafc;border-radius:6px;margin-top:4px;padding:7px;display:block}.scenario-picker{color:var(--muted);margin-top:9px;font-size:.76rem}.scenario-picker div{flex-wrap:wrap;gap:6px;margin-top:5px;display:flex}.scenario-picker button{padding:5px 8px;font-size:.76rem}.coverage{color:#384c62;background:#edf2f8;border-radius:7px;margin-top:10px;padding:8px 10px;font-size:.76rem;line-height:1.4}.coverage[data-coverage=grid],.coverage[data-coverage=within]{color:#245539;background:#e9f5ee}.coverage[data-coverage=between]{color:#704811;background:#fff4dc}.coverage[data-coverage=outside]{color:#85351e;background:#fcece8}.coverage-heading{gap:2px;display:grid}.coverage-heading strong{font-size:.84rem}.coverage p{margin:3px 0 0}.coverage ul{overflow-wrap:anywhere;margin:4px 0 0;padding-left:16px}.model-details{margin:12px 0 0;font-size:.76rem}.model-details div{justify-content:space-between;gap:8px;padding:4px 0;display:flex}.model-details dt{color:var(--muted)}.model-details dd{text-align:right;margin:0;font-weight:600}.actions{flex-wrap:wrap;gap:8px;margin-top:19px;display:flex}.primary,.secondary{border:1px solid var(--line);border-radius:8px;padding:8px 11px;font-size:.83rem;font-weight:650}.primary{background:var(--blue);border-color:var(--blue);color:#fff;flex:1}.primary:hover:enabled{background:#124aa3}.secondary{color:var(--ink);background:#fff}.secondary:hover:enabled{background:#eff4fa}.help,.error{color:var(--muted);margin:12px 0 0;font-size:.77rem;line-height:1.4}.help+button{margin-top:8px}.error{color:#a32020}.viewer{grid-area:viewer;gap:13px;min-width:0;display:grid}.viewer-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 18px;min-height:24px;display:flex}.legend{flex-wrap:wrap;gap:8px 16px;display:flex}.legend span,.clock{color:var(--muted);font-size:.81rem}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-top:3px solid var(--blue);width:21px}.legend i.simulation{border-top:3px dashed var(--orange)}.clock{font-variant-numeric:tabular-nums;white-space:nowrap}.charts{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.chart-header{justify-content:space-between;align-items:baseline;gap:7px;padding:12px 15px 5px;display:flex}.chart-header span{color:var(--muted);white-space:nowrap;font-size:.76rem}.time-plot,.pendulum-plot{width:100%;display:block}.time-plot{padding:3px 6px 8px}.time-plot text{fill:var(--muted);font-size:11px}.pendulum-plot{height:clamp(190px,27vw,306px)}.grid{stroke:#dfe7f0}.zero{stroke:#c1cddb}.trace,.rod{fill:none;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.inference.trace,.inference .rod{stroke:var(--blue)}.simulation.trace,.simulation .rod{stroke:var(--orange);stroke-dasharray:5 5}.simulation.trace{stroke-width:2px}.orbit{fill:none;stroke:#b8c7d8;stroke-dasharray:3 4}.pivot{fill:var(--ink)}.inference .bob{fill:var(--blue);stroke:#fff;stroke-width:1px}.simulation .bob{fill:#bd561815;stroke:var(--orange);stroke-width:2px;stroke-dasharray:3 2}.metrics{flex-wrap:wrap;justify-content:space-between;gap:12px 22px;padding:12px 15px;display:flex}.metrics span{color:var(--muted);font-size:.78rem;display:block}.metrics strong{font-variant-numeric:tabular-nums;font-size:.91rem}@media (width<=950px){.dashboard.with-model{grid-template:"controls viewer"min-content"model viewer"1fr/minmax(210px,245px) minmax(0,1fr);gap:12px}}@media (width<=820px){.dashboard{grid-template-columns:minmax(205px,245px) minmax(0,1fr);gap:12px}.charts{grid-template-columns:minmax(0,1fr)}}@media (width<=620px){.topbar-inner{flex-wrap:wrap;gap:6px 16px;padding-top:10px}nav{min-height:40px}.workspace{padding-top:22px}.heading{align-items:flex-start}.heading p{font-size:.87rem}.dashboard,.dashboard.with-model{grid-template-columns:minmax(0,1fr)}.dashboard{grid-template-areas:"controls""viewer"}.dashboard.with-model{grid-template-rows:auto;grid-template-areas:"controls""model""viewer"}}
