/* SkeinDB docs — dark/indigo, matches site theme */
:root{--bg:#09090b;--bg-card:#18181b;--bg-card-hover:#1f1f23;--border:#27272a;--border-accent:#3f3f46;--text:#fafafa;--text-secondary:#a1a1aa;--text-dim:#71717a;--accent:#6366f1;--accent-light:#818cf8;--green:#10b981;--amber:#f59e0b;--cyan:#06b6d4;--rose:#f43f5e;--purple:#a855f7;--radius:10px;--radius-sm:6px}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text);line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:var(--accent-light);text-decoration:none}
a:hover{color:var(--cyan)}
code{font-family:'JetBrains Mono',monospace;font-size:.88em;background:#111;border:1px solid var(--border);padding:.1em .4em;border-radius:5px}
pre{background:#0c0c0f;border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem;overflow:auto;margin:1rem 0;font-size:.85rem;line-height:1.55}
pre code{background:transparent;border:none;padding:0}
img{max-width:100%;border:1px solid var(--border);border-radius:var(--radius);margin:1rem 0}
hr{border:none;border-top:1px solid var(--border);margin:2rem 0}

/* ---- top nav ---- */
.topnav{position:sticky;top:0;z-index:100;background:rgba(9,9,11,.9);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);padding:0 2rem}
.topnav-inner{max-width:1600px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:56px;gap:1rem}
.nav-logo{font-size:1.1rem;font-weight:800;letter-spacing:-.02em;background:linear-gradient(135deg,var(--accent-light),var(--cyan));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;text-decoration:none}
.nav-links{display:flex;gap:1.4rem;align-items:center;flex-wrap:wrap}
.nav-links a{color:var(--text-secondary);font-size:.88rem;font-weight:500;transition:color .2s}
.nav-links a:hover,.nav-links a.active{color:var(--text)}
.nav-links a.nav-sponsor{color:#f472b6}
.nav-links a.nav-sponsor:hover{color:#f9a8d4}
.nav-links a.nav-docs-cta{color:var(--accent-light);font-weight:600;padding:4px 12px;border-radius:6px;background:rgba(99,102,241,.08);border:1px solid rgba(99,102,241,.2)}
.nav-links a.nav-docs-cta:hover,.nav-links a.nav-docs-cta.active{background:rgba(99,102,241,.15);border-color:rgba(99,102,241,.4);color:var(--accent-light)}
.nav-gh{display:inline-flex;align-items:center;gap:6px;background:var(--bg-card);border:1px solid var(--border);padding:6px 14px;border-radius:20px;color:var(--text);font-size:.82rem;font-weight:500}
.nav-gh svg{width:16px;height:16px;fill:currentColor}
.research-rail{border-bottom:1px solid var(--border);background:rgba(9,9,11,.72)}
.research-rail-inner{max-width:1600px;margin:0 auto;padding:.55rem 2rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.research-rail-label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin-right:.25rem}
.research-rail a{color:var(--text-secondary);font-size:.82rem;font-weight:500;padding:4px 10px;border-radius:999px;border:1px solid transparent;transition:color .2s,background .2s,border-color .2s}
.research-rail a:hover,.research-rail a.active{color:var(--text);background:rgba(99,102,241,.08);border-color:rgba(99,102,241,.18)}

@media(max-width:980px){.topnav{padding:0 1rem}.topnav-inner{height:auto;padding:.8rem 0;flex-wrap:wrap}.nav-links{width:100%;order:3;gap:1rem}.research-rail-inner{padding:.55rem 1rem}}

/* ---- shell ---- */
.docs-shell{display:grid;grid-template-columns:260px minmax(0,1fr) 220px;gap:2rem;max-width:1600px;margin:0 auto;padding:2rem 1.5rem 4rem}
@media(max-width:1280px){.docs-shell{grid-template-columns:240px minmax(0,1fr)}.toc{display:none}}
@media(max-width:900px){.docs-shell{grid-template-columns:1fr;padding:1rem}.sidebar{position:static;max-height:none}}

/* ---- sidebar ---- */
.sidebar{position:sticky;top:72px;align-self:start;max-height:calc(100vh - 80px);overflow-y:auto;padding-right:.5rem}
.sidebar-search input{width:100%;background:#0c0c0f;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.55rem .75rem;color:var(--text);font-size:.88rem;font-family:inherit;outline:none;transition:border-color .2s}
.sidebar-search input:focus{border-color:var(--accent)}
.sidebar-nav{margin-top:1rem}
.sidebar-nav .group-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin:1.25rem 0 .5rem}
.sidebar-nav .group-title:first-child{margin-top:0}
.sidebar-nav ul{list-style:none;margin:0;padding:0}
.sidebar-nav li a{display:block;padding:.35rem .6rem;border-radius:6px;color:var(--text-secondary);font-size:.89rem;line-height:1.35}
.sidebar-nav li a:hover{color:var(--text);background:rgba(99,102,241,.06)}
.sidebar-nav li a.active{color:var(--text);background:rgba(99,102,241,.15);border-left:2px solid var(--accent-light);padding-left:.5rem}
.sidebar-nav li.hidden{display:none}

/* ---- content ---- */
.breadcrumbs{font-size:.8rem;color:var(--text-dim);margin-bottom:1rem}
.breadcrumbs a{color:var(--text-secondary)}
.breadcrumbs span{padding:0 .25rem}
.doc-article h1{font-size:clamp(1.8rem,3.5vw,2.4rem);font-weight:800;letter-spacing:-.025em;margin:.25rem 0 1.25rem}
.doc-article h2{font-size:1.4rem;font-weight:700;letter-spacing:-.015em;margin:2rem 0 .75rem;padding-top:.75rem;border-top:1px solid var(--border);scroll-margin-top:72px}
.doc-article h2:first-of-type{border-top:none;padding-top:0}
.doc-article h3{font-size:1.1rem;font-weight:600;margin:1.5rem 0 .5rem;scroll-margin-top:72px}
.doc-article h4{font-size:.98rem;font-weight:600;margin:1rem 0 .4rem;color:var(--text)}
.doc-article p{color:var(--text-secondary);margin:.6rem 0}
.doc-article ul,.doc-article ol{margin:.5rem 0 .75rem 1.4rem;color:var(--text-secondary)}
.doc-article li{margin:.25rem 0}
.doc-article blockquote{border-left:3px solid var(--accent);background:rgba(99,102,241,.06);padding:.8rem 1rem;border-radius:0 var(--radius) var(--radius) 0;margin:1rem 0;color:var(--text)}
.doc-article table{width:100%;border-collapse:collapse;margin:1rem 0;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;font-size:.9rem}
.doc-article th,.doc-article td{text-align:left;padding:.55rem .85rem;border-bottom:1px solid var(--border);color:var(--text-secondary)}
.doc-article th{background:#111;color:var(--text);font-weight:600}
.doc-article tr:last-child td{border-bottom:none}
.doc-article a h2, .doc-article a h3{color:inherit}
.doc-article .headerlink{color:var(--text-dim);margin-left:.4em;text-decoration:none;opacity:0;transition:opacity .15s}
.doc-article h2:hover .headerlink,.doc-article h3:hover .headerlink{opacity:1}

/* callouts */
.doc-article .note,.doc-article .admonition{background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.3);border-radius:var(--radius);padding:.9rem 1.1rem;margin:1rem 0;color:var(--text)}

.edit-link{font-size:.82rem;color:var(--text-dim);margin-top:1rem}

/* ---- toc ---- */
.toc{position:sticky;top:72px;align-self:start;max-height:calc(100vh - 80px);overflow-y:auto;font-size:.82rem}
.toc-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin-bottom:.6rem}
.toc ul{list-style:none;padding-left:0;margin:0;border-left:1px solid var(--border)}
.toc ul ul{padding-left:.85rem;margin:.15rem 0}
.toc a{display:block;padding:.25rem .7rem;color:var(--text-secondary);border-left:2px solid transparent;margin-left:-1px}
.toc a:hover{color:var(--text)}
.toc a.active{color:var(--accent-light);border-left-color:var(--accent-light)}

/* ---- prev/next ---- */
.prev-next{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:3rem}
@media(max-width:680px){.prev-next{grid-template-columns:1fr}}
.prev-next a{display:block;padding:1rem 1.25rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);transition:border-color .2s,color .2s}
.prev-next a:hover{border-color:var(--accent);color:var(--text)}
.prev-next a span{display:block;font-size:.72rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.2rem}
.prev-next a.next{text-align:right}

/* ---- home/index grid ---- */
.docs-home-hero{padding:1.5rem 0 2rem;border-bottom:1px solid var(--border);margin-bottom:2rem}
.docs-home-hero h1{font-size:clamp(1.8rem,3.5vw,2.4rem);font-weight:800;letter-spacing:-.025em}
.docs-home-hero p{color:var(--text-secondary);max-width:70ch;margin-top:.75rem;font-size:1.02rem}
.home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin:1.5rem 0}
.home-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.25rem;transition:border-color .2s,background .2s}
.home-card:hover{border-color:var(--accent);background:var(--bg-card-hover)}
.home-card h3{font-size:1rem;font-weight:600;margin:.1rem 0 .35rem;color:var(--text)}
.home-card p{color:var(--text-secondary);font-size:.88rem;line-height:1.55}
.home-card .home-icon{font-size:1.25rem}

/* ---- docs footer ---- */
.docs-footer{max-width:1600px;margin:0 auto;padding:1.5rem 2rem;border-top:1px solid var(--border);color:var(--text-dim);font-size:.82rem;text-align:center}
.docs-footer a{color:var(--text-secondary)}

/* ---- pygments — minimal dark ---- */
.codehilite{background:#0c0c0f}
.codehilite .k,.codehilite .kd,.codehilite .kn,.codehilite .kr,.codehilite .kt{color:#c4b5fd}
.codehilite .s,.codehilite .s1,.codehilite .s2{color:#86efac}
.codehilite .c,.codehilite .c1,.codehilite .cm{color:#71717a;font-style:italic}
.codehilite .mi,.codehilite .mf{color:#fbbf24}
.codehilite .nf,.codehilite .nc{color:#60a5fa}
.codehilite .o{color:#f472b6}
