*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#F7F5EF;--bg-warm:#F0EDE4;--bg-card:#FFFFFF;--bg-code:#1C1917;
  --gold:#B8860B;--gold-bright:#DAA520;--gold-pale:#FBF3DB;--gold-border:#E5C46B;
  --teal:#0D9488;--text:#1C1917;--text-mid:#57534E;--text-light:#A8A29E;
  --border:#E7E5E4;--border-warm:#D6D3CD;
  --serif:'Geist',system-ui,sans-serif;--sans:'Geist',system-ui,sans-serif;--mono:'JetBrains Mono','Fira Code',monospace;
  --nav-bg:rgba(247,245,239,0.85);--nav-border:rgba(214,211,205,0.4);--pill-bg:rgba(231,229,228,0.6);
}
@media (prefers-color-scheme:dark){:root{
  --bg:#0A0A0C;--bg-warm:#111114;--bg-card:#141418;--bg-code:#08080A;
  --gold:#DAA520;--gold-bright:#E5B84C;--gold-pale:#1A1608;--gold-border:#5C4A1E;
  --teal:#14B8A6;--text:#E8E8EC;--text-mid:#9898A3;--text-light:#5A5A65;
  --border:#2A2A32;--border-warm:#333340;
  --nav-bg:rgba(10,10,12,0.85);--nav-border:rgba(42,42,50,0.6);--pill-bg:rgba(42,42,50,0.6);
}}
html{scroll-behavior:smooth;background:var(--bg);color:var(--text);font-family:var(--sans);font-weight:300;line-height:1.7;-webkit-text-size-adjust:100%}
body{min-height:100vh;background:var(--bg);color:var(--text)}
a{color:var(--gold);text-decoration:none}

/* top nav */
.site-nav{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--nav-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--nav-border);padding-top:env(safe-area-inset-top,0)}
.nav-inner{max-width:1100px;margin:0 auto;padding:0.7rem 2rem;display:flex;align-items:center;justify-content:space-between}
.nav-logo{font-family:var(--serif);font-size:1.2rem;color:var(--text);letter-spacing:-0.01em}
.nav-logo .accent{color:var(--gold)}
.nav-right{display:flex;align-items:center;gap:8px}
.nav-pills{display:flex;background:var(--pill-bg);border-radius:100px;padding:3px}
.nav-pill{padding:0.35rem 1.1rem;font-size:0.82rem;font-weight:400;color:var(--text-mid);border-radius:100px;transition:all .25s ease}
.nav-pill:hover{color:var(--text)}
.nav-pill.active{background:var(--bg-card);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.06)}
.nav-key{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1.5px solid var(--gold-border);color:var(--gold);transition:all .25s ease;margin-left:6px}
.nav-key:hover{background:var(--gold);color:var(--bg);border-color:var(--gold)}

/* layout */
.docs-shell{max-width:1100px;margin:0 auto;display:flex;gap:3rem;padding:7rem 2rem 4rem;align-items:flex-start}
.docs-sidebar{width:216px;flex-shrink:0;position:sticky;top:6rem;max-height:calc(100vh - 8rem);overflow-y:auto}
.docs-main{flex:1;min-width:0;max-width:752px}

/* sidebar nav */
.docs-nav-home{display:block;font-family:var(--serif);font-size:1.05rem;color:var(--text);margin-bottom:1.4rem;font-weight:500}
.docs-nav-home.active,.docs-nav-home:hover{color:var(--gold)}
.docs-nav-group{font-family:var(--mono);font-size:0.66rem;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);margin:1.4rem 0 0.6rem}
.docs-nav ul{list-style:none}
.docs-nav li{margin:0.1rem 0}
.docs-nav li a{display:block;padding:0.32rem 0.7rem;font-size:0.87rem;color:var(--text-mid);border-radius:7px;border-left:2px solid transparent;transition:all .2s ease}
.docs-nav li a:hover{color:var(--text);background:var(--pill-bg)}
.docs-nav li a.active{color:var(--gold);background:var(--gold-pale);border-left-color:var(--gold);font-weight:500}

/* mobile docs menu toggle */
.docs-menu-btn{display:none;position:fixed;z-index:90;top:4.1rem;left:1rem;align-items:center;gap:0.4rem;padding:0.45rem 0.8rem;font-family:var(--sans);font-size:0.8rem;color:var(--text);background:var(--bg-card);border:1px solid var(--border-warm);border-radius:8px;cursor:pointer}

