/* Shared approved workspace styles. Page-specific answer styles load afterward. */
:root{color-scheme:light;--green:#117a55;--green-hover:#096142;--green-tint:#edf7f1;--ink:#202b29;--muted:#727e79;--line:#edf0ed;--surface:#f7f9f8;--sidebar:224px;--round:8px}
*{box-sizing:border-box;letter-spacing:0}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:14px;color:var(--ink);background:#fff;line-height:1.6}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer}button{border:0;background:none}a{color:inherit;text-decoration:none}button,input,a{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--green)}button,a{transition:background-color .16s,color .16s,border-color .16s}svg{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,p{margin:0}button svg{pointer-events:none}[hidden]{display:none!important}.skip-link{position:fixed;left:20px;top:-80px;z-index:100;background:var(--green);color:white;padding:12px}.skip-link:focus{top:12px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;color:#74817b;flex-shrink:0}.icon-button:hover{color:var(--ink);background:#edf2ee}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);border-right:1px solid var(--line);background:#fcfdfc;z-index:30;display:flex;flex-direction:column;padding:0 16px;overflow-y:auto}.brand{height:80px;display:flex;align-items:center;gap:10px;padding-left:10px;white-space:nowrap;font-size:21px;font-weight:750}.brand img{width:35px;height:35px}.side-nav{padding-top:17px;display:flex;flex-direction:column;gap:5px}.nav-item{display:flex;align-items:center;gap:13px;min-height:45px;padding:10px 15px;border-radius:7px;color:#66736c;font-weight:550;text-align:left;width:100%;white-space:nowrap}.nav-item.active{color:var(--green);background:#eaf5ee;font-weight:650}.nav-item:hover{background:#f0f4f1;color:var(--ink)}.nav-item.active:hover{background:#e0efe5;color:var(--green)}.nav-item svg{width:19px;height:19px}.nav-item small{margin-left:auto;font-size:11px;background:#e6ebe7;border-radius:5px;min-width:21px;text-align:center}.nav-item .outbound{margin-left:auto;width:14px;opacity:.65}.nav-label{padding:23px 15px 8px;font-size:11px;color:#8c9690;font-weight:550}.side-bottom{margin-top:auto;padding:64px 12px 16px}.week-heading{display:flex;align-items:center;justify-content:space-between;color:#64736b;font-size:12px}.week-heading svg{width:16px;height:16px}.week{display:flex;justify-content:space-between;margin:16px 0 10px}.week-day{display:flex;align-items:center;flex-direction:column;gap:7px;font-size:10px;color:#8b958f}.week-day i{font-style:normal;width:17px;height:17px;border:1px solid #e2e8e3;border-radius:50%;display:grid;place-items:center;background:#f6f8f6}.week-day.today i{border-color:#8dbf9f;border-width:2px}.week-day.done i{background:var(--green);border-color:var(--green);color:#fff}.week-day svg{width:11px;height:11px;stroke-width:2.8}.side-bottom p{font-size:11px;color:#929a95}.side-foot{border-top:1px solid var(--line);margin-top:24px;padding-top:16px;display:flex;align-items:center;justify-content:space-between;gap:3px;font-size:10px;color:#98a099}.side-foot .icon-button{width:25px;height:28px}.side-foot svg{width:16px;height:16px}.page-shell{margin-left:var(--sidebar)}.topbar{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:28px;padding:0 44px;position:relative;z-index:10;background:#fff}.top-location{display:flex;align-items:center;gap:14px;font-size:12px;white-space:nowrap}.location-parent,.location-divider{color:#9ca49e}.location-divider{font-size:10px}.top-location .icon-button{display:none}.global-search{display:flex;align-items:center;gap:10px;padding:0 8px 0 14px;background:#f5f7f5;border:1px solid transparent;border-radius:7px;width:340px;height:39px;margin-left:auto}.global-search:focus-within{background:#fff;border-color:#89b59c}.global-search>svg{width:16px;height:16px;color:#8a978f}.global-search input{min-width:0;width:100%;border:0;outline:none;background:none;font-size:12px;color:var(--ink)}input::placeholder{color:#96a199}.global-search button{width:26px;height:26px}.global-search button svg{width:14px;height:14px}.profile-button{width:33px;height:33px;border-radius:50%;background:#edf1e8;color:#708467;display:grid;place-items:center;flex-shrink:0}.profile-button svg{width:17px;height:17px}.main{max-width:1112px;padding:36px 44px 0;margin:auto}.subject-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:29px}.subject-copy{min-width:0}.subject-eyebrow{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:550;color:#879189;margin-bottom:9px}.subject-dot{width:6px;height:6px;border-radius:50%;background:#5ca580}.meta-separator{color:#c6ccc7;margin:0 2px}.subject-header h1{font-size:27px;line-height:1.45;font-weight:720;color:#1f2c26;overflow-wrap:anywhere}.subject-meta{margin-top:11px;font-size:12px;color:#8a948d;display:flex;align-items:center;gap:9px;flex-wrap:wrap}.subject-meta strong{font-weight:550;color:#64746a}.meta-dot{color:#bec7bf}.switch-subject{display:flex;align-items:center;justify-content:center;gap:8px;min-height:38px;white-space:nowrap;font-size:12px;color:#62726a;border:1px solid #e1e8e2;border-radius:7px;padding:0 12px;background:#fff;flex-shrink:0}.switch-subject:hover{background:#f5f8f5;border-color:#b8c9be}.switch-subject svg{width:16px;height:16px}.switch-subject .small-icon{width:12px;height:12px;margin-left:3px}.resume{display:flex;align-items:center;gap:14px;padding:16px 0 18px;margin-top:-4px;border-top:1px solid var(--line)}.resume-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:7px;background:var(--green-tint);color:var(--green)}.resume-icon svg{width:17px;height:17px}.resume-copy{display:flex;flex-direction:column;min-width:0;gap:2px}.resume-copy>span{font-size:10px;color:#87938c}.resume-copy strong{font-size:12px;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:530px}.resume>.text-link{margin-left:auto;flex-shrink:0}.learning-modes{padding-bottom:30px;border-bottom:1px solid var(--line)}.mode-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.mode-button{position:relative;display:flex;align-items:center;gap:12px;padding:16px 15px;min-height:77px;text-align:left;background:#f7f9f7;border:1px solid transparent;border-radius:8px;min-width:0}.mode-button:hover{background:#f0f5f0;border-color:#d9e5db}.mode-button.active{background:#edf7f0;border-color:#aad0b8}.mode-icon{width:36px;height:36px;flex-shrink:0;display:grid;place-items:center;border-radius:8px;background:#fff;color:var(--icon-color,#65806c);box-shadow:0 1px 2px #14291c05}.mode-icon svg{width:21px;height:21px;stroke-width:1.7}.mode-button.active .mode-icon{background:#197e55;color:#fff}.mode-copy{display:flex;flex-direction:column;min-width:0;gap:4px}.mode-copy strong{font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap}.mode-copy small{font-size:10px;color:#9ba59e;line-height:1.3}.mode-button.active .mode-copy strong{color:#166840}.mode-button.active .mode-copy small{color:#72a184}.mode-button.active:after{content:"";position:absolute;right:10px;top:9px;width:4px;height:4px;border-radius:50%;background:var(--green)}.content-section{padding-top:28px;min-height:420px}.content-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.content-title-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.content-heading h2{font-size:19px;line-height:1.4;font-weight:650}.edition-tag{font-size:10px;line-height:20px;padding:0 6px;border-radius:4px;background:#f0f4f0;color:#87958c;white-space:nowrap}.content-heading p{font-size:11px;color:#96a099;margin-top:8px}.text-link{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:#5b7768;white-space:nowrap}.text-link:hover{color:var(--green-hover)}.text-link svg{width:14px;height:14px}.list-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px;margin-bottom:7px}.chapter-filters{display:flex;align-items:center;gap:5px;min-width:0}.filter-button{font-size:11px;white-space:nowrap;color:#8c968f;padding:6px 10px;border-radius:5px;min-height:32px}.filter-button.active{color:#476957;background:#eef4ee}.filter-button:hover{background:#f3f6f3}.filter-button small{font-size:10px;color:#95a49b;padding-left:5px}.list-search{display:flex;align-items:center;gap:7px;max-width:170px;padding:7px 0 7px 8px;border-bottom:1px solid #e4eae5}.list-search svg{width:14px;height:14px;color:#9ba59f}.list-search input{width:100%;min-width:0;font-size:11px;border:0;outline:none;background:none;color:var(--ink)}.content-list{padding-top:7px}.chapter-item{border-bottom:1px solid var(--line)}.chapter-row{width:100%;min-height:73px;display:flex;align-items:center;gap:16px;text-align:left;padding:12px 10px;border-radius:6px}.chapter-row:hover{background:#f6f9f6}.chapter-row[aria-expanded=true]{background:#f5f9f5}.chapter-number{flex-shrink:0;display:grid;place-items:center;width:37px;height:37px;border-radius:7px;font-size:13px;font-variant-numeric:tabular-nums;color:#88998e;background:#f2f5f1}.chapter-row[aria-expanded=true] .chapter-number{color:var(--green);background:#e6f1e8}.chapter-name{font-size:13px;font-weight:550;flex:1;min-width:0;overflow-wrap:anywhere}.chapter-meta{display:flex;align-items:center;gap:35px;font-size:11px;color:#94a198;flex-shrink:0}.chapter-count{width:43px;text-align:right;font-variant-numeric:tabular-nums}.chapter-progress{font-size:10px;width:94px;display:flex;align-items:center;gap:7px;color:#a0aaa3}.tiny-track{width:37px;height:3px;border-radius:2px;background:#e9eee8;overflow:hidden;flex-shrink:0}.tiny-track i{display:block;height:100%;background:#449c6a;border-radius:2px}.row-chevron{width:16px;height:16px;color:#a1afa6;margin-left:7px}.chapter-row[aria-expanded=true] .row-chevron{transform:rotate(90deg);color:var(--green)}.chapter-questions{padding:5px 18px 14px 62px}.question-link{display:flex;align-items:center;gap:12px;padding:15px 7px;min-height:54px;border-bottom:1px solid var(--line);text-align:left}.question-link:last-child{border-bottom:0}.question-link:hover{background:#f6f9f7}.question-link svg{width:15px;height:15px;color:#85968a}.question-link .question-copy{flex:1;min-width:0}.question-copy strong{font-size:13px;font-weight:500;display:block;line-height:1.8;overflow-wrap:anywhere}.question-copy small{font-size:10px;color:#9ca79f;display:block;margin-top:3px}.question-index{font-size:11px;color:#a0aaa3;min-width:22px;font-variant-numeric:tabular-nums}.read-label{font-size:10px;color:#7b9a85;white-space:nowrap}.list-footer{text-align:center;padding:19px 0 0}.load-more{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:11px;color:#89988d;border:1px solid #e4eae4;border-radius:6px;padding:0 20px;background:#fff}.load-more:hover{color:var(--green);background:#f4f8f4}.load-more svg{width:14px;height:14px}.back-button{display:inline-flex;gap:6px;align-items:center;font-size:12px;color:var(--green);margin-bottom:12px}.back-button svg{width:14px;height:14px;transform:rotate(180deg)}.main-footer{display:flex;align-items:center;gap:25px;flex-wrap:wrap;padding:28px 0 24px;margin-top:25px;color:#a7afa8;font-size:10px}.main-footer>span:first-child{font-weight:600;color:#829084}.main-footer>div{display:flex;gap:20px}.footer-note{margin-left:auto}.main-footer a:hover{color:var(--green)}.empty-state{padding:52px 20px 66px;text-align:center}.empty-icon{width:52px;height:52px;background:#f1f6f1;color:#79a088;border-radius:8px;display:grid;place-items:center;margin:0 auto 18px}.empty-icon svg{width:25px;height:25px}.empty-state h3{font-size:16px;font-weight:600;margin-bottom:8px}.empty-state p{font-size:12px;color:#929e95;line-height:1.9;max-width:410px;margin:0 auto 20px}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--green);color:#fff;padding:10px 18px;border-radius:7px;font-size:12px;min-height:42px}.primary-button:hover{background:var(--green-hover);color:#fff}.primary-button svg{width:15px;height:15px}.exam-row{display:flex;align-items:center;gap:17px;min-height:88px;padding:15px 10px;border-bottom:1px solid var(--line);width:100%;text-align:left}.exam-row:hover{background:#f7f9f7}.exam-icon{width:40px;height:44px;background:#f0f5f0;border-radius:6px;color:#7da38a;display:grid;place-items:center}.exam-copy{flex:1;min-width:0}.exam-copy strong{display:block;font-size:14px;font-weight:550}.exam-copy small{display:block;font-size:11px;color:#8c9a90;margin-top:6px}.exam-row>span:last-of-type{color:#8e9f92;font-size:12px}.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.tool-link{padding:22px;background:var(--surface);border-radius:8px;display:flex;align-items:center;gap:15px}.tool-link:hover{background:#edf4ee}.tool-link>svg{color:#679479}.tool-link strong{font-size:14px;font-weight:550;display:block}.tool-link small{font-size:11px;color:#87978b}.mode-status{font-size:11px;color:#8b998f;padding:8px 0 13px}.storage-note{font-size:11px;color:#9ba69e;text-align:center;padding:12px 0}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.dialog-header h2{font-size:22px;font-weight:650}.dialog-header p{font-size:12px;color:#89978e;margin-top:7px}dialog{border:1px solid #e3eae4;border-radius:8px;padding:28px;width:min(580px,calc(100% - 32px));max-height:85dvh;color:var(--ink);box-shadow:0 25px 90px #172b2330}dialog::backdrop{background:#15251e55;backdrop-filter:blur(3px)}.dialog-search{display:flex;align-items:center;gap:10px;background:#f4f7f4;padding:11px 13px;margin-top:24px;border-radius:7px}.dialog-search svg{width:17px;color:#8da294}.dialog-search input{border:0;outline:none;background:none;width:100%;min-width:0;color:var(--ink);font-size:13px}.subject-levels{display:flex;gap:5px;margin:17px 0 12px}.subject-options{max-height:365px;overflow-y:auto;scrollbar-width:thin}.subject-option{width:100%;padding:13px 12px;text-align:left;display:flex;align-items:center;gap:12px;border-radius:6px;font-size:13px;min-height:48px}.subject-option:hover{background:#f4f8f4}.subject-option.selected{background:var(--green-tint);color:var(--green)}.subject-option>span{flex:1;overflow-wrap:anywhere}.subject-option small{font-size:11px;color:#93a097;white-space:nowrap}.subject-option svg{width:16px;height:16px}.no-js{padding:20px;margin-left:240px}.nav-shade{position:fixed;inset:0;background:#12271b55;z-index:29}.is-collapsed{--sidebar:76px}.is-collapsed .sidebar{padding:0 12px}.is-collapsed .brand{padding:0;justify-content:center}.is-collapsed .brand>span,.is-collapsed .nav-item>span,.is-collapsed .nav-label,.is-collapsed .nav-item small,.is-collapsed .nav-item .outbound,.is-collapsed .side-bottom{display:none}.is-collapsed .nav-item{justify-content:center;padding:12px 0}.is-collapsed .top-location .icon-button{display:inline-flex}.is-collapsed .side-nav{gap:12px}
@media(min-width:1600px){.main{padding-top:44px}.subject-header{margin-bottom:33px}.mode-button{min-height:84px}.chapter-row{min-height:77px}}
@media(max-width:1199px){:root{--sidebar:196px}.sidebar{padding:0 12px}.brand{font-size:19px;padding-left:8px}.brand img{width:32px;height:32px}.topbar{padding:0 28px;gap:18px}.main{padding:30px 28px 0}.mode-button{padding:13px 10px;gap:8px;min-height:75px}.mode-icon{width:31px;height:33px;border-radius:6px}.mode-icon svg{width:19px;height:19px}.mode-copy strong{font-size:12px}.mode-copy small{font-size:9px}.chapter-meta{gap:20px}.subject-header h1{font-size:25px}.global-search{width:280px}.subject-header{gap:12px}.side-foot{font-size:9px}}
@media(max-width:839px){:root{--sidebar:76px}.sidebar{padding:0 12px}.brand{padding:0;justify-content:center}.brand>span,.nav-item>span,.nav-label,.nav-item small,.nav-item .outbound,.side-bottom{display:none}.nav-item{justify-content:center;padding:12px 0}.side-nav{gap:12px}.top-location .icon-button{display:inline-flex}.nav-expanded{--sidebar:224px}.nav-expanded .sidebar{width:224px;box-shadow:12px 0 30px #20392912}.nav-expanded .brand>span,.nav-expanded .nav-item>span,.nav-expanded .nav-label,.nav-expanded .side-bottom{display:block}.nav-expanded .brand{justify-content:flex-start;padding-left:8px}.nav-expanded .nav-item{justify-content:flex-start;padding:10px 15px}.nav-expanded .side-nav{gap:5px}.nav-expanded .page-shell{margin-left:76px}.subject-header h1{font-size:24px}.mode-grid{gap:9px}.main{max-width:980px}.resume-copy strong{max-width:380px}}
@media(max-width:699px){:root{--sidebar:0px}.sidebar{width:224px;transform:translateX(-100%);transition:transform .2s ease}.nav-expanded .sidebar{transform:translateX(0)}.page-shell,.nav-expanded .page-shell{margin-left:0}.topbar{height:60px;padding:0 18px;gap:12px}.top-location{gap:9px}.location-parent,.location-divider{display:none}.top-location .icon-button{margin-left:-7px}.global-search{width:auto;flex:1;max-width:250px;padding-left:10px;height:35px}.global-search input{font-size:11px}.global-search>svg{display:none}.profile-button{display:none}.main{padding:25px 20px 0}.subject-header{align-items:flex-start;position:relative;margin-bottom:23px;gap:8px}.subject-eyebrow{margin-bottom:10px}.subject-header h1{font-size:23px;line-height:1.55;padding-right:0}.subject-copy{width:100%;padding-top:0}.subject-meta{font-size:11px;margin-top:10px;gap:7px}.switch-subject{position:absolute;top:-4px;right:0;font-size:11px;min-height:30px;border-color:transparent;padding:0 0 0 8px;gap:5px}.switch-subject>svg:first-child{display:none}.switch-subject .small-icon{width:11px}.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mode-button{min-height:67px;padding:11px 12px;gap:11px}.mode-icon{width:33px;height:34px}.mode-icon svg{width:20px;height:20px}.mode-copy strong{font-size:12px}.mode-copy small{font-size:10px}.learning-modes{padding-bottom:23px}.content-section{padding-top:24px}.content-heading h2{font-size:18px}.content-heading p{font-size:10px;max-width:245px}.all-library{font-size:10px}.list-controls{margin-top:18px;gap:8px;flex-wrap:wrap}.chapter-filters{width:100%;justify-content:space-between;gap:0}.filter-button{font-size:10px;padding:6px 8px}.filter-button small{font-size:9px;padding-left:3px}.list-search{max-width:none;width:100%;padding:8px 6px;margin-top:5px}.chapter-row{min-height:72px;gap:10px;padding:12px 2px}.chapter-number{width:31px;height:33px;font-size:12px}.chapter-name{font-size:12px}.chapter-meta{gap:7px}.chapter-count{width:32px;font-size:10px}.chapter-progress{display:none}.row-chevron{width:13px;height:13px;margin-left:3px}.chapter-questions{padding:0 2px 10px 21px}.question-copy strong{font-size:12px}.read-label{display:none}.question-link{gap:7px;padding:12px 5px}.resume{gap:10px;padding:12px 0 15px}.resume-icon{width:30px;height:30px;flex-shrink:0}.resume-copy strong{white-space:normal;max-width:none;font-size:11px}.resume>.text-link{font-size:10px}.resume>.text-link svg{display:none}.resume-copy>span{font-size:9px}.main-footer{gap:18px;margin-top:16px;padding-top:22px}.footer-note{width:100%;margin:0;font-size:9px}.tool-grid{grid-template-columns:1fr}.exam-copy strong{font-size:12px}.exam-copy small{font-size:10px}.exam-row{gap:12px}.exam-icon{width:34px;height:39px}.exam-row>span:last-of-type{font-size:10px}.empty-state{padding:38px 5px}.empty-state p{font-size:11px}.empty-state h3{font-size:15px}dialog{padding:22px 18px}.dialog-header h2{font-size:20px}.subject-option{font-size:12px;padding-left:6px;padding-right:6px;gap:8px}.no-js{margin-left:0}.is-collapsed .page-shell{margin-left:0}}
@media(max-width:359px){.main{padding-left:14px;padding-right:14px}.subject-header h1{font-size:21px}.mode-button{padding:10px 8px;gap:8px}.mode-copy strong{font-size:11px}.mode-copy small{font-size:9px}.mode-icon{width:29px;height:31px}.mode-icon svg{width:18px;height:18px}.content-heading{gap:8px}.content-heading h2{font-size:17px}.topbar{padding:0 14px}.top-location{font-size:11px}.global-search input{font-size:10px}.filter-button{padding:6px}.chapter-name{font-size:11px}}
.nav-item{font-size:14px}.nav-label{font-size:12px;color:#758179}.side-bottom p{color:#748078}.week-day{color:#78837c}.side-foot{color:#768279}.top-location{font-size:13px}.location-parent,.location-divider{color:#7c8880}.global-search input{font-size:13px}input::placeholder{color:#74837a}.subject-eyebrow{font-size:12px;color:#6e7c72}.subject-meta{font-size:13px;color:#6e7d73}.subject-meta strong{color:#536c5b}.switch-subject{font-size:13px;min-height:40px}.mode-copy strong{font-size:15px;font-weight:600}.mode-copy small{font-size:12px;color:#718075}.mode-button.active .mode-copy small{color:#528064}.mode-icon{width:39px;height:39px}.mode-icon svg{width:23px;height:23px}.content-heading h2{font-size:21px}.content-heading p{font-size:12px;color:#76867b}.edition-tag{font-size:11px;color:#637c6b}.text-link{font-size:12px;color:#52775f}.filter-button{font-size:12px;color:#718075}.filter-button small{font-size:11px;color:#718476}.list-search input{font-size:12px}.chapter-name{font-size:15px}.chapter-number{font-size:14px;color:#6d8375}.chapter-count{font-size:12px;color:#718375}.chapter-progress{font-size:11px;color:#788b7d}.question-copy strong{font-size:14px}.question-copy small{font-size:12px;color:#728275}.question-index,.read-label{color:#6d8776;font-size:12px}.resume-copy>span{font-size:12px;color:#738579}.resume-copy strong{font-size:13px;font-weight:500}.load-more{font-size:12px;color:#607d6b}.main-footer{color:#748378;font-size:11px}.main-footer>span:first-child{color:#687f6e}.subject-option small{color:#6c8172}.empty-state p,.storage-note{color:#718277}.exam-copy small{color:#738579}.exam-row>span:last-of-type{color:#6c8172}.tool-link small{color:#6f8275}
@media(max-width:1199px) and (min-width:700px){.mode-copy strong{font-size:13px}.mode-copy small{font-size:11px}.mode-icon{width:33px;height:35px}.mode-icon svg{width:21px;height:21px}.chapter-name{font-size:14px}}
@media(min-width:840px) and (max-width:1000px){.mode-button{padding:12px 9px;gap:7px}.mode-copy strong{font-size:12px}.mode-copy small{font-size:10px}.mode-icon{width:30px;height:32px}.resume-copy{flex:1}.resume-copy strong{max-width:100%;white-space:normal}.resume>.text-link{font-size:11px}.subject-header h1{font-size:24px}.global-search{width:245px}}
@media(max-width:699px){.top-location{font-size:12px}.global-search input{font-size:12px}.main{padding-top:22px}.subject-meta{font-size:12px}.switch-subject{font-size:12px;min-height:30px}.mode-copy strong{font-size:13px}.mode-copy small{font-size:11px}.mode-icon{width:33px;height:34px}.mode-icon svg{width:22px;height:22px}.content-heading h2{font-size:19px}.content-heading p{font-size:11px}.all-library{font-size:11px}.filter-button{font-size:11px;padding:6px}.filter-button small{font-size:10px}.chapter-name{font-size:14px}.chapter-count{font-size:11px}.chapter-number{font-size:12px}.question-copy strong{font-size:13px}.question-copy small{font-size:11px}.resume-copy strong{font-size:12px}.resume-copy>span{font-size:11px}.resume>.text-link{font-size:11px}.chapter-row{min-height:68px}.main-footer{font-size:10px}.footer-note{font-size:10px}}
@media(max-width:359px){.global-search input{font-size:11px}.mode-copy strong{font-size:12px}.mode-copy small{font-size:10px}.mode-icon{width:29px;height:31px}.mode-icon svg{width:20px;height:20px}.chapter-name{font-size:13px}.filter-button{padding:6px 4px;font-size:10px}.filter-button small{padding-left:3px}.resume-copy strong{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Keep the navigation toggle in the same bottom-left slot in both states. */
.sidebar { overflow-y: auto; }
.brand, .side-nav, .side-bottom, .side-foot { flex-shrink: 0; }
.side-bottom { padding-bottom: 20px; }
.side-foot {
  position: sticky;
  bottom: 0;
  z-index: 1;
  margin-top: 0;
  padding: 12px 4px;
  min-height: 61px;
  justify-content: flex-start;
  gap: 8px;
  background: #fcfefb;
  font-size: 10px;
}
.side-foot > span { white-space: nowrap; }
.side-foot .icon-button { width: 36px; height: 36px; color: #486b51; }
.side-foot svg { width: 20px; height: 20px; }
.is-collapsed .side-foot { margin-top: auto; padding-left: 8px; padding-right: 8px; }
.is-collapsed .side-foot > span { display: none; }
@media (min-width: 840px) {
  .is-collapsed .top-location .icon-button { display: none; }
}
@media (max-width: 1199px) {
  .side-foot { padding-left: 8px; padding-right: 8px; }
}
@media (max-width: 839px) {
  .side-foot { margin-top: auto; }
  .side-foot > span { display: none; }
  .nav-expanded .side-foot { margin-top: 0; }
  .nav-expanded .side-foot > span { display: inline; }
}
@media (min-width: 700px) and (max-width: 839px) {
  .top-location .icon-button { display: none; }
}

.textbook-chapter .chapter-number { width: 51px; background: none; font-size: 13px; color: #58715f; }
.textbook-chapter .chapter-count { width: 60px; }
.textbook-chapter .chapter-progress { width: 112px; }
.chapter-sections { padding: 4px 12px 12px 25px; }
.section-row {
  width: 100%;
  min-height: 54px;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto 75px 16px;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  text-align: left;
  border-radius: 6px;
}
button.section-row:hover { background: #f3faef; }
button.section-row[aria-expanded="true"] { background: #eff9e9; }
.section-number { color: #667c6b; font-size: 13px; font-variant-numeric: tabular-nums; }
.section-name { min-width: 0; overflow-wrap: anywhere; font-size: 14px; color: #294632; }
.section-count, .section-progress { color: #607267; font-size: 12px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.section-progress { text-align: right; }
.section-row > svg { width: 16px; height: 16px; color: #55795e; }
.section-row[aria-expanded="true"] > svg { transform: rotate(90deg); }
.section-unavailable .section-count { grid-column: 3 / -1; text-align: right; }
.section-questions { padding: 0 12px 8px 54px; }
@media (max-width: 699px) {
  .textbook-chapter .chapter-number { width: 43px; font-size: 12px; }
  .textbook-chapter .chapter-count { width: 54px; }
  .chapter-sections { padding: 4px 0 10px 10px; }
  .section-row { grid-template-columns: 26px minmax(0, 1fr) auto 14px; gap: 8px; padding: 10px 6px; }
  .section-progress { display: none; }
  .section-name { font-size: 13px; }
  .section-count { font-size: 11px; }
  .section-questions { padding: 0 0 8px 12px; }
}

.question-location { display: block; color: #546f5c; font-size: 12px; line-height: 1.7; margin-bottom: 4px; overflow-wrap: anywhere; }
.search-unavailable { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 7px; border-bottom: 1px solid var(--line); font-size: 12px; color: #607267; }
.search-unavailable > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.search-unavailable > span:last-child { white-space: nowrap; }
.list-footer .load-more + .load-more { margin-left: 10px; }
.list-search:focus-within { border-bottom-color: var(--green); }
.list-search input:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }

@media (max-width: 699px) {
  .chapter-meta { flex-direction: column; align-items: flex-end; gap: 3px; }
  .chapter-count, .textbook-chapter .chapter-count { width: auto; }
  .chapter-progress, .textbook-chapter .chapter-progress { display: flex; width: auto; color: #607267; font-size: 11px; white-space: nowrap; }
  .chapter-progress .tiny-track { display: none; }
  .section-row { grid-template-rows: auto auto; row-gap: 2px; }
  .section-number { grid-column: 1; grid-row: 1 / 3; }
  .section-name { grid-column: 2; grid-row: 1 / 3; }
  .section-count { grid-column: 3; grid-row: 1; text-align: right; }
  .section-progress { display: block; grid-column: 3; grid-row: 2; font-size: 11px; }
  .section-row > svg { grid-column: 4; grid-row: 1 / 3; }
  .section-unavailable .section-count { grid-row: 1 / 3; }
}

.practice-start { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 16px 18px; }
.practice-start > span { color: var(--muted); font-size: 13px; }
.practice-start .primary-button { min-height: 40px; padding: 9px 14px; font-size: 13px; text-decoration: none; }
.collection-start { padding: 18px 0; border-bottom: 1px solid var(--line); }
.collection-start > div { flex: 1 1 220px; min-width: 0; }
.collection-start strong { font-size: 14px; font-weight: 600; }
.collection-start p { margin-top: 4px; color: #67776b; font-size: 12px; }
.mode-title-compact { display: none; }
.home-page .mode-button.mode-pending { background: #fafbfa; border-color: #dce3dc; border-style: dashed; }
.home-page .mode-button.mode-pending .mode-icon { background: #edf1ee; color: #728077; }
.home-page .mode-button.mode-pending small { color: #68766e; font-weight: 600; }
.home-page .mode-button.mode-pending.active { border-color: #728c7a; background: #f1f5f0; }
.home-page .profile-button { width: 40px; height: 40px; }
.home-page .resume > .resume-action { min-height: 44px; padding: 8px 14px; border-radius: 6px; background: #e2f9cf; color: #255b32; font-size: 13px; font-weight: 600; }
.home-page .resume > .resume-action:hover { background: #d4f3b6; }
.home-page .main-footer { font-size: 12px; }
.home-resource-shortcuts { display: flex; gap: 24px; padding-top: 10px; }
.home-resource-shortcuts a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: #44614d; font-size: 13px; border-radius: 6px; padding: 0 8px; }
.home-resource-shortcuts a:hover { background: #f0f8ed; color: #245d33; }
.home-resource-shortcuts svg { width: 18px; height: 18px; }
.home-resource-shortcuts a > svg:last-child { width: 14px; color: #718277; }
.home-resource-shortcuts + .content-section { padding-top: 18px; }
.home-resource-shortcuts[hidden] + .content-section { padding-top: 28px; }
.home-page .main-footer > div { flex-wrap: wrap; gap: 4px 20px; }
.home-page .main-footer a { display: inline-flex; align-items: center; min-height: 44px; }
.resource-row { display: flex; gap: 14px; align-items: flex-start; padding: 20px 10px; border-bottom: 1px solid var(--line); border-radius: 6px; }
.resource-row:hover { background: #f6faf4; }
.resource-row-icon { flex-shrink: 0; width: 36px; height: 36px; display: grid; place-items: center; background: #eef6e9; color: #47713d; border-radius: 6px; }
.resource-row-icon svg { width: 20px; height: 20px; }
.resource-row-copy { flex: 1; min-width: 0; }
.resource-row-copy strong { display: block; font-size: 15px; font-weight: 600; line-height: 1.7; overflow-wrap: anywhere; }
.resource-row-copy > span { display: block; margin-top: 6px; font-size: 13px; color: #66766c; line-height: 1.8; overflow-wrap: anywhere; }
.resource-row > svg { width: 16px; height: 16px; margin-top: 10px; color: #718277; }
.home-page .tool-link > span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.home-page .tool-link small { display: block; line-height: 1.8; margin-top: 4px; }
.home-page .tool-link > svg:last-child { width: 16px; height: 16px; }
.resource-directory-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-top: 16px; font-size: 13px; color: #44614d; }
.resource-directory-link:hover { color: var(--green-hover); text-decoration: underline; }
.resource-directory-link svg { width: 16px; height: 16px; }
.resource-fallback { margin-top: 16px; }
.resource-fallback summary { padding: 12px 0; cursor: pointer; }
.resource-fallback a { display: inline-block; padding: 8px 0; overflow-wrap: anywhere; }
@media (max-width: 699px) {
  .home-resource-shortcuts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding-top: 6px; }
  .home-resource-shortcuts a { padding: 0 4px; font-size: 12px; }
  .home-resource-shortcuts[hidden] + .content-section { padding-top: 20px; }
  .resource-row { gap: 10px; padding: 18px 2px; }
  .resource-row-icon { width: 30px; height: 32px; }
  .resource-row-copy strong { font-size: 14px; }
  .resource-row-copy > span { font-size: 12px; }
}
@media (max-width: 699px) {
  .practice-start { padding: 12px 8px; gap: 8px; }
  .practice-start > span { font-size: 12px; }
  .home-page .mode-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px 6px; }
  .home-page .mode-button { flex-direction: column; justify-content: center; gap: 7px; padding: 8px 2px; min-height: 94px; text-align: center; }
  .home-page .mode-icon { width: 32px; height: 32px; border-radius: 7px; }
  .home-page .mode-icon svg { width: 22px; height: 22px; }
  .home-page .mode-copy { align-items: center; gap: 4px; }
  .home-page .mode-copy strong { font-size: 12px; line-height: 1.5; }
  .home-page .mode-copy small { font-size: 11px; line-height: 1.4; }
  .home-page .mode-title-full { display: none; }
  .home-page .mode-title-compact { display: inline; }
  .home-page .learning-modes { padding-bottom: 20px; }
  .home-page .content-section { padding-top: 20px; }
  .home-page .list-controls { margin-top: 8px; margin-bottom: 0; gap: 6px; }
  .home-page .list-search { margin-top: 0; }
  .home-page .content-list { padding-top: 0; }
  .home-page .content-heading p { font-size: 12px; max-width: none; }
  .home-page .subject-meta { font-size: 12px; }
  .home-page .subject-header { margin-bottom: 18px; }
  .home-page .resume { padding: 10px 0 14px; }
  .home-page .resume > .resume-action { padding: 8px 10px; font-size: 12px; }
  .home-page .resume-copy > span { font-size: 11px; }
  .home-page .topbar .icon-button { width: 44px; height: 44px; }
  .home-page .global-search { height: 44px; padding-right: 0; }
  .home-page .filter-button, .home-page .list-search { min-height: 44px; }
  .home-page .main-footer .footer-note { font-size: 12px; }
}
/* The same public directory is available before and after interactive rendering. */
.catalog-directory { margin-top: 28px; padding-top: 18px; border-top: 1px solid #e5eae5; }
.catalog-directory h2 { font-size: 16px; margin: 0 0 8px; }
.catalog-directory h3 { font-size: 14px; margin: 18px 0 8px; }
.catalog-directory summary { padding: 12px 0; cursor: pointer; font-size: 14px; }
.catalog-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 20px; padding: 8px 0 16px; }
.catalog-links a, .static-chapter-links a { color: #286840; padding: 8px 0; font-size: 14px; overflow-wrap: anywhere; text-decoration: none; }
.catalog-links a:hover, .static-chapter-links a:hover { text-decoration: underline; }
.static-chapter { border-bottom: 1px solid #e5eae5; }
.static-chapter summary { cursor: pointer; padding: 20px 0; font-size: 15px; }
.static-chapter summary span { float: right; margin-left: 12px; color: #667468; }
.static-chapter-links { display: grid; gap: 4px; padding: 0 16px 16px; }
@media (max-width: 600px) { .catalog-links { grid-template-columns: minmax(0, 1fr); } }
