:root{--map-sea:#cfe8f7;--map-land:#ecebe6;--map-line:#c3c0b8;--map-pal:#e9f5e1;--map-wb:#d2ebc3;--bg:#f3f7fc;--surface:#fff;--surface-2:#eef3f9;--surface-3:#e1e9f2;--ink:#1d2733;--muted:#5b6878;--line:#dbe3ec;--accent:#1f9d55;--accent-strong:#157a41;--accent-ink:#fff;--accent-soft:#daf4e4;--sun:#ffb800;--sun-soft:#fff3cc;--sky:#3c7dd9;--sky-soft:#e2edfc;--coral:#ff6b5b;--coral-soft:#ffe5e1;--grape:#7a5af8;--grape-soft:#ece7ff;--good:#1f9d55;--good-soft:#daf4e4;--warn:#c27c00;--warn-soft:#fff3cc;--bad:#d93a2b;--bad-soft:#fde3df;--info:#2b6cc4;--info-soft:#e2edfc;--skin:#f2c39b;--skin-shade:#dfa57c;--hair:#2e2620;--hijab:#2f6fb0;--lid:#f2c39b;--avatar-bg:#e4f0ff;--board:#24463a;--board-ink:#f5fbef;--font-display:"Baloo Bhaijaan 2", "IBM Plex Sans Arabic", Tahoma, sans-serif;--font-body:"IBM Plex Sans Arabic", "Segoe UI", Tahoma, system-ui, sans-serif;--radius:20px;--radius-sm:12px;--shadow:0 1px 2px #1e32500f, 0 6px 20px #1e325012;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--map-sea:#17324a;--map-land:#2a2f36;--map-line:#3c434c;--map-pal:#1f3324;--map-wb:#26402b;--bg:#0f1520;--surface:#18202c;--surface-2:#212b38;--surface-3:#2b3746;--ink:#e8eef6;--muted:#9eabbb;--line:#2f3b4b;--accent:#3ccf7c;--accent-strong:#6be09c;--accent-ink:#062814;--accent-soft:#163a26;--sun:#ffc93c;--sun-soft:#3a3115;--sky:#6aa4f5;--sky-soft:#1a2c46;--coral:#ff8a7d;--coral-soft:#3d1f1b;--grape:#a08cff;--grape-soft:#2a2348;--good:#3ccf7c;--good-soft:#163a26;--warn:#ffc93c;--warn-soft:#3a3115;--bad:#ff7b6e;--bad-soft:#3d1f1b;--info:#6aa4f5;--info-soft:#1a2c46;--avatar-bg:#1d2c42;--board:#1b3329;--shadow:0 1px 2px #0000004d, 0 6px 20px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-tap-highlight-color:transparent;direction:rtl;min-height:100dvh;margin:0;font-size:16px;line-height:1.7}[hidden]{display:none!important}h1,h2,h3{font-family:var(--font-display);text-wrap:balance;margin:0;font-weight:800;line-height:1.25}h1{font-size:clamp(24px,4vw,32px)}h2{font-size:19px}h3{font-size:16px}p{margin:0 0 8px}a{color:var(--accent)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--sun);outline-offset:2px}img{max-width:100%}.muted{color:var(--muted)}.small{font-size:14px}.num{font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}.page{max-width:1120px;padding:16px max(16px, env(safe-area-inset-right)) 48px max(16px, env(safe-area-inset-left));gap:16px;margin:0 auto;display:grid}.page-narrow{max-width:520px}.topbar{z-index:20;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:max(8px, env(safe-area-inset-top)) 16px 8px;position:sticky;top:0}.topbar-in{align-items:center;gap:12px;max-width:1120px;min-height:44px;margin:0 auto;display:flex}.brand{white-space:nowrap;font-family:var(--font-display);color:var(--ink);flex:none;align-items:center;gap:8px;font-size:18px;font-weight:700;text-decoration:none;display:flex}.brand-mark{width:32px;height:32px}.spacer{flex:1}.nav{scrollbar-width:none;flex:0 auto;gap:4px;min-width:0;display:flex;overflow-x:auto}@media (max-width:600px){.brand{gap:0;font-size:0}.nav a{padding:6px 10px;font-size:14px}}.nav a{color:var(--muted);white-space:nowrap;border-radius:999px;padding:6px 12px;font-weight:500;text-decoration:none}.nav a.on{background:var(--accent-soft);color:var(--accent-strong)}.grid{gap:16px;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stack{gap:12px;display:grid}.between{justify-content:space-between}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;padding:16px}.card-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:inherit;padding:14px 16px;text-decoration:none;transition:transform .12s,border-color .12s;display:block}.tile:hover{border-color:var(--accent);transform:translateY(-1px)}.tile h3{margin-bottom:4px}.btn{font-family:var(--font-display);letter-spacing:0;border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:8px 18px;font-weight:600;text-decoration:none;transition:background .12s,transform 60ms;display:inline-flex}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:0 3px 0 var(--accent-strong)}.btn-primary:active:not(:disabled){box-shadow:0 1px 0 var(--accent-strong);transform:translateY(2px)}.btn-primary:hover:not(:disabled){background:var(--accent-strong)}.btn-ghost{color:var(--accent);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--accent-soft)}.btn-danger{background:var(--bad-soft);border-color:var(--bad-soft);color:var(--bad)}.btn-big{border-radius:16px;min-height:56px;padding:10px 24px;font-size:18px}.icon-btn{border:1px solid var(--line);background:var(--surface);border-radius:12px;place-items:center;width:44px;height:44px;font-size:18px;display:inline-grid}.field{gap:4px;display:grid}.field-label{font-size:14px;font-weight:600}.field-hint{color:var(--muted);font-size:13px}input,select,textarea{border:1px solid var(--line);background:var(--surface);border-radius:10px;width:100%;min-height:44px;padding:8px 12px;font-size:16px}textarea{resize:vertical;min-height:88px;line-height:1.6}input[type=checkbox],input[type=radio]{width:20px;height:20px;min-height:0;accent-color:var(--accent)}.check{border-bottom:1px solid var(--line);align-items:flex-start;gap:10px;padding:10px 0;display:flex}.check:last-child{border-bottom:0}.check input{flex:none;margin-top:4px}.ltr{text-align:left;direction:ltr}.pin-input{letter-spacing:12px;text-align:center;direction:ltr;max-width:220px;margin:0 auto;font-size:28px;font-weight:700}.tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.tabs button{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;padding:10px 14px;font-weight:600}.tabs button.on{color:var(--accent-strong);border-bottom-color:var(--accent)}.seg{border:1px solid var(--line);border-radius:12px;display:inline-flex;overflow:hidden}.seg button{background:var(--surface);min-height:40px;color:var(--muted);border:0;padding:8px 14px;font-weight:600}.seg button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.pill{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:13px;font-weight:600;display:inline-flex}.pill-neutral{background:var(--surface-2);color:var(--muted)}.pill-good{background:var(--good-soft);color:var(--good)}.pill-warn{background:var(--warn-soft);color:var(--warn)}.pill-bad{background:var(--bad-soft);color:var(--bad)}.pill-info{background:var(--info-soft);color:var(--info)}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}.stat-value{font-variant-numeric:tabular-nums;font-size:26px;font-weight:700;line-height:1.2}.stat-label{color:var(--muted);font-size:14px}.stat-sub{color:var(--muted);font-size:13px}.stat-good .stat-value{color:var(--good)}.stat-warn .stat-value{color:var(--warn)}.stat-bad .stat-value{color:var(--bad)}.stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:12px;display:grid}.meter{align-items:center;gap:8px;min-width:120px;display:flex}.meter-track{background:var(--surface-3);border-radius:99px;flex:1;height:8px;overflow:hidden}.meter-fill{border-radius:99px;height:100%;transition:width .4s}.meter-good .meter-fill{background:var(--good)}.meter-warn .meter-fill{background:var(--sun)}.meter-bad .meter-fill{background:var(--bad)}.meter-num{font-variant-numeric:tabular-nums;min-width:36px;color:var(--muted);font-size:13px}.bars{align-items:flex-end;gap:6px;height:160px;padding-top:18px;display:flex}.bar{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;min-width:0;height:100%;display:flex}.bar-fill{background:var(--accent);border-radius:6px 6px 2px 2px;width:100%;max-width:36px;min-height:2px}.bar-val{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.bar-label{color:var(--muted);white-space:nowrap;font-size:11px}.table-wrap{border:1px solid var(--line);border-radius:var(--radius-sm);overflow-x:auto}table{border-collapse:collapse;background:var(--surface);width:100%;font-size:14px}th,td{border-bottom:1px solid var(--line);text-align:start;vertical-align:top;padding:8px 10px}th{background:var(--surface-2);white-space:nowrap;font-weight:600;position:sticky;top:0}tr:last-child td{border-bottom:0}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--surface-2)}.loading,.empty{text-align:center;color:var(--muted);justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}.error-box{background:var(--bad-soft);color:var(--bad);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;display:flex}.note{background:var(--sun-soft);border-radius:var(--radius-sm);padding:10px 14px;font-size:14px}.info{background:var(--info-soft);color:var(--ink);border-radius:var(--radius-sm);padding:10px 14px;font-size:14px}.spinner{border:2.5px solid;border-top-color:#0000;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.toast{bottom:calc(24px + env(safe-area-inset-bottom));background:var(--ink);color:var(--bg);z-index:100;box-shadow:var(--shadow);border-radius:12px;max-width:calc(100% - 32px);padding:10px 18px;position:fixed;left:50%;transform:translate(-50%)}.modal{background:var(--surface);color:var(--ink);border:0;border-radius:18px;width:min(560px,100% - 24px);max-height:calc(100dvh - 24px);padding:0;box-shadow:0 20px 60px #0000004d}.modal-wide{width:min(980px,100% - 24px)}.modal::backdrop{background:#0a0f088c}.modal-head{border-bottom:1px solid var(--line);background:var(--surface);z-index:2;justify-content:space-between;align-items:center;padding:14px 16px;display:flex;position:sticky;top:0}.modal-body{gap:12px;padding:16px;display:grid}.hero{grid-template-columns:1fr;align-items:center;gap:20px;padding:24px 0 8px;display:grid}@media (min-width:820px){.hero{grid-template-columns:1.2fr 1fr}}.hero h1{font-size:clamp(30px,5.5vw,46px)}.hero .lead{color:var(--muted);max-width:46ch;font-size:18px}.hero-art{justify-self:center;gap:8px;display:flex}.feature{gap:6px;display:grid}.feature-icon{background:var(--accent-soft);width:40px;height:40px;color:var(--accent-strong);border-radius:12px;place-items:center;font-size:20px;display:grid}.plan{align-content:start;gap:8px;display:grid}.plan-price{font-size:32px;font-weight:700;font-family:var(--font-display)}.plan.featured{border-color:var(--accent);border-width:2px}.avatar{display:block;overflow:visible}.av-head,.av-body,.av-hand,.av-lid,.av-pupil,.av-brows path,.av-sparkles path{transform-box:fill-box}.av-ring{fill:none;stroke:var(--accent);stroke-width:4px;opacity:.35;transition:stroke .3s,opacity .3s}.av-dots,.av-sparkles{opacity:0;transition:opacity .3s}.av-hand{opacity:0;transform-origin:10% 90%;transition:opacity .3s,transform .4s;transform:rotate(10deg)}.av-lid{transform-origin:top;animation:5s infinite lid;transform:scaleY(0)}.av-eye:nth-child(2) .av-lid{animation-delay:40ms}.av-pupil{transition:transform .35s}.av-brows path{transform-origin:50%;transition:transform .3s}.av-head{transform-origin:50% 90%;transition:transform .4s}.av-body{transform-origin:50% 100%;animation:4s ease-in-out infinite breathe}.av-char-b .av-head{transform-origin:50% 100%}.av-talking .av-ring{stroke:var(--sun);opacity:1;animation:1.4s ease-in-out infinite ring}.av-talking .av-head{animation:2.4s ease-in-out infinite talkhead}.av-char-b.av-talking .av-head{animation:.5s ease-in-out infinite alternate bookbob}.av-talking .av-brows path{animation:2.2s ease-in-out infinite browtalk}.av-thinking .av-dots{opacity:1}.av-thinking .av-dots circle{animation:1.2s infinite dot}.av-thinking .av-dots circle:nth-child(2){animation-delay:.2s}.av-thinking .av-dots circle:nth-child(3){animation-delay:.4s}.av-thinking .av-pupil{transform:translate(3px,-4px)}.av-thinking .av-brow-l{transform:translateY(-3px)rotate(-8deg)}.av-thinking .av-head{transform:rotate(-4deg)}.av-listening .av-ring{stroke:var(--coral);opacity:.9;animation:1s ease-in-out infinite ring}.av-listening .av-head{transform:rotate(4deg)}.av-listening .av-brows path{transform:translateY(-3px)}.av-happy .av-head{animation:.45s ease-in-out 2 nod}.av-happy .av-sparkles{opacity:1;animation:1.2s ease-in-out infinite twinkle}.av-happy .av-brows path{transform:translateY(-2px)}.av-pointing .av-hand{opacity:1;transform:rotate(-6deg)}.av-pointing .av-pupil{transform:translate(-4px,1px)}.av-char-b .av-hand{opacity:1;transform:none}.av-char-b.av-pointing .av-hand{transform:rotate(-12deg)}@keyframes lid{0%,92%,to{transform:scaleY(0)}95%{transform:scaleY(1)}}@keyframes breathe{50%{transform:scaleY(1.012)}}@keyframes ring{50%{stroke-width:7px}}@keyframes talkhead{25%{transform:rotate(1.6deg)}75%{transform:rotate(-1.3deg)}}@keyframes bookbob{to{transform:translateY(-2px)rotate(1deg)}}@keyframes browtalk{40%{transform:translateY(-1.5px)}}@keyframes nod{50%{transform:translateY(6px)}}@keyframes twinkle{50%{opacity:.3;transform:scale(.8)}}@keyframes dot{0%,to{opacity:.3}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.avatar *,.avatar{animation:none!important}}.classroom{height:calc(100dvh - 61px);padding:8px max(12px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;gap:8px;max-width:1180px;margin:0 auto;display:grid}@media (min-width:900px){.classroom{grid-template-rows:minmax(0,1fr);grid-template-columns:340px 1fr;gap:12px}}.stage{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 10px;min-width:0;display:grid}.stage-controls{grid-column:1/-1;gap:6px;min-width:0;display:grid}@media (min-width:900px){.stage{grid-template-columns:1fr;align-content:start;overflow-y:auto}.stage-controls{gap:8px}}.stage-avatar{flex:none;justify-items:center;gap:2px;display:grid}.stage-avatar .avatar{width:84px;height:84px}@media (min-width:900px){.stage-avatar .avatar{width:220px;height:220px}}.teacher-state{color:var(--muted);white-space:nowrap;font-size:12px}.board{background:var(--board);min-height:84px;color:var(--board-ink);font-variant-numeric:tabular-nums;border:5px solid #6b4e2e;border-radius:12px;align-content:center;min-width:0;padding:8px 12px;font-size:clamp(16px,2.6vw,22px);line-height:1.6;display:grid;overflow-x:auto}@media (min-width:900px){.board{min-height:120px}}.board-line{white-space:pre-wrap;animation:.4s ease-out chalk}.board-empty{color:color-mix(in srgb, var(--board-ink) 45%, transparent);font-size:15px}@keyframes chalk{0%{opacity:0;transform:translateY(4px)}}.lesson-meta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.stage .seg{display:flex}.stage .seg button{flex:1;min-height:34px;padding:4px 8px;font-size:14px}.tools-row{scrollbar-width:none;flex-wrap:nowrap;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}@media (min-width:900px){.tools-row{flex-wrap:wrap;overflow:visible}}.tools-row .btn{border-radius:10px;flex:none;min-height:38px;padding:4px 12px;font-size:14px}.chat-col{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);grid-template-rows:1fr auto auto;min-height:0;display:grid;overflow:hidden}.chat{overscroll-behavior:contain;flex-direction:column;gap:12px;padding:14px;display:flex;overflow-y:auto}.msg{gap:6px;max-width:88%;display:grid}.msg.me{align-self:flex-start}.msg.t{align-self:flex-end}.bubble{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:16px;padding:10px 14px;font-size:17px}.msg.me .bubble{background:var(--accent);color:var(--accent-ink)}.msg.me .bubble:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-bottom-left-radius:4px}.msg.me .bubble:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-bottom-left-radius:4px}.msg.me .bubble:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-bottom-right-radius:4px}.msg.me .bubble:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-bottom-right-radius:4px}.msg.t .bubble{background:var(--surface-2)}.msg.t .bubble:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-bottom-right-radius:4px}.msg.t .bubble:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-bottom-right-radius:4px}.msg.t .bubble:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-bottom-left-radius:4px}.msg.t .bubble:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-bottom-left-radius:4px}.msg.err .bubble{background:var(--bad-soft);color:var(--bad)}.msg.safety .bubble{background:var(--info-soft)}.bubble img{border-radius:10px;max-height:180px;margin-bottom:6px;display:block}.choices{flex-wrap:wrap;gap:8px;display:flex}.choices button{border:2px solid var(--accent);background:var(--surface);min-height:48px;color:var(--accent-strong);border-radius:14px;padding:8px 16px;font-size:17px;font-weight:700}.choices button:disabled{opacity:.5}.msg-meta{flex-wrap:wrap;gap:4px;display:flex}.msg-meta button{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;min-height:30px;padding:2px 10px;font-size:13px}.msg-meta button.on{background:var(--accent-soft);color:var(--accent-strong);border-color:var(--accent)}.typing{gap:4px;display:inline-flex}.typing i{background:var(--muted);border-radius:50%;width:7px;height:7px;animation:1s infinite dot}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}.quick{scrollbar-width:none;gap:6px;padding:8px 10px 0;display:flex;overflow-x:auto}.quick button{border:1px solid var(--line);background:var(--surface-2);border-radius:999px;flex:none;min-height:36px;padding:6px 14px;font-size:14px}.composer{align-items:flex-end;gap:6px;padding:8px 10px 10px;display:flex}.composer textarea{resize:none;border-radius:14px;flex:1;min-width:0;min-height:48px;max-height:140px}@media (max-width:420px){.tool{width:44px;height:44px}.composer{gap:4px;padding:6px 8px 8px}}.tool{border:1px solid var(--line);background:var(--surface);width:48px;height:48px;color:var(--ink);border-radius:14px;flex:none;place-items:center;display:grid}.tool svg{width:24px;height:24px}.tool.send{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.tool.mic.listening{background:var(--bad);color:#fff;border-color:var(--bad);animation:1.2s infinite pulse}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--bad) 50%, transparent)}to{box-shadow:0 0 0 14px #0000}}.hint{color:var(--warn);padding:0 12px 8px;font-size:13px}.note-box{gap:6px;display:grid}.cam-video{object-fit:contain;background:#000;border-radius:12px;width:100%;max-height:60dvh}.pad{aspect-ratio:4/3;border:1px solid var(--line);touch-action:none;background:#fff;border-radius:12px;width:100%}.book-page{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%}.hello{align-items:center;gap:14px;display:flex}.hello .avatar{width:84px;height:84px}.plan-item{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.plan-item:last-child{border-bottom:0}.subject-tile{gap:6px;display:grid}.unit{border-top:1px solid var(--line);padding-top:10px}.lesson-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;display:flex}.lesson-row+.lesson-row{border-top:1px dashed var(--line)}.quiz-q{font-size:20px;font-weight:600}.quiz-choices{gap:8px;display:grid}.quiz-choices button{text-align:start;border:2px solid var(--line);background:var(--surface);border-radius:14px;min-height:56px;padding:12px 16px;font-size:18px}.quiz-choices button.right{border-color:var(--good);background:var(--good-soft)}.quiz-choices button.wrong{border-color:var(--bad);background:var(--bad-soft)}.progress{background:var(--surface-3);border-radius:99px;height:8px;overflow:hidden}.progress>div{background:var(--sun);height:100%;transition:width .3s}.reading-text{text-align:center;padding:16px;font-size:clamp(24px,6vw,36px);line-height:1.9}.reading-text span{border-radius:6px;padding:0 3px;transition:background .15s}.reading-text span.now{background:var(--sun-soft)}.reading-text span.miss{color:var(--bad);-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.reading-text span.ok{color:var(--good)}.child-pick{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.child-pick button{border-radius:var(--radius);border:2px solid var(--line);background:var(--surface);justify-items:center;gap:6px;padding:16px;display:grid}.child-pick button:hover{border-color:var(--accent)}.child-pick .avatar{width:84px;height:84px}.thread{gap:10px;display:grid}.thread .msg{max-width:100%}.report-text{white-space:pre-wrap;background:var(--surface-2);border-radius:var(--radius-sm);padding:14px;line-height:1.9}.kv{grid-template-columns:auto 1fr;gap:4px 12px;font-size:14px;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0}.page-text{font-family:var(--font-body);min-height:50dvh;font-size:15px}.split{grid-template-columns:1fr;gap:12px;display:grid}@media (min-width:900px){.split{grid-template-columns:1fr 1fr}}footer.site{text-align:center;color:var(--muted);padding:24px 16px;font-size:14px}.call-start{background:linear-gradient(135deg, var(--accent), var(--accent-strong));min-height:52px;color:var(--accent-ink);box-shadow:0 4px 14px color-mix(in srgb, var(--accent) 35%, transparent);border:0;border-radius:16px;justify-content:center;align-items:center;gap:10px;width:calc(100% - 20px);margin:8px 10px 0;font-size:17px;font-weight:700;display:flex}.call-start svg{width:22px;height:22px}.call-start:disabled{opacity:.5}.call-bar{background:var(--accent-soft);border-radius:16px;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 10px 0;padding:6px 10px;display:flex}.call-label{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.call-bar .btn{flex:none;min-height:34px;padding:2px 12px;font-size:14px}.call-dot{background:var(--muted);border-radius:50%;flex:none;width:14px;height:14px}.call-label{font-weight:700}.call-interim{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex-basis:100%;font-size:14px;overflow:hidden}.call-listening .call-dot,.call-hearing .call-dot{background:var(--bad);animation:1.2s infinite pulse}.call-hearing .call-dot{animation-duration:.5s}.call-thinking .call-dot{background:var(--sun);animation:1s infinite dot}.call-speaking .call-dot{background:var(--accent);animation:1s infinite ring}.call-paused{background:var(--surface-2)}.char-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;display:grid}.char-grid figure{justify-items:center;gap:4px;margin:0;display:grid}.char-grid figcaption{color:var(--muted);font-size:14px}.teacher-pick{justify-items:center;gap:2px;padding:6px 10px!important;font-size:13px!important;display:grid!important}.seg .teacher-pick{flex:1}.theme-btn{flex:none;font-size:18px}.tone-sky{--tone:var(--sky);--tone-soft:var(--sky-soft)}.tone-grape{--tone:var(--grape);--tone-soft:var(--grape-soft)}.tone-coral{--tone:var(--coral);--tone-soft:var(--coral-soft)}.tone-sun{--tone:var(--sun);--tone-soft:var(--sun-soft)}.tone-accent{--tone:var(--accent);--tone-soft:var(--accent-soft)}.hero-card{background:linear-gradient(160deg, var(--accent-soft), var(--sky-soft));border-radius:26px;gap:12px;padding:16px;display:grid}.hero-card-main{align-items:center;gap:12px;display:flex}.hero-card-main>.stack{flex:1;min-width:0}.continue-btn{justify-content:space-between;width:100%}.stats-strip{grid-template-columns:auto auto 1fr;gap:8px;display:grid}.chip-stat{background:var(--surface);box-shadow:var(--shadow);border-radius:16px;align-items:center;gap:6px;min-width:0;padding:8px 12px;display:flex}.chip-stat span{font-size:20px}.chip-stat b{font-size:20px;font-family:var(--font-display)}.chip-stat small{color:var(--muted);font-size:12px}.chip-stat.streak:not(.lit) span{filter:grayscale();opacity:.5}.chip-stat.level{flex-wrap:wrap}.level-badge{background:var(--grape);color:#fff;width:30px;height:30px;font-weight:800;font-family:var(--font-display);border-radius:50%;place-items:center;display:grid}.level-bar{background:var(--surface-3);border-radius:9px;flex:1;min-width:50px;height:8px;overflow:hidden}.level-bar>div{background:var(--grape);border-radius:9px;height:100%;transition:width .5s}.chip-stat.level small{flex-basis:100%}@media (max-width:480px){.stats-strip{grid-template-columns:1fr 1fr}.chip-stat.level{grid-column:1/-1}}.goal-ring{flex:none;width:72px;height:72px;position:relative}.goal-ring-label{align-content:center;place-items:center;font-size:18px;line-height:1;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.goal-ring-label b{font-family:var(--font-display);font-size:20px}.goal-ring-label small{color:var(--muted);font-size:11px}.plan-card{color:inherit;border-radius:16px;align-items:center;gap:12px;padding:10px;text-decoration:none;transition:background .15s;display:flex}.plan-card+.plan-card{margin-top:4px}.plan-card:hover{background:var(--surface-2)}.plan-icon{background:var(--tone-soft);border-radius:14px;flex:none;place-items:center;width:48px;height:48px;font-size:24px;display:grid}.plan-text{flex:1;min-width:0;display:grid}.plan-text small{color:var(--muted)}.plan-go{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.quick-actions{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;display:grid}.quick-action{background:var(--tone-soft);min-height:56px;color:var(--ink);font-weight:700;font-family:var(--font-display);border-radius:18px;justify-content:center;align-items:center;gap:8px;font-size:17px;text-decoration:none;display:flex}.quick-action span{font-size:22px}.book-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.book-tile{background:var(--surface);border:2px solid var(--tone-soft);color:inherit;box-shadow:var(--shadow);border-radius:20px;gap:4px;padding:14px;text-decoration:none;transition:transform .12s;display:grid}.book-tile:hover{border-color:var(--tone);transform:translateY(-2px)}.book-icon{background:var(--tone-soft);border-radius:14px;place-items:center;width:46px;height:46px;font-size:24px;display:grid}.book-tile b{font-family:var(--font-display);font-size:17px}.book-tile small{color:var(--muted);font-size:12px}.book-bar{background:var(--surface-3);border-radius:6px;height:6px;overflow:hidden}.book-bar>div{background:var(--tone);height:100%}.badges{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;display:grid}.badge{text-align:center;background:var(--surface-2);opacity:.55;border-radius:16px;justify-items:center;gap:2px;padding:10px 6px;display:grid}.badge.earned{opacity:1;background:var(--sun-soft)}.badge-icon{font-size:30px}.badge-name{font-size:13px;font-weight:700}.badge-hint{color:var(--muted);font-size:11px}.badges.compact{grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}.badges.compact .badge-icon{font-size:24px}.celebrate{z-index:200;pointer-events:auto;place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.celebrate i{border-radius:3px;width:10px;height:16px;animation:linear forwards fall;position:absolute;top:-20px}.celebrate-text{background:var(--surface);font-family:var(--font-display);text-align:center;border-radius:22px;max-width:90%;padding:16px 24px;font-size:24px;font-weight:800;animation:.4s cubic-bezier(.2,1.6,.4,1) pop;box-shadow:0 10px 40px #0003}@keyframes fall{to{top:110%;transform:rotate(720deg)}}@keyframes pop{0%{opacity:0;transform:scale(.4)}}.desk-layout{grid-template-rows:minmax(0,1.35fr) minmax(0,1fr)}@media (min-width:900px){.desk-layout{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 380px}}.desk{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-height:0;box-shadow:var(--shadow);grid-template-rows:auto minmax(0,1fr) auto auto auto;display:grid;overflow:hidden}.desk-head{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:6px 8px;display:flex}.desk-tabs{flex:none;gap:4px;display:flex}.desk-tabs button{background:var(--surface-2);font-weight:700;font-family:var(--font-display);color:var(--muted);border:0;border-radius:12px;padding:6px 12px}.desk-tabs button[aria-selected=true]{background:var(--accent);color:var(--accent-ink)}.desk-title{min-width:0;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;overflow:hidden}.desk-menu{position:relative}.desk-menu summary{cursor:pointer;list-style:none}.desk-menu summary::-webkit-details-marker{display:none}.desk-menu-pop{z-index:40;gap:8px;width:260px;display:grid;position:absolute;top:48px}.desk-menu-pop:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:0}.desk-menu-pop:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:0}.desk-menu-pop:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:0}.desk-menu-pop:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:0}.desk-body{background:var(--surface-2);min-height:0;position:relative}.desk-pane{position:absolute;top:0;bottom:0;left:0;right:0}.desk-teacher{top:8px;opacity:.96;z-index:5;pointer-events:none;background:color-mix(in srgb, var(--surface) 75%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:18px;justify-items:center;gap:0;padding:4px 6px 2px;display:grid;position:absolute}.desk-teacher:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:8px}.desk-teacher:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:8px}.desk-teacher:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:8px}.desk-teacher:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:8px}@media (max-width:600px){.desk-teacher .avatar{width:62px;height:62px}}@media (min-width:900px){.desk-teacher .avatar{width:110px;height:110px}}.desk-teacher .teacher-state{font-size:11px}.book-pane{grid-template-rows:minmax(0,1fr) auto;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.book-scroll{overscroll-behavior:contain;overflow:auto}.book-sheet{background:#fff;width:100%;max-width:900px;margin:0 auto;position:relative}.book-sheet img{-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.book-loading{aspect-ratio:.7;background:linear-gradient(90deg, var(--surface-2), var(--surface-3), var(--surface-2));animation:1.2s infinite shimmer}@keyframes shimmer{50%{opacity:.5}}.book-highlight{pointer-events:none;background:#ffd60052;border-radius:6px;animation:.5s ease-out .45s both hl-in;position:absolute;box-shadow:0 0 0 2px #ffb800cc}@keyframes hl-in{0%{opacity:0;transform-origin:100%;transform:scaleX(.2)}}.book-pen{pointer-events:none;filter:drop-shadow(0 2px 2px #0000004d);width:34px;height:34px;animation:.5s cubic-bezier(.3,1.4,.5,1) both pen-in,.5s ease-in-out .5s 2 pen-tap;position:absolute;transform:translate(-15%,-88%)}@keyframes pen-in{0%{opacity:0;transform:translate(60%,-160%)rotate(20deg)}}@keyframes pen-tap{50%{transform:translate(-15%,-78%)}}.book-nav{background:var(--surface);border-top:1px solid var(--line);justify-content:center;align-items:center;gap:12px;padding:4px;display:flex}.book-nav .icon-btn{width:36px;height:36px;font-size:22px}.ink{touch-action:auto;pointer-events:none;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.ink-active{pointer-events:auto;touch-action:none;cursor:crosshair}.sheet-pane{overscroll-behavior:contain;position:absolute;top:0;bottom:0;left:0;right:0;overflow:auto}.sheet{color:#1d2733;background-color:#fff;padding:8px 18px;position:relative}.paper-lined{background-image:repeating-linear-gradient(#0000 0 51px,#cfe0f5 51px 52px)}.paper-grid{background-image:repeating-linear-gradient(#0000 0 25px,#e3edf9 25px 26px),repeating-linear-gradient(270deg,#0000 0 25px,#e3edf9 25px 26px)}.sheet-lines{z-index:1;padding-top:4px;position:relative}.sheet-line{white-space:pre-wrap;font-variant-numeric:tabular-nums;direction:rtl;min-height:52px;font-size:26px;line-height:52px;position:relative}.sheet-line.who-t{font-family:"Aref Ruqaa", var(--font-body)}.sheet-line.who-s{font-family:var(--font-body);border-inline-start:4px solid #8a94a3;padding-inline-start:10px;font-size:22px}.sheet-line.tone-blue{color:#1f5fbf}.sheet-line.tone-red{color:#d63a2b}.sheet-line.tone-black{color:#1d2733}.sheet-line.writing .sheet-text{animation:write var(--dur,1.2s) linear both;display:inline-block}@keyframes write{0%{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0)}}.sheet-pen{animation:pen-move var(--dur,1.2s) linear both, pen-hide .3s ease var(--dur,1.2s) forwards;font-size:22px;position:absolute;top:4px}@keyframes pen-move{0%{right:0}to{right:calc(100% - 30px)}}@keyframes pen-hide{to{opacity:0}}.sheet-ink{z-index:2}.desk-choices{border-top:1px solid var(--line);background:var(--sun-soft);flex-wrap:wrap;gap:8px;padding:8px;display:flex}.desk-choices button{border:2px solid var(--accent);background:var(--surface);min-height:52px;color:var(--ink);font-size:19px;font-weight:800;font-family:var(--font-display);box-shadow:0 3px 0 var(--accent-soft);border-radius:16px;flex:calc(50% - 8px)}.desk-choices button.right{background:var(--good-soft);border-color:var(--good);color:var(--good);animation:.35s pop}.desk-choices button.wrong{background:var(--bad-soft);border-color:var(--bad);color:var(--bad);opacity:.7;animation:.4s shake}@keyframes shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.desk-tools{border-top:1px solid var(--line);scrollbar-width:none;gap:6px;padding:6px 8px;display:flex;overflow-x:auto}.desk-tools button{border:1px solid var(--line);background:var(--surface);border-radius:12px;flex:none;align-items:center;gap:4px;min-height:40px;padding:4px 12px;font-size:15px;font-weight:700;display:flex}.desk-tools button.on{background:var(--sky-soft);border-color:var(--sky);color:var(--sky)}.desk-tools button.submit{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.desk-tools-sep{background:var(--line);flex:none;width:1px;margin:4px 2px}@media (max-width:420px){.desk-tools button span{display:none}.desk-tools button.submit span{display:inline}}.answer-row{border-top:1px solid var(--line);gap:6px;padding:6px 8px 8px;display:grid}.math-keys{scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.math-keys button{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;flex:none;min-width:38px;height:38px;font-size:18px;font-weight:700}.answer-row input{font-size:20px}.desk-layout .chat-col{min-height:0}.act-open-btn{background:linear-gradient(135deg, var(--sun), #ff9500);color:#3a2400;font-weight:800;font-family:var(--font-display);border:0;border-radius:12px;flex:none;padding:6px 12px;animation:2.4s ease-in-out infinite glow}@keyframes glow{50%{box-shadow:0 0 0 6px #ffb80040}}.book-star{z-index:3;background:#fff8dc;border:2px solid #ffb800;border-radius:50%;place-items:center;width:30px;height:30px;padding:0;font-size:15px;animation:2s ease-in-out infinite twinkle-btn;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 8px #00000026}@keyframes twinkle-btn{50%{transform:translate(-50%,-50%)scale(1.15)}}.book-sticker{z-index:3;color:#6b4a00;background:repeating-linear-gradient(45deg,#ffe48a 0 10px,#ffd75e 10px 20px);border-radius:8px;place-items:center;font-size:13px;font-weight:800;transition:opacity .4s;display:grid;position:absolute;box-shadow:0 2px 6px #0000002e}.book-sticker.next{outline:3px solid var(--accent)}.book-slot{z-index:3;border:2px dashed var(--sky);color:var(--sky);white-space:nowrap;background:#eef5ff;border-radius:8px;padding:0 2px;font-size:12px;font-weight:800;position:absolute;overflow:hidden}.book-slot.ok{border:2px solid var(--good);background:var(--good-soft);color:var(--good)}.book-slot.no{border:2px solid var(--bad);background:var(--bad-soft);color:var(--bad)}.act-bar{border-top:1px solid var(--line);background:var(--sun-soft);flex-wrap:wrap;align-items:center;gap:6px;padding:8px;display:flex}.act-bar .btn{min-height:36px;padding:2px 12px;font-size:14px}.act-chips{flex-wrap:wrap;flex-basis:100%;gap:6px;display:flex}.act-chips button,.act-pool button{border:2px solid var(--line);background:var(--surface);border-radius:12px;min-height:40px;padding:6px 12px;font-weight:700}.act-chips button.sel,.act-pool button.sel{border-color:var(--sky);background:var(--sky-soft)}.act-panel{z-index:10;background:var(--surface);grid-template-rows:auto minmax(0,1fr);animation:.25s ease-out pop;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.act-head{border-bottom:1px solid var(--line);background:linear-gradient(90deg, var(--sun-soft), var(--surface));align-items:center;gap:8px;padding:8px 10px;display:flex}.act-head b{min-width:0;font-family:var(--font-display);flex:1}.act-kind{color:#8a5a00;background:var(--sun-soft);white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:800}.act-body{align-content:start;gap:12px;padding:14px;display:grid;position:relative;overflow:auto}.act-prompt,.act-problem{margin:0;font-size:19px;font-weight:700}.act-match{grid-template-columns:1fr 1fr;gap:10px;display:grid}.act-col{align-content:start;gap:8px;display:grid}.act-col button{border:2px solid var(--line);background:var(--surface);border-radius:14px;min-height:48px;padding:6px 10px;font-weight:700}.act-col button.sel{border-color:var(--sky);background:var(--sky-soft)}.act-col button.ok{border-color:var(--good);background:var(--good-soft);color:var(--good)}.act-col button.no{border-color:var(--bad);background:var(--bad-soft);animation:.4s shake}.act-pool{flex-wrap:wrap;gap:8px;display:flex}.act-pool button:disabled{opacity:.4}.act-seq{gap:6px;min-height:40px;margin:0;padding-inline-start:22px;display:grid}.act-seq li{background:var(--sky-soft);cursor:pointer;border-radius:12px;padding:8px 12px;font-weight:700}.act-seq li.ok{background:var(--good-soft);color:var(--good)}.act-seq li.no{background:var(--bad-soft);color:var(--bad)}.act-year{color:var(--muted)}.act-buckets{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.act-bucket{border:2px dashed var(--grape);background:var(--grape-soft);text-align:start;border-radius:16px;flex-wrap:wrap;align-content:flex-start;gap:6px;min-height:110px;padding:10px;display:flex}.act-bucket b{font-family:var(--font-display);flex-basis:100%}.act-bucket span{background:var(--surface);border-radius:10px;padding:4px 10px;font-size:14px;font-weight:700}.act-bucket span.ok{color:var(--good);outline:2px solid var(--good)}.act-bucket span.no{color:var(--bad);outline:2px solid var(--bad)}.act-sentence{margin:0;font-size:20px;line-height:2.2}.act-blank{text-align:center;border-bottom:3px solid var(--sky);min-width:70px;color:var(--sky);cursor:pointer;padding:0 8px;font-weight:800;display:inline-block}.act-blank.ok{border-color:var(--good);color:var(--good)}.act-blank.no{border-color:var(--bad);color:var(--bad)}.act-words{margin:0;font-size:21px;line-height:2.2}.act-words span{cursor:pointer;border-radius:8px;padding:2px 3px}.act-words span.sel{background:var(--sky-soft);color:var(--sky)}.act-words span.ok{background:var(--good-soft);color:var(--good)}.act-words span.no{background:var(--bad-soft);color:var(--bad);text-decoration:line-through}.act-words span.miss{outline:2px dashed var(--good)}.act-svg{width:100%;height:auto;color:var(--ink);touch-action:manipulation;-webkit-user-select:none;user-select:none}.act-slider{gap:4px;display:grid}.act-slider input{min-height:32px;accent-color:var(--accent);padding:0}.act-output{text-align:center;background:var(--accent-soft);border-radius:14px;padding:10px;font-size:22px;font-weight:800}.act-card{background:linear-gradient(135deg, var(--grape), var(--sky));color:#fff;min-height:160px;font-size:22px;font-weight:800;font-family:var(--font-display);border:0;border-radius:22px;align-content:center;place-items:center;gap:8px;padding:16px;transition:transform .4s;display:grid}.act-card.flipped{background:linear-gradient(135deg, var(--accent), var(--sky));transform:rotateY(360deg)}.act-card small{opacity:.8;font-size:13px;font-weight:500}.act-result{background:color-mix(in srgb, var(--surface) 96%, transparent);text-align:center;place-content:center;justify-items:center;gap:10px;animation:.3s pop;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.act-result-score{font-size:40px;font-family:var(--font-display)}.act-list{top:8px;z-index:12;gap:6px;width:min(340px,100% - 16px);max-height:calc(100% - 16px);display:grid;position:absolute;overflow:auto}.act-list:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:8px}.act-list:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:8px}.act-list:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:8px}.act-list:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:8px}.act-list-item{text-align:start;border:1px solid var(--line);background:var(--surface);border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:8px;display:grid}.act-focus{grid-template-rows:minmax(0,1fr) auto}.act-focus .chat-col{grid-template-rows:auto}.act-focus .chat-col .chat,.act-focus .chat-col .quick,.act-focus .call-start{display:none}@media (min-width:900px){.act-focus{grid-template-rows:minmax(0,1fr)}.act-focus .chat-col .chat{display:flex}}.pal-map{touch-action:manipulation;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.map-pane{background:var(--map-sea);overflow:auto}.act-map-box{border:1px solid var(--line);background:var(--map-sea);border-radius:14px;height:min(62dvh,560px);overflow:hidden}.video-frame{aspect-ratio:16/9;background:#000;border-radius:14px;width:100%;position:relative;overflow:hidden}.video-frame iframe{border:0;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.video-open-btn{background:var(--coral-soft);color:var(--coral);font-weight:800;font-family:var(--font-display);border:0;border-radius:12px;flex:none;padding:6px 10px}.video-item{grid-template-columns:96px 1fr}.video-item img{aspect-ratio:16/9;object-fit:cover;border-radius:8px;width:96px}.video-row{grid-template-columns:160px 1fr;align-items:start;gap:12px;display:grid}@media (max-width:520px){.video-row{grid-template-columns:1fr}}.video-thumb{background:#000;border:0;border-radius:12px;padding:0;position:relative;overflow:hidden}.video-thumb img{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}.video-thumb span{color:#fff;text-shadow:0 2px 8px #0009;place-items:center;font-size:34px;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.slip{border:1px dashed var(--line,#ccc);background:var(--card,#fff);border-radius:12px;padding:16px}.slip h2{margin-top:0}@media print{body *{visibility:hidden}.print-area,.print-area *{visibility:visible}.print-area{color:#000;background:#fff;border:0;width:100%;padding:12mm;position:absolute;top:0;bottom:auto;left:0;right:auto}.modal-backdrop,.modal{box-shadow:none!important;position:static!important}.no-print{display:none!important}}.qr svg{width:100%;height:auto;display:block}.quran-pane{flex-direction:column;gap:10px;padding:12px;display:flex}.quran-pane[hidden]{display:none}.quran-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.quran-head b{font-family:Amiri Quran,Amiri,serif;font-size:22px}.mushaf{text-align:justify;color:#1d1a12;background:#fbf6e9;border:2px solid #d9c690;border-radius:14px;max-height:60dvh;padding:14px 18px;font-family:Amiri Quran,Amiri,Traditional Arabic,serif;font-size:26px;line-height:2.4;overflow-y:auto;box-shadow:inset 0 0 0 6px #fbf6e9,inset 0 0 0 7px #e6d6a8}.mushaf p{margin:0}.mushaf .basmala{text-align:center;margin-bottom:6px}.mushaf .ayah{cursor:pointer;border-radius:8px;transition:background .2s}.mushaf .ayah:hover{background:#f1e6c4}.mushaf .ayah.on,.mushaf .basmala.on{background:#cfe8d6;box-shadow:0 0 0 3px #cfe8d6}.mushaf .ayah-num{color:#8a6d1d;white-space:nowrap;font-size:.8em}.quran-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.quran-controls select{flex:160px;width:auto}.quran-source{margin:0}.quran-ranges{flex-wrap:wrap;gap:6px;padding:6px 12px 0}.quran-ranges .chip.on{outline:2px solid var(--brand,#1f9d55)}.recite-live{justify-content:center;align-items:center;gap:10px;padding:12px;font-size:1.15rem;display:flex}.rec-dot{background:#e5484d;border-radius:50%;width:12px;height:12px;animation:1s ease-in-out infinite rec-pulse}@keyframes rec-pulse{50%{opacity:.3}}.recite-text{background:var(--surface-2,#7f7f7f0f);border-radius:12px;padding:12px;font-size:1.35rem;line-height:2.4}.rw{border-radius:6px;padding:0 2px}.rw-bad{color:#c62a2f;background:#e5484d2e;-webkit-text-decoration:underline wavy #e5484db3;text-decoration:underline wavy #e5484db3}.rw-near{background:#f5a62338}.rw-later{opacity:.45}.rw .said{opacity:.8;font-size:.75em}.ayah-bad .ayah-num{color:#c62a2f}.ayah-ok .ayah-num{color:#2f9e44}@media (prefers-color-scheme:dark){.rw-bad{color:#ff8a8e}}.rw-btn{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;margin:0 1px;padding:0 3px}.rw-btn.rw-bad{color:#c62a2f;background:#e5484d2e;-webkit-text-decoration:underline wavy #e5484db3;text-decoration:underline wavy #e5484db3}.rw-btn.rw-near{background:#f5a62338}.rw-btn.rw-ok{color:#2f9e44}.rw-btn.rw-later{opacity:.45}@media (prefers-color-scheme:dark){.rw-btn.rw-bad{color:#ff8a8e}.rw-btn.rw-ok{color:#6cc48a}}.choice-btn{font:inherit;text-align:start;border:1.5px solid var(--line,#7f7f7f4d);background:var(--surface,transparent);color:inherit;cursor:pointer;border-radius:12px;padding:10px 14px}.choice-btn:hover:not(:disabled){border-color:var(--accent,#3b82f6)}.choice-btn:disabled{cursor:default}.choice-btn.is-right{background:#2f9e441f;border-color:#2f9e44}.choice-btn.is-wrong{background:#e5484d1f;border-color:#c62a2f}