/* prose */
.prose{font-size:0.95rem;color:var(--text-mid)}
.prose h1{font-family:var(--serif);font-size:clamp(1.7rem,4vw,2.3rem);font-weight:500;line-height:1.15;color:var(--text);letter-spacing:-0.01em;margin-bottom:1.4rem}
.prose h2{font-family:var(--serif);font-size:1.4rem;font-weight:500;color:var(--text);margin:2.6rem 0 0.9rem;padding-top:1.4rem;border-top:1px solid var(--border);letter-spacing:-0.01em}
.prose h3{font-family:var(--serif);font-size:1.1rem;font-weight:600;color:var(--text);margin:1.8rem 0 0.6rem}
.prose h2 .hanchor,.prose h3 .hanchor{color:inherit}
.prose h2 .hanchor:hover,.prose h3 .hanchor:hover{color:var(--gold)}
.prose p{margin:0 0 1.1rem}
.prose strong{color:var(--text);font-weight:600}
.prose a{color:var(--gold);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;text-decoration-color:var(--gold-border)}
.prose a:hover{text-decoration-color:var(--gold)}
.prose ul,.prose ol{margin:0 0 1.1rem;padding-left:1.4rem}
.prose li{margin:0.35rem 0}
.prose li::marker{color:var(--gold)}
.prose code{font-family:var(--mono);font-size:0.84em;background:var(--gold-pale);border:1px solid var(--gold-border);color:var(--text);padding:0.08em 0.4em;border-radius:5px}
.prose pre{background:var(--bg-code);border:1px solid var(--border-warm);border-radius:12px;padding:1.1rem 1.25rem;overflow-x:auto;margin:0 0 1.3rem}
.prose pre code{background:none;border:none;color:#E8E8EC;padding:0;font-size:0.82rem;line-height:1.6}
.prose blockquote{border-left:3px solid var(--gold-border);background:var(--bg-warm);padding:0.7rem 1.1rem;margin:0 0 1.2rem;border-radius:0 8px 8px 0;color:var(--text-mid)}
.prose blockquote p:last-child{margin-bottom:0}
.prose hr{border:none;border-top:1px solid var(--border);margin:2.2rem 0}
.prose img{max-width:100%;border-radius:10px}
.table-wrap{overflow-x:auto;margin:0 0 1.3rem;border:1px solid var(--border);border-radius:10px}
.prose table{width:100%;border-collapse:collapse;font-size:0.85rem}
.prose th,.prose td{padding:0.6rem 0.85rem;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}
.prose th{background:var(--bg-warm);color:var(--text);font-weight:600;white-space:nowrap}
.prose tr:last-child td{border-bottom:none}
.prose td code{white-space:nowrap}

/* docs home cards */
.docs-home-label{font-family:var(--mono);font-size:0.7rem;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);margin-bottom:0.75rem}
.docs-home-title{font-family:var(--serif);font-size:clamp(1.9rem,4vw,2.5rem);font-weight:500;color:var(--text);margin-bottom:0.6rem;letter-spacing:-0.01em}
.docs-home-desc{font-size:0.98rem;color:var(--text-mid);margin-bottom:2.4rem;max-width:42rem}
.docs-group-h{font-family:var(--mono);font-size:0.68rem;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);margin:2rem 0 0.9rem}
.docs-cards{display:grid;grid-template-columns:1fr 1fr;gap:0.9rem}
.docs-card{display:block;padding:1.2rem 1.35rem;background:var(--bg-card);border:1px solid var(--border);border-radius:13px;transition:all .22s ease}
.docs-card:hover{border-color:var(--gold-border);transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,.06)}
.docs-card-t{font-family:var(--serif);font-size:1.05rem;font-weight:500;color:var(--text);margin-bottom:0.3rem}
.docs-card-d{font-size:0.85rem;color:var(--text-mid);line-height:1.55}

/* footer */
footer{border-top:1px solid var(--border);padding:4rem 2rem 3rem;max-width:1100px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:0.85rem;text-align:center}
.footer-left{font-family:var(--serif);font-size:1rem;color:var(--text-light)}
.footer-madeby{display:inline-flex;align-items:center;gap:0.45rem;text-decoration:none;opacity:0.7;transition:opacity .25s ease}
.footer-madeby:hover{opacity:1}
.footer-madeby span{font-family:var(--sans);font-size:0.78rem;font-weight:300;color:var(--text-light);letter-spacing:0.01em}
.footer-madeby-logo{height:16px;width:auto;display:block}
@media (prefers-color-scheme:dark){.footer-madeby-logo{filter:invert(1)}}

@media (max-width:860px){
  .docs-shell{flex-direction:column;gap:0;padding:6.5rem 1.25rem 3rem}
  .docs-menu-btn{display:flex}
  .docs-sidebar{position:fixed;top:0;left:0;bottom:0;width:270px;max-height:none;background:var(--bg-card);border-right:1px solid var(--border);padding:5rem 1.25rem 2rem;transform:translateX(-100%);transition:transform .25s ease;z-index:95;box-shadow:0 0 40px rgba(0,0,0,.15)}
  .docs-sidebar.open{transform:translateX(0)}
  .docs-main{max-width:100%}
  .docs-cards{grid-template-columns:1fr}
  .nav-pills{display:none}
}