@import"https://fonts.googleapis.com/css2?family=Heebo:wght@400;500;600;700;800&family=Fredoka:wght@500;600;700&family=Noto+Sans+Hebrew:wght@500;700&display=swap";:root{--bg: #faf8f4;--surface: #ffffff;--surface-2: #f1ede4;--border: #e4ddd0;--text: #201d2b;--text-muted: #6b6577;--primary: #2a3b8f;--primary-ink: #ffffff;--primary-soft: #e8eafb;--accent: #f2994a;--accent-ink: #201d2b;--success: #1f7a52;--success-soft: #e3f5ec;--danger: #b5382f;--danger-soft: #fbe9e7;--radius: 16px;--radius-sm: 10px;--shadow: 0 1px 2px rgba(32,29,43,.04), 0 8px 24px -12px rgba(32,29,43,.18);color-scheme:light;--cat-visual-bg: #fff1e0;--cat-visual-accent: #f2994a;--cat-garden-bg: #fdf4e3;--cat-garden-accent: #8a582a;--cat-digit-bg: #f1ecfd;--cat-digit-accent: #8b5cf6;--cat-line-bg: #e6f7f5;--cat-line-accent: #14b8a6;--cat-fluency-bg: #eafaf0;--cat-fluency-accent: #2e9e6d;--cat-story-bg: #fdeef3;--cat-story-accent: #ec4899;--cat-column-bg: #eaf1fb;--cat-column-accent: #3b82f6;--cat-divide-bg: #e0f7fa;--cat-divide-accent: #0891b2;--cat-sequence-bg: #fff7ed;--cat-sequence-accent: #ea580c;--cat-scene-bg: #eafaf0;--cat-scene-accent: #2e9e6d;--cat-default-bg: var(--primary-soft);--cat-default-accent: var(--primary);--feedback-success: #1b7a4d;--feedback-danger: #b3261e}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #15131d;--surface: #1e1c29;--surface-2: #26243373;--surface-2: #262433;--border: #37344a;--text: #eeecf5;--text-muted: #a7a2bd;--primary: #7b8bf0;--primary-ink: #14132a;--primary-soft: #262a4f;--accent: #f5a95f;--accent-ink: #201d2b;--success: #4cc492;--success-soft: #163828;--danger: #e58179;--danger-soft: #3a201e;color-scheme:dark;--cat-visual-bg: #3a2a14;--cat-visual-accent: #f5a95f;--cat-garden-bg: #3a2a14;--cat-garden-accent: #d9a066;--cat-digit-bg: #2a2145;--cat-digit-accent: #a78bfa;--cat-line-bg: #123330;--cat-line-accent: #2dd4bf;--cat-fluency-bg: #133023;--cat-fluency-accent: #4cc492;--cat-story-bg: #3a1a2a;--cat-story-accent: #f472b6;--cat-column-bg: #16232f;--cat-column-accent: #60a5fa;--cat-divide-bg: #0f2b30;--cat-divide-accent: #22d3ee;--cat-sequence-bg: #2b1d0f;--cat-sequence-accent: #fb923c;--cat-scene-bg: #133023;--cat-scene-accent: #4cc492;--cat-default-bg: var(--primary-soft);--cat-default-accent: var(--primary);--feedback-success: #6ee7b0;--feedback-danger: #ff8a80}}:root[data-theme=dark]{--bg: #15131d;--surface: #1e1c29;--surface-2: #262433;--border: #37344a;--text: #eeecf5;--text-muted: #a7a2bd;--primary: #7b8bf0;--primary-ink: #14132a;--primary-soft: #262a4f;--accent: #f5a95f;--accent-ink: #201d2b;--success: #4cc492;--success-soft: #163828;--danger: #e58179;--danger-soft: #3a201e;color-scheme:dark;--cat-visual-bg: #3a2a14;--cat-visual-accent: #f5a95f;--cat-garden-bg: #3a2a14;--cat-garden-accent: #d9a066;--cat-digit-bg: #2a2145;--cat-digit-accent: #a78bfa;--cat-line-bg: #123330;--cat-line-accent: #2dd4bf;--cat-fluency-bg: #133023;--cat-fluency-accent: #4cc492;--cat-story-bg: #3a1a2a;--cat-story-accent: #f472b6;--cat-column-bg: #16232f;--cat-column-accent: #60a5fa;--cat-divide-bg: #0f2b30;--cat-divide-accent: #22d3ee;--cat-sequence-bg: #2b1d0f;--cat-sequence-accent: #fb923c;--cat-scene-bg: #133023;--cat-scene-accent: #4cc492;--cat-default-bg: var(--primary-soft);--cat-default-accent: var(--primary);--feedback-success: #6ee7b0;--feedback-danger: #ff8a80}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:Heebo,system-ui,-apple-system,sans-serif;direction:rtl}body{padding-inline:0;min-height:100dvh}h1,h2,h3,h4{text-wrap:balance;margin:0;font-weight:700}p{line-height:1.6}a{color:inherit}button,input,select,textarea{font-family:inherit;font-size:1rem}.eng{direction:ltr;font-family:Heebo,system-ui,sans-serif}#app{min-height:100dvh;display:flex;flex-direction:column}.landing{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 20px;gap:40px;text-align:center}.landing__badge{font-family:Fredoka,Heebo,sans-serif;font-size:3rem;line-height:1}.landing__title{font-family:Fredoka,Heebo,sans-serif;font-size:clamp(2rem,5vw,3rem);color:var(--primary)}.landing__subtitle{color:var(--text-muted);font-size:1.1rem;max-width:40ch}.role-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,220px));gap:20px}@media(max-width:640px){.role-grid{grid-template-columns:1fr;width:100%;max-width:320px}}.role-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px 20px;display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;transition:transform .15s ease,border-color .15s ease}.role-card:hover{transform:translateY(-3px);border-color:var(--primary)}.role-card__icon{font-size:2.4rem}.role-card__title{font-size:1.15rem;font-weight:700}.role-card__desc{color:var(--text-muted);font-size:.9rem}.auth-shell{flex:1;display:flex;align-items:center;justify-content:center;padding:32px 20px}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px;width:100%;max-width:380px;display:flex;flex-direction:column;gap:16px}.field{display:flex;flex-direction:column;gap:6px;text-align:right}.field label{font-size:.85rem;color:var(--text-muted);font-weight:500}.field input,.field select,.field textarea{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:var(--radius-sm);padding:10px 12px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--primary);outline-offset:1px}.btn{border:none;border-radius:var(--radius-sm);padding:11px 18px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:var(--primary);color:var(--primary-ink)}.btn-accent{background:var(--accent);color:var(--accent-ink)}.btn-ghost{background:transparent;color:var(--primary);border:1px solid var(--border)}.btn-danger{background:var(--danger-soft);color:var(--danger)}.btn-sm{padding:7px 12px;font-size:.85rem}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-block{width:100%}.error-text{color:var(--feedback-danger);font-size:.88rem;font-weight:700}.success-text{color:var(--feedback-success);font-size:.88rem;font-weight:700}.hint-text{color:var(--text-muted);font-size:.8rem}.exercise-card .hint-text{color:var(--text);opacity:.82;font-weight:500;font-size:.85rem}.back-link{color:var(--text-muted);font-size:.85rem;align-self:flex-start;cursor:pointer;background:none;border:none;padding:0}.dash{flex:1;display:flex;min-height:100dvh}.dash__sidebar{width:240px;flex-shrink:0;background:var(--surface);border-left:1px solid var(--border);padding:20px 16px;display:flex;flex-direction:column;gap:6px}.dash__brand{font-family:Fredoka,sans-serif;color:var(--primary);font-size:1.2rem;margin-bottom:14px}.dash__nav-item{padding:10px 12px;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);font-weight:500;display:flex;align-items:center;gap:8px}.dash__nav-item:hover{background:var(--surface-2)}.dash__nav-item.active{background:var(--primary-soft);color:var(--primary);font-weight:700}.dash__sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:8px}.dash__main{flex:1;padding:28px 32px;overflow-y:auto;max-width:1100px}.dash__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:12px;flex-wrap:wrap}@media(max-width:800px){.dash{flex-direction:column}.dash__sidebar{width:100%;flex-direction:row;overflow-x:auto;border-left:none;border-bottom:1px solid var(--border)}.dash__nav-item{white-space:nowrap;flex-shrink:0}.dash__brand{flex-shrink:0}.dash__sidebar-footer{margin-top:0;flex-direction:row;flex-shrink:0}.dash__main{padding:20px}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.card+.card{margin-top:16px}.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.stat-row{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:20px}.stat-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;min-width:140px;box-shadow:var(--shadow)}.stat-tile__value{font-size:1.8rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--primary)}.stat-tile__label{color:var(--text-muted);font-size:.85rem}table{width:100%;border-collapse:collapse;font-size:.92rem}th,td{text-align:right;padding:10px 8px;border-bottom:1px solid var(--border)}th{color:var(--text-muted);font-weight:600;font-size:.82rem}.table-wrap{overflow-x:auto}.pill{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:600}.pill-success{background:var(--success-soft);color:var(--success)}.pill-muted{background:var(--surface-2);color:var(--text-muted)}.pill-accent{background:#fdf0e0;color:#8a4f0f}:root[data-theme="dark"] .pill-accent,@media (prefers-color-scheme: dark){}.section-title{font-size:1.05rem;font-weight:700;margin-bottom:10px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row-between{display:flex;align-items:center;justify-content:space-between;gap:10px}.muted{color:var(--text-muted)}.stack{display:flex;flex-direction:column;gap:12px}.modal-backdrop{position:fixed;inset:0;background:#14121e80;display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.modal{background:var(--surface);border-radius:var(--radius);padding:24px;max-width:480px;width:100%;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow)}.chip-list{display:flex;flex-wrap:wrap;gap:8px}.chip{background:var(--surface-2);border-radius:999px;padding:5px 12px;font-size:.85rem;display:flex;align-items:center;gap:6px}.chip button{background:none;border:none;cursor:pointer;color:var(--danger);font-weight:700}.progress-bar{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.progress-bar__fill{height:100%;background:var(--success);border-radius:999px}.student-shell{background:var(--bg);min-height:100dvh}.student-top{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--surface);border-bottom:1px solid var(--border)}.student-name{font-weight:700;font-size:1.1rem}.student-main{padding:24px 20px;max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.subject-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow);padding:20px}.subject-card__head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.subject-card__icon{width:44px;height:44px;border-radius:12px;background:var(--primary-soft);display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0}.lesson-tile{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:var(--bg)}.lesson-tile:hover{border-color:var(--primary)}.lesson-tile+.lesson-tile{margin-top:8px}.lesson-tile.locked{opacity:.55;cursor:not-allowed}.topic-checklist{margin-top:14px;border-top:1px solid var(--border);padding-top:12px}.topic-checklist__header{display:flex;gap:8px}.topic-checklist__toggle{flex:1;justify-content:flex-start}.topic-checklist__view-toggle{flex-shrink:0}.topic-checklist__list{margin-top:8px;display:flex;flex-direction:column;gap:6px}.topic-checklist__row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--border)}.topic-checklist__icon{font-size:1rem;flex-shrink:0}.topic-checklist__name{flex:1;font-size:.88rem}.topic-checklist__status{font-size:.78rem;font-weight:600;flex-shrink:0}.topic-checklist__row--mastered{background:var(--success-soft)}.topic-checklist__row--mastered .topic-checklist__status{color:var(--success)}.topic-checklist__row--practice .topic-checklist__status{color:#b06a1a}.topic-checklist__row--locked{opacity:.6}.topic-checklist__row--locked .topic-checklist__status{color:var(--text-muted)}.skill-map{display:flex;flex-direction:column;align-items:center;margin-top:10px;padding:6px 0}.skill-map__connector{width:3px;height:20px;background:var(--border)}.skill-map__node-wrap{display:flex;flex-direction:column;align-items:center}.skill-map__node{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;border:3px solid var(--border);background:var(--surface);transform:translate(var(--offset, 0px))}.skill-map__node--mastered{border-color:var(--success);background:var(--success-soft)}.skill-map__node--practice{border-color:#c9922f;background:#fdf0e0}.skill-map__node--locked{opacity:.55}.skill-map__label{font-size:.72rem;text-align:center;max-width:100px;margin-top:4px;transform:translate(var(--offset, 0px));color:var(--text-muted)}.sibling-compare{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:8px}.sibling-compare__side{text-align:center}.sibling-compare__name{font-size:.85rem;color:var(--text-muted)}.sibling-compare__count{font-size:1.8rem;font-weight:800}.sibling-compare__vs{font-size:.8rem;color:var(--text-muted)}.streak-save-card{border:1px solid #7dd3fc;background:#e0f7ff}:root[data-theme=dark] .streak-save-card{background:#0d2a3a;border-color:#38708a}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .streak-save-card{background:#0d2a3a;border-color:#38708a}}.weekly-digest{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);padding:12px 14px;margin-bottom:4px}.certificate-wrap{display:flex;flex-direction:column;gap:16px;align-items:center}.certificate-card{width:100%;border:3px double #c9a227;border-radius:var(--radius);padding:28px 20px;text-align:center;background:linear-gradient(180deg,#fffbea,#fff5d6);color:#3a2e10}:root[data-theme=dark] .certificate-card{background:linear-gradient(180deg,#2b2410,#221b0c);color:#f3e6b8;border-color:#c9a227}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .certificate-card{background:linear-gradient(180deg,#2b2410,#221b0c);color:#f3e6b8;border-color:#c9a227}}.certificate-ribbon{font-size:2.4rem;margin-bottom:4px}.certificate-title{margin:0 0 10px;font-size:1.4rem;font-weight:800}.certificate-line{margin:4px 0}.certificate-name{margin:6px 0;font-size:1.3rem;font-weight:800}.certificate-detail{margin:4px 0;font-size:.9rem;opacity:.85}.certificate-date{margin:10px 0 4px;font-size:.82rem;opacity:.75}.certificate-stars{font-size:1.1rem;margin-top:6px}.certificate-actions{display:flex;gap:10px}@media print{body *{visibility:hidden}.certificate-card,.certificate-card *{visibility:visible}.certificate-card{position:fixed;inset:10% 8%;border-width:4px;background:#fffbea!important;color:#3a2e10!important}}.vocab-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.vocab-card{background:var(--primary-soft);border-radius:var(--radius-sm);padding:14px 10px;text-align:center;cursor:pointer;min-height:74px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.vocab-card__en{font-weight:700;font-size:1.05rem}.vocab-card__he{color:var(--text-muted);font-size:.88rem}.vocab-card{position:relative}.vocab-card__speak{position:absolute;top:4px;inset-inline-start:4px;background:none;border:none;cursor:pointer;font-size:.95rem;padding:2px 5px;line-height:1;border-radius:6px;opacity:.75}.vocab-card__speak:hover{background:#00000014;opacity:1}.memory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:8px;max-width:460px;margin:10px 0}.memory-card{aspect-ratio:1;border-radius:var(--radius-sm);border:none;cursor:pointer;background:var(--primary);color:#fff;font-size:1.3rem;display:flex;align-items:center;justify-content:center;padding:4px}.memory-card.flipped{background:var(--surface);color:var(--text);border:2px solid var(--primary);font-size:.78rem;font-weight:700;text-align:center;word-break:break-word}.memory-card.matched{background:var(--success-soft);color:var(--success);border:2px solid var(--success);font-size:.78rem;font-weight:700;text-align:center;word-break:break-word;cursor:default}.memory-card-face.eng{direction:ltr;font-family:Heebo,system-ui,sans-serif}.explanation-card{background:#fff8e6;border:1px solid #f0d78a;color:#3b2e0a}.explanation-card .section-title{color:#3b2e0a}.explanation-text{white-space:pre-wrap;line-height:1.7;margin:6px 0 0;font-size:1.05rem;color:#3b2e0a}.feedback-card{background:#eef6ff;border:1px solid #b9d8f5}.feedback-row{padding:10px 0;border-top:1px solid #d7e7f8}.feedback-row:first-of-type{border-top:none}.row-flag{background:#fff6e8}.exercise-box{display:flex;flex-direction:column;gap:14px}.exercise-card{border-radius:var(--radius);padding:16px 18px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow)}.exercise-badge{display:inline-flex;align-items:center;gap:6px;width:fit-content;font-size:.78rem;font-weight:700;padding:4px 12px;border-radius:999px;color:#201d2b}.exercise-card--visual{background:var(--cat-visual-bg);border-inline-start:5px solid var(--cat-visual-accent)}.exercise-card--visual .exercise-badge{background:var(--cat-visual-accent)}.exercise-card--garden{background:var(--cat-garden-bg);border-inline-start:5px solid var(--cat-garden-accent)}.exercise-card--garden .exercise-badge{background:var(--cat-garden-accent)}.exercise-card--digit{background:var(--cat-digit-bg);border-inline-start:5px solid var(--cat-digit-accent)}.exercise-card--digit .exercise-badge{background:var(--cat-digit-accent);color:#fff}.exercise-card--line{background:var(--cat-line-bg);border-inline-start:5px solid var(--cat-line-accent)}.exercise-card--line .exercise-badge{background:var(--cat-line-accent);color:#fff}.exercise-card--fluency{background:var(--cat-fluency-bg);border-inline-start:5px solid var(--cat-fluency-accent)}.exercise-card--fluency .exercise-badge{background:var(--cat-fluency-accent);color:#fff}.exercise-card--story{background:var(--cat-story-bg);border-inline-start:5px solid var(--cat-story-accent)}.exercise-card--story .exercise-badge{background:var(--cat-story-accent);color:#fff}.exercise-card--default{background:var(--cat-default-bg);border-inline-start:5px solid var(--cat-default-accent)}.exercise-card--default .exercise-badge{background:var(--cat-default-accent);color:#fff}.exercise-card--column{background:var(--cat-column-bg);border-inline-start:5px solid var(--cat-column-accent)}.exercise-card--column .exercise-badge{background:var(--cat-column-accent);color:#fff}.exercise-card--divide{background:var(--cat-divide-bg);border-inline-start:5px solid var(--cat-divide-accent)}.exercise-card--divide .exercise-badge{background:var(--cat-divide-accent);color:#fff}.exercise-card--sequence{background:var(--cat-sequence-bg);border-inline-start:5px solid var(--cat-sequence-accent)}.exercise-card--sequence .exercise-badge{background:var(--cat-sequence-accent);color:#fff}.exercise-card--scene{background:var(--cat-scene-bg);border-inline-start:5px solid var(--cat-scene-accent)}.exercise-card--scene .exercise-badge{background:var(--cat-scene-accent);color:#fff}.choice-btn{display:block;width:100%;text-align:right;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer}.choice-btn:hover{border-color:var(--primary)}.choice-btn.correct{background:var(--success-soft);border-color:var(--success)}.choice-btn.wrong{background:var(--danger-soft);border-color:var(--danger)}.choice-row{display:flex;align-items:stretch;gap:8px}.choice-row .choice-btn{flex:1}.exercise-speak{background:none;border:1px solid var(--border);cursor:pointer;font-size:1rem;padding:0 12px;border-radius:var(--radius-sm);opacity:.8;flex-shrink:0}.exercise-speak:hover{background:#0000000f;opacity:1}.visual-boxes{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0}.visual-box{min-width:84px;max-width:140px;padding:10px;border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center;background:var(--surface-alt, rgba(0,0,0,.03))}.visual-box-label{font-size:.75rem;color:var(--text-muted);margin-bottom:4px}.visual-box-count{font-size:1.1rem;font-weight:700;margin-top:4px}.visual-box-items{display:flex;flex-wrap:wrap;justify-content:center;gap:2px;min-height:28px;align-items:center}.visual-item{font-size:1.3rem;line-height:1}.visual-pool-tray{display:flex;flex-wrap:wrap;gap:3px;padding:8px;margin-bottom:6px;min-height:30px;border:1px dashed var(--border);border-radius:var(--radius-sm);background:#00000005}.visual-pool-tray .visual-item{font-size:1.4rem}.visual-box-items-hint{font-size:1.4rem;margin:2px 0}.visual-box-input{width:54px;text-align:center;font-size:1.05rem;padding:4px;border-radius:var(--radius-sm);border:1px solid var(--border)}.visual-exercise--garden .visual-box{background:transparent;border:none;box-shadow:none;padding:4px;min-width:108px}.visual-exercise--garden .visual-box-label{color:#8a582a;font-weight:700;font-size:.85rem}.visual-exercise--garden .visual-box-count{color:#8a582a}.visual-box-items--garden{aspect-ratio:1 / 1;min-height:0;display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}.visual-exercise--garden .visual-pool-tray{background:#7a5233;border:none;align-items:center;padding:10px;gap:6px}.visual-item--garden{width:30px;height:34px;display:inline-block}.fact-array{display:inline-grid;gap:3px;margin:6px 0;padding:6px 8px;border-radius:var(--radius-sm);background:var(--primary-soft);direction:ltr}.fact-array-cell{width:12px;height:12px;border-radius:3px;background:var(--primary)}.column-op{display:flex;flex-direction:column;gap:3px;margin:10px 0;direction:ltr}.column-op-row{display:flex;gap:4px;align-items:center}.column-op-opslot{width:22px;text-align:center;font-weight:700;font-size:1.1rem;flex-shrink:0;color:var(--text)}.column-op-spacer{width:30px;height:34px;flex-shrink:0}.column-op-cell{width:30px;height:34px;text-align:center;font-size:1.05rem;padding:0;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text)}.column-op-carry .column-op-cell,.column-op-carry .column-op-spacer{width:22px;height:22px;font-size:.8rem;opacity:.8}.column-op-divider{height:2px;background:var(--text);opacity:.5;margin:2px 0 2px 26px;width:calc(100% - 26px)}.long-divide{display:flex;flex-direction:column;gap:3px;margin:10px 0;direction:ltr}.long-divide-row{display:flex;gap:4px;align-items:center}.long-divide-divisorslot{min-width:26px;text-align:center;font-weight:700;font-size:1.1rem;flex-shrink:0;color:var(--text)}.long-divide-cell{width:30px;height:34px;text-align:center;border-radius:6px;border:1.5px solid var(--border);background:var(--surface);color:var(--text);font-size:1rem;padding:0}.long-divide-quotient .long-divide-cell{border-color:var(--primary)}.long-divide-scratch .long-divide-cell{opacity:.85}.long-divide-dividend{display:flex;gap:4px;border-top:2px solid var(--text);padding-top:4px}.long-divide-digit{width:30px;height:34px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;color:var(--text)}.long-divide-bracket .long-divide-divisorslot{border-inline-end:2px solid var(--text);padding-inline-end:6px;margin-inline-end:2px}.sequence-exercise{display:flex;flex-direction:column;gap:12px;margin:10px 0}.sequence-pool-label,.sequence-chosen-label{font-size:.85rem;color:var(--text-muted, #6b7280);margin-bottom:4px}.sequence-pool,.sequence-chosen{display:flex;flex-wrap:wrap;gap:8px;min-height:44px;padding:8px;border-radius:10px}.sequence-pool{background:#ea580c0f;border:1px dashed var(--cat-sequence-accent)}.sequence-chosen{background:#ea580c1f;border:1px solid var(--cat-sequence-accent)}.sequence-chip{padding:8px 14px;border-radius:8px;border:1px solid var(--cat-sequence-accent);background:#fff;color:var(--text);font-size:.95rem;cursor:pointer;transition:transform .1s ease}.sequence-chip:hover{transform:translateY(-1px)}.sequence-chip--chosen{background:var(--cat-sequence-accent);color:#fff;font-weight:600}.digit-slots{display:flex;gap:6px;margin:4px 0;font-size:1.4rem;font-weight:700}.digit-slot{min-width:34px;text-align:center;border-bottom:2px solid var(--border);padding-bottom:2px;color:var(--text-muted)}.digit-tiles{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}.digit-tile{min-width:44px;height:44px;font-size:1.2rem;font-weight:700;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-alt, rgba(0,0,0,.03));cursor:pointer}.digit-tile:hover:not(:disabled){border-color:var(--primary)}.digit-tile.used{opacity:.35}.numberline{display:flex;align-items:flex-start;justify-content:space-between;gap:2px;padding:14px 4px;border-top:3px solid var(--border);margin:8px 0;overflow-x:auto}.numberline-tick{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:none;cursor:pointer;flex-shrink:0;padding:4px 2px}.numberline-dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--border);background:var(--card-bg, #fff);margin-top:-21px}.numberline-tick-label{font-size:.75rem;color:var(--text-muted)}.numberline-tick:hover:not(:disabled) .numberline-dot{border-color:var(--primary)}.numberline-tick.correct .numberline-dot{background:var(--success);border-color:var(--success)}.numberline-tick.wrong .numberline-dot{background:var(--danger);border-color:var(--danger)}.numberline-tick.marker-a .numberline-dot,.numberline-tick.marker-a-correct .numberline-dot{background:#4a90d9;border-color:#4a90d9}.numberline-tick.marker-b .numberline-dot,.numberline-tick.marker-b-correct .numberline-dot{background:#e07a3f;border-color:#e07a3f}.reading-passage{line-height:2.6;font-size:1.05rem}.history-passage{line-height:1.9;font-size:1.05rem;white-space:pre-wrap}.glossed-word{display:inline-block;text-align:center;margin:0 2px;vertical-align:bottom}.glossed-word__gloss{display:block;font-size:.62rem;color:var(--text-muted);line-height:1.1}.glossed-word__text{display:block}.glossed-word__gloss[hidden]{display:none}.glossed-word--clickable{background:none;border:none;padding:2px 3px;cursor:pointer;font:inherit;color:inherit;border-radius:6px}.glossed-word--clickable:hover{background:#2563eb14}.glossed-word--clickable .glossed-word__text{border-bottom:1px dashed var(--primary)}.glossed-word--clickable.glossed-word--revealed .glossed-word__text{border-bottom-style:solid;color:var(--primary)}.empty-state{text-align:center;padding:40px 20px;color:var(--text-muted)}.retry-bar{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.retry-bar__score{font-size:1.3rem;font-weight:700}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--text);color:var(--bg);padding:10px 20px;border-radius:999px;font-size:.9rem;z-index:100;box-shadow:var(--shadow)}[hidden]{display:none!important}.coin-badge{display:inline-flex;align-items:center;gap:6px;background:#fff4d9;color:#9a6b00;border:1px solid #f0d78a;border-radius:999px;padding:6px 14px;font-weight:800;font-size:.95rem;cursor:pointer}.character-card{display:flex;flex-direction:column;align-items:center;gap:10px}.character-preview{width:220px;max-width:60vw;background:linear-gradient(180deg,var(--primary-soft),var(--surface-2));border-radius:var(--radius);padding:10px}.character-svg{width:100%;height:auto;display:block}.shop-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.shop-tab{flex-shrink:0;border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:8px 16px;font-weight:700;font-size:.85rem;cursor:pointer;color:var(--text-muted)}.shop-tab.active{background:var(--primary);color:var(--primary-ink);border-color:var(--primary)}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.shop-item{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-sm);padding:12px 8px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;text-align:center}.shop-item:hover{border-color:var(--primary)}.shop-item--active{border-color:var(--success);background:var(--success-soft)}.shop-item--locked{opacity:.78}.shop-swatch{width:40px;height:40px;border-radius:50%;border:2px solid rgba(0,0,0,.12);display:flex;align-items:center;justify-content:center;font-size:1.3rem;background:var(--surface-2)}.shop-item__name{font-size:.82rem;font-weight:600}.shop-item__price{font-size:.78rem;color:var(--text-muted);font-weight:700}.shop-item--active .shop-item__price{color:var(--success)}.challenge-score{font-weight:800;font-size:1.05rem;text-align:center;margin:4px 0 10px}.badges-row{display:flex;gap:8px;overflow-x:auto;padding:4px 2px;width:100%}.badge-chip{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:2px;width:68px;opacity:.5;text-align:center}.badge-chip--unlocked{opacity:1}.badge-chip__emoji{font-size:1.6rem}.badge-chip__name{font-size:.65rem;color:var(--text-muted);font-weight:600}.pet-card{text-align:center}.pet-display{line-height:1.1;margin:8px 0}.quest-card .progress-bar{margin-top:8px}.exercise-head{display:flex;align-items:center;gap:10px;margin-bottom:2px}.exercise-illustration{width:46px;height:46px;flex-shrink:0;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001f}.exercise-illustration svg{display:block;width:100%;height:100%}.scene-illustration{width:100%;max-width:420px;margin:0 auto 6px;border-radius:18px;overflow:hidden;box-shadow:0 2px 10px #0000001f}.scene-illustration svg{display:block;width:100%;height:auto}.handson-card{border-inline-start:5px solid var(--accent, var(--primary))}.handson-report-row{padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-2);display:flex;flex-direction:column;align-items:flex-start;gap:6px}.quickgame{direction:ltr;display:flex;flex-direction:column;gap:12px;max-width:480px;margin:0 auto}.quickgame-header{display:flex;align-items:center;justify-content:space-between;direction:rtl}.quickgame-title{font-weight:800;font-size:1.05rem}.quickgame-hud{display:flex;justify-content:space-between}.quickgame-hud .pill{background:var(--surface-2);border:1px solid var(--border);font-weight:700}.quickgame-tabs{display:flex;background:var(--surface-2);border-radius:var(--radius-sm);overflow:hidden}.quickgame-tab{flex:1;text-align:center;padding:10px 8px;font-weight:700;font-size:.92rem;cursor:pointer;color:var(--text-muted);border-bottom:3px solid transparent}.quickgame-tab.active{color:var(--text);border-bottom-color:var(--accent)}.quickgame-instruction{text-align:center;direction:rtl;font-weight:700;color:var(--accent)}.quickgame-question{text-align:center;font-size:1.9rem;font-weight:800}.quickgame-question.ltr-expr{direction:ltr;unicode-bidi:isolate}.quickgame-buttons{display:flex;gap:10px;justify-content:center}.quickgame-buttons .choice-btn{flex:1;max-width:150px}.fluency-timer{font-weight:800;color:var(--accent-ink);background:var(--accent)!important;border:none!important}.fluency-question{font-size:2.4rem;margin:18px 0}.fluency-buttons .choice-btn{font-size:1.3rem;padding:22px 10px;max-width:180px}.quickgame-candidates{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.quickgame-candidate{background:var(--surface);border:2px solid var(--border);border-radius:14px;padding:10px 16px;cursor:pointer;transition:transform .15s,box-shadow .15s;direction:ltr}.quickgame-candidate:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.quickgame-candidate.used{pointer-events:none}.quickgame-candidate.correct-flash{background:var(--success-soft);border-color:var(--success)}.quickgame-candidate.wrong-flash{background:var(--danger-soft);border-color:var(--danger);animation:qg-shake .35s}.quickgame-progress{display:flex;align-items:center;gap:4px;justify-content:center;transition:opacity .3s}.quickgame-checkpoint{font-size:1.3rem;opacity:.45;transition:opacity .3s,transform .3s}.quickgame-checkpoint.done{opacity:1;transform:scale(1.2)}.quickgame-progress--dots{gap:8px}.quickgame-dot{width:11px;height:11px;border-radius:50%;background:var(--border);transition:background .3s,transform .3s}.quickgame-dot.done{background:var(--success);transform:scale(1.25)}.quickgame-finish{display:none;flex-direction:column;align-items:center;gap:10px;padding:24px 10px;text-align:center;direction:rtl}.quickgame-finish.show{display:flex}.quickgame-finish h2{margin:0}.quickgame-finish-actions{display:flex;gap:10px}@keyframes qg-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.ill-bob{animation:ill-bob 2.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes ill-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.ill-coin-drop{animation:ill-coin-drop 2.2s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes ill-coin-drop{0%,55%{transform:translateY(0)}70%{transform:translateY(4px)}85%,to{transform:translateY(0)}}.ill-flow-dash{animation:ill-flow-dash 1.1s linear infinite}@keyframes ill-flow-dash{to{stroke-dashoffset:-8}}.ill-blink{animation:ill-blink 2.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes ill-blink{0%,92%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}.ill-tick{animation:ill-tick 1s ease-in-out infinite;transform-box:fill-box}@keyframes ill-tick{0%,to{transform:rotate(0)}50%{transform:rotate(4deg)}}.ill-gear--cw{animation:ill-gear-cw 6s linear infinite}.ill-gear--ccw{animation:ill-gear-ccw 4.5s linear infinite}@keyframes ill-gear-cw{to{transform:rotate(360deg)}}@keyframes ill-gear-ccw{to{transform:rotate(-360deg)}}.ill-scale-beam{animation:ill-scale-tilt 3s ease-in-out infinite}@keyframes ill-scale-tilt{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}.ill-pop{animation:ill-pop .5s ease-out both;transform-box:fill-box;transform-origin:center}@keyframes ill-pop{0%{transform:scale(0);opacity:0}65%{transform:scale(1.15);opacity:1}to{transform:scale(1);opacity:1}}.scene-pop{animation:scene-pop .45s cubic-bezier(.34,1.56,.64,1) both;transform-box:fill-box}@keyframes scene-pop{0%{transform:scale(0);opacity:0}70%{transform:scale(1.12);opacity:1}to{transform:scale(1);opacity:1}}.scene-fill{animation:scene-fill .6s ease-out both;transform-box:fill-box}@keyframes scene-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.scene-hand-draw{animation:scene-hand-draw .6s ease-out both}@keyframes scene-hand-draw{0%{stroke-dashoffset:var(--hand-len, 100)}to{stroke-dashoffset:0}}.scene-tilt{animation:scene-tilt .8s cubic-bezier(.34,1.2,.4,1) both}@keyframes scene-tilt{0%{transform:rotate(0)}to{transform:rotate(var(--tilt, 0deg))}}.scene-fade-up{animation:scene-fade-up .5s ease-out both;transform-box:fill-box}@keyframes scene-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.scene-bar-grow{animation:scene-bar-grow .5s cubic-bezier(.34,1.4,.64,1) both;transform-box:fill-box}@keyframes scene-bar-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.sequence-chip--pop{animation:chip-pop .3s cubic-bezier(.34,1.56,.64,1) both}@keyframes chip-pop{0%{transform:scale(.55);opacity:0}70%{transform:scale(1.08);opacity:1}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.ill-bob,.ill-coin-drop,.ill-flow-dash,.ill-blink,.ill-tick,.ill-gear--cw,.ill-gear--ccw,.ill-scale-beam,.ill-pop,.scene-pop,.scene-fill,.scene-hand-draw,.scene-tilt,.scene-fade-up,.scene-bar-grow,.sequence-chip--pop{animation:none!important}}.game-hub-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:560px){.game-hub-grid{grid-template-columns:1fr}}.game-hub-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;cursor:pointer;transition:transform .15s,box-shadow .15s;text-align:center}.game-hub-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--primary)}.game-hub-card__icon{font-size:2.4rem;margin-bottom:8px}.game-hub-card__title{font-weight:800;margin-bottom:4px}.game-hub-card--boss{border-color:#8b5cf6;background:linear-gradient(180deg,var(--surface),#f4effe)}:root[data-theme=dark] .game-hub-card--boss{background:linear-gradient(180deg,var(--surface),#241b3a)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .game-hub-card--boss{background:linear-gradient(180deg,var(--surface),#241b3a)}}.boss-row{display:flex;align-items:center;gap:12px;margin:10px 0}.boss-emoji{font-size:2.2rem}.boss-hp-track{flex:1;height:14px;border-radius:999px;background:var(--surface-2);overflow:hidden;border:1px solid var(--border)}.boss-hp-fill{height:100%;background:linear-gradient(90deg,#e0483e,#f6b352);transition:width .4s ease}.boss-topic-badge{text-align:center;font-size:.8rem;color:var(--text-muted);margin-bottom:4px}.topic-picker-grid{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.topic-chip{background:var(--surface);border:2px solid var(--border);border-radius:999px;padding:10px 18px;cursor:pointer;font-weight:700;transition:transform .15s,box-shadow .15s}.topic-chip:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--primary)}.race-track{position:relative;height:300px;border-radius:var(--radius);overflow:hidden;background:repeating-linear-gradient(180deg,transparent 0 24px,rgba(255,255,255,.15) 24px 28px) center/6px 100%,#2b2838}.race-lane-line{position:absolute;top:0;bottom:56px;width:2px;background:repeating-linear-gradient(180deg,#5a5476 0 16px,transparent 16px 30px)}.race-lane-line.l{left:33%}.race-lane-line.r{right:33%}.race-gate{position:absolute;top:138px;width:140px;height:12px;display:flex;align-items:center}.race-gate.left{left:8%}.race-gate.right{right:8%}.race-gate-post{width:6px;height:30px;background:#8a8499;border-radius:2px;position:absolute;top:-9px}.race-gate.left .race-gate-post{left:-3px}.race-gate.right .race-gate-post{right:-3px}.race-gate.left .race-gate-post.far{left:137px}.race-gate.right .race-gate-post.far{right:137px}.race-barrier{position:absolute;top:0;left:0;width:140px;height:9px;border-radius:4px;background:repeating-linear-gradient(90deg,#e0483e 0 15px,#f4f4f4 15px 30px);transform-origin:0% 50%;transition:transform .5s cubic-bezier(.4,1.6,.6,1);box-shadow:0 1px 3px #0006}.race-gate.right .race-barrier{transform-origin:100% 50%}.race-barrier.open{transform:rotate(-80deg)}.race-gate.right .race-barrier.open{transform:rotate(80deg)}.race-answer{position:absolute;top:62px;width:112px;height:68px;border-radius:12px;background:linear-gradient(180deg,#4a5a78,#33415c);border:2px solid #6b84ac;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:800;cursor:pointer;transition:transform .15s,box-shadow .15s;user-select:none}.race-answer:hover{transform:translateY(-2px)}.race-answer.left{left:13%}.race-answer.right{right:13%}.race-answer.correct-flash{background:linear-gradient(180deg,#4fae7f,#2e9e6d);border-color:#7fe3ac}.race-answer.wrong-flash{background:linear-gradient(180deg,#c15a52,#8f3a34);border-color:#e58179;animation:qg-shake .35s}.race-car{position:absolute;bottom:12px;left:50%;width:42px;height:68px;margin-left:-21px;transition:transform .9s cubic-bezier(.5,0,.3,1),left .9s cubic-bezier(.5,0,.3,1);z-index:5}.race-car svg{width:100%;height:100%;display:block}.scale-stage{position:relative;height:200px;width:260px;margin:0 auto}.scale-stand{position:absolute;left:50%;bottom:0;width:9px;height:92px;margin-left:-4.5px;background:var(--text-muted);border-radius:4px 4px 0 0;opacity:.55}.scale-stand-base{position:absolute;left:50%;bottom:0;width:84px;height:13px;margin-left:-42px;background:var(--text-muted);border-radius:8px;opacity:.55}.scale-beam{position:absolute;left:50%;top:52px;width:214px;height:7px;margin-left:-107px;background:linear-gradient(180deg,var(--border),var(--text-muted));border-radius:4px;transform-origin:50% 50%;transition:transform .8s cubic-bezier(.34,1.4,.4,1)}.scale-pivot{position:absolute;left:50%;top:46px;width:13px;height:13px;margin-left:-6.5px;background:var(--accent);border-radius:50%;border:2px solid var(--text);z-index:3}.scale-rig{position:absolute;top:0;width:0;height:0;transition:transform .8s cubic-bezier(.34,1.4,.4,1)}.scale-rig.left{left:8px}.scale-rig.right{left:auto;right:8px}.scale-string{position:absolute;top:2px;left:-1px;width:2px;height:42px;background:var(--text-muted);opacity:.6}.scale-pan{position:absolute;top:44px;left:-44px;width:88px;min-height:54px;background:var(--surface);border:2px solid var(--border);border-radius:14px;display:flex;align-items:center;justify-content:center;padding:6px;font-weight:800;font-size:1.1rem;direction:ltr}.scale-pan.correct-flash{border-color:var(--success);background:var(--success-soft)}.scale-pan.wrong-flash{border-color:var(--danger);background:var(--danger-soft);animation:qg-shake .35s}.scale-pan-empty{color:var(--text-muted);font-size:1.5rem}.scale-trophy{position:absolute;top:16px;left:50%;transform:translate(-50%) scale(.6);font-size:1.5rem;opacity:0;transition:opacity .3s,transform .3s;pointer-events:none;z-index:4}.scale-trophy.show{opacity:1;transform:translate(-50%) scale(1.1)}.scale-relation-badge{position:absolute;left:50%;top:8px;margin-left:-42px;width:84px;height:28px;border-radius:14px;background:var(--surface);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.8rem;opacity:0;transition:opacity .3s;direction:rtl;white-space:nowrap}.scale-relation-badge.show{opacity:1}.qg-fraction{display:inline-flex;flex-direction:column;align-items:center;line-height:1.05}.qg-fraction .qg-num{padding-bottom:2px}.qg-fraction .qg-den{border-top:2px solid currentColor;padding-top:2px}body.fun,body.fun .student-shell{background:transparent}.fx-bg{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;--fx-a: #dff3ff;--fx-b: #efe7ff;--fx-c: #ffe9dc;--blob1: #7dd3fc;--blob2: #c4b5fd;--blob3: #fda4af;--blob4: #fde68a;--sym: #6d5bd0;background:linear-gradient(160deg,var(--fx-a) 0%,var(--fx-b) 50%,var(--fx-c) 100%);transition:background 1s ease}.fx-bg[data-theme=math]{--fx-a: #dbf4ff;--fx-b: #dcfce7;--fx-c: #fef9c3;--blob1: #38bdf8;--blob2: #4ade80;--blob3: #facc15;--blob4: #a78bfa;--sym: #0e7490}.fx-bg[data-theme=english]{--fx-a: #fde7f3;--fx-b: #ede9fe;--fx-c: #ffedd5;--blob1: #f472b6;--blob2: #a78bfa;--blob3: #fb923c;--blob4: #38bdf8;--sym: #be185d}.fx-bg[data-theme=history]{--fx-a: #fef3c7;--fx-b: #ffedd5;--fx-c: #e0e7ff;--blob1: #f59e0b;--blob2: #fb7185;--blob3: #818cf8;--blob4: #34d399;--sym: #92400e}.fx-blob{position:absolute;width:58vmax;height:58vmax;border-radius:50%;opacity:.55;will-change:transform;animation:fx-drift 26s ease-in-out infinite alternate}.fx-blob--1{background:radial-gradient(circle,var(--blob1) 0%,transparent 62%);top:-22vmax;right:-18vmax}.fx-blob--2{background:radial-gradient(circle,var(--blob2) 0%,transparent 62%);bottom:-26vmax;left:-20vmax;animation-duration:31s;animation-delay:-8s}.fx-blob--3{background:radial-gradient(circle,var(--blob3) 0%,transparent 62%);top:30%;left:35%;width:44vmax;height:44vmax;opacity:.38;animation-duration:23s;animation-delay:-14s}.fx-blob--4{background:radial-gradient(circle,var(--blob4) 0%,transparent 62%);bottom:-10vmax;right:10%;width:40vmax;height:40vmax;opacity:.42;animation-duration:35s;animation-delay:-4s}@keyframes fx-drift{0%{transform:translate(0) scale(1)}33%{transform:translate(6vmax,4vmax) scale(1.08)}66%{transform:translate(-4vmax,7vmax) scale(.94)}to{transform:translate(3vmax,-5vmax) scale(1.05)}}.fx-symbols{position:absolute;inset:0}.fx-sym{position:absolute;bottom:-12vh;color:var(--sym);opacity:0;font-family:Fredoka,Heebo,sans-serif;font-weight:700;line-height:1;animation:fx-float linear infinite;will-change:transform,opacity}@keyframes fx-float{0%{transform:translateY(0) rotate(0);opacity:0}10%{opacity:.22}85%{opacity:.22}to{transform:translateY(-125vh) rotate(var(--spin, 40deg));opacity:0}}body.fun h2{font-family:Fredoka,Heebo,sans-serif;font-size:1.6rem;color:#2a1f5c}body.fun .btn{transition:transform .12s ease,box-shadow .2s ease,filter .2s ease}body.fun .btn:active:not(:disabled){transform:translateY(1px) scale(.98)}body.fun .btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6 55%,#a855f7);color:#fff;box-shadow:0 6px 16px -6px #6366f1a6}body.fun .btn-primary:hover:not(:disabled){filter:brightness(1.07);box-shadow:0 10px 22px -8px #6366f1bf}body.fun .btn-accent{background:linear-gradient(135deg,#fb923c,#f97316 60%,#f59e0b);color:#fff;box-shadow:0 6px 16px -6px #f9731699}body.fun .btn-ghost{background:#ffffffbf;border-color:#6366f140;color:#4338ca}body.fun .btn-ghost:hover:not(:disabled){background:#fff;border-color:#818cf8}body.fun .back-link{color:#4338ca;font-weight:700;background:#ffffffb3;padding:6px 12px;border-radius:999px;font-size:.85rem}body.fun .card,body.fun .subject-card{background:#ffffffe0;border:1px solid rgba(255,255,255,.9);border-radius:22px;box-shadow:0 1px 2px #281e5a0d,0 14px 34px -18px #4c3cb459}body.fun .student-main>*{animation:fun-rise .55s cubic-bezier(.2,.8,.3,1) both}body.fun .student-main>*:nth-child(2){animation-delay:.06s}body.fun .student-main>*:nth-child(3){animation-delay:.12s}body.fun .student-main>*:nth-child(4){animation-delay:.18s}body.fun .student-main>*:nth-child(5){animation-delay:.24s}body.fun .student-main>*:nth-child(n+6){animation-delay:.3s}@keyframes fun-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}body.fun .student-top{position:relative;z-index:20;flex-wrap:wrap;gap:8px;background:#ffffffb8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.8);box-shadow:0 6px 20px -16px #281e5a80}body.fun .student-name{font-family:Fredoka,Heebo,sans-serif;font-size:1.2rem;color:#2a1f5c}body.fun .coin-badge{background:linear-gradient(135deg,#fff7d1,#ffe08a);border-color:#f5c542;color:#7a5200;box-shadow:0 4px 12px -6px #f5b400cc;position:relative;overflow:hidden}body.fun .coin-badge:after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.8),transparent);animation:coin-shine 4.5s ease-in-out infinite}@keyframes coin-shine{0%,70%{left:-60%}to{left:130%}}body.fun .subject-card{position:relative;overflow:hidden;padding-top:24px}body.fun .subject-card:before{content:"";position:absolute;inset:0 0 auto;height:7px;background:linear-gradient(90deg,#38bdf8,#818cf8,#f472b6,#fb923c);background-size:200% 100%;animation:bar-slide 6s linear infinite}@keyframes bar-slide{to{background-position:200% 0}}body.fun .subject-card__icon{width:54px;height:54px;border-radius:16px;font-size:1.7rem;background:linear-gradient(135deg,#e0e7ff,#fce7f3);box-shadow:inset 0 -3px #0000000f;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}body.fun .subject-card:hover .subject-card__icon{transform:rotate(-8deg) scale(1.08)}body.fun .subject-card h3{font-family:Fredoka,Heebo,sans-serif;font-size:1.25rem;color:#2a1f5c}body.fun .lesson-tile{background:#fff;border:2px solid #eef0fb;border-radius:14px;padding:13px 16px;font-weight:500;position:relative;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}body.fun .lesson-tile:not(.locked):hover{transform:translateY(-2px) translate(-2px);border-color:#a5b4fc;box-shadow:0 10px 20px -14px #4c3cb4b3}body.fun .lesson-tile .pill-accent{background:linear-gradient(135deg,#ffedd5,#fde68a);color:#9a4b00}body.fun .lesson-tile .pill-accent:before{content:"▶";font-size:.6rem}body.fun .progress-bar{height:12px;background:#6366f11f}body.fun .progress-bar__fill{background:linear-gradient(90deg,#22c55e,#14b8a6,#38bdf8);position:relative;transform-origin:right center;animation:bar-grow 1.1s cubic-bezier(.2,.8,.3,1) both}@keyframes bar-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}body.fun .explanation-card{background:linear-gradient(135deg,#fffbeb,#fff3d6);border-color:#fde68a}body.fun .landing__badge{font-size:4rem;filter:drop-shadow(0 10px 14px rgba(76,60,180,.25));animation:badge-bob 3.2s ease-in-out infinite}@keyframes badge-bob{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-10px) rotate(4deg)}}body.fun .landing__title{background:linear-gradient(90deg,#6366f1,#a855f7,#ec4899,#f97316,#6366f1);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:title-flow 8s linear infinite;font-size:clamp(2.4rem,7vw,3.8rem)}@keyframes title-flow{to{background-position:250% 0}}body.fun .landing__subtitle{color:#4c4470;font-weight:500}@media(min-width:641px){body.fun .role-grid{grid-template-columns:repeat(3,minmax(170px,210px))}}body.fun .role-card{background:#ffffffd9;border:2px solid rgba(255,255,255,.95);border-radius:24px;box-shadow:0 16px 36px -20px #4c3cb48c;animation:fun-rise .6s cubic-bezier(.2,.8,.3,1) both}body.fun .role-card:nth-child(2){animation-delay:.12s}body.fun .role-card:hover{transform:translateY(-6px) rotate(-1deg);border-color:#a5b4fc}body.fun .role-card__icon{font-size:3rem;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}body.fun .role-card:hover .role-card__icon{transform:scale(1.18) rotate(6deg)}body.fun .auth-card{background:#ffffffe6;border:2px solid #fff;border-radius:24px;box-shadow:0 20px 44px -24px #4c3cb499;animation:fun-rise .5s cubic-bezier(.2,.8,.3,1) both}.practice{display:flex;flex-direction:column;gap:14px}.practice-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.practice-head h2{flex:1;min-width:180px}.practice-tools{display:flex;gap:6px}.practice-tool{border:none;cursor:pointer;border-radius:999px;padding:8px 14px;font-weight:700;font-size:.85rem;background:#ffffffd9;color:#4338ca;box-shadow:0 4px 12px -8px #4c3cb499;transition:transform .15s ease}.practice-tool:hover{transform:translateY(-2px)}.practice-progress{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:18px;background:#fffc;box-shadow:0 8px 22px -18px #4c3cb4b3}.practice-track{flex:1;height:14px;border-radius:999px;background:#6366f121;overflow:hidden}.practice-track__fill{height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#22c55e,#14b8a6,#6366f1);background-size:200% 100%;animation:bar-slide 3s linear infinite;transition:width .6s cubic-bezier(.2,.8,.3,1)}.practice-count{font-weight:800;font-variant-numeric:tabular-nums;color:#2a1f5c;white-space:nowrap}.practice-stars{font-weight:800;color:#9a6b00;background:linear-gradient(135deg,#fff7d1,#ffe08a);padding:4px 12px;border-radius:999px;white-space:nowrap;font-variant-numeric:tabular-nums}.practice-stars.bump{animation:star-bump .5s cubic-bezier(.34,1.56,.64,1)}@keyframes star-bump{0%{transform:scale(1)}40%{transform:scale(1.35) rotate(-6deg)}to{transform:scale(1)}}.practice-dots{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.practice-dot{width:14px;height:14px;border-radius:50%;border:none;padding:0;cursor:pointer;background:#6366f133;transition:transform .2s ease,background .2s ease}.practice-dot:hover{transform:scale(1.3)}.practice-dot.is-current{background:#6366f1;transform:scale(1.35);box-shadow:0 0 0 4px #6366f133}.practice-dot.is-correct{background:#22c55e}.practice-dot.is-wrong{background:#f97316}.practice-dot.is-intro,.practice-dot.is-summary{border-radius:4px}.practice-stage{position:relative;min-height:260px}.ex-slide{outline:none}.ex-slide.slide-in-next{animation:slide-in-next .42s cubic-bezier(.2,.8,.3,1) both}.ex-slide.slide-in-prev{animation:slide-in-prev .42s cubic-bezier(.2,.8,.3,1) both}.ex-slide.slide-out-next{animation:slide-out-next .22s ease-in both}.ex-slide.slide-out-prev{animation:slide-out-prev .22s ease-in both}@keyframes slide-in-next{0%{opacity:0;transform:translate(-60px) scale(.97)}to{opacity:1;transform:none}}@keyframes slide-in-prev{0%{opacity:0;transform:translate(60px) scale(.97)}to{opacity:1;transform:none}}@keyframes slide-out-next{to{opacity:0;transform:translate(60px) scale(.97)}}@keyframes slide-out-prev{to{opacity:0;transform:translate(-60px) scale(.97)}}.practice-stage .exercise-card{border-radius:24px;padding:22px 22px 24px;gap:16px;box-shadow:0 2px 4px #281e5a0d,0 22px 44px -24px #4c3cb48c;border:2px solid rgba(255,255,255,.9);border-inline-start-width:7px;font-size:1.05rem}.practice-stage .exercise-card>.row p,.practice-stage .exercise-card>.row>p{font-size:1.15rem;font-weight:600;line-height:1.65;color:#1f1a3a}.practice-stage .exercise-badge{font-size:.85rem;padding:6px 14px}.practice-stage .exercise-illustration{width:58px;height:58px;border-radius:16px;animation:illo-wiggle 4s ease-in-out infinite}@keyframes illo-wiggle{0%,to{transform:rotate(0)}8%{transform:rotate(-6deg)}16%{transform:rotate(5deg)}24%{transform:rotate(0)}}.practice-stage .scene-illustration{max-width:480px;border-radius:22px;box-shadow:0 12px 28px -16px #00000059}.practice-stage .choice-btn{padding:15px 18px;border-radius:16px;border:2px solid rgba(99,102,241,.18);background:#fff;font-size:1.08rem;font-weight:600;color:#1f1a3a;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .2s ease}.practice-stage .choice-btn:hover:not(:disabled){transform:translateY(-2px);border-color:#818cf8;box-shadow:0 10px 18px -12px #4c3cb4b3}.practice-stage .choice-btn:disabled{cursor:default;opacity:1}.practice-stage .choice-btn.correct{background:#dcfce7;border-color:#22c55e;animation:choice-pop .45s cubic-bezier(.34,1.56,.64,1)}.practice-stage .choice-btn.correct:after{content:" ✓";color:#15803d;font-weight:800}.practice-stage .choice-btn.wrong{background:#ffedd5;border-color:#f97316;animation:qg-shake .4s}.practice-stage .choice-btn:disabled:not(.correct):not(.wrong){opacity:.55}@keyframes choice-pop{0%{transform:scale(1)}45%{transform:scale(1.04)}to{transform:scale(1)}}.practice-stage input[type=text].eng,.practice-stage .row>input[type=text]{font-size:1.2rem;padding:12px 16px;border-radius:14px;border:2px solid rgba(99,102,241,.3);background:#fff;min-width:180px;flex:1;max-width:360px}.practice-stage input[type=text]:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 4px #6366f12e}.practice-stage .success-text,.practice-stage .error-text{font-size:1rem;padding:8px 14px;border-radius:12px;width:fit-content;animation:fun-rise .35s cubic-bezier(.2,.8,.3,1) both}.practice-stage .success-text{background:#dcfce7;color:#166534}.practice-stage .error-text{background:#ffedd5;color:#9a3412}.exercise-card.ex-correct{animation:card-glow 1s ease-out}.exercise-card.ex-wrong,.exercise-card.ex-needs-answer{animation:qg-shake .4s}@keyframes card-glow{0%{box-shadow:0 0 #22c55e8c,0 22px 44px -24px #4c3cb48c}to{box-shadow:0 0 0 22px #22c55e00,0 22px 44px -24px #4c3cb48c}}.practice-nav{display:flex;gap:10px;align-items:center}.practice-nav .btn{padding:14px 22px;font-size:1.05rem;border-radius:16px}.practice-nav .btn-next{flex:1}.practice-nav .btn-prev{flex-shrink:0}.btn-next.is-ready{animation:next-pulse 1.4s ease-in-out infinite}@keyframes next-pulse{0%,to{box-shadow:0 6px 16px -6px #6366f1a6,0 0 #6366f173}50%{box-shadow:0 6px 16px -6px #6366f1a6,0 0 0 10px #6366f100}}.intro-slide{background:#ffffffe6;border-radius:26px;padding:24px 22px;box-shadow:0 22px 44px -24px #4c3cb48c;border:2px solid #fff;display:flex;flex-direction:column;gap:16px}.intro-hero{display:flex;align-items:center;gap:16px}.intro-hero__illo{width:96px;height:96px;flex-shrink:0;border-radius:26px;overflow:hidden;box-shadow:0 12px 24px -12px #00000059;animation:badge-bob 3.4s ease-in-out infinite}.intro-hero__illo svg{width:100%;height:100%;display:block}.intro-hero__emoji{width:96px;height:96px;flex-shrink:0;border-radius:26px;font-size:3.2rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e0e7ff,#fce7f3);animation:badge-bob 3.4s ease-in-out infinite}.intro-hero__title{font-family:Fredoka,Heebo,sans-serif;font-size:1.45rem;font-weight:700;color:#2a1f5c;margin:0}.intro-hero__sub{margin:4px 0 0;color:#5b5480;font-size:.95rem}.intro-steps{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.intro-step{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:16px;background:linear-gradient(135deg,#f5f3ff,#fdf2f8);font-size:1.05rem;line-height:1.7;color:#1f1a3a;opacity:0;animation:step-in .55s cubic-bezier(.2,.8,.3,1) forwards}.intro-step:nth-child(3n+2){background:linear-gradient(135deg,#ecfeff,#f0fdf4)}.intro-step:nth-child(3n+3){background:linear-gradient(135deg,#fffbeb,#fff1f2)}.intro-step__num{flex-shrink:0;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6366f1,#a855f7);color:#fff;font-weight:800;font-size:.9rem;margin-top:2px}@keyframes step-in{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}.intro-passage{background:linear-gradient(180deg,#fffdf5,#fff6dd);border:2px solid #f3dca0;border-radius:18px;padding:18px 20px;white-space:pre-wrap;line-height:1.9;font-size:1.08rem;color:#3b2e0a;max-height:55vh;overflow-y:auto}.intro-go{align-self:center;padding:15px 34px!important;font-size:1.15rem!important;border-radius:999px!important}.summary-slide{background:#ffffffeb;border-radius:26px;padding:28px 22px;box-shadow:0 22px 44px -24px #4c3cb48c;border:2px solid #fff;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}.summary-ring{width:170px;height:170px;position:relative}.summary-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.summary-ring__track{fill:none;stroke:#6366f124;stroke-width:14}.summary-ring__value{fill:none;stroke:url(#summaryGrad);stroke-width:14;stroke-linecap:round;transition:stroke-dashoffset 1.4s cubic-bezier(.2,.8,.3,1)}.summary-ring__label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:Fredoka,Heebo,sans-serif}.summary-ring__pct{font-size:2.4rem;font-weight:700;color:#2a1f5c;font-variant-numeric:tabular-nums}.summary-ring__sub{font-size:.85rem;color:#5b5480}.summary-stars{display:flex;gap:8px;font-size:2.4rem}.summary-star{opacity:.2;filter:grayscale(1);transform:scale(.6);transition:all .5s cubic-bezier(.34,1.56,.64,1)}.summary-star.on{opacity:1;filter:none;transform:scale(1)}.summary-title{font-family:Fredoka,Heebo,sans-serif;font-size:1.5rem;font-weight:700;color:#2a1f5c;margin:0}.summary-text{color:#4c4470;margin:0;max-width:42ch}.summary-actions{display:flex;flex-direction:column;gap:10px;width:100%;max-width:360px}.summary-actions .btn{padding:15px 20px;font-size:1.1rem;border-radius:999px}.fx-confetti-layer{position:fixed;inset:0;pointer-events:none;z-index:120;overflow:hidden}.fx-confetti{position:absolute;width:9px;height:13px;border-radius:2px;animation:confetti-burst 1.1s cubic-bezier(.15,.7,.3,1) forwards}@keyframes confetti-burst{0%{transform:translate(0) rotate(0) scale(1);opacity:1}to{transform:translate(var(--dx),calc(var(--dy) + 90px)) rotate(var(--rot)) scale(.6);opacity:0}}.fx-confetti--rain{animation-name:confetti-rain;animation-timing-function:linear;animation-fill-mode:both}@keyframes confetti-rain{0%{transform:translate(0) rotate(0);opacity:1}to{transform:translate(var(--dx),110vh) rotate(var(--rot));opacity:.9}}.fx-float-text{position:fixed;z-index:121;pointer-events:none;font-weight:800;font-size:1.3rem;color:#16a34a;text-shadow:0 2px 0 #fff;transform:translate(-50%);animation:float-up 1.1s cubic-bezier(.2,.8,.3,1) forwards;font-family:Fredoka,Heebo,sans-serif}@keyframes float-up{0%{opacity:0;transform:translate(-50%,10px) scale(.7)}25%{opacity:1;transform:translate(-50%,-10px) scale(1.15)}to{opacity:0;transform:translate(-50%,-70px) scale(1)}}body.fun .vocab-card{background:linear-gradient(135deg,#eef2ff,#fdf2f8);border:2px solid #fff;border-radius:16px;box-shadow:0 8px 18px -14px #4c3cb4b3;transition:transform .2s ease}body.fun .vocab-card:hover{transform:translateY(-3px) rotate(-1deg)}body.fun .vocab-card.flip-anim{animation:card-flip .4s ease}@keyframes card-flip{0%{transform:rotateY(0)}50%{transform:rotateY(90deg)}to{transform:rotateY(0)}}body.fun .memory-card{background:linear-gradient(135deg,#6366f1,#a855f7);border-radius:14px;box-shadow:0 8px 16px -10px #4c3cb4cc;transition:transform .2s ease}body.fun .memory-card:hover:not(.matched){transform:translateY(-2px) scale(1.03)}body.fun .memory-card.flipped{animation:card-flip .35s ease;background:#fff}body.fun .memory-card.matched{animation:choice-pop .45s cubic-bezier(.34,1.56,.64,1)}body.fun .toast{background:linear-gradient(135deg,#312e81,#6d28d9);color:#fff;font-weight:700;padding:12px 22px;animation:toast-in .35s cubic-bezier(.34,1.56,.64,1)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,20px) scale(.9)}to{opacity:1;transform:translate(-50%) scale(1)}}@media(min-width:700px){body.fun .student-top{position:sticky;top:0}}@media(max-width:560px){.practice-stage .exercise-card{padding:18px 14px 20px;border-radius:20px}.practice-stage .exercise-card>.row p{font-size:1.05rem}.intro-hero__illo,.intro-hero__emoji{width:72px;height:72px;font-size:2.4rem}.practice-progress{padding:8px 10px;gap:8px}.practice-nav .btn{padding:13px 14px}body.fun .student-top{padding:10px 12px}}@media(prefers-reduced-motion:reduce){.fx-blob,.fx-sym,body.fun .coin-badge:after,body.fun .subject-card:before,body.fun .progress-bar__fill,body.fun .landing__badge,body.fun .landing__title,body.fun .role-card,body.fun .auth-card,body.fun .student-main>*,.practice-track__fill,.ex-slide,.intro-step,.intro-hero__illo,.intro-hero__emoji,.btn-next.is-ready,.practice-stage .exercise-illustration,.exercise-card.ex-correct,.exercise-card.ex-wrong,.practice-stars.bump,body.fun .vocab-card.flip-anim,body.fun .memory-card.flipped,body.fun .memory-card.matched,body.fun .toast,.practice-stage .choice-btn.correct,.practice-stage .choice-btn.wrong{animation:none!important}.intro-step{opacity:1}.fx-sym{display:none}}.hero-card{position:relative;overflow:hidden;display:flex;align-items:center;gap:18px;padding:22px 24px;border-radius:26px;color:#fff;background:linear-gradient(120deg,#6366f1,#8b5cf6 45%,#ec4899);background-size:180% 180%;animation:hero-shift 10s ease-in-out infinite alternate;box-shadow:0 22px 40px -22px #6366f1e6}.hero-card:before,.hero-card:after{content:"";position:absolute;border-radius:50%;background:#ffffff24;pointer-events:none}.hero-card:before{width:220px;height:220px;top:-90px;left:-60px}.hero-card:after{width:140px;height:140px;bottom:-70px;left:30%}@keyframes hero-shift{0%{background-position:0% 50%}to{background-position:100% 50%}}.hero-card__mascot{font-size:3.4rem;flex-shrink:0;width:86px;height:86px;border-radius:26px;display:flex;align-items:center;justify-content:center;background:#fff3;animation:rocket-hover 2.6s ease-in-out infinite;position:relative;z-index:1}@keyframes rocket-hover{0%,to{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-8px) rotate(4deg)}}.hero-card__body{position:relative;z-index:1;display:flex;flex-direction:column;gap:6px;align-items:flex-start}body.fun .hero-card__title{color:#fff;font-size:1.5rem;margin:0}.hero-card__sub{margin:0;opacity:.95;font-weight:500}.hero-card__go{margin-top:6px;border-radius:999px!important;padding:11px 22px!important;font-size:1rem}@media(max-width:560px){.hero-card{padding:18px 16px;gap:12px}.hero-card__mascot{width:64px;height:64px;font-size:2.4rem}body.fun .hero-card__title{font-size:1.2rem}}@media(prefers-reduced-motion:reduce){.hero-card,.hero-card__mascot{animation:none!important}}.av-idle{animation:av-breathe 3.2s ease-in-out infinite;transform-origin:150px 350px}@keyframes av-breathe{0%,to{transform:translateY(0) scaleY(1)}50%{transform:translateY(-3px) scaleY(1.008)}}.av-blink{animation:av-blink 4.6s infinite;transform-box:fill-box;transform-origin:center}@keyframes av-blink{0%,93%,to{transform:scaleY(1)}96%{transform:scaleY(.08)}}.av-sway{animation:av-sway 3.6s ease-in-out infinite;transform-origin:150px 190px}@keyframes av-sway{0%,to{transform:skew(0)}50%{transform:skew(-3deg)}}.av-flap{animation:av-flap 1.8s ease-in-out infinite;transform-origin:150px 220px}@keyframes av-flap{0%,to{transform:scaleX(1)}50%{transform:scaleX(.92)}}.char-main{max-width:1100px}.char-layout{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:20px;align-items:start}.char-stage-col{position:sticky;top:84px;display:flex;flex-direction:column;gap:12px}.char-stage{position:relative;border-radius:28px;overflow:hidden;padding:18px 18px 14px;background:radial-gradient(ellipse at 50% 88%,#ffffffe6,#fff0 55%),radial-gradient(circle at 20% 15%,#fde68a,#fde68a00 40%),radial-gradient(circle at 85% 20%,#f9a8d4,#f9a8d400 42%),linear-gradient(170deg,#c7d2fe,#e9d5ff 55%,#fbcfe8);box-shadow:0 24px 44px -26px #4c3cb4cc,inset 0 0 0 3px #ffffffb3;transition:box-shadow .3s ease}.char-stage.is-trying{box-shadow:0 24px 44px -26px #f97316cc,inset 0 0 0 4px #fb923c}.char-avatar{width:100%;max-width:300px;margin:0 auto}.char-avatar .character-svg{width:100%;height:auto;display:block}.char-avatar.char-pop{animation:char-pop .5s cubic-bezier(.34,1.56,.64,1)}@keyframes char-pop{0%{transform:scale(1)}40%{transform:scale(1.06) translateY(-6px)}to{transform:scale(1)}}.char-nametag{width:fit-content;margin:-4px auto 0;padding:6px 18px;border-radius:999px;background:#ffffffe6;color:#2a1f5c;font-weight:800;font-family:Fredoka,Heebo,sans-serif;box-shadow:0 6px 14px -8px #4c3cb4b3}.char-try-ribbon{position:absolute;top:14px;inset-inline-start:14px;z-index:2;background:linear-gradient(135deg,#fb923c,#f97316);color:#fff;font-weight:800;font-size:.85rem;padding:5px 12px;border-radius:999px;box-shadow:0 6px 14px -8px #f97316e6;animation:fun-rise .3s ease both}.char-stage__sparkles span{position:absolute;color:#fff;font-size:1.3rem;opacity:.85;animation:twinkle 2.4s ease-in-out infinite}.char-stage__sparkles span:nth-child(1){top:12%;left:12%}.char-stage__sparkles span:nth-child(2){top:30%;right:10%;animation-delay:.6s;font-size:1rem}.char-stage__sparkles span:nth-child(3){top:58%;left:8%;animation-delay:1.2s;font-size:.9rem}.char-stage__sparkles span:nth-child(4){top:8%;right:30%;animation-delay:1.8s}@keyframes twinkle{0%,to{transform:scale(.6);opacity:.3}50%{transform:scale(1.15);opacity:1}}.char-buybar{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-radius:20px;background:#fff;border:2px solid #fdba74;box-shadow:0 16px 30px -20px #f97316e6;animation:fun-rise .3s cubic-bezier(.2,.8,.3,1) both}.char-buybar__text{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.char-buybar__text strong{font-size:1.1rem;color:#2a1f5c}.char-buybar__price{font-weight:800;color:#9a6b00;background:linear-gradient(135deg,#fff7d1,#ffe08a);padding:3px 10px;border-radius:999px}.char-buybar__missing{width:100%;color:#9a3412;font-weight:600;font-size:.9rem}.char-buybar__text .hint-text{width:100%}.char-buybar__actions{display:flex;gap:8px}.char-buybar__actions .btn-accent{flex:1;border-radius:999px;padding:12px 16px}.char-buybar__actions .btn-ghost{border-radius:999px}.char-shop-col{display:flex;flex-direction:column;gap:14px}.char-shop-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}.char-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.char-tab{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;cursor:pointer;border:2px solid #e0e7ff;background:#fff;color:#4338ca;font-weight:700;font-size:.92rem;padding:8px 14px;border-radius:999px;transition:transform .15s ease,background .2s ease}.char-tab:hover{transform:translateY(-2px)}.char-tab.is-active{background:linear-gradient(135deg,#6366f1,#a855f7);border-color:transparent;color:#fff;box-shadow:0 8px 16px -10px #6366f1e6}.char-tab__icon{font-size:1.15rem}.char-sections{display:flex;flex-direction:column;gap:18px}.char-section{animation:fun-rise .35s cubic-bezier(.2,.8,.3,1) both}.char-section__title{font-weight:800;color:#2a1f5c;margin-bottom:8px;font-size:.98rem}.char-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px}.char-grid--colors{grid-template-columns:repeat(auto-fill,minmax(86px,1fr))}.char-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px 10px;border-radius:18px;border:2px solid #eef0fb;background:#fff;cursor:pointer;font-family:inherit;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.char-item:hover{transform:translateY(-3px);border-color:#a5b4fc;box-shadow:0 12px 20px -14px #4c3cb4cc}.char-item__swatch{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.9rem;background:linear-gradient(135deg,#eef2ff,#fdf2f8)}.char-item__swatch.is-color{border-radius:50%;box-shadow:inset 0 -4px #0000001f,0 0 0 3px #fff,0 0 0 5px #e5e7eb}.char-item__name{font-size:.82rem;font-weight:700;color:#2a1f5c;text-align:center;line-height:1.25}.char-item__status{font-size:.75rem;font-weight:800;color:#6b6577}.char-item.is-locked .char-item__status{color:#9a6b00;background:#fff4d1;padding:2px 8px;border-radius:999px}.char-item.is-pricey{opacity:.7}.char-item.is-pricey:hover{opacity:1}.char-item.is-active{border-color:#22c55e;background:#f0fdf4}.char-item.is-active .char-item__status{color:#15803d}.char-item.is-trying{border-color:#fb923c;background:#fff7ed;box-shadow:0 0 0 4px #fb923c40}.char-item.is-locked:after{content:"🔒";position:absolute;top:6px;inset-inline-end:8px;font-size:.8rem;opacity:.7}.char-extras{display:grid;grid-template-columns:1fr 2fr;gap:16px}.char-extras .card+.card{margin-top:0}body.fun .badges-row{display:flex;flex-wrap:wrap;gap:10px}body.fun .badge-chip{width:92px;padding:10px 6px;border-radius:16px;background:#f5f3ff;text-align:center;opacity:.55;display:flex;flex-direction:column;align-items:center;gap:4px}body.fun .badge-chip--unlocked{opacity:1;background:linear-gradient(135deg,#fef3c7,#fde68a);box-shadow:0 8px 16px -12px #ca8a04e6}body.fun .badge-chip__emoji{font-size:1.8rem}body.fun .pet-display{text-align:center;animation:badge-bob 3s ease-in-out infinite}@media(max-width:800px){.char-layout{grid-template-columns:1fr}.char-stage-col{position:static}.char-avatar{max-width:230px}.char-extras{grid-template-columns:1fr}}.hero-card__mascot--avatar{width:104px;height:118px;padding:4px 4px 0;cursor:pointer;animation:none;overflow:hidden;align-items:flex-end}.hero-card__mascot--avatar svg{width:100%;height:100%;display:block}.hero-card__mascot--avatar:hover{transform:scale(1.05) rotate(-3deg);transition:transform .2s ease}@media(prefers-reduced-motion:reduce){.av-idle,.av-blink,.av-sway,.av-flap,.char-avatar.char-pop,.char-stage__sparkles span,.char-section,.char-buybar,body.fun .pet-display{animation:none!important}}.hero-card__mascot--avatar{border:none;font:inherit}@media(max-width:560px){.hero-card__mascot--avatar{width:80px;height:92px}}.char-layout>*,.char-extras>*{min-width:0}.char-buybar__actions .btn{white-space:nowrap}.wx-player{border-radius:22px;padding:14px;display:flex;flex-direction:column;gap:10px;background:linear-gradient(160deg,#eef2ff,#fdf2f8);border:2px solid #fff;box-shadow:0 14px 30px -20px #4c3cb4b3}.wx-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.wx-title{font-weight:800;color:#2a1f5c;font-size:1rem}.wx-stage{background:#fff;border-radius:16px;overflow:hidden;box-shadow:inset 0 0 0 2px #e0e7ff}.wx-stage svg{display:block;width:100%;height:auto;max-height:300px}.wx-caption{margin:0;min-height:3.2em;font-size:1.08rem;line-height:1.7;color:#1f1a3a;font-weight:500}.wx-caption--in{animation:fun-rise .4s cubic-bezier(.2,.8,.3,1) both}.wx-controls{display:flex;gap:8px;justify-content:center}.wx-btn{border:none;cursor:pointer;font-family:inherit;font-weight:800;font-size:1rem;background:#fff;color:#4338ca;border-radius:999px;padding:9px 16px;min-width:46px;box-shadow:0 6px 14px -10px #4c3cb4cc;transition:transform .12s ease}.wx-btn:hover:not(:disabled){transform:translateY(-2px)}.wx-btn:disabled{opacity:.35;cursor:default}.wx-btn--play{background:linear-gradient(135deg,#6366f1,#a855f7);color:#fff;min-width:120px}.wx-btn--speak{padding:6px 12px;font-size:1.05rem}.wx-btn--speak.is-on{background:#fde68a;box-shadow:0 0 0 3px #fbbf24}.wx-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.wx-dots{display:flex;gap:6px}.wx-dot{width:11px;height:11px;border-radius:50%;border:none;padding:0;cursor:pointer;background:#c7d2fe}.wx-dot.is-done{background:#a5b4fc}.wx-dot.is-on{background:#6366f1;transform:scale(1.3)}.wx-counter{font-size:.8rem;color:#5b5480;font-weight:600}.wx-new{animation:wx-pop .5s cubic-bezier(.34,1.56,.64,1) both;transform-box:fill-box;transform-origin:center}@keyframes wx-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.wx-glow{animation:wx-glow 1s ease-out;transform-box:fill-box;transform-origin:center}@keyframes wx-glow{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}.wx-rotate{animation:wx-rotate 1.4s cubic-bezier(.4,.1,.3,1) both}@keyframes wx-rotate{0%{transform:rotate(var(--from, 0deg))}to{transform:rotate(var(--to, 90deg))}}.wx-slide{animation:wx-slide 1.2s cubic-bezier(.4,.1,.3,1) both}@keyframes wx-slide{0%{transform:translate(0)}to{transform:translate(var(--dx, 60px))}}.speak-he-btn{border:none;background:#ffffffe6;cursor:pointer;border-radius:999px;font-size:1rem;padding:4px 9px;box-shadow:0 4px 10px -6px #4c3cb4b3;flex-shrink:0;line-height:1.2}.speak-he-btn.is-speaking{background:#fde68a;animation:star-bump .8s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.wx-new,.wx-glow,.wx-caption--in,.speak-he-btn.is-speaking{animation:none!important}.wx-rotate,.wx-slide{animation-duration:.01s!important}}.wx-stage svg{direction:ltr}.question-row{flex-wrap:nowrap;align-items:flex-start}.question-row>p{flex:1;min-width:0}.question-row .speak-he-btn,.question-row .exercise-speak{margin-top:2px}.intro-hero__title .speak-he-btn{font-size:.9rem;vertical-align:middle}.retry-hint{margin:0;padding:10px 14px;border-radius:14px;background:#fef3c7;color:#78350f;font-weight:600;border:2px dashed #fbbf24;line-height:1.6}.retry-hint--in{animation:fun-rise .35s cubic-bezier(.2,.8,.3,1) both}.practice-stage .choice-btn.wrong--soft{background:#fff7ed;border-color:#fdba74;text-decoration:line-through;opacity:.7}.practice-stage .choice-btn.wrong--soft:after{content:" ✗";color:#c2410c}.practice-dot.is-retry{background:#facc15}@media(prefers-reduced-motion:reduce){.retry-hint--in{animation:none!important}}.review-card{display:flex;align-items:center;gap:14px;border:2px solid #fde68a!important;background:linear-gradient(135deg,#fffbeb,#fff)!important}.review-card__icon{font-size:2.2rem;width:58px;height:58px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:#fef3c7;flex-shrink:0;animation:badge-bob 3s ease-in-out infinite}.review-card__body{flex:1;min-width:0}.review-card__go{border-radius:999px!important;flex-shrink:0}@media(max-width:560px){.review-card{flex-wrap:wrap}.review-card__go{width:100%}}@media(prefers-reduced-motion:reduce){.review-card__icon{animation:none!important}}.journey{margin:4px 0 10px}.journey-path{display:flex;flex-direction:column;align-items:center;padding:10px 0 4px}.journey-node{position:relative;height:96px;width:76px;transform:translate(var(--off, 0px));display:flex;flex-direction:column;align-items:center;justify-content:flex-start;background:none;border:none;cursor:pointer;font-family:inherit;padding:0}.journey-node:before{content:"";position:absolute;left:calc(50% - 3px);bottom:calc(100% - 32px);width:6px;height:var(--conn-len, 96px);transform-origin:bottom center;transform:rotate(var(--conn-rot, 0deg));z-index:0;opacity:var(--conn-show, 1);background:repeating-linear-gradient(to top,#c7d2fe 0 8px,transparent 8px 14px);border-radius:3px;-webkit-mask-image:linear-gradient(to top,transparent 0 36px,#000 36px calc(100% - 38px),transparent calc(100% - 38px));mask-image:linear-gradient(to top,transparent 0 36px,#000 36px calc(100% - 38px),transparent calc(100% - 38px))}@media(max-width:560px){.journey .journey-node{transform:translate(calc(var(--off, 0px) / 2))}.journey .journey-node:before{height:var(--conn-len-m, 96px);transform:rotate(var(--conn-rot-m, 0deg))}.journey .journey-node__label{max-width:92px;font-size:.72rem;padding:3px 7px}.journey .journey-node.is-current .journey-node__label{max-width:84px}}.journey-node.is-done:before,.journey-node.is-current:before{background:repeating-linear-gradient(to top,#86efac 0 8px,transparent 8px 14px)}.journey-node__circle{position:relative;z-index:1;width:64px;height:64px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.35rem;background:#fff;color:#4338ca;border:4px solid #c7d2fe;box-shadow:0 6px #c7d2fe,0 12px 20px -12px #4c3cb4b3;transition:transform .15s ease}.journey-node:hover .journey-node__circle{transform:translateY(-3px) scale(1.05)}.journey-node.is-done .journey-node__circle{background:linear-gradient(135deg,#4ade80,#16a34a);color:#fff;border-color:#bbf7d0;box-shadow:0 6px #15803d,0 12px 20px -12px #16a34acc}.journey-node.is-current .journey-node__circle{width:76px;height:76px;margin-top:-6px;font-size:1.6rem;background:linear-gradient(135deg,#fb923c,#f97316);color:#fff;border-color:#fed7aa;box-shadow:0 6px #c2410c,0 0 #f9731680;animation:journey-pulse 1.8s ease-in-out infinite}@keyframes journey-pulse{0%,to{box-shadow:0 6px #c2410c,0 0 #f9731673}50%{box-shadow:0 6px #c2410c,0 0 0 14px #f9731600}}.journey-node.is-open .journey-node__circle{background:#fff;color:#6366f1}.journey-node__label{position:absolute;top:32px;transform:translateY(-50%);z-index:1;display:flex;flex-direction:column;align-items:flex-start;font-size:.8rem;font-weight:700;color:#2a1f5c;line-height:1.25;width:max-content;max-width:150px;text-align:start;background:#ffffffe6;padding:4px 10px;border-radius:12px;box-shadow:0 4px 10px -8px #4c3cb499}.journey-node.label-left .journey-node__label{right:calc(100% + 4px)}.journey-node.label-right .journey-node__label{left:calc(100% + 4px)}.journey-node__label>span:first-child{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.journey-node__stars{font-size:.65rem;letter-spacing:-1px}.journey-me{position:absolute;z-index:2;top:-8px;width:56px;height:64px;filter:drop-shadow(0 4px 6px rgba(40,30,90,.3));animation:badge-bob 2.6s ease-in-out infinite}.journey-me svg{width:100%;height:100%;display:block}.journey-node.label-left .journey-me{left:calc(100% + 2px)}.journey-node.label-right .journey-me{right:calc(100% + 2px)}.journey-bubble{position:absolute;z-index:3;top:-30px;left:50%;transform:translate(-50%);white-space:nowrap;background:#2a1f5c;color:#fff;font-size:.75rem;font-weight:800;padding:4px 10px;border-radius:999px}.journey-more{display:block;margin:0 auto 4px;border:2px dashed #c7d2fe;background:#fffc;color:#4338ca;font-family:inherit;font-weight:700;font-size:.85rem;border-radius:999px;padding:6px 14px;cursor:pointer}.journey-finish{margin-top:8px;font-weight:800;color:#15803d;background:#dcfce7;padding:8px 16px;border-radius:999px}.journey-toggle{display:block;margin:6px auto 0;border-radius:999px!important}.lesson-list{margin-bottom:8px}.journey-path{padding-top:34px}@media(prefers-reduced-motion:reduce){.journey-node.is-current .journey-node__circle,.journey-me{animation:none!important}}.daily-goal{display:inline-flex;align-items:center;gap:8px;background:#ffffff29;padding:4px 12px 4px 6px;border-radius:999px}.daily-goal__ring{position:relative;width:40px;height:40px;flex-shrink:0}.daily-goal__ring svg{width:100%;height:100%;display:block}.daily-goal__ring b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.72rem}.daily-goal__val{transition:stroke-dashoffset 1.2s cubic-bezier(.2,.8,.3,1)}.daily-goal__text{font-weight:700;font-size:.9rem}.daily-goal.is-done{background:#fde0474d}.sfx-toggle{min-width:40px}body.fun .vocab-card--in{animation:fun-rise .45s cubic-bezier(.2,.8,.3,1) backwards}body.fun .vocab-card.is-spotlight{transform:scale(1.12) rotate(-2deg);z-index:2;border-color:#fbbf24;box-shadow:0 0 0 4px #fde68a,0 16px 30px -16px #ca8a04e6;background:linear-gradient(135deg,#fffbeb,#fef3c7)}body.fun .vocab-card{transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease}.word-parade-btn{border-radius:999px!important}.vocab-card.is-saying{border-color:#fbbf24;box-shadow:0 0 0 3px #fde68a}@media(prefers-reduced-motion:reduce){body.fun .vocab-card--in{animation:none!important}}.boot-loader{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:linear-gradient(160deg,#dff3ff,#efe7ff,#ffe9dc);z-index:1}.boot-loader__badge{font-size:4rem;animation:badge-bob 1.6s ease-in-out infinite;filter:drop-shadow(0 10px 14px rgba(76,60,180,.25))}.boot-loader__title{font-family:Fredoka,Heebo,sans-serif;font-weight:700;font-size:1.8rem;background:linear-gradient(90deg,#6366f1,#a855f7,#ec4899);-webkit-background-clip:text;background-clip:text;color:transparent}.boot-dots{display:flex;gap:8px}.boot-dots span{width:12px;height:12px;border-radius:50%;background:#6366f1;animation:boot-dot 1s ease-in-out infinite}.boot-dots span:nth-child(2){animation-delay:.15s;background:#a855f7}.boot-dots span:nth-child(3){animation-delay:.3s;background:#ec4899}@keyframes boot-dot{0%,to{transform:translateY(0);opacity:.5}50%{transform:translateY(-10px);opacity:1}}.skeleton{border-radius:22px;background:linear-gradient(100deg,#ffffff8c 20%,#fffffff2,#ffffff8c 60%);background-size:250% 100%;animation:skel-shimmer 1.3s linear infinite;box-shadow:0 14px 34px -22px #4c3cb466}.skeleton--hero{height:160px}.skeleton--card{height:220px}@keyframes skel-shimmer{0%{background-position:100% 0}to{background-position:-150% 0}}@media(prefers-reduced-motion:reduce){.boot-loader__badge,.boot-dots span,.skeleton{animation:none!important}}body.fun.early-reader{font-size:18px}body.early-reader .practice-stage .exercise-card>.row p,body.early-reader .practice-stage .question-row>p{font-size:1.45rem;line-height:1.7}body.early-reader .practice-stage .choice-btn{font-size:1.4rem;padding:20px 22px;min-height:68px;text-align:center}body.early-reader .practice-stage input[type=text]{font-size:1.6rem;padding:14px 18px}body.early-reader .practice-nav .btn{font-size:1.25rem;padding:18px 24px}body.early-reader .speak-he-btn{font-size:1.4rem;padding:8px 14px}body.early-reader .journey-node__label{font-size:.95rem}body.early-reader .intro-step{font-size:1.25rem}.xe-scene{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;padding:16px 12px;background:linear-gradient(135deg,#fff7ed,#eef2ff);border-radius:20px;min-height:120px}.xe-box{display:grid;grid-template-columns:repeat(5,auto);gap:4px 6px;padding:10px 12px;background:#fffc;border:2px solid #e0e7ff;border-radius:16px;box-shadow:0 6px 14px -10px #2a1f5c73}.xe-box.xe-pairs{grid-template-columns:repeat(2,auto);column-gap:3px}.xe-groups .xe-box{grid-template-columns:repeat(5,auto)}.xe-item{display:inline-block;line-height:1;animation:scene-pop .45s cubic-bezier(.34,1.56,.64,1) both;position:relative}.xe-lg .xe-item{font-size:2.1rem}.xe-md .xe-item{font-size:1.6rem}.xe-sm .xe-item{font-size:1.2rem}.xe-item.xe-out{opacity:.35;filter:grayscale(.7)}.xe-item.xe-out:after{content:"✕";position:absolute;inset:0;display:grid;place-items:center;color:#e11d48;font-size:.9em;font-weight:900;opacity:1;filter:none}.xe-op{font-size:2.2rem;font-weight:800;color:#6366f1;font-family:Fredoka,Heebo,sans-serif}.xe-caption{flex-basis:100%;text-align:center;font-weight:700;color:#4338ca;font-size:.95rem}.xs-spin{animation:xs-spin 1.4s cubic-bezier(.2,.8,.3,1) both;transform-box:view-box}@keyframes xs-spin{0%{transform:rotate(-540deg)}to{transform:rotate(35deg)}}@media(max-width:480px){.xe-lg .xe-item{font-size:1.7rem}.xe-md .xe-item{font-size:1.3rem}.xe-box{padding:8px}}@media(prefers-reduced-motion:reduce){.xe-item,.xs-spin{animation:none!important}}.choice-btn.choice-btn--emoji{font-size:2.6rem;line-height:1.1;padding:10px 12px;min-height:72px;display:inline-flex;align-items:center;justify-content:center}.vocab-card--pic{flex-direction:column;gap:4px}.vocab-card__emoji{font-size:2.4rem;line-height:1}body.early-reader .choice-btn.choice-btn--emoji{font-size:3rem;min-height:86px}.read-card{position:relative;background:#fffaf0;border:2px solid #fed7aa;border-radius:18px;padding:16px 18px 16px 52px;margin:4px 0 10px;font-size:1.15rem;line-height:1.9;white-space:pre-line;color:#3b2a1a;box-shadow:0 8px 20px -16px #c2410c99}.read-card--niqqud{font-size:1.7rem;line-height:2.1;font-family:Noto Sans Hebrew,Arial Hebrew,Arial,Heebo,sans-serif;text-align:center;padding-inline:18px 18px}.read-card .speak-he-btn{position:absolute;top:10px;left:10px}.q-niqqud{font-size:1.35em;line-height:1.9;font-family:Noto Sans Hebrew,Arial Hebrew,Arial,Heebo,sans-serif}.choice-btn.choice-btn--big{font-size:1.7rem;line-height:1.6;font-family:Noto Sans Hebrew,Arial Hebrew,Arial,Heebo,sans-serif}.fx-bg[data-theme=hebrew]{--fx-a: #fff1e6;--fx-b: #fef9c3;--fx-c: #e0f2fe;--blob1: #fb923c;--blob2: #facc15;--blob3: #38bdf8;--blob4: #f472b6;--sym: #c2410c}.practice-stage .choice-btn.choice-btn--big,body.early-reader .practice-stage .choice-btn.choice-btn--big{font-size:2.3rem;line-height:1.55;padding-block:8px}.practice-stage .choice-btn.choice-btn--emoji{font-size:2.6rem}body.early-reader .practice-stage .choice-btn.choice-btn--emoji{font-size:3rem}.read-card.read-card--niqqud.read-card--long{font-size:1.2rem;line-height:2}.slow-load-card{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.load-error-card{max-width:420px;margin:40px auto;text-align:center}:root{--hm-good: #d7f2e3;--hm-good-t: #17754c;--hm-mid: #fdf0cf;--hm-mid-t: #8a5a00;--hm-low: #fbdcd8;--hm-low-t: #b3261e}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--hm-good: #1d3d2d;--hm-good-t: #7fd9aa;--hm-mid: #3d3218;--hm-mid-t: #f3c969;--hm-low: #45211e;--hm-low-t: #f19a91}}:root[data-theme=dark]{--hm-good: #1d3d2d;--hm-good-t: #7fd9aa;--hm-mid: #3d3218;--hm-mid-t: #f3c969;--hm-low: #45211e;--hm-low-t: #f19a91}.pill-danger{background:var(--danger-soft);color:var(--danger)}.btn-danger-text{color:var(--danger)!important;font-weight:700}.stat-tile--warn .stat-tile__value{color:var(--danger)}.teacher-summary .stat-row{margin-bottom:12px}.teacher-summary .stat-tile{flex:1 1 150px}.teacher-summary+.card,.teacher-summary .inactive-card{margin-bottom:16px}.inactive-card{padding:14px 18px}.inactive-card .chip{background:var(--surface-2)}.hm-legend{display:flex;gap:4px;flex-wrap:wrap}.hm-cell{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:26px;padding:0 6px;border-radius:6px;font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums}.hm-good{background:var(--hm-good);color:var(--hm-good-t)}.hm-mid{background:var(--hm-mid);color:var(--hm-mid-t)}.hm-low{background:var(--hm-low);color:var(--hm-low-t)}.hm-none{background:var(--surface-2);color:var(--text-muted)}.hm-wrap{margin-top:12px}table.heatmap{width:auto;min-width:100%}table.heatmap th,table.heatmap td{padding:3px;border-bottom:none;text-align:center}table.heatmap .hm-name{text-align:right;white-space:nowrap;padding-left:10px;font-weight:500;position:sticky;right:0;background:var(--surface);z-index:1}table.heatmap .hm-cell{width:100%}.hm-colbtn{width:34px;height:26px;border-radius:6px;border:1px dashed var(--border);background:transparent;color:var(--text-muted);font-weight:700;font-size:.75rem;cursor:pointer;font-family:inherit}.hm-colbtn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.hm-foot td{padding-top:8px!important;border-top:1px solid var(--border)}.hm-avg{outline:2px solid currentColor;outline-offset:-2px}.insight-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}.insight-q{flex:1;min-width:0}.insight-q__text{font-weight:600;overflow-wrap:anywhere;unicode-bidi:plaintext}.practice-group{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;background:var(--bg)}.practice-group+.practice-group{margin-top:8px}.practice-group__head{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;flex-wrap:wrap}.practice-group__bar{height:6px;border-radius:99px;background:var(--surface-2);margin-top:8px;overflow:hidden}.practice-group__bar span{display:block;height:100%;background:var(--success);border-radius:99px}.practice-group__details{margin-top:8px;font-size:.88rem}.lessons-details summary{cursor:pointer;margin-top:14px;color:var(--primary);font-weight:600}.lesson-admin-row{padding:6px 0;border-bottom:1px solid var(--border);gap:8px;flex-wrap:wrap}.modal:has(.practice-modal){max-width:560px}.seg{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;align-self:flex-start}.seg-btn{padding:8px 16px;border:none;background:var(--surface);color:var(--text);font:inherit;font-weight:600;cursor:pointer}.seg-btn+.seg-btn{border-right:1px solid var(--border)}.seg-btn.active{background:var(--primary);color:#fff}.pick-list{max-height:240px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-sm);margin-top:6px}.pick-row{display:flex;align-items:center;gap:10px;padding:7px 10px;cursor:pointer;font-size:.92rem;color:var(--text)!important}.pick-row+.pick-row{border-top:1px solid var(--border)}.pick-row:hover{background:var(--surface-2)}.pick-row input{width:18px;height:18px;accent-color:var(--primary)}.pick-row__name{flex:1}@media(max-width:560px){.insight-row{flex-wrap:wrap}.insight-q{flex:1 1 100%}.roster-table{min-width:620px}.dash__main .dash__header .btn{width:100%}.teacher-summary .stat-tile{flex:1 1 40%;min-width:0;padding:12px 14px}.teacher-summary .stat-tile__value{font-size:1.4rem}}.lesson-tile__text{display:flex;flex-direction:column;gap:2px;min-width:0}.lesson-tile__meta{color:var(--text-muted);font-size:.8rem;font-weight:500}.lesson-tile--assigned{border-color:#fcd34d!important}body.fun .lesson-tile .pill-danger:before{content:"⏰ "}.class-quest-slot:empty{display:none}.class-quest-slot{margin-top:16px}.class-quest-card{position:relative;overflow:hidden}.class-quest-card.is-reached{border-color:#fbbf24;box-shadow:0 0 0 3px #fbbf2440,var(--shadow)}.cq-count{font-weight:800;font-variant-numeric:tabular-nums;color:var(--primary);font-size:1.05rem}.cq-track{position:relative;height:16px;border-radius:99px;background:var(--surface-2);margin:26px 14px 8px}.cq-track__fill{position:absolute;top:0;bottom:0;right:0;border-radius:99px;background:linear-gradient(270deg,#818cf8,#22c55e);transition:width .8s ease}.cq-step{position:absolute;top:50%;transform:translate(50%,-50%);font-size:1.05rem;width:30px;height:30px;border-radius:50%;background:var(--surface);border:2px solid var(--border);display:grid;place-items:center;filter:grayscale(1);opacity:.7}.cq-step.is-done{filter:none;opacity:1;border-color:#22c55e}.cq-rocket{position:absolute;top:-26px;transform:translate(50%) scaleX(-1);font-size:1.4rem;transition:right .8s ease}.cq-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.cq-chip{font-size:.8rem;padding:3px 10px;border-radius:99px;background:var(--primary-soft);color:var(--primary);font-weight:600}.cq-reward{margin-top:10px;padding:8px 12px;border-radius:var(--radius-sm);background:#fff7e6;color:#8a4b00;font-weight:600;font-size:.9rem}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .cq-reward{background:#3a2a10;color:#f7c67a}}:root[data-theme=dark] .cq-reward{background:#3a2a10;color:#f7c67a}.hero-card__goals{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.surprise-chip{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:99px;font:inherit;font-size:.85rem;font-weight:700;border:none}.surprise-chip.is-locked{background:#ffffff2e;color:#ffffffd9}.surprise-chip.is-used{background:#ffffff26;color:#fffc}.surprise-chip.is-ready{background:#fde047;color:#6b3a00;cursor:pointer;box-shadow:0 6px 16px -6px #0006;animation:surprise-wiggle 1.8s ease-in-out infinite}@keyframes surprise-wiggle{0%,70%,to{transform:rotate(0)}75%{transform:rotate(-6deg) scale(1.05)}85%{transform:rotate(6deg) scale(1.05)}95%{transform:rotate(-3deg)}}.surprise-modal{text-align:center;align-items:center}.surprise-box{font-size:5.5rem;line-height:1;margin:10px auto;transition:transform .3s ease}.surprise-box.is-shaking{animation:surprise-shake .35s linear infinite}.surprise-box.is-open{animation:surprise-pop .5s cubic-bezier(.2,1.6,.4,1)}@keyframes surprise-shake{0%,to{transform:rotate(0)}25%{transform:rotate(-12deg) scale(1.05)}75%{transform:rotate(12deg) scale(1.05)}}@keyframes surprise-pop{0%{transform:scale(.3)}to{transform:scale(1)}}.surprise-result{min-height:1.5em}.surprise-result__big{font-size:1.5rem;font-weight:800;color:var(--primary);display:inline-flex;align-items:center;gap:8px}.surprise-swatch{width:26px;height:26px;border-radius:50%;border:2px solid var(--border);display:inline-block}@media(prefers-reduced-motion:reduce){.surprise-chip.is-ready,.surprise-box.is-shaking,.surprise-box.is-open{animation:none!important}}.interest-slot:empty{display:none}.interest-slot{margin-top:16px}.interest-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px}.interest-chip{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border-radius:14px;border:2px solid var(--border);background:var(--surface);font:inherit;font-size:.85rem;font-weight:600;color:var(--text);cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease}.interest-chip:hover{transform:translateY(-2px);border-color:#a5b4fc}.interest-chip.is-on{border-color:var(--primary);background:var(--primary-soft);color:var(--primary);box-shadow:0 6px 14px -10px var(--primary)}.interest-chip__emoji{font-size:1.9rem;line-height:1}.interest-play{display:flex;align-items:center;gap:14px}.interest-play__emoji{font-size:2.8rem;width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#e0e7ff,#fce7f3);flex-shrink:0;animation:interest-bob 3s ease-in-out infinite}@keyframes interest-bob{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(-4deg)}}.interest-play__body{flex:1;min-width:0}.interest-mine{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.interest-mini{font:inherit;font-size:.8rem;padding:4px 10px;border-radius:99px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer}.interest-mini.is-on{background:var(--primary-soft);color:var(--primary);border-color:var(--primary);font-weight:700}.interest-mini--edit{border-style:dashed}@media(max-width:560px){.interest-play{flex-wrap:wrap}.interest-play__go{width:100%}.interest-grid{grid-template-columns:repeat(3,1fr)}}@media(prefers-reduced-motion:reduce){.interest-play__emoji{animation:none!important}}.parent-shell{min-height:100dvh;background:var(--bg)}.parent-topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--border)}.parent-topbar__brand{display:flex;align-items:center;gap:10px}.parent-topbar__logo{font-size:1.6rem}.parent-topbar__title{font-weight:800;color:var(--primary)}.parent-main{max-width:820px;margin:0 auto;padding:16px}.parent-kids{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}.parent-kid-tab{font:inherit;font-weight:700;padding:8px 18px;border-radius:99px;border:2px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer}.parent-kid-tab.is-on{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.parent-hero .stat-row{margin-bottom:0}.parent-hero .stat-tile{flex:1 1 130px}.parent-interests{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:12px}.parent-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}.parent-row__name{flex:1;min-width:0;font-weight:600;overflow-wrap:anywhere}.parent-subject{padding:10px 0;border-bottom:1px solid var(--border)}.parent-subject:last-child{border-bottom:none}.parent-subject .practice-group__bar{margin-top:8px}.modal:has(.parent-modal){max-width:620px}.parent-lessons{display:flex;flex-direction:column;gap:12px;max-height:50vh;overflow-y:auto}.parent-unit__head{margin-bottom:4px;gap:8px}.pick-row.is-disabled{opacity:.75;cursor:default}.parent-main .card+.card,.parent-body>.card+.card{margin-top:14px}.family-card+.family-card{margin-top:12px}.family-card .chip-list select{width:auto;max-width:260px;font:inherit;font-size:.85rem;padding:4px 8px;border-radius:99px;border:1px dashed var(--border);background:var(--surface);color:var(--text)}@media(max-width:560px){.parent-hero .stat-tile{flex:1 1 40%;min-width:0;padding:10px 12px}.parent-hero .stat-tile__value{font-size:1.35rem}.parent-hero .btn-accent{width:100%}}.home-card .subject-card__icon{background:linear-gradient(135deg,#dcfce7,#e0f2fe)}.lesson-tile--home{border-color:#86efac!important}:root{--code-bg: #0f172a;--code-fg: #e2e8f0;--code-ln: #64748b;--tk-kw: #c084fc;--tk-type: #67e8f9;--tk-str: #fbbf24;--tk-num: #fb923c;--tk-com: #94a3b8;--tk-attr: #f472b6}.code-block{background:var(--code-bg);color:var(--code-fg);border-radius:12px;padding:12px 0;margin:6px 0;font-family:ui-monospace,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:.86rem;line-height:1.55;overflow-x:auto;text-align:left;direction:ltr;white-space:pre;tab-size:2}.code-line{display:block;padding:0 14px}.code-line.is-hl{background:#facc1524;box-shadow:inset 3px 0 #facc15}.code-ln{display:inline-block;width:2.2em;margin-left:-4px;margin-right:10px;color:var(--code-ln);text-align:right;user-select:none}.tk-kw{color:var(--tk-kw);font-weight:600}.tk-type{color:var(--tk-type)}.tk-str{color:var(--tk-str)}.tk-num{color:var(--tk-num)}.tk-com{color:var(--tk-com);font-style:italic}.tk-attr{color:var(--tk-attr)}.inline-code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.88em;background:var(--surface-2);color:#7c2d12;padding:1px 6px;border-radius:6px;unicode-bidi:isolate;white-space:nowrap}.why-card{margin-top:10px;padding:10px 12px;border-radius:10px;background:#eef2ff;color:#1e1b4b;font-size:.92rem;line-height:1.6;border-inline-start:4px solid #6366f1}.why-card .inline-code{background:#fff}.wave-scene{background:#fff;border:1px solid #e0e7ff;border-radius:12px;padding:8px;overflow-x:auto}.wave-scene svg{display:block;min-width:360px}.wave-caption{font-size:.85rem;color:#475569;margin-top:4px;text-align:center}.sequence-chip--code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.85rem;direction:ltr;text-align:left}.exercise-card--code .choice-btn,.exercise-card--wave .choice-btn{font-family:inherit}.exercise-card--code .choice-btn:where([dir=auto]){unicode-bidi:plaintext}body.academic{background:#f6f7fb}.ac-shell{min-height:100dvh}.ac-topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#ffffffeb;backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.ac-brand{display:flex;align-items:center;gap:10px}.ac-logo{font-size:1.6rem}.ac-brand__title{font-weight:800;color:var(--primary)}.ac-main{max-width:900px;margin:0 auto;padding:18px 16px 60px;display:flex;flex-direction:column;gap:14px}.ac-main .card+.card{margin-top:0}.ac-plan-cta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:linear-gradient(135deg,#eef2ff,#fdf2f8)}.ac-plan-cta__icon{font-size:2.4rem}.ac-plan-cta__body{flex:1;min-width:220px}.ac-plan-status.is-ok{border-inline-start:5px solid var(--success)}.ac-plan-status.is-warn{border-inline-start:5px solid var(--danger);background:#fff8f7}.ac-course-rows{display:flex;flex-direction:column;gap:6px;margin-top:10px}.ac-course-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px;border-radius:10px;background:var(--bg);border:1px solid var(--border)}.ac-course-row .hint-text{flex:1;min-width:160px}.ac-week{margin-top:12px}.ac-today{border-top:4px solid var(--primary)}.ac-task{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg)}.ac-task__body{flex:1;min-width:0}.ac-upcoming{margin-top:10px}.ac-upcoming summary{cursor:pointer;color:var(--primary);font-weight:600}.ac-up-row{display:flex;gap:10px;padding:6px 0;border-bottom:1px dashed var(--border);flex-wrap:wrap}.ac-up-row b{min-width:90px}.ac-unit{border:1px solid var(--border);border-radius:12px;padding:8px 12px;background:var(--bg)}.ac-unit summary{display:flex;justify-content:space-between;gap:8px;cursor:pointer;font-weight:700}.ac-lesson{display:flex;align-items:center;gap:10px;width:100%;text-align:start;padding:9px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);font:inherit;color:var(--text);cursor:pointer}.ac-lesson:hover{border-color:var(--primary)}.ac-lesson.is-next{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.ac-lesson.is-done .ac-lesson__name{color:var(--text-muted)}.ac-lesson__name{flex:1;font-weight:600}.ac-theory{line-height:1.75;font-size:1.02rem}.ac-theory__title{font-size:1.6rem;margin:2px 0 8px}.ac-summary{background:var(--primary-soft);border-radius:10px;padding:10px 12px;margin:8px 0 14px}.ac-p{margin:10px 0}.ac-list{margin:8px 0;padding-inline-start:22px}.ac-list li{margin:4px 0}.ac-callout{border-radius:10px;padding:10px 12px;margin:12px 0}.ac-callout--tip{background:#ecfdf5;border-inline-start:4px solid #10b981}.ac-callout--warn{background:#fff7ed;border-inline-start:4px solid #f97316}.ac-wave{margin:10px 0}.ac-theory-actions{display:flex;flex-direction:column;gap:8px}.ac-plan-course{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;padding:10px;border:1px solid var(--border);border-radius:10px}.ac-plan-course input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}.ac-plan-preview{padding:10px 12px;border-radius:10px;background:var(--surface-2);line-height:1.6}.ac-plan-preview.is-ok{background:#ecfdf5}.ac-plan-preview.is-warn{background:#fff1f0}.modal:has(.ac-plan-form){max-width:600px}body.academic .exercise-illustration{display:none}body.academic .exercise-box,body.academic .practice-stage{max-width:860px;margin-inline:auto}@media(max-width:560px){.ac-task{flex-wrap:wrap}.ac-task .btn{width:100%}.ac-theory__title{font-size:1.3rem}.code-block{font-size:.78rem}}html:has(body.academic){background:#f6f7fb}.inline-code--auto{background:transparent;color:inherit;padding:0;font-family:inherit;font-size:inherit;font-weight:inherit}.quick-add,.quick-add__done{max-width:560px}.quick-add__done a.btn{text-decoration:none}.quick-add__code{font-family:Courier New,monospace;font-size:36px;font-weight:800;letter-spacing:6px;text-align:center;margin:6px 0}.quick-add__msg{white-space:pre-wrap;font-family:inherit;font-size:14px;background:var(--surface-2, rgba(127,127,127,.08));border-radius:var(--radius-sm, 8px);padding:10px 12px;margin:0}.lb-toolbar{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}@media(max-width:640px){.lb-toolbar{grid-template-columns:1fr}}.lb-row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid var(--border)}.lb-row:last-child{border-bottom:none}.lb-row__name{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-weight:600}.lb-row__order{min-width:1.6em;color:var(--text-muted);font-variant-numeric:tabular-nums}.lb-q{border:1px solid var(--border);border-radius:var(--radius-sm, 8px);padding:10px 12px;display:flex;flex-direction:column;gap:6px;break-inside:avoid}.lb-q__head{display:flex;gap:6px;align-items:center}.lb-q__num{font-weight:800;min-width:1.8em}.lb-q__question{font-weight:600}.lb-q__text{white-space:pre-wrap;background:var(--surface-2, rgba(127,127,127,.08));border-radius:8px;padding:8px 10px}.lb-q__scene{max-width:360px}.lb-q__scene svg{width:100%;height:auto}.lb-q__opts{display:flex;flex-wrap:wrap;gap:6px}.lb-opt{border:1px solid var(--border);border-radius:999px;padding:3px 12px}.lb-opt.is-correct{border-color:#22c55e;background:#22c55e24;font-weight:700}.lb-q__answer{font-weight:700;color:#16a34a}.lb-q__seq{margin:0;padding-inline-start:1.4em}.lb-vocab{display:flex;flex-wrap:wrap;gap:6px}.lb-preview-bar{position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;background:#fef3c7;color:#78350f;border-radius:10px;padding:8px 12px;margin-bottom:12px;font-weight:600}@media print{.dash__sidebar,.lb-noprint,.lb-preview-bar{display:none!important}.lb-q{border-color:#999}}.speak-he-btn,.exercise-speak{font-size:1.55rem!important;min-width:52px;min-height:52px;padding:6px 14px!important;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fef3c7,#fde68a)!important;border:2px solid #f59e0b!important;box-shadow:0 6px 14px -8px #b47800cc;opacity:1!important;cursor:pointer}.speak-he-btn:hover,.exercise-speak:hover{transform:scale(1.06)}.speak-he-btn.is-speaking{background:#fcd34d!important}.intro-hero__title .speak-he-btn{font-size:1.4rem!important}body.academic .speak-he-btn,body.academic .exercise-speak{font-size:1.05rem!important;min-width:36px;min-height:36px;padding:3px 9px!important}.listen-row{display:flex;justify-content:center;margin:10px 0 4px}.listen-btn{font-size:1.6rem;font-weight:800;padding:14px 28px;border-radius:999px;cursor:pointer;border:3px solid #6366f1;background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#312e81;box-shadow:0 10px 22px -12px #4338cae6;font-family:Noto Sans Hebrew,Heebo,sans-serif}.listen-btn:hover{transform:scale(1.04)}.series-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin-top:10px}.series-tile{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:14px 10px;border-radius:16px;border:2px solid var(--border);background:var(--surface);cursor:pointer;font:inherit;color:inherit}.series-tile:hover{border-color:var(--primary);transform:translateY(-2px)}.series-tile.is-on{border-color:var(--primary);box-shadow:0 0 0 3px #6366f133}.series-tile__emoji{font-size:2.4rem}.series-tile__title{font-weight:800;font-size:1.05rem}.series-tile__en,.series-tile__blurb{font-size:.85rem;color:var(--text-muted)}.series-progress{height:8px;border-radius:99px;background:#7f7f7f2e;margin:6px 0 10px;overflow:hidden}.series-progress__bar{height:100%;background:linear-gradient(90deg,#6366f1,#22c55e)}.mastery-card__top{display:flex;align-items:center;gap:14px}.mastery-ring{--p: 0;width:76px;height:76px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#22c55e calc(var(--p) * 1%),#7f7f7f2e 0)}.mastery-ring>span{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--surface, #fff);font-weight:800;font-size:1.05rem}.mastery-list{display:flex;flex-direction:column;gap:6px;margin-top:12px}.mastery-row{display:grid;grid-template-columns:minmax(110px,1.2fr) 3fr 44px;align-items:center;gap:8px}.mastery-row__bar{height:10px;border-radius:99px;background:#7f7f7f2e;overflow:hidden}.mastery-row__bar>span{display:block;height:100%;background:linear-gradient(90deg,#6366f1,#22c55e);border-radius:99px}.mastery-row__pct{text-align:left;font-variant-numeric:tabular-nums}.speak-he-btn.is-paused{background:#bbf7d0!important;outline:2px solid #22c55e}.lb-audio{font-size:.78rem;font-weight:700;padding:2px 8px;border-radius:999px;margin-inline-start:6px;white-space:nowrap}.lb-audio--ok{background:#dcfce7;color:#166534}.lb-audio--miss{background:#fef3c7;color:#92400e}.lb-audio-sum{background:#fffbeb;border:1px solid #fde68a;font-size:.92rem;line-height:1.6}.lb-audio-sum--ok{background:#f0fdf4;border-color:#bbf7d0}.lb-audio-miss{margin:8px 0 0;padding-inline-start:18px;font-size:.85rem;color:#78350f}.scratch-pad{margin:8px 0 4px}.scratch-pad__toggle{margin-bottom:4px}.scratch-pad__body{background:#fffef7;border:1.5px dashed #e5d9a8;border-radius:14px;padding:8px 10px;overflow-x:auto}.scratch-pad__body .column-op,.scratch-pad__body .long-divide{margin:6px 0 2px}.scratch-pad__body>.column-op,.scratch-pad__body>.long-divide{align-items:center}.ac-h{font-size:1.12rem;margin:18px 0 6px;color:var(--primary)}.ac-math{font-family:"Cambria Math","STIX Two Math",Times New Roman,serif;font-size:1.05em;white-space:nowrap;unicode-bidi:isolate}.ac-formula{font-family:"Cambria Math","STIX Two Math",Times New Roman,serif;font-size:1.2rem;text-align:center;background:#f8fafc;border-radius:10px;padding:10px;margin:10px 0}.ac-table-wrap{overflow-x:auto;margin:10px 0}.ac-table{border-collapse:collapse;width:100%;font-size:.95rem}.ac-table th,.ac-table td{border:1px solid var(--border);padding:6px 8px;text-align:start;vertical-align:top}.ac-table th{background:var(--primary-soft)}.ac-example{border:1px solid #c7d2fe;background:#f5f7ff;border-radius:12px;padding:10px 14px;margin:12px 0}.ac-example__title{font-weight:700;margin-bottom:4px}.ac-example__steps{margin:4px 0 0;padding-inline-start:22px}.ac-example__steps li{margin:3px 0}.ac-quote{margin:12px 0;padding:10px 14px;border-inline-start:4px solid #a78bfa;background:#faf5ff;border-radius:8px;line-height:1.8}.ac-quote__src{font-size:.85rem;color:var(--muted, #64748b);margin-top:4px}.ac-figure{margin:12px 0;text-align:center}.ac-figure__svg svg{max-width:100%;height:auto}body.teen .ac-brand__title:after{content:" · חטיבת ביניים";font-weight:500;color:var(--muted, #64748b);font-size:.85em}.teen-summary{display:flex;align-items:center;gap:14px}.teen-summary__pct{font-size:2rem;font-weight:800;color:var(--primary);min-width:84px;text-align:center}.teen-diag-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.teen-diag-row:last-child{border-bottom:0}.teen-diag--done>summary{cursor:pointer}.teen-boost__skill{padding:8px 0;border-bottom:1px dashed var(--border)}.teen-boost__skill:last-child{border-bottom:0}.ac-units-toggle>summary{cursor:pointer;color:var(--primary);font-weight:600}.ac-plan-mini{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.dg-head{padding:12px 16px}.dg-card{padding:18px}.dg-q{font-size:1.15rem;line-height:1.7;margin-bottom:12px;white-space:pre-wrap}.dg-options{display:grid;gap:8px}.dg-opt{text-align:start;padding:12px 14px;border:1.5px solid var(--border);border-radius:12px;background:var(--surface, #fff);font:inherit;cursor:pointer}.dg-opt:hover:not(:disabled){border-color:var(--primary);background:var(--primary-soft)}.dg-input{flex:1;min-width:0;padding:10px 12px;font:inherit;border:1.5px solid var(--border);border-radius:10px}.dg-skip{margin-top:12px}.dg-skills{display:grid;gap:6px}.dg-skill{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;padding:6px 10px;border-radius:10px;background:#f8fafc}.dg-skill--gap{background:#fff7ed}.dg-skill--fixed,.dg-skill--known{background:#f0fdf4}.ac-math-auto{unicode-bidi:isolate;white-space:nowrap}.teen-boost__more>summary{cursor:pointer;color:var(--primary);font-weight:600;margin-top:8px}body.teen .practice-stars,body.teen .exercise-badge,body.teen .exercise-illustration,body.teen .exercise-head-icon{display:none}body.teen .exercise-card{background:#fff}body.teen .exercise-head{display:none}body.teen .speak-he-btn,body.teen .exercise-speak{display:none!important}.rv-shell{max-width:1000px;margin:0 auto;padding:0 12px 40px}.rv-top{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 4px}.rv-tabs{margin:0 0 8px}.rv-main{padding:0}.rv-comment p{line-height:1.6}.rv-reply{margin-top:6px;padding:6px 10px;background:var(--primary-soft);border-radius:8px;font-size:.92rem}.rv-admin-row{padding:8px 0;border-bottom:1px solid var(--border)}.rv-admin-row>summary{cursor:pointer}.lb-q__comment{margin-top:6px}.lb-comment-btn{white-space:nowrap}.update-banner{position:fixed;bottom:16px;left:50%;transform:translate(-50%);z-index:9999;display:flex;gap:12px;align-items:center;background:#1e293b;color:#fff;padding:10px 16px;border-radius:999px;box-shadow:0 10px 30px #00000040;font-weight:600;max-width:calc(100vw - 32px)}.dlg{margin:16px 0;border:1px solid #dbe3f0;border-radius:16px;background:linear-gradient(180deg,#f8fafc,#fff);overflow:hidden}.dlg__head{padding:12px 14px 8px;border-bottom:1px solid #e8edf5;background:#f1f5fb}.dlg__title{font-weight:800;font-size:1.05rem;text-align:left}.dlg__setting{color:#475569;font-size:.92rem;margin-top:2px}.dlg__cast{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.dlg__chip{font-size:.8rem;padding:2px 10px;border-radius:999px;background:#e0e7ff;color:#1e3a8a}.dlg__chip--1{background:#dcfce7;color:#14532d}.dlg__chip--2{background:#fef3c7;color:#78350f}.dlg__controls{display:flex;flex-wrap:wrap;gap:6px;padding:10px 14px 0}.dlg__controls [aria-pressed=true]{background:#e0e7ff;border-color:#6366f1}.dlg__status{position:sticky;top:70px;z-index:3;box-shadow:0 8px 20px -12px #0f172a59;margin:10px 14px 0;padding:10px 12px;border-radius:12px;background:#fff7ed;border:1px solid #fed7aa;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.dlg__pick{display:flex;flex-wrap:wrap;gap:6px}.dlg__mic.is-on{font-weight:600}.dlg__live{color:#64748b;font-style:italic;min-height:1.2em}.dlg__done{font-weight:700}.dlg__lines{display:flex;flex-direction:column;gap:10px;padding:14px}.dlg__row{display:flex;align-items:flex-end;gap:8px;max-width:88%}.dlg__row--left{align-self:flex-start}.dlg__row--right{align-self:flex-end;flex-direction:row-reverse}.dlg__avatar{flex:0 0 auto;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:1.3rem;background:#eef2ff}.dlg__row--p1 .dlg__avatar{background:#ecfdf5}.dlg__row--p2 .dlg__avatar{background:#fffbeb}.dlg__bubble{all:unset;box-sizing:border-box;cursor:pointer;display:block;text-align:left;padding:8px 12px;border-radius:16px;background:#fff;border:1px solid #dbe3f0;box-shadow:0 1px 2px #0f172a0d;line-height:1.5;transition:box-shadow .2s,border-color .2s,transform .2s}.dlg__bubble:focus-visible{outline:3px solid #a5b4fc;outline-offset:2px}.dlg__row--left .dlg__bubble{border-bottom-left-radius:4px}.dlg__row--right .dlg__bubble{border-bottom-right-radius:4px;background:#eef6ff}.dlg__row--p1.dlg__row--right .dlg__bubble{background:#f0fdf4}.dlg__name{font-size:.75rem;font-weight:700;color:#64748b;margin-bottom:1px}.dlg__en{font-size:1rem;color:#0f172a}.dlg__en b{background:#fef08a;font-weight:700;border-radius:3px;padding:0 2px}.dlg__he{display:none;margin-top:4px;padding-top:4px;border-top:1px dashed #cbd5e1;color:#475569;font-size:.88rem;text-align:right}.dlg.show-he .dlg__he{display:block}.dlg__score{font-size:.78rem;font-weight:700;margin-top:4px}.dlg__row.is-playing .dlg__bubble{border-color:#6366f1;box-shadow:0 0 0 3px #c7d2fe;transform:scale(1.02)}.dlg__row.is-mine .dlg__bubble{border-style:dashed;border-color:#f59e0b}.dlg__row.is-good .dlg__bubble{border-color:#22c55e}.dlg__row.is-weak .dlg__bubble{border-color:#f59e0b}.dlg.hide-text .dlg__row:not(.is-heard) .dlg__en{filter:blur(6px);user-select:none}.dlg.hide-text .dlg__row:not(.is-heard) .dlg__he{filter:blur(6px)}@media(prefers-reduced-motion:reduce){.dlg__bubble{transition:none}.dlg__row.is-playing .dlg__bubble{transform:none}}@media(max-width:520px){.dlg__row{max-width:96%}.dlg__avatar{width:30px;height:30px;font-size:1.1rem}}.exercise-card--speak{border-inline-start-color:#6366f1}.speak-ex{display:flex;flex-direction:column;gap:10px}.speak-ex__prompt{max-width:100%}.speak-ex__target-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:space-between;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px}.speak-ex__target{font-size:1.15rem;font-weight:600;text-align:left;flex:1 1 220px;line-height:1.6}.speak-ex__target b{background:#fef08a;border-radius:3px;padding:0 2px}.speak-ex__target .w-ok{color:#15803d}.speak-ex__target .w-miss{color:#dc2626;text-decoration:underline wavy #fca5a5;text-underline-offset:4px}.speak-ex__mic-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.speak-ex__mic{font:inherit;font-weight:700;font-size:1.05rem;padding:12px 22px;border-radius:999px;border:none;cursor:pointer;color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 6px 16px -8px #6366f1cc}.speak-ex__mic:disabled{opacity:.5;cursor:default}.speak-ex__mic.is-on{background:linear-gradient(135deg,#ef4444,#f97316);animation:speak-pulse 1.2s ease-in-out infinite}@keyframes speak-pulse{0%,to{box-shadow:0 0 #ef444473}50%{box-shadow:0 0 0 10px #ef444400}}@media(prefers-reduced-motion:reduce){.speak-ex__mic.is-on{animation:none}}.speak-ex__live{color:#64748b;font-style:italic;min-height:1.2em}.speak-ex__type input{flex:1 1 200px}.speak-ex__fb{padding:10px 12px;border-radius:12px;line-height:1.6}.speak-ex__fb--ok{background:#ecfdf5;color:#14532d}.speak-ex__fb--try{background:#fffbeb;color:#78350f}.speak-ex__fb--bad{background:#f1f5f9;color:#334155}.speak-ex__fb--hint{background:#eff6ff;color:#1e3a8a}.speak-ex__example{margin-top:4px;font-weight:600;text-align:left}.link-btn{all:unset;cursor:pointer;text-decoration:underline;align-self:flex-start}.landing__today{margin-top:-24px;padding:8px 18px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-weight:700}.landing__today[hidden]{display:none}.today-week{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;align-items:end;height:140px;margin-top:8px}.today-week__col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;height:100%}.today-week__bar{width:100%;max-width:36px;min-height:3px;border-radius:6px 6px 0 0;background:var(--primary);opacity:.75}.today-week__col.is-today .today-week__bar{opacity:1}.today-week__num{font-weight:700;font-size:.9rem}.today-week__day{font-size:.78rem;color:var(--text-muted)}:focus-visible{outline:3px solid #f59e0b!important;outline-offset:2px}.ex-slide:focus-visible,.practice-stage input[type=text]:focus-visible{outline:3px solid #f59e0b!important}[role=button]{cursor:pointer}.skip-link{position:absolute;inset-inline-start:8px;top:-60px;z-index:10001;background:var(--primary);color:var(--primary-ink);padding:10px 16px;border-radius:10px;font-weight:700}.skip-link:focus{top:8px}#app:focus{outline:none}.a11y-toggle{position:fixed;inset-inline-start:12px;bottom:12px;z-index:10000;width:48px;height:48px;border-radius:50%;border:2px solid #fff;background:#1d4ed8;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;box-shadow:0 4px 14px #00000040}@media print{.a11y-toggle,.a11y-panel{display:none!important}}.a11y-panel{position:fixed;inset-inline-start:12px;bottom:70px;z-index:10000;width:min(300px,calc(100vw - 24px));max-height:calc(100vh - 90px);overflow:auto;background:#fff;color:#111;border:2px solid #1d4ed8;border-radius:14px;padding:14px;display:grid;gap:8px;box-shadow:0 10px 30px #0000004d}.a11y-panel[hidden]{display:none}.a11y-panel__title{margin:0 0 4px;font-size:1.15rem}.a11y-opt{font:inherit;text-align:start;padding:10px 12px;border-radius:10px;cursor:pointer;border:1.5px solid #6b7280;background:#fff;color:#111}.a11y-opt[aria-pressed=true]{background:#1d4ed8;border-color:#1d4ed8;color:#fff;font-weight:700}.a11y-opt:disabled{opacity:.45;cursor:not-allowed}.a11y-opt--reset{background:#f3f4f6}.a11y-size{display:flex;align-items:center;gap:8px}.a11y-size .a11y-opt{text-align:center;min-width:48px;font-weight:700}.a11y-size__val{flex:1;text-align:center}.a11y-panel__link{color:#1d4ed8;text-decoration:underline;font-weight:600}.a11y-close{position:absolute;top:8px;inset-inline-end:8px;border:0;background:none;font-size:1.1rem;cursor:pointer;color:#111;padding:4px 8px}.landing__a11y-link{color:var(--text-muted);text-decoration:underline;font-size:.9rem;margin-top:-24px}html:root.a11y-contrast{--bg: #ffffff;--surface: #ffffff;--surface-2: #ffffff;--border: #000000;--text: #000000;--text-muted: #1f1f1f;--primary: #0b1f8a;--primary-ink: #ffffff;--primary-soft: #ffffff;--accent: #ffd400;--accent-ink: #000000;--success: #0a5c2f;--success-soft: #ffffff;--danger: #9b0000;--danger-soft: #ffffff;color-scheme:light}html.a11y-contrast body,html.a11y-contrast body.fun{background:#fff!important;background-image:none!important;color:#000}html.a11y-contrast .card,html.a11y-contrast .subject-card,html.a11y-contrast .lesson-tile,html.a11y-contrast .role-card,html.a11y-contrast .btn-ghost,html.a11y-contrast .pill,html.a11y-contrast input,html.a11y-contrast select,html.a11y-contrast textarea{border:2px solid #000!important;background-image:none!important}html.a11y-contrast .hint-text,html.a11y-contrast .muted{color:#1f1f1f!important}html.a11y-contrast .fun-bg,html.a11y-contrast .confetti,html.a11y-contrast [class*=fun-deco]{display:none!important}html.a11y-font,html.a11y-font body,html.a11y-font *{font-family:Arial,Noto Sans Hebrew,Heebo,sans-serif!important;letter-spacing:.01em}html.a11y-font body{line-height:1.7}html.a11y-links a:not(.btn),html.a11y-links .back-link,html.a11y-links .btn-link{text-decoration:underline!important;text-underline-offset:3px;font-weight:700}html.a11y-no-motion *,html.a11y-no-motion *:before,html.a11y-no-motion *:after{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}.landing__register{margin-top:-16px;border-radius:999px!important;padding:12px 22px!important;font-size:1.05rem}.reg-card{max-width:520px}.reg-kid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:6px;align-items:center;padding:10px 10px 10px 40px;border:1px solid var(--border);border-radius:12px}.reg-kid input,.reg-kid select{width:100%}.reg-kid__remove{position:absolute;top:8px;inset-inline-end:6px}.reg-stream{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:6px 16px;border:0;padding:0;margin:2px 0 0}.reg-stream legend{float:right;margin-inline-end:8px;font-weight:600}.reg-radio{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.reg-radio input{width:auto}.reg-kid input,.reg-kid select{min-width:0}.reg-optional>summary{cursor:pointer;color:var(--primary);font-weight:600;margin:4px 0 8px}.reg-hp{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;opacity:0;pointer-events:none}.reg-terms{display:flex;gap:8px;align-items:flex-start;font-size:.95rem;line-height:1.6}.reg-terms input{margin-top:5px;width:18px;height:18px;flex:none}.reg-code-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border:1.5px dashed var(--border);border-radius:12px}.reg-code{font-size:1.35rem;letter-spacing:.12em;font-family:ui-monospace,Menlo,monospace}.landing__register--teen{margin-top:-30px;border-radius:999px!important;padding:10px 20px!important;font-size:.98rem}.reg-teen__names{display:grid;grid-template-columns:1fr 1fr;gap:10px}.reg-teen__names .field input{width:100%;min-width:0}.reg-teen__young{margin:-6px 0 0;padding:10px 12px;border-radius:10px;background:#fff7ed;border:1px solid #fed7aa;font-size:.95rem;line-height:1.6}.reg-teen__section{padding-top:12px;border-top:1px solid var(--border)}.reg-teen__parent{margin:0;text-align:center}.reg-teen .error-text a{color:inherit;font-weight:700;text-decoration:underline}@media(max-width:420px){.reg-teen__names{grid-template-columns:1fr}}@media print{.a11y-toggle,.reg-actions,.reg-codes .btn,.reg-codes .hint-text{display:none!important}.reg-codes{box-shadow:none;border:0}}a.btn{text-decoration:none}a.btn-primary,a.btn-primary:visited{color:var(--primary-ink)}a.btn-accent,a.btn-accent:visited{color:var(--accent-ink)}a.btn-ghost,a.btn-ghost:visited{color:var(--primary)}.subject-card--plan>summary{list-style:none;cursor:pointer;display:flex;align-items:flex-start;gap:12px}.subject-card--plan>summary::-webkit-details-marker{display:none}.subject-card__sum{flex:1;min-width:0}.subject-card__sum h3{margin:0}.subject-card__chev{font-size:1.2rem;color:var(--text-muted);transition:transform .2s;margin-top:4px}.subject-card--plan[open] .subject-card__chev{transform:rotate(180deg)}.subject-card__body{display:grid;gap:8px;margin-top:12px}.plan-current{display:flex;align-items:center;gap:12px;width:100%;text-align:start;font:inherit;font-weight:700;font-size:1.05rem;padding:14px 16px;border-radius:14px;border:2px solid var(--primary);background:var(--primary-soft);color:var(--text);cursor:pointer}.plan-current__play{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--primary);color:var(--primary-ink);flex:none}.plan-next{display:flex;align-items:center;gap:10px;width:100%;text-align:start;font:inherit;padding:10px 14px;border-radius:12px;border:1px dashed var(--border);background:var(--surface);color:var(--text);cursor:pointer}.plan-next.is-locked{cursor:default;color:var(--text-muted);background:var(--surface-2)}.plan-test{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:14px;background:#fff7ed;border:1.5px solid #fdba74;color:#3b2a1a}.plan-all>summary{cursor:pointer;color:var(--primary);font-weight:600;margin-top:4px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.ac-lesson.is-locked{opacity:.6;cursor:default}.findl-ex{display:grid;gap:10px;justify-items:center}.findl-emoji{font-size:4rem;line-height:1}.findl-word{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.findl-tile,.circle-cell{font:inherit;font-size:2.4rem;font-weight:700;min-width:64px;min-height:72px;padding:6px 10px;border-radius:16px;border:2px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.findl-tile.is-right,.circle-cell.is-right{background:#dcfce7;border-color:#16a34a}.findl-tile.is-wrong,.circle-cell.is-wrong{background:#fee2e2;border-color:#dc2626}.findl-tile.is-used{opacity:.35}.findl-word--built{min-height:80px}.findl-slot{display:inline-grid;place-items:center;min-width:60px;min-height:70px;font-size:2.3rem;font-weight:700;border-bottom:4px solid var(--primary)}.circle-grid{display:grid;grid-template-columns:repeat(4,minmax(56px,76px));gap:10px}.circle-target{display:flex;align-items:center;gap:8px;font-size:1.1rem}.circle-target b{font-size:2.6rem;color:var(--primary)}.trace-fb{min-height:1.6em;text-align:center;font-weight:600}.findl-word:not(.findl-word--pool){flex-wrap:nowrap}.findl-word .findl-tile{min-width:0;flex:0 1 64px;padding:6px 4px;font-size:clamp(1.6rem,7vw,2.4rem)}.help-us__thanks{background:var(--success-soft);color:var(--success);font-weight:700;padding:8px 12px;border-radius:10px;margin-bottom:8px}.help-us__mine>summary{cursor:pointer;color:var(--primary);font-weight:600;padding:6px 0}.nav-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;margin-inline-start:6px;border-radius:999px;background:#dc2626;color:#fff;font-size:.75rem;font-weight:800}.why-card__row{display:flex;align-items:flex-start;gap:8px;justify-content:space-between}.why-wrong{font-weight:700;color:#9a3412;margin-bottom:4px}body.solving .student-top>:not(.student-name):not(.keep-solving){display:none!important}body.solving .fx-symbols,body.solving .fx-blob{display:none!important}.keep-solving{display:inline-flex;gap:6px;align-items:center}.week-goal__dots{display:inline-flex;gap:4px}.week-goal__dot{width:22px;height:22px;border-radius:50%;border:2px solid rgba(255,255,255,.7);display:inline-grid;place-items:center;font-size:.8rem;color:#713f12}.week-goal__dot.is-on{background:#fde047;border-color:#fde047}.g-lesson{--g-fill: #f59e0b;--g-crust: #fde7b0;--g-pep: #e2725b;--g-choc: #a0714f;--g-cookie: #e9c58d;--g-line: #5b4636;--g-card: var(--surface);--g-ok: #15803d;--g-no: #b42318;max-width:720px;margin:0 auto;display:grid;gap:12px}.g-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.g-title{font-size:1.15rem}.g-count{color:var(--text-muted);font-variant-numeric:tabular-nums}.g-link{background:none;border:0;color:var(--primary);font:inherit;cursor:pointer;padding:6px 0}.g-progress{height:10px;border-radius:999px;background:var(--surface-2);overflow:hidden}.g-progress>span{display:block;height:100%;width:0;background:var(--primary);transition:width .4s}.g-card{background:var(--g-card);border:1px solid var(--border);border-radius:18px;padding:18px 16px;display:grid;gap:12px}.g-h{margin:0;font-size:1.3rem}.g-guide{display:flex;gap:10px;align-items:flex-start}.g-guide__face{font-size:2.6rem;line-height:1;flex:none}.g-guide__bubble{background:var(--primary-soft);border-radius:16px 4px 16px 16px;padding:10px 14px;display:grid;gap:2px;min-width:0}.g-say{margin:0;font-size:1.15rem;line-height:1.7}.g-word{cursor:pointer;border-radius:4px}.g-word:hover,.g-word:focus{background:#f59e0b40}.g-speak{border:0;background:none;cursor:pointer;font-size:1.1rem;padding:0 6px;vertical-align:middle}.g-center{display:grid;justify-items:center}.g-shape{width:100%;height:auto;touch-action:manipulation}.g-cutter{cursor:crosshair}.g-tip{margin:0;text-align:center;font-weight:600;color:var(--text-muted)}.g-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.g-btn{font:inherit;font-weight:700;padding:12px 18px;min-height:48px;border-radius:14px;border:2px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.g-btn--go{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.g-btn--soft{background:var(--surface-2)}.g-btn--num{min-width:64px;font-size:1.2rem}.g-btn.is-picked{border-color:var(--g-fill);background:#f59e0b33}.g-btn:disabled{opacity:.5;cursor:default}.g-options{display:grid;gap:8px}.g-opt{font:inherit;font-size:1.1rem;text-align:start;padding:12px 14px;min-height:52px;border-radius:14px;border:2px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.g-opt.is-ok{border-color:var(--g-ok);background:#15803d1f}.g-opt.is-no{border-color:var(--g-no);background:#b4231814}.g-fb{min-height:1.4em;font-weight:700;text-align:center}.g-fb.is-ok{color:var(--g-ok)}.g-fb.is-no{color:var(--g-no)}.g-hint{background:#fff7ed;color:#3b2a1a;border:1.5px solid #fdba74;border-radius:12px;padding:10px 12px}.g-frac{display:inline-grid;justify-items:center;font-size:2rem;font-weight:800;justify-self:center;font-variant-numeric:tabular-nums}.g-frac__line{display:block;width:56px;height:4px;background:currentColor;border-radius:2px;margin:2px 0}.g-frac--small{font-size:1.2rem}.g-frac--small .g-frac__line{width:26px;height:3px}.g-place{display:grid;gap:10px;justify-items:center}.g-slot{font:inherit;font-size:2rem;font-weight:800;width:72px;height:64px;border-radius:14px;border:3px dashed var(--g-fill);background:var(--surface);color:var(--text);cursor:pointer}.g-slot.is-ok{border-style:solid;border-color:var(--g-ok)}.g-compare{display:grid;gap:10px}.g-compare__row{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center}.g-phase{font-weight:800;color:var(--primary)}.g-steps{display:grid;gap:8px;margin:0;padding-inline-start:22px}.g-steps li{display:grid;gap:6px}.g-ok{justify-self:start;min-height:40px;padding:6px 14px}.g-check{display:grid;gap:14px;margin-top:8px}.g-visual{font-size:2.4rem;text-align:center;letter-spacing:.2em}.g-field{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.g-item{position:relative;font-size:2rem;width:58px;height:58px;border-radius:14px;border:2px solid var(--border);background:var(--surface);cursor:pointer}.g-item[data-n]{border-color:var(--g-ok);background:#15803d1a}.g-item.is-left{border-color:var(--g-no)}.g-item__n{position:absolute;top:-8px;inset-inline-start:-8px;background:var(--primary);color:var(--primary-ink);font-size:.8rem;font-weight:800;border-radius:999px;min-width:22px;height:22px;display:grid;place-items:center}.g-scroll{overflow-x:auto}.g-line{width:100%;min-width:360px;height:auto;color:var(--text);touch-action:manipulation}.g-blocks{display:flex;gap:14px;justify-content:center;align-items:flex-end;flex-wrap:wrap}.g-blocks__col{display:grid;justify-items:center;gap:4px;min-width:70px}.g-blocks__lbl{font-weight:700;color:var(--text-muted)}.g-blocks__stack{display:flex;flex-wrap:wrap-reverse;gap:3px;justify-content:center;max-width:120px;min-height:30px}.g-blk{display:inline-block;background:var(--g-fill);border:1.5px solid var(--g-line);border-radius:3px}.g-blk--1{width:14px;height:14px}.g-blk--10{width:14px;height:60px;background:#60a5fa}.g-blk--100{width:46px;height:46px;background:#34d399}.g-blk--1000{width:56px;height:56px;background:#f472b6}.g-blocks__total{font-size:1.8rem;font-weight:800;align-self:center;font-variant-numeric:tabular-nums}.g-groups{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.g-group{display:flex;flex-wrap:wrap;gap:2px;max-width:110px;padding:6px 8px;border:2px dashed var(--g-fill);border-radius:14px;font-size:1.5rem}.g-eq{text-align:center;font-size:1.8rem;font-weight:800;font-variant-numeric:tabular-nums;direction:ltr}.g-plates{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.g-plate{display:grid;justify-items:center;gap:4px;min-width:84px;padding:8px;border-radius:999px;background:var(--surface-2);border:2px solid var(--border)}.g-plate__items{display:flex;flex-wrap:wrap;gap:2px;justify-content:center;font-size:1.4rem;min-height:32px;max-width:90px}.g-clock{color:var(--text)}.g-shapes{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px}.g-shapes__btn{border:2px solid var(--border);background:var(--surface);border-radius:16px;padding:8px;cursor:pointer}.g-shapes__btn.is-ok{border-color:var(--g-ok);background:#15803d1f}.g-shapes__btn.is-no{border-color:var(--g-no)}.g-shapes__item{width:100%;height:auto}.g-grid{display:grid;gap:3px;max-width:420px;margin:0 auto;width:100%}.g-cell{aspect-ratio:1;border:1.5px solid var(--border);background:var(--surface);border-radius:4px;cursor:pointer;padding:0;min-width:0}.g-cell.is-on{background:var(--g-fill);border-color:var(--g-line)}.g-bars{display:flex;gap:12px;justify-content:center;align-items:flex-end;min-height:200px}.g-bars__col{display:grid;justify-items:center;align-content:end;gap:4px;border:0;background:none;cursor:pointer;font:inherit;color:var(--text);min-width:56px}.g-bars__bar{width:40px;background:var(--g-fill);border-radius:6px 6px 0 0;transition:height .2s}.g-bars__bar.is-ok{background:var(--g-ok)}.g-bars__n{font-weight:800}.g-table{display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:center;font-weight:600}.stuck-row{display:flex;justify-content:flex-start}.stuck-btn{border-style:dashed}.g-teen{--g-fill: #2563eb;--g-line: #1e293b}.g-teen .g-card{border-radius:10px}.g-teen .g-btn,.g-teen .g-opt{border-radius:8px}.g-teen .g-h{font-size:1.05rem;letter-spacing:.02em;text-transform:none}.g-mentor{display:grid;gap:6px;border-inline-start:4px solid var(--g-fill);padding:4px 12px}.g-mentor__tag{font-size:.8rem;font-weight:700;color:var(--text-muted);letter-spacing:.04em}.g-teen .g-visual{font-size:1.6rem;direction:ltr}.g-balance{display:grid;justify-items:center;padding:18px 0 0;overflow:hidden}.g-beam{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;width:min(100%,460px);border-bottom:6px solid var(--g-line);border-radius:3px;padding-bottom:4px;transition:transform .35s ease;transform-origin:50% 100%}.g-pan{display:flex;flex-wrap:wrap-reverse;gap:4px;flex:1;min-height:44px;max-width:46%;justify-content:center;align-content:flex-start}.g-fulcrum-dot{width:0}.g-fulcrum{width:0;height:0;border-left:22px solid transparent;border-right:22px solid transparent;border-bottom:34px solid var(--g-line)}.g-wt{font:inherit;font-weight:800;width:34px;height:34px;border-radius:6px;border:2px solid var(--g-line);background:var(--surface-2);color:var(--text);cursor:pointer;padding:0}.g-wt--x{background:var(--g-fill);color:#fff;width:40px;height:40px}.g-eq{text-align:center;font:700 1.6rem ui-monospace,Menlo,monospace}.g-dlg{display:grid;gap:8px}.g-dlg__row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.g-dlg__row--b{flex-direction:row-reverse}.g-dlg__bubble{font:inherit;text-align:left;display:grid;gap:2px;max-width:80%;padding:10px 14px;border-radius:16px;border:2px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer}.g-dlg__bubble--b{background:var(--primary-soft)}.g-dlg__bubble--c{background:var(--accent-soft, var(--surface));border-style:dashed}.g-dlg__bubble[data-heard]{border-color:var(--g-ok)}.g-dlg__tr{font-size:1.1rem;background:none;border:0;cursor:pointer;padding:6px}.g-dlg__he{flex-basis:100%;color:var(--text-muted);font-size:.95rem;padding-inline:8px}.g-sort__pool{justify-content:center}.g-sort__card{font:inherit;font-weight:700;padding:8px 12px;border-radius:10px;border:2px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.g-sort__card.is-picked{border-color:var(--g-fill);background:#f59e0b33}.g-sort__card.is-ok{border-color:var(--g-ok);cursor:default}.g-sort__bins{display:grid;grid-template-columns:1fr 1fr;gap:8px}.g-sort__bin{font:inherit;display:grid;gap:6px;align-content:start;min-height:110px;padding:10px;border-radius:14px;border:2px dashed var(--g-fill);background:var(--surface-2);color:var(--text);cursor:pointer}.g-sort__list{display:flex;flex-wrap:wrap;gap:4px;justify-content:center}.g-sentence{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;min-height:52px;padding:8px;border-bottom:2px solid var(--border);font-size:1.2rem}.g-sentence__w{padding:6px 10px;border-radius:8px;background:var(--primary-soft);font-weight:700}.g-sentence__w--btn{font:inherit;font-weight:700;border:2px solid transparent;color:var(--text);cursor:pointer}.g-sentence__w--btn.is-no{border-color:var(--g-no);text-decoration:line-through}.g-steps{margin:0;padding-inline-start:22px;display:grid;gap:6px}.g-steps__item{animation:g-pop .3s ease}.g-steps__item .g-say{font-size:1.05rem}@keyframes g-pop{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.g-col{display:grid;justify-content:center;gap:2px;font:700 1.6rem ui-monospace,Menlo,monospace}.g-col__row{display:grid;justify-items:center}.g-col__c{min-width:1.2em;text-align:center;border-radius:6px}.g-col__c.is-cur{background:#f59e0b38}.g-col__c.is-crossed{text-decoration:line-through;color:var(--text-muted)}.g-col__small{font-size:.9rem;color:var(--g-no);min-height:1.1em}.g-col__line{border-top:3px solid var(--text);margin:2px 0}.g-col__res{color:var(--primary);min-height:1.2em}.g-area{display:grid;gap:4px;max-width:100%;margin:0 auto;font-weight:700}.g-area__h{text-align:center;padding:4px 8px;color:var(--text-muted)}.g-area__cell{display:grid;place-items:center;min-height:64px;padding:6px;border:2px dashed var(--g-fill);border-radius:8px;background:var(--surface-2);font-size:1.1rem}.g-area__cell.is-cur{border-style:solid;background:#f59e0b33}.g-area__cell.is-done{border-style:solid;border-color:var(--g-ok);color:var(--g-ok);font-size:1.3rem}.g-ldiv{display:grid;justify-content:center;font:700 1.6rem ui-monospace,Menlo,monospace}.g-ldiv__row{display:grid;justify-items:center}.g-ldiv__q{color:var(--primary);min-height:1.3em;border-bottom:3px solid var(--text)}.g-ldiv__div{display:flex;align-items:center;gap:8px}.g-ldiv__row .is-cur{background:#f59e0b38;border-radius:6px}.g-ldiv__d{color:var(--text-muted)}.g-heb{font-family:Rubik,Heebo,Arial Hebrew,Arial,sans-serif}.g-hunt{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.g-hunt__item{font:inherit;display:grid;justify-items:center;gap:4px;padding:10px 6px;border-radius:14px;border:2px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.g-hunt__pic{font-size:2.4rem;line-height:1}.g-hunt__w{font-size:1.1rem}.g-hunt__item.is-ok{border-color:var(--g-ok);background:#15803d1f}.g-hunt__item.is-no{border-color:var(--g-no);animation:g-shake .4s}@keyframes g-shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.g-blend__row{display:flex;justify-content:center;align-items:center;gap:14px;transition:gap .4s ease}.g-blend__row.is-joined{gap:0}.g-blend__row.is-joined .g-blend__plus{width:0;opacity:0;overflow:hidden}.g-blend__tile{font:inherit;font-size:3.2rem;line-height:1.2;min-width:96px;padding:8px 14px;border-radius:16px;border:3px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.g-blend__tile--v{color:var(--g-no)}.g-blend__tile.is-on{border-color:var(--g-fill);background:#f59e0b26}.g-blend__plus{font-size:2rem;transition:all .4s}.g-blend__res{text-align:center;font-size:3.6rem;font-weight:700;min-height:1.3em;color:var(--primary)}.g-find{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}.g-find__ch{font:inherit;font-size:2.6rem;line-height:1.3;min-width:64px;padding:4px 10px;border-radius:12px;border:3px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.g-find__ch.is-ok{border-color:var(--g-ok);background:#15803d1f}.g-find__ch.is-no{border-color:var(--g-no);animation:g-shake .4s}.g-read{display:grid;gap:6px;padding:14px;border-radius:14px;background:var(--surface-2)}.g-read .g-say{font-size:1.8rem;line-height:1.8}.g-read.is-reading{outline:3px solid var(--g-fill)}.g-read__times{display:flex;flex-wrap:wrap;gap:6px}.g-read__t{padding:4px 10px;border-radius:999px;background:var(--surface-2);font-variant-numeric:tabular-nums}.g-read__t.is-faster{background:#15803d26;color:var(--g-ok);font-weight:700}.g-sentence--he .g-sentence__w,.g-btn.g-heb{font-size:1.6rem}.g-read .g-speak{display:none}.auth-register{display:grid;gap:8px;margin-top:14px;padding-top:14px;border-top:1px dashed var(--border);text-align:center}.g-wcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.g-wcard{font:inherit;display:grid;justify-items:center;gap:4px;padding:12px 8px;border-radius:14px;border:2px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.g-wcard__pic{font-size:2.2rem;line-height:1}.g-wcard__en{font-size:1.25rem}.g-wcard__he{direction:rtl;color:var(--text-muted)}.g-wcard.is-on{border-color:var(--g-ok);background:#15803d14}.g-read--story .g-say{font-size:1.15rem;line-height:1.9}.g-read--story .g-speak{display:inline-block}.inapp-note{display:grid;gap:6px;max-width:560px;margin:12px auto;padding:12px 14px;border-radius:14px;background:#fff7d6;color:#5c4400;border:1px solid #f2d36b;font-size:.95rem}.inapp-note .btn{justify-self:start}.today-week--long{grid-template-columns:repeat(14,1fr);gap:3px}.today-week--long .today-week__day{font-size:.7rem}.today-week--long .today-week__num{font-size:.75rem}.g-btn--pulse{animation:g-pulse 1.6s ease-in-out infinite;border-color:var(--g-fill)}@keyframes g-pulse{50%{box-shadow:0 0 0 6px #f59e0b40}}@media(prefers-reduced-motion:reduce){.g-btn--pulse{animation:none}}.self-rate-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center}.self-rate.is-on{border-color:var(--primary);background:var(--primary-soft, rgba(99,102,241,.12));font-weight:700}.g-plot{width:min(100%,360px);height:auto;touch-action:manipulation;cursor:crosshair}.g-plot__grid{stroke:var(--border);stroke-width:1}.g-plot__axis{stroke:var(--text);stroke-width:2}.g-plot__num{font-size:10px;fill:var(--text-muted);text-anchor:middle}.g-plot__lbl{font-size:13px;font-weight:700;fill:var(--text)}.g-plot__pt{fill:var(--g-fill);stroke:var(--text);stroke-width:1.5}.g-plot__tag{font-size:11px;font-weight:700;fill:var(--text)}.g-plot__line{stroke:var(--primary);stroke-width:3;stroke-dasharray:1000;stroke-dashoffset:1000;animation:g-draw 1.2s ease forwards}.g-plot__run,.g-plot__rise{stroke-width:3.5;stroke-dasharray:300;stroke-dashoffset:300}.g-plot__run{stroke:var(--g-ok);animation:g-draw .8s .4s ease forwards}.g-plot__rise{stroke:var(--g-no);animation:g-draw .8s 1.2s ease forwards}@keyframes g-draw{to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.g-plot__line,.g-plot__run,.g-plot__rise{animation:none;stroke-dashoffset:0}}.g-pyth{width:min(100%,460px);height:auto}.g-pyth__a{fill:#2563eb40;stroke:var(--text);stroke-width:.6}.g-pyth__b{fill:#15803d40;stroke:var(--text);stroke-width:.6}.g-pyth__tri{fill:#f59e0b4d;stroke:var(--text);stroke-width:2}.g-pyth__lbl{font-size:14px;font-weight:700;fill:var(--text);text-anchor:middle}.g-plot,.g-pyth{direction:ltr;unicode-bidi:isolate}@keyframes g-pop-in{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}@keyframes g-shake-x{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}@keyframes g-tl-in{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}@keyframes g-spin{to{transform:rotate(360deg)}}@keyframes g-flow{to{stroke-dashoffset:-24}}.g-pop{animation:g-pop-in .45s ease both}.g-shake{animation:g-shake-x .3s ease}.g-key{background:color-mix(in srgb,var(--g-fill) 18%,transparent);color:inherit;padding:0 3px;border-radius:4px;font-weight:700}.g-scene{font-size:2.6rem;text-align:center;letter-spacing:.15em;animation:g-pop-in .6s ease both}.g-after{display:grid;gap:8px;margin-top:8px}.g-rv{display:grid;gap:10px}.g-rv--compare{grid-template-columns:1fr 1fr;align-items:start}.g-rv__col{display:grid;gap:8px}.g-rv__colh{text-align:center;padding:6px;border-radius:8px;background:var(--surface-2)}.g-rv__item{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:10px;background:var(--surface-2);border-inline-start:4px solid var(--g-fill);min-width:0}.g-rv__icon{font-size:1.7rem;line-height:1;flex:none}.g-rv__body{display:grid;gap:2px;min-width:0}.g-rv__t{font-size:1.02rem}.g-rv__p{margin:0;line-height:1.65}.g-rv__arrow{justify-self:center;font-size:1.3rem;color:var(--g-fill);font-weight:800}@media(max-width:520px){.g-rv--compare{grid-template-columns:1fr}}.g-tl{list-style:none;margin:0;padding:0 22px 0 0;position:relative;display:grid;gap:8px}.g-tl:before{content:"";position:absolute;inset-inline-start:8px;top:4px;bottom:4px;width:3px;border-radius:2px;background:var(--g-fill);transform-origin:top;animation:scene-bar-grow .9s ease both}.g-tl__row{position:relative;display:grid;gap:4px}.g-tl__row:before{content:"";position:absolute;inset-inline-start:-19px;top:12px;width:13px;height:13px;border-radius:50%;background:var(--surface);border:3px solid var(--g-fill)}.g-tl__ev{font:inherit;text-align:start;display:grid;gap:2px;padding:8px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;animation:g-tl-in .45s ease both}.g-tl__ev.is-seen{border-color:var(--g-fill)}.g-tl__year{font-size:.82rem;font-weight:800;color:var(--g-fill);font-variant-numeric:tabular-nums}.g-tl__p{margin:0 6px;line-height:1.65;animation:g-pop-in .3s ease both}.g-tl.is-hidden-years .g-tl__year{visibility:hidden}.g-ord{list-style:none;margin:0;padding:0;display:grid;gap:4px}.g-ord__item{display:flex;gap:8px;align-items:flex-start;padding:8px 12px;border-radius:10px;background:color-mix(in srgb,var(--g-ok) 12%,var(--surface));border:1px solid var(--g-ok)}.g-ord--chain .g-ord__item+.g-ord__item,.g-ord--time .g-ord__item+.g-ord__item{position:relative;margin-top:18px}.g-ord--chain .g-ord__item+.g-ord__item:before,.g-ord--time .g-ord__item+.g-ord__item:before{content:"⬇";position:absolute;top:-20px;inset-inline-start:50%;color:var(--g-fill);font-weight:800}.g-ord__icon{font-size:1.4rem}.g-ord__p{margin:2px 0 0;font-size:.92rem;color:var(--text-muted)}.g-ord__pool{justify-content:center}.g-ord__card{max-width:100%;white-space:normal;text-align:start}.g-mt{display:grid;grid-template-columns:1fr 1fr;gap:10px}.g-mt__col{display:grid;gap:8px;align-content:start}.g-mt__card{white-space:normal;text-align:start;min-height:46px}.g-mt__card.is-picked{outline:3px solid var(--g-fill)}.g-mt__card.is-ok{border-color:var(--mt, var(--g-ok));background:color-mix(in srgb,var(--mt, var(--g-ok)) 14%,var(--surface));opacity:1}.g-hl{font-size:1.15rem;line-height:2.1;padding:12px 14px;border-radius:10px;background:var(--surface-2);margin:0}.g-hl__w{cursor:pointer;border-radius:4px;padding:1px}.g-hl__w:hover{background:color-mix(in srgb,var(--g-fill) 10%,transparent)}.g-hl__t.is-found{background:color-mix(in srgb,#f59e0b 35%,transparent);font-weight:700}.g-hl__found{margin:0;padding-inline-start:20px;display:grid;gap:4px}.g-zn{display:grid;grid-template-columns:repeat(var(--zn, 3),minmax(0,1fr));gap:8px}.g-zn__zone{font:inherit;display:grid;gap:6px;align-content:start;min-height:110px;padding:10px 8px;border-radius:12px;border:2px dashed var(--g-fill);background:var(--surface-2);color:var(--text);cursor:pointer;min-width:0}.g-zn--line{position:relative;padding-top:16px}.g-zn--line:before{content:"";position:absolute;top:4px;inset-inline:4px;height:4px;border-radius:2px;background:linear-gradient(to left,var(--g-fill),var(--g-ok))}.g-zn--line:after{content:"◀";position:absolute;top:-4px;inset-inline-end:-2px;color:var(--g-ok);font-size:.9rem}.g-zn__list{display:grid;gap:4px}.g-zn__card{white-space:normal;max-width:100%}.g-zn__card.is-picked{outline:3px solid var(--g-fill)}.g-zn__list .g-zn__card{font-size:.85rem;padding:4px 6px;border-radius:6px;background:color-mix(in srgb,var(--g-ok) 14%,var(--surface))}.g-zn__pool{justify-content:center}@media(max-width:520px){.g-zn{grid-template-columns:1fr}.g-zn--line:before,.g-zn--line:after{display:none}.g-mt{gap:6px}.g-mt__card{font-size:.88rem}}.g-sim{width:min(100%,440px);height:auto;direction:ltr;unicode-bidi:isolate;background:var(--surface-2);border-radius:12px}.g-sim__read{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.g-sim__chip{display:grid;padding:4px 10px;border-radius:8px;background:var(--surface-2);text-align:center;min-width:80px}.g-sim__chip small{color:var(--text-muted);font-size:.75rem}.g-sim__ctl{display:grid;gap:8px}.g-sim__range{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto;gap:8px;align-items:center}.g-sim__range input{width:100%;accent-color:var(--g-fill)}.g-sim__btns{justify-content:center;align-items:center}.g-sim__btns .is-on{border-color:var(--g-fill);background:color-mix(in srgb,var(--g-fill) 15%,var(--surface));font-weight:700}.g-sim__step{display:inline-flex;gap:4px;align-items:center}.g-sim__tasks{margin:0;padding-inline-start:20px;display:grid;gap:4px}.g-sim__tasks .is-done{color:var(--g-ok)}.g-sim__tasks .is-now{font-weight:700}.g-sim__t{font-size:11px;fill:var(--text);font-family:inherit}.g-sim__t--big{font-size:15px;font-weight:800}.g-sim__t--sm{font-size:9px}.g-sim__t--in{fill:#fff;font-weight:700}.g-sim__glass{fill:none;stroke:var(--text-muted);stroke-width:3}.g-sim__water{fill:#3b82f659}.g-sim__oil{fill:#eab30859}.g-sim__salt{fill:#0ea5e98c}.g-sim__block{fill:#b45309;stroke:#451a03;stroke-width:1.5}.g-sim__move{transition:transform .8s cubic-bezier(.3,1.4,.5,1)}.g-sim__ptc{fill:#2563eb;stroke:#1e3a8a;stroke-width:1}.g-sim__shell{fill:none;stroke:var(--border);stroke-dasharray:3 3}.g-sim__pro{fill:#dc2626;stroke:#7f1d1d}.g-sim__neu{fill:#d1d5db;stroke:#4b5563}.g-sim__ele{fill:#2563eb}.g-sim__orbit{animation:g-spin linear infinite}.g-sim__wire{fill:none;stroke:var(--text-muted);stroke-width:4;stroke-linejoin:round}.g-sim__flow{fill:none;stroke:#f59e0b;stroke-width:3;stroke-dasharray:4 8;animation:g-flow linear infinite}.g-sim__bat{fill:#16a34a;stroke:#14532d;stroke-width:2}.g-sim__bulb{fill:#fde68a;stroke:#92400e;stroke-width:2}.g-sim__glow{fill:#facc158c;transition:all .3s}.g-sim__sun{fill:#facc15;stroke:#f59e0b;stroke-width:3}.g-sim__ray{stroke:#facc15;stroke-width:2;stroke-dasharray:6 6;animation:g-flow 1s linear infinite}.g-sim__earth{fill:#3b82f6;stroke:#166534;stroke-width:3}.g-sim__night{fill:#0f172a99}.g-sim__me{fill:#ef4444;stroke:#fff;stroke-width:2;transition:all .4s}.g-sim__orbitline{fill:none;stroke:var(--border);stroke-dasharray:4 4}.g-sim__axis{stroke:#ef4444;stroke-width:2}.g-sim__track{fill:none;stroke:var(--text-muted);stroke-width:4}.g-sim__ball{fill:#ef4444;stroke:#7f1d1d;stroke-width:2;transition:all .35s}.g-sim__pe{fill:#2563eb;transition:all .35s}.g-sim__ke{fill:#16a34a;transition:all .35s}.g-sim__heat{fill:#f97316;transition:all .35s}.g-sim__male{fill:#60a5fa}.g-sim__female{fill:#f472b6}.g-sim__lv--0{fill:#86efac}.g-sim__lv--1{fill:#fde047}.g-sim__lv--2{fill:#fdba74}.g-sim__lv--3{fill:#fca5a5}html.a11y-no-motion .g-pop,html.a11y-no-motion .g-tl__ev,html.a11y-no-motion .g-sim__orbit,html.a11y-no-motion .g-sim__flow,html.a11y-no-motion .g-scene,html.a11y-no-motion .g-tl:before{animation:none!important}@media(prefers-reduced-motion:reduce){.g-pop,.g-tl__ev,.g-sim__orbit,.g-sim__flow,.g-sim__ray,.g-scene,.g-tl:before,.g-shake{animation:none!important}.g-sim__move{transition:none}}.ac-mode{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 10px}.g-sim__t--dark{fill:#111827}.g-wcard__ex{font-size:.85rem;color:var(--text-muted);font-style:italic;line-height:1.4}.lesson-goal{padding:8px 12px;border-radius:12px;background:var(--surface-2);border-inline-start:4px solid var(--primary);font-size:1rem}.lesson-recap{display:grid;gap:4px;padding:10px 12px;border-radius:12px;background:var(--surface-2);text-align:start}.lesson-recap p{margin:0;line-height:1.7}.g-brief__more{margin-inline-start:6px;font-size:.9rem}.weekly-report__line{margin:2px 0;line-height:1.6}.g-tip--talk .g-say{font-size:inherit;margin:0}.ltr-run{direction:ltr;unicode-bidi:isolate;display:inline-block;max-width:100%;text-indent:0}html.no-he-speech .speak-he-btn,html.no-he-speech .g-speak--he{display:none!important}.nb-fab{position:fixed;inset-inline-end:14px;bottom:14px;z-index:900;width:56px;height:56px;border-radius:50%;border:2px solid var(--surface, #fff);background:var(--primary, #4f46e5);color:#fff;font-size:1.6rem;cursor:pointer;box-shadow:0 6px 18px #00000040}.nb-drawer{position:fixed;z-index:950;background:var(--surface, #fff);color:var(--text);box-shadow:0 0 30px #0000004d;display:flex;flex-direction:column;gap:6px;padding:8px;inset-inline-end:0;top:0;bottom:0;width:min(440px,46vw)}.nb-head{display:flex;align-items:center;gap:8px}.nb-head .nb-sub{flex:1;font-size:.8rem}.nb-editor{display:flex;flex-direction:column;gap:6px;min-height:0;flex:1}.nb-bar{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.nb-btn{min-width:38px;padding:4px 8px}.nb-btn.is-on{outline:2px solid var(--primary, #4f46e5);background:var(--primary-soft, rgba(79,70,229,.12))}.nb-dot{display:inline-block;width:16px;height:16px;border-radius:50%;vertical-align:middle;box-shadow:0 0 0 2px #fff,0 0 0 3px #0000004d}.nb-sep{flex:1}.nb-pagelbl{font-size:.85rem;color:var(--text-muted, #666);min-width:64px;text-align:center}.nb-paper{flex:1;min-height:0;overflow-y:auto;border-radius:8px;border:1px solid var(--border, #ddd);background-color:#fffef8;background-image:linear-gradient(rgba(70,110,200,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(70,110,200,.18) 1px,transparent 1px);background-size:22px 22px}.nb-canvas{display:block;touch-action:none;cursor:crosshair}.nb-list .nb-paper{max-height:65vh}@media(max-width:760px){.nb-drawer{inset-inline:0;top:auto;width:auto;height:62vh;border-radius:16px 16px 0 0}}@media print{.nb-fab,.nb-drawer{display:none!important}}.nb-editor [hidden]{display:none!important}.nb-kind{font-weight:600}.nb-paper--typed{background-image:none;background-color:#fffef8;padding:8px 10px}.nb-typed{display:flex;flex-direction:column;gap:2px}.nb-line{width:100%;box-sizing:border-box;border:0;border-bottom:1px solid rgba(70,110,200,.3);border-radius:0;background:transparent;padding:6px 4px;font-size:1.15rem;line-height:1.6;color:#1f3a93;font-family:inherit;unicode-bidi:plaintext}.nb-line:focus{outline:none;border-bottom:2px solid var(--primary, #4f46e5);background:#4f46e50d}.nb-line::placeholder{color:#8a93a8;font-size:.9rem}.nb-mathbar{gap:3px}.nb-mline{border-bottom:1px solid rgba(70,110,200,.3);padding:2px 0;min-height:44px;display:flex;align-items:center}.nb-mf{display:block;width:100%;min-height:40px;font-size:1.35rem;color:#1f3a93;background:transparent;border:0;outline:none;--caret-color: var(--primary, #4f46e5);--selection-background-color: rgba(79,70,229,.18);--placeholder-color: #8a93a8;--placeholder-opacity: 1}.nb-mf:focus-within{background:#4f46e50d}.nb-mf::part(menu-toggle){display:none}.nb-mf--desk::part(virtual-keyboard-toggle){display:none}body{--keyboard-zindex: 1100}.nb-key{min-width:34px;padding:3px 6px;font-size:1.05rem}.nb-gridbox{margin:8px 0;padding:6px;border:1px dashed rgba(70,110,200,.4);border-radius:8px;background:#fff}.nb-gridbar{margin-bottom:6px}.nb-grid{--nb-cell: 38px;display:grid;gap:0;justify-content:center;direction:ltr}.nb-cell{width:var(--nb-cell);height:var(--nb-cell);box-sizing:border-box;text-align:center;padding:0;border:1px solid rgba(70,110,200,.28);border-radius:0;background:transparent;font-size:1.3rem;font-family:inherit;color:#1f3a93;caret-color:transparent}.nb-cell:focus{outline:2px solid var(--primary, #4f46e5);outline-offset:-2px;background:#4f46e514}.nb-cell--carry{height:28px;font-size:.9rem;color:#c0392b;border-color:#c0392b33}.nb-cell--under{border-bottom:3px solid #1d1d1d}.nb-qr{align-items:center;text-align:center;max-width:360px}.nb-qr__img{width:220px;height:220px;image-rendering:pixelated;margin:0 auto}.nb-qr__steps{text-align:start;margin:0;padding-inline-start:20px;display:grid;gap:4px}.nb-qr__status{margin:0;font-weight:600}.nb-qr__status.is-ok{color:var(--success, #157f3b)}.nb-phone .nb-paper{max-height:70vh}.g-opt-wrap{display:flex;gap:6px;align-items:stretch}.g-opt-wrap>.g-opt{flex:1;min-width:0}.g-opt-say{flex:none;width:46px;border-radius:12px;border:2px solid var(--border, #ddd);background:var(--surface, #fff);font-size:1.15rem;cursor:pointer}.g-opt-say:active{transform:scale(.95)}.tour-layer{position:fixed;inset:0;z-index:10002;direction:rtl}.tour-catcher{position:absolute;inset:0;background:transparent}.tour-layer--center .tour-catcher{background:#0f0e188c}.tour-spot{position:fixed;border-radius:14px;pointer-events:none;box-shadow:0 0 0 4px #f59e0b,0 0 0 9999px #0f0e188c}.tour-card{position:fixed;width:380px;max-width:calc(100vw - 24px);box-sizing:border-box;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:16px;padding:14px 16px 12px;box-shadow:0 18px 50px #00000059;display:flex;flex-direction:column;gap:8px;text-align:start;animation:tour-in .2s ease-out}@keyframes tour-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.tour-card:focus{outline:none}.tour-card__top{display:flex;align-items:center;justify-content:space-between;gap:8px}.tour-card__count{font-size:.8rem;color:var(--text-muted);font-weight:600}.tour-skip{border:0;background:none;color:var(--text-muted);text-decoration:underline;font:inherit;font-size:.9rem;cursor:pointer;padding:6px 4px;min-height:32px}.tour-card__head{display:flex;align-items:center;gap:8px}.tour-card__title{margin:0;font-size:1.15rem;line-height:1.3;flex:1}.tour-card__text{margin:0;font-size:1rem;line-height:1.6}.tour-card__speak .speak-he-btn{border:1px solid var(--border);background:var(--surface-2);border-radius:999px;min-width:40px;min-height:40px;font-size:1.15rem;cursor:pointer}.tour-card__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px;flex-wrap:wrap}.tour-card__btns{display:flex;gap:8px;margin-inline-start:auto}.tour-card__btns .btn{min-height:40px;min-width:76px}.tour-dots{display:flex;gap:5px}.tour-dot{width:8px;height:8px;border-radius:50%;background:var(--border)}.tour-dot.is-on{background:var(--primary);width:20px;border-radius:999px}.tour-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.tour-layer--kids .tour-card{border:2px solid var(--primary)}.tour-layer--kids .tour-card__text{font-size:1.08rem}body.early-reader .tour-layer--kids .tour-card__title{font-size:1.35rem}body.early-reader .tour-layer--kids .tour-card__text{font-size:1.3rem;line-height:1.8}.tour-layer--teen .tour-card{border-radius:12px}.tour-layer--teen .tour-spot{border-radius:10px;box-shadow:0 0 0 3px var(--primary),0 0 0 9999px #0f172a80}.tour-help-btn{white-space:nowrap}@media(max-width:480px){.ac-topbar .tour-help-btn__txt,.parent-topbar .tour-help-btn__txt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.ac-topbar .tour-help-btn,.parent-topbar .tour-help-btn{min-width:40px;min-height:36px}}@media(max-width:420px){.tour-card{padding:12px 12px 10px}.tour-card__btns .btn{min-width:64px;padding-inline:10px}}.tour-layer--still .tour-card{animation:none!important}@media(prefers-reduced-motion:reduce){.tour-card{animation:none!important}}html.a11y-no-motion .tour-card{animation:none!important}html.a11y-contrast .tour-card{border:3px solid #000!important;background:#fff!important;color:#000!important}html.a11y-contrast .tour-spot{box-shadow:0 0 0 4px #000,0 0 0 8px #ffd400,0 0 0 9999px #0009}@media print{.tour-layer{display:none!important}}.a11y-opt--help{font-weight:700}.moved-screen{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:16px;background:#eef4ff;direction:rtl}.moved-card{max-width:440px;width:100%;background:#fff;color:#1d2433;border-radius:20px;padding:28px 22px;text-align:center;box-shadow:0 10px 30px #1e326426;font-size:1.1rem;line-height:1.6}.moved-emoji{font-size:2.6rem}.moved-card h1{margin:8px 0;font-size:1.7rem}.moved-link{display:inline-block;margin:10px 0 14px;padding:12px 22px;border-radius:14px;background:#2f5bea;color:#fff;font-size:1.3rem;font-weight:700;text-decoration:none}.moved-link:focus-visible{outline:3px solid #f5a623;outline-offset:3px}.moved-small{margin:4px 0;font-size:.95rem;color:#4a5368}.top-menu{display:contents}.top-menu-toggle{display:none}@media(max-width:640px){body.fun .student-top{gap:10px}.student-top{position:relative}.top-menu-toggle{display:inline-flex;margin-inline-start:auto}.top-menu{display:none;position:absolute;top:calc(100% + 6px);inset-inline:12px;z-index:40;flex-direction:column;gap:6px;padding:12px;background:var(--surface, #fff);border:1px solid var(--border, #e3e6ef);border-radius:18px;box-shadow:0 14px 34px -12px #281e5a59}.top-menu.is-open{display:flex}.top-menu .btn{width:100%;justify-content:flex-start;padding:12px 14px;font-size:1rem}}.cancel-list{display:flex;flex-direction:column;gap:8px;max-height:55vh;overflow-y:auto}.cancel-unit{border:1px solid var(--border);border-radius:12px;padding:8px 10px}.cancel-unit summary{font-weight:700;cursor:pointer;padding:4px 0}.cancel-unit>.btn{margin:4px 0 6px}.cancel-row{display:flex;align-items:center;gap:10px;padding:7px 2px;cursor:pointer}.cancel-row input{width:20px;height:20px;flex-shrink:0}.cancel-row--all{background:var(--primary-soft);border-radius:12px;padding:10px}.parent-subject--off{opacity:.75}.pc-slot:empty{display:none}.pc-news--fresh{border-inline-start:4px solid var(--primary)}.pc-ann{padding:10px 0;border-bottom:1px solid var(--border)}.pc-ann:last-of-type{border-bottom:0}.pc-ann--fresh{padding:10px 12px;margin:0 -12px 8px;background:var(--surface-2);border-radius:12px;border-bottom:0}.pc-ann--off{opacity:.55}.pc-ann__text{white-space:pre-wrap;margin:6px 0 8px;line-height:1.6}.pc-poll{display:flex;flex-direction:column;gap:8px;margin-top:4px}.pc-poll__opts{display:flex;flex-wrap:wrap;gap:8px}.pc-poll__opt{border:2px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:8px 14px;font:inherit;cursor:pointer;min-height:44px}.pc-poll__opt.is-on{border-color:var(--primary);background:var(--primary);color:var(--primary-ink, #fff);font-weight:700}.pc-poll textarea,.pc-chat textarea,.pc-admin-thread textarea{width:100%;box-sizing:border-box}.pc-thread{display:flex;flex-direction:column;gap:8px;margin:8px 0;max-height:360px;overflow-y:auto}.pc-bubble{max-width:85%;padding:8px 12px;border-radius:14px}.pc-bubble--me{align-self:flex-start;background:var(--surface-2)}.pc-bubble--them{align-self:flex-end;background:var(--primary-soft)}.pc-bubble__text{white-space:pre-wrap;overflow-wrap:anywhere}.pc-admin-thread{border-top:1px solid var(--border);padding:8px 0}.pc-admin-thread>summary{cursor:pointer;padding:4px 0}.pc-grades{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.pc-grade{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--border);border-radius:999px;cursor:pointer}.pc-bar{display:grid;grid-template-columns:minmax(90px,40%) 1fr auto;gap:8px;align-items:center;margin:4px 0}.pc-bar__track{height:14px;background:var(--surface-2);border-radius:999px;overflow:hidden}.pc-bar__fill{display:block;height:100%;background:var(--primary);border-radius:999px}.pc-bar__n{font-variant-numeric:tabular-nums;font-weight:700}
