.sidebar nav{overflow-y:auto;min-height:0;padding-bottom:14px}.nav-group:not([hidden])~.nav-group{margin-top:12px}.nav-group summary{padding:8px 10px;border-radius:6px;cursor:pointer;color:var(--ink);font-size:14px;font-weight:600;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px}.nav-group summary::after{content:'›';font-size:14px;line-height:1;color:var(--ink-3);transform:rotate(0);transition:transform .15s}.nav-group[open] summary::after{transform:rotate(90deg)}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:hover{background:var(--surface-2)}.nav-links{display:grid;gap:2px}.sidebar .nav-item{width:100%}
@media(max-width:900px){.app-shell{grid-template-columns:clamp(172px,20vw,200px) minmax(0,1fr)}.sidebar{padding:18px 10px}.sidebar-head{margin:-18px -10px 20px;padding:0 14px}.sidebar-foot{margin-left:-10px;margin-right:-10px;margin-bottom:-18px;padding:10px 10px 10px 20px}.content{padding:20px}.topbar{padding:14px 18px}}
@media(max-width:640px){.app-shell{display:block}.sidebar{position:static;height:auto;padding:16px;border-right:0;border-bottom:1px solid var(--rule)}.sidebar-head{margin:-16px -16px 8px;padding:0 20px}.sidebar nav{max-height:340px}.sidebar-foot{padding:16px 16px 16px 26px;margin:16px -16px -16px}.topbar{position:static;align-items:flex-start;flex-wrap:wrap}.content{padding:16px}.sidebar .nav-item{padding:10px}}
/* 侧栏可随视窗压缩，但每一列必须完整显示在一行：
   标签一律不换行，宽度下限由 clamp() 的 172px 守住。 */
.sidebar .nav-item span,.nav-group summary,.local-badge{white-space:nowrap}
