:root{--ink:#26332c;--green:#367858;--muted:#859189;--line:#e9eee8;--paper:white;--bg:#f6f8f5}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'DM Sans',sans-serif}button,input,select{font:inherit}button{cursor:pointer}h1,h2,h3,.brand{font-family:Manrope,sans-serif}h1{font-size:32px;letter-spacing:-1px;margin:8px 0}h2{font-size:20px}.shell{display:flex;max-width:1600px;margin:auto;min-height:100vh}.sidebar{width:250px;background:#fff;border-right:1px solid var(--line);padding:29px 18px 18px;display:flex;flex-direction:column;flex-shrink:0}.brand{text-decoration:none;color:#347858;font-weight:800;font-size:20px;display:flex;gap:3px;align-items:center;letter-spacing:-.7px;padding:0 9px 48px}.brand>span:last-child{font-weight:500;color:#789381}.mark{background:#eaf2e8;border-radius:10px;width:34px;height:34px;margin-right:8px;display:grid;place-items:center}.mark sup{font-size:9px;margin:-13px 0 0 19px;position:absolute}.caption{font-size:10px;letter-spacing:1.5px;color:#a2aca5;font-weight:700;padding:0 12px;margin-bottom:12px}.sidebar nav{display:grid;gap:6px}.nav{border:0;background:transparent;color:#78847d;text-align:left;padding:13px;border-radius:10px}.nav:hover{background:#f6f9f5}.nav.active{background:#eaf2e8;color:#347858;font-weight:700}.sidebar-bottom{margin-top:auto}.note{background:#f2f5ed;border-radius:13px;padding:16px;margin-bottom:19px}.note p{font-size:12px;color:#849087;line-height:1.5;margin:8px 0 12px}.note small{font-size:9px;letter-spacing:1px;color:#7e9b73}.profile{border-top:1px solid var(--line);padding:17px 4px 0;display:flex;gap:10px;align-items:center}.avatar{width:35px;height:35px;border-radius:50%;background:#f6ecd7;display:grid;place-items:center}.profile b,.profile small{display:block}.profile b{font-size:12px}.profile small{font-size:10px;color:#97a19a;margin-top:4px}main{flex:1;min-width:0;padding:0 48px;display:flex;flex-direction:column}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:#909a93;font-size:12px}.topright{display:flex;align-items:center;gap:14px}.streak{background:#fff7df;color:#77612b;padding:7px 12px;border-radius:20px}.topright .avatar{width:31px;height:31px}.page{display:none;padding-top:35px;flex:1}.page.active{display:block}footer{text-align:center;color:#9da69f;font-size:11px;padding:22px}footer span{color:#c8aa5c}.mobile-brand{display:none;border:0;background:transparent;font:800 17px Manrope;color:var(--green)}.mobile-brand span{font-weight:500;color:#789381}.eyebrow{font-size:10px;letter-spacing:1.5px;color:#79947d;font-weight:700;text-transform:uppercase}.welcome{display:flex;justify-content:space-between;align-items:flex-end;margin:7px 0 25px}.welcome p,.intro p{margin:0;color:#849088}.welcome-art{font-size:38px;padding-right:20px}.hero{border-radius:16px;background:#317657;color:white;padding:27px 32px;min-height:200px;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden}.hero .eyebrow{color:#c6dec9}.hero h2{font-size:24px;margin:10px 0 8px}.hero p{font-size:13px;color:#d5e6d9;margin:0 0 19px}.hero-art{font-size:86px;margin-right:44px;z-index:1}.hero:after,.hero:before{content:'';position:absolute;border:1px solid #ffffff18;border-radius:50%;width:240px;height:240px;right:30px;top:-100px}.hero:before{width:320px;height:320px;right:-10px;top:-145px}.button{border:0;border-radius:9px;padding:11px 16px;font-size:12px;font-weight:700;background:#f4d064;color:#51482e}.button.green{background:var(--green);color:white}.button.light{background:white;color:var(--green)}.button.outline{border:1px solid #dce7dc;background:white;color:var(--green)}.heading{display:flex;align-items:center;justify-content:space-between;margin:28px 0 14px}.heading h2{font-size:17px;margin:0}.link{background:transparent;border:0;color:#538166;font-size:12px;font-weight:700}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stat,.panel,.lesson,.word{background:white;border:1px solid #f0f2ee;border-radius:13px;box-shadow:0 4px 18px #263c3007}.stat{padding:16px;display:flex;align-items:center;gap:12px}.stat-icon{width:38px;height:38px;background:#eef4e9;border-radius:11px;display:grid;place-items:center}.stat:nth-child(2) .stat-icon{background:#fff4d7}.stat small{display:block;color:#8a958d;font-size:11px;margin-bottom:4px}.stat strong{font:700 20px Manrope}.stat em{font:500 11px 'DM Sans';color:#929b95}.lower,.study-layout,.progress-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:17px}.panel{padding:19px;min-height:190px}.panel-title{font-weight:700;font-size:13px;margin-bottom:15px}.meter-label{display:flex;justify-content:space-between;font-size:11px;color:#828e85;margin:0 0 8px}.meter{height:8px;background:#eff2ed;border-radius:9px;overflow:hidden}.meter span{display:block;height:100%;background:#57926c;border-radius:9px}.chart{height:105px;display:flex;justify-content:space-between;align-items:flex-end}.chart div{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;font-size:10px;color:#9aa39c}.chart i{width:16px;min-height:4px;border-radius:5px 5px 2px 2px;background:#cddfc8}.chart .today i{background:#48815f}.intro{margin-bottom:23px}.intro h1{margin-top:8px}.lesson{padding:22px}.lesson-top{display:flex;justify-content:space-between;color:#829087;font-size:11px;margin-bottom:20px}.badge,.tag{background:#eef4e9;color:#4e795a;padding:6px 10px;border-radius:20px;font-size:10px}.flash{min-height:255px;background:#f7f8f4;border:1px solid #edf0e9;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;cursor:pointer}.flash h2{font-size:35px;margin:12px 0 4px}.flash .hint,.muted{color:#96a198;font-size:12px}.sound,.icon{border:0;background:#e7f0e7;color:#3e7956;border-radius:50%;width:34px;height:34px;margin:4px}.answer{color:#367858;font-size:18px;font-weight:700;margin:10px 0}.example{color:#5e6d63;font-size:13px}.actions{display:flex;gap:9px;justify-content:center;margin-top:16px}.sidefacts{display:grid;align-content:start;gap:12px}.sidefacts .panel{min-height:auto}.quiz{max-width:680px;margin:auto}.question{text-align:center;padding:28px;background:#fff;border:1px solid var(--line);border-radius:13px}.question h2{font-size:28px;margin:12px}.options{display:grid;gap:10px;margin-top:18px}.option{text-align:left;border:1px solid var(--line);border-radius:10px;background:#fff;padding:14px}.option:hover{border-color:#83a98a}.option.correct{background:#eaf5e9;border-color:#8ab695}.option.wrong{background:#fff0e9;border-color:#e2a18a}.feedback{text-align:center;min-height:24px;margin-top:13px;color:#64816b}.tools{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:14px}.search{flex:1;min-width:200px;position:relative}.search input,.tools select{height:40px;width:100%;border:1px solid #e6ebe5;background:white;border-radius:9px;padding:0 12px;outline:none;color:#56635a}.search input{padding-left:36px}.search span{position:absolute;left:12px;top:10px;color:#98a29b}.results{display:flex;justify-content:space-between;color:#8b968e;font-size:11px;margin:14px 2px}.word-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.word{padding:14px;display:flex;align-items:center;gap:11px}.word-symbol{width:38px;height:38px;border-radius:11px;background:#eef4e9;display:grid;place-items:center;color:#5e8a65}.word-content{flex:1;min-width:0}.word h3{font-size:15px;margin:0 0 4px}.word p{font-size:11px;color:#7d8980;margin:0}.word .meta{display:flex;gap:5px;margin-top:7px}.tag{font-size:9px;padding:3px 7px}.word-actions{text-align:center}.word-actions small{display:block;color:#89978e;font-size:9px}.empty{text-align:center;padding:40px;color:#829087;grid-column:1/-1}.progress-layout{margin-top:0}.big-progress{display:flex;align-items:center;gap:18px}.circle{width:94px;height:94px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#58916a var(--value),#edf1eb 0);position:relative}.circle:before{content:'';position:absolute;inset:8px;background:white;border-radius:50%}.circle span{position:relative;font:800 17px Manrope}.history{display:grid;gap:9px}.history div{display:flex;justify-content:space-between;border-bottom:1px solid #f0f2ee;padding:7px 0;font-size:12px}.history div:last-child{border:0}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);background:#263a2e;color:white;border-radius:9px;padding:11px 17px;font-size:12px;opacity:0;transition:.2s;pointer-events:none}#toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:1000px){main{padding:0 28px}.sidebar{width:225px}}@media(max-width:760px){.sidebar{display:none}main{padding:0 18px}.topbar{height:63px}.mobile-brand{display:block}.topbar>div:first-of-type{display:none}.page{padding-top:25px}.welcome h1,.intro h1{font-size:26px}.hero{min-height:180px;padding:22px}.hero-art{font-size:60px;margin:0}.stats{grid-template-columns:1fr;gap:9px}.stat{padding:12px 15px}.lower,.study-layout,.progress-layout{grid-template-columns:1fr}.panel{min-height:auto}.word-list{grid-template-columns:1fr}.tools{display:grid;grid-template-columns:1fr 1fr}.search{grid-column:1/-1}.tools select{min-width:0}.lesson{padding:15px}.flash{min-height:230px}}@media(max-width:420px){main{padding:0 13px}.hero{padding:17px}.hero-art{font-size:48px}.hero h2{font-size:19px}.hero p{font-size:11px}}
:root{--green:#bd5688;--ink:#422b37;--muted:#927e88;--line:#f2e5eb;--bg:#fff8fb}.sidebar{background:#fffafd;border-color:#f5e5ed}.brand,.mobile-brand{color:#bd5688}.brand>span:last-child,.mobile-brand span{color:#ca8aaa}.mark,.nav.active,.stat-icon,.word-symbol{background:#fae9f1;color:#bd5688}.nav.active{color:#a84475}.nav:hover{background:#fff3f8;color:#a84475}.note{background:#fff0f6}.note small,.eyebrow{color:#bd6d94}.avatar{background:#f9e4ed;color:#a84475;font-weight:800}.streak{background:#fff2df;color:#8e6338}.button.green{background:#bd5688;color:white}.button.outline{border-color:#efd8e3;color:#a84475}.hero{background:linear-gradient(115deg,#bd5688,#d47ba4)}.hero:before,.hero:after{border-color:#ffffff24}.hero .eyebrow{color:#ffe7f1}.hero p{color:#ffeaf2}.hero-art{filter:drop-shadow(0 8px 10px #74385024)}.love-card{background:linear-gradient(135deg,#fff0f6,#ffe6f0);padding:25px 29px;margin-bottom:18px;border:1px solid #f8dce8;position:relative;overflow:hidden;border-radius:17px}.love-card h2{font-size:clamp(17px,2vw,22px);line-height:1.55;max-width:850px;color:#744258;margin:12px 0}.love-card p{color:#9a7183;margin:8px 0 0}.love-spark{font-size:23px;color:#d46e9b}.love-hearts{color:#d66f9c;letter-spacing:2px;font-size:18px}.pink-button{background:#bd5688;color:white;box-shadow:0 5px 14px #bd56882b}.pink-button:hover{background:#a84475}.login-screen{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(ellipse at 20% 15%,#ffe6f0,transparent 37%),radial-gradient(ellipse at 83% 84%,#f9e5ef,transparent 35%),#fff9fc}.login-card{width:min(100%,420px);background:#fff;border:1px solid #f5e2eb;border-radius:22px;padding:34px 34px 28px;box-shadow:0 22px 70px #9c466218;display:flex;flex-direction:column}.login-brand{font:800 19px Manrope;color:#b94d82;display:flex;align-items:center;gap:8px;margin-bottom:33px}.brand-heart{font-size:28px;color:#d76499}.login-card h1{font-size:27px;line-height:1.25;margin:8px 0}.login-card>p{color:#907d87;margin:0 0 22px}.login-card label{font-size:12px;color:#6f5a64;font-weight:700;margin:0 0 7px}.login-card input{width:100%;height:45px;border:1px solid #eadde4;border-radius:10px;padding:0 13px;margin-bottom:16px;color:#4d3742;outline:none;background:#fffdfE}.login-card input:focus{border-color:#d47ba4;box-shadow:0 0 0 3px #fae9f1}.login-card .button{height:46px;margin-top:3px}.login-error{color:#b04d70;font-size:12px;min-height:22px;padding-top:8px}.login-foot{text-align:center;color:#aa8e9b;font-size:11px;margin-top:3px}.module-strip{display:flex;gap:8px;overflow-x:auto;padding:4px 0 15px;margin-bottom:3px}.module-chip{border:1px solid #efdfe7;border-radius:10px;background:#fff;padding:8px 12px;color:#917983;white-space:nowrap}.module-chip span{font-weight:800;margin-right:7px;color:#bc6190}.module-chip.selected{background:#fae9f1;color:#a84475;border-color:#efcbdc}.module-chip.done{border-color:#ddbed0}.badge,.tag{background:#fae9f1;color:#ac4d7b}.flash{background:#fff7fb;border-color:#f4e7ed}.flash.is-flipped{background:#fff4f8}.sound,.icon{background:#fae9f1;color:#b24d7d}.question{border-color:#f2e3ea}.result{text-align:center;padding:44px 20px}.result h2{margin:12px 0}.history span:last-child{color:#9e6080}.circle{background:conic-gradient(#ce6c99 var(--value),#f3e8ed 0)}.circle:before{background:white}.meter span{background:#ce6c99}.footer span{color:#cb6997}.stat:nth-child(2) .stat-icon{background:#fff2df}.stat:nth-child(3) .stat-icon{background:#f3ebf8}details{margin-top:8px;color:#8b6e7c;font-size:11px}details summary{cursor:pointer;color:#b44f80;font-weight:600}details p{line-height:1.6;margin:6px 0}.word-actions small{color:#a18390}.sidebar-bottom .note b{color:#7e4d64}@media(max-width:760px){.login-card{padding:27px 23px}.love-card{padding:21px}.love-card h2{font-size:17px}}
#app-shell[hidden],#login-screen[hidden],#password-recovery-screen[hidden]{display:none!important}
:root{--pink:#c55789;--pink-deep:#a83f70;--pink-soft:#fff0f6;--ink:#382a33;--muted:#8c7d85;--line:#f0e3e9;--bg:#fff9fc;--shadow:0 14px 40px #7542560b}body{background:radial-gradient(ellipse at 85% 0%,#fff0f6 0,transparent 32%),#fff9fc;color:var(--ink);font-size:14px}.shell{max-width:1680px}.sidebar{width:264px;padding:27px 17px 18px;background:#fffdfd;border-right-color:#f3e7ed;position:sticky;top:0;height:100vh}.brand{padding-bottom:41px;color:var(--pink);font-size:21px}.brand .mark{background:linear-gradient(145deg,#fce5ef,#fff4f8);box-shadow:inset 0 0 0 1px #f6dbe7;color:#c55789}.caption{font-size:9px;letter-spacing:1.6px;padding-left:14px}.sidebar nav{gap:5px}.nav{min-height:45px;padding:11px 13px;font-size:13px;border-radius:12px;display:flex;gap:12px;align-items:center;transition:.18s}.nav>span{width:21px;text-align:center;font-size:17px;color:#b27c94}.nav.active{background:#fff0f6;color:#a83f70;box-shadow:inset 0 0 0 1px #f8e4ed}.nav.active>span{color:#c55789}.note{background:linear-gradient(145deg,#fff0f6,#fff8fa);border:1px solid #f8e4ed;border-radius:16px}.note b{color:#7e4d64;font-size:12px}.profile{padding-top:15px}.avatar{box-shadow:0 0 0 3px #fff;border:1px solid #f2dce6}.topbar{height:73px;border-color:#f1e7ec}main{padding:0 52px}.page{padding-top:34px}.welcome{align-items:center;margin:11px 0 22px}.welcome h1{font-size:34px;letter-spacing:-1.5px}.welcome p,.intro p{color:#8f8189;font-size:13px}.welcome-art{width:62px;height:62px;border-radius:22px;background:linear-gradient(145deg,#fff0f6,#fce3ee);display:grid;place-items:center;font-size:30px;box-shadow:var(--shadow)}.love-card{border-radius:19px;padding:23px 26px;margin-bottom:16px;background:linear-gradient(110deg,#fff1f7,#ffeaf2 60%,#fff5f9);box-shadow:var(--shadow)}.love-card h2{letter-spacing:-.3px}.hero{border-radius:22px;padding:31px 35px;min-height:218px;box-shadow:0 18px 38px #b94d821f;background:linear-gradient(120deg,#bd4e83,#d974a1 65%,#e99dbb)}.hero h2{font-size:26px;letter-spacing:-.7px}.hero p{max-width:480px;line-height:1.7}.hero .pink-button{background:#fff;color:#a94475;box-shadow:0 8px 20px #70274620}.hero-art{font-size:76px;margin-right:54px}.stats{gap:13px;margin-top:17px}.stat,.panel,.lesson,.word{border-color:#f2e7ec;border-radius:16px;box-shadow:var(--shadow)}.stat{padding:17px}.stat-icon{width:42px;height:42px;border-radius:13px}.stat strong{font-size:19px}.lower,.study-layout,.progress-layout{gap:15px;margin-top:16px}.panel{padding:20px}.panel-title{font-size:13px;letter-spacing:.1px}.meter{height:9px;background:#f6eaf0}.meter span{background:linear-gradient(90deg,#c55789,#e59db9)}.heading{margin:26px 0 14px}.eyebrow{letter-spacing:1.4px}.intro{margin-bottom:22px}.intro h1{font-size:34px;letter-spacing:-1.3px}.lesson{padding:24px}.flash{border-radius:18px;background:linear-gradient(145deg,#fff9fc,#fff0f6);min-height:265px}.flash h2{letter-spacing:-1px}.actions{flex-wrap:wrap}.button{transition:transform .16s ease,box-shadow .16s ease}.button:hover{transform:translateY(-1px)}.pink-button{background:linear-gradient(110deg,#c55789,#d26e9a);box-shadow:0 8px 18px #c557892b}.pink-button:hover{background:linear-gradient(110deg,#aa4374,#c55789)}.button.outline{border-color:#f0dce6;color:#a83f70}.tools select,.search input{height:44px;border-radius:12px;border-color:#eee1e7;box-shadow:0 3px 12px #75425608}.search input:focus,.tools select:focus{border-color:#d991af;box-shadow:0 0 0 3px #fce7f0}.results{font-size:12px}.word-list{gap:11px}.word{align-items:flex-start;padding:15px}.word-symbol{flex:none}.word h3{font-size:15px}.word p{font-size:12px;line-height:1.5}.word-actions .icon{margin:0}.badge,.tag{font-weight:600}.progress-layout .panel{min-height:170px}.module-chip{border-radius:12px;padding:9px 13px}.module-chip.selected{box-shadow:0 4px 12px #c5578914}.question{border-radius:18px;box-shadow:var(--shadow);padding:31px}.option{border-radius:12px;transition:.15s}.option:hover{transform:translateX(2px)}.login-card{box-shadow:0 25px 75px #a741701a}.login-brand .brand-heart{font-size:31px}.login-card .button{border-radius:12px}.login-foot{letter-spacing:.3px}footer{padding:26px}.practice-summary{display:grid;grid-template-columns:150px 190px 1fr;gap:12px;margin-bottom:16px}.practice-summary>div,.practice-tip{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px 17px;box-shadow:var(--shadow)}.practice-summary .eyebrow{display:block;font-size:9px}.practice-summary strong{font:800 20px Manrope;display:block;margin-top:5px;color:#a94374}.practice-summary strong small{font:500 11px 'DM Sans';color:#917e88}.practice-tip{display:flex;align-items:center;color:#8b7180;background:linear-gradient(110deg,#fff1f6,#fff9fb);font-size:12px}.practice-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,.8fr);gap:15px}.practice-card{min-width:0}.practice-flash{width:100%;min-height:275px;border:1px solid #f3e3ea;border-radius:18px;background:linear-gradient(145deg,#fffafe,#fff1f7);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;color:var(--ink)}.practice-flash strong{font:800 clamp(27px,4vw,40px) Manrope;letter-spacing:-1px;color:#693d54}.practice-flash small{color:#9b8591}.practice-flash.is-flipped{background:linear-gradient(145deg,#fff5f9,#fdeaf2)}.practice-example{font-size:13px;line-height:1.65;max-width:520px}.practice-example i{font-style:normal;color:#a88796}.practice-caption{line-height:1.65;text-align:center;margin:16px 0 0}.practice-caption span{color:#ab8a98}.practice-aside{display:grid;align-content:start;gap:12px}.practice-aside .panel{min-height:auto}.practice-aside .button{margin-top:5px}.scenario-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:18px 0}.scenario-tile{display:flex;align-items:center;gap:13px;text-align:left;border:1px solid #f0e2e9;background:#fff;border-radius:15px;padding:15px;box-shadow:var(--shadow);color:var(--ink);transition:.15s}.scenario-tile:hover,.scenario-tile.selected{border-color:#e5b6ca;background:#fff7fa;transform:translateY(-1px)}.scenario-tile>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#fae8f0;color:#ae4c7a;font:800 12px Manrope}.scenario-tile div{flex:1}.scenario-tile small{font-size:9px;color:#b0748e;letter-spacing:.8px;font-weight:700}.scenario-tile h3{font-size:14px;margin:4px 0 0}.scenario-tile>b{color:#c25a89;font-size:18px}.scenario-detail{background:linear-gradient(140deg,#fff,#fff8fb);border:1px solid #f0e2e9;border-radius:19px;padding:23px;box-shadow:var(--shadow)}.scenario-detail h2{margin:7px 0;font-size:21px}.scenario-detail>div:first-child>p{color:#8d7b85;line-height:1.65;margin:0 0 16px}.scenario-lines{display:grid;gap:8px}.scenario-lines article{display:flex;align-items:center;gap:12px;padding:13px 14px;background:#fff;border:1px solid #f3e9ee;border-radius:13px}.scenario-lines article>div{flex:1}.scenario-lines strong{font-size:13px}.scenario-lines p{font-size:11px;color:#9b8490;margin:5px 0 0}.scenario-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px}.scenario-actions .button{font-size:11px}.scenario-actions .outline{background:transparent}@media(max-width:1000px){main{padding:0 28px}.sidebar{width:235px}}@media(max-width:760px){.sidebar{display:none}main{padding:0 18px}.topbar{height:63px}.page{padding-top:24px}.welcome h1,.intro h1{font-size:27px}.hero{min-height:190px;padding:22px}.hero-art{font-size:58px;margin:0}.practice-summary{grid-template-columns:1fr 1fr}.practice-tip{grid-column:1/-1}.practice-layout{grid-template-columns:1fr}.scenario-grid{grid-template-columns:1fr}.scenario-detail{padding:17px}.scenario-actions>*{flex:1}.practice-flash{min-height:230px}}@media(max-width:420px){main{padding:0 13px}.welcome h1{font-size:24px}.hero{padding:18px}.hero-art{font-size:45px}.practice-summary{gap:8px}.practice-summary>div{padding:12px}.practice-caption{font-size:11px}}

.quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:18px}.quick-action{position:relative;display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:11px;text-align:left;padding:14px;border:1px solid #f0e2e9;background:#fff;border-radius:15px;box-shadow:var(--shadow);color:var(--ink);transition:.15s}.quick-action:hover{transform:translateY(-2px);border-color:#e5b6ca}.quick-action>span{grid-row:1/3;width:38px;height:38px;border-radius:12px;background:#fae8f0;color:#ae4c7a;display:grid;place-items:center;font-size:17px}.quick-action b{font-size:12px}.quick-action small{font-size:10px;color:#9d8993;margin-top:3px}.quick-action i{position:absolute;right:13px;top:13px;color:#c25a89;font-style:normal}@media(max-width:760px){.quick-actions{grid-template-columns:1fr}.quick-action{min-height:64px}}.assessment-banner{display:flex;align-items:center;gap:13px;padding:15px 18px;border:1px solid #f2dfe8;background:linear-gradient(105deg,#fff,#fff5f9);border-radius:15px;margin:16px 0;box-shadow:var(--shadow)}.assessment-banner>span{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:13px;background:#fae8f0;color:#b24d7d;font-size:21px}.assessment-banner>div{display:grid;gap:4px;flex:1}.assessment-banner b{font-size:12px;color:#624452}.assessment-banner small{font-size:11px;color:#a18492}.assessment-banner .button{white-space:nowrap;padding:9px 12px}.assessment-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(230px,.8fr);gap:15px;align-items:start}.assessment-main{display:grid;gap:12px}.assessment-aside{display:grid;gap:11px;align-content:start;position:sticky;top:18px}.assessment-note{display:flex;gap:12px;align-items:center;background:#fff0f6;border:1px solid #f4dce7;border-radius:14px;padding:13px 16px;margin-bottom:14px;color:#ae4f7d;font-size:12px}.assessment-note span{color:#917783;line-height:1.5}.assessment-note b{color:#7e4d64}.assessment-section{min-height:0}.assessment-heading{display:flex;align-items:center;gap:12px;margin-bottom:15px}.assessment-heading h2{margin:4px 0 0;font-size:17px}.assessment-number{display:grid;place-items:center;width:37px;height:37px;background:#fae8f0;border-radius:12px;color:#ad4d7b;font:800 13px Manrope}.assessment-section blockquote{margin:0 0 15px;padding:13px 15px;background:#fff7fa;border-left:3px solid #d780a4;border-radius:0 11px 11px 0;color:#78636e;font-size:12px;line-height:1.7}.assessment-question{padding:12px 0;border-top:1px solid #f3e9ee}.assessment-question>p{font-size:13px;line-height:1.55;margin:2px 0 10px}.listen-line{margin:0 0 8px!important;font-size:11px!important;padding:7px 10px!important}.assessment-options{display:grid;gap:7px}.assessment-option{border:1px solid #eee2e8;background:#fff;border-radius:10px;padding:10px 12px;text-align:left;color:#69545f;font-size:12px;transition:.14s}.assessment-option:hover,.assessment-option.selected{border-color:#d993b0;background:#fff4f8;color:#9c3f6d}.rating-row{padding:13px 0;border-top:1px solid #f3e9ee}.rating-row>div:first-child b,.rating-row>div:first-child small{display:block}.rating-row>div:first-child b{font-size:12px}.rating-row>div:first-child small{font-size:11px;color:#98838e;line-height:1.5;margin-top:4px}.rating-options{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:10px}.rating{border:1px solid #eee2e8;background:#fff;border-radius:10px;padding:8px;color:#a54e77;font-weight:800}.rating.selected{border-color:#d583a5;background:#fff0f6}.rating small{display:block;font-size:9px;font-weight:500;color:#99848f;margin-top:3px}.writing-label{display:block;font-size:11px;color:#776370;margin:13px 0 7px;line-height:1.5}.assessment-section textarea{width:100%;min-height:95px;border:1px solid #eee2e8;border-radius:11px;padding:11px;color:#59434f;resize:vertical;font:12px 'DM Sans',sans-serif;outline:none}.assessment-section textarea:focus{border-color:#d68eab;box-shadow:0 0 0 3px #fce9f1}.word-count{display:block;color:#a48d99;font-size:10px;text-align:right;margin-top:4px}.assessment-submit{justify-self:start}.assessment-aside .panel{min-height:0}.assessment-check{display:flex;gap:10px;align-items:center;border-top:1px solid #f4eaee;padding:10px 0}.assessment-check>span{display:grid;place-items:center;flex:none;width:27px;height:27px;border-radius:9px;background:#fff0f6;color:#b2507d;font:700 10px Manrope}.assessment-check p{margin:0}.assessment-check b,.assessment-check small{display:block}.assessment-check b{font-size:11px}.assessment-check small{font-size:10px;color:#9b8791;margin-top:3px;line-height:1.4}.skill-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:15px}.skill-card{background:#fff;border:1px solid #f0e2e9;border-radius:15px;padding:13px;box-shadow:var(--shadow)}.skill-card>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:5px;margin-bottom:12px}.skill-card .eyebrow{font-size:8px}.skill-card strong{font:800 13px Manrope;color:#a94475}.skill-card .meter{height:6px}.skill-card>small{display:block;font-size:9px;color:#a08a95;margin-top:8px}.baseline-focus{min-height:0;margin-bottom:13px}.baseline-focus h2{color:#a74876}.baseline-focus .button{margin:6px 8px 0 0}.assessment-aside>.outline{width:100%}@media(max-width:1050px){.skill-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.assessment-layout{grid-template-columns:1fr}.assessment-aside{position:static}.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assessment-banner{align-items:flex-start;flex-wrap:wrap}.assessment-banner>div{min-width:180px}.assessment-banner .button{margin-left:50px}.rating-options{grid-template-columns:repeat(2,1fr)}}@media(max-width:420px){.skill-grid{grid-template-columns:1fr 1fr}.skill-card{padding:11px}.skill-card .eyebrow{font-size:7px}.assessment-section{padding:15px}.assessment-banner{padding:12px}.assessment-banner .button{margin-left:49px}}.can-do{display:flex;gap:12px;align-items:flex-start;padding:11px 14px;margin-top:14px;background:#fff3f8;border:1px solid #f4dce7;border-radius:12px;color:#7d5468;font-size:12px;line-height:1.5}.can-do b{color:#ad4c7a;white-space:nowrap}.can-do span{color:#806b76}.pronunciation-panel{min-height:0!important}.pronunciation-panel .muted b{color:#a94475}.pron-buttons{display:flex;gap:7px;flex-wrap:wrap}.pron-buttons .button{font-size:10px;padding:9px 11px}.pron-result{padding:11px;margin-top:10px;border:1px solid #f0dbe5;background:#fff5f9;border-radius:11px}.pron-result>b{color:#a94475;font-size:13px}.pron-result p{font-size:11px;color:#745e69;margin:6px 0}.pron-result>small{display:block;color:#8c7180;font-size:10px;line-height:1.55;margin-top:5px}.pron-result .pron-note{border-top:1px solid #eedfe6;padding-top:7px;color:#9a8690}.pron-result.error{background:#fff7f2;border-color:#f3ded1}.pron-result.error>b{color:#a65d3b}.scenario-challenge{margin-top:13px;padding:15px;background:#fff3f8;border:1px solid #f2dce7;border-radius:14px}.scenario-challenge h3{margin:5px 0;font-size:15px;color:#664358}.scenario-challenge>div:first-child>p{font-size:11px;line-height:1.55;color:#917985;margin:5px 0 10px}.scenario-challenge-actions{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:9px}.scenario-challenge-actions .button{font-size:10px;padding:8px 10px}.scenario-challenge textarea{width:100%;min-height:90px;border:1px solid #eedde5;background:white;border-radius:11px;padding:11px;resize:vertical;font:12px 'DM Sans',sans-serif;color:#59434f;outline:none}.scenario-challenge textarea:focus{border-color:#d68eab;box-shadow:0 0 0 3px #fce9f1}.scenario-challenge>small{display:block;margin-top:6px;font-size:10px;line-height:1.5}.auth-link{display:block;margin:12px auto 0;border:0;background:transparent;color:#a94374;text-decoration:underline;font-size:12px}.auth-link:hover{color:#813055}.login-card button:disabled{opacity:.65;cursor:wait}.login-foot{display:block;line-height:1.6;margin-top:14px}.sync-status{font-size:11px;color:#8b7180;white-space:nowrap}.sync-status[data-mode="ok"]{color:#44805f}.sync-status[data-mode="error"]{color:#b75065}.sync-status[data-mode="busy"]{color:#a76a35}.logout-button{padding:8px 12px;font-size:11px}.topright{gap:12px}@media(max-width:760px){.sync-status{display:none}.logout-button{padding:7px 9px}}
.certificate-heading{margin-bottom:18px}.certificate-progress{display:grid;grid-template-columns:110px 1fr;gap:20px;align-items:center;max-width:720px;padding:22px;background:#fff;border:1px solid #f0e2e9;border-radius:16px;margin:20px 0}.certificate-progress-number{font:800 32px Manrope;color:#bd4d82;text-align:center}.certificate-progress-number span{font-size:16px;color:#a58b97}.certificate-progress p{color:#87918b;line-height:1.6;margin:6px 0 12px}.certificate-note{max-width:720px;color:#8d7b85;font-size:12px;line-height:1.6;margin-top:18px}.certificate-paper{position:relative;max-width:850px;min-height:530px;margin:22px auto;padding:45px 60px 30px;text-align:center;background:linear-gradient(145deg,#fff 0%,#fffafd 100%);border:1px solid #ecc8d8;outline:5px solid #fff;box-shadow:0 0 0 7px #f3dce6,0 12px 32px #6a31401a;border-radius:5px;color:#493744}.certificate-paper:before,.certificate-paper:after{content:'✧';position:absolute;color:#d184a4;font-size:24px}.certificate-paper:before{top:18px;left:20px}.certificate-paper:after{right:20px;bottom:15px}.certificate-brand{font:800 19px Manrope;color:#bd4d82}.certificate-kicker{margin:28px 0 15px;font-size:11px;font-weight:800;letter-spacing:2px;color:#a96884}.certificate-paper h2{font-size:17px;font-weight:500;color:#7b6973;margin:0}.certificate-name{font:700 42px Manrope;letter-spacing:-1px;color:#392d37;margin:8px 0 14px}.certificate-copy{font-size:13px;line-height:1.6;color:#806f79;margin:8px auto;max-width:560px}.certificate-course{font:700 24px Manrope;color:#bd4d82;margin:8px 0}.certificate-meta{display:flex;justify-content:center;gap:70px;margin:23px 0 15px}.certificate-meta div{display:grid;gap:5px}.certificate-meta small,.certificate-signature small{font-size:10px;color:#9c8792}.certificate-meta b{font-size:12px;color:#574452}.certificate-signature{display:grid;gap:3px;width:190px;margin:14px auto 17px;padding-top:8px;border-top:1px solid #d7a8bc}.certificate-signature span{font:700 15px Manrope;color:#a34c73}.certificate-disclaimer{max-width:650px;margin:0 auto;font-size:9px;line-height:1.5;color:#9b8992}.certificate-actions{display:flex;justify-content:center;margin:18px 0 30px}@media(max-width:650px){.certificate-paper{min-height:0;padding:35px 20px 25px}.certificate-name{font-size:34px}.certificate-meta{gap:28px}.certificate-progress{grid-template-columns:75px 1fr;padding:16px}.certificate-progress-number{font-size:27px}}@media print{@page{size:A4 landscape;margin:12mm}body{background:#fff!important}.sidebar,.topbar,.page:not(#sertifikat),footer,.certificate-heading,.certificate-actions{display:none!important}#app-shell,.shell,main,#sertifikat{display:block!important;max-width:none!important;width:100%!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;background:#fff!important;box-shadow:none!important}#sertifikat{page-break-inside:avoid}.certificate-paper{display:block!important;max-width:none!important;width:100%!important;min-height:175mm!important;margin:0!important;padding:15mm 20mm 10mm!important;border:1px solid #ecc8d8!important;outline:4px solid #fff!important;box-shadow:0 0 0 6px #f3dce6!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.certificate-name{font-size:42px}.certificate-kicker{margin-top:20px}.certificate-meta{margin-top:17px}}.admin-badge{display:inline-block;padding:5px 9px;border-radius:999px;background:#f8e4ee;color:#a43d70;font-size:10px;font-weight:800;letter-spacing:1px}.admin-preview-banner{max-width:850px;margin:12px auto;padding:12px 16px;border:1px solid #e9c4d5;border-radius:10px;background:#fff0f6;color:#99416a;font-size:12px;font-weight:700}.certificate-paper{overflow:hidden}.certificate-watermark{position:absolute;z-index:2;top:43%;left:50%;transform:translate(-50%,-50%) rotate(-22deg);color:#be4d82;opacity:.16;font:800 54px Manrope;letter-spacing:5px;white-space:nowrap;pointer-events:none}@media(max-width:760px){.admin-badge{display:none!important}}@media print{.admin-preview-banner{display:none!important}.certificate-watermark{opacity:.22!important}}
#login-password{margin-bottom:0;padding-right:72px}.password-field{position:relative;margin-bottom:16px}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#a84475;font:600 12px 'DM Sans',sans-serif;padding:7px;cursor:pointer}.password-toggle:focus-visible{outline:2px solid #d47ba4;outline-offset:2px;border-radius:5px}.password-field input{margin-bottom:0!important;padding-right:72px}

.admin-shortcuts{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.admin-shortcuts .button{font-size:11px}.admin-mode .sidebar{border-right:3px solid #c55789}.admin-mode .caption{color:#a83f70;font-weight:800}.admin-mode .profile{background:#fff0f6;border:1px solid #f5dce7;border-radius:12px;padding:10px;margin-top:10px}.admin-mode .topbar{background:linear-gradient(90deg,#fffafd,#fff1f6)}@media(max-width:760px){.admin-badge{display:inline-block!important}}
.qa-panel{margin-top:20px;padding:18px;background:#fff;border:1px solid #f1dfe8;border-radius:15px}.qa-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.qa-heading h3{margin:4px 0 12px;font:700 16px Manrope}.qa-heading>b{color:#a83f70;font-size:12px}.qa-meter{margin:0 0 14px;height:7px}.qa-details{border-top:1px solid #f2e6ec;padding:10px 0;margin:0}.qa-details summary,.roadmap-details summary{cursor:pointer;color:#744258;font-weight:700;font-size:12px;padding:4px 0}.qa-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 4px;border-top:1px solid #faf2f6}.qa-row label{display:flex;align-items:center;gap:9px;color:#695660;font-size:12px}.qa-row input{accent-color:#bd5688;width:16px;height:16px}.qa-row .link{white-space:nowrap;font-size:11px}.qa-help{font-size:11px;color:#97838d;line-height:1.5;margin:12px 0 0}.progress-roadmap{margin:18px 0 5px;background:#fff;border:1px solid #f1dfe8;border-radius:16px;padding:17px;box-shadow:var(--shadow)}.roadmap-summary{display:grid;grid-template-columns:minmax(130px,.6fr) minmax(100px,1fr) minmax(220px,1.4fr);align-items:center;gap:16px}.roadmap-summary>div:first-child{display:grid;gap:3px}.roadmap-summary strong{font:800 25px Manrope;color:#a84375}.roadmap-summary small{color:#8f7e87;font-size:11px}.roadmap-meter{height:10px;border-radius:99px;background:#f6eaf0;overflow:hidden}.roadmap-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#c55789,#e59db9);transition:width .25s}.roadmap-next{padding-left:15px;border-left:1px solid #f2e6ec}.roadmap-next>b{font-size:12px}.roadmap-next p{font-size:12px;color:#907d87;margin:5px 0 9px}.roadmap-next .button{font-size:11px}.roadmap-details{border-top:1px solid #f2e6ec;margin-top:15px;padding-top:11px}.progress-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.progress-module{display:flex;align-items:center;gap:10px;text-align:left;padding:10px;border:1px solid #f1e5eb;border-radius:11px;background:#fff;color:#493744;cursor:pointer}.progress-module:hover{background:#fff7fa;border-color:#e8c4d5}.progress-module.is-done{background:#f7fbf8;border-color:#dcebe1}.progress-module-number{display:grid;place-items:center;width:29px;height:29px;flex:none;border-radius:9px;background:#fae9f1;color:#a84375;font-weight:800}.progress-module.is-done .progress-module-number{background:#e5f2e9;color:#45845d}.progress-module-info{display:grid;gap:3px;min-width:0}.progress-module-info b{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-module-info small{font-size:10px;color:#8f7e87}.progress-module-arrow{margin-left:auto;color:#b36a8b}@media(max-width:760px){.roadmap-summary{grid-template-columns:1fr}.roadmap-next{padding:12px 0 0;border-left:0;border-top:1px solid #f2e6ec}.progress-module-grid{grid-template-columns:1fr}.qa-panel{padding:14px}}.qa-open-hint{font-size:10px;color:#9b8591;white-space:nowrap}
:focus-visible{outline:3px solid #7b3156!important;outline-offset:3px!important}
.skip-link{position:fixed;z-index:10000;left:12px;top:12px;transform:translateY(-160%);background:#fff;color:#51213b;padding:12px 16px;border:2px solid #7b3156;border-radius:8px;font-weight:700}.skip-link:focus{transform:translateY(0)}
.backup-panel{margin:18px 0;padding:20px;background:#fff;border:1px solid #ead2dd;border-radius:16px;box-shadow:var(--shadow)}.backup-panel h2{font:700 18px Manrope;margin:0 0 8px;color:#493744}.backup-panel>p,.backup-panel li{font-size:14px;line-height:1.7;color:#65515c}.backup-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.backup-actions .button{font-size:13px}.guide-details{margin-top:12px;border-top:1px solid #f0e2e9;padding-top:12px}.guide-details summary{cursor:pointer;color:#713d57;font-size:14px;font-weight:700;padding:5px 0}.guide-details ol{padding-left:22px}.backup-help{font-size:12px!important;color:#65515c!important}.verification-status{max-width:850px;margin:10px auto;text-align:center;color:#725d68;font-size:14px;line-height:1.6}.verification-status.is-verified{color:#286342}.verification-status a{color:#713d57;font-weight:700;text-decoration:underline}.certificate-disclaimer{font-size:12px;color:#65515c}.certificate-meta small,.certificate-signature small{font-size:12px;color:#65515c}.certificate-note{font-size:14px;color:#65515c}.certificate-progress p{color:#65515c}.qa-help,.roadmap-summary small,.roadmap-next p,.progress-module-info small{font-size:12px;color:#65515c}.nav:focus-visible,.button:focus-visible,.link:focus-visible,.progress-module:focus-visible,.qa-row input:focus-visible{outline:3px solid #7b3156;outline-offset:3px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
:root{--muted:#65515c}
.nav:not(.active),.topbar,.welcome p,.intro p,.muted,.note p,.profile small,.caption,footer,.certificate-note,.certificate-disclaimer,.certificate-meta small,.certificate-signature small,.roadmap-summary small,.roadmap-next p,.progress-module-info small,.qa-help{color:#65515c!important}
.eyebrow{font-size:11px;color:#78425e}.caption{font-size:11px}.nav{font-size:14px}footer{font-size:12px}
/* A distinct, cool-blue visual identity for Faari's admin inspection workspace. */
body.admin-mode{--pink:#2d6fbd;--pink-deep:#174b88;--pink-soft:#eaf3ff;--ink:#172a45;--muted:#52657f;--line:#d9e5f3;--bg:#f2f7fd;--shadow:0 14px 40px #17365d0d;background:radial-gradient(ellipse at 85% 0%,#e5f0ff 0,transparent 34%),#f2f7fd;color:#172a45}
.admin-mode .sidebar{background:#fafdff;border-right:3px solid #4d83c7}.admin-mode .brand{color:#215b9e}.admin-mode .brand>span:last-child,.admin-mode .mobile-brand span{color:#6d88aa}.admin-mode .brand .mark{background:linear-gradient(145deg,#dcecff,#f4f9ff);box-shadow:inset 0 0 0 1px #c9def6;color:#2465a8}.admin-mode .caption{color:#315f93!important}.admin-mode .nav>span{color:#6384ad}.admin-mode .nav.active{background:#e6f1ff;color:#174b88;box-shadow:inset 0 0 0 1px #cfe2fb}.admin-mode .nav.active>span{color:#2368af}.admin-mode .nav:hover{background:#edf5ff}.admin-mode .note{background:linear-gradient(145deg,#eaf3ff,#f7fbff);border:1px solid #d4e5f8}.admin-mode .note b{color:#214f83}.admin-mode .note p,.admin-mode .note small{color:#526c8b!important}.admin-mode .profile{background:#eaf3ff;border:1px solid #d1e2f5;border-radius:12px;padding:10px;margin-top:10px}.admin-mode .avatar{background:#dcecff;border-color:#c9def6;color:#174b88}.admin-mode .topbar{background:linear-gradient(90deg,#fafdff,#eaf3ff);border-color:#d9e5f3;color:#52657f}.admin-mode .admin-badge{background:#dbeaff;color:#174b88}.admin-mode .streak{background:#eaf3ff;color:#315b8d}
.admin-mode .hero{background:linear-gradient(120deg,#194e87,#2d70b8 65%,#5794d2);box-shadow:0 18px 38px #215c9e20}.admin-mode .hero .eyebrow{color:#d8eaff}.admin-mode .hero p{color:#edf5ff}.admin-mode .hero .pink-button{color:#174b88;background:#fff}.admin-mode .hero-art{filter:saturate(.6)}.admin-mode .love-card{background:linear-gradient(110deg,#eaf3ff,#e1eeff 60%,#f3f8ff);border:1px solid #d4e5f8;color:#172a45}.admin-mode .love-card .eyebrow,.admin-mode .love-card h2,.admin-mode .love-card p,.admin-mode .love-card .love-spark,.admin-mode .love-card .love-hearts{color:#285c96}.admin-mode .pink-button,.admin-mode .button.pink-button{background:linear-gradient(110deg,#2866a9,#3e83c7);color:#fff;box-shadow:0 8px 18px #2866a92b}.admin-mode .pink-button:hover,.admin-mode .button.pink-button:hover{background:linear-gradient(110deg,#174b88,#2866a9)}.admin-mode .button.outline{border-color:#c8dbf1;color:#205a98}.admin-mode .link,.admin-mode details summary,.admin-mode .eyebrow{color:#285f9d}.admin-mode .stat-icon,.admin-mode .sound,.admin-mode .icon,.admin-mode .word-symbol{background:#e5f0ff;color:#2866a9}.admin-mode .meter,.admin-mode .roadmap-meter{background:#dfeaf7}.admin-mode .meter span,.admin-mode .circle{background:linear-gradient(90deg,#2866a9,#6aa3de)}.admin-mode .circle{background:conic-gradient(#3479bd var(--value),#dfeaf7 0)}.admin-mode .badge,.admin-mode .tag,.admin-mode .module-chip.selected{background:#e5f0ff;color:#245b96;border-color:#cbdff6}.admin-mode .flash,.admin-mode .practice-flash{background:linear-gradient(145deg,#f8fbff,#eaf3ff);border-color:#d6e5f5}.admin-mode .answer,.admin-mode .practice-summary strong{color:#245f9e}.admin-mode .option:hover,.admin-mode .option.correct{border-color:#9abce4;background:#edf5ff}.admin-mode .option.correct{color:#174b88}.admin-mode .option.wrong{background:#fff4ef}.admin-mode .assessment-banner,.admin-mode .quick-action,.admin-mode .qa-panel,.admin-mode .progress-roadmap,.admin-mode .backup-panel{border-color:#d9e5f3}.admin-mode .assessment-banner>span,.admin-mode .scenario-tile>span,.admin-mode .assessment-number{background:#e5f0ff;color:#2866a9}.admin-mode .qa-heading>b,.admin-mode .roadmap-summary strong,.admin-mode .progress-module-number{color:#245f9e}.admin-mode .progress-module:hover,.admin-mode .progress-module.is-done{background:#f1f7ff;border-color:#c8def6}.admin-mode .scenario-detail,.admin-mode .scenario-challenge{background:#f7fbff;border-color:#d9e5f3}.admin-mode .admin-preview-banner{background:#eaf3ff;border-color:#bed5f1;color:#174b88}.admin-mode .certificate-watermark{color:#2465a8}.admin-mode footer{color:#52657f!important}.admin-mode .password-toggle{color:#205a98}
.admin-mode :focus-visible{outline-color:#174b88!important}
.weekly-goal{margin:18px 0;padding:20px;background:linear-gradient(120deg,#fff,#fff5f9);border:1px solid #f0dce6;border-radius:16px;box-shadow:var(--shadow)}.weekly-goal-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.weekly-goal h2{font-size:18px;margin:5px 0}.weekly-goal-top>strong{font:800 16px Manrope;color:var(--pink-deep)}.weekly-goal>p{color:#65515c;font-size:13px;line-height:1.6;margin:10px 0}.weekly-goal-meter{height:9px;overflow:hidden;border-radius:99px;background:#f2e5ec;margin-top:14px}.weekly-goal-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--pink),#e59db9);transition:width .2s}.weekly-goal-options{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.weekly-goal-choice{min-width:40px;min-height:40px;border:1px solid #e9d5df;border-radius:10px;background:#fff;color:#654b59;font-weight:700}.weekly-goal-choice:hover{border-color:var(--pink);background:var(--pink-soft)}.weekly-goal-choice.is-selected{background:var(--pink);border-color:var(--pink);color:#fff}.admin-mode .weekly-goal{background:linear-gradient(120deg,#fff,#edf5ff);border-color:#d2e3f7}.admin-mode .weekly-goal-meter{background:#dfeaf7}.admin-mode .weekly-goal-meter span{background:linear-gradient(90deg,#2866a9,#6aa3de)}.admin-mode .weekly-goal-choice{border-color:#c8dbf1;color:#244e7c}.admin-mode .weekly-goal-choice:hover,.admin-mode .weekly-goal-choice.is-selected{background:#2866a9;border-color:#2866a9;color:#fff}@media(max-width:520px){.weekly-goal{padding:16px}.weekly-goal-top{align-items:flex-start;flex-direction:column}}

/* Panduan aplikasi */
.guide-welcome{display:flex;align-items:center;gap:14px;padding:17px 20px;margin:0 0 17px;border:1px solid #f0dce6;border-radius:15px;background:linear-gradient(110deg,#fff,#fff4f8);box-shadow:var(--shadow)}.guide-welcome-icon{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:14px;background:#fae8f0;font-size:22px}.guide-welcome b{font:700 15px Manrope;color:var(--ink)}.guide-welcome p{margin:5px 0 0;color:#806b76;line-height:1.6;font-size:12px}.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.guide-card{display:flex;gap:14px;min-height:190px;padding:19px}.guide-step{display:grid;place-items:center;flex:none;width:37px;height:37px;border-radius:12px;background:#fae8f0;color:#ad4d7b;font:800 12px Manrope}.guide-card>div{min-width:0}.guide-card h2,.guide-sync h2{margin:1px 0 8px;font:700 16px Manrope;color:var(--ink)}.guide-card p,.guide-sync p{font-size:12px;line-height:1.7;color:#806b76;margin:0 0 13px}.guide-card .button,.guide-sync .button{font-size:11px}.guide-actions{display:flex;gap:8px;flex-wrap:wrap}.guide-sync{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:14px;min-height:0}.guide-sync>div{max-width:760px}.guide-sync h2{margin-top:6px}.guide-sync p{margin-bottom:0}.guide-sync>.button{flex:none}.guide-privacy{font-size:11px;line-height:1.6;color:#806b76;margin:13px 2px 0}.admin-mode .guide-welcome{background:linear-gradient(110deg,#fff,#edf5ff);border-color:#d4e5f8}.admin-mode .guide-welcome-icon,.admin-mode .guide-step{background:#e5f0ff;color:#2866a9}.admin-mode .guide-card p,.admin-mode .guide-sync p,.admin-mode .guide-privacy,.admin-mode .guide-welcome p{color:#52657f!important}
@media(max-width:760px){.guide-grid{grid-template-columns:1fr}.guide-card{min-height:0;padding:16px}.guide-sync{align-items:flex-start;flex-direction:column;padding:17px}.guide-sync>.button{width:100%}.guide-welcome{align-items:flex-start;padding:15px}}
/* Scroll menu independently while keeping the account card visible. */
.sidebar{min-height:100vh}
.sidebar nav{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d7a0b8 transparent;padding-right:5px}
.sidebar nav::-webkit-scrollbar{width:7px}
.sidebar nav::-webkit-scrollbar-thumb{background:#e7bfd0;border-radius:8px}
.sidebar nav::-webkit-scrollbar-track{background:transparent}
.sidebar-bottom{flex:0 0 auto}
.admin-mode .sidebar nav{scrollbar-color:#8db6e4 transparent}
.admin-mode .sidebar nav::-webkit-scrollbar-thumb{background:#a9c7e8}
/* Compact phone layout and a scrollable off-canvas menu. */
.mobile-menu-backdrop{display:none}
@media(max-width:760px){
  body.mobile-menu-open{overflow:hidden}
  .mobile-brand{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:10px;font:700 13px 'DM Sans',sans-serif;color:var(--ink);background:var(--paper);border:1px solid var(--line)}
  .mobile-brand .mobile-menu-icon{font-size:20px;line-height:1}
  .mobile-brand .mobile-menu-label{font-weight:700}
  .sidebar{display:flex;position:fixed;z-index:130;inset:0 auto 0 0;width:min(84vw,320px);height:100vh;height:100dvh;min-height:0;padding:20px 15px 16px;overflow-y:auto;overscroll-behavior:contain;transform:translateX(-105%);transition:transform .22s ease;box-shadow:14px 0 40px #18263a24}
  .sidebar nav{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}
  .mobile-menu-open .sidebar{transform:translateX(0)}
  .mobile-menu-backdrop:not([hidden]){display:block;position:fixed;z-index:120;inset:0;width:100%;height:100%;border:0;border-radius:0;background:#17233380;backdrop-filter:blur(2px)}
  main{width:100%;padding:0 14px}
  .topbar{min-height:62px;height:auto;gap:8px;padding:8px 0}
  .topright{gap:7px;min-width:0}
  .topright .streak{padding:6px 8px;font-size:10px;white-space:nowrap}
  .topright .logout-button{padding:8px 10px;font-size:10px;white-space:nowrap}
  .welcome{align-items:flex-start;margin:10px 0 16px;gap:8px}
  .welcome h1{max-width:100%;font-size:clamp(25px,7vw,31px);line-height:1.18;letter-spacing:-.8px}
  .welcome p{font-size:12px;line-height:1.5}
  .welcome-art{font-size:30px;padding:0;flex:none}
  .page{padding-top:19px}
  .hero{position:relative;min-height:0;padding:20px;overflow:hidden}
  .hero>div:first-child{position:relative;z-index:2;max-width:100%;padding-right:30px}
  .hero h2{font-size:21px;line-height:1.25}
  .hero p{font-size:12px;line-height:1.55}
  .hero-art{position:absolute;right:12px;bottom:14px;margin:0;font-size:39px;opacity:.82}
  .stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px}
  .stat{min-width:0;min-height:100px;padding:10px 8px;align-items:flex-start;gap:4px;flex-direction:column}
  .stat-icon{width:29px;height:29px;border-radius:9px;font-size:13px}
  .stat small{font-size:9px;line-height:1.25}
  .stat strong{font-size:16px;line-height:1.2;overflow-wrap:anywhere}
  .stat em{font-size:9px}
  .quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .quick-action{min-width:0;padding:12px}
  .quick-action:last-child{grid-column:1/-1}
  .love-card{padding:17px 16px;margin-bottom:14px}
  .love-card h2{font-size:clamp(16px,4.7vw,20px);line-height:1.42;overflow-wrap:anywhere}
  .lower,.study-layout,.progress-layout{grid-template-columns:minmax(0,1fr);gap:11px;margin-top:13px}
  .panel{min-width:0;padding:15px;min-height:0}
  .heading{margin:19px 0 11px}
  .intro{margin-bottom:17px}
  .intro h1{font-size:clamp(24px,7vw,30px);line-height:1.2}
  .word-list{grid-template-columns:minmax(0,1fr)}
  .word{min-width:0;align-items:flex-start}
  .word-content{overflow-wrap:anywhere}
  .results{gap:8px;flex-wrap:wrap;line-height:1.4}
  .guide-sync{min-width:0}
}
@media(max-width:380px){
  main{padding:0 11px}
  .topright{gap:5px}
  .topright .logout-button{padding:7px 8px}
  .welcome-art{font-size:25px}
  .stats{gap:5px}
  .stat{padding:8px 6px}
  .stat strong{font-size:14px}
  .hero{padding:17px}
}
@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}
@media(max-width:760px){
  .topbar{position:sticky;top:0;z-index:110;margin:0 -14px;padding:8px 14px;background:var(--paper);box-shadow:0 1px 0 var(--line);padding-top:max(8px,env(safe-area-inset-top))}
  .admin-mode .topbar{background:linear-gradient(90deg,#fafdff,#eaf3ff)}
  .mobile-brand{min-width:44px;min-height:44px;justify-content:center;padding:8px 11px;gap:8px;touch-action:manipulation;flex:none}
  .mobile-brand .mobile-menu-icon{font-size:22px}
  .topbar #date{font-size:11px;white-space:nowrap}
  .topright{margin-left:auto}
  .topright .sync-status,.topright .streak{display:none}
  .sidebar{padding-top:max(18px,env(safe-area-inset-top));padding-bottom:max(14px,env(safe-area-inset-bottom))}
  .sidebar .brand{padding-bottom:20px}
  .sidebar nav{align-content:start;gap:3px}
  .sidebar .nav{min-height:48px;padding:11px 13px;font-size:14px;touch-action:manipulation}
  .sidebar .nav>span{display:inline-grid;place-items:center;width:27px;margin-right:5px;font-size:17px}
  .sidebar-bottom .note{display:none}
  .sidebar-bottom .profile{margin-top:12px}
  .sidebar .profile b{font-size:13px}
  .sidebar .profile small{font-size:11px}
}
@media(max-width:380px){
  .topbar{margin:0 -11px;padding-left:11px;padding-right:11px}
  .mobile-brand{min-width:44px;padding:8px}
  .topbar #date{font-size:10px}
}

.certificate-editor,.admin-tools-panel{margin:18px 0 22px;padding:20px;background:#fafdff;border:1px solid #d7e6f6;border-radius:16px;box-shadow:0 8px 24px #244d7d0a}.editor-heading,.admin-tools-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.certificate-editor h2,.admin-tools-heading h2{font:700 18px Manrope;color:#214f83;margin:4px 0 5px}.admin-tools-heading p,.certificate-editor .certificate-note,.admin-password-form p{font-size:12px;color:#657b95;line-height:1.6}.certificate-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.certificate-editor-grid label,.admin-tools-panel>label,.admin-password-form label{display:grid;gap:6px;color:#315f93;font-size:12px;font-weight:700}.certificate-editor-grid input,.admin-tools-panel select,.admin-password-form input{width:100%;min-height:42px;padding:10px 12px;border:1px solid #c9dbef;border-radius:9px;background:white;color:#263b52}.editor-description{grid-column:1/-1}.certificate-editor .certificate-note{margin:10px 0}.blue-button{background:#2866a9;color:white}.blue-button:hover{background:#1c548f}.admin-tools-panel{margin-top:22px}.admin-tools-heading{margin-bottom:14px}.admin-tools-panel>label{margin-bottom:6px}.admin-tools-panel select{margin-bottom:12px}.admin-tools-panel [role=status]{font-size:12px;color:#5b718d;line-height:1.5}.admin-activity-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:12px 0}.admin-activity-summary>div{display:grid;gap:4px;padding:12px;border:1px solid #d9e7f5;border-radius:11px;background:#fff}.admin-activity-summary b{font:800 17px Manrope;color:#245d99}.admin-activity-summary small,.admin-activity-updated{font-size:11px;color:#71839a}.admin-activity-modules,.admin-activity-history{margin-top:10px;padding:11px 13px;border:1px solid #dfeaf6;border-radius:10px;background:#fff}.admin-activity-modules summary,.admin-activity-history summary{cursor:pointer;color:#315f93;font-weight:700;font-size:12px}.admin-activity-modules ol,.admin-activity-history ol{padding-left:20px;margin:10px 0 2px}.admin-activity-modules li,.admin-activity-history li{padding:6px 0;color:#526b88;font-size:11px}.admin-activity-history li{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #edf2f8}.admin-activity-history li span{white-space:nowrap}.admin-activity-history li b{text-align:right}.admin-password-form{display:grid;gap:9px;margin-top:18px;padding-top:16px;border-top:1px solid #d7e6f6}.admin-password-form h3{font:700 15px Manrope;color:#214f83;margin:0}.admin-password-form p{margin:0 0 3px}.admin-password-form button{justify-self:start;margin-top:4px}.admin-mode .certificate-editor,.admin-mode .admin-tools-panel{border-color:#cfe1f4;background:linear-gradient(145deg,#fafdff,#edf5ff)}@media(max-width:760px){.certificate-editor,.admin-tools-panel{padding:15px}.certificate-editor-grid{grid-template-columns:minmax(0,1fr)}.editor-description{grid-column:auto}.admin-activity-summary{gap:6px}.admin-activity-summary>div{padding:9px}.admin-activity-summary b{font-size:14px}.admin-activity-history li{align-items:flex-start;flex-direction:column;gap:3px}.admin-activity-history li b{text-align:left}.admin-tools-heading{align-items:center}.admin-tools-heading>.button{flex:none}}
.reading-guide{display:flex;flex-direction:column;gap:4px;margin:7px 0 10px;color:#946f80;font-size:12px;line-height:1.5;text-align:left}.reading-guide b{color:#a34d75;font-size:11px}.reading-guide>span[lang="en-GB"]{font-family:"Doulos SIL","Charis SIL","Noto Sans",sans-serif;font-size:15px;font-weight:600;letter-spacing:.02em;color:#5c3b4c}.reading-guide small{color:#9a8790;font-size:10px}.practice-flash .reading-guide{max-width:100%;align-items:center;text-align:center}.practice-flash .reading-guide small{text-align:center}.scenario-lines .reading-guide{margin:5px 0 6px}.scenario-lines .reading-guide small{font-size:9px}

.announcement-banner{display:flex;align-items:flex-start;gap:13px;margin:16px 0 0;padding:15px 18px;border:1px solid #cbdcf1;border-radius:14px;background:#eff6ff;color:#254a70}.announcement-banner[hidden]{display:none}.announcement-banner>div{min-width:0}.announcement-icon{font-size:20px}.announcement-banner b{font:700 13px Manrope}.announcement-banner p{margin:5px 0;color:#425c79;font-size:12px;line-height:1.6}.announcement-banner small{color:#70849b;font-size:10px}.announcement-important{background:#fff7e8;border-color:#f0dfbd;color:#76551f}.announcement-maintenance{background:#eef5ff;border-color:#c8dcf5;color:#24588d}.admin-announcement-form{display:grid;gap:8px;margin-top:20px;padding-top:18px;border-top:1px solid #cfe1f4}.admin-announcement-form h3,.announcement-admin-list h3{font:700 15px Manrope;color:#214f83;margin:0}.admin-announcement-form p{font-size:12px;line-height:1.6;color:#657b95;margin:0 0 4px}.admin-announcement-form label{color:#315f93;font-size:12px;font-weight:700}.admin-announcement-form input,.admin-announcement-form select,.admin-announcement-form textarea{width:100%;min-height:40px;padding:10px 12px;border:1px solid #c9dbef;border-radius:9px;background:white;color:#263b52}.admin-announcement-form textarea{resize:vertical;line-height:1.5}.admin-announcement-form button{justify-self:start;margin-top:4px}.admin-announcement-form [role=status]{color:#47688d;font-size:12px}.announcement-admin-list{display:grid;gap:9px;margin-top:18px}.announcement-admin-list h3{margin-bottom:3px}.announcement-admin-item{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:13px;border:1px solid #d9e7f5;border-radius:12px;background:#fff}.announcement-admin-item>div{min-width:0}.announcement-admin-item b{color:#315f93;font-size:12px}.announcement-admin-item p{margin:5px 0;color:#5e738c;font-size:11px;line-height:1.5}.announcement-admin-item small{color:#8799ad;font-size:10px}.announcement-admin-item .button{flex:none}.pronunciation-history{min-height:auto!important}.pronunciation-history-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid #edf2f8}.pronunciation-history-row span{display:grid;gap:3px;min-width:0}.pronunciation-history-row span:last-child{text-align:right}.pronunciation-history-row b{font-size:11px;color:#315f93}.pronunciation-history-row small{font-size:10px;color:#778ba0;overflow-wrap:anywhere}@media(max-width:760px){.announcement-admin-item{flex-direction:column}.announcement-admin-item .button{width:100%}.pronunciation-history-row{align-items:flex-start}}

/* Accessibility controls and listening practice */
.accessibility-menu{position:relative;flex:none;color:var(--ink);z-index:20}.accessibility-menu>summary{list-style:none;cursor:pointer;border:1px solid var(--line);border-radius:9px;background:var(--paper,#fff);padding:9px 12px;color:inherit;font-size:12px;font-weight:700}.accessibility-menu>summary::-webkit-details-marker{display:none}.accessibility-menu>summary:focus-visible,.accessibility-popover button:focus-visible{outline:3px solid #125eaf;outline-offset:2px}.accessibility-popover{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);width:min(310px,calc(100vw - 28px));padding:14px;border:2px solid #536579;border-radius:12px;background:#fff;color:#17212c;box-shadow:0 12px 32px #17212c30}.accessibility-label{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700;margin-bottom:10px}.accessibility-actions{display:flex;flex-wrap:wrap;gap:7px}.accessibility-actions .button{min-height:40px}.accessibility-actions [data-a11y-contrast]{flex:1;white-space:normal}.listening-quiz .question{text-align:left}.listening-quiz .question h2,.listening-quiz .question .eyebrow,.listening-quiz .question>.muted{text-align:center;display:block}.listen-play-button{display:block;margin:15px auto 20px;min-height:48px}.listening-quiz label{display:block;font-size:13px;font-weight:700;margin:10px 0 6px}.listening-answer{width:100%;min-height:48px;padding:11px 13px;border:2px solid #536579;border-radius:9px;background:#fff;color:#111;font-size:16px}.listening-answer:focus{outline:3px solid #1769aa;outline-offset:2px}.listening-quiz .feedback{margin:14px 0}.listening-quiz [data-action="listening-exit"]{display:block;margin:12px auto 0}.listening-result{text-align:center}.listening-result h2{font-size:24px;margin:10px 0}.practice-aside .listening-history .button{margin-top:5px}
body[data-text-scale="115"] :is(p,li,button,input,select,textarea,.nav,.muted,.tag,.badge,.lesson-top,.panel-title,.word h3,.word p,.profile,.caption,.note,.topbar,.eyebrow,.reading-guide,.practice-tip,.practice-example,.quiz .question h2){font-size:1.15em!important}body[data-text-scale="130"] :is(p,li,button,input,select,textarea,.nav,.muted,.tag,.badge,.lesson-top,.panel-title,.word h3,.word p,.profile,.caption,.note,.topbar,.eyebrow,.reading-guide,.practice-tip,.practice-example,.quiz .question h2){font-size:1.3em!important}
body[data-high-contrast="true"]{background:#fff!important;color:#111!important;--ink:#111!important;--muted:#252525!important;--line:#555!important;--bg:#fff!important}body[data-high-contrast="true"] :is(.sidebar,.topbar,.panel,.lesson,.word,.stat,.note,.flash,.question,.login-card,.love-card,.scenario-detail,.skill-card,.certificate-progress,.word-list,.practice-summary,.accessibility-popover){background:#fff!important;color:#111!important;border:2px solid #333!important;box-shadow:none!important}body[data-high-contrast="true"] :is(p,small,.muted,.intro p,.welcome p,.eyebrow,.nav,.caption,.profile small,.note p,.word p,.history,footer,.tag,.badge,.reading-guide,.reading-guide small){color:#222!important}body[data-high-contrast="true"] :is(a,.link,button,.nav.active,summary){text-decoration-thickness:2px}body[data-high-contrast="true"] :is(.button:not(.outline),.pink-button,.blue-button,.nav.active){background:#073b72!important;color:#fff!important;border:2px solid #111!important;box-shadow:none!important}body[data-high-contrast="true"] :is(.button.outline,.option,.module-chip,.search input,.tools select,.listening-answer){background:#fff!important;color:#111!important;border:2px solid #222!important}body[data-high-contrast="true"] :is(input,select,textarea,button,a,summary):focus-visible{outline:3px solid #005fcc!important;outline-offset:3px!important}body[data-high-contrast="true"] .hero{background:#073b72!important;color:#fff!important}body[data-high-contrast="true"] .hero :is(h2,p,.eyebrow){color:#fff!important}
@media(max-width:760px){.accessibility-menu>summary{padding:8px 9px;font-size:11px}.accessibility-popover{position:fixed;top:72px;left:auto;right:12px;transform:none;width:min(310px,calc(100vw - 24px))}.listening-quiz .question{padding:19px 15px}.listening-quiz .question h2{font-size:23px}}
