/* Residual Inertia | 余势 — Brand System v1.1. Generated from tokens.json. */
@font-face{font-family:"IBM Plex Sans";src:url("./fonts/IBMPlexSans.woff2") format("woff2");font-weight:100 700;font-style:normal;font-display:swap;}
@font-face{font-family:"Noto Sans SC";src:url("./fonts/NotoSansSC.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;}
@font-face{font-family:"IBM Plex Mono";src:url("./fonts/IBMPlexMono-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;}
:root{--ri-paper:#F2F2EB;--ri-ink:#0A2122;--ri-blue:#005CC2;--ri-slate:#526260;--ri-mist:#A5ABA6;--ri-grid:#D9DBD4;--ri-positive:#5D8F7E;--ri-caution:#C79242;--ri-risk:#C86159;--ri-surface:#FAFAF6;--ri-tint:#E8ECE6;--ri-night-soft:#123A38;--ri-sans:"IBM Plex Sans", "Source Han Sans", "Noto Sans SC", "Noto Sans CJK SC", sans-serif;--ri-mono:"IBM Plex Mono", "Noto Sans SC", monospace;--ri-card-radius:8px;--ri-control-radius:4px;--ri-gap:16px;--ri-card-padding:24px;}

html { color-scheme:light; }
body { background:var(--ri-paper); color:var(--ri-ink); font-family:var(--ri-sans); font-size:14px; line-height:1.6; -webkit-font-smoothing:antialiased; }
button,input,select,textarea { font-family:var(--ri-sans); }
:where(h1,h2,h3,h4,h5,h6) { font-family:var(--ri-sans); font-weight:600; }
:where(code,pre,.mono,.ticker,.research-id,.model-id,.timestamp) { font-family:var(--ri-mono); }
:where(button,input,select,textarea,a):focus-visible { outline:2px solid var(--ri-blue);outline-offset:3px; }
:where(button,.badge,.tag,input,select,textarea) { border-radius:4px; }
:where(.card,.panel,.metric,.kpi-card) { border-radius:8px;box-shadow:none; }
:where(table) { font-variant-numeric:tabular-nums; }
:where(th) { background:var(--ri-tint);color:var(--ri-slate);text-align:left; }
:where(td,th) { border-color:var(--ri-grid); }
:where(tbody tr:hover) { background:var(--ri-tint); }
.ri-wordmark { font-family:var(--ri-sans)!important; font-size:16px;font-weight:600;line-height:1.5;letter-spacing:0; }
.ri-descriptor { display:block;font-family:var(--ri-sans);font-size:11px;font-weight:400;letter-spacing:.03em;line-height:1.6; }
.ri-brandbar { padding:16px 24px;border-bottom:1px solid var(--ri-grid);background:var(--ri-ink);color:var(--ri-paper);display:flex;align-items:center;justify-content:space-between;gap:16px; }
.ri-brandbar a { color:inherit;text-decoration:none; }
.ri-brandbar small { font-size:11px; }
@media(prefers-reduced-motion:reduce) { html {scroll-behavior:auto;} *,*::before,*::after {animation:none!important;transition:none!important;} }
