:root{--color-bg:oklch(98.5% .006 150);--color-surface:#fff;--color-surface-tint:oklch(96% .01 150);--color-text:oklch(22% .02 150);--color-text-muted:oklch(45% .02 150);--color-text-faint:oklch(50% .02 150);--color-border:oklch(88% .01 150);--color-border-soft:oklch(90% .008 150);--color-border-strong:oklch(60% .02 150);--color-primary:oklch(50% .15 150);--color-primary-strong:oklch(40% .13 150);--color-primary-tint:oklch(72% .17 145/.12);--color-primary-tint-strong:oklch(72% .17 145/.15);--color-negative:oklch(55% .13 45);--color-negative-tint:oklch(62% .2 25/.12);--color-accent:oklch(55% .14 70);--color-accent-bg:oklch(94% .08 85/.6);--color-accent-text:oklch(40% .12 70);--font-sans:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--radius-sm:2px;--radius-md:4px;--radius-lg:6px;--nav-height:56px;--page-padding-x:32px}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit}table{border-collapse:collapse}.mono{font-family:var(--font-mono)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.article-prose{color:var(--color-text);font-size:15px;line-height:1.7}.article-prose h2{margin:36px 0 12px;font-size:19px;line-height:1.3}.article-prose h3{margin:28px 0 8px;font-size:16px}.article-prose p,.article-prose ul,.article-prose ol{margin:0 0 16px}.article-prose ul,.article-prose ol{padding-left:22px}.article-prose li{margin-bottom:6px}.article-prose a{color:var(--color-primary);text-underline-offset:2px;text-decoration:underline}.article-prose blockquote{border-left:3px solid var(--color-primary);color:var(--color-text-muted);margin:0 0 16px;padding:4px 16px}.article-prose code{font-family:var(--font-mono);background:var(--color-surface-tint);border-radius:var(--radius-sm);padding:1px 4px;font-size:.9em}.article-prose table{border-collapse:collapse;margin:0 0 20px;font-size:13px;display:block;overflow-x:auto}.article-prose th,.article-prose td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;padding:7px 12px}.article-prose th{border-bottom-color:var(--color-border-strong);font-weight:600}.article-chart{border:1px solid var(--color-border);border-radius:var(--radius-md);margin:24px 0 28px;padding:14px}.article-chart figcaption{color:var(--color-text-faint);margin-top:6px;font-size:11px}.article-chart-error{white-space:pre-wrap;color:var(--color-negative);font-size:12px}.article-chart-title{font-family:var(--font-mono);color:var(--color-text-muted);margin-bottom:8px;font-size:12px}.article-chart-legend{color:var(--color-text-muted);flex-wrap:wrap;gap:6px 18px;margin-top:4px;font-size:12px;display:flex}.article-chart-legend span{align-items:center;gap:6px;display:inline-flex}.article-chart-legend i{border-radius:2px;width:12px;height:3px}
