@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap');
        :root {
            --sidebar-w: 260px;
            --topbar-h: 56px;
            --accent: #38bdf8;
            --bg: #0f172a;
            --bg2: #0d1526;
            --surface: #1a2744;
            --border: rgba(255,255,255,0.08);
        }
        * { box-sizing: border-box; }
        html {
            scroll-behavior: smooth;
            scroll-padding-top: calc(var(--topbar-h) + 18px);
        }
        body {
            font-family: 'Inter', sans-serif;
            background: var(--bg);
            color: #e2e8f0;
            margin: 0;
        }
        #topbar {
            position: fixed; top: 0; left: 0; right: 0;
            height: var(--topbar-h);
            background: rgba(13,21,38,0.92);
            backdrop-filter: blur(12px);
            border-bottom: 1px solid var(--border);
            z-index: 100;
            display: flex; align-items: center; justify-content: space-between;
            padding: 0 1.25rem;
        }
        #sidebar {
            position: fixed;
            top: var(--topbar-h); left: 0; bottom: 0;
            width: var(--sidebar-w);
            background: var(--bg2);
            border-right: 1px solid var(--border);
            overflow-y: auto;
            z-index: 90;
            padding: 1.25rem 0 2rem;
            transition: transform 0.25s ease;
        }
        #sidebar::-webkit-scrollbar { width: 4px; }
        #sidebar::-webkit-scrollbar-thumb { background: #1e3a5f; border-radius: 4px; }
        #content {
            margin-left: var(--sidebar-w);
            margin-top: var(--topbar-h);
            min-height: calc(100vh - var(--topbar-h));
            max-width: 900px;
            padding: 2.5rem 2rem 4rem;
        }
        .nav-section-label {
            font-size: 0.68rem;
            font-weight: 700;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: #475569;
            padding: 0.9rem 1.5rem 0.35rem;
        }
        .nav-section { padding: 0 0.75rem; margin-bottom: 0.25rem; }
        .nav-link {
            display: flex; align-items: center; gap: 0.5rem;
            padding: 0.38rem 0.75rem;
            border-radius: 0.4rem;
            color: #94a3b8;
            font-size: 0.82rem;
            font-weight: 500;
            text-decoration: none;
            transition: background 0.15s, color 0.15s;
        }
        .nav-link:hover { background: rgba(56,189,248,0.08); color: #e2e8f0; }
        .nav-link.active {
            background: rgba(56,189,248,0.14);
            color: var(--accent);
            font-weight: 700;
            box-shadow: inset 3px 0 0 var(--accent);
        }
        .nav-link.gs { color: #64748b; font-size: 0.78rem; }
        .nav-link.gs:hover { color: #94a3b8; }
        [id] { scroll-margin-top: calc(var(--topbar-h) + 18px); }
        /* Content typography */
        .doc-h1 { font-size: 2rem; font-weight: 800; letter-spacing: -0.02em; color: #f1f5f9; margin: 0 0 0.5rem; line-height: 1.2; }
        .doc-h2 { font-size: 1.3rem; font-weight: 700; color: #f1f5f9; margin: 3rem 0 0.75rem; padding-top: 2.5rem; border-top: 1px solid var(--border); }
        .doc-h3 { font-size: 0.95rem; font-weight: 600; color: #cbd5e1; margin: 1.5rem 0 0.5rem; }
        .doc-p { color: #94a3b8; font-size: 0.9rem; line-height: 1.75; margin: 0 0 1rem; }
        pre {
            background: var(--bg2);
            border: 1px solid #1e3a5f;
            border-radius: 0.6rem;
            padding: 1.1rem 1.25rem;
            overflow-x: auto;
            margin: 0.75rem 0 1.25rem;
            font-size: 0.8rem;
            line-height: 1.65;
        }
        code { font-family: 'JetBrains Mono', 'Fira Code', monospace; color: #e2e8f0; }
        p code, li code, td code {
            background: rgba(30,58,95,0.6);
            border: 1px solid #1e3a5f;
            border-radius: 0.25rem;
            padding: 0.1em 0.45em;
            font-size: 0.82em;
            color: #7dd3fc;
        }
        .code-comment { color: #546e8a; }
        .code-keyword { color: #c084fc; }
        .code-type    { color: #fcd34d; }
        .code-string  { color: #86efac; }
        .code-func    { color: #67e8f9; }
        .code-num     { color: #fb923c; }
        /* Method signature box */
        .method-sig {
            background: rgba(56,189,248,0.05);
            border: 1px solid rgba(56,189,248,0.2);
            border-left: 3px solid var(--accent);
            border-radius: 0.5rem;
            padding: 0.7rem 1rem;
            margin: 1rem 0 0.5rem;
            font-family: 'JetBrains Mono', monospace;
            font-size: 0.82rem;
            color: #e2e8f0;
        }
        /* Enum value row */
        .enum-row { border-bottom: 1px solid rgba(255,255,255,0.05); }
        .enum-row:last-child { border-bottom: none; }
        .callout {
            border-radius: 0.5rem;
            padding: 0.9rem 1rem;
            margin: 1rem 0;
            font-size: 0.85rem;
            line-height: 1.6;
        }
        .callout-info  { background: rgba(14,165,233,0.08); border-left: 3px solid #0ea5e9; color: #7dd3fc; }
        .callout-warn  { background: rgba(245,158,11,0.08); border-left: 3px solid #f59e0b; color: #fcd34d; }
        .badge-ns {
            display: inline-block; padding: 0.1em 0.55em;
            border-radius: 0.25rem; font-size: 0.72rem; font-weight: 600;
            background: rgba(129,140,248,0.12); border: 1px solid rgba(129,140,248,0.3); color: #a5b4fc;
            font-family: monospace; margin-left: 0.5rem;
        }
        #sidebarOverlay {
            display: none; position: fixed; inset: 0;
            background: rgba(0,0,0,0.55); z-index: 80;
        }
        @media (max-width: 1023px) {
            #sidebar { transform: translateX(-100%); }
            #sidebar.open { transform: translateX(0); }
            #sidebarOverlay.open { display: block; }
            #content { margin-left: 0; padding: 1.5rem 1rem 3rem; }
        }
