:root{--chapnav-accent:var(--ink-1);--chapnav-accent-soft:color-mix(in oklch,var(--chapnav-accent) 7%,transparent)}.app:has(.chapnav){overflow-x:clip}.chapnav-root{scroll-margin-top:var(--chapnav-topbar-h,58px)}.chapnav{position:sticky;top:var(--chapnav-topbar-h,58px);z-index:15;margin:8px 0 0;padding:10px 12px 8px;background:color-mix(in oklch,var(--paper-0) 94%,white);border-bottom:1px solid var(--rule);box-shadow:0 6px 12px -10px rgba(0,0,0,.25)}.chapnav-bar{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;align-items:stretch}.chapnav-arrow{display:grid;place-items:center;min-height:44px;border:1px solid var(--rule);border-radius:8px;background:var(--surface,#fff);color:var(--chapnav-accent);font-size:26px;line-height:1;cursor:pointer}.chapnav-arrow:hover:not(:disabled){border-color:var(--chapnav-accent);background:var(--chapnav-accent-soft)}.chapnav-arrow:disabled{opacity:.35;cursor:default}.chapnav-current{display:flex;align-items:center;gap:10px;min-width:0;min-height:44px;padding:6px 12px;border:1px solid var(--chapnav-accent);border-radius:8px;background:var(--surface,#fff);color:var(--chapnav-accent);font:inherit;text-align:left;cursor:pointer}.chapnav-current:hover,.chapnav-current[aria-expanded=true]{background:var(--chapnav-accent-soft)}.chapnav-current .scen-code{flex-shrink:0}.chapnav-name{flex:1;min-width:0;font-weight:700;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapnav-pos{flex-shrink:0;font-size:13px;color:var(--ink-3);font-variant-numeric:tabular-nums}.chapnav-caret{margin-left:6px;color:var(--chapnav-accent)}.chapnav-current[aria-expanded=true] .chapnav-caret{display:inline-block;transform:rotate(180deg)}.chapnav-rail{display:flex;gap:6px;margin-top:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.chapnav-rail::-webkit-scrollbar{display:none}.chapnav-chip{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;max-width:220px;padding:4px 10px;border:1px solid var(--rule);border-radius:999px;background:transparent;color:var(--ink-2);font:inherit;font-size:12.5px;cursor:pointer;white-space:nowrap}.chapnav-chip span{overflow:hidden;text-overflow:ellipsis}.chapnav-chip strong{color:var(--chapnav-accent)}.chapnav-chip:hover,.chapnav-chip[aria-current=true]{border-color:var(--chapnav-accent)}.chapnav-chip[aria-current=true]{background:var(--chapnav-accent);color:#fff}.chapnav-chip[aria-current=true] strong{color:#fff}.chapnav-picker{position:absolute;left:0;right:0;top:calc(100% - 4px);max-height:min(70vh,560px);overflow-y:auto;padding:14px;background:var(--surface,#fff);border:1px solid var(--chapnav-accent);border-radius:10px;box-shadow:0 18px 40px -18px rgba(0,0,0,.35)}.chapnav-picker-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:6px;margin-bottom:10px}.chapnav-group{margin:12px 0 6px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--chapnav-group,var(--amber-ink))}.chapnav-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:6px}.chapnav-option{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 10px;border:1px solid var(--rule);border-radius:8px;background:transparent;color:var(--ink);font:inherit;font-size:14px;text-align:left;cursor:pointer}.chapnav-option:focus-visible,.chapnav-option:hover{border-color:var(--chapnav-accent);background:var(--chapnav-accent-soft)}.chapnav-option[aria-current=true]{border-color:var(--chapnav-accent);background:var(--chapnav-accent-soft);font-weight:700}.chapnav-option-name{flex:1;min-width:0}.chapnav-option-count{flex-shrink:0;font-size:12px;color:var(--ink-3);font-variant-numeric:tabular-nums}.chapnav-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:26px 0 8px}.chapnav-foot .btn{max-width:100%;white-space:normal;height:auto;min-height:40px;text-align:left}@media (max-width:640px){.chapnav{padding:8px 10px 6px}.chapnav-bar{grid-template-columns:40px minmax(0,1fr) 40px;gap:6px}.chapnav-current{gap:8px;padding:6px 8px}.chapnav-name{font-size:14.5px}.chapnav-foot .btn{flex:1 1 100%}}.chapnav-code{display:inline-flex;align-items:center;justify-content:center;min-width:40px;padding:2px 8px;border-radius:5px;background:var(--chapnav-accent);color:#fff;font-weight:700;font-size:13px;letter-spacing:.03em}