:root{color:#29242f;font-synthesis:none;text-rendering:optimizelegibility;background:#fff9f2;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%}html,body{overscroll-behavior-x:none;overflow:hidden auto}#root{min-height:100dvh}body{touch-action:manipulation;background:radial-gradient(circle at 85% 10%,#eee6ff 0 10%,#0000 30%),radial-gradient(circle at 10% 90%,#ffe9cb 0 8%,#0000 28%),#fff9f2;min-width:320px;min-height:100dvh;margin:0}button,input{font:inherit}button{min-height:48px}.app-shell{width:min(100% - 32px,1040px);padding:env(safe-area-inset-top) 0 calc(32px + env(safe-area-inset-bottom));min-height:100dvh;margin:0 auto}.topbar{justify-content:space-between;align-items:center;min-height:76px;display:flex}.brand{color:inherit;align-items:center;gap:10px;font-weight:850;text-decoration:none;display:flex}.brand-mark{color:#fff;background:#6750a4;border-radius:14px;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 8px 18px #6750a433}.parent-entry{color:#635b68;background:#ffffffb8;border:0;border-radius:999px;padding:0 18px}.welcome{grid-template-columns:1fr auto;align-items:end;gap:24px;padding:52px 0 38px;display:grid}.welcome>:not(.welcome-new){display:none}.welcome-new{min-width:0}.welcome-title-row{width:min(100%,760px);position:relative}.welcome-title-row h1{padding-right:152px}.kicker,.eyebrow{color:#6750a4;letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:.8rem;font-weight:800}h1{letter-spacing:-.055em;max-width:720px;margin:0;font-size:clamp(2.5rem,7vw,5.2rem);line-height:1.03}.welcome-copy{color:#665f69;max-width:560px;font-size:clamp(1rem,2vw,1.2rem);line-height:1.7}.streak{aspect-ratio:1;background:#fff;border:1px solid #e8ddf3;border-radius:50%;align-content:center;place-items:center;width:116px;display:grid;box-shadow:0 18px 40px #5c416013}.welcome-title-row .streak{position:absolute;top:50%;right:0;transform:translateY(-50%)}.streak span{color:#ff9a3c}.streak strong{font-size:2rem;line-height:1}.streak small{color:#777078;margin-top:5px}.actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.action-card{border-radius:32px;flex-direction:column;min-height:300px;padding:clamp(24px,4vw,38px);display:flex;overflow:hidden;box-shadow:0 18px 50px #493e5610}.action-card--purple{background:#ece4ff}.action-card--orange{background:#ffe8c9}.action-card--blue{background:#ddf2ff}.action-card--green{background:#e4f8dd}.action-card--orange .eyebrow{color:#9b560f}.action-card--blue .eyebrow{color:#16617f}.action-card--green .eyebrow{color:#2f6d2b}.action-card h2{letter-spacing:-.04em;margin:0;font-size:clamp(1.8rem,4vw,2.8rem)}.action-card p{color:#5d5661;line-height:1.65}.action-card button{color:#fff;background:#6750a4;border:0;border-radius:16px;align-self:flex-start;margin-top:auto;padding:0 22px}.action-card--orange button{background:#a85b12}.dictionary-screen{grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:minmax(240px,.72fr) minmax(420px,1.28fr);align-items:stretch;gap:16px;min-height:100dvh;padding:18px 0 34px;display:grid}.dictionary-screen .challenge-lobby-top{grid-column:1/-1}.dictionary-hero,.dictionary-panel,.dictionary-history{background:#fff;border-radius:28px;min-width:0;box-shadow:0 20px 60px #4a405014}.dictionary-hero{background:linear-gradient(145deg,#e6f7ff,#fff);align-content:center;padding:clamp(20px,3.6vw,34px);display:grid}.dictionary-hero h1{color:#15516c;font-size:clamp(2.4rem,7vw,4.6rem)}.dictionary-hero p:not(.kicker){color:#5d6670;line-height:1.65}.dictionary-panel{align-content:start;gap:14px;padding:clamp(18px,3vw,28px);display:grid}.dictionary-panel>h2,.dictionary-history h2{color:#253142;margin:0;font-size:clamp(1.4rem,3.4vw,2rem)}.dictionary-form{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.dictionary-form input{color:#253142;background:#fbfdff;border:2px solid #d9e6ee;border-radius:16px;min-width:0;height:52px;padding:0 16px;font-size:1.1rem;font-weight:750}.dictionary-form .primary-button{white-space:nowrap;min-width:96px;padding:0 20px}.dictionary-result{background:#f5fbff;border:2px solid #d9eefa;border-radius:22px;gap:10px;padding:18px;display:grid}.dictionary-word-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.dictionary-word-row h2{color:#15516c;letter-spacing:-.04em;margin:0;font-size:clamp(2rem,6vw,3.5rem)}.dictionary-result p{color:#4e5864;margin:0;line-height:1.65}.dictionary-meaning{background:#fff;border-radius:16px;padding:12px 14px;font-size:1.1rem}.dictionary-definitions{gap:6px;display:grid}.dictionary-message{color:#8a4a15;margin:0;font-weight:750}.dictionary-history{grid-column:1/-1;padding:clamp(16px,3vw,24px)}.dictionary-section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.dictionary-section-heading button{color:#6750a4;background:#eee8ff;border:0;border-radius:999px;min-height:38px;padding:0 14px;font-weight:850}.dictionary-history-list{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.dictionary-history-list button{color:#263342;text-align:left;background:#fbfdff;border:1px solid #dce8ef;border-radius:16px;min-width:0;min-height:64px;padding:10px 12px}.dictionary-history-list strong,.dictionary-history-list span{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.dictionary-history-list span{color:#667281;margin-top:3px;font-size:.86rem}.dictionary-empty{color:#667281;margin:0}.action-card--blue button{background:#167299}.action-card--green button{background:#377d32}.action-card button:disabled{cursor:not-allowed;opacity:.78}.coming-soon{color:#766f78;margin-top:8px;font-size:.78rem}.today{background:#ffffffc9;border:1px solid #eee6e0;border-radius:24px;justify-content:space-between;align-items:center;gap:20px;margin-top:20px;padding:24px clamp(22px,4vw,34px);display:flex}.unit-picker{background:#ffffffc9;border:1px solid #eee6e0;border-radius:24px;margin-top:20px;padding:24px clamp(22px,4vw,34px)}.unit-picker h2{margin:0}.unit-picker-layout{gap:14px;margin-top:18px;display:grid}.book-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.book-tab,.unit-choice{color:#4a444d;background:#fff;border:2px solid #e6dde8;min-height:44px}.book-tab{white-space:nowrap;border-radius:13px;padding:10px 4px;font-weight:800}.book-tab--active{color:#fff;background:#6750a4;border-color:#6750a4}.unit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.unit-choice{text-align:center;border-radius:14px;align-content:center;gap:4px;min-width:0;min-height:66px;padding:9px 6px;display:grid}.unit-choice strong{color:inherit;font-size:.9rem}.unit-choice span{color:#777078;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.72rem;line-height:1.25;overflow:hidden}.unit-choice--active{color:#6750a4;background:#eee8ff;border-color:#6750a4;box-shadow:inset 0 0 0 1px #6750a4}.unit-choice--active span{color:#6750a4}.book-tab:disabled,.unit-choice:disabled{cursor:not-allowed;opacity:.68}.unit-picker-lock{color:#654e20;background:#fff3cf;border-radius:12px;margin:14px 0 0;padding:10px 13px;font-weight:750}.unit-picker-empty{color:#766f78;text-align:center;background:#f7f3f8;border-radius:14px;grid-column:1/-1;margin:0;padding:24px}.ios-install-hint{background:#f4efff;border:1px solid #d9cfee;border-radius:20px;justify-content:space-between;align-items:center;gap:22px;margin-top:20px;padding:20px;display:flex}.ios-install-hint h2{margin:0}.ios-install-steps{color:#5f5767;margin:12px 0 0;padding-left:22px;line-height:1.65}.ios-install-dismiss{color:#fff;white-space:nowrap;background:#6750a4;border:0;border-radius:14px;min-width:96px;min-height:44px;padding:0 18px;font-weight:800}.today h2{margin:0;font-size:clamp(1rem,3vw,1.35rem)}.status-pill{color:#6750a4;white-space:nowrap;background:#eee7ff;border-radius:999px;padding:8px 13px;font-weight:750}.practice-screen,.result-screen{min-height:100vh;padding:28px 0}.challenge-screen{min-height:100vh;padding:28px 0 48px}.challenge-intro{color:#665f69;max-width:620px;font-size:1.08rem;line-height:1.7}.challenge-lobby{grid-template-rows:auto 1fr;grid-template-columns:minmax(190px,.68fr) minmax(330px,1.12fr) minmax(230px,.78fr);align-items:stretch;gap:14px;display:grid}.challenge-lobby-top{grid-column:1/-1;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;display:grid}.challenge-lobby-top strong{color:#3f3547;font-size:clamp(1.15rem,3.2vw,1.65rem)}.challenge-lobby-top span{color:#9b3d23;white-space:nowrap;background:#ffe6df;border-radius:999px;padding:7px 12px;font-size:.92rem;font-weight:850}.challenge-lobby-hero,.challenge-lobby-levels,.challenge-lobby-side{background:#fff;border-radius:28px;min-width:0;padding:clamp(16px,2.6vw,26px);box-shadow:0 20px 60px #4a405014}.challenge-lobby-hero{background:linear-gradient(145deg,#fff8df,#fff);align-content:center;gap:10px;display:grid}.challenge-lobby-hero h1{color:#4a2b08;letter-spacing:-.06em;margin:0;font-size:clamp(2rem,6vw,3.6rem);line-height:1}.challenge-lobby-hero p:not(.kicker){color:#665f69;margin:0;font-size:clamp(.95rem,2.5vw,1.1rem);line-height:1.55}.challenge-lobby-levels{align-content:center;display:grid}.challenge-lobby-levels h2{color:#463950;margin:0 0 12px;font-size:clamp(1.1rem,3vw,1.45rem)}.challenge-lobby-side{align-content:center;gap:12px;display:grid}.level-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:32px;display:grid}.level-grid button{color:#713d0e;text-align:left;background:#fff0dc;border:2px solid #edd7bd;border-radius:24px;align-content:center;gap:8px;min-height:120px;padding:22px;display:grid}.level-grid strong{font-size:1.35rem}.level-grid span{color:#7c6d60}.level-grid .custom-level{color:#59418f;background:#eee8ff;border-color:#bba9df;grid-column:1/-1}.range-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:30px 0 18px;display:grid}.range-picker fieldset{background:#fff;border:2px solid #e3d9ea;border-radius:22px;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;padding:20px;display:grid}.range-picker legend{color:#6750a4;padding:0 8px;font-weight:850}.range-picker label{color:#665f69;gap:7px;font-size:.86rem;font-weight:750;display:grid}.range-picker select{color:#3f3943;width:100%;min-height:48px;font:inherit;background:#fff;border:1px solid #d8cedf;border-radius:13px;padding:0 12px}.range-summary{color:#4f4260;background:#eee8ff;border-radius:14px;width:fit-content;padding:12px 16px}.range-error{color:#9b3124;font-weight:750}.mistake-bank-entry{color:#713725;text-align:left;background:#fff0e9;border:2px solid #f0c7b8;border-radius:22px;justify-content:space-between;align-items:center;gap:18px;width:100%;margin-top:24px;padding:20px 22px;display:flex}.mistake-bank-entry span{gap:5px;display:grid}.mistake-bank-entry strong{font-size:1.18rem}.mistake-bank-entry small{color:#7c675f}.mistake-bank-entry b{color:#fff;white-space:nowrap;background:#a94e35;border-radius:999px;padding:8px 12px}.mistake-bank-heading{justify-content:space-between;align-items:center;gap:20px;margin:24px 0 16px;display:flex}.mistake-bank-heading .primary-button{width:auto;padding:0 22px}.mistake-bank-empty{color:#56505a;text-align:center;background:#fff;border-radius:24px;margin-top:28px;padding:34px}.mistake-bank-empty strong{font-size:1.25rem}.mistake-word-list{gap:12px;display:grid}.mistake-word-list article{background:#fff;border:1px solid #eadfe8;border-radius:18px;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;display:flex}.mistake-word-list article>div{gap:5px;display:grid}.mistake-word-list article>div:last-child{color:#746b76;text-align:right;font-size:.84rem}.mistake-word-list strong{color:#55416f;font-size:1.25rem}.challenge-topbar{grid-template-columns:auto 1fr auto;align-items:center;gap:16px;display:grid}.challenge-topbar strong{font-size:1.15rem}.challenge-topbar span{color:#9b3d23;background:#ffe6df;border-radius:999px;padding:8px 13px;font-weight:800}.challenge-card h1{font-size:clamp(2.7rem,9vw,5.5rem)}.challenge-screen--landscape{padding-bottom:calc(22px + env(safe-area-inset-bottom))}.challenge-card--landscape{text-align:left;grid-template-columns:minmax(260px,.85fr) minmax(440px,1.15fr);align-items:center;gap:clamp(22px,4vw,48px);width:min(100%,1120px);display:grid}.challenge-card--landscape h1{margin:18px 0;font-size:clamp(3rem,11vh,5.4rem)}.challenge-prompt-panel{text-align:center;min-width:0}.challenge-keyboard-panel{min-width:0;border:0;min-inline-size:0;margin:0;padding:0}.challenge-keyboard-panel .virtual-keyboard{margin-top:0}.challenge-keyboard-panel .feedback{margin-top:14px}.daily-spelling-card .challenge-keyboard-panel{width:100%}.success-dialog-backdrop{z-index:90;padding:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#271e342e;place-items:center;display:grid;position:fixed;inset:0}.success-dialog{text-align:center;background:linear-gradient(145deg,#fffdf5,#fff1c6);border:3px solid #ffe18f;border-radius:30px;align-content:center;justify-items:center;gap:8px;width:min(86vw,360px);min-height:210px;padding:28px 26px 24px;animation:.42s cubic-bezier(.18,1.35,.32,1) both success-pop;display:grid;position:relative;overflow:hidden;box-shadow:0 26px 80px #4a305c55,inset 0 0 0 7px #ffffff80}.success-dialog h2{z-index:1;color:#6b3a00;margin:0;font-size:clamp(2rem,8vh,3rem);line-height:1;position:relative}.success-dialog .kicker{z-index:1;color:#9b5a00;margin:0;position:relative}.success-dialog button{z-index:1;color:#fff;background:#6750a4;border:0;border-radius:999px;min-height:48px;margin-top:6px;padding:0 30px;font-weight:900;position:relative;box-shadow:0 5px #4f3c7a}.success-dialog button:active{transform:translateY(2px);box-shadow:0 3px #4f3c7a}.success-star{z-index:1;color:#fff;text-shadow:0 2px #d97d00;background:#ffb703;border-radius:999px;place-items:center;width:58px;height:58px;font-size:2.3rem;animation:.62s cubic-bezier(.2,1.35,.35,1) both success-star-bounce;display:grid;position:relative;box-shadow:0 8px #df8f00}.success-fireworks{pointer-events:none;position:absolute;inset:0}.success-fireworks span{--angle:0deg;--distance:86px;background:#ff6b6b;border-radius:999px;width:10px;height:10px;animation:.78s ease-out .12s both success-firework;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)scale(.2)}.success-fireworks span:nth-child(2){--angle:30deg;background:#ffd166}.success-fireworks span:nth-child(3){--angle:60deg;background:#06d6a0}.success-fireworks span:nth-child(4){--angle:90deg;background:#4cc9f0}.success-fireworks span:nth-child(5){--angle:120deg;background:#c77dff}.success-fireworks span:nth-child(6){--angle:150deg;background:#ff8fab}.success-fireworks span:nth-child(7){--angle:180deg;background:#ffb703}.success-fireworks span:nth-child(8){--angle:210deg;background:#90be6d}.success-fireworks span:nth-child(9){--angle:240deg;background:#577590}.success-fireworks span:nth-child(10){--angle:270deg;background:#f3722c}.success-fireworks span:nth-child(11){--angle:300deg;background:#43aa8b}.success-fireworks span:nth-child(12){--angle:330deg;background:#f72585}@keyframes success-pop{0%{opacity:0;transform:translateY(18px)scale(.82)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes success-star-bounce{0%{transform:scale(.2)rotate(-20deg)}65%{transform:scale(1.14)rotate(8deg)}to{transform:scale(1)rotate(0)}}@keyframes success-firework{0%{opacity:0;transform:translate(-50%, -50%) rotate(var(--angle)) translateY(0) scale(.2)}25%{opacity:1}to{opacity:0;transform:translate(-50%, -50%) rotate(var(--angle)) translateY(calc(var(--distance) * -1)) scale(1)}}.challenge-result{align-content:center;justify-items:start;max-width:720px;margin:auto;display:grid}.challenge-result p{color:#665f69;font-size:1.1rem;line-height:1.7}.feedback button{color:#fff;background:#6750a4;border:0;border-radius:12px;margin-top:12px;padding:0 18px}.listening-lobby{grid-template-rows:auto 1fr;grid-template-columns:minmax(260px,.82fr) minmax(420px,1.18fr);align-items:stretch;gap:16px;display:grid}.listening-lobby .challenge-lobby-top{grid-column:1/-1}.listening-hero,.listening-unit-picker{background:#fff;border-radius:28px;min-width:0;padding:clamp(18px,3vw,28px);box-shadow:0 20px 60px #4a405014}.listening-hero{background:linear-gradient(145deg,#e4f5ff,#fff);align-content:center;display:grid}.listening-hero h1{color:#144960;font-size:clamp(2.4rem,8vw,4.8rem)}.listening-start-button{width:100%;margin-top:18px}.listening-unit-picker .unit-picker-layout{grid-template-columns:1fr;gap:10px}.listening-unit-picker .book-tabs,.listening-unit-picker .unit-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.listening-card .listening-prompt-panel h1{font-size:clamp(2.6rem,10vh,4.8rem)}.listening-tip{color:#665f69;line-height:1.65}.listening-mistake-note{color:#8a3b2b;margin:10px 0 0;font-weight:750}.practice-setup{grid-template-rows:auto 1fr;grid-template-columns:minmax(240px,.78fr) minmax(420px,1.22fr);align-items:stretch;gap:18px;min-height:100dvh;padding:24px 0 40px;display:grid}.practice-setup .challenge-lobby-top{grid-column:1/-1}.practice-setup-hero,.practice-setup-picker{background:#fff;border-radius:28px;min-width:0;box-shadow:0 20px 60px #4a405014}.practice-setup-hero{background:linear-gradient(145deg,#f1e9ff,#fff);align-content:center;padding:clamp(20px,3.6vw,34px);display:grid}.practice-setup-hero h1{color:#4f327d;font-size:clamp(2.6rem,8vw,4.8rem)}.practice-setup-hero p:not(.kicker){color:#665f69;line-height:1.65}.practice-setup-picker{gap:14px;margin-top:0;display:grid}.practice-setup-picker .unit-picker-layout{margin-top:0}.practice-setup-summary{justify-content:space-between;align-items:center;gap:14px;padding-top:4px;display:flex}.practice-setup-summary span{color:#5f5767;overflow-wrap:anywhere;min-width:0;font-weight:750}.practice-setup-summary .primary-button{white-space:nowrap;min-width:150px;padding:0 22px}.ket-screen{grid-template-rows:auto 1fr;grid-template-columns:minmax(170px,.26fr) minmax(640px,1fr);gap:14px;min-height:100dvh;padding:18px 0 32px;display:grid}.ket-screen .challenge-lobby-top{grid-column:1/-1}.ket-part-list,.ket-workspace,.ket-paper-panel,.ket-answer-panel{background:#fff;border-radius:26px;min-width:0;box-shadow:0 20px 60px #4a405014}.ket-part-list{background:linear-gradient(160deg,#e9f9e5,#fff);align-content:start;gap:10px;padding:18px;display:grid}.ket-part-list h1{color:#265e24;font-size:clamp(2rem,5vw,3.6rem)}.ket-test-switch{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:2px 0 8px;display:grid}.ket-test-button{color:#2c5f29;background:#fff;border:2px solid #d2e9ce;border-radius:14px;min-height:42px;font-weight:900}.ket-test-button--active{color:#fff;background:#65a65d;border-color:#65a65d;box-shadow:0 3px #377d32}.ket-part-button{color:#2c5f29;background:#fff;border:2px solid #d2e9ce;border-radius:16px;justify-content:space-between;align-items:center;gap:8px;min-height:58px;padding:0 14px;font-weight:850;display:flex}.ket-part-button--active{color:#fff;background:#377d32;border-color:#377d32}.ket-workspace{grid-template-columns:minmax(360px,1fr) minmax(300px,.52fr);gap:12px;padding:12px;display:grid;overflow:hidden}.ket-paper-panel,.ket-answer-panel{box-shadow:none;border:1px solid #e8efe4}.ket-paper-panel{grid-template-rows:auto minmax(0,1fr);min-height:0;padding:14px;display:grid;overflow:hidden}.ket-panel-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.ket-panel-heading h2{margin:0;font-size:clamp(1rem,2.6vw,1.3rem)}.ket-panel-heading audio{width:min(100%,320px)}.ket-page-stack{gap:12px;min-height:0;padding-right:4px;display:grid;overflow:auto}.ket-page-stack img{background:#fff;border:1px solid #e5e5e5;border-radius:14px;width:100%;height:auto}.ket-answer-panel{grid-template-rows:auto minmax(0,1fr) auto;gap:12px;min-height:0;padding:14px;display:grid;overflow:hidden}.ket-answer-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.ket-answer-heading h2{margin:0;font-size:1.2rem}.ket-answer-heading>strong{color:#fff;background:#377d32;border-radius:999px;padding:8px 12px}.ket-answer-list{gap:10px;min-height:0;padding-right:2px;display:grid;overflow:auto}.ket-answer-item{background:#fbfff9;border:2px solid #e1eadf;border-radius:16px;padding:12px}.ket-answer-item--correct{background:#f0ffe9;border-color:#78b96d}.ket-answer-item--wrong{background:#fff4ef;border-color:#efb19c}.ket-answer-title{justify-content:space-between;gap:10px;margin-bottom:10px;display:flex}.ket-answer-title span{color:#7d3a24;font-weight:850}.ket-choice-row{flex-wrap:wrap;gap:8px;display:flex}.ket-choice{color:#35632f;background:#e8f6e4;border:0;border-radius:13px;min-width:48px;min-height:42px;font-weight:900}.ket-choice--active{color:#fff;background:#377d32;box-shadow:0 3px #276223}.ket-explain-button{color:#fff;background:#a94e35;border:0;border-radius:12px;width:100%;min-height:38px;margin-top:10px;font-weight:850}.ket-explanation-modal{text-align:left;background:#fffdf8;border-radius:26px;width:min(94vw,980px);max-height:min(90dvh,720px);padding:clamp(18px,4vw,30px);overflow:auto;box-shadow:0 24px 90px #2a2038aa}.ket-explanation-body{gap:12px;display:grid}.ket-explanation-body p{color:#4f4951;margin:0;font-size:clamp(1rem,2.8vw,1.18rem);line-height:1.75}.ket-explanation-images{gap:10px;margin-top:8px;display:grid}.ket-explanation-images img{background:#fff;border:1px solid #eadfd6;border-radius:14px;width:100%;height:auto}.ket-check-button{width:100%}.practice-topbar{grid-template-columns:auto 1fr auto;align-items:center;gap:16px;display:grid}.practice-topbar>div{gap:7px;display:grid}.topbar-nav{align-items:center;gap:8px;display:flex!important}.practice-topbar-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex!important}.skip-exercises-button{color:#6750a4;white-space:nowrap;background:#eee8ff;border:0;border-radius:999px;min-height:38px;padding:0 13px;font-size:.86rem;font-weight:850}.skip-exercises-button:active{background:#ded2ff;transform:scale(.97)}.phase-label{color:#6750a4;letter-spacing:.08em;font-size:.78rem;font-weight:850}.icon-button{color:#514b55;background:#fff;border:0;border-radius:50%;width:48px;font-size:1.8rem}.progress-track{background:#e9e2ee;border-radius:999px;height:12px;overflow:hidden}.progress-track span{border-radius:inherit;background:#6750a4;height:100%;transition:width .25s;display:block}.question-card{text-align:center;background:#fff;border-radius:34px;width:min(100%,720px);margin:clamp(32px,8vh,76px) auto 0;padding:clamp(26px,6vw,54px);box-shadow:0 24px 70px #4a405018}.question-card h1{letter-spacing:-.06em;margin:18px 0;font-size:clamp(3rem,10vw,6rem)}.word-phonetic{color:#7a6b86;letter-spacing:.02em;margin:-6px 0 14px;font-size:clamp(1.05rem,3.6vw,1.45rem);font-weight:800}.exercise-card h2{margin:22px 0;font-size:clamp(1.5rem,5vw,2.5rem);line-height:1.35}.prompt-underlined{text-underline-offset:.18em;color:#4f2b83;font-weight:900;text-decoration:underline;text-decoration-thickness:.12em}.reading-passage{text-align:left;background:#f8f5ee;border-radius:20px;margin:22px 0;padding:clamp(18px,4vw,28px)}.reading-passage-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.reading-passage h3{color:#6750a4;margin:0;font-size:1.35rem}.reading-passage-heading button{color:#6750a4;white-space:nowrap;background:#e9e1fb;border:0;border-radius:999px;min-height:44px;padding:0 15px;font-weight:800}.reading-passage p{color:#4f4951;margin:0;font-size:1rem;line-height:1.9}.reading-passage-heading+p{margin-top:16px}.reading-passage mark{color:#57320d;-webkit-box-decoration-break:clone;box-decoration-break:clone;background:#ffd98c;border-radius:5px;padding:2px 4px}.reading-answer-panel{min-width:0}.reading-open-button{color:#fff;background:#6750a4;border:0;border-radius:999px;min-height:44px;padding:0 18px;font-weight:850;box-shadow:0 5px #4f3c7a}.reading-open-button:active{transform:translateY(2px);box-shadow:0 3px #4f3c7a}.reading-modal-backdrop{z-index:70;padding:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1f18267a;place-items:center;display:grid;position:fixed;inset:0}.reading-modal{text-align:left;background:#fffdf8;border-radius:26px;width:min(94vw,900px);max-height:min(88dvh,680px);padding:clamp(18px,4vw,30px);overflow:auto;box-shadow:0 24px 90px #2a2038aa}.reading-modal-heading{z-index:1;background:#fffdf8;border-bottom:1px solid #eee3d6;justify-content:space-between;align-items:center;gap:12px;margin:calc(-1*clamp(18px,4vw,30px)) calc(-1*clamp(18px,4vw,30px)) 18px;padding:clamp(14px,3vw,20px) clamp(18px,4vw,30px);display:flex;position:sticky;top:0}.reading-modal h2{color:#6750a4;margin:0;font-size:clamp(1.35rem,4vw,2rem)}.reading-modal-heading button{color:#6750a4;background:#eee8ff;border:0;border-radius:999px;width:44px;min-width:44px;height:44px;font-size:1.6rem;font-weight:900}.reading-modal p{color:#4f4951;margin:0 0 20px;font-size:clamp(1rem,3vw,1.25rem);line-height:1.9}.reading-modal mark{color:#57320d;-webkit-box-decoration-break:clone;box-decoration-break:clone;background:#ffd98c;border-radius:5px;padding:2px 4px}.choice-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:28px;display:grid}.choice-grid button{color:#413a47;background:#fff;border:2px solid #ded5e7;border-radius:17px;min-height:58px;font-weight:750}.choice-grid button:active{background:#eee8ff;border-color:#6750a4;transform:scale(.98)}.word-bank{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.word-bank-panel{gap:12px;margin-top:18px;display:grid}.word-bank-panel>p{color:#6750a4;letter-spacing:.04em;margin:0;font-size:.9rem;font-weight:850}.word-bank span{color:#6750a4;background:#eee8ff;border-radius:999px;padding:8px 13px;font-weight:750}.word-bank button{color:#6750a4;background:#eee8ff;border:0;border-radius:999px;min-height:42px;padding:8px 13px;font-weight:750}.speak-button{color:#6750a4;background:#eee8ff;border:0;border-radius:999px;padding:0 20px;font-weight:750;transition:transform .16s,background-color .16s;position:relative}.sound-icon{place-items:center;width:24px;height:24px;margin-right:6px;display:inline-grid;position:relative}.sound-wave{opacity:0;pointer-events:none;border:2px solid #8069b7;border-radius:50%;width:24px;height:24px;position:absolute;inset:50%;transform:translate(-50%,-50%)scale(.45)}.sound-wave--two{animation-delay:.14s}.speak-button--playing{background:#ded2ff;animation:.6s both speak-pop}.speak-button--playing .sound-wave{animation:.58s ease-out both sound-wave}.speak-status{color:#8a3b2b;margin:10px 0 0;font-size:.9rem;font-weight:750}@keyframes speak-pop{0%{transform:scale(1)}24%{transform:scale(.91)}52%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes sound-wave{0%{opacity:.7;transform:translate(-50%,-50%)scale(.45)}to{opacity:0;transform:translate(-50%,-50%)scale(2.2)}}.feedback{text-align:left;overflow-wrap:anywhere;word-break:break-word;border-radius:16px;gap:5px;min-width:0;margin:24px 0 0;padding:16px;display:grid}.feedback--wrong{color:#7a321e;background:#fff0e9}.spelling-dialog-backdrop{z-index:50;padding:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1f18266b;place-items:center;display:grid;position:fixed;inset:0}.spelling-dialog{text-align:center;background:#fff;border-radius:24px;width:min(92vw,460px);max-height:min(86dvh,360px);padding:clamp(18px,4vw,28px);overflow:auto;box-shadow:0 24px 80px #2a2038aa}.spelling-dialog h2{letter-spacing:-.04em;margin:0;font-size:clamp(1.7rem,5vw,2.4rem)}.spelling-dialog-answers{text-align:left;gap:8px;margin:16px 0 18px;display:grid}.spelling-dialog-answers p{color:#5b5360;overflow-wrap:anywhere;word-break:break-word;background:#f8f4fb;border-radius:14px;margin:0;padding:12px 14px}.spelling-dialog-answers b{color:#9b3d23}.spelling-dialog-answers strong{color:#6750a4;letter-spacing:.05em;overflow-wrap:anywhere;word-break:break-word;font-size:1.35rem}.spelling-dialog-hint{color:#4d5e74!important;background:#eef7ff!important}.spelling-dialog button{color:#fff;background:#6750a4;border:0;border-radius:15px;width:100%;min-height:50px;font-weight:850}.answer-form{text-align:left;gap:12px;margin-top:30px;display:grid}.answer-form label{color:#6a636c;font-size:.9rem;font-weight:750}.answer-form input{border:2px solid #ded5e7;border-radius:17px;outline:0;width:100%;height:62px;padding:0 18px;font-size:1.35rem}.answer-form input:focus{border-color:#6750a4;box-shadow:0 0 0 4px #6750a419}.answer-form button,.primary-button{color:#fff;background:#6750a4;border:0;border-radius:17px;min-height:56px;font-weight:800}.answer-form button:disabled{opacity:.42}.virtual-keyboard{text-align:left;gap:12px;margin-top:30px;display:grid}.virtual-answer{color:#2f2934;letter-spacing:.08em;overflow-wrap:anywhere;-webkit-user-select:none;user-select:none;background:#fff;border:2px solid #ded5e7;border-radius:17px;align-items:center;min-height:62px;padding:0 18px;font-size:1.45rem;font-weight:850;display:flex}.virtual-answer span{color:#9a929d;letter-spacing:0;font-size:1rem;font-weight:650}.virtual-letters{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;display:grid}.virtual-letters button,.virtual-qwerty-row button,.virtual-actions button{touch-action:manipulation;border:0;border-radius:13px;font-weight:850}.virtual-letters button{color:#4f3c76;background:#eee8ff;min-height:46px}.virtual-qwerty{gap:8px;display:grid}.virtual-qwerty-row{justify-content:center;gap:7px;display:flex}.virtual-qwerty-row button{color:#4f3c76;background:#eee8ff;flex:0 56px;min-width:42px;min-height:48px;box-shadow:0 3px #d6c9f1}.virtual-letters button:active,.virtual-qwerty-row button:active,.virtual-actions button:active{transform:scale(.96)}.virtual-actions{grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:8px;display:grid}.virtual-actions button{color:#6750a4;background:#f1ecff;min-height:52px}.virtual-actions .virtual-submit{color:#fff;background:#6750a4}.virtual-keyboard button:disabled{cursor:not-allowed;opacity:.42}.result-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:min(100%,680px);margin:0 auto;display:flex}.result-star{color:#fff;background:#ff9a3c;border-radius:50%;place-items:center;width:96px;height:96px;margin-bottom:24px;font-size:3rem;display:grid;box-shadow:0 18px 45px #ff9a3c44}.result-screen h1{margin:5px 0 28px}.result-stats{grid-template-columns:1fr 1fr;gap:14px;width:100%;margin-bottom:28px;display:grid}.result-stats div{background:#fff;border-radius:22px;gap:5px;padding:22px;display:grid}.result-stats strong{font-size:2rem}.result-stats span{color:#746d76}.primary-button{width:min(100%,360px)}.text-button{color:#6750a4;background:0 0;border:0;margin-top:10px;font-weight:750}.mistake-review{text-align:left;background:#fff;border-radius:26px;width:100%;margin:0 0 28px;padding:clamp(20px,4vw,30px)}.mistake-heading,.mistake-item-title{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.mistake-heading h2{margin:0}.mistake-heading>span{color:#7a321e;background:#fff0e9;border-radius:999px;padding:7px 11px;font-weight:800}.mistake-group{margin-top:24px}.mistake-group h3{color:#6750a4}.mistake-item{background:#fffcf9;border:1px solid #eee5e0;border-radius:16px;margin-top:10px;padding:16px}.mistake-item-title span{white-space:nowrap;color:#a3472c;font-size:.82rem;font-weight:800}.mistake-item p{color:#5e5760;margin:9px 0 0}.mistake-item blockquote,.evidence{color:#51465e;background:#f1ecff;border-left:4px solid #6750a4;border-radius:8px;margin:12px 0 0;padding:12px 14px;line-height:1.6}.all-correct{color:#2d6847;text-align:center;background:#eaf8ef;border-radius:16px;margin:20px 0 0;padding:18px;font-weight:750}.parent-screen,.parent-dashboard{min-height:100vh;padding:28px 0 calc(40px + env(safe-area-inset-bottom))}.parent-screen{align-content:start;justify-items:center;gap:18px;display:grid}.parent-screen>.icon-button{justify-self:start}.parent-card{background:#fff;border-radius:28px;width:min(100%,560px);padding:clamp(24px,5vw,42px);box-shadow:0 24px 70px #3b27451a}.parent-card h1,.parent-dashboard h1{margin:0}.parent-form{gap:16px;margin-top:24px;display:grid}.parent-form label{color:#5f5762;gap:7px;font-weight:750;display:grid}.parent-form input,.parent-form select{color:#302a34;width:100%;min-height:48px;font:inherit;background:#fff;border:1px solid #d9cfdf;border-radius:13px;padding:0 14px}.parent-form .primary-button{width:100%}.parent-error{color:#902f25;background:#ffebe7;border-radius:12px;margin:0;padding:11px 13px;font-weight:700}.recovery-question{color:#554669;background:#f1ecff;border-radius:14px;margin:0;padding:16px;font-weight:800}.parent-dashboard-header{justify-content:space-between;align-items:center;gap:20px;display:flex}.parent-dashboard-header>button,.parent-section button{color:#fff;background:#6750a4;border:0;border-radius:14px;padding:0 18px;font-weight:800}.parent-notice{color:#5d4b24;background:#fff2cd;border-radius:13px;padding:12px 15px;font-weight:750}.parent-section{background:#fff;border:1px solid #eee5e0;border-radius:24px;margin-top:20px;padding:clamp(20px,4vw,30px)}.parent-section h2{margin:0 0 10px}.parent-empty{color:#716a73;text-align:center;background:#f8f4f8;border-radius:14px;padding:22px}.stats-periods{gap:14px;margin-top:18px;display:grid}.stats-period{background:#f8f5fb;border-radius:17px;padding:16px}.stats-period h3{color:#6750a4;margin:0 0 12px}.stats-mode-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.stats-mode{background:#fff;border-radius:12px;gap:3px;min-width:0;padding:11px;display:grid}.stats-mode span{color:#746d76;font-size:.8rem}.stats-mode b{color:#6750a4;font-size:1.15rem}.top-mistakes{margin-top:24px}.top-mistakes article{border-top:1px solid #eee6e9;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;display:flex}.top-mistakes article div{gap:3px;display:grid}.top-mistakes article span{color:#746d76;font-size:.82rem}.top-mistakes article b{color:#a24731;white-space:nowrap}.parent-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.parent-actions .primary-button{width:auto}.parent-pin-change{grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end}@media (width<=680px){.challenge-lobby,.listening-lobby,.practice-setup{grid-template-rows:auto;grid-template-columns:1fr}.challenge-lobby-top,.challenge-lobby-hero,.challenge-lobby-levels,.listening-hero,.listening-unit-picker,.practice-setup-hero,.practice-setup-picker,.challenge-lobby-side{grid-column:auto}.range-picker{grid-template-columns:1fr}.range-picker fieldset{padding:16px}.mistake-bank-heading,.mistake-word-list article{flex-direction:column;align-items:stretch}.mistake-bank-heading .primary-button{width:100%}.mistake-word-list article>div:last-child{text-align:left}.app-shell{width:min(100% - 24px,1040px)}.welcome{grid-template-columns:1fr;padding-top:34px}.welcome-title-row h1{padding-right:90px}h1{overflow-wrap:anywhere;font-size:clamp(2.15rem,10vw,2.7rem)}.streak{width:78px}.streak strong{font-size:1.45rem}.streak small{font-size:.68rem}.actions{grid-template-columns:1fr}.action-card{border-radius:26px;min-height:260px}.today{align-items:flex-start}.ios-install-hint{flex-direction:column;align-items:stretch}.ios-install-dismiss{width:100%}.parent-dashboard-header{flex-direction:column;align-items:stretch}.stats-mode-grid,.parent-pin-change{grid-template-columns:1fr}.practice-setup-summary{flex-direction:column;align-items:stretch}.practice-setup-summary .primary-button{width:100%}.ket-screen{grid-template-rows:auto;grid-template-columns:1fr}.ket-screen .challenge-lobby-top,.ket-part-list,.ket-workspace{grid-column:auto}.ket-workspace{grid-template-columns:1fr;overflow:visible}.ket-answer-panel{max-height:none}.practice-screen,.result-screen{padding-top:18px}.question-card{border-radius:26px}.choice-grid{grid-template-columns:1fr}.virtual-letters{grid-template-columns:repeat(6,minmax(0,1fr))}.virtual-actions{grid-template-columns:1fr}}@media (orientation:landscape) and (height<=520px){.challenge-screen{padding-top:14px}.challenge-topbar{gap:10px}.challenge-card--landscape{grid-template-columns:minmax(220px,.75fr) minmax(460px,1.25fr);gap:24px;margin-top:14px;padding:clamp(18px,4vh,28px)}.challenge-card--landscape h1{margin:10px 0;font-size:clamp(2.4rem,15vh,4.2rem)}.virtual-answer{min-height:50px;font-size:1.25rem}.virtual-qwerty{gap:6px}.virtual-qwerty-row button{flex-basis:52px;min-height:42px}.virtual-actions button{min-height:46px}}@media (width<=760px) and (orientation:portrait){.challenge-card--landscape{text-align:center;grid-template-columns:1fr}.challenge-keyboard-panel .virtual-keyboard{margin-top:20px}.virtual-qwerty-row button{flex-basis:42px;min-width:0}}@media (width>=720px){.unit-picker-layout{grid-template-columns:minmax(132px,.28fr) 1fr;align-items:start;gap:18px}.book-tabs{grid-template-columns:1fr}.unit-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.book-tab{min-height:48px}.unit-choice{min-height:72px;padding-inline:10px}.unit-choice span{font-size:.8rem}}@media (prefers-reduced-motion:no-preference){.action-card{transition:transform .2s,box-shadow .2s}.action-card:hover{transform:translateY(-3px);box-shadow:0 22px 55px #493e5618}}@media (prefers-reduced-motion:reduce){.speak-button--playing{background:#ded2ff;animation:none}.speak-button--playing .sound-wave{animation:none}}.license-summary,.license-device{background:#fff;border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:18px 0;padding:18px;display:flex}.license-summary span,.license-device span{color:#667085}.license-panel{max-width:720px;margin:auto;padding:24px}.license-panel>p{line-height:1.7}.license-device{margin:24px 0}.license-device strong{overflow-wrap:anywhere;font-family:monospace}.license-panel label{gap:8px;font-weight:700;display:grid}.license-panel textarea{box-sizing:border-box;width:100%;font:inherit;resize:vertical;border:1px solid #d0d5dd;border-radius:12px;padding:12px}.license-active{color:#16794b;font-weight:700}.best-scores{background:#fff8df;border:2px solid #ffd66b;border-radius:18px;margin:18px 0;padding:16px 18px}.best-scores h2{margin:0 0 10px}.best-scores ol{gap:8px;margin:0;padding:0;list-style:none;display:grid}.best-scores li{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;display:grid}.best-scores li b{color:#7a45d1}.best-scores li span{color:#667085;font-size:.9rem}.new-record{color:#d46b00;font-size:1.2rem;font-weight:800}.challenge-lobby-side .best-scores{margin:0}.challenge-lobby-side .mistake-bank-entry{margin-top:0}@media (orientation:landscape) and (height<=560px){.app-shell{width:min(100% - 14px,1180px);padding-top:0;padding-bottom:0}.practice-screen--landscape,.challenge-screen--landscape{flex-direction:column;height:100dvh;min-height:0;padding:7px 0;display:flex;overflow:hidden}.practice-screen--landscape{overscroll-behavior:none;touch-action:none;width:100vw;height:100dvh;padding:7px 8px;position:fixed;inset:0}.practice-screen--landscape button,.practice-screen--landscape .reading-passage,.practice-screen--landscape .reading-answer-panel,.practice-screen--landscape .reading-modal,.practice-screen--landscape .spelling-dialog{touch-action:manipulation}.challenge-lobby{grid-template-columns:minmax(170px,.62fr) minmax(340px,1.2fr) minmax(210px,.76fr);gap:8px;height:100dvh;min-height:0;padding:7px 0;overflow:hidden}.listening-lobby{grid-template-columns:minmax(230px,.82fr) minmax(480px,1.18fr);gap:8px;height:100dvh;min-height:0;padding:7px 0;overflow:hidden}.challenge-lobby-top{gap:8px}.challenge-lobby-top .icon-button{width:38px;min-height:38px}.challenge-lobby-top strong{font-size:clamp(1.05rem,4.4vh,1.35rem)}.challenge-lobby-top span{padding:6px 10px;font-size:.8rem}.challenge-lobby-hero,.challenge-lobby-levels,.listening-hero,.listening-unit-picker,.challenge-lobby-side{border-radius:20px;padding:11px 12px;overflow:hidden}.challenge-lobby-hero{gap:6px}.challenge-lobby-hero h1{font-size:clamp(1.7rem,9.5vh,2.6rem)}.challenge-lobby-hero p:not(.kicker){font-size:.88rem;line-height:1.38}.listening-hero h1{font-size:clamp(1.8rem,10vh,2.8rem)}.listening-unit-picker{grid-template-rows:auto minmax(0,1fr) auto;min-height:0;display:grid}.listening-unit-picker .unit-picker-layout{grid-template-columns:1fr;gap:6px;margin-top:6px}.listening-unit-picker .book-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.listening-unit-picker .unit-grid{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;grid-template-columns:repeat(6,minmax(0,1fr));max-height:none;overflow:auto}.listening-unit-picker .unit-choice{min-height:46px}.listening-unit-picker .unit-choice span{display:none}.listening-start-button{align-self:end;min-height:42px;margin-top:8px}.challenge-lobby-levels h2{margin-bottom:7px;font-size:clamp(.95rem,3.8vh,1.1rem)}.challenge-lobby .level-grid{gap:8px;margin-top:0}.challenge-lobby .level-grid button{border-radius:16px;gap:3px;min-height:58px;padding:10px 12px}.challenge-lobby .level-grid strong{font-size:clamp(1rem,4.1vh,1.18rem)}.challenge-lobby .level-grid span{font-size:clamp(.72rem,3.1vh,.86rem);line-height:1.25}.challenge-lobby-side{gap:8px}.challenge-lobby-side .best-scores{border-radius:16px;padding:10px 12px}.challenge-lobby-side .best-scores h2{margin-bottom:6px;font-size:1rem}.challenge-lobby-side .best-scores p{margin:0;font-size:.82rem;line-height:1.3}.challenge-lobby-side .best-scores ol{gap:5px}.challenge-lobby-side .best-scores li{grid-template-columns:auto 1fr;gap:4px 8px;font-size:.82rem}.challenge-lobby-side .best-scores li span{grid-column:2;font-size:.72rem}.challenge-lobby-side .mistake-bank-entry{border-radius:16px;gap:8px;padding:10px 12px}.challenge-lobby-side .mistake-bank-entry strong{font-size:.92rem}.challenge-lobby-side .mistake-bank-entry small{font-size:.72rem;line-height:1.2}.challenge-lobby-side .mistake-bank-entry b{padding:6px 9px;font-size:.82rem}.practice-topbar,.challenge-topbar{flex:none;gap:8px}.practice-topbar>div{gap:4px}.topbar-nav{gap:5px}.practice-topbar-actions{gap:6px}.skip-exercises-button{min-height:32px;padding:0 9px;font-size:.72rem}.icon-button{width:40px;min-height:40px;font-size:1.45rem}.progress-track{height:8px}.phase-label,.kicker{margin-bottom:6px;font-size:.68rem}.practice-screen--landscape .question-card,.challenge-card--landscape{border-radius:22px;flex:auto;min-height:0;max-height:calc(100dvh - 58px);margin:7px auto 0;padding:12px 14px;overflow:hidden}.practice-screen--landscape .question-card:has(.virtual-keyboard){text-align:center;grid-template-columns:minmax(210px,.72fr) minmax(430px,1.28fr);grid-auto-rows:min-content;align-items:center;column-gap:18px;width:min(100%,1120px);display:grid}.practice-screen--landscape .question-card:has(.virtual-keyboard)>.kicker{grid-column:1}.practice-screen--landscape .question-card:has(.virtual-keyboard)>h1{grid-column:1}.practice-screen--landscape .question-card:has(.virtual-keyboard)>.speak-button{grid-column:1}.practice-screen--landscape .question-card:has(.virtual-keyboard)>.feedback{grid-column:1;align-self:start;margin-top:8px;padding:8px 10px}.practice-screen--landscape .question-card:has(.virtual-keyboard)>.virtual-keyboard{grid-area:1/2/span 4;margin-top:0}.practice-screen--landscape .question-card h1,.challenge-card--landscape h1{margin:8px 0;font-size:clamp(2.15rem,14vh,3.9rem);line-height:1}.challenge-card--landscape{grid-template-columns:minmax(210px,.72fr) minmax(430px,1.28fr);gap:18px}.challenge-prompt-panel .speak-button{margin-top:4px}.virtual-keyboard{gap:7px}.virtual-answer{border-radius:13px;min-height:42px;padding:0 12px;font-size:1.16rem}.virtual-answer span{font-size:.88rem}.virtual-qwerty,.virtual-qwerty-row{gap:5px}.virtual-qwerty-row button{border-radius:10px;flex-basis:43px;min-width:32px;min-height:36px;box-shadow:0 2px #d6c9f1}.virtual-actions{gap:6px}.virtual-actions button{border-radius:11px;min-height:38px}.feedback{margin-top:8px;padding:10px 12px;font-size:.9rem}.feedback span,.feedback b{overflow-wrap:anywhere;word-break:break-word;min-width:0}.feedback button{min-height:38px;margin-top:6px}.speak-button{min-height:38px;padding:0 14px}.practice-screen--landscape .exercise-card{text-align:center;touch-action:pan-y;-webkit-overflow-scrolling:touch;width:min(100%,1040px);overflow:auto}.practice-screen--landscape .exercise-card h2{margin:10px 0;font-size:clamp(1.15rem,5vh,1.8rem);line-height:1.22}.practice-screen--landscape .exercise-card--word-bank-fill{text-align:left;grid-template-columns:minmax(260px,.95fr) minmax(360px,1.05fr);grid-auto-rows:min-content;align-content:center;align-items:center;column-gap:20px;display:grid;overflow:hidden}.practice-screen--landscape .exercise-card--word-bank-fill>.kicker,.practice-screen--landscape .exercise-card--word-bank-fill>h2,.practice-screen--landscape .exercise-card--word-bank-fill>.reading-passage{grid-column:1}.practice-screen--landscape .exercise-card--word-bank-fill>h2{margin:12px 0 0;font-size:clamp(1.65rem,7.6vh,2.55rem);line-height:1.18}.practice-screen--landscape .exercise-card--word-bank-fill>.word-bank-panel{background:#f8f5ff;border-radius:20px;grid-area:1/2/span 3;margin-top:0;padding:16px}.practice-screen--landscape .exercise-card--word-bank-fill .word-bank{justify-content:flex-start;gap:9px}.practice-screen--landscape .exercise-card--word-bank-fill .word-bank button{border-radius:999px;min-height:42px;padding:7px 14px;font-size:clamp(.95rem,4vh,1.1rem);box-shadow:0 3px #d8cdf2}.practice-screen--landscape .exercise-card--word-bank-fill>.feedback{grid-column:1/-1}.practice-screen--landscape .exercise-card--word-bank-fill:has(.reading-passage){touch-action:pan-y;-webkit-overflow-scrolling:touch;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);align-content:start;align-items:start;overflow:hidden auto}.practice-screen--landscape .exercise-card--word-bank-fill:has(.reading-passage)>.kicker{grid-column:1/-1}.practice-screen--landscape .exercise-card--word-bank-fill:has(.reading-passage)>.reading-passage{grid-area:2/1/span 5;align-self:stretch;max-height:calc(100dvh - 128px);margin:0}.practice-screen--landscape .exercise-card--word-bank-fill:has(.reading-passage)>.reading-open-button{grid-column:2}.practice-screen--landscape .exercise-card--word-bank-fill:has(.reading-passage)>h2{grid-column:2}.practice-screen--landscape .exercise-card--word-bank-fill:has(.reading-passage)>.word-bank-panel{grid-column:2}.practice-screen--landscape .exercise-card--word-bank-fill:has(.reading-passage)>.feedback{grid-column:2}.practice-screen--landscape .exercise-card--word-bank-fill:has(.reading-passage)>h2{margin:8px 0 0;font-size:clamp(1.25rem,5.4vh,1.85rem)}.practice-screen--landscape .exercise-card--word-bank-fill:has(.reading-passage)>.word-bank-panel{grid-row:auto;margin-top:10px}.practice-screen--landscape .exercise-card--word-bank-fill:has(.reading-passage)>.feedback{max-height:none;margin-top:10px}.practice-screen--landscape .reading-passage{border-radius:14px;max-height:34dvh;margin:8px 0;padding:10px 12px;overflow:auto}.practice-screen--landscape .reading-passage h3{font-size:1.02rem}.practice-screen--landscape .reading-passage p{font-size:.88rem;line-height:1.55}.practice-screen--landscape .reading-passage-heading button{min-height:34px;padding:0 10px}.practice-screen--landscape .exercise-card:has(.reading-passage):not(.exercise-card--word-bank-fill){text-align:left;grid-template-columns:minmax(340px,1fr) minmax(280px,.86fr);grid-auto-rows:min-content;align-items:start;column-gap:16px;display:grid;overflow:hidden}.practice-screen--landscape .exercise-card:has(.reading-passage):not(.exercise-card--word-bank-fill)>.kicker{grid-column:1/-1}.practice-screen--landscape .exercise-card:has(.reading-passage):not(.exercise-card--word-bank-fill)>.reading-passage{grid-area:2/1/span 4;max-height:calc(100dvh - 128px);margin:0}.practice-screen--landscape .exercise-card:has(.reading-passage):not(.exercise-card--word-bank-fill)>.reading-answer-panel{grid-column:2;max-height:calc(100dvh - 128px);padding-right:4px;overflow:auto}.practice-screen--landscape .reading-answer-panel>h2{margin:8px 0 10px}.practice-screen--landscape .reading-answer-panel .feedback,.practice-screen--landscape .reading-answer-panel .choice-grid{margin-top:8px}.practice-screen--landscape .reading-open-button{min-height:38px;padding:0 14px;font-size:.95rem}.practice-screen--landscape .reading-modal{width:min(92vw,980px);max-height:86dvh;padding:18px 22px}.practice-screen--landscape .reading-modal-heading{margin:-18px -22px 12px;padding:10px 22px}.practice-screen--landscape .reading-modal p{font-size:1rem;line-height:1.65}.practice-screen--landscape .choice-grid{gap:8px;margin-top:10px}.practice-screen--landscape .choice-grid button{border-radius:12px;min-height:42px}.practice-screen--landscape .word-bank{gap:6px}.practice-screen--landscape .word-bank button{min-height:34px;padding:6px 11px}.practice-screen--landscape .answer-form{gap:7px;margin-top:10px}.practice-screen--landscape .answer-form input{border-radius:12px;height:42px;font-size:1.05rem}.practice-screen--landscape .answer-form button{border-radius:12px;min-height:42px}.challenge-keyboard-panel .feedback{max-height:32dvh;line-height:1.25;overflow:auto;box-shadow:inset 0 0 0 1px #ffd7c8}.practice-screen--landscape .question-card:has(.virtual-keyboard)>.feedback{max-height:32dvh;line-height:1.25;overflow:auto;box-shadow:inset 0 0 0 1px #ffd7c8}.challenge-keyboard-panel .feedback strong{font-size:.92rem}.practice-screen--landscape .question-card:has(.virtual-keyboard)>.feedback strong{font-size:.92rem}.challenge-keyboard-panel .feedback span{display:block}.practice-screen--landscape .question-card:has(.virtual-keyboard)>.feedback span{display:block}.challenge-keyboard-panel:has(.feedback) .virtual-keyboard{gap:5px}.challenge-keyboard-panel:has(.feedback) .virtual-answer{min-height:38px;font-size:1.08rem}.challenge-keyboard-panel:has(.feedback) .virtual-qwerty{gap:4px}.challenge-keyboard-panel:has(.feedback) .virtual-qwerty-row{gap:4px}.challenge-keyboard-panel:has(.feedback) .virtual-qwerty-row button{flex-basis:40px;min-height:31px;font-size:.86rem}.challenge-keyboard-panel:has(.feedback) .virtual-actions button{min-height:32px}.challenge-keyboard-panel .feedback button{width:100%}}@media (orientation:landscape) and (height<=390px){.listening-lobby{grid-template-columns:minmax(190px,.58fr) minmax(500px,1.42fr)}.listening-hero{gap:4px}.listening-hero h1{font-size:clamp(1.55rem,9vh,2.2rem)}.listening-hero p:not(.kicker){font-size:.78rem;line-height:1.25}.listening-unit-picker{padding:8px 10px}.listening-unit-picker h2{font-size:1.05rem}.listening-unit-picker .unit-picker-layout{grid-template-columns:1fr;gap:5px}.listening-unit-picker .book-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.listening-unit-picker .book-tab{min-height:36px;padding:6px 4px;font-size:.78rem}.listening-unit-picker .unit-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.listening-unit-picker .unit-choice{border-radius:10px;min-height:34px;padding:4px}.listening-unit-picker .unit-choice strong{font-size:.75rem}.listening-start-button{border-radius:12px;min-height:36px;margin-top:5px}.practice-screen--landscape .question-card,.challenge-card--landscape{max-height:calc(100dvh - 48px);margin-top:5px;padding:9px 12px}.challenge-card--landscape{grid-template-columns:minmax(180px,.64fr) minmax(400px,1.36fr);gap:14px}.practice-screen--landscape .question-card:has(.virtual-keyboard){grid-template-columns:minmax(180px,.64fr) minmax(400px,1.36fr);gap:14px}.practice-screen--landscape .question-card h1,.challenge-card--landscape h1{font-size:clamp(1.8rem,13vh,3rem)}.virtual-qwerty-row button{flex-basis:39px;min-height:32px;font-size:.9rem}.virtual-answer{min-height:38px}.virtual-actions button{min-height:34px}.challenge-keyboard-panel .feedback{max-height:28dvh;padding:6px 8px;font-size:.78rem}.practice-screen--landscape .question-card:has(.virtual-keyboard)>.feedback{max-height:28dvh;padding:6px 8px;font-size:.78rem}.challenge-keyboard-panel:has(.feedback) .virtual-qwerty-row button{flex-basis:36px;min-height:28px}}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}img,video,canvas,audio,button,select,textarea,input{max-width:100%}.app-shell,.practice-screen,.challenge-screen,.parent-screen,.parent-dashboard,.ket-screen{padding-left:max(0px, env(safe-area-inset-left));padding-right:max(0px, env(safe-area-inset-right))}.action-card,.challenge-lobby-hero,.challenge-lobby-levels,.challenge-lobby-side,.listening-hero,.listening-unit-picker,.practice-setup-hero,.practice-setup-picker,.ket-part-list,.ket-workspace,.ket-paper-panel,.ket-answer-panel,.question-card,.exercise-card,.parent-card,.parent-panel{min-width:0}.action-card p,.challenge-lobby p,.listening-lobby p,.practice-setup p,.ket-answer-title,.ket-panel-heading h2,.feedback,.welcome-copy{overflow-wrap:anywhere}@media (width<=1180px){.app-shell{width:min(100% - 20px,1040px)}.actions{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}.action-card{min-height:0;padding:clamp(20px,3.5vw,32px)}.challenge-lobby{grid-template-columns:minmax(180px,.75fr) minmax(280px,1fr)}.challenge-lobby-side{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));align-content:stretch}.listening-lobby,.practice-setup{grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr)}.ket-screen{grid-template-columns:minmax(150px,.28fr) minmax(0,1fr)}.ket-workspace{grid-template-columns:minmax(0,1.05fr) minmax(260px,.65fr)}}@media (width<=820px){.app-shell{width:min(100% - 16px,1040px);padding-bottom:calc(18px + env(safe-area-inset-bottom))}.topbar{min-height:62px}.brand{gap:8px}.brand-mark{border-radius:12px;width:36px;height:36px}.parent-entry{min-height:40px;padding:0 13px;font-size:.9rem}.welcome{padding:24px 0 18px}.welcome-title-row h1{padding-right:82px}.welcome-copy{margin-bottom:0}.streak{width:72px}.streak strong{font-size:1.35rem}.actions{gap:12px}.action-card{border-radius:22px}.action-card h2{font-size:clamp(1.45rem,7vw,2.25rem)}.challenge-lobby,.listening-lobby,.practice-setup,.ket-screen{min-height:auto;padding-top:12px;padding-bottom:calc(18px + env(safe-area-inset-bottom));grid-template-rows:auto;grid-template-columns:1fr;gap:12px;overflow:visible}.challenge-lobby-top,.listening-lobby .challenge-lobby-top,.practice-setup .challenge-lobby-top,.ket-screen .challenge-lobby-top,.challenge-lobby-hero,.challenge-lobby-levels,.challenge-lobby-side,.listening-hero,.listening-unit-picker,.practice-setup-hero,.practice-setup-picker,.ket-part-list,.ket-workspace{grid-column:auto}.challenge-lobby-hero,.challenge-lobby-levels,.challenge-lobby-side,.listening-hero,.listening-unit-picker,.practice-setup-hero,.practice-setup-picker,.ket-part-list,.ket-workspace{border-radius:22px;padding:clamp(14px,4vw,20px)}.level-grid,.range-picker,.range-picker fieldset,.ket-workspace{grid-template-columns:1fr}.level-grid{gap:10px;margin-top:14px}.level-grid button{border-radius:18px;min-height:82px;padding:16px}.book-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.unit-grid,.listening-unit-picker .unit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.practice-setup-summary,.mistake-bank-entry,.mistake-bank-heading,.today{flex-direction:column;align-items:stretch}.practice-setup-summary .primary-button,.mistake-bank-heading .primary-button{width:100%}.ket-part-list h1,.listening-hero h1,.practice-setup-hero h1,.challenge-lobby-hero h1{font-size:clamp(1.8rem,9vw,3rem)}.ket-part-list{grid-template-columns:1fr;display:grid}.ket-test-switch{grid-template-columns:repeat(4,minmax(0,1fr))}.ket-workspace,.ket-paper-panel,.ket-answer-panel{overflow:visible}.ket-page-stack{-webkit-overflow-scrolling:touch;max-height:58dvh;overflow:auto}.ket-answer-list{max-height:none;overflow:visible}.ket-panel-heading{flex-direction:column;align-items:stretch}.ket-panel-heading audio{width:100%}}@media (width<=390px){.app-shell{width:min(100% - 12px,1040px)}.welcome-title-row h1{padding-right:0}.welcome-title-row .streak{aspect-ratio:auto;border-radius:18px;gap:8px;width:100%;min-height:54px;margin-top:12px;display:flex;position:static;transform:none}.action-card{padding:18px}.book-tab{font-size:.78rem}.unit-grid,.listening-unit-picker .unit-grid,.ket-test-switch{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-grid,.result-stats{grid-template-columns:1fr}}@media (orientation:landscape) and (height<=620px){body,html{overflow-y:auto}.app-shell{width:min(100% - 12px,1180px);padding-top:max(0px, env(safe-area-inset-top));padding-bottom:max(8px, env(safe-area-inset-bottom))}.practice-screen--landscape,.challenge-screen--landscape{touch-action:pan-y;height:auto;min-height:100dvh;position:static;overflow:visible}.practice-screen--landscape{width:100%;padding:8px 0 calc(10px + env(safe-area-inset-bottom));overscroll-behavior:auto}.challenge-lobby,.listening-lobby{height:auto;min-height:100dvh;overflow:visible}.challenge-lobby-hero,.challenge-lobby-levels,.listening-hero,.listening-unit-picker,.challenge-lobby-side{overflow:visible}.practice-screen--landscape .question-card,.challenge-card--landscape{max-height:none;overflow:visible}.challenge-card--landscape{grid-template-columns:minmax(180px,.7fr) minmax(360px,1.3fr)}.practice-screen--landscape .question-card:has(.virtual-keyboard){grid-template-columns:minmax(180px,.7fr) minmax(360px,1.3fr)}.practice-screen--landscape .exercise-card{max-height:none;overflow:visible}}@media (orientation:landscape) and (height<=430px){.topbar,.challenge-lobby-top,.practice-topbar,.challenge-topbar{min-height:0}.challenge-lobby,.listening-lobby,.practice-setup,.ket-screen{grid-template-columns:1fr;height:auto;overflow:visible}.challenge-lobby-side{grid-template-columns:1fr}.listening-hero,.practice-setup-hero,.challenge-lobby-hero{display:none}.challenge-card--landscape,.practice-screen--landscape .exercise-card--word-bank-fill{text-align:center;grid-template-columns:1fr;overflow:visible}.practice-screen--landscape .question-card:has(.virtual-keyboard){text-align:center;grid-template-columns:1fr;overflow:visible}.practice-screen--landscape .exercise-card:has(.reading-passage):not(.exercise-card--word-bank-fill){text-align:center;grid-template-columns:1fr;overflow:visible}.practice-screen--landscape .exercise-card--word-bank-fill:has(.reading-passage){text-align:center;grid-template-columns:1fr;overflow:visible}.practice-screen--landscape .exercise-card--word-bank-fill>.kicker,.practice-screen--landscape .exercise-card--word-bank-fill>h2,.practice-screen--landscape .exercise-card--word-bank-fill>.reading-passage,.practice-screen--landscape .exercise-card--word-bank-fill>.word-bank-panel,.practice-screen--landscape .exercise-card--word-bank-fill>.feedback{grid-area:auto/1}.practice-screen--landscape .question-card:has(.virtual-keyboard)>.kicker{grid-area:auto/1}.practice-screen--landscape .question-card:has(.virtual-keyboard)>h1{grid-area:auto/1}.practice-screen--landscape .question-card:has(.virtual-keyboard)>.speak-button{grid-area:auto/1}.practice-screen--landscape .question-card:has(.virtual-keyboard)>.feedback{grid-area:auto/1}.practice-screen--landscape .question-card:has(.virtual-keyboard)>.virtual-keyboard{grid-area:auto/1}.challenge-card--landscape{gap:10px}.virtual-qwerty-row button{flex-basis:clamp(30px,8vw,42px)}.virtual-answer,.virtual-actions button,.answer-form button,.choice-grid button{min-height:40px}.ket-page-stack{max-height:70dvh}}@media (width<=760px){.dictionary-screen{grid-template-columns:1fr}.dictionary-screen .challenge-lobby-top,.dictionary-history{grid-column:1}.dictionary-form{grid-template-columns:1fr}.dictionary-form .primary-button{width:100%}.dictionary-word-row{flex-direction:column;align-items:flex-start}}@media (orientation:landscape) and (height<=560px){.dictionary-screen{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(220px,.62fr) minmax(420px,1.18fr);gap:10px;height:100dvh;min-height:0;padding:7px 0;overflow:hidden}.dictionary-hero{padding:14px 16px}.dictionary-hero h1{font-size:clamp(1.8rem,10vh,3rem)}.dictionary-panel{min-height:0;padding:14px;overflow:auto}.dictionary-history{grid-column:1/-1;max-height:30dvh;padding:12px;overflow:auto}}@media (orientation:landscape) and (height<=620px){.practice-screen--landscape,.challenge-screen--landscape{width:100vw;height:100dvh;min-height:0;max-height:100dvh;padding:max(6px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));overscroll-behavior:none;touch-action:none;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.practice-screen--landscape .practice-topbar,.challenge-screen--landscape .challenge-topbar{flex:none}.practice-screen--landscape .question-card,.challenge-screen--landscape .challenge-card--landscape{flex:auto;width:min(100%,1120px);min-height:0;max-height:none;margin:6px auto 0;overflow:hidden}.practice-screen--landscape .daily-spelling-card{align-content:center;padding-block:clamp(10px,2.4vh,16px)}:is(.practice-screen--landscape .question-card:has(.virtual-keyboard),.challenge-screen--landscape .challenge-card--landscape){grid-template-columns:minmax(190px,.72fr) minmax(380px,1.28fr);align-items:center;gap:clamp(10px,2.4vw,18px);display:grid}.practice-screen--landscape .daily-spelling-card>.challenge-prompt-panel{grid-column:1;align-content:center;align-self:center;justify-items:center;gap:clamp(6px,1.8vh,10px);display:grid}.practice-screen--landscape .daily-spelling-card>.challenge-keyboard-panel{touch-action:manipulation;grid-column:2;align-self:center;min-height:0;overflow:hidden}.practice-screen--landscape .daily-spelling-card .challenge-prompt-panel h1{margin:clamp(4px,1.6vh,8px) 0}.practice-screen--landscape .daily-spelling-card .word-phonetic{margin:0}.challenge-screen--landscape .challenge-keyboard-panel{min-height:0;overflow:hidden}.practice-screen--landscape .question-card:has(.virtual-keyboard)>.virtual-keyboard{min-height:0;overflow:hidden}.practice-screen--landscape .exercise-card{touch-action:none;overflow:hidden}:is(.practice-screen--landscape .exercise-card:has(.reading-passage),.practice-screen--landscape .exercise-card--word-bank-fill:has(.reading-passage)){text-align:left;grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(330px,1.08fr) minmax(300px,.92fr);align-content:stretch;align-items:stretch;gap:8px 16px;display:grid;overflow:hidden}:is(.practice-screen--landscape .exercise-card:has(.reading-passage)>.kicker,.practice-screen--landscape .exercise-card--word-bank-fill:has(.reading-passage)>.kicker){grid-column:1/-1}:is(.practice-screen--landscape .exercise-card:has(.reading-passage)>.reading-passage,.practice-screen--landscape .exercise-card--word-bank-fill:has(.reading-passage)>.reading-passage){overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;grid-area:2/1;height:100%;min-height:0;max-height:none;margin:0;overflow:auto}.practice-screen--landscape .exercise-card:has(.reading-passage)>.reading-answer-panel{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;grid-column:2;min-height:0;max-height:none;overflow:auto}.practice-screen--landscape .exercise-card--word-bank-fill:has(.reading-passage)>.reading-open-button{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;grid-column:2;min-height:0;max-height:none;overflow:auto}.practice-screen--landscape .exercise-card--word-bank-fill:has(.reading-passage)>h2{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;grid-column:2;min-height:0;max-height:none;overflow:auto}.practice-screen--landscape .exercise-card--word-bank-fill:has(.reading-passage)>.word-bank-panel{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;grid-column:2;min-height:0;max-height:none;overflow:auto}.practice-screen--landscape .exercise-card--word-bank-fill:has(.reading-passage)>.feedback{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;grid-column:2;min-height:0;max-height:none;overflow:auto}.practice-screen--landscape .exercise-card:has(.reading-passage)>.reading-answer-panel{grid-row:2;align-content:center;gap:10px;height:100%;display:grid}.practice-screen--landscape .exercise-card--word-bank-fill:has(.reading-passage)>.reading-open-button{align-self:center}.practice-screen--landscape .exercise-card--word-bank-fill:has(.reading-passage)>h2{align-self:center}.practice-screen--landscape .exercise-card--word-bank-fill:has(.reading-passage)>.word-bank-panel{align-self:center}.practice-screen--landscape .exercise-card--word-bank-fill:has(.reading-passage)>.feedback{align-self:center}.practice-screen--landscape .exercise-card--word-bank-fill:has(.reading-passage)>h2{margin-block:4px}.practice-screen--landscape .exercise-card--word-bank-fill:has(.reading-passage){grid-template-rows:auto auto auto minmax(0,1fr) auto;grid-template-columns:minmax(360px,1.18fr) minmax(280px,.82fr);align-content:stretch;align-items:stretch}.practice-screen--landscape .exercise-card--word-bank-fill:has(.reading-passage)>.reading-passage{grid-area:2/1/span 4;align-self:stretch;height:100%;max-height:none}.practice-screen--landscape .exercise-card--word-bank-fill:has(.reading-passage)>.reading-open-button{grid-area:2/2;place-self:start;overflow:visible}.practice-screen--landscape .exercise-card--word-bank-fill:has(.reading-passage)>h2{grid-area:3/2;align-self:start;max-height:none;margin:2px 0 8px;font-size:clamp(1.08rem,4.8vh,1.7rem);line-height:1.18;overflow:visible}.practice-screen--landscape .exercise-card--word-bank-fill:has(.reading-passage)>.word-bank-panel{grid-area:4/2;grid-template-rows:auto minmax(0,1fr);align-self:stretch;min-height:0;max-height:none;margin-top:0;padding:12px;display:grid;overflow:hidden}.practice-screen--landscape .exercise-card--word-bank-fill:has(.reading-passage)>.feedback{grid-area:5/2;align-self:end;max-height:22dvh}.practice-screen--landscape .reading-answer-panel .choice-grid,.practice-screen--landscape .word-bank-panel .word-bank{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;max-height:calc(100dvh - 210px);overflow:auto}.practice-screen--landscape .exercise-card--word-bank-fill:has(.reading-passage) .word-bank-panel .word-bank{min-height:0;max-height:none}.practice-screen--landscape .exercise-card--word-bank-fill:has(.reading-passage) .word-bank-panel>p{margin-bottom:6px}.practice-screen--landscape .reading-answer-panel:has(.feedback--wrong){align-content:start;padding-right:6px;overflow:auto}.practice-screen--landscape .reading-answer-panel:has(.feedback--wrong)>h2{margin:2px 0 6px;font-size:clamp(1rem,4.4vh,1.5rem);line-height:1.18}.practice-screen--landscape .reading-answer-panel:has(.feedback--wrong) .feedback{max-height:28dvh;margin-top:4px;padding:8px 10px;font-size:.82rem;line-height:1.22;overflow:auto}:is(.practice-screen--landscape .reading-answer-panel:has(.feedback--wrong) .feedback strong,.practice-screen--landscape .reading-answer-panel:has(.feedback--wrong) .feedback span){display:block}.practice-screen--landscape .reading-answer-panel:has(.feedback--wrong) .choice-grid{max-height:calc(100dvh - 230px);margin-top:6px}}@media (orientation:landscape) and (height<=430px){:is(.practice-screen--landscape .question-card:has(.virtual-keyboard),.challenge-screen--landscape .challenge-card--landscape){text-align:center;grid-template-columns:minmax(170px,.62fr) minmax(390px,1.38fr);gap:8px;overflow:hidden}.practice-screen--landscape .daily-spelling-card>.challenge-prompt-panel{grid-column:1}.practice-screen--landscape .daily-spelling-card>.challenge-keyboard-panel{grid-column:2}:is(.practice-screen--landscape .exercise-card:has(.reading-passage),.practice-screen--landscape .exercise-card--word-bank-fill:has(.reading-passage)){grid-template-columns:minmax(300px,1fr) minmax(280px,.92fr);overflow:hidden}:is(.practice-screen--landscape .exercise-card:has(.reading-passage)>.reading-passage,.practice-screen--landscape .exercise-card:has(.reading-passage)>.reading-answer-panel,.practice-screen--landscape .exercise-card--word-bank-fill:has(.reading-passage)>.reading-passage,.practice-screen--landscape .exercise-card--word-bank-fill:has(.reading-passage)>.word-bank-panel){max-height:none}}
