/* Reading interface: warm paper, clear hierarchy, generous Braille diagrams. */
:root{--paper:#faf9f5;--white:#fff;--ink:#193f35;--text:#263f36;--muted:#53685d;--line:#dce2d9;--pale:#eef2e9;--max:940px;font-size:18px;line-height:1.9}
body{background:var(--paper)}
h1,h2,h3,h4{text-wrap:balance}p,li,dd{text-wrap:pretty}
.topbar{height:76px;background:var(--paper);padding:0 34px}
.topbar .tools{gap:10px}.tools button,.tools>a{font-size:.8rem;min-height:44px;border:1px solid var(--line);border-radius:6px;padding:8px 14px;background:transparent;color:var(--ink)}
.layout{grid-template-columns:260px minmax(0,1fr);max-width:1540px}
.sidebar{top:76px;height:calc(100vh - 76px);padding:24px 16px 24px 20px;background:var(--paper)}
.sidebar nav{margin:0}.sidebar nav a{min-height:44px;font-size:.83rem;line-height:1.65;padding:10px 12px;border-radius:4px}
.sidebar nav a:nth-last-child(3){margin-top:0;border-top:0}
.sidebar .nav-group-label{font-size:.7rem;letter-spacing:.08em;margin:22px 12px 8px}
.nav-part>summary{padding:12px;font-size:.83rem;min-height:46px}.nav-part summary small{font-size:.7rem}
.teacher-menu{margin:25px 0 0;border-top:1px solid var(--line);padding-top:12px}.teacher-menu>summary{padding:10px 12px;font-size:.78rem;color:var(--muted);min-height:44px}.teacher-menu .nav-group-label{display:none}.teacher-menu .nav-group{margin:0}
.mainwrap{padding:44px clamp(26px,4vw,64px) 28px}.page{margin-bottom:60px}
.hero{grid-template-columns:1.2fr 1fr;gap:36px;padding:16px 0 38px;align-items:center}
.hero h1{font-size:clamp(2.5rem,4.3vw,3.65rem);max-width:9em;line-height:1.35;letter-spacing:.015em;margin:18px 0}
.hero .eyebrow{font-size:.78rem;letter-spacing:.1em}.hero-deck{font-size:1.05rem;line-height:1.9;max-width:25em}
.primarylink{font-size:1rem;padding:12px 23px;border-radius:5px;margin:22px 0 16px;min-height:48px}.hero-links{display:flex;flex-wrap:wrap;gap:8px 20px}.hero-links a{font-size:.81rem;min-height:44px;display:inline-flex;align-items:center}
.hero-example{border-radius:12px;background:var(--pale);box-shadow:none;min-height:0;padding:30px 16px}.hero-example .eyebrow{text-transform:none}.hero-example .cellunit{background:transparent;border:0;box-shadow:none;padding:10px 4px;min-width:65px}.hero-example .cell{width:66px}.hero-example>p{font-size:.85rem}.hero-example>span{font-size:.78rem;color:var(--muted)}
.reading-switch{display:flex;gap:6px;align-items:center;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:0 0 24px;margin-bottom:34px;font-size:.8rem}.reading-switch>span{margin-right:10px;color:var(--muted)}.reading-switch>a{padding:8px 16px;border-radius:5px;min-height:44px;text-decoration:none}.reading-switch>a[aria-current]{background:var(--ink);color:white}
.sectiontitle{display:block;margin-bottom:24px}.sectiontitle h2{font-size:1.55rem}.sectiontitle>span{font-size:.84rem;display:block;margin-top:8px}
.directory-part{grid-template-columns:170px minmax(0,1fr);gap:30px;border-top:1px solid var(--line);padding:28px 0;margin:0}.directory-part>header h3{font-size:1.1rem}.directory-part>header p{font-size:.79rem;line-height:1.9}
.chapterlist>a{border:0;border-bottom:1px solid var(--line);background:transparent;border-radius:0;margin:0;padding:16px 8px;gap:18px;min-height:76px}.chapterlist>a:nth-child(odd){border-right:0}.chapterlist>a:nth-child(even){padding-left:8px}.chapterlist>a:hover{background:var(--pale)}.chapterlist h4{font-size:1rem}.chapterlist p{font-size:.8rem;line-height:1.8}.chapter-no{font-size:1.35rem;color:var(--accent);min-width:30px}
.course-choice{border-top:1px solid var(--line);padding:22px 0;margin-top:24px}.course-choice>summary{font-size:.9rem;padding:8px 0;min-height:44px}.course-comparison{margin-top:24px}
.chapterhead{padding:0 0 26px;margin-bottom:0}.lesson-progress{font-size:.78rem;letter-spacing:.08em;color:var(--accent);margin:0 0 12px}.chapterhead .chapter-number{display:none}.part-path{font-size:.76rem;margin-bottom:16px}.chapter .chapterhead h1{font-size:clamp(1.9rem,3.1vw,2.6rem);line-height:1.45}.chapterhead .deck{font-size:1rem;margin:14px 0 0}.goal{font-size:.93rem;display:block;background:var(--pale);border:0;border-radius:6px;margin-top:22px;padding:16px 20px;line-height:1.9}.goal strong{font-size:.76rem;display:block;margin-bottom:4px;color:var(--ink)}
.chapter-sections{position:sticky;top:76px;z-index:9;display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px;padding:14px 0;margin:0 0 30px;background:var(--paper);border-bottom:1px solid var(--line);scrollbar-width:thin}.chapter-sections>span{display:none}.chapter-sections a{white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;min-height:44px;font-size:.8rem;border:0;background:transparent;border-radius:5px;padding:8px 13px}.chapter-sections a:hover,.chapter-sections a:focus-visible{background:var(--pale)}
.chapter-body{max-width:none;margin:0}.chapter-body h2{font-size:1.45rem;margin:42px 0 20px}.chapter-body>h2:first-child{margin-top:0}.explain{max-width:42em}.explain h3{font-size:1.13rem;margin:30px 0 12px}.explain p{font-size:1rem;line-height:1.95}.explain dd{margin:8px 0 24px;line-height:1.95}.explain dt{margin-top:24px}.explain li{padding-left:5px;margin:14px 0}.symbolsection{margin:38px 0}.symbolsection>p{max-width:42em}
.symbols{gap:16px}.symbol{border-radius:6px;background:white;padding:22px 12px}.example{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:26px;margin:22px 0;box-shadow:none}.example-label .roman{font-size:1.1rem}.cellunit{background:var(--pale);border:0;box-shadow:none;border-radius:5px}.cellunit small{font-size:.8rem}.cellunit strong{font-size:.9rem}.sequence{gap:12px}.roman{font-variant-numeric:tabular-nums}
table{font-size:.9rem;line-height:1.85}th,td{padding:14px 16px;vertical-align:top}caption{text-align:left;font-size:.8rem;color:var(--muted);padding:0 0 12px}.tablewrap{border-radius:6px;margin:20px 0}
.practice{margin-top:48px}.question{padding:22px 24px;margin:14px 0;border:1px solid var(--line);border-radius:7px;background:white;box-shadow:none}.question h3{font-size:1.03rem;line-height:1.85}.question-no{font-size:.85rem;min-width:28px}.question details{padding-left:0}.question summary{font-size:.85rem;min-height:44px;padding:10px 0;color:var(--accent)}.question details p{font-size:.96rem;background:var(--pale);padding:16px 20px;border-radius:5px;line-height:1.95}
.app-alignment{padding:24px;background:var(--pale);border:0;border-radius:7px;box-shadow:none}.app-alignment p{font-size:.94rem}.app-alignment .eyebrow{font-size:.72rem}
.teacher-tools{border-top:1px solid var(--line);margin-top:40px;padding-top:14px}.teacher-tools>summary{min-height:48px;padding:10px 0;font-size:.87rem;color:var(--muted)}.teacher-tools .teaching-label{display:none}.teacher-tools .teaching-area{margin-top:18px}.teacher-panel{border-radius:6px;box-shadow:none}.teacher-panel>summary{font-size:.88rem;min-height:48px}.reviewform{background:var(--pale)}
.chapter-nav{gap:18px;margin-top:40px}.chapter-nav a{padding:20px;border:1px solid var(--line);border-radius:6px;min-height:90px;background:transparent}.chapter-nav strong{font-size:.9rem}.chapter-nav span{font-size:.75rem}.chapter-body [id],.chapter-body [tabindex]{scroll-margin-top:155px}.chapter-body a{overflow-wrap:anywhere}
.large-text:root{font-size:21px}.footer{font-size:.77rem}
@media(max-width:720px){.topbar{flex-wrap:nowrap!important;justify-content:space-between}.topbar .tools{width:auto;flex:0 0 auto}.topbar #print-all{display:none}}
@media(max-width:360px){.topbar .brand-sub{display:none}}
@media(max-width:1100px){.layout{grid-template-columns:230px minmax(0,1fr)}.mainwrap{padding:30px}.hero{grid-template-columns:1fr}.hero h1{max-width:12em;font-size:2.7rem}.hero-example{max-width:440px}.directory-part{grid-template-columns:1fr;gap:12px}.directory-part>header p{margin:6px 0}.directory-part>header h3{margin-top:7px}}
@media(max-width:720px){:root{font-size:17px}.topbar{height:auto;position:static;padding:16px 20px;display:flex;flex-wrap:wrap;gap:12px;border-bottom:1px solid var(--line)}.brand{font-size:1.4rem}.brand-sub{font-size:.78rem}.tools{width:auto;flex:1;justify-content:flex-end;flex-wrap:wrap;gap:6px}.tools button,.tools>a{font-size:.76rem;padding:8px 11px}.tools>a{display:none}.layout{display:block}.mainwrap{padding:20px}.mobile-nav{display:block;font-size:.75rem;margin:0 0 25px}.mobile-nav select{font-size:.95rem;padding:12px;min-height:48px;background:white;border-color:var(--line)}.hero{padding:2px 0 26px;gap:22px}.hero h1{font-size:2.3rem;max-width:9em;line-height:1.4;margin:14px 0}.hero-deck{font-size:1rem}.hero-example{max-width:none;padding:22px 14px}.hero-example .cell{width:60px}.hero-example .cellunit{min-width:70px}.reading-switch{margin-bottom:26px;padding-bottom:18px}.reading-switch>span{font-size:.76rem}.reading-switch>a{padding:8px 12px}.sectiontitle h2{font-size:1.4rem}.sectiontitle>span{font-size:.83rem}.directory-part{padding:22px 0;gap:12px}.directory-part>header p{font-size:.85rem}.chapterlist>a{padding:16px 4px;gap:12px}.chapterlist>a:nth-child(even){padding-left:4px}.chapterlist h4{font-size:1rem}.chapterlist p{font-size:.85rem}.chapter .chapterhead h1{font-size:1.9rem;line-height:1.5}.chapterhead .deck{font-size:.97rem}.goal{font-size:.95rem;padding:16px}.lesson-progress{font-size:.76rem}.chapter-sections{top:0;margin-bottom:25px;padding:9px 0;gap:3px}.chapter-sections a{font-size:.84rem;padding:8px 12px}.chapter-body h2{font-size:1.35rem;margin-top:34px}.explain h3{font-size:1.1rem}.explain p{font-size:1rem;line-height:1.95}.symbols{gap:12px}.symbol .cell{width:72px}.example{padding:20px 16px}.sequence{gap:8px}.cellunit{min-width:72px;padding:12px 5px}.cellunit .cell{width:58px}.cellunit strong{font-size:.86rem}.cellunit small{font-size:.79rem}.question{padding:18px 16px}.question h3{font-size:1rem}.question summary{font-size:.88rem}.question details p{padding:14px;font-size:.97rem}.question-no{font-size:.8rem}.app-alignment{padding:20px 16px}.app-alignment p{font-size:.95rem}.chapter-nav{gap:10px}.chapter-nav a{padding:16px 12px}.chapter-nav strong{font-size:.85rem}.chapter-nav span{font-size:.74rem}th,td{padding:12px 10px;font-size:.89rem}.tablewrap{overflow-x:auto}.chapter-body [id],.chapter-body [tabindex]{scroll-margin-top:90px}}
@media print{.teacher-tools>summary,.reading-switch,.hero-links{display:none}.teacher-tools>.teaching-area{display:block!important}.chapter-sections{display:none}.layout{display:block}.mainwrap{padding:0}.hero h1{font-size:30pt}.hero-example{background:white}.chapter-body{max-width:none}.question{break-inside:avoid}.teacher-menu{display:none}}
