.localized-file-picker{position:relative;display:flex;align-items:center;gap:.7rem;min-width:0;max-width:100%;flex-wrap:wrap}.localized-file-picker[hidden]{display:none}.localized-file-native{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;opacity:0!important}.localized-file-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:2.5rem;padding:.55rem .8rem;border:1px solid var(--border,#cbd5e1);border-radius:.5rem;background:var(--card,#fff);color:inherit;font:inherit;font-weight:600;cursor:pointer}.localized-file-button:hover:not([aria-disabled=true]){background:#eff6ff}.localized-file-button:focus-visible{outline:3px solid #60a5fa;outline-offset:2px}.localized-file-button[aria-disabled=true]{opacity:.5;cursor:not-allowed}.localized-file-status{min-width:0;flex:1;overflow-wrap:anywhere;color:var(--muted,#64748b);font-size:.9em}.localized-media-player{width:100%;min-width:0;background:#f1f6fa;border:1px solid #d8e3ec;border-radius:10px;overflow:hidden}.localized-media-video{width:100%;max-height:65vh;display:block;object-fit:contain;background:#172c3c}.localized-media-controls{display:flex;align-items:center;gap:7px;min-width:0;padding:7px;flex-wrap:wrap}.localized-media-controls button{display:flex;align-items:center;justify-content:center;min-height:34px;min-width:34px;padding:5px;border:1px solid #d6e2eb;border-radius:7px;background:#fff;color:#17486a;flex-shrink:0}.localized-media-controls button:focus-visible,.localized-media-controls input:focus-visible,.localized-media-controls select:focus-visible{outline:2px solid #257eb9;outline-offset:2px}.localized-media-controls input[type=range]{accent-color:#286998;min-width:45px;flex:1 1 100px;width:auto}.localized-media-controls input.localized-media-volume{flex:0 1 65px;width:65px;min-width:45px}.localized-media-controls select{font:inherit;font-size:.85rem;min-height:34px;width:auto;min-width:58px;padding:3px;border:1px solid #d6e2eb;border-radius:7px;background:#fff}.localized-media-clock{font-size:.8rem;white-space:nowrap;flex-shrink:0}.localized-media-player .error{margin:8px;padding:0 4px;font-size:.9rem}.localized-media-player:fullscreen{display:flex;flex-direction:column;justify-content:center;background:#172c3c}.localized-media-player:fullscreen .localized-media-video{max-height:calc(100vh - 66px);flex:1;min-height:0}.localized-media-player:fullscreen .localized-media-controls{background:#f1f6fa}@media(max-width:480px){.localized-media-controls{gap:4px}.localized-media-controls input[type=range]{flex-basis:65px}.localized-media-clock{font-size:.72rem}.localized-media-controls input.localized-media-volume{flex:0 1 48px;width:48px}}body.rougai-login-active{overflow:hidden;overscroll-behavior:none}.rg-login,.rg-login *{box-sizing:border-box}.rg-login{--rg-login-blue:#0862cc;position:fixed;inset:var(--login-viewport-top,0px) 0 auto;height:var(--login-viewport-height,100dvh);width:100%;max-width:100vw;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);overflow:hidden;background:#fff;color:#173250}.rg-login h1,.rg-login h2,.rg-login p,.rg-login figure{margin:0}.rg-login-story{min-width:0;min-height:0;display:flex;flex-direction:column;justify-content:space-between;gap:18px;padding:clamp(24px,4vw,64px);color:#fff;background:linear-gradient(145deg,#0965ce,#0057be 65%,#064b9d);overflow:hidden}.rg-login-logo{width:clamp(180px,21vw,270px);height:auto;max-height:92px;object-fit:contain;object-position:left center;align-self:flex-start;flex-shrink:0;background:transparent;border:0;border-radius:0;padding:0}.rg-login-story-content{display:flex;flex-direction:column;gap:16px;min-height:0;width:100%;max-width:600px;margin:auto 0}.rg-login-kicker{font-size:clamp(12px,1.05vw,15px);color:#cde9ff;font-weight:600;letter-spacing:.04em}.rg-login-story h1{font-size:clamp(24px,2.75vw,43px);line-height:1.28;font-weight:750;letter-spacing:-.04em;text-wrap:balance;max-width:570px}.rg-login-promise{font-size:clamp(12px,1.15vw,16px);line-height:1.5;color:#d9ebff;text-wrap:balance}.rg-login-credentials{display:flex;gap:12px;align-items:center;padding:13px 14px;border:1px solid #ffffff35;border-radius:12px;background:#ffffff0b;min-width:0}.rg-login-credentials>svg{flex-shrink:0;color:#cfebff}.rg-login-credentials>div{display:flex;flex-direction:column;gap:2px;min-width:0}.rg-login-credentials strong{font-weight:650;font-size:clamp(12px,1.06vw,15px);line-height:1.4}.rg-login-credentials span{font-size:clamp(11px,1vw,13px);line-height:1.4;color:#d6eaff}.rg-login-teachers-heading{font-size:13px;font-weight:650;line-height:1.4;color:#e5f3ff;margin-top:4px!important}.rg-login-teachers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:5px}.rg-login-teachers figure{min-width:0}.rg-login-portrait{height:clamp(88px,18vh,180px);border-radius:12px;overflow:hidden;background:#f6faff;border:1px solid #ffffff30}.rg-login-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 16%}.rg-login-teachers figcaption{font-size:clamp(10px,.88vw,13px);line-height:1.3;text-align:center;white-space:nowrap;margin-top:8px;color:#e5f3ff;font-weight:500}.rg-login-story-foot{display:flex;align-items:flex-start;gap:7px;font-size:12px;line-height:1.5;color:#d7ebff;flex-shrink:0;text-wrap:balance}.rg-login-story-foot svg{flex-shrink:0;margin-top:2px}.rg-login-access{display:flex;flex-direction:column;min-width:0;min-height:0;padding:clamp(22px,3.8vw,56px);gap:16px;overflow:hidden}.rg-login-top{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-shrink:0}.rg-login .language-picker{font-size:13px;gap:7px;min-width:0}.rg-login .language-picker select{height:38px;min-height:38px;max-width:180px;padding:5px 28px 5px 10px;font-size:13px}.rg-login-settings{height:38px;width:38px;border:1px solid #dce6ef;border-radius:9px;display:grid;place-items:center;flex-shrink:0;background:#fff;color:#54718b;cursor:pointer}.rg-login-form{margin:auto;width:100%;max-width:380px;display:flex;flex-direction:column;gap:17px;min-height:0}.rg-login-welcome{display:flex;gap:14px;align-items:center;margin-bottom:8px}.rg-login-mark{width:56px;height:56px;border-radius:15px;object-fit:cover;flex-shrink:0}.rg-login-welcome>div{min-width:0}.rg-login-welcome h2{font-size:clamp(22px,2vw,30px);line-height:1.3;letter-spacing:-.03em;color:#14314f;font-weight:720;text-wrap:balance}.rg-login-welcome p{font-size:13px;line-height:1.5;color:#6c8197;margin-top:7px;text-wrap:balance}.rg-login-field{display:flex;flex-direction:column;gap:8px;font-size:13px;line-height:1.5;font-weight:600;min-width:0;color:#33536e}.rg-login-field input{border:1px solid #d7e2ed;border-radius:10px;width:100%;min-width:0;height:48px;padding:11px 13px;background:#f9fbfd;color:#163550;font-size:15px;font-family:inherit;outline:none;letter-spacing:0}.rg-login-field input::placeholder{color:#92a4b5;opacity:1}.rg-login-field input:focus{border-color:#1d75d7;box-shadow:0 0 0 3px #1673d71a;background:#fff}.rg-login-password{display:block;position:relative;min-width:0}.rg-login-password input{padding-right:48px}.rg-login-password button{position:absolute;top:0;right:0;height:48px;width:45px;padding:0;border:0;background:transparent;color:#7790a5;display:grid;place-items:center;cursor:pointer}.rg-login-submit{height:49px;min-height:49px;display:flex;gap:12px;align-items:center;justify-content:center;padding:10px 16px;background:var(--rg-login-blue);color:#fff;border:0;border-radius:10px;font-size:15px;font-weight:650;font-family:inherit;cursor:pointer;flex-shrink:0}.rg-login-submit:hover{background:#055abf}.rg-login-submit:disabled{opacity:.6;cursor:wait}.rg-login-help{font-size:12px;line-height:1.5;color:#8496a8;text-align:center;margin-top:1px!important}.rg-login-help a{display:block;margin-top:4px;color:#0b64c8;font-weight:650;text-decoration:none}.rg-login-footer{display:flex;gap:7px;align-items:center;justify-content:center;flex-shrink:0;font-size:10px;line-height:1.4;letter-spacing:.06em;color:#8aa0b3}.rg-login-error{font-size:12px;line-height:1.5;color:#b43037;border:1px solid #f0d3d6;background:#fff5f5;border-radius:8px;padding:8px 10px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.rg-login button:focus-visible,.rg-login a:focus-visible,.rg-login select:focus-visible{outline:3px solid #6bb5ff;outline-offset:3px}.rg-connection-dialog{border:1px solid #e1e8ef;border-radius:18px;padding:24px;max-width:440px;width:calc(100% - 32px);max-height:calc(100dvh - 24px);background:#fff;color:#15334f;box-shadow:0 24px 90px #062d5d44;margin:auto;overflow:auto}.rg-connection-dialog::backdrop{background:#09294780;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.rg-connection-dialog form{display:flex;flex-direction:column;gap:15px}.rg-connection-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}.rg-connection-heading h2{font-size:19px;line-height:1.4;letter-spacing:-.02em}.rg-connection-heading button{display:grid;place-items:center;width:34px;height:34px;border:0;background:#f1f5fa;border-radius:8px;color:#54718b;flex-shrink:0;cursor:pointer}.rg-connection-note{color:#7790a5;font-size:12px;line-height:1.5}@media(max-height:700px)and (min-width:761px){.rg-login-story{padding:24px 38px;gap:12px}.rg-login-logo{max-height:65px;width:210px}.rg-login-story-content{gap:12px}.rg-login-story h1{font-size:clamp(24px,2.5vw,34px)}.rg-login-credentials{padding:10px 12px}.rg-login-portrait{height:clamp(85px,17vh,125px)}.rg-login-access{padding:24px 38px;gap:12px}.rg-login-form{gap:14px}.rg-login-welcome{margin-bottom:3px}.rg-login-welcome h2{font-size:25px}.rg-login-story-foot{font-size:11px}}@media(max-width:1100px)and (min-width:761px){.rg-login-story,.rg-login-access{padding:26px}.rg-login-teachers{gap:8px}.rg-login-teachers figcaption{font-size:10px}.rg-login-story h1{font-size:28px}.rg-login-story-content{gap:12px}.rg-login-welcome{gap:10px}.rg-login-mark{width:48px;height:48px}.rg-login-welcome h2{font-size:23px}}@media(max-width:760px){.rg-login{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.rg-login-story{padding:18px max(22px,env(safe-area-inset-left)) 20px;gap:8px;min-height:0;flex-direction:row;align-items:center}.rg-login-logo{width:156px;max-height:57px;align-self:center}.rg-login-story-content{margin:0;max-width:175px;width:auto;gap:4px}.rg-login-kicker,.rg-login-promise,.rg-login-credentials,.rg-login-teachers-heading,.rg-login-teachers,.rg-login-story-foot{display:none}.rg-login-story h1{font-size:14px;letter-spacing:-.01em;line-height:1.4;text-wrap:balance}.rg-login-access{padding:18px 28px max(16px,env(safe-area-inset-bottom));gap:14px}.rg-login-top{gap:9px}.rg-login .language-picker select{max-width:173px}.rg-login-form{max-width:380px;gap:16px}.rg-login-welcome{margin-bottom:6px;gap:11px}.rg-login-mark{width:49px;height:49px}.rg-login-welcome h2{font-size:24px}.rg-login-welcome p,.rg-login-field{font-size:12px}.rg-login-field input{font-size:16px;height:48px}.rg-login-help{font-size:12px}.rg-login-footer{font-size:9px}}@media(max-width:390px){.rg-login-story{padding:15px 20px}.rg-login-logo{width:142px}.rg-login-story-content{max-width:155px}.rg-login-story h1{font-size:13px}.rg-login-access{padding:15px 22px;gap:12px}.rg-login-form{gap:14px}.rg-login-welcome{gap:10px}.rg-login-welcome h2{font-size:22px}}@media(max-width:760px)and (max-height:670px){.rg-login-story{padding-top:12px;padding-bottom:12px}.rg-login-logo{max-height:46px;width:130px}.rg-login-story h1{font-size:12px}.rg-login-access{padding-top:12px;padding-bottom:12px;gap:10px}.rg-login-form{gap:11px}.rg-login-welcome{margin-bottom:2px}.rg-login-welcome h2{font-size:21px}.rg-login-mark{width:43px;height:43px;border-radius:11px}.rg-login-welcome p{font-size:11px;line-height:1.4;margin-top:4px}.rg-login-field{gap:5px}.rg-login-field input,.rg-login-password button{height:43px}.rg-login-submit{height:44px;min-height:44px;font-size:14px}.rg-login-help{font-size:11px}.rg-login .language-picker select,.rg-login-settings{height:34px;min-height:34px}.rg-login-settings{width:34px}.rg-login-footer{font-size:8px}.rg-login-error{padding:5px 8px;font-size:11px;-webkit-line-clamp:2}}.rg-login[data-keyboard]{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr)}.rg-login[data-keyboard] .rg-login-story,.rg-login[data-keyboard] .rg-login-top,.rg-login[data-keyboard] .rg-login-footer,.rg-login[data-keyboard] .rg-login-help,.rg-login[data-keyboard] .rg-login-welcome{display:none}.rg-login[data-keyboard] .rg-login-access{padding:12px 24px;gap:0}.rg-login[data-keyboard] .rg-login-form{gap:10px}.rg-login[data-keyboard] .rg-login-field{gap:4px;font-size:12px}.rg-login[data-keyboard] .rg-login-field input,.rg-login[data-keyboard] .rg-login-password button{height:42px}.rg-login[data-keyboard] .rg-login-submit{height:42px;min-height:42px}@media(min-width:761px)and (max-height:520px){.rg-login-story{padding:18px 26px}.rg-login-logo{width:165px;max-height:52px}.rg-login-story h1{font-size:22px}.rg-login-promise,.rg-login-story-foot{display:none}.rg-login-credentials{padding:8px}.rg-login-portrait{height:80px}.rg-login-story-content{gap:9px}.rg-login-access{padding:15px 25px}.rg-login-form{gap:9px}.rg-login-welcome{margin-bottom:0}.rg-login-welcome h2{font-size:21px}.rg-login-welcome p{font-size:11px;margin-top:3px}.rg-login-mark{width:40px;height:40px}.rg-login-field{gap:4px;font-size:12px}.rg-login-field input,.rg-login-password button{height:41px}.rg-login-submit{height:42px;min-height:42px}.rg-login-help{font-size:11px}.rg-login-footer{font-size:9px}}@media(max-height:450px){.rg-login .rg-login-help,.rg-login .rg-login-footer,.rg-login .rg-login-welcome p{display:none}.rg-login .rg-login-access{padding:12px 25px;gap:10px}.rg-login .rg-login-form{gap:8px}.rg-login .rg-login-welcome{margin-bottom:1px}.rg-login .rg-login-field{gap:3px}.rg-login .rg-login-field input,.rg-login .rg-login-password button{height:38px}.rg-login .rg-login-submit{height:40px;min-height:40px}.rg-login .language-picker select,.rg-login .rg-login-settings{height:32px;min-height:32px}.rg-login .rg-login-settings{width:32px}}@media(min-width:761px)and (max-height:650px){.rg-login-story h1{font-size:clamp(23px,2.45vw,32px)}.rg-login-story-content{gap:10px}.rg-login-portrait{height:clamp(80px,15vh,110px)}.rg-login-teachers-heading{font-size:12px}.rg-login-story-foot{font-size:10px;line-height:1.4}}@media(min-width:761px)and (max-height:450px){.rg-login-story h1{font-size:19px;line-height:1.25}.rg-login-story-content{gap:6px}.rg-login-kicker{font-size:10px}.rg-login-credentials{padding:7px 9px;gap:8px}.rg-login-credentials strong{font-size:11px}.rg-login-credentials span{font-size:10px;line-height:1.3}.rg-login-teachers-heading{font-size:10px;margin-top:0!important}.rg-login-portrait{height:58px}.rg-login-teachers figcaption{font-size:9px;margin-top:5px}}@font-face{font-family:ROUGAI Thai;src:url(../fonts/NotoSansThai.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:ROUGAI Khmer;src:url(../fonts/NotoSansKhmer.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:ROUGAI Lao;src:url(../fonts/NotoSansLao.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:ROUGAI Mandarin;src:url(../fonts/NotoSansSC.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}body{font-family:Be Vietnam Pro,-apple-system,BlinkMacSystemFont,Segoe UI,ROUGAI Mandarin,sans-serif}html:lang(th),html:lang(th) *{font-family:ROUGAI Thai,ROUGAI Mandarin,-apple-system,Leelawadee UI,sans-serif;letter-spacing:normal}html:lang(km),html:lang(km) *{font-family:ROUGAI Khmer,ROUGAI Mandarin,-apple-system,Khmer UI,sans-serif;letter-spacing:normal}html:lang(lo),html:lang(lo) *{font-family:ROUGAI Lao,ROUGAI Mandarin,-apple-system,Lao UI,sans-serif;letter-spacing:normal}html:lang(zh-CN),html:lang(zh-CN) *{font-family:ROUGAI Mandarin,-apple-system,Microsoft YaHei,sans-serif}.rougai-confirmation{position:fixed;inset:0;margin:auto;width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border:1px solid #dce7f0;border-radius:16px;background:#fff;color:#172a45;box-shadow:0 22px 90px #071b1540;z-index:10000}.rougai-confirmation:not([open]){display:none}.rougai-confirmation::backdrop{background:#142b4666;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.rougai-confirmation h2{font-size:1.15rem;margin:0 0 15px}.rougai-confirmation p{line-height:1.75;overflow-wrap:anywhere;white-space:pre-wrap;margin:0 0 22px}.rougai-confirm-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px}.rougai-confirm-actions .btn{min-width:95px}@media(max-width:520px){.rougai-confirmation{padding:20px}.rougai-confirm-actions .btn{flex:1}}.chapter-homework{max-width:1100px;margin:auto}.chapter-heading h1{font-size:1.7rem;margin:0 0 8px}.chapter-heading p{color:#668176;margin:0 0 24px}.homework-course-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.homework-course-tabs button{border:1px solid #d9e6df;background:#fff;border-radius:10px;padding:11px 16px;color:#48675a;font:inherit;cursor:pointer}.homework-course-tabs button.active{background:#075549;color:#fff;border-color:#075549}.chapter-picker{display:flex;align-items:center;gap:32px;margin-bottom:18px}.chapter-picker .field{flex:1;margin:0}.chapter-picker select{max-width:100%}.chapter-progress{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;min-width:180px;color:#638173;font-size:.82rem}.chapter-progress strong{color:#075549;font-size:1rem}.chapter-progress progress{grid-column:1/-1;width:100%;height:7px;accent-color:#078370}.skill-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:16px}.skill-tabs button{display:flex;align-items:center;gap:7px;border:1px solid #dce6e0;background:#fff;color:#5f7a6d;padding:10px 13px;border-radius:10px;cursor:pointer;font:inherit;font-size:.86rem}.skill-tabs button small{opacity:.65;font-size:.72rem}.skill-tabs button.active{background:#e5f3ec;color:#075549;border-color:#97c8b3}.homework-section{padding:0;overflow:hidden}.section-score{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-bottom:1px solid #e5ebe7;gap:20px}.section-score h2{margin:0 0 5px;font-size:1.2rem}.section-score p{margin:0;color:#708b7f;font-size:.82rem}.section-score>div:last-child{text-align:right}.section-score>div:last-child strong{display:block;font-size:1.6rem;color:#075549}.section-score strong small{font-size:.9rem;color:#859c91}.section-score>div:last-child span{display:block;font-size:.72rem;color:#789286;max-width:200px}.chapter-question{width:100%;padding:19px 24px;display:flex;gap:15px;align-items:center;text-align:left;border:none;border-bottom:1px solid #e8eeea;background:#fff;cursor:pointer;color:#233e32;font:inherit;transition:background .15s}.chapter-question:last-child{border-bottom:0}.chapter-question:hover{background:#f7fbf8}.question-number{height:34px;min-width:34px;display:grid;place-items:center;border-radius:50%;background:#f0f4f1;color:#5d7d6c;font-size:.83rem}.question-number.answered{background:#e6f4ec;color:#078370}.question-copy{flex:1;min-width:0}.question-copy strong{display:block;font-size:.9rem;overflow-wrap:anywhere}.question-copy small{display:block;color:#7b9186;margin-top:5px;font-size:.75rem}.question-action{display:flex;align-items:center;gap:9px;font-size:.77rem;white-space:nowrap;color:#075549}.homework-empty{display:grid;place-items:center;padding:38px 24px;text-align:center;color:#789386}.homework-empty svg{color:#81aa96;margin-bottom:12px}.exercise-meta{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:.75rem;color:#768d81}.homework-exercise .question-prompt{font-size:1rem;line-height:1.7;white-space:pre-wrap}.homework-exercise audio{width:100%;max-width:100%}.exercise-choices{display:grid;gap:9px}.exercise-choice{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid #dce5df;border-radius:10px;cursor:pointer}.exercise-choice>span{display:grid;place-items:center;min-width:28px;height:28px;background:#eef3f0;border-radius:7px;font-size:.8rem;color:#678173}.exercise-choice strong{font-size:.92rem;font-weight:500;overflow-wrap:anywhere}.exercise-choice.checked{border-color:#088170;background:#edf8f1}.exercise-choice input{accent-color:#088170}.exercise-result{padding:20px;background:#f5faf7;border:1px solid #dce8e0;border-radius:12px;display:grid;gap:12px}.exercise-result .row strong{display:flex;align-items:center;gap:7px}.exercise-result p{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.answer-score{font-weight:700;color:#075549}.correct-answer,.teacher-feedback{padding:14px;background:#fff;border-radius:9px;border:1px solid #e0e9e3;font-size:.9rem}.teacher-feedback strong,.correct-answer strong{display:block;margin-bottom:7px}.retake-note{font-size:.8rem;background:#edf5ef;color:#577264;padding:12px;border-radius:8px}.section-current{font-size:.82rem;color:#728e80;margin:19px 0}.section-current strong{color:#075549}.attempt-history,.ai-practice{margin-top:16px;border-top:1px solid #e2ebe5;padding-top:16px}.attempt-history summary,.ai-practice summary{cursor:pointer;font-size:.9rem;color:#075549}.attempt-history article{font-size:.85rem;border-bottom:1px solid #e2ebe5;padding:15px 0}.attempt-history time{font-size:.7rem;color:#83978c}.mic-answer{padding:16px;border-radius:12px;background:#f2f7f4;display:grid;gap:13px}.mic-answer>.row{flex-wrap:wrap;gap:12px}.mic-answer .row>span{font-size:.78rem}.recording-button{background:#c0404d!important}.recording-time{font-variant-numeric:tabular-nums;color:#c0404d;font-weight:700}.audio-upload{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:.78rem;color:#668576}.audio-upload input{width:100%;font-size:.76rem}.consent-line{display:flex;align-items:flex-start;gap:8px;font-size:.8rem;line-height:1.5}.consent-line input{margin-top:4px}.ai-feedback-result{padding:15px;border:1px solid #dce8e0;border-radius:10px;background:#f6faf7;font-size:.85rem}.ai-feedback-result h4{margin:14px 0 7px}.ai-feedback-result ul{padding-left:21px}.ai-feedback-result blockquote{margin:12px 0;padding:11px;border-left:3px solid #86bca2;background:#fff;white-space:pre-wrap}.ai-scores{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ai-scores>div{padding:10px;background:#fff;border-radius:7px}.ai-scores span{display:block;font-size:.73rem;color:#7e9387}.ai-scores strong{display:block;color:#075549;margin-top:4px}.assignment-resource img{max-width:100%;max-height:400px;object-fit:contain}.feature-unavailable{font-size:.82rem;color:#758e80}.teacher-review-workspace{max-width:1180px;margin:auto}.teacher-review-filters{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}.teacher-review-layout{display:grid;grid-template-columns:minmax(250px,.85fr) minmax(0,1.7fr);gap:18px;align-items:start}.teacher-submission-list{padding:0!important;overflow:hidden}.teacher-submission-button{display:block;width:100%;background:#fff;border:none;border-bottom:1px solid #e3eae5;text-align:left;padding:17px;font:inherit;cursor:pointer;color:#335243}.teacher-submission-button.active{background:#edf6f0}.teacher-submission-button strong{display:block;font-size:.87rem}.teacher-submission-button small{display:block;color:#7e9387;font-size:.74rem;margin-top:5px}.teacher-submission-button .badge{margin-top:8px;font-size:.69rem}.review-answer{background:#f5faf7;border-radius:9px;padding:15px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9rem}.teacher-review-prompt{font-size:.9rem;color:#718b7d;white-space:pre-wrap}.review-auto-score{padding:16px;background:#eef7f1;border-radius:9px;color:#075549}.review-publish{display:flex;align-items:center;gap:8px;font-size:.82rem}.student-progress-roster{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.student-progress-roster button{padding:10px 12px;border:1px solid #dce7df;border-radius:8px;background:#fff;text-align:left;font:inherit;font-size:.8rem;cursor:pointer}.student-progress-roster button.active{background:#e5f3ec;border-color:#97c8b3}.student-progress-roster small{display:block;font-size:.7rem;color:#7c9286;margin-top:4px}.teacher-review-detail h3{margin-top:0}.teacher-review-detail .field textarea{min-height:110px}.teacher-review-detail img{max-width:100%;max-height:450px;object-fit:contain}@media(max-width:720px){.chapter-heading h1{font-size:1.4rem}.chapter-heading p{font-size:.85rem}.chapter-picker{display:grid;gap:14px;padding:18px}.chapter-progress{min-width:0}.homework-course-tabs button{font-size:.8rem;padding:10px 12px}.skill-tabs button{font-size:.77rem;padding:9px 10px}.section-score{padding:17px;gap:10px}.section-score>div:last-child span{max-width:135px;font-size:.65rem}.section-score p{font-size:.72rem}.chapter-question{padding:17px 15px;gap:10px}.question-action{font-size:0;gap:0}.question-action svg{width:18px;height:18px}.question-copy strong{font-size:.83rem}.exercise-meta{flex-wrap:wrap}.teacher-review-filters,.teacher-review-layout{grid-template-columns:1fr}.ai-scores{gap:4px}.ai-scores>div{padding:8px}.ai-scores span{font-size:.65rem}.exercise-result{padding:15px}.teacher-review-detail{padding:18px}}.writing-preview{max-width:100%;max-height:450px;object-fit:contain;border-radius:8px;background:#f4f7f5}.practice-reference{margin:15px 0;padding:18px;border-left:3px solid #78b493;background:#f2f8f4;border-radius:0 9px 9px 0;color:#164c38;font-size:1.1rem;line-height:1.7;white-space:pre-wrap}.homework-timing{display:flex;flex-wrap:wrap;gap:8px 16px;background:#eef5fb;border:1px solid #d6e6f3;padding:12px;border-radius:9px;font-size:.78rem;margin-bottom:16px}.homework-timing strong{color:#07589c;font-variant-numeric:tabular-nums}.availability-note{background:#fff4e7;color:#765b31;padding:12px;border-radius:8px;font-size:.85rem}.sheet-progress{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:.85rem}.sheet-progress span{color:#688094}.learner-answer-sheet{display:grid;gap:14px}.sheet-question{border:1px solid #dbe6ee;border-radius:10px;min-width:0;padding:15px;margin:0}.sheet-question legend{padding:0 7px;font-weight:600;font-size:.9rem;white-space:pre-wrap}.sheet-question input:not([type=radio]):not([type=checkbox]){width:100%;box-sizing:border-box}.sheet-choice-row{display:flex;flex-wrap:wrap;gap:10px}.sheet-choice-row label{display:flex;align-items:center;gap:8px;min-width:56px;padding:11px 13px;border:1px solid #dce6ee;border-radius:8px;cursor:pointer;overflow-wrap:anywhere}.sheet-choice-row label.selected{background:#e8f3ff;border-color:#3787c9;color:#07589c}.sheet-choice-row input{accent-color:#1479c5}.sheet-choice-row span{font-size:.88rem}.sheet-result-list{display:grid;gap:10px}.sheet-result-list>section{padding:12px;background:#fff;border:1px solid #dce6ee;border-radius:8px}.sheet-result-list p{font-size:.85rem;margin-top:6px!important}.sheet-result-list small{color:#607b8f}.submission-upload-controls{display:grid;grid-template-columns:1fr 1fr;gap:14px}.submission-upload-controls small{font-size:.74rem;color:#708496}.attached-answer-file{display:flex;align-items:center;gap:10px;border:1px solid #dce6ee;padding:10px;border-radius:8px;flex-wrap:wrap}.attached-answer-file>.homework-file{flex:1;min-width:0}.submission-attachments{display:grid;gap:12px}.homework-file{display:grid;gap:12px;min-width:0}.homework-file video,.assignment-resource video{max-width:100%;max-height:450px}.homework-file .btn{white-space:normal;overflow-wrap:anywhere;text-align:left}.chinese-practice{padding:18px;background:#eff6fc;border:1px solid #d7e8f6;border-radius:10px;display:grid;gap:12px;margin:15px 0}.practice-script p{margin:0;line-height:1.7;white-space:pre-wrap}.practice-pinyin{color:#66869c;font-size:1rem}.practice-hanzi{color:#174e7a;font-size:1.35rem}.chinese-practice>.btn{justify-self:start}@media(max-width:720px){.submission-upload-controls{grid-template-columns:1fr}.sheet-choice-row label{padding:9px}.sheet-question{padding:12px}.homework-timing{font-size:.74rem}.chinese-practice{padding:14px}.practice-hanzi{font-size:1.15rem}}.practice-answer{gap:18px}.activity-answer-row{display:grid;gap:12px;min-width:0;padding:18px;border:1px solid #d6e6f3;background:#fff;border-radius:12px}.activity-answer-row>strong{color:#07589c}.activity-answer-row>.field{margin:0}.practice-listen{justify-self:start}.practice-voice-controls{display:grid;gap:8px}.practice-voice-controls>.field{max-width:420px;margin:0}.practice-voice-controls p{margin:0}.practice-answer textarea{width:100%;box-sizing:border-box;font-size:1.1rem;line-height:1.7}.activity-answer-row .mic-answer{padding:14px}.activity-answer-row .practice-script{padding:10px;background:#eff6fc;border-radius:8px}.rougai-calendar{display:grid;gap:16px;min-width:0;color:var(--text,#24405b)}.rougai-calendar *{box-sizing:border-box}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.calendar-period{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.calendar-period h2{font-size:17px;margin:0;line-height:1.4;min-width:0;overflow-wrap:anywhere}.rougai-calendar button{font:inherit;cursor:pointer}.calendar-icon,.calendar-today{border:1px solid #d9e5ef;background:#fff;color:#305577;border-radius:8px;min-height:35px;padding:7px 10px;display:inline-flex;align-items:center;justify-content:center}.calendar-icon{width:35px;padding:7px}.calendar-today{font-size:12px!important}.calendar-view-tabs{display:flex;gap:3px;background:#edf4fa;padding:3px;border-radius:9px;flex-shrink:0}.calendar-view-tabs button{border:0;border-radius:7px;padding:8px 15px;background:transparent;color:#54728c;font-size:13px}.calendar-view-tabs button[aria-selected=true]{background:#fff;color:#0576b5;box-shadow:0 1px 4px #1a4b7219;font-weight:700}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:#dfe8f0;border:1px solid #dfe8f0;border-radius:12px;overflow:hidden;min-width:0}.calendar-weekday{text-align:center;font-size:12px;font-weight:700;padding:10px 3px;background:#f5f9fc;min-width:0;overflow-wrap:anywhere}.calendar-day{min-width:0;background:#fff;min-height:146px;padding:5px;position:relative}.calendar-day.outside-month{background:#f7f9fb}.calendar-day.today .calendar-day-heading>span{background:#087dba;color:#fff}.calendar-day.selected{box-shadow:inset 0 0 0 2px #82bee3;background:#f1f9fe}.calendar-day-heading{display:flex;align-items:center;justify-content:space-between;border:0;background:transparent;color:#305577;width:100%;padding:3px 2px;font-size:13px!important;gap:2px}.calendar-day-heading>span{display:grid;place-items:center;min-width:25px;min-height:25px;border-radius:50%}.calendar-day-heading small{font-size:10px;background:#e9f1f7;border-radius:10px;min-width:18px;padding:3px;color:#5f7b95}.calendar-cell-events{display:flex;flex-direction:column;gap:4px;margin-top:4px;min-width:0}.calendar-event{display:grid;gap:3px;border:0;border-left:3px solid #0a87c1;border-radius:5px;background:#eaf5fb;color:#255778;padding:5px;text-align:left;width:100%;min-width:0;font-size:10px!important;line-height:1.35}.calendar-event strong,.calendar-event span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.calendar-event strong{font-size:11px}.calendar-event-time{font-variant-numeric:tabular-nums;font-weight:700}.calendar-event-class{color:#5a7990}.calendar-event.cancelled{background:#f2f1f1;border-left-color:#acb7bf;color:#7d858d;text-decoration:line-through}.calendar-event.ended{background:#f0f4f7;border-left-color:#8bafc7}.calendar-event-status{color:#688197}.calendar-more{border:0;background:transparent;color:#087db7;padding:5px 2px;font-size:10px!important;text-align:left;width:100%;overflow-wrap:anywhere;line-height:1.3}.calendar-week .calendar-day{min-height:200px}.calendar-day-details{border:1px solid #dce7f0;border-radius:12px;overflow:hidden;background:#fff;min-width:0}.calendar-day-details>header{display:flex;align-items:center;gap:9px;padding:14px 16px;background:#f8fbfd;border-bottom:1px solid #e5edf4}.calendar-day-details h3{font-size:15px;line-height:1.4;margin:0;flex:1;overflow-wrap:anywhere;min-width:0}.calendar-detail-count{font-size:12px;background:#e4f0f8;border-radius:20px;padding:4px 9px;color:#21628c}.calendar-detail-list{display:grid;min-width:0}.calendar-detail-row{display:flex;align-items:center;gap:14px;padding:14px 16px;border-bottom:1px solid #e8eff5;min-width:0}.calendar-detail-row:last-child{border-bottom:0}.calendar-detail-row.cancelled{background:#fafafa}.calendar-detail-time{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:650;color:#376887;white-space:nowrap;font-variant-numeric:tabular-nums}.calendar-detail-copy{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0;overflow-wrap:anywhere}.calendar-detail-copy>strong,.calendar-session-title{font-size:14px;font-weight:700;line-height:1.4}.calendar-session-title{color:#1f6392;border:0;background:transparent;text-align:left;padding:0}.calendar-session-title:hover{text-decoration:underline}.calendar-detail-copy>span{font-size:12px;color:#5c7b93}.calendar-detail-copy>small{font-size:11px;color:#7b90a0}.calendar-status{font-size:10px;border-radius:6px;padding:4px 7px;background:#e9f4fc;color:#3981b0;flex-shrink:0}.calendar-status.cancelled{background:#eceef0;color:#6e7d86}.calendar-status.ended{background:#eef4f5;color:#6a8689}.calendar-session-action{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap;max-width:100%}.calendar-empty{padding:14px 16px;margin:0;font-size:13px;color:#738ba0}.rougai-calendar button:focus-visible{outline:3px solid #6eb4df;outline-offset:2px}.calendar-role-filters{display:flex;justify-content:flex-end;margin:0 0 2px}.calendar-role-filters select{width:min(300px,100%)}@media(max-width:700px){.calendar-period{gap:5px}.calendar-period h2{font-size:14px}.calendar-day{padding:3px;min-height:124px}.calendar-weekday{font-size:10px;padding:8px 1px}.calendar-event{padding:4px 3px;border-left-width:2px;font-size:9px!important}.calendar-event strong{font-size:9px}.calendar-event-class{display:none}.calendar-day-heading{font-size:11px!important}.calendar-day-heading>span{min-width:20px;min-height:20px}.calendar-day-heading small{font-size:8px;min-width:13px;padding:2px}.calendar-more{font-size:9px!important;padding:4px 1px}.calendar-detail-row{gap:8px;padding:12px;flex-wrap:wrap}.calendar-detail-copy{min-width:calc(100% - 110px)}.calendar-detail-time{font-size:11px}.calendar-session-action{margin-left:auto}.calendar-status{font-size:9px}.calendar-day-details>header{padding:12px}.calendar-day-details h3{font-size:13px}.calendar-view-tabs button{padding:7px 12px}.calendar-week .calendar-day{min-height:160px}.calendar-week .calendar-event span:not(.calendar-event-time){display:none}}@media(max-width:400px){.calendar-grid{border-radius:8px}.calendar-day{min-height:119px}.calendar-day-heading{gap:0}.calendar-day-heading small{display:none}.calendar-event-time{font-size:8px}.calendar-event{padding:3px 2px}.calendar-event strong{font-size:8px}.calendar-period h2{font-size:13px}.calendar-view-tabs button{font-size:12px}.calendar-toolbar{gap:8px}}.reminder-ring{position:fixed;z-index:10000;inset:auto 20px 20px auto;width:min(400px,calc(100vw - 40px));background:#fff;border:2px solid #138dcc;border-radius:20px;padding:24px;box-shadow:0 20px 70px #10385344}.reminder-ring>span{font-size:32px}.role-hub{display:grid;gap:20px}.role-class{cursor:pointer;text-align:left}.role-detail .skill-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.role-student-row{padding:14px 0;border-bottom:1px solid #e1eaf0}.timetable-board{display:grid;grid-template-columns:repeat(7,minmax(100px,1fr));gap:8px;overflow:auto}.timetable-day{background:#f0f6fa;border-radius:12px;padding:12px}.timetable-event{background:#fff;border-left:3px solid #0585c6;padding:10px;border-radius:8px;margin:10px 0}.timetable-event p{margin:4px 0;font-size:12px}@media(max-width:700px){.role-detail .skill-progress{grid-template-columns:repeat(2,minmax(0,1fr))}}.role-class .row{flex-wrap:wrap;min-width:0}.role-class .badge{max-width:100%;white-space:normal;overflow-wrap:anywhere}.role-class,.role-class h3{min-width:0;overflow-wrap:anywhere}.admin-homework-preview{min-width:0;width:100%}.admin-preview-note{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;background:#edf5ff;color:#194b83;border-radius:12px;line-height:1.55}.admin-preview-note svg{flex-shrink:0;margin-top:3px}.admin-preview-availability{padding:10px 14px;background:#fff7e8;border-radius:10px;color:#785510;line-height:1.5}.admin-homework-preview audio,.admin-homework-preview video,.admin-homework-preview img{max-width:100%}.admin-homework-preview .exercise-result>strong{display:flex;gap:8px;align-items:center}.admin-homework-preview .question-prompt{white-space:pre-wrap}.teacher-homework-workspace{max-width:1180px;margin:auto}.teacher-homework-filters{display:grid;grid-template-columns:1fr 1fr;gap:20px}.teacher-homework-filters .field{margin:0}.teacher-assignment-list{padding:0!important;overflow:hidden}.teacher-assignment-list article{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e9e3}.teacher-assignment-list article:last-child{border-bottom:0}.teacher-assignment-list article>div{min-width:0}.teacher-assignment-list strong{display:inline-block;margin-right:12px}.teacher-task-prompt{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0;font-size:.9rem}.teacher-assignment-list small{color:#728578}.teacher-assignment-list .btn{flex-shrink:0}.teacher-trial-modal{width:min(980px,calc(100vw - 36px));max-height:calc(100dvh - 32px)}.teacher-trial-modal .admin-homework-preview{max-width:none}.teacher-progress-details{margin-bottom:20px}.teacher-progress-details summary{cursor:pointer;padding:12px 0;color:#075549;font-weight:600}.teacher-progress-skills{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.teacher-progress-skills>div{padding:12px;background:#f3f8f5;border-radius:10px}.teacher-progress-skills strong,.teacher-progress-skills span,.teacher-progress-skills small{display:block}.teacher-progress-skills span{font-size:.85rem;color:#617b6d}.teacher-progress-skills strong{margin:5px 0;color:#075549}.teacher-progress-skills progress{width:100%;accent-color:#078370;height:6px}.teacher-progress-assignment{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;border-bottom:1px solid #e2eae5;padding:12px 0}.teacher-progress-assignment>div{flex:1;min-width:180px}.teacher-progress-assignment .text-btn{text-align:left}.teacher-progress-assignment small{display:block;color:#738c7e;font-size:.76rem}.teacher-progress-assignment .badge{flex-shrink:0}.teacher-progress-toggle{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.teacher-progress-toggle button{border:1px solid #dce7df;border-radius:8px;background:#fff;padding:8px 12px;font:inherit;cursor:pointer}.teacher-progress-toggle button.active{background:#e5f3ec;border-color:#97c8b3}.teacher-preview-inline{margin:18px 0}@media(max-width:720px){.teacher-homework-filters{grid-template-columns:1fr;gap:14px}.teacher-assignment-list article{align-items:flex-start;flex-direction:column}.teacher-progress-skills{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-progress-assignment{flex-wrap:wrap;gap:8px}.teacher-trial-modal{width:calc(100vw - 20px)}}.protected-html-player{display:flex;flex-direction:column;gap:12px;min-width:0;min-height:0;flex:1}.protected-html-actions{display:flex;flex-wrap:wrap;gap:10px;flex:none}.protected-html-note{margin:0;line-height:1.6;font-size:.82rem;overflow-wrap:anywhere;color:inherit}.protected-html-frame{display:block;width:100%;min-height:320px;flex:1;border:1px solid #d9e5f0;border-radius:8px;background:#fff}.live-stage .protected-html-frame{min-height:150px}.live-stage .protected-html-player{padding:12px}.admin-modal .protected-html-frame{height:min(68vh,680px);flex:none}.interactive-stream{display:flex;flex-direction:column;min-height:120px;flex:1;gap:10px}.interactive-stream>video{width:100%;height:100%;min-height:0;object-fit:contain;flex:1}.interactive-stream>.protected-html-note{padding:12px}.interactive-document-note{padding:10px;border:1px solid #d3e2f0;border-radius:8px;background:#f2f7fc}.interactive-document-note summary{cursor:pointer;font-weight:600}.interactive-document-note ol{padding-left:22px;line-height:1.7}.interactive-document-note p{line-height:1.6;margin-bottom:0}@media(max-width:600px){.protected-html-frame{min-height:230px}.protected-html-actions .btn{width:100%}}.teacher-school-library{min-width:0}.teacher-library-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.teacher-library-heading h1{margin:0 0 10px}.teacher-library-heading p{max-width:780px;line-height:1.7;margin:0}.teacher-library-heading>.btn{flex-shrink:0}.teacher-library-note{display:flex;gap:9px;align-items:flex-start;color:#517395;font-size:13px;line-height:1.7;margin:0}.teacher-library-note svg{flex-shrink:0;margin-top:3px}.teacher-library-courses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.teacher-library-course{display:flex;flex-direction:column;gap:13px;align-items:flex-start;text-align:left;cursor:pointer;color:#1c5686;border:1px solid #d9e7f2!important;min-width:0}.teacher-library-course:hover,.teacher-library-course:focus-visible{background:#f0f7ff;border-color:#83b9e7!important}.teacher-library-course strong{font-size:17px;line-height:1.5}.teacher-library-course>span{font-size:12px;line-height:1.6;color:#6c8197}.teacher-library-course .teacher-library-course-link{color:#1b69a9;font-weight:600}.teacher-library-back{align-self:flex-start;display:flex;align-items:center;gap:4px}.teacher-library-layout{display:grid;grid-template-columns:minmax(220px,270px) minmax(0,1fr);gap:20px;align-items:start}.teacher-library-chapters{display:flex;flex-direction:column;padding:12px!important;max-height:70vh;overflow:auto;gap:5px}.teacher-library-chapters>button{display:flex;text-align:left;gap:10px;justify-content:space-between;align-items:center;padding:12px;border:0;border-radius:10px;background:transparent;color:#405b72;cursor:pointer;font-size:12px;line-height:1.6}.teacher-library-chapters>button.selected{background:#eaf4ff;color:#145d98}.teacher-library-chapters>button small{color:#6d869f}.teacher-library-search{display:flex;align-items:center;gap:9px;border:1px solid #d9e7f2;background:#fff;border-radius:12px;padding:0 14px;color:#728ba0}.teacher-library-search input{flex:1;border:0;min-width:0;background:transparent;padding:14px 0;outline:none!important}.teacher-library-content{min-width:0}.teacher-library-document{display:flex;gap:15px;align-items:center;min-width:0}.teacher-library-document>svg{flex-shrink:0;color:#4d7fa5}.teacher-library-document>div{flex:1;min-width:0}.teacher-library-document h3{margin:0 0 7px;overflow-wrap:anywhere}.teacher-library-document p{font-size:12px;line-height:1.6;margin:0 0 9px}.teacher-library-document .btn{flex-shrink:0}.teacher-library-preview{width:min(1300px,96vw)!important;max-width:96vw!important;max-height:94dvh!important}.teacher-library-preview>.modal-heading{align-items:flex-start}.teacher-library-preview .modal-heading h2{margin:0;overflow-wrap:anywhere}.teacher-library-preview .modal-heading p{font-size:12px;margin:8px 0 0}.teacher-library-preview .protected-html-frame{height:68dvh;min-height:280px;flex:none}.teacher-library-preview .pdf-reader canvas{max-width:100%}@media(max-width:1050px){.teacher-library-courses{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-library-layout{grid-template-columns:minmax(180px,220px) minmax(0,1fr)}.teacher-library-document{flex-wrap:wrap}.teacher-library-document>.btn{margin-left:39px}.teacher-library-document>div{min-width:160px}}@media(max-width:650px){.teacher-library-heading{flex-direction:column;gap:12px}.teacher-library-heading h1{font-size:23px}.teacher-library-layout{grid-template-columns:1fr;gap:15px}.teacher-library-chapters{max-height:230px}.teacher-library-courses{grid-template-columns:1fr}.teacher-library-preview{padding:16px!important;max-width:96vw!important}.teacher-library-preview .protected-html-frame{height:64dvh}.teacher-library-document{padding:18px!important}.teacher-library-document h3{font-size:15px}.teacher-library-note{font-size:12px}}.study-materials{min-width:0}.study-note{margin:0;color:var(--muted,#607771)}.study-upload{display:grid;gap:15px;padding:18px;background:#f5f9f8;border:1px solid #dce8e4;border-radius:16px}.study-upload>.btn{justify-self:start}.study-list{display:grid;gap:12px}.study-item{display:flex;align-items:center;gap:16px;padding:16px;flex-wrap:wrap;min-width:0}.study-icon{display:grid;place-items:center;width:46px;height:46px;background:#e8f2ee;color:#064f46;border-radius:13px;flex:none}.study-item-copy{flex:1;min-width:150px;overflow-wrap:anywhere}.study-item h3{margin:0 0 5px;font-size:16px}.study-item p{margin:0;font-size:13px}.study-action{background:transparent;color:#064f46;border:0;display:inline-flex;gap:6px;align-items:center;justify-content:center;padding:9px;cursor:pointer;border-radius:8px}.study-action:hover{background:#eaf3ef}.study-action:disabled{opacity:.5;cursor:wait}.study-delete{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.study-delete p{flex-basis:100%;font-size:13px}.study-delete .btn{padding:8px 11px;font-size:13px}.study-delete>.study-action{color:#9c3535}.study-empty{padding:28px 18px;text-align:center;color:#687e76;background:#f5f9f7;border-radius:14px}.study-filters{display:flex;gap:14px;flex-wrap:wrap}.study-filters>.field{min-width:180px;flex:1}.study-error{display:grid;gap:10px}.study-error .btn{justify-self:start}.study-viewer-backdrop{position:fixed;inset:0;z-index:1200;background:#0b221db3;display:grid;place-items:center;padding:18px}.study-viewer{width:min(1100px,100%);max-height:94dvh;overflow:auto;padding:22px;min-width:0}.study-viewer>header{display:flex;align-items:center;gap:16px;justify-content:space-between;margin-bottom:18px}.study-viewer>header h3{margin:0;overflow-wrap:anywhere}.study-video{position:relative;background:#101817;aspect-ratio:16/9;overflow:hidden;border-radius:12px}.study-video video{display:block;width:100%;height:100%;object-fit:contain}.study-watermark{position:absolute;color:#fff;font-size:clamp(10px,1.6vw,18px);font-weight:600;opacity:.65;pointer-events:none;text-shadow:0 1px 3px #000;max-width:60%;overflow-wrap:anywhere}.study-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:65px;height:65px;display:grid;place-items:center;border:0;border-radius:50%;color:#fff;background:#064f46db;cursor:pointer}.study-controls{display:flex;align-items:center;gap:10px;padding:10px 2px}.study-controls input{min-width:50px;flex:1;accent-color:#064f46}.study-controls span{font-size:13px;white-space:nowrap}.study-video-shell:fullscreen{background:#101817;padding:12px;display:flex;flex-direction:column;justify-content:center;color:#fff}.study-video-shell:fullscreen .study-video{max-height:calc(100dvh - 90px);aspect-ratio:auto;flex:1}.study-video-shell:fullscreen .study-action{color:#fff}@media(max-width:640px){.study-viewer-backdrop{padding:8px}.study-viewer{padding:13px}.study-item{gap:10px}.study-item-copy{min-width:130px}.study-item>.btn{margin-left:auto}.study-upload{padding:13px}.study-controls{gap:5px}.study-controls span{font-size:11px}.study-controls .study-action{padding:6px}}.activity-picker>p{margin:0 0 18px;font-size:13px}.activity-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}.activity-picker-grid>button{display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left;cursor:pointer;border:1px solid #dce7f3;border-radius:13px;background:#fff;padding:20px;color:#1264ac;min-width:0}.activity-picker-grid>button:hover{background:#f1f7fd;border-color:#80b3e1}.activity-picker-grid strong{font-size:14px;color:#173c60}.activity-picker-grid small{font-size:12px;line-height:1.6;color:#718397}.activity-composer{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:16px;align-items:start;min-width:0}.activity-compose-main,.activity-compose-settings{display:flex;flex-direction:column;gap:14px;min-width:0}.activity-compose-section{padding:18px;background:#f7f9fc;border:1px solid #edf1f6;border-radius:12px;min-width:0}.activity-compose-section>.field+.field{margin-top:16px}.activity-compose-section h4{font-size:14px;color:#284968;margin:0 0 15px}.activity-compose-section .field>span{color:#345572;font-size:12px}.activity-compose-section .field>small,.activity-compose-section>.muted{font-size:11px;line-height:1.65}.activity-compose-section input,.activity-compose-section select,.activity-compose-section textarea{background:#fff;border-color:#d6e1ed;min-width:0;max-width:100%}.activity-compose-settings .field>small{font-size:10px}.activity-section-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px;flex-wrap:wrap;font-size:12px;color:#3f5e7b}.activity-section-heading h4{margin:0}.activity-section-heading>.muted{font-size:11px}.activity-resource-controls{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.activity-file-button{position:relative;overflow:hidden;cursor:pointer}.activity-file-button>input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;font-size:0}.activity-resource-controls+.mic-answer{margin-bottom:14px}.activity-question-types{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.activity-question-types>.btn{padding:9px 12px;color:#0c67b3;border:1px solid #b9d4ec;background:#fff}.activity-question-types>.btn:hover{background:#eaf4fd}.activity-question-types>.btn:disabled{opacity:.5;cursor:default}.activity-bulk{display:flex;gap:12px;align-items:flex-end;border-bottom:1px solid #e1e8f1;padding-bottom:16px}.activity-bulk>.field{max-width:165px}.activity-bulk>.field>input{font-size:12px;padding:8px 10px}.activity-bulk>.admin-text-button{margin-bottom:8px;color:#186aae}.activity-empty{padding:32px 12px;text-align:center;font-size:12px;color:#7e8fa3;line-height:1.8}.activity-answer-rows{display:flex;flex-direction:column;gap:12px;margin-top:16px}.activity-answer-row{background:#fff;border:1px solid #dfe7ef;border-radius:11px;padding:14px}.activity-answer-row-heading{display:flex;align-items:center;gap:10px;margin-bottom:13px;min-width:0}.activity-answer-row-heading>strong{font-size:12px;flex:1;color:#426581}.activity-answer-row-heading>.muted{font-size:10px}.activity-question-number{display:flex;align-items:center;justify-content:center;min-width:27px;height:27px;background:#ecf4fd;border-radius:7px;font-size:12px;font-weight:700;color:#216ba8}.activity-answer-row-heading>.admin-icon-button{padding:6px}.activity-answer-choices{display:flex;flex-wrap:wrap;gap:9px}.activity-answer-choices>button{border:1px solid #cbd9e7;border-radius:8px;padding:9px 13px;min-width:48px;display:flex;align-items:center;justify-content:center;gap:5px;background:#fff;color:#55708c;font-size:13px;cursor:pointer}.activity-answer-choices>button:hover{border-color:#80acd3;background:#f4f9ff}.activity-answer-choices>button.selected{border-color:#1474c6;background:#e5f2ff;color:#0a5f9f;font-weight:700}.activity-answer-row>details{margin-top:13px;border-top:1px solid #edf2f7;padding-top:9px;font-size:11px;color:#7890a7}.activity-answer-row>details>summary{cursor:pointer}.activity-answer-row>details>.field{margin-top:12px}.activity-submission-formats{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.activity-submission-formats>span{display:flex;align-items:center;gap:8px;font-size:12px;color:#376991;padding:11px;background:#eaf2fb;border-radius:9px}.activity-score-total{color:#075da7;font-size:22px}.activity-compose-footer{grid-column:1/-1;position:sticky;bottom:-26px;background:#fff;border-top:1px solid #dfe7ef;padding:16px 0 2px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;z-index:2}.activity-compose-footer>.muted{font-size:11px}.activity-compose-footer>div{display:flex;gap:9px;flex-wrap:wrap}.activity-compose-footer>.admin-error{flex-basis:100%;margin:0}.activity-compose-section .admin-note{background:#edf4fc;color:#4f708d}.activity-compose-settings .admin-check{color:#3e6282}.activity-compose-settings .admin-check input{accent-color:#146bb3}.admin-modal.admin-modal-wide{width:min(100%,1180px)}.admin-delete-button{color:#b44542!important}.admin-delete-button:hover{background:#fff1f0!important;color:#9c2724!important}@media(max-width:900px){.activity-composer{grid-template-columns:minmax(0,1fr) 235px}.activity-compose-section{padding:14px}.activity-question-types>.btn{font-size:11px;padding:8px 9px}}@media(max-width:700px){.activity-composer{grid-template-columns:1fr}.activity-compose-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.activity-compose-settings>.activity-compose-section:last-child{grid-column:1/-1}.activity-compose-footer{bottom:-20px}.activity-section-heading{font-size:11px}.activity-picker-grid>button{padding:15px}}@media(max-width:480px){.activity-picker-grid,.activity-compose-settings{grid-template-columns:1fr}.activity-picker-grid>button{gap:7px;padding:14px}.activity-picker-grid small{font-size:11px}.activity-answer-row-heading{gap:7px;flex-wrap:wrap}.activity-answer-row-heading>strong{font-size:11px}.activity-answer-choices{gap:7px}.activity-compose-footer>div{width:100%;justify-content:flex-end}.activity-bulk{flex-wrap:wrap}.activity-resource-controls>.btn{width:100%}}.activity-prompt-attachments{display:flex;flex-direction:column;gap:8px;margin:12px 0}.activity-prompt-attachments>div{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#eaf2fc;padding:8px 11px;border-radius:8px;font-size:11px;color:#50718d}.activity-prompt-attachments span{overflow-wrap:anywhere}.school-font-upload .field small{display:block;line-height:1.6;color:#667b90;font-size:12px;margin-top:6px}.school-font-batch{margin-top:16px;padding:14px;border:1px solid #dce7f0;border-radius:12px;background:#f7fbfe;min-width:0}.school-font-progress{font-size:13px;line-height:1.6;margin:0 0 8px;color:#215c8e}.school-font-batch progress{width:100%;height:10px;accent-color:#216cc1}.school-font-batch-list{padding:0;list-style:none;max-height:280px;overflow:auto;margin:10px 0;scrollbar-gutter:stable}.school-font-batch-list li{display:flex;gap:12px;justify-content:space-between;padding:8px 0;border-bottom:1px solid #e2ebf3;font-size:12px;line-height:1.6}.school-font-batch-list li>span:first-child{min-width:0;overflow-wrap:anywhere}.school-font-batch-list li>span:last-child{white-space:nowrap;flex-shrink:0}.school-font-batch-list strong,.school-font-batch-list small{display:block}.school-font-batch-list [data-status=succeeded]>span:last-child{color:#23724c}.school-font-batch-list [data-status=failed]>span:last-child{color:#ac3c3c}.school-bulk-dialog{width:min(1100px,96vw)!important;max-width:96vw!important}.school-bulk-dialog header{flex-shrink:0}.school-bulk-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.school-bulk-drop{padding:22px;border:2px dashed #c9daeb;border-radius:14px;background:#f6faff;display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center}.school-bulk-drop.is-over{border-color:#2373b6;background:#eaf4ff}.school-bulk-drop p{margin:0;font-weight:600}.school-bulk-drop input{max-width:100%;padding:8px}.school-bulk-note{font-size:12px;line-height:1.7;color:#617b94;margin:0}.school-bulk-error{padding:10px 13px;border-radius:10px;color:#a12f3b;background:#fff1f2;font-size:13px;line-height:1.6}.school-bulk-table-wrap{overflow:auto;max-height:40dvh;border:1px solid #dfeaf3;border-radius:10px}.school-bulk-table{width:100%;border-collapse:collapse;min-width:680px;font-size:12px}.school-bulk-table th,.school-bulk-table td{padding:10px 9px;text-align:left;border-bottom:1px solid #e7eff5;vertical-align:middle}.school-bulk-table th{position:sticky;top:0;background:#eef5fb;z-index:1;white-space:nowrap}.school-bulk-table td:first-child{max-width:210px;overflow-wrap:anywhere}.school-bulk-table td:nth-child(2){min-width:200px}.school-bulk-table td:nth-child(3){width:100px}.school-bulk-table input,.school-bulk-table select{width:100%;font-size:12px;padding:8px}.school-bulk-file{display:flex;flex-direction:column;gap:5px}.school-bulk-file small{color:#71869a}.school-bulk-row-actions{display:flex;gap:3px}.school-bulk-row-actions button{padding:5px;border:0;border-radius:6px;background:#eef4fa;color:#446b8f;cursor:pointer}.school-bulk-row-actions button:disabled{opacity:.3;cursor:default}.school-bulk-row-error{display:block;color:#ae3941;max-width:190px;line-height:1.5;overflow-wrap:anywhere}.school-bulk-status[data-status=succeeded]{color:#24704e}.school-bulk-status[data-status=failed]{color:#ae3941}.school-bulk-progress{display:flex;flex-direction:column;gap:8px}.school-bulk-progress p{margin:0;font-size:13px}.school-bulk-progress progress{width:100%}.school-bulk-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.school-bulk-checkbox{display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.6;max-width:660px}.school-bulk-checkbox input{width:17px;min-width:17px;height:17px;margin-top:2px}.school-bulk-buttons{display:flex;gap:8px;flex-wrap:wrap}.admin-library-upload-buttons{display:flex;gap:8px;align-items:center;flex-wrap:wrap}@media(max-width:700px){.school-bulk-fields{grid-template-columns:1fr}.school-bulk-dialog{max-height:96dvh!important;padding:16px!important}.school-bulk-table-wrap{max-height:36dvh}.admin-library-upload-buttons{width:100%}.admin-library-upload-buttons>.btn{flex:1}}.admin-modal.bulk-homework-dialog{width:min(1140px,calc(100vw - 28px));max-width:1140px;max-height:calc(100dvh - 28px);overflow:auto;overscroll-behavior:contain;padding:22px!important;display:flex;flex-direction:column;gap:16px}.bulk-homework-dialog .admin-modal-heading{position:sticky;top:-22px;background:var(--surface,#fff);z-index:2;padding:12px 0;margin:0;flex-shrink:0}.bulk-homework-intro{margin:0;color:var(--muted,#596779);line-height:1.55}.bulk-homework-source-settings{display:grid;grid-template-columns:1fr 1fr;gap:16px}.bulk-homework-source-settings .field{min-width:0}.bulk-homework-help{border:1px solid var(--border,#dce4ed);border-radius:12px;padding:14px;background:#f5f9fe}.bulk-homework-help summary,.bulk-homework-preview summary{cursor:pointer;color:#235184;font-weight:600;line-height:1.5}.bulk-homework-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;line-height:1.6;margin:10px 0;font-size:14px}.bulk-homework-help pre{background:#fff;border:1px solid #dce4ed;padding:12px;border-radius:8px;max-height:260px;overflow:auto}.bulk-homework-source{min-height:260px;width:100%;resize:vertical;font-size:15px;line-height:1.6;font-family:inherit}.bulk-homework-analyze{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.bulk-homework-analyze .localized-file-picker{flex:1;min-width:230px}.bulk-homework-preview{border-top:1px solid var(--border,#dce4ed);padding-top:18px;display:flex;flex-direction:column;gap:14px}.bulk-homework-preview>header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.bulk-homework-preview h4{margin:0;font-size:16px}.bulk-homework-select-all{padding:10px;background:#f1f7ff;border-radius:8px}.bulk-homework-chapter{display:flex;flex-direction:column;gap:10px}.bulk-homework-chapter>h4{padding-top:6px}.bulk-homework-activity{border:1px solid var(--border,#dce4ed);border-radius:10px;padding:14px}.bulk-homework-activity.blocked{border-color:#e4b5b2;background:snow}.bulk-homework-activity-heading{display:flex;flex-wrap:wrap;align-items:center;gap:9px 15px;margin-bottom:10px}.bulk-homework-activity-heading label{flex:1;min-width:180px}.bulk-homework-activity-heading small{color:var(--muted,#596779)}.bulk-homework-blocked{color:#a92d25;background:#fce8e7}.bulk-homework-issues{margin:4px 0;padding-left:23px;line-height:1.55;font-size:14px}.bulk-homework-issues .blocking{color:#a32d25}.bulk-homework-issues .warning{color:#775111}.bulk-homework-details{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:12px}.bulk-homework-details section{min-width:0;border:1px solid #e0e7f0;border-radius:8px;padding:12px;background:#fff}.bulk-homework-details h5{font-size:14px;margin:0 0 12px;color:#35485d}.bulk-homework-details ol{margin:0;padding-left:24px;line-height:1.8}.bulk-homework-details small{display:block;color:#657486}.bulk-homework-admin-key{background:#f8faff!important}.bulk-homework-question{margin:7px 0;line-height:1.6}.bulk-homework-summary{background:#f1f7ff;border-radius:8px;margin:0;padding:12px;font-weight:600}.bulk-homework-result{background:#f0faf4;border:1px solid #c4e1ce;border-radius:10px;padding:16px}.bulk-homework-result h4{display:flex;gap:8px;margin:0;align-items:center}.bulk-homework-footer{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid var(--border,#dce4ed);padding-top:16px}.bulk-homework-footer>div{display:flex;gap:10px;flex-wrap:wrap}.bulk-homework-spinning{animation:bulk-homework-spin 1s linear infinite}@keyframes bulk-homework-spin{to{transform:rotate(360deg)}}@media(max-width:700px){.admin-modal.bulk-homework-dialog{width:calc(100vw - 16px);padding:14px!important;max-height:calc(100dvh - 16px)}.bulk-homework-dialog .admin-modal-heading{top:-14px}.bulk-homework-source-settings,.bulk-homework-details{grid-template-columns:1fr}.bulk-homework-footer{align-items:stretch;flex-direction:column}.bulk-homework-footer>div{display:grid;grid-template-columns:1fr}.bulk-homework-activity-heading{align-items:flex-start;flex-direction:column}.bulk-homework-source{min-height:230px}}@media(prefers-reduced-motion:reduce){.bulk-homework-spinning{animation:none}}.class-schedule-manager{width:min(1120px,96vw)!important;max-width:1120px!important}.class-schedule-manager fieldset{border:1px solid var(--line,#dfe6ef);border-radius:12px;margin:0;padding:14px;min-width:0}.class-schedule-manager legend{font-weight:650;padding:0 6px}.schedule-modes{display:grid;gap:12px}.schedule-modes label{display:flex;align-items:flex-start;gap:9px;padding:7px;cursor:pointer}.schedule-modes input{margin-top:4px}.schedule-modes strong,.schedule-modes small{display:block}.schedule-modes small{margin-top:4px;color:var(--muted,#63738a);line-height:1.4}.schedule-config .grid2{gap:12px}.schedule-selection h4{display:flex;align-items:center;gap:9px;margin:0 0 12px}.schedule-selection-controls{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.schedule-selection-controls .field{width:160px}.schedule-sessions-scroll{overflow:auto;max-height:330px;border:1px solid var(--line,#dfe6ef);border-radius:10px;margin-top:12px}.schedule-sessions-scroll table{margin:0}.class-schedule-manager td small{display:block;color:var(--muted,#63738a);margin-top:4px}.schedule-sessions-scroll tr.selected{background:#edf5ff}.schedule-addition-row{display:grid;grid-template-columns:25px 1fr 1fr 1fr 35px;gap:10px;align-items:end;padding:10px 0;border-bottom:1px solid var(--line,#dfe6ef)}.schedule-addition-row .badge{align-self:center}.schedule-addition-row input,.schedule-addition-row select{min-width:0;width:100%}.schedule-summary{display:flex;gap:10px 18px;flex-wrap:wrap;padding:10px 0}.class-schedule-manager details{margin:8px 0;padding:9px;background:#f5f8fc;border-radius:8px}.class-schedule-manager summary{cursor:pointer}.class-schedule-manager .admin-preview-scroll{max-height:330px}.class-schedule-manager>.admin-modal-heading{position:sticky;top:0;background:var(--card,#fff);z-index:1}.class-schedule-manager .admin-table{min-width:580px}@media(max-width:700px){.schedule-addition-row{grid-template-columns:25px 1fr 35px}.schedule-addition-row .field{grid-column:2}.schedule-addition-row .badge{grid-row:1/4}.schedule-addition-row>button{grid-column:3;grid-row:1/4}.schedule-selection-controls .field{width:calc(50% - 5px)}.schedule-modes small{font-size:12px}}.schedule-reload{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.schedule-addition-row.manual{grid-template-columns:25px 1fr 1fr 1fr 1fr 35px}@media(max-width:700px){.schedule-addition-row.manual{grid-template-columns:25px 1fr 35px}.schedule-addition-row.manual .badge,.schedule-addition-row.manual>button{grid-row:1/5}}.admin-workspace{display:flex;flex-direction:column;gap:22px;min-width:0;max-width:1440px;margin:0 auto}.admin-intro h2{font-size:25px;margin:4px 0 6px;letter-spacing:-.55px}.admin-intro p{margin:0;font-size:13px;line-height:1.6}.admin-eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:var(--brand,#064f46)}.admin-tabs{display:flex;gap:6px;border-bottom:1px solid #dce7e4;padding-bottom:12px;overflow-x:auto}.admin-tabs button{border:0;background:transparent;color:#637b76;border-radius:11px;padding:12px 15px;display:flex;align-items:center;gap:8px;font-weight:650;font-size:13px;white-space:nowrap;cursor:pointer}.admin-tabs button.active{background:#e2f3ed;color:#075448}.admin-tabs button:hover{background:#edf5f2}.admin-section-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px}.admin-section-toolbar h3{font-size:20px;letter-spacing:-.3px;margin:0 0 5px}.admin-section-toolbar p{font-size:13px;line-height:1.65;margin:0;max-width:780px}.admin-section-toolbar>.btn{flex-shrink:0}.admin-panel{padding:22px;min-width:0}.admin-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.admin-panel-heading h3{margin:0;font-size:17px}.admin-panel-heading p{margin:5px 0 0;font-size:12px;line-height:1.7}.admin-panel-heading>.btn,.admin-panel-heading>.badge{flex-shrink:0}.admin-panel .field>span,.admin-modal .field>span{font-size:12px;font-weight:650;color:#365b52}.admin-panel .field small,.admin-modal .field small{font-size:11px;line-height:1.65}.admin-panel input,.admin-panel select,.admin-panel textarea,.admin-modal input,.admin-modal select,.admin-modal textarea{min-width:0;max-width:100%}.admin-workspace .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:12px}.admin-note{background:#f0f6f3;border-radius:10px;padding:13px 15px;line-height:1.75;font-size:12px;color:#4d6b60;margin:12px 0}.admin-error{background:#fff3f1;border:1px solid #f1ceca;color:#a54135;position:relative;padding:14px 40px 14px 16px;border-radius:11px;line-height:1.7;font-size:13px;overflow-wrap:anywhere}.admin-error button{position:absolute;right:12px;top:10px;background:none;border:0;color:inherit;font-size:21px;cursor:pointer}.admin-empty{margin:0;padding:30px 16px;color:#7a9188;text-align:center;line-height:1.8;font-size:13px}.admin-text-button{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:#075b4c;padding:5px 0;font-size:12px;font-weight:650;cursor:pointer;text-align:left}.admin-text-button:hover{color:#07856c}.admin-text-button:disabled{opacity:.5;cursor:default}.admin-back{align-self:flex-start}.admin-icon-button{border:1px solid #dde8e4;border-radius:9px;background:#fff;color:#4b7064;padding:9px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.admin-icon-button:hover{background:#eff8f4}.admin-icon-button:disabled{opacity:.5}.admin-filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.admin-filters>select{width:auto;max-width:100%;min-width:150px;font-size:12px}.admin-search{display:flex;gap:8px;align-items:center;padding:0 12px;background:#fff;border:1px solid #dbe6e2;border-radius:11px;flex:1;min-width:180px;color:#799286}.admin-search input{border:0!important;background:transparent!important;box-shadow:none!important;min-width:0;width:100%;font-size:13px;padding:12px 0!important}.admin-class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.admin-class-card{display:block;text-align:left;width:100%;border:1px solid #dce8e2;padding:23px;cursor:pointer;color:inherit;transition:transform .15s,border-color .15s,box-shadow .15s}.admin-class-card:hover{border-color:#a6cbbb;box-shadow:0 9px 24px #1145340c;transform:translateY(-2px)}.admin-class-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:19px}.admin-course-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:#e7f5ee;color:#086049;flex-shrink:0}.admin-class-card h3{font-size:17px;margin:0 0 7px;line-height:1.45}.admin-class-card>p{font-size:12px;color:#829489;margin:0 0 19px;line-height:1.6}.admin-class-teacher{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf2ef;padding-bottom:15px;margin-bottom:17px;font-size:12px;font-weight:600;color:#3e6555}.admin-class-progress>span{display:flex;justify-content:space-between;font-size:11px;color:#748c7d;margin-bottom:8px}.admin-class-progress b{font-weight:750;color:#245d46}.admin-progress{display:block;height:6px;border-radius:20px;background:#eaf2ec;width:100%;overflow:hidden}.admin-progress i{display:block;height:100%;border-radius:20px;background:#29986e}.admin-punctuality{display:flex;align-items:center;gap:5px;font-size:11px;color:#789080;margin-top:14px}.admin-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}.admin-metrics>div{background:#f4f8f5;padding:17px;border-radius:12px}.admin-metrics span{display:block;font-size:11px;color:#7c9080}.admin-metrics strong{font-size:26px;letter-spacing:-.6px;display:block;margin-top:8px;color:#0f5239}.admin-table-wrap{overflow-x:auto;max-width:100%}.admin-table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}.admin-table th{font-size:10px;color:#829488;font-weight:700;letter-spacing:.2px;padding:11px 12px;border-bottom:1px solid #e0ebe4}.admin-table td{padding:16px 12px;vertical-align:top;border-bottom:1px solid #edf3ef}.admin-table td:first-child{min-width:130px}.admin-progress-value{display:block;min-width:90px;line-height:1.8;font-variant-numeric:tabular-nums}.admin-skill-chips{display:flex;gap:6px;flex-wrap:wrap}.admin-skill-chips>span{font-size:10px;padding:4px 7px;border-radius:5px;background:#eef7f0;color:#57755f;white-space:nowrap}.admin-skill-chips b{margin-left:5px;color:#1b5d3b}.admin-chapter-progress{padding:18px;background:#f5faf6;border-radius:12px;margin-top:18px}.admin-chapter-progress h4{margin:0 0 13px;font-size:13px}.admin-chapter-progress-row{display:grid;grid-template-columns:1fr auto 100px;gap:14px;font-size:12px;align-items:center;margin:11px 0}.admin-inline-form{display:flex;gap:14px;align-items:flex-end}.admin-inline-form .field{flex:1;min-width:0}.admin-inline-form .btn{margin-bottom:1px}.admin-member-picker{max-height:240px;overflow-y:auto;display:flex;flex-direction:column;gap:9px;border:1px solid #dce8e1;border-radius:10px;padding:12px}.admin-member-picker span{display:block}.admin-member-picker small{display:block;font-size:10px;font-weight:400;color:#8a9b8e;margin-top:3px}.admin-check{display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.6;color:#4a6a56;cursor:pointer}.admin-check input{width:15px!important;height:15px!important;flex-shrink:0;accent-color:#146b4f}.admin-check-row{display:flex;gap:15px;flex-wrap:wrap}.admin-curriculum-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.admin-curriculum-card{border:1px solid #dce7e1;border-radius:12px;display:flex;align-items:center;gap:12px;padding:17px 18px;background:#fff;color:#668272;cursor:pointer;text-align:left}.admin-curriculum-card span{display:block;min-width:0}.admin-curriculum-card strong{display:block;font-size:13px;color:#466555;line-height:1.6}.admin-curriculum-card small{display:block;font-size:10px;margin-top:4px;color:#8a9d8d}.admin-curriculum-card svg{flex-shrink:0}.admin-curriculum-card.selected{background:#e9f7ee;border-color:#8ecbb1;color:#07583d}.admin-curriculum-card.selected strong{color:#07583d}.admin-curriculum-body{display:grid;grid-template-columns:230px minmax(0,1fr);gap:20px;align-items:start}.admin-chapter-list{padding:16px;max-height:650px;overflow:auto;position:sticky;top:24px}.admin-chapter-list header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.admin-chapter-list h3{font-size:13px;margin:0}.admin-chapter-list header>span{font-size:10px;color:#7d9787}.admin-chapter-list>button{display:flex;gap:10px;align-items:flex-start;border:0;background:transparent;width:100%;text-align:left;color:#657e6a;border-radius:9px;font-size:11px;padding:11px 8px;cursor:pointer}.admin-chapter-list>button>span{color:#98a99a;font-size:11px;font-variant-numeric:tabular-nums;padding-top:1px}.admin-chapter-list strong{font-size:11px;line-height:1.6;flex:1;font-weight:600;overflow-wrap:anywhere}.admin-chapter-list>button svg{flex-shrink:0;margin-top:2px}.admin-chapter-list>button.selected{background:#e9f5eb;color:#175b3b}.admin-activity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.admin-activity{display:flex;align-items:center;gap:11px;border:1px solid #e0ebe4;border-radius:10px;padding:15px 13px;background:#fff;color:#2d6b46;font-size:12px;cursor:pointer;line-height:1.4;text-align:left}.admin-activity svg{flex-shrink:0}.admin-activity:hover{background:#f1f9f2;border-color:#add5ba}.admin-section-scores{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:16px}.admin-section-scores>span{background:#f2f8f2;border-radius:9px;padding:10px;font-size:10px;color:#7e947e;line-height:1.6}.admin-section-scores b{display:block;font-size:13px;color:#446f45;font-variant-numeric:tabular-nums;margin-top:4px}.admin-homework-list{display:flex;flex-direction:column;margin-bottom:12px}.admin-homework-list article{padding:15px 0;border-bottom:1px solid #eaf1e9;display:flex;gap:14px;align-items:center;justify-content:space-between}.admin-homework-list strong{display:block;font-size:12px;line-height:1.7}.admin-homework-list small{display:block;font-size:10px;color:#8b9e8a;margin-top:4px}.admin-homework-list .admin-text-button{flex-shrink:0}.admin-editor-context{background:#f0f7ef;color:#719270;border-radius:8px;padding:10px 12px;font-size:11px;line-height:1.7;margin:0}.admin-people{display:flex;flex-direction:column}.admin-person{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid #edf3e9}.admin-person:first-child{padding-top:0}.admin-person:last-child{border-bottom:0;padding-bottom:0}.admin-avatar{width:40px;height:40px;border-radius:50%;background:#ecf7e8;color:#527949;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;flex-shrink:0}.admin-person-detail{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.admin-person-detail strong{font-size:13px;line-height:1.6;overflow-wrap:anywhere}.admin-person-detail small{font-size:11px;color:#8b9c83}.admin-person-detail>.badge{align-self:flex-start;font-size:9px}.admin-person-actions{display:flex;gap:7px;align-items:center;flex-shrink:0}.admin-person-actions>.admin-text-button{margin-right:4px}.admin-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.admin-library-item{display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:start;padding:22px;min-width:0}.admin-library-item>svg{color:#4b8b40;margin-top:2px}.admin-library-item h3{font-size:15px;margin:0;overflow-wrap:anywhere;line-height:1.5}.admin-library-item p{font-size:10px;line-height:1.7;margin:6px 0 9px}.admin-library-actions{grid-column:2;display:flex;flex-wrap:wrap;gap:12px}.admin-library-item>details{grid-column:1/-1;border-top:1px solid #e8f0e3;padding-top:13px;font-size:11px}.admin-library-item summary{cursor:pointer;color:#86a077;font-size:10px}.admin-version{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:12px;color:#91a77c}.admin-version small{width:100%;overflow-wrap:anywhere}.admin-week-controls{display:flex;gap:10px;align-items:center;flex:1;min-width:260px}.admin-week-controls strong{font-size:12px;color:#748b63}.admin-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;min-width:0}.admin-week-day{background:#fff;border:1px solid #e2ebda;border-radius:12px;min-height:270px;padding:11px 8px;min-width:0}.admin-week-day.today{border-color:#98c17d;background:#f4faee}.admin-week-day header{text-align:center;color:#849770;border-bottom:1px solid #eff3e7;padding:3px 0 12px;margin-bottom:11px}.admin-week-day header>span{display:block;font-size:10px;font-weight:650}.admin-week-day header strong{display:block;font-size:20px;font-weight:650;margin-top:4px;color:#507137}.admin-calendar-session{display:flex;flex-direction:column;gap:5px;width:100%;border:0;border-left:3px solid #94bd78;border-radius:7px;background:#edf6e4;color:#587944;text-align:left;padding:10px 7px;margin-bottom:9px;cursor:pointer}.admin-calendar-session strong{font-size:9px;line-height:1.7;overflow-wrap:anywhere}.admin-calendar-session>span{font-size:10px;font-weight:650;line-height:1.6;overflow-wrap:anywhere}.admin-calendar-session>small{font-size:9px;color:#8da36e;overflow-wrap:anywhere}.admin-calendar-session:hover{background:#e7f3d7}.admin-day-empty{font-size:12px;color:#d0dcc0;text-align:center;display:block;padding-top:36px}.admin-weekday-picker{display:flex;gap:12px;flex-wrap:wrap}.admin-schedule-preview{margin-top:20px;border-top:1px solid #e5eddd;padding-top:15px}.admin-schedule-preview h4{font-size:13px;margin:0 0 12px}.admin-preview-scroll{max-height:200px;overflow:auto;border-radius:8px;background:#f6f9f0;padding:7px 12px;margin-bottom:15px}.admin-preview-scroll p{font-size:11px;line-height:1.7;margin:6px 0}.admin-modal-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#0c281e6b;padding:24px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.admin-modal{width:min(100%,680px);max-height:calc(100dvh - 48px);overflow-y:auto;padding:25px!important;box-shadow:0 22px 90px #071b1533}.admin-modal header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 21px}.admin-modal header h3{margin:0;font-size:20px;line-height:1.5}.admin-modal input[type=file]{font-size:12px;padding:11px;line-height:1.7}.admin-modal input[type=file]::file-selector-button{border:0;background:#e6f1dd;padding:7px 10px;border-radius:6px;color:#587937;font-weight:650;margin-right:8px}.admin-modal .stack{gap:15px}.admin-modal .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:12px}.admin-modal .grid2{gap:15px}.admin-modal .admin-note{margin:0}.admin-modal .pdf-reader{max-width:100%;overflow:hidden}@media(max-width:1100px){.admin-class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-curriculum-body{grid-template-columns:190px minmax(0,1fr)}.admin-week-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-week-day{min-height:200px}.admin-activity{padding:12px 10px;font-size:11px;gap:8px}.admin-activity svg{width:17px}.admin-class-card,.admin-panel{padding:20px}}@media(max-width:760px){.admin-curriculum-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-curriculum-body{grid-template-columns:1fr}.admin-chapter-list{position:static;max-height:210px}.admin-chapter-list>button{padding:9px}.admin-chapter-list strong{font-size:12px}.admin-library-grid{grid-template-columns:1fr}.admin-section-toolbar{align-items:flex-start}.admin-section-toolbar h3{font-size:18px}.admin-section-toolbar p{font-size:12px}.admin-week-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-filters>select{flex:1}.admin-filters .admin-week-controls{flex-basis:100%}.admin-metrics{gap:9px}.admin-metrics>div{padding:13px}.admin-metrics span{font-size:10px}.admin-metrics strong{font-size:23px}.admin-person-actions{gap:4px}.admin-person-actions .admin-icon-button{padding:8px}}@media(max-width:520px){.admin-workspace{gap:18px}.admin-intro h2{font-size:22px}.admin-intro p{font-size:12px}.admin-tabs{gap:3px;padding-bottom:9px}.admin-tabs button{font-size:11px;padding:10px 11px;gap:5px}.admin-tabs button svg{width:15px}.admin-section-toolbar{flex-direction:column;gap:12px}.admin-class-grid{grid-template-columns:1fr}.admin-class-card{padding:19px}.admin-curriculum-card{padding:12px 10px;gap:8px}.admin-curriculum-card strong{font-size:11px}.admin-curriculum-card small{font-size:9px}.admin-curriculum-card svg{width:17px}.admin-activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-section-scores{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-panel{padding:17px}.admin-panel-heading h3{font-size:15px}.admin-panel-heading{align-items:flex-start;gap:10px}.admin-panel-heading>.btn{padding:8px 9px;font-size:10px}.admin-metrics{grid-template-columns:1fr}.admin-metrics>div{display:flex;justify-content:space-between;align-items:center}.admin-metrics strong{font-size:21px;margin:0}.admin-metrics span{font-size:11px}.admin-person{flex-wrap:wrap;gap:10px}.admin-person-detail{min-width:180px}.admin-person-actions{margin-left:50px}.admin-person-actions>.admin-text-button{font-size:11px}.admin-inline-form{flex-direction:column;align-items:stretch}.admin-inline-form>.btn{align-self:flex-start}.admin-homework-list article{gap:10px}.admin-homework-list .admin-text-button{font-size:10px}.admin-chapter-progress-row{grid-template-columns:1fr auto;gap:8px;font-size:11px}.admin-chapter-progress-row .admin-progress{grid-column:1/-1}.admin-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-week-day{min-height:170px}.admin-calendar-session strong{font-size:10px}.admin-calendar-session>span{font-size:11px}.admin-modal-backdrop{padding:12px}.admin-modal{max-height:calc(100dvh - 24px);padding:20px!important}.admin-modal header{margin-bottom:17px}.admin-modal header h3{font-size:18px}.admin-modal .grid2{grid-template-columns:1fr}.admin-filters>select{font-size:11px;min-width:120px}.admin-search{flex-basis:100%}.admin-library-item{padding:18px}.admin-weekday-picker{gap:13px}}.admin-detail-actions{display:flex;flex-direction:column;align-items:flex-end;gap:7px;flex-shrink:0}.admin-attendance-sample{font-size:11px;color:#7e9287;line-height:1.6}.admin-membership-list{display:flex;flex-direction:column;margin-bottom:18px}.admin-membership-list>div{display:flex;justify-content:space-between;gap:13px;align-items:center;padding:10px 0;border-bottom:1px solid #edf3ed;font-size:12px}.admin-membership-list>div:last-child{border-bottom:0}.admin-membership-list .admin-text-button{font-size:10px}.admin-homework-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.admin-panel-heading>.admin-homework-actions{justify-content:flex-end}.admin-chapter-list>.admin-delete-button{font-size:10px;margin-bottom:15px;width:auto}.admin-workspace .admin-tabs button.active{background:#e6f2fd;color:#125f9e}.admin-workspace .admin-tabs button:hover{background:#f1f7fc}.admin-workspace .admin-curriculum-card.selected{background:#edf6ff;border-color:#9cc5e9}.admin-workspace .admin-curriculum-card.selected strong,.admin-workspace .admin-curriculum-card.selected{color:#145e98}.admin-workspace .admin-activity{color:#1e659d}.admin-workspace .admin-activity:hover{background:#f1f7ff;border-color:#bdd6ed}.admin-workspace .admin-text-button:not(.admin-delete-button){color:#1c66a5}.admin-workspace .admin-chapter-list>button.selected{background:#eaf4ff;color:#155f9f}@media(max-width:520px){.admin-panel-heading>.admin-homework-actions{justify-content:flex-start}.admin-panel-heading:has(>.admin-homework-actions){flex-wrap:wrap}.admin-homework-actions{gap:9px}}.admin-raw-files{display:flex;flex-direction:column}.admin-raw-files>article{display:flex;align-items:center;gap:13px;padding:13px 0;border-bottom:1px solid #e3ebf3}.admin-raw-files>article:last-child{border-bottom:0}.admin-raw-files>article>svg{color:#5782a8;flex-shrink:0}.admin-raw-files>article>div{flex:1;min-width:0}.admin-raw-files strong{display:block;font-size:12px;overflow-wrap:anywhere;line-height:1.5}.admin-raw-files small{display:block;margin-top:5px;font-size:10px;color:#7f92a5}.admin-raw-files .admin-text-button{flex-shrink:0}.school-presentation-fonts{padding:18px 21px;min-width:0}.school-font-toggle{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:0;border:0;background:transparent;text-align:left;color:#215c8e;cursor:pointer}.school-font-toggle span{min-width:0}.school-font-toggle strong{display:block;font-size:14px;line-height:1.5}.school-font-toggle small{display:block;font-size:11px;color:#6f8397;line-height:1.65;margin-top:4px}.school-font-toggle svg{flex-shrink:0;transition:transform .15s}.school-font-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.school-font-content{margin-top:15px;border-top:1px solid #e3ebf3;padding-top:15px}.school-font-upload{display:flex;gap:13px;align-items:flex-end;margin-top:14px}.school-font-upload .field{flex:1;min-width:0}.school-font-upload input[type=file]{max-width:100%;font-size:12px}.school-font-upload .btn{flex-shrink:0}.school-font-list{margin-top:14px}.school-font-list article{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #e3ebf3}.school-font-list article:last-child{border:0}.school-font-list article>div{min-width:0}.school-font-list strong,.school-font-list small{display:block;overflow-wrap:anywhere;line-height:1.6}.school-font-list strong{font-size:13px}.school-font-list small{font-size:11px;color:#7f92a5}.school-font-list button{flex-shrink:0}.admin-conversion-error{color:#ac3c3c}@media(max-width:520px){.school-presentation-fonts{padding:17px}.school-font-upload{flex-direction:column;align-items:stretch}.school-font-upload .btn{align-self:flex-start}.school-font-list article{align-items:flex-start}.school-font-list button{font-size:11px}}.admin-missing-font-button{display:block;margin-top:9px}.server-status{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;border:1px solid #e4c483;background:#fff8e8;color:#694910;border-radius:12px;padding:14px 16px;margin:0 0 20px;overflow-wrap:anywhere}.server-status>div{min-width:0}.server-status strong{font-size:13px}.server-status p{font-size:12px;line-height:1.6;margin:5px 0 0}.server-status .btn{flex-shrink:0}.server-status-ok{background:#eff8f3;border-color:#b6d8c7;color:#225c43}@media(max-width:600px){.server-status{align-items:flex-start;flex-direction:column}.server-status .btn{width:100%}}.studio-columns{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:20px;align-items:start}.studio-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.studio-document{border-bottom:1px solid #e0e9e4;padding-bottom:18px}.studio-document h3{margin:8px 0}.studio-document details{font-size:.85rem;margin:12px 0}.studio-document details .row{padding:8px 0}.studio-document summary{cursor:pointer;color:#527264}.studio-scroll{max-height:300px;overflow:auto;font-size:.85rem;line-height:1.8}.studio-table{max-width:100%;overflow:auto}.studio-table table{border-collapse:collapse;width:100%;font-size:.8rem}.studio-table th,.studio-table td{padding:12px;text-align:left;border-bottom:1px solid #e0e9e4;white-space:nowrap}.recording-player{width:100%;max-height:65vh;background:#122b25;border-radius:8px}.ai-result{border:1px solid #dce8df;background:#f5faf6;border-radius:8px;padding:16px}.ai-result progress{width:100%}.draft-state{font-size:.75rem;color:#69877a}@media(max-width:780px){.studio-columns,.studio-form-grid{grid-template-columns:1fr}.studio-document .row{flex-wrap:wrap}}.camera-effects{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-start;width:100%;padding:12px;border-top:1px solid #dbe3ef}.camera-effects label{display:flex;flex-direction:column;gap:6px;max-width:240px}.camera-effects p{width:100%;margin:0}.camera-effects input{max-width:230px}:root{font-family:Be Vietnam Pro,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#15263f;background:#f5f8fc;font-size:16px;line-height:1.55;font-synthesis:none;--blue:#2476eb;--ink:#15263f;--muted:#6c7c91;--border:#e5ebf3;--pale:#edf5ff}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:var(--blue);text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #82b6ff;outline-offset:3px}button{color:inherit}h1,h2,h3,p{margin:0}h1{font-size:2rem;line-height:1.3;font-weight:700;letter-spacing:-.8px}h2{font-size:1.25rem;line-height:1.4;letter-spacing:-.3px}h3{font-size:1rem;line-height:1.5}p{margin:.7rem 0}.muted{color:var(--muted)}.blue{color:var(--blue)}.small-text{font-size:.8125rem}.row{display:flex;align-items:center;gap:12px}.spread{justify-content:space-between}.wrap{flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:18px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:22px}.card{background:#fff;border:1px solid var(--border);border-radius:20px;padding:24px;min-width:0}.eyebrow{font-size:.75rem;letter-spacing:1.5px;font-weight:700;color:#6d84a3;margin:0 0 8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 19px;border-radius:10px;border:1px solid transparent;background:var(--blue);color:#fff;font-size:.875rem;font-weight:600;min-height:44px;white-space:nowrap;transition:background .15s,transform .15s}.btn:hover{background:#1364d5}.btn.secondary{color:#3b5778;background:#f5f8fd;border-color:#e1eaf6}.btn.secondary:hover{background:#e9f2ff}.btn.white{background:#fff;color:#1b69d8}.btn.danger{background:#fff1f1;color:#b92939;border-color:#ffd8dc}.full{width:100%}.icon-btn{border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;border-radius:9px;color:#7487a1}.icon-btn:hover{background:#eaf2ff;color:var(--blue)}.text-btn{display:inline-flex;align-items:center;gap:5px;padding:0;border:0;background:none;color:var(--blue);font-size:.85rem;font-weight:600;min-height:32px}.badge{display:inline-flex;align-items:center;padding:5px 10px;border-radius:7px;background:#eef5ff;color:#4378b9;font-size:.75rem;white-space:nowrap;font-weight:500}.badge.green{background:#eaf7f1;color:#287a5c}.field{display:flex;flex-direction:column;gap:7px;font-size:.85rem;font-weight:500}.field input,.field textarea,.field select,select{width:100%;padding:12px 13px;border:1px solid #dfe7f0;background:#fff;border-radius:9px;outline-offset:2px;color:var(--ink);min-height:44px}.field textarea{resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#9ca9bb}.error{padding:12px 15px;background:#fff2f2;border:1px solid #f7dddd;border-radius:9px;color:#ad3441;font-size:.85rem;overflow-wrap:anywhere}.avatar{width:42px;height:42px;border-radius:13px;background:#e6f1ff;display:inline-flex;align-items:center;justify-content:center;color:#2d78d8;font-weight:700;flex-shrink:0}.avatar.small{width:34px;height:34px;border-radius:50%;font-size:.875rem}.avatar.large{width:70px;height:70px;font-size:2rem}.empty{padding:35px 12px;text-align:center;color:#8b9ab0}.empty svg{margin-bottom:5px}.empty p{font-size:.875rem}.language{display:flex;gap:4px;background:#f0f5fc;padding:4px;border-radius:9px}.language button{border:0;background:none;color:#7a8aa0;border-radius:6px;font-size:.75rem;font-weight:600;padding:5px 8px}.language button.selected{background:#fff;color:var(--blue);box-shadow:0 1px 5px #183a6a12}.app{min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:248px;background:#fff;border-right:1px solid var(--border);padding:26px 18px 18px;z-index:30;display:flex;flex-direction:column}.brand{height:75px;display:flex;align-items:center;justify-content:space-between;margin:0 12px}.brand img{width:175px;height:72px;object-fit:contain}.workspace-tag{font-size:.75rem;letter-spacing:1.7px;color:#9aa8bc;display:flex;align-items:center;gap:10px;margin:12px 14px 30px}.workspace-tag span{letter-spacing:2px;font-size:.75rem;color:#a9bed8}.sidebar nav{display:flex;flex-direction:column;gap:6px}.nav-item{display:flex;align-items:center;gap:13px;width:100%;padding:14px;border:0;border-radius:12px;background:transparent;color:#72829a;text-align:left;font-size:.875rem;font-weight:500;min-height:50px}.nav-item svg{width:19px;height:19px;stroke-width:1.8;flex-shrink:0}.nav-item:hover{background:#f6f9fe}.nav-item.active{background:#eaf3ff;color:#2777df}.nav-item.active:before{content:"";width:3px;height:20px;background:#2777df;border-radius:3px;position:absolute;left:0}.nav-item small{font-size:.75rem;background:#e7eef7;padding:1px 6px;border-radius:5px;margin-left:auto}.sidebar-bottom{margin-top:auto}.profile{display:flex;align-items:center;gap:10px;padding:20px 0 0;border-top:1px solid var(--border);margin-top:20px}.profile>div{flex:1;min-width:0}.profile strong{font-size:.8rem;display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.profile small{font-size:.75rem;color:#92a0b3;display:block;margin-top:3px}.app-body{margin-left:248px}.topbar{height:80px;padding:0 42px;background:#ffffffd9;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:15px}.topbar strong,.crumb{font-size:.75rem}.crumb{color:#8996a9}.topbar .row>svg{color:#b5c1d0}.demo-line{padding:5px 40px;background:#edf4fd;color:#7084a1;font-size:.75rem}main{padding:35px 42px 70px;max-width:1600px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.page-heading p{margin:8px 0 0;font-size:.875rem}.page-heading .eyebrow{margin:0 0 8px;color:#7c9bbf;letter-spacing:2px}.date-chip{display:flex;align-items:center;gap:9px;padding:10px 13px;background:#fff;border:1px solid var(--border);border-radius:9px;font-size:.75rem;white-space:nowrap;color:#70819a}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 304px;gap:28px}.main-column,.right-column{min-width:0}.right-column{display:flex;flex-direction:column;gap:22px}.focus-card{background:linear-gradient(115deg,#246edb,#368bf7);border-radius:22px;padding:27px 29px;color:#fff;position:relative;overflow:hidden;min-height:278px;display:flex;flex-direction:column;gap:20px}.focus-card .pill{font-size:.75rem;letter-spacing:1px;display:inline-flex;align-items:center;gap:6px;border:1px solid #ffffff45;padding:6px 9px;border-radius:6px}.focus-card small{color:#c6e0ff;font-size:.75rem}.focus-card h2{font-size:1.7rem;max-width:85%;margin-top:8px}.focus-card p{font-size:.8rem;color:#d0e5ff;margin:8px 0 0}.focus-card>.row:last-child{margin-top:auto;align-items:center;flex-wrap:wrap;gap:12px}.focus-card>.row:last-child>span{font-size:.75rem;color:#d3e6ff}.focus-hanzi{position:absolute;right:28px;top:42px;font-family:serif;font-size:8rem;line-height:1;opacity:.08;pointer-events:none}.dot-sep{margin:0 8px}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:20px}.stat{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--border);border-radius:15px;padding:17px}.stat>span{display:flex;align-items:center;justify-content:center;background:#f0f6ff;border-radius:12px;width:43px;height:43px;color:#5391df;flex-shrink:0}.stat svg{width:20px}.stat strong{font-size:1.35rem;display:block;line-height:1.25}.stat small{display:block;color:#8c9aaf;font-size:.75rem;margin-top:6px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:31px 0 18px;gap:12px}.section-title h2{font-size:1.05rem}.section-title .text-btn{font-size:.75rem}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.course-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.course-card{padding:0;background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden;text-align:left;min-width:0;transition:box-shadow .2s,transform .2s}.course-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px #234b7e12}.course-art{height:154px;padding:17px 22px;position:relative;background:#e6f1fc;color:#517fab;overflow:hidden}.course-code{font-size:.75rem;letter-spacing:2px;display:block}.course-art strong{font-family:Songti SC,"Noto Serif CJK SC",serif;display:block;font-weight:400;font-size:3rem;letter-spacing:10px;line-height:1.5;margin-top:6px}.art-caption{font-size:.75rem;letter-spacing:.5px}.art-arrow{position:absolute;right:20px;bottom:20px;width:31px;height:31px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ffffff7a}.art-arrow svg{width:18px}.art-1{background:#e8edf8;color:#7186af}.art-2{background:#e1f0f4;color:#5a8796}.course-body{padding:20px}.course-body .eyebrow{font-size:.75rem;letter-spacing:1px;color:#8ca3be}.course-body h3{margin:8px 0 20px;font-size:.95rem}.course-body .muted{font-size:.75rem}.progress-track{height:4px;background:#edf2f8;border-radius:3px;margin-top:12px;overflow:hidden}.progress-track span{display:block;background:#4592ee;height:100%}.list-card{padding:0 20px}.assignment-row,.file-row{width:100%;background:none;border:0;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:14px;text-align:left;padding:17px 0}.assignment-row:last-child,.file-row:last-child{border:0}.file-icon{background:#f0f5fc;color:#7397c7;display:inline-flex;align-items:center;justify-content:center;width:42px;height:45px;border-radius:11px;flex-shrink:0}.file-icon svg{width:21px}.assignment-row>span:nth-child(2),.file-row>span:nth-child(2){flex:1;min-width:0}.assignment-row strong,.file-row strong{font-size:.8rem;font-weight:500;display:block;overflow-wrap:anywhere}.assignment-row small,.file-row small{display:block;color:#99a5b7;font-size:.75rem;margin-top:4px}.assignment-row>.badge{font-size:.75rem}.assignment-row>svg,.file-row>svg{color:#a9b7ca}.schedule-card{padding:22px}.schedule-card>div:first-child h3{font-size:.95rem}.schedule-card>div:first-child svg{color:#8aa1bf}.schedule-card>.btn{margin-top:16px;font-size:.75rem}.session-card{display:flex;gap:20px;align-items:center;padding:22px;background:#fff;border:1px solid var(--border);border-radius:15px}.session-card .btn{margin-left:auto}.date-block{background:#f0f6ff;min-width:54px;text-align:center;border-radius:10px;padding:9px 8px;color:#4c85c8;line-height:1.3}.date-block span{font-size:.75rem;text-transform:uppercase;letter-spacing:1px}.date-block strong{font-size:1.5rem;display:block;font-weight:600}.session-info{flex:1;min-width:0}.session-info>strong{font-size:.85rem;display:block}.session-info>span{font-size:.75rem;color:#8395ae;display:flex;align-items:center;gap:5px;margin-top:6px}.session-info small{font-size:.75rem;color:#8d9aaf;display:block;margin-top:4px}.session-card.compact{border:0;border-bottom:1px solid var(--border);border-radius:0;padding:20px 0;display:grid;grid-template-columns:44px 1fr;gap:12px}.compact .date-block{min-width:44px;padding:8px 4px}.compact .date-block strong{font-size:1.25rem}.compact .session-info strong,.compact .session-info span,.compact .session-info small{font-size:.75rem}.compact .btn{grid-column:2;width:max-content;margin:0;font-size:.75rem;padding:6px 11px;min-height:32px}.daily-phrase{padding:25px 22px;background:#f0f6fe;border-color:#dfebfa}.daily-phrase>.eyebrow{font-size:.75rem;letter-spacing:1.2px}.phrase-pinyin{font-size:.75rem;color:#88a1c0;display:block;margin:24px 0 8px}.daily-phrase>strong{font-family:serif;font-size:1.4rem;font-weight:500;letter-spacing:1px;color:#3e6ea5}.daily-phrase>p:not(.eyebrow){font-size:.75rem;color:#8699b1;margin:12px 0 17px}.daily-phrase>.text-btn{font-size:.75rem}.help-card{padding:16px 22px;color:#8aa2bf}.help-card h3{margin-top:8px;color:#536f91;font-size:.85rem}.help-card p,.help-card a{font-size:.75rem}.help-card a{display:flex;align-items:center;gap:4px}.session-list{display:flex;flex-direction:column;gap:15px}.class-card h2{margin-top:22px}.class-card p{font-size:.875rem}.class-card .btn{margin-top:15px}.search-box{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--border);padding:11px 15px;border-radius:11px;color:#8ca0b9;margin-bottom:26px;max-width:420px}.search-box input{border:0;outline:0;background:none;min-width:0;width:100%;font-size:.875rem}.back{margin-bottom:15px}.learning-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:25px}.lesson-nav{padding:18px 12px;height:max-content;max-height:75vh;overflow:auto}.lesson-nav>.eyebrow{padding:5px 10px 10px;font-size:.75rem}.lesson-row{display:flex;align-items:center;width:100%;gap:10px;padding:14px 10px;border:0;background:#fff;border-radius:10px;text-align:left;font-size:.75rem;color:#6b809c}.lesson-row.selected{background:#edf5ff;color:#2e77d5}.lesson-row>span:nth-child(2){flex:1}.lesson-row small{display:flex;align-items:center;gap:5px;font-size:.75rem;color:#98a9bf;margin-top:5px}.lesson-number{font-size:.75rem;width:26px;color:#aac0da}.lesson-content{min-width:0;display:flex;flex-direction:column;gap:22px}.lesson-content>.row .muted{font-size:.75rem}.lesson-content>h2{font-size:1.45rem}.lesson-cover{background:linear-gradient(120deg,#e0efff,#eef5fd);border-radius:17px;padding:34px;min-height:215px;color:#4d7cac}.lesson-cover .eyebrow{font-size:.75rem;color:#8ba8c8}.lesson-cover>span{font-family:serif;display:block;font-size:3rem;letter-spacing:12px;margin:12px 0 7px}.lesson-cover h3{font-size:.85rem;font-weight:500}.lesson-copy{line-height:1.9}.lesson-copy p{margin:.35rem 0;font-size:.95rem}.protected-player{background:#111c2c;border-radius:16px 16px 0 0;position:relative;aspect-ratio:16/9;overflow:hidden;isolation:isolate}.protected-player video{width:100%;height:100%;object-fit:contain}.watermark{position:absolute;z-index:2;pointer-events:none;color:#fff;white-space:nowrap;text-shadow:1px 1px 3px #000;font-size:clamp(10px,1.1vw,17px);font-weight:500;transition:left 1s,top 1s,opacity 1s}.watermark small{font-size:.7em}.big-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #ffffff50;border-radius:50%;background:#fffd;width:66px;height:66px;display:flex;align-items:center;justify-content:center;color:var(--blue);z-index:3}.player-empty{display:flex;height:100%;align-items:center;justify-content:center;flex-direction:column;color:#93a6c2;gap:12px;padding:30px;text-align:center}.player-empty p{font-size:.85rem}.player-controls{display:flex;align-items:center;gap:10px;background:#18273d;color:#9cb2ce;padding:10px 12px;border-radius:0 0 12px 12px}.player-controls input{flex:1;min-width:0;accent-color:#64a3ff}.player-controls>span{font-size:.75rem}.player-controls .icon-btn{color:#fff}.video-notice{display:flex;align-items:center;gap:8px;padding:13px 2px;color:#7e96b3;font-size:.75rem}.video-expanded{position:fixed;inset:0;background:#101927;z-index:100;padding:12px;display:flex;flex-direction:column;justify-content:center}.video-expanded .protected-player{max-height:calc(100vh - 150px);aspect-ratio:auto;flex:1}.video-expanded .watermark{font-size:clamp(12px,1.7vw,25px)}.video-expanded .small-text{display:none}.spin{animation:spin 1.5s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.assignment-card{display:flex;flex-direction:column;gap:16px}.assignment-card h3{font-size:1.15rem}.assignment-card p{font-size:.875rem;margin:0}.assignment-card .btn{align-self:flex-start;margin-top:auto}.feedback{padding:12px;background:#f1f7ff;border-radius:8px;color:#5c7c9f}.modal{border:1px solid var(--border);border-radius:20px;padding:26px;width:min(590px,calc(100vw - 32px));max-height:90vh;color:var(--ink);box-shadow:0 20px 100px #10294930}.modal.wide{width:min(1180px,calc(100vw - 32px))}.modal::backdrop{background:#172b4c70;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--border);padding-bottom:20px;margin-bottom:23px}.modal-heading h2{font-size:1.1rem}.question-prompt{font-size:1.2rem;line-height:1.8}.choices{display:flex;flex-direction:column;gap:10px}.choice{padding:15px;border:1px solid var(--border);border-radius:12px;display:flex;align-items:center;gap:12px;cursor:pointer}.choice.checked{background:#edf5ff;border-color:#76aaf0}.choice input{accent-color:var(--blue)}.choice>span{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:#f1f5fb;border-radius:6px;font-size:.75rem;color:#88a1c2}.word-bank{display:flex;flex-wrap:wrap;gap:8px}.answer-line{border-bottom:2px solid #dce9f8;min-height:45px;font-size:1.15rem}.answer-result{padding:25px;background:#edf6ff;border-radius:14px;text-align:center;color:#4d7ba8}.answer-result>svg{color:#458edc}.answer-result h3{margin:12px 0}.answer-result p{overflow-wrap:anywhere}.pdf-view{width:100%;height:65vh;border:0}.resource-image{max-width:100%;max-height:70vh;display:block;margin:auto}audio{width:100%}.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%);background:#172a45;color:#fff;box-shadow:0 8px 35px #15325530;border-radius:12px;padding:13px 15px 13px 20px;font-size:.875rem;z-index:200;display:flex;align-items:center;gap:15px;max-width:calc(100vw - 30px)}.toast .icon-btn{color:#fff}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.8rem}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--border)}th{font-size:.75rem;color:#8a9eb8;text-transform:uppercase;letter-spacing:.7px}.table-wrap td .btn{font-size:.75rem;padding:8px 10px}.mobile,.bottom-nav{display:none}.scrim{position:fixed;inset:0;background:#15325550;border:0;z-index:25}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.login-story{padding:35px 65px;display:flex;flex-direction:column;position:relative;overflow:hidden;color:#fff;background:linear-gradient(135deg,#1c6ed9,#3a8bf0);min-height:100vh}.login-logo{width:190px;height:80px;object-fit:contain;background:#ffffffed;border-radius:13px;padding:5px 12px;align-self:flex-start}.story-center{margin:auto 0;padding:65px 0}.story-center .eyebrow{color:#b8d8fe;font-size:.75rem;letter-spacing:2px}.story-center h1{font-size:clamp(2.1rem,3.3vw,3.5rem);line-height:1.4;letter-spacing:-1.3px;margin:17px 0}.story-center>p:not(.eyebrow){font-size:.9rem;max-width:365px;color:#d1e6ff;line-height:1.9}.story-hanzi{font-family:serif;font-size:7.8rem;letter-spacing:18px;font-weight:400;line-height:1.4;margin-top:20px;color:#ffffffb0}.story-pronounce{font-size:.8rem;color:#c9e0ff;letter-spacing:3px;margin-left:5px}.story-footer{display:flex;gap:30px;border-top:1px solid #ffffff28;padding-top:24px;font-size:.75rem;color:#c9e1ff;flex-wrap:wrap}.story-footer span{display:flex;gap:8px;align-items:center}.login-form-wrap{padding:35px 55px;display:flex;flex-direction:column}.login-form-wrap>.language{align-self:flex-end}.login-form{width:100%;max-width:370px;margin:auto;display:flex;flex-direction:column;gap:20px;padding:50px 0}.brand-symbol{font-size:2.6rem;font-weight:800;letter-spacing:-5px;color:#1e72e3}.brand-symbol span{color:#a9d7ff;font-size:3.5rem}.login-form h2{font-size:1.7rem;letter-spacing:-.8px;margin-top:4px}.login-form>.muted{font-size:.85rem;margin:-8px 0 8px}.login-form .field{font-size:.8rem;gap:10px}.login-form .field input{height:49px}.login-form .btn{margin-top:5px;min-height:49px}.login-help{text-align:center;font-size:.75rem;color:#8d9db3;line-height:1.9;margin:2px 0}.login-help a{font-weight:500}.login-security{display:flex;align-items:center;justify-content:center;gap:7px;font-size:.75rem;color:#a3b1c3;margin-top:10px}.login-form-wrap>footer{text-align:center;font-size:.75rem;color:#b0bed0;letter-spacing:1.6px}@media(min-width:1600px){main{padding-top:50px}.focus-card{min-height:315px}.course-art{height:185px}}@media(max-width:1250px){.sidebar{width:216px;padding:20px 12px}.brand img{width:160px}.workspace-tag{font-size:.75rem;margin-left:10px}.app-body{margin-left:216px}.topbar{padding:0 25px}main{padding:28px 25px 65px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 260px;gap:20px}.focus-card{padding:24px}.focus-card h2{font-size:1.45rem}.focus-card>.row:last-child>span{display:none}.stat{padding:13px;gap:9px}.stat>span{width:34px;height:36px}.stat small{font-size:.75rem}.course-body{padding:16px}.course-body h3{font-size:.85rem}.course-grid{gap:16px}.course-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.date-chip{display:none}.learning-layout{grid-template-columns:235px 1fr;gap:20px}}@media(max-width:1020px){.sidebar{width:200px}.app-body{margin-left:200px}.nav-item{font-size:.77rem;padding:12px 10px;gap:9px}.brand{margin:0 5px}.brand img{width:155px}.workspace-tag{display:none}.sidebar nav{margin-top:25px}.dashboard-grid{grid-template-columns:1fr}.right-column{display:grid;grid-template-columns:1fr 1fr}.help-card{display:none}.focus-card{min-height:260px}.course-art{height:155px}.learning-layout{grid-template-columns:1fr}.lesson-nav{max-height:230px}.login-story,.login-form-wrap{padding:30px}.story-center h1{font-size:2.1rem}.story-hanzi{font-size:6rem}}@media(max-width:760px){:root{font-size:16px}.sidebar{transform:translate(-100%);transition:transform .2s;width:270px;padding-top:env(safe-area-inset-top,20px)}.sidebar.open{transform:translate(0)}.sidebar .brand{margin:20px 10px}.sidebar .brand img{width:170px}.nav-item{font-size:.9rem;padding:14px}.app-body{margin-left:0}.mobile{display:inline-flex}.topbar{height:67px;padding:10px 18px;padding-top:max(10px,env(safe-area-inset-top));position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.topbar>.row{gap:8px}.topbar strong{font-size:.75rem}.crumb,.topbar>.row>svg{display:none}.top-actions{gap:8px}.top-actions>.icon-btn,.top-actions>.avatar{display:none}main{padding:24px 20px 105px}.page-heading{margin-bottom:24px}h1{font-size:1.55rem;letter-spacing:-.6px}.page-heading p{font-size:.8rem;line-height:1.7}.page-heading .eyebrow{font-size:.75rem}.dashboard-grid{gap:25px}.focus-card{min-height:251px;border-radius:18px;padding:22px}.focus-card h2{font-size:1.4rem;max-width:100%;line-height:1.45}.focus-card p{font-size:.75rem;max-width:90%}.focus-hanzi{font-size:7rem;right:15px;top:72px}.focus-card .btn{padding:10px 16px;font-size:.8rem}.stat-row{gap:9px;margin-top:15px}.stat{padding:14px 8px;flex-direction:column;align-items:flex-start;gap:7px;border-radius:12px}.stat>span{width:28px;height:28px;background:none}.stat svg{width:19px}.stat strong{font-size:1.25rem}.stat small{font-size:.75rem;margin-top:5px}.stat>div{padding-left:4px}.section-title{margin-top:27px}.section-title h2{font-size:.95rem}.section-title .text-btn{font-size:.75rem}.course-grid,.course-grid.three{grid-template-columns:1fr 1fr;gap:12px}.course-art{height:132px;padding:14px}.course-code{font-size:.75rem;letter-spacing:1px}.course-art strong{font-size:2.3rem;letter-spacing:6px;margin-top:11px}.art-caption{font-size:.75rem}.art-arrow{right:12px;bottom:12px;width:25px;height:25px}.course-body{padding:14px}.course-body .eyebrow{font-size:.75rem;letter-spacing:.7px}.course-body h3{font-size:.78rem;margin:9px 0 14px;line-height:1.55;min-height:39px}.course-body .row{display:block}.course-body .row>span{display:block;font-size:.75rem;margin-top:5px}.course-body .row>span:last-child{color:#a4b1c3}.progress-track{margin-top:9px}.right-column{grid-template-columns:1fr}.daily-phrase{display:none}.schedule-card{padding:21px}.schedule-card .session-card.compact{grid-template-columns:44px 1fr auto;align-items:center}.compact .btn{grid-column:auto;margin-left:auto}.assignment-row{gap:10px}.assignment-row>.badge{display:none}.assignment-row strong{font-size:.76rem}.list-card{padding:0 16px}.file-icon{width:34px;height:38px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:#fffffff2;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);display:flex;align-items:stretch;justify-content:space-around;z-index:20;border-top:1px solid var(--border);padding:8px 5px calc(8px + env(safe-area-inset-bottom))}.bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:5px;background:none;border:0;padding:7px 3px;color:#8ea0b8;font-size:.75rem;width:20%}.bottom-nav svg{width:19px;height:19px;stroke-width:1.8}.bottom-nav button.active{color:var(--blue)}.toast{bottom:90px;font-size:.8rem}.demo-line{padding:5px 20px;font-size:.75rem}.grid2{grid-template-columns:1fr}.card{padding:20px;border-radius:16px}.class-card h2{font-size:1rem}.class-card p,.class-card .badge{font-size:.75rem}.class-card .btn{font-size:.75rem;padding:9px 10px}.session-card{gap:12px;padding:16px;flex-wrap:wrap}.session-info strong{font-size:.78rem}.session-card:not(.compact) .btn{font-size:.75rem;padding:9px 12px}.learning-layout{gap:20px}.lesson-nav{max-height:210px;padding:14px 9px}.lesson-row{font-size:.8rem;padding:13px 9px}.lesson-row small{font-size:.75rem}.lesson-content>h2{font-size:1.3rem}.lesson-content>.row .muted{font-size:.75rem}.lesson-cover{padding:24px;min-height:180px}.lesson-cover>span{font-size:2.3rem;letter-spacing:7px}.lesson-cover h3{font-size:.75rem}.lesson-copy p{font-size:.9rem}.protected-player{border-radius:10px 10px 0 0}.watermark{font-size:10px}.video-notice{font-size:.75rem}.player-controls{gap:7px;padding:8px}.player-controls>.icon-btn{min-width:28px;min-height:28px}.player-controls svg{width:18px}.player-controls>span{font-size:.75rem}.modal{padding:20px;max-height:90dvh}.modal-heading h2{font-size:.95rem}.login-page{grid-template-columns:1fr;min-height:100dvh}.login-story{display:none}.login-form-wrap{padding:24px;min-height:100dvh}.login-form{padding:35px 0}.login-form h2{font-size:1.7rem}.login-form-wrap footer{font-size:.75rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}:lang(zh-CN){font-family:-apple-system,BlinkMacSystemFont,Microsoft YaHei,PingFang SC,Noto Sans CJK SC,sans-serif}:lang(th){font-family:-apple-system,Leelawadee UI,Thonburi,Noto Sans Thai,sans-serif;letter-spacing:normal}:lang(km){font-family:-apple-system,Khmer UI,Khmer Sangam MN,Noto Sans Khmer,sans-serif;letter-spacing:normal;line-height:1.8}:lang(lo){font-family:-apple-system,Lao UI,Lao Sangam MN,Noto Sans Lao,sans-serif;letter-spacing:normal;line-height:1.8}.language-picker{display:flex;align-items:center;gap:8px;min-width:0;font-size:.85rem;color:var(--muted)}.language-picker select{min-height:40px;max-width:190px;padding:7px 28px 7px 10px;border:1px solid var(--border);background:#fff;border-radius:9px;color:var(--ink)}.language-setting{flex-wrap:wrap;color:var(--ink)}.language-setting select{max-width:100%;flex:1;min-width:160px}.login-form-wrap>.language-picker{align-self:flex-end}.nav-item span,.bottom-nav span,.btn,.badge{overflow-wrap:anywhere}.nav-item{min-height:46px}.topbar strong{overflow-wrap:anywhere}.topbar>.row:first-child{min-width:0}.top-actions{flex-shrink:0}:lang(km) h1,:lang(km) h2,:lang(km) .eyebrow,:lang(lo) h1,:lang(lo) h2,:lang(lo) .eyebrow,:lang(th) h1,:lang(th) h2,:lang(th) .eyebrow{letter-spacing:normal;line-height:1.6}@media(max-width:760px){.language-picker select{max-width:170px;font-size:.8rem}.topbar strong{max-width:120px}.bottom-nav button{min-width:0}.bottom-nav span{line-height:1.5}.language-setting select{max-width:100%}}
