:root{--surface:#fff;--surface-soft:#f6f8fb;--text-main:#202b3c;--text-soft:#718096;--border:#e5e9ef;--action:#2867de;--page:#fff;color-scheme:light}
html[data-theme=dark]{background:#10151e;color-scheme:dark}
body{--surface:#fff;--surface-soft:#f6f8fb;--text-main:#202b3c;--text-soft:#718096;--border:#e5e9ef;--action:#2867de;--page:#fff}
body[data-theme=dark]{--surface:#171e29;--surface-soft:#1f2835;--text-main:#e8eef8;--text-soft:#a7b4c9;--border:#303b4d;--action:#8cb8ff;--page:#10151e;--ink:var(--text-main);--muted:var(--text-soft);--line:var(--border);--blue:var(--action);--blue-light:#22334e;--blue-dark:#b0cdff;color-scheme:dark}
body .topbar>#menu-button{display:grid!important;place-items:center;flex-shrink:0;width:34px;height:34px;border-radius:11px;background:var(--surface-soft);color:var(--text-soft)}
.topbar>#menu-button svg{width:19px;height:19px}.topbar .brand{width:170px}.topbar{gap:17px}.topbar .search-trigger{min-width:240px}
.sidebar,.workspace{transition:transform .22s,margin-left .22s}.sidebar{transition:transform .22s}
@media(min-width:651px){body[data-sidebar-closed=true] .sidebar{transform:translateX(-100%);pointer-events:none}body[data-sidebar-closed=true] .workspace{margin-left:0}body[data-sidebar-closed=true] main{max-width:1800px;margin-inline:auto}}
body[data-page=subject] main{padding:0;max-width:none}.course-shell{background:var(--surface);border:1px solid var(--border);border-radius:22px;margin:24px 28px 30px;overflow:hidden;color:var(--text-main);--subject-ink:var(--subject-color)}
.course-hero{padding:35px 48px 0;background:linear-gradient(180deg,var(--subject-tint),var(--surface) 93%)}
.course-hero>.back-link{display:inline-flex;align-items:center;gap:7px;margin:0 0 26px;font-size:12px;color:var(--text-soft)}.course-hero>.back-link svg{width:15px;height:15px}
.course-title-row{display:flex;align-items:center;justify-content:space-between;gap:22px}.course-title-row h1{font-size:32px;font-weight:550;letter-spacing:-1.2px;line-height:1.25;color:var(--text-main)}
.course-selectors{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:14px}.level-switch{display:flex;border:1px solid #ffffff88;padding:3px;border-radius:12px;background:#ffffff55;gap:3px}.level-switch button{font:inherit;font-size:13px;border:0;background:none;color:var(--text-soft);border-radius:9px;padding:7px 14px;cursor:pointer}.level-switch button[aria-pressed=true]{background:var(--surface);color:var(--subject-ink);box-shadow:0 2px 5px #162c4a09;font-weight:650}
.course-choice select{font:inherit;font-size:12px;background:#ffffff66;color:var(--text-main);border:1px solid #ffffff88;padding:9px 29px 9px 11px;border-radius:10px;max-width:250px}.course-progress-chip{display:flex;gap:10px;align-items:center;border:1px solid #ffffff90;border-radius:17px;padding:13px 17px;background:#ffffff55}.course-progress-chip>svg{width:21px;height:21px;color:var(--subject-ink)}.course-progress-chip strong{font-weight:550;font-size:15px;display:block}.course-progress-chip small{font-size:10px;display:block;color:var(--text-soft);margin-top:4px}
.course-version{font-size:11px;color:var(--text-soft);margin-top:18px;line-height:1.8}.course-version>span{padding:0 6px}
.course-tabs{display:flex;gap:3px;margin-top:32px;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:thin}.course-tabs>a{display:flex;align-items:center;gap:9px;padding:16px 15px 15px;color:var(--text-soft);font-size:14px;white-space:nowrap;border-bottom:2px solid transparent;font-weight:450}.course-tabs>a:first-child{padding-left:0;padding-right:19px}.course-tabs svg{width:19px;height:19px;stroke-width:1.9}.course-tabs>a.selected{color:var(--subject-ink);border-color:var(--subject-ink);font-weight:550}.course-tabs>a:hover{color:var(--subject-ink)}
.course-body{padding:27px 48px 35px}.ia-launchpad{display:flex;align-items:center;gap:24px;border:1px solid var(--border);border-radius:17px;padding:23px 25px}.ia-launchpad>div{min-width:180px}.ia-launchpad>div>span{font-size:12px;color:var(--text-soft)}.ia-launchpad h2{font-size:17px;font-weight:550;letter-spacing:-.35px;line-height:1.4;margin-top:5px}.ia-launchpad ol{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:11px 18px;margin:0 auto}.ia-launchpad li{display:flex;align-items:center;gap:8px;color:var(--text-soft);font-size:12px}.ia-launchpad li b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--surface-soft);color:var(--text-main);font-weight:550}.ia-launchpad>.button{white-space:nowrap;border-radius:30px;padding:10px 15px;font-size:13px}.button svg{width:16px;height:16px}
.course-section{margin-top:36px}.course-section-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.course-section-title h2,.course-overview h2{font-size:21px;letter-spacing:-.5px;font-weight:550;color:var(--text-main)}.course-section-title>span{font-size:12px;color:var(--text-soft);white-space:nowrap}.course-section-title p{font-size:13px;color:var(--text-soft);line-height:1.8;margin-top:7px}.course-section-title>.text-button{font-size:12px;text-align:right}
.resource-launch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}.resource-launch{display:flex;align-items:center;gap:17px;padding:17px 9px;border-radius:15px;transition:background .18s,transform .18s}.resource-launch:hover{background:var(--surface-soft);transform:translateY(-2px)}.resource-launch h3{font-size:17px;font-weight:550;letter-spacing:-.3px;color:var(--text-main)}.resource-launch p{font-size:12px;color:var(--text-soft);line-height:1.7;margin-top:5px;max-width:250px}.resource-symbol{flex-shrink:0;width:65px;height:65px;border-radius:20px;display:grid;place-items:center;background:#e3edff;color:#397ae0}.resource-symbol svg{width:30px;height:30px;stroke-width:1.7}.resource-symbol.violet{background:#e8e5ff;color:#7f73ea}.resource-symbol.orange{background:#ffeddb;color:#d68839}.resource-symbol.green{background:#dcf3ea;color:#289e7b}.resource-symbol.rose{background:#ffe3e9;color:#da6485}.resource-symbol.purple{background:#eee3ff;color:#9a6cce}.launch-arrow{margin-left:auto;color:var(--text-soft);font-size:22px;opacity:0;transition:opacity .2s}.resource-launch:hover .launch-arrow{opacity:1}
.course-overview{margin-top:35px;padding:24px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft)}.course-overview>p,.assessment-card>p{font-size:13px;line-height:1.9;color:var(--text-soft);margin-top:10px}.framework-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:17px}.framework-pills>span{padding:7px 10px;border:1px solid var(--border);background:var(--surface);border-radius:9px;font-size:11px;line-height:1.5;color:var(--text-soft)}.course-note{font-size:12px!important;color:var(--text-soft)!important;line-height:1.85!important}.course-source{font-size:11px;color:var(--text-soft);line-height:1.9;padding-top:28px;margin-top:27px;border-top:1px solid var(--border)}.course-source a{color:var(--action)}
.topic-accordion>details{border-bottom:1px solid var(--border);padding:0 0 13px;margin-bottom:13px}.topic-accordion summary{display:flex;align-items:center;gap:14px;cursor:pointer;list-style:none;padding:12px 0;font-size:16px;font-weight:550;letter-spacing:-.25px}.topic-accordion summary::-webkit-details-marker{display:none}.topic-accordion summary>small{font-size:11px;font-weight:400;color:var(--text-soft);margin-left:auto;white-space:nowrap}.topic-accordion summary>svg{width:14px;height:14px;transform:rotate(90deg);color:var(--text-soft)}.topic-accordion details[open] summary>svg{transform:rotate(-90deg)}.topic-list{padding:7px 0 5px 5px}.topic-row{display:flex;align-items:center;gap:13px;padding:12px 9px;border-radius:12px}.topic-row:hover{background:var(--surface-soft)}.topic-row>a:not(.topic-practice){flex:1}.topic-row strong{display:block;font-size:14px;font-weight:450;color:var(--text-main);line-height:1.5}.topic-row small{display:block;font-size:10px;color:var(--text-soft);margin-top:4px}.completion-dot{display:grid;place-items:center;width:23px;height:23px;border:2px dashed var(--border);background:none;border-radius:50%;flex-shrink:0;cursor:pointer}.completion-dot.done{background:var(--subject-color);border:0;color:white}.completion-dot svg{width:14px;height:14px}.topic-practice{color:var(--text-soft);display:grid;place-items:center;padding:7px}.topic-practice svg{width:17px;height:17px}.topic-row .save-button{padding:7px}.topic-row .save-button svg{width:17px;height:17px}
.course-empty,.plan-intro{text-align:center;padding:40px 24px;border:1px dashed var(--border);border-radius:18px}.course-empty .resource-symbol,.plan-intro .resource-symbol{margin:0 auto 20px}.course-empty h2,.plan-intro h2{font-size:22px;letter-spacing:-.6px;font-weight:500}.course-empty p,.plan-intro p{max-width:450px;margin:13px auto 22px;font-size:14px;color:var(--text-soft);line-height:1.8}
.assessment-grid{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(0,1.3fr);gap:22px;align-items:start}.assessment-card{padding:23px;border:1px solid var(--border);border-radius:17px}.assessment-card h3{font-size:19px;letter-spacing:-.4px;font-weight:550;margin-bottom:15px;color:var(--text-main)}.assessment-card>.eyebrow{font-size:10px;display:block;margin-bottom:10px}.assessment-row{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--border);font-size:13px;line-height:1.7;color:var(--text-soft)}.assessment-row b{font-weight:550;color:var(--text-main);white-space:nowrap}.ia-checklist{margin-top:19px}.ia-checklist label{display:flex;align-items:flex-start;gap:12px;padding:13px 0;border-top:1px solid var(--border);cursor:pointer;font-size:13px;line-height:1.9;color:var(--text-soft)}.ia-checklist input{margin-top:5px;accent-color:var(--subject-color)}.ia-checklist label>span>b{display:block;font-size:10px;color:var(--subject-ink);font-weight:550}.ia-checklist label:has(input:checked)>span{opacity:.65}.ia-count{font-size:11px!important}.reader-completion{margin-top:25px}
.plan-builder{border:1px solid var(--border);border-radius:17px;padding:22px;margin-top:25px}.plan-builder>summary{cursor:pointer;font-size:16px;font-weight:550}.plan-builder form{margin-top:23px}.plan-fields{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field-label select{font:inherit;background:var(--surface);border:1px solid var(--border);color:var(--text-main);padding:12px;border-radius:10px}.plan-topics{border:0;padding:0;margin:24px 0;display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}.plan-topics legend{font-size:12px;color:var(--text-soft);margin-bottom:12px}.plan-topics label{display:flex;align-items:flex-start;gap:10px;padding:10px 0;font-size:13px;line-height:1.5;color:var(--text-main);cursor:pointer}.plan-topics input{margin-top:3px;accent-color:var(--subject-color)}.plan-topics small{display:block;font-size:10px;color:var(--text-soft);margin-top:4px}.study-task-list{border:1px solid var(--border);border-radius:17px;overflow:hidden}.study-task{display:flex;align-items:center;gap:18px;padding:19px 22px;border-bottom:1px solid var(--border)}.study-task:last-child{border:0}.study-task>input{accent-color:var(--subject-color)}.task-date{text-align:center;min-width:30px}.task-date>b{display:block;font-size:19px;font-weight:550;color:var(--subject-ink)}.task-date>small{font-size:10px;color:var(--text-soft)}.study-task>span:nth-of-type(2){flex:1}.study-task a{font-size:14px;color:var(--text-main)}.study-task>span>small{font-size:11px;color:var(--text-soft);display:block;margin-top:5px;line-height:1.6}.study-task .text-button{font-size:12px;color:var(--subject-ink);white-space:nowrap}.study-task .text-button svg{width:12px;height:12px}.study-task.done>span:nth-of-type(2)>a{text-decoration:line-through;opacity:.55}
/* Round the functional icon system without changing the supplied subject artwork. */
svg{stroke-linecap:round;stroke-linejoin:round}.nav-item{border-radius:14px}.subject-icon,.tool-card-icon,.choice-icon,.pathway-symbol,.recent-icon{border-radius:17px}.icon-button{border-radius:11px}
/* Dark surfaces and readable text across the full application, including legacy pages. */
body[data-theme=dark]{background:var(--page);color:var(--text-main)}
body[data-theme=dark] :is(.workspace,.topbar,.sidebar,main){background:var(--page);border-color:var(--border)}
body[data-theme=dark] :is(.note-card,.practice-card,.core-card,.tool-card,.rail-card,.steps-card,.guide-resource,.pathway,.settings-card,.quiz-shell,.review-card,.reading-panel,.recent-practice>a,.search-dialog,.account-dialog,#subjects-dialog){background:var(--surface);border-color:var(--border);color:var(--text-main)}
body[data-theme=dark] :is(h1,h2,h3,h4,.brand,.brand-blue,.reading-panel h2,.core-link strong,.setting-row strong,.study-summary strong,.reader-summary,.quiz-question h1,.review-title h3,.select-label,.library-active,.search-result strong,.option-letter){color:var(--text-main)}
body[data-theme=dark] :is(p,li,.nav-item,.nav-label,.site-footer,.topbar-tag,.student-note,.cas-credit,.source-footnote,.read-time,.note-subject,.topic-label,.small-muted,.reader-meta,.reader-contents span,.reader-other small,.reader-body p,.reader-body li,.rail-resource,.course-progress-label,.course-code,.review-explanation,.answer-feedback p,.quiz-top,.quiz-topline,.quiz-actions>span,.setting-hint,.setting-row small,.settings-copy,.form-feedback,.search-dialog-footer,.search-result small){color:var(--text-soft)}
body[data-theme=dark] :is(.program-switch,.search-trigger,.subject-icon,.tool-card-icon,.quiz-topline,.quiz-option,.option-letter,.guide-intro,.practice-banner,.info-strip,.takeaway,.rail-links,.answer-feedback,.reading-lists,.coursework-checklist,.search-result:hover){background:var(--surface-soft);border-color:var(--border)}
body[data-theme=dark] :is(input:not([type=checkbox]):not([type=radio]),textarea,select){background:var(--surface);color:var(--text-main);border-color:var(--border)}
body[data-theme=dark] :is(.button,.button.large){background:#91b8ff;border-color:#91b8ff;color:#13213a}
body[data-theme=dark] :is(.button.secondary,.filter-chip){background:var(--surface);border-color:var(--border);color:var(--text-main)}
body[data-theme=dark] :is(.text-button,.school-link,.back-link,.reader-other a,.correct-answer,.core-card-label){color:var(--action)}
body[data-theme=dark] :is(.nav-item.active,.nav-item:hover,.filter-chip.selected,.program-switch button[aria-pressed=true],.library-tabs .selected,.quiz-option.chosen){background:#22344d;color:#a8ccff;border-color:#46628a}
body[data-theme=dark] :is(.core-abbr,.core-letter,.subject-icon,.tool-card-icon){background:#26354d;color:#a2c5ff}
body[data-theme=dark] :is(.sidebar-bottom,.reader-contents,.reader-other,.quiz-actions,.review-card,.core-detail,.faq details,.site-footer,.library-toolbar,.settings-section-heading){border-color:var(--border)}
body[data-theme=dark] .course-shell{--subject-tint:color-mix(in srgb,var(--subject-color) 25%,#171e29);--subject-ink:color-mix(in srgb,var(--subject-color) 55%,#fff)}
body[data-theme=dark] :is(.level-switch,.course-choice select,.course-progress-chip){background:#ffffff08;border-color:#ffffff12}
body[data-theme=dark] .resource-symbol{background:#263c60;color:#a5c9ff}body[data-theme=dark] .resource-symbol.violet{background:#34304f;color:#c0b5ff}body[data-theme=dark] .resource-symbol.orange{background:#47372c;color:#eac191}body[data-theme=dark] .resource-symbol.green{background:#233d37;color:#90d8bd}body[data-theme=dark] .resource-symbol.rose{background:#472f3b;color:#f2a1bb}body[data-theme=dark] .resource-symbol.purple{background:#3b2f4f;color:#d1adf3}
body[data-theme=dark] .welcome-banner.welcome-classic{background:linear-gradient(120deg,#182e43,#1b2b41 58%,#193b56)}body[data-theme=dark] .welcome-classic h1{color:#e8eef8}body[data-theme=dark] .welcome-classic h1 span{color:#83caff}body[data-theme=dark] .welcome-classic .welcome-kicker{color:#9bd8f9}body[data-theme=dark] .welcome-classic p{color:#a6bfd2}body[data-theme=dark][data-program=cp] .welcome-banner.welcome-classic{background:linear-gradient(120deg,#18392d,#1d302e 58%,#214737)}body[data-theme=dark][data-program=cp] .welcome-classic h1 span{color:#8cdcc1}
body[data-theme=dark] .subject-card :is(h3,.level,.subject-number){color:white}body[data-theme=dark] .subject-card .subject-open{color:#243548}body[data-theme=dark] .coursework-card :is(h3,.course-code,.course-progress-label){color:white}body[data-theme=dark] .coursework-card .subject-open{color:#243548}
body[data-theme=dark] :is(.career-option,.career-sequence){background:var(--surface);border-color:var(--border)}body[data-theme=dark] .career-option.selected{background:#1d3d35;border-color:#459a80}body[data-theme=dark] .career-option strong{color:var(--text-main)}body[data-theme=dark] :is(.career-option small,.career-option em,.career-sequence strong){color:var(--text-soft)}
body[data-theme=dark] .quiz-option.correct,body[data-theme=dark] .answer-feedback.right{background:#1d3c32;border-color:#497664;color:#b2e1ce}body[data-theme=dark] .quiz-option.incorrect{background:#462c30;border-color:#82515a;color:#f5c0c8}
@media(min-width:1500px){.course-hero,.course-body{padding-left:max(65px,calc((100% - 1100px)/2));padding-right:max(65px,calc((100% - 1100px)/2))}}
@media(max-width:1100px){.course-hero{padding:30px 30px 0}.course-body{padding:25px 30px}.ia-launchpad{flex-wrap:wrap;gap:17px}.ia-launchpad ol{order:3;width:100%;gap:12px 20px}.ia-launchpad>.button{margin-left:auto}.assessment-grid{grid-template-columns:1fr}.course-tabs>a{font-size:12px;padding:15px 11px}.course-tabs>a:first-child{padding-right:14px}.course-tabs svg{width:17px;height:17px}.resource-launch-grid{gap:6px 16px}.resource-symbol{width:58px;height:58px;border-radius:18px}.resource-launch h3{font-size:16px}.resource-launch p{font-size:11px}.course-progress-chip{display:none}}
@media(max-width:850px){.topbar .brand{width:auto}.course-shell{margin:20px}.course-title-row h1{font-size:28px}.resource-launch-grid{grid-template-columns:1fr}.resource-launch{padding:14px 3px}.resource-launch p{max-width:none}.resource-symbol{width:60px;height:60px}.resource-launch h3{font-size:17px}.resource-launch p{font-size:12px}.plan-topics{grid-template-columns:1fr}}
@media(max-width:650px){body .topbar>#menu-button{order:5;margin-left:auto;background:none;width:26px;height:30px}.topbar .brand{font-size:21px}.topbar{gap:13px}.course-shell{margin:14px 12px 20px;border-radius:18px}.course-hero{padding:24px 21px 0}.course-hero>.back-link{margin-bottom:21px}.course-title-row h1{font-size:27px;letter-spacing:-.85px}.course-body{padding:23px 20px}.course-tabs{margin-top:22px}.course-tabs>a{font-size:12px;padding:14px 11px}.course-tabs>a:first-child{padding-right:12px}.course-tabs svg{width:16px;height:16px}.course-selectors{gap:9px}.level-switch button{padding:6px 12px}.course-choice select{font-size:11px;max-width:205px}.course-version{font-size:10px}.ia-launchpad{padding:18px;gap:15px}.ia-launchpad>div{min-width:0;flex:1}.ia-launchpad h2{font-size:16px}.ia-launchpad>div>span{font-size:10px}.ia-launchpad>.button{font-size:12px;padding:9px 12px}.ia-launchpad ol{gap:9px 13px}.ia-launchpad li{font-size:10px;gap:6px}.ia-launchpad li b{width:19px;height:19px}.course-section{margin-top:29px}.course-section-title{gap:12px;align-items:flex-start}.course-section-title h2{font-size:20px}.course-section-title p{font-size:12px}.course-section-title>.text-button{font-size:10px;max-width:100px}.resource-launch{gap:14px}.resource-symbol{width:55px;height:55px;border-radius:17px}.resource-symbol svg{width:27px;height:27px}.resource-launch h3{font-size:16px}.resource-launch p{font-size:11px}.course-overview{padding:19px}.course-overview h2{font-size:19px}.course-overview>p{font-size:12px}.topic-accordion summary{font-size:14px;line-height:1.6;gap:9px}.topic-row{gap:9px;padding:11px 2px}.topic-row strong{font-size:13px}.topic-row small{font-size:9px}.completion-dot{width:21px;height:21px}.topic-practice{padding:4px}.topic-row .save-button{padding:4px}.topic-row .save-button svg{width:15px;height:15px}.course-source{font-size:10px}.assessment-card{padding:19px}.assessment-card h3{font-size:18px}.assessment-row{font-size:12px}.ia-checklist label{font-size:12px}.plan-fields{grid-template-columns:1fr}.plan-builder{padding:18px}.study-task{padding:16px 12px;gap:10px;flex-wrap:wrap}.study-task>span:nth-of-type(2){flex-basis:180px}.study-task .text-button{margin-left:60px;font-size:11px}.study-task a{font-size:13px}.study-task>span>small{font-size:10px}.course-empty h2,.plan-intro h2{font-size:20px}.course-empty p,.plan-intro p{font-size:12px}.course-hero .course-choice{max-width:100%}}
body[data-theme=dark] .course-hero{background:linear-gradient(180deg,color-mix(in srgb,var(--subject-color) 25%,#171e29),var(--surface) 93%)}
body[data-theme=dark] :is(.account-trigger,.toast){background:var(--surface-soft);color:var(--text-main);border-color:var(--border)}
body[data-theme=dark] .account-trigger:hover{background:#29364a}
@media(max-width:650px){.topbar .search-trigger{min-width:0;width:32px;flex:0 0 32px;background:none;border:0;padding:6px}.topbar-left{display:none}.topbar{gap:11px}.topbar .account-trigger{margin-left:auto}.topbar .brand{flex-shrink:0}.topbar>#menu-button{margin-left:0}}
body[data-theme=dark] :is(.school-resource-card,.empty-state,.recall details,.bottom-strip,.program-comparison article){background:var(--surface);border-color:var(--border)}
body[data-theme=dark] :is(.dashboard-tools a,.auth-notice,.account-storage,.settings-section-heading>svg,.search-trigger kbd,.library-active>span,.recent-practice a:hover){background:var(--surface-soft);color:var(--text-soft);border-color:var(--border)}
body[data-theme=dark] :is(.school-resource-card:hover,.icon-button:hover,.subject-choices label:has(input:checked)){background:#22344d;border-color:#46628a;color:#a8ccff}
body[data-theme=dark] :is(.school-resource-card h2,.subject-choices label,.auth-tabs .selected){color:var(--text-main)}
body[data-theme=dark] .subject-choices label{border-color:var(--border)}
body[data-theme=dark] .result-tag.right{background:#244234;color:#b2e1ce}body[data-theme=dark] .result-tag.review{background:#462c30;color:#f5c0c8}
