:root{--bg:#f5f6f7;--surface:#fcfcfd;--surface-2:#eceff1;--text:#15181b;--text-muted:#565e66;--border:#dde1e5;--border-strong:#b9c0c7;--accent:#0b6b57;--accent-hover:#08574a;--accent-ink:#f4fbf8;--accent-soft:#e1efea;--notice-bg:#fdf3df;--notice-text:#6b4300;--radius:10px;--shadow:0 1px 2px #15181b0a, 0 10px 30px #15181b0f;--font-sans:var(--font-geist-sans), ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:var(--font-geist-mono), ui-monospace, "SFMono-Regular", Consolas, monospace;--page:1180px;--measure:68ch;--gutter:clamp(16px, 4vw, 32px);--header-h:64px;--z-header:20;--z-banner:30;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0f1214;--surface:#151a1d;--surface-2:#1c2226;--text:#e6eaec;--text-muted:#9aa3aa;--border:#262d32;--border-strong:#3a434a;--accent:#45c7a3;--accent-hover:#6ad6b8;--accent-ink:#0a1f19;--accent-soft:#13312a;--notice-bg:#2b2310;--notice-text:#f1cf8a;--shadow:0 1px 2px #0000004d, 0 10px 30px #00000040}}*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:1.0625rem;line-height:1.65;overflow-x:clip}h1,h2,h3,h4{letter-spacing:-.015em;text-wrap:balance;margin:0 0 .6em;font-weight:650;line-height:1.2}h1{letter-spacing:-.025em;font-size:clamp(2rem,1.4rem + 2.4vw,3rem)}h2{font-size:clamp(1.45rem,1.2rem + 1vw,1.9rem)}h3{font-size:1.2rem}p{text-wrap:pretty;margin:0 0 1em}a{color:var(--accent);text-underline-offset:.18em;text-decoration-thickness:1px;transition:color .15s}a:hover{color:var(--accent-hover);text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}img,svg{max-width:100%;height:auto}table{border-collapse:collapse;width:100%;font-size:.95rem}.container{width:100%;max-width:var(--page);padding-inline:var(--gutter);margin-inline:auto}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{left:var(--gutter);background:var(--accent);color:var(--accent-ink);border-radius:var(--radius);z-index:var(--z-banner);padding:10px 16px;font-weight:600;position:absolute;top:-100px}.skip-link:focus{top:12px}.btn{border-radius:var(--radius);background:var(--accent);min-height:46px;color:var(--accent-ink);font:600 1rem/1 var(--font-sans);white-space:nowrap;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 20px;text-decoration:none;transition:background-color .15s,border-color .15s,transform .15s;display:inline-flex}.btn:hover{background:var(--accent-hover);color:var(--accent-ink);text-decoration:none}.btn:active{transform:translateY(1px)}.btn-secondary{color:var(--text);border-color:var(--border-strong);background:0 0}.btn-secondary:hover{background:var(--surface-2);color:var(--text);border-color:var(--text-muted)}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);-webkit-overflow-scrolling:touch;margin:1.5em 0;position:relative;overflow-x:auto}.table-wrap table th,.table-wrap table td{text-align:left;vertical-align:top;padding:12px 14px}.table-wrap table caption{caption-side:top;text-align:left;padding:12px 14px 4px;font-size:.9rem;font-weight:600}.table-wrap table tbody th{white-space:nowrap;font-weight:600}.table-wrap table td.num{white-space:nowrap}.table-wrap table thead th{color:var(--text-muted);background:var(--surface-2);white-space:nowrap;font-size:.82rem;font-weight:600}.table-wrap table tbody tr+tr td,.table-wrap table tbody tr+tr th{border-top:1px solid var(--border)}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.reveal{animation:linear both reveal-in;animation-timeline:view();animation-range:entry entry 35%}}}@keyframes reveal-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
