/* ---- Reset ---- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:#0d1117;color:#e6edf3;display:flex;flex-direction:column;min-height:100vh}

/* ---- Top Bar ---- */
.topbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:1rem;padding:.75rem 1.5rem;background:#161b22;border-bottom:1px solid #30363d;height:56px}
.logo{font-size:1.1rem;font-weight:600;color:#f0f6fc;text-decoration:none;white-space:nowrap}
#search{flex:1;max-width:400px;padding:.5rem .75rem;border:1px solid #30363d;border-radius:6px;background:#0d1117;color:#e6edf3;font-size:.875rem;outline:none}
#search:focus{border-color:#58a6ff}

/* ---- Layout ---- */
.layout{display:flex;flex:1}
.sidebar{width:260px;min-width:260px;background:#161b22;border-right:1px solid #30363d;padding:1rem 0;overflow-y:auto;height:calc(100vh - 56px);position:sticky;top:56px;font-size:.875rem}
.content{flex:1;padding:2rem 3rem;max-width:960px;line-height:1.7}

/* ---- Sidebar ---- */
.nav-tree{list-style:none;padding:0}
.nav-tree .cat{margin-bottom:.25rem}
.nav-tree .cat-label{display:block;padding:.4rem 1rem;font-weight:600;color:#8b949e;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em}
.nav-tree ul{list-style:none;padding:0}
.nav-tree ul li a{display:block;padding:.3rem 1rem .3rem 2rem;color:#c9d1d9;text-decoration:none;border-left:2px solid transparent;transition:all .15s}
.nav-tree ul li a:hover{background:#1c2128;color:#58a6ff}
.nav-tree ul li a.active{border-left-color:#58a6ff;color:#58a6ff;background:#1c2128}

/* ---- Content ---- */
.content h1{border-bottom:1px solid #30363d;padding-bottom:.5rem;margin-bottom:1.5rem;font-size:2rem;font-weight:600}
.content h2{margin-top:2rem;margin-bottom:.75rem;font-size:1.5rem;font-weight:600}
.content h3{margin-top:1.5rem;margin-bottom:.5rem;font-size:1.25rem;font-weight:600}
.content p{margin-bottom:1rem}
.content a{color:#58a6ff;text-decoration:none}
.content a:hover{text-decoration:underline}
.content ul,.content ol{margin-bottom:1rem;padding-left:1.5rem}
.content li{margin-bottom:.25rem}
.content code{background:#1c2128;padding:.15em .4em;border-radius:4px;font-size:.875em;font-family:'SF Mono','Fira Code','Monaco',monospace}
.content pre{background:#1c2128;padding:1rem;border-radius:8px;overflow-x:auto;margin-bottom:1rem;border:1px solid #30363d}
.content pre code{background:none;padding:0;font-size:.875rem;line-height:1.5}
.content blockquote{border-left:3px solid #30363d;padding:.5rem 1rem;margin:0 0 1rem;color:#8b949e}
.content table{width:100%;border-collapse:collapse;margin-bottom:1rem}
.content th,.content td{padding:.5rem .75rem;border:1px solid #30363d;text-align:left}
.content th{background:#1c2128;font-weight:600}
.content img{max-width:100%;border-radius:6px}

/* ---- Page List ---- */
.page-list{list-style:none;padding:0}
.page-list>li{margin-bottom:1rem}
.page-list>li>ul{list-style:none;padding:0;margin-top:.25rem}
.page-list>li>ul li{padding:.15rem 0}
.page-list a{color:#58a6ff;text-decoration:none}
.page-list a:hover{text-decoration:underline}
.page-list strong{color:#f0f6fc}

/* ---- Responsive ---- */
@media(max-width:768px){
  .sidebar{display:none}
  .content{padding:1.5rem}
}
