:root{--font-sans: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", ui-monospace, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.35rem;--text-2xl: 1.62rem;--text-3xl: 1.94rem;--leading: 1.55;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-8: 3rem;--space-10: 4rem;--radius-sm: 6px;--radius: 10px;--radius-lg: 16px;--radius-full: 999px;--shadow-sm: 0 1px 2px rgb(0 0 0 / .2);--shadow: 0 4px 16px rgb(0 0 0 / .28);--shadow-lg: 0 12px 40px rgb(0 0 0 / .4);--ring: 0 0 0 3px var(--accent-ring);--transition: .16s cubic-bezier(.4, 0, .2, 1);--container: 1920px;--nav-h: 64px}:root,[data-theme=midnight]{--bg: #0f1117;--bg-elev: #171a23;--bg-elev-2: #1f232f;--surface: #161922;--border: #2a2f3c;--border-strong: #3a4150;--text: #e7eaf0;--text-muted: #9aa3b2;--text-faint: #6b7382;--accent: #ffd24a;--accent-contrast: #1a1500;--accent-ring: rgb(255 210 74 / .35);--success: #4ade80;--danger: #f87171;--warning: #fbbf24;--info: #60a5fa}[data-theme=ocean]{--bg: #0b1622;--bg-elev: #11202f;--bg-elev-2: #17293b;--surface: #102031;--border: #20374b;--border-strong: #2c4a63;--text: #e3edf6;--text-muted: #93a9bd;--text-faint: #647689;--accent: #38bdf8;--accent-contrast: #04212e;--accent-ring: rgb(56 189 248 / .35);--success: #34d399;--danger: #fb7185;--warning: #fbbf24;--info: #60a5fa}[data-theme=forest]{--bg: #0d150f;--bg-elev: #142019;--bg-elev-2: #1c2c22;--surface: #132019;--border: #25382c;--border-strong: #34503e;--text: #e6f0e9;--text-muted: #98b3a3;--text-faint: #67806f;--accent: #5fd38a;--accent-contrast: #042414;--accent-ring: rgb(95 211 138 / .35);--success: #4ade80;--danger: #f87171;--warning: #fbbf24;--info: #5eead4}[data-theme=ember]{--bg: #1a1110;--bg-elev: #251715;--bg-elev-2: #321f1c;--surface: #241614;--border: #3b2724;--border-strong: #553732;--text: #f4e7e4;--text-muted: #c0a39d;--text-faint: #8a6f69;--accent: #ff8a4c;--accent-contrast: #2a1000;--accent-ring: rgb(255 138 76 / .35);--success: #4ade80;--danger: #f87171;--warning: #fbbf24;--info: #60a5fa}[data-theme=light]{--bg: #f4f6fa;--bg-elev: #ffffff;--bg-elev-2: #eef1f6;--surface: #ffffff;--border: #dde3ec;--border-strong: #c4cdda;--text: #1a2230;--text-muted: #5a6678;--text-faint: #8a95a6;--accent: #2563eb;--accent-contrast: #ffffff;--accent-ring: rgb(37 99 235 / .3);--success: #16a34a;--danger: #dc2626;--warning: #d97706;--info: #2563eb;--shadow-sm: 0 1px 2px rgb(20 30 50 / .08);--shadow: 0 4px 16px rgb(20 30 50 / .1);--shadow-lg: 0 12px 40px rgb(20 30 50 / .16)}*,*:before,*:after{box-sizing:border-box;margin:0}html{font-size:clamp(15px,.8vw + 9px,20px);-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{min-height:100vh;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body.has-modal{overflow:hidden}h1,h2,h3,h4{line-height:1.2;font-weight:650}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}img,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}code,pre,.mono{font-family:var(--font-mono)}:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--radius-sm)}::selection{background:var(--accent);color:var(--accent-contrast)}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--space-4)}.page{padding-block:var(--space-6) var(--space-10)}.page__header{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;justify-content:space-between;margin-bottom:var(--space-5)}.page__title{display:flex;flex-direction:column;gap:var(--space-1)}.page__title p{color:var(--text-muted);font-size:var(--text-sm)}.grid{display:grid;gap:var(--space-4)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--space-3);top:-3rem;z-index:100;padding:var(--space-2) var(--space-4);background:var(--accent);color:var(--accent-contrast);border-radius:var(--radius-sm);transition:top var(--transition)}.skip-link:focus{top:var(--space-3)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:600;line-height:1;color:var(--text);background:var(--bg-elev-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition),border-color var(--transition),transform var(--transition);white-space:nowrap}.btn:hover{background:var(--border);text-decoration:none}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--accent);color:var(--accent-contrast);border-color:transparent}.btn--primary:hover{background:color-mix(in srgb,var(--accent) 88%,white)}.btn--ghost{background:transparent;border-color:var(--border)}.btn--ghost:hover{background:var(--bg-elev)}.btn--danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.btn--danger:hover{background:color-mix(in srgb,var(--danger) 14%,transparent)}.btn--sm{padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.btn--icon{padding:var(--space-2);aspect-ratio:1}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5);box-shadow:var(--shadow-sm)}.card__title{font-size:var(--text-lg);margin-bottom:var(--space-4)}.stat{display:flex;flex-direction:column;gap:var(--space-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4) var(--space-5)}.stat__label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.stat__value{font-size:var(--text-2xl);font-weight:700;font-variant-numeric:tabular-nums}.stat__delta--up{color:var(--success)}.stat__delta--down{color:var(--danger)}.stat-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.field__label{font-size:var(--text-sm);font-weight:600}.field__hint{font-size:var(--text-xs);color:var(--text-muted)}.input,.select,.textarea{width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--text);background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:var(--radius-sm);transition:border-color var(--transition),box-shadow var(--transition)}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent)}.textarea{min-height:6rem;resize:vertical}.toggle{display:inline-flex;align-items:center;gap:var(--space-3);cursor:pointer}.toggle input{position:absolute;opacity:0}.toggle__track{width:42px;height:24px;border-radius:var(--radius-full);background:var(--border-strong);position:relative;transition:background var(--transition);flex-shrink:0}.toggle__track:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform var(--transition)}.toggle input:checked+.toggle__track{background:var(--accent)}.toggle input:checked+.toggle__track:after{transform:translate(18px)}.toggle input:focus-visible+.toggle__track{box-shadow:var(--ring)}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.table th,.table td{padding:var(--space-3) var(--space-4);text-align:left;white-space:nowrap}.table thead th{position:sticky;top:0;background:var(--bg-elev-2);color:var(--text-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-strong);z-index:1}.table th[data-sort]{cursor:pointer;-webkit-user-select:none;user-select:none}.table th[data-sort]:hover{color:var(--text)}.table tbody tr{border-top:1px solid var(--border)}.table tbody tr:hover{background:var(--bg-elev)}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table--clickable tbody tr{cursor:pointer}.nav{position:sticky;top:0;z-index:50;height:var(--nav-h);background:color-mix(in srgb,var(--bg-elev) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.nav__inner{display:flex;align-items:center;gap:var(--space-5);height:100%}.nav__brand{display:flex;align-items:center;gap:var(--space-2);font-weight:750;font-size:var(--text-lg);color:var(--text)}.nav__brand:hover{text-decoration:none}.nav__brand .mark{color:var(--accent)}.nav__brand-tld{color:var(--text-faint);font-weight:600;margin-left:-.15em}.nav__links{display:flex;align-items:center;gap:var(--space-1);margin-right:auto}.nav__links a{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--text-sm);font-weight:600}.nav__links a:hover{color:var(--text);background:var(--bg-elev-2);text-decoration:none}.nav__links a[aria-current=page]{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.nav__actions{display:flex;align-items:center;gap:var(--space-2)}.nav__toggle{display:none}@media (max-width: 800px){.nav__toggle{display:inline-flex}.nav__links{position:absolute;top:var(--nav-h);left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:var(--space-2);background:var(--bg-elev);border-bottom:1px solid var(--border);box-shadow:var(--shadow);display:none}.nav__links.is-open{display:flex}}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:var(--space-4)}.modal[hidden]{display:none}.modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:modal-fade var(--transition)}.modal__dialog{position:relative;width:min(640px,100%);max-height:min(85vh,720px);overflow-y:auto;background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-6);animation:modal-pop var(--transition)}.modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.modal__close{background:none;border:none;color:var(--text-muted);font-size:var(--text-2xl);line-height:1;cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm)}.modal__close:hover{color:var(--text)}@keyframes modal-fade{0%{opacity:0}}@keyframes modal-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}}.toast-container{position:fixed;bottom:var(--space-5);right:var(--space-5);z-index:100;display:flex;flex-direction:column;gap:var(--space-2);max-width:min(380px,calc(100vw - 2 * var(--space-5)))}.toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-elev-2);border:1px solid var(--border-strong);border-left:3px solid var(--info);border-radius:var(--radius-sm);box-shadow:var(--shadow);font-size:var(--text-sm);animation:toast-in var(--transition)}.toast--success{border-left-color:var(--success)}.toast--error{border-left-color:var(--danger)}.toast--warning{border-left-color:var(--warning)}.toast--info{border-left-color:var(--info)}.toast--leaving{animation:toast-out var(--transition) forwards}.toast__msg{flex:1}.toast__close{background:none;border:none;color:var(--text-muted);font-size:var(--text-lg);line-height:1;cursor:pointer}.toast__close:hover{color:var(--text)}@keyframes toast-in{0%{opacity:0;transform:translate(12px)}}@keyframes toast-out{to{opacity:0;transform:translate(12px)}}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-full);background:var(--bg-elev-2);color:var(--text-muted);border:1px solid var(--border)}.badge--accent{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);border-color:transparent}.badge--success{color:var(--success)}.badge--danger{color:var(--danger)}.badge--warning{color:var(--warning)}
