:root{font-family:'DM Sans',sans-serif;color:#203b37;background:#f5f6ef;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header{max-width:1240px;margin:auto;padding:28px 34px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dce3d8}.brand{text-decoration:none;color:#176653;font:800 29px Manrope,sans-serif}.brand span{display:block;font:600 9px 'DM Sans',sans-serif;letter-spacing:2px;margin-top:5px}.pill{padding:8px 13px;border-radius:25px;background:#e9efdf;font-size:12px;color:#456249}main{max-width:1240px;margin:auto;padding:42px 34px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:#637a61}h1{font:800 clamp(30px,4vw,49px)/1.2 Manrope,sans-serif;letter-spacing:-2px;margin:15px 0}h1 em{font-style:normal;color:#258367}.intro>p{color:#708078;margin:0 0 35px}.layout{display:grid;grid-template-columns:370px 1fr;gap:24px;align-items:start}.card{background:white;padding:26px;border:1px solid #e2e7dc;border-radius:22px;box-shadow:0 7px 25px #314b3910}h2{font:800 18px Manrope,sans-serif;margin:0 0 22px}.step{display:inline-grid;place-items:center;background:#eef3e8;border-radius:50%;width:28px;height:28px;font-size:13px;margin-right:7px}label{display:block;font-size:13px;font-weight:600;margin:17px 0 8px}input,textarea,select{font:inherit;border:1px solid #d7dfd4;border-radius:10px;padding:11px;background:#fcfdf9;color:#263e37;width:100%}textarea{resize:vertical;line-height:1.65}button{font:600 13px 'DM Sans',sans-serif;border:1px solid #d3ddd0;border-radius:10px;padding:12px 16px;color:#235c4a;background:white;cursor:pointer}button:hover{filter:brightness(.96)}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:#176e55;color:white;border-color:#176e55}.wide{width:100%;margin-top:16px}.subtle{border:0;background:transparent;font-size:12px;padding:8px 0;text-decoration:underline;text-underline-offset:3px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.row h2{margin-bottom:0}.small,#count{font-size:11px;line-height:1.65;color:#758174}.progress{height:7px;border-radius:9px;background:#edf1e6;margin-top:26px;overflow:hidden}#bar{background:#73a56b;height:100%;width:0;transition:width .3s}#empty{text-align:center;padding:65px 20px;color:#7a8679}.symbol{font-size:55px;color:#9db681}h3{font-family:Manrope,sans-serif;font-size:17px}.practice{min-height:560px}blockquote{margin:15px 0;background:#f4f6ee;border-left:3px solid #8cac70;border-radius:0 12px 12px 0;padding:24px;font-size:21px;line-height:1.7;white-space:pre-wrap}.concealed{font-style:italic;color:#81907b;font-size:17px}.controls{justify-content:flex-start}.speed{margin:0;display:flex;align-items:center;gap:10px;font-size:12px}.speed select{width:auto;padding:8px}.tip{border:1px solid #ede5ca;background:#fffbee;padding:15px;border-radius:12px;margin-top:20px;font-size:12px}.tip p{line-height:1.6;margin:8px 0}.record{display:flex;gap:10px;margin-top:25px}#status{font-size:13px;color:#667966;line-height:1.5}#feedback{line-height:1.7;font-size:14px;margin-top:20px}mark{background:#ffedbb;padding:2px 4px;border-radius:4px}.result{padding:16px;border-radius:12px;background:#eff6e9}.misses{white-space:pre-wrap}.success{color:#176e55;font-weight:700}footer{text-align:center;color:#8a9587;font-size:12px;margin-top:35px}[hidden]{display:none!important}:focus-visible{outline:3px solid #d4a63f;outline-offset:3px}@media(max-width:850px){.layout{grid-template-columns:1fr}header{padding:20px}main{padding:30px 16px}.card{padding:20px}.intro{padding:0 5px}.row{flex-wrap:wrap}blockquote{font-size:18px}.practice{min-height:400px}}

.library{margin-top:24px}#lessonList{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:20px 0}.saved-lesson{padding:18px;background:#f4f6ee;border-radius:12px;overflow-wrap:anywhere}.saved-lesson strong{display:block}.saved-lesson button{margin-top:7px}

.login-card{max-width:510px;margin:42px auto;padding:32px}.login-card h1{font-size:32px}.login-card>p{line-height:1.6}.student-banner{margin-bottom:22px}.student-banner strong{overflow-wrap:anywhere}@media(max-width:550px){.login-card{margin:24px 16px;padding:24px}}

/* Larger, consistent controls and one activity per screen. */
body{font-family:Arial,sans-serif;background:#f1f7fb}main{max-width:1000px;padding-top:24px}button{min-height:52px;font-size:16px;font-weight:700;border-radius:16px;padding:14px 20px;touch-action:manipulation}button.subtle{font-size:15px;padding:12px;text-decoration:none;border:1px solid #d3ddd0}input,textarea,select{font-size:18px;min-height:50px}label{font-size:16px}.small,#count{font-size:13px;color:#526558}.layout{display:block}.layout>.card{width:100%}.child-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0;position:sticky;top:0;z-index:5;background:#f1f7fb;padding:10px 0}.child-nav button{min-height:72px;background:white;border:2px solid #cbded9}.child-nav button[aria-pressed=true]{background:#176e55;color:white;border-color:#176e55;box-shadow:0 4px 0 #0b4535}.big-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.big-actions button{min-height:82px;font-size:19px;border:0;border-bottom:5px solid #0002}#model{background:#e0edff;color:#174a8d}#record{background:#176e55;color:white}#stop{background:#ffdfa6;color:#683b00}#check{background:#254ca0;color:white;min-height:64px;font-size:20px}#next{min-height:64px;font-size:20px}#status{padding:14px;background:#edf4fa;border-radius:12px;font-size:16px;line-height:1.6}.intro h1{font-size:34px;letter-spacing:-1px}.intro>p{margin-bottom:10px;color:#526558}.library{margin-top:0}.saved-lesson{border:2px solid #dce9d8}.saved-lesson strong{font-size:21px}.saved-lesson button{width:100%;background:#176e55;color:white}.child-hint{font-size:17px;line-height:1.6}.voice-tips{margin:14px 0}.voice-tips summary{cursor:pointer;padding:16px;background:#fff6dd;border-radius:12px;font-weight:700}.voice-tips .tip{margin:0}.settings-link{display:block;margin:28px auto 0;background:transparent}.student-banner{gap:16px}.student-banner strong{font-size:18px}.practice{min-height:0}#empty{padding:35px 15px}#lessonList{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.login-card button{min-height:62px;font-size:20px}.login-card .small{font-size:13px}.speed{font-size:15px}.controls{justify-content:flex-end}.card{border-radius:24px}#feedback{font-size:17px}.progress{height:12px}#settingsPanel>section{padding:0;border:0;box-shadow:none}#settingsPanel #erase{margin-top:24px;color:#8b2828}@media(max-width:600px){header{padding:16px}header>.pill{display:none}main{padding:18px 12px}.card{padding:18px}.intro h1{font-size:28px}.child-nav{gap:6px}.child-nav button{padding:10px 5px;font-size:14px;min-height:68px;line-height:1.5}.big-actions{gap:8px;grid-template-columns:1fr 1fr}.big-actions button{font-size:17px;min-height:70px}#stop{grid-column:1/-1;min-height:54px}.student-banner button{font-size:14px}.student-banner strong{font-size:16px}blockquote{padding:16px;font-size:20px}#lessonList{grid-template-columns:1fr}.settings-link{font-size:14px}}

#retryAttempt{background:#fff1c9;color:#684100;min-height:60px;font-size:19px}.voice-focus{background:#eef2ff;padding:14px;border-radius:12px;font-size:14px;line-height:1.6}.grade{background:#e1f4da;border:2px solid #73a56b;border-radius:14px;padding:20px;font-size:24px;font-weight:bold;color:#234c20}

#codeForm{border-bottom:2px solid #dce7db;padding-bottom:22px}#syncStatus{flex-basis:100%;margin:0}#createdCode{padding:18px;background:#fff1c9;border-radius:14px;margin:18px 0}#myCode{flex-basis:100%;overflow-wrap:anywhere}#syncNow,#showCode{font-size:14px;min-height:48px}

.ui-language{margin:0;display:flex;align-items:center;gap:10px;font-size:13px}.ui-language select{width:auto;min-height:48px;font-size:16px}header{gap:14px;flex-wrap:wrap}@media(max-width:600px){.ui-language{width:100%;justify-content:space-between}.ui-language span{font-size:13px}}

.whole-reader{background:#edf2ff;border:2px solid #c9d5f4;padding:16px;border-radius:18px;margin:18px 0}.whole-reader #readWhole{background:#254ca0;color:white;font-size:20px;min-height:66px;margin-top:0}.reader-controls{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}.reader-controls button{flex:1}#readingText{font-size:20px;line-height:1.7;background:white;padding:16px;border-radius:12px;white-space:pre-wrap;overflow-wrap:anywhere}

dialog{width:min(700px,94vw);max-height:90dvh;overflow:auto;border:0;border-radius:22px;padding:26px;color:#203b37}dialog::backdrop{background:#102c36aa}dialog p{line-height:1.6}#correctionHistory{white-space:pre-wrap;overflow-wrap:anywhere}.saved-lesson button.edit-lesson{background:#e0edff;color:#174a8d}#editCurrent{background:#e0edff;color:#174a8d;margin-top:12px}

#forgotPanel,#recoverySettings{margin:20px 0;padding:16px;background:#edf4ff;border-radius:16px}#forgotPanel summary,#recoverySettings summary{font-weight:bold;cursor:pointer;min-height:44px}.recovery-secret{display:block;overflow-wrap:anywhere;user-select:all;background:#fff1c9;padding:16px;margin:16px 0;border-radius:12px;line-height:1.7;font-size:18px}#recoveryCreated p{font-size:14px;line-height:1.6}
