@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/font-4.ttf) format('truetype');
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/font-5.ttf) format('truetype');
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/font-6.ttf) format('truetype');
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/font-7.ttf) format('truetype');
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(assets/fonts/font-8.ttf) format('truetype');
}

:root{--navy:#102e43;--lime:#daf878;--sky:#d9f0fd;--coral:#f58d79;--paper:#f6f8f1;--muted:#5c6f79;--line:#dee5e5;--white:#fff;--green:#1c664a;--red:#a53e2c;font-family:'DM Sans',Arial,sans-serif;color:var(--navy);background:var(--paper);font-synthesis:none;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}a{color:inherit}button,a,select,input{touch-action:manipulation}button{cursor:pointer}a{text-decoration:none}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #297ca3;outline-offset:5px}button{color:inherit}h1,h2,h3,.brand{font-family:Outfit,'DM Sans',sans-serif}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.25rem,3.6vw,3.5rem);letter-spacing:-.04em;line-height:1.1;margin-bottom:20px;font-weight:600}h2{font-size:1.65rem;letter-spacing:-.025em;line-height:1.2}p{line-height:1.65;color:var(--muted)}[hidden]{display:none!important}.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}.skip-link{position:fixed;top:-80px;left:20px;z-index:100;background:var(--lime);padding:15px}.skip-link:focus{top:10px}.sidebar{position:fixed;width:235px;inset:0 auto 0 0;background:var(--navy);color:white;padding:36px 22px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:13px;align-items:center;font-size:1.15rem;line-height:1.2;padding:0 8px 48px}.brand strong{font-size:1.55rem;font-weight:600}.brand-icon{width:51px;height:51px;background:var(--lime);border-radius:15px;display:grid;place-content:center;position:relative;color:var(--navy);font-size:1.75rem;font-weight:700;transform:rotate(-7deg)}.brand-icon span{position:absolute;right:4px;top:5px;font-size:1.3rem}.brand-dot{color:var(--lime)}.sidebar-label{font-size:.65rem;letter-spacing:.11em;color:#a5bac7;padding:0 12px 20px}nav{display:flex;flex-direction:column;gap:9px}nav a{display:flex;align-items:center;gap:12px;font-size:.9rem;padding:15px 12px;border-radius:10px;color:#cedde6;transition:background .18s}nav a:hover{background:#ffffff10}nav a.active{color:var(--navy);background:var(--lime);font-weight:700}nav a>span{font-size:.7rem;opacity:.7;font-variant-numeric:tabular-nums}nav a small{margin-left:auto;background:#102e4312;border-radius:5px;padding:2px 4px;font-size:.65rem}.sidebar-bottom{margin-top:auto;padding:40px 10px 0}.little-star{color:var(--lime);font-size:2.5rem;line-height:1}.sidebar-bottom p{color:#cadbe5;font-size:.84rem;line-height:1.6;margin:16px 0 30px}.sidebar-bottom strong{color:white;font-weight:500}.sidebar-bottom>span{font-size:.65rem;letter-spacing:.09em;color:#a5bac7}.workspace{margin-left:235px}.topbar{height:82px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 44px;font-size:.8rem;color:var(--muted)}.topbar strong{font-weight:500;color:var(--navy)}.topbar-slash{padding:0 12px;color:#a4b4bd}.level-badge{border:1px solid #cbd5d6;padding:7px 12px;border-radius:30px;font-size:.72rem}main{max-width:1390px;margin:auto;padding:42px 44px 24px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.eyebrow{display:block;font-size:.69rem;letter-spacing:.14em;line-height:1.4;font-weight:700;margin-bottom:14px}h1 span{position:relative;isolation:isolate}h1 span:after{content:'';position:absolute;z-index:-1;left:-3px;right:-5px;bottom:3px;height:13px;background:var(--lime);transform:rotate(-1deg)}.page-heading p{max-width:470px;font-size:.95rem;margin:0}.sticker{background:var(--sky);width:144px;height:144px;transform:rotate(10deg);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;flex-shrink:0;margin-right:20px}.sticker span{font-family:Outfit,sans-serif;font-size:1.3rem}.sticker strong{font-family:Outfit,sans-serif;font-size:2rem;font-weight:500;line-height:1.1}.sticker svg{width:54px;stroke:var(--navy);stroke-width:2;fill:none;margin-top:8px}.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:22px}.lesson-card{background:white;border:1px solid var(--line);border-radius:20px;overflow:hidden}.lesson-tabs{display:flex;padding:10px 22px 0;border-bottom:1px solid var(--line);gap:20px}.lesson-tabs button{border:0;background:none;padding:16px 0;font-size:.83rem;color:var(--muted);border-bottom:3px solid transparent;white-space:nowrap}.lesson-tabs button[aria-selected=true]{border-bottom-color:var(--navy);color:var(--navy);font-weight:700}#lesson-content{padding:27px 28px 24px;min-height:443px}#lesson-content h2{margin-bottom:12px}#lesson-content>p{font-size:.88rem;line-height:1.65;max-width:640px;margin-bottom:22px}.pronoun-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.pronoun-item{background:#f5f8fa;border-radius:12px;padding:16px 12px;min-height:86px}.pronoun-item strong{font-family:Outfit,sans-serif;display:block;font-size:1.55rem;font-weight:500;margin-bottom:3px}.pronoun-item span{font-size:.75rem;color:var(--muted)}.pronoun-item:first-child{background:var(--lime)}.pronoun-item:nth-child(4){background:var(--sky)}.pronoun-item:last-child{grid-column:span 2;display:flex;gap:12px;align-items:center}.pronoun-item:last-child strong{font-size:1.35rem}.lesson-callout{border-left:3px solid var(--coral);padding:9px 0 9px 14px;margin:22px 0 0;font-size:.8rem;line-height:1.6;color:var(--muted)}.lesson-callout strong{color:var(--navy)}.practice-aside{background:var(--sky);border-radius:20px;padding:25px 24px}.note-icon{font-family:Outfit,sans-serif;font-size:1.1rem;background:white;width:38px;height:38px;display:grid;place-content:center;transform:rotate(-8deg);border-radius:9px;margin-bottom:20px}.practice-aside h2{font-size:1.5rem;margin-bottom:9px}.practice-aside>p{font-size:.83rem;line-height:1.6}.practice-aside label,.speech-card>label{font-size:.75rem;font-weight:600;display:block;margin-bottom:7px}select{background:white;border:1px solid #bbd0dd;border-radius:9px;padding:12px 34px 12px 12px;color:var(--navy);width:100%;font-size:.9rem}.switch-row{display:flex;align-items:center;gap:10px;margin:18px 0}.switch-row label{font-size:.73rem;line-height:1.3;margin:0;flex:1}input[role=switch]{appearance:none;width:35px;height:21px;background:#8ca9b9;position:relative;border-radius:20px;cursor:pointer;flex-shrink:0;margin:0}input[role=switch]:before{content:'';position:absolute;width:15px;height:15px;border-radius:50%;background:white;top:3px;left:3px;transition:transform .2s}input[role=switch]:checked{background:var(--navy)}input[role=switch]:checked:before{transform:translateX(14px)}.built-sentence{font-family:Outfit,sans-serif;font-size:1.65rem;line-height:1.4;margin:8px 0;min-height:40px;letter-spacing:-.02em}.built-sentence b{background:var(--lime);border-radius:5px;padding:1px 6px;font-weight:500}.built-sentence em{font-style:normal;color:#963927}.translation{font-size:.76rem!important;line-height:1.5!important;min-height:24px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid #cad4d7;background:white;color:var(--navy);border-radius:10px;padding:12px 18px;font-weight:600;font-size:.84rem;line-height:1.3;text-align:center;min-height:44px;transition:transform .15s,background .15s}.button:hover{background:#f0f5f6;transform:translateY(-1px)}.button.primary{background:var(--navy);border-color:var(--navy);color:white}.button.primary:hover{background:#20465e}.audio-button{width:100%;background:transparent;border-color:#aac7d6;font-size:.8rem}.aside-tip{border-top:1px solid #b7d5e4;margin-top:20px;padding-top:18px;font-size:.77rem}.aside-tip p{font-size:.75rem;margin:7px 0 0}.aside-tip strong{font-size:.79rem}.tiny{font-size:.72rem!important;line-height:1.6!important}.next-step{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0 8px}.next-step>div{display:flex;align-items:center;gap:14px}.step-dot{width:38px;height:38px;border:1px solid #ccd7c2;border-radius:50%;display:grid;place-content:center;font-size:1.1rem}.next-step strong{font-size:.9rem}.next-step p{font-size:.8rem;margin:5px 0 0}.be-group{display:grid;grid-template-columns:1fr 65px 1.3fr;gap:14px;align-items:center;border-bottom:1px solid var(--line);padding:15px 0}.be-group strong{font-family:Outfit,sans-serif;font-size:1.2rem;font-weight:500}.verb-chip{background:var(--lime);text-align:center;border-radius:8px;padding:8px 10px;font-weight:600;font-size:1.1rem}.be-group:nth-of-type(2) .verb-chip{background:var(--sky)}.be-group:nth-of-type(3) .verb-chip{background:#ffe4da}.be-group small{font-size:.79rem;line-height:1.5;color:var(--muted)}.be-group small b{color:var(--navy)}.formula{display:flex;gap:7px;flex-wrap:wrap;align-items:center;font-family:Outfit,sans-serif;font-size:1.15rem;background:#f5f8fa;border-radius:13px;padding:18px;margin:18px 0}.formula span{padding:8px 10px;border-radius:7px;background:var(--sky)}.formula span.negative{background:var(--coral)}.formula span.verb{background:var(--lime)}.example-pair{padding:12px 0;border-bottom:1px solid var(--line);display:flex;gap:15px;justify-content:space-between;align-items:center;font-size:.86rem;line-height:1.6}.example-pair span{color:var(--muted);font-size:.78rem}.mini-table{width:100%;border-collapse:collapse;font-size:.83rem;line-height:1.5;margin-top:14px}.mini-table td,.mini-table th{padding:10px;border-bottom:1px solid var(--line);text-align:left}.mini-table th{font-size:.7rem;color:var(--muted);font-weight:500}.section-heading{margin-bottom:32px}.section-heading h1{font-size:clamp(2rem,3vw,3rem)}.section-heading p{font-size:.95rem;margin:0}.quiz-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:25px}.quiz-card,.speech-card{background:white;border:1px solid var(--line);border-radius:20px;padding:32px}.quiz-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.78rem;color:var(--muted)}.pill{background:var(--sky);font-size:.69rem;font-weight:700;padding:7px 10px;border-radius:20px;display:inline-block;color:var(--navy)}.progress-track{height:5px;background:#eaf0f0;border-radius:8px;margin:22px 0 35px;overflow:hidden}#quiz-progress{height:100%;background:var(--navy);transition:width .3s}#question-prompt{font-size:1.65rem;line-height:1.45;margin-bottom:26px}fieldset{border:0;padding:0;margin:0}.answer-option{display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:10px;padding:15px;margin-bottom:12px;cursor:pointer;line-height:1.5;font-size:1rem}.answer-option:has(input:checked){background:var(--sky);border-color:#4f90ad}.answer-option input{accent-color:var(--navy);width:18px;height:18px;flex-shrink:0}.answer-option.correct{background:#e4f3df;border-color:#79a86a}.answer-option.wrong{background:#fff0eb;border-color:#dc9584}.quiz-actions{display:flex;gap:12px;margin-top:24px}#question-feedback{border-radius:10px;padding:15px;font-size:.86rem;line-height:1.65;background:#f2f7e8;margin-top:20px}#question-feedback.incorrect{background:#fff0eb}#question-feedback strong{display:block;margin-bottom:5px}.quiz-summary{padding:25px;background:#edf1e4;border-radius:20px;align-self:start}.quiz-summary h2{font-size:2.5rem;margin-bottom:4px}.quiz-summary p{font-size:.85rem}.muted{color:#7c8c80;font-size:1.5rem}.summary-rule{height:1px;background:#d0d9c8;margin:20px 0}.question-map{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:20px 0}.question-map button{border:1px solid #c6d1c2;background:white;height:32px;border-radius:7px;font-size:.75rem}.question-map button.done{background:var(--navy);color:white;border-color:var(--navy)}.question-map button.missed{background:var(--coral);color:var(--navy);border-color:var(--coral)}.question-map button.current{outline:2px solid var(--navy);outline-offset:2px}.text-button{background:none;border:0;text-decoration:underline;text-underline-offset:4px;padding:6px 0;display:inline-block;font-size:.8rem}.small{font-size:.72rem;padding:8px}.speech-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:25px}.speech-sentence{padding:36px 0 18px}.speech-sentence h2{font-size:2.2rem;line-height:1.35;margin-bottom:10px}.speech-sentence p{font-size:.9rem}.speech-controls{display:flex;gap:12px;flex-wrap:wrap}#speech-status{font-size:.78rem;margin:18px 0 25px}.mic-icon{color:var(--lime);font-size:.7rem}.recording .mic-icon{color:var(--coral)}.speech-note{border-top:1px solid var(--line);padding-top:20px;font-size:.78rem}.speech-note p{font-size:.75rem;margin:8px 0}.speech-tips{padding:25px}.speaking-art{display:flex;height:130px;align-items:center;gap:8px;margin-bottom:20px}.speaking-art span{background:var(--lime);font-family:Outfit,sans-serif;font-size:2.2rem;border-radius:50%;width:86px;height:86px;display:grid;place-content:center;margin-right:10px;transform:rotate(-10deg)}.speaking-art i{width:7px;height:32px;border-radius:8px;background:var(--navy);transform:rotate(10deg)}.speaking-art i:nth-child(3){height:55px}.speaking-art i:nth-child(4){height:78px}.speaking-art i:nth-child(5){height:51px}.speaking-art i:nth-child(6){height:25px}.speech-tips h2{font-size:1.6rem}.speech-tips ol{padding-left:20px}.speech-tips li{font-size:.85rem;line-height:1.6;color:var(--muted);padding:0 0 17px 5px}.speech-tips li strong{display:block;color:var(--navy)}#speech-result{padding:24px;background:#f3f7ed;border-radius:12px;margin-bottom:20px}#transcript{font-size:1.3rem;color:var(--navy)}#word-result{display:flex;gap:7px;flex-wrap:wrap}#word-result span{padding:5px 8px;border-radius:6px;background:#ffe4da;font-size:.9rem}#word-result span.heard{background:#d5ebca}#speech-feedback{font-size:.85rem;margin:15px 0 0}.video-wrap{background:var(--navy);border-radius:20px;overflow:hidden;aspect-ratio:16/9}.video-wrap video{display:block;width:100%;height:100%}.video-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:20px 0;color:var(--muted);font-size:.8rem}.transcript-details{background:white;border:1px solid var(--line);border-radius:12px;padding:18px 22px;margin:25px 0}.transcript-details summary{cursor:pointer;font-size:.9rem;font-weight:600}.transcript-details p{font-size:.88rem;margin:18px 0 0}.download-card{background:white;border:1px solid var(--line);border-radius:22px;padding:45px;display:grid;grid-template-columns:300px 1fr;gap:65px;align-items:center}.book-cover{background:var(--navy);color:white;padding:33px 28px;height:405px;position:relative;box-shadow:10px 10px 0 #d2e0e7;border-radius:3px 12px 12px 3px;transform:rotate(-4deg)}.book-cover>span:first-child{font-size:.6rem;letter-spacing:.12em;color:#c4dce8}.book-cover h2{font-size:3.5rem;line-height:1.1;margin-top:35px;font-weight:500;color:var(--lime)}.book-words{display:flex;gap:6px;margin:25px 0}.book-words b{background:var(--sky);color:var(--navy);padding:9px;border-radius:6px;font-family:Outfit,sans-serif;font-size:1.1rem;font-weight:500}.book-words b:nth-child(2){background:var(--lime)}.book-cover p{font-size:.64rem;color:#c4dce8}.book-star{position:absolute;bottom:16px;right:25px;color:var(--coral);font-size:3rem}.download-copy h2{font-size:2rem;margin:22px 0 15px}.download-copy p,.download-copy li{font-size:.9rem;line-height:1.7;color:var(--muted)}.download-copy ul{padding-left:20px;margin:20px 0 30px}.download-copy .text-button{display:block;margin-top:13px}footer{display:flex;justify-content:space-between;gap:20px;color:#6b7f8a;font-size:.69rem;padding:36px 0 0;margin-top:25px;border-top:1px solid var(--line)}footer a{font-weight:600}.finish-icon{font-size:3rem;color:var(--green)}.error-note{padding:18px;background:#fff0eb;border-radius:10px}
@media(min-width:1550px){main{padding-top:55px}.page-heading{margin-bottom:35px}.lesson-layout{grid-template-columns:minmax(0,1fr) 315px}.pronoun-item{min-height:104px;padding:20px 18px}#lesson-content{padding:32px}.practice-aside{padding:28px}}
@media(max-width:1190px){.sidebar{width:210px;padding:30px 15px}.workspace{margin-left:210px}main{padding:32px 28px}.topbar{padding:0 28px}.lesson-layout{grid-template-columns:minmax(0,1fr) 248px;gap:16px}.lesson-tabs{gap:17px;padding-left:20px;padding-right:20px}#lesson-content{padding:25px 20px}.practice-aside{padding:24px 19px}.pronoun-grid{grid-template-columns:repeat(3,1fr)}.pronoun-item:last-child{grid-column:span 3;min-height:58px}.sticker{width:115px;height:115px;margin-right:0}.quiz-layout{grid-template-columns:minmax(0,1fr) 225px}.speech-layout{grid-template-columns:minmax(0,1fr) 235px}.speech-tips{padding:20px 5px}.download-card{grid-template-columns:245px 1fr;gap:35px;padding:30px}.book-cover{padding:26px 20px;height:360px}.book-cover h2{font-size:3rem}.book-words b{font-size:.95rem}.quiz-card,.speech-card{padding:26px}}
@media(max-width:970px){.sidebar{width:185px;padding:25px 12px}.brand{padding:0 4px 35px;font-size:1rem;gap:9px}.brand strong{font-size:1.3rem}.brand-icon{width:43px;height:43px;font-size:1.5rem}.sidebar-label{font-size:.55rem;padding-left:7px}nav a{font-size:.8rem;padding:14px 9px;gap:9px}.workspace{margin-left:185px}main{padding:28px 24px}.lesson-layout{grid-template-columns:1fr}.practice-aside{display:grid;grid-template-columns:1fr 1fr;column-gap:25px}.practice-aside .note-icon{display:none}.practice-aside>.eyebrow,.practice-aside>h2,.practice-aside>p:first-of-type{grid-column:span 2}.practice-aside label[for=subject],.practice-aside select{grid-column:1}.switch-row{grid-column:1;grid-row:6;margin:12px 0}.built-sentence{grid-column:2;grid-row:4/6;align-self:center}.practice-aside .translation{grid-column:2;grid-row:6}.practice-aside .audio-button{grid-column:2;grid-row:7}.aside-tip{grid-column:1;grid-row:7/9;margin:0}.practice-aside .tiny{grid-column:2}.pronoun-grid{grid-template-columns:repeat(4,1fr)}.pronoun-item:last-child{grid-column:span 2}#lesson-content{min-height:0}.sticker{display:none}.page-heading p{max-width:100%}.quiz-layout{grid-template-columns:1fr}.quiz-summary{display:block}.question-map{grid-template-columns:repeat(10,1fr)}.speech-layout{grid-template-columns:1fr}.speech-tips{padding:15px 0}.speaking-art{display:none}.speech-tips ol{display:flex;gap:35px}.download-card{grid-template-columns:1fr;gap:50px}.book-cover{width:265px;margin:0 auto}.topbar{padding:0 24px}.level-badge{display:none}.next-step{align-items:flex-start}.next-step .button{flex-shrink:0}}
@media(max-width:650px){.sidebar{position:relative;inset:auto;width:100%;padding:18px 20px 0;display:block}.brand{padding-bottom:18px;gap:10px;font-size:.85rem;line-height:1.1}.brand br{display:none}.brand strong{font-size:1.2rem}.brand-icon{width:34px;height:34px;border-radius:9px;font-size:1.25rem}.brand-icon span{font-size:.9rem;right:2px;top:3px}.sidebar-label,.sidebar-bottom{display:none}nav{flex-direction:row;overflow:auto;gap:5px;margin:0 -20px;padding:0 12px 10px}nav a{font-size:.73rem;padding:10px;white-space:nowrap;gap:0}nav a>span,nav a small{display:none}.workspace{margin:0}.topbar{height:55px;font-size:.72rem;padding:0 20px}main{padding:28px 20px 22px}.eyebrow{font-size:.62rem}h1{font-size:2.45rem;margin-bottom:17px}.page-heading p{font-size:.87rem}.page-heading{margin-bottom:25px}.lesson-tabs{padding:6px 15px 0;gap:20px;overflow:auto}.lesson-tabs button{font-size:.8rem;padding-top:14px;padding-bottom:14px}#lesson-content{padding:24px 18px}#lesson-content h2{font-size:1.4rem}#lesson-content>p{font-size:.85rem}.pronoun-grid{grid-template-columns:repeat(3,1fr);gap:8px}.pronoun-item{padding:13px 10px;min-height:80px}.pronoun-item:last-child{grid-column:span 3;min-height:60px}.pronoun-item span{font-size:.72rem}.practice-aside{padding:24px 20px;display:block}.practice-aside>p{max-width:100%}.built-sentence{font-size:1.85rem}.practice-aside .translation{min-height:0}.aside-tip{margin-top:20px;padding-top:18px}.next-step{flex-direction:column;gap:20px}.next-step>.button{width:100%}.next-step strong{font-size:.83rem}.next-step p{font-size:.77rem}.be-group{grid-template-columns:1fr 54px;gap:10px}.be-group small{grid-column:span 2;margin-top:-4px}.formula{font-size:.92rem;padding:12px;gap:5px}.formula span{padding:7px}.example-pair{display:block}.example-pair span{display:block;margin-top:4px}.quiz-card,.speech-card{padding:23px 19px}.section-heading h1{font-size:2.25rem}.section-heading p{font-size:.86rem}#question-prompt{font-size:1.4rem}.answer-option{padding:13px 12px;font-size:.95rem}.question-map{grid-template-columns:repeat(5,1fr)}.speech-sentence h2{font-size:1.95rem}.speech-controls{flex-direction:column}.speech-tips ol{display:block}.speech-tips h2{font-size:1.4rem}.video-wrap{border-radius:10px}.video-bottom{align-items:flex-start;font-size:.7rem}.video-bottom .button{font-size:.72rem;padding:10px 12px;flex-shrink:0}.download-card{padding:32px 22px}.book-cover{width:min(245px,100%);height:350px}.download-copy h2{font-size:1.8rem}.download-copy .button{width:100%}footer{font-size:.64rem;align-items:flex-start;line-height:1.5}footer span{max-width:190px}.quiz-actions{flex-direction:column}.topbar-slash{padding:0 6px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Comfortable reading at every screen size. */
#lesson-content>p{font-size:1rem}.lesson-callout{font-size:.875rem}.pronoun-item span{font-size:.8rem}.practice-aside>p{font-size:.875rem}
@media(max-width:650px){.brand strong{margin-left:4px}nav a{min-height:44px}#lesson-content>p{font-size:1rem}.lesson-callout{font-size:.875rem}}
#main:focus{outline:none}

/* Big, readable controls for a child's first English missions. */
nav a,.button,.text-button,.small,.lesson-tabs button{font-size:1rem;min-height:44px}
.page-heading p,.section-heading p,.lesson-callout,.pronoun-item span,.practice-aside>p,.translation,.aside-tip,.aside-tip p,.aside-tip strong,.next-step strong,.next-step p,.be-group small,.example-pair,.example-pair span,.mini-table,.mini-table th,.quiz-summary p,.speech-sentence p,#speech-status,.speech-note,.speech-note p,.speech-tips li,.speech-feedback,.transcript-details summary,.transcript-details p,.download-copy p,.download-copy li{font-size:1rem!important}
.tiny{font-size:.875rem!important}
.control-label{font-family:'DM Sans',sans-serif;font-size:1rem;font-weight:700;line-height:1.4;display:block;margin:0 0 12px;letter-spacing:0}
.practice-aside{display:block;background:linear-gradient(150deg,#d9f0fd,#e8f6ff);border:1px solid #bddde9;box-shadow:0 4px 0 #bddde96b}
.builder-play-area{display:block}
.subject-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.subject-button{padding:10px 4px;min-height:86px;border:2px solid #b6d2df;background:#fff;border-radius:14px;box-shadow:0 3px 0 #bdd3df;color:var(--navy);transition:transform .15s,background .15s;min-width:0}
.subject-button strong{font-family:Outfit,sans-serif;display:block;font-size:1.55rem;line-height:1.2;margin-bottom:5px}
.subject-button span{font-size:1rem;line-height:1.15;display:block;overflow-wrap:break-word}
.subject-button:hover{background:#f2fbff;transform:translateY(-2px)}
.subject-button[aria-pressed=true]{background:var(--lime);border-color:var(--navy);box-shadow:0 3px 0 var(--navy)}
.subject-button:last-child{grid-column:span 3;min-height:64px;display:flex;justify-content:center;align-items:center;gap:12px}
.subject-button:last-child strong{margin:0}
.negative-button{width:100%;min-height:52px;margin-top:20px;border:2px solid #b96955;border-radius:14px;background:#fff5ef;padding:11px 10px;font-weight:700;font-size:1rem;display:flex;align-items:center;justify-content:center;gap:7px;box-shadow:0 3px 0 #d59d8b}
.negative-button[aria-pressed=true]{background:var(--coral);border-color:#713c30;box-shadow:0 3px 0 #713c30}
.negative-button>span:first-child{font-size:1.3rem;line-height:1}
.toggle-state{font-size:.875rem;font-weight:600}
.builder-hint{font-size:1rem;line-height:1.4;margin:12px 0 20px}
.builder-preview{border:2px dashed #8cbcd2;background:#ffffffaa;padding:17px 14px 12px;border-radius:17px}
.builder-preview .control-label{font-size:.9375rem;margin-bottom:12px}
.built-sentence{font-size:1.8rem;line-height:1.45;min-height:0;margin:0 0 9px;overflow-wrap:anywhere}
.builder-preview .translation{margin-bottom:18px;min-height:0}
.builder-preview .audio-button{background:white;min-height:52px;font-size:1rem;padding:12px 8px;box-shadow:0 3px 0 #b6d2df}
.builder-preview .tiny:empty{display:none}
.aside-tip{margin-top:20px;padding-top:18px}
.game-heading{display:flex;justify-content:space-between;align-items:center;gap:25px}
.game-sticker{width:114px;height:114px;flex-shrink:0;border-radius:28px;background:var(--lime);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(7deg);font-size:3.2rem;line-height:1;color:var(--navy);border:2px solid var(--navy);box-shadow:4px 5px 0 var(--navy)}
.game-sticker span{font-size:1rem;font-weight:700;margin-top:5px}
.quiz-card{border:2px solid #d6e2dc;box-shadow:0 5px 0 #dce6dd;position:relative}
.quiz-top{font-size:1rem;flex-wrap:wrap}
.quiz-top .pill{font-size:.9375rem;background:var(--sky);padding:8px 12px}
.progress-track{height:12px;border:2px solid #dce8e2;margin:20px 0 24px;background:#eff6ee}
#quiz-progress{background:var(--green);border-radius:8px}
.game-instruction{font-size:1rem;color:var(--muted);line-height:1.5;margin:0 0 16px}
#question-prompt{font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.4;margin-bottom:24px;overflow-wrap:break-word}
#question-prompt:focus,#speech-target:focus{outline:none}
#question-options{display:grid;gap:12px}
.answer-option{width:100%;display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:14px;row-gap:0;border:2px solid #c9dce5;border-radius:16px;background:#f5fbff;min-height:76px;padding:14px 16px;margin:0;text-align:left;font-size:1.125rem;font-weight:600;box-shadow:0 4px 0 #d4e4eb;transition:background .15s,transform .15s}
.answer-option:not(:disabled):hover{background:var(--sky);border-color:#4f90ad;transform:translateY(-2px)}
.answer-option:not(:disabled):active{transform:translateY(2px);box-shadow:0 1px 0 #d4e4eb}
.answer-letter{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:white;border:1px solid #c9dce5;font-family:Outfit,sans-serif;font-size:1.125rem}
.answer-text{line-height:1.5;overflow-wrap:break-word}
.answer-state{grid-column:2;font-size:1rem;font-weight:600;line-height:1.4;margin-top:4px}
.answer-state:empty{display:none}
.answer-option:disabled{opacity:1;cursor:default;box-shadow:none}
.answer-option.correct{background:#e6f5ce;border-color:#42864e;box-shadow:0 3px 0 #a4c78e}
.answer-option.correct .answer-letter{background:#fff;border-color:#42864e}
.answer-option.correct .answer-state{color:#285632}
.answer-option.wrong{background:#fff0e9;border-color:#b76c56;box-shadow:none}
.answer-option.wrong .answer-state{color:#8b4430}
#question-feedback{position:relative;font-size:1rem;line-height:1.6;background:#edf8db;border:1px solid #c7ddad;border-radius:16px;padding:18px;margin-top:20px;overflow:hidden}
#question-feedback strong{font-size:1.0625rem;margin-bottom:9px;position:relative;z-index:1}
#question-feedback strong>span{font-size:1.25rem}
#question-feedback.incorrect{background:#fff4e9;border-color:#ebc7b9}
.review-note{font-size:.9375rem;margin:12px 0 0;padding-top:12px;border-top:1px solid #cddbbd}
.quiz-actions{gap:10px;flex-wrap:wrap}
.quiz-actions .button{min-height:52px;border-radius:14px}
.quiz-actions .primary{box-shadow:0 4px 0 #071d2b}
.retry-button{border-color:#aabebd;background:#f7faf7}
.star-burst{position:absolute;right:16px;top:0;pointer-events:none;display:flex;gap:10px;color:#567624}
.star-burst span{animation:star-pop .65s ease-out both;font-size:1.25rem;opacity:0}
.star-burst span:nth-child(2){animation-delay:.1s;font-size:1.7rem}
.star-burst span:nth-child(3){animation-delay:.18s}
@keyframes star-pop{0%{opacity:0;transform:translateY(28px) scale(.4) rotate(-15deg)}35%{opacity:1}100%{opacity:0;transform:translateY(-4px) scale(1.1) rotate(20deg)}}
.quiz-summary{background:#f0f5df;border:2px solid #d8e1bd;padding:23px;box-shadow:0 4px 0 #dbe3c7}
.star-counter{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.collection-star{font-size:3.2rem;color:#45601a;line-height:1;text-shadow:3px 3px 0 #d0e6a6}
.star-counter h2{font-size:2.6rem;margin:0;line-height:1}
.star-counter h2>span:last-child{display:block;font-family:'DM Sans',sans-serif;font-size:1rem;margin-top:5px;font-weight:600;letter-spacing:0}
.star-rule{font-size:.9375rem!important;line-height:1.5;margin:12px 0 14px}
.star-collection{display:grid;grid-template-columns:repeat(8,1fr);gap:3px;font-size:1.3rem;line-height:1.25;margin-top:14px}
.collection-slot{color:#91a073;text-align:center}
.collection-slot.earned{color:#4f6920}
.journey-count{margin-bottom:22px}
.question-map{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}
.question-map button{min-width:44px;height:48px;border-width:2px;border-radius:11px;font-size:1rem;font-weight:600;position:relative;display:flex;align-items:center;justify-content:center;gap:3px;padding:3px}
.question-map button small{font-size:.8125rem}
.question-map button.done{background:var(--navy);border-color:var(--navy)}
.question-map button.done small{color:var(--lime)}
.question-map button.missed{background:#ffeadf;border-color:#cc9b83}
.question-map button.current{outline-width:3px;outline-offset:2px}
.map-key{font-size:.875rem!important;line-height:1.6}
.map-key span{display:block}
#reset-confirm{border:1px solid #cad6b5;background:#fffdf1;border-radius:12px;padding:14px;margin-top:12px}
#reset-confirm .button,#reset-confirm .text-button{width:100%;margin-top:5px}
.result-stars{font-size:4rem;color:#526d20;line-height:1.2;margin:12px 0}
#quiz-finished h2{font-size:1.9rem;margin-bottom:16px}
.result-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.mission-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;background:#eef7fb;border-radius:16px;border:1px solid #d5e7f0}
.mission-arrow{width:48px;height:48px;flex-shrink:0;border:2px solid #a9c7d7;border-radius:12px;background:white;box-shadow:0 3px 0 #c2d6e1;font-size:1.5rem;line-height:1}
.mission-arrow:disabled{opacity:.4;box-shadow:none}
.mission-count{font-size:1rem;font-weight:700;text-align:center}
.speech-sentence{padding:26px 0 16px}
.speech-sentence .eyebrow{margin-bottom:12px}
.speech-sentence h2{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.35;overflow-wrap:break-word}
.speech-controls .button{min-height:54px;font-size:1rem;border-radius:14px;flex:1;box-shadow:0 3px 0 #c3d1d6;white-space:normal}
.speech-controls .primary{box-shadow:0 3px 0 #071d2b}
.mission-picker{background:#f5f9fc;border:1px solid #c9dce6;border-radius:15px;margin:20px 0 24px}
.mission-picker summary{cursor:pointer;min-height:52px;padding:16px;font-size:1rem;font-weight:700;line-height:1.5}
.mission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 12px 14px}
.mission-card{display:flex;gap:10px;align-items:flex-start;text-align:left;min-height:84px;min-width:0;border:2px solid #c8dce5;border-radius:12px;background:white;padding:12px 10px;line-height:1.4}
.mission-card[aria-pressed=true]{background:var(--lime);border-color:var(--navy)}
.mission-number{width:26px;height:26px;border-radius:8px;background:#e2eef4;display:grid;place-items:center;font-size:1rem;font-weight:700;flex-shrink:0}
.mission-card strong{font-size:1rem;font-weight:700;display:block;margin-bottom:6px;overflow-wrap:break-word}
.mission-card small{display:block;font-size:1rem;line-height:1.4;color:var(--muted)}
.speech-note strong{font-size:1rem}
#speech-feedback,#word-result span{font-size:1rem}
@media(min-width:971px){.lesson-layout{grid-template-columns:minmax(0,1fr) 310px}.quiz-layout{grid-template-columns:minmax(0,1fr) 270px}.speech-layout{grid-template-columns:minmax(0,1fr) 260px}.practice-aside{padding:24px 20px}.lesson-tabs{gap:16px;overflow-x:auto}.quiz-card,.speech-card{padding:28px}.quiz-summary{padding:22px}.subject-button{min-height:91px}.subject-button span{font-size:1rem}.question-map{gap:9px}}
@media(min-width:651px) and (max-width:970px){.builder-play-area{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.builder-preview{position:sticky;top:20px}.practice-aside .tiny{grid-column:auto}.question-map{grid-template-columns:repeat(6,minmax(0,1fr))}.star-collection{grid-template-columns:repeat(12,1fr);max-width:420px}.mission-grid{grid-template-columns:1fr}}
@media(max-width:650px){nav a{font-size:1rem;padding:12px}.lesson-tabs button{font-size:1rem}.game-sticker{display:none}.section-heading{margin-bottom:24px}.game-heading h1{font-size:2.2rem}.practice-aside{padding:24px 18px}.subject-buttons{gap:9px}.subject-button{min-height:88px}.subject-button strong{font-size:1.7rem}.subject-button:last-child{min-height:58px}.builder-preview{padding:20px 16px}.built-sentence{font-size:2rem}.quiz-card,.speech-card{padding:22px 16px}.quiz-top{font-size:.9375rem;gap:10px}.quiz-top .pill{font-size:.9375rem}#question-prompt{font-size:1.55rem}.answer-option{padding:14px 12px;column-gap:10px;grid-template-columns:34px minmax(0,1fr);font-size:1.125rem}.answer-letter{width:32px;height:32px}.answer-state{font-size:1rem}.quiz-actions{flex-direction:column}.quiz-actions .button{width:100%}.quiz-summary{padding:22px}.question-map{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.question-map button{min-width:0;width:100%;height:48px}.star-collection{grid-template-columns:repeat(8,1fr);max-width:300px}.mission-grid{grid-template-columns:1fr}.mission-navigation{padding:8px;gap:8px}.mission-arrow{width:46px;height:46px}.speech-sentence{padding:24px 0 14px}.speech-controls{gap:12px}.speech-controls .button{width:100%}.result-actions{flex-direction:column}.result-actions .button{width:100%}.next-step strong,.next-step p{font-size:1rem}.video-bottom{flex-wrap:wrap}.video-bottom .button{font-size:1rem}.tiny{font-size:.875rem!important}}
@media(max-width:360px){main{padding-left:14px;padding-right:14px}.quiz-summary{padding:18px}.question-map{gap:7px}.quiz-top{align-items:flex-start}.subject-button span{font-size:1rem}.speech-card{padding:20px 14px}}
@media(prefers-reduced-motion:reduce){.star-burst{display:none}.subject-button:hover,.answer-option:not(:disabled):hover,.answer-option:not(:disabled):active{transform:none}}

/* Put the sentence playground first, with its result close to the controls. */
.lesson-layout{display:flex;flex-direction:column;gap:26px}
.practice-aside{order:-1;display:grid;grid-template-columns:1fr 1fr;column-gap:24px;row-gap:0;padding:22px 26px}
.practice-aside .note-icon{display:none}
.practice-aside>.eyebrow{grid-column:1;grid-row:1;margin:0 0 7px}
.practice-aside>h2{grid-column:1;grid-row:2;font-size:1.8rem;margin:0 0 18px}
.practice-aside>p:first-of-type{grid-column:2;grid-row:1/3;align-self:center;max-width:360px;margin:0 0 18px}
.builder-play-area{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:28px;align-items:stretch}
.builder-choices{display:grid;grid-template-columns:minmax(155px,.9fr) minmax(0,1fr);align-items:center;gap:12px 16px}
.builder-choices>.control-label{grid-column:1/-1;margin:0}
.builder-choices>.subject-buttons{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.builder-choices .subject-button{min-height:72px;padding:7px 4px}
.builder-choices .subject-button strong{font-size:1.45rem;margin-bottom:4px}
.builder-choices .subject-button:last-child{grid-column:auto;display:block;min-height:72px}
.builder-choices .subject-button:last-child strong{margin-bottom:4px}
.builder-choices .negative-button{margin:0;min-height:52px}
.builder-choices .builder-hint{margin:0;font-size:1rem;line-height:1.4}
.builder-preview{position:static;display:flex;flex-direction:column;justify-content:center;align-items:stretch;padding:20px;min-width:0}
.builder-preview .built-sentence{font-size:2rem}
.builder-preview .translation{margin-bottom:20px}
.builder-preview .tiny{margin-bottom:0}
.practice-aside .aside-tip{grid-column:1/-1;grid-row:auto;padding-top:13px;margin-top:19px}
.practice-aside .aside-tip strong{display:inline;margin-right:6px}
.practice-aside .aside-tip p{display:inline;margin:0;line-height:1.5}
#aprender .page-heading{margin-bottom:24px}
#learn-title{font-size:clamp(2.1rem,3.2vw,3rem);margin-bottom:15px}
@media(max-width:970px){.practice-aside{padding:22px}.builder-play-area{gap:20px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.builder-choices{grid-template-columns:1fr}.builder-choices>.subject-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}.builder-choices .subject-button:last-child{grid-column:span 3;display:flex;min-height:52px}.builder-choices .subject-button:last-child strong{margin:0}.builder-choices .builder-hint{font-size:1rem}.builder-preview .built-sentence{font-size:1.85rem}}
@media(max-width:650px){.practice-aside{display:block;padding:22px 18px}.practice-aside>.eyebrow{margin-bottom:8px}.practice-aside>h2{margin-bottom:8px}.practice-aside>p:first-of-type{margin-bottom:18px;max-width:none}.builder-play-area{display:flex;flex-direction:column;gap:22px}.builder-preview{order:-1;padding:18px}.builder-preview .built-sentence{font-size:2rem}.builder-preview .translation{margin-bottom:16px}.builder-choices{grid-template-columns:1fr;gap:14px}.builder-choices .subject-button{min-height:78px}.builder-choices .subject-button:last-child{min-height:52px}.builder-choices .negative-button{margin-top:4px}.builder-choices .builder-hint{margin-top:2px}.practice-aside .aside-tip{margin-top:20px;padding-top:16px}.practice-aside .aside-tip strong{display:block;margin:0 0 6px}.practice-aside .aside-tip p{display:block}#learn-title{font-size:2.15rem}.lesson-layout{gap:24px}}
