:root{font-family:system-ui,-apple-system,sans-serif;color:#233334;background:#f3f7f5}*{box-sizing:border-box}body{margin:0}header{background:#17433f;color:#fff;padding:24px max(20px,calc((100vw - 1300px)/2))}h1{font-size:24px;margin:0}main{max-width:1340px;margin:auto;padding:24px}button{font:inherit;cursor:pointer;border:1px solid #b8cbc5;border-radius:10px;background:#fff;color:#233334;padding:12px 18px}button:hover{border-color:#287265;background:#eef8f4}button:focus-visible{outline:3px solid #a45000;outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.6}.primary{background:#287265;color:white;border-color:#287265}.primary:hover{background:#19594f}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.card{text-align:left;padding:23px}.card strong,.card small{display:block}.card strong{font-size:18px;margin-bottom:10px}.card small,.muted{color:#536d67;font-size:14px}.toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:20px}.layout{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:24px;align-items:start}.panel{background:white;border:1px solid #d7e5de;border-radius:14px;padding:24px}.player{position:sticky;top:16px}.player audio{width:100%}.choice{display:flex;align-items:center;gap:14px;width:100%;text-align:left;margin:12px 0;line-height:1.5}.letter{font-weight:700;border:1px solid currentColor;border-radius:6px;padding:2px 8px;align-self:flex-start}.choice img,.question-card img{display:block;max-width:100%;max-height:180px;object-fit:contain}.correct{border:2px solid #17664a;background:#e6f5ed!important}.wrong{border:2px solid #9e3535;background:#fff0ed!important}.selected{border:2px solid #287265;background:#e4f5ed}.question-card{border-top:1px solid #d7e5de;margin-top:28px;padding-top:24px;scroll-margin-top:18px}.question-nav{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.question-nav button{padding:8px 12px}.flagged{background:#fff2cf;color:#674500;border:2px solid #926400}.end{padding-top:24px}h2{font-size:21px;line-height:1.5;margin:16px 0}progress{width:100%;height:10px;accent-color:#287265}.note{font-size:13px;color:#536d67;margin:24px 0}.timer{font-weight:700;font-variant-numeric:tabular-nums}.notice{background:#fff5df;padding:16px;border-radius:10px;line-height:1.6}.result{background:#eaf5ef;padding:16px;border-radius:10px;margin-top:20px}[hidden]{display:none!important}@media(max-width:800px){main{padding:14px}.layout{grid-template-columns:1fr}.player{position:static}.panel{padding:16px}header{padding:20px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card{padding:18px 12px}}

.choice:disabled{opacity:1;color:#233334}.choice.correct{border:3px solid #18537c;background:#edf6ff!important}.choice.wrong{border:3px dashed #653a18;background:#fff7ed!important}.choice-label{display:block;margin-top:8px;font-size:.9rem}.feedback{border-left:5px solid #18537c;background:#edf4fa;color:#142b3a;padding:14px 16px;margin:16px 0;line-height:1.5;border-radius:4px}

#audioStatus:empty{display:none}

#readingMenu{grid-template-columns:repeat(4,minmax(0,1fr))}
#readingContents{margin-top:24px;padding:24px;background:#eaf2ee;border:1px solid #d7e5de;border-radius:14px}
#readingContents>h3{margin-top:0;font-size:21px}.reading-toc{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:24px}
.reading-toc .card{padding:20px}.reading-toc .card strong{font-size:17px;line-height:1.45;margin:8px 0 12px}
.reading-credit{color:#536d67;font-size:14px;line-height:1.6}.reading-lesson{max-width:900px;margin:auto;padding:32px}.reading-lesson>h2{font-size:27px;margin-top:0}
.reading-lesson p{line-height:1.8}.reading-tip{padding:16px 20px;background:#eef6f1;border-left:4px solid #287265;border-radius:6px}
.reading-example{margin:24px 0;padding:20px;background:#f3f7f5;border:1px solid #d7e5de;border-radius:10px}
summary{cursor:pointer;font-weight:650;padding:8px 0}summary:focus-visible{outline:3px solid #a45000;outline-offset:3px}
.reading-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.reading-passage{position:sticky;top:16px;max-height:calc(100dvh - 32px);overflow:auto;line-height:1.85}
.reading-passage h2{margin-top:0}.reading-paragraph{margin:0 0 22px}.paragraph-number{display:inline-block;margin-right:10px;font-size:13px;font-weight:700;color:#536d67}
.reading-lines{padding-left:2.5em;line-height:1.85}.reading-lines li{padding-left:12px;margin-bottom:10px;overflow-wrap:anywhere}.reading-lines li::marker{color:#536d67;font-weight:650}
.reading-controls,.reading-back-links{display:flex;flex-wrap:wrap;gap:10px}.reading-controls{margin-top:18px}
#readingQuestions h3{font-size:1rem;line-height:1.6;margin:12px 0}.answered-nav{background:#e4f5ed;border-color:#287265}
#readingQuestions .question-card:focus{outline:2px solid #287265;outline-offset:8px}
#readingResult:empty{display:none}#readingResult:not(:empty){background:#eaf5ef;padding:16px;border-radius:10px;margin-top:20px}
#readingPlanning{margin-top:20px}#readingPlanning:empty{display:none}#readingPlanning label{display:block;margin:16px 0;line-height:1.6}
#readingPlanning textarea{display:block;width:100%;font:inherit;padding:10px;border:1px solid #b8cbc5;border-radius:6px;margin-top:6px;resize:vertical}
@media(max-width:800px){.reading-layout{grid-template-columns:1fr}.reading-passage{position:static;max-height:55dvh}.reading-toc{grid-template-columns:repeat(2,minmax(0,1fr))}.reading-lesson{padding:20px}.reading-lesson>h2{font-size:23px}#readingContents{padding:16px}}
@media(max-width:480px){#readingMenu{gap:8px}#readingMenu .card{padding:16px 10px}#readingMenu .card strong{font-size:16px}#readingMenu .card small{font-size:12px}.reading-toc{grid-template-columns:1fr}.reading-back-links button{padding:10px 12px}}

header{display:flex;align-items:center;gap:24px}.brand-logo{display:block;box-sizing:content-box;width:184px;height:31px;flex-shrink:0;background:transparent;padding:0;border-radius:0}@media(max-width:800px){header{flex-wrap:wrap;gap:16px}.brand-logo{width:166px;height:auto;padding:0}header h1{font-size:21px}}

.practice-section{margin-top:28px}.reading-placeholder{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:23px;border:1px dashed #b8cbc5;border-radius:10px;background:#fff}.reading-placeholder>span:first-child{font-weight:600}#sectionMenu{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:480px){#sectionMenu{gap:8px}#sectionMenu .card{padding:16px 10px}#sectionMenu .card strong{font-size:16px}#sectionMenu .card small{font-size:12px}}
/* Shared expanded menus */
.collapsible-menu,#readingContents,#tests,#readingTestsContents{margin-top:24px;padding:24px;background:#eaf2ee;border:1px solid #d7e5de;border-radius:14px}
.collapsible-menu>h2:first-child,.collapsible-menu>h3:first-child{margin-top:0}.collapsible-menu a{color:#19594f;font-weight:600}.collapsible-menu .reading-controls{gap:18px}
@media(max-width:800px){.collapsible-menu,#readingContents,#tests,#readingTestsContents{padding:16px}}
/* Guidebook text structure */
.reading-steps,.reading-bullets,.reading-example-options{line-height:1.8;padding-left:1.8em}.reading-steps>li,.reading-bullets>li,.reading-example-options>li{padding-left:6px;margin:10px 0}.reading-steps p{margin:8px 0}.reading-lesson h3{margin-top:28px}.reading-lesson h4{margin:24px 0 12px;font-size:18px}.reading-tip p{margin:8px 0 0}.exam-passage figure{margin:20px 0;padding:12px;background:#fff}.exam-passage figure img{max-width:100%;max-height:260px;object-fit:contain}.exam-passage figcaption{font-weight:600;margin-top:10px}
.exam-quote{margin:12px 0;padding:12px 16px;background:#f3f7f5;border-left:3px solid #287265;line-height:1.6}.exam-paragraph h3{font-size:17px;margin-top:8px}
.brand-home{position:absolute;inset:0;display:block;color:inherit;text-decoration:none}.brand-home:focus-visible{outline:3px solid #fff;outline-offset:-6px;border-radius:4px}
button,.reading-controls a{min-height:44px;line-height:1.4}.question-nav button{min-width:44px;min-height:44px}.reading-controls a{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border:1px solid #b8cbc5;border-radius:10px;background:#fff;text-decoration:none;font:inherit;color:#233334;font-weight:500}.reading-controls a:hover{background:#eef8f4;border-color:#287265}.reading-controls a:focus-visible{outline:3px solid #a45000;outline-offset:3px}#readingMenu>.card,#sectionMenu>.card{min-height:148px}.card strong{line-height:1.4}.card small{line-height:1.5}.exam-toolbar>button{min-width:125px}.reading-controls button{min-width:120px}@media(max-width:480px){#readingMenu>.card,#sectionMenu>.card{min-height:148px}.reading-controls>a,.reading-controls>button{flex:1 1 120px}}
#examPassageImage img{display:block;width:100%;height:auto;margin:20px 0;background:white;border:1px solid #d7e5de}.passage-controls{margin:0 0 14px;position:sticky;top:0;background:white;padding:8px 0;z-index:1}.passage-controls [aria-pressed=true]{background:#287265;color:white;border-color:#287265}#examPassageImage{overflow:auto}.source-line{display:grid;grid-template-columns:2.5em minmax(0,1fr);gap:8px;line-height:1.8;margin:0 0 2px}.source-line-number{font-size:12px;color:#536d67;font-variant-numeric:tabular-nums}.source-text{white-space:normal}.source-paragraph{line-height:1.8}.source-paragraph .source-line-number{margin-left:4px;font-size:11px}.source-list-item{padding-left:1.4em;text-indent:-1.4em}#examPassage h3{font-size:18px}

/* Packet selectors expand their contents without leaving the home page. */
.packet-choice{width:100%;transition:background-color .15s ease,border-color .15s ease;background:#fff}
.packet-choice-active{outline:2px solid #287265;outline-offset:-2px;background:#f3faf6}
.packet-choice-dimmed{background:#e3eae5;border-color:#c9d5ce;color:#53645e}
.packet-choice-dimmed small,.packet-choice-dimmed .packet-action{color:#53645e}
.packet-choice-dimmed:hover,.packet-choice-dimmed:focus-visible{background:#f3faf6;color:#233334}
.packet-action{display:block;margin-top:16px;font-size:14px;font-weight:600;color:#19594f}
.packet-choice-active .packet-action{color:#17433f}
.packet-contents{border-top:1px solid #b8cbc5;margin-top:22px;padding-top:20px}
.packet-contents>h4{position:sticky;top:0;z-index:3;font-size:20px;line-height:1.4;margin:0 0 18px;padding:12px 0;color:#17433f;background:#eaf2ee;box-shadow:0 1px 0 #b8cbc5}
.packet-contents .card,.packet-contents a{scroll-margin-top:80px}
.packet-status{margin:0}
@media(prefers-reduced-motion:reduce){.packet-choice{transition:none}}

.explorer-section-controls{margin:0 0 10px;font-size:14px}.explorer-section-controls select{font:inherit;color:inherit;border:1px solid #b8cbc5;border-radius:7px;padding:7px;max-width:100%;background:white}.explorer-section-controls label{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.explorer-figure{display:block;max-width:100%;height:auto;margin:18px 0}.explorer-answer{font:inherit;display:block;width:100%;padding:12px;border:1px solid #b8cbc5;border-radius:8px;margin-top:8px}.exam-context{font-size:14px;line-height:1.5;color:#536d67}.context-button{font-size:13px;padding:6px 10px;margin:0 0 12px}.explorer-word-bank{line-height:1.8;background:#f3f7f5;padding:12px;border-radius:8px}@media(max-width:800px){#readingMenu{grid-template-columns:repeat(2,minmax(0,1fr))}}

#readingExplorerContents .packet-contents .reading-toc,#practiceTests.explorer-tests{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:800px){#readingExplorerContents .packet-contents .reading-toc,#practiceTests.explorer-tests{grid-template-columns:repeat(2,minmax(0,1fr))}}
.explorer-parts{position:sticky;top:78px;z-index:4;background:#f3f7f5;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px 0;margin-bottom:20px;scroll-margin-top:85px}.explorer-parts>button{text-align:left;padding:10px 14px}.explorer-parts strong,.explorer-parts small{display:block}.explorer-parts small{font-size:12px;margin-top:4px}.explorer-parts [aria-pressed=true]{background:#287265;color:#fff;border-color:#287265}.explorer-pager{grid-column:1/-1;display:flex;justify-content:space-between;gap:8px}.explorer-pager button{padding:5px 10px;font-size:13px}.explorer-exam .passage-column{top:220px;max-height:calc(100dvh - 240px)}.explorer-exam .exam-question{scroll-margin-top:240px}.explorer-exam .exam-nav{margin:12px 0}.explorer-bank-group{border-top:1px solid #b8cbc5;padding:12px 0}.explorer-bank{display:flex;flex-wrap:wrap;gap:8px;background:#eaf2ee;border:1px solid #b8cbc5;border-radius:10px;padding:12px}.explorer-bank button{font-size:15px;padding:8px 12px;cursor:grab}.explorer-bank button.word-used{box-shadow:inset 0 -3px #287265}.explorer-bank [aria-pressed=true]{outline:3px solid #a45000;outline-offset:1px}.explorer-blank{display:inline-block;vertical-align:baseline;font:inherit;min-width:130px;border:2px dashed #287265;border-radius:6px;padding:4px 8px;background:#eef8f4}.explorer-blank.drag-over{background:#fff2cf;border-color:#a45000}.explorer-blank-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.explorer-blank-tools select{font:inherit;max-width:100%;padding:8px;border:1px solid #b8cbc5;border-radius:7px}.explorer-blank-tools button{padding:6px 10px;font-size:14px}.explorer-activity-title{margin-top:0}.explorer-activity-text{line-height:1.8;white-space:pre-line}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:800px){.explorer-parts{top:104px;gap:5px}.explorer-parts>button{padding:8px 6px;font-size:14px}.explorer-parts small{font-size:10px}.explorer-exam .passage-column{position:static;max-height:none}.explorer-exam .exam-question{scroll-margin-top:260px}.explorer-parts{scroll-margin-top:110px}}

.explorer-exam .explorer-parts{top:var(--explorer-toolbar,78px);scroll-margin-top:var(--explorer-toolbar,78px)}.explorer-exam .passage-column{top:calc(var(--explorer-toolbar,78px) + var(--explorer-nav,130px) + 20px);max-height:calc(100dvh - var(--explorer-toolbar,78px) - var(--explorer-nav,130px) - 40px)}.explorer-exam .exam-question{scroll-margin-top:calc(var(--explorer-toolbar,78px) + var(--explorer-nav,130px) + 15px)}@media(max-width:800px){.explorer-exam .passage-column{position:static;max-height:none}}
@media(max-width:800px){.explorer-exam .exam-toolbar{display:grid;grid-template-columns:auto 1fr auto;gap:6px;padding:8px 0}.explorer-exam #examTitle{grid-column:1/-1;grid-row:1;font-size:14px}.explorer-exam .exam-toolbar button{font-size:12px;padding:7px 9px}.explorer-exam #examTimer{justify-self:center;font-size:16px;padding:6px 8px}}
.passage-controls .passage-zoom-trigger{display:inline-flex;align-items:center;justify-content:center;width:36px;min-width:36px;padding:6px}.passage-zoom{width:calc(100vw - 16px);max-width:1300px;height:calc(100dvh - 16px);max-height:none;padding:0;border:1px solid #b8cbc5;border-radius:12px;background:#f3f7f5;color:#233334;overflow:hidden}.passage-zoom[open]{display:flex;flex-direction:column}.passage-zoom::backdrop{background:rgb(10 30 27 / .75)}.passage-zoom-toolbar{flex-shrink:0;display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px 16px;background:#fff;border-bottom:1px solid #b8cbc5}.passage-zoom-tools{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.passage-zoom-tools button,.passage-zoom-toolbar>button{min-height:44px;padding:8px 14px}.passage-zoom-tools input{width:clamp(90px,25vw,260px);accent-color:#287265}.passage-zoom-tools output{min-width:48px;font-size:14px;font-variant-numeric:tabular-nums}.passage-zoom-help{grid-column:1/-1;margin:0;font-size:12px;color:#536d67}.passage-zoom-viewport{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;touch-action:none;cursor:grab;user-select:none;background:#dce6e0;scrollbar-gutter:stable}.passage-zoom-viewport.is-panning{cursor:grabbing}.passage-zoom-viewport:focus-visible{outline:3px solid #a45000;outline-offset:-3px}.passage-zoom-pages{width:max-content;min-width:100%;padding:16px}.passage-zoom-pages img{display:block;width:var(--zoom-page-width);height:auto;max-width:none;margin:0 auto 16px;background:white;pointer-events:none}.passage-zoom-pages img:last-child{margin-bottom:0}@media(max-width:480px){.passage-zoom-toolbar{padding:8px;gap:6px}.passage-zoom-tools{gap:6px}.passage-zoom-tools button{padding:6px 10px}.passage-zoom-tools input{width:90px}.passage-controls .passage-zoom-trigger{min-height:40px;min-width:40px}}

#questions .question-card h2{font-size:1rem;line-height:1.6}.exam-choice,#readingQuestions .choice,#questions .choice,.explorer-answer,.explorer-bank button,.explorer-blank-tools select{font-size:1rem}

@media(max-width:800px){.explorer-parts>button strong{font-size:clamp(10px,3.2vw,14px)}}
@media(max-width:800px){.explorer-exam .exam-toolbar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.explorer-exam .exam-toolbar button,.explorer-exam #examTitle{min-width:0}.explorer-parts>button{padding:8px 4px;min-width:0}}

/* Compact question spacing, with full-sized answer targets. */
#practiceExam .exam-layout>section.panel{padding:20px}#examNextFlag{padding:6px 10px;font-size:13px;min-height:34px}.explorer-answer{padding:10px 12px;min-height:44px}.question-card{margin-top:18px;padding-top:16px}.question-card>.toolbar{margin-bottom:8px;gap:8px}.question-card>.toolbar button{font-size:13px;padding:6px 10px;min-height:34px}#questions .question-card h2,#readingQuestions h3{margin:8px 0}.question-card .choice{margin:8px 0;padding:10px 12px;min-height:44px}
@media(max-width:800px){#practiceExam .exam-layout>section.panel{padding:16px}#examQuestions .flag-button,#examNextFlag,.question-card>.toolbar button,.explorer-blank-tools button,.explorer-blank-tools select{min-height:44px}}

a.packet-choice{display:block;text-decoration:none;color:inherit}a.packet-choice:hover{border-color:#287265;background:#eef8f4}
/* Vocabulary activities place their own source word bank beside the answer rows. */
.explorer-vocabulary .passage-column{display:none}.explorer-vocabulary .exam-layout{grid-template-columns:minmax(0,1fr);max-width:1100px;margin:0 auto}.explorer-activities{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px;scroll-margin-top:calc(var(--explorer-toolbar,78px) + var(--explorer-nav,130px) + 12px)}.explorer-activities button{padding:8px 14px;min-height:40px}.explorer-activities [aria-pressed=true]{background:#287265;color:white;border-color:#287265}.explorer-vocabulary .explorer-activity-intro p{margin:8px 0;line-height:1.5}.explorer-vocabulary .explorer-activity-title{font-size:18px;margin:12px 0 6px}.explorer-vocabulary .explorer-bank{margin:10px 0}.explorer-activity-context{margin:8px 0}.explorer-activity-context summary{font-size:14px;padding:4px 0}.explorer-vocabulary .explorer-activity-text{margin:8px 0;font-size:1rem;line-height:1.6}.explorer-vocabulary #examQuestions .exam-question{position:relative;margin-top:0;padding:12px 0 8px;min-height:64px}.explorer-vocabulary #examQuestions legend{padding-right:72px;margin-bottom:4px;font-weight:500;line-height:1.5}.explorer-vocabulary #examQuestions .flag-button{position:absolute;right:0;top:8px;margin:0;padding:6px 10px;min-height:34px}.explorer-vocabulary .explorer-blank{font-weight:500;font-style:normal;font-size:1rem;min-height:34px;padding:2px 8px}.explorer-vocabulary .explorer-blank-tools{gap:8px;margin-top:2px;align-items:start}.explorer-list-fallback summary{font-size:12px;font-weight:400;padding:0;line-height:1.5}.explorer-list-fallback select{margin-top:4px}.explorer-vocabulary .explorer-blank-tools>button{font-size:12px;padding:0 6px;min-height:24px}.explorer-vocabulary #examQuestions .feedback{margin:4px 0;font-size:14px}@media(max-width:800px){.explorer-vocabulary #examQuestions .flag-button,.explorer-vocabulary .explorer-blank,.explorer-vocabulary .explorer-blank-tools>button,.explorer-activities button{min-height:44px}.explorer-vocabulary #examQuestions legend{padding-right:74px}.explorer-vocabulary .explorer-blank-tools>button{padding:4px 8px}.explorer-list-fallback summary{min-height:32px;padding:6px 0}}
.explorer-vocabulary #examNav,.explorer-vocabulary #examProgress,.explorer-vocabulary .explorer-activity-title{display:none}.explorer-vocabulary #examProgressLabel{display:block;font-size:14px;margin:4px 0 8px}.explorer-vocabulary #examNextFlag:disabled{display:none}.explorer-vocabulary .explorer-blank-tools{min-width:0}.explorer-list-fallback{max-width:100%;min-width:0}
.explorer-vocabulary .explorer-activity-intro{display:contents}.explorer-vocabulary .explorer-bank{position:sticky;top:calc(var(--explorer-toolbar,78px) + var(--explorer-nav,130px) + 6px);z-index:3;max-height:min(30dvh,220px);overflow:auto}.explorer-vocabulary #examQuestions .exam-question{scroll-margin-top:calc(var(--explorer-toolbar,78px) + var(--explorer-nav,130px) + var(--explorer-bank-height,70px) + 18px)}
.explorer-match-target{font-weight:650;text-underline-offset:3px}

/* Blackboard embed mode hides only the site banner. */
html.embed-mode body>header{display:none}
