*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}html{background:var(--c-bg);color:var(--c-text-1);font-family:var(--c-font-sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{background:var(--c-bg);color:var(--c-text-1)}a{color:var(--c-brand-1);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;color:inherit}img,svg{display:block;max-width:100%}::selection{background:#7c3aed40}app-root{display:flex;flex-direction:column;min-height:100vh}:root{--c-font-sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--c-font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--c-brand-1: #6d28d9;--c-brand-2: #5b21b6;--c-brand-3: #7c3aed;--c-accent: #db2777;--c-gradient: linear-gradient(135deg, #7c3aed 0%, #a855f7 50%, #db2777 100%);--c-bg: #ffffff;--c-bg-soft: #faf5ff;--c-bg-mute: #f5f3ff;--c-bg-elevated: #ffffff;--c-text-1: #1e1b4b;--c-text-2: #5b21b6;--c-text-3: #6b21a8;--c-text-muted: #6b7280;--c-border: #e9d5ff;--c-border-soft: #f3e8ff;--c-divider: #e9d5ff;--c-tip-bg: rgba(109, 40, 217, .08);--c-tip-border: rgba(109, 40, 217, .35);--c-warning-bg: #fef3c7;--c-warning-border: #f59e0b;--c-danger-bg: #fef2f2;--c-danger-border: #ef4444;--c-info-bg: #eef2ff;--c-info-border: #6366f1;--c-code-bg: #f8f5ff;--c-code-border: #e9d5ff;--c-code-inline-bg: #f5f3ff;--c-code-inline-text: #6d28d9;--c-shadow-sm: 0 1px 3px rgba(76, 29, 149, .08);--c-shadow-md: 0 10px 30px rgba(76, 29, 149, .08), 0 2px 6px rgba(76, 29, 149, .05);--c-shadow-lg: 0 20px 50px rgba(76, 29, 149, .15), 0 4px 12px rgba(76, 29, 149, .08);--c-radius-sm: 6px;--c-radius: 10px;--c-radius-lg: 14px;--c-header-h: 64px;--c-sidebar-w: 256px;--c-toc-w: 224px;--c-content-max: 720px}html.dark{--c-bg: #0b0a1f;--c-bg-soft: #16142e;--c-bg-mute: #1e1b4b;--c-bg-elevated: #16142e;--c-text-1: #ede9fe;--c-text-2: #c4b5fd;--c-text-3: #a78bfa;--c-text-muted: #9ca3af;--c-border: rgba(196, 181, 253, .18);--c-border-soft: rgba(196, 181, 253, .1);--c-divider: rgba(196, 181, 253, .2);--c-tip-bg: rgba(167, 139, 250, .1);--c-tip-border: rgba(167, 139, 250, .4);--c-warning-bg: rgba(245, 158, 11, .1);--c-warning-border: #f59e0b;--c-danger-bg: rgba(239, 68, 68, .1);--c-danger-border: #ef4444;--c-info-bg: rgba(99, 102, 241, .12);--c-info-border: #6366f1;--c-code-bg: #14122a;--c-code-border: rgba(196, 181, 253, .16);--c-code-inline-bg: rgba(196, 181, 253, .12);--c-code-inline-text: #c4b5fd;--c-shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--c-shadow-md: 0 10px 30px rgba(0, 0, 0, .4), 0 2px 6px rgba(0, 0, 0, .3);--c-shadow-lg: 0 20px 50px rgba(0, 0, 0, .5), 0 4px 12px rgba(0, 0, 0, .3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem 1rem;border-radius:var(--c-radius-sm);border:1px solid var(--c-border);background:var(--c-bg-elevated);color:var(--c-text-1);font:inherit;font-weight:500;cursor:pointer;text-decoration:none;line-height:1;transition:background .15s ease,border-color .15s ease,transform .05s ease,box-shadow .15s ease}.btn:hover:not(:disabled){background:var(--c-bg-soft);border-color:var(--c-brand-3)}.btn:active:not(:disabled){transform:translateY(1px)}.btn.primary{background:var(--c-brand-1);border-color:var(--c-brand-1);color:#fff}.btn.primary:hover:not(:disabled){background:var(--c-brand-2);border-color:var(--c-brand-2)}.btn.brand{background:var(--c-gradient);border:none;color:#fff;box-shadow:var(--c-shadow-md)}.btn.brand:hover:not(:disabled){box-shadow:var(--c-shadow-lg);transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{font:inherit;color:var(--c-text-1)}select,textarea,input[type=text],input[type=number]{background:var(--c-bg-elevated);border:1px solid var(--c-border);border-radius:var(--c-radius-sm);padding:.5rem .6rem;width:100%;transition:border-color .15s}select:focus,textarea:focus,input:focus{outline:2px solid var(--c-brand-3);outline-offset:1px;border-color:var(--c-brand-3)}input[type=range]{width:100%;accent-color:var(--c-brand-1)}textarea{min-height:140px;resize:vertical;font-family:var(--c-font-sans);line-height:1.5}label{font-weight:600;font-size:.85rem;color:var(--c-text-2)}.card{background:var(--c-bg-elevated);border:1px solid var(--c-border);border-radius:var(--c-radius-lg);padding:1.5rem;box-shadow:var(--c-shadow-sm)}.card h2{margin:0 0 1rem;font-size:1rem;text-transform:uppercase;letter-spacing:.06em;color:var(--c-brand-1)}.prose{color:var(--c-text-1);line-height:1.7;font-size:1rem;max-width:var(--c-content-max)}.prose h1{font-size:2.25rem;line-height:1.15;font-weight:700;margin:0 0 .5rem;letter-spacing:-.025em;color:var(--c-text-1)}.prose h2{scroll-margin-top:calc(var(--c-header-h) + 16px);font-size:1.5rem;font-weight:700;letter-spacing:-.015em;margin:3rem 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--c-divider);color:var(--c-text-1)}.prose h3{scroll-margin-top:calc(var(--c-header-h) + 16px);font-size:1.15rem;font-weight:600;margin:2rem 0 .75rem;color:var(--c-text-1)}.prose h4{font-size:1rem;font-weight:600;margin:1.5rem 0 .5rem}.prose p{margin:0 0 1.1rem}.prose a{color:var(--c-brand-1);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s,color .15s}.prose a:hover{border-bottom-color:var(--c-brand-1);text-decoration:none}html.dark .prose a{color:var(--c-text-2)}html.dark .prose a:hover{border-bottom-color:var(--c-text-2)}.prose ul,.prose ol{margin:0 0 1.1rem;padding-left:1.4rem}.prose li{margin:.4rem 0}.prose li>p{margin:.25rem 0}.prose strong{font-weight:700;color:var(--c-text-1)}.prose hr{border:none;border-top:1px solid var(--c-divider);margin:2rem 0}.prose blockquote{margin:1.25rem 0;padding:.5rem 1rem;border-left:3px solid var(--c-brand-3);background:var(--c-bg-soft);color:var(--c-text-2)}.prose code{background:var(--c-code-inline-bg);color:var(--c-code-inline-text);border-radius:4px;padding:.15em .4em;font-family:var(--c-font-mono);font-size:.85em}.prose table{border-collapse:collapse;width:100%;margin:1.5rem 0;font-size:.92rem;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;padding:.6rem .85rem;border-bottom:1px solid var(--c-divider);vertical-align:top}.prose th{background:var(--c-bg-soft);font-weight:600;color:var(--c-text-2)}.prose tr:last-child td{border-bottom:none}.prose .lead{font-size:1.1rem;color:var(--c-text-2);margin-bottom:1.5rem}code[class*=language-],pre[class*=language-]{color:var(--c-text-1);background:none;font-family:var(--c-font-mono);font-size:.85rem;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.55;tab-size:2;hyphens:none}pre[class*=language-]{margin:0;padding:1rem 1.1rem;overflow:auto;background:transparent}:not(pre)>code[class*=language-]{padding:.1em .35em;border-radius:4px}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#8b8aa6;font-style:italic}html.dark .token.comment,html.dark .token.prolog,html.dark .token.doctype,html.dark .token.cdata{color:#6c6a8c}.token.punctuation{color:var(--c-text-2)}.token.namespace{opacity:.7}.token.property,.token.tag,.token.constant,.token.symbol,.token.deleted{color:#be185d}html.dark .token.property,html.dark .token.tag,html.dark .token.constant,html.dark .token.symbol,html.dark .token.deleted{color:#f472b6}.token.boolean,.token.number{color:#b45309}html.dark .token.boolean,html.dark .token.number{color:#fbbf24}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#15803d}html.dark .token.selector,html.dark .token.attr-name,html.dark .token.string,html.dark .token.char,html.dark .token.builtin,html.dark .token.inserted{color:#86efac}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{color:var(--c-text-2);background:transparent}.token.atrule,.token.attr-value,.token.keyword{color:#6d28d9;font-weight:500}html.dark .token.atrule,html.dark .token.attr-value,html.dark .token.keyword{color:#c4b5fd}.token.function,.token.class-name{color:#1d4ed8}html.dark .token.function,html.dark .token.class-name{color:#93c5fd}.token.regex,.token.important,.token.variable{color:#c2410c}html.dark .token.regex,html.dark .token.important,html.dark .token.variable{color:#fdba74}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}
