.setup-banner{max-width:1040px;margin:20px auto 0;padding:12px 16px;background:#eee9da;color:#65705e;font-size:10px;line-height:1.7;text-align:center}
.inline-flash{position:relative;top:auto;left:auto;transform:none;margin:22px auto 0;max-width:min(700px,90%)}
.lesson-resource{margin:30px 0;padding:27px;background:#fffdf7;border:1px solid #e9e7df}
.lesson-resource h2{font:500 24px/1.35 var(--serif);margin:12px 0}
.lesson-resource h3{font:500 19px/1.4 var(--serif);margin:26px 0 10px}
.lesson-resource p,.lesson-resource li{font-size:11px;line-height:2;color:#626e65}
.lesson-resource p strong{color:#31473d}
.lesson-resource ul,.lesson-resource ol{padding-left:22px}
.lesson-resource .resource-summary{color:#7d857c;font-style:italic}
.math-block{overflow:auto;padding:14px;background:#efede5;color:#374b40}
@media(max-width:650px){.setup-banner{margin:13px 6%;}.lesson-resource{padding:19px 16px}}

/* A more comfortable reading size across the learner and public pages. */
body{font-size:15.5px}
.site-header nav a,.login-link,.header-dashboard,.logout{font-size:14px}
.eyebrow{font-size:10px;letter-spacing:1.5px}
.hero-copy>p,.approach-intro>p,.steps p,.library-preview>div>p,.auth-aside>p:not(.eyebrow),.auth-form>p,.dashboard-head>div>p,.access-banner p,.course-copy>p,.course-hero>p,.paywall p,.plan>p,.lesson-resource p,.lesson-resource li,.empty-state p{font-size:15px;line-height:1.8}
.lesson-resource h2{font-size:27px}
.lesson-resource h3{font-size:22px}
.course-meta,.text-link,.footer-copy,.footer>a:last-of-type{font-size:13px}

/* Chapter reader patterned after Academy's book reader. */
:root{--reader-size:20px;--reader-page:#fffefb;--reader-surround:#f0f1ed;--reader-ink:#283831;--reader-muted:#758077;--reader-line:#dce2d8}
.chapter-page{background:var(--reader-surround);color:var(--reader-ink)}
.chapter-page[data-theme="sepia"]{--reader-page:#faf0db;--reader-surround:#e7dcc6;--reader-ink:#4d402d;--reader-muted:#7e6e52;--reader-line:#dcccb0}
.chapter-page[data-theme="night"]{--reader-page:#222a28;--reader-surround:#171e1c;--reader-ink:#e0e7df;--reader-muted:#a4b6a7;--reader-line:#43544b}
.chapter-page .site-header,.chapter-page .footer{background:var(--reader-page);color:var(--reader-ink);border-color:var(--reader-line)}
.chapter-page .brand-text,.chapter-page .brand-mark,.chapter-page .site-header nav a,.chapter-page .header-dashboard,.chapter-page .logout,.chapter-page .footer a{color:var(--reader-ink)}
.chapter-page main{min-height:60vh}
.chapter-page .breadcrumbs{max-width:980px;margin:22px auto 0;padding:0 24px;font-size:14px;line-height:1.6;color:var(--reader-muted)}
.chapter-page .breadcrumbs a{color:var(--reader-ink);text-decoration:underline;text-underline-offset:3px}
.reading-page{max-width:980px;min-height:90vh;margin:24px auto 60px;padding:58px 76px 52px;background:var(--reader-page);color:var(--reader-ink);box-shadow:0 8px 45px #1c32240a}
.reader-imprint{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid var(--reader-line);padding-bottom:22px;margin-bottom:38px;color:var(--reader-muted);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.learning-document{max-width:760px;margin:auto;font-family:Georgia,"Noto Serif",serif;font-size:var(--reader-size);line-height:1.9;color:var(--reader-ink)}
.learning-document h1{margin:12px 0 16px;font:500 2.15em/1.25 var(--serif);letter-spacing:-.035em;color:var(--reader-ink)}
.learning-document h2{margin:0 0 .6em;font:600 1.42em/1.35 var(--serif);color:var(--reader-ink)}
.learning-document h3{margin:1.8em 0 .7em;padding:.25em 0 .25em .8em;border-left:3px solid #8aa48b;font:600 1.15em/1.45 var(--serif)}
.learning-document p,.learning-document li{font-size:1em;line-height:1.9}
.learning-document p{margin:0 0 1.2em}
.learning-document ul,.learning-document ol{padding-left:1.5em;margin:0 0 1.25em}
.learning-document .resource-eyebrow{display:inline-block;color:var(--reader-muted);font:700 .68em/1.5 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.learning-document .resource-lead,.learning-document .resource-summary{color:var(--reader-muted)}
.learning-document .resource-lead{font-size:1.05em}
.learning-document .lesson-resource{margin:2.8em 0 0;padding:0;border:0;background:transparent}
.learning-document .lesson-resource>h2{margin-top:.4em}
.learning-document .reader-section{margin:2.1em 0}
.learning-document .reader-section>h2{padding-bottom:.4em;border-bottom:1px solid var(--reader-line)}
.learning-document strong{color:var(--reader-ink)}
.learning-document a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.learning-document blockquote{margin:1.3em 0;padding:.6em 1em;border-left:4px solid #8eab95;background:color-mix(in srgb,var(--reader-surround) 75%,transparent);color:var(--reader-muted)}
.math-block{overflow:auto;margin:1.3em 0;padding:1em;background:var(--reader-surround);color:var(--reader-ink);font: .85em/1.7 ui-monospace,monospace;white-space:pre-wrap}
.lesson-figure{margin:1.5em 0;padding:1.4em;background:var(--reader-surround);text-align:center;color:var(--reader-muted)}
.lesson-figure>div{font-size:2em;color:#8aa48b}.lesson-figure figcaption{font-size:.8em}
.lesson-placeholder{margin:2em 0;padding:1.5em;background:var(--reader-surround);display:flex;gap:1em;align-items:center;color:var(--reader-muted)}
.reader-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:50}.reader-progress span{display:block;width:0;height:100%;background:#728f77}
.reader-tools{position:fixed;top:94px;right:max(18px,calc((100vw - 1200px)/2));z-index:45;font-family:var(--sans)}
.reader-toggle{display:flex;align-items:center;gap:9px;border:1px solid var(--reader-line);border-radius:28px;padding:11px 16px;background:var(--reader-page);color:var(--reader-ink);box-shadow:0 4px 20px #0001;cursor:pointer;font-size:14px}
.reader-menu{position:absolute;right:0;top:54px;width:min(340px,calc(100vw - 32px));max-height:calc(100dvh - 120px);overflow:auto;padding:20px;background:var(--reader-page);color:var(--reader-ink);border:1px solid var(--reader-line);border-radius:16px;box-shadow:0 18px 55px #0003}
.reader-menu[hidden]{display:none}.reader-menu a{display:block;padding:9px 0;color:var(--reader-ink);font-size:14px;line-height:1.5;text-decoration:none}.reader-menu a:hover{text-decoration:underline}
.reader-menu-heading,.reader-control{display:flex;align-items:center;gap:10px}.reader-menu-heading{justify-content:space-between}.reader-menu button,.reader-menu #reader-fullscreen{min-height:40px;padding:7px 11px;border:1px solid var(--reader-line);border-radius:8px;background:var(--reader-surround);color:var(--reader-ink);cursor:pointer;font-size:14px}
.reader-menu-heading button{min-width:40px;font-size:20px}.reader-control{margin:16px 0}.reader-control span{flex:1}.reader-themes{display:flex;gap:6px;margin:0 0 14px;padding:0;border:0}.reader-themes legend{margin-bottom:8px;font-size:13px}.reader-themes [aria-pressed="true"]{outline:2px solid #7a9a80;outline-offset:1px}.reader-menu-label{margin:20px 0 6px;color:var(--reader-muted);font-size:11px;letter-spacing:.12em}
.reader-end{max-width:820px;margin:54px auto 0;padding-top:25px;border-top:1px solid var(--reader-line);color:var(--reader-muted)}
.reader-chapter-navigation{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:12px}
.reader-chapter-link,.reader-chapter-back{display:flex;align-items:center;gap:12px;min-width:0;padding:13px 15px;border:1px solid var(--reader-line);border-radius:12px;background:var(--reader-page);color:var(--reader-ink);text-decoration:none}
.reader-chapter-link small,.reader-chapter-link strong{display:block}.reader-chapter-link small{font-size:12px;color:var(--reader-muted)}.reader-chapter-link strong{margin-top:4px;font-size:14px;line-height:1.4}.reader-chapter-next{justify-content:flex-end;text-align:right}.reader-chapter-back{justify-content:center;white-space:nowrap;font-size:13px}
.reader-complete{text-align:center;margin:24px 0 0}.reader-skip{position:fixed;left:-10000px}.reader-skip:focus{left:12px;top:12px;z-index:60;padding:12px;background:var(--reader-page);color:var(--reader-ink)}
.chapter-page :focus-visible{outline:3px solid #699c7d;outline-offset:3px}
@media(max-width:700px){.chapter-page .breadcrumbs{margin:17px 5% 0;padding:0}.reading-page{margin:16px 0 30px;padding:78px 23px 38px;box-shadow:none}.reader-imprint{font-size:10px;flex-direction:column;gap:8px}.learning-document h1{font-size:1.85em}.reader-tools{top:82px;right:15px}.reader-chapter-navigation{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.reader-chapter-back{grid-column:1/-1;grid-row:1;min-height:42px}.reader-chapter-link{padding:11px 9px;gap:7px}.reader-chapter-link strong{font-size:12px}.reader-chapter-link small{font-size:11px}.reader-end{margin-top:38px}.reader-complete .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.reader-tools,.reader-progress,.reader-end,.site-header,.footer,.breadcrumbs{display:none!important}.reading-page{margin:0;padding:0;max-width:none;box-shadow:none}.chapter-page{background:white;--reader-page:white;--reader-ink:black;--reader-muted:#555}}
