:root{--ink:#203c35;--muted:#7c8982;--green:#166c55;--light:#e8f0e8;--orange:#e88c54;--line:#e4e8df;--bg:#f9faf5}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'DM Sans','Noto Sans Thai',sans-serif}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e8a15c;outline-offset:4px}a{color:inherit}aside{width:242px;position:fixed;inset:0 auto 0 0;border-right:1px solid var(--line);background:#fffef9;display:flex;flex-direction:column;padding:34px 22px 18px}.brand{display:flex;align-items:center;gap:8px;font-family:Outfit,sans-serif;font-size:38px;font-weight:600;text-decoration:none;letter-spacing:-1.5px}.brandicon{background:var(--green);color:#fff;width:36px;height:39px;border-radius:13px 13px 13px 3px;text-align:center;font-size:30px;line-height:38px;letter-spacing:0}.branddot{color:var(--orange);margin-left:-7px}.course{display:flex;align-items:center;gap:11px;margin:35px 0 28px;font-weight:700}.course>span{font-size:27px}.course small,.profile small{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:4px}nav{display:grid;gap:8px}nav button{border:0;background:none;text-align:left;padding:14px 12px;border-radius:10px;display:flex;align-items:center;gap:12px;font-weight:500;font-size:12px}nav button.active{background:#e8f0e7;color:var(--green);font-weight:700}nav i{font-size:20px;width:21px;font-style:normal}nav b{margin-left:auto;background:#d6e5d5;border-radius:5px;padding:2px 6px;font-size:10px}.sidebarbottom{margin:auto 12px 20px;padding-top:35px}.miniLotus{color:var(--orange);font-size:38px;margin-bottom:8px}.sidebarbottom strong{font-size:12px}.sidebarbottom p{font-size:11px;color:var(--muted);line-height:1.7}.textbutton{border:0;background:none;color:var(--muted);padding:8px 0;font-size:12px}.profile{border-top:1px solid var(--line);padding-top:19px;display:flex;gap:11px;align-items:center;font-size:12px}.profile>span,.avatar{display:grid;place-items:center;background:#eee9dd;border:3px solid white;outline:1px solid #e6e4d9;border-radius:50%;width:34px;height:34px;font-weight:700}.workspace{margin-left:242px}header{height:88px;border-bottom:1px solid var(--line);padding:0 46px;display:flex;justify-content:space-between;align-items:center}.breadcrumb{font-size:9px;letter-spacing:1.8px;color:#89958c}.breadcrumb b{font-weight:500;color:#50675b}.stats{display:flex;align-items:center;gap:26px;font-size:15px}.stats em{font-style:normal;color:var(--muted);font-size:10px;margin-left:3px}main{max-width:1250px;margin:auto;padding:35px 46px 30px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--green);text-transform:uppercase}h1,h2,h3{font-family:Outfit,'Noto Sans Thai',sans-serif}h1{font-size:34px;font-weight:500;letter-spacing:-1px;margin:8px 0 10px}h2{font-size:23px;font-weight:500;margin:0}h3{font-size:17px;font-weight:500;margin:0}p{line-height:1.7}.lead{color:var(--muted);font-size:12px;margin:0}.welcome{margin-bottom:26px}.hero{background:#e8eee1;border-radius:19px;position:relative;min-height:230px;overflow:hidden;padding:30px 32px;display:flex;justify-content:space-between}.hero h2{font-size:32px;line-height:1.2;max-width:350px;margin:12px 0}.hero p{font-size:12px;color:#647a65;margin:0 0 22px;max-width:330px}.pill{display:inline-flex;gap:6px;align-items:center;font-size:9px;font-weight:700;letter-spacing:1px;background:#ffffff94;padding:7px 10px;border-radius:5px}.primary{background:var(--green);border:0;border-bottom:3px solid #104c3f;color:white;border-radius:9px;padding:13px 19px;font-size:12px;font-weight:700;display:inline-flex;justify-content:center;align-items:center;gap:25px}.primary:hover{background:#1b7d63}.heroArt{width:260px;position:absolute;right:30px;bottom:-5px}.hero .copy{position:relative;z-index:1}.split{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:27px;margin-top:31px}.sectionline{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px}.sectionline span{font-size:10px;color:var(--muted)}.leveltabs{display:flex;border-bottom:1px solid var(--line);gap:21px;margin-bottom:22px;overflow-x:auto}.leveltabs button{border:0;background:none;white-space:nowrap;padding:10px 0 13px;font-size:11px;color:var(--muted)}.leveltabs button.active{color:var(--green);border-bottom:2px solid var(--green);font-weight:700}.unithead{display:flex;gap:13px;align-items:center;margin:8px 0 18px}.unithead>span{width:40px;height:40px;background:var(--light);display:grid;place-items:center;border-radius:12px;font-size:22px}.unithead small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.lesson{background:#fff;border:1px solid var(--line);border-radius:12px;padding:17px;margin-bottom:10px;display:flex;align-items:center;gap:15px;transition:transform .15s}.lesson:hover{transform:translateY(-2px);border-color:#a7c4ac}.lesson.current{border:1.5px solid #9aba9d;background:#fffffb}.lessonnum{width:42px;height:42px;border-radius:13px;background:#f0f2e9;display:grid;place-items:center;font-size:18px;font-weight:600;flex:none}.current .lessonnum,.done .lessonnum{background:#dfebd8;color:var(--green)}.lessoninfo{flex:1}.lessoninfo h3{font-size:14px}.lessoninfo p{margin:4px 0 7px;font-size:10px;color:var(--muted)}.lessoninfo small{font-size:9px;color:#87937f}.lesson button{border:0;background:#f0f4e9;color:var(--green);border-radius:50%;width:31px;height:31px;font-size:16px}.current button{background:var(--green);color:white}.card{border:1px solid var(--line);border-radius:13px;background:#fff;padding:21px;margin-bottom:16px}.card h3{font-size:15px}.card p{font-size:11px;color:var(--muted)}.goalhead{display:flex;align-items:center;justify-content:space-between}.goalhead span{font-size:18px}.bar{height:7px;background:#edf0e7;border-radius:9px;overflow:hidden}.bar>div{height:100%;background:#8eaf7e;border-radius:9px}.goallabel{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin:12px 0 8px}.week{display:flex;justify-content:space-between;margin-top:17px}.week span{text-align:center;color:var(--muted);font-size:9px}.week b{display:grid;place-items:center;width:23px;height:23px;background:#f3f4ed;border-radius:50%;margin-top:7px;color:#a9b4a1}.week b.on{background:var(--green);color:white}.phrasecard{background:#f5eee2;border-color:#eee4d4}.phrasecard .thai{font-size:26px;margin:18px 0 6px}.roman{font-size:12px;color:#8d947e}.translation{font-size:13px}.phrasebottom{display:flex;justify-content:space-between;align-items:center;margin-top:16px}.iconbutton{border:1px solid var(--line);background:#fffef9;border-radius:50%;width:34px;height:34px}.tip{font-size:11px;line-height:1.8;color:#7c8982;display:flex;gap:10px;margin:20px 8px}.tip span{font-size:18px}footer{max-width:1158px;margin:0 auto;padding:20px 46px;border-top:1px solid var(--line);font-size:9px;color:#9ba395;display:flex;justify-content:space-between;letter-spacing:.6px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}.grid .card{margin:0}.thai{font-family:'Noto Sans Thai',sans-serif}.search{width:100%;border:1px solid var(--line);background:white;border-radius:10px;padding:14px 17px;margin:24px 0 14px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.chip{border:1px solid var(--line);border-radius:20px;background:white;padding:7px 13px;font-size:11px}.chip.active{background:var(--green);color:white;border-color:var(--green)}.phraseitem{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:19px;border-bottom:1px solid var(--line)}.phraseitem .thai{font-size:21px}.phraseitem p{margin:5px 0;font-size:12px}.phraseitem .roman{font-size:11px}.phraseactions{display:flex;gap:8px}.note{background:#f3f0e5;border-radius:10px;padding:16px;font-size:12px;line-height:1.8;color:#6c7769}.empty{text-align:center;padding:60px 20px;color:var(--muted)}.bigstat{font-size:36px;font-family:Outfit;font-weight:600;color:var(--green);margin:15px 0 0}.tone{display:flex;align-items:center;gap:15px;margin:16px 0}.tone svg{width:70px;height:35px}.tone b{width:75px}.soundsgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:20px}.soundtile{border:1px solid var(--line);border-radius:9px;background:#fff;padding:14px;text-align:center;cursor:pointer}.soundtile b{display:block;font-size:29px;font-family:'Noto Sans Thai'}.soundtile small{color:var(--muted);font-size:10px}dialog{border:0;border-radius:20px;padding:0;width:min(680px,calc(100% - 24px));max-height:92vh;color:var(--ink);box-shadow:0 20px 100px #14352538}dialog::backdrop{background:#163c37a8;backdrop-filter:blur(5px)}.modalinner{padding:30px 38px}.modalhead{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:28px}.close{border:0;background:#f0f2ea;border-radius:50%;width:31px;height:31px;font-size:20px}.modalhead .bar{flex:1}.modalhead small{color:var(--muted);font-size:11px}.studycard{text-align:center;padding:20px 0}.studycard .thai{font-size:34px;margin:25px 0 10px}.studycard .translation{font-size:19px;margin:15px 0}.studycard .roman{font-size:16px}.studycard .iconbutton{width:46px;height:46px;font-size:20px;margin-top:18px}.modalfoot{border-top:1px solid var(--line);margin-top:28px;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.modalfoot small{font-size:10px;color:var(--muted)}.options{display:grid;gap:10px;margin-top:25px}.option{border:1.5px solid var(--line);border-bottom-width:3px;border-radius:10px;background:#fff;padding:15px;text-align:left;display:flex;align-items:center;gap:15px}.option span{border:1px solid var(--line);border-radius:5px;padding:2px 6px;font-size:11px;color:var(--muted)}.option:hover{background:#f7f9f1}.option.correct{border-color:#80b28c;background:#e9f4e9}.option.wrong{border-color:#dba295;background:#fff0ea}.feedback{margin-top:18px;border-radius:9px;padding:15px;background:#edf4e7;line-height:1.7;font-size:12px}.feedback.bad{background:#fff0e7}.answerinput{width:100%;padding:16px;margin-top:20px;border:1px solid var(--line);border-radius:9px}.secondary{background:white;border:1px solid var(--line);border-radius:9px;padding:12px 16px;font-size:12px}.settingsrow{padding:16px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}.settingsrow label{font-size:13px}.settingsrow select{padding:7px;border:1px solid var(--line);border-radius:7px;background:white}.result{text-align:center;padding:25px}.result .medal{font-size:65px}.result h2{font-size:30px;margin:15px 0}.result p{color:var(--muted)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#203c35;color:white;border-radius:10px;padding:13px 20px;z-index:10;font-size:12px;display:none}.sources{font-size:11px;line-height:1.8;color:var(--muted);margin-top:30px}.sources a{color:var(--green)}.muted{color:var(--muted)}@media(min-width:1500px){main{padding-top:48px}.hero{min-height:265px}.heroArt{width:300px}}@media(max-width:1100px){aside{width:205px;padding-left:16px;padding-right:16px}.workspace{margin-left:205px}main{padding:28px}.split{grid-template-columns:minmax(0,1fr) 225px;gap:20px}header{padding:0 28px}.heroArt{right:0;width:220px}.hero h2{font-size:28px;max-width:300px}.hero p{max-width:280px}}@media(max-width:850px){.split{grid-template-columns:1fr}.rightcol{display:grid;grid-template-columns:1fr 1fr;gap:15px}.rightcol .tip{grid-column:1/-1}.heroArt{opacity:.65}.hero .copy{max-width:65%}.breadcrumb{display:none}header{justify-content:flex-end;height:70px}.stats{gap:18px}h1{font-size:28px}.hero h2{font-size:26px}}@media(max-width:620px){aside{inset:auto 0 0 0;width:100%;height:68px;padding:4px 8px;z-index:5;border:0;border-top:1px solid var(--line)}aside .brand,.course,.sidebarbottom,.profile{display:none}nav{display:flex;justify-content:space-around;gap:0}nav button{display:flex;flex-direction:column;font-size:8px;padding:5px 7px;gap:2px;border-radius:7px}nav i{font-size:21px;text-align:center}nav b{display:none}.workspace{margin:0;padding-bottom:68px}header{padding:0 20px;height:65px}header:before{content:'sabai.';font-family:Outfit;font-size:27px;color:var(--green);margin-right:auto;font-weight:600}.stats{font-size:13px;gap:14px}.stats em{display:none}.avatar{width:29px;height:29px}main{padding:25px 18px}.welcome{margin-bottom:21px}.hero{padding:24px;min-height:240px}.hero .copy{max-width:80%}.hero h2{font-size:26px}.heroArt{width:160px;right:-20px;opacity:.4}.hero p{font-size:11px}.split{margin-top:26px}.rightcol{grid-template-columns:1fr}.rightcol .tip{grid-column:auto}.card{padding:20px}.grid{grid-template-columns:1fr}footer{padding:15px 20px}footer span{display:none}.modalinner{padding:22px}.studycard .thai{font-size:27px}.modalfoot{flex-wrap:wrap}.soundsgrid{grid-template-columns:repeat(3,1fr)}}
/* Playful learning interface */
:root{--green:#58a700;--ink:#3c3c3c;--muted:#8a8a8a;--line:#e5e5e5;--bg:#fff;--light:#e9f7dc}body{font-weight:500}.brand{color:#58b700;font-weight:800}.brandicon{background:#58b700}.branddot{color:#ffbb28}aside#sidebar{background:white;border-right:2px solid var(--line)}nav button{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;border:2px solid transparent;border-radius:13px}nav button.active{background:#eaf6ff;border-color:#8ed5fa;color:#1a9cdd}nav i{font-size:24px}header{border:0}.eyebrow{color:#6fa53a}.welcome h1{font-weight:700}.hero{background:#f0f9e8;border:2px solid #e0edce;border-radius:18px}.hero h2{font-weight:700}.hero p{color:#7b8d70}.primary{background:#58bb02;border-bottom:4px solid #459500;border-radius:13px;font-size:13px;font-weight:800;letter-spacing:.5px;min-height:47px}.primary:hover{background:#64c90b}.primary:active{transform:translateY(3px);border-bottom-width:1px}.primary:disabled{background:#e5e5e5;border-color:#d0d0d0;color:#999;cursor:default}h2,h3{font-weight:700}.rightcol{position:static;inset:auto;width:auto;height:auto;border:0;background:none;padding:0;display:block}.card{border:2px solid var(--line);border-radius:16px;box-shadow:none}.card h3{font-size:17px}.bar{background:#e5e5e5;height:12px}.bar>div{background:#58cc02;border-top:3px solid #76dc23}.phrasecard{background:#fffaf0;border-color:#f3e4c3}.secondary{border:2px solid var(--line);border-bottom-width:4px;color:#1aa6d8;font-weight:800;font-size:11px;border-radius:12px;letter-spacing:.5px}.unitbanner{display:flex;align-items:center;justify-content:space-between;background:#58b900;border-radius:14px;color:white;padding:18px;margin-top:5px}.unithead{margin:0}.unithead>span{background:#ffffff24}.unithead small{color:#effbdc}.guidebtn{background:none;border:2px solid #ffffff60;border-bottom-width:4px;border-radius:12px;color:white;font-size:11px;font-weight:800;padding:12px}.path{position:relative;padding:20px 0 10px;max-width:460px;margin:auto}.pathstep{display:flex;align-items:center;gap:20px;position:relative;min-height:115px;padding:8px 0}.pathstep:before{content:'';position:absolute;left:38px;top:66px;bottom:-42px;width:5px;background:#eee;border-radius:10px;z-index:0}.pathstep:last-of-type:before{display:none}.step0{margin-left:75px}.step1{margin-left:25px}.step2{margin-left:55px}.step3{margin-left:100px}.pathnode{position:relative;border:0;border-bottom:8px solid #b8b8b8;border-radius:50%;width:76px;height:70px;flex:none;background:#dedede;color:#fff;font-size:31px;box-shadow:inset 0 0 0 7px #ffffff26;transition:transform .15s}.pathnode:hover{transform:translateY(-3px)}.pathnode.current,.done .pathnode{background:#58cc02;border-bottom-color:#46a302;color:white}.pathnode.current{outline:4px solid #c8f2a2;outline-offset:5px}.pathlabel strong{display:block;font-size:13px}.pathlabel span{display:block;font-size:11px;line-height:1.5;color:var(--muted);margin:6px 0}.pathlabel small{color:#aaa;font-size:9px}.pathend{margin-top:24px;display:flex;flex-direction:column;align-items:center;gap:9px;font-size:38px}.pathend span{font-size:11px;color:#9d9d9d}.explorenote{font-size:10px;text-align:center;color:#aaa;line-height:1.7}.option{border-radius:14px;border-width:2px;border-bottom-width:4px;font-size:17px;min-height:64px}.option.correct{border-color:#a4df65;background:#edffd9;color:#579b14}.option.wrong{border-color:#ffb1b1;background:#ffeded;color:#dc5353}.chip{border-width:2px;border-bottom-width:3px;border-radius:11px}.avatar{background:#d9effc;color:#1a9edb}.brand{letter-spacing:-1px}.stats{color:#ff9600}footer{font-weight:400}.modalinner .eyebrow{color:#969696}.feedback{background:#d7ffb8;color:#4e900d}.feedback.bad{background:#ffdfe0;color:#c94447}.modalfoot{border-top-width:2px}.soundsgrid .soundtile{border-width:2px;border-bottom-width:4px}.heroArt{right:10px}.leveltabs button{font-weight:700}.leveltabs button.active{color:#58a700}.reviewcta .secondary{width:100%}@media(max-width:850px){.rightcol{display:grid;grid-template-columns:1fr 1fr}.rightcol .tip{grid-column:1/-1}}@media(max-width:620px){aside#sidebar{border-right:0;border-top:2px solid var(--line)}nav button{font-size:7px;border-width:1px}.step0{margin-left:50px}.step1{margin-left:5px}.step2{margin-left:30px}.step3{margin-left:60px}.pathlabel strong{font-size:12px}.pathlabel span{font-size:10px}.pathnode{width:69px;height:65px}.rightcol{display:block}.unitbanner{padding:14px}.guidebtn{padding:10px}.unithead h3{font-size:14px}.unithead small{font-size:9px}.hero .copy{max-width:90%}}
.split>section{min-width:0}.pathlabel{min-width:0}.hero .copy{max-width:62%}@media(max-width:850px){.split{grid-template-columns:minmax(0,1fr)}.hero .copy{max-width:82%}.heroArt{opacity:.4}}@media(max-width:620px){.hero .copy{max-width:95%}.pathstep{gap:13px}.pathlabel small{font-size:8px}}
/* Sabai 2: focused lessons, clear reading, light and dark themes. */
:root{--surface:#fff;--surface2:#f7f7f7;--border:#e5e5e5;--text:#3c3c3c;--sub:#777;--blue:#1cb0f6;--blueTint:#ddf4ff;--greenTint:#d7ffb8;--danger:#ff4b4b;--reading:#6b55b8}html[data-theme=dark]{color-scheme:dark;--surface:#131f24;--surface2:#1b2b33;--border:#37464f;--text:#f1f7fa;--sub:#a4b6c1;--blue:#49c0f8;--blueTint:#183b4b;--greenTint:#263d20;--reading:#c3adff;--ink:#f1f7fa;--muted:#a4b6c1;--line:#37464f;--bg:#131f24;--light:#243d28}body{background:var(--surface);color:var(--text);font-family:'DM Sans','Noto Sans Thai',sans-serif}html[data-theme=dark] aside#sidebar{background:var(--surface)}html[data-theme=dark] nav button.active{background:var(--blueTint);border-color:#3f7891;color:var(--blue)}html[data-theme=dark] .card,html[data-theme=dark] .option,html[data-theme=dark] .secondary,html[data-theme=dark] .chip,html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] .soundtile{background:var(--surface);border-color:var(--border);color:var(--text)}html[data-theme=dark] .card.phrasecard{background:#24291f;border-color:#47503a}html[data-theme=dark] .note,html[data-theme=dark] .close{background:var(--surface2);color:var(--sub)}html[data-theme=dark] .bar{background:var(--border)}html[data-theme=dark] .week b{background:var(--surface2)}html[data-theme=dark] .week b.on{background:#58a700;color:#fff}html[data-theme=dark] .profile>span,html[data-theme=dark] .avatar{background:#25485c;border-color:var(--surface);outline-color:var(--border);color:var(--blue)}html[data-theme=dark] .pathnode{background:#37464f;border-bottom-color:#293841}html[data-theme=dark] .pathnode.current,html[data-theme=dark] .done .pathnode{background:#58cc02;border-bottom-color:#429b00}html[data-theme=dark] .pathnode.current{outline-color:#375929}html[data-theme=dark] .unitbanner{background:#58a700}html[data-theme=dark] .pathstep:before{background:#37464f}html[data-theme=dark] .sidebarbottom strong{color:#c7d9e2}html[data-theme=dark] .pill{background:#283d45}html[data-theme=dark] .iconbutton{background:var(--surface2);border-color:var(--border);color:var(--blue)}html[data-theme=dark] .option.correct{background:#273c21;color:#a5ed6e;border-color:#62a842}html[data-theme=dark] .option.wrong{background:#44252b;color:#ffb2b2;border-color:#a74b59}html[data-theme=dark] .feedback{color:#b1e589;background:transparent}html[data-theme=dark] .feedback.bad{color:#ffb2b2;background:transparent}html[data-theme=dark] .primary:disabled{background:#37464f;border-color:#293841;color:#6f848f}header{max-width:1260px;margin:auto;height:76px}.breadcrumb{font-weight:700}.themeToggle{background:var(--surface2);border:2px solid var(--border);border-radius:12px;width:38px;height:38px;color:var(--sub);font-size:23px}.journeyLayout{display:grid;grid-template-columns:minmax(0,660px) 290px;gap:42px;align-items:start;max-width:1020px;margin:auto}.journey{min-width:0}.journeyLayout .rightcol{padding-top:62px}.sectionSelector{margin-bottom:18px}.sectionSelector label{display:block;font-size:10px;letter-spacing:1.4px;font-weight:800;color:var(--sub);margin-bottom:9px}.sectionSelector select{width:100%;max-width:100%;padding:11px 12px;border:2px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);font-weight:700}.unitbanner{gap:13px;align-items:center;margin:0}.unitbanner>div{flex:1;min-width:0}.unitbanner small{font-size:10px;font-weight:800;letter-spacing:1px;color:#e0fac3}.unitbanner h2{font-size:22px;margin:7px 0 5px;color:white}.unitbanner p{font-size:11px;margin:0;color:#eeffdb;line-height:1.5}.unitArrow{background:none;color:#dbffbe;border:0;font-size:35px;font-weight:700;padding:0 4px}.unitArrow:disabled{opacity:.35;cursor:default}.guidebtn{display:flex;flex-direction:column;gap:4px;align-items:center;font-size:22px;padding:10px 12px}.guidebtn span{font-size:9px}.pathV2{padding-top:52px;max-width:500px}.pathV2 .pathstep{min-height:126px}.pathV2 .step0{margin-left:70px}.pathV2 .step1{margin-left:15px}.pathV2 .step2{margin-left:55px}.pathV2 .step3{margin-left:108px}.nodeWrap{position:relative;flex:none}.pathV2 .pathnode{width:80px;height:74px}.pathV2 .pathstep:before{left:39px}.pathlabel strong{font-size:15px;font-weight:800;line-height:1.4}.pathlabel span{font-size:12px}.pathlabel small{font-size:10px}.startBubble{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%);border:2px solid var(--border);border-radius:11px;padding:9px 12px;background:var(--surface);color:#58b900;font-size:10px;font-weight:800;letter-spacing:1px;white-space:nowrap;animation:bob 2.5s ease-in-out infinite}.startBubble:after{content:'';position:absolute;bottom:-7px;left:calc(50% - 6px);width:10px;height:10px;border-bottom:2px solid var(--border);border-right:2px solid var(--border);background:var(--surface);transform:rotate(45deg)}@keyframes bob{50%{transform:translate(-50%,-5px)}}.mascotMoment{display:flex;align-items:center;gap:3px;height:140px;margin:3px 15px 12px}.mascotMoment .heroArt{position:static;width:140px;opacity:1;flex:none}.speechBubble{border:2px solid var(--border);border-radius:17px;padding:14px 17px;font-size:13px;font-weight:700;line-height:1.6;max-width:225px}.speechBubble span{display:block;font-family:'Noto Sans Thai';font-size:11px;font-weight:400;color:var(--sub);margin-top:4px}.chest{display:flex;flex-direction:column;align-items:center;gap:12px;border:0;background:none;font-size:55px;margin:22px auto 15px}.chest span{color:#d69e19;font-size:11px;font-weight:800;letter-spacing:1px}.journeyFoot{text-align:center;border-top:2px solid var(--border);padding:24px 0}.journeyFoot p,.approxNote{font-size:10px;color:var(--sub);line-height:1.8}.courseCard h3{font-size:14px}.courseFeatures{display:grid;gap:9px;font-size:11px;color:var(--sub);padding-top:5px}.reading{font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.6;font-weight:700;color:var(--reading);letter-spacing:.1px}.reading>span{display:inline-block;font-size:8px;letter-spacing:.8px;margin-right:7px;font-weight:800;opacity:.75}.reading.large{font-size:22px;margin-top:13px}.reading.large>span{display:block;font-size:9px;margin-bottom:4px}.phraseitem .reading{font-size:13px}.audioControls{display:flex;gap:10px;align-items:center;justify-content:center;margin-top:18px}.audioBtn{display:inline-flex;gap:9px;align-items:center;justify-content:center;background:var(--blueTint);color:var(--blue);border:2px solid color-mix(in srgb,var(--blue) 35%,transparent);border-bottom-width:4px;border-radius:13px;padding:11px 15px;min-height:46px;font-size:17px;font-weight:800}.audioBtn span{font-size:10px;letter-spacing:.7px}.audioBtn.slow{background:transparent;border-color:var(--border)}.audioBtn:hover,.choiceAudio:hover{filter:brightness(1.15)}.playing{outline:3px solid var(--blue);outline-offset:2px;animation:pulseAudio 1s ease-in-out infinite}@keyframes pulseAudio{50%{opacity:.6}}.phrasecard .audioControls{justify-content:flex-start}.phrasecard .audioBtn{padding:8px 10px;font-size:14px}.phrasecard .audioBtn span{font-size:9px}.phrasecard .thai{margin-top:18px}.phrasecard p{color:var(--text);font-size:12px}.lessonMode{width:100vw;max-width:none;height:100dvh;max-height:none;border-radius:0;background:var(--surface);box-shadow:none}.lessonMode::backdrop{background:var(--surface);backdrop-filter:none}.lessonInner{min-height:100dvh;padding:35px max(28px,calc((100vw - 1040px)/2)) 150px;display:flex;flex-direction:column}.lessonInner .modalhead{width:100%;margin:0 auto 42px;gap:24px}.lessonInner .modalhead .bar{height:17px}.lessonInner .modalhead small{font-size:11px;font-weight:800;white-space:nowrap}.lessonInner .close{background:none;color:var(--sub);font-size:32px;flex:none}.exerciseArea{width:100%;max-width:650px;margin:0 auto}.exerciseArea>.eyebrow{color:var(--sub);font-size:10px;margin-bottom:15px}.exerciseArea h2{font-size:27px;line-height:1.35;font-weight:800;margin:0 0 24px}.questionPrompt{display:flex;align-items:center;gap:20px;margin:22px 0 28px}.promptMascot{display:grid;place-items:center;font-size:55px;width:90px;height:100px;flex:none;filter:drop-shadow(0 4px 0 #0001)}.promptBubble{position:relative;border:2px solid var(--border);border-radius:18px;padding:18px 22px;font-size:22px;line-height:1.5;min-width:110px}.promptBubble .thai{font-size:27px}.promptBubble .reading{font-size:15px;margin-top:8px}.promptBubble .audioControls{margin:0}.promptBubble:before{content:'';position:absolute;left:-9px;top:35px;width:14px;height:14px;transform:rotate(45deg);border-bottom:2px solid var(--border);border-left:2px solid var(--border);background:var(--surface)}.option{width:100%;position:relative;align-items:center;color:var(--text);background:var(--surface);border-color:var(--border);font-size:17px;min-height:68px;padding:13px 16px;gap:15px}.option .choiceNumber{font-size:12px;padding:2px 7px;border:2px solid var(--border);border-radius:7px;flex:none;align-self:center;color:var(--sub)}.option .choiceContent{flex:1}.choiceContent>.thai{font-size:23px}.option .reading{font-size:14px;margin-top:3px}.option .reading>span{font-size:8px}.option.selected{background:var(--blueTint)!important;border-color:var(--blue)!important;color:var(--blue)!important}.option:hover{background:var(--surface2)}.choiceRow{display:flex;align-items:stretch;gap:8px}.choiceAudio{flex:none;align-self:center;width:43px;height:45px;border:2px solid var(--border);border-bottom-width:4px;border-radius:12px;background:var(--surface);color:var(--blue);font-size:15px}.options{gap:11px;margin-bottom:15px}.lessonInner .modalfoot{position:fixed;bottom:0;left:0;width:100%;padding:22px max(28px,calc((100vw - 980px)/2));margin:0;background:var(--surface);border-top:2px solid var(--border);min-height:111px;z-index:2}.lessonInner .modalfoot>.primary{min-width:170px}.lessonInner .modalfoot small{color:var(--sub);font-size:12px}.lessonInner .feedback{background:none;padding:0;font-size:13px;max-width:680px}.feedback strong{font-size:18px;display:inline-block;margin-bottom:4px}.feedback .reading{font-size:13px}.lessonInner .modalfoot.successFoot{background:#d7ffb8;border-color:#d7ffb8}.lessonInner .modalfoot.errorFoot{background:#ffdfdf;border-color:#ffdfdf}.errorFoot .primary{background:#ff4b4b;border-color:#cc3535}.successFoot .feedback{color:#519900}.errorFoot .feedback{color:#df4242}.errorFoot .reading{color:#b95555}.successFoot .reading{color:#5a8531}html[data-theme=dark] .lessonInner .modalfoot.successFoot{background:#1c3428;border-color:#2f5140}html[data-theme=dark] .lessonInner .modalfoot.errorFoot{background:#3d252c;border-color:#63343e}html[data-theme=dark] .successFoot .feedback,html[data-theme=dark] .successFoot .reading{color:#9bdd6f}html[data-theme=dark] .errorFoot .feedback,html[data-theme=dark] .errorFoot .reading{color:#ffaaaa}.assemblyZone{border-top:2px solid var(--border);border-bottom:2px solid var(--border);min-height:88px;padding:23px 15px;font-size:26px;margin:25px 0}.assemblyZone>span{font-family:'DM Sans';font-size:12px;color:var(--sub)}.wordBank{display:flex;gap:9px;flex-wrap:wrap;justify-content:center;margin:25px 0 10px}.wordTile{background:var(--surface);color:var(--text);border:2px solid var(--border);border-bottom-width:4px;border-radius:13px;font-size:24px;padding:9px 18px}.wordTile:disabled{background:var(--surface2);color:var(--border);border-color:var(--surface2)}.buildReading{margin-top:17px;text-align:center}.studycard{padding:5px 0 10px}.studycard .thai{font-size:34px;margin:15px 0 8px}.studycard .translation{font-size:21px}.mascotMini{font-size:55px}.grammarDetails{border:2px solid var(--border);border-radius:15px;padding:15px 18px;margin-top:20px;font-size:12px;line-height:1.8}.grammarDetails summary{cursor:pointer;font-weight:700;color:var(--text)}.grammarDetails p{color:var(--sub);margin-bottom:0}.contextPrompt{font-size:12px;color:var(--sub)}#listeningText{font-size:23px;margin:14px 0}.modalinner:not(.lessonInner){background:var(--surface);color:var(--text)}dialog{background:var(--surface);color:var(--text)}.feedback .thai{font-size:15px}html[data-theme=dark] .grammarDetails,html[data-theme=dark] .search{border-color:var(--border)}.soundtile{cursor:default}.soundtile.audioLetter{cursor:pointer}.themeToggle:active{transform:translateY(2px)}@media(min-width:1450px){.journeyLayout{gap:65px;grid-template-columns:minmax(0,680px) 310px}.pathV2{margin-left:30px}}@media(max-width:1150px){.journeyLayout{grid-template-columns:minmax(0,1fr) 240px;gap:25px}.pathV2 .step3{margin-left:60px}.pathV2 .step0{margin-left:35px}.pathV2 .step2{margin-left:35px}.courseCard h3{font-size:12px}.unitbanner h2{font-size:19px}}@media(max-width:950px){.journeyLayout{grid-template-columns:minmax(0,1fr)}.journeyLayout .rightcol{display:none}.journey{max-width:620px;margin:auto;width:100%}.pathV2{max-width:460px}.pathV2 .step3{margin-left:100px}.pathV2 .step0{margin-left:65px}.pathV2 .step2{margin-left:55px}.lessonInner{padding:25px 25px 155px}.lessonInner .modalhead{margin-bottom:28px}.lessonInner .modalfoot{padding:20px 25px}.exerciseArea h2{font-size:24px}}@media(max-width:620px){header{height:65px}.themeToggle{width:31px;height:31px;font-size:20px}.stats{gap:12px}main{padding-top:15px}.sectionSelector label{font-size:9px}.unitbanner{padding:16px 10px;gap:8px}.unitbanner h2{font-size:18px}.unitbanner p{font-size:10px}.unitbanner small{font-size:9px}.guidebtn{padding:9px;font-size:20px}.pathV2 .step0{margin-left:37px}.pathV2 .step1{margin-left:0}.pathV2 .step2{margin-left:25px}.pathV2 .step3{margin-left:55px}.pathV2 .pathnode{width:74px;height:69px}.pathV2 .pathstep{gap:16px;min-height:128px}.pathlabel strong{font-size:13px}.pathlabel span{font-size:11px}.pathlabel small{font-size:9px}.speechBubble{font-size:12px}.mascotMoment{margin-left:0}.lessonInner{padding:20px 18px 165px}.lessonInner .modalhead{gap:13px;margin-bottom:26px}.lessonInner .modalhead small{font-size:9px}.lessonInner .modalhead .bar{height:13px}.exerciseArea h2{font-size:23px}.exerciseArea>.eyebrow{font-size:9px}.questionPrompt{gap:12px;margin:15px 0 22px}.promptMascot{width:55px;font-size:40px;height:80px}.promptBubble{font-size:18px;padding:13px 16px;min-width:0}.promptBubble .thai{font-size:22px}.promptBubble .reading{font-size:13px}.option{padding:11px 12px;gap:10px;min-height:72px;font-size:15px}.choiceContent>.thai{font-size:20px}.option .reading{font-size:12px}.option .reading>span{display:block;font-size:7px;line-height:1.4}.choiceAudio{width:36px;height:42px;font-size:13px}.choiceRow{gap:6px}.lessonInner .modalfoot{padding:16px 18px;display:grid;grid-template-columns:1fr;gap:12px;min-height:112px}.lessonInner .modalfoot>.primary{width:100%;min-height:46px}.lessonInner .modalfoot small{font-size:10px}.feedback strong{font-size:16px}.lessonInner .feedback{font-size:11px}.feedback .reading{font-size:11px}.feedback .thai{font-size:13px}.wordTile{font-size:21px;padding:8px 14px}.audioBtn{padding:10px 12px}.studycard .thai{font-size:28px}.reading.large{font-size:20px}.studycard .translation{font-size:18px}.promptBubble .audioControls{gap:7px}.promptBubble .audioBtn{padding:8px}.promptBubble .audioBtn span{font-size:8px}.grammarDetails{font-size:11px}.lessonInner .modalfoot.successFoot,.lessonInner .modalfoot.errorFoot{padding-top:13px;padding-bottom:13px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.toneAudio{border:1px solid var(--border);border-bottom-width:3px;border-radius:8px;padding:4px 8px;background:var(--surface);color:var(--blue);font-size:18px}.letterListen{display:block;font-size:8px;letter-spacing:.5px;font-weight:800;color:var(--blue);margin-top:9px}.pauseOverlay{position:fixed;inset:0;background:#08171dde;z-index:9;display:grid;place-items:center;padding:25px}.pauseOverlay .card{max-width:390px;text-align:center;padding:30px;width:100%;background:var(--surface)}.pauseOverlay h2{font-size:26px;margin:15px 0}.pauseOverlay p{color:var(--sub);font-size:13px;margin-bottom:25px}.pauseOverlay .primary{width:100%}.pauseOverlay .textbutton{margin-top:15px;font-weight:700}.pauseElephant{font-size:65px}
.promptMascot .heroArt{position:static;width:110px;height:auto;opacity:1;max-width:none}.mascotMini .heroArt{position:static;display:block;width:120px;height:auto;opacity:1;margin:auto}.lessonInner .sessionTheme{width:31px;height:31px;font-size:19px;flex:none}.lessonInner .modalhead{gap:18px}@media(max-width:620px){.promptMascot .heroArt{width:78px}.lessonInner .modalhead{gap:10px}.lessonInner .sessionTheme{width:26px;height:26px;font-size:16px}.lessonInner .modalhead small{font-size:8px}.mascotMini .heroArt{width:105px}}
.option .reading>span{border:0;padding:0;border-radius:0;color:var(--sub);font-weight:800}.option:disabled{cursor:default}.reading{overflow-wrap:anywhere}.choiceContent{min-width:0}.phraseitem .thai{overflow-wrap:anywhere}.phraseactions{flex:none}
/* Reading support, stable alignment, and word assembly. */
.close{display:grid;place-items:center;padding:0;line-height:1;flex:none}.close svg{width:22px;height:22px;display:block;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round}.lessonInner .modalhead{display:grid;grid-template-columns:34px minmax(0,1fr) auto 32px;align-items:center;width:100%;gap:18px}.lessonInner .modalhead .close{width:34px;height:34px;border:0}.lessonInner .modalhead .bar{width:100%;margin:0}.lessonInner .modalhead small{align-self:center;line-height:1.2}.lessonInner .modalhead .themeToggle{margin:0;display:grid;place-items:center;padding:0;line-height:1}.assemblyZone{font-family:'DM Sans','Noto Sans Thai',sans-serif;min-height:108px;display:flex;gap:10px;align-items:flex-start;align-content:flex-start;flex-wrap:wrap;padding:18px 0}.assemblyPlaceholder{font-size:12px;color:var(--sub);padding:12px 0;line-height:1.8}.wordBank{align-items:flex-start;gap:12px;margin:24px 0 14px;min-height:110px}.tokenCell{display:flex;flex-direction:column;align-items:center;gap:7px;max-width:100%;min-width:85px}.wordTile{display:flex;flex-direction:column;align-items:center;gap:5px;max-width:100%;padding:10px 16px;min-height:79px}.wordTile .thai{font-size:25px;line-height:1.5;overflow-wrap:anywhere}.wordTile small{font-family:'DM Sans';font-size:12px;font-weight:700;color:var(--reading);line-height:1.5;max-width:200px;overflow-wrap:anywhere}.wordTile:disabled{opacity:.35;cursor:default}.wordTile:disabled small{color:var(--sub)}.tokenTools{display:flex;gap:7px}.tokenTools button{border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:var(--blue);width:28px;height:27px;font-size:12px;font-weight:800;padding:0}.assembledTile{position:relative;display:flex;flex-direction:column;gap:4px;align-items:center;background:var(--surface2);color:var(--text);border:2px solid var(--border);border-bottom-width:4px;border-radius:12px;padding:9px 24px 9px 14px;max-width:100%;min-height:74px}.assembledTile>.thai{font-size:24px;line-height:1.5}.assembledTile>small{color:var(--reading);font-size:12px;line-height:1.5}.removeGlyph{position:absolute;right:7px;top:5px;color:var(--sub);font-size:13px}.assembledTile:hover{border-color:var(--blue)}.buildReading{display:flex;flex-direction:column;gap:12px;align-items:center;margin:20px 0 15px;text-align:center}.readingHelp{border:1px solid var(--border);border-radius:10px;background:var(--surface2);color:var(--blue);font-size:11px;font-weight:700;padding:10px 13px;line-height:1.5;margin:16px auto 0;display:block}.buildReading .readingHelp{margin:0}.studycard .readingHelp{margin-top:15px}.letterOverlay{position:fixed;inset:0;background:#08171ddf;z-index:12;display:grid;place-items:center;padding:20px;backdrop-filter:blur(4px)}.letterSheet{padding:26px;max-width:680px;width:100%;background:var(--surface);color:var(--text);border-radius:20px;max-height:90dvh;overflow-y:auto;margin:auto}.letterOverlay .letterSheet{border:2px solid var(--border)}.sheetHeader{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:12px;align-items:center}.sheetHeader h2{font-size:20px;line-height:1.4}.sheetHeader .close{width:32px;height:32px;background:var(--surface2);color:var(--sub)}.breakdownWord{font-size:39px;line-height:1.7;margin:22px 0 0;text-align:center;overflow-wrap:anywhere}.letterSheet>.reading{text-align:center;margin-top:5px}.breakdownMeaning{text-align:center;color:var(--sub);font-size:13px;margin:8px 0 18px}.breakdownExplanation{font-size:13px;line-height:1.9;color:var(--sub);background:var(--surface2);padding:15px;border-radius:12px}.letterLegend{display:flex;gap:8px;flex-wrap:wrap;font-size:9px;margin:20px 0 14px}.letterLegend span{padding:5px 9px;border-radius:6px;border:1px solid currentColor}.consonant{--roleColor:#49baf4}.vowel{--roleColor:#b8a0ff}.tone{--roleColor:#e9af45}.silent{--roleColor:#92a7b2}.letterLegend>span{color:var(--roleColor)}.characterList{display:grid;gap:8px}.characterRow{display:grid;grid-template-columns:57px minmax(0,1fr);gap:15px;align-items:center;border:1px solid var(--border);border-left:4px solid var(--roleColor);padding:12px;border-radius:11px}.characterGlyph{font-size:31px;line-height:1.6;text-align:center;color:var(--roleColor)}.characterRow strong{font-size:12px}.characterRow small{display:block;color:var(--reading);font-size:11px;margin:4px 0}.characterRow p{font-size:12px;color:var(--sub);line-height:1.8;margin:4px 0 0}.letterHero{font-size:90px;text-align:center;line-height:1.5;margin:15px 0 0}.letterFacts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px;margin:23px 0}.letterFacts>div{background:var(--surface2);padding:14px;border-radius:11px;text-align:center}.letterFacts small{display:block;color:var(--sub);font-size:8px;letter-spacing:1px;margin-bottom:7px}.letterFacts strong{font-size:12px;line-height:1.7}.literacyTabs{display:flex;gap:8px;border-bottom:2px solid var(--border);margin:24px 0;overflow-x:auto;padding-bottom:13px}.literacyTabs button{border:2px solid var(--border);border-radius:12px;background:var(--surface);color:var(--sub);font-weight:800;font-size:11px;padding:11px 15px;white-space:nowrap}.literacyTabs button.active{background:var(--blueTint);border-color:var(--blue);color:var(--blue)}.literacyBody{max-width:900px}.literacyBody h2{font-size:23px;line-height:1.4}.literacyBody>.card{margin-bottom:22px}.exampleWords{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.exampleWords>button{border:2px solid var(--border);border-bottom-width:4px;background:var(--surface);color:var(--text);border-radius:12px;padding:10px 15px;min-width:83px;max-width:100%}.exampleWords .thai{display:block;font-size:25px}.exampleWords small{font-size:11px;color:var(--reading);font-weight:700;display:block;margin-top:4px}.toneTable{margin:20px 0 12px}.toneRow{display:grid;grid-template-columns:115px 75px minmax(0,1fr) 42px;gap:18px;align-items:center;padding:17px 0;border-bottom:1px solid var(--border)}.toneRow>strong{font-size:14px}.toneRow>svg{width:70px;height:35px}.toneRow svg path{stroke:#58bc25;stroke-width:3;fill:none;stroke-linecap:round}.toneWord{display:grid;grid-template-columns:75px minmax(0,1fr);gap:4px 14px;align-items:center;min-width:0}.toneWord>.thai{font-size:27px;grid-row:span 2}.toneWord>small{font-size:12px;color:var(--text)}.toneWord>em{font-size:11px;font-style:normal;color:var(--sub);overflow-wrap:anywhere}.toneListen{width:40px;height:40px;display:grid;place-items:center;border:2px solid var(--border);border-bottom-width:4px;border-radius:12px;color:var(--blue);background:var(--surface);padding:0}.alphabetIntro{font-size:12px;color:var(--sub);margin-bottom:20px}.alphabetGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.alphabetTile{border:2px solid var(--border);border-bottom-width:4px;border-radius:14px;overflow:hidden;min-width:0}.alphabetInfo{border:0;background:var(--surface);color:var(--text);display:flex;flex-direction:column;align-items:center;padding:15px 10px;width:100%;gap:7px;min-height:205px}.alphabetInfo>.thai{font-size:43px;line-height:1.5}.alphabetInfo>strong{font-size:12px;color:var(--reading);overflow-wrap:anywhere}.alphabetInfo>small{font-size:10px;color:var(--sub)}.alphabetInfo>em{font-size:10px;font-style:normal;line-height:1.6}.alphabetInfo>.classPill{font-size:8px;color:var(--sub);border:1px solid var(--border);border-radius:5px;padding:3px 6px}.alphabetAudio{border:0;border-top:1px solid var(--border);width:100%;padding:11px;background:var(--surface2);color:var(--blue);font-size:9px;font-weight:800;letter-spacing:.8px}.alphabetInfo:hover{background:var(--surface2)}.vowelGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.vowelTile{margin:0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0}.vowelSymbol{font-size:38px;line-height:1.6;color:var(--reading)}.vowelTile h3{font-size:14px;line-height:1.5}.vowelTile p{margin:0;line-height:1.6}.vowelExample{font-size:12px;margin:4px 0}.vowelExample .thai{font-size:22px;color:var(--text)}.vowelTile .secondary{margin-top:auto;width:100%;font-size:9px;padding:10px}.marksTitle{margin:30px 0 18px}.markGrid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.markTile{display:flex;gap:20px;align-items:center;margin:0}.markTile>.thai{font-size:40px;color:#e9af45}.markTile strong{font-size:10px;color:var(--sub);display:block;margin-top:6px}.markTile p{font-size:11px;margin:7px 0 0}.productionArea>p{color:var(--sub);font-size:14px;line-height:1.9}.productionArea>label{display:block;font-size:12px;font-weight:700;margin:25px 0 9px}.productionInput{width:100%;resize:vertical;min-height:125px;max-height:350px;border:2px solid var(--border);border-bottom-width:4px;border-radius:14px;padding:16px;background:var(--surface);color:var(--text);font-size:17px;line-height:1.8;font-family:'DM Sans','Noto Sans Thai'}.productionArea #modelAnswer{margin:20px 0;border:2px solid var(--border);border-radius:15px;padding:20px}.modelThai{font-size:23px;line-height:1.8;margin:15px 0 8px}.productionArea #modelAnswer>p{font-size:13px;color:var(--sub)}.selfCheck{display:flex;align-items:center;gap:10px;font-size:12px;line-height:1.7;margin:22px 0}.selfRating{display:flex;gap:12px;flex-wrap:wrap}.selfRating button{flex:1;font-size:10px;min-width:160px;min-height:47px}.skipProduction{display:block;margin:0 0 18px;font-size:10px}.writingHistory{margin-top:25px}.writingHistory>p{font-size:12px}.writingHistory details{border-top:1px solid var(--border);padding:15px 0}.writingHistory summary{font-size:12px;font-weight:700;cursor:pointer;line-height:1.7}.savedDraft{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text)!important;font-size:16px!important}.writingHistory small{display:block;color:var(--sub);font-size:10px}html[data-theme=light] .consonant{--roleColor:#1382b8}html[data-theme=light] .vowel{--roleColor:#7957c8}html[data-theme=light] .tone{--roleColor:#ae7611}html[data-theme=light] .silent{--roleColor:#6d818a}@media(max-width:1100px){.alphabetGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.toneRow{grid-template-columns:92px 65px minmax(0,1fr) 40px;gap:12px}.toneRow>strong{font-size:12px}.toneWord{grid-template-columns:64px minmax(0,1fr);gap:3px 10px}.toneWord>.thai{font-size:24px}.vowelGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.lessonInner .modalhead{grid-template-columns:28px minmax(0,1fr) auto 28px;gap:10px}.lessonInner .modalhead .close{width:28px;height:28px}.close svg{width:20px;height:20px}.letterSheet{padding:20px 18px;max-height:92dvh;border-radius:15px}.letterOverlay{padding:12px}.sheetHeader h2{font-size:18px}.characterRow{gap:11px;grid-template-columns:45px minmax(0,1fr);padding:10px}.characterRow strong{font-size:11px}.characterRow p{font-size:11px}.characterRow small{font-size:10px}.breakdownWord{font-size:33px}.breakdownExplanation{font-size:12px}.letterFacts{gap:6px}.letterFacts>div{padding:11px 7px}.letterFacts strong{font-size:11px}.literacyBody h2{font-size:21px}.toneRow{grid-template-columns:78px 47px minmax(0,1fr) 35px;gap:9px;padding:14px 0}.toneRow>strong{font-size:11px}.toneRow>svg{width:46px;height:32px}.toneWord{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.toneWord>.thai{font-size:24px;line-height:1.3}.toneWord>small{font-size:11px}.toneWord>em{font-size:10px;line-height:1.5}.toneListen{width:33px;height:36px;border-radius:9px;font-size:11px}.toneCard{padding:18px 14px}.alphabetGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.alphabetInfo{min-height:198px}.markGrid{grid-template-columns:1fr}.vowelGrid{gap:10px}.vowelTile{padding:15px 12px}.vowelTile h3{font-size:12px}.vowelTile p{font-size:10px}.wordBank{gap:9px;min-height:110px}.wordTile{padding:10px 13px;min-height:74px}.wordTile .thai{font-size:22px}.wordTile small{font-size:11px;max-width:150px}.assemblyZone{min-height:105px;gap:8px}.assembledTile{padding:8px 20px 8px 11px;min-height:70px}.assembledTile>.thai{font-size:21px}.assembledTile>small{font-size:11px}.buildReading .reading{font-size:14px}.readingHelp{font-size:10px}.selfRating{display:grid;grid-template-columns:1fr;width:100%}.productionArea>p{font-size:12px}.productionArea #modelAnswer{padding:15px}.modelThai{font-size:20px}.productionInput{font-size:16px}.exampleWords{gap:8px}.exampleWords>button{padding:9px 11px;min-width:76px}.exampleWords small{font-size:10px}.characterGlyph{font-size:28px}}
[hidden]{display:none!important}.assembledTile:disabled{cursor:default}.assembledTile:disabled:hover{border-color:var(--border)}@media(max-width:1100px){.toneWord{display:flex;flex-direction:column;align-items:flex-start;gap:3px}}
/* Sabai 4: one clear next action, comfortable touch targets and responsive lessons. */
.todayHero{border:2px solid var(--border);border-radius:24px;padding:28px 28px 0;margin-bottom:24px;display:grid;grid-template-columns:minmax(0,1fr) 140px;background:var(--surface);overflow:hidden}.todayHero h1{font-size:30px;line-height:1.15;letter-spacing:-.7px;margin:12px 0}.todayHero p{color:var(--sub);font-size:13px;margin-bottom:20px}.todayHero .eyebrow{font-size:9px;line-height:1.6;letter-spacing:1.3px}.todayHero .primary{min-height:48px}.heroBuddy{align-self:center;text-align:center}.heroBuddy .heroArt{position:static;width:160px;max-width:100%;height:auto}.heroBuddy>span{font-size:10px;color:var(--sub);display:block;line-height:1.6}.dailyStrip{grid-column:1/-1;display:flex;align-items:center;gap:14px;padding:20px 0;margin-top:20px;border-top:1px solid var(--border);font-size:11px}.dailyStrip .bar{flex:1;height:10px}.dailyStrip b{color:var(--sub);font-size:10px;white-space:nowrap}.trainingPanel{margin:0 0 28px}.panelHeading{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px;font-size:13px}.panelHeading>span{font-size:10px;color:var(--sub)}.modePicker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.modePicker button{border:2px solid var(--border);border-bottom-width:4px;border-radius:13px;padding:14px 10px;background:var(--surface);text-align:left;min-height:95px;color:var(--text)}.modePicker button.selected{border-color:var(--blue);background:var(--blueTint)}.modePicker b{font-size:12px;display:block}.modePicker small{display:block;font-size:10px;line-height:1.5;color:var(--sub);margin-top:7px}.sectionChallenge{display:grid;grid-template-columns:45px minmax(0,1fr);gap:15px;border:2px solid #9273d3;border-bottom-width:5px;padding:22px;border-radius:20px;background:var(--surface);margin:12px 0 25px}.challengeEmblem{background:#a78be926;color:#b9a0f6;display:grid;place-items:center;width:45px;height:49px;border-radius:13px;font-size:30px}.sectionChallenge small{font-size:9px;letter-spacing:1.5px;color:var(--reading);font-weight:800}.sectionChallenge h3{font-size:20px;margin:6px 0}.sectionChallenge p{font-size:12px;color:var(--sub);margin:0}.sectionChallenge button{grid-column:1/-1;min-height:48px;color:var(--reading)}.mobileSettings{display:none}.exerciseType{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--blue);font-size:10px;font-weight:800;letter-spacing:1px;margin:0 0 22px;line-height:1.6}.exerciseType>span{font-size:9px;color:var(--sub);border:1px solid var(--border);border-radius:20px;padding:5px 9px;letter-spacing:0;white-space:nowrap}.exerciseInstruction{font-size:13px;color:var(--sub);line-height:1.8}.hintButton{border:0;background:transparent;color:var(--blue);font-size:11px;font-weight:800;min-height:44px;padding:12px 0;text-align:left}.hintContent{padding:14px;border:1px dashed var(--border);border-radius:12px;font-size:13px;color:var(--sub);margin-top:8px}.optionalReading{display:none!important}.revealReadings .optionalReading{display:block!important}.clozeMeaning{font-size:21px;line-height:1.6;margin:25px 0 15px}.clozeSentence{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:30px;padding:22px 0;margin-bottom:20px;border-bottom:2px solid var(--border);line-height:1.8}.blankSlot{border:2px dashed var(--blue);color:var(--blue);border-radius:12px;min-width:85px;text-align:center;padding:0 12px}.dictationAudio{display:flex;justify-content:center;margin:32px 0}.dictationAudio .audioBtn{min-height:65px;padding:15px 23px}.exerciseArea>label{font-size:12px;display:block;margin-bottom:10px;color:var(--sub)}.errorTip{display:block;margin-top:8px;line-height:1.5}.feedbackAudio{border:0;background:transparent;font-size:10px;letter-spacing:.5px;font-weight:800;color:inherit;padding:12px 0;min-height:42px}.resultHints{font-size:13px;color:var(--sub)}.lessonInner .modalfoot{position:sticky;bottom:0;left:auto;right:auto;width:100%;margin-top:auto;z-index:3}.lessonInner{min-height:100dvh;display:flex;flex-direction:column;padding-bottom:0!important}.lessonInner .exerciseArea{flex:1;padding-bottom:30px}.lessonMode #modalBody{min-height:100%;height:auto}.lessonMode{height:100dvh;max-height:100dvh;overflow:auto}.modalhead{flex-shrink:0}.exerciseArea,.choiceContent,.journey,.rightcol{min-width:0}.option .thai{overflow-wrap:anywhere}.option,.token,.assembledTile{touch-action:manipulation}.tokenTools button{min-width:36px;min-height:36px}.hintButton:disabled{opacity:.6}.feedback .thai{overflow-wrap:anywhere}button:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media(min-width:1101px){.journeyLayout{grid-template-columns:minmax(0,660px) 290px;gap:36px}.workspace main{max-width:1110px}.rightcol{padding-top:0}.pathV2{max-width:470px;margin-left:auto;margin-right:auto}.lessonInner{max-width:850px;margin:auto}.lessonInner .modalfoot{padding-left:0;padding-right:0}.lessonMode{background:var(--bg)}}
@media(max-width:760px){#sidebar{position:fixed;inset:auto 0 0;width:100%;height:auto;padding:0;background:var(--surface);border:0;border-top:2px solid var(--border);z-index:8;display:block;padding-bottom:env(safe-area-inset-bottom)}#sidebar>.brand,#sidebar>.course,#sidebar>.sidebarbottom,#sidebar>.profile{display:none}#sidebar nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:6px 6px 8px;overflow:visible}#sidebar nav button{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:8px 2px;min-height:57px;font-size:10px;border:0;border-radius:12px;white-space:nowrap}#sidebar nav i{font-size:23px;width:auto;line-height:1.2}#sidebar nav b{position:absolute;top:1px;right:10px;min-width:16px;font-size:8px;padding:2px 4px}#sidebar nav b:empty{display:none}.workspace{margin-left:0;padding-bottom:90px}header{height:65px;padding:0 20px;position:sticky;top:0;z-index:6;background:var(--bg);border-color:var(--border)}header .breadcrumb{font-size:0;display:block}header .breadcrumb:before{content:'sabai.';font:800 27px Outfit;color:var(--green);letter-spacing:-1px}header .breadcrumb b{display:none}.stats{gap:14px}.stats .avatar,.stats em{display:none}.stats .mobileSettings{display:grid;place-items:center}.workspace main{padding:20px 18px 30px}.journeyLayout{display:block}.rightcol{display:none}.todayHero{padding:21px 20px 0;grid-template-columns:minmax(0,1fr) 98px;border-radius:20px;margin-bottom:25px}.todayHero h1{font-size:27px}.todayHero p{font-size:12px;line-height:1.6}.todayHero .eyebrow{font-size:8px}.heroBuddy .heroArt{width:110px;max-width:110px}.heroBuddy>span{font-size:8px}.dailyStrip{font-size:10px;gap:10px;padding:15px 0}.panelHeading{font-size:12px}.modePicker button{padding:11px 9px;min-height:104px}.modePicker b{font-size:11px}.modePicker small{font-size:9px}.sectionSelector{margin-bottom:17px}.sectionSelector select{font-size:13px;min-height:48px;max-width:100%}.unitbanner{padding:18px 13px;gap:10px;border-radius:16px}.unitbanner h2{font-size:21px}.unitbanner p{font-size:11px;line-height:1.6}.pathV2 .pathstep{min-height:130px;gap:18px}.pathlabel strong{font-size:15px}.pathlabel span{font-size:12px;line-height:1.5}.pathlabel small{font-size:10px}.sectionChallenge{padding:20px 17px}.sectionChallenge h3{font-size:20px}.journeyFoot .secondary{width:100%;min-height:48px}.lessonInner{padding:18px 18px 0}.lessonInner .exerciseArea{padding-bottom:20px}.lessonInner .modalhead{margin-bottom:25px}.lessonInner .modalfoot{padding:15px 0 calc(16px + env(safe-area-inset-bottom));background:var(--bg);gap:8px;border-top:2px solid var(--border)}.lessonInner .modalfoot.successFoot,.lessonInner .modalfoot.errorFoot{padding-left:14px;padding-right:14px;border-radius:14px 14px 0 0}.lessonInner .modalfoot>.primary{min-height:50px;font-size:13px}.lessonInner .feedback{font-size:12px}.lessonInner .feedback .thai{font-size:18px}.lessonInner .feedback .reading{font-size:12px}.exerciseArea h2{font-size:26px;line-height:1.3}.exerciseArea .eyebrow{display:none}.exerciseType{font-size:9px;letter-spacing:.6px}.option{min-height:68px;padding:13px;font-size:16px;border-radius:14px}.choiceContent>.thai{font-size:23px}.choiceAudio{width:44px;height:48px}.clozeSentence{font-size:26px}.productionInput{min-height:115px}.lessonInner .modalhead .close,.lessonInner .sessionTheme{width:36px;height:36px}.lessonInner .modalhead{grid-template-columns:36px minmax(0,1fr) auto 36px;gap:9px}.letterOverlay{padding:10px}.letterSheet{max-height:94dvh}.exerciseInstruction{font-size:12px}.buildReading{align-items:flex-start;text-align:left}.feedbackAudio{min-height:36px;padding:8px 0}.errorTip{font-size:11px}.dictationAudio{margin:24px 0}}
@media(max-width:360px){.workspace main{padding-left:12px;padding-right:12px}.todayHero{grid-template-columns:minmax(0,1fr) 76px;padding-left:15px;padding-right:15px}.heroBuddy .heroArt{width:85px;max-width:85px}.todayHero h1{font-size:24px}.panelHeading>span{display:none}.stats{gap:9px}.lessonInner{padding-left:13px;padding-right:13px}.modePicker{gap:5px}.modePicker small{font-size:9px}.toneRow{gap:5px;grid-template-columns:65px 35px minmax(0,1fr) 33px}.toneRow>svg{width:35px}}
.withoutReading:not(.revealReadings) .assembledTile>small{display:none}.withoutReading:not(.revealReadings) .assembledTile{min-height:52px}
@media(max-width:760px){header:before{content:none}header{justify-content:space-between}}
.mobilePreviewButton{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--surface);border:2px solid var(--border);border-bottom-width:4px;border-radius:11px;padding:8px 12px;color:var(--blue);font-size:11px;font-weight:800;white-space:nowrap;min-height:40px}.mobilePreviewButton>span{font-size:21px;line-height:1}.mobilePreviewButton:hover{background:var(--blueTint)}#mobilePreview{width:min(440px,calc(100vw - 20px));max-width:none;height:auto;max-height:100dvh;border:0;border-radius:22px;padding:16px;background:var(--surface2);color:var(--text);overflow:hidden;margin:auto;box-shadow:0 25px 100px #0006}#mobilePreview::backdrop{background:#07151ce8;backdrop-filter:blur(5px)}.phonePreviewToolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 4px 12px}.phonePreviewToolbar strong{display:block;font-family:Outfit,sans-serif;font-size:19px}.phonePreviewToolbar small{display:block;color:var(--sub);font-size:10px;margin-top:3px}.phonePreviewClose{background:var(--surface);border:1px solid var(--border);border-bottom-width:3px;border-radius:10px;padding:10px 12px;color:var(--text);font-size:12px;min-height:42px}.phonePreviewFrame{width:min(390px,100%);height:min(780px,calc(100dvh - 135px));margin:auto;border:2px solid var(--border);border-radius:22px;overflow:hidden;background:var(--bg)}.phonePreviewFrame iframe{display:block;width:100%;height:100%;border:0}.phonePreviewNote{font-size:10px;text-align:center;color:var(--sub);margin:10px 0 0;line-height:1.4}@media(max-width:480px){.mobilePreviewButton{padding:7px;font-size:9px;gap:4px}.mobilePreviewButton>span{font-size:17px}header .stats{gap:7px}header{padding-left:12px;padding-right:12px}header .breadcrumb:before{font-size:23px}.stats .themeToggle{width:32px;height:34px;font-size:20px}.stats{font-size:12px}#mobilePreview{padding:12px;border-radius:16px}.phonePreviewToolbar strong{font-size:17px}.phonePreviewClose{padding:8px}.phonePreviewFrame{border-radius:16px}}
/* Mobile 6: separate scrolling content from fixed lesson controls. */
html{scrollbar-gutter:stable;scroll-padding-top:85px}html:has(dialog[open]){overflow:hidden}body{min-width:280px}button,a,input,textarea,select{touch-action:manipulation}input,textarea,select{max-width:100%}button{overflow-wrap:anywhere}dialog{max-height:calc(var(--app-height,100dvh) - 24px);overscroll-behavior:contain;-webkit-overflow-scrolling:touch}#modal.lessonMode{position:fixed;inset:0;margin:0;width:100%;height:var(--app-height,100dvh);max-height:var(--app-height,100dvh);padding:0;overflow:hidden;border:0;border-radius:0}#modal.lessonMode #modalBody{height:100%;min-height:0}#modal.lessonMode .lessonInner{height:100%;min-height:0;padding-top:max(18px,env(safe-area-inset-top));display:flex;flex-direction:column;overflow:hidden}#modal.lessonMode .modalhead{flex:none;margin-bottom:18px}#modal.lessonMode .exerciseArea{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding:8px 4px 24px;scroll-padding:20px}#modal.lessonMode .modalfoot{position:relative;inset:auto;flex:none;min-height:0;max-height:42%;overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(16px,env(safe-area-inset-bottom));margin:0}#modal.lessonMode .modalfoot>.primary{flex-shrink:0}.letterSheet{max-height:calc(var(--app-height,100dvh) - 28px);overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.letterSheet .sheetHeader{position:sticky;top:-26px;background:var(--surface);z-index:2;padding:12px 0}.pauseOverlay{overflow-y:auto;overscroll-behavior:contain;height:var(--app-height,100dvh)}.literacyTabs,.filters{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-padding:12px}.literacyTabs{scroll-snap-type:x proximity}.literacyTabs button{scroll-snap-align:start;min-height:44px;flex-shrink:0}.phoneInstallCard{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:13px;align-items:center;border:1px solid var(--border);border-radius:17px;padding:15px;margin:0 0 26px;background:var(--surface)}.phoneInstallCard img{border-radius:13px}.phoneInstallCard strong{font-size:13px}.phoneInstallCard p{font-size:11px;color:var(--sub);margin:4px 0 0;line-height:1.5}.phoneInstallCard button{min-height:44px;padding:10px 12px;font-size:10px}.installGuide{max-width:600px}.installGuide .sheetHeader{position:sticky;top:-30px;padding:14px 0;background:var(--surface);z-index:2;margin-bottom:16px}.installGuide .close{width:40px;height:40px}.installIcon{border-radius:20px;margin:4px 0}.installGuide>p{font-size:14px;color:var(--sub)}.installLink{display:flex;gap:10px;margin:20px 0}.installLink input{min-width:0;flex:1;border:2px solid var(--border);border-radius:12px;padding:12px;background:var(--surface2);color:var(--text);font-size:13px}.installLink button{font-size:10px;min-height:46px}.installGuide details{border:1px solid var(--border);border-radius:14px;padding:16px;margin:14px 0}.installGuide summary{font-size:16px;font-weight:800;cursor:pointer;min-height:26px}.installGuide li{font-size:14px;line-height:1.8;padding:4px 0}.installGuide ol{padding-left:21px;margin-bottom:0}.installSources{font-size:11px!important}.nativeInstall{width:100%;min-height:48px;margin:0 0 10px}.transferCard{margin-top:22px}.transferCard>p{line-height:1.8}.importLabel{display:inline-flex;cursor:pointer;align-items:center;min-height:48px}.importLabel input{position:absolute;width:1px;height:1px;opacity:0}.importLabel:focus-within{outline:3px solid var(--blue)}.confirmImport{min-height:48px}#importStatus{color:var(--text);font-size:13px}.search{font-size:16px!important}.stats>span{white-space:nowrap}.phraseitem{gap:12px}.phraseitem>div:first-child{min-width:0}.phraseitem .thai{line-height:1.7}.options{display:grid;grid-template-columns:minmax(0,1fr)}.choiceRow{min-width:0}.choiceAudio{flex:none;min-width:44px;min-height:44px}.tokenTools button{width:44px;height:44px}.sheetHeader{grid-template-columns:minmax(0,1fr) 40px}.characterRow{align-items:start}.characterRow p{overflow-wrap:anywhere}.grammarDetails summary{cursor:pointer;min-height:44px;padding:10px 0}.phonePreviewFrame{height:min(780px,calc(var(--app-height,100dvh) - 135px))}
@media(max-width:760px){html{scroll-padding-top:85px;scroll-padding-bottom:110px}header{height:calc(66px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right));gap:12px}.workspace{padding-bottom:calc(110px + env(safe-area-inset-bottom))}.workspace main{padding:20px max(18px,env(safe-area-inset-right)) 25px max(18px,env(safe-area-inset-left))}#sidebar nav{padding:7px max(6px,env(safe-area-inset-right)) 8px max(6px,env(safe-area-inset-left))}#sidebar nav button{min-height:54px;font-size:10px;gap:5px}#sidebar nav button.active{box-shadow:inset 0 0 0 1px #49baf433;background:var(--blueTint)}.stats{gap:12px}.stats .themeToggle,.mobilePreviewButton{height:42px;min-width:42px;min-height:42px;padding:7px;font-size:21px}.mobilePreviewButton .previewLabel{display:none}.todayHero{grid-template-columns:minmax(0,1fr) 85px;padding:20px 20px 0}.todayHero h1{font-size:26px;margin:10px 0;line-height:1.15}.todayHero .heroBuddy .heroArt{opacity:1;width:98px;max-width:98px}.todayHero p{font-size:12px}.heroBuddy>span{display:none}.dailyStrip{margin-top:17px;padding:14px 0}.modePicker button{min-height:96px;padding:12px 10px}.modePicker small{line-height:1.6;font-size:10px}.phoneInstallCard{grid-template-columns:42px minmax(0,1fr);gap:11px;padding:14px}.phoneInstallCard img{width:42px;height:42px}.phoneInstallCard button{grid-column:1/-1;width:100%;border-radius:10px;padding:11px;font-size:11px;min-height:44px}.pathlabel strong{font-size:16px;line-height:1.4}.pathlabel span{font-size:12px;line-height:1.7}.pathV2 .pathstep{gap:20px}.unitbanner .guidebtn{min-width:44px;min-height:48px}.unitArrow{min-width:32px;min-height:44px}.sectionSelector label{line-height:1.6}.sectionSelector select{font-size:16px;min-height:50px}.literacyBody>.lead,.lead{font-size:13px;line-height:1.8}.phraseitem .thai{font-size:24px}.phraseitem p{line-height:1.8}.phraseactions{display:flex;flex-direction:column;gap:8px}.phraseactions .iconbutton{width:44px;height:44px}.filters{display:flex;gap:8px;overflow-x:auto;flex-wrap:nowrap;padding:8px 0 14px}.filters>*{flex-shrink:0;min-height:44px}.filters select{max-width:200px;font-size:16px}.literacyTabs{margin:20px 0;padding-bottom:12px}.alphabetInfo{padding:16px 10px;min-height:206px}.alphabetInfo>strong{font-size:13px}.alphabetAudio{min-height:44px;font-size:10px}.toneRow{grid-template-columns:76px 38px minmax(0,1fr) 44px;gap:9px}.toneRow>svg{width:38px}.toneListen{width:44px;height:44px}.toneRow>strong{font-size:11px}.toneWord>.thai{font-size:26px}.toneWord>em{font-size:11px}.vowelTile p{font-size:12px;line-height:1.8}.vowelTile .secondary{min-height:44px;font-size:10px}.letterSheet .sheetHeader{top:-20px}.lessonInner .modalhead{grid-template-columns:42px minmax(0,1fr) auto 42px;gap:9px}.lessonInner .modalhead .close,.lessonInner .sessionTheme{width:42px;height:42px}.exerciseArea h2{font-size:25px;line-height:1.35}.exerciseType{margin-bottom:16px}.promptBubble{font-size:18px;line-height:1.6}.option{min-height:72px;padding:13px 12px}.choiceContent>.thai{font-size:23px;line-height:1.6}.option .reading{font-size:13px;line-height:1.6}.readingHelp{min-height:44px;font-size:11px}.audioBtn{min-height:46px}.productionInput{font-size:18px;min-height:110px}.lessonInner .modalfoot>.primary{min-height:50px;font-size:13px}.lessonInner .feedback .thai{font-size:17px;line-height:1.6}.lessonInner .feedback .reading{font-size:12px;line-height:1.5}.lessonInner .feedback strong{font-size:16px}.lessonInner .feedbackAudio{min-height:40px}#toast{bottom:calc(95px + env(safe-area-inset-bottom));max-width:calc(100vw - 32px);width:max-content;line-height:1.6}.installLink{flex-direction:column}.installLink input{font-size:16px}.installGuide .sheetHeader{top:-22px}.installGuide{padding:22px}.installGuide .note{font-size:12px;line-height:1.8}.installGuide details{padding:15px}.installGuide>p{font-size:13px}.settingsrow{gap:15px}.settingsrow label{line-height:1.7}.settingsrow select{font-size:16px}.settingsrow input[type=checkbox]{width:22px;height:22px;flex:none}.writingHistory summary{font-size:13px}}
@media(max-width:360px){header{padding-left:12px;padding-right:12px;gap:8px}.stats{gap:7px;font-size:12px}.stats .themeToggle,.mobilePreviewButton{min-width:36px;width:36px;height:40px;min-height:40px}.workspace main{padding-left:12px;padding-right:12px}.todayHero{padding:17px 15px 0;grid-template-columns:minmax(0,1fr) 65px}.todayHero h1{font-size:24px}.todayHero .heroBuddy .heroArt{width:77px;max-width:77px}.modePicker button{padding:11px 8px}.modePicker small{font-size:9px}.modePicker b{font-size:10px}.toneRow{grid-template-columns:65px 28px minmax(0,1fr) 40px;gap:5px}.toneRow>svg{width:28px}.toneListen{width:40px}.toneWord>.thai{font-size:24px}.lessonInner .modalhead{grid-template-columns:40px minmax(0,1fr) auto 40px;gap:7px}.lessonInner .modalhead .close,.lessonInner .sessionTheme{width:40px;height:40px}.exerciseArea h2{font-size:23px}.choiceNumber{display:none}.choiceContent>.thai{font-size:22px}}
@media(max-height:520px) and (orientation:landscape){#modal.lessonMode .lessonInner{padding-top:8px}#modal.lessonMode .modalhead{margin-bottom:4px}#modal.lessonMode .modalfoot{display:flex;align-items:center;gap:15px;padding:8px 0;max-height:38%}.modalfoot>#feedback{flex:1;min-width:0}.modalfoot>.primary{width:auto;min-width:150px}.lessonInner .feedback .reading,.lessonInner .errorTip{display:none}.exerciseArea h2{font-size:22px}.exerciseType{margin-bottom:8px}.pauseOverlay{align-items:start}.phonePreviewFrame{height:calc(var(--app-height,100dvh) - 125px)}}
.exerciseArea:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.exerciseArea{scrollbar-width:thin;scrollbar-color:var(--border) transparent}.exerciseArea::-webkit-scrollbar{width:5px}.exerciseArea::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}
/* SabaiTalk: lagoon blue, warm coral and gold. */
:root,html[data-theme=light]{--green:#117e89;--ink:#183d4a;--muted:#627d87;--line:#dce8eb;--bg:#f5f9fa;--surface:#fff;--surface2:#edf5f6;--border:#d6e5e9;--text:#183d4a;--sub:#627d87;--blue:#157e99;--blueTint:#e1f4f7;--greenTint:#d9f3eb;--reading:#7a558f;--light:#d9f0f1;--accent:#eb8b75;--coin:#a06b08}html[data-theme=dark]{--green:#32bac4;--ink:#ebf8fa;--muted:#a5c2ca;--line:#2b4b59;--bg:#10232e;--surface:#142d39;--surface2:#1b3947;--border:#325363;--text:#ebf8fa;--sub:#abc4cc;--blue:#67d0dc;--blueTint:#214855;--greenTint:#19473f;--reading:#d5b8e6;--light:#204653;--accent:#f4a38c;--coin:#ffd078;color-scheme:dark}body{color:var(--text);background:var(--bg)}.brand{font-size:26px;color:var(--green);letter-spacing:-.8px;gap:7px}.branddot{color:var(--accent);margin:0}.brandicon{background:var(--green);width:30px;height:34px;font-size:25px;line-height:32px}.primary{background:#117e89;border-bottom-color:#095763;color:#fff;transition:transform .12s ease,background-color .15s ease,box-shadow .15s ease}.primary:hover{background:#168d98}.primary:active{transform:translateY(2px);border-bottom-width:2px}.primary:disabled{background:var(--surface2);border-color:var(--border);color:var(--sub);transform:none}.unitbanner,html[data-theme=dark] .unitbanner{background:#17667b;color:#fff;border:1px solid #398a9c}.unitbanner small{color:#c8eef0}.bar>div{background:#25a9b5}.pathnode.current,.done .pathnode,html[data-theme=dark] .pathnode.current,html[data-theme=dark] .done .pathnode{background:#24a5b2;border-bottom-color:#13737e}.pathnode.current{outline-color:#b9e8ed}html[data-theme=dark] .pathnode.current{outline-color:#285d6e}.startBubble{color:var(--green);border-color:var(--border);background:var(--surface)}.week b.on{background:#249f99;color:#fff}.chest{color:var(--coin)}.goalhead span{color:var(--accent)}.branddot{display:inline}.successFoot,.lessonInner .modalfoot.successFoot{background:var(--greenTint);border-color:#2e967d}.successFoot .feedback,.successFoot .reading{color:#1c715b}html[data-theme=dark] .successFoot .feedback,html[data-theme=dark] .successFoot .reading{color:#a0e9cf}.errorFoot,.lessonInner .modalfoot.errorFoot{background:#fbe7e3;border-color:#e0a497}.errorFoot .primary{background:#c76b58;border-color:#9a4d3d}.errorFoot .feedback,.errorFoot .reading{color:#984b3b}html[data-theme=dark] .errorFoot{background:#4b3035}html[data-theme=dark] .errorFoot .feedback,html[data-theme=dark] .errorFoot .reading{color:#ffc1b1}.option.correct{border-color:#2a9b88;background:var(--greenTint)}.option.wrong{border-color:#dc8a77;background:#f7e1dc;color:#984b3b}.earnedCoins{background:var(--blueTint);border:1px solid var(--border);border-radius:15px;padding:18px;color:var(--coin);font-weight:800;text-align:center;margin:18px 0}.wallet{border:1px solid var(--border);border-bottom-width:3px;border-radius:12px;background:var(--surface2);padding:9px 12px;color:var(--coin);font-weight:800;white-space:nowrap;min-height:42px;display:flex;align-items:center;gap:6px}.wallet span{font-size:15px}.coinBalance{padding:30px;text-align:center;display:flex;flex-direction:column;gap:8px}.coinBalance>span{font-size:48px;color:var(--coin)}.coinBalance strong{font:800 44px Outfit}.coinBalance small{color:var(--sub)}.shopItem{display:grid;grid-template-columns:55px minmax(0,1fr);gap:16px;border:2px solid var(--border);border-radius:20px;padding:20px}.freezeIcon{font-size:44px;color:var(--blue)}.shopItem h3{font-size:20px}.shopItem p,.rewardRules{font-size:13px;color:var(--sub);line-height:1.8}.shopItem b{font-size:12px;color:var(--blue)}.shopItem button{grid-column:1/-1;width:100%;min-height:48px}.rewardLog>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid var(--border);font-size:13px}.rewardLog small{display:block;color:var(--sub);font-size:10px;margin-top:4px}.rewardLog b{color:var(--coin);white-space:nowrap}.profileHero{border-radius:24px;border:1px solid var(--border);padding:28px;background:var(--surface);display:grid;grid-template-columns:90px minmax(0,1fr);gap:20px;align-items:center;margin-bottom:27px}.profileAvatar{display:grid;place-items:center;width:88px;height:88px;border:4px solid var(--surface);outline:3px solid var(--blue);border-radius:50%;background:var(--blueTint);font-size:48px}.profileHero h1{font-size:28px;margin:0 0 6px;overflow-wrap:anywhere}.profileHero p{font-size:12px;color:var(--sub);margin:0 0 7px}.profileHero span{font-size:12px}.profileHero>button{grid-column:1/-1;min-height:46px}.badgeSection{margin:20px 0 28px}.badgeSection h2{font-size:22px}.badgeGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.achievement{border:1px solid var(--border);border-radius:17px;text-align:center;padding:20px 10px;background:var(--surface2);opacity:.55}.achievement.unlocked{opacity:1;background:var(--surface);border-color:var(--accent)}.achievement>span{font-size:38px;display:block;filter:grayscale(1)}.achievement.unlocked>span{filter:none}.achievement strong{font-size:12px;display:block;margin:10px 0 5px}.achievement small{font-size:10px;color:var(--sub)}.profileStats{grid-template-columns:1fr 1fr}.avatarPicker{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0 25px}.avatarPicker button{font-size:38px;min-height:76px;border:2px solid var(--border);border-radius:15px;background:var(--surface2)}.avatarPicker button.selected{border-color:var(--blue);background:var(--blueTint)}.profileNameLabel{display:block;margin:25px 0 10px;font-weight:700}.voiceEntry{display:grid;grid-template-columns:55px minmax(0,1fr);gap:16px;padding:23px;border:1px solid var(--border);border-radius:22px;background:var(--surface);margin:0 0 24px}.voiceEntryIcon{width:55px;height:55px;display:grid;place-items:center;border-radius:18px;background:var(--blueTint);color:var(--blue);font-size:31px}.voiceEntry small{color:var(--accent);font-size:9px;font-weight:800;letter-spacing:1px}.voiceEntry h3{font-size:23px;margin:7px 0}.voiceEntry p{font-size:12px;color:var(--sub);margin:0}.voiceEntry>.primary{grid-column:1/-1;min-height:48px;width:100%}.voiceMascot{text-align:center}.voiceMascot .heroArt{position:static;width:160px;height:auto;opacity:1}.voiceLobby>p{font-size:14px;color:var(--sub);line-height:1.8}.sceneList{display:grid;gap:13px;margin:24px 0}.sceneList button{display:flex;align-items:center;gap:16px;text-align:left;background:var(--surface2);color:var(--text);border:2px solid var(--border);border-bottom-width:4px;border-radius:17px;padding:18px;min-height:85px}.sceneList button>span{font-size:32px}.sceneList button>div{flex:1}.sceneList strong{display:block;font-size:16px}.sceneList small{font-size:12px;display:block;color:var(--sub);line-height:1.6;margin-top:6px}.sceneList b{font-size:21px;color:var(--blue)}.voicePrivacy{padding:15px;background:var(--surface2);border-radius:13px;font-size:12px!important}.callHeader{display:flex;align-items:center;gap:12px;flex:none;margin-bottom:15px}.callAvatar{background:var(--blueTint);border-radius:50%;width:44px;height:44px;display:grid;place-items:center;font-size:28px}.callHeader>div:nth-child(2){flex:1}.callHeader strong{display:block;font-size:16px}.callHeader small{font-size:11px;color:var(--sub);display:block;margin-top:3px}.hangup{width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:#c26559;color:#fff;font-size:24px;transform:rotate(135deg)}.voiceStage{text-align:center;margin:0 auto 22px}.voiceStage .heroArt{position:static;width:150px;height:auto;opacity:1;display:block;margin:auto}.callStatus{font-size:10px;letter-spacing:1px;color:var(--blue);font-weight:800}.botSpeech{padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:20px;margin:15px 0 25px}.botSpeech>small{font-size:9px;letter-spacing:1.5px;color:var(--accent);font-weight:800}.botSpeech>.thai{font-size:30px;line-height:1.7;margin-top:8px}.botSpeech p{font-size:14px;color:var(--sub)}.callArea h2{font-size:25px}.callTip{font-size:13px;color:var(--sub);line-height:1.8}.callModel{padding:15px;border:1px dashed var(--border);border-radius:14px;margin:20px 0}.callModel summary{font-size:11px;font-weight:800;color:var(--blue);cursor:pointer;min-height:32px;line-height:1.7}.callModel>.thai{font-size:26px;line-height:1.7}.callModel p{font-size:13px}.callArea>label{display:block;font-size:12px;color:var(--sub);margin:20px 0 10px}#voiceStatus{font-size:12px;color:var(--sub);line-height:1.7}.callControls{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;gap:12px}.micButton{border:2px solid var(--blue);border-bottom-width:4px;border-radius:14px;color:var(--blue);background:var(--blueTint);font-weight:800;font-size:12px;padding:12px 16px;min-height:50px}.micButton.listening{background:#b25356;color:white;border-color:#b25356;animation:micPulse 1.3s ease-in-out infinite}.micButton:disabled{opacity:.5}.callResponse{border:1px solid var(--border);border-radius:16px;padding:16px;margin-top:20px}.callResponse.accepted{background:var(--greenTint)}.callResponse.needsWork{background:var(--surface2)}.callResponse strong{font-size:16px}.callResponse p{font-size:12px;line-height:1.8;color:var(--sub)}.callResponse>.thai{font-size:26px;line-height:1.7}.pronunciationHelp{display:block;border:0;background:none;color:var(--blue);font-weight:700;font-size:11px;min-height:44px;text-align:left;padding:10px 0}.pronunciationOverlay .letterSheet>p,.soundRule p{font-size:13px;color:var(--sub);line-height:1.8}.soundRule{padding:15px 0;border-bottom:1px solid var(--border)}.soundRule b{font-size:17px;color:var(--text)}.reading{line-height:1.7}.heroBuddy .heroArt,.mascotMoment .heroArt{animation:buddyFloat 5s ease-in-out infinite}.toneRow svg path{stroke:var(--green)}@keyframes buddyFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes micPulse{50%{box-shadow:0 0 0 6px #b2535625}}
@media(max-width:760px){header .breadcrumb:before{content:'SabaiTalk';font-size:20px;letter-spacing:-.7px;color:var(--green)}.stats{gap:7px}.stats>[title="Experiência"]{display:none}.wallet{min-height:40px;padding:7px 9px;font-size:12px;gap:4px}.stats .themeToggle,.mobilePreviewButton{min-width:36px;width:36px;height:40px;min-height:40px}.stats{font-size:12px}header{padding-left:13px;padding-right:13px;gap:8px}.profileHero{padding:22px 18px;grid-template-columns:70px minmax(0,1fr);gap:17px}.profileAvatar{width:68px;height:68px;font-size:38px}.profileHero h1{font-size:26px}.badgeGrid{gap:9px;grid-template-columns:repeat(3,minmax(0,1fr))}.achievement{padding:16px 6px}.achievement>span{font-size:30px}.achievement strong{font-size:10px;line-height:1.5}.achievement small{font-size:9px}.badgeSection .panelHeading{align-items:center}.badgeSection h2{font-size:21px}.badgeSection .textbutton{font-size:9px}.voiceEntry{padding:19px;gap:13px}.voiceEntry h3{font-size:22px}.callControls>.primary{min-width:0!important;width:100%;font-size:11px!important;padding:12px 10px;letter-spacing:0}.micButton{padding:10px 13px;font-size:11px}.voiceStage .heroArt{width:125px}.callArea h2{font-size:23px}.botSpeech{padding:16px}.botSpeech>.thai{font-size:27px}.shopItem{padding:17px;gap:12px;grid-template-columns:44px minmax(0,1fr)}.shopItem h3{font-size:19px}.freezeIcon{font-size:37px}.shopItem p{font-size:12px}.voiceLobby .sheetHeader h2{font-size:22px}}
@media(max-width:360px){header .breadcrumb:before{font-size:18px}.stats .themeToggle,.mobilePreviewButton{min-width:31px;width:31px;padding:4px}.stats{gap:5px}.wallet{padding:7px;min-height:40px}.stats>[title="Sequência de dias"]{font-size:10px}header{padding-left:10px;padding-right:10px}.profileHero h1{font-size:23px}.profileHero p{font-size:11px}.callControls{gap:8px}.micButton{padding:10px}.botSpeech>.thai{font-size:25px}.sceneList button{padding:14px;gap:10px}.sceneList strong{font-size:14px}}
@media(prefers-reduced-motion:reduce){.heroBuddy .heroArt,.mascotMoment .heroArt,.micButton{animation:none!important}.primary{transition:none!important}}
.bar>div{border-top-color:#67d0d6}.pronunciationHintLine{font-size:10px;color:var(--sub);line-height:1.6;margin:0 0 16px}.pronunciationHelp{font-size:12px}
.pendingLiveBadge{display:inline-block;padding:8px 12px;border:1px solid var(--accent);border-radius:20px;color:var(--accent);font-weight:800;font-size:10px;letter-spacing:1px;margin:5px 0 20px}.liveSetupSteps{padding-left:23px;font-size:14px;line-height:1.8;color:var(--sub)}.liveSetupSteps li{padding:7px 0}.voiceLobby #backFromLivePending{width:100%;min-height:48px;margin-top:15px}
/* SabaiTalk: calm rewards, readable scenes and optional friends. */
.dailyMissions{border:2px solid var(--border);border-radius:18px;margin:16px 0 24px;padding:16px 20px;background:var(--surface)}.dailyMissions summary{display:flex;justify-content:space-between;gap:12px;cursor:pointer;font-weight:800;list-style:none}.dailyMissions summary::-webkit-details-marker{display:none}.dailyMissions summary b{color:var(--green);white-space:nowrap}.dailyMissions p{font-size:13px;color:var(--muted)}.questRow{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--border);font-size:14px}.questRow b{white-space:nowrap}.missionReward{text-align:center;color:var(--green);font-weight:800}.storyShelf{padding:24px 0;margin-top:16px}.storyShelf h2{margin:4px 0;font-size:25px}.storyShelf>.panelHeading>span{font-size:36px;color:var(--green)}.storyShelf small{font-size:11px;letter-spacing:1px;color:var(--muted)}.storyShelf>p{color:var(--muted);margin:4px 0 18px}.storyGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.storyCard{text-align:left;border:2px solid var(--border);border-bottom-width:5px;border-radius:20px;background:var(--surface);padding:19px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0;color:var(--text);transition:transform .18s,border-color .18s}.storyCard:hover{border-color:var(--green);transform:translateY(-2px)}.storyCard>span{display:grid;place-items:center;background:var(--bg);border-radius:16px;width:56px;height:56px;font-size:30px}.storyCard strong{font-size:17px;line-height:1.35}.storyCard small{line-height:1.5;letter-spacing:0;font-size:12px}.storyCard>b{font-size:12px;color:var(--green);margin-top:auto}.storyReader{max-width:700px}.storyReader .sheetHeader small{font-size:11px;color:var(--muted)}.storyReader h2{font-size:24px;line-height:1.3;margin:5px 0}.storyScene{font-size:60px;text-align:center;margin:16px 0}.storyReader>p{line-height:1.7;color:var(--muted)}.storyBubble{padding:24px;border:2px solid var(--border);border-radius:20px;margin:20px 0}.storyBubble>.thai{font-size:32px;line-height:1.8;overflow-wrap:anywhere}.storyBubble>small{display:block;color:var(--muted);margin-bottom:15px}.storyBubble summary{cursor:pointer;color:var(--green);font-size:14px}.storyBubble .audioControls{margin:20px 0}.storyReader>.primary{width:100%}.storyOptions{display:grid;gap:12px;margin:24px 0}.storyOptions button{text-align:left;white-space:normal}.answerExplanation{max-width:560px;font-size:13px;margin:12px 0 2px}.answerExplanation summary{cursor:pointer;font-weight:800}.answerExplanation p{line-height:1.6}.soundPreferences{border-bottom:1px solid var(--border);padding-bottom:16px}.soundPreferences .settingsrow{border:0}.soundPreviews{display:flex;gap:8px;flex-wrap:wrap}.soundPreviews button{font-size:12px;min-height:44px;padding:10px 14px}.soundPreferences input[type=range]{max-width:160px;accent-color:var(--green)}.phraseContextIcon{flex:0 0 44px;width:44px;height:44px;display:grid;place-items:center;background:var(--bg);border-radius:14px;font-size:25px}.studyContextIcon{display:inline-grid;place-items:center;width:48px;height:48px;background:var(--bg);border-radius:15px;font-size:28px;margin-bottom:10px}.socialPanel{margin:24px 0;padding:24px}.socialPanel h2{font-size:22px;margin:0}.socialPanel p{line-height:1.6}.socialPanel .muted{font-size:13px}.socialSignIn{display:inline-flex;text-decoration:none;margin-top:12px}.friendCode{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;background:var(--bg);border-radius:16px;margin:20px 0}.friendCode small{display:block;font-size:10px;letter-spacing:1px;color:var(--muted);margin-bottom:6px}.friendCode strong{font-size:22px;letter-spacing:2px}.friendCode button{font-size:12px;padding:12px}.friendInput{display:flex;gap:10px;margin-top:8px}.friendInput .search{min-width:0;margin:0;width:100%;text-transform:uppercase}.friendInput button{font-size:12px;padding:12px 18px;white-space:nowrap}.socialPanel form>label{font-weight:700;font-size:14px}.socialToolbar{display:flex;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--border);padding-bottom:18px}.socialToolbar button{font-size:11px}.socialPanel h3{font-size:16px;margin:24px 0 12px}.friendRow{display:flex;align-items:center;gap:14px;border-top:1px solid var(--border);padding:18px 0}.friendAvatar{font-size:28px;background:var(--bg);width:48px;height:48px;display:grid;place-items:center;border-radius:16px;flex:none}.friendInfo{min-width:0;flex:1}.friendInfo strong{display:block;overflow-wrap:anywhere}.friendInfo small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.friendActions{display:flex;gap:8px;flex-wrap:wrap}.friendActions button{font-size:11px;padding:10px;min-height:44px}.friendEmpty{border:2px dashed var(--border);border-radius:16px;padding:22px;color:var(--muted);font-size:14px;line-height:1.6}.profileHero{overflow-wrap:anywhere}
@media(max-width:700px){.storyGrid{grid-template-columns:1fr}.storyCard{display:grid;grid-template-columns:50px 1fr;gap:5px 14px;padding:16px}.storyCard>span{grid-row:1/4;width:50px;height:50px;font-size:27px}.storyCard>b{margin-top:5px}.storyShelf{padding:16px 0}.storyShelf h2{font-size:23px}.dailyMissions{padding:15px;margin-top:12px}.socialPanel{padding:18px}.socialPanel h2{font-size:20px;line-height:1.35}.friendRow{flex-wrap:wrap;gap:10px}.friendActions{margin-left:58px}.friendInput{flex-wrap:wrap}.friendInput button{width:100%}.friendInput .search{width:100%}.friendCode strong{font-size:18px;letter-spacing:1px}.phraseitem{gap:10px}.phraseContextIcon{width:34px;height:38px;flex-basis:34px;font-size:23px}.storyBubble{padding:18px}.storyBubble>.thai{font-size:28px}.storyReader .sheetHeader{align-items:flex-start}.storyReader>.primary{margin-top:12px}.soundPreferences input[type=range]{max-width:120px}}
@media(prefers-reduced-motion:reduce){.storyCard{transition:none}.storyCard:hover{transform:none}}
.lessonMode .modalfoot{max-height:52%;overflow-y:auto;overscroll-behavior:contain}.answerExplanation p{max-height:100px;overflow-y:auto;overscroll-behavior:contain}
