:root,[data-theme=dark]{--color-bg:#000;--color-bg-secondary:#0a0a0a;--color-bg-elevated:#111;--color-text:#faf9f6;--color-text-secondary:#888;--color-text-muted:#555;--color-border:#333;--color-border-subtle:#ffffff0f;--color-accent:#faf9f6;--color-accent-dim:#faf9f61f;--color-header-bg:#1e1e1ee6;--color-sidebar-bg:#0a0a0af2;--color-code-bg:#0d0d0d;--color-code-border:#222;--color-inline-code-bg:#ffffff0f;--color-active-bg:#ffffff0d;--color-hover-bg:#ffffff08;--color-link:#c8c8c8;--color-link-hover:#fff;--color-success:#c3e88d;--color-warn:#ffcb6b;--font-display:"Cinzel", Georgia, serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--header-height:60px;--sidebar-width:260px;--toc-width:200px;--content-max:680px;--transition-fast:.2s cubic-bezier(.16, 1, .3, 1);--transition-medium:.4s cubic-bezier(.16, 1, .3, 1);--transition-slow:.8s cubic-bezier(.16, 1, .3, 1);--radius-sm:4px;--radius-md:8px;--radius-lg:12px}[data-theme=light]{--color-bg:#fff;--color-bg-secondary:#fafafa;--color-bg-elevated:#f5f5f5;--color-text:#1a1a1a;--color-text-secondary:#666;--color-text-muted:#999;--color-border:#e0e0e0;--color-border-subtle:#0000000f;--color-accent:#1a1a1a;--color-accent-dim:#0000000f;--color-header-bg:#ffffffeb;--color-sidebar-bg:#fafafaf2;--color-code-bg:#f5f5f5;--color-code-border:#e0e0e0;--color-inline-code-bg:#0000000d;--color-active-bg:#0000000d;--color-hover-bg:#00000005;--color-link:#444;--color-link-hover:#000;--color-success:#4caf50;--color-warn:#f57c00}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);letter-spacing:.02em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:300;line-height:1.8;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}img{max-width:100%;height:auto}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.header{z-index:1000;width:calc(100% - 48px);max-width:1200px;height:var(--header-height);background:var(--color-header-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--color-border-subtle);transition:background var(--transition-fast);border-radius:16px;position:fixed;top:12px;left:50%;transform:translate(-50%)}.header__inner{justify-content:space-between;align-items:center;gap:24px;height:100%;padding:0 24px;display:flex}.header__brand{font-family:var(--font-display);letter-spacing:.2em;color:var(--color-text);white-space:nowrap;transition:opacity var(--transition-fast);align-items:center;gap:10px;font-size:16px;font-weight:400;display:flex}.header__brand:hover{opacity:.8}.header__logo{filter:brightness(0)invert();width:auto;height:28px;transition:filter var(--transition-fast)}[data-theme=light] .header__logo{filter:brightness(0)}.header__nav{align-items:center;gap:8px;display:flex}.header__link{letter-spacing:.12em;color:var(--color-text-secondary);transition:all var(--transition-fast);border-radius:8px;padding:6px 14px;font-size:12px;font-weight:500}.header__link:hover{color:var(--color-text);background:var(--color-hover-bg)}.header__link.active{color:var(--color-text);background:var(--color-active-bg)}.header__actions{align-items:center;gap:8px;display:flex}.header__search{border:1px solid var(--color-border);color:var(--color-text-secondary);transition:all var(--transition-fast);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:6px 12px;font-size:12px;display:flex}.header__search:hover{border-color:var(--color-text-secondary);color:var(--color-text)}.header__search-kbd{font-family:var(--font-mono);background:var(--color-border-subtle);letter-spacing:0;border-radius:4px;padding:2px 6px;font-size:10px}.header__theme-btn{width:36px;height:36px;color:var(--color-text-secondary);transition:all var(--transition-fast);border-radius:8px;justify-content:center;align-items:center;font-size:16px;display:flex}.header__theme-btn:hover{color:var(--color-text);background:var(--color-hover-bg)}.doc-layout{min-height:100vh;padding-top:calc(var(--header-height) + 36px);display:flex}.doc-sidebar{top:calc(var(--header-height) + 24px);width:var(--sidebar-width);min-width:var(--sidebar-width);height:calc(100vh - var(--header-height) - 24px);border-right:1px solid var(--color-border-subtle);background:var(--color-sidebar-bg);flex-shrink:0;padding:0 16px 40px 24px;position:sticky;overflow-y:auto}.doc-content-area{flex:1;min-width:0;padding:48px 64px 120px}.doc-toc-area{top:calc(var(--header-height) + 36px);width:var(--toc-width);min-width:var(--toc-width);height:calc(100vh - var(--header-height) - 36px);border-left:1px solid var(--color-border-subtle);flex-shrink:0;padding:32px 24px 40px 16px;position:sticky;overflow-y:auto}.sidebar-group-label{letter-spacing:.16em;color:var(--color-text-muted);text-transform:uppercase;padding:16px 8px 6px;font-size:10px;font-weight:600}.sidebar-group-label:first-child{padding-top:4px}.sidebar-section{margin-bottom:4px}.sidebar-section-title{width:100%;color:var(--color-text-secondary);border-radius:var(--radius-sm);transition:all var(--transition-fast);text-align:left;justify-content:space-between;align-items:center;padding:6px 8px;font-size:13px;font-weight:600;display:flex}.sidebar-section-title:hover{color:var(--color-text);background:var(--color-hover-bg)}.sidebar-section-chevron{transition:transform var(--transition-fast);opacity:.5;font-size:10px}.sidebar-section-chevron.open{transform:rotate(90deg)}.sidebar-items{transition:max-height var(--transition-medium);overflow:hidden}.sidebar-item{color:var(--color-text-secondary);border-radius:var(--radius-sm);transition:all var(--transition-fast);padding:5px 8px 5px 20px;font-size:13px;line-height:1.5;display:block}.sidebar-item:hover{color:var(--color-text);background:var(--color-hover-bg)}.sidebar-item.active{color:var(--color-text);background:var(--color-active-bg);font-weight:500}.toc-title{letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:12px;font-size:11px;font-weight:600}.toc-list{border-left:1px solid var(--color-border-subtle);list-style:none}.toc-item{position:relative}.toc-link{color:var(--color-text-muted);transition:all var(--transition-fast);border-left:2px solid #0000;margin-left:-1px;padding:4px 0 4px 12px;font-size:12px;line-height:1.5;display:block}.toc-link:hover{color:var(--color-text-secondary)}.toc-link.active{color:var(--color-text);border-left-color:var(--color-text)}.toc-link.depth-3{padding-left:24px;font-size:11px}.prose{color:var(--color-text-secondary);max-width:var(--content-max);font-size:15px;font-weight:300;line-height:2}.prose h1{font-family:var(--font-display);letter-spacing:.06em;border-bottom:1px solid var(--color-border-subtle);color:var(--color-text);margin:0 0 40px;padding-bottom:16px;font-size:28px;font-weight:400;line-height:1.4}.prose h2{font-family:var(--font-display);letter-spacing:.05em;border-bottom:1px solid var(--color-border-subtle);color:var(--color-text);margin:72px 0 24px;padding-bottom:14px;font-size:20px;font-weight:400;line-height:1.5}.prose h3{letter-spacing:.03em;color:var(--color-text);margin:48px 0 20px;font-size:15px;font-weight:500;line-height:1.5}.prose h4{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-secondary);margin:40px 0 16px;font-size:13px;font-weight:500}.prose p{margin:0 0 24px}.prose strong{color:var(--color-text);font-weight:600}.prose a{color:var(--color-link);text-underline-offset:2px;text-decoration:underline;-webkit-text-decoration-color:var(--color-border);text-decoration-color:var(--color-border);transition:all var(--transition-fast)}.prose a:hover{color:var(--color-link-hover);-webkit-text-decoration-color:var(--color-text-secondary);text-decoration-color:var(--color-text-secondary)}.prose ul,.prose ol{margin:0 0 28px;padding-left:24px}.prose li{margin-bottom:12px;line-height:2}.prose li>ul,.prose li>ol{margin-top:12px;margin-bottom:12px}.prose blockquote{border-left:3px solid var(--color-border);background:var(--color-border-subtle);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--color-text-secondary);margin:28px 0;padding:16px 24px;font-style:italic}.prose blockquote p:last-child{margin-bottom:0}.prose hr{border:none;border-top:1px solid var(--color-border-subtle);margin:48px 0}.prose table{border-collapse:collapse;width:100%;margin:28px 0;font-size:14px;display:block;overflow-x:auto}.prose thead th{text-align:left;border-bottom:2px solid var(--color-border);color:var(--color-text);white-space:nowrap;padding:10px 16px;font-weight:600}.prose tbody td{border-bottom:1px solid var(--color-border-subtle);padding:10px 16px}.prose tbody tr:hover{background:var(--color-hover-bg)}.prose img{border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);margin:16px 0}.prose code:not(.code-block-code){font-family:var(--font-mono);background:var(--color-inline-code-bg);border-radius:var(--radius-sm);color:var(--color-text);padding:2px 6px;font-size:.88em}.prose>:first-child{margin-top:0}.code-block{border:1px solid var(--color-code-border);border-radius:var(--radius-md);background:var(--color-code-bg);margin:28px 0;position:relative;overflow:hidden}.code-block-header{border-bottom:1px solid var(--color-code-border);color:var(--color-text-muted);justify-content:space-between;align-items:center;padding:8px 16px;font-size:11px;display:flex}.code-block-lang{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.code-block-copy{color:var(--color-text-muted);border-radius:var(--radius-sm);transition:all var(--transition-fast);font-size:11px;font-family:var(--font-body);padding:2px 8px}.code-block-copy:hover{color:var(--color-text);background:var(--color-hover-bg)}.code-block-body{padding:16px;overflow-x:auto}.code-block-code{font-family:var(--font-mono);color:var(--color-text);white-space:pre;font-size:13px;line-height:1.7;display:block}.hljs{color:#e6e6e6;background:0 0}.hljs-keyword{color:#c792ea}.hljs-string{color:#c3e88d}.hljs-number{color:#f78c6c}.hljs-comment{color:#546e7a;font-style:italic}.hljs-function{color:#82aaff}.hljs-title{color:#ffcb6b}.hljs-title.function_{color:#82aaff}.hljs-title.class_{color:#ffcb6b}.hljs-built_in{color:#89ddff}.hljs-variable{color:#f07178}.hljs-attr{color:#ffcb6b}.hljs-params{color:#e6e6e6}.hljs-literal{color:#ff5370}.hljs-type{color:#ffcb6b}.hljs-meta,.hljs-regexp{color:#89ddff}.hljs-symbol{color:#c792ea}.hljs-selector-tag{color:#ff5370}.hljs-selector-class{color:#ffcb6b}.hljs-selector-id{color:#82aaff}.hljs-template-variable{color:#f07178}.hljs-deletion{color:#ff5370;background:#ff537014}.hljs-addition{color:#c3e88d;background:#c3e88d14}.hljs-property,.hljs-punctuation,.hljs-operator{color:#89ddff}.hljs-name,.hljs-tag{color:#f07178}.hljs-attribute{color:#c792ea}.hljs-doctag,.hljs-section{color:#82aaff}.hljs-subst{color:#e6e6e6}.hljs-link{color:#82aaff;text-decoration:underline}[data-theme=light] .hljs{color:#383a42}[data-theme=light] .hljs-keyword{color:#a626a4}[data-theme=light] .hljs-string{color:#50a14f}[data-theme=light] .hljs-number{color:#986801}[data-theme=light] .hljs-comment{color:#a0a1a7;font-style:italic}[data-theme=light] .hljs-function,[data-theme=light] .hljs-title.function_{color:#4078f2}[data-theme=light] .hljs-title,[data-theme=light] .hljs-title.class_{color:#c18401}[data-theme=light] .hljs-built_in{color:#0184bc}[data-theme=light] .hljs-variable{color:#e45649}[data-theme=light] .hljs-attr{color:#986801}[data-theme=light] .hljs-type{color:#c18401}[data-theme=light] .hljs-property,[data-theme=light] .hljs-operator{color:#0184bc}[data-theme=light] .hljs-tag,[data-theme=light] .hljs-name{color:#e45649}.prev-next{border-top:1px solid var(--color-border-subtle);justify-content:space-between;gap:16px;margin-top:64px;padding-top:32px;display:flex}.prev-next-link{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);transition:all var(--transition-fast);flex-direction:column;flex:1;gap:4px;max-width:50%;padding:16px 20px;display:flex}.prev-next-link:hover{border-color:var(--color-border);background:var(--color-hover-bg)}.prev-next-link--next{text-align:right;margin-left:auto}.prev-next-label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);font-size:11px;font-weight:500}.prev-next-title{color:var(--color-text);font-size:14px;font-weight:500}.footer{border-top:1px solid var(--color-border-subtle);text-align:center;padding:24px 32px}.footer__inner{color:var(--color-text-muted);justify-content:center;align-items:center;gap:24px;font-size:12px;display:flex}.footer__link{color:var(--color-text-secondary);transition:color var(--transition-fast)}.footer__link:hover{color:var(--color-text)}.home{min-height:100vh;padding-top:calc(var(--header-height) + 60px)}.home-hero{text-align:center;max-width:800px;margin:0 auto;padding:80px 24px 60px}.home-hero__badge{letter-spacing:.15em;text-transform:uppercase;border:1px solid var(--color-border);color:var(--color-text-secondary);border-radius:100px;margin-bottom:32px;padding:6px 16px;font-size:11px;font-weight:500;display:inline-block}.home-hero__title{font-family:var(--font-display);letter-spacing:.06em;background:linear-gradient(180deg, var(--color-text) 0%, var(--color-text-secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:24px;font-size:44px;font-weight:300;line-height:1.3}.home-hero__subtitle{color:var(--color-text-secondary);max-width:560px;margin:0 auto 40px;font-size:17px;line-height:1.7}.home-hero__actions{justify-content:center;align-items:center;gap:16px;display:flex}.home-btn{letter-spacing:.06em;transition:all var(--transition-fast);border-radius:8px;align-items:center;gap:8px;padding:12px 28px;font-size:13px;font-weight:500;display:inline-flex}.home-btn--primary{background:var(--color-text);color:var(--color-bg)}.home-btn--primary:hover{opacity:.9;transform:translateY(-1px)}.home-btn--secondary{border:1px solid var(--color-border);color:var(--color-text-secondary)}.home-btn--secondary:hover{border-color:var(--color-text-secondary);color:var(--color-text)}.home-cards{grid-template-columns:repeat(3,1fr);gap:20px;max-width:960px;margin:0 auto;padding:0 24px 80px;display:grid}.home-card{border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);transition:all var(--transition-fast);flex-direction:column;gap:12px;padding:36px 32px;display:flex}.home-card:hover{border-color:var(--color-border);background:var(--color-hover-bg);transform:translateY(-2px)}.home-card__label{font-family:var(--font-mono);letter-spacing:.18em;color:var(--color-text-muted);text-transform:uppercase;margin-bottom:8px;font-size:10px}.home-card__title{font-family:var(--font-display);letter-spacing:.04em;font-size:18px;font-weight:400}.home-card__desc{color:var(--color-text-secondary);font-size:13px;line-height:1.7}.home-section{max-width:960px;margin:0 auto;padding:0 24px 80px}.home-section__title{font-family:var(--font-display);letter-spacing:.06em;text-align:center;color:var(--color-text);margin-bottom:32px;font-size:20px;font-weight:400}.home-architecture{background:var(--color-code-bg);border:1px solid var(--color-code-border);border-radius:var(--radius-md);padding:32px;overflow-x:auto}.home-architecture pre{font-family:var(--font-mono);color:var(--color-text-secondary);white-space:pre;font-size:12px;line-height:1.6}.home-code-example{margin-top:12px}.search-overlay{z-index:2000;-webkit-backdrop-filter:blur(4px);background:#0006;justify-content:center;align-items:flex-start;padding-top:18vh;animation:.12s searchFadeIn;display:flex;position:fixed;inset:0}.search-dialog{background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);width:92%;max-width:600px;animation:.15s searchSlideIn;overflow:hidden;box-shadow:0 24px 80px #00000080}.search-input-wrap{border-bottom:1px solid var(--color-border-subtle);align-items:center;gap:12px;padding:16px 20px;display:flex}.search-input{color:var(--color-text);font-size:16px;font-family:var(--font-body);caret-color:var(--color-text);background:0 0;border:none;outline:none;flex:1}.search-input::placeholder{color:var(--color-text-muted)}.search-kbd{font-family:var(--font-mono);background:var(--color-border-subtle);color:var(--color-text-muted);letter-spacing:0;border-radius:4px;flex-shrink:0;padding:2px 8px;font-size:10px}.search-results{max-height:400px;padding:8px;overflow-y:auto}.search-result{text-align:left;border-radius:var(--radius-md);cursor:pointer;width:100%;transition:background var(--transition-fast);padding:12px 16px;display:block}.search-result:hover,.search-result.active{background:var(--color-active-bg)}.search-result-title{color:var(--color-text);font-size:14px;font-weight:500}.search-result-section{color:var(--color-text-muted);margin-top:2px;font-size:11px}.search-result-snippet{color:var(--color-text-secondary);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.search-result-snippet mark{color:#82aaff;background:#82aaff33;border-radius:2px;padding:0 2px}.search-hint{text-align:center;color:var(--color-text-muted);padding:24px 20px;font-size:13px}@keyframes searchFadeIn{0%{opacity:0}to{opacity:1}}@keyframes searchSlideIn{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.interactive-viz{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-secondary);margin:24px 0;padding:24px}.interactive-btn{font-size:13px;font-family:var(--font-mono);color:#82aaff;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:#82aaff14;border:1px solid #82aaff4d;align-items:center;gap:6px;padding:8px 20px;display:inline-flex}.interactive-btn:hover:not(:disabled){background:#82aaff26;border-color:#82aaff}.interactive-btn:disabled{opacity:.5;cursor:not-allowed}.diagram-block{background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);margin:32px 0;padding:32px;overflow-x:auto}.diagram-block__fallback{font-family:var(--font-mono);color:var(--color-text-secondary);white-space:pre;font-size:12px;line-height:1.5}.diagram-flow{flex-wrap:wrap;justify-content:center;align-items:center;gap:0;padding:8px 0;display:flex}.diagram-grid{flex-wrap:wrap;justify-content:center;gap:16px;padding:8px 0;display:flex}.diagram-node-wrap{align-items:center;gap:0;display:flex}.diagram-arrow{background:linear-gradient(90deg, var(--color-border), var(--color-text-muted));flex-shrink:0;width:40px;height:2px;position:relative}.diagram-arrow:after{content:"";border-left:6px solid var(--color-text-muted);border-top:4px solid #0000;border-bottom:4px solid #0000;width:0;height:0;position:absolute;top:50%;right:-1px;transform:translateY(-50%)}.diagram-node{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);text-align:center;min-width:120px;transition:all var(--transition-fast);padding:16px 24px}.diagram-node:hover{border-color:var(--color-text-secondary);transform:translateY(-1px)}.diagram-node__label{font-family:var(--font-body);color:var(--color-text);letter-spacing:.02em;white-space:nowrap;font-size:13px;font-weight:500}.diagram-node__sub{color:var(--color-text-muted);margin-top:6px;font-size:11px;line-height:1.4}.mermaid-container{text-align:center;background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);margin:16px 0;padding:16px;overflow-x:auto}.mermaid-container svg{max-width:100%;height:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.not-found{text-align:center;padding:120px 24px}.not-found__title{font-family:var(--font-display);margin-bottom:12px;font-size:28px;font-weight:500}.not-found__text{color:var(--color-text-secondary);margin-bottom:24px}@media (width<=1100px){.doc-toc-area{display:none}}@media (width<=860px){.header{width:calc(100% - 24px);top:8px}.header__nav,.doc-sidebar{display:none}.doc-content-area{padding:24px 20px 80px}.home-hero__title{font-size:32px}.home-cards{grid-template-columns:1fr}.prev-next{flex-direction:column}.prev-next-link{max-width:100%}}
