:root{--portal-header-height:76px}
.topbar{position:fixed;inset:0 0 auto;z-index:40;display:grid;grid-template-columns:var(--wiki-sidebar) 44px minmax(0,1fr);align-items:center;gap:16px;height:auto;min-height:76px;padding:12px 32px 12px 0;background:#fff;border-bottom:1px solid var(--wiki-line);backdrop-filter:none}
.header-brand{display:flex;align-items:center;justify-content:flex-start;padding:0 24px;text-decoration:none;height:44px}
.header-brand img{display:block;width:174px;max-width:100%;height:auto}
.topbar .menu-toggle{display:grid;place-items:center;width:44px;height:44px;min-width:44px;padding:0;color:#686b72;border:1px solid transparent;background:transparent;border-radius:8px}
.topbar .menu-toggle:hover{background:var(--angel-surface);border-color:var(--wiki-line);color:#111}
.topbar .menu-toggle svg{display:block;transition:transform .18s}
.topbar .menu-toggle[aria-expanded=false] svg{transform:rotate(180deg)}
.workspace{padding-top:var(--portal-header-height);transition:margin-left .18s}
.sidebar{inset:var(--portal-header-height) auto 0 0;height:calc(100dvh - var(--portal-header-height));padding:24px 18px 16px;overflow:hidden;transition:transform .18s,visibility .18s}
.sidebar nav{overflow-y:auto;overflow-x:hidden;min-height:0;flex:1;margin:0 -4px;padding:0 4px 18px;scrollbar-width:thin;scrollbar-color:#d3d5da transparent}
.sidebar-footer{flex-shrink:0;margin-top:0;padding:15px 9px 0;border-top:1px solid var(--wiki-line)}
.sidebar .nav-group{gap:3px;margin-bottom:24px}
.sidebar .nav-label{margin-bottom:6px;font-size:10px;letter-spacing:.09em}
.sidebar .nav-item{font-size:14px;line-height:1.45;min-height:40px;padding:10px 12px;border-radius:7px}
.nav-branch-row{display:flex;align-items:center;gap:2px;border-radius:7px}
.nav-branch-row>.nav-item{flex:1;min-width:0;padding-right:4px}
.nav-expander{display:grid;place-items:center;flex-shrink:0;width:36px;height:40px;padding:0;border:0;border-radius:7px;background:transparent;color:#7d8088}
.nav-expander:hover{background:var(--angel-surface);color:#111}
.nav-expander svg{transition:transform .16s}
.nav-expander[aria-expanded=true] svg{transform:rotate(90deg)}
.nav-branch.has-current>.nav-branch-row>.nav-item:not(.active){color:#111;font-weight:600}
.nav-children{margin:3px 0 8px 16px;padding-left:8px;border-left:1px solid #e4e6ea}
.sidebar .nav-child{font-size:13px;min-height:36px;padding:8px 10px;overflow-wrap:anywhere}
.nav-children .nav-item.active{background:#fff6cb}
.nav-expander:focus-visible,.menu-toggle:focus-visible{outline-offset:0}
.breadcrumb{display:block;min-width:0;overflow:visible;font-size:13px;line-height:1.5}
.breadcrumb ol{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 10px;list-style:none;padding:0;margin:0}
.breadcrumb li{display:flex;align-items:baseline;gap:10px;min-width:0;max-width:100%;overflow-wrap:anywhere}
.breadcrumb a{color:#777982;text-decoration:none;text-underline-offset:4px}
.breadcrumb a:hover{color:#111;text-decoration:underline}
.breadcrumb a:focus-visible{outline:2px solid #c39900;outline-offset:4px;border-radius:2px}
.breadcrumb-separator{color:#b5b7bd;flex-shrink:0}
.breadcrumb [aria-current]{color:#111}
.menu-overlay{top:var(--portal-header-height)}
.article h2,.chapter{scroll-margin-top:calc(var(--portal-header-height) + 24px)}
@media(min-width:761px){body.sidebar-collapsed .sidebar{transform:translateX(-100%);visibility:hidden}body.sidebar-collapsed .workspace{margin-left:0}}
@media(max-width:760px){
  .topbar{grid-template-columns:minmax(0,1fr) 44px;gap:8px 16px;min-height:76px;padding:12px 20px}
  .header-brand{padding:0;height:44px}
  .header-brand img{width:166px}
  .topbar .menu-toggle{grid-column:2;grid-row:1}
  .breadcrumb{grid-column:1/-1;font-size:12px;padding-top:5px}
  .breadcrumb ol{gap:4px 8px}
  .breadcrumb li{gap:8px}
  .sidebar{padding:20px 16px 16px;visibility:hidden}
  .sidebar.open{visibility:visible}
  .sidebar .nav-item{min-height:44px}
  .nav-expander{height:44px;width:40px}
  .sidebar-footer small{font-size:11px}
  .mobile-menu-open{overflow:hidden}
}
@media(prefers-reduced-motion:reduce){.sidebar,.workspace,.nav-expander svg,.topbar .menu-toggle svg{transition:none}}
@media print{.workspace{padding-top:0}}
