:root{--bg:#fff;--bg-subtle:#f4f6fa;--bg-muted:#eceff5;--bg-inverse:#0f1a2c;--surface:#fff;--surface-raised:#fff;--surface-sunken:#f4f6fa;--surface-hover:#f4f6fa;--border:#e1e5ec;--border-strong:#cfd5df;--border-subtle:#eef1f6;--text:#0f1a2c;--text-muted:#5a6577;--text-subtle:#9aa3b2;--text-on-primary:#fff;--text-link:#1a3c6e;--primary:#1a3c6e;--primary-hover:#16345f;--primary-active:#122b50;--primary-soft:#e8eef7;--primary-soft-fg:#1a3c6e;--accent:#f5a623;--accent-soft:#fdf1dc;--accent-soft-fg:#8a5b06;--success:#1f8a4d;--success-soft:#e4f5ea;--success-soft-fg:#1f8a4d;--warning:#e0a206;--warning-soft:#fcf0d2;--warning-soft-fg:#8a6304;--danger:#c0341a;--danger-soft:#fbe7e2;--danger-soft-fg:#c0341a;--radius-sm:5px;--radius-md:7px;--radius-lg:10px;--radius-xl:14px;--shadow-sm:0 1px 2px rgba(15,26,44,.06),0 1px 3px rgba(15,26,44,.05);--shadow-md:0 4px 12px rgba(15,26,44,.08);--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--font-sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;--sidebar-bg:#fff;--sidebar-border:#e1e5ec;--sidebar-heading:#9aa3b2;--sidebar-item-fg:#5a6577;--sidebar-item-hover:#f4f6fa;--sidebar-item-active-bg:#e7edf6;--sidebar-item-active-fg:#1a3c6e;--sidebar-brand:#1a3c6e;--topbar-bg:#fff}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0b1220;--bg-subtle:#0b1220;--bg-muted:#16233a;--surface:#111c30;--surface-raised:#16233a;--surface-sunken:#0b1220;--surface-hover:#16233a;--border:#23324b;--border-strong:#33455f;--border-subtle:#1a2740;--text:#eaf0f8;--text-muted:#9aa8bd;--text-subtle:#6b7a92;--primary-soft:#1e3355;--primary-soft-fg:#9db8e0;--sidebar-bg:#0d1526;--sidebar-border:#1e2c44;--sidebar-heading:#6b7a92;--sidebar-item-fg:#aab6c8;--sidebar-item-hover:#16233a;--sidebar-item-active-bg:#1e3355;--sidebar-item-active-fg:#fff;--sidebar-brand:#7ea6e0;--topbar-bg:#0f1a2c}}:root[data-theme=dark]{--bg:#0b1220;--bg-subtle:#0b1220;--bg-muted:#16233a;--surface:#111c30;--surface-raised:#16233a;--surface-sunken:#0b1220;--surface-hover:#16233a;--border:#23324b;--border-strong:#33455f;--border-subtle:#1a2740;--text:#eaf0f8;--text-muted:#9aa8bd;--text-subtle:#6b7a92;--primary-soft:#1e3355;--primary-soft-fg:#9db8e0;--sidebar-bg:#0d1526;--sidebar-border:#1e2c44;--sidebar-heading:#6b7a92;--sidebar-item-fg:#aab6c8;--sidebar-item-hover:#16233a;--sidebar-item-active-bg:#1e3355;--sidebar-item-active-fg:#fff;--sidebar-brand:#7ea6e0;--topbar-bg:#0f1a2c}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background:var(--bg-subtle);color:var(--text);font-family:var(--font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--text-link);text-decoration:none}.tw-mono{font-family:var(--font-mono);font-feature-settings:"zero","ss01"}.tw-tabular{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tw-display{letter-spacing:-.02em}.tw-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.tw-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--radius-md);border:1px solid var(--primary);background:var(--primary);color:var(--text-on-primary);font-weight:600;font-size:14px;cursor:pointer;transition:background .14s ease}.tw-btn:hover{background:var(--primary-hover)}.tw-btn--secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.tw-btn--secondary:hover{background:var(--surface-hover)}.tw-input{width:100%;padding:9px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font-size:14px}.tw-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.tw-badge{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;background:var(--primary-soft);color:var(--primary-soft-fg)}.tw-table{width:100%;border-collapse:collapse;font-size:13px}.tw-table td,.tw-table th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border-subtle)}.tw-table th{font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.03em}.tw-empty,.tw-muted,.tw-table th{color:var(--text-muted)}.tw-empty{border:1px dashed var(--border-strong);border-radius:var(--radius-lg);padding:48px 24px;text-align:center;background:var(--surface)}@keyframes tw-pulse{0%,to{opacity:1}50%{opacity:.45}}.tw-pulse{animation:tw-pulse 1.4s ease-in-out infinite}