:root{color-scheme:light;--bg:#f7fafc;--panel:#fff;--ink:#1c3045;--muted:#4b647b;--line:#cad8e6;--accent:#166bb5;--hot:#c44528;--good:#18774d;--wash:#eaf3fc}html[data-theme=dark]{color-scheme:dark;--bg:#111c2b;--panel:#18273a;--ink:#edf3fa;--muted:#adc4dc;--line:#38536e;--accent:#74bdff;--hot:#ffa07f;--good:#74dba3;--wash:#213954}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 system-ui,'Microsoft YaHei',sans-serif}h1{font-weight:700}p{margin:.6rem 0}.eyebrow{font-size:.8rem;letter-spacing:.12em;color:var(--accent)}button,select,input{font:inherit}button,select{border:1px solid var(--line);border-radius:7px;color:var(--ink);background:var(--panel);cursor:pointer}button:hover,button[aria-selected=true]{border-color:var(--accent);background:var(--wash)}button:disabled{opacity:.55;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}input[type=range]{accent-color:var(--accent)}input[type=number]{color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:3px 6px}#tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}#tabs button{font-size:.875rem;padding:6px 10px}.control label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.875rem}.control select{max-width:100%;width:100%;min-height:40px}.metric{border:1px solid var(--line);background:var(--panel)}.metric small{display:block;color:var(--muted)}.metric output{font-weight:650}#status{border-left:3px solid var(--accent);padding:8px 10px;background:var(--wash);font-size:.9rem}#status.error{border-color:var(--hot)}#mode{font-size:.875rem;color:var(--muted);margin:0}#plot{background:var(--panel)}#plot text{fill:var(--ink);font-family:inherit}#plot .muted{fill:var(--muted)}#view-note{color:var(--muted)}#timeline label{display:block;font-size:.875rem}#timeline output{font-variant-numeric:tabular-nums}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.actions label{font-size:.875rem}#formula{overflow-x:auto;padding:8px;font-size:.9rem}a{color:var(--accent);display:inline-block;margin-top:10px}summary{cursor:pointer;color:var(--accent)}details{border-top:1px solid var(--line);padding:7px 0}details p{font-size:.9375rem}#limit{color:var(--muted)}[hidden]{display:none!important}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@media(max-width:480px){.control label{font-size:.875rem}#tabs button{flex:1 1 45%}}
