/* Erwin Academy: an open study room, with a distinct editorial course catalog. */
:root{--ink:#20385d;--green:#284d85;--paper:#faf9f5;--muted:#5f6c7e;--border:#d9dee6;--serif:'Segoe UI',Arial,Helvetica,sans-serif;--radius:10px;font-family:'Segoe UI',Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink)}
body{background:var(--paper)}
h1,h2,h3{font-family:var(--serif);font-weight:650;letter-spacing:-.035em}
h1{font-size:44px;line-height:1.13}h2{font-size:29px}h3{font-size:19px}
p{line-height:1.75}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
:is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #dc6c39;outline-offset:4px}
.academy-shell{min-height:100vh}
.academy-header{max-width:1320px;margin:auto;padding:25px 40px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--border)}
.academy-brand{display:flex;align-items:center;gap:12px;flex-shrink:0;font-size:20px;line-height:1;font-weight:800;letter-spacing:.02em}
.academy-brand small{display:block;font-size:9px;letter-spacing:.27em;margin-top:8px}
.academy-mark{width:44px;height:47px;display:flex;align-items:center;justify-content:center;position:relative;background:var(--ink);color:#fffaf0;border-radius:5px;font-size:30px;font-weight:800}
.academy-mark>span{position:absolute;right:-5px;top:-6px;background:#f78150;width:21px;height:21px;border:3px solid var(--paper);border-radius:50%;color:var(--ink);font-size:13px;display:grid;place-items:center}
.academy-nav{display:flex;align-items:center;gap:7px}
.academy-nav a,.academy-nav button{background:none;font:600 13px 'Segoe UI',Arial,sans-serif;padding:13px 16px;border-radius:5px;white-space:nowrap;color:#58677c;min-height:44px}
.academy-nav .active{color:var(--ink);background:#e9edf4}.academy-nav a:hover,.academy-nav button:hover{background:#f0ede6;color:var(--ink)}
.academy-access{font-size:9px;font-weight:700;letter-spacing:.1em;display:flex;align-items:center;gap:13px;white-space:nowrap}.academy-access .icon{color:#d76b38;width:17px}
.academy-context{max-width:1240px;margin:0 auto;padding:17px 0;display:flex;align-items:center;justify-content:space-between;gap:14px;color:#617088;font-size:11px}
.guest-badge{background:transparent;border-color:#d4dbe6;color:#4e617b;border-radius:4px;padding:6px 10px;font-size:10px}.status-dot{background:#d86b3a}
main{max-width:1320px;margin:auto;padding:30px 40px 65px;min-width:0}
.eyebrow{color:#6a7688;font-size:10px;font-weight:700;letter-spacing:.12em;margin-bottom:13px}
.catalog-intro{display:flex;align-items:center;justify-content:space-between;gap:60px;padding:14px 0 45px}
.catalog-intro h1{font-size:clamp(38px,4.6vw,62px);line-height:1.12;letter-spacing:-.055em;margin:18px 0 22px;font-weight:700}
.catalog-intro h1>span{color:#667a99;font-weight:450}
.catalog-intro>div:first-child>p{max-width:570px;font-size:16px;color:#627086;margin:0}
.catalog-note{border-left:1px solid #ced4df;padding:10px 0 5px 30px;min-width:195px;transform:rotate(-3deg)}
.catalog-note>span{display:block;font:11px ui-monospace,Consolas,monospace;color:#65758a;margin-bottom:12px;letter-spacing:.04em}
.catalog-note>span:nth-child(2){color:#c25928}.catalog-note p{font-size:21px;font-weight:600;line-height:1.3;letter-spacing:-.035em;margin:23px 0 0}
.catalog-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin:0 0 18px}.catalog-heading h2{font-size:22px;margin:0}.catalog-heading>span{font-size:12px;color:#647187}
.subject-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;margin-bottom:30px}
.subject-card{--subject:#315991;--subject-tint:#eaf0fa;border:1px solid #d1dbe9;border-radius:9px;background:var(--subject-tint);padding:21px 23px 18px;color:var(--subject);position:relative;overflow:hidden;transition:transform .15s,box-shadow .15s}
.subject-card.math{--subject:#8d5429;--subject-tint:#f5ebdd;border-color:#e5d4bd}.subject-card.chemistry{--subject:#685183;--subject-tint:#efebf6;border-color:#ddd4eb}
.subject-card.selected{box-shadow:inset 0 0 0 2px var(--subject)}.subject-card:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 2px var(--subject),0 7px 15px #20385d0a}
.subject-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font:9px ui-monospace,Consolas,monospace;letter-spacing:.07em}
.subject-card-main{min-height:130px;position:relative;display:flex;align-items:center}.subject-card h3{font-size:29px;font-weight:700;max-width:58%;line-height:1.12;position:relative;z-index:1;margin:0;letter-spacing:-.045em}
.subject-art{width:54%;position:absolute;right:-15px;top:-7px;opacity:.85;color:var(--subject);overflow:visible}
.art-axis{stroke:currentColor;stroke-width:1;opacity:.3}.art-line{stroke:currentColor;stroke-width:2}.art-detail{stroke:currentColor;stroke-width:1.5}.art-dot{fill:#f78150;stroke:var(--subject-tint);stroke-width:3}.art-guide{stroke:currentColor;stroke-dasharray:4 4;opacity:.4}.subject-art text{fill:currentColor;font:italic 16px Georgia,serif}
.subject-card-bottom{border-top:1px solid currentColor;padding-top:13px;display:flex;gap:18px;font-size:11px}
.course-overview{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);border:1px solid var(--border);border-radius:10px;background:white;overflow:hidden;margin-bottom:25px}
.course-summary{padding:34px 35px}.course-summary h2{font-size:31px;line-height:1.2;margin-bottom:13px}.course-summary>p{font-size:14px;color:#5f6e83;max-width:640px;margin-bottom:20px}
.course-actions{display:flex;flex-wrap:wrap;gap:12px}
.button{background:#284d85;border-color:#284d85;border-radius:5px;font-size:13px;padding:13px 19px;font-weight:600;min-height:45px}.button:hover{background:#1b3a6b}.button.secondary{color:#284d85;border-color:#cdd6e3;background:#fff}.button.secondary:hover{background:#edf1f7}.button.light{background:#fff1e6;border-color:#fff1e6;color:#273b5c}.button:disabled{opacity:.5}
.course-overview .exam-course-card{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;gap:0;margin:0;padding:29px 33px;border:0;border-left:1px solid var(--border);border-radius:0;background:#f6f3ec;position:relative}
.course-overview .exam-course-card:before{content:'';position:absolute;top:0;left:33px;width:42px;height:4px;background:#ec7d4b}
.exam-course-card h2{font-size:26px;line-height:1.2;margin:0 0 12px}.exam-course-card p{font-size:13px;color:#657185;margin:0 0 20px}.text-link{font-size:12px;color:#284d85;font-weight:650;min-height:28px}
.session-ribbon{display:flex;gap:34px;align-items:center;justify-content:space-between;padding:19px 0;border-bottom:1px solid var(--border);margin-bottom:12px}.session-ribbon .eyebrow{font-size:9px;margin-bottom:7px}.session-ribbon strong{font-size:22px;font-weight:650}.session-ribbon strong>span{font-size:13px;font-weight:400;color:#5c6c82}.session-ribbon>div:nth-child(2){display:flex;align-items:baseline;gap:10px;margin-right:auto;border-left:1px solid var(--border);padding-left:30px}.session-ribbon>div:nth-child(2)>span{font-size:12px;color:#60718b}
.course-coverage{color:#65758b;font-size:12px;margin:16px 0 33px}.course-coverage summary{cursor:pointer;display:list-item;list-style:disclosure-closed}.course-coverage[open] summary{list-style:disclosure-open}.course-coverage p{padding:14px 18px;border-left:2px solid #bdc9db;margin:14px 0;background:#eff2f7}
.topic-catalog{margin-top:33px}.section-heading{margin-bottom:22px}.section-heading h2{font-size:27px}.section-heading .eyebrow{font-size:9px;color:#6a7688}
.search-field{max-width:240px;width:240px;background:white;border-radius:5px;padding:12px 13px;border-color:#cdd5e2;margin:0}.search-field input{font-size:13px;color:var(--ink)}.search-field .icon{width:16px;color:#65758b}.search-field:focus-within{outline:2px solid #d76b38}
.topics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px;border-top:1px solid #cfd6e0}
.topic-card{border:0;border-bottom:1px solid #d9dee6;border-radius:0;padding:23px 8px 22px;background:none;display:flex;flex-direction:row;align-items:flex-start;gap:17px;min-height:170px;box-shadow:none;transition:background .15s}
.topic-card:hover{transform:none;box-shadow:none;border-color:#b6c3d7;background:#f0f3f8}.topic-index{font:12px ui-monospace,Consolas,monospace;color:#8897ad;padding-top:5px}.topic-card-copy{flex:1;min-width:0}.topic-card h3{font-family:var(--serif);font-size:19px;line-height:1.35;font-weight:650;letter-spacing:-.025em;margin-bottom:8px}.topic-card p{font-size:12px;color:#647188;line-height:1.6;margin:0 0 13px;max-width:440px}.topic-card-bottom{border:0;padding:0;display:flex;flex-wrap:wrap;justify-content:flex-start;gap:7px 14px;color:#6c7b90;font-size:10px}.topic-progress{color:#385f96}.topic-go{padding-top:5px;color:#9aa8ba}.topic-go .icon{width:17px}
.learning-note{display:flex;align-items:center;gap:25px;border-top:2px solid #253e60;margin:42px 0 0;padding:28px 0 10px}.learning-note>span{font-size:40px;color:#d76b38;align-self:flex-start}.learning-note>div{flex:1}.learning-note h2{font-size:24px;margin-bottom:9px}.learning-note p{color:#647188;font-size:13px;max-width:650px;margin:0}.learning-note>a{white-space:nowrap}
.academy-footer{max-width:1240px;display:flex;align-items:flex-start;justify-content:space-between;gap:30px;padding:30px 0 45px;border-top:1px solid var(--border);font-size:12px;color:#5d6e85}.academy-footer strong{font-size:11px;letter-spacing:.12em;color:#20385d}.academy-footer p{font-size:11px;margin:12px 0 0}.academy-footer nav{display:flex;flex-direction:column;gap:13px}.academy-footer nav a:hover{text-decoration:underline}.academy-footer nav>span{font-size:10px;color:#758197}
/* Shared learning screens keep the same type, spacing, and color language. */
.back-link{color:#486488;font-size:12px;margin-bottom:26px}.course-tabs{gap:8px;border-bottom:1px solid var(--border);padding-bottom:15px}.course-tabs a{border-radius:5px;font-size:12px;padding:11px 17px;border-color:#d6ddea}.course-tabs a.selected{background:#eaf0fa;color:#284d85;border-color:#b6c7e2}
.white-panel,.question-card,.review-panel{border-color:#d6dee9;border-radius:9px;background:white}.white-panel>p{color:#5f6c7e}.white-panel h2{font-size:26px}.small-text{color:#5d6f88!important;font-size:12px!important}.topic-intro p,.lesson-heading>p,.lesson-body p{color:#586a83}.topic-icon{background:#eaf0fa;color:#446b9e;border-radius:7px}.topic-outline li{border-color:#e0e5ed}.topic-outline li>span{color:#7f90aa}.topic-outline small{color:#6c7e97}.topic-outline .icon{color:#3f6191}
.formula{font-family:Georgia,'Times New Roman',serif;background:#f0f3f9;color:#28466f;border-radius:5px;border-left:3px solid #bdcce3}.lesson-body .formula{font-family:Georgia,'Times New Roman',serif}.lesson-example{border-top:4px solid #de804e}.example-answer{background:#eaf0fa;border-radius:5px}.lesson-aside{top:25px}.lesson-heading .small-text{color:#62728a}.lesson-prose{line-height:1.9}.lesson-body li{color:#53647e}
.question-title{font-family:var(--serif);font-weight:600;font-size:29px;line-height:1.5;letter-spacing:-.025em}.question-eyebrow{font-size:11px;color:#667a98;gap:10px}.question-eyebrow>span:last-child{color:#526b8f}.choice-instruction{color:#64758d;font-size:13px}.answer-choice{font-size:14px;border-color:#d5dfeb;border-radius:6px;background:#fff;line-height:1.6}.answer-choice:hover:not(:disabled){border-color:#7794bd;background:#f0f4fa}.choice-letter{background:#edf1f7;color:#4a668e;border-color:#d3dceb}.answer-choice.is-correct{background:#ebf5ef;border-color:#5a8e72}.answer-choice.is-wrong{background:#fff0e8;border-color:#d28e6b}.feedback.positive{background:#ebf5ef;color:#345d48}.feedback.revisit{background:#fff1e8;color:#784924}.feedback p{font-size:13px}.question-note{color:#63738a;font-size:12px}.quiz-aside{background:#eff2f8;border-color:#d4deec;color:#38547a}.quiz-aside p,.quiz-aside .tiny-label{color:#61728d}.quiz-aside h3{font-family:var(--serif);font-size:25px}.spark{color:#d7743f}.quiz-progress,.quiz-topline{color:#60738f}
.explanation-card{background:#fff;border:1px solid #d5dfea;border-top:4px solid #e48150;border-radius:8px}.explanation-label{color:#526e95;font-size:10px}.explanation-label>span{color:#6b7e98}.explanation-card h2{font-size:26px;line-height:1.45}.worked-steps li>span{background:#eaf0fa;color:#355a8c}.worked-steps h3{font-size:15px;letter-spacing:-.01em}.worked-steps p{color:#536780;font-size:14px;line-height:1.8}.misconception{background:#fff3e7;border-color:#eacba9;border-radius:6px}.misconception h3{color:#815022}.misconception p{font-size:13px;color:#77583c}.followup-area{border-color:#d9e0ea}.followup-area p,.followup-feedback p{color:#526a87;font-size:13px}
#short-answer-form input,#short-answer-form textarea,#exam-number{border-color:#c1cede;color:#20385d;border-radius:6px}.model-answer{background:#eef3fa;color:#294b78;border-radius:8px}.numeric-response{min-width:0}.numeric-response span{max-width:50%;overflow-wrap:anywhere}.preview-banner{background:#fff0dc;color:#785325;padding:13px 30px;font-size:12px}
.exam-intro{max-width:950px}.exam-intro h1{font-size:43px}.exam-features span{background:#edf1f8;color:#385d8a;border-radius:4px}.exam-saved{background:#edf2fa;border-radius:6px}.exam-start select{border-color:#c6d2e2}.exam-topic{color:#597296}.exam-selected{border-color:#4c73a9!important;background:#edf2fa!important;box-shadow:inset 0 0 0 1px #4c73a9}.exam-selected .choice-letter{background:#345b91;color:white}.exam-numbers button{border-color:#bdcce1;border-radius:5px}.exam-numbers button.answered{background:#dce7f7;color:#2e5386}.exam-numbers button[aria-current]{outline-color:#d36e37}.exam-review-item{border-color:#d3ddeb;border-radius:7px}.exam-review-item summary small{color:#6a7f9f}.exam-expand{color:#4d71a5}.exam-review-body{color:#29446a}.exam-followup{background:#f1f4fa;border-radius:6px}.exam-topic-scores a{border-color:#e0e5ed}.exam-result.missed{background:#fff0df;color:#835226}.exam-result.correct{background:#e7f2eb;color:#365d47}
.score-display{color:#20385d}.score-display b{font-weight:600}.results-heading>p{color:#64748b}.review-row{border-color:#dbe2ec}.review-row>div>span{color:#5b7193}.stat-grid .white-panel{border-top:3px solid #527cb7}.stat-grid strong{font-family:var(--serif);color:#284d85;font-weight:600}.session-topic strong{color:#284366}.session-topic span,.session-footer p{color:#63758e}.session-topic{border-color:#dbe2ed}.session-course h3{font-weight:650}.session-footer{border-color:#d9e1eb}
progress{background:#e1e7f0}progress::-webkit-progress-bar{background:#e1e7f0}progress::-webkit-progress-value{background:#4771aa}progress::-moz-progress-bar{background:#4771aa}
dialog{border:1px solid #c8d4e5;border-radius:10px;color:#20385d;background:#fff;max-width:500px}dialog h2{font-size:28px}dialog p{color:#5b6e88}.empty-state h3{font-family:var(--serif);font-size:22px}.empty-state p{color:#65768c}
@media(min-width:1400px){.academy-context,.academy-footer{max-width:1240px}}
@media(max-width:1320px){.academy-context,.academy-footer{margin-left:40px;margin-right:40px}}
@media(max-width:1050px){.academy-header{gap:20px}.academy-access{display:none}.catalog-intro{gap:30px}.subject-card{padding:18px}.subject-card h3{font-size:25px}.subject-card-top{font-size:8px}.course-overview{grid-template-columns:1.3fr 1fr}.course-summary{padding:28px}.course-overview .exam-course-card{padding:26px}.course-summary h2{font-size:28px}.topic-card{gap:13px}.learning-note>a{white-space:normal;max-width:150px}}
@media(max-width:760px){.academy-header{padding:20px 24px 0;flex-wrap:wrap;gap:18px}.academy-brand{font-size:18px}.academy-mark{width:36px;height:40px;font-size:25px}.academy-nav{width:100%;justify-content:space-between;gap:0;overflow-x:auto}.academy-nav a,.academy-nav button{padding:13px 10px;font-size:12px;border-radius:5px 5px 0 0}.academy-context{margin:0 24px;padding:15px 0;font-size:10px}.guest-badge{font-size:9px;padding:5px 7px}main{padding:24px 24px 40px}.catalog-intro{padding:4px 0 30px}.catalog-intro h1{font-size:42px}.catalog-note{display:none}.catalog-intro>div:first-child>p{font-size:14px}.catalog-heading h2{font-size:20px}.catalog-heading>span{font-size:10px}.subject-catalog{gap:10px}.subject-card{padding:15px 13px}.subject-card-top>span:last-child{display:none}.subject-card-main{min-height:110px;align-items:flex-start;padding-top:15px}.subject-card h3{font-size:23px;max-width:100%}.subject-art{width:90px;top:27px;opacity:.2;right:-14px}.subject-card-bottom{flex-direction:column;gap:5px;font-size:10px}.course-overview{grid-template-columns:1fr}.course-overview .exam-course-card{border-left:0;border-top:1px solid var(--border);padding:27px}.course-summary{padding:27px}.course-overview .exam-course-card h2 br{display:none}.session-ribbon{gap:18px;flex-wrap:wrap}.session-ribbon>div:nth-child(2){padding-left:18px}.session-ribbon .text-link{font-size:11px}.topics-grid{grid-template-columns:1fr}.topic-card{min-height:0;padding:22px 7px}.topic-card h3{font-size:19px}.topic-card p{max-width:none}.topic-go{margin-left:8px}.section-heading h2{font-size:24px}.search-field{max-width:185px;width:40%}.learning-note{flex-wrap:wrap;gap:17px}.learning-note>a{margin-left:40px;max-width:none}.academy-footer{margin:0 24px;padding:26px 0;flex-wrap:wrap;gap:25px;font-size:11px}.academy-footer>div{width:100%}.academy-footer nav{flex:1;min-width:140px}.question-title{font-size:24px}.exam-heading h1{font-size:32px}.exam-layout .question-title{font-size:24px}}
@media(max-width:420px){.academy-header{padding:18px 18px 0}.academy-context{margin:0 18px}.academy-context>span:first-child{max-width:52%;line-height:1.5}.academy-nav a,.academy-nav button{font-size:11px;padding:12px 7px}main{padding:20px 18px 35px}.catalog-intro h1{font-size:36px}.catalog-heading{align-items:flex-start;flex-direction:column;gap:7px}.subject-catalog{gap:7px}.subject-card{padding:13px 10px}.subject-card-top{font-size:8px;letter-spacing:0}.subject-card h3{font-size:19px}.subject-card-main{min-height:95px}.subject-card-bottom{font-size:9px}.subject-art{width:75px}.course-summary{padding:24px 21px}.course-summary h2{font-size:27px}.course-summary p{font-size:13px}.course-actions{gap:9px}.course-actions .button{font-size:11px;padding:12px}.session-ribbon>div:nth-child(2){border:0;padding:0}.session-ribbon>div:first-child{width:100%}.session-ribbon>.text-link{margin-left:auto}.section-heading{flex-wrap:wrap;gap:15px}.search-field{width:100%;max-width:100%}.topic-card h3{font-size:18px}.topic-card-bottom{font-size:10px}.learning-note h2{font-size:22px}.academy-footer{margin:0 18px}.exam-intro h1{font-size:34px}.quiz-actions .button{font-size:12px}.answer-choice{font-size:13px}}
