*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}button{font:inherit;color:inherit}:root,[data-theme=dark]{--bg: #07090f;--bg-grad: radial-gradient(1200px 600px at 80% -10%, rgba(34, 211, 238, .06), transparent 60%), radial-gradient(900px 500px at -10% 110%, rgba(99, 102, 241, .05), transparent 60%), #07090f;--surface: #0e1220;--surface-2: #151a2c;--surface-3: #1c2238;--border: rgba(148, 163, 184, .1);--border-2: rgba(148, 163, 184, .18);--border-3: rgba(148, 163, 184, .28);--text: #e8eef7;--text-2: #a3afc4;--text-3: #65718a;--accent: #22d3ee;--accent-2: #67e8f9;--accent-dim:rgba(34, 211, 238, .14);--accent-glow: rgba(34, 211, 238, .22);--inset-hi: inset 0 1px 0 rgba(255, 255, 255, .04);--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 6px 24px -8px rgba(0, 0, 0, .55), 0 2px 6px rgba(0, 0, 0, .35);--shadow-glow: 0 0 0 1px rgba(34, 211, 238, .18), 0 8px 28px -10px rgba(34, 211, 238, .35);--selection: rgba(34, 211, 238, .3);--code-bg: #0a0e1a;--scrollbar: rgba(148, 163, 184, .18)}[data-theme=light]{--bg: #f6f7fb;--bg-grad: radial-gradient(1200px 600px at 80% -10%, rgba(8, 145, 178, .06), transparent 60%), radial-gradient(900px 500px at -10% 110%, rgba(99, 102, 241, .04), transparent 60%), #f6f7fb;--surface: #ffffff;--surface-2: #f1f4f9;--surface-3: #e7ecf3;--border: rgba(15, 23, 42, .08);--border-2: rgba(15, 23, 42, .14);--border-3: rgba(15, 23, 42, .22);--text: #0b1220;--text-2: #475569;--text-3: #94a3b8;--accent: #0891b2;--accent-2: #0e7490;--accent-dim:rgba(8, 145, 178, .1);--accent-glow: rgba(8, 145, 178, .18);--inset-hi: inset 0 1px 0 rgba(255, 255, 255, .6);--shadow-1: 0 1px 2px rgba(15, 23, 42, .06);--shadow-2: 0 8px 28px -10px rgba(15, 23, 42, .14), 0 2px 6px rgba(15, 23, 42, .05);--shadow-glow: 0 0 0 1px rgba(8, 145, 178, .22), 0 8px 24px -8px rgba(8, 145, 178, .25);--selection: rgba(8, 145, 178, .2);--code-bg: #0e1220;--scrollbar: rgba(15, 23, 42, .18)}:root{--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.5rem;--s-6: 2rem;--s-7: 3rem;--s-8: 4rem;--text-xs: .6875rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: .9375rem;--text-lg: 1.0625rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: clamp(1.75rem, 1.4rem + 1.5vw, 2.25rem);--text-display: clamp(2.25rem, 1.6rem + 3vw, 3.5rem);--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-xl: 20px;--r-pill: 999px;--sidebar-w: 268px;--sidebar-w-collapsed: 52px;--d-fast: .12s;--d-normal: .22s;--d-slow: .4s;--ease: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--font-ui: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", "Fira Code", Menlo, monospace}html{scroll-behavior:smooth}body{font-family:var(--font-ui);font-feature-settings:"cv11","ss01","ss03";background:var(--bg-grad);background-attachment:fixed;color:var(--text);min-height:100vh;font-size:var(--text-base);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}::selection{background:var(--selection);color:var(--text)}button{cursor:pointer;background:none;border:none}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:4px;border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background-color:var(--border-3);background-clip:content-box}*::-webkit-scrollbar-corner{background:transparent}.layout{display:flex;min-height:100vh}.main-column{display:flex;flex-direction:column;flex:1;min-width:0}.tab-bar{display:flex;align-items:stretch;background:linear-gradient(to bottom,var(--surface),color-mix(in srgb,var(--surface) 80%,var(--bg)));border-bottom:1px solid var(--border);flex-shrink:0;height:40px;padding:6px 6px 0 8px;gap:2px;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tab-list{display:flex;align-items:stretch;overflow-x:auto;flex:1;min-width:0;gap:2px;scrollbar-width:none}.tab-list::-webkit-scrollbar{display:none}.tab{position:relative;display:flex;align-items:center;gap:var(--s-2);padding:0 12px;background:transparent;border:1px solid transparent;border-bottom:none;border-radius:var(--r-md) var(--r-md) 0 0;color:var(--text-3);font-size:var(--text-sm);font-weight:500;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:color var(--d-fast) var(--ease),background var(--d-fast) var(--ease);max-width:200px;min-width:96px;height:100%}.tab:after{content:"";position:absolute;bottom:-1px;left:12px;right:12px;height:2px;background:var(--accent);border-radius:2px 2px 0 0;opacity:0;transform:scaleX(.4);transition:opacity var(--d-normal) var(--ease-out),transform var(--d-normal) var(--ease-out)}.tab:hover{background:color-mix(in srgb,var(--surface-2) 60%,transparent);color:var(--text-2)}.tab.active{background:var(--bg);border-color:var(--border);color:var(--text);box-shadow:var(--inset-hi)}.tab.active:after{opacity:1;transform:scaleX(1)}.tab-label{overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;text-align:left}.tab-close{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;font-size:var(--text-base);line-height:1;color:var(--text-3);flex-shrink:0;transition:background var(--d-fast),color var(--d-fast);opacity:0}.tab:hover .tab-close,.tab.active .tab-close{opacity:1}.tab-close:hover{background:var(--border-2);color:var(--text)}.tab-add{display:flex;align-items:center;justify-content:center;width:32px;margin-left:4px;margin-bottom:4px;border-radius:var(--r-sm);color:var(--text-3);font-size:1.1rem;flex-shrink:0;transition:color var(--d-fast),background var(--d-fast);align-self:center;height:26px}.tab-add:hover{background:var(--surface-2);color:var(--text)}.sidebar{width:var(--sidebar-w);min-height:100vh;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 96%,var(--accent)) 0%,var(--surface) 240px);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;transition:width var(--d-normal) var(--ease-out);position:sticky;top:0;height:100vh;overflow:hidden}.sidebar.collapsed{width:var(--sidebar-w-collapsed)}.sidebar-top{display:flex;align-items:center;justify-content:space-between;padding:14px;border-bottom:1px solid var(--border);gap:var(--s-2);min-height:56px}.repo-title{color:var(--text);font-size:var(--text-md);font-weight:700;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;letter-spacing:-.01em;background:linear-gradient(135deg,var(--text) 0%,var(--accent) 140%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;transition:filter var(--d-fast)}.repo-title:hover{filter:brightness(1.15)}.sidebar-top-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.theme-toggle,.collapse-btn{color:var(--text-3);font-size:var(--text-md);line-height:1;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);transition:color var(--d-fast),background var(--d-fast),transform var(--d-fast)}.theme-toggle:hover,.collapse-btn:hover{color:var(--text);background:var(--surface-2)}.collapse-btn:active{transform:scale(.92)}.sidebar-body{display:flex;flex-direction:column;overflow:hidden;flex:1}.search-wrap{position:relative;padding:12px 12px 10px}.search-icon{position:absolute;left:22px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--text-3);pointer-events:none}.search-input{width:100%;background:var(--bg);border:1px solid var(--border-2);border-radius:var(--r-sm);padding:7px 28px 7px 32px;font-size:var(--text-sm);color:var(--text);font-family:var(--font-ui);transition:border-color var(--d-fast),box-shadow var(--d-fast),background var(--d-fast)}.search-input::placeholder{color:var(--text-3)}.search-input:hover{border-color:var(--border-3)}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);outline:none}.search-clear{position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--text-3);font-size:var(--text-md);line-height:1;width:18px;height:18px;border-radius:4px;display:flex;align-items:center;justify-content:center}.search-clear:hover{color:var(--text);background:var(--border-2)}.nav{flex:1;overflow-y:auto;padding:4px 8px 16px}.nav-item{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;color:var(--text-2);font-size:var(--text-sm);font-weight:500;padding:6px 10px 6px 14px;border-radius:var(--r-sm);transition:background var(--d-fast),color var(--d-fast);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-item:before{content:"";position:absolute;left:4px;top:8px;bottom:8px;width:2px;background:var(--accent);border-radius:2px;opacity:0;transform:scaleY(.6);transition:opacity var(--d-fast),transform var(--d-fast) var(--ease-out)}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item.active{background:var(--accent-dim);color:var(--text)}.nav-item.active:before{opacity:1;transform:scaleY(1)}.nav-badge{font-size:var(--text-xs);font-weight:600;background:var(--surface-3);color:var(--text-2);padding:1px 7px;border-radius:var(--r-pill);flex-shrink:0}.nav-item.active .nav-badge{background:var(--accent);color:var(--bg)}.nav-docs{margin-top:14px}.nav-section-label{font-size:var(--text-xs);font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.1em;padding:8px 10px 6px;display:flex;align-items:center;gap:8px}.nav-section-label:after{content:"";flex:1;height:1px;background:var(--border)}.nav-empty{font-size:var(--text-sm);color:var(--text-3);padding:12px 10px;font-style:italic}.tree-level{display:flex;flex-direction:column}.tree-row{position:relative;display:flex;align-items:center;gap:6px;width:100%;text-align:left;color:var(--text-2);font-size:var(--text-sm);padding-top:4px;padding-bottom:4px;padding-right:8px;border-radius:var(--r-sm);transition:background var(--d-fast),color var(--d-fast);white-space:nowrap;overflow:hidden}.tree-row:before{content:"";position:absolute;left:2px;top:6px;bottom:6px;width:2px;background:var(--accent);border-radius:2px;opacity:0;transition:opacity var(--d-fast)}.tree-row:hover{background:var(--surface-2);color:var(--text)}.tree-row.active{background:var(--accent-dim);color:var(--text)}.tree-row.active:before{opacity:1}.tree-folder-row{color:var(--text);display:flex;align-items:center;gap:0;padding-top:0;padding-bottom:0;padding-right:8px;cursor:default;font-weight:500}.tree-folder-row:hover{background:var(--surface-2)}.tree-chevron-btn{display:flex;align-items:center;justify-content:center;color:var(--text-3);padding:4px 3px;flex-shrink:0;border-radius:3px;transition:color var(--d-fast)}.tree-chevron-btn:hover{color:var(--text)}.tree-folder-label{display:flex;align-items:center;gap:6px;color:inherit;font-size:var(--text-sm);padding:4px 4px 4px 0;flex:1;min-width:0;text-align:left;white-space:nowrap;overflow:hidden;border-radius:3px;transition:color var(--d-fast)}.tree-folder-label:hover{color:var(--accent)}.tree-chevron{width:12px;height:12px;flex-shrink:0;color:var(--text-3);transition:transform var(--d-fast) var(--ease-out);transform:rotate(0)}.tree-chevron.open{transform:rotate(90deg)}.tree-icon{width:14px;height:14px;flex-shrink:0}.tree-icon-folder{color:#f0b840}.tree-icon-file,.tree-file-row .tree-icon-file{color:var(--text-3)}.tree-file-row.active .tree-icon-file{color:var(--accent)}.tree-file-row[data-ext=ts] .tree-icon-file,.tree-file-row[data-ext=tsx] .tree-icon-file{color:#3b82f6}.tree-file-row[data-ext=js] .tree-icon-file,.tree-file-row[data-ext=jsx] .tree-icon-file{color:#eab308}.tree-file-row[data-ext=css] .tree-icon-file,.tree-file-row[data-ext=scss] .tree-icon-file{color:#ec4899}.tree-file-row[data-ext=md] .tree-icon-file,.tree-file-row[data-ext=mdx] .tree-icon-file{color:#a78bfa}.tree-file-row[data-ext=json] .tree-icon-file{color:#f59e0b}.tree-file-row[data-ext=py] .tree-icon-file{color:#4ade80}.tree-file-row[data-ext=rs] .tree-icon-file{color:#fb923c}.tree-file-row[data-ext=go] .tree-icon-file{color:#22d3ee}.tree-file-row[data-ext=html] .tree-icon-file{color:#f87171}.tree-file-row[data-ext=yaml] .tree-icon-file,.tree-file-row[data-ext=yml] .tree-icon-file{color:#f472b6}.tree-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.tree-children{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--d-normal) var(--ease-out)}.tree-children.open{grid-template-rows:1fr}.tree-children>.tree-level{overflow:hidden}.main{flex:1;min-width:0;overflow-y:auto;overflow-x:hidden}.page{max-width:820px;margin:0 auto;padding:56px 40px 96px;animation:page-fade-in var(--d-normal) var(--ease-out)}@keyframes page-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.page-title{font-size:var(--text-3xl);font-weight:800;color:var(--text);letter-spacing:-.03em;line-height:1.1;margin-bottom:6px}.page-subtitle{font-size:var(--text-md);color:var(--text-3);margin-bottom:36px}.home-hero{position:relative;margin-bottom:40px;padding-bottom:32px;border-bottom:1px solid var(--border)}.home-hero-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:var(--text-xs);font-weight:600;color:var(--accent);background:var(--accent-dim);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);padding:4px 10px;border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:.08em;margin-bottom:18px}.home-hero-eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent-glow);animation:pulse-dot 2.4s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:.6;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}.home-hero-title{font-size:var(--text-display);font-weight:800;letter-spacing:-.04em;line-height:1.02;background:linear-gradient(135deg,var(--text) 0%,var(--accent) 180%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:12px}.home-hero-tagline{font-size:var(--text-lg);color:var(--text-2);max-width:56ch;line-height:1.5}.stats-row{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:14px;margin-bottom:48px}.stat-card{position:relative;display:flex;flex-direction:column;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:18px 20px;cursor:default;transition:border-color var(--d-fast),transform var(--d-fast),box-shadow var(--d-normal);box-shadow:var(--inset-hi),var(--shadow-1);overflow:hidden}.stat-card[role=button]{cursor:pointer}.stat-card[role=button]:hover{border-color:var(--border-3);transform:translateY(-1px);box-shadow:var(--inset-hi),var(--shadow-2)}.stat-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(280px 140px at 100% -20%,var(--accent-glow),transparent 70%);opacity:0;transition:opacity var(--d-normal);pointer-events:none}.stat-card:hover:after{opacity:1}.stat-value{font-size:2rem;font-weight:800;color:var(--text);letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums}.stat-value.stat-small{font-size:1.05rem;padding-top:6px;font-weight:700}.stat-label{font-size:var(--text-xs);color:var(--text-3);font-weight:500;text-transform:uppercase;letter-spacing:.08em}.home-section{margin-bottom:44px}.section-title{font-size:var(--text-xs);font-weight:700;color:var(--text-3);text-transform:uppercase;letter-spacing:.12em;margin-bottom:14px;display:flex;align-items:center;gap:10px}.section-title:after{content:"";flex:1;height:1px;background:var(--border)}.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.file-card{position:relative;display:flex;flex-direction:column;gap:4px;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:14px 16px;transition:border-color var(--d-fast),background var(--d-fast),transform var(--d-fast),box-shadow var(--d-normal);box-shadow:var(--inset-hi);overflow:hidden}.file-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(300px 120px at -10% 110%,var(--accent-glow),transparent 60%);opacity:0;transition:opacity var(--d-normal);pointer-events:none}.file-card:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));background:var(--surface-2);transform:translateY(-2px);box-shadow:var(--inset-hi),var(--shadow-2)}.file-card:hover:after{opacity:1}.file-card-name{font-size:var(--text-sm);font-weight:600;color:var(--text);font-family:var(--font-mono);letter-spacing:-.01em}.file-card-path{font-size:var(--text-xs);color:var(--text-3);font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-card-title{font-size:var(--text-sm);color:var(--text-2);margin-top:6px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.commit-list{list-style:none;display:flex;flex-direction:column;gap:6px;margin-top:8px}.commit-item{display:flex;align-items:flex-start;gap:14px;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--inset-hi);transition:border-color var(--d-fast),transform var(--d-fast)}.commit-item:hover{border-color:var(--border-3);transform:translate(2px)}.commit-sha{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--accent);background:var(--accent-dim);padding:3px 8px;border-radius:var(--r-sm);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);flex-shrink:0;letter-spacing:.02em;font-weight:600}.commit-body{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.commit-msg{font-size:var(--text-base);color:var(--text);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.commit-meta{font-size:var(--text-xs);color:var(--text-3);display:flex;align-items:center;gap:6px}.commit-meta-dot{width:3px;height:3px;border-radius:50%;background:var(--text-3)}.markdown-body{color:var(--text);margin-top:28px;line-height:1.75;font-size:var(--text-md)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{color:var(--text);font-weight:700;letter-spacing:-.02em;line-height:1.25;margin:2.4rem 0 1rem;scroll-margin-top:60px}.markdown-body h1{font-size:1.6rem}.markdown-body h2{font-size:1.3rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.markdown-body h3{font-size:1.1rem}.markdown-body h4{font-size:.95rem;color:var(--text-2)}.markdown-body h5,.markdown-body h6{font-size:.85rem;color:var(--text-2)}.markdown-body p{margin-bottom:1rem;color:var(--text-2)}.markdown-body strong{color:var(--text);font-weight:600}.markdown-body em{color:var(--text)}.markdown-body a{color:var(--accent);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--accent) 35%,transparent);transition:border-color var(--d-fast),color var(--d-fast)}.markdown-body a:hover{color:var(--accent-2);border-bottom-color:var(--accent)}.markdown-body code{background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:1px 6px;font-family:var(--font-mono);font-size:.86em;color:var(--accent);font-weight:500}.code-block{position:relative;margin:1.25rem 0;border:1px solid var(--border);border-radius:var(--r-md);background:var(--code-bg);overflow:hidden;box-shadow:var(--inset-hi),var(--shadow-1)}.code-header{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:linear-gradient(to bottom,rgba(255,255,255,.03),transparent);border-bottom:1px solid rgba(148,163,184,.1);font-family:var(--font-mono)}.code-lang{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:#8b9bb5;font-weight:600}.code-copy{font-family:var(--font-ui);font-size:.7rem;font-weight:600;color:#94a3b8;background:#94a3b81a;border:1px solid rgba(148,163,184,.18);padding:4px 10px;border-radius:var(--r-sm);letter-spacing:.04em;text-transform:uppercase;transition:background var(--d-fast),color var(--d-fast),border-color var(--d-fast)}.code-copy:hover{color:#e2e8f0;background:#94a3b82e;border-color:#94a3b84d}.code-copy.copied{color:var(--accent);background:var(--accent-dim);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.markdown-body pre{background:var(--code-bg);padding:16px 18px;overflow-x:auto;margin:0;border:none;border-radius:0;box-shadow:none}.markdown-body pre code{display:block;background:none;border:none;padding:0;color:#cbd5e1;font-size:.82rem;line-height:1.65;font-weight:400;font-family:var(--font-mono)}.markdown-body .md-heading{position:relative}.markdown-body .md-anchor{position:absolute;left:-1.4ch;top:0;color:var(--text-3);border:none;padding:0 .3ch;font-weight:400;opacity:0;transition:opacity var(--d-fast),color var(--d-fast);text-decoration:none}.markdown-body .md-heading:hover .md-anchor{opacity:1}.markdown-body .md-anchor:hover{color:var(--accent)}.markdown-body .hljs{background:transparent;padding:0;color:#cbd5e1}.hljs-keyword,.hljs-selector-tag,.hljs-built_in,.hljs-name,.hljs-tag{color:#c084fc}.hljs-string,.hljs-attr,.hljs-symbol,.hljs-bullet,.hljs-addition{color:#86efac}.hljs-comment,.hljs-quote,.hljs-deletion,.hljs-meta{color:#64748b;font-style:italic}.hljs-number,.hljs-literal,.hljs-variable,.hljs-template-variable,.hljs-link{color:#fbbf24}.hljs-title,.hljs-section,.hljs-function .hljs-title{color:#22d3ee;font-weight:600}.hljs-class .hljs-title,.hljs-type{color:#67e8f9}.hljs-attribute,.hljs-property{color:#93c5fd}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:600}.markdown-body ul,.markdown-body ol{padding-left:1.5rem;margin-bottom:1rem;color:var(--text-2)}.markdown-body li{margin-bottom:.35rem}.markdown-body li::marker{color:var(--text-3)}.markdown-body blockquote{position:relative;border-left:3px solid var(--accent);background:var(--accent-dim);padding:.875rem 1.125rem;margin:1.25rem 0;color:var(--text-2);border-radius:0 var(--r-md) var(--r-md) 0;font-style:normal}.markdown-body blockquote p{margin-bottom:.5rem}.markdown-body blockquote p:last-child{margin-bottom:0}.markdown-body table{width:100%;border-collapse:separate;border-spacing:0;margin:1.25rem 0;font-size:var(--text-sm);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.markdown-body th{background:var(--surface-2);padding:10px 14px;text-align:left;border-bottom:1px solid var(--border);color:var(--text);font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em}.markdown-body td{padding:10px 14px;border-bottom:1px solid var(--border);color:var(--text-2)}.markdown-body tr:last-child td{border-bottom:none}.markdown-body tr:nth-child(2n) td{background:color-mix(in srgb,var(--surface-2) 40%,transparent)}.markdown-body hr{border:none;height:1px;background:var(--border);margin:2rem 0}.markdown-body img{max-width:100%;border-radius:var(--r-md);border:1px solid var(--border);margin:1rem 0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--text-3);font-size:var(--text-sm);padding:3rem 1rem;gap:8px}.empty-state:before{content:"";width:48px;height:48px;border-radius:50%;background:radial-gradient(circle,var(--accent-dim) 0%,transparent 70%);border:1px dashed var(--border-3);margin-bottom:8px}.loading-pulse{height:18px;background:linear-gradient(90deg,var(--surface) 0%,var(--surface-2) 50%,var(--surface) 100%);background-size:200% 100%;border-radius:6px;margin-bottom:14px;animation:shimmer 1.4s ease-in-out infinite}.loading-pulse.short{width:40%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.tree-folder-group{display:flex;flex-direction:column}.tree-folder-row.active .tree-folder-label{color:var(--accent)}.tree-folder-row.active{background:var(--accent-dim)}.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:0;margin-bottom:18px;font-size:var(--text-sm);color:var(--text-3);font-family:var(--font-mono)}.breadcrumb-item{display:flex;align-items:center}.breadcrumb-sep{padding:0 6px;color:var(--text-3);opacity:.5}.breadcrumb-current{color:var(--text);background:var(--accent-dim);padding:2px 8px;border-radius:var(--r-sm);font-weight:500}.breadcrumb-link{color:var(--accent);font-size:var(--text-sm);font-family:var(--font-mono);padding:2px 6px;border-radius:var(--r-sm);transition:background var(--d-fast),color var(--d-fast)}.breadcrumb-link:hover{background:var(--surface-2);color:var(--accent-2)}.deps-files{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.deps-files>li{display:flex}.deps-file{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:8px 12px;color:var(--text);display:inline-flex;flex-direction:column;gap:1px;transition:background var(--d-fast),border-color var(--d-fast),transform var(--d-fast);box-shadow:var(--inset-hi)}.deps-file:hover{background:var(--surface-2);border-color:color-mix(in srgb,var(--accent) 50%,var(--border));transform:translateY(-1px)}.deps-file.active{background:var(--accent-dim);border-color:var(--accent)}.deps-file-name{font-size:var(--text-sm);font-weight:600;font-family:var(--font-mono)}.deps-file-path{font-size:var(--text-xs);color:var(--text-3);font-family:var(--font-mono)}.deps-page{max-width:1200px}.deps-layout{display:grid;grid-template-columns:320px 1fr;gap:1.5rem;margin-top:1.5rem;min-height:60vh}.deps-list{display:flex;flex-direction:column;gap:.75rem;min-height:0}.deps-detail{display:flex;flex-direction:column;gap:1.25rem;border:1px solid var(--border);border-radius:var(--r-md);padding:1.5rem;background:var(--surface);min-height:0}.deps-detail-head{display:flex;flex-direction:column;gap:.25rem}.deps-detail-title{font-size:1.25rem;font-weight:700}.deps-detail-path{font-size:.8rem;color:var(--text-2);font-family:var(--font-mono)}.deps-open-doc{align-self:flex-start;margin-top:.5rem;background:transparent;border:1px solid var(--border-2);border-radius:var(--r-md);color:var(--accent);font-size:.75rem;padding:.4rem .75rem;transition:background var(--d-fast)}.deps-open-doc:hover{background:var(--accent-dim)}.deps-columns{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.deps-column{display:flex;flex-direction:column;gap:.6rem}.deps-column-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-2)}.deps-count{color:var(--text-3);font-weight:500;margin-left:.25rem}.deps-edge-list{list-style:none;display:flex;flex-direction:column;gap:.3rem}.deps-edge{width:100%;text-align:left;background:transparent;border:1px solid var(--border);border-radius:var(--r-md);padding:.5rem .7rem;display:flex;flex-direction:column;gap:.15rem;color:var(--text)}button.deps-edge.resolved{transition:background var(--d-fast),border-color var(--d-fast)}button.deps-edge.resolved:hover{background:var(--surface-2);border-color:var(--accent)}.deps-edge.unresolved{opacity:.55}.deps-edge-name{font-size:.8rem;font-weight:500}.deps-edge-path{font-size:.7rem;color:var(--text-2);font-family:var(--font-mono);word-break:break-all}.empty-state.compact{padding:.5rem 0;font-size:.8rem}.empty-state.compact:before{display:none}.version-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:12px 16px;margin-bottom:20px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border-2));border-radius:var(--r-md);background:var(--accent-dim);font-size:var(--text-sm);color:var(--text);box-shadow:var(--inset-hi)}.version-back{background:var(--surface);border:1px solid var(--border-2);border-radius:var(--r-sm);color:var(--accent);padding:6px 12px;font-size:var(--text-xs);font-weight:600;transition:background var(--d-fast),border-color var(--d-fast)}.version-back:hover{background:var(--surface-2);border-color:var(--accent)}.versions-section{margin-top:56px;padding-top:32px;border-top:1px solid var(--border)}.versions-list{list-style:none;display:flex;flex-direction:column;gap:0;position:relative;margin-left:12px;padding-left:20px;border-left:2px solid var(--border)}.versions-list>li{position:relative;padding-bottom:8px}.versions-list>li:before{content:"";position:absolute;left:-27px;top:18px;width:10px;height:10px;border-radius:50%;background:var(--surface);border:2px solid var(--border-3);transition:background var(--d-fast),border-color var(--d-fast)}.versions-list>li:has(.version-item.active):before{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-dim)}.version-item{width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:12px 14px;color:var(--text);display:flex;flex-direction:column;gap:4px;transition:background var(--d-fast),border-color var(--d-fast),transform var(--d-fast);box-shadow:var(--inset-hi)}.version-item:hover{background:var(--surface-2);border-color:var(--border-3);transform:translate(2px)}.version-item.active{background:var(--accent-dim);border-color:var(--accent)}.version-timestamp{font-size:var(--text-sm);font-weight:600;display:flex;align-items:center;gap:8px}.version-badge{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--bg);background:var(--accent);padding:2px 7px;border-radius:var(--r-pill)}.version-commit{font-size:var(--text-xs);color:var(--text-2);font-family:var(--font-mono)}.version-title{font-size:var(--text-sm);color:var(--text-2)}@media (max-width: 900px){.deps-layout,.deps-columns{grid-template-columns:1fr}.stats-row{grid-template-columns:1fr 1fr}.stats-row>.stat-card:first-child{grid-column:1 / -1}}@media (max-width: 768px){.page{padding:32px 20px 64px}.stats-row{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;z-index:100;transform:translate(-100%);transition:transform var(--d-normal) var(--ease-out),width var(--d-normal) var(--ease-out);box-shadow:var(--shadow-2)}.layout.sidebar-open .sidebar{transform:translate(0)}.sidebar.collapsed{width:var(--sidebar-w)}.home-hero-title{font-size:2.25rem}.home-hero-tagline{font-size:var(--text-md)}.empty-illo{width:92px;height:92px}.empty-illo svg{width:48px;height:48px}}.sidebar-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#07090f8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:99;border:none;padding:0;cursor:pointer;opacity:0;pointer-events:none;transition:opacity var(--d-normal) var(--ease)}[data-theme=light] .sidebar-backdrop{background:#0f172a66}@media (max-width: 768px){.layout.sidebar-open .sidebar-backdrop{display:block;opacity:1;pointer-events:auto}}.search-kbd{position:absolute;right:18px;top:50%;transform:translateY(-50%);font-family:var(--font-mono);font-size:.68rem;font-weight:500;color:var(--text-3);background:var(--surface-2);border:1px solid var(--border-2);border-radius:4px;padding:1px 6px;letter-spacing:.04em;pointer-events:none;-webkit-user-select:none;user-select:none}.search-input:focus+.search-kbd,.search-wrap:has(.search-input:not(:placeholder-shown)) .search-kbd{display:none}.nav-empty{display:flex;align-items:center;gap:8px}.nav-empty-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent-glow);animation:pulse-dot 2.4s ease-in-out infinite;flex-shrink:0}.skeleton{background:linear-gradient(90deg,var(--surface) 0%,var(--surface-2) 50%,var(--surface) 100%);background-size:200% 100%;border-radius:var(--r-sm);animation:shimmer 1.4s ease-in-out infinite}.skeleton-breadcrumb{width:30%;height:14px;margin-bottom:22px}.skeleton-title{width:60%;height:36px;border-radius:8px;margin-bottom:12px}.skeleton-subtitle{width:35%;height:14px;margin-bottom:36px}.skeleton-block{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}.skeleton-line{width:100%;height:14px}.skeleton-line.short{width:70%}.skeleton-code{width:100%;height:140px;border-radius:var(--r-md);margin-bottom:24px}.empty-rich{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 1rem 2rem;gap:8px;color:var(--text-3)}.empty-illo{width:120px;height:120px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:radial-gradient(circle,var(--accent-dim) 0%,transparent 70%);color:color-mix(in srgb,var(--accent) 70%,var(--text-3));margin-bottom:12px;position:relative}.empty-illo:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:1px dashed var(--border-3);pointer-events:none}.empty-illo svg{width:64px;height:64px}.empty-title{font-size:var(--text-lg);font-weight:600;color:var(--text);margin-bottom:2px;letter-spacing:-.01em}.empty-msg{font-size:var(--text-sm);color:var(--text-3);max-width:42ch;line-height:1.55}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub Dark
  Description: Dark theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-dark
  Current colors taken from GitHub's CSS
*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}
