@import"https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&family=Geist+Mono:wght@400;500;600&display=swap";:root,[data-theme=dark-amber]{--bg-0: oklch(.13 .005 60);--bg-1: oklch(.16 .006 60);--bg-2: oklch(.19 .007 60);--bg-3: oklch(.23 .008 60);--bg-overlay: oklch(.1 .005 60 / .72);--fg-0: oklch(.97 .008 70);--fg-1: oklch(.82 .01 70);--fg-2: oklch(.62 .01 70);--fg-3: oklch(.45 .008 70);--line-0: oklch(.26 .008 60);--line-1: oklch(.32 .01 60);--line-strong: oklch(.42 .01 60);--accent: oklch(.78 .14 70);--accent-hi: oklch(.85 .15 75);--accent-lo: oklch(.62 .13 65);--accent-fg: oklch(.18 .04 60);--accent-bg: oklch(.26 .06 60);--accent-bg-soft: oklch(.22 .03 60);--ok: oklch(.78 .15 145);--ok-bg: oklch(.26 .06 145);--warn: oklch(.82 .15 85);--warn-bg: oklch(.27 .06 85);--err: oklch(.7 .18 25);--err-bg: oklch(.28 .08 25);--info: oklch(.75 .13 240);--info-bg: oklch(.26 .06 240);--dev: oklch(.72 .16 305);--dev-bg: oklch(.26 .07 305);--font-sans: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--shadow-1: 0 1px 0 0 oklch(1 0 0 / .04) inset, 0 1px 2px 0 oklch(0 0 0 / .4);--shadow-2: 0 1px 0 0 oklch(1 0 0 / .04) inset, 0 8px 24px -8px oklch(0 0 0 / .6);--shadow-pop: 0 1px 0 0 oklch(1 0 0 / .05) inset, 0 24px 48px -12px oklch(0 0 0 / .7);--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;color-scheme:dark}[data-theme=light-amber]{--bg-0: oklch(.98 .004 80);--bg-1: oklch(.96 .005 80);--bg-2: oklch(.99 .003 80);--bg-3: oklch(.93 .006 80);--bg-overlay: oklch(.2 .005 60 / .45);--fg-0: oklch(.2 .01 60);--fg-1: oklch(.36 .01 60);--fg-2: oklch(.52 .01 60);--fg-3: oklch(.68 .008 60);--line-0: oklch(.88 .006 80);--line-1: oklch(.82 .008 80);--line-strong: oklch(.7 .01 80);--accent: oklch(.62 .14 65);--accent-hi: oklch(.55 .15 60);--accent-lo: oklch(.72 .13 70);--accent-fg: oklch(.99 .003 80);--accent-bg: oklch(.94 .04 75);--accent-bg-soft: oklch(.96 .02 75);--ok: oklch(.55 .15 145);--ok-bg: oklch(.94 .05 145);--warn: oklch(.65 .15 75);--warn-bg:oklch(.95 .06 80);--err: oklch(.55 .18 25);--err-bg: oklch(.95 .05 25);--info: oklch(.55 .15 240);--info-bg:oklch(.94 .05 240);--dev: oklch(.55 .18 305);--dev-bg: oklch(.95 .05 305);--shadow-1: 0 1px 2px 0 oklch(0 0 0 / .06);--shadow-2: 0 8px 24px -8px oklch(0 0 0 / .12);--shadow-pop: 0 24px 48px -12px oklch(0 0 0 / .18);color-scheme:light}[data-theme=dark-violet]{--bg-0: oklch(.13 .012 290);--bg-1: oklch(.16 .014 290);--bg-2: oklch(.19 .016 290);--bg-3: oklch(.23 .018 290);--bg-overlay: oklch(.1 .012 290 / .72);--fg-0: oklch(.97 .01 290);--fg-1: oklch(.82 .012 290);--fg-2: oklch(.62 .012 290);--fg-3: oklch(.45 .01 290);--line-0: oklch(.27 .018 290);--line-1: oklch(.33 .02 290);--line-strong: oklch(.43 .022 290);--accent: oklch(.74 .16 295);--accent-hi: oklch(.82 .17 300);--accent-lo: oklch(.6 .15 290);--accent-fg: oklch(.15 .04 290);--accent-bg: oklch(.27 .07 295);--accent-bg-soft: oklch(.22 .04 295);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;font-family:var(--font-sans);font-feature-settings:"ss01","cv11";background:var(--bg-0);color:var(--fg-0);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}::selection{background:var(--accent-bg);color:var(--fg-0)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line-0);border-radius:8px;border:2px solid var(--bg-0)}::-webkit-scrollbar-thumb:hover{background:var(--line-1)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-xs)}.t-display{font-size:40px;line-height:1.1;font-weight:600;letter-spacing:-.02em}.t-h1{font-size:28px;line-height:1.2;font-weight:600;letter-spacing:-.015em}.t-h2{font-size:20px;line-height:1.3;font-weight:600;letter-spacing:-.01em}.t-h3{font-size:16px;line-height:1.35;font-weight:600;letter-spacing:-.005em}.t-body{font-size:14px;line-height:1.5;font-weight:400}.t-sm{font-size:13px;line-height:1.45;font-weight:400}.t-xs{font-size:12px;line-height:1.4;font-weight:400;color:var(--fg-2)}.t-mono{font-family:var(--font-mono);font-size:12.5px;letter-spacing:-.005em}.t-mono-sm{font-family:var(--font-mono);font-size:11.5px;letter-spacing:0}.t-eyebrow{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-2);font-family:var(--font-mono)}.btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--radius-sm);border:1px solid var(--line-0);background:var(--bg-2);color:var(--fg-0);font-size:13px;font-weight:500;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .06s ease;white-space:nowrap;user-select:none}.btn:hover{background:var(--bg-3);border-color:var(--line-1)}.btn:active{transform:translateY(.5px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);font-weight:600}.btn--primary:hover{background:var(--accent-hi);border-color:var(--accent-hi)}.btn--ghost{background:transparent;border-color:transparent}.btn--ghost:hover{background:var(--bg-2)}.btn--danger{color:var(--err);border-color:color-mix(in oklab,var(--err) 30%,var(--line-0))}.btn--danger:hover{background:var(--err-bg);border-color:var(--err)}.btn--sm{height:26px;padding:0 8px;font-size:12px}.btn--lg{height:40px;padding:0 16px;font-size:14px}.btn--icon{width:32px;padding:0;justify-content:center}.btn--icon.btn--sm{width:26px}.input{display:block;width:100%;height:34px;padding:0 10px;background:var(--bg-2);border:1px solid var(--line-0);border-radius:var(--radius-sm);color:var(--fg-0);font:inherit;font-size:13px;transition:border-color .12s ease,background .12s ease}.input::placeholder{color:var(--fg-3)}.input:hover{border-color:var(--line-1)}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 22%,transparent)}.input--lg{height:40px;font-size:14px}.label{display:block;font-size:12px;font-weight:500;color:var(--fg-1);margin-bottom:6px}.panel{background:var(--bg-1);border:1px solid var(--line-0);border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}.panel--flat{box-shadow:none}.panel__header{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line-0)}.panel__header-title{font-size:14px;font-weight:600;color:var(--fg-0)}.panel__header-meta{color:var(--fg-2);font-size:12px;margin-left:auto}.panel__body{padding:16px}.dot{width:8px;height:8px;border-radius:999px;flex:none;display:inline-block}.dot--ok{background:var(--ok);box-shadow:0 0 0 3px color-mix(in oklab,var(--ok) 30%,transparent)}.dot--warn{background:var(--warn);box-shadow:0 0 0 3px color-mix(in oklab,var(--warn) 30%,transparent)}.dot--err{background:var(--err);box-shadow:0 0 0 3px color-mix(in oklab,var(--err) 30%,transparent)}.dot--info{background:var(--info);box-shadow:0 0 0 3px color-mix(in oklab,var(--info) 30%,transparent)}.dot--dev{background:var(--dev);box-shadow:0 0 0 3px color-mix(in oklab,var(--dev) 30%,transparent)}.dot--off{background:var(--fg-3)}.pill{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;font-size:11.5px;font-weight:500;border-radius:999px;background:var(--bg-2);color:var(--fg-1);border:1px solid var(--line-0);font-family:var(--font-mono);letter-spacing:0}.pill--ok{color:var(--ok);background:var(--ok-bg);border-color:color-mix(in oklab,var(--ok) 25%,transparent)}.pill--warn{color:var(--warn);background:var(--warn-bg);border-color:color-mix(in oklab,var(--warn) 25%,transparent)}.pill--err{color:var(--err);background:var(--err-bg);border-color:color-mix(in oklab,var(--err) 25%,transparent)}.pill--info{color:var(--info);background:var(--info-bg);border-color:color-mix(in oklab,var(--info) 25%,transparent)}.pill--dev{color:var(--dev);background:var(--dev-bg);border-color:color-mix(in oklab,var(--dev) 25%,transparent)}.pill--accent{color:var(--accent);background:var(--accent-bg-soft);border-color:color-mix(in oklab,var(--accent) 25%,transparent)}@keyframes breathe{0%,to{opacity:1}50%{opacity:.45}}.dot--live{animation:breathe 1.6s ease-in-out infinite}.banner{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-md);border:1px solid var(--line-0);background:var(--bg-2);font-size:13px}.banner--info{background:var(--info-bg);border-color:color-mix(in oklab,var(--info) 30%,transparent);color:color-mix(in oklab,var(--info) 80%,var(--fg-0))}.banner--warn{background:var(--warn-bg);border-color:color-mix(in oklab,var(--warn) 30%,transparent);color:color-mix(in oklab,var(--warn) 80%,var(--fg-0))}.banner--err{background:var(--err-bg);border-color:color-mix(in oklab,var(--err) 30%,transparent);color:color-mix(in oklab,var(--err) 80%,var(--fg-0))}.banner--dev{background:var(--dev-bg);border-color:color-mix(in oklab,var(--dev) 30%,transparent);color:color-mix(in oklab,var(--dev) 80%,var(--fg-0))}.banner--accent{background:var(--accent-bg-soft);border-color:color-mix(in oklab,var(--accent) 30%,transparent);color:color-mix(in oklab,var(--accent) 80%,var(--fg-0))}.tbl{width:100%;border-collapse:separate;border-spacing:0}.tbl th,.tbl td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line-0);font-size:13px;vertical-align:middle}.tbl th{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-2);background:var(--bg-1);position:sticky;top:0;font-family:var(--font-mono)}.tbl tr:hover td{background:color-mix(in oklab,var(--bg-2) 50%,transparent)}.tbl tr:last-child td{border-bottom:none}.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;font-family:var(--font-mono);font-size:10.5px;font-weight:500;color:var(--fg-1);background:var(--bg-2);border:1px solid var(--line-0);border-bottom-width:2px;border-radius:4px;vertical-align:middle}.badge{display:inline-flex;align-items:center;gap:4px;font:500 10.5px/1 var(--font-mono);padding:3px 6px;border-radius:3px;background:var(--bg-2);border:1px solid var(--line-0);color:var(--fg-2);white-space:nowrap;text-transform:uppercase;letter-spacing:.04em}.badge--ok{background:var(--ok-bg);color:var(--ok);border-color:color-mix(in oklab,var(--ok) 25%,transparent)}.badge--warn{background:var(--warn-bg);color:var(--warn);border-color:color-mix(in oklab,var(--warn) 25%,transparent)}.badge--err{background:var(--err-bg);color:var(--err);border-color:color-mix(in oklab,var(--err) 25%,transparent)}.badge--info{background:var(--info-bg);color:var(--info);border-color:color-mix(in oklab,var(--info) 25%,transparent)}.badge--accent{background:var(--accent-bg-soft);color:var(--accent);border-color:color-mix(in oklab,var(--accent) 25%,transparent)}.badge--dev{background:var(--dev-bg);color:var(--dev);border-color:color-mix(in oklab,var(--dev) 25%,transparent)}.badge--solid{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.badge--lg{font-size:11.5px;padding:4px 8px}.brand{display:inline-flex;align-items:center;gap:8px;font-weight:600;letter-spacing:-.01em}.brand__mark{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;background:var(--accent);color:var(--accent-fg);font-family:var(--font-mono);font-size:13px;font-weight:700;flex:none}.row{display:flex;align-items:center;gap:8px}.col{display:flex;flex-direction:column}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-24{gap:24px}.spacer{flex:1}.muted{color:var(--fg-2)}.subtle{color:var(--fg-3)}.mono{font-family:var(--font-mono)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hidden{display:none!important}.hairline{height:1px;background:var(--line-0);border:none;margin:0}.hairline--vert{width:1px;height:auto;background:var(--line-0);align-self:stretch}.placeholder{background:repeating-linear-gradient(135deg,var(--bg-2),var(--bg-2) 8px,var(--bg-1) 8px,var(--bg-1) 16px);border:1px dashed var(--line-1);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--fg-2);font-family:var(--font-mono);font-size:12px}.modal-scrim{position:fixed;inset:0;z-index:200;background:#0000008c;display:flex;align-items:center;justify-content:center;animation:ws-modal-fade .14s ease;padding:24px}@keyframes ws-modal-fade{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-1);border:1px solid var(--line-1);border-radius:var(--radius-lg);box-shadow:0 30px 80px #0009;width:100%;max-width:480px;max-height:calc(100vh - 48px);display:flex;flex-direction:column;overflow:hidden;animation:ws-modal-pop .18s cubic-bezier(.2,.7,.3,1)}@keyframes ws-modal-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.modal--lg{max-width:620px}.modal__hdr{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line-0)}.modal__hdr h3{margin:0;font:600 14px/1.2 var(--font-sans);color:var(--fg-0);white-space:nowrap}.modal__hdr .sub{font:400 11.5px/1 var(--font-mono);color:var(--fg-3);margin-left:6px;letter-spacing:.04em}.modal__close{margin-left:auto;background:transparent;border:0;color:var(--fg-3);width:26px;height:26px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.modal__close:hover{color:var(--fg-0);background:var(--bg-3)}.modal__body{padding:18px;overflow:auto}.modal__body--flush{padding:0}.modal__ftr{display:flex;gap:8px;align-items:center;justify-content:flex-end;padding:12px 18px;border-top:1px solid var(--line-0);background:var(--bg-0)}.modal__ftr .left{margin-right:auto;color:var(--fg-3);font-size:11.5px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field>label{font:500 11px/1 var(--font-sans);color:var(--fg-2);letter-spacing:.04em;text-transform:uppercase}.field .hint{font-size:11.5px;color:var(--fg-3);margin-top:4px}.field--row{flex-direction:row;gap:10px}.field--row>.field{flex:1;margin-bottom:0}.input,.select,.textarea{width:100%;background:var(--bg-2);border:1px solid var(--line-0);border-radius:var(--radius-sm);color:var(--fg-0);font:400 13px/1.4 var(--font-sans);padding:8px 10px;outline:none}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);background:var(--bg-1)}select option{background:var(--bg-2);color:var(--fg-0)}.input--mono{font-family:var(--font-mono);font-size:12.5px}.textarea{min-height:80px;resize:vertical;font-family:var(--font-mono);font-size:12px}
