:root{--font-sans: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--violet-50: #f5f3ff;--violet-100: #ede9fe;--violet-400: #a78bfa;--violet-500: #8b5cf6;--violet-600: #7c3aed;--violet-700: #6d28d9;--radius-sm: .375rem;--radius: .5rem;--radius-lg: .75rem;--sidebar-width: 16rem;--bg: #fafafa;--surface: #ffffff;--surface-muted: #f4f4f5;--surface-hover: #f4f4f5;--border: rgba(9, 9, 11, .08);--border-strong: rgba(9, 9, 11, .16);--text: #09090b;--text-muted: #52525b;--text-subtle: #71717a;--primary: var(--violet-600);--primary-hover: var(--violet-700);--primary-soft: var(--violet-50);--primary-text: var(--violet-700);--on-primary: #ffffff;--success: #16a34a;--success-soft: #f0fdf4;--warning: #d97706;--warning-soft: #fffbeb;--danger: #dc2626;--danger-soft: #fef2f2;--info: #0891b2;--info-soft: #ecfeff;--shadow: 0 1px 2px rgba(9, 9, 11, .06);--focus: 0 0 0 3px rgba(124, 58, 237, .25);color-scheme:light}[data-theme=dark]{--bg: #09090b;--surface: #18181b;--surface-muted: #202024;--surface-hover: rgba(255, 255, 255, .05);--border: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .18);--text: #fafafa;--text-muted: #a1a1aa;--text-subtle: #8a8a93;--primary: var(--violet-500);--primary-hover: var(--violet-400);--primary-soft: rgba(139, 92, 246, .14);--primary-text: var(--violet-400);--success: #4ade80;--success-soft: rgba(74, 222, 128, .12);--warning: #fbbf24;--warning-soft: rgba(251, 191, 36, .12);--danger: #f87171;--danger-soft: rgba(248, 113, 113, .12);--info: #22d3ee;--info-soft: rgba(34, 211, 238, .12);--shadow: none;--focus: 0 0 0 3px rgba(167, 139, 250, .35);color-scheme:dark}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.card-header h2{margin:0;font-size:.95rem;font-weight:600}.card-header p{margin:.125rem 0 0;color:var(--text-muted);font-size:.85rem}.card-body{padding:1.25rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;min-height:2.25rem;padding:0 .875rem;border:1px solid transparent;border-radius:var(--radius);font:inherit;font-size:.875rem;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s}.btn:focus-visible{outline:none;box-shadow:var(--focus)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.btn-primary{background:var(--primary);color:var(--on-primary)}.btn.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn.btn-secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.btn.btn-secondary:hover:not(:disabled){background:var(--surface-hover)}.btn.btn-ghost{background:transparent;color:var(--text-muted)}.btn.btn-ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.btn.btn-danger{background:var(--danger);color:#fff}.btn.btn-sm{min-height:1.875rem;padding:0 .625rem;font-size:.8125rem}.btn.btn-icon{padding:0;width:2.25rem}.field{display:flex;flex-direction:column;gap:.375rem}.field>label,.field .label{font-size:.875rem;font-weight:500}.field .hint{color:var(--text-subtle);font-size:.8125rem}.field .error{color:var(--danger);font-size:.8125rem}.input,.select,.textarea{width:100%;min-height:2.375rem;padding:.5rem .75rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text);font:inherit;font-size:.875rem}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus)}.input.invalid,.select.invalid,.textarea.invalid{border-color:var(--danger)}.textarea{min-height:6rem;line-height:1.55;resize:vertical}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:.875rem}.table th{padding:.625rem 1rem;border-bottom:1px solid var(--border);color:var(--text-muted);font-size:.8125rem;font-weight:600;text-align:left;white-space:nowrap}.table td{padding:.75rem 1rem;border-bottom:1px solid var(--border);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td{background:var(--surface-hover)}.table .primary-cell{font-weight:600}.table .secondary-line{display:block;margin-top:.125rem;color:var(--text-subtle);font-size:.8125rem;font-weight:400}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;border-radius:999px;background:var(--surface-muted);color:var(--text-muted);font-size:.75rem;font-weight:600;line-height:1.4;white-space:nowrap}.badge.badge-primary{background:var(--primary-soft);color:var(--primary-text)}.badge.badge-success{background:var(--success-soft);color:var(--success)}.badge.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge.badge-info{background:var(--info-soft);color:var(--info)}.mono{font-family:var(--font-mono);font-size:.8125rem}.muted{color:var(--text-muted)}.subtle{color:var(--text-subtle)}.link{color:var(--primary-text);font-weight:600;text-decoration:none}.link:hover{text-decoration:underline}button.link{padding:0;border:0;background:none;font:inherit;font-weight:600;cursor:pointer}.stack{display:flex;flex-direction:column;gap:1.25rem}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1.25rem}.skeleton{display:block;height:.875rem;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--surface-muted),var(--surface-hover),var(--surface-muted));background-size:200% 100%;animation:skeleton 1.2s ease-in-out infinite}@keyframes skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.search{position:relative;display:flex;align-items:center;width:100%;max-width:24rem}.search app-icon{position:absolute;left:.75rem;color:var(--text-subtle);pointer-events:none}.search .input{padding-left:2.375rem}.alert{display:flex;gap:.625rem;align-items:flex-start;margin:0;padding:.625rem .75rem;border-radius:var(--radius);font-size:.875rem}.alert.alert-danger{background:var(--danger-soft);color:var(--danger)}.alert.alert-info{background:var(--info-soft);color:var(--info)}.alert.alert-warning{background:var(--warning-soft);color:var(--warning)}.check{display:grid;grid-template-columns:auto 1fr;gap:.125rem .625rem;align-items:start;cursor:pointer}.check input{width:1rem;height:1rem;margin:.15rem 0 0;accent-color:var(--primary)}.check .label{font-size:.875rem;font-weight:500}.check .hint{grid-column:2;color:var(--text-subtle);font-size:.8125rem}.check.disabled{cursor:default;opacity:.6}.form-actions{display:flex;justify-content:flex-end;gap:.5rem;padding:1rem 1.25rem;border-top:1px solid var(--border)}.markdown{white-space:normal}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown p,.markdown ul,.markdown ol,.markdown pre,.markdown table,.markdown blockquote{margin:0 0 .625rem}.markdown ul,.markdown ol{padding-left:1.25rem}.markdown li+li{margin-top:.25rem}.markdown li>p{margin:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4{margin:.75rem 0 .375rem;font-size:.95rem}.markdown code{padding:.05rem .3rem;background:var(--surface);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.8em}.markdown pre{padding:.625rem .75rem;overflow-x:auto;background:var(--surface);border-radius:var(--radius)}.markdown pre code{padding:0}.markdown table{display:block;overflow-x:auto;border-collapse:collapse;font-size:.8125rem}.markdown th,.markdown td{padding:.3rem .6rem;border:1px solid var(--border-strong);text-align:left}.markdown blockquote{padding-left:.75rem;border-left:3px solid var(--border-strong);color:var(--text-muted)}.markdown a{color:var(--primary-text)}.markdown img{max-width:100%}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:.9375rem;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{line-height:1.25}a{color:inherit}::selection{background:var(--primary-soft)}
