@import url("https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500;600;700;800;900&display=swap");@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--g-bg:#0b0b0c;--g-bg-2:#111113;--g-bg-3:#161618;--g-surface:#1a1a1d;--g-text:#f5f5f7;--g-muted:#9a9aa3;--g-dim:#6a6a73;--g-border:rgba(255,255,255,0.08);--g-border-strong:rgba(255,255,255,0.16);--g-accent:#13e47f;--g-accent-dim:rgba(19,228,127,0.12);--g-warn:#f5a623;--g-warn-dim:rgba(245,166,35,0.12);--g-info:#4aa3ff;--g-info-dim:rgba(74,163,255,0.12);--g-mono:"JetBrains Mono","SF Mono",Menlo,Consolas,monospace}html{scroll-behavior:smooth;scroll-padding-top:80px}body{background:var(--g-bg);color:var(--g-text);font-family:Instrument Sans,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;min-height:100dvh}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse 800px 600px at 85% -10%,rgba(19,228,127,.06) 0,transparent 60%),radial-gradient(ellipse 600px 400px at 10% 110%,rgba(74,163,255,.04) 0,transparent 60%);z-index:0}a{color:var(--g-accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}.g-topbar{position:sticky;top:0;z-index:50;background:rgba(11,11,12,.75);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--g-border)}.g-topbar-inner{max-width:1400px;margin:0 auto;padding:.85rem 1.5rem;display:flex;align-items:center;gap:1.5rem}.g-back{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .8rem;border:1px solid var(--g-border);border-radius:8px;color:var(--g-muted);font-size:.88rem;font-weight:500;transition:border-color .2s ease,color .2s ease,background-color .2s ease}.g-back:hover{text-decoration:none;color:var(--g-text);border-color:var(--g-border-strong);background:var(--g-bg-3)}.g-back svg{width:14px;height:14px}.g-brand{display:flex;align-items:baseline;gap:.55rem;font-weight:600}.g-brand-name{font-weight:800;letter-spacing:.02em}.g-brand-name:before{content:"";display:inline-block;width:8px;height:8px;background:var(--g-accent);border-radius:2px;margin-right:.55rem;transform:translateY(-1px);box-shadow:0 0 12px rgba(19,228,127,.55)}.g-brand-sep{color:var(--g-dim)}.g-brand-section{color:var(--g-muted);font-weight:500;font-size:.95rem}.g-topbar-actions{margin-left:auto}.g-search,.g-topbar-actions{display:flex;align-items:center}.g-search{position:relative;background:var(--g-bg-2);border:1px solid var(--g-border);border-radius:10px;padding:0 .85rem;width:clamp(220px,32vw,380px);transition:border-color .2s ease,background-color .2s ease}.g-search:focus-within{border-color:var(--g-accent);background:var(--g-bg-3)}.g-search svg{width:15px;height:15px;color:var(--g-muted);flex-shrink:0}.g-search input{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:none;outline:none;background:transparent;color:var(--g-text);font-family:inherit;font-size:.92rem;padding:.6rem .7rem;width:100%}.g-search input::-moz-placeholder{color:var(--g-dim)}.g-search input::placeholder{color:var(--g-dim)}.g-search-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border:1px solid var(--g-border-strong);border-radius:4px;background:rgba(255,255,255,.04);color:var(--g-muted);font-family:var(--g-mono);font-size:.72rem;font-weight:600;flex-shrink:0}.g-search:focus-within .g-search-kbd{display:none}.g-layout{position:relative;z-index:1;max-width:1400px;margin:0 auto;display:grid;grid-template-columns:280px 1fr;gap:3rem;padding:2.5rem 1.5rem 4rem}.g-sidebar{position:sticky;top:80px;align-self:start;max-height:calc(100vh - 100px);overflow-y:auto;padding-right:.5rem}.g-sidebar::-webkit-scrollbar{width:6px}.g-sidebar::-webkit-scrollbar-track{background:transparent}.g-sidebar::-webkit-scrollbar-thumb{background:var(--g-border-strong);border-radius:3px}.g-toc-section{margin-bottom:1.6rem}.g-toc-heading{font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--g-dim);margin-bottom:.6rem;padding-left:.85rem}.g-toc ul{list-style:none;display:flex;flex-direction:column;gap:2px}.g-toc a{display:block;padding:.45rem .85rem;border-radius:6px;color:var(--g-muted);font-size:.92rem;font-weight:500;border-left:2px solid transparent;transition:color .2s ease,background-color .2s ease,border-color .2s ease}.g-toc a:hover{text-decoration:none;color:var(--g-text);background:var(--g-bg-2)}.g-toc a.is-active{color:var(--g-accent);background:var(--g-accent-dim);border-left-color:var(--g-accent)}.g-main{min-width:0;max-width:820px}.g-hero{padding:1rem 0 2.5rem;border-bottom:1px solid var(--g-border);margin-bottom:2.5rem}.g-eyebrow{display:inline-flex;align-items:center;gap:.7rem;margin-bottom:1rem;padding:.4rem .85rem .4rem .95rem;border:1px solid var(--g-border-strong);border-radius:999px;background:var(--g-bg-2)}.g-eyebrow-label{font-size:.68rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--g-muted);line-height:1}.g-eyebrow-logo{display:block;height:.95rem;width:auto;-o-object-fit:contain;object-fit:contain;mix-blend-mode:screen;filter:drop-shadow(0 1px 6px rgba(255,90,30,.35))}.g-hero-title{font-size:clamp(2.2rem,4.4vw,3.4rem);font-weight:900;line-height:1.05;letter-spacing:-.02em;margin-bottom:.9rem}.g-accent{color:var(--g-accent)}.g-hero-sub{font-size:1.08rem;color:var(--g-muted);max-width:64ch;line-height:1.6;margin-bottom:1.4rem}.g-hero-meta{display:flex;gap:.6rem;flex-wrap:wrap}.g-pill{display:inline-flex;align-items:center;padding:.35rem .75rem;border-radius:999px;background:var(--g-accent-dim);border:1px solid var(--g-accent);color:var(--g-accent);font-size:.78rem;font-weight:700;letter-spacing:.05em}.g-pill.g-pill-muted{background:var(--g-bg-2);border-color:var(--g-border);color:var(--g-muted)}.g-doc{padding:2rem 0 1rem;border-bottom:1px solid var(--g-border)}.g-doc:last-of-type{border-bottom:none}.g-doc-header{margin-bottom:1.2rem}.g-doc-sub{color:var(--g-muted);font-size:.95rem;margin-top:.3rem}.g-doc h2{font-size:clamp(1.55rem,2.4vw,1.95rem);font-weight:800;letter-spacing:-.01em;position:relative;display:flex;align-items:center;gap:.4rem}.g-doc h2,.g-doc h3{scroll-margin-top:80px}.g-doc h3{font-size:1.18rem;font-weight:700;margin-top:1.8rem;margin-bottom:.7rem;color:var(--g-text)}.g-doc h4{font-size:1rem;font-weight:700;margin-bottom:.4rem}.g-doc p{color:var(--g-text);margin-bottom:1rem;font-size:1rem}.g-doc p strong{color:var(--g-text);font-weight:700}.g-doc .g-callout code,.g-doc li code,.g-doc p code{font-family:var(--g-mono);font-size:.88em;padding:.12em .4em;background:var(--g-bg-3);border:1px solid var(--g-border);border-radius:4px;color:var(--g-accent);white-space:nowrap}.g-anchor{color:var(--g-dim);font-weight:700;font-size:.9em;margin-right:.1rem;opacity:0;transition:opacity .15s ease,color .15s ease}.g-anchor:focus,.g-doc h2:hover .g-anchor{opacity:1;color:var(--g-accent);text-decoration:none}.g-list{list-style:none;display:flex;flex-direction:column;gap:.55rem;margin:.4rem 0 1.2rem;padding-left:1rem}.g-list li{position:relative;padding-left:1.1rem;color:var(--g-text);font-size:.98rem;line-height:1.55}.g-list li:before{content:"";position:absolute;left:0;top:.7em;width:6px;height:6px;border-radius:50%;background:var(--g-accent);opacity:.6}.g-list-compact li{font-size:.92rem;padding-left:1rem}.g-list-compact li:before{width:4px;height:4px;top:.78em}.g-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.9rem;margin:.6rem 0 1.4rem}.g-cards-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.g-card{background:var(--g-bg-2);border:1px solid var(--g-border);border-radius:12px;padding:1rem 1.1rem;transition:border-color .2s ease,transform .2s ease}.g-card:hover{border-color:var(--g-border-strong);transform:translateY(-2px)}.g-card h4{color:var(--g-accent);font-size:.95rem;font-weight:700;margin-bottom:.4rem;letter-spacing:.01em}.g-card p{color:var(--g-muted);font-size:.9rem;line-height:1.55;margin:0}.g-callout,.g-card p strong{color:var(--g-text)}.g-callout{position:relative;display:block;margin:.8rem 0 1.4rem;padding:.85rem 1.1rem .85rem 2.6rem;border:1px solid var(--g-border);border-left-width:3px;border-radius:8px;background:var(--g-bg-2);font-size:.94rem;line-height:1.55}.g-callout:before{position:absolute;left:.95rem;top:.85rem;font-family:var(--g-mono);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.g-callout-info{border-left-color:var(--g-info);background:var(--g-info-dim)}.g-callout-info:before{content:"i";color:var(--g-info);font-weight:800;font-size:1rem;top:.65rem}.g-callout-tip{border-left-color:var(--g-accent);background:var(--g-accent-dim)}.g-callout-tip:before{content:"✓";color:var(--g-accent);font-size:1rem;top:.65rem}.g-callout-warn{border-left-color:var(--g-warn);background:var(--g-warn-dim)}.g-callout-warn:before{content:"!";color:var(--g-warn);font-size:1rem;font-weight:800;top:.65rem}.g-callout strong{color:var(--g-text)}.g-table-wrap{margin:.4rem 0 1.4rem;overflow-x:auto;border:1px solid var(--g-border);border-radius:10px;background:var(--g-bg-2)}.g-table{width:100%;border-collapse:collapse;font-size:.94rem}.g-table td,.g-table th{padding:.7rem 1rem;text-align:left;border-bottom:1px solid var(--g-border)}.g-table tr:last-child td{border-bottom:none}.g-table th{background:var(--g-bg-3);color:var(--g-muted);font-weight:700;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.g-table td:first-child{font-weight:600}.g-table .g-or{color:var(--g-dim);font-size:.8em;margin:0 .2rem}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 8px;background:var(--g-bg-3);border:solid var(--g-border-strong);border-width:1px 1px 2px;border-radius:5px;color:var(--g-text);font-family:var(--g-mono);font-size:.78rem;font-weight:700;letter-spacing:.02em;white-space:nowrap;box-shadow:inset 0 1px 0 rgba(0,0,0,.3)}.g-details{border:1px solid var(--g-border);border-radius:10px;background:var(--g-bg-2);margin-bottom:.6rem;overflow:hidden;transition:border-color .2s ease}.g-details:hover,.g-details[open]{border-color:var(--g-border-strong)}.g-details summary{cursor:pointer;padding:.85rem 1.1rem;font-weight:700;font-size:.98rem;color:var(--g-text);list-style:none;display:flex;align-items:center;gap:.5rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.g-details summary::-webkit-details-marker{display:none}.g-details summary:before{content:"+";display:inline-block;width:18px;height:18px;text-align:center;line-height:18px;border-radius:4px;background:var(--g-bg-3);border:1px solid var(--g-border);color:var(--g-accent);font-family:var(--g-mono);font-size:.85rem;font-weight:800;flex-shrink:0;transition:transform .2s ease}.g-details[open] summary:before{content:"−"}.g-details summary:hover{color:var(--g-accent)}.g-details[open]>.g-list,.g-details[open]>p{margin:0;padding:0 1.4rem 1.1rem}.g-detail-note{margin:0;padding:0 1.4rem 1.1rem!important;color:var(--g-muted);font-style:italic;font-size:.92rem}.g-no-results{padding:3rem 1rem;text-align:center;color:var(--g-muted);border:1px dashed var(--g-border);border-radius:12px;margin:2rem 0}.g-footer{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--g-border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:.88rem}.g-footer,.g-footer-link{color:var(--g-muted)}.g-footer-link:hover{color:var(--g-accent)}@media (max-width:1180px){.g-layout{grid-template-columns:240px 1fr;gap:2rem;padding-left:1rem;padding-right:1rem}}@media (max-width:920px){.g-layout{grid-template-columns:1fr;gap:1.5rem}.g-sidebar{position:relative;top:auto;max-height:none;overflow-y:visible;border-bottom:1px solid var(--g-border);padding-bottom:1rem}.g-toc ul{flex-direction:row;flex-wrap:wrap;gap:.3rem}.g-toc a{padding:.4rem .7rem;font-size:.86rem;border-left:none}.g-toc a.is-active{border-left:none;border:1px solid var(--g-accent)}.g-main{max-width:100%}}@media (max-width:640px){.g-topbar-inner{padding:.7rem 1rem;gap:.7rem}.g-search{width:100%}.g-brand-section{display:none}.g-search-kbd{display:none!important}.g-layout{padding:1.5rem 1rem 3rem}.g-hero-title{font-size:2rem}}