.chapter-reader { --reader-blue:#3659e3; --reader-ink:#182139; --reader-muted:#65718a; color:var(--reader-ink); padding-top:28px; padding-bottom:52px; }
.chapter-reader [hidden] { display:none!important; }
.reader-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:10px; font-size:14px; line-height:1.7; margin-bottom:26px; color:#95a0b4; }
.reader-breadcrumb a { color:var(--reader-muted); text-decoration:none; }
.reader-breadcrumb a:hover { color:var(--reader-blue); }
.chapter-workspace { display:grid; grid-template-columns:236px minmax(0,1fr); gap:36px; align-items:start; }
.chapter-main { min-width:0; }
.chapter-rail { position:sticky; top:130px; }
.reader-back { display:flex; gap:9px; color:var(--reader-muted); text-decoration:none; font-size:14px; line-height:1.8; padding-bottom:24px; }
.reader-back:hover { color:var(--reader-blue); }
.reader-eyebrow { font-size:14px; font-weight:800; letter-spacing:1.6px; line-height:1.7; color:var(--reader-blue); }
.chapter-rail-heading { padding-bottom:23px; }
.chapter-rail-heading h2 { font-size:21px; line-height:1.35; margin:9px 0 6px; font-weight:750; }
.chapter-rail-heading p { font-size:14px; color:var(--reader-muted); margin:0; }
.chapter-outline { display:grid; gap:6px; max-height:54vh; overflow-y:auto; scrollbar-width:thin; }
.chapter-outline a { display:flex; gap:12px; align-items:center; color:var(--reader-muted); padding:15px 12px; text-decoration:none; border-radius:12px; font-size:14px; }
.chapter-outline a>span { font-size:14px; font-variant-numeric:tabular-nums; flex-shrink:0; opacity:.8; }
.chapter-outline a>strong { font-weight:550; line-height:1.6; }
.chapter-outline a>i { margin-left:auto; font-size:20px; }
.chapter-outline a:hover { background:#edf0fa; color:var(--reader-blue); }
.chapter-outline a[aria-current] { background:#e9edff; color:var(--reader-blue); }
.chapter-outline a[aria-current]>strong { font-weight:750; }
.chapter-rail-note { margin-top:28px; display:flex; gap:12px; padding:18px 12px; border-top:1px solid #e4e8f1; font-size:14px; color:var(--reader-muted); }
.chapter-rail-note>i { color:#c28a2a; font-size:20px; }
.chapter-rail-note p { margin:0; line-height:1.9; }
.chapter-rail-note strong { font-weight:600; }
.chapter-hero { position:relative; background:#edf1ff; border:1px solid #e0e6fb; border-radius:22px; padding:32px 36px 25px; overflow:hidden; }
.chapter-hero>.reader-eyebrow { display:flex; align-items:center; gap:7px; margin-bottom:27px; }
.reader-dot { width:6px; height:6px; border-radius:50%; background:var(--reader-blue); }
.reader-hero-number { position:absolute; right:25px; top:10px; font-size:88px; line-height:1; font-weight:800; letter-spacing:-5px; color:#dfe5fb; pointer-events:none; }
.reader-context { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; position:relative; }
.reader-context span { font-size:14px; font-weight:700; letter-spacing:.15px; background:#fff; color:#54628b; padding:5px 9px; border-radius:6px; }
.chapter-hero h1 { font-size:clamp(25px,3vw,39px); line-height:1.3; font-weight:800; letter-spacing:-1.1px; max-width:700px; margin:0 0 14px; position:relative; }
.chapter-hero>p { max-width:640px; line-height:1.8; color:#647293; font-size:14px; margin-bottom:24px; }
.reader-resource-counts { display:flex; flex-wrap:wrap; gap:20px; font-size:14px; color:#586686; padding-top:18px; border-top:1px solid #d9e1f5; }
.reader-resource-counts i { color:var(--reader-blue); margin-right:5px; }
.chapter-navigation { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:stretch; background:white; border:1px solid #e5e9f1; border-radius:14px; margin-top:18px; position:relative; z-index:4; }
.chapter-step { padding:16px 20px; display:flex; align-items:center; gap:13px; text-decoration:none; color:var(--reader-ink); min-width:0; }
.chapter-step:hover { color:var(--reader-blue); background:#f6f8fe; border-radius:14px; }
.chapter-step>span { display:block; min-width:0; }
.chapter-step small { display:block; font-size:14px; color:var(--reader-muted); margin-bottom:3px; }
.chapter-step strong { display:block; font-size:14px; font-weight:650; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.chapter-step>i { font-size:17px; flex-shrink:0; color:var(--reader-blue); }
.chapter-step-next { text-align:right; justify-content:flex-end; }
.chapter-step.is-disabled { opacity:.48; }
.chapter-menu { position:relative; display:block; align-self:center; }
.chapter-menu:not([open]) .chapter-menu-list { display:none; }
.chapter-menu summary { list-style:none; display:flex; align-items:center; gap:10px; padding:12px 15px; border-left:1px solid #e9ecf4; border-right:1px solid #e9ecf4; font-size:14px; color:var(--reader-blue); cursor:pointer; white-space:nowrap; }
.chapter-menu summary::-webkit-details-marker { display:none; }
.chapter-menu-list { position:absolute; top:calc(100% + 15px); left:50%; transform:translateX(-50%); width:340px; max-width:85vw; max-height:400px; overflow-y:auto; background:white; box-shadow:0 18px 60px #18213920; border:1px solid #e5e9f1; border-radius:16px; padding:12px; }
.chapter-menu-list>p { font-size:14px; font-weight:750; padding:8px 10px 14px; border-bottom:1px solid #eef0f7; }
.chapter-menu-list>p span { display:block; font-size:14px; font-weight:400; color:var(--reader-muted); margin-top:3px; }
.chapter-menu-list>a { display:flex; gap:12px; padding:12px 10px; color:var(--reader-ink); border-radius:8px; text-decoration:none; font-size:14px; line-height:1.6; }
.chapter-menu-list>a span { font-size:14px; color:var(--reader-muted); padding-top:2px; }
.chapter-menu-list>a:hover,.chapter-menu-list>a[aria-current] { background:#edf1ff; color:var(--reader-blue); }
.chapter-swipe-hint { display:none; font-size:14px; color:var(--reader-muted); line-height:1.8; text-align:center; margin:12px 0 19px; }
.chapter-swipe-feedback { position:fixed; left:50%; bottom:105px; transform:translateX(-50%) translateY(15px); border-radius:20px; background:#182139; color:white; padding:10px 18px; font-size:14px; opacity:0; pointer-events:none; transition:opacity .16s,transform .16s; z-index:1050; max-width:90vw; text-align:center; }
.chapter-swipe-feedback.is-visible { opacity:1; transform:translateX(-50%) translateY(0); }
.chapter-library { border:1px solid #e4e8f1; background:#fff; border-radius:20px; padding:0 28px 26px; margin-top:25px; }
.reader-tabs { display:flex; flex-wrap:nowrap; gap:23px; overflow-x:auto; white-space:nowrap; border-bottom:1px solid #e9edf4; padding:0; scrollbar-width:none; }
.reader-tabs::-webkit-scrollbar { display:none; }
.reader-tabs li { margin:0; }
.reader-tabs button { background:none; border:0; border-bottom:2px solid transparent; padding:21px 0 17px; color:var(--reader-muted); font-size:14px; font-weight:600; min-height:48px; }
.reader-tabs button.active { color:var(--reader-blue); border-bottom-color:var(--reader-blue); }
.reader-tabs button>span { font-size:14px; margin-left:5px; padding:2px 5px; border-radius:4px; background:#f1f3f9; }
.reader-section-heading { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:28px 0 22px; }
.reader-section-heading h2 { font-size:22px; line-height:1.4; letter-spacing:-.45px; font-weight:750; margin:5px 0 0; }
.reader-section-heading>i { font-size:26px; color:#bcc7ed; }
.reader-filters { display:flex; flex-wrap:nowrap; gap:7px; overflow-x:auto; margin-bottom:9px; padding-bottom:12px; scrollbar-width:thin; }
.reader-filters button { background:#fff; border:1px solid #e4e8f1; border-radius:8px; color:var(--reader-muted); padding:9px 12px; min-height:40px; white-space:nowrap; font-size:14px; font-weight:650; }
.reader-filters button.active { color:var(--reader-blue); background:#eef2ff; border-color:#dce3fc; }
.reader-post { display:flex; align-items:flex-start; gap:18px; padding:23px 0; border-bottom:1px solid #edf0f6; }
.reader-post:last-child { border-bottom:0; padding-bottom:6px; }
.reader-post-icon { display:flex; align-items:center; justify-content:center; flex-shrink:0; width:43px; height:47px; background:#eaf4f0; color:#349373; border-radius:12px; font-size:20px; }
.reader-post-icon.is-lilac { background:#efecff; color:#8862cf; }
.reader-post-body { flex:1; min-width:0; }
.reader-post-type { font-size:14px; text-transform:uppercase; letter-spacing:.9px; font-weight:700; color:var(--reader-muted); }
.reader-post h3 { font-size:16px; font-weight:750; line-height:1.6; margin:6px 0; }
.reader-post h3 a { color:var(--reader-ink); text-decoration:none; }
.reader-post h3 a:hover { color:var(--reader-blue); }
.reader-post p { color:var(--reader-muted); font-size:14px; line-height:1.85; margin:0 0 12px; }
.reader-post-meta { display:flex; flex-wrap:wrap; gap:15px; color:#7b8599; font-size:14px; }
.reader-post-meta>span:last-child { margin-left:auto; color:var(--reader-blue); font-weight:650; }
.reader-empty { text-align:center; padding:35px 15px; color:var(--reader-muted); }
.reader-empty>i { display:block; font-size:31px; color:#a4b3e8; margin-bottom:15px; }
.reader-empty h3 { font-size:17px; color:var(--reader-ink); font-weight:700; line-height:1.5; }
.reader-empty p { font-size:14px; line-height:1.8; max-width:360px; margin:10px auto 15px; }
.reader-empty a { font-size:14px; color:var(--reader-blue); }
.reader-topic { display:flex; gap:18px; padding:20px 0; border-top:1px solid #edf0f6; }
.reader-topic>span { color:var(--reader-blue); font-size:14px; background:#edf1ff; width:30px; height:30px; border-radius:8px; display:grid; place-items:center; flex-shrink:0; }
.reader-topic h3 { font-size:15px; font-weight:650; line-height:1.6; }
.reader-topic p { color:var(--reader-muted); font-size:14px; line-height:1.8; margin:0; }
.reader-file { display:flex; align-items:center; gap:16px; padding:20px 0; border-top:1px solid #edf0f6; color:var(--reader-ink); text-decoration:none; }
.reader-file>span:nth-child(2) { min-width:0; flex:1; }
.reader-file small { display:block; font-size:14px; color:var(--reader-muted); margin-bottom:5px; }
.reader-file strong { display:block; font-size:14px; line-height:1.7; font-weight:650; }
.reader-file>i { color:var(--reader-blue); font-size:20px; }
.reader-file:hover strong { color:var(--reader-blue); }
.reader-bottom-note { display:flex; align-items:center; justify-content:center; gap:7px; font-size:14px; color:#8893a8; margin:22px 0 0; }
.chapter-reader a:focus-visible,.chapter-reader button:focus-visible,.chapter-reader summary:focus-visible { outline:3px solid #8da4ff; outline-offset:4px; border-radius:6px; }
.chapter-solution-reader .card { border-radius:18px!important; box-shadow:none!important; border:1px solid #e4e8f1!important; }
.chapter-solution-reader .chapter-hero { margin-bottom:22px; }
.chapter-solution-reader .chapter-hero h1 { font-size:clamp(24px,3vw,36px); }
.chapter-solution-reader .solution-reading-copy { font-size:16px!important; line-height:1.9!important; }
@media (pointer:coarse) { .chapter-swipe-hint { display:block; } }
@media (max-width:991.98px) {
    .chapter-workspace { display:block; }
    .chapter-rail { position:static; }
    .chapter-rail-heading,.chapter-outline,.chapter-rail-note { display:none; }
    .reader-back { padding-bottom:18px; }
    .chapter-library { margin-top:20px; }
}
@media (max-width:575.98px) {
    .chapter-reader { padding-top:18px; padding-bottom:35px; }
    .reader-breadcrumb { font-size:14px; gap:7px; margin-bottom:14px; }
    .reader-back { font-size:14px; }
    .chapter-hero { border-radius:18px; padding:25px 21px 20px; }
    .chapter-hero>.reader-eyebrow { margin-bottom:23px; }
    .reader-hero-number { font-size:74px; right:19px; }
    .chapter-hero h1 { font-size:28px; letter-spacing:-.8px; margin-bottom:12px; }
    .chapter-hero>p { font-size:14px; line-height:1.9; margin-bottom:20px; }
    .reader-context { gap:6px; }
    .reader-context span { font-size:14px; }
    .reader-resource-counts { gap:12px; font-size:14px; }
    .chapter-step { padding:13px 12px; gap:9px; }
    .chapter-step strong { max-width:91px; font-size:14px; }
    .chapter-step small { font-size:14px; }
    .chapter-step>i { font-size:15px; }
    .chapter-menu summary { padding:10px; gap:6px; font-size:14px; }
    .chapter-menu summary>.bi-grid { display:none; }
    .chapter-swipe-hint span { display:none; }
    .chapter-library { border-radius:17px; padding:0 18px 20px; }
    .reader-tabs { gap:20px; }
    .reader-tabs button { font-size:14px; padding-top:19px; }
    .reader-section-heading { padding:25px 0 20px; }
    .reader-section-heading h2 { font-size:19px; }
    .reader-section-heading .reader-eyebrow { font-size:14px; }
    .reader-post { gap:13px; padding:20px 0; }
    .reader-post-icon { width:35px; height:40px; font-size:18px; border-radius:10px; }
    .reader-post h3 { font-size:14px; }
    .reader-post p { font-size:14px; }
    .reader-post-meta { gap:9px; font-size:14px; }
    .reader-post-meta>span:last-child { margin-left:0; }
    .reader-bottom-note { font-size:14px; }
}
@media (prefers-reduced-motion:reduce) { .chapter-reader * { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }


.chapter-outline a,.reader-back,.chapter-rail-heading p{font-size:16px}.chapter-reader input,.chapter-reader select{font-size:16px}.chapter-reader .reader-breadcrumb{font-size:14px}.chapter-reader p{line-height:1.85}
