*{box-sizing:border-box;margin:0;padding:0}button,input,select,textarea{font-family:inherit}body{font-family:var(--font-lao),system-ui,-apple-system,"Noto Sans Lao",sans-serif;background:var(--bg);color:var(--text);min-height:100vh}.btn{display:inline-flex;align-items:center;gap:6px;background:var(--accent);color:#fff;border:none;border-radius:10px;padding:10px 16px;font-size:15px;font-weight:600;cursor:pointer}.btn:hover{background:var(--accentDeep)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.ghost{background:var(--surface2);color:var(--text)}.btn.ghost:hover{background:var(--surface3)}.btn.danger{background:#dc2626}.btn.danger:hover{background:#b91c1c}.btn.sm{padding:6px 10px;font-size:13px;border-radius:8px}.input,.select,.textarea{width:100%;background:var(--surface);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:10px 12px;font-size:15px;font-family:inherit}.input:focus,.select:focus,.textarea:focus{outline:2px solid var(--accent)}.label{display:block;font-size:13px;opacity:.7;margin-bottom:6px}.field{margin-bottom:14px}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px}.adminNav{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:14px 20px;background:#111827;border-bottom:1px solid #334155;position:-webkit-sticky;position:sticky;top:0;z-index:10}.adminNav a{color:#cbd5e1;text-decoration:none;padding:8px 12px;border-radius:8px;font-weight:600;font-size:14px}.adminNav a:hover{background:#1e293b}.adminNav a.active{background:#4f46e5;color:#fff}.container{max-width:1000px;margin:0 auto;padding:24px 20px}.row{display:flex;gap:12px;align-items:center}.muted{opacity:.6;font-size:13px}.pill{font-size:12px;padding:3px 8px;border-radius:999px;font-weight:600}.pill.on{background:#dcfce7;color:#166534}.pill.off{background:#fee2e2;color:#991b1b}.err{color:#b91c1c}.err,.ok{font-size:14px}.ok{color:#15803d}.studioApp .pill.on{background:#14532d;color:#bbf7d0}.studioApp .pill.off{background:#7f1d1d;color:#fecaca}.studioApp .err{color:#fca5a5}.studioApp .ok{color:#86efac}h1.page{font-size:26px;font-weight:800;margin-bottom:4px}.studioApp{min-height:100vh;color:#f1f1f1}.sidebar,.studioApp{display:flex;background:#0f0f0f}.sidebar{width:240px;flex-shrink:0;border-right:1px solid #272727;flex-direction:column;padding:8px 0;position:-webkit-sticky;position:sticky;top:0;height:100vh}.sidebar .brand{display:flex;align-items:center;gap:10px;padding:12px 20px 14px;font-size:19px;font-weight:800}.snav{display:flex;flex-direction:column;gap:2px;padding:4px 8px}.snav a{display:flex;align-items:center;gap:16px;padding:11px 16px;border-radius:10px;color:#f1f1f1;text-decoration:none;font-size:14px;font-weight:500}.snav a .ic{font-size:19px;width:22px;text-align:center}.snav a:hover{background:#1f1f1f}.snav a.active{background:#272727;font-weight:700}.sidebar .bottom{margin-top:auto;padding:8px;border-top:1px solid #272727;display:grid;grid-gap:2px;gap:2px}.studioMain{flex:1 1;min-width:0;display:flex;flex-direction:column}.studioTop{height:56px;display:flex;align-items:center;gap:14px;padding:0 22px;border-bottom:1px solid #272727;position:-webkit-sticky;position:sticky;top:0;background:#0f0f0f;z-index:20}.studioTop .back,.studioTop .hamb{flex:0 0 auto;width:44px;height:44px;padding:0;margin-left:-6px;border:none;border-radius:50%;background:#272727;color:#f1f1f1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s ease,transform .1s ease}.studioTop .hamb{display:none}.studioTop .back:active,.studioTop .hamb:active{background:#3d3d3d;transform:scale(.94)}.studioTop .back:hover,.studioTop .hamb:hover{background:#333}.studioTop h2{font-size:20px;font-weight:700}.studioContent{padding:24px 22px 70px;max-width:1120px;width:100%}.studioApp .card{background:#212121;border:1px solid #303030;border-radius:12px}.studioApp .input,.studioApp .select,.studioApp .textarea{background:#181818;border:1px solid #303030;color:#f1f1f1;border-radius:8px}.studioApp .input:focus,.studioApp .select:focus,.studioApp .textarea:focus{outline:2px solid #3b82f6}.studioApp .btn{background:#2563eb;border-radius:8px}.studioApp .btn:hover{background:#1d4ed8}.studioApp .btn.ghost{background:#303030;color:#f1f1f1}.studioApp .btn.ghost:hover{background:#3d3d3d}.studioApp .label,.studioApp .muted{color:#aaa;opacity:1}.studioApp h1.page{font-size:22px;font-weight:800}.cardTitle{font-size:15px;font-weight:700;margin-bottom:4px}.statGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));grid-gap:14px;gap:14px}.stat{background:#212121;border:1px solid #303030;border-radius:12px;padding:18px 20px}.stat .num{font-size:30px;font-weight:800;line-height:1.1}.stat .lbl{color:#aaa;font-size:13px;margin-top:6px;display:flex;align-items:center;gap:6px}.sectionHd{font-size:15px;font-weight:700;margin:28px 2px 12px}.recentRow{display:flex;gap:12px;align-items:center;padding:10px;border-bottom:1px solid #272727;text-decoration:none;color:inherit}.recentRow:last-child{border-bottom:none}.recentRow:hover{background:#282828}.vtable{border:1px solid #303030;border-radius:12px;overflow:hidden;background:#212121}.vrow,.vthead{display:grid;grid-template-columns:minmax(0,1fr) 170px 150px auto;grid-gap:12px;gap:12px;align-items:center;padding:12px 16px}.vthead{background:#1a1a1a;color:#aaa;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #303030}.vrow{border-bottom:1px solid #272727}.vrow:last-child{border-bottom:none}.vrow:hover{background:#282828}.vcell-main{display:flex;gap:12px;align-items:center;min-width:0}.vthumb{width:120px;height:68px;border-radius:8px;overflow:hidden;background:#0f0f0f;flex-shrink:0;position:relative}.vthumb img{width:100%;height:100%;object-fit:cover}.vthumb .dur{position:absolute;right:4px;bottom:4px;background:rgba(0,0,0,.8);font-size:11px;font-weight:700;padding:1px 5px;border-radius:5px}.vtitle{font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vsub{color:#aaa;font-size:12px;margin-top:3px}.vactions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.loginPage{min-height:100vh;display:grid;place-items:center;background:#0f0f0f;padding:20px}.loginCard{width:100%;max-width:380px;background:#212121;border:1px solid #303030;border-radius:14px;padding:32px 28px}.loginPage .input{background:#181818;border:1px solid #303030;color:#f1f1f1;border-radius:8px}.loginPage .input:focus{outline:2px solid #3b82f6}.loginPage .btn{background:#2563eb;border-radius:8px}.loginPage .btn:hover{background:#1d4ed8}.loginPage .label,.loginPage .muted{color:#aaa;opacity:1}.scrim{display:none}@media (max-width:860px){.sidebar{position:fixed;left:0;top:0;z-index:60;transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0);box-shadow:0 0 40px rgba(0,0,0,.7)}.studioTop .hamb{display:inline-flex}.scrim.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:55}.vthead{display:none}.vrow{grid-template-columns:1fr;gap:10px}.vactions{justify-content:flex-start}}.kidWrap{max-width:1100px;margin:0 auto;padding:20px 18px 60px}.kidHeader{display:flex;align-items:center;gap:10px;margin-bottom:22px}.kidHeader h1{font-size:34px;font-weight:900}.sectionTitle{font-size:22px;font-weight:800;margin:26px 0 14px}.tileGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:16px;gap:16px}.catTile{border-radius:24px;padding:22px 18px;min-height:150px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;color:#fff;box-shadow:0 8px 22px rgba(0,0,0,.16);transition:transform .1s}.catTile:active{transform:scale(.96)}.hubWrap{max-width:900px;margin:0 auto;padding:10px 18px 70px}.hubGreeting{font-size:26px;font-weight:900;margin:18px 2px 22px}.hubGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));grid-gap:18px;gap:18px}.hubTile{position:relative;border-radius:26px;padding:22px 20px;min-height:185px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;color:#fff;overflow:hidden;box-shadow:0 10px 26px rgba(0,0,0,.16);transition:transform .12s ease,box-shadow .12s ease}.hubTile:before{content:"";position:absolute;top:-35%;right:-25%;width:75%;height:75%;background:radial-gradient(circle,rgba(255,255,255,.28),transparent 70%);pointer-events:none}.hubTile:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(0,0,0,.16)}.hubTile:active{transform:scale(.97)}.hubTile .emoji{font-size:62px;line-height:1;filter:drop-shadow(0 4px 8px rgba(0,0,0,.16))}.hubTile .t1{font-size:26px;font-weight:900;letter-spacing:-.01em}.hubTile .t2{font-size:14px;font-weight:600;opacity:.92;margin-top:2px}.hubSoon{opacity:.62;cursor:default}.hubSoon:hover{transform:none;box-shadow:0 10px 26px rgba(0,0,0,.16)}.hubSoon:active{transform:none}.soonBadge{position:absolute;top:12px;right:12px;z-index:1;background:rgba(0,0,0,.4);color:#fff;font-size:11px;font-weight:800;padding:4px 10px;border-radius:999px}.catTile .emoji{font-size:52px}.catTile .t1{font-size:22px;font-weight:800}.catTile .t2{font-size:13px;opacity:.85}.videoGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:18px;gap:18px}.hrow{display:flex;gap:14px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory}.hrow .vcard{flex:0 0 240px;scroll-snap-align:start}.vcard{text-decoration:none;color:inherit;display:block}.vcard .thumb{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:var(--surface2)}.vcard .thumb img{width:100%;height:100%;object-fit:cover}.vcard:active .thumb{outline:3px solid var(--accent)}.vcard .play{position:absolute;inset:0;display:grid;place-items:center;font-size:40px;opacity:0;transition:opacity .12s}.vcard:hover .play{opacity:1}.vcard .dur{position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,.75);color:#fff;font-size:12px;font-weight:700;padding:2px 7px;border-radius:7px}.vcard .progressbar{position:absolute;left:0;right:0;bottom:0;height:5px;background:rgba(255,255,255,.25)}.vcard .progressbar>span{display:block;height:100%;background:#dc2626}.vcard .vtitle{margin-top:8px;line-height:1.25}.backLink,.vcard .vtitle{font-size:16px;font-weight:700}.backLink{display:inline-flex;align-items:center;gap:6px;color:var(--muted);text-decoration:none;margin-bottom:6px}.backLink:hover{color:var(--text)}.bookGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));grid-gap:18px;gap:18px;margin-top:6px}.bookCard{text-decoration:none;color:inherit;display:block}.bookCover{aspect-ratio:3/4;border-radius:12px;overflow:hidden;background:var(--surface2);box-shadow:0 6px 18px rgba(0,0,0,.16)}.bookCover img{width:100%;height:100%;object-fit:cover}.bookCover .ph{display:grid;place-items:center;height:100%;font-size:44px}.bookCard:active .bookCover{outline:3px solid #2563eb}.bookTitle{font-size:15px;font-weight:700;margin-top:8px;line-height:1.25}.readerApp{min-height:100vh;background:var(--bg);display:flex;flex-direction:column}.readerBar{height:52px;display:flex;align-items:center;gap:12px;padding:0 12px;border-bottom:1px solid var(--line);flex-shrink:0}.readerTitle{flex:1 1;min-width:0;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.readerPage{color:var(--muted);font-size:14px;font-weight:600}.readerStage{position:relative;flex:1 1;display:grid;place-items:center;overflow:hidden;padding:8px}.readerImg{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}.tapZone{position:absolute;top:0;bottom:0;width:35%;background:none;border:none;cursor:pointer}.tapZone.left{left:0}.tapZone.right{right:0}.tapZone:disabled{cursor:default}.readerNav{display:flex;gap:12px;justify-content:center;padding:12px;flex-shrink:0}.quizWrap{max-width:640px;margin:0 auto;padding:8px 16px 60px}.quizTop{display:flex;align-items:center;gap:12px;height:52px}.quizTitle{flex:1 1;min-width:0;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quizCount{color:var(--muted);font-weight:600}.quizPrompt{font-size:34px;font-weight:900;text-align:center;padding:44px 10px;line-height:1.3}.choiceGrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.choiceBtn{padding:22px 14px;border-radius:16px;border:2px solid var(--line);background:var(--surface);color:var(--text);font-size:21px;font-weight:700;cursor:pointer;transition:transform .08s,border-color .1s}.choiceBtn:active:not(:disabled){transform:scale(.97)}.choiceBtn:hover:not(:disabled){border-color:#2563eb}.choiceBtn.correct{background:#dcfce7;border-color:#16a34a}.choiceBtn.wrong{background:#fee2e2;border-color:#dc2626}.choiceBtn:disabled{cursor:default}.quizNav{display:flex;align-items:center;justify-content:space-between;margin-top:26px}.quizDone{text-align:center;padding:40px 10px}.quizList{display:grid;grid-gap:12px;gap:12px;margin-top:6px}.quizItem{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 18px}.quizItem:active{transform:scale(.99)}.quizItem .qemoji{font-size:30px}.quizItem .qt{font-weight:700;font-size:17px}.opGrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-top:10px}.opTile{border:none;border-radius:22px;padding:30px;color:#fff;cursor:pointer;font-size:46px;font-weight:900;box-shadow:0 8px 22px rgba(0,0,0,.16)}.opTile .oplabel{display:block;font-size:15px;font-weight:700;margin-top:6px}.flashCard{width:100%;max-width:340px;aspect-ratio:3/4;margin:24px auto;perspective:1200px;cursor:pointer}.flashInner{position:relative;width:100%;height:100%;transition:transform .5s;transform-style:preserve-3d}.flashCard.flipped .flashInner{transform:rotateY(180deg)}.flashFace{position:absolute;inset:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;box-shadow:0 12px 32px rgba(0,0,0,.16);padding:20px;text-align:center}.flashFront{background:linear-gradient(145deg,#fca5a5,#dc2626);color:#fff}.flashBack{background:linear-gradient(145deg,#93c5fd,#2563eb);color:#fff;transform:rotateY(180deg)}.flashEmoji{font-size:96px;line-height:1}.flashWord{font-size:40px;font-weight:900}.flashSub{font-size:15px;opacity:.9}.speakBtn{background:rgba(0,0,0,.25);border:none;color:#fff;width:58px;height:58px;border-radius:50%;font-size:26px;cursor:pointer}.speakBtn:active{background:rgba(0,0,0,.45)}.speakBtn.sm{width:38px;height:38px;font-size:18px}.flashVi{display:flex;align-items:center;gap:10px;font-size:26px;font-weight:800}.matchGrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-top:8px}.matchCol{display:grid;grid-gap:12px;gap:12px}.matchCard{padding:18px 14px;border-radius:16px;border:2px solid var(--line);background:var(--surface);color:var(--text);font-size:22px;font-weight:700;cursor:pointer;text-align:center;min-height:72px;display:grid;place-items:center}.matchCard.sel{border-color:#2563eb;background:#dbeafe}.matchCard.matched{background:#dcfce7;border-color:#16a34a;opacity:.55;cursor:default}.matchCard.wrong{border-color:#dc2626;background:#fee2e2}.matchEmoji{font-size:42px}.listenBig{width:110px;height:110px;border-radius:50%;border:none;cursor:pointer;background:linear-gradient(145deg,#93c5fd,#2563eb);color:#fff;font-size:52px;box-shadow:0 10px 26px rgba(0,0,0,.16)}.listenBig:active{transform:scale(.95)}.memGrid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;margin-top:10px}.memCard{aspect-ratio:3/4;border-radius:14px;border:2px solid var(--line);cursor:pointer;background:var(--surface);color:var(--text);display:grid;place-items:center;padding:6px;font-weight:800;transition:background .15s,transform .08s}.memCard:not(.up){background:linear-gradient(145deg,var(--accent),var(--accentDeep));color:#fff}.memCard.up{background:var(--surface2);border-color:#2563eb}.memCard.done{background:#dcfce7;border-color:#16a34a;opacity:.6;cursor:default}.memWord{font-size:17px}.memEmoji{font-size:40px}@media (max-width:420px){.memGrid{grid-template-columns:repeat(3,1fr)}.memWord{font-size:15px}.memEmoji{font-size:34px}}.gpVideoBox{background:#000;z-index:1002}.gpVideoBox video{width:100%;height:100%;display:block;background:#000}.gpVideoBox.full{position:fixed;top:0;left:0;right:0;aspect-ratio:16/9;max-height:60vh}.gpVideoBox.full video{object-fit:cover}.gpVideoBox.mini{position:fixed;right:10px;bottom:12px;width:190px;height:107px;border-radius:10px;overflow:hidden;box-shadow:0 6px 22px rgba(0,0,0,.16);cursor:pointer}.gpVideoBox.mini video{object-fit:cover}.gpMiniBar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:7px 8px;background:linear-gradient(180deg,rgba(0,0,0,.5),transparent)}.gpMiniBtn{background:rgba(0,0,0,.55);color:#fff;border:none;width:32px;height:32px;border-radius:50%;cursor:pointer;display:grid;place-items:center;padding:0}.gpMiniBtn:active{background:rgba(0,0,0,.8)}.gpFull{position:fixed;inset:0;z-index:1001;background:var(--bg);overflow-y:auto}.gpDown{position:fixed;top:6px;left:6px;z-index:1004;background:rgba(0,0,0,.5);border:none;color:#fff;cursor:pointer;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;padding:0}.gpDown:active{background:rgba(0,0,0,.8)}.gpSpacer{width:100%;aspect-ratio:16/9;max-height:60vh}.gpInfo{padding:14px 16px 6px;max-width:1000px;margin:0 auto}.gpTitle{font-size:17px;font-weight:700;line-height:1.3}.gpMeta{color:var(--muted);font-size:13px;margin-top:6px;display:flex;align-items:center;gap:10px}.gpUpnext{padding:6px 12px 90px;max-width:1000px;margin:0 auto}.scrollFab{position:fixed;right:16px;bottom:20px;z-index:45;width:50px;height:50px;border-radius:50%;background:#ff0000;color:#fff;border:none;font-size:26px;font-weight:700;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.16)}.scrollFab:active{transform:scale(.93)}.lockOverlay{position:fixed;inset:0;z-index:9999;background:rgba(8,12,25,.97);display:grid;place-items:center;padding:24px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.lockCard{text-align:center;max-width:420px;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:34px 26px}.lockCard h2{font-size:26px;font-weight:800;margin:8px 0}.lockEmoji{font-size:72px;line-height:1}.pinBox{margin-top:22px;border-top:1px solid var(--line);padding-top:18px}.ytApp{background:var(--bg);min-height:100vh;color:var(--text)}.clamp2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ytbar{position:-webkit-sticky;position:sticky;top:0;z-index:50;gap:10px;height:56px;padding:0 16px;background:var(--bg);border-bottom:1px solid var(--line)}.ytbar,.ytbar .ytlogo{display:flex;align-items:center}.ytbar .ytlogo{gap:6px;color:var(--text);text-decoration:none;font-size:20px;font-weight:800}.ytbar .spacer{flex:1 1}.ytbar .iconBtn{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:var(--text);text-decoration:none;background:var(--surface2);transition:background .15s ease}.ytbar .iconBtn svg{display:block}.ytbar .iconBtn:hover{background:var(--surface3)}.ytbar .iconBtn:active{background:var(--line)}.searchBar{display:flex;align-items:center;gap:8px;flex:1 1;background:var(--surface2);border:1px solid var(--line);border-radius:999px;padding:8px 14px}.searchBar input{flex:1 1;background:transparent;border:none;outline:none;color:var(--text);font-size:16px;font-family:inherit}.searchBar .clear{background:none;border:none;color:var(--muted);font-size:18px;cursor:pointer}.chips{display:flex;gap:9px;overflow-x:auto;padding:12px 16px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;border:none;background:var(--surface2);color:var(--text);font-size:14px;font-weight:600;padding:8px 14px;border-radius:9px;cursor:pointer;white-space:nowrap}.chip.active{background:#f1f1f1;color:var(--bg)}.upChips{position:-webkit-sticky;position:sticky;top:min(56.25vw,60vh);z-index:6;background:var(--bg);margin:0 -12px 6px;padding:10px 12px;box-shadow:0 6px 8px -6px rgba(0,0,0,.16)}.ytMain{max-width:1000px;margin:0 auto;padding:4px 12px 60px}.railTitle{font-size:17px;font-weight:700;margin:14px 4px 10px}.rail{display:flex;gap:12px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}.rail::-webkit-scrollbar{display:none}.rail .feedCard{flex:0 0 260px}.feed{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:20px 16px;gap:20px 16px;margin-top:8px}.feedCard{text-decoration:none;color:inherit;display:block}.thumbWrap{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:var(--surface2)}.thumbWrap img{width:100%;height:100%;object-fit:cover}.thumbWrap .ph{display:grid;place-items:center;height:100%;font-size:44px}.dur{position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,.8);color:#fff;font-size:12px;font-weight:700;padding:1px 6px;border-radius:6px}.thumbWrap .pbar{position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(255,255,255,.3)}.thumbWrap .pbar>span{display:block;height:100%;background:#ff0000}.feedRow{display:flex;gap:12px;padding:12px 2px 0}.avatar{flex:0 0 auto;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:20px}.feedInfo{min-width:0}.feedTitle{font-size:15px;font-weight:600;line-height:1.3}.feedSub{font-size:13px;color:var(--muted);margin-top:3px}.player{background:#000;border-radius:0;overflow:hidden}.player video{width:100%;max-height:70vh;display:block;background:#000}.watchApp .ytbar{position:static}.watchApp .player{position:-webkit-sticky;position:sticky;top:0;z-index:40;box-shadow:0 8px 20px rgba(0,0,0,.16)}.watchApp .player video{max-height:45vh}.watchTitle{font-size:18px;font-weight:700;line-height:1.3;padding:14px 4px 6px}.watchMeta{display:flex;align-items:center;gap:10px;padding:6px 4px 14px;border-bottom:1px solid var(--line)}.upTitle{font-size:16px;font-weight:700;margin:16px 4px 12px}.unRow{display:flex;gap:10px;text-decoration:none;color:inherit;margin-bottom:12px}.unThumb{position:relative;flex:0 0 168px;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:var(--surface2)}.unThumb img{width:100%;height:100%;object-fit:cover}.unThumb .ph{display:grid;place-items:center;height:100%;font-size:30px}.unInfo{min-width:0;padding-top:2px}.unTitle{font-size:14px;font-weight:600;line-height:1.3}.unSub{font-size:12px;color:var(--muted);margin-top:4px}@media (max-width:480px){.unThumb{flex-basis:150px}}.learnerBar{display:flex;align-items:center;gap:10px;padding:0 4px 12px;font-size:15px;font-weight:700;color:var(--text)}.learnerBar .chip{font-size:12px;padding:5px 10px}.phraseList{display:grid;grid-gap:10px;gap:10px}.phraseRow{display:grid;grid-template-columns:1fr auto;grid-template-areas:"main speak" "lo speak";align-items:center;grid-gap:2px 12px;gap:2px 12px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;color:var(--text);font-family:inherit;cursor:pointer}.phraseRow:active{background:var(--surface2)}.phraseMain{font-size:19px;font-weight:700;line-height:1.35}.phraseLo{font-size:14px;opacity:.7}.phraseSpeak{font-size:22px}.phraseRow .phraseMain{grid-area:main}.phraseRow .phraseLo{grid-area:lo}.phraseRow .phraseSpeak{grid-area:speak}.chatList{display:grid;grid-gap:10px;gap:10px}.chatBubble{position:relative;display:grid;grid-gap:3px;gap:3px;max-width:86%;text-align:left;border:none;border-radius:16px;padding:12px 44px 12px 16px;color:var(--text);font-family:inherit;cursor:pointer}.chatBubble.a{justify-self:start;background:var(--surface2);border-bottom-left-radius:4px}.chatBubble.b{justify-self:end;background:var(--accent);color:#fff;border-bottom-right-radius:4px}.chatBubble .who{font-size:11px;font-weight:800;opacity:.7;letter-spacing:.08em}.chatBubble .phraseMain{font-size:18px}.chatBubble .phraseSpeak{position:absolute;right:12px;top:50%;transform:translateY(-50%)}.todayCard{background:linear-gradient(150deg,var(--accentDeep),var(--accent));border:none;border-radius:20px;color:#fff;padding:16px;margin-bottom:20px;display:flex;flex-direction:column;gap:12px}.todayTop{display:flex;align-items:center;justify-content:space-between;gap:8px}.todayLabel{font-size:13px;font-weight:700;opacity:.85;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.streakPill{flex:0 0 auto;font-size:14px;font-weight:900;padding:4px 10px;border-radius:999px;background:rgba(0,0,0,.22);color:rgba(255,255,255,.85)}.streakPill.on{background:#f59e0b;color:#1f2937}.todaySay{display:flex;flex-direction:column;gap:4px;position:relative;background:rgba(0,0,0,.25);border:none;border-radius:14px;padding:16px 44px 16px 16px;text-align:left;cursor:pointer;color:#fff}.todayVi{font-size:22px;font-weight:900;line-height:1.3}.todayLo{font-size:14px;opacity:.8}.todaySpeak{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:20px}.todayReply{display:flex;flex-direction:column;gap:3px;text-align:left;cursor:pointer;background:rgba(255,255,255,.16);border:none;border-radius:14px;padding:12px 14px;color:#fff}.replyWho{font-size:11px;opacity:.65;font-weight:700}.replyVi{font-size:16px;font-weight:700}.replyLo{font-size:13px;opacity:.75}.todayBtn{border:none;border-radius:14px;padding:16px;cursor:pointer;background:#fff;color:var(--accentDeep);font-size:17px;font-weight:900}.todayBtn:disabled{opacity:.6;cursor:default}.todayDone{border-radius:14px;padding:14px;text-align:center;background:rgba(255,255,255,.2);color:#fff;font-size:15px;font-weight:800}.todayMore{text-align:center;font-size:13px;color:rgba(255,255,255,.88);text-decoration:none}.modeSwitch{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin-bottom:16px}.modeBtn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border-radius:14px;cursor:pointer;border:2px solid var(--line);background:var(--surface);color:var(--muted)}.modeBtn.on{border-color:var(--accent);background:var(--accentSoft);color:var(--accentDeep)}.modeIcon{font-size:24px;line-height:1}.modeLo{font-size:12px;font-weight:800}.bigCta{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px;margin-bottom:20px}.bigCtaIcon{font-size:38px;line-height:1}.bigCtaT1{display:block;font-size:19px;font-weight:900}.bigCtaT2{display:block;font-size:13px;color:var(--muted);margin-top:2px}.turnCard{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;width:calc(100% - 24px);margin:12px;min-height:58vh;border:none;border-radius:24px;padding:24px 24px 46px;cursor:pointer;text-align:center;color:#fff}.turnParent{background:linear-gradient(160deg,#2563eb,#1e40af)}.turnChild{background:linear-gradient(160deg,#16a34a,#15803d)}.turnWho{font-size:15px;font-weight:900;opacity:.9;background:rgba(0,0,0,.25);padding:6px 14px;border-radius:999px}.turnVi{font-size:clamp(22px,7vw,30px);font-weight:900;line-height:1.3;overflow-wrap:anywhere}.turnLo{font-size:17px;opacity:.85}.turnNext{position:absolute;left:0;right:0;bottom:18px;font-size:13px;opacity:.7}.turnBar{display:flex;gap:8px;justify-content:center;padding:0 12px 20px;flex-wrap:wrap}.turnBar .btn{min-height:44px;display:inline-flex;align-items:center}.sceneGrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.sceneTile{display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 10px;border-radius:16px;text-decoration:none;background:var(--surface);border:2px solid var(--line);color:var(--text);text-align:center}.sceneEmoji{font-size:34px;line-height:1}.sceneName{font-size:15px;font-weight:800}.sceneCount{font-size:12px;opacity:.6}.joinWrap{max-width:380px;margin:0 auto;padding:40px 20px}.joinTitle{font-size:64px;text-align:center;margin:0}.joinSub{text-align:center;opacity:.75;margin:4px 0 24px}.joinTabs{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-bottom:20px}.joinTabs button{padding:12px;border-radius:12px;cursor:pointer;font-weight:800;font-size:15px;border:2px solid var(--line);background:var(--surface);color:var(--muted);min-height:44px}.joinTabs button.on{border-color:var(--accent);background:var(--accentSoft);color:var(--accentDeep)}.joinForm{gap:14px}.joinForm,.joinForm label{display:flex;flex-direction:column}.joinForm label{gap:6px;font-size:13px;font-weight:700;opacity:.85}.joinForm input{padding:14px;border-radius:12px;border:2px solid var(--line);background:var(--surface2);color:var(--text);font-size:16px;min-height:44px}.joinForm input:focus{outline:none;border-color:var(--accent)}.joinErr{color:#b91c1c;font-size:14px;margin:0}.joinNote{text-align:center;font-size:12px;opacity:.55;margin-top:22px;line-height:1.6}.back,.backLink,.catChip,.chip,.iconBtn,.quizNav .btn,.readerNav .btn,.searchIcon,.speakBtn,.todayMore,.ytlogo{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.todayMore{width:100%}.talkLead{font-size:14px;opacity:.75;margin:0 0 18px;line-height:1.6}.talkLeadN{opacity:.6}.talkGroup{margin-bottom:22px}.talkGroupH{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:17px;font-weight:900}.talkGroupLo{font-size:13px;font-weight:600;opacity:.55}.talkList{display:flex;flex-direction:column;gap:8px}.talkRow{display:flex;align-items:center;gap:12px;min-height:52px;padding:10px 14px;border-radius:14px;text-decoration:none;background:var(--surface);border:1px solid var(--line);color:var(--text)}.talkRowEmoji{font-size:24px;line-height:1;flex:0 0 auto}.talkRowName{flex:1 1;font-size:16px;font-weight:700}.talkRowN{font-size:12px;opacity:.5;flex:0 0 auto}.scriptLine{text-align:left;cursor:pointer}.scriptParent{border-left-color:#2563eb}.scriptChild{border-left-color:#16a34a;background:var(--childSoft)}.scriptWho{font-size:22px;line-height:1.2;flex:0 0 auto}.scriptText{display:flex;flex-direction:column;gap:3px;min-width:0}.scriptEn{font-size:19px;font-weight:800;line-height:1.35}.scriptEn,.scriptVi{overflow-wrap:anywhere}.scriptVi{font-size:15px;color:var(--vi)}.scriptLo{font-size:14px;opacity:.65;overflow-wrap:anywhere}.moreH{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:900;margin:26px 0 10px;padding-top:18px;border-top:1px solid var(--line)}.moreN{font-size:12px;font-weight:700;opacity:.5}.scriptMore{border-left-color:var(--accent);background:var(--accentSoft)}.studyBar{display:flex;gap:8px;flex-wrap:wrap;padding:0 12px 12px;align-items:center}.studyBar .chip.on{background:var(--accentSoft);color:var(--accentDeep)}.scriptLine{display:flex;gap:12px;align-items:flex-start;width:100%;border:none;border-left:4px solid transparent;border-radius:12px;padding:14px;margin-bottom:8px;color:var(--text);background:var(--surface);flex-wrap:wrap}.scriptBody{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:3px;background:none;border:none;color:inherit;text-align:left;cursor:pointer;padding:0;min-height:44px;justify-content:center}.scriptKnown{opacity:.55}.scriptHidden{font-size:17px;font-weight:700;color:var(--accent);letter-spacing:1px}.scriptTick{flex:0 0 auto;width:44px;min-height:44px;font-size:22px;background:none;border:none;cursor:pointer;color:var(--muted);display:inline-flex;align-items:center;justify-content:center}.scriptTick.on{color:#16a34a}.scriptJudge{display:flex;gap:8px;width:100%;margin-top:4px}.judgeNo,.judgeYes{flex:1 1;min-height:44px;border:none;border-radius:12px;font-size:15px;font-weight:800;cursor:pointer}.judgeYes{background:var(--accent);color:#fff}.judgeNo{background:var(--surface2);color:var(--text)}.quizTop,.readerBar,.stickyHead,.talkHead{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}.talkHead .studyBar{padding-bottom:10px}.talkHead .quizTop{position:static;border-bottom:none}:root{color-scheme:light;--bg:#f7fbfd;--surface:#ffffff;--surface2:#e9f1f4;--surface3:#dbe7ec;--line:#d9e8ee;--text:#121e24;--muted:#55676f;--accent:#0b7fa3;--accentDeep:#075e7a;--accentSoft:#dcf3fa;--childSoft:#f1faf2;--vi:#b45309;--tabH:58px;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px)}body{padding-top:var(--sat)}body:before{content:"";position:fixed;top:0;left:0;right:0;height:var(--sat);background:var(--bg);z-index:60;pointer-events:none}.largeTitle,.quizTop,.readerBar,.stickyHead,.talkHead,.watchApp .player,.ytbar{top:var(--sat)}.upChips{top:calc(min(56.25vw, 60vh) + var(--sat))}*{-webkit-tap-highlight-color:transparent}[role=button],[role=tab],a,button{touch-action:manipulation}.bigCta,.chip,.hubTile,.quickTile,.sceneTile,.segment button,.setRow,.tab,.talkRow,.whoChip,button{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}.bigCta,.chip,.hubTile,.judgeNo,.judgeYes,.quickTile,.sceneTile,.scriptTick,.segment button,.setRow,.tab,.talkRow,.todayBtn,.whoChip{transition:transform .1s ease,opacity .1s ease}.bigCta:active,.chip:active,.hubTile:active,.judgeNo:active,.judgeYes:active,.quickTile:active,.sceneTile:active,.scriptTick:active,.segment button:active,.setRow:active,.talkRow:active,.todayBtn:active,.whoChip:active{transform:scale(.97)}.tab:active{opacity:.6}@media (display-mode:standalone){body,html{overscroll-behavior-y:none}}.pageEnter{animation:pageIn .18s ease-out backwards}@keyframes pageIn{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.pageEnter{animation:none}}.tabBar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(5,1fr);height:calc(var(--tabH) + var(--sab));padding-bottom:var(--sab);background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);border-top:1px solid var(--line)}.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:44px;text-decoration:none;color:var(--muted);font-size:11px;font-weight:700}.tabIcon svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tab.on{color:var(--accent)}.tab.on .tabIcon svg{stroke-width:2.3}.tabLabel{line-height:1.1;white-space:nowrap}.tabSpacer{height:calc(var(--tabH) + var(--sab) + 12px)}body:has(.tabBar) .gpVideoBox.mini{bottom:calc(var(--tabH) + var(--sab) + 12px)}.largeTitle{padding:10px 18px}.ltSub{font-size:13px;font-weight:700;color:var(--muted)}.ltMain{font-size:30px;font-weight:900;line-height:1.15;margin:2px 0 0;color:var(--text)}.whoRow{display:flex;gap:8px;overflow-x:auto;margin-bottom:14px;padding-bottom:2px}.whoChip{flex:0 0 auto;min-height:44px;padding:0 16px;border-radius:999px;border:2px solid var(--line);background:var(--surface);color:var(--muted);font-size:15px;font-weight:800;cursor:pointer}.whoChip.on{border-color:var(--accent);color:var(--accentDeep);background:var(--accentSoft)}.quickRow{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.quickTile{display:flex;flex-direction:column;gap:4px;padding:16px;min-height:108px;border-radius:18px;background:var(--surface);border:1px solid var(--line);color:var(--text);text-decoration:none}.qtIcon{font-size:28px;line-height:1}.qtT1{font-size:15px;font-weight:900;margin-top:4px}.qtT2{font-size:12px;color:var(--muted)}.setGroup{margin-bottom:22px}.setHead{font-size:13px;font-weight:800;color:var(--muted);margin:0 4px 8px}.setNote{margin:8px 4px 0;line-height:1.5}.setFoot,.setNote{font-size:12px;color:var(--muted)}.setFoot{text-align:center;opacity:.7;margin:26px 0 8px}.setList{border-radius:14px;overflow:hidden;background:var(--surface);border:1px solid var(--line)}.setRow{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:0 14px;background:none;border:none;color:var(--text);font-size:16px;text-align:left;cursor:pointer}.setRow+.setRow{border-top:1px solid var(--line)}.setRow.static{cursor:default}.setRow.danger{color:#dc2626}.setRowIcon{font-size:20px;width:26px;text-align:center}.setRowText{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setRowEnd{color:var(--accent);font-weight:900;font-size:18px}.setCard{padding:14px;font-size:14px;line-height:1.7;color:var(--text)}.segment,.setCard{border-radius:14px;background:var(--surface);border:1px solid var(--line)}.segment{display:grid;grid-template-columns:1fr 1fr;grid-gap:4px;gap:4px;padding:4px}.segment button{min-height:44px;border:none;border-radius:10px;background:none;color:var(--muted);font-size:16px;font-weight:800;cursor:pointer}.segment button.on{background:var(--accent);color:#fff}.bottomBar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;gap:8px;margin:0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:10px 12px calc(10px + var(--sab));background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);border-top:1px solid var(--line)}.bottomBar::-webkit-scrollbar{display:none}.bottomBar .btn,.bottomBar .chip{flex:1 0 auto;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.quizNav.bottomBar{justify-content:space-between}.quizNav.bottomBar .btn{flex:0 0 auto;padding-left:22px;padding-right:22px}.quizNav.bottomBar span{min-width:0;overflow-wrap:anywhere}.hasBottomBar{padding-bottom:calc(76px + var(--sab))!important}.readerApp .readerNav{border-top:1px solid var(--line);background:var(--bg);padding-bottom:calc(12px + var(--sab))}.readerApp .readerNav .btn{flex:1 1;min-height:44px;justify-content:center}.quizTop .back,.readerBar .back,.ytbar .back{flex:0 0 auto;width:44px;height:44px;padding:0;margin-left:-6px;border:none;border-radius:50%;background:var(--surface2);color:var(--text);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;transition:background .12s ease,transform .1s ease}.quizTop .back:active,.readerBar .back:active,.ytbar .back:active{background:var(--surface3);transform:scale(.94)}.review{margin:4px 0 22px}.reviewHead{position:-webkit-sticky;position:sticky;top:var(--sat);z-index:20;display:flex;align-items:center;gap:8px;margin:-4px -18px 10px;padding:8px 18px;background:var(--bg);border-bottom:1px solid var(--line)}.reviewTitle{font-size:17px;font-weight:900}.reviewN{font-size:13px;font-weight:700;color:var(--muted)}.reviewHead .spacer{flex:1 1}.reviewSizes{grid-template-columns:repeat(3,1fr);padding:3px;gap:3px}.reviewSizes button{min-height:40px;min-width:40px;font-size:14px;border-radius:9px}.reviewShuffle{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--surface);font-size:18px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.reviewShuffle:active{background:var(--surface2)}.reviewItem{margin-bottom:6px}.reviewItem .scriptLine{margin-bottom:0;border:1px solid var(--line);border-left-width:4px}.reviewFrom{display:inline-flex;align-items:center;min-height:36px;font-size:12px;font-weight:700;color:var(--muted);text-decoration:none;padding:0 10px 2px 6px;margin-top:-8px}.reviewDone{text-align:center;line-height:1.7}.wordRow{gap:4px;width:100%;border:1px solid var(--line);border-left:4px solid #f59e0b;border-radius:12px;background:var(--surface);color:var(--text);margin-bottom:8px;padding:8px 6px 8px 10px}.wordBody,.wordRow{display:flex;align-items:center}.wordBody{flex:1 1;min-width:0;gap:12px;min-height:44px;background:none;border:none;color:inherit;text-align:left;cursor:pointer;padding:0}.wordPic{flex:0 0 auto;width:44px;height:44px;display:grid;place-items:center}.wordText{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.wordMain{font-size:19px;font-weight:800;line-height:1.3}.wordMain,.wordSub{overflow-wrap:anywhere}.wordSub{font-size:13px;color:var(--muted)}.wordSpeak{font-size:18px;opacity:.7;flex:0 0 auto}.reviewLang{grid-template-columns:1fr 1fr}.reviewLang button{min-width:44px}.deckWordsHead{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:26px 0 10px}.deckWordsHead .sectionTitle{margin:0;flex:1 1;font-size:20px}.deckWordsN{font-size:13px;font-weight:700;color:var(--muted)}.deckWordsBar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.deckWordsBar .chip.on{background:var(--accentSoft);color:var(--accentDeep)}.review.words .reviewSizes button{min-width:34px;min-height:40px;padding:0 2px}@media (max-width:420px){.review.words .reviewN{display:none}.review.words .reviewHead{gap:6px}}.reviewTabs{grid-template-columns:1fr 1fr;padding:3px;gap:3px;flex:1 1 auto;min-width:0}.reviewTabs button{min-height:40px;padding:0 10px;font-size:14px;border-radius:9px;white-space:nowrap;gap:6px}.reviewTabs button,.tabCount{display:inline-flex;align-items:center}.tabCount{min-width:20px;height:20px;padding:0 6px;border-radius:999px;justify-content:center;font-size:12px;font-weight:900;background:var(--surface2);color:var(--muted)}.reviewTabs button.on .tabCount{background:rgba(255,255,255,.25);color:#fff}.reviewSub{display:flex;align-items:center;gap:10px;margin:0 2px 12px;flex-wrap:wrap}.reviewSub .setNote{flex:1 1;min-width:120px}.reviewNext{display:block;margin:12px auto 0}@media (max-width:420px){.review .reviewSizes button{min-width:32px;padding:0 2px}.reviewTabs button{padding:0 7px;font-size:13px}.reviewHead{gap:6px}}.progress{height:6px;border-radius:999px;background:var(--surface2);overflow:hidden}.progress>span{display:block;height:100%;background:var(--accent);transition:width .2s ease}.testCard{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;min-height:46vh;margin-top:8px;padding:26px 20px;border:1px solid var(--line);border-radius:24px;background:var(--surface);color:var(--text);text-align:center;cursor:pointer;font-family:inherit}.testPic{display:block;margin-bottom:4px}.testLo{font-size:22px;font-weight:800;line-height:1.4}.testLo,.testVi{overflow-wrap:anywhere}.testVi{font-size:18px;color:var(--vi)}.testEn{font-size:26px;font-weight:900;line-height:1.3;color:var(--accentDeep);overflow-wrap:anywhere;margin-top:8px}.testHidden{font-size:14px;color:var(--muted);margin-top:8px}.testSpeak{display:block;margin:14px auto 0;background:var(--surface2);color:var(--text)}.testScore{font-size:28px;font-weight:900;margin-bottom:8px}.judgeNoBig,.judgeYesBig{font-size:17px}.bottomBar .judgeYesBig{flex:2 1}.dueCard{display:flex;align-items:center;gap:12px;padding:14px 16px;margin-bottom:14px;border-radius:16px;background:var(--accentSoft);border:1px solid var(--accent);color:var(--accentDeep);text-decoration:none}.dueCard .dueIcon{font-size:30px;line-height:1}.dueCard .dueT1{display:block;font-size:16px;font-weight:900}.dueCard .dueT2{display:block;font-size:12px;opacity:.85;margin-top:2px}.dueCard .dueGo{margin-left:auto;font-weight:900;font-size:18px}.dueAhead{font-size:12px;color:var(--muted);text-decoration:underline}.tabCount.due{background:var(--accentDeep);color:#fff}.reviewTabs button.on .tabCount.due{background:#fff;color:var(--accentDeep)}.dueAhead{margin:0 2px 10px}.dueAhead,.posTag{display:inline-block}.posTag{vertical-align:middle;margin-left:4px;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:800;line-height:1.5;background:var(--surface2);color:var(--muted)}.pos-adj{background:#fff3cc;color:#8a5a00}.pos-v{background:#fde8dc;color:#9a3412}.pos-num{background:var(--accentSoft);color:var(--accentDeep)}.example{display:flex;flex-direction:column;gap:1px;margin-top:4px}.exampleMain{font-size:14px;font-weight:700;color:var(--accentDeep);overflow-wrap:anywhere}.exampleSub{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.exampleBig .exampleMain{font-size:18px}.exampleBig .exampleSub{font-size:14px}.testExample{text-align:center;margin:0 0 14px}.testExample .example{align-items:center}.flashBack .example{align-items:center;text-align:center;margin-top:6px}.flashBack .exampleMain{color:#fff}.flashBack .exampleSub{color:rgba(255,255,255,.85)}.flashBack .posTag{background:rgba(255,255,255,.25);color:#fff}.kind-question{background:#dbeafe;color:#1e40af}.kind-request{background:#e0e7ff;color:#3730a3}.kind-command{background:#fde8dc;color:#9a3412}.kind-suggestion{background:#dcfce7;color:#166534}.kind-exclamation{background:#fff3cc;color:#8a5a00}.kind-greeting{background:#fce7f3;color:#9d174d}.scriptEn .posTag{font-size:11px;vertical-align:middle}.chipSpeak{text-decoration:none;background:var(--accent);color:#fff}.speakCard{margin-top:12px;padding:22px 18px 18px;border-radius:22px;border:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;gap:8px;min-height:38vh;justify-content:center}.speakChild{border-left:5px solid #16a34a}.speakParent{border-left:5px solid var(--accent)}.speakWho{font-size:12px;font-weight:900;color:var(--muted);letter-spacing:.04em}.speakEn{font-size:26px;font-weight:900;line-height:1.3;overflow-wrap:anywhere}.speakEn .hit{color:#15803d}.speakEn .miss{color:#c2410c;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.speakHidden{font-size:18px;font-weight:700;color:var(--muted);padding:10px 0}.speakVi{font-size:18px;color:var(--vi)}.speakLo,.speakVi{overflow-wrap:anywhere}.speakLo{font-size:16px}.heard,.speakLo{color:var(--muted)}.heard{margin:12px 4px 0;font-size:15px;min-height:22px}.verdict{margin-top:12px}.verdict.ok{background:#dcfce7;border-color:#16a34a;color:#14532d}.verdict.no{background:#fff3cc;border-color:#e8a400;color:#633806}.verdict .setNote{color:inherit;opacity:.85}@font-face{font-family:Noto Sans Lao;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/cef6530ca7ad6e46-s.p.woff2) format("woff2");unicode-range:u+0e81-0edf,u+200c-200d,u+25cc}@font-face{font-family:Noto Sans Lao;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/31417a87a92ffd5d-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Noto Sans Lao;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/0cca447ba4806a2a-s.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Noto Sans Lao;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/cef6530ca7ad6e46-s.p.woff2) format("woff2");unicode-range:u+0e81-0edf,u+200c-200d,u+25cc}@font-face{font-family:Noto Sans Lao;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/31417a87a92ffd5d-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Noto Sans Lao;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/0cca447ba4806a2a-s.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Noto Sans Lao;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/cef6530ca7ad6e46-s.p.woff2) format("woff2");unicode-range:u+0e81-0edf,u+200c-200d,u+25cc}@font-face{font-family:Noto Sans Lao;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/31417a87a92ffd5d-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Noto Sans Lao;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/0cca447ba4806a2a-s.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Noto Sans Lao;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/cef6530ca7ad6e46-s.p.woff2) format("woff2");unicode-range:u+0e81-0edf,u+200c-200d,u+25cc}@font-face{font-family:Noto Sans Lao;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/31417a87a92ffd5d-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Noto Sans Lao;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/0cca447ba4806a2a-s.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Noto Sans Lao;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/cef6530ca7ad6e46-s.p.woff2) format("woff2");unicode-range:u+0e81-0edf,u+200c-200d,u+25cc}@font-face{font-family:Noto Sans Lao;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/31417a87a92ffd5d-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Noto Sans Lao;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/0cca447ba4806a2a-s.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Noto Sans Lao;font-style:normal;font-weight:900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/cef6530ca7ad6e46-s.p.woff2) format("woff2");unicode-range:u+0e81-0edf,u+200c-200d,u+25cc}@font-face{font-family:Noto Sans Lao;font-style:normal;font-weight:900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/31417a87a92ffd5d-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Noto Sans Lao;font-style:normal;font-weight:900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/0cca447ba4806a2a-s.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Noto Sans Lao Fallback;src:local("Arial");ascent-override:111.26%;descent-override:43.45%;line-gap-override:0.00%;size-adjust:106.33%}.__className_457725{font-family:Noto Sans Lao,Noto Sans Lao Fallback;font-style:normal}.__variable_457725{--font-lao:"Noto Sans Lao","Noto Sans Lao Fallback"}