:root{--seed-accent:oklch(from #3D5E6B l c h);--seed-neutral:oklch(from #44474D l c h);--seed-muted:oklch(from #9CA5B1 l c h);--seed-warm:oklch(from #877C73 l c h);--seed-highlight:oklch(from #D5D0C4 l c h);--font-sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Inter,Roboto,"Helvetica Neue",Arial,"Apple Color Emoji","Segoe UI Emoji";--text-size:14px;--text-size-sm:12.5px;--text-size-lg:16px;--lh:1.35;--radius:8px;--radius-sm:6px;--radius-lg:12px;--space-1:2px;--space-2:4px;--space-3:8px;--space-4:12px;--space-5:16px;--space-6:24px;--space-7:32px}.theme-dark,:root,[data-theme=dark]{color-scheme:dark;--bg:color-mix(in oklch,var(--seed-neutral) 12%,black);--surface-1:color-mix(in oklch,var(--seed-neutral) 22%,black);--surface-2:color-mix(in oklch,var(--seed-neutral) 32%,black);--surface-3:color-mix(in oklch,var(--seed-neutral) 42%,black);--overlay:color-mix(in oklch,var(--seed-neutral) 60%,black 40%/0.6);--text:oklch(96% 0 0);--text-muted:color-mix(in oklch,var(--text) 65%,var(--seed-muted) 35%);--text-subtle:color-mix(in oklch,var(--text) 45%,var(--bg) 55%);--border:color-mix(in oklch,var(--seed-muted) 35%,var(--bg) 65%);--border-strong:color-mix(in oklch,var(--seed-muted) 55%,var(--bg) 45%);--accent:var(--seed-accent);--accent-hover:color-mix(in oklch,var(--accent) 85%,white 15%);--accent-active:color-mix(in oklch,var(--accent) 80%,black 20%);--on-accent:oklch(98% 0 0);--interactive:color-mix(in oklch,var(--seed-neutral) 55%,black 45%);--interactive-hover:color-mix(in oklch,var(--interactive) 85%,white 15%);--interactive-active:color-mix(in oklch,var(--interactive) 80%,black 20%);--on-interactive:var(--text);--tint-cool:color-mix(in oklch,var(--seed-accent) 20%,white 80%/0.12);--tint-warm:color-mix(in oklch,var(--seed-warm) 25%,white 75%/0.14);--tint-highlight:color-mix(in oklch,var(--seed-highlight) 10%,white 90%/0.10);--focus:color-mix(in oklch,var(--accent) 60%,white 40%);--selection:color-mix(in oklch,var(--accent) 25%,white 75%/0.24);--shadow-1:0 1px 0 oklch(0% 0 0/0.25),0 6px 16px oklch(0% 0 0/0.35);--shadow-2:0 2px 0 oklch(0% 0 0/0.25),0 10px 24px oklch(0% 0 0/0.45);--shadow-focus:0 0 0 2px var(--focus);--status-success:oklch(from #4CAF50 l c h);--status-warning:oklch(from #FF9800 l c h);--status-error:oklch(from #F44336 l c h);--status-info:var(--accent)}.theme-light,[data-theme=light]{color-scheme:light;--bg:color-mix(in oklch,white 94%,var(--seed-neutral) 6%);--surface-1:color-mix(in oklch,white 88%,var(--seed-neutral) 12%);--surface-2:color-mix(in oklch,white 82%,var(--seed-neutral) 18%);--surface-3:color-mix(in oklch,white 76%,var(--seed-neutral) 24%);--overlay:oklch(0% 0 0/0.06);--text:oklch(22% 0 0);--text-muted:color-mix(in oklch,var(--text) 70%,var(--seed-muted) 30%);--text-subtle:color-mix(in oklch,var(--text) 50%,white 50%);--border:color-mix(in oklch,var(--seed-muted) 45%,white 55%);--border-strong:color-mix(in oklch,var(--seed-muted) 65%,white 35%);--accent:var(--seed-accent);--accent-hover:color-mix(in oklch,var(--accent) 80%,black 20%);--accent-active:color-mix(in oklch,var(--accent) 70%,black 30%);--on-accent:oklch(98% 0 0);--interactive:color-mix(in oklch,var(--seed-neutral) 10%,white 90%);--interactive-hover:color-mix(in oklch,var(--interactive) 75%,black 25%);--interactive-active:color-mix(in oklch,var(--interactive) 65%,black 35%);--on-interactive:var(--text);--focus:color-mix(in oklch,var(--accent) 50%,black 50%);--selection:color-mix(in oklch,var(--accent) 25%,black 75%/0.1);--shadow-1:0 1px 0 oklch(0% 0 0/0.04),0 3px 12px oklch(0% 0 0/0.10);--shadow-2:0 2px 0 oklch(0% 0 0/0.05),0 8px 20px oklch(0% 0 0/0.14);--shadow-focus:0 0 0 2px var(--focus)}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{font-family:var(--font-sans);font-size:var(--text-size);line-height:var(--lh);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}::-moz-selection{background:var(--selection);color:var(--text)}::selection{background:var(--selection);color:var(--text)}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-1);padding:var(--space-4)}.card.raised{background:var(--surface-2);box-shadow:var(--shadow-2)}.card.elevated{background:var(--surface-3);box-shadow:var(--shadow-2)}.btn{--btn-bg:var(--interactive);--btn-fg:var(--on-interactive);--btn-bd:var(--border);-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--btn-bd);background:var(--btn-bg);color:var(--btn-fg);padding:6px 12px;border-radius:var(--radius-sm);display:inline-flex;gap:8px;align-items:center;justify-content:center;font-weight:550;font-size:var(--text-size);letter-spacing:.01em;cursor:pointer;min-height:32px;transition:background .15s ease,border-color .15s ease}.btn:hover{background:var(--interactive-hover)}.btn:active{background:var(--interactive-active)}.btn:focus-visible{outline:0;box-shadow:var(--shadow-focus)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{--btn-bg:var(--accent);--btn-fg:var(--on-accent);--btn-bd:color-mix(in oklch,var(--accent) 60%,black 40%)}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:active{background:var(--accent-active)}.btn-ghost{--btn-bg:transparent;--btn-fg:var(--text);--btn-bd:transparent;background:transparent}.btn-ghost:hover{background:color-mix(in oklch,var(--text) 5%,var(--bg) 95%)}.btn-ghost:active{background:color-mix(in oklch,var(--text) 8%,var(--bg) 92%)}.btn-sm{padding:4px 8px;font-size:var(--text-size-sm);min-height:24px}.btn-lg{padding:10px 16px;font-size:var(--text-size-lg);min-height:40px}.input,.select,.textarea{width:100%;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 10px;font-family:inherit;font-size:var(--text-size);transition:border-color .15s ease,box-shadow .15s ease}.input::-moz-placeholder,.textarea::-moz-placeholder{color:var(--text-subtle)}.input::placeholder,.textarea::placeholder{color:var(--text-subtle)}.input:hover,.select:hover,.textarea:hover{border-color:var(--border-strong)}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{outline:0;border-color:var(--accent);box-shadow:var(--shadow-focus)}.textarea{resize:vertical;min-height:80px}.switch{--w:36px;--h:20px;inline-size:var(--w);block-size:var(--h);background:var(--interactive);border-radius:var(--h);border:1px solid var(--border);position:relative;cursor:pointer;transition:background .18s ease}.switch:after{content:"";position:absolute;inset:2px;inline-size:calc(var(--h) - 4px);block-size:calc(var(--h) - 4px);background:var(--surface-3);border-radius:999px;transition:transform .18s ease}.switch[aria-checked=true]{background:var(--accent);border-color:color-mix(in oklch,var(--accent) 60%,black 40%)}.switch[aria-checked=true]:after{transform:translateX(calc(var(--w) - var(--h)))}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:2px 8px;border:1px solid transparent;font-size:var(--text-size-sm);font-weight:550}.badge.neutral{background:color-mix(in oklch,var(--text) 5%,var(--bg) 95%);color:var(--text);border-color:var(--border)}.badge.accent{background:color-mix(in oklch,var(--accent) 22%,white 78%/.16);color:var(--on-interactive);border-color:color-mix(in oklch,var(--accent) 55%,var(--bg) 45%)}.badge.warm{background:var(--tint-warm);color:var(--text)}.badge.success{background:color-mix(in oklch,var(--status-success) 22%,white 78%/.16);color:var(--status-success);border-color:color-mix(in oklch,var(--status-success) 55%,var(--bg) 45%)}.badge.warning{background:color-mix(in oklch,var(--status-warning) 22%,white 78%/.16);color:var(--status-warning);border-color:color-mix(in oklch,var(--status-warning) 55%,var(--bg) 45%)}.badge.error{background:color-mix(in oklch,var(--status-error) 22%,white 78%/.16);color:var(--status-error);border-color:color-mix(in oklch,var(--status-error) 55%,var(--bg) 45%)}.table{width:100%;border-collapse:collapse;font-size:var(--text-size)}.table thead th{text-align:left;font-weight:600;padding:8px;color:var(--text);background:var(--surface-2);border-bottom:1px solid var(--border-strong)}.table tbody td{padding:8px;border-bottom:1px solid var(--border)}.table tbody tr:hover{background:color-mix(in oklch,var(--text) 6%,var(--bg) 94%)}.table tbody tr:focus-within{background:var(--tint-cool)}.nav{flex-direction:column;gap:2px;padding:var(--space-3);background:var(--surface-1);border-right:1px solid var(--border)}.nav,.nav a{display:flex}.nav a{align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);color:var(--text-muted);text-decoration:none;transition:background .15s ease,color .15s ease}.nav a:hover{background:color-mix(in oklch,var(--text) 6%,var(--bg) 94%);color:var(--text)}.nav a.active,.nav a[aria-current=page]{background:color-mix(in oklch,var(--accent) 18%,white 82%/.1);color:var(--on-interactive);border:1px solid color-mix(in oklch,var(--accent) 45%,var(--bg) 55%)}a{color:var(--accent);text-decoration:none;transition:color .15s ease}a:hover{color:var(--accent-hover);text-decoration:underline}a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.stack-sm{gap:var(--space-2)}.stack-lg{gap:var(--space-6)}.cluster{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-2,.grid-3{display:grid;gap:var(--space-4)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}@supports not (color:oklch(50% 0 0)){:root{--seed-accent:#3D5E6B;--seed-neutral:#44474D;--seed-muted:#9CA5B1;--seed-warm:#877C73;--seed-highlight:#D5D0C4;--bg:color-mix(in srgb,var(--seed-neutral) 12%,black);--surface-1:color-mix(in srgb,var(--seed-neutral) 22%,black);--surface-2:color-mix(in srgb,var(--seed-neutral) 32%,black);--surface-3:color-mix(in srgb,var(--seed-neutral) 42%,black);--text:#F4F4F5;--text-muted:#C6CBD3;--text-subtle:#8B9099;--border:color-mix(in srgb,var(--seed-muted) 35%,var(--bg) 65%);--border-strong:color-mix(in srgb,var(--seed-muted) 55%,var(--bg) 45%);--accent:var(--seed-accent);--accent-hover:color-mix(in srgb,var(--accent) 85%,white 15%);--accent-active:color-mix(in srgb,var(--accent) 80%,black 20%);--on-accent:white;--interactive:color-mix(in srgb,var(--seed-neutral) 55%,black 45%);--interactive-hover:color-mix(in srgb,var(--interactive) 85%,white 15%);--interactive-active:color-mix(in srgb,var(--interactive) 80%,black 20%);--on-interactive:var(--text);--focus:color-mix(in srgb,var(--accent) 60%,white 40%);--selection:color-mix(in srgb,var(--accent) 25%,white 75%/0.24)}}