:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3efe6;--surface:#fffdf8;--surface-soft:#faf7f0;--text:#262b2a;--muted:#68706c;--border:#dcd7cc;--border-strong:#c8c1b3;--primary:#176b62;--primary-strong:#0f514b;--primary-soft:#e4f1ed;--accent:#c46c3d;--a:#176b62;--a-bg:#dff0ea;--c:#8b552b;--c-bg:#f7ead9;--r:#5d5b8a;--r-bg:#ebe9f6;--plus:#9b5d20;--plus-bg:#fff5e5;--bridge:#6b4f91;--bridge-bg:#f4effb;--success:#347454;--success-bg:#e4f2e8;--danger:#9a4139;--shadow:0 16px 45px #39312714;--sidebar-width:19.5rem;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.timed-section-page{gap:1.5rem;display:grid}.timed-section-hero,.section-sticky-status,.section-score-hero,.section-score-grid,.timed-section-hero__stats{flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}.timed-section-hero__stats span,.section-sticky-status>div,.section-score-grid>div{border:1px solid var(--border,#d8d6cf);background:var(--surface-soft,#f7f5ef);border-radius:.75rem;padding:.7rem .9rem}.timed-section-hero__stats{align-content:flex-start}.section-integrity-note,.section-start,.section-submit-panel,.section-result,.section-next-milestone{border:1px solid var(--border,#d8d6cf);border-radius:1rem;padding:1rem}.section-instructions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.section-instructions>h2{grid-column:1/-1}.section-instructions article,.section-task,.section-source-text,.section-ad-grid article,.section-remediation article,.section-review article{border:1px solid var(--border,#d8d6cf);background:var(--surface,#fff);border-radius:.8rem;padding:1rem}.section-sticky-status{z-index:4;background:color-mix(in srgb, var(--surface,#fff) 94%, transparent);border-radius:.9rem;padding:.75rem;position:sticky;top:.5rem;box-shadow:0 .3rem 1.2rem #0000001a}.section-sticky-status small,.section-sticky-status strong{display:block}.section-sticky-status strong{font-variant-numeric:tabular-nums}.section-sticky-status .is-urgent{color:#a52c22}.section-part-nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;display:grid}.section-part-nav button{min-width:0;padding:.7rem .5rem}.section-part-nav button span{margin-top:.2rem;font-size:.78rem;display:block}.section-part-nav button.is-active{outline:3px solid color-mix(in srgb, currentColor 30%, transparent)}.section-part,.section-remediation,.section-review[open]{gap:1rem;display:grid}.section-heading-bank,.section-option-bank,.section-ad-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.section-heading-bank p,.section-option-bank span{background:var(--surface-soft,#f7f5ef);border-radius:.6rem;margin:0;padding:.65rem}.section-task h3,.section-source-text h3,.section-ad-grid p{margin-top:0}.section-task__answer,.section-choice-list label{align-items:center;gap:.65rem;display:flex}.section-choice-list--inline{flex-wrap:wrap;gap:.75rem;display:flex}.section-choice-list--inline label{min-width:8rem}.section-audio-status{z-index:4;border-color:color-mix(in srgb, var(--accent) 42%, var(--border));position:sticky;top:.75rem;box-shadow:0 .75rem 2rem #0f172a1a}.section-preview-clock{font-variant-numeric:tabular-nums;color:var(--accent);font-size:clamp(1.5rem,4vw,2.4rem);font-weight:800}.section-transcripts{gap:.55rem;display:grid}.section-transcripts h4{margin:1rem 0 0}.section-transcripts p{margin:0}.section-task__answer{flex-wrap:wrap}.section-task__answer select{min-width:min(24rem,100%);max-width:100%}.section-choice-list{gap:.55rem;display:grid}.section-choice-list label{background:var(--surface-soft,#f7f5ef);border-radius:.55rem;padding:.55rem}.section-cloze-template{white-space:pre-line;line-height:1.75}.section-score-hero{background:var(--surface-soft,#f7f5ef);border-radius:.8rem;align-items:baseline;padding:1rem}.section-score-hero strong{font-size:clamp(1.4rem,4vw,2.2rem)}.section-score-grid{margin:0}.section-score-grid dt{font-size:.8rem}.section-score-grid dd{margin:.25rem 0 0;font-weight:700}.section-start button+button,.section-submit-panel button+button{margin-left:.65rem}@media (max-width:760px){.section-instructions,.section-heading-bank,.section-option-bank,.section-ad-grid{grid-template-columns:1fr}.section-part-nav{grid-template-columns:1fr 1fr}.section-part-nav button:last-child{grid-column:1/-1}.section-sticky-status>div{flex:calc(50% - .5rem)}.section-task__answer{flex-direction:column;align-items:stretch}.section-task__answer select{width:100%;min-width:0}.section-start button,.section-submit-panel button{width:100%}.section-start button+button,.section-submit-panel button+button{margin:.65rem 0 0}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;color:var(--text);background:var(--bg);text-rendering:optimizelegibility;margin:0;line-height:1.65;overflow-x:hidden}button,input,textarea,select{font:inherit}button,summary,a{-webkit-tap-highlight-color:transparent}a{color:var(--primary-strong);text-underline-offset:.16em;text-decoration-thickness:.08em}button:focus-visible,summary:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex="0"]:focus-visible{outline-offset:3px;outline:3px solid #176b625c}.skip-link{z-index:1000;color:#fff;background:var(--primary-strong);border-radius:.5rem;padding:.65rem .9rem;transition:transform .16s;position:fixed;top:.7rem;left:.7rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100vh;display:grid}.app-main{min-width:0}.sidebar{z-index:40;overscroll-behavior:contain;border-right:1px solid var(--border);scrollbar-width:thin;background:#f9f6ef;height:100vh;position:sticky;top:0;overflow-y:auto}.sidebar__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding:1.65rem 1.4rem 1.2rem;display:flex}.eyebrow{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .35rem;font-size:.7rem;font-weight:800;line-height:1.3}.brand{color:var(--text);letter-spacing:-.025em;font-family:Georgia,Times New Roman,serif;font-size:1.65rem;font-weight:700;line-height:1.1;text-decoration:none;display:block}.brand__level{max-width:14rem;color:var(--muted);margin:.45rem 0 0;font-size:.77rem;line-height:1.45}.sidebar__close{width:2.35rem;height:2.35rem;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:1.6rem;display:none}.area-nav{border-bottom:1px solid var(--border);gap:.35rem;padding:.85rem .8rem;display:grid}.area-nav a{color:var(--muted);border-radius:.55rem;padding:.58rem .7rem;font-size:.76rem;font-weight:760;line-height:1.3;text-decoration:none}.area-nav a:hover{color:var(--primary-strong);background:#176b6212}.area-nav a.is-active{color:var(--primary-strong);background:var(--primary-soft);box-shadow:inset 3px 0 var(--primary)}.course-progress{border-bottom:1px solid var(--border);padding:1rem 1.4rem 1.2rem}.course-progress__copy{color:var(--muted);justify-content:space-between;margin-bottom:.55rem;font-size:.78rem;display:flex}.course-progress__copy strong{color:var(--text);font-variant-numeric:tabular-nums}.course-progress progress{background:#e4ded2;border:0;border-radius:999px;width:100%;height:.42rem;display:block;overflow:hidden}.course-progress progress::-webkit-progress-bar{background:#e4ded2}.course-progress progress::-webkit-progress-value{background:var(--success);border-radius:999px}.course-progress progress::-moz-progress-bar{background:var(--success);border-radius:999px}.sidebar__nav{padding:.65rem 0 2rem}.nav-section{padding:.5rem .7rem .75rem}.nav-section+.nav-section{border-top:1px solid #dcd7ccb8}.nav-section h2{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;margin:0;padding:.65rem .65rem .45rem;font-size:.69rem;font-weight:800}.nav-section ol{margin:0;padding:0;list-style:none}.sidebar-link{color:var(--text);border-radius:.65rem;grid-template-columns:1.45rem minmax(0,1fr);align-items:center;gap:.62rem;margin:.08rem 0;padding:.53rem .62rem;text-decoration:none;transition:background .14s,color .14s;display:grid}.sidebar-link:hover{background:#176b6212}.sidebar-link.is-active{color:var(--primary-strong);background:var(--primary-soft);box-shadow:inset 3px 0 var(--primary)}.sidebar-link__status{border:1px solid var(--border-strong);width:1.35rem;height:1.35rem;color:var(--muted);border-radius:50%;place-items:center;font-size:.65rem;font-weight:800;display:grid}.sidebar-link__status.is-complete{border-color:var(--success);color:#fff;background:var(--success)}.sidebar-link__copy{min-width:0}.sidebar-link__type{color:var(--muted);letter-spacing:.055em;text-transform:uppercase;font-size:.64rem;font-weight:750;line-height:1.2;display:block}.sidebar-link__title{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.12rem;font-size:.8rem;font-weight:620;line-height:1.3;display:-webkit-box;overflow:hidden}.nav-section--reference .sidebar-link__status{border-radius:.35rem}.sidebar-backdrop{display:none}.topbar{z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f3efe6ed;border-bottom:1px solid #c8c1b3d1;justify-content:flex-end;align-items:center;gap:1rem;min-height:4rem;padding:.65rem clamp(1rem,3vw,2.5rem);display:flex;position:sticky;top:0}.topbar__context{color:var(--primary-strong);font-family:Georgia,Times New Roman,serif;font-size:1.05rem;font-weight:700}.menu-button{border:1px solid var(--border-strong);color:var(--text);background:var(--surface);cursor:pointer;border-radius:.55rem;align-items:center;gap:.45rem;padding:.46rem .65rem;font-size:.78rem;font-weight:700;display:none}.speech-speed{border:1px solid var(--border);background:#fffdf8c7;border-radius:.7rem;align-items:center;gap:.2rem;padding:.22rem;display:flex}.speech-speed>span{color:var(--muted);text-transform:uppercase;padding:0 .45rem;font-size:.72rem;font-weight:750}.speech-speed button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:.48rem;padding:.4rem .62rem;font-size:.76rem;font-weight:680}.speech-speed button.is-active{color:#fff;background:var(--primary)}.audio-settings{position:relative}.audio-settings>summary{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;border-radius:.55rem;padding:.45rem .68rem;font-size:.76rem;font-weight:700;list-style:none}.audio-settings>summary::-webkit-details-marker{display:none}.audio-settings__panel{border:1px solid var(--border);background:var(--surface);width:min(20rem,100vw - 2rem);box-shadow:var(--shadow);border-radius:.8rem;padding:1rem;position:absolute;top:calc(100% + .55rem);right:0}.audio-settings__panel label span{margin-bottom:.4rem;font-size:.75rem;font-weight:750;display:block}.audio-settings__panel select{border:1px solid var(--border-strong);width:100%;color:var(--text);background:#fff;border-radius:.5rem;padding:.55rem}.audio-settings__panel p{color:var(--muted);margin:.65rem 0 0;font-size:.76rem;line-height:1.5}.audio-settings__panel .audio-error{color:var(--danger)}.reader{width:100%;padding:clamp(1rem,3.2vw,3.2rem)}.lesson-surface,.error-state{background:var(--surface);width:min(100%,58rem);box-shadow:var(--shadow);border:1px solid #dcd7cce6;border-radius:1rem;margin:0 auto;padding:clamp(1.25rem,4vw,4rem)}.lesson-meta{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.lesson-meta__badges{flex-wrap:wrap;gap:.42rem;display:flex}.lesson-meta__badges span,.completed-label{color:var(--muted);background:var(--surface-soft);border-radius:999px;padding:.27rem .55rem;font-size:.68rem;font-weight:750;line-height:1.2}.completed-label{color:var(--success);background:var(--success-bg);white-space:nowrap}.related-grammar{border-left:3px solid var(--primary);background:var(--primary-soft);align-items:flex-start;gap:.8rem 1.2rem;margin:0 0 2rem;padding:.85rem 1rem;font-size:.82rem;display:flex}.related-grammar>span{color:var(--primary-strong);flex:none;font-weight:800}.related-grammar div{flex-wrap:wrap;gap:.35rem .8rem;display:flex}.related-grammar a{font-weight:650}.lesson-markdown{font-size:1rem}.lesson-markdown h1,.lesson-markdown h2,.lesson-markdown h3,.lesson-markdown h4,.lesson-markdown h5,.lesson-markdown h6{color:#202624;text-wrap:balance;font-family:Georgia,Times New Roman,serif;line-height:1.22}.lesson-markdown h1{letter-spacing:-.04em;margin:0 0 2.3rem;font-size:clamp(2.1rem,5vw,3.55rem)}.lesson-markdown h2{letter-spacing:-.025em;margin:4rem 0 1.2rem;padding-top:.4rem;font-size:clamp(1.55rem,3vw,2.15rem)}.lesson-markdown h3{margin:2.4rem 0 .9rem;font-size:1.35rem}.lesson-markdown h4{margin:1.7rem 0 .65rem;font-size:1.08rem}.lesson-markdown h5,.lesson-markdown h6{margin:1.4rem 0 .55rem;font-size:.98rem}.lesson-markdown p{margin:.85rem 0}.lesson-markdown ul,.lesson-markdown ol{padding-left:1.35rem}.lesson-markdown li+li{margin-top:.33rem}.lesson-markdown hr{border:0;border-top:1px solid var(--border);margin:3rem 0}.lesson-markdown blockquote{border-left:3px solid var(--border-strong);color:var(--muted);margin:1rem 0;padding:.3rem 0 .3rem 1rem}.lesson-markdown code{color:#6c3f20;background:#f3eadf;border-radius:.3rem;padding:.12em .35em;font-family:SFMono-Regular,Consolas,monospace;font-size:.88em}.lesson-markdown pre{color:#fff;background:#272b2a;border-radius:.65rem;max-width:100%;padding:1rem;overflow-x:auto}.lesson-markdown pre code{color:inherit;background:0 0;padding:0}.vocab-marker{vertical-align:.1em;border:1px solid;border-radius:.34rem;place-items:center;min-width:1.5rem;height:1.28rem;margin:0 .2rem 0 .05rem;font-family:Inter,ui-sans-serif,sans-serif;font-size:.64rem;font-weight:850;line-height:1;display:inline-grid}.vocab-marker--a{color:var(--a);background:var(--a-bg)}.vocab-marker--c{color:var(--c);background:var(--c-bg)}.vocab-marker--r{color:var(--r);background:var(--r-bg)}.content-block,.support-block,.reference-block,.prompt-block{border-radius:.72rem;margin:1rem 0;position:relative}.content-block{background:#f1f8f5;border:1px solid #cbded8;padding:1rem 3.3rem 1rem 1.15rem;transition:border-color .15s,box-shadow .15s,background .15s}.content-block--vocabulary{background:#fbf6ed;border-color:#e0d4c1}.content-block--reading{border-left:4px solid var(--primary)}.content-block.is-speaking,.dialogue-block.is-speaking,.dialogue-turn.is-speaking{border-color:var(--primary);background:#e8f5f1;box-shadow:0 0 0 3px #176b621f}.content-block__body>:first-child,.support-block>:first-child,.reference-block>:first-child,.prompt-block>:first-child{margin-top:0}.content-block__body>:last-child,.support-block>:last-child,.reference-block>:last-child,.prompt-block>:last-child{margin-bottom:0}.audio-button{min-height:2rem;color:var(--primary-strong);cursor:pointer;background:#fff;border:1px solid #a9c9c1;border-radius:999px;align-items:center;gap:.35rem;padding:.32rem .55rem;font-size:.69rem;font-weight:750;line-height:1;display:inline-flex}.audio-button:hover{border-color:var(--primary);background:var(--primary-soft)}.audio-button--active{border-color:var(--primary);color:#fff;background:var(--primary)}.content-block>.audio-button{position:absolute;top:.72rem;right:.72rem}.content-block>.audio-button .audio-button__label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.dialogue-block{border:1px solid #cbded8;border-left:4px solid var(--primary);background:#f5faf8;border-radius:.8rem;margin:1.4rem 0;padding:1.15rem;transition:border-color .15s,box-shadow .15s,background .15s}.semantic-heading{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.8rem;display:flex}.semantic-label{color:var(--primary-strong);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:850}.dialogue-block__turns>ul,.dialogue-block__turns>ol{margin:0;padding:0;list-style:none}.dialogue-turn{border-top:1px solid #cbded8d1;border-radius:.45rem;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.8rem;padding:.72rem .45rem;display:grid;margin:0!important}.dialogue-turn:first-child{border-top:0}.dialogue-turn__text p{margin:0}.dialogue-turn__text strong:first-child{color:var(--primary-strong)}.exercise-block{background:#fcfaf5;border:1px solid #d9d1c1;border-radius:.8rem;margin:1.6rem 0;padding:1.2rem}.semantic-label--exercise{color:#765126}.exercise-note{color:var(--muted);font-size:.7rem}.exercise-block__content>:first-child{margin-top:0}.response-field{margin-top:1.1rem;display:block}.response-field>span{color:var(--muted);margin-bottom:.35rem;font-size:.75rem;font-weight:750;display:block}.response-field textarea,.response-field input{border:1px solid var(--border-strong);width:100%;color:var(--text);resize:vertical;background:#fff;border-radius:.55rem;padding:.72rem}.solution-set{margin:1.5rem 0}.solution-block{background:#f1f8f3;border:1px solid #bcd6c4;border-radius:.7rem;margin:.8rem 0;overflow:clip}.solution-block>summary{color:var(--success);cursor:pointer;padding:.85rem 1rem;font-size:.82rem;font-weight:800}.solution-block[open]>summary{border-bottom:1px solid #cfe2d4}.solution-block__content{padding:.6rem 1rem 1rem}.difficulty-block{border-radius:.8rem;margin:1.5rem 0}.difficulty-block--plus{background:var(--plus-bg);border:1px solid #ead2ad;padding:1.05rem 1.15rem}.difficulty-block--bridge{background:var(--bridge-bg);border:1px solid #d4c4e5;overflow:clip}.difficulty-block--bridge>summary{color:#5e477c;cursor:pointer;align-items:center;gap:.7rem;padding:.9rem 1rem;font-size:.78rem;font-weight:680;display:flex}.difficulty-block--bridge[open]>summary{border-bottom:1px solid #ded2ea}.difficulty-block__content{padding:.55rem 1rem 1rem}.difficulty-badge{color:#77440f;letter-spacing:.055em;text-transform:uppercase;background:#f6dfba;border-radius:999px;align-items:center;width:-moz-fit-content;width:fit-content;margin-bottom:.5rem;padding:.22rem .5rem;font-size:.66rem;font-weight:850;line-height:1.2;display:inline-flex}.difficulty-block--bridge summary .difficulty-badge{color:#fff;background:var(--bridge);flex:none;margin:0}.support-block{border:1px solid #efd7c0;border-left:4px solid var(--accent);background:#fff7ef;padding:1rem 1.1rem}.support-block .semantic-label{color:#9a542d;margin-bottom:.45rem;display:block}.reference-block{border:1px solid var(--border);background:var(--surface-soft);padding:.85rem 1rem;font-family:SFMono-Regular,Consolas,monospace;font-size:.88rem}.prompt-block{border:1px dashed var(--border-strong);color:#454b48;background:#fff;padding:.8rem 1rem}.unknown-block{background:#fff4f2;border:1px solid #e0aaa6;border-radius:.6rem;margin:1rem 0;padding:1rem}.table-shell,.table-scroll-block{overscroll-behavior-inline:contain;scrollbar-width:thin;max-width:100%;overflow-x:auto}.table-shell{border:1px solid var(--border);border-radius:.65rem;margin:1.2rem 0}.table-scroll-block>.table-shell{box-shadow:inset -10px 0 14px -14px #262b2aa6}.lesson-markdown table{border-collapse:collapse;width:100%;min-width:32rem;font-size:.84rem}.lesson-markdown th,.lesson-markdown td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.65rem .72rem}.lesson-markdown th{color:#414743;background:#f2eee6;font-size:.76rem;font-weight:800}.lesson-markdown tr:last-child td{border-bottom:0}.completion-panel{background:#f3f9f5;border:1px solid #c9dccf;border-radius:.85rem;justify-content:space-between;align-items:center;gap:1.5rem;margin-top:4rem;padding:1.3rem;display:flex}.completion-panel h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.25rem}.completion-panel p:not(.eyebrow){color:var(--muted);margin:.25rem 0 0;font-size:.78rem}.completion-button{color:#fff;background:var(--primary);cursor:pointer;border:0;border-radius:.62rem;flex:none;padding:.75rem 1rem;font-size:.82rem;font-weight:800}.completion-button:hover{background:var(--primary-strong)}.completion-button.is-complete{border:1px solid var(--success);color:var(--success);background:#fff}.lesson-pagination{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.6rem;display:grid}.lesson-pagination a{border:1px solid var(--border);min-height:5rem;color:var(--text);background:var(--surface-soft);border-radius:.75rem;flex-direction:column;justify-content:center;padding:.9rem 1rem;text-decoration:none;display:flex}.lesson-pagination a:hover{background:var(--primary-soft);border-color:#a9c9c1}.lesson-pagination span{color:var(--muted);text-transform:uppercase;font-size:.7rem;font-weight:750}.lesson-pagination strong{margin-top:.24rem;font-size:.82rem;line-height:1.4}.lesson-pagination__next{text-align:right}.error-state{margin-top:3rem}.error-state h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,5vw,3rem)}.error-state p:not(.eyebrow){color:var(--muted)}.listening-landing__hero{max-width:43rem;margin-bottom:2.5rem}.listening-landing__hero h1{letter-spacing:-.045em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.5rem,6vw,4.5rem);line-height:1}.listening-landing__hero>p:last-child{max-width:38rem;color:var(--muted);margin:1rem 0 0;font-size:1.05rem}.listening-levels{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.listening-levels section{border:1px solid var(--border);background:var(--surface-soft);border-radius:.85rem;padding:1.35rem}.listening-levels section>span,.listening-level__heading>span{color:#fff;background:var(--primary);border-radius:50%;place-items:center;min-width:2.2rem;height:2.2rem;font-size:.75rem;font-weight:850;display:inline-grid}.listening-level__heading{align-items:center;gap:.85rem;display:flex}.listening-level__heading h2{margin:0}.listening-levels .listening-level__progress{margin-top:.2rem;font-size:.75rem;font-weight:750}.listening-lesson-list{gap:.65rem;margin:1.1rem 0 0;padding:0;list-style:none;display:grid}.listening-lesson-list li{margin:0!important}.listening-lesson-list a{color:var(--text);background:#fff;border:1px solid #cbded8;border-radius:.7rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.85rem;text-decoration:none;display:grid}.listening-lesson-list a:hover{border-color:var(--primary);background:var(--primary-soft)}.listening-lesson-list__number{width:2.2rem;height:2.2rem;color:var(--primary-strong);background:var(--primary-soft);border-radius:50%;place-items:center;font-size:.7rem;font-weight:850;display:inline-grid}.listening-lesson-list__number.is-complete{color:#fff;background:var(--success)}.listening-lesson-list__copy strong,.listening-lesson-list__copy small{display:block}.listening-lesson-list__copy strong{font-size:.86rem}.listening-lesson-list__copy small,.listening-lesson-list__state{color:var(--muted);font-size:.69rem}.listening-lesson-list__copy small{margin-top:.2rem}.listening-lesson-list__state{font-weight:780}.listening-levels h2,.listening-demo-card h2{margin:.8rem 0 .4rem;font-family:Georgia,Times New Roman,serif;font-size:1.4rem}.listening-levels p,.listening-demo-card p:not(.eyebrow){color:var(--muted);margin:0;font-size:.86rem}.listening-demo-card{background:#fff8f1;border:1px dashed #c99b7b;border-radius:.85rem;justify-content:space-between;align-items:center;gap:1.5rem;margin-top:1.25rem;padding:1.25rem 1.35rem;display:flex}.listening-demo-card h2{margin-top:0}.listening-demo-card a{color:#fff;background:var(--primary);border-radius:.6rem;flex:none;padding:.68rem .85rem;font-size:.8rem;font-weight:800;text-decoration:none}.listening-recommendation{color:var(--muted);margin:0 0 1.5rem;font-size:.8rem}.listening-stage{border:1px solid var(--border);background:#fffefa;border-radius:.9rem;margin:2.2rem 0;overflow:clip}.listening-stage__header{border-bottom:1px solid var(--border);background:var(--surface-soft);align-items:flex-start;gap:.9rem;padding:1.15rem 1.2rem;display:flex}.listening-stage__number{color:#fff;background:var(--primary);border-radius:50%;flex:none;place-items:center;width:2rem;height:2rem;font-size:.78rem;font-weight:850;display:inline-grid}.lesson-markdown .listening-stage h2{letter-spacing:-.01em;margin:0;padding:0;font-size:1.25rem}.listening-stage__header p{color:var(--muted);margin:.28rem 0 0;font-size:.8rem}.listening-stage__content{padding:1.2rem}.listening-audio{background:#f1f8f5;border:1px solid #bcd5ce;border-radius:.75rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.8rem 1rem;padding:1rem;display:grid}.listening-audio__element{display:none}.listening-audio__copy strong,.listening-audio__copy span{display:block}.listening-audio__copy strong{font-size:.88rem}.listening-audio__copy span{color:var(--muted);margin-top:.12rem;font-size:.69rem}.listening-audio__controls,.listening-audio__speed{flex-wrap:wrap;gap:.4rem;display:flex}.listening-audio__controls button,.listening-audio__speed button,.transcript-reveal,.listening-transcript-gate button{min-height:2.25rem;color:var(--primary-strong);cursor:pointer;background:#fff;border:1px solid #a9c9c1;border-radius:.55rem;padding:.45rem .68rem;font-size:.74rem;font-weight:760}.listening-audio__controls button:first-child,.transcript-reveal,.listening-transcript-gate button{color:#fff;background:var(--primary)}.listening-audio button:disabled{opacity:.46;cursor:not-allowed}.listening-audio__speed{border-top:1px solid #cfe0db;grid-column:1/-1;align-items:center;padding-top:.75rem}.listening-audio__speed>span{color:var(--muted);text-transform:uppercase;margin-right:.2rem;font-size:.68rem;font-weight:800}.listening-audio__speed button.is-active{border-color:var(--primary);color:#fff;background:var(--primary)}.listening-audio--compact{background:var(--surface-soft);padding:.65rem;display:block}.listening-audio--compact .listening-audio__copy{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.listening-hidden-note{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:.65rem 0 1rem;font-size:.7rem;font-weight:750}.listening-question-list{gap:.85rem;margin-top:1rem;display:grid}.listening-question{background:#fcfaf5;border:1px solid #ddd4c4;border-radius:.7rem;margin:1rem 0 0;padding:1rem}.listening-question legend{padding:0 .25rem;font-weight:780}.listening-question__options{gap:.45rem;margin-top:.55rem;display:grid}.listening-question__options label{cursor:pointer;background:#fff;border-radius:.5rem;align-items:flex-start;gap:.55rem;padding:.55rem .65rem;display:flex}.listening-question__options input{margin-top:.32rem}.listening-answer{border-top:1px solid var(--border);color:var(--success);margin-top:.8rem;padding-top:.7rem;font-size:.78rem}.listening-answer summary{cursor:pointer;font-weight:780}.listening-answer p{color:var(--text);margin-bottom:0}.listening-answer--example{background:#f1f8f3;border:1px solid #bcd6c4;border-radius:.65rem;padding:.8rem 1rem}.listening-sequence{background:#f3f8f6;border:1px solid #c9d8d3;border-radius:.75rem;margin-top:1.25rem;padding:1rem}.lesson-markdown .listening-sequence h3{margin:.2rem 0 .35rem;font-size:1.05rem}.listening-sequence__instruction{color:var(--muted);margin:0;font-size:.8rem}.listening-sequence__events,.listening-sequence__solution{gap:.5rem;margin:.85rem 0 0;padding-left:1.6rem;display:grid}.listening-sequence__events li,.listening-sequence__solution li{background:#fff;border-radius:.5rem;padding:.55rem .65rem;margin:0!important}.listening-sequence__events li::marker{color:var(--success);font-weight:800}.listening-sequence__solution li::marker{color:var(--success);font-weight:800}.listening-keywords{flex-wrap:wrap;gap:.55rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.listening-keywords li{color:#6f4b25;background:#fbf6ed;border:1px solid #e0d4c1;border-radius:999px;padding:.45rem .7rem;font-size:.8rem;font-weight:720;margin:0!important}.transcript-reveal[aria-expanded=true]{border-color:var(--success);color:var(--success);background:#fff}.transcript-reveal__content{margin-top:1rem}.listening-transcript{margin:1rem 0 0;padding:0;list-style:none}.listening-transcript li{border-top:1px solid var(--border);border-radius:.45rem;grid-template-columns:minmax(4rem,auto) minmax(0,1fr);gap:.75rem;padding:.7rem .75rem;transition:background .12s,box-shadow .12s;display:grid;margin:0!important}.listening-transcript li:first-child{border-top:0}.listening-transcript li.is-speaking{box-shadow:inset 3px 0 var(--primary);background:#e8f5f1}.listening-transcript strong{color:var(--primary-strong)}.listening-transcript-gate{border:1px dashed var(--border-strong);background:var(--surface-soft);border-radius:.7rem;padding:1rem}.listening-transcript-gate p{color:var(--muted);margin-top:0}.shadowing-list{gap:.8rem;display:grid}.shadowing-item{border:1px solid var(--border);background:var(--surface-soft);border-radius:.7rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.9rem;display:grid}.shadowing-item>div>strong{color:var(--primary-strong);text-transform:uppercase;font-size:.72rem}.shadowing-item p{margin:.2rem 0 0}.listening-stage--optional{border-style:dashed;border-color:#c99b7b}.listening-stage__optional{color:#78451f;letter-spacing:.04em;text-transform:uppercase;background:#f8e6d5;border-radius:999px;place-items:center;min-height:2rem;padding:.25rem .65rem;font-size:.65rem;font-weight:850;display:inline-grid}.mini-dictation{gap:1rem;display:grid}.mini-dictation__item{border:1px solid var(--border);background:var(--surface-soft);border-radius:.75rem;padding:1rem}.lesson-markdown .mini-dictation__item h3{margin:0 0 .75rem;font-size:1rem}.mini-dictation__item>label{margin-top:.85rem;display:block}.mini-dictation__item>label span{color:var(--muted);margin-bottom:.35rem;font-size:.75rem;font-weight:750;display:block}.mini-dictation__item input{border:1px solid var(--border-strong);width:100%;min-height:2.6rem;color:var(--text);background:#fff;border-radius:.55rem;padding:.65rem .72rem}.mini-dictation__item input:focus-visible{outline-offset:2px;outline:3px solid #14746433}.listening-demo-note,.listening-back{color:var(--muted);margin:2rem 0 0;font-size:.78rem}.listening-back{border-top:1px solid var(--border);padding-top:1rem}.learning-dashboard{width:min(100%,70rem)}.learning-dashboard__hero{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:2rem;padding-bottom:2rem;display:flex}.learning-dashboard__hero>div:first-child{max-width:48rem}.learning-dashboard__goal{color:var(--primary-strong);margin:0 0 .65rem;font-size:.82rem;font-weight:800}.learning-dashboard__hero h1{letter-spacing:-.04em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,5vw,3.8rem);line-height:1.04}.learning-dashboard__hero>div:first-child>p:last-child{max-width:44rem;color:var(--muted);margin:1rem 0 0}.learning-dashboard__stage-mark{min-width:7.5rem;color:var(--primary-strong);background:var(--primary-soft);text-align:center;border:1px solid #b8d4cd;border-radius:.85rem;gap:.2rem;padding:1rem;display:grid}.learning-dashboard__stage-mark span{font-family:Georgia,Times New Roman,serif;font-size:2.1rem;font-weight:700;line-height:1}.learning-dashboard__stage-mark small{letter-spacing:.055em;text-transform:uppercase;font-size:.68rem;font-weight:800}.dashboard-notice{border-left:3px solid var(--accent);color:#71482f;background:#fff3e9;margin:1.25rem 0 0;padding:.75rem .9rem;font-size:.82rem}.dashboard-section{margin-top:3.2rem}.dashboard-section__heading{justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:1.1rem;display:flex}.dashboard-section__heading h2{letter-spacing:-.025em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.55rem,3vw,2.15rem);line-height:1.15}.dashboard-section__heading>p{max-width:23rem;color:var(--muted);text-align:right;margin:0;font-size:.76rem}.planner-tasks{gap:.75rem;display:grid}.planner-task{border:1px solid var(--border);border-left:4px solid var(--primary);background:var(--surface-soft);border-radius:.75rem;grid-template-columns:minmax(12rem,.75fr) minmax(15rem,1.25fr) auto;align-items:center;gap:.65rem 1.25rem;padding:1rem 1.1rem;display:grid}.planner-task--remediation-suggested{border-left-color:var(--accent);background:#fff8f1}.planner-task__meta{grid-column:1/-1;justify-content:space-between;align-items:center;gap:1rem;display:flex}.planner-task__meta span{color:var(--primary-strong);letter-spacing:.08em;font-size:.67rem;font-weight:850}.planner-task--remediation-suggested .planner-task__meta span{color:#8a4c28}.planner-task__meta small{color:var(--muted);font-size:.7rem;font-weight:700}.planner-task h3{margin:0;font-size:.96rem;line-height:1.35}.planner-task p{color:var(--muted);margin:0;font-size:.76rem;line-height:1.5}.planner-task p strong{color:var(--text)}.planner-task__actions{text-align:right;justify-items:end;gap:.25rem;min-width:9.5rem;display:grid}.planner-task__actions span{color:var(--muted);font-size:.65rem;font-weight:750}.planner-task__actions a,.planner-task__actions button{color:var(--primary-strong);text-underline-offset:.16em;cursor:pointer;background:0 0;border:0;padding:0;font-size:.77rem;font-weight:850;text-decoration:underline;text-decoration-thickness:.08em}.dashboard-progress__grid{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.8rem;display:grid}.dashboard-progress__grid>div{border:1px solid var(--border);background:var(--surface-soft);border-radius:.75rem;padding:1.1rem}.dashboard-progress__grid span{color:var(--muted);letter-spacing:.055em;text-transform:uppercase;font-size:.7rem;font-weight:800;display:block}.dashboard-progress__grid strong{margin-top:.2rem;font-family:Georgia,Times New Roman,serif;font-size:1.75rem;display:block}.dashboard-progress__grid p{color:var(--muted);margin:.2rem 0 0;font-size:.76rem}.dashboard-weakness__item{border-left:4px solid var(--accent);background:#fff5ec;border-radius:.65rem;justify-content:space-between;align-items:center;gap:1.5rem;padding:1rem 1.1rem;display:flex}.dashboard-weakness__item p,.dashboard-empty{color:var(--muted);margin:.25rem 0 0;font-size:.8rem}.dashboard-weakness__item a{flex:none;font-size:.78rem;font-weight:800}.dashboard-empty{border:1px dashed var(--border-strong);background:var(--surface-soft);border-radius:.65rem;padding:1rem}.micro-check{background:#f2f8f6;border:1px solid #b9d4cd;border-radius:.9rem;margin-top:3.2rem;padding:clamp(1rem,3vw,1.6rem);scroll-margin-top:5rem}.micro-check--complete{background:var(--success-bg);border-color:#c9dccf}.micro-check h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.45rem,3vw,2rem)}.micro-check>p:not(.eyebrow),.micro-check__instructions{color:var(--muted);margin:.7rem 0 1rem;font-size:.83rem}.micro-check__heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.micro-check__heading>span{color:var(--primary-strong);background:#fff;border-radius:999px;padding:.3rem .55rem;font-size:.69rem;font-weight:800}.micro-check__repair{border-left:3px solid var(--accent);background:#fff8f1;margin:1rem 0;padding:.85rem 1rem}.micro-check__repair p{color:var(--muted);margin:.3rem 0;font-size:.8rem}.micro-check__repair a{font-size:.77rem;font-weight:800}.dashboard-button{color:#fff;background:var(--primary);cursor:pointer;border:0;border-radius:.62rem;padding:.7rem .95rem;font-size:.8rem;font-weight:800}.dashboard-button:hover:not(:disabled){background:var(--primary-strong)}.dashboard-button:disabled{opacity:.45;cursor:not-allowed}.progress-backup{background:#f2f8f6;border-color:#b9d4cd}.progress-backup__heading{margin-bottom:.8rem}.progress-backup__release{color:var(--muted,#5c6b66);margin:1rem 0 0;font-size:.85rem}.progress-backup__privacy,.progress-backup__last{color:var(--muted);font-size:.82rem}.progress-backup__controls,.progress-backup__confirmation-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin:1rem 0;display:flex}.progress-backup__file-label{font-size:.8rem;font-weight:800}.progress-backup__file-input{min-width:0;max-width:100%;color:var(--muted);font:inherit;font-size:.78rem}.progress-backup .secondary-button{border:1px solid var(--primary);color:var(--primary-strong);cursor:pointer;background:#fff;border-radius:.62rem;padding:.65rem .9rem;font-size:.78rem;font-weight:800}.progress-backup__file-input::file-selector-button{border:1px solid var(--primary);color:var(--primary-strong);cursor:pointer;background:#fff;border-radius:.62rem;padding:.65rem .9rem;font-size:.78rem;font-weight:800}.progress-backup__file-input::file-selector-button{margin-right:.65rem}.progress-backup__confirmation{border:2px solid var(--accent);background:#fff8f1;border-radius:.7rem;margin-top:1rem;padding:1rem}.progress-backup__confirmation h3,.progress-backup__confirmation p{margin-top:0}.progress-backup__confirmation-actions{margin-bottom:0}.dashboard-button--secondary{border:1px solid var(--primary);color:var(--primary-strong);background:#fff;margin-top:.75rem}.micro-check__notice,.micro-check__notice-text{border:1px solid var(--border);background:#fff;border-radius:.65rem;padding:.9rem 1rem}.micro-check__notice-text h3{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.15rem}.micro-check__notice-text p{margin:.4rem 0 0;font-size:.88rem}.micro-check__questions{margin-top:1rem}.micro-check__questions fieldset{border:0;border-top:1px solid var(--border);margin:0;padding:1rem 0}.micro-check__questions legend{margin-bottom:.55rem;font-size:.85rem;font-weight:800}.micro-check__questions label{color:#3e4541;cursor:pointer;align-items:flex-start;gap:.55rem;margin:.35rem 0;font-size:.82rem;display:flex}.micro-check__questions input{accent-color:var(--primary);margin-top:.28rem}.micro-check__correct,.micro-check__incorrect{border-radius:.45rem;margin:.65rem 0 0;padding:.55rem .7rem;font-size:.76rem}.micro-check__correct{color:var(--success);background:var(--success-bg)}.micro-check__incorrect{color:var(--danger);background:#faeae7}.micro-check__result{border-radius:.65rem;margin-top:1rem;padding:.9rem 1rem}.micro-check__result.is-success{color:#25583f;background:var(--success-bg)}.micro-check__result.is-repair{color:#74382f;background:#faeae7}.micro-check__result p{margin:.35rem 0;font-size:.8rem}.micro-check__result a{font-size:.78rem;font-weight:800}.evidence-prompt,.review-first-pass-intro{border:1px solid var(--border);background:#fbfaf7;border-radius:.75rem;margin:1rem 0;padding:1rem 1.1rem}.evidence-prompt h3,.review-first-pass-intro h2{margin:0 0 .55rem;font-size:1rem}.evidence-prompt ol,.evidence-prompt ul{margin:0;padding-left:1.25rem}.evidence-prompt li{color:#414845;margin:.35rem 0;font-size:.82rem}.evidence-reviewer{color:var(--ink);gap:.4rem;margin:1rem 0;font-size:.78rem;font-weight:800;display:grid}.evidence-reviewer select{border:1px solid var(--border-strong);width:min(100%,24rem);min-height:2.55rem;color:var(--ink);font:inherit;background:#fff;border-radius:.5rem;padding:.45rem .65rem}.evidence-reviewer small{color:var(--muted);font-size:.68rem;font-weight:650}.evidence-rubric{gap:.55rem;margin:1rem 0;display:grid}.evidence-rubric fieldset{border:1px solid var(--border);border-radius:.6rem;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.75rem;margin:0;padding:.75rem;display:grid}.evidence-rubric legend{font-size:.77rem;font-weight:700;display:contents}.evidence-rubric label{align-items:center;gap:.3rem;font-size:.72rem;font-weight:750;display:inline-flex}.evidence-response{margin:1rem 0}.evidence-content-points{border:1px solid var(--border);border-radius:.65rem;gap:.45rem;margin:1rem 0;padding:.9rem;display:grid}.evidence-content-points legend{padding-inline:.25rem;font-size:.76rem;font-weight:800}.evidence-content-points label{color:#414845;align-items:flex-start;gap:.5rem;font-size:.75rem;display:flex}.evidence-audio-controls{background:var(--primary-soft);border:1px solid #cbdcd6;border-radius:.7rem;flex-wrap:wrap;align-items:center;gap:.75rem;margin:1rem 0;padding:.9rem 1rem;display:flex}.evidence-audio-controls strong{flex:15rem}.evidence-audio-controls span{color:var(--muted);font-size:.72rem;font-weight:750}.evidence-audio-controls p{flex:1 0 100%}.evidence-transcript{border:1px solid var(--border);background:#fbfaf7;border-radius:.65rem;margin-top:1rem;padding:.8rem .9rem}.evidence-transcript summary{cursor:pointer;font-size:.76rem;font-weight:800}.evidence-transcript p,.review-first-pass-intro p{color:var(--muted);margin:.55rem 0 0;font-size:.8rem}.milestone-list__action{margin-top:.5rem}.milestone-list__action button,.milestone-list__action a{color:var(--primary-strong);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.72rem;font-weight:850;text-decoration:none}.stage-complete-message{background:var(--success-bg);border-color:#a9cdbf}.stage-complete-message h2{margin:.2rem 0 .5rem}.stage-complete-message p:last-of-type{color:#365c4d}.stage-complete-message a{color:var(--primary-strong);font-size:.8rem;font-weight:850}.recommendation-state{color:#715f45;background:#f2ece1;border-radius:999px;flex:none;padding:.35rem .65rem;font-size:.68rem;font-weight:800}.recommendation-state--recommended-now{color:var(--success);background:var(--success-bg)}.milestone-list,.stage-roadmap ol{margin:0;padding:0;list-style:none}.milestone-list__item{border-top:1px solid var(--border);grid-template-columns:1.8rem minmax(0,1fr);gap:.7rem;padding:.85rem 0;display:grid}.milestone-list__item>span{border:1px solid var(--border-strong);width:1.6rem;height:1.6rem;color:var(--muted);border-radius:50%;place-items:center;font-size:.78rem;font-weight:850;display:grid}.milestone-list__item.is-demonstrated>span{border-color:var(--success);color:#fff;background:var(--success)}.milestone-list__item.is-learning>span{color:var(--primary-strong);background:var(--primary-soft);border-color:#b8d4cd}.milestone-list__item strong{font-size:.86rem}.milestone-list__item p{color:var(--muted);margin:.2rem 0;font-size:.77rem}.milestone-list__item small{color:var(--muted);font-size:.68rem;font-weight:700}.telc-readiness-note{border-left:3px solid var(--r);color:#4e4d70;background:var(--r-bg);margin:1rem 0 0;padding:.9rem 1rem;font-size:.8rem}.stage-roadmap{border-top:1px solid var(--border);margin-top:2.5rem;padding-top:1.2rem}.stage-roadmap summary{color:var(--primary-strong);cursor:pointer;font-size:.82rem;font-weight:800}.stage-roadmap ol{margin-top:1rem}.stage-roadmap li{border-top:1px solid var(--border);grid-template-columns:2.3rem minmax(0,1fr);gap:.75rem;padding:.75rem 0;display:grid}.stage-roadmap li>span{color:var(--primary-strong);font-size:.75rem;font-weight:850}.stage-roadmap p{color:var(--muted);margin:.15rem 0;font-size:.76rem}.stage-roadmap small{color:var(--muted);font-size:.68rem;font-weight:700}.core-unit{gap:1.25rem;display:grid}.core-unit__hero{border:1px solid var(--border);background:linear-gradient(145deg, var(--primary-soft), var(--surface));border-radius:1.25rem;padding:clamp(1.25rem,3vw,2.2rem)}.core-unit__hero h1,.core-section h2,.core-practice h3{margin:.2rem 0 .7rem;line-height:1.18}.core-argument-shape{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.core-argument-shape span{border:1px solid color-mix(in srgb, var(--primary) 35%, var(--border));background:var(--surface);border-radius:999px;padding:.45rem .7rem;font-size:.88rem;font-weight:700}.core-argument-shape span:not(:last-child):after{content:" →";color:var(--primary)}.core-section{border:1px solid var(--border);background:var(--surface);border-radius:1.1rem;padding:clamp(1.15rem,3vw,2rem);scroll-margin-top:5rem}.core-section__goal{border-left:4px solid var(--primary);background:var(--primary-soft);padding:.75rem .9rem}.core-patterns{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.75rem;margin:1rem 0;display:grid}.core-patterns article,.core-practice,.core-study-gate{border:1px solid var(--border);background:var(--surface-soft);border-radius:.9rem;padding:1rem}.core-patterns code{width:-moz-fit-content;width:fit-content;color:var(--primary-strong);background:var(--primary-soft);white-space:normal;border-radius:.35rem;margin:.35rem 0;padding:.15rem .4rem;display:block}.core-example{border:0;border-left:4px solid var(--accent);background:var(--surface-soft);margin:1rem 0;padding:1rem}.core-example p{margin:.4rem 0;font-size:1.04rem}.core-example footer{color:var(--muted);font-size:.9rem}.core-practice{margin-top:1.2rem}.core-practice.is-complete{border-color:var(--success);background:var(--success-bg)}.core-ordering{gap:.6rem;padding-left:1.25rem;display:grid}.core-ordering label{grid-template-columns:1fr 7rem;align-items:center;gap:.8rem;display:grid}.core-ordering select,.core-modality,.core-confirmation{border:1px solid var(--border);background:var(--surface);border-radius:.55rem}.core-modality{flex-wrap:wrap;gap:.75rem 1.5rem;margin:1rem 0;padding:.8rem 1rem;display:flex}.core-modality label,.core-confirmation{align-items:center;gap:.55rem;display:flex}.core-confirmation{margin:1rem 0;padding:.8rem}.core-evidence-grid{gap:1rem;margin-top:1rem;display:grid}.core-reading-passage{border:1px solid var(--border);background:var(--surface-soft);border-radius:.75rem;margin:1rem 0;padding:1rem}.core-reading-passage p{margin:.6rem 0;line-height:1.65}.core-reading-passage p strong{min-width:2rem;color:var(--accent-strong);letter-spacing:.05em;text-transform:uppercase;font-size:.72rem;display:inline-block}.core-evidence-question{border-bottom:1px solid var(--border);padding-bottom:.75rem}.core-evidence-cue{max-width:20rem;margin:.65rem 0 0 1rem}.trainer-unit{gap:1.25rem;display:grid}.trainer-unit__hero{border:1px solid var(--border);background:linear-gradient(145deg, var(--primary-soft), var(--surface));border-radius:1.25rem;padding:clamp(1.25rem,3vw,2.2rem)}.trainer-unit__hero h1,.trainer-section h2,.trainer-set h3{margin:.2rem 0 .7rem;font-family:Georgia,Times New Roman,serif}.trainer-mechanic,.trainer-attempt-history{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.trainer-mechanic span,.trainer-status,.trainer-attempt-history span{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:.4rem .65rem;font-size:.75rem;font-weight:700}.trainer-status.is-complete,.trainer-attempt-history .is-success{color:#386445;background:#edf7ef;border-color:#6f9b7c}.trainer-attempt-history .is-failed{border-color:#b96855}.trainer-format-note,.trainer-timing-note{color:var(--muted);font-size:.82rem}.trainer-section,.trainer-set,.trainer-repair{border:1px solid var(--border);background:var(--surface);border-radius:1rem;padding:clamp(1rem,2.5vw,1.5rem)}.trainer-method-steps{gap:.45rem;padding-left:1.35rem;display:grid}.trainer-set{background:var(--surface-soft);margin-top:1rem}.trainer-set__heading,.trainer-set-result,.trainer-exam-banner{justify-content:space-between;align-items:center;gap:1rem;display:flex}.trainer-method-help,.trainer-repair{margin:1rem 0}.trainer-method-help summary,.heading-feedback summary{cursor:pointer;font-weight:700}.heading-match-set{grid-template-columns:minmax(15rem,.8fr) minmax(0,1.6fr);align-items:start;gap:1rem;margin:1rem 0;display:grid}.heading-bank{border:1px solid var(--border);background:var(--surface);border-radius:.8rem;padding:1rem}.heading-bank ol{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.heading-bank li{border-radius:.5rem;grid-template-columns:1.5rem 1fr auto;align-items:start;gap:.45rem;padding:.5rem;display:grid}.heading-bank li.is-used{background:var(--primary-soft)}.heading-bank li small{color:var(--muted);font-size:.65rem}.heading-match-texts{gap:.85rem;display:grid}.heading-match-text{border:1px solid var(--border);background:var(--surface);border-radius:.8rem;padding:1rem}.heading-match-text>p:not(.eyebrow){line-height:1.7}.heading-match-text select{width:100%}.heading-match-prompt{color:var(--muted);margin-top:.4rem;display:block}.heading-feedback{border-left:4px solid var(--border);background:var(--surface-soft);margin-top:.8rem;padding:.8rem}.heading-feedback.is-correct{border-left-color:#4f8a60}.heading-feedback.is-incorrect{border-left-color:#b96855}.trainer-exam-banner,.trainer-set-result{border:1px solid var(--border);background:var(--surface);border-radius:.65rem;margin:1rem 0;padding:.8rem}.trainer-exam-banner{background:#f2eadc}.trainer-repair{background:#fff8ef;border-color:#d3a889}.trainer-focus-list{gap:1rem;margin-top:1rem;display:grid}.trainer-focus-exercise{border:1px solid var(--border);background:var(--surface-soft);border-radius:.85rem;padding:1rem}.trainer-focus-exercise h4,.detail-reading-passage h4{margin:.2rem 0 .75rem;font-family:Georgia,Times New Roman,serif;font-size:1.15rem}.detail-reading-layout{grid-template-columns:minmax(18rem,1fr) minmax(20rem,1fr);align-items:start;gap:1rem;margin:1rem 0;display:grid}.detail-reading-passage{border:1px solid var(--border);background:var(--surface);border-radius:.85rem;padding:clamp(1rem,2vw,1.35rem)}.detail-reading-passage>p:not(.eyebrow){line-height:1.75}.detail-reading-questions{gap:.85rem;display:grid}.detail-reading-question{border:1px solid var(--border);background:var(--surface);border-radius:.85rem;min-width:0;padding:1rem}.detail-reading-question legend{gap:.6rem;padding:0 .25rem;font-weight:750;line-height:1.45;display:flex}.detail-reading-question legend>span{color:var(--primary)}.detail-reading-options{gap:.45rem;margin-top:.7rem;display:grid}.detail-reading-options label{border:1px solid var(--border);cursor:pointer;border-radius:.6rem;grid-template-columns:auto 1.3rem 1fr;align-items:start;gap:.45rem;padding:.65rem;line-height:1.45;display:grid}.detail-reading-options label:has(input:checked){border-color:var(--primary);background:var(--primary-soft)}.trainer-listening-unit .trainer-mechanic{flex-wrap:wrap}.listening-focus-options,.listening-statement{border:1px solid var(--border);border-radius:16px;padding:1rem}.listening-focus-options{gap:.65rem;margin:1rem 0;display:grid}.listening-focus-options label,.listening-statement__answers label{cursor:pointer;align-items:flex-start;gap:.7rem;display:flex}.supported-audio-player{background:color-mix(in srgb, var(--surface-strong) 86%, var(--accent) 14%);border:1px solid var(--border);border-radius:16px;gap:.6rem;margin:1rem 0;padding:1rem;display:grid}.supported-audio-player audio{width:100%;max-width:100%}.listening-answer-count{font-weight:700}.listening-statements{gap:1rem;margin:1rem 0;display:grid}.listening-statement legend{align-items:flex-start;gap:.75rem;padding:0 .4rem;font-weight:700;line-height:1.45;display:flex}.listening-statement legend>span{background:var(--accent);color:var(--surface);border-radius:999px;flex:none;justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex}.listening-statement__answers{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:.8rem;display:grid}.listening-statement__answers label{background:var(--surface);border:1px solid var(--line);border-radius:12px;min-width:0;padding:.8rem}.listening-statement__answers label:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 20%, transparent)}.listening-statement__answers label span{color:var(--muted)}.listening-control-panel{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1rem 0;display:grid}.listening-control-panel>div{background:var(--surface);border:1px solid var(--line);border-radius:14px;gap:.25rem;min-width:0;padding:.8rem;display:grid}.listening-control-panel span{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:.78rem}.listening-transition,.listening-statements-hidden,.listening-invalidated{background:color-mix(in srgb, var(--surface-strong) 82%, var(--accent) 18%);border:1px solid var(--line);border-radius:16px;margin:1rem 0;padding:1rem}.listening-transcript{border-left:4px solid var(--accent);margin:1.25rem 0;padding:.25rem 0 .25rem 1rem}.listening-transcript p{line-height:1.6}.trainer-focus-grid,.speaking-simulation,.speaking-rubric{gap:.8rem;margin:1rem 0;display:grid}.trainer-focus-grid{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}.trainer-focus-card,.speaking-turn,.speaking-start-panel,.speaking-live-note,.speaking-repair-result{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:1rem}.trainer-focus-card blockquote{border-left:3px solid var(--accent);color:var(--ink);margin:.8rem 0;padding-left:.8rem}.speaking-option-list{gap:.45rem;padding-left:1.2rem;display:grid}.speaking-turn small,.speaking-start-panel label,.speaking-blocker-label{color:var(--muted);font-size:.78rem;font-weight:700}.speaking-extra-question{border-left:4px solid var(--accent);background:var(--surface-strong);margin:1rem 0;padding:.75rem 1rem}.speaking-start-panel label,.speaking-blocker-label{gap:.4rem;display:grid}.speaking-start-panel select,.speaking-blocker-label select{border:1px solid var(--line);width:min(100%,28rem);min-height:2.6rem;color:var(--ink);background:var(--surface);font:inherit;border-radius:10px;padding:.5rem .7rem}.speaking-rubric fieldset{border:1px solid var(--line);border-radius:12px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.8rem;margin:0;padding:.8rem;display:grid}.speaking-rubric legend{font-weight:700;display:contents}.speaking-rubric label{white-space:nowrap;align-items:center;gap:.35rem;display:inline-flex}.speaking-repair-result{background:#fff8ef;border-color:#d3a889}@media (max-width:720px){.listening-control-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.listening-statement__answers{grid-template-columns:1fr}.speaking-rubric fieldset{grid-template-columns:1fr 1fr}.speaking-rubric legend{grid-column:1/-1;display:block}}.mock-page{gap:1.25rem;display:grid}.mock-block details{border:1px solid var(--line);border-radius:.85rem;margin-block:.8rem;padding:.8rem}.mock-block summary{cursor:pointer;font-weight:750}.mock-task,.mock-review,.external-evidence-form{gap:.75rem;display:grid}.mock-task{background:var(--surface-soft);border-radius:.75rem;margin-block:.75rem;padding:.85rem}.mock-task h3,.mock-task p{margin:0}.mock-reference-list{columns:2;gap:1.5rem}.mock-connected-text,.mock-draft-review{white-space:pre-wrap;line-height:1.75}.mock-draft-review{overflow-wrap:anywhere;font-family:inherit}.mock-statement-list,.mock-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.mock-statement-list fieldset,.mock-boolean{border:1px solid var(--line);border-radius:.7rem;min-width:0;padding:.75rem}.mock-statement-list label,.mock-boolean label{align-items:center;gap:.35rem;margin-right:1rem;display:inline-flex}.mock-page label{gap:.35rem;display:grid}.mock-page input,.mock-page select,.mock-page textarea{box-sizing:border-box;width:100%;max-width:100%}.mock-page input[type=radio],.mock-page input[type=checkbox]{width:auto}.mock-audio-control{align-items:center;gap:.75rem;display:flex}@media (max-width:720px){.mock-reference-list{columns:1}.mock-statement-list,.mock-form-grid{grid-template-columns:1fr}.mock-page,.mock-block,.mock-task,.mock-review{min-width:0}}.detail-reading-options input{margin-top:.25rem}.selective-reading-ads{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0 1.25rem;display:grid}.selective-reading-ad{border:1px solid var(--border);background:var(--surface);border-radius:.8rem;grid-template-columns:2rem 1fr;gap:.7rem;padding:.9rem;display:grid}.selective-reading-ad__label,.selective-reading-situation__prompt>span{background:var(--primary-soft);width:1.8rem;height:1.8rem;color:var(--primary);border-radius:999px;place-items:center;font-weight:800;display:grid}.selective-reading-ad h4,.selective-reading-ad p,.selective-reading-situation__prompt p{margin:0}.selective-reading-ad h4{margin-bottom:.35rem}.selective-reading-situations{gap:.85rem;margin:1rem 0;display:grid}.selective-reading-situation{border:1px solid var(--border);background:var(--surface);border-radius:.85rem;padding:1rem}.selective-reading-situation__prompt{grid-template-columns:2rem 1fr;align-items:start;gap:.7rem;line-height:1.55;display:grid}.selective-reading-situation__control{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.75rem;display:flex}.selective-reading-situation__control label{font-weight:700}.selective-reading-situation__control select{border:1px solid var(--border);background:var(--surface);min-width:min(100%,20rem);color:inherit;border-radius:.55rem;padding:.6rem}.trainer-set-actions{flex-wrap:wrap;gap:.75rem;display:flex}@media (max-width:900px){.heading-match-set,.detail-reading-layout,.selective-reading-ads{grid-template-columns:1fr}.app-shell{display:block}.sidebar{z-index:100;width:min(var(--sidebar-width), calc(100vw - 3rem));transition:transform .18s;position:fixed;left:0;transform:translate(-105%);box-shadow:20px 0 45px #262b2a2e}.sidebar.is-open{transform:translate(0)}.sidebar__close{place-items:center;display:grid}.sidebar-backdrop{z-index:90;visibility:hidden;opacity:0;background:#1d222061;border:0;transition:opacity .18s,visibility .18s;display:block;position:fixed;inset:0}.sidebar-backdrop.is-visible{visibility:visible;opacity:1}.topbar{justify-content:space-between}.menu-button{display:inline-flex}}@media (max-width:620px){.trainer-set__heading,.trainer-set-result,.trainer-exam-banner{flex-direction:column;align-items:flex-start}.heading-bank li{grid-template-columns:1.5rem 1fr}.heading-bank li small{grid-column:2}.core-ordering label{grid-template-columns:1fr}.core-modality{flex-direction:column}.lesson-surface.core4-unit{grid-template-columns:minmax(0,1fr);width:100vw;max-width:100vw;overflow-x:clip}.core4-unit>*,.core4-unit .core-section>*,.core4-unit .core-evidence-grid>*{min-width:0;max-width:100%}.core4-unit fieldset{min-inline-size:0}.core4-unit select,.core4-unit input,.core4-unit textarea{width:100%;min-width:0;max-width:100%}.core4-unit h1,.core4-unit h2,.core4-unit h3,.core4-unit p,.core4-unit button,.core4-unit label{overflow-wrap:anywhere}.topbar{gap:.55rem;padding-inline:.75rem}.speech-speed>span,.audio-settings{display:none}.speech-speed button{min-height:2.35rem}.reader{padding:0}.lesson-surface,.error-state{min-height:calc(100vh - 4rem);box-shadow:none;border:0;border-radius:0;padding:1.25rem 1rem 2.5rem}.lesson-meta{align-items:flex-start}.lesson-markdown h1{font-size:2.15rem}.lesson-markdown h2{margin-top:3rem;font-size:1.62rem}.related-grammar,.completion-panel{flex-direction:column;align-items:stretch}.completion-button{width:100%}.lesson-pagination{grid-template-columns:1fr}.lesson-pagination__next{text-align:left}.audio-button__label{display:none}.dialogue-turn{gap:.45rem}.difficulty-block--bridge>summary{flex-direction:column;align-items:flex-start}.lesson-markdown table{min-width:28rem}.listening-levels{grid-template-columns:1fr}.listening-demo-card,.listening-audio,.shadowing-item{grid-template-columns:1fr;align-items:stretch}.listening-demo-card{flex-direction:column}.listening-demo-card a{text-align:center;width:100%}.listening-lesson-list a{grid-template-columns:auto minmax(0,1fr)}.listening-lesson-list__state{grid-column:2}.listening-stage__header,.listening-stage__content{padding:1rem}.listening-audio__controls button{flex:auto}.listening-transcript li{grid-template-columns:1fr;gap:.1rem}.learning-dashboard__hero,.dashboard-section__heading,.dashboard-weakness__item{flex-direction:column;align-items:stretch}.learning-dashboard__stage-mark{width:100%}.dashboard-section__heading>p{text-align:left;max-width:none}.evidence-rubric fieldset{grid-template-columns:1fr 1fr}.evidence-rubric legend{grid-column:1/-1;display:block}.evidence-audio-controls{flex-direction:column;align-items:stretch}.planner-task{grid-template-columns:1fr}.planner-task__meta,.planner-task h3,.planner-task p,.planner-task__actions{grid-column:1}.planner-task__actions{text-align:left;justify-items:start}.dashboard-progress__grid{grid-template-columns:1fr}.progress-backup__controls,.progress-backup__confirmation-actions{flex-direction:column;align-items:stretch}.progress-backup__controls>*,.progress-backup__confirmation-actions>*{width:100%}.micro-check__heading{flex-direction:column;align-items:flex-start}}.core-prerequisite,.core-chunk-bank{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 94%, var(--accent) 6%);border-radius:1rem;margin:1.5rem 0;padding:clamp(1rem,2vw,1.5rem)}.core-prerequisite.is-complete{border-color:color-mix(in srgb, var(--success) 45%, var(--border))}.core-prerequisite.needs-repair{border-color:color-mix(in srgb, var(--accent) 55%, var(--border))}.chunk-category{border-top:1px solid var(--border);margin-top:.8rem}.chunk-category>summary{cursor:pointer;padding:.85rem 0;font-weight:750}.chunk-inventory,.saved-chunks{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.chunk-inventory article,.saved-chunks article{border:1px solid var(--border);background:var(--surface);border-radius:.8rem;align-content:start;gap:.45rem;padding:.9rem;display:grid}.chunk-inventory p,.saved-chunks p{margin:0}.chunk-inventory small,.saved-chunks small{color:var(--muted)}.chunk-inventory button,.saved-chunks button{justify-self:start}.saved-chunks{margin-top:1.2rem}.saved-chunks>h4{grid-column:1/-1;margin:0}.sb2-bank{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:1rem 0;display:grid}.sb2-bank>span{border:1px solid var(--border);background:var(--surface);border-radius:.65rem;align-items:baseline;gap:.4rem;padding:.55rem .65rem;display:flex}.sb2-bank>span.is-used{opacity:.58;background:color-mix(in srgb, var(--surface) 88%, var(--accent) 12%)}.sb2-bank small{color:var(--muted);margin-left:auto}.sb2-text{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 96%, var(--accent) 4%);border-radius:.9rem;margin:1rem 0;padding:clamp(1rem,3vw,1.6rem);line-height:2.15}.sb2-text p{white-space:pre-line}.sb2-gap{white-space:nowrap;align-items:center;gap:.3rem;margin:0 .2rem;display:inline-flex}.sb2-gap select{min-width:4.2rem}.sb2-feedback{margin-top:1rem}.sb2-feedback details{border-top:1px solid var(--border);padding:.75rem 0}.sb2-feedback summary{cursor:pointer;font-weight:720}.sb2-feedback p{margin:.45rem 0}@media (max-width:760px){.chunk-inventory,.saved-chunks{grid-template-columns:1fr}.sb2-bank{grid-template-columns:repeat(2,minmax(0,1fr))}}.writing-situation{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:1rem 0;display:grid}.writing-situation div,.writing-workspace fieldset{border:1px solid var(--line);border-radius:.75rem;padding:.8rem}.writing-situation dt{color:var(--muted);text-transform:uppercase;font-size:.75rem;font-weight:700}.writing-situation dd{margin:.2rem 0 0}.writing-workspace,.writing-plan-grid{gap:1rem;display:grid}.writing-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.writing-workspace label,.speaking-review>label{gap:.4rem;display:grid}.writing-workspace fieldset>label{align-items:flex-start;gap:.45rem;margin:.45rem 0;display:flex}.writing-plan-grid input,.speaking-review input,.speaking-review textarea,.writing-draft-label textarea{box-sizing:border-box;width:100%;max-width:100%}.writing-draft-label textarea,.speaking-review textarea{font:inherit;resize:vertical;line-height:1.55}.writing-solution,.writing-review-response{overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-family:inherit;line-height:1.6}.writing-review-response{background:var(--surface-soft);border:1px solid var(--line);border-radius:.75rem;padding:1rem}.speaking-entry-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0;display:grid}.speaking-entry-grid fieldset,.speaking-review fieldset,.speaking-prep-block{border:1px solid var(--line);border-radius:.75rem;min-width:0;padding:.9rem}.speaking-entry-grid label{margin:.5rem 0;display:block}.speaking-prep-block{gap:.75rem;margin:1rem 0;display:grid}.speaking-prep-block label{gap:.4rem;display:grid}.speaking-prep-block textarea{box-sizing:border-box;resize:vertical;width:100%;max-width:100%}.candidate-private-card{overflow-wrap:anywhere}.speaking-rubric-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(12rem,1fr) auto auto;align-items:start;gap:.75rem;padding:.55rem 0;display:grid}.speaking-rubric-row:last-of-type{border-bottom:0}@media (max-width:700px){.writing-situation,.writing-plan-grid,.speaking-entry-grid{grid-template-columns:1fr}.speaking-rubric-row{grid-template-columns:1fr;gap:.35rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
