.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}:root{--bg: #0d0d0d;--surface: #111111;--surface-2: #161616;--green-50: #f5f5f5;--green-100: #e8e8e8;--green-300: #ccc;--green-400: #aaa;--green-500: #888;--green-600: #666;--green-700: #555;--green-900: #333;--text: #d4d4d4;--text-muted: #888;--text-dim: #555;--border: rgba(255, 255, 255, .07);--border-hover: rgba(255, 255, 255, .14);--font-display: "Space Grotesk", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-2xs: .625rem;--text-xs: .6875rem;--text-sm: .75rem;--text-base: .875rem;--text-md: .9375rem;--text-lg: 1rem;--text-xl: 1.125rem;--text-2xl: 1.25rem;--text-3xl: 1.5rem}html{overflow-x:hidden}body{background-color:var(--bg);color:var(--text);font-family:var(--font-body);font-size:1rem;line-height:1.6;overflow-x:hidden}::selection{background:#ffffff26;color:#fff}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:#444;border-radius:4px;border:2px solid var(--bg)}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.15}a{color:inherit;text-decoration:none}.docs-layout{display:flex;min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font-body)}.docs-sidebar{position:fixed;top:0;left:0;width:260px;height:100vh;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:100;overflow-y:auto}.sidebar-header{padding:1.25rem 1.25rem 1rem;border-bottom:1px solid var(--border);position:relative}.sidebar-header:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 120% 80% at 50% 0%,rgba(255,255,255,.03) 0%,transparent 70%);pointer-events:none}.sidebar-header:after{content:"";position:absolute;top:0;left:1rem;right:1rem;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);pointer-events:none}.sidebar-back{display:inline-flex;align-items:center;gap:.3rem;font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--green-600);margin-bottom:.85rem;transition:color .2s;padding:.1rem .35rem .1rem .15rem;border-radius:.25rem}.sidebar-back:hover{color:var(--green-300);background:#ffffff08}.sidebar-brand{display:flex;align-items:flex-start;gap:.75rem}.sidebar-brand__logo{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:34px;height:34px;background:#ffffff0a;border:1px solid var(--border);border-radius:.5rem;margin-top:1px}.sidebar-brand__logo img{filter:brightness(0) invert(1);opacity:.9;width:20px;height:20px}.sidebar-brand__title{font-family:var(--font-display);font-size:var(--text-md);font-weight:600;color:var(--green-50);line-height:1.2;letter-spacing:-.01em}.sidebar-brand__subtitle{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-dim);letter-spacing:.03em;margin-top:.15rem;padding:.1rem .4rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:999px}.sidebar-wip{display:flex;flex-direction:column;gap:.3rem;margin:.85rem;padding:.5rem .7rem;color:#fde68a;background:#fde04714;border:1px solid rgba(253,224,71,.15);border-radius:.4rem;font-family:var(--font-mono);font-size:var(--text-2xs);line-height:1.35}.sidebar-wip__title{display:inline-flex;align-items:center;gap:.35rem;font-weight:500}.sidebar-wip__sub{font-weight:400;opacity:.75;font-size:10px}.sidebar-nav{flex:1;padding:0 .85rem 1.25rem;overflow-y:auto}.sidebar-group{margin-top:.85rem}.sidebar-overview{display:block;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--green-400);text-transform:uppercase;letter-spacing:.06em;padding:.35rem .75rem;margin-bottom:.5rem;transition:color .15s}.sidebar-overview:hover{color:var(--green-100)}.sidebar-overview--active{color:var(--green-50);font-weight:500}.sidebar-group__label{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--green-400);text-transform:uppercase;letter-spacing:.05em;padding:.35rem .75rem;margin-bottom:.25rem;line-height:1.4;cursor:pointer;display:flex;align-items:flex-start;gap:.4rem;user-select:none;transition:color .15s;contain:layout style}.sidebar-group__label:hover{color:var(--green-100)}.sidebar-group__icon{flex-shrink:0;display:inline-flex;align-items:center;opacity:.55;transition:opacity .15s}.sidebar-group__icon-img{filter:brightness(0) invert(1);opacity:.55;transition:opacity .15s}.sidebar-group__label:hover .sidebar-group__icon,.sidebar-group__label:hover .sidebar-group__icon-img{opacity:.85}.sidebar-group__chevron{flex-shrink:0;width:10px;height:10px;transition:transform .2s;color:var(--text-dim)}.sidebar-group--collapsed .sidebar-group__chevron{transform:rotate(-90deg)}.sidebar-group__items{overflow:hidden;transition:max-height .25s ease,opacity .2s;will-change:max-height;backface-visibility:hidden}.sidebar-group--collapsed .sidebar-group__items{max-height:0!important;opacity:0}.sidebar-section{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em;padding:0 .75rem;margin-bottom:.5rem}.sidebar-list{list-style:none}.sidebar-item{margin-bottom:.15rem}.sidebar-link{display:block;padding:.5rem .75rem;border-radius:.4rem;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--green-300);letter-spacing:.01em;transition:background .15s,color .15s}.sidebar-link:hover{background:#ffffff0a;color:var(--green-50)}.sidebar-link--active{background:#ffffff0f;color:var(--green-50);font-weight:500}.sidebar-footer{padding:1rem 1.25rem;border-top:1px solid var(--border)}.sidebar-gh{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-dim);transition:color .2s}.sidebar-gh:hover{color:var(--green-300)}.sidebar-collapse-btn{position:absolute;top:.85rem;right:.85rem;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#ffffff0a;border:1px solid var(--border);border-radius:.35rem;color:var(--text-dim);cursor:pointer;transition:color .2s,background .2s;z-index:10}.sidebar-collapse-btn:hover{color:var(--green-50);background:#ffffff14}.sidebar-expand-btn{display:none;position:fixed;top:1rem;left:1rem;z-index:200;width:32px;height:32px;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--border);border-radius:.4rem;color:var(--green-50);cursor:pointer;transition:background .2s,border-color .2s}.sidebar-expand-btn:hover{background:#ffffff0f;border-color:var(--border-hover)}.sidebar-toggle{display:none;position:fixed;top:1rem;left:1rem;z-index:200;width:40px;height:40px;background:var(--surface);border:1px solid var(--border);border-radius:.4rem;color:var(--green-50);align-items:center;justify-content:center;cursor:pointer}.sidebar-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:90}.docs-main{margin-left:260px;flex:1;min-height:100vh;padding:2.5rem 3rem;max-width:800px;transition:margin-left .25s ease}.docs-layout--collapsed .docs-sidebar{transform:translate(-100%)}.docs-layout--collapsed .docs-main{margin-left:0}.docs-layout--collapsed .sidebar-expand-btn{display:flex}.docs-layout--collapsed .sidebar-collapse-btn{display:none}@media(max-width:900px){.docs-sidebar{transform:translate(-100%);transition:transform .25s ease}.docs-sidebar--open{transform:translate(0)}.sidebar-toggle{display:flex}.sidebar-expand-btn{display:none!important}.sidebar-overlay--visible{display:block}.docs-main{margin-left:0;padding:4rem 1.5rem 2rem;max-width:none}}.page-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--border)}.page-nav__link{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);padding:.5rem .75rem;border:1px solid var(--border);border-radius:.4rem;background:#ffffff05;transition:color .15s,background .15s,border-color .15s;max-width:48%}.page-nav__link:hover{color:var(--green-50);background:#ffffff0d;border-color:var(--border-hover)}.page-nav__link svg{flex-shrink:0;width:12px;height:12px}.page-nav__next{text-align:right}.docs-toc{display:none;position:fixed;top:6rem;right:max(1.5rem,calc((100vw - 1100px)/2));width:220px;max-height:calc(100vh - 8rem);overflow-y:auto;z-index:50}.docs-toc__title{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.75rem}.docs-toc__link{display:block;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-dim);border-left:2px solid rgba(255,255,255,.06);padding:.35rem 0 .35rem .7rem;transition:color .15s,border-color .15s;line-height:1.4}.docs-toc__link:hover{color:var(--green-50);border-left-color:#fff3}.docs-toc__link--active{color:var(--green-50);border-left-color:var(--green-600);font-weight:600}.docs-toc__link--h3{padding-left:1.1rem;font-size:var(--text-xs);color:var(--text-dim)}@media(max-width:1200px){.docs-toc{display:none!important}}.sidebar-lang{padding-top:.85rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.sidebar-lang__label{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--green-600);letter-spacing:.04em;white-space:nowrap}.sidebar-lang__toggle{display:flex;gap:0;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:999px;padding:2px}.sidebar-lang__btn{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-dim);padding:.2rem .55rem;border-radius:999px;border:none;background:transparent;transition:color .15s,background .15s;line-height:1.3}.sidebar-lang__btn:hover{color:var(--green-200);background:#ffffff0a}.sidebar-lang__btn--active{color:var(--green-50);background:#ffffff1a;font-weight:500;cursor:default}.sidebar-lang__btn--active:hover{background:#ffffff1a}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
