:root{--brand-purple-50: #f5f3ff;--brand-purple-100: #ede9fe;--brand-purple-200: #ddd6fe;--brand-purple-300: #c4b5fd;--brand-purple-400: #a78bfa;--brand-purple-500: #8b5cf6;--brand-purple-600: #7455f8;--brand-purple-700: #6d28d9;--brand-purple-800: #5b21b6;--brand-purple-900: #4c1d95;--brand-blue-300: #7dd3fc;--brand-blue-400: #38bdf8;--brand-blue-500: #22b8f0;--brand-blue-600: #586ef3;--color-success: #10b981;--color-success-soft: #ecfdf5;--color-success-border: #a7f3d0;--color-danger: #ef4444;--color-danger-soft: #fef2f2;--color-danger-border: #fecaca;--color-warning: #f59e0b;--color-warning-soft: #fffbeb;--color-info: #3b82f6;--gradient-brand: linear-gradient( 135deg, var(--brand-purple-600) 0%, var(--brand-blue-600) 100% );--gradient-progress: linear-gradient( 90deg, var(--brand-purple-600) 0%, var(--brand-blue-500) 100% );--gradient-ring: conic-gradient( from 180deg, var(--brand-blue-600), var(--brand-purple-600) );--font-sans: "Inter", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", Consolas, "Courier New", monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .9375rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.25rem;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--leading-tight: 1.2;--leading-normal: 1.5;--leading-relaxed: 1.7;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--radius-2xl: 24px;--radius-full: 999px;--sidebar-width: 244px;--sidebar-width-collapsed: 76px;--topbar-height: 72px;--content-max-width: 1560px;--transition-fast: .12s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .32s cubic-bezier(.4, 0, .2, 1);--z-dropdown: 100;--z-sticky: 200;--z-drawer: 300;--z-modal: 400;--z-toast: 500}:root,[data-theme=light]{color-scheme:light;--bg-app: #f7f8fc;--bg-sidebar: #ffffff;--bg-topbar: rgba(255, 255, 255, .85);--bg-elevated: #ffffff;--bg-input: #f4f5fa;--bg-subtle: #f9fafc;--bg-hover: #f3f4f9;--surface-card: #ffffff;--surface-card-hover: #fdfdff;--surface-accent: var(--brand-purple-50);--border-subtle: #eef0f6;--border-default: #e4e7f0;--border-strong: #d4d8e5;--border-focus: var(--brand-purple-600);--text-primary: #131629;--text-secondary: #4b5167;--text-muted: #838a9f;--text-inverse: #ffffff;--text-brand: var(--brand-purple-600);--nav-active-bg: var(--brand-purple-100);--nav-active-text: var(--brand-purple-700);--shadow-xs: 0 1px 2px rgba(19, 22, 41, .04);--shadow-sm: 0 1px 3px rgba(19, 22, 41, .05), 0 1px 2px rgba(19, 22, 41, .03);--shadow-md: 0 4px 12px rgba(19, 22, 41, .06), 0 2px 4px rgba(19, 22, 41, .03);--shadow-lg: 0 12px 28px rgba(19, 22, 41, .08), 0 4px 8px rgba(19, 22, 41, .04);--shadow-brand: 0 6px 18px rgba(116, 85, 248, .28);--code-bg: #1c2038;--code-text: #e5e9f5;--code-border: transparent}[data-theme=dark]{color-scheme:dark;--bg-app: #0b0e1a;--bg-sidebar: #10141f;--bg-topbar: rgba(16, 20, 31, .85);--bg-elevated: #161b2b;--bg-input: #1a2033;--bg-subtle: #141827;--bg-hover: #1d2338;--surface-card: #141927;--surface-card-hover: #191f30;--surface-accent: rgba(116, 85, 248, .12);--border-subtle: #1f2537;--border-default: #262d42;--border-strong: #333c55;--border-focus: var(--brand-purple-400);--text-primary: #eef1f8;--text-secondary: #b3bad0;--text-muted: #7b839c;--text-inverse: #0b0e1a;--text-brand: var(--brand-purple-300);--nav-active-bg: rgba(116, 85, 248, .16);--nav-active-text: #c8bcff;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 2px 6px rgba(0, 0, 0, .35);--shadow-md: 0 6px 18px rgba(0, 0, 0, .4);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .5);--shadow-brand: 0 6px 20px rgba(116, 85, 248, .35);--color-success-soft: rgba(16, 185, 129, .14);--color-success-border: rgba(16, 185, 129, .4);--color-danger-soft: rgba(239, 68, 68, .14);--color-danger-border: rgba(239, 68, 68, .4);--color-warning-soft: rgba(245, 158, 11, .14);--code-bg: #0d1120;--code-text: #dfe4f2;--code-border: #232a40}[data-theme=purple]{color-scheme:dark;--bg-app: #0a0616;--bg-sidebar: #120a24;--bg-topbar: rgba(18, 10, 36, .86);--bg-elevated: #1a0f33;--bg-input: #1f1440;--bg-subtle: #150c2a;--bg-hover: #241650;--surface-card: #170d2e;--surface-card-hover: #1e1240;--surface-accent: rgba(139, 92, 246, .18);--border-subtle: #261747;--border-default: #33205c;--border-strong: #452b78;--border-focus: var(--brand-purple-400);--text-primary: #f3efff;--text-secondary: #c3b6e8;--text-muted: #8b7cb8;--text-inverse: #0a0616;--text-brand: var(--brand-purple-300);--nav-active-bg: rgba(139, 92, 246, .24);--nav-active-text: #ddd2ff;--shadow-xs: 0 1px 2px rgba(10, 6, 22, .5);--shadow-sm: 0 2px 8px rgba(10, 6, 22, .55);--shadow-md: 0 8px 22px rgba(10, 6, 22, .6);--shadow-lg: 0 18px 44px rgba(10, 6, 22, .7);--shadow-brand: 0 8px 26px rgba(139, 92, 246, .45);--color-success-soft: rgba(16, 185, 129, .16);--color-success-border: rgba(16, 185, 129, .45);--color-danger-soft: rgba(239, 68, 68, .16);--color-danger-border: rgba(239, 68, 68, .45);--color-warning-soft: rgba(245, 158, 11, .16);--code-bg: #0d0620;--code-text: #e8e0ff;--code-border: #2c1b52}@media(prefers-reduced-motion:reduce){:root{--transition-fast: 0ms;--transition-base: 0ms;--transition-slow: 0ms}}[data-reduced-motion=true]{--transition-fast: 0ms;--transition-base: 0ms;--transition-slow: 0ms}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-regular);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-base),color var(--transition-base);min-height:100vh}#app{min-height:100vh;isolation:isolate}h1,h2,h3,h4,h5,h6{font-weight:var(--weight-semibold);line-height:var(--leading-tight);color:var(--text-primary);letter-spacing:-.015em}h1{font-size:var(--text-3xl);font-weight:var(--weight-bold)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}p{color:var(--text-secondary)}a{color:var(--text-brand);text-decoration:none;transition:color var(--transition-fast)}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}button:disabled{cursor:not-allowed;opacity:.55}ul,ol{list-style:none}img,svg{display:block;max-width:100%}code,pre{font-family:var(--font-mono);font-size:.875em}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:var(--border-strong);border-radius:var(--radius-full);border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background-color:var(--text-muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100px;left:var(--space-4);z-index:var(--z-toast);padding:var(--space-3) var(--space-5);background:var(--brand-purple-600);color:#fff;border-radius:var(--radius-md);font-weight:var(--weight-semibold);transition:top var(--transition-base)}.skip-link:focus{top:var(--space-4);text-decoration:none}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.55}}.animate-fade-in{animation:fade-in var(--transition-base) ease-out}.animate-fade-in-up{animation:fade-in-up var(--transition-slow) ease-out}.route-fade-enter-active{transition:opacity var(--transition-base)}.route-fade-leave-active{transition:opacity var(--transition-fast)}.route-fade-enter-from,.route-fade-leave-to{opacity:0}.markdown-body{color:var(--text-secondary);line-height:var(--leading-relaxed);font-size:var(--text-base)}.markdown-body>*+*{margin-top:var(--space-4)}.markdown-body h1,.markdown-body h2,.markdown-body h3{color:var(--text-primary);margin-top:var(--space-6);margin-bottom:var(--space-2)}.markdown-body h2{font-size:var(--text-lg)}.markdown-body h3{font-size:var(--text-md)}.markdown-body strong{color:var(--text-primary);font-weight:var(--weight-semibold)}.markdown-body ul,.markdown-body ol{padding-left:var(--space-5);list-style:disc}.markdown-body ol{list-style:decimal}.markdown-body li{margin-bottom:var(--space-2)}.markdown-body code{background:var(--bg-input);color:var(--text-brand);padding:.15em .4em;border-radius:var(--radius-sm);font-size:.875em}.markdown-body pre{background:var(--code-bg);color:var(--code-text);padding:var(--space-4);border-radius:var(--radius-md);overflow-x:auto;border:1px solid var(--code-border)}.markdown-body pre code{background:none;color:inherit;padding:0;line-height:1.2}.markdown-body .diagram{margin:var(--space-4) 0;padding:var(--space-4);border:1px solid var(--code-border);border-radius:var(--radius-md);overflow-x:auto;text-align:center}.markdown-body .diagram svg{max-width:100%;height:auto}.markdown-body blockquote{border-left:3px solid var(--brand-purple-400);padding-left:var(--space-4);color:var(--text-muted)}.markdown-body a{color:var(--text-brand);text-decoration:underline}.page{display:flex;flex-direction:column;gap:var(--space-5);max-width:880px}.page__title{font-size:var(--text-3xl);font-weight:var(--weight-bold);letter-spacing:-.03em}.page__subtitle{font-size:var(--text-md);color:var(--text-muted);margin-top:var(--space-2)}.form{display:flex;flex-direction:column;gap:var(--space-4);max-width:420px}.form--inline{flex-direction:row;flex-wrap:wrap;align-items:flex-end;max-width:none}.form-field{display:flex;flex-direction:column;gap:var(--space-2);flex:1 1 200px}.form-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary)}.form-input{height:42px;padding:0 var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-input);color:var(--text-primary);font:inherit;font-size:var(--text-base)}.form-input:focus{outline:none;border-color:var(--border-focus)}.form-hint{font-size:var(--text-sm);color:var(--text-muted);line-height:var(--leading-relaxed)}.form-error{font-size:var(--text-sm);color:var(--color-danger)}.form-success{font-size:var(--text-sm);color:var(--color-success)}.code-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-md);background:var(--code-bg);border:1px solid var(--code-border);font-family:var(--font-mono);color:var(--code-text)}.data-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.data-table th{text-align:left;color:var(--text-muted);font-weight:var(--weight-medium);padding:var(--space-2) var(--space-3)}.data-table td{padding:var(--space-3);border-top:1px solid var(--border-subtle);vertical-align:middle}.data-table__actions{display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end}.table-scroll{overflow-x:auto}
