#root{min-height:100vh}button{cursor:pointer}button:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--accent-300);outline-offset:2px}.app-shell{min-height:100vh}.topbar{display:flex;min-height:62px;align-items:center;justify-content:space-between;padding:0 36px;border-bottom:1px solid #e0e6e2;background:#fff}.brand,.topbar-right{display:inline-flex;align-items:center}.brand{gap:10px;color:inherit;font-size:14px;font-weight:700;text-decoration:none}.brand-mark{display:grid;width:29px;aspect-ratio:1;place-items:center;border-radius:7px;background:var(--accent-700);color:#fff;font-size:15px;font-weight:750}.topbar-right{gap:14px;color:#68736d;font-size:12px}.language-toggle{min-height:30px;padding:0 9px;border:1px solid #d4e5ef;border-radius:4px;background:#f3f9fc;color:var(--accent-700);font-size:11px;font-weight:650}.language-toggle:hover{border-color:var(--accent-300);background:var(--accent-100)}.topbar-divider{width:1px;height:18px;background:#dfe5e1}.unit-label{color:#34433b;font-weight:650}.practice-page{width:min(100% - 64px,1440px);margin:0 auto;padding:28px 0 40px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:0 2px 20px}.eyebrow,.panel-kicker{margin:0;color:#63746b;font-size:10px;font-weight:750}.eyebrow{margin-bottom:8px}.eyebrow span,.panel-kicker span{padding:0 4px;color:#9aa69f}.heading-copy h1{margin:0;color:#17231d;font-size:29px;font-weight:680;line-height:1.18}.author-line{margin:7px 0 0;color:#67716c;font-size:13px}.author-line span{color:#89938d}.lesson-meta{display:flex;align-items:center;gap:10px;padding-bottom:3px;color:#657169;font-size:12px}.meta-number{display:grid;width:30px;aspect-ratio:1;place-items:center;border:1px solid #d6e4ec;border-radius:50%;color:var(--accent-700);font-size:11px;font-weight:700}.progress-track{height:3px;overflow:hidden;background:#dce4df}.progress-track span{display:block;height:100%;background:var(--accent-500);transition:width .18s ease}.workspace{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);gap:16px;align-items:start;margin-top:17px}.reader-panel,.question-panel{overflow:hidden;border:1px solid #e0e6e2;border-radius:7px;background:#fff}.reader-panel{position:sticky;top:16px}.panel-heading{display:flex;min-height:69px;align-items:center;justify-content:space-between;gap:14px;padding:13px 19px;border-bottom:1px solid #edf0ee}.panel-kicker{margin-bottom:5px;font-size:9px}.panel-heading h2{margin:0;color:#202923;font-size:15px;font-weight:680}.text-action{border:0;background:transparent;color:var(--accent-700);font-size:11px;font-weight:650}.text-action span{margin-left:4px}.article-scroll{max-height:calc(100vh - 252px);overflow:auto;padding:21px 24px 27px 18px;scrollbar-color:#c9d6ce transparent;scrollbar-width:thin}.article-paragraph{position:relative;max-width:70ch;margin:0 auto 16px;padding-left:25px;color:#303a34;font-family:Georgia,Times New Roman,serif;font-size:14px;line-height:1.82}.paragraph-number{position:absolute;top:2px;left:0;color:#92a098;font-family:Inter,Segoe UI,Arial,sans-serif;font-size:10px}.article-credit{max-width:70ch;margin:24px auto 0;padding-left:25px;color:#718078;font-family:Georgia,Times New Roman,serif;font-size:12px;font-style:italic}.article-image{float:right;width:min(34%,170px);margin:0 0 13px 18px}.article-image img{display:block;width:100%;height:auto;border:1px solid #e0e6e2}.article-image figcaption{margin-top:5px;color:#859088;font-size:9px}.question-counter{color:var(--accent-700);font-size:14px;font-weight:700;white-space:nowrap}.question-counter span{color:#89958e;font-size:11px;font-weight:500}.question-nav{display:grid;grid-template-columns:repeat(10,minmax(24px,1fr));gap:7px;padding:14px 18px;border-bottom:1px solid #edf0ee}.question-nav-item{display:grid;min-width:27px;aspect-ratio:1;place-items:center;border:1px solid #d9e0dc;border-radius:5px;background:#fff;color:#637069;font-size:11px;font-weight:600;transition:background .12s ease,border-color .12s ease,color .12s ease}.question-nav-item:hover{border-color:var(--accent-300)}.question-nav-item.is-current{border-color:var(--accent-600);background:var(--accent-600);color:#fff}.question-nav-item.is-done:not(.is-current),.question-nav-item.is-answered:not(.is-current){border-color:var(--accent-200);background:var(--accent-100);color:var(--accent-700)}.question-content{min-height:390px;padding:21px 21px 24px;animation:question-in .16s ease-out}@keyframes question-in{0%{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.question-prompt{margin:0;color:#222b26;font-size:17px;font-weight:650;line-height:1.55}.question-instruction{margin:8px 0 0;color:#737e77;font-size:12px;line-height:1.5}.option-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:21px}.option-row{display:flex;min-height:42px;align-items:center;gap:10px;padding:8px 10px;border:1px solid #e1e7e3;border-radius:5px;background:#fff;color:#354139;text-align:left;font-size:12px;line-height:1.35;transition:border-color .12s ease,background .12s ease}.option-row:hover{border-color:var(--accent-300)}.option-row.is-selected{border-color:var(--accent-500);background:var(--accent-100);color:var(--accent-700)}.choice-mark{display:grid;width:16px;height:16px;flex:0 0 16px;place-items:center;border:1px solid #b9c5be;border-radius:50%;color:#fff;font-size:10px}.choice-mark.is-check{border-radius:3px}.option-row.is-selected .choice-mark{border-color:#2c7654;background:#2c7654}.option-list-images{grid-template-columns:repeat(3,minmax(0,1fr))}.option-row-image{display:grid;grid-template-columns:auto 1fr;justify-items:start;align-content:start;gap:9px;min-height:148px;padding:8px}.option-row-image .option-image{grid-column:1 / -1;width:100%;height:92px;object-fit:cover;border-radius:3px}.option-image-fallback{display:grid;place-items:center;color:#fff;font-size:22px;font-weight:700}.image-tone-1{background:linear-gradient(135deg,#8e6847,#d2b083)}.image-tone-2{background:linear-gradient(135deg,#597f88,#aac0b2)}.image-tone-3{background:linear-gradient(135deg,#3a4543,#9a6851)}.option-row-image>span:last-child{align-self:center}.answer-field{margin-top:20px}.answer-field textarea{display:block;width:100%;min-height:145px;resize:vertical;padding:12px 13px;border:1px solid #dce3de;border-radius:5px;background:#fcfdfc;color:#27312b;font-size:13px;line-height:1.6}.answer-field textarea.short-answer{min-height:66px;max-height:100px}.answer-field textarea::placeholder{color:#a0aaa4}.field-hint{display:block;margin-top:7px;color:#818c85;font-size:11px}.paired-list{display:grid;gap:18px;margin-top:20px}.paired-group{min-width:0;margin:0;padding:0;border:0}.paired-group legend{margin-bottom:9px;color:#515e56;font-size:11px;font-weight:700}.inline-options{display:flex;flex-wrap:wrap;gap:7px}.text-choice{min-height:34px;padding:6px 10px;border:1px solid #dce3de;border-radius:4px;background:#fff;color:#49554d;font-size:11px}.text-choice.is-selected{border-color:var(--accent-500);background:var(--accent-100);color:var(--accent-700)}.matching-list,.fill-blank-list{display:grid;gap:10px;margin-top:20px}.matching-row{display:grid;grid-template-columns:27px minmax(90px,.7fr) minmax(140px,1.3fr);align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #edf0ee}.matching-index{color:#87948c;font-size:10px;font-weight:700}.matching-prompt{color:#354139;font-size:12px;font-weight:650}.matching-row select,.fill-blank-row input{min-width:0;min-height:38px;padding:7px 9px;border:1px solid #dce3de;border-radius:4px;background:#fff;color:#354139;font-size:12px}.matching-row select:focus-visible,.fill-blank-row input:focus-visible{outline:3px solid var(--accent-300);outline-offset:2px}.fill-blank-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px;color:#354139;font-family:Georgia,Times New Roman,serif;font-size:15px;line-height:2}.fill-blank-row input{width:min(180px,36vw);font-family:Inter,Segoe UI,Arial,sans-serif}.feedback{display:flex;gap:10px;margin-top:19px;padding:11px 12px;border-left:3px solid #9daa9f;background:#f5f7f5}.feedback-mark{display:grid;width:20px;height:20px;flex:0 0 20px;place-items:center;border-radius:50%;background:#e5ebe7;color:#52665a;font-size:12px;font-weight:700}.feedback strong{color:#37443b;font-size:11px}.feedback p{margin:3px 0 0;color:#66726a;font-size:11px;line-height:1.5}.feedback-submitted{border-color:var(--accent-500);background:var(--accent-100)}.feedback-submitted .feedback-mark{background:var(--accent-200);color:var(--accent-700)}.question-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-top:1px solid #edf0ee;background:#fcfdfc}.footer-navigation{display:flex;gap:7px}.secondary-button,.submit-button{min-height:38px;border-radius:5px;font-size:11px;font-weight:650}.secondary-button{padding:0 10px;border:1px solid #dce3de;background:#fff;color:#4d5952}.secondary-button:disabled{cursor:default;color:#abb4ae;background:#f7f8f7}.submit-button{padding:0 15px;border:1px solid var(--accent-700);background:var(--accent-700);color:#fff;white-space:nowrap}.submit-button:hover:not(:disabled){background:#1e5275}.submit-button:disabled{cursor:default;opacity:.55}.submit-actions{display:flex;gap:8px}.completion-panel{min-height:520px;padding:26px 23px}.completion-panel>.panel-kicker{margin:0}.completion-symbol{display:grid;width:48px;aspect-ratio:1;place-items:center;margin-top:22px;border-radius:50%;background:var(--accent-100);color:var(--accent-700);font-size:22px;font-weight:700}.completion-panel h2{margin:17px 0 0;color:#202923;font-size:23px}.completion-copy{margin:8px 0 0;color:#68736d;font-size:13px;line-height:1.55}.completion-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:25px;border-top:1px solid #e8ede9;border-bottom:1px solid #e8ede9}.completion-summary>div{display:grid;gap:5px;padding:15px 8px;text-align:center}.completion-summary>div+div{border-left:1px solid #e8ede9}.completion-summary strong{color:#26342c;font-size:20px}.completion-summary span{color:#728078;font-size:10px;line-height:1.3}.completion-note{margin:12px 0 0;color:#87918b;font-size:10px;line-height:1.5}.next-unit-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:26px;padding:14px 0;border-top:1px solid #e8ede9;border-bottom:1px solid #e8ede9}.next-unit-row div{display:grid;gap:5px}.next-unit-row div span{color:#7a867f;font-size:9px;font-weight:700}.next-unit-row div strong{color:#29372f;font-size:13px}.next-unit-row>span{color:var(--accent-700);font-size:19px}.continue-button{width:100%;margin-top:16px}.mobile-view-switch,.mobile-device-notice{display:none}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}@media(max-width:980px){.practice-page{width:min(100% - 40px,800px)}.workspace{grid-template-columns:minmax(0,1fr) minmax(350px,.95fr);gap:12px}.question-nav{gap:5px;padding-right:13px;padding-left:13px}.question-nav-item{min-width:23px}.article-scroll{padding-right:16px;padding-left:13px}.article-paragraph{padding-left:20px;font-size:13px;line-height:1.72}.article-credit{padding-left:20px}}@media(max-width:760px){.topbar{min-height:56px;padding:0 18px}.practice-page{width:min(100% - 32px,620px);padding-top:22px}.page-heading{align-items:flex-start;padding-bottom:15px}.heading-copy h1{font-size:26px}.lesson-meta{gap:7px;padding-top:8px;font-size:10px}.meta-number{width:26px}.mobile-view-switch{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin-top:13px;padding:3px;border:1px solid #d7e5ed;border-radius:6px;background:#eaf3f8}.mobile-view-switch button{min-height:36px;border:0;border-radius:4px;background:transparent;color:#67746c;font-size:12px;font-weight:600}.mobile-view-switch button.is-active{background:#fff;color:var(--accent-700);box-shadow:0 1px 2px #1828201a}.mobile-view-switch button span{margin-left:4px;color:#829087;font-size:10px}.workspace{display:block;margin-top:12px}.reader-panel,.question-panel{position:static}.workspace.mobile-reading .question-panel,.workspace.mobile-questions .reader-panel{display:none}.article-scroll{max-height:none;padding:19px 20px 26px 15px}.article-paragraph{padding-left:23px;font-size:15px;line-height:1.85}.article-credit{padding-left:23px}.question-content{min-height:340px;padding:19px 17px 22px}.question-nav{grid-template-columns:repeat(10,minmax(24px,1fr));gap:6px;padding:12px 14px}.question-nav-item{min-width:24px}.question-footer{flex-wrap:wrap}.submit-actions{margin-left:auto}}@media(max-width:430px){.topbar-right{gap:9px;font-size:11px}.practice-page{width:min(100% - 24px,620px)}.lesson-meta{max-width:94px;line-height:1.35}.option-list{grid-template-columns:1fr}.question-footer{align-items:stretch;flex-direction:column-reverse}.footer-navigation>button,.submit-button{flex:1}}@media(max-width:600px){.topbar,.practice-page{display:none}.mobile-device-notice{display:grid;min-height:100vh;align-content:center;justify-items:start;width:min(100% - 40px,420px);margin:0 auto}.mobile-device-notice h1{max-width:14ch;margin:20px 0 0;color:#202923;font-size:25px;line-height:1.25}.mobile-device-notice p{max-width:42ch;margin:11px 0 0;color:#66726a;font-size:14px;line-height:1.65}}:root{--accent-700: #28658d;--accent-600: #377fa9;--accent-500: #4b9ac5;--accent-300: #9bcde7;--accent-200: #cce4f1;--accent-100: #edf6fb;--canvas: #f2f7fa;font-family:Inter,Segoe UI,Arial,sans-serif;color:#202724;background:var(--canvas);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;font-weight:400}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,textarea,a{font:inherit}button{color:inherit}::selection{background:var(--accent-200)}
