/* Chapter bar: Contents, then ONE bordered navigator (arrow zones + rolling titles). Navy bar, hairline, orange only for the current step number. */
.chapbar{position:sticky;top:var(--hdr);z-index:19;background:#0a1828;border-block:1px solid #ffffff14;height:var(--bar)}
.rb-in{position:relative;margin-inline:auto;display:flex;align-items:center;gap:16px;height:100%;width:min(1320px,calc(100% - 120px))}
.rb-menu{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:9px;width:152px;height:44px;padding:0;border-radius:12px;border:1px solid var(--border);background:var(--surface-1);color:var(--heading);font-size:14px;font-weight:650;line-height:1;transition:background var(--duration-state) var(--ease-standard),border-color var(--duration-state) var(--ease-standard)}
.rb-menu:hover,.rb-menu[aria-expanded="true"]{background:var(--surface-2);border-color:var(--blue)}
.rb-menu .ham{font-size:17px;transform:translateY(-1px)}.rb-menu .cnt{font-variant-numeric:lining-nums tabular-nums;color:var(--blue);font-weight:700}
.chapter-control{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;flex:1 1 0;min-width:0;max-width:640px;height:56px;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--surface-1)}
.rb-arrow{width:44px;height:100%;display:grid;place-items:center;border:0;border-radius:0;background:none;color:#b9cde0;padding:0;transition:background var(--duration-state) var(--ease-standard),color var(--duration-state) var(--ease-standard)}
.rb-prev{border-right:1px solid var(--border)}.rb-next{border-left:1px solid var(--border)}
.rb-arrow svg{width:18px;height:18px}
.rb-arrow:hover:not(:disabled){background:var(--surface-2);color:var(--blue)}
.rb-arrow:active:not(:disabled){transform:translateY(1px);transition-duration:80ms}
.rb-arrow:disabled{opacity:.3;cursor:default}
.rb-arrow:focus-visible,.rb-drum:focus-visible{outline:2px solid var(--blue);outline-offset:-3px;border-radius:8px}
.rb-drum{min-width:0;height:100%;padding:0 12px;cursor:pointer}
.rb-win{position:relative;height:100%;overflow:hidden}
.rb-track{position:absolute;inset:0}
.rb-row{position:absolute;left:0;right:0;top:0;height:14px;display:flex;align-items:center;gap:8px;white-space:nowrap;color:var(--muted);will-change:transform,opacity;visibility:hidden;font-size:12px;line-height:14px;font-weight:400}
.rb-row .rb-t{min-width:0;overflow:hidden;text-overflow:ellipsis}
.rb-lab{font-style:normal;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#7f98b1;flex:none}
.rb-row.is-cur{height:20px;color:var(--heading);font-size:14px;line-height:20px;font-weight:700}
.rb-row.is-cur .rb-lab{font-size:11px}
.rb-row.is-cur .rb-lab.is-step{color:var(--orange)}
.rb-info{margin-left:auto;flex:none;width:228px;text-align:right;display:flex;flex-direction:column;justify-content:center;gap:1px;line-height:1.25;min-width:0}
.rb-info b{font-size:13px;font-weight:650;color:#e6f0fa;font-variant-numeric:tabular-nums;white-space:nowrap}
.rb-info span{font-size:12px;color:#8ea4ba;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rb-info span:empty{display:none}
.rb-prog{position:absolute;left:0;right:0;bottom:-1px;height:3px;display:flex;gap:3px}
.rb-prog .pg{flex:1 1 0;padding:0;border:0;height:3px;background:#1b324b;position:relative;overflow:hidden;border-radius:2px;cursor:pointer}
.rb-prog .pg:hover{background:#27496c}
.rb-prog .pf{position:absolute;inset:0;background:linear-gradient(90deg,#168dcc,var(--blue));transform-origin:0 50%;transform:scaleX(0)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.chapscrim{display:none;position:fixed;inset:0;z-index:18;background:#030a12aa;opacity:0;visibility:hidden;transition:opacity .14s}
.chapscrim.on{opacity:1;visibility:visible}

/* contents menu */
.chapmenu{position:absolute;top:calc(100% + 8px);left:0;z-index:25;width:480px;max-height:calc(100vh - var(--hdr) - var(--bar) - 24px);max-height:calc(100dvh - var(--hdr) - var(--bar) - 24px);overflow:auto;padding:8px;background:var(--surface-1);border:1px solid var(--border);border-radius:12px;box-shadow:0 16px 40px rgb(0 0 0/.28);opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity var(--duration-panel) var(--ease-standard),transform var(--duration-panel) var(--ease-standard),visibility var(--duration-panel);scrollbar-width:thin;scrollbar-color:#2b4a68 transparent;overscroll-behavior:contain}
.chapmenu.on{opacity:1;visibility:visible;transform:none}
.mn-head{position:sticky;top:-8px;z-index:2;display:flex;gap:8px;align-items:center;margin:-8px -8px 4px;padding:8px;background:var(--surface-1);border-bottom:1px solid var(--border)}
.mn-act{font:inherit;font-size:13px;font-weight:650;color:#cfe6f8;background:#14263d;border:1px solid #2b5276;border-radius:8px;padding:0 12px;min-height:44px;display:inline-flex;align-items:center;text-decoration:none;cursor:pointer}
.mn-act:hover{border-color:var(--blue);color:#fff}
.mn-top{margin-left:auto}
.mn-body{padding:0}
.chapmenu .grp{margin:6px 4px 2px;padding:10px 8px 4px;border-top:1px solid #23405d;font-size:11px;font-weight:750;letter-spacing:.13em;text-transform:uppercase;color:var(--blue)}
.chapmenu .grp:first-child{border-top:0;margin-top:0}
.mg-head{display:flex;align-items:center;gap:2px}
.mg-tog{flex:none;width:44px;height:44px;display:grid;place-items:center;border:0;background:none;color:#9bb4cc;border-radius:7px}
.mg-tog.ph{pointer-events:none}
.mg-tog:hover:not(.ph){background:#14263d;color:#fff}
.mg-tog svg{transition:transform .14s}
.mg.open>.mg-head .mg-tog svg{transform:rotate(90deg)}
.mg-n{flex:none;font-size:11.5px;color:#7f98b1;padding-right:8px;white-space:nowrap}
.mg-kids{display:none;margin:0 0 4px 44px;border-left:1px solid #23405d;padding-left:4px}
.mg.open>.mg-kids{display:block}
.chapmenu .row{display:flex;gap:11px;align-items:baseline;flex:1;min-width:0;text-align:left;font-size:14px;line-height:1.35;color:#c9daea;padding:8px 10px;border-radius:7px;text-decoration:none;min-height:44px;align-items:center}
.chapmenu .row:hover{background:#14263d;color:#fff}
.chapmenu .row .i{flex:0 0 1.7em;font-variant-numeric:tabular-nums;font-weight:700;color:#6f8aa4;text-align:center}
.chapmenu .row .t{min-width:0}
.chapmenu .row.cur{background:#12304d;color:#fff;font-weight:650;box-shadow:inset 3px 0 0 var(--orange)}
.chapmenu .row.cur .i{color:var(--orange)}
.chapmenu .row .tg{margin-left:auto;flex:none;font-size:10px;letter-spacing:.09em;text-transform:uppercase;border-radius:99px;padding:1px 8px;font-weight:700;align-self:center;background:#1f2a38;color:#d3deea;border:1px dashed #7188a0}
.chapmenu .row.k-part,.chapmenu .row.k-optional{font-weight:700;color:#fff}
.chapmenu .row.k-part .i,.chapmenu .row.k-optional .i{color:var(--blue);font-size:11px;letter-spacing:.06em;text-transform:uppercase;flex-basis:4.2em;white-space:nowrap;text-align:left}
.chapmenu .row.kid{font-size:13.5px}
.chapmenu .row.k-step .i{color:#ffb88f}
.chapmenu .row.k-step.cur .i{color:var(--orange)}
.mg.has-cur>.mg-head .row:not(.cur){color:#fff}

@media(max-width:1000px){.rb-info{display:none}}
@media(max-width:760px){
 .rb-in{width:calc(100% - 40px);gap:8px}
 .rb-menu{width:78px;gap:6px}.rb-menu .lbl{display:none}
 .chapter-control{height:64px;max-width:none}
 .rb-drum{padding:0 8px}
 .rb-row{height:12px;font-size:11px;line-height:12px}
 .rb-row.is-cur{height:30px;font-size:13px;line-height:15px;align-items:center;white-space:normal}
 .rb-row.is-cur .rb-t{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;text-overflow:clip;white-space:normal}
 .rb-lab{display:none}
 .chapmenu{width:calc(100vw - 40px);max-width:none}
 .chapmenu .row{font-size:15px}
 .chapscrim{display:block}
}
@media(prefers-reduced-motion:reduce){.chapmenu,.chapscrim,.mg-tog svg{transition:none!important}}
.motion-paused .chapmenu{transition:none}
@media print{.chapbar{display:none!important}}
