@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&family=Inter:wght@400;500&display=swap";:root{--bg:#0f1117;--bg-2:#161b22;--bg-3:#1c2128;--border:#21262d;--border-2:#30363d;--text:#e6edf3;--text-2:#8b949e;--text-3:#484f58;--accent:#3fb950;--accent-dim:#1a3d22;--accent-bg:#0d1f11;--yellow:#e3b341;--blue:#58a6ff;--font-mono:"JetBrains Mono",monospace;--font-ui:"Inter",system-ui,sans-serif;--topbar-h:52px;--sidebar-w:240px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-mono);font-size:14px;line-height:1.7;-webkit-font-smoothing:antialiased}.layout-wrapper{display:grid;grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:var(--topbar-h) 1fr;min-height:100vh}.topbar{grid-column:1/-1;height:var(--topbar-h);background:var(--bg-2);border-bottom:1px solid var(--border);padding:0 20px;gap:12px;position:sticky;top:0;z-index:100}.topbar,.topbar-logo{display:flex;align-items:center}.topbar-logo{gap:8px;text-decoration:none}.topbar-logo-icon{width:24px;height:24px;background:var(--accent-bg);border:1px solid var(--accent-dim);border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--accent)}.topbar-logo-text{font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--text)}.topbar-sep{color:var(--border-2);font-size:18px}.topbar-path{font-size:12px;color:var(--text-3);font-family:var(--font-mono)}.topbar-path-seg{color:var(--text-2)}.topbar-path-slash{color:var(--border-2)}.topbar-spacer{flex:1}.topbar-badge{font-size:11px;font-family:var(--font-mono);padding:2px 8px;background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent-dim);border-radius:4px}.sidebar{background:var(--bg-2);border-right:1px solid var(--border);overflow-y:auto;position:sticky;top:var(--topbar-h);height:calc(100vh - var(--topbar-h));scrollbar-width:thin;scrollbar-color:var(--border-2) transparent}.sidebar-inner{padding:16px 0 40px}.sidebar-section{margin-bottom:4px}.sidebar-label{display:flex;align-items:center;gap:8px;font-size:10px;font-family:var(--font-ui);letter-spacing:.1em;color:var(--text-3);text-transform:uppercase;font-weight:500;padding:14px 16px 6px}.sidebar-label-line{display:block;width:12px;height:1px;background:var(--border-2);flex-shrink:0}.sidebar-link{display:flex;align-items:center;gap:8px;padding:5px 16px;width:100%;font-size:12px;color:var(--text-3);font-family:var(--font-ui);border:none;border-left:2px solid transparent;background:transparent;cursor:pointer;text-align:left;transition:color .1s,background .1s}.sidebar-link:hover{color:var(--text-2);background:var(--bg-3)}.sidebar-link.active{color:var(--accent);border-left-color:var(--accent);background:var(--accent-bg)}.sidebar-link-indicator{width:4px;height:4px;border-radius:50%;background:var(--border-2);flex-shrink:0}.sidebar-link.active .sidebar-link-indicator{background:var(--accent)}.main-content{min-height:calc(100vh - var(--topbar-h));overflow-x:hidden}.markdown-body{max-width:760px;margin:0 auto;padding:48px 48px 96px}.markdown-body a{color:var(--blue);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .1s}.markdown-body a:hover{border-color:var(--blue)}.markdown-body h1{font-family:var(--font-ui);font-size:20px;font-weight:500;color:var(--text);margin:48px 0 16px;padding-bottom:12px;border-bottom:1px solid var(--border);scroll-margin-top:calc(var(--topbar-h) + 16px)}.markdown-body h1:first-child{margin-top:0}.markdown-body h2{font-size:14px;color:var(--text-2);margin:36px 0 12px}.markdown-body h2,.markdown-body h3{font-family:var(--font-ui);font-weight:500;scroll-margin-top:calc(var(--topbar-h) + 16px)}.markdown-body h3{font-size:13px;color:var(--text-3);margin:24px 0 8px}.markdown-body p{color:var(--text-2);font-size:13.5px;line-height:1.8;margin-bottom:12px}.markdown-body ol,.markdown-body ul{margin:0 0 16px;padding:0;list-style:none}.markdown-body li{position:relative;padding:3px 0 3px 20px;font-size:13.5px;color:var(--text-2)}.markdown-body ul li:before{content:"–";position:absolute;left:4px;color:var(--text-3)}.markdown-body ol{counter-reset:list}.markdown-body ol li{counter-increment:list}.markdown-body ol li:before{content:counter(list) ".";position:absolute;left:0;color:var(--text-3);font-size:12px}.markdown-body code{font-family:var(--font-mono);font-size:12px;background:var(--bg-3);color:var(--yellow);padding:1px 5px;border-radius:3px;border:1px solid var(--border-2)}.markdown-body .shiki,.markdown-body pre,.markdown-body pre.shiki{background:var(--bg-2)!important;border:1px solid var(--border)!important;border-radius:6px;padding:18px 20px;overflow-x:auto;margin:12px 0 20px;position:relative}.markdown-body .shiki code,.markdown-body pre code{background:transparent!important;border:none!important;padding:0!important;color:var(--text-2);font-size:13px;line-height:1.6;font-family:var(--font-mono)}.markdown-body .shiki .line{display:block}.markdown-body .shiki span{color:var(--shiki-dark,var(--shiki-light,inherit))}.markdown-body .shiki[data-language]:before,.markdown-body pre[data-language]:before{content:attr(data-language);position:absolute;top:8px;right:12px;font-size:10px;color:var(--text-3);letter-spacing:.08em;text-transform:uppercase;font-family:var(--font-mono)}.markdown-body hr{border:none;border-top:1px solid var(--border);margin:36px 0}.markdown-body table{width:100%;border-collapse:collapse;margin:12px 0 24px;font-size:13px}.markdown-body th{text-align:left;padding:7px 12px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);font-weight:500;font-family:var(--font-ui);border-bottom:1px solid var(--border-2)}.markdown-body td{padding:8px 12px;border-bottom:1px solid var(--border);color:var(--text-2);vertical-align:middle;font-size:13px}.markdown-body tbody tr:last-child td{border-bottom:none}.markdown-body tbody tr:hover td{background:var(--bg-3)}.page-progress{position:fixed;top:var(--topbar-h);left:0;right:0;height:2px;z-index:200}.page-progress-bar{height:100%;background:var(--accent);transition:width .08s linear}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:3px}
