/* Shared navigation geometry, with optical sizing for the untracked system font. */
.topbar{padding:18px 16px;min-height:0;align-items:center;grid-template-columns:minmax(280px,1.45fr) repeat(3,minmax(120px,1fr));background:linear-gradient(#0a0a0a66,transparent);backdrop-filter:none;transition:background .3s,backdrop-filter .3s}
.topbar.scrolled{background:#0a0a0aed;backdrop-filter:blur(16px)}
.topbar .brand,.topbar .desktop-nav a{font-family:Arial,Helvetica,sans-serif;font-size:16px;font-weight:600;line-height:normal;letter-spacing:0;padding:0;min-height:32px;transition:none}
.topbar .brand:hover{transform:none}.topbar .brand::after{content:none}
.topbar .desktop-nav a::after{left:0;right:0;bottom:0;width:auto;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.topbar .desktop-nav a:hover::after,.topbar .desktop-nav a:focus-visible::after,.topbar .desktop-nav a[aria-current]::after{width:auto;transform:scaleX(1)}
@media(max-width:1000px){.topbar{grid-template-columns:minmax(250px,1.3fr) repeat(3,minmax(90px,1fr))}.topbar .brand,.topbar .desktop-nav a{font-size:16px}}
@media(max-width:700px){.topbar{padding:16px 22px}.topbar .brand{font-size:14px}.menu-toggle{width:38px;height:38px;display:grid;align-content:center;gap:7px;padding:7px}}
@media(prefers-reduced-motion:reduce){.topbar,.topbar .desktop-nav a::after{transition:none}}
.chapter-nav{position:fixed;left:14px;top:50%;transform:translateY(-50%);z-index:94;display:flex;flex-direction:column;padding:8px 0;border:1px solid #ffffff12;border-radius:18px;background:#0a0a0a9c;backdrop-filter:blur(10px)}
.chapter-nav a{position:relative;display:grid;place-items:center;width:24px;height:22px}
.chapter-nav a::before{content:"";width:6px;height:6px;border-radius:50%;border:1px solid #ffffff40;transition:background .25s,box-shadow .25s}
.chapter-nav a[aria-current]::before{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 5px #c9a94a14}
.chapter-nav a span{position:absolute;left:34px;white-space:nowrap;font-size:11px;line-height:1;padding:10px 12px;background:#0a0a0ae8;color:#fff;opacity:0;visibility:hidden;transform:translateX(-4px);transition:opacity .2s,transform .2s,visibility .2s}
.chapter-nav a:hover span,.chapter-nav a:focus-visible span{opacity:1;visibility:visible;transform:none}
.chapter-nav a:hover::before{background:var(--accent)}
@media(max-width:1000px){.chapter-nav{display:none}}
