*,*:before,*:after{box-sizing:border-box}:root{--sidebar-width: 260px;--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "Fira Code", "Cascadia Code", Consolas, "Courier New", monospace;--bg: #ffffff;--sidebar-bg: #f9fafb;--text: #111827;--text-muted: #6b7280;--link: #2563eb;--link-hover: #1d4ed8;--border: #e5e7eb;--active-bg: #eff6ff;--active-text: #1d4ed8;--heading: #030712;--card-hover: #f3f4f6;--inline-code-bg: #f3f4f6;--inline-code-text: #be185d}@media(prefers-color-scheme:dark){:root{--bg: #0d1117;--sidebar-bg: #161b22;--text: #c9d1d9;--text-muted: #8b949e;--link: #58a6ff;--link-hover: #79c0ff;--border: #30363d;--active-bg: #1c2128;--active-text: #58a6ff;--heading: #f0f6fc;--card-hover: #21262d;--inline-code-bg: #21262d;--inline-code-text: #ff7b72}}[data-theme=dark]{--bg: #0d1117;--sidebar-bg: #161b22;--text: #c9d1d9;--text-muted: #8b949e;--link: #58a6ff;--link-hover: #79c0ff;--border: #30363d;--active-bg: #1c2128;--active-text: #58a6ff;--heading: #f0f6fc;--card-hover: #21262d;--inline-code-bg: #21262d;--inline-code-text: #ff7b72}[data-theme=light]{--bg: #ffffff;--sidebar-bg: #f9fafb;--text: #111827;--text-muted: #6b7280;--link: #2563eb;--link-hover: #1d4ed8;--border: #e5e7eb;--active-bg: #eff6ff;--active-text: #1d4ed8;--heading: #030712;--card-hover: #f3f4f6;--inline-code-bg: #f3f4f6;--inline-code-text: #be185d}html,body{margin:0;padding:0;font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.6;font-size:16px}a{color:var(--link)}a:hover{color:var(--link-hover)}.layout{display:grid;grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;border-right:1px solid var(--border);background:var(--sidebar-bg)}.sidebar-inner{display:flex;flex-direction:column;height:100%;padding:1.5rem 1rem}.logo{display:block;flex-shrink:0;font-size:.95rem;font-weight:700;text-decoration:none;margin-bottom:2rem;letter-spacing:-.01em}.logo-primary{color:var(--heading)}.logo-secondary{color:var(--text-muted)}.nav-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0 0 .4rem;padding:0 .5rem}nav{flex:1}nav ul{list-style:none;margin:0;padding:0}.nav-link{display:block;padding:.35rem .5rem;border-radius:.375rem;text-decoration:none;font-size:.875rem;color:var(--text);transition:background .1s,color .1s}.nav-link:hover{background:var(--border);color:var(--text)}.nav-link.active{background:var(--active-bg);color:var(--active-text);font-weight:500}.sidebar-footer{flex-shrink:0;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.github-link{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-muted);text-decoration:none;padding:.25rem .5rem;border-radius:.375rem;transition:background .1s,color .1s}.github-link:hover{background:var(--border);color:var(--text)}.theme-toggle{display:flex;gap:.25rem;margin-top:.625rem}.theme-toggle button{flex:1;display:flex;align-items:center;justify-content:center;padding:.375rem;border:1px solid var(--border);border-radius:.375rem;background:none;color:var(--text-muted);cursor:pointer;transition:background .1s,color .1s,border-color .1s}.theme-toggle button:hover{background:var(--border);color:var(--text)}.theme-toggle button.active{background:var(--active-bg);color:var(--active-text);border-color:var(--active-text)}.content{padding:2.5rem 3rem 4rem;min-width:0;max-width:860px}.hero{margin-bottom:2.5rem}.hero h1{font-size:2rem;font-weight:700;color:var(--heading);margin:0 0 .75rem;letter-spacing:-.03em}.hero-desc{font-size:1.05rem;color:var(--text-muted);max-width:560px;margin:0}.section-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0 0 .75rem}.component-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.875rem}.component-card{display:block;padding:1.125rem 1.25rem;border:1px solid var(--border);border-radius:.5rem;text-decoration:none;color:inherit;background:var(--bg);transition:background .1s,border-color .1s}.component-card:hover{background:var(--card-hover);border-color:var(--text-muted);color:inherit}.component-card strong{display:block;font-size:.875rem;font-weight:600;color:var(--heading);margin-bottom:.25rem}.component-card p{font-size:.8125rem;color:var(--text-muted);margin:0;line-height:1.5}.prose h1{font-size:1.75rem;font-weight:700;color:var(--heading);letter-spacing:-.03em;margin:0 0 .375rem}.prose h2{font-size:1.125rem;font-weight:600;color:var(--heading);margin:2.25rem 0 .75rem;padding-bottom:.375rem;border-bottom:1px solid var(--border)}.prose h3{font-size:.9375rem;font-weight:600;color:var(--heading);margin:1.5rem 0 .5rem}.prose p{margin:.75rem 0}.prose ul,.prose ol{padding-left:1.5rem;margin:.75rem 0}.prose li{margin:.25rem 0}.prose a{text-decoration:underline;text-underline-offset:2px}.prose hr{border:none;border-top:1px solid var(--border);margin:2rem 0}.prose pre{margin:1.25rem 0;padding:1rem 1.25rem;border-radius:.5rem;overflow-x:auto;line-height:1.6}.prose code{font-family:var(--font-mono);font-size:.875em}.prose :not(pre)>code{background:var(--inline-code-bg);padding:.15em .4em;border-radius:.25rem;color:var(--inline-code-text);font-size:.875em}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .astro-code,:root:not([data-theme=light]) .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}}[data-theme=dark] .astro-code,[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}.prose table{width:100%;border-collapse:collapse;font-size:.875rem;margin:1.25rem 0}.prose th{text-align:left;padding:.5rem .875rem;border-bottom:2px solid var(--border);font-weight:600;color:var(--heading);white-space:nowrap}.prose td{padding:.5rem .875rem;border-bottom:1px solid var(--border);vertical-align:top}.prose tr:last-child td{border-bottom:none}@media(max-width:768px){.layout{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:none;border-bottom:1px solid var(--border)}.sidebar-inner{height:auto}.content{padding:1.5rem 1.25rem 3rem}.component-grid{grid-template-columns:1fr}}
