.boundary-scene{text-align:center;background:linear-gradient(#eef6ff 0%,#fff 100%);border:1px solid #137fec29;border-radius:8px;justify-items:center;gap:12px;padding:18px;display:grid}.boundary-scene p{color:var(--muted);margin:0;font-weight:750}.boundary-scene--no{background:linear-gradient(#fff1f2 0%,#fff 100%);border-color:#dc262629}.boundary-choice-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.boundary-choice{min-height:88px;color:var(--ink);font:inherit;background:#fff;border:2px solid #1f29371f;border-radius:8px;padding:14px;font-weight:850;box-shadow:0 12px 24px #0f172a14}.boundary-choice.is-selected{border-color:var(--blue);background:#eaf3fe}.boundary-choice.is-correct{background:#ecfdf5;border-color:#2f8a46}.boundary-choice.is-wrong{background:#fff1f2;border-color:#dc2626}.boundary-choice-grid--multi .boundary-choice{text-align:left;justify-content:flex-start;align-items:center;gap:10px;display:flex}.boundary-choice__check{color:#fff;background:#fff;border:2px solid #1f293729;border-radius:8px;flex:0 0 28px;place-items:center;width:28px;height:28px;font-weight:900;display:grid}.boundary-choice.is-selected .boundary-choice__check{border-color:var(--blue);background:var(--blue)}.boundary-no-button{color:#fff;width:min(100%,360px);min-height:132px;font:inherit;letter-spacing:0;background:#dc2626;border:0;border-radius:8px;place-items:center;margin:0 auto;font-size:clamp(3.4rem,18vw,6.5rem);font-weight:1000;animation:.9s ease-in-out infinite boundary-no-pulse;display:grid;box-shadow:0 22px 46px #dc262647}.boundary-no-button.is-pressed{animation:none;transform:scale(.98)}@keyframes boundary-no-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.035)}}.child-safety-card{background:linear-gradient(#fffffffa,#f4fafff2),#fff;border-color:#d6dfeb;border-radius:24px;gap:18px;padding:22px 20px;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 32px #1d242e14}.phone-shell.phone-shell--soft:has(.bottom-nav):has(.child-safety-card) .phone-scroll{padding-bottom:calc(58px + env(safe-area-inset-bottom,0px))}.phone-scroll:has(.child-safety-card)>.practice-actions{margin-top:8px}.child-safety-card:after{content:"";pointer-events:none;background:#137fec14;border-radius:999px;width:118px;height:118px;position:absolute;inset:auto -14px -28px auto}.child-safety-card>*{z-index:1;position:relative}.child-safety-celebration{pointer-events:none;z-index:3;position:absolute;inset:0;overflow:hidden}.child-safety-confetti{opacity:0;border-radius:3px;width:10px;height:18px;animation:1.65s cubic-bezier(.2,.72,.26,1) forwards child-safety-fall;position:absolute;top:-18px;box-shadow:22vw 10px #ffd54f,-18vw -4px #137fec,36vw -10px #2f8a46}.child-safety-confetti:after{content:none}.child-safety-confetti.c1{background:#137fec;animation-delay:0s;left:4%}.child-safety-confetti.c2{background:#ffd54f;animation-delay:.11s;left:14%}.child-safety-confetti.c3{background:#2f8a46;animation-delay:40ms;left:24%}.child-safety-confetti.c4{background:#ff8b5e;animation-delay:.19s;left:34%}.child-safety-confetti.c5{background:#ef476f;animation-delay:80ms;left:44%}.child-safety-confetti.c6{background:#137fec;animation-delay:.24s;left:54%}.child-safety-confetti.c7{background:#ffd54f;animation-delay:.15s;left:64%}.child-safety-confetti.c8{background:#2f8a46;animation-delay:.28s;left:74%}.child-safety-confetti.c9{background:#ff8b5e;animation-delay:60ms;left:84%}.child-safety-confetti.c10{background:#137fec;animation-delay:.2s;left:94%}.child-safety-confetti:nth-child(n+11){animation-delay:.34s}.child-safety-confetti:nth-child(n+21){animation-delay:.62s}.child-safety-confetti:nth-child(3n){animation-duration:2.25s}.child-safety-confetti:nth-child(4n){margin-left:12px}.child-safety-confetti:nth-child(5n){margin-left:-10px}.child-safety-card__top{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.child-safety-card__top>div{gap:8px;min-width:0;display:grid}.child-safety-card__top h2{margin:0;line-height:1.05}.child-safety-card__top .practice-prompt{margin:0;line-height:1.45}.child-safety-card__top>button{flex:none}.child-safety-visual{background:radial-gradient(circle at top,#ffd54f61,#0000 54%),linear-gradient(#fff,#eff6ff);border:2px solid #137fec24;border-radius:28px;place-items:center;width:108px;height:108px;display:inline-grid;box-shadow:inset 0 -4px #005baf14,0 10px 20px #1d242e0f}.child-safety-visual img{object-fit:cover;border-radius:inherit;width:100%;height:100%}.child-safety-cta{touch-action:manipulation;border-radius:22px;min-height:62px;font-size:18px;font-weight:950;box-shadow:inset 0 -5px #00438073,0 12px 22px #137fec24}.child-safety-secondary{color:var(--blue-dark);justify-self:center;font-weight:900}.helpline-carousel{display:block}.helpline-carousel__card{text-align:center;background:radial-gradient(circle at 86% 9%,#ffd54f66,#0000 17%),linear-gradient(#fff,#f4f9ff 72%,#fff9ea);border:2px solid #cfe0f8;border-radius:28px;grid-area:card;justify-items:center;gap:10px;min-height:314px;padding:22px 20px 24px;display:grid;position:relative;box-shadow:inset 0 -4px #137fec14,0 12px 24px #1d242e0f}.helpline-carousel__card:after{content:"";background:#ffd54f4d;border-radius:999px;width:30px;height:30px;position:absolute;inset:12px 12px auto auto}.helpline-carousel__card strong{overflow-wrap:anywhere;max-width:100%;font-size:26px;line-height:1.2}.helpline-carousel__card span{color:var(--muted);font-size:15px;line-height:1.4}.helpline-carousel__card b{color:var(--blue-dark);letter-spacing:.08em;font-size:44px;line-height:1}.helpline-carousel .child-safety-visual{border-radius:30px;width:120px;height:120px}.helpline-progress-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;display:grid}.helpline-progress-row:after{content:""}.helpline-progress-row>.mini-action{min-width:96px;min-height:44px;color:var(--blue-dark);background:#fff;border-color:#b8d6f7;justify-self:start;margin:0;box-shadow:inset 0 -4px #137fec24,0 8px 18px #1d242e0f}.helpline-progress-row>.mini-action:disabled{cursor:default;opacity:.52;transform:none}.helpline-progress-dots{justify-content:center;gap:10px;display:flex}.helpline-progress-dots__dot{background:#d7dde5;border-radius:999px;width:14px;height:14px;transition:transform .16s,background .16s}.helpline-progress-dots__dot.is-seen{background:#9fc5ef}.helpline-progress-dots__dot.is-active{background:var(--blue);transform:scale(1.2)}@keyframes flipCard{0%{transform:rotateY(0)}to{transform:rotateY(180deg)}}@keyframes pulseMatch{0%{opacity:1;transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes shimmer{0%,to{box-shadow:0 0 #7fcf9099}50%{box-shadow:0 0 0 6px #7fcf9000}}@keyframes wiggleNo{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.helpline-memory-grid{perspective:1200px;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.helpline-memory-card{touch-action:manipulation;cursor:pointer;perspective:1000px;background:0 0;border:0;min-height:150px;padding:0;position:relative}.helpline-memory-card.is-matched{cursor:default;pointer-events:none}.helpline-memory-card.is-wrong-pair{cursor:default;animation:.4s ease-in-out wiggleNo}.helpline-memory-card__face{text-align:center;width:100%;min-height:150px;transform-style:preserve-3d;backface-visibility:hidden;background:linear-gradient(#fff,#f8fbff 68%,#fff8ec);border:2.5px solid #d6deea;border-radius:26px;align-content:center;justify-items:center;gap:8px;padding:14px 10px;transition:transform .28s cubic-bezier(.68,-.55,.265,1.55),box-shadow .24s,border-color .24s,background .24s;display:grid}.helpline-memory-card.is-flipped .helpline-memory-card__face--front{transform:rotateY(0)}.helpline-memory-card.is-flipped .helpline-memory-card__face--back{transform:rotateY(180deg)}.helpline-memory-card__face--front,.helpline-memory-card__face--back{border-radius:26px;position:absolute;inset:0}.helpline-memory-card__face--front{background:linear-gradient(#fff,#f4f9ff 68%,#fef5dc);transform:rotateY(180deg)}.helpline-memory-card__face--back{color:#fff;background:radial-gradient(circle at 0 0,#ffffff40,#0000 50%),linear-gradient(135deg,#4a9eff 0%,#137fec 50%,#0b62ba 100%);place-items:center;display:grid;box-shadow:inset 0 -6px #00438066}.helpline-memory-card:not(.is-matched):hover .helpline-memory-card__face,.helpline-memory-card:not(.is-matched):focus-visible .helpline-memory-card__face{transform:translateY(-4px)scale(1.02);box-shadow:0 16px 32px #137fec33}.helpline-memory-card:not(.is-matched){cursor:pointer}.helpline-memory-card__face strong,.helpline-memory-card__face small{color:#1b3f7b;z-index:1;overflow-wrap:anywhere;max-width:100%;line-height:1.3;position:relative}.helpline-memory-card__face strong{font-size:15px;font-weight:700}.helpline-memory-card__face small{color:#6b7c92;font-size:12px}.helpline-memory-card .child-safety-visual{border-radius:20px;width:70px;height:70px}.helpline-memory-card__face--back:before{content:"?";color:#fff9;text-shadow:0 2px 8px #0043804d;place-items:center;font-size:52px;font-weight:900;display:grid;position:absolute;inset:0}.helpline-memory-card.is-wrong-pair .helpline-memory-card__face{background:linear-gradient(#fff5f1,#ffe7db 76%);border-color:#ff8b5e;box-shadow:inset 0 -4px #ff6b6b2e,0 12px 22px #ff6b6b1f}.helpline-memory-card.is-matched .helpline-memory-card__face--front{background:linear-gradient(#fff,#eefbee 65%,#e0f5df);border-color:#7fcf90;animation:.5s cubic-bezier(.34,1.56,.64,1) pulseMatch;box-shadow:inset 0 -4px #2673372e,0 14px 28px #7fcf9026}.helpline-memory-card.is-matched:after{content:"✓";color:#fff;background:linear-gradient(135deg,#7fcf90,#5db873);border-radius:50%;place-items:center;width:28px;height:28px;font-size:16px;font-weight:900;animation:.8s ease-out shimmer;display:grid;position:absolute;top:8px;right:8px;box-shadow:0 4px 12px #7fcf9066}.helpline-choice-scene,.helpline-dialer__scene{background:linear-gradient(#fffdf7,#e8f1ff);border:2px solid #cfdff0;border-radius:26px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:16px;display:grid;box-shadow:0 18px 50px #376cb414}.helpline-choice-scene--scenario{grid-template-columns:1fr;justify-items:stretch;padding:16px}.helpline-choice-scene--scenario .helpline-choice-scene__copy{order:1}.helpline-choice-scene--scenario .child-safety-visual{aspect-ratio:16/9;border-radius:24px;order:2;width:100%;height:auto}.helpline-choice-scene__copy,.helpline-dialer__copy{gap:6px;display:grid}.helpline-choice-scene__copy strong,.helpline-dialer__copy strong{color:#1b3f7b;font-size:20px}.helpline-choice-scene__copy p,.helpline-dialer__copy p{color:var(--muted);font-size:15px;line-height:1.5}.helpline-choice-options{gap:12px;display:grid}.helpline-choice-option{text-align:left;touch-action:manipulation;background:linear-gradient(#fff,#f4f9ff 78%,#fffaf0);border:2px solid #d7dde5;border-radius:26px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;width:100%;padding:14px;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s;display:grid;box-shadow:inset 0 -4px #137fec14,0 8px 20px #1d242e0d}.helpline-choice-option:hover,.helpline-choice-option:focus-visible{transform:translateY(-2px)}.helpline-choice-option.is-selected{border-color:#8eb9e9}.helpline-choice-option.is-correct{background:linear-gradient(#fff,#edfbee 78%,#e4f6e3);border-color:#7fcf90;box-shadow:inset 0 -4px #26733724,0 8px 20px #26733714}.helpline-choice-option.is-wrong{background:linear-gradient(#fff,#fff6ef 78%,#ffe7da);border-color:#ff8b5e;box-shadow:inset 0 -4px #ff6b6b24,0 8px 20px #ff6b6b14}.helpline-choice-option__copy{gap:4px;min-width:0;display:grid}.helpline-choice-option__copy strong{overflow-wrap:anywhere;font-size:19px;line-height:1.2}.helpline-choice-option__copy b{color:var(--blue-dark);letter-spacing:.06em;font-size:26px;line-height:1}.helpline-dialer{background:linear-gradient(#fff,#f3f8ff 68%,#fff8f2);border:2px solid #d7dde5;border-radius:32px;gap:16px;padding:22px;display:grid;box-shadow:inset 0 -4px #137fec14}.helpline-dialer__screen{background:linear-gradient(#eef7ff,#dfeeff);border:2px solid #b4cff0;border-radius:26px;place-items:center;min-height:100px;padding:14px 18px;display:grid;box-shadow:inset 0 -3px #1048941a}.helpline-dialer__screen span{color:var(--blue-dark);letter-spacing:.18em;font-size:32px;font-weight:900}.helpline-dialer__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.helpline-dialer__key{color:#143c7b;touch-action:manipulation;background:linear-gradient(#fff,#f4f9ff);border:0;border-radius:28px;min-height:80px;font-size:30px;font-weight:900;transition:transform .15s,box-shadow .15s,background .15s;box-shadow:inset 0 -5px #137fec24,0 12px 22px #1d242e14}.helpline-dialer__key:hover,.helpline-dialer__key:focus-visible{background:linear-gradient(#fff,#e9f1ff);transform:translateY(-1px);box-shadow:inset 0 -5px #137fec2e,0 14px 26px #1d242e1f}.helpline-dialer__key:last-child{grid-column:2}.helpline-dialer__actions{grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);align-items:center;gap:10px;display:grid}.helpline-dialer__actions .mini-action,.helpline-dialer__actions .primary-action{margin-top:0}.helpline-voice-service{gap:14px;display:grid}.helpline-voice-service__number{text-align:center;background:radial-gradient(circle at 80% 18%,#ffd54f5c,#0000 24%),linear-gradient(#eef7ff,#dfeeff);border:2px solid #b4cff0;border-radius:28px;place-items:center;min-height:124px;display:grid;box-shadow:inset 0 -4px #1048941a}.helpline-voice-service__number span{color:#4b607a;letter-spacing:.08em;text-transform:uppercase;font-size:13px;font-weight:900}.helpline-voice-service__number strong{color:var(--blue-dark);letter-spacing:.12em;font-size:54px;line-height:1}.helpline-voice-service__visual{background:linear-gradient(#fff,#f4f9ff 78%,#fffaf0);border:2px solid #d7dde5;border-radius:26px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:14px;display:grid}.helpline-voice-service__visual .child-safety-visual{width:118px;height:118px}.helpline-voice-service__visual p{color:var(--muted);margin:0;line-height:1.5}.helpline-voice-target{margin:0}.child-safety-feedback{margin-top:0}@keyframes child-safety-fall{0%{opacity:0;transform:translateY(-40px)rotate(0)}12%{opacity:1}to{opacity:0;transform:translate(-28px,680px)rotate(560deg)}}@media (width<=430px){.child-safety-card{border-radius:22px;padding:20px 18px}.child-safety-card__top{gap:12px}.child-safety-card__top h2{font-size:23px}.helpline-memory-grid{gap:12px}.helpline-memory-card,.helpline-memory-card__face{min-height:138px}.helpline-choice-option{border-radius:24px;padding:12px}.helpline-choice-option .child-safety-visual{border-radius:24px;width:92px;height:92px}}@media (width<=380px){.child-safety-card__top,.helpline-choice-scene,.helpline-dialer__scene,.helpline-dialer__actions{grid-template-columns:1fr}.child-safety-card__top{display:grid}.helpline-carousel__card{min-height:284px}.helpline-carousel .child-safety-visual{width:108px;height:108px}.helpline-memory-card,.helpline-memory-card__face{min-height:116px}.helpline-memory-card .child-safety-visual{border-radius:18px;width:58px;height:58px}.helpline-memory-card__face strong{font-size:14px}.helpline-dialer__grid{gap:8px}.helpline-dialer__key{border-radius:20px;min-height:62px}.helpline-voice-service__visual{grid-template-columns:1fr}.helpline-voice-service__visual .child-safety-visual{aspect-ratio:1;width:100%;height:auto}}.phonics-stage{background:linear-gradient(145deg,#fef4f8 0%,#f0e8ff 40%,#e2f6f0 100%);border-radius:28px;padding:24px 0 18px;position:relative;overflow:hidden}.phonics-stage:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle at 12% 20%,#ffb6c140 0%,#0000 50%),radial-gradient(circle at 88% 75%,#a78bfa2e 0%,#0000 50%),radial-gradient(circle at 50% 5%,#ffd54f26 0%,#0000 40%);position:absolute;inset:0}.phonics-stage>*{z-index:1;position:relative}.phonics-stage__header{flex-direction:column;align-items:center;gap:8px;margin-bottom:16px;padding:0 20px;display:flex}.phonics-stage__header .eyebrow{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#7c3aed;letter-spacing:.1em;text-transform:uppercase;background:#ffffffb8;border-radius:999px;align-items:center;gap:6px;padding:4px 14px;font-size:12px;font-weight:900;display:inline-flex}.phonics-stage__header h1{color:#312e81;text-align:center;margin:0;font-size:22px;line-height:1.25}.phonics-level-badge{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;align-items:center;gap:5px;padding:5px 14px;font-size:12px;font-weight:900;display:inline-flex}.phonics-level-badge--sound{color:#880e4f;background:linear-gradient(135deg,#fce4ec,#f8bbd0)}.phonics-level-badge--image{color:#1b5e20;background:linear-gradient(135deg,#e8f5e9,#c8e6c9)}.phonics-level-badge--blend{color:#0d47a1;background:linear-gradient(135deg,#e3f2fd,#bbdefb)}.phonics-hero-letter{background:linear-gradient(145deg,#fff,#f3e8ff);border:4px solid #a78bfa4d;border-radius:32px;justify-content:center;align-items:center;width:140px;height:140px;margin:12px auto 16px;animation:.5s cubic-bezier(.34,1.56,.64,1) phonics-pop;display:flex;box-shadow:0 8px 32px #7c3aed26,inset 0 -4px #a78bfa1f}.phonics-hero-letter span{color:#5b21b6;text-shadow:0 2px #5b21b626;font-size:80px;font-weight:900;line-height:1}@keyframes phonics-pop{0%{opacity:0;transform:scale(.4)rotate(-8deg)}to{opacity:1;transform:scale(1)rotate(0)}}.phonics-emoji-hero{flex-direction:column;align-items:center;gap:8px;margin:12px auto 16px;animation:3s ease-in-out infinite phonics-float;display:flex}.phonics-emoji-hero__icon{background:linear-gradient(145deg,#fff,#fffde7);border:4px solid #ffd54f66;border-radius:50%;justify-content:center;align-items:center;width:130px;height:130px;font-size:70px;line-height:1;display:flex;box-shadow:0 8px 32px #ff98001f,inset 0 -4px #ffd54f26}.phonics-emoji-hero__word{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#b45309;letter-spacing:.02em;background:#ffffffd1;border-radius:999px;padding:6px 18px;font-size:20px;font-weight:900}@keyframes phonics-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.phonics-blend-display{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin:12px auto 8px;padding:16px 20px;display:flex}.phonics-blend-letter{color:#6d28d9;background:linear-gradient(145deg,#fff,#ede9fe);border:3px solid #a78bfa59;border-radius:18px;justify-content:center;align-items:center;width:64px;height:72px;font-size:38px;font-weight:900;animation:.5s cubic-bezier(.34,1.56,.64,1) both phonics-pop;display:flex;box-shadow:0 4px 16px #7c3aed1a,inset 0 -3px #a78bfa1a}.phonics-blend-letter:nth-child(2){animation-delay:.1s}.phonics-blend-letter:nth-child(3){animation-delay:.2s}.phonics-blend-letter:nth-child(4){animation-delay:.3s}.phonics-blend-letter:nth-child(5){animation-delay:.4s}.phonics-blend-letter:nth-child(6){animation-delay:.5s}.phonics-blend-letter:nth-child(7){animation-delay:.6s}.phonics-blend-plus{color:#a78bfa;opacity:.7;font-size:28px;font-weight:900}.phonics-blend-emoji{justify-content:center;align-items:center;margin:4px auto 12px;font-size:56px;line-height:1;animation:3s ease-in-out infinite phonics-float;display:flex}.phonics-prompt{color:#4c1d95;text-align:center;margin:0;padding:0 20px;font-size:17px;font-weight:750;line-height:1.4}.phonics-options{grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 16px;display:grid}.phonics-option{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#374151;cursor:pointer;background:#ffffffe0;border:3px solid #a78bfa33;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:72px;padding:14px 8px;font-size:22px;font-weight:900;transition:transform .14s,border-color .14s,box-shadow .14s;display:flex;position:relative;box-shadow:0 3px 12px #0000000d,inset 0 -3px #0000000a}.phonics-option:active{transform:scale(.94)}.phonics-option:hover{border-color:#7c3aed59;box-shadow:0 4px 18px #7c3aed1f,inset 0 -3px #0000000a}.phonics-option.is-correct{color:#166534;background:linear-gradient(145deg,#dcfce7,#bbf7d0);border-color:#16a34a;animation:.5s cubic-bezier(.34,1.56,.64,1) phonics-correct-bounce;box-shadow:0 0 0 3px #16a34a26,0 4px 18px #16a34a1f}.phonics-option.is-wrong{color:#991b1b;background:linear-gradient(145deg,#fef2f2,#fecaca);border-color:#ef4444;animation:.45s phonics-shake}.phonics-option__sound-icon{color:#7c3aed;background:#7c3aed14;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;display:flex}@keyframes phonics-correct-bounce{0%{transform:scale(1)}30%{transform:scale(1.12)}60%{transform:scale(.96)}to{transform:scale(1)}}@keyframes phonics-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.phonics-listen-button{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#6d28d9;cursor:pointer;background:#fffc;border:2px solid #7c3aed33;border-radius:999px;align-items:center;gap:8px;margin:0 auto;padding:10px 22px;font-size:14px;font-weight:800;transition:background .15s,border-color .15s;display:inline-flex}.phonics-listen-button:hover{background:#fffffff2;border-color:#7c3aed66}.phonics-listen-row{justify-content:center;margin-top:10px;margin-bottom:6px;display:flex}.phonics-celebration{pointer-events:none;z-index:999;position:fixed;inset:0;overflow:hidden}.phonics-confetti{border-radius:3px;width:12px;height:12px;animation:1.4s ease-in forwards phonics-fall;position:absolute;top:-20px}.phonics-confetti.c1{background:#f472b6;animation-delay:0s;left:5%}.phonics-confetti.c2{background:#fbbf24;border-radius:999px;animation-delay:80ms;left:15%}.phonics-confetti.c3{background:#34d399;animation-delay:.16s;left:25%}.phonics-confetti.c4{background:#60a5fa;border-radius:999px;animation-delay:40ms;left:35%}.phonics-confetti.c5{background:#a78bfa;animation-delay:.12s;left:45%}.phonics-confetti.c6{background:#fb923c;border-radius:999px;animation-delay:.2s;left:55%}.phonics-confetti.c7{background:#f472b6;animation-delay:70ms;left:65%}.phonics-confetti.c8{background:#4ade80;border-radius:999px;animation-delay:.15s;left:75%}.phonics-confetti.c9{background:#818cf8;animation-delay:.1s;left:85%}.phonics-confetti.c10{background:#fcd34d;border-radius:999px;animation-delay:60ms;left:92%}.phonics-confetti.c11{background:#38bdf8;animation-delay:.22s;left:10%}.phonics-confetti.c12{background:#e879f9;border-radius:999px;animation-delay:.18s;left:30%}.phonics-confetti.c13{background:#fca5a5;animation-delay:.14s;left:50%}.phonics-confetti.c14{background:#86efac;border-radius:999px;animation-delay:.24s;left:70%}.phonics-confetti.c15{background:#fde68a;animation-delay:30ms;left:80%}.phonics-confetti.c16{background:#c4b5fd;border-radius:999px;animation-delay:.11s;left:40%}@keyframes phonics-fall{0%{opacity:1;transform:translateY(0)rotate(0)scale(1)}to{opacity:0;transform:translateY(100vh)rotate(720deg)scale(.3)}}.phonics-complete{background:linear-gradient(145deg,#ffffffe6,#fde68a4d);border:2px solid #fbbf2440;border-radius:24px;flex-direction:column;align-items:center;gap:8px;margin:16px 0;padding:20px;display:flex}.phonics-complete__stars{gap:4px;font-size:38px;line-height:1;display:flex}.phonics-complete__stars span{opacity:.25;transition:opacity .25s,transform .25s}.phonics-complete__stars span.is-lit{opacity:1;animation:.4s cubic-bezier(.34,1.56,.64,1) both phonics-star-pop}.phonics-complete__stars span.is-lit:nth-child(2){animation-delay:.15s}.phonics-complete__stars span.is-lit:nth-child(3){animation-delay:.3s}@keyframes phonics-star-pop{0%{opacity:0;transform:scale(.3)rotate(-15deg)}to{opacity:1;transform:scale(1)rotate(0)}}.phonics-complete strong{color:#92400e;font-size:20px;font-weight:900}.phonics-feedback{border-radius:16px;justify-content:center;align-items:center;gap:8px;margin:12px 16px;padding:14px 18px;font-size:16px;font-weight:800;animation:.3s cubic-bezier(.34,1.56,.64,1) phonics-pop;display:flex}.phonics-feedback--correct{color:#166534;background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:2px solid #16a34a33}.phonics-feedback--wrong{color:#991b1b;background:linear-gradient(135deg,#fef2f2,#fecaca);border:2px solid #ef444433}:root{--eklavya-blue:#137fec;--eklavya-blue-600:#0e6bcc;--eklavya-blue-50:#eaf3fe;--font-display:"Instrument Serif", Georgia, serif;--font-sans:"Manrope", system-ui, -apple-system, sans-serif;--surface:#f9f7f2;--surface-dim:#ece9e1;--card:#fff;--ink:#1b1c19;--muted:#5b6170;--line:#dfddd6;--line-strong:#c3c7d0;--blue:#137fec;--blue-dark:#005baf;--yellow:#ffd54f;--yellow-dark:#a98100;--green:#267337;--green-soft:#dff3dc;--orange:#ffb74d;--orange-soft:#fff0d8;--red-soft:#ffe1e1;--shadow-soft:0 18px 60px #191d231f;color:var(--ink);font-synthesis-weight:none;font-family:Noto Sans Kannada,Nirmala UI,Tunga,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.hygiene-activity{gap:16px;display:grid}.hygiene-sequence-slots,.hygiene-sort-bins{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;display:grid}.hygiene-slot,.hygiene-sort-bin,.hygiene-draggable-card{color:#111827;font:inherit;background:#fff7ed;border:2px solid #1f29371a;border-radius:8px}.hygiene-slot{align-content:center;justify-items:center;gap:8px;min-height:92px;padding:12px;display:grid}.hygiene-slot.is-filled{background:#ecfdf5;border-color:#34d399}.hygiene-slot-number{color:#fff;background:#2563eb;border-radius:999px;place-items:center;width:28px;height:28px;font-weight:800;display:grid}.hygiene-slot-empty{border:2px dashed #1f293733;border-radius:8px;width:52px;height:32px}.hygiene-card-tray{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:10px;display:grid}.hygiene-draggable-card{cursor:grab;min-height:72px;padding:12px;font-weight:800;box-shadow:0 10px 24px #0f172a14}.hygiene-draggable-card.is-selected{background:#eff6ff;border-color:#2563eb}.hygiene-sort-bin{background:#f0fdf4;min-height:140px;padding:14px}.hygiene-sort-bin:nth-child(2){background:#fef2f2}.hygiene-bin-stack{gap:8px;margin-top:12px;display:grid}.hygiene-bin-card{background:#ffffffd9;border-radius:8px;align-items:center;gap:6px;padding:8px 10px;font-weight:750;display:inline-flex}.letter-builder{background:#f7fbff;border:2px solid #d8e8fb;border-radius:8px;justify-items:center;gap:16px;padding:16px;display:grid;position:relative;overflow:hidden}.letter-builder__picture{aspect-ratio:1;background:linear-gradient(#fff8d8 0%,#eaf3fe 100%);border:2px solid #137fec24;border-radius:8px;place-items:center;width:min(100%,220px);display:grid}.letter-builder__picture span{font-size:96px;line-height:1}.letter-builder__target{color:var(--blue-dark);text-align:center;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:10px;line-height:1.1;display:inline-flex}.letter-builder__target span{color:var(--muted);font-size:18px;font-weight:800}.letter-builder__target strong{color:var(--blue-dark);font-size:32px;font-weight:950}.letter-builder__slots,.letter-builder__tray{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.letter-builder__slot,.letter-builder__tile{width:64px;height:64px;font:inherit;letter-spacing:0;border-radius:8px;place-items:center;font-size:22px;font-weight:900;display:grid}.letter-builder__slot{color:var(--ink);background:#fff;border:2px dashed #1f29373d}.letter-builder__slot.is-filled{background:#ecfdf5;border-style:solid;border-color:#34d399;animation:.18s ease-out letter-slot-pop}.letter-builder__slot>span:empty{background:#1f29372e;border-radius:999px;width:24px;height:6px}.letter-builder__tile{color:#1f2937;cursor:grab;background:#ffe8ef;border:0;box-shadow:inset 0 -5px #be185d29,0 10px 20px #0f172a14}.letter-builder__tile:nth-child(2n){background:#e0f2fe;box-shadow:inset 0 -5px #0284c724,0 10px 20px #0f172a14}.letter-builder__tile:nth-child(3n){background:#dcfce7;box-shadow:inset 0 -5px #16a34a24,0 10px 20px #0f172a14}.letter-builder__tile.is-selected{outline:3px solid var(--blue);outline-offset:2px}.letter-builder.is-complete .letter-builder__slots{animation:.42s ease-out letter-block-merge}.letter-builder__confetti{pointer-events:none;position:absolute;inset:0}.letter-builder__confetti span{background:#137fec;border-radius:3px;width:9px;height:14px;animation:.76s ease-out forwards letter-confetti;position:absolute;top:45%;left:50%}.letter-builder__confetti span:nth-child(2n){background:#ffd54f}.letter-builder__confetti span:nth-child(3n){background:#2f8a46}.letter-builder__confetti span:first-child{--x:-92px;--y:-72px}.letter-builder__confetti span:nth-child(2){--x:-58px;--y:-98px}.letter-builder__confetti span:nth-child(3){--x:-24px;--y:-66px}.letter-builder__confetti span:nth-child(4){--x:18px;--y:-104px}.letter-builder__confetti span:nth-child(5){--x:54px;--y:-74px}.letter-builder__confetti span:nth-child(6){--x:94px;--y:-48px}.letter-builder__confetti span:nth-child(7){--x:-78px;--y:20px}.letter-builder__confetti span:nth-child(8){--x:-32px;--y:48px}.letter-builder__confetti span:nth-child(9){--x:42px;--y:42px}.letter-builder__confetti span:nth-child(10){--x:86px;--y:12px}@keyframes letter-slot-pop{0%{transform:scale(.9)}to{transform:scale(1)}}@keyframes letter-block-merge{0%,to{gap:10px;transform:scale(1)}55%{gap:2px;transform:scale(1.04)}}@keyframes letter-confetti{0%{opacity:1;transform:translate(-50%,-50%)scale(.6)rotate(0)}to{opacity:0;transform:translate(calc(-50% + var(--x)), calc(-50% + var(--y))) scale(1) rotate(220deg)}}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}button,input,select{font:inherit}button{cursor:pointer}body{background:linear-gradient(90deg, #137fec0d, transparent 18%, transparent 82%, #2673370f), var(--surface);color:var(--ink);font-family:var(--font-sans), "Noto Sans Kannada", "Nirmala UI", "Tunga", system-ui, -apple-system, sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.brand-logo{width:auto;height:28px}.app-root{place-items:center;min-height:100vh;padding:24px;display:grid}.app-root--group{padding:0;display:block}.phone-shell{scrollbar-width:none;border:8px solid var(--surface-dim);background:var(--surface);width:min(100%,410px);height:min(880px,100vh - 48px);min-height:min(880px,100vh - 48px);box-shadow:var(--shadow-soft);border-radius:36px;flex-direction:column;padding:24px;display:flex;position:relative;overflow:hidden}.phone-shell::-webkit-scrollbar{display:none}.phone-shell--soft{background:#f4f2ec}:is(.phone-shell:has(.bottom-nav),.phone-shell:has(.auth-footer)){padding-bottom:24px}.phone-scroll{scrollbar-width:none;flex:auto;min-height:0;padding:12px 0 26px;overflow:hidden auto}.phone-scroll::-webkit-scrollbar{display:none}.phone-shell:has(.bottom-nav) .phone-scroll{padding-bottom:calc(112px + env(safe-area-inset-bottom,0))}.phone-shell:has(.auth-footer) .phone-scroll{padding-bottom:calc(96px + env(safe-area-inset-bottom,0))}.phone-shell:not(:has(.phone-scroll)){overflow-y:auto}.phone-shell:not(:has(.phone-scroll)):has(.bottom-nav){padding-bottom:132px}.phone-shell:not(:has(.phone-scroll)):has(.auth-footer){padding-bottom:112px}.phone-header,.top-brand{z-index:45;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#f4f2ecfa 0%,#f4f2ecf5 100%);flex:none;justify-content:space-between;align-items:center;gap:12px;min-height:80px;margin:-24px -24px 0;padding:24px 24px 12px;display:flex}.phone-header strong,.top-brand strong,.top-brand>span:not(.header-spacer){flex:1;min-width:0}.phone-header strong{color:#0000;justify-content:center;align-items:center;gap:9px;font-size:0;display:inline-flex}.phone-header strong:before{content:"";background:url(/eklavya-logo.png) 50%/contain no-repeat;width:28px;height:28px}.phone-header strong:after{content:"Eklavya";color:var(--blue-dark);font-size:18px;font-weight:900;line-height:1}.top-brand>span:not(.header-spacer){text-align:center;justify-content:center}.header-actions{justify-content:flex-end;align-items:center;gap:8px;min-width:48px;display:inline-flex}.phone-header>.header-actions,.top-brand>.header-actions{margin-left:auto}.section-score-bar{background:linear-gradient(135deg,#eef8ff 0%,#fff9dd 100%);border:1px solid #0e71be2e;border-radius:18px;flex:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin:0 0 10px;padding:8px 12px;display:grid;box-shadow:0 8px 18px #1a4c7414}.section-score-bar__icon{color:#0874c9;background:#e0f2ff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.section-score-bar__copy{gap:1px;min-width:0;display:grid}.section-score-bar__copy strong{color:#17273d;font-size:.92rem}.section-score-bar__value{color:#066bb7;letter-spacing:-.04em;font-size:1.35rem}.header-listen-row{justify-content:flex-end;min-height:40px;margin:-4px 0 12px;display:flex}.header-listen-row .audio-button{flex:none}.language-menu{z-index:30;display:inline-flex;position:relative}.lang-toggle{border:1px solid var(--line);background:#14181e0f;border-radius:999px;align-self:center;align-items:center;gap:2px;padding:3px}.lang-toggle__opt{appearance:none;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:5px 11px;font-size:12px;font-weight:800;line-height:1;transition:background .12s,color .12s}.lang-toggle__opt[aria-pressed=true]{background:var(--surface);color:var(--blue-dark);box-shadow:0 2px 6px #14181e1f}.header-spacer{width:84px;height:48px}.phone-header--tall{align-items:flex-start}.top-brand{color:var(--blue-dark);font-size:18px;font-weight:900}.icon-button,.audio-button{color:#2d3748;background:#ffffffdb;border:0;border-radius:999px;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex}.audio-button{background:var(--blue);color:#fff;box-shadow:inset 0 -4px #0043808c}.audio-button--compact{width:40px;height:40px}.phone-header--question-audio .audio-button{display:none}.phone-header--question-audio{justify-content:center;min-height:48px;position:relative}.phone-header--question-audio>.icon-button{position:absolute;left:0}.phone-header--question-audio .header-actions,.phone-header--question-audio>.language-menu{position:absolute;right:0}.gili-button{background:radial-gradient(circle at 50% 35%, #fef5c8, var(--yellow));border:4px solid #f2c231;border-radius:999px;width:84px;height:84px;position:relative;box-shadow:inset 0 -5px #a9810052}.gili-face{background:linear-gradient(150deg,#83d36a,#238342);border-radius:48% 48% 44% 44%;display:block;position:absolute;inset:13px 17px 18px}.gili-face:before,.gili-face:after{content:"";background:#2c9d51;border-radius:999px 999px 8px 8px;width:16px;height:28px;position:absolute;bottom:5px}.gili-face:before{left:-7px;transform:rotate(-24deg)}.gili-face:after{right:-7px;transform:rotate(24deg)}.gili-eye{z-index:1;background:#111827;border-radius:999px;width:10px;height:10px;position:absolute;top:14px}.gili-eye--left{left:14px}.gili-eye--right{right:14px}.gili-beak{background:var(--orange);z-index:1;border-radius:0 0 14px 14px;width:18px;height:12px;position:absolute;top:26px;left:50%;transform:translate(-50%)}.gili-audio{border:3px solid var(--surface);background:var(--blue);color:#fff;border-radius:999px;place-items:center;width:30px;height:30px;display:grid;position:absolute;bottom:2px;right:-5px}.brand-lockup{text-align:center;justify-items:center;gap:22px;padding-top:30px;display:grid}.brand-lockup h1{color:var(--blue-dark);margin:0;font-size:48px;line-height:1}.brand-subtitle,.mode-panel p,.ladder-intro p,.math-prompt p,.dashboard-main p,.console-main p{color:var(--muted)}.eyebrow,.mode-pill{color:#374151;letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:13px;font-weight:800}.splash-screen{flex-direction:column;flex:1;justify-content:center;gap:28px;min-height:0;display:flex}.mode-panel{gap:16px;display:grid}.prompt-row{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.prompt-row>h1,.prompt-row>h2{flex:auto;min-width:0}.prompt-row .audio-button{flex:none}.prompt-row--center{flex-wrap:wrap;justify-content:center}.prompt-row--center>h1,.prompt-row--center>h2{flex:0 auto}.prompt-row h2,.speech-card h1,.tap-training h1,.home-greeting h1,.recommendation-card h2,.ladder-intro h1,.odu-stage h1,.math-prompt h1,.garden-hero h1{margin:0;font-size:34px;line-height:1.25}.mode-card,.avatar-card,.primary-action,.secondary-action,.quick-actions button,.secondary-link,.presenter-toggle button,.roster-card button,.load-next-card button{border-radius:24px;min-height:64px;font-weight:800}.mode-card{border:2px solid var(--line);background:var(--card);color:var(--ink);text-align:left;box-shadow:inset 0 -4px 0 var(--line);grid-template-columns:56px 1fr auto;align-items:center;gap:14px;padding:20px;display:grid}.secondary-link{color:var(--blue-dark);background:0 0;border:0;justify-content:center;align-items:center;gap:8px;display:inline-flex}.speech-card,.recommendation-card,.profile-strip,.placement-sample,.feedback-card,.metric-card,.heat-panel,.roster-panel,.routine-panel{border:2px solid var(--line);background:var(--card);border-radius:20px}.speech-card{align-items:center;gap:12px;margin:24px 0;padding:18px;display:flex;position:relative}.teacher-login-panel{border:2px solid var(--line);background:var(--card);border-radius:20px;gap:14px;margin-top:28px;padding:24px;display:grid}.teacher-login-panel h1,.teacher-login-panel p{margin:0}.teacher-login-panel h1{color:var(--blue-dark);font-size:34px;line-height:1.15}.teacher-login-panel p{color:var(--muted)}.teacher-login-icon{background:var(--green-soft);width:62px;height:62px;color:var(--green);border-radius:999px;place-items:center;display:inline-grid}.teacher-login-form{gap:12px;margin-top:8px;display:grid}.teacher-login-form label{color:#313846;font-size:14px;font-weight:850}.teacher-login-form input{border:2px solid var(--line);width:100%;min-height:52px;color:var(--ink);background:#fff;border-radius:14px;padding:10px 12px}.teacher-login-error{background:var(--red-soft);color:#742a2a;border:2px solid #df8a8a;border-radius:12px;padding:12px;font-weight:800}.learner-access-card{border:2px solid var(--line);background:var(--card);border-radius:20px;gap:14px;margin-bottom:18px;padding:18px;display:grid}.learner-access-card .prompt-row{gap:12px;display:grid}.learner-access-card h2{margin:0;font-size:24px;line-height:1.18}.learner-access-site{color:var(--blue-dark);margin-top:4px;font-size:13px;font-weight:850;text-decoration:none;display:inline-flex}.learner-access-help{color:var(--muted);margin:0;font-size:13px;font-weight:750;line-height:1.35}.learner-access-help--compact{margin-top:-2px}.segmented-control{border:1px solid var(--line);background:#f3f7fb;border-radius:999px;flex:none;gap:4px;padding:4px;display:inline-flex}.segmented-control button{min-height:34px;color:var(--muted);background:0 0;border:0;border-radius:999px;align-items:center;gap:5px;padding:0 12px;font-size:12px;font-weight:900;display:inline-flex}.segmented-control button.is-active{color:var(--blue-dark);background:#fff;box-shadow:0 1px 4px #1f29371f}.learner-access-form{gap:10px;display:grid}.learner-access-form label{color:#313846;font-size:13px;font-weight:850}.learner-access-form input,.learner-access-form select{border:2px solid var(--line);width:100%;min-height:48px;color:var(--ink);background:#fff;border-radius:14px;padding:10px 12px}.learner-access-modes{border-radius:18px;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.learner-access-modes button{text-align:center;border-radius:14px;justify-content:center;min-height:44px;padding:0 10px}.learner-demo-action{background:var(--green-soft);color:#155020;border-color:#b9d8c1;margin-bottom:0}.learner-demo-action:hover{background:#dcf3df;border-color:#82bd8f}.signin-screen{flex-direction:column;flex:1;gap:14px;display:flex}.signin-screen .icon-button{background:#ffffffe6;width:44px;height:44px;box-shadow:0 1px #1f29370a}.signin-screen .gili-button{border-width:3px;width:66px;height:66px;box-shadow:inset 0 -4px #a9810042}.signin-screen .gili-face{inset:10px 13px 14px}.signin-screen .gili-face:before,.signin-screen .gili-face:after{width:13px;height:22px;bottom:4px}.signin-screen .gili-face:before{left:-5px}.signin-screen .gili-face:after{right:-5px}.signin-screen .gili-eye{width:8px;height:8px;top:11px}.signin-screen .gili-eye--left{left:11px}.signin-screen .gili-eye--right{right:11px}.signin-screen .gili-beak{width:15px;height:10px;top:21px}.signin-screen .gili-audio{width:24px;height:24px;bottom:5px;right:-5px}.signin-screen .gili-audio svg{width:13px;height:13px}.signin-screen .speech-card{border-color:#d8d5cc;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:16px;box-shadow:0 1px #1f293708}.signin-screen .speech-card h1{letter-spacing:0;max-width:230px;font-size:clamp(26px,7vw,31px);line-height:1.13}.signin-screen .audio-button--compact{flex:none;width:38px;height:38px;box-shadow:inset 0 -3px #0043808c}.signin-screen .learner-access-card{border-color:#d8d5cc;border-radius:16px;gap:12px;margin-bottom:0;padding:16px;box-shadow:0 1px #1f293708}.signin-screen .learner-access-card .prompt-row{gap:10px}.signin-screen .learner-access-card h2{font-size:21px;line-height:1.12}.signin-screen .learner-access-site{margin-top:2px;font-size:11px;line-height:1.2}.signin-screen .learner-access-help{font-size:12px;line-height:1.35}.signin-screen .segmented-control{background:#f4f9ff;border-radius:15px;padding:3px}.signin-screen .learner-access-modes button{border-radius:12px;gap:4px;min-height:38px;padding:0 6px;font-size:10px;line-height:1.05}.signin-screen .learner-access-modes button svg{flex:none;width:13px;height:13px}.signin-screen .learner-access-form{gap:9px}.signin-screen .learner-access-form label{font-size:12px;line-height:1.1}.signin-screen .learner-access-form input,.signin-screen .learner-access-form select{border-width:1px;border-color:#d8d5cc;border-radius:13px;min-height:48px;box-shadow:inset 0 1px #1f293708}.signin-screen .learner-access-form input:focus,.signin-screen .learner-access-form select:focus{outline-offset:2px;border-color:#9bc8f7;outline:2px solid #137fec38}.signin-screen .secondary-action{min-height:54px;color:var(--blue-dark);background:#fff;border-width:1px;border-color:#d8d5cc;border-radius:999px;margin-top:4px;box-shadow:inset 0 -2px #dfddd6a6}.signin-screen .secondary-action:hover{background:#f8fbff;border-color:#b8d6f7}.signin-screen .learner-demo-action{color:var(--blue-dark);background:#fff;border-color:#d8d5cc;margin-top:2px}.avatar-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.avatar-card{border:2px solid var(--line);background:var(--card);min-height:160px;box-shadow:inset 0 -5px 0 var(--line);color:var(--ink);justify-items:center;gap:10px;padding:16px;font-size:24px;font-weight:800;display:grid}.avatar-token{color:#123;border-radius:999px;place-items:center;width:68px;height:68px;font-size:28px;font-weight:900;display:inline-grid}.skip-button{color:var(--muted);background:0 0;border:0;font-weight:800}.tap-training{text-align:center;align-content:center;justify-items:center;gap:32px;min-height:680px;display:grid}.tap-target{background:var(--yellow);color:#6e5100;width:190px;height:190px;box-shadow:inset 0 -9px 0 var(--yellow-dark);border:0;border-radius:999px;place-items:center;animation:1.9s ease-in-out infinite breathe;display:grid}.tap-hint{width:80px;height:70px;position:relative}.tap-hint span{background:var(--blue);border-radius:24px 24px 10px 10px;animation:1.1s ease-in-out infinite tap;position:absolute;inset:4px 18px;transform:rotate(-22deg)}.tiny-note{max-width:280px;color:var(--muted);font-size:13px}.home-greeting{justify-content:space-between;align-items:center;gap:14px;margin:4px 0 14px;display:flex}.mode-pill{background:var(--green-soft);color:var(--green);text-transform:uppercase;border-radius:999px;margin-bottom:8px;padding:5px 10px;font-size:11px;font-weight:900;line-height:1;display:inline-flex}.home-greeting .gili-button{border-width:3px;width:58px;height:58px;box-shadow:inset 0 -4px #a981003d}.home-greeting .gili-face{inset:9px 12px 13px}.home-greeting .gili-face:before,.home-greeting .gili-face:after{width:12px;height:20px;bottom:4px}.home-greeting .gili-face:before{left:-5px}.home-greeting .gili-face:after{right:-5px}.home-greeting .gili-eye{width:7px;height:7px;top:10px}.home-greeting .gili-eye--left{left:10px}.home-greeting .gili-eye--right{right:10px}.home-greeting .gili-beak{width:14px;height:9px;top:19px}.home-greeting .gili-audio{width:23px;height:23px;bottom:3px;right:-6px}.home-greeting .gili-audio svg{width:13px;height:13px}.recommendation-card{gap:24px;padding:26px;display:grid;position:relative;overflow:hidden}.recommendation-card--student{border-color:#d8d5cc;border-radius:16px;gap:0;padding:0;box-shadow:0 1px #1f293708}.student-today-image{aspect-ratio:3/2;object-fit:cover;width:100%;display:block}.student-today-body{gap:13px;padding:16px;display:grid}.student-today-body .prompt-row{flex-wrap:nowrap;gap:10px}.student-today-body .prompt-row h2{font-size:25px;line-height:1.1}.student-today-body .audio-button--compact{flex:none;width:38px;height:38px;box-shadow:inset 0 -3px #0043808c}.grid-paper{opacity:.5;background-image:linear-gradient(var(--line) 2px, transparent 2px), linear-gradient(90deg, var(--line) 2px, transparent 2px);background-size:22px 22px;width:92px;position:absolute;inset:0 0 0 auto}.akshara-row{gap:18px;display:flex}.akshara-row span,.choice-row button,.akshara-builder button,.number-options button{background:var(--yellow);color:#655000;min-width:76px;min-height:76px;box-shadow:inset 0 -5px 0 var(--yellow-dark);border:2px solid #e5bd2c;border-radius:18px;place-items:center;font-size:46px;font-weight:900;display:grid}.primary-action{background:var(--blue);color:#fff;width:100%;box-shadow:inset 0 -5px 0 var(--blue-dark);border:0;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 24px;display:inline-flex}.primary-action--green{background:var(--green);box-shadow:inset 0 -5px #155020}.primary-action--giant{border-radius:17px;min-height:58px;font-size:18px;font-weight:950}.primary-action--inline{width:auto;min-width:190px}.secondary-action{border:2px solid var(--line);background:var(--card);width:100%;color:var(--blue-dark);border-radius:999px;justify-content:center;align-items:center;gap:8px;margin-bottom:10px;padding:0 22px;display:inline-flex}.profile-strip{border-color:#d8d5cc;border-radius:16px;justify-content:space-between;gap:16px;margin:12px 0;padding:16px;display:flex}.profile-strip strong{font-size:20px;display:block}.profile-strip span{color:var(--muted);display:block}.today-token{background:var(--yellow);color:#655000;width:fit-content;min-width:116px;min-height:78px;box-shadow:inset 0 -6px 0 var(--yellow-dark);border:3px solid #e5bd2c;border-radius:22px;place-items:center;padding:0 24px;font-size:42px;line-height:1;display:inline-grid}.today-sentence{color:var(--muted);margin:0;font-size:20px;font-weight:800;line-height:1.35}.today-sentence--recommendation{color:#1f2937;font-size:15px;font-weight:850;line-height:1.4}.home-progress-card{background:#f4f9ff;border:2px solid #d8e8fb;border-radius:18px;gap:9px;padding:13px;display:grid}.home-progress-card__top,.home-progress-card__bottom{justify-content:space-between;align-items:center;gap:10px;display:flex}.home-progress-card__top{color:#263f63;text-transform:uppercase;font-size:12px;font-weight:950}.home-progress-card__top strong{min-height:26px;color:var(--blue-dark);background:#e3f0ff;border-radius:999px;align-items:center;padding:0 9px;font-size:12px;display:inline-flex}.home-progress-track{background:#d6dde8;border-radius:999px;height:10px;overflow:hidden}.home-progress-track span{border-radius:inherit;background:var(--blue);max-width:100%;height:100%;box-shadow:inset 0 -2px 0 var(--blue-dark);display:block}.home-progress-card__bottom{color:#5a6880;font-size:12px;font-weight:900}.home-progress-card__bottom span:last-child{color:var(--green);align-items:center;gap:4px;display:inline-flex}.garden-badge{background:var(--green-soft);width:72px;height:72px;color:var(--green);border-radius:999px;place-items:center;font-size:20px;font-weight:900;display:grid}.quick-actions{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.quick-actions--simple{margin-top:14px}.quick-actions button{border:2px solid var(--line);background:var(--card);min-height:82px;color:var(--ink);border-bottom-width:5px;border-bottom-color:#c9c5bb;border-radius:20px;place-items:center;gap:8px;font-size:16px;font-weight:900;transition:transform .14s,border-color .14s,box-shadow .14s,background-color .14s;display:grid;box-shadow:0 8px 18px #1f293712}.quick-actions button:hover{border-color:#b8d6f7;border-bottom-color:var(--blue-dark);background:#f8fbff;transform:translateY(-2px);box-shadow:0 12px 24px #137fec21}.quick-actions button:active{border-bottom-width:2px;transform:translateY(2px);box-shadow:0 5px 12px #1f293714}.quick-actions button:focus-visible{outline-offset:3px;outline:3px solid #137fec47}.bottom-nav{border-top:2px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:50;width:auto;min-height:82px;padding-bottom:env(safe-area-inset-bottom,0);background:#fffffff5;grid-template-columns:repeat(3,1fr);margin:0;display:grid;position:absolute;bottom:0;left:0;right:0}.auth-footer{z-index:50;border-top:2px solid var(--line);width:auto;min-height:72px;color:var(--blue-dark);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding-bottom:env(safe-area-inset-bottom,0);background:#fffffff5;justify-content:center;align-items:center;margin:0;font-weight:900;display:flex;position:absolute;bottom:0;left:0;right:0}.auth-footer span{align-items:center;gap:10px;display:inline-flex}.bottom-nav button{color:#273041;background:0 0;border:0;place-items:center;font-size:13px;font-weight:800;display:grid}.bottom-nav .active{background:var(--yellow);border-radius:999px;margin:10px}.ladder-intro,.math-prompt,.garden-hero{text-align:center;margin:28px 0}.ladder{gap:0;display:grid}.ladder-rung{min-height:58px;color:var(--muted);cursor:default;background:0 0;border:0;border-radius:0;grid-template-columns:36px 1fr;align-items:center;gap:14px;padding:8px 4px;font-weight:800;transition:color .16s,transform .16s;display:grid;position:relative}.placement-ladder{padding:2px 0 4px;position:relative}.placement-ladder:before{content:"";background:#dedbd2;border-radius:999px;width:2px;position:absolute;top:21px;bottom:21px;left:21px}.ladder-rung__marker{z-index:1;background:var(--surface);color:#6d7282;border:2px solid #dedbd2;border-radius:999px;place-items:center;width:34px;height:34px;font-size:14px;line-height:1;display:grid;position:relative}.ladder-rung__label{color:#626877;align-items:center;min-height:42px;font-size:20px;line-height:1.2;display:flex}.ladder-rung.is-active,.ladder-rung.is-complete{color:var(--green)}.ladder-rung.is-complete .ladder-rung__marker{border-color:var(--green);background:var(--green);color:#fff}.ladder-rung.is-complete .ladder-rung__label{color:var(--green)}.ladder-rung.is-current{color:#875100;transform:none}.ladder-rung.is-current:before{content:none}.ladder-rung.is-current .ladder-rung__marker{border-color:var(--orange);background:var(--orange);color:#fff}.ladder-rung.is-current .ladder-rung__label{color:#875100}.ladder-rung.is-locked{color:#6d7282;background:0 0}.ladder-rung.is-preview .ladder-rung__marker{background:#fbfaf7}.placement-completion-bar{background:var(--green-soft);min-height:68px;color:var(--green);border:2px solid #a6d5ac;border-radius:18px;align-items:center;gap:12px;margin:18px 0;padding:0 18px;font-size:18px;font-weight:900;display:flex;box-shadow:inset 0 -3px #2673371f}.placement-completion-bar__icon{background:var(--green);color:#fff;border-radius:999px;place-items:center;width:34px;height:34px;display:grid}.placement-completion-bar__icon svg{stroke-width:3px;flex:none}.placement-sample{margin:22px 0;padding:20px}.placement-replay{background:var(--blue);color:#fff;width:100%;min-height:44px;box-shadow:inset 0 -4px 0 var(--blue-dark), 0 10px 22px #137fec33;border:0;border-radius:999px;justify-content:center;align-items:center;gap:9px;margin:0;padding:0 16px;font-size:15px;font-weight:900;transition:transform .14s,box-shadow .14s,background-color .14s;animation:2.6s ease-in-out infinite actionNudge;display:inline-flex}.placement-replay:hover{background:var(--eklavya-blue-600);box-shadow:inset 0 -4px 0 var(--blue-dark), 0 14px 28px #137fec42;transform:translateY(-1px)}.placement-replay:active{box-shadow:inset 0 -2px 0 var(--blue-dark), 0 6px 14px #137fec2e;transform:translateY(2px)}.placement-replay svg{flex:none}.placement-tts-control{background:#f4f9ff;border:2px solid #d8e8fb;border-radius:18px;gap:11px;width:100%;padding:14px;display:grid}.placement-tts-control__top{color:#263f63;text-transform:uppercase;justify-content:space-between;align-items:center;gap:10px;font-size:12px;font-weight:950;display:flex}.placement-tts-control__top strong{min-height:26px;color:var(--blue-dark);background:#e3f0ff;border-radius:999px;align-items:center;padding:0 9px;font-size:12px;display:inline-flex}.placement-speed-slider{color:#5a6880;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;font-size:12px;font-weight:900;display:grid}.placement-speed-slider input{width:100%;min-width:0;height:28px;accent-color:var(--blue);cursor:pointer}.placement-choice-row button{min-width:90px;padding:0 14px;font-size:clamp(30px,9vw,46px)}.placement-choice-row--stack{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.placement-choice-row--stack button{text-align:center;text-overflow:ellipsis;white-space:normal;justify-content:center;width:100%;min-width:0;min-height:58px;padding:0 12px;font-size:clamp(18px,4.9vw,22px);line-height:1.05;overflow:hidden}.placement-choice-row--stack button:nth-child(3){grid-column:1/-1}.placement-choice-row button:focus-visible,.placement-replay:focus-visible{outline-offset:4px;outline:3px solid #137fec59}.placement-step{gap:12px;display:grid;overflow:hidden}.placement-step h2{overflow-wrap:anywhere}.placement-target,.placement-passage{color:#525a70;overflow-wrap:anywhere;line-height:1.45}.placement-target{color:var(--ink);background:#fffaf0;border-radius:16px;padding:12px 14px;font-size:clamp(25px,7.2vw,34px);font-weight:900;line-height:1.2;display:block;box-shadow:inset 0 -3px #ffb74d47}.placement-target.voice-target--word{letter-spacing:0;text-align:center;font-size:clamp(34px,11vw,54px)}.placement-passage{font-size:clamp(18px,4.8vw,22px)}.placement-passage--muted{padding-bottom:2px}.placement-done{margin-top:18px;margin-bottom:18px}.voice-capture-root{gap:12px;width:100%;margin-top:6px;display:grid}.voice-capture-mic,.voice-capture-stop,.voice-capture-link{border-radius:999px;justify-content:center;align-items:center;gap:9px;min-height:48px;font-weight:900;transition:transform .14s,box-shadow .14s,background-color .14s;display:inline-flex}.voice-capture-mic{background:var(--blue);color:#fff;width:100%;min-width:0;box-shadow:inset 0 -4px 0 var(--blue-dark), 0 12px 24px #137fec38;border:0;padding:0 16px;animation:2.6s ease-in-out infinite actionNudge}.voice-capture-mic span:last-child{overflow-wrap:anywhere;min-width:0}.voice-capture-mic:hover{background:var(--eklavya-blue-600);box-shadow:inset 0 -4px 0 var(--blue-dark), 0 16px 30px #137fec47;transform:translateY(-1px)}.voice-capture-mic:active,.voice-capture-stop:active,.voice-capture-link:active{transform:translateY(2px)}.voice-capture-mic-icon{background:#ffffff29;border-radius:999px;place-items:center;width:34px;height:34px;display:grid}.voice-capture-listening,.voice-capture-transcribing,.voice-capture-echo{color:#12345a;background:#f3f8ff;border:2px solid #b9d8ff;border-radius:18px;justify-items:center;gap:10px;width:100%;padding:16px;display:grid}.voice-capture-listening p,.voice-capture-transcribing p{margin:0;font-size:14px;font-weight:900}.voice-capture-orb{background:var(--blue);color:#fff;border-radius:999px;place-items:center;width:58px;height:58px;animation:1.35s ease-out infinite voicePulse;display:grid;position:relative;box-shadow:0 0 #137fec5c}.voice-capture-wave{justify-content:center;align-items:end;gap:4px;height:24px;display:flex}.voice-capture-wave i{background:var(--blue);border-radius:999px;width:5px;height:10px;animation:.78s ease-in-out infinite voiceBars;display:block}.voice-capture-wave i:nth-child(2){animation-delay:.1s}.voice-capture-wave i:nth-child(3){animation-delay:.2s}.voice-capture-wave i:nth-child(4){animation-delay:.3s}.voice-capture-stop{color:#fff;background:#2a2f3a;border:0;width:100%;box-shadow:inset 0 -4px #111827,0 10px 20px #11182729}.voice-capture-transcribing svg:first-child{color:var(--blue);animation:.85s linear infinite spin}.voice-capture-transcribing svg:last-child{color:#4d6d96}.voice-capture-echo{text-align:left;place-items:start stretch}.voice-capture-echo small{color:#4d5e7a;text-transform:uppercase;font-size:12px;font-weight:900}.voice-capture-echo strong{color:var(--ink);overflow-wrap:anywhere;font-size:18px;line-height:1.3}.voice-capture-verdict{border-radius:999px;justify-content:center;align-items:center;gap:7px;width:fit-content;min-height:34px;margin:-2px auto 0;padding:0 12px;font-size:13px;font-weight:950;display:inline-flex}.voice-capture-verdict--pass{background:var(--green-soft);color:var(--green)}.voice-capture-verdict--retry{background:var(--orange-soft);color:#865100}.voice-capture-link{min-height:38px;color:var(--blue-dark);background:0 0;border:0;justify-self:center;padding:0 10px;font-size:13px}.voice-capture-root--error{background:var(--red-soft);border:2px solid #ffcaca;border-radius:18px;padding:14px}.voice-capture-error-title,.voice-capture-error-body{margin:0}.voice-capture-error-title{color:#7a1d1d;font-weight:950}.voice-capture-error-body{color:#714141;font-size:13px}.voice-capture-error-body--alt{color:#875151}@keyframes voicePulse{0%{box-shadow:0 0 #137fec57}70%{box-shadow:0 0 0 16px #137fec00}to{box-shadow:0 0 #137fec00}}@keyframes voiceBars{0%,to{opacity:.55;height:8px}50%{opacity:1;height:24px}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes actionNudge{0%,72%,to{box-shadow:inset 0 -4px 0 var(--blue-dark), 0 12px 24px #137fec38;transform:translateY(0)}82%{box-shadow:inset 0 -4px 0 var(--blue-dark), 0 18px 30px #137fec4d;transform:translateY(-2px)}90%{transform:translateY(0)}}.inline-practice-panel{background:var(--card);border:2px solid #d8d5cc;border-radius:18px;gap:12px;margin:18px 0;padding:16px;display:grid;box-shadow:0 1px #1f293708}.inline-practice-panel .panel-title{margin-bottom:0}.inline-practice-panel h2{margin:0;font-size:18px;line-height:1.2}.inline-practice-empty{color:var(--muted);margin:0;font-size:13px;font-weight:800}.inline-practice-list{gap:10px;display:grid}.inline-practice-card{background:#fcfbf8;border:1px solid #d8d5cc;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:74px;padding:12px;transition:border-color .14s,box-shadow .14s,transform .14s;display:grid}.inline-practice-card:hover{border-color:#b8d6f7;transform:translateY(-1px);box-shadow:0 8px 18px #1f293714}.inline-practice-card strong,.inline-practice-card span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.inline-practice-card strong{font-size:14px}.inline-practice-card span{color:var(--muted);margin-top:3px;font-size:12px;font-weight:800}.inline-practice-card .mini-action{white-space:nowrap;margin-top:0}.choice-row{justify-content:space-between;gap:12px;display:flex}.odu-stage{text-align:center;align-content:center;justify-items:center;gap:14px;min-height:330px;margin-top:10px;display:grid}.odu-stage .gili-button{border-width:3px;width:68px;height:68px;box-shadow:inset 0 -4px #a9810042}.odu-stage .gili-face{inset:10px 13px 14px}.odu-stage .gili-face:before,.odu-stage .gili-face:after{width:13px;height:22px;bottom:4px}.odu-stage .gili-face:before{left:-5px}.odu-stage .gili-face:after{right:-5px}.odu-stage .gili-eye{width:8px;height:8px;top:11px}.odu-stage .gili-eye--left{left:11px}.odu-stage .gili-eye--right{right:11px}.odu-stage .gili-beak{width:15px;height:10px;top:21px}.odu-stage .gili-audio{width:24px;height:24px;bottom:5px;right:-5px}.odu-stage .gili-audio svg{width:13px;height:13px}.odu-stage h1{max-width:290px;font-size:clamp(25px,7vw,32px);line-height:1.15}.odu-stage p{color:var(--muted);margin:0;font-size:17px;font-weight:750}.reading-word{border:2px solid #d8e8fb;border-bottom:5px solid var(--blue-dark);min-width:min(100%,235px);min-height:86px;color:var(--ink);background:#f4f9ff;border-radius:18px;margin:10px 0 4px;padding:0 22px;font-size:78px;font-weight:900;line-height:1.1;transition:transform .14s,box-shadow .14s,border-color .14s,background-color .14s;box-shadow:0 10px 22px #137fec1f}.reading-word:hover{background:#f8fbff;border-color:#9bc8f7;transform:translateY(-2px);box-shadow:0 14px 28px #137fec2e}.reading-word:active{border-bottom-width:3px;transform:translateY(2px);box-shadow:0 7px 16px #137fec21}.reading-word:focus-visible,.akshara-builder button:focus-visible{outline-offset:3px;outline:3px solid #137fec47}.reading-word--coach{color:#7b4b00;border-color:var(--orange);border-bottom-color:var(--orange);background:#fff6e7;box-shadow:0 10px 22px #ffb74d2e}.akshara-builder{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.akshara-builder button{color:#273041;background:#fff;border:2px solid #cfd8e5;border-radius:13px;min-width:62px;min-height:54px;padding:0 12px;font-size:29px;transition:transform .14s,box-shadow .14s,border-color .14s;box-shadow:inset 0 -3px #9aa5b5,0 6px 14px #1f293714}.akshara-builder button:hover{border-color:#9bc8f7;transform:translateY(-1px)}.akshara-builder button:active{transform:translateY(2px);box-shadow:inset 0 -1px #9aa5b5,0 3px 8px #1f293714}.presenter-toggle{border:1px dashed var(--line-strong);background:#ffffffb8;border-radius:16px;gap:10px;margin:2px 0 14px;padding:12px;display:grid}.presenter-toggle p{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:12px;font-weight:800}.presenter-toggle div{gap:8px;display:flex}.presenter-toggle button{color:#263243;background:#eef3fa;border:0;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:6px;min-height:42px;font-size:11px;font-weight:850;display:inline-flex}.presenter-toggle button:hover{background:#e4edf8}.feedback-card{border:2px solid;border-radius:18px;gap:8px;margin:18px 0 16px;padding:18px 20px;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:grid}.feedback-card strong{font-size:20px;font-weight:900}.feedback-card p,.feedback-card span{color:var(--muted);margin:0}.feedback-card--success{background:linear-gradient(135deg,#e8fbe3,#f0fdef);border-color:#7fcf90;animation:.5s cubic-bezier(.34,1.56,.64,1) feedbackBounce;box-shadow:0 8px 20px #7fcf9026}.feedback-card--success strong{color:#2d7a3f}.feedback-card--coach{background:linear-gradient(135deg,#fff9e6,#fffaf0);border-color:#ffa947;animation:.6s feedbackPulse;box-shadow:0 8px 20px #ffa9471f}.feedback-card--coach strong{color:#d97b2f}@keyframes feedbackBounce{0%{opacity:0;transform:scale(.92)translateY(8px)}60%{transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@keyframes feedbackPulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.ten-frame{border:2px solid var(--line);background:var(--card);border-radius:20px;grid-template-columns:repeat(5,1fr);gap:10px;margin:30px 0;padding:18px;display:grid}.counter{aspect-ratio:1;border:2px dashed var(--line-strong);background:#f4f2ec;border-radius:14px}.counter.is-filled{background:radial-gradient(circle at 35% 30%, #ffe999, var(--yellow));box-shadow:inset 0 -3px 0 var(--yellow-dark);border-style:solid;border-color:#e5bd2c}.number-options{justify-content:center;gap:16px;margin-bottom:20px;display:flex}.number-options button.is-selected{outline:4px solid var(--blue)}.garden-hero{justify-items:center;display:grid}.garden-hero--personalized{background:linear-gradient(#eaf6ff 0 42%,#f4fbec 42% 100%);border:2px solid #cfe5d1;border-radius:26px;gap:14px;margin:22px 0 18px;padding:18px;position:relative;overflow:hidden;box-shadow:inset 0 -5px #2673371f}.garden-hero--personalized h2{z-index:1;color:#174c2a;margin:0;font-size:28px;line-height:1.1;position:relative}.garden-hero--personalized p{z-index:1;color:#384252;margin:0;font-size:15px;font-weight:750;line-height:1.42;position:relative}.garden-sky{pointer-events:none;position:absolute;inset:0}.garden-sky span{background:#ffd54fd9;border-radius:999px;width:42px;height:42px;display:block;position:absolute}.garden-sky span:first-child{top:14px;right:18px}.garden-sky span:nth-child(2),.garden-sky span:nth-child(3){background:#ffffffd1;border-radius:999px;width:54px;height:18px}.garden-sky span:nth-child(2){top:38px;left:22px}.garden-sky span:nth-child(3){top:74px;right:72px}.garden-child-card{z-index:1;text-align:left;background:#ffffffc7;border:2px solid #ffffffb8;border-radius:22px;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:14px;width:100%;padding:14px;display:grid;position:relative}.garden-child-card h1{color:#162439;margin:0;font-size:30px;line-height:1.06}.garden-avatar{color:#172033;border:4px solid #fff;border-radius:999px;place-items:center;width:72px;height:72px;font-size:30px;font-weight:950;display:grid;box-shadow:0 8px 20px #1f293729}.garden-level-pill{background:var(--blue);color:#fff;border-radius:999px;align-items:center;gap:6px;min-height:30px;margin-top:8px;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.plant-plot{border:2px solid var(--line);background:linear-gradient(#eff8ef,#fff);border-radius:26px;justify-content:center;align-items:end;gap:8px;width:260px;height:190px;margin-bottom:20px;display:flex;position:relative;overflow:hidden}.plant-plot--progress{z-index:1;background:linear-gradient(#fff3,#fff0),linear-gradient(#dcf2ff 0 54%,#e7f7dc 54% 100%);border-color:#b9d8bd;width:min(100%,292px);height:166px;margin:0;box-shadow:0 14px 28px #26733724}.plant-plot:after{content:"";background:#9a6b43;height:54px;position:absolute;bottom:0;left:0;right:0}.plant-plot span{z-index:1;background:var(--green);border-radius:999px 999px 0 0;width:22px;height:72px;position:relative}.plant-plot span:before,.plant-plot span:after{content:"";background:#75c86e;border-radius:999px 999px 999px 0;width:28px;height:18px;position:absolute;top:18px}.plant-plot span:before{right:10px;transform:rotate(-30deg)}.plant-plot span:after{left:10px;transform:rotate(30deg)scaleX(-1)}.plant-plot--progress span{transform-origin:bottom;height:48px;margin-bottom:18px}.plant-plot--progress span.is-grown:nth-child(2n){height:64px}.plant-plot--progress span.is-grown:nth-child(3n){height:82px}.plant-plot--progress span.is-seedling{background:#5fa455;width:18px;height:28px}.garden-progress-card{z-index:1;text-align:left;background:#ffffffe6;border:2px solid #d7e9d9;border-radius:18px;gap:9px;width:100%;padding:14px;display:grid;position:relative}.garden-progress-card__top{justify-content:space-between;align-items:center;gap:12px;display:flex}.garden-progress-card__top span{color:#174c2a;align-items:center;gap:7px;font-size:14px;font-weight:900;display:inline-flex}.garden-progress-card__top strong{color:var(--blue-dark);font-size:24px;line-height:1}.garden-progress-bar{background:#e3e7de;border-radius:999px;height:16px;overflow:hidden}.garden-progress-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--green), var(--blue));height:100%;display:block}.garden-progress-card small{color:var(--muted);font-size:12px;font-weight:900}.garden-stat-row{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;display:grid;position:relative}.garden-stat{color:#425062;text-align:center;background:#ffffffd1;border:1px solid #1f293714;border-radius:16px;justify-items:center;gap:3px;min-height:74px;padding:9px 6px;font-size:11px;font-weight:850;display:grid}.garden-stat strong{color:#1b2433;font-size:22px;line-height:1}.outcome-list{gap:9px;max-height:480px;padding-bottom:18px;display:grid;overflow:auto}.outcome-row{border:1px solid var(--line);background:var(--card);width:100%;color:inherit;text-align:left;border-radius:14px;grid-template-columns:14px 1fr;align-items:center;gap:12px;padding:12px;display:grid}button.outcome-row{cursor:pointer;transition:transform .14s,border-color .14s,box-shadow .14s}button.outcome-row:hover{border-color:#9bc8f7;transform:translateY(-1px);box-shadow:0 8px 18px #1f293714}.outcome-list--garden{max-height:none;padding-bottom:20px}.garden-domain-rows{gap:9px;display:grid}.outcome-row--mastered{background:#f1fbef;border-color:#a9d8ae}.outcome-row--practising{background:#fff8df;border-color:#efd27d}.outcome-row__icon{width:34px;height:34px;color:var(--blue-dark);background:#eef3fb;border-radius:999px;place-items:center;display:grid}.outcome-row--mastered .outcome-row__icon{background:var(--green-soft);color:var(--green)}.outcome-row--practising .outcome-row__icon{color:#8a6300;background:#fff1bf}.outcome-list--garden .outcome-row{grid-template-columns:34px minmax(0,1fr) 24px}.outcome-row__sprout{color:#93a09a}.outcome-row--mastered .outcome-row__sprout,.outcome-row--practising .outcome-row__sprout{color:var(--green)}.outcome-row strong,.outcome-row span{display:block}.outcome-row span{color:var(--muted)}.empty-state-card,.curriculum-hero,.curriculum-section{border:1px solid var(--line);background:var(--card);border-radius:18px;margin-top:20px;padding:18px}.empty-state-card{color:var(--muted);text-align:center;justify-items:center;gap:12px;display:grid}.curriculum-hero h1,.curriculum-hero p{margin:0}.curriculum-hero h1{margin-bottom:8px;font-size:28px;line-height:1.14}.curriculum-hero>p:last-of-type{color:var(--muted)}.curriculum-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.curriculum-stat-grid article{background:#f3f7fb;border-radius:14px;gap:4px;min-height:86px;padding:14px;display:grid}.curriculum-stat-grid strong{color:var(--blue-dark);font-size:28px;line-height:1}.curriculum-stat-grid span,.curriculum-outcome-card p,.gap-card p,.track-card p,.practice-card p,.practice-picker span{color:var(--muted);margin:0;font-size:13px}.curriculum-outcome-grid,.gap-list,.track-list{gap:10px;display:grid}.curriculum-domain{gap:10px;margin-bottom:12px;display:grid}.curriculum-domain.is-open{margin-bottom:20px}.curriculum-domain__head{border:1.5px solid var(--line);background:var(--surface,#fff);text-align:left;cursor:pointer;border-radius:14px;align-items:center;gap:8px;width:100%;margin:0;padding:10px 12px;transition:border-color .14s,box-shadow .14s;display:flex}.curriculum-domain__head:hover{border-color:#9bc8f7;box-shadow:0 6px 14px #1f293712}.curriculum-domain.is-open .curriculum-domain__head{border-bottom-right-radius:0;border-bottom-left-radius:0}.curriculum-domain__chevron{color:var(--muted);flex:none;transition:transform .18s}.curriculum-domain.is-open .curriculum-domain__chevron{transform:rotate(90deg)}.curriculum-domain__head h3{color:var(--ink);margin:0;font-size:15px;font-weight:800}.curriculum-domain__icon{color:var(--green);flex:none}.curriculum-domain__count{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px;font-weight:800}.curriculum-domain__bar{background:var(--surface-dim);border-radius:999px;flex:none;width:56px;height:6px;position:relative;overflow:hidden}.curriculum-domain__bar>span{background:var(--green);border-radius:999px;min-width:6px;transition:width .24s;position:absolute;inset:0 auto 0 0}.panel-title--split{justify-content:space-between;gap:12px}.panel-title--split>div{align-items:center;gap:8px;min-width:0;display:inline-flex}.panel-title--split>span{color:var(--muted);flex:none;font-size:12px;font-weight:900}.activity-catalog{gap:8px;max-height:560px;padding-right:2px;display:grid;overflow:auto}.activity-catalog-row{border:1px solid var(--line);min-height:58px;color:var(--ink);text-align:left;background:#fff;border-radius:12px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;transition:transform .14s,border-color .14s,box-shadow .14s,background-color .14s;display:grid}.activity-catalog-row:hover{border-color:#b8d6f7;transform:translateY(-1px);box-shadow:0 8px 18px #1f293714}.activity-catalog-row.is-complete{background:#f1fbef;border-color:#9cd5a6;box-shadow:inset 4px 0 #65b86d}.activity-catalog-row.is-progress{box-shadow:inset 4px 0 0 var(--orange);background:#fff8df;border-color:#efd27d}.activity-catalog-row.is-complete .activity-catalog-row__index{background:var(--green-soft);color:var(--green)}.activity-catalog-row.is-progress .activity-catalog-row__index{color:#8a6300;background:#fff1bf}.activity-catalog-row__index{width:34px;height:34px;color:var(--blue-dark);background:#eef3fa;border-radius:999px;place-items:center;font-size:12px;font-weight:900;display:inline-grid}.activity-catalog-row__body{gap:2px;min-width:0;display:grid}.activity-catalog-row__body strong,.activity-catalog-row__body span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.activity-catalog-row__body strong{font-size:13px}.activity-catalog-row__body span,.activity-catalog-row__meta{color:var(--muted);font-size:11px;font-weight:800}.activity-catalog-row__meta{overflow-wrap:anywhere;text-align:right;max-width:76px}.activity-catalog-row__meta small{color:inherit;text-transform:uppercase;margin-bottom:3px;font-size:10px;font-weight:950;display:block}.curriculum-outcome-card,.gap-card,.track-card{border:1px solid var(--line);background:#fcfbf8;border-radius:14px}.curriculum-outcome-card{grid-template-columns:14px 1fr;align-items:center;gap:10px;padding:9px 12px;display:grid}.curriculum-outcome-card.is-clickable{cursor:pointer;transition:transform .14s,border-color .14s,box-shadow .14s}.curriculum-outcome-card.is-clickable:hover{border-color:#9bc8f7;transform:translateY(-1px);box-shadow:0 8px 18px #1f293714}.curriculum-outcome-card.is-complete.is-clickable:hover{box-shadow:inset 4px 0 #65b86d,0 8px 18px #1f293714}.curriculum-outcome-card.is-progress.is-clickable:hover{box-shadow:inset 4px 0 0 var(--orange), 0 8px 18px #1f293714}.curriculum-outcome-card>div{grid-template-columns:1fr auto;align-items:center;gap:5px 10px;min-width:0;display:grid}.curriculum-outcome-card>div>strong{grid-area:1/1;min-width:0;margin-bottom:0}.curriculum-outcome-card .mini-action{grid-area:1/2}.curriculum-outcome-card__meta{flex-wrap:wrap;grid-area:2/1/auto/-1;align-items:center;gap:6px;display:flex}.curriculum-outcome-card__meta:empty{display:none}.curriculum-outcome-card.is-complete{background:#f1fbef;border-color:#9cd5a6;box-shadow:inset 4px 0 #65b86d}.curriculum-outcome-card.is-progress{box-shadow:inset 4px 0 0 var(--orange);background:#fff8df;border-color:#efd27d}.curriculum-outcome-card strong,.track-card strong{margin-bottom:4px;display:block}.curriculum-status-pill{color:#425062;background:#ffffffd1;border-radius:999px;align-items:center;min-height:26px;margin:0;padding:0 9px;font-size:11px;font-weight:950;display:inline-flex}.curriculum-outcome-card.is-complete .curriculum-status-pill{color:#174c2a}.curriculum-outcome-card.is-progress .curriculum-status-pill{color:#7a5200}.gap-card{background:#fff8ed;border-color:#f2d3a4;gap:10px;padding:14px;display:grid}.gap-card__head{align-items:center;gap:10px;display:flex}.gap-card b{color:#6b4700}.track-card{padding:14px}.mini-action{background:var(--blue);color:#fff;border:0;border-radius:999px;justify-content:center;justify-self:start;align-items:center;gap:6px;min-height:34px;margin-top:2px;padding:0 12px;font-size:12px;font-weight:900;display:inline-flex}.practice-card{border:2px solid var(--line);background:var(--card);border-radius:20px;margin-top:18px;padding:18px}.practice-card h2,.practice-card p{margin:0}.practice-smart-hint{color:#314866;background:#f4f9ff;border:1px solid #d8e8fb;border-radius:14px;margin-top:14px;padding:12px 14px;font-size:14px;font-weight:800;line-height:1.35}.practice-card{gap:14px;display:grid}.practice-question-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.practice-card h2{font-size:22px;line-height:1.2}.practice-prompt{font-size:18px}.practice-card--evs h2{font-size:28px;line-height:1.15}.practice-card--evs .practice-prompt{font-size:23px;font-weight:800;line-height:1.35}.practice-image-frame{border:2px solid var(--line);background:#f7fafc;border-radius:16px;width:100%;overflow:hidden}.practice-image{aspect-ratio:3/2;object-fit:cover;width:100%;display:block}.practice-detail{color:var(--blue-dark);font-size:32px;line-height:1.15;display:block}.practice-word-build-object{justify-items:center;gap:10px;margin:12px auto 18px;display:grid}.practice-word-build-object__halo{color:#222f47;background:radial-gradient(circle,#fffdf2 0 48%,#fff5b7 49% 66%,#ffec9733 67% 100%),linear-gradient(#fff8cf,#fffdf5);border-radius:999px;place-items:center;width:132px;height:132px;font-size:76px;display:grid;box-shadow:0 0 0 8px #ffefae6b,0 18px 34px #7f672129,inset 0 -7px 18px #f6cd5247}.practice-word-build-object__label{color:#9a6038;text-align:center;overflow-wrap:anywhere;background:#fff;border-radius:999px;justify-content:center;align-items:center;max-width:min(220px,100%);min-height:36px;padding:7px 18px;font-size:18px;font-weight:950;line-height:1.2;display:inline-flex;box-shadow:0 10px 22px #7c522c1f}.practice-passage{border:1px solid var(--line);white-space:pre-line;background:#fcfbf8;border-radius:14px;max-height:220px;padding:14px;line-height:1.7;overflow:auto;color:var(--ink)!important;font-size:15px!important}.poem-tts-control{background:#f4f9ff;border:2px solid #d8e8fb;border-radius:18px;gap:12px;width:100%;padding:12px;display:grid}.poem-tts-control__top{justify-content:space-between;align-items:center;gap:10px;display:flex}.poem-listen-button{background:var(--blue);color:#fff;min-width:0;max-width:100%;min-height:48px;box-shadow:inset 0 -4px 0 var(--blue-dark), 0 10px 22px #137fec33;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:16px;font-weight:950;line-height:1.2;display:inline-flex}.poem-listen-button svg{flex:none}.poem-tts-rate{min-height:30px;color:var(--blue-dark);background:#e3f0ff;border-radius:999px;flex:none;align-items:center;padding:0 10px;font-size:12px;font-weight:950;display:inline-flex}.poem-speed-slider{color:#5a6880;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;font-size:12px;font-weight:900;display:grid}.poem-speed-slider input{width:100%;min-width:0;height:28px;accent-color:var(--blue);cursor:pointer}@media (width<=380px){.poem-tts-control__top{flex-direction:column;align-items:stretch}.poem-listen-button{width:100%}.poem-tts-rate{align-self:flex-start}}.practice-visuals,.practice-choices{flex-wrap:wrap;gap:10px;display:flex}.practice-visuals{box-sizing:border-box;align-items:center;max-width:100%;padding-right:2px;overflow:hidden}.practice-visuals span{box-sizing:border-box;border:2px solid var(--line);min-width:54px;min-height:54px;color:var(--blue-dark);background:#f3f7fb;border-radius:16px;place-items:center;padding:8px 12px;font-size:24px;font-weight:900;display:inline-grid}.practice-visuals--dense{gap:6px}.practice-visuals--dense span:not(.practice-visuals__operator){border-radius:12px;min-width:38px;min-height:38px;padding:4px 6px;font-size:19px}.practice-visuals span.practice-visuals__coin{color:#6e4b00;background:#fff7df;border-color:#e8c25d;border-radius:20px;min-width:68px;min-height:68px;font-size:0;position:relative;box-shadow:inset 0 -4px #b8840038,0 8px 16px #6e4b0014}.practice-visuals span.practice-visuals__coin:before{content:"";background:radial-gradient(circle at 35% 28%,#fff2a8 0 18%,#0000 19%),linear-gradient(145deg,#ffd766 0%,#f7b733 100%);border:3px solid #f0b52f;border-radius:999px;width:42px;height:42px;display:block;box-shadow:inset 0 -4px #99620038,0 3px #7a530029}.practice-visuals span.practice-visuals__coin:after{content:attr(data-value);color:#734d00;place-items:center;font-size:17px;font-weight:950;display:grid;position:absolute;inset:0}.practice-visuals span.practice-visuals__operator{color:#32435a;min-width:30px;min-height:30px;box-shadow:none;background:#eef3fa;border:0;border-radius:999px;padding:0;font-size:24px;line-height:1}.practice-visuals span.practice-visuals__operator--minus{background:var(--orange-soft);color:#875100}.practice-visuals span.practice-visuals__removed{color:#6f4b13;opacity:.82;background:#fff3e4;border-color:#f2bf8a;min-width:54px;min-height:54px;position:relative}.practice-visuals span.practice-visuals__removed:after{content:"";background:#df5b45;border-radius:999px;height:4px;position:absolute;top:50%;left:10px;right:10px;transform:rotate(-18deg)}.practice-visuals--dense span.practice-visuals__removed{border-radius:12px;min-width:38px;min-height:38px;padding:4px 6px;font-size:19px}.practice-visuals--dense span.practice-visuals__removed:after{height:3px;left:7px;right:7px}.practice-visuals span.practice-visuals__sep{background:var(--line);border:none;border-radius:0;align-self:center;width:2px;min-width:0;min-height:32px;padding:0}.practice-visuals span.practice-position-scene{perspective:380px;background:linear-gradient(#f7fbff 0 62%,#edf8ef 63% 100%);border-color:#c7d5e5;border-radius:20px;width:min(250px,100%);min-width:220px;min-height:168px;padding:0;position:relative;overflow:hidden;box-shadow:inset 0 -3px #2f4a7014,0 8px 18px #293d5b14}.practice-visuals span.practice-position-scene:after{content:"";filter:blur(2px);background:#435b7e1a;border-radius:999px;height:16px;position:absolute;bottom:18px;left:22px;right:22px}.practice-visuals span.practice-position-scene:before{content:"";background:#6a81a229;height:1px;position:absolute;top:63%;left:20px;right:20px}.practice-visuals span.practice-position-scene__anchor,.practice-visuals span.practice-position-scene__subject{box-sizing:border-box;width:auto;min-width:0;height:auto;min-height:0;color:inherit;box-shadow:none;background:0 0;border:0;border-radius:0;place-items:center;padding:0;font-size:1rem;display:grid;position:absolute}.practice-position-scene__anchor{z-index:1;filter:drop-shadow(0 9px 8px #1f293729);top:50%;left:50%;transform:translate(-50%,-50%)}.practice-position-scene__subject{z-index:3;filter:drop-shadow(0 7px 7px #1f293738)}.practice-position-scene--above .practice-position-scene__anchor{top:66%}.practice-position-scene--above .practice-position-scene__subject{top:24%;left:50%;transform:translate(-50%,-50%)}.practice-position-scene--on .practice-position-scene__anchor{top:66%}.practice-position-scene--on .practice-position-scene__subject{filter:drop-shadow(0 5px 5px #1f29372e);top:56%;left:50%;transform:translate(-50%,-50%)}.practice-position-scene--below .practice-position-scene__anchor{top:35%}.practice-position-scene--below .practice-position-scene__subject{bottom:14px;left:50%;transform:translate(-50%)}.practice-position-scene--inside .practice-position-scene__anchor{top:54%;transform:translate(-50%,-50%)scale(1.05)}.practice-position-scene--inside .practice-position-scene__subject{top:52%;left:50%;transform:translate(-50%,-50%)scale(.74)}.practice-position-scene--beside .practice-position-scene__anchor{top:55%;left:66%}.practice-position-scene--beside .practice-position-scene__subject{top:55%;left:30%;transform:translate(-50%,-50%)}.practice-position-scene--near .practice-position-scene__anchor{top:56%;left:55%}.practice-position-scene--near .practice-position-scene__subject{top:56%;left:41%;transform:translate(-50%,-50%)}.practice-position-scene--far .practice-position-scene__anchor{top:55%;left:82%}.practice-position-scene--far .practice-position-scene__subject{top:55%;left:17%;transform:translate(-50%,-50%)scale(.9)}.practice-position-scene--far:before{background:repeating-linear-gradient(90deg,#3d689a47 0 9px,#0000 9px 17px);border-radius:999px;height:4px;top:55%;left:74px;right:74px}.practice-position-scene--left .practice-position-scene__anchor,.practice-position-scene--right .practice-position-scene__subject{top:55%;left:72%;transform:translate(-50%,-50%)rotateY(-12deg)}.practice-position-scene--left .practice-position-scene__subject,.practice-position-scene--right .practice-position-scene__anchor{top:55%;left:28%;transform:translate(-50%,-50%)rotateY(12deg)}.practice-position-scene--left .practice-position-scene__subject,.practice-position-scene--right .practice-position-scene__subject{filter:drop-shadow(0 10px 10px #1f293740)}.practice-position-scene--front .practice-position-scene__anchor{z-index:1;opacity:.78;filter:drop-shadow(0 4px 4px #1f293724);top:39%;left:50%;transform:translate(-50%,-50%)scale(.76)}.practice-position-scene--front .practice-position-scene__subject{z-index:4;filter:drop-shadow(0 12px 10px #1f293742);top:65%;left:50%;transform:translate(-50%,-50%)scale(1.08)}.practice-position-scene--behind .practice-position-scene__subject{z-index:1;opacity:.78;filter:drop-shadow(0 4px 4px #1f293724);top:39%;left:50%;transform:translate(-50%,-50%)scale(.76)}.practice-position-scene--behind .practice-position-scene__anchor{z-index:4;filter:drop-shadow(0 12px 10px #1f293742);top:65%;left:50%;transform:translate(-50%,-50%)scale(1.08)}.practice-choices button{border:2px solid var(--line);min-height:58px;color:var(--ink);background:#fff;border-radius:16px;flex:42%;padding:8px 12px;font-weight:900}.practice-choices--large-emoji button{white-space:pre-line;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:88px;font-size:15px;line-height:1.18;display:inline-flex}.practice-choices--large-emoji svg{vertical-align:middle;flex:none}.practice-choices button.is-correct{background:var(--green-soft);color:var(--green);border-color:#9cd5a6}.practice-choices button.is-wrong{border-color:var(--orange);background:var(--orange-soft);color:#7a4c00}.build-face-activity{gap:16px;display:grid}.build-face-board{background:#eef4fb;border:2px solid #d7e4f1;border-radius:22px;place-items:center;padding:10px;transition:box-shadow .22s;display:grid;position:relative;overflow:hidden}.build-face-board.is-complete{box-shadow:inset 0 0 0 3px #2f86d640,0 14px 34px #2f86d633}.build-face-stage{touch-action:none;width:min(300px,82vw);position:relative}.build-face-head-img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:auto;display:block}.bf-place{pointer-events:none;position:absolute;transform:translate(-50%,-50%)}.bf-place img{filter:drop-shadow(0 3px 4px #3c2d192e);-webkit-user-drag:none;width:100%;height:auto;display:block}.bf-mirror{transform:scaleX(-1)}.bf-place.is-ghost{opacity:.26}.bf-place.is-ghost img{filter:grayscale(.2)}.bf-place.is-ghost.is-armed{animation:1.1s ease-in-out infinite bf-ghost-pulse}@keyframes bf-ghost-pulse{0%,to{opacity:.34}50%{opacity:.7}}.bf-place--eyes.is-reacting img{transform-origin:50%;animation:1.1s ease-in-out bf-eyes}@keyframes bf-eyes{0%{transform:scale(.7)}32%{transform:scale(1.06)scaleY(1)}48%{transform:scaleY(.12)}60%{transform:scaleY(1)}76%{transform:scaleY(.12)}90%,to{transform:scaleY(1)}}.bf-place--mouth.is-reacting img{transform-origin:50%;animation:.7s ease-out bf-mouth}@keyframes bf-mouth{0%{transform:scale(.6)}45%{transform:scale(1.18)}70%{transform:scale(.95)}to{transform:scale(1)}}.bf-place--nose.is-reacting img{transform-origin:50%;animation:.7s ease-out bf-nose}@keyframes bf-nose{0%{transform:scale(.6)translateY(0)}40%{transform:scale(1.12)translateY(-8%)}62%{transform:scale(1)translateY(3%)}to{transform:scale(1)translateY(0)}}.bf-place--ear-left.is-reacting{animation:.7s ease-out bf-ear-left}.bf-place--ear-right.is-reacting{animation:.7s ease-out bf-ear-right}@keyframes bf-ear-left{0%{transform:translate(-50%,-50%)scale(.6)rotate(0)}35%{transform:translate(-50%,-50%)scale(1.08)rotate(-14deg)}62%{transform:translate(-50%,-50%)scale(1)rotate(6deg)}to{transform:translate(-50%,-50%)scale(1)rotate(0)}}@keyframes bf-ear-right{0%{transform:translate(-50%,-50%)scale(.6)rotate(0)}35%{transform:translate(-50%,-50%)scale(1.08)rotate(14deg)}62%{transform:translate(-50%,-50%)scale(1)rotate(-6deg)}to{transform:translate(-50%,-50%)scale(1)rotate(0)}}.bf-place:not(.is-ghost):not(.is-reacting):not(.is-preset) img{animation:.24s ease-out bf-pop-in}.bf-place.is-preset img{animation:none}@keyframes bf-pop-in{0%{transform:scale(.7)}70%{transform:scale(1.08)}to{transform:scale(1)}}.build-face-hit{border-radius:14px;position:absolute}.build-face-hit.is-armed{cursor:pointer}.build-face-confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.bf-confetti{opacity:0;border-radius:2px;width:9px;height:9px;animation:1.2s ease-in forwards bf-confetti-fall;position:absolute;top:-12px}.bf-confetti--1{background:#2f86d6;animation-delay:0s;left:12%}.bf-confetti--2{background:#ffd54f;animation-delay:90ms;left:24%}.bf-confetti--3{background:#63a92e;animation-delay:40ms;left:38%}.bf-confetti--4{background:#ef7d57;animation-delay:.15s;left:50%}.bf-confetti--5{background:#2f86d6;animation-delay:70ms;left:62%}.bf-confetti--6{background:#ffd54f;animation-delay:.2s;left:74%}.bf-confetti--7{background:#63a92e;animation-delay:.12s;left:86%}.bf-confetti--8{background:#ef7d57;animation-delay:30ms;left:94%}@keyframes bf-confetti-fall{0%{opacity:0;transform:translateY(0)rotate(0)}15%{opacity:1}to{opacity:0;transform:translateY(340px)rotate(320deg)}}.build-face-tray{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.build-face-piece{border:2px solid var(--line);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#fff;border-radius:18px;place-items:center;min-width:0;min-height:80px;padding:8px;transition:border-color .14s,background-color .14s,box-shadow .14s,opacity .14s,transform .24s cubic-bezier(.2,.8,.2,1);display:grid}.build-face-piece-img{object-fit:contain;pointer-events:none;-webkit-user-drag:none;width:100%;height:56px}.build-face-piece:hover{background:#f3f9ff;border-color:#9fc4ee}.build-face-piece:active{cursor:grabbing}.build-face-piece.is-selected{background:#eaf3ff;border-color:#2f86d6;box-shadow:0 0 0 3px #2f86d633}.build-face-piece.is-returning{border-color:var(--orange);background:var(--orange-soft);animation:.36s ease-out build-face-return}.build-face-piece.is-snapped{opacity:.4;background:var(--green-soft);border-color:#9cd5a6}.build-face-piece:disabled{cursor:default}.build-face-piece.is-dragging-source{opacity:.35;border-color:#9fc4ee}.build-face-drag-ghost{z-index:9999;object-fit:contain;pointer-events:none;filter:drop-shadow(0 8px 10px #281e0f47);width:72px;height:72px;position:fixed;transform:translate(-50%,-50%)scale(1.1)rotate(-3deg)}@keyframes build-face-return{0%{transform:translateY(-8px)rotate(-3deg)}50%{transform:translateY(0)rotate(3deg)}to{transform:translateY(0)rotate(0)}}.alphabet-stage{background:radial-gradient(circle at 18% 12%,#ffd54f57,#0000 28%),radial-gradient(circle at 84% 20%,#26733726,#0000 26%),linear-gradient(#f8fcff 0%,#fffaf0 100%);border:2px solid #d6e4f2;border-radius:22px;gap:16px;padding:18px;display:grid;overflow:hidden;box-shadow:0 18px 42px #2339561f}.alphabet-stage__header{gap:8px;display:grid}.alphabet-stage__header h1{color:var(--blue-dark);margin:0;font-size:28px;line-height:1.05}.alphabet-listen-button,.alphabet-repeat-panel button{background:var(--blue);color:#fff;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;width:fit-content;min-height:42px;padding:0 14px;font-weight:900;display:inline-flex;box-shadow:0 10px 20px #137fec33}.alphabet-hero-letter{background:linear-gradient(145deg,#fff7c9 0%,#fff 46%,#e9f6ff 100%);border:3px solid #f2c95e;border-radius:26px;place-items:center;min-height:150px;display:grid;position:relative;box-shadow:inset 0 -8px #ffb74d38,0 14px 28px #4b5e7821}.alphabet-hero-letter span{color:#21466f;text-shadow:0 4px #fff,0 9px 18px #21466f2e;font-size:clamp(82px,25vw,132px);font-weight:950;line-height:.95}.alphabet-hero-letter small{width:58px;height:58px;color:var(--green);background:#fff;border:2px solid #c9dbef;border-radius:18px;place-items:center;font-size:34px;font-weight:950;display:grid;position:absolute;bottom:14px;right:18px}.number-reading-stage{background:radial-gradient(circle at 16% 12%,#ffd54f52,#0000 28%),radial-gradient(circle at 84% 20%,#2f8a4626,#0000 26%),linear-gradient(#f8fcff 0%,#fffaf0 100%)}.number-reading-hero{gap:10px;min-height:168px;padding:18px}.number-reading-hero span{font-size:clamp(78px,23vw,128px)}.number-reading-hero small{text-align:center;overflow-wrap:anywhere;border-radius:999px;width:auto;min-width:72px;max-width:100%;height:auto;min-height:42px;padding:8px 14px;font-size:clamp(17px,4.5vw,24px);line-height:1.15;position:static}.number-reading-visuals{background:#ffffffb8;border:2px solid #dce8f4;border-radius:20px;flex-wrap:wrap;align-items:center;gap:8px;max-height:178px;padding:12px;display:flex;overflow:auto}.number-reading-visuals span{min-width:42px;min-height:42px;color:var(--blue-dark);background:#fff;border:2px solid #d6e4f2;border-radius:14px;place-items:center;padding:6px 9px;font-size:22px;font-weight:950;display:inline-grid}.number-reading-visuals--dense{gap:6px}.number-reading-visuals--dense span{border-radius:11px;min-width:34px;min-height:34px;padding:4px 7px;font-size:18px}.number-reading-visuals .number-reading-object{padding:0}.number-reading-visuals__sep{flex-basis:100%;height:0;background:0 0!important;border:0!important;min-width:0!important;min-height:0!important;padding:0!important}.number-reading-stage .alphabet-cloud-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.number-reading-stage .alphabet-cloud{aspect-ratio:1;border-radius:999px;justify-self:center;width:100%;min-width:0;max-width:92px;min-height:0;padding:8px}.number-reading-stage .alphabet-cloud span{color:#0867b8;text-align:center;white-space:nowrap;width:100%;transform:scale(var(--number-choice-scale,1));transform-origin:50%;font-size:clamp(31px,10vw,43px);line-height:.95;display:block}.alphabet-prompt{color:#26384d;margin:0;font-size:19px;font-weight:900}.alphabet-cloud-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.alphabet-cloud{min-height:92px;color:var(--blue-dark);background:#fff;border:0;border-radius:42px;place-items:center;padding:12px;transition:transform .16s,box-shadow .16s,background-color .16s;animation:3.8s ease-in-out infinite alphabet-float;display:grid;position:relative;box-shadow:inset 0 -5px #137fec1c,0 12px 24px #2f4a701f}.alphabet-cloud:nth-child(2){animation-delay:.32s}.alphabet-cloud:nth-child(3){animation-delay:.64s}.alphabet-cloud span{font-size:clamp(34px,10vw,54px);font-weight:950;line-height:1}.alphabet-cloud:active{transform:translateY(2px)scale(.98)}.alphabet-cloud.is-correct{color:var(--green);background:#f0fbef;animation:.52s ease-out alphabet-pop}.alphabet-cloud.is-correct:after{content:"★";color:#f3b51e;font-size:25px;animation:.72s ease-out both alphabet-star-dust;position:absolute;top:4px;right:10px}.alphabet-cloud.is-wrong{background:var(--red-soft);color:#842929;animation:.26s ease-in-out alphabet-shake}.alphabet-repeat-panel,.alphabet-speak-panel,.alphabet-match-panel{background:#ffffffd1;border:2px solid #dce8f4;border-radius:18px;gap:12px;padding:14px;display:grid}.alphabet-repeat-panel strong{color:#24364b;font-size:24px;line-height:1.18}.alphabet-score{color:#d9d3c6;justify-content:center;gap:8px;font-size:34px;line-height:1;display:flex}.alphabet-score span{transition:color .18s,transform .18s;transform:scale(.92)}.alphabet-score span.is-lit{color:#f5b91f;text-shadow:0 5px 12px #f5b91f47;transform:scale(1.16)}.alphabet-match-panel{grid-template-columns:1fr;align-items:center}.alphabet-match-panel.is-correct{background:#f1fbef;border-color:#9cd5a6}.alphabet-match-panel.is-wrong{background:#fff1f1;border-color:#e8a4a4}.alphabet-match-dropzone{grid-template-columns:minmax(96px,1fr) minmax(74px,.72fr);align-items:center;gap:12px;display:grid}.alphabet-match-card{min-height:118px;color:var(--blue-dark);background:#fff9dc;border:3px solid #f2c95e;border-radius:24px;place-items:center;font-size:74px;font-weight:950;display:grid}.alphabet-match-slot{color:#8aa5c0;background:#ffffffd6;border:3px dashed #b9d3ef;border-radius:999px;place-items:center;min-height:94px;font-size:52px;font-weight:950;transition:background-color .16s,border-color .16s,color .16s,transform .16s;display:grid}.alphabet-match-slot.is-filled{color:var(--green);border-style:solid;transform:scale(1.03)}.alphabet-match-slot.is-correct{background:var(--green-soft);color:var(--green);border-color:#65b86d}.alphabet-match-slot.is-wrong{background:var(--red-soft);color:#842929;border-color:#df5b5b}.alphabet-match-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.alphabet-match-options button{min-height:68px;color:var(--green);touch-action:none;cursor:grab;background:#fff;border:2px solid #d6e4f2;border-radius:18px;font-size:42px;font-weight:950;transition:background-color .16s,border-color .16s,color .16s,transform .16s;box-shadow:inset 0 -4px #26733714,0 8px 18px #2f4a7014}.alphabet-match-options button:active{cursor:grabbing;transform:scale(.97)}.alphabet-match-options button.is-selected{border-color:var(--green);background:var(--green-soft)}.alphabet-match-options button.is-correct{background:var(--green-soft);color:var(--green);border-color:#65b86d}.alphabet-match-options button.is-wrong{background:var(--red-soft);color:#842929;border-color:#df5b5b;animation:.26s ease-in-out alphabet-shake}.alphabet-smile{color:#795500;background:#fff6d2;border-radius:18px;justify-content:center;align-items:center;gap:10px;padding:14px;font-size:20px;font-weight:950;animation:.52s ease-out alphabet-pop;display:flex}.alphabet-smile span{color:#f5b91f;font-size:32px}@keyframes alphabet-float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes alphabet-pop{0%{transform:scale(.92)}70%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes alphabet-star-dust{0%{opacity:0;transform:translateY(8px)scale(.4)rotate(-16deg)}35%{opacity:1}to{opacity:0;transform:translateY(-26px)scale(1.4)rotate(20deg)}}@keyframes alphabet-shake{0%,to{transform:translate(0)}35%{transform:translate(-5px)}70%{transform:translate(5px)}}.practice-actions{gap:6px;margin-top:14px;display:grid}.voice-practice-navigation{grid-template-columns:auto 1fr minmax(132px,auto);align-items:center;gap:10px;padding-top:2px;display:grid}.voice-practice-navigation>.mini-action{margin:0}.voice-practice-navigation>button:disabled{cursor:not-allowed;opacity:.42}.voice-practice-navigation__position{color:var(--muted);text-align:center;font-size:13px;font-weight:900}.voice-practice-navigation__next{min-height:46px;padding:0 16px}.practice-sequence-navigation{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;margin:14px 0 4px;display:grid}.practice-sequence-navigation>span{color:var(--muted);white-space:nowrap;font-size:.88rem;font-weight:800}.practice-sequence-navigation>button{justify-content:center;min-height:48px}.practice-sequence-navigation>button:disabled{cursor:default;opacity:.42}.practice-sequence-navigation__next{justify-self:stretch}.practice-sequence-navigation__hint{color:var(--muted);text-align:center;grid-column:1/-1;font-size:.82rem;font-weight:750}.voice-capture-auto-retry{color:var(--muted);text-align:center;font-size:.82rem;font-weight:750}.practice-picker{scrollbar-width:none;gap:8px;max-height:none;padding-right:0;display:grid;overflow:visible}.practice-picker::-webkit-scrollbar{display:none}.practice-picker button{border:1px solid var(--line);min-height:62px;color:var(--ink);text-align:left;background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;transition:background-color .14s,border-color .14s,box-shadow .14s,transform .14s;display:flex}.practice-picker button:hover{border-color:#b8d6f7;transform:translateY(-1px);box-shadow:0 7px 16px #1f293714}.practice-picker button.is-active{border-color:var(--blue);background:#eef6ff}.practice-picker button.is-correct{color:#174c2a;background:#f1fbef;border-color:#9cd5a6;box-shadow:inset 4px 0 #65b86d}.practice-picker button.is-wrong{color:#6f2424;background:#fff1f1;border-color:#e8a4a4;box-shadow:inset 4px 0 #df5b5b}.practice-picker button.is-active.is-correct{background:#eaf8e7;border-color:#65b86d}.practice-picker button.is-active.is-wrong{background:#ffe9e9;border-color:#df5b5b}.practice-picker__main{gap:3px;min-width:0;display:grid}.practice-picker__main strong,.practice-picker__main span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.practice-picker__status{background:#ffffffd1;border-radius:999px;flex:none;align-items:center;min-height:28px;padding:0 9px;font-size:11px;font-weight:950;display:inline-flex}.practice-picker button.is-correct .practice-picker__status{color:#174c2a}.practice-picker button.is-wrong .practice-picker__status{color:#7a2525}.status-dot{border-radius:999px;width:12px;height:12px;display:inline-block}.status-dot--mastered{background:var(--green)}.status-dot--practising{background:var(--yellow)}.status-dot--not-yet{background:#dedbd5}.console-shell,.dashboard-shell{background:var(--surface);grid-template-columns:320px 1fr;min-height:100vh;display:grid}.console-nav,.dashboard-nav{border-right:2px solid var(--line);background:#f1efea;align-content:start;gap:28px;padding:28px 22px;display:grid}.console-nav h1,.dashboard-nav h1{color:var(--blue-dark);margin:0;font-size:42px;line-height:1}.console-nav p,.dashboard-nav p{color:#2d3442;margin:6px 0 0}.console-nav nav,.dashboard-nav nav{gap:12px;display:grid}.console-nav a,.dashboard-nav a,.console-nav nav button{color:#2d3442;text-align:left;background:0 0;border:0;border-left:4px solid #0000;align-items:center;gap:14px;min-height:54px;font-size:17px;font-weight:800;display:flex}.console-nav .active,.dashboard-nav .active{border-left-color:var(--green);color:var(--green)}.console-main,.dashboard-main{padding:36px 40px}.console-header,.dashboard-header{border-bottom:2px solid var(--line);justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px;padding-bottom:22px;display:flex}.console-header h1,.dashboard-header h1{margin:0;font-size:40px;line-height:1.1}.console-grid{grid-template-columns:minmax(0,2fr) 380px;gap:28px;display:grid}.roster-panel,.routine-panel,.heat-panel{padding:24px}.panel-title{align-items:center;gap:10px;margin-bottom:18px;display:flex}.panel-title h2,.panel-title p{margin:0}.panel-title--spread{justify-content:space-between;align-items:flex-start}.roster-grid{grid-template-columns:repeat(3,minmax(180px,1fr));gap:16px;display:grid}.roster-card{border:2px solid var(--line);background:#fcfbf8;border-radius:12px;grid-template-columns:68px 1fr;align-items:start;gap:14px;padding:18px;display:grid}.roster-card.is-active{border-color:var(--blue);box-shadow:0 0 0 3px #137fec1f}.roster-card h3,.roster-card p{margin:0}.roster-card button{border:1px solid var(--line-strong);background:var(--card);grid-column:1/-1;justify-content:center;align-items:center;gap:6px;display:inline-flex}.mini-meter{background:var(--line);border-radius:999px;width:100%;height:9px;margin-top:14px;overflow:hidden}.mini-meter span{border-radius:inherit;background:var(--green);height:100%;display:block}.load-next-card{background:linear-gradient(135deg, #ffe79b, var(--yellow));box-shadow:inset 0 -5px 0 var(--yellow-dark);border-radius:18px;grid-template-columns:54px 1fr 180px;align-items:center;gap:18px;margin-top:24px;padding:24px;display:grid}.load-next-card h3,.load-next-card p{margin:0}.load-next-card button{background:#fff;border:0;justify-content:center;align-items:center;gap:8px;display:inline-flex}.routine-panel{align-content:start;gap:14px;display:grid}.routine-item{min-height:106px;color:var(--ink);text-align:left;background:#fcfbf8;border:0;border-radius:12px;grid-template-columns:34px 1fr;align-items:start;gap:14px;padding:18px;display:grid}.routine-item strong,.routine-item small{display:block}.routine-item small{color:var(--muted);margin-top:4px;font-size:15px}.square-check{color:#fff;border:2px solid #7b8494;border-radius:6px;place-items:center;width:30px;height:30px;display:grid}.square-check.is-checked{border-color:var(--green);background:var(--green)}.routine-progress{border-top:2px solid var(--line);gap:8px;margin-top:18px;padding-top:18px;display:grid}.metric-grid{grid-template-columns:repeat(3,minmax(220px,1fr));gap:28px;margin-bottom:28px;display:grid}.metric-card{min-height:300px;padding:28px}.metric-card h2,.metric-card p{margin:0 0 18px}.metric-card--yellow{background:linear-gradient(135deg, #ffe9a6, var(--yellow));border-color:#d6a900}.metric-card--yellow blockquote{color:#6f5400;background:#ffffff73;border-radius:10px;margin:28px 0 0;padding:18px}.big-number{color:var(--blue-dark);font-size:70px;line-height:1;display:block}.metric-card--yellow .big-number{color:#745700}.donut{--value:62;background:radial-gradient(circle at center, var(--card) 0 52%, transparent 53%), conic-gradient(var(--green) calc(var(--value) * 1%), var(--line) 0);border-radius:999px;place-items:center;width:180px;height:180px;margin:30px auto 0;display:grid}.donut strong,.donut span{grid-area:1/1}.donut strong{margin-top:-20px;font-size:44px}.donut span{color:var(--muted);margin-top:48px}.legend-row{flex-wrap:wrap;gap:16px;display:flex}.legend-row span{align-items:center;gap:7px;display:inline-flex}.heat-table-wrap{overflow:auto}.heat-table{border-collapse:collapse;width:100%;min-width:1180px}.heat-table th,.heat-table td{border-bottom:1px solid var(--line);text-align:left;padding:10px}.heat-table th{color:#273041;background:#f2f0eb;font-size:14px}.heat-table td:first-child,.heat-table th:first-child{z-index:1;background:#fff;min-width:180px;position:sticky;left:0}.heat-cell{border-radius:6px;width:48px;height:34px;display:block}.heat-cell--mastered{background:var(--green)}.heat-cell--practising{background:var(--yellow)}.heat-cell--not-yet{background:#dedbd5}.dashboard-footer-note{color:var(--muted);justify-content:center;align-items:baseline;gap:10px;margin-top:18px;display:flex}.dashboard-footer-note strong{color:var(--blue-dark);font-size:28px}.admin-login-shell,.admin-shell{background:var(--surface);min-height:100vh}.ui-card{border:1px solid var(--line);background:var(--card);box-shadow:none;border-radius:8px;overflow:hidden}.ui-card-header{gap:6px;padding:22px 22px 0;display:grid}.ui-card-title{color:var(--blue-dark);margin:0;font-size:22px;line-height:1.18}.ui-card-description{color:var(--muted);margin:0;font-size:14px;font-weight:750;line-height:1.45}.ui-card-content{padding:18px 22px 22px}.ui-button{background:var(--green);color:#fff;min-height:44px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:9px;padding:9px 14px;font-weight:850;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.ui-button:hover{background:#226c4d}.ui-button:disabled{cursor:not-allowed;opacity:.65}.ui-button--secondary{border-color:var(--line-strong);color:var(--blue-dark);background:#fff}.ui-button--secondary:hover,.ui-button--ghost:hover{background:#eef3f0}.ui-button--ghost{border-color:var(--line);background:var(--card);color:var(--blue-dark)}.ui-button--danger{color:#fff;background:#8a1f1f}.ui-button--danger:hover{background:#721818}.ui-input,.ui-select{border:1px solid var(--line-strong);width:100%;min-height:44px;color:var(--ink);font:inherit;background:#fff;border-radius:7px;padding:8px 10px}.ui-field{color:#313846;gap:7px;font-size:14px;font-weight:850;display:grid}.ui-badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;width:fit-content;padding:4px 9px;font-size:12px;font-weight:850;line-height:1.2;display:inline-flex}.ui-badge--neutral{border-color:var(--line);color:#394150;background:#f7f7f5}.ui-badge--info{color:#245470;background:#eaf5fb;border-color:#a8d0e8}.ui-badge--success{color:#276244;background:#edf8ec;border-color:#9bcf9f}.ui-badge--warning{color:#7a5416;background:#fff6df;border-color:#e1bd6d}.ui-badge--danger{background:var(--red-soft);color:#8a1f1f;border-color:#d99a9a}.ui-table-wrap{width:100%;overflow-x:auto}.ui-table{border-collapse:collapse;width:100%;min-width:720px}.ui-table th,.ui-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px 14px}.ui-table th{color:#273041;background:#f2f0eb;font-size:14px}.ui-table td{color:#293242}.ui-empty-state{border:1px dashed var(--line-strong);color:var(--muted);background:#fcfbf8;border-radius:8px;gap:6px;padding:18px;display:grid}.ui-empty-state strong{color:var(--blue-dark)}.ui-empty-state p{margin:0;line-height:1.45}.admin-login-shell{place-items:center;padding:28px;display:grid}.admin-login-card,.admin-panel,.admin-metric-card{border:2px solid var(--line);background:var(--card);border-radius:8px}.admin-login-card{width:min(100%,460px);box-shadow:var(--shadow-soft);padding:32px}.admin-login-card h1,.admin-login-card p{margin:0 0 12px}.admin-shell{display:block}.admin-mobile-topbar,.admin-nav-scrim,.admin-nav-close{display:none}.admin-nav{z-index:20;background:#fbfaf7;border-right:1px solid #dedbd5;flex-direction:column;gap:24px;width:280px;height:100vh;padding:24px 18px 86px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.admin-nav-brand__copy{display:block}.admin-nav h1,.admin-nav p{margin:0}.admin-nav h1{color:var(--blue-dark);font-size:25px;line-height:1.12}.admin-nav p{color:var(--muted);margin-top:5px;font-size:13px;font-weight:800}.admin-nav nav{gap:8px;display:grid}.admin-nav a,.admin-nav nav button,.admin-logout{color:#2d3442;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;min-height:44px;padding:0 12px;font-weight:850;transition:none;display:flex}.admin-nav a:not(.active):hover,.admin-nav nav button:not(.active):hover,.admin-logout:hover{background:#f2f0eb}.admin-nav a.active,.admin-nav nav button.active{background:var(--green-soft);color:#174c2a;box-shadow:inset 4px 0 0 var(--green), inset 0 0 0 1px #b8d9be}.admin-nav a.active:hover,.admin-nav nav button.active:hover{background:var(--green-soft)}.admin-nav nav button.admin-start-class{background:var(--green-soft);color:var(--green);border-radius:8px;margin-top:10px}.start-class h2{margin:0 0 4px}.start-class-list{gap:10px;margin:18px 0 0;padding:0;list-style:none;display:grid}.start-class-student{border:2px solid var(--line);background:var(--surface);width:100%;min-height:52px;color:inherit;text-align:left;cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:17px;font-weight:800;display:flex}.start-class-student:hover,.start-class-student:focus-visible{border-color:var(--green);color:var(--green)}.admin-logout{color:#8a1f1f;width:calc(100% - 36px);margin-top:auto;position:absolute;bottom:18px;left:18px}.admin-brand-mark{background:var(--green-soft);width:46px;height:46px;color:var(--green);border-radius:999px;place-items:center;margin-bottom:14px;display:inline-grid}.admin-main{margin-left:280px;padding:32px 40px}.admin-header{border-bottom:2px solid var(--line);justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;padding-bottom:22px;display:flex}.admin-header h1,.admin-header p{margin:0}.admin-header h1{margin-bottom:8px;font-size:38px;line-height:1.1}.admin-login-submit{width:100%;margin-top:4px}.admin-dashboard-stack{gap:20px;display:grid}.admin-overview-hero{gap:10px;padding:0 0 4px;display:grid}.admin-overview-hero h2{color:var(--blue-dark);margin:0;font-size:32px;line-height:1.08}.admin-overview-hero p{color:#3b4556;max-width:820px;margin:0;font-weight:750;line-height:1.45}.admin-overview-hero__meta{flex-wrap:wrap;gap:8px;display:flex}.admin-overview-hero__meta span{border:1px solid var(--line);color:#394150;background:#f7f7f5;border-radius:999px;padding:7px 10px;font-size:13px;font-weight:850}.admin-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.admin-kpi-card{grid-template-columns:auto 1fr;gap:12px;min-height:132px;padding:18px;display:grid}.admin-kpi-card p,.admin-kpi-card span{color:var(--muted);margin:0;font-size:13px;font-weight:800}.admin-kpi-card strong{color:var(--blue-dark);margin:4px 0;font-size:34px;line-height:1;display:block}.admin-kpi-icon{border-radius:999px;place-items:center;width:42px;height:42px;display:inline-grid}.admin-kpi-icon--info{color:#245470;background:#eaf5fb}.admin-kpi-icon--success{color:#276244;background:#edf8ec}.admin-kpi-icon--warning{color:#7a5416;background:#fff6df}.admin-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.attention-card{min-width:0}.attention-list{gap:10px;display:grid}.attention-row{border:1px solid var(--line);width:100%;min-width:0;color:inherit;text-align:left;cursor:pointer;background:#fcfbf8;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px 12px;padding:12px;display:grid}.attention-row:hover,.attention-row:focus-visible,.attention-row.is-selected{background:#f3faf2;border-color:#b8d9be}.attention-row__main{gap:3px;min-width:0;display:grid}.attention-row__main strong,.attention-row__main span{overflow-wrap:anywhere;min-width:0}.attention-row__main strong{color:var(--blue-dark);font-size:15px;line-height:1.2}.attention-row__main span{color:var(--muted);font-size:13px;font-weight:800}.attention-row__metrics{flex-wrap:wrap;grid-column:1/-1;gap:6px;display:flex}.attention-filter-strip{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.attention-filter-clear{min-height:30px;padding:0 10px}.academic-chart-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.academic-chart-card{min-width:0}.trend-bar-chart{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:10px;min-width:0;min-height:154px;display:grid}.trend-bar{text-align:center;grid-template-rows:1fr auto auto auto;align-items:end;gap:5px;min-width:0;display:grid}.trend-bar__track{background:#f0eee8;border-radius:8px;align-items:flex-end;width:100%;height:92px;display:flex;overflow:hidden}.trend-bar__fill{width:100%;height:var(--bar-value);background:#2f6690;border-radius:8px 8px 0 0;transition:height .18s;display:block}.trend-bar__fill--success{background:#2f7d4e}.trend-bar__fill--warning{background:#c58a24}.trend-bar strong,.trend-bar span,.trend-bar small{overflow-wrap:anywhere;min-width:0}.trend-bar strong{color:var(--blue-dark);font-size:17px;line-height:1.1}.trend-bar span{color:#4a5568;font-size:12px;font-weight:850}.trend-bar small{color:var(--muted);font-size:11px;font-weight:800}.support-chart-list{gap:12px;display:grid}.support-chart-row{width:100%;min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(72px,1fr) auto;align-items:center;gap:10px;padding:8px;display:grid}.support-chart-row:disabled{cursor:default}.support-chart-row:not(:disabled):hover,.support-chart-row:not(:disabled):focus-visible,.support-chart-row.is-selected{background:#f3faf2;border-color:#b8d9be}.support-chart-row__label{color:#303a49;overflow-wrap:anywhere;min-width:0;font-weight:850}.support-chart-row__track{background:#f0eee8;border-radius:999px;min-width:0;height:10px;display:block;overflow:hidden}.support-chart-row__track span{width:var(--bar-value);border-radius:inherit;background:#c58a24;height:100%;display:block}.support-area-list,.support-learner-list{gap:10px;display:grid}.support-area-row{border-bottom:1px solid var(--line);color:#303a49;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;font-weight:800;display:flex}.support-area-row:last-child{border-bottom:0}.admin-filter-row{grid-template-columns:minmax(220px,360px);gap:12px;margin-bottom:14px;display:grid}.support-learner-row{border:1px solid var(--line);background:#fcfbf8;border-radius:8px;grid-template-columns:minmax(160px,1fr) auto auto;align-items:start;gap:10px 14px;padding:14px;display:grid}.support-learner-row strong,.support-learner-row p{margin:0}.support-learner-row strong{color:var(--blue-dark)}.support-learner-row p{color:var(--muted);margin-top:3px;font-size:13px;font-weight:750}.support-learner-row__metrics,.support-learner-row__reasons{flex-wrap:wrap;align-items:flex-start;gap:6px;display:flex}.support-learner-row__reasons{grid-column:1/-2}.support-learner-row__action{justify-content:flex-end;display:flex}.learner-progress-modal{gap:16px;display:grid}.learner-progress-header{justify-content:space-between;align-items:flex-start;gap:14px;padding-right:36px;display:flex}.learner-progress-header h3,.learner-progress-header p,.learner-progress-section h4{margin:0}.learner-progress-header h3{color:var(--blue-dark);font-size:26px;line-height:1.12}.learner-progress-header p{color:var(--muted);margin-top:4px;font-size:13px;font-weight:800}.learner-progress-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.learner-progress-metrics>div{border:1px solid var(--line);background:#fcfbf8;border-radius:8px;gap:3px;min-width:0;padding:12px;display:grid}.learner-progress-metrics span,.learner-progress-metrics small{min-width:0;color:var(--muted);overflow-wrap:anywhere;font-size:12px;font-weight:800}.learner-progress-metrics strong{min-width:0;color:var(--blue-dark);overflow-wrap:anywhere;font-size:23px;line-height:1.08}.learner-progress-section{gap:9px;display:grid}.learner-progress-section h4,.learner-progress-actions>span{color:#303a49;font-size:14px;font-weight:900}.learner-progress-tags{flex-wrap:wrap;gap:7px;display:flex}.learner-attempt-list{gap:8px;display:grid}.learner-attempt-row{border:1px solid var(--line);background:#fcfbf8;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.learner-attempt-row strong,.learner-attempt-row span{overflow-wrap:anywhere;min-width:0;display:block}.learner-attempt-row strong{color:var(--blue-dark);font-size:14px}.learner-attempt-row span{color:var(--muted);margin-top:2px;font-size:12px;font-weight:800}.learner-progress-actions{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-top:14px;display:flex}.admin-alert{border:2px solid var(--line);color:#263040;background:#fff;border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;padding:14px 16px;font-weight:750;display:flex}.admin-alert--success{background:#edf8ec;border-color:#9bcf9f}.admin-alert--error{background:var(--red-soft);border-color:#df8a8a}.admin-credentials-list{flex-wrap:wrap;gap:8px;display:flex}.admin-credentials{border:1px solid var(--line-strong);background:#fff;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;display:inline-flex}.admin-credentials code{color:#fff;background:#202633;border-radius:5px;padding:3px 6px;font-weight:850}.admin-metric-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:24px;display:grid}.admin-metric-card{gap:8px;min-height:150px;padding:20px;display:grid}.admin-metric-card span{width:44px;height:44px;color:var(--blue-dark);background:#eaf3ff;border-radius:999px;place-items:center;display:inline-grid}.admin-metric-card p{color:var(--muted);margin:0;font-weight:800}.admin-metric-card strong{color:var(--blue-dark);font-size:44px;line-height:1}.admin-workspace{grid-template-columns:minmax(360px,.9fr) minmax(0,1.4fr);align-items:start;gap:24px;display:grid}.admin-workspace--section{align-items:stretch}.admin-workspace--teachers{flex-direction:column;gap:24px;display:flex}.admin-panel{padding:22px}.admin-panel--forms{gap:18px;display:grid}.admin-panel--directory{gap:0;display:grid}.admin-subform{border:1px solid var(--line);background:#fcfbf8;border-radius:8px;padding:18px}.admin-subform h3{margin:0 0 14px;font-size:20px}.admin-form,.admin-form label{gap:8px;display:grid}.admin-form{gap:12px}.admin-form label,.admin-checkbox{color:#313846;font-size:14px;font-weight:850}.admin-form input,.admin-form select{border:1px solid var(--line-strong);width:100%;min-height:44px;color:var(--ink);background:#fff;border-radius:7px;padding:8px 10px}.admin-form-row,.admin-inline-fields{gap:12px;display:grid}.admin-form-row{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-inline-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-stepper{border:1px solid var(--line);width:fit-content;color:var(--muted);background:#fff;border-radius:8px;align-items:center;gap:8px;margin:-4px 0 8px;padding:4px;font-size:12px;font-weight:850;display:inline-flex}.admin-stepper span{white-space:nowrap;border-radius:6px;align-items:center;min-height:30px;padding:0 10px;display:inline-flex}.admin-stepper span.is-active{background:var(--green-soft);color:#174c2a}.admin-form-actions{justify-content:flex-end;gap:10px;margin-top:6px;display:flex}.learner-credentials-modal{gap:14px;min-width:min(360px,82vw);padding:22px;display:grid}.learner-credentials-summary{gap:6px;display:grid}.learner-credentials-summary h3,.learner-credentials-summary p{margin:0}.learner-credentials-summary h3{color:var(--blue-dark);font-size:22px}.learner-credentials-summary p{color:var(--muted);font-size:14px;font-weight:750;line-height:1.4}.learner-credential-row{border:1px solid var(--line);background:#fcfbf8;border-radius:8px;gap:6px;padding:14px;display:grid}.learner-credential-row span{color:var(--muted);font-size:13px;font-weight:850}.learner-credential-row strong{color:var(--blue-dark);overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:20px}.admin-checkbox{grid-template-columns:20px 1fr;align-items:center}.admin-checkbox input{width:18px;min-height:18px}.admin-note{border:1px dashed var(--line-strong);color:var(--muted);background:#fff;border-radius:8px;padding:14px;line-height:1.45}.admin-table-wrap{overflow-x:auto}.admin-table-wrap h3{margin:0 0 12px}.admin-table{border-collapse:collapse;width:100%;min-width:520px}.admin-table th,.admin-table td{border-bottom:1px solid var(--line);text-align:left;padding:12px 14px}.admin-table th{color:#273041;background:#f2f0eb;font-size:14px}.admin-table td{color:#293242}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes tap{0%,to{transform:translateY(0)rotate(-22deg)}50%{transform:translateY(-20px)rotate(-22deg)}}@media (width<=980px){.console-shell,.dashboard-shell,.admin-shell{grid-template-columns:1fr}.console-nav,.dashboard-nav,.admin-nav{grid-template-columns:auto 1fr;align-items:center;gap:12px;width:auto;height:auto;min-height:auto;padding-bottom:28px;display:grid;position:static;overflow:visible}.console-nav nav,.dashboard-nav nav,.admin-nav nav{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}.console-grid,.metric-grid,.admin-workspace,.admin-metric-grid{grid-template-columns:1fr}.admin-main{margin-left:0;padding:28px 22px}.admin-kpi-grid,.admin-insight-grid,.academic-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-logout{grid-column:1/-1;width:100%;margin-top:0;position:static;bottom:auto;left:auto}.roster-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media (width<=640px){.app-root{min-height:100dvh;padding:0}.phone-shell{border:0;border-radius:0;width:100%;height:100dvh;min-height:100dvh}.console-main,.dashboard-main,.admin-main{margin-left:0;padding:24px 16px}.admin-main{padding:72px 12px 18px}.console-header,.dashboard-header,.admin-header{flex-direction:column;align-items:flex-start}.admin-mobile-topbar{z-index:30;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fbfaf7f5;align-items:center;gap:12px;min-height:58px;padding:8px 12px;display:flex;position:fixed;top:0;left:0;right:0}.admin-mobile-menu-button{background:var(--green-soft);color:#174c2a;min-height:40px;font:inherit;border:1px solid #b8d9be;border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:0 12px;font-weight:850;display:flex}.admin-mobile-title{gap:1px;min-width:0;display:grid}.admin-mobile-title strong,.admin-mobile-title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-mobile-title strong{color:var(--blue-dark);font-size:17px;line-height:1.15}.admin-mobile-title span{color:var(--muted);font-size:12px;font-weight:850}.admin-nav-scrim{z-index:35;background:#14141475;border:0;padding:0;position:fixed;inset:0}.admin-shell--nav-open .admin-nav-scrim{display:block}.admin-nav{z-index:40;border-right:1px solid var(--line);visibility:hidden;pointer-events:none;background:#fbfaf7;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:14px;width:min(78vw,296px);height:100dvh;min-height:100dvh;padding:16px 12px;transition:transform .18s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-105%);box-shadow:24px 0 60px #161c262e}.admin-shell--nav-open .admin-nav{visibility:visible;pointer-events:auto;transform:translate(0)}.admin-nav-brand{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.admin-nav-brand__copy{align-items:center;gap:10px;min-width:0;display:flex}.admin-brand-mark{width:38px;height:38px;margin-bottom:0}.admin-nav h1{font-size:20px}.admin-nav-close{width:44px;height:44px;color:var(--blue-dark);background:0 0;border:0;border-radius:10px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.admin-nav-close:before{border:1px solid var(--line);content:"";background:#fff;border-radius:8px;position:absolute;inset:5px}.admin-nav-close svg{z-index:1;width:18px;height:18px;position:relative}.admin-nav nav{grid-template-columns:1fr;align-content:start;gap:8px;width:100%;margin-top:4px;padding-bottom:0;display:grid;overflow:visible}.admin-nav nav button{width:100%;min-height:40px}.admin-logout{border-top:1px solid var(--line);border-radius:0;min-height:40px;margin-top:8px;padding-top:12px}.admin-form-row,.admin-inline-fields{grid-template-columns:1fr}.admin-form-actions{flex-direction:column-reverse;width:100%}.admin-form-actions .ui-button{width:100%}.admin-kpi-grid,.admin-insight-grid,.academic-chart-grid,.admin-filter-row,.support-learner-row{grid-template-columns:1fr}.admin-overview-hero{gap:8px;padding:2px 2px 0}.admin-overview-hero h2{font-size:25px;line-height:1.08}.admin-overview-hero p{font-size:14px}.admin-overview-hero__meta{gap:6px}.admin-overview-hero__meta span{padding:6px 8px;font-size:12px}.admin-dashboard-stack{gap:12px}.admin-kpi-grid{gap:8px}.admin-kpi-card{grid-template-columns:34px minmax(0,1fr);gap:10px;min-height:0;padding:12px}.admin-kpi-icon{width:34px;height:34px}.admin-kpi-card p,.admin-kpi-card span{font-size:12px}.admin-kpi-card strong{margin:2px 0;font-size:28px}.trend-bar-chart{gap:8px;min-height:132px}.trend-bar__track{height:76px}.support-chart-row{grid-template-columns:minmax(0,1fr) auto}.support-chart-row__track{grid-area:2/1/auto/-1}.attention-row,.support-learner-row{grid-template-columns:1fr}.attention-row__metrics,.support-learner-row__reasons{grid-column:auto}.support-learner-row__action{justify-content:flex-start}.learner-progress-header{padding-right:34px;display:grid}.learner-progress-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.learner-progress-actions{flex-direction:column;align-items:flex-start}.ui-card-header{padding:14px 14px 0}.ui-card-title{font-size:20px}.ui-card-content{padding:12px 14px 14px}.support-area-row{padding:9px 0}.admin-filter-row{grid-template-columns:1fr}.ui-empty-state{padding:13px}.roster-grid,.load-next-card{grid-template-columns:1fr}}.reward-burst{z-index:50;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:visible}.reward-burst .reward-mascot{filter:drop-shadow(0 6px 18px #137fec59);transform-origin:50%;font-size:96px;line-height:1;animation:.6s ease-out forwards reward-pop}.reward-burst .reward-confetti{opacity:0;border-radius:50%;width:14px;height:14px;animation-duration:1.2s;animation-timing-function:cubic-bezier(.16,.84,.44,1);animation-fill-mode:forwards;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.reward-burst .reward-confetti.c1{background:var(--eklavya-blue);animation-name:reward-scatter-1}.reward-burst .reward-confetti.c2{background:#ffd54f;animation-name:reward-scatter-2}.reward-burst .reward-confetti.c3{background:#2f8a46;animation-name:reward-scatter-3}.reward-burst .reward-confetti.c4{background:#ff6b6b;animation-name:reward-scatter-4}.reward-burst .reward-confetti.c5{background:var(--eklavya-blue);animation-name:reward-scatter-5}.reward-burst .reward-confetti.c6{background:#ffd54f;animation-name:reward-scatter-6}.reward-burst .reward-confetti.c7{background:#2f8a46;animation-name:reward-scatter-7}.reward-burst .reward-confetti.c8{background:#ff6b6b;animation-name:reward-scatter-8}.reward-burst .reward-confetti.c9{background:#ffd54f;animation-name:reward-scatter-9}.reward-burst .reward-confetti.c10{background:#ff6b6b;animation-name:reward-scatter-10}@keyframes reward-pop{0%{opacity:0;transform:scale(0)}60%{opacity:1;transform:scale(1.3)}to{opacity:1;transform:scale(1)}}@keyframes reward-scatter-1{0%{opacity:0;transform:translate(-50%,-50%)scale(0)}20%{opacity:1}to{opacity:0;transform:translate(calc(120px - 50%),calc(-50% - 110px))scale(1)}}@keyframes reward-scatter-2{0%{opacity:0;transform:translate(-50%,-50%)scale(0)}20%{opacity:1}to{opacity:0;transform:translate(calc(-50% - 130px),calc(-50% - 90px))scale(1)}}@keyframes reward-scatter-3{0%{opacity:0;transform:translate(-50%,-50%)scale(0)}20%{opacity:1}to{opacity:0;transform:translate(calc(150px - 50%),calc(80px - 50%))scale(1)}}@keyframes reward-scatter-4{0%{opacity:0;transform:translate(-50%,-50%)scale(0)}20%{opacity:1}to{opacity:0;transform:translate(calc(-50% - 140px),calc(110px - 50%))scale(1)}}@keyframes reward-scatter-5{0%{opacity:0;transform:translate(-50%,-50%)scale(0)}20%{opacity:1}to{opacity:0;transform:translate(calc(60px - 50%),calc(-50% - 150px))scale(1)}}@keyframes reward-scatter-6{0%{opacity:0;transform:translate(-50%,-50%)scale(0)}20%{opacity:1}to{opacity:0;transform:translate(calc(-50% - 70px),calc(140px - 50%))scale(1)}}@keyframes reward-scatter-7{0%{opacity:0;transform:translate(-50%,-50%)scale(0)}20%{opacity:1}to{opacity:0;transform:translate(calc(170px - 50%),calc(10px - 50%))scale(1)}}@keyframes reward-scatter-8{0%{opacity:0;transform:translate(-50%,-50%)scale(0)}20%{opacity:1}to{opacity:0;transform:translate(calc(-50% - 160px),calc(-50% - 20px))scale(1)}}@keyframes reward-scatter-9{0%{opacity:0;transform:translate(-50%,-50%)scale(0)}20%{opacity:1}to{opacity:0;transform:translate(calc(30px - 50%),calc(160px - 50%))scale(1)}}@keyframes reward-scatter-10{0%{opacity:0;transform:translate(-50%,-50%)scale(0)}20%{opacity:1}to{opacity:0;transform:translate(calc(-50% - 40px),calc(-50% - 170px))scale(1)}}.reward-burst{z-index:1000;position:fixed;inset:0;overflow:hidden}.reward-burst .reward-mascot{display:none}.reward-burst .reward-confetti{opacity:0;border-radius:3px;width:10px;height:18px;animation-duration:1.65s;animation-timing-function:cubic-bezier(.2,.72,.26,1);animation-fill-mode:forwards;top:-18px;left:50%;transform:translate(0,0)rotate(0);box-shadow:22vw 10px #ffd54f,-18vw -4px #137fec,36vw -10px #2f8a46;animation-name:reward-fall!important}.reward-burst .reward-confetti.c1{background:#137fec;animation-delay:0s;left:8%}.reward-burst .reward-confetti.c2{background:#ffd54f;animation-delay:80ms;left:18%}.reward-burst .reward-confetti.c3{background:#2f8a46;animation-delay:20ms;left:29%}.reward-burst .reward-confetti.c4{background:#ff6b6b;animation-delay:.14s;left:41%}.reward-burst .reward-confetti.c5{background:#8b5cf6;animation-delay:40ms;left:52%}.reward-burst .reward-confetti.c6{background:#ffd54f;animation-delay:.18s;left:63%}.reward-burst .reward-confetti.c7{background:#137fec;animation-delay:.1s;left:73%}.reward-burst .reward-confetti.c8{background:#2f8a46;animation-delay:.22s;left:82%}.reward-burst .reward-confetti.c9{background:#ff6b6b;animation-delay:60ms;left:91%}.reward-burst .reward-confetti.c10{background:#ffd54f;animation-delay:.16s;left:96%}@keyframes reward-fall{0%{opacity:0;transform:translateY(-40px)rotate(0)}12%{opacity:1}to{opacity:0;transform:translate(-28px,112vh)rotate(560deg)}}.profile-hero{background:var(--card);border-radius:var(--radius-lg,1rem);box-shadow:var(--shadow-sm);grid-template-columns:76px 1fr auto;align-items:center;gap:18px;margin-top:12px;padding:20px;display:grid}.profile-avatar{width:76px;height:76px;font-family:var(--font-display);border-radius:50%;place-items:center;font-size:36px;font-weight:700;display:grid}.profile-hero h1{font-family:var(--font-display);margin:0 0 4px;font-size:28px}.profile-hero p{color:var(--foreground-subtle);margin:0;font-size:14px}.profile-stats{grid-template-columns:repeat(2,1fr);gap:12px;margin:18px 0;display:grid}.profile-stats article{background:var(--card);border-radius:var(--radius,.75rem);text-align:center;box-shadow:var(--shadow-sm);padding:16px}.profile-stats article strong{font-family:var(--font-display);color:var(--eklavya-blue);font-size:32px;line-height:1;display:block}.profile-stats article span{color:var(--foreground-subtle);margin-top:6px;font-size:13px;display:block}.profile-actions{flex-direction:column;gap:12px;margin-top:8px;display:flex}.voice-capture-root{flex-direction:column;align-items:center;gap:12px;margin:18px 0 6px;display:flex}.voice-capture-mic,.voice-capture-stop,.voice-capture-link{min-height:56px;font-family:var(--font-sans);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:8px;padding:14px 28px;font-size:17px;font-weight:800;transition:transform .1s,box-shadow .15s;display:inline-flex}.voice-capture-mic{background:var(--eklavya-blue);color:#fff;box-shadow:var(--shadow-primary)}.voice-capture-mic:hover{box-shadow:var(--shadow-primary-hover)}.voice-capture-mic:active{transform:scale(.98)}.voice-capture-stop{color:#fff;background:#e11d48;box-shadow:0 8px 30px #e11d4859}.voice-capture-stop:active{transform:scale(.98)}.voice-capture-link{color:var(--eklavya-blue);background:0 0;min-height:32px;padding:8px 12px;font-size:14px;text-decoration:underline}.voice-capture-pulse-wrap{place-items:center;width:84px;height:84px;display:grid}.voice-capture-pulse{color:#0000;background:#e11d48;border-radius:999px;width:24px;height:24px;animation:1.1s ease-out infinite voice-capture-pulse;display:block;box-shadow:0 0 #e11d488c}@keyframes voice-capture-pulse{0%{transform:scale(.9);box-shadow:0 0 #e11d488c}70%{transform:scale(1.2);box-shadow:0 0 0 22px #e11d4800}to{transform:scale(.9);box-shadow:0 0 #e11d4800}}.voice-capture-spinner{border:4px solid #137fec2e;border-top-color:var(--eklavya-blue);border-radius:999px;width:36px;height:36px;animation:.9s linear infinite voice-capture-spin;display:block}@keyframes voice-capture-spin{to{transform:rotate(360deg)}}.voice-capture-status{color:var(--foreground-subtle);margin:0;font-size:14px;font-weight:700}.voice-capture-echo{font-family:var(--font-display);text-align:center;color:var(--foreground);background:var(--eklavya-blue-50,#eaf3fe);border-radius:12px;width:100%;margin:0;padding:12px 16px;font-size:22px}.voice-capture-verdict{border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:700;display:inline-flex}.voice-capture-verdict--pass{color:#047857;background:#10b98126}.voice-capture-verdict--retry{color:#b45309;background:#f59e0b26}.voice-capture-error{color:#b91c4a;text-align:center;background:#e11d4814;border-radius:12px;padding:12px 16px;font-size:14px}.modal-backdrop{z-index:1000;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--surface);border-radius:16px;width:min(600px,90vw);max-height:90vh;padding:24px;position:relative;overflow-y:auto}.modal-close{cursor:pointer;background:0 0;border:none;font-size:24px;position:absolute;top:12px;right:12px}.modal-close.ui-button{border-radius:999px;width:36px;min-height:36px;padding:0}.admin-muted{color:var(--muted)}.row-actions{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:0;display:inline-flex;overflow:hidden}.row-delete,.row-action{color:#2d3442;background:#fff;border:0;border-radius:0;width:36px;height:36px}.row-delete.ui-button,.row-action.ui-button{min-height:36px;padding:0}.row-actions>:not(:first-child){border-left:1px solid var(--line)}.row-delete{color:#8a1f1f}.row-delete:hover,.row-action:hover{background:#f7f5f0}.row-action--reset{color:#275a76}.row-action--reset:hover{background:#e7f3f7;border-color:#9bc7d5}.admin-form-help{color:var(--muted);margin:-4px 0 8px;font-size:14px}.danger-action{background:#8a1f1f;box-shadow:inset 0 -5px #5e1414}.danger-action:hover{background:#761a1a}.admin-confirm h3{margin:0 0 8px}.admin-confirm p{color:var(--muted);margin:0 0 20px}.admin-confirm-actions{justify-content:flex-end;gap:12px;display:flex}.secondary-action--inline{width:auto;min-width:120px;margin-bottom:0}.panel-title--with-action{justify-content:space-between;align-items:center;gap:16px;display:flex}.panel-teachers-header,.panel-schools-header,.panel-learners-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:16px;min-height:74px;padding:16px 18px;display:flex}.panel-teachers-header__content,.panel-schools-header__content,.panel-learners-header__content{align-items:center;gap:12px;min-width:0;display:flex}.panel-teachers-header__content h2,.panel-schools-header__content h2,.panel-learners-header__content h2{color:var(--blue-dark);margin:0;font-size:25px;line-height:1.15}.panel-header-icon{width:38px;height:38px;color:var(--green);background:#f2f8f3;border:1px solid #d8e6da;border-radius:8px;flex:none;place-items:center;display:inline-grid}.panel-schools-header__actions{flex-shrink:0;gap:10px;display:flex}.panel-header-action.ui-button{white-space:nowrap;border-radius:7px;min-width:0;min-height:40px;padding:8px 13px}.admin-schools-workspace{gap:18px;display:grid}.school-setup-card__header{justify-content:space-between;align-items:center;gap:12px;padding-bottom:0;display:flex}.school-setup-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.school-setup-step{border:1px solid var(--line);background:#fcfbf8;border-radius:8px;gap:10px;min-height:92px;padding:14px;display:grid}.school-setup-step>div:first-child{justify-content:space-between;align-items:start;gap:10px;display:flex}.school-setup-step span,.table-primary-cell span{color:var(--muted);font-size:12px;font-weight:850}.school-setup-step strong{color:var(--blue-dark);white-space:nowrap;font-size:22px;line-height:1}.school-setup-bar{background:#e4e1d8;border-radius:999px;height:8px;overflow:hidden}.school-setup-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--green), var(--blue));min-width:4px;height:100%;display:block}.school-table{min-width:930px}.school-admin-table{min-width:760px}.table-primary-cell{gap:3px;min-width:0;display:grid}.table-primary-cell strong,.table-primary-cell span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-workspace--learners{display:block}.learner-directory-controls{border:1px solid var(--line);background:#fcfbf8;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:16px 18px 0;padding:14px;display:grid}.learner-directory-controls label{color:#313846;gap:7px;font-size:14px;font-weight:850;display:grid}.learner-directory-controls input,.learner-directory-controls select{border:1px solid var(--line-strong);width:100%;min-height:44px;color:var(--ink);background:#fff;border-radius:7px;padding:8px 10px}.learner-directory-summary{color:var(--muted);margin:0;padding:13px 18px 12px;font-size:14px;font-weight:800}@media (width<=768px){.panel-teachers-header,.panel-schools-header,.panel-learners-header{flex-direction:column;align-items:flex-start}.panel-header-action.ui-button{width:100%}.learner-directory-controls{grid-template-columns:1fr;width:100%}.school-setup-card__header{align-items:flex-start}.school-setup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.school-setup-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.school-setup-card .ui-card-content{padding:8px 12px 12px}.school-setup-card__header{align-items:center;padding:12px 12px 0}.school-setup-card__header .ui-card-title{font-size:20px}.school-setup-card__header .ui-badge{padding:4px 8px;font-size:11px}.school-setup-step{gap:5px;min-height:0;padding:8px 5px}.school-setup-step>div:first-child{text-align:center;justify-content:center;gap:3px;display:grid}.school-setup-step span{font-size:10px;line-height:1.12}.school-setup-step strong{font-size:17px}.school-setup-bar{height:4px}.panel-teachers-header,.panel-schools-header,.panel-learners-header{flex-direction:row;align-items:center;min-height:auto;padding:12px}.panel-teachers-header__content,.panel-schools-header__content,.panel-learners-header__content{gap:9px}.panel-header-icon{width:34px;height:34px}.panel-teachers-header__content h2,.panel-schools-header__content h2,.panel-learners-header__content h2{font-size:20px}.panel-header-action.ui-button{width:auto;min-height:36px;padding:7px 10px;font-size:13px}.learner-directory-controls{margin:10px 12px 0;padding:10px}.learner-directory-summary,.ui-table th,.ui-table td{padding:10px 12px;font-size:13px}.ui-table-wrap{overflow-x:visible}.ui-table{min-width:0}.ui-table thead{display:none}.ui-table,.ui-table tbody,.ui-table tr,.ui-table td{width:100%;display:block}.ui-table tbody{gap:10px;padding:0 12px 12px;display:grid}.ui-table tr{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 12px}.ui-table td{color:#293242;text-align:right;border-bottom:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:7px 0;display:flex}.ui-table td:before{content:attr(data-label);color:var(--muted);text-align:left;flex:0 0 min(42%,132px);font-size:11px;font-weight:850;line-height:1.35}.ui-table td:not([data-label]){text-align:left;display:block}.ui-table td:not([data-label]):before{content:none}.ui-table td[data-label=School],.ui-table td[data-label=Admin],.ui-table td[data-label=Teacher],.ui-table td[data-label=Learner]{border-bottom:1px solid var(--line);text-align:left;padding-bottom:10px;display:block}.ui-table td[data-label=School]:before,.ui-table td[data-label=Admin]:before,.ui-table td[data-label=Teacher]:before,.ui-table td[data-label=Learner]:before{margin-bottom:4px;display:block}.ui-table .row-actions{justify-content:flex-end}.table-primary-cell strong,.table-primary-cell span{white-space:normal}}@media (width<=860px){.admin-main{margin-left:0;padding:72px 12px 18px}.admin-mobile-topbar{z-index:30;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fbfaf7f5;align-items:center;gap:12px;min-height:58px;padding:8px 12px;display:flex;position:fixed;top:0;left:0;right:0}.admin-mobile-menu-button{background:var(--green-soft);color:#174c2a;min-height:40px;font:inherit;border:1px solid #b8d9be;border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:0 12px;font-weight:850;display:flex}.admin-mobile-title{gap:1px;min-width:0;display:grid}.admin-mobile-title strong,.admin-mobile-title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-mobile-title strong{color:var(--blue-dark);font-size:17px;line-height:1.15}.admin-mobile-title span{color:var(--muted);font-size:12px;font-weight:850}.admin-nav-scrim{z-index:35;background:#14141475;border:0;padding:0;position:fixed;inset:0}.admin-shell--nav-open .admin-nav-scrim{display:block}.admin-nav{z-index:40;visibility:hidden;pointer-events:none;background:#fff;border-right:1px solid #e5e7eb;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:28px;width:min(78vw,360px);height:100dvh;min-height:100dvh;padding:28px 22px 22px;transition:transform .18s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-105%);box-shadow:24px 0 60px #0f172a2e}.admin-shell--nav-open .admin-nav{visibility:visible;pointer-events:auto;transform:translate(0)}.admin-nav-brand{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.admin-nav-brand__copy{align-items:center;gap:14px;min-width:0;display:flex}.admin-brand-mark{width:44px;height:44px;margin-bottom:0}.admin-nav h1{white-space:nowrap;font-size:22px;line-height:1.05}.admin-nav p{margin-top:5px;font-size:13px}.admin-nav-close{color:#0f172a;background:0 0;border:0;border-radius:10px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex;position:relative}.admin-nav-close:before{content:"";background:#fff;border:1px solid #e5e7eb;border-radius:8px;position:absolute;inset:5px;box-shadow:0 4px 10px #0f172a0f}.admin-nav-close svg{z-index:1;width:18px;height:18px;position:relative}.admin-nav nav{grid-template-columns:1fr;align-content:start;gap:18px;width:100%;margin-top:28px;padding-bottom:0;display:grid;overflow:visible}.admin-nav nav button{color:#0f172a;background:0 0;border-radius:10px;justify-content:flex-start;gap:16px;width:100%;min-height:48px;padding:0 12px;font-size:20px;font-weight:750}.admin-nav nav button svg{color:#0f172a;width:24px;height:24px}.admin-nav nav button.active{color:#0f172a;box-shadow:none;background:#f1f5f9}.admin-logout{color:#7f1d1d;background:#fff;border:1px solid #e5e7eb;border-radius:10px;justify-content:center;width:100%;min-height:54px;margin-top:auto;padding:0 14px;position:static;box-shadow:0 6px 16px #0f172a0d}.admin-dashboard-stack{gap:12px}.admin-overview-hero{gap:8px;padding:2px 2px 0}.admin-overview-hero h2{font-size:25px;line-height:1.08}.admin-overview-hero p{font-size:14px}.admin-overview-hero__meta{gap:6px}.admin-overview-hero__meta span{padding:6px 8px;font-size:12px}.admin-insight-grid,.academic-chart-grid,.admin-filter-row,.support-learner-row{grid-template-columns:1fr}.admin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.admin-kpi-card{grid-template-columns:1fr;gap:7px;min-height:0;padding:10px}.admin-kpi-icon{width:30px;height:30px}.admin-kpi-card p,.admin-kpi-card span{font-size:11px}.admin-kpi-card strong{margin:2px 0;font-size:24px}.trend-bar-chart{gap:7px;min-height:122px}.trend-bar__track{height:68px}.trend-bar strong{font-size:15px}.trend-bar span,.trend-bar small{font-size:10px}.learner-progress-modal{gap:12px}.learner-progress-header h3{font-size:22px}.learner-progress-metrics{grid-template-columns:1fr;gap:8px}.learner-progress-metrics>div{padding:10px}.learner-progress-metrics strong{font-size:21px}.learner-attempt-row{grid-template-columns:1fr;align-items:start}.ui-card-header{padding:14px 14px 0}.ui-card-title{font-size:20px}.ui-card-content{padding:12px 14px 14px}.ui-empty-state{padding:13px}.support-area-row{padding:9px 0}.school-setup-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.school-setup-card .ui-card-content{padding:8px 12px 12px}.school-setup-card__header{align-items:center;padding:12px 12px 0}.school-setup-card__header .ui-card-title{font-size:20px}.school-setup-card__header .ui-badge{padding:4px 8px;font-size:11px}.school-setup-step{gap:5px;min-height:0;padding:8px 5px}.school-setup-step>div:first-child{text-align:center;justify-content:center;gap:3px;display:grid}.school-setup-step span{font-size:10px;line-height:1.12}.school-setup-step strong{font-size:17px}.school-setup-bar{height:4px}.panel-teachers-header,.panel-schools-header,.panel-learners-header{flex-direction:row;align-items:center;min-height:auto;padding:12px}.panel-teachers-header__content,.panel-schools-header__content,.panel-learners-header__content{gap:9px}.panel-header-icon{width:34px;height:34px}.panel-teachers-header__content h2,.panel-schools-header__content h2,.panel-learners-header__content h2{font-size:20px}.panel-header-action.ui-button{white-space:normal;width:auto;max-width:150px;min-height:36px;padding:7px 9px;font-size:12px;line-height:1.15}.learner-directory-controls{grid-template-columns:1fr;width:auto;margin:10px 12px 0;padding:10px}.learner-directory-summary{padding:10px 12px;font-size:13px}.ui-table-wrap{overflow-x:visible}.ui-table{min-width:0}.ui-table thead{display:none}.ui-table,.ui-table tbody,.ui-table tr,.ui-table td{width:100%;display:block}.ui-table tbody{gap:10px;padding:0 12px 12px;display:grid}.ui-table tr{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 12px}.ui-table td{color:#293242;text-align:right;border-bottom:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:7px 0;font-size:13px;display:flex}.ui-table td:before{content:attr(data-label);color:var(--muted);text-align:left;flex:0 0 min(42%,132px);font-size:11px;font-weight:850;line-height:1.35}.ui-table td:not([data-label]){text-align:left;display:block}.ui-table td:not([data-label]):before{content:none}.ui-table td[data-label=School],.ui-table td[data-label=Admin],.ui-table td[data-label=Teacher],.ui-table td[data-label=Learner]{border-bottom:1px solid var(--line);text-align:left;padding-bottom:10px;display:block}.ui-table td[data-label=School]:before,.ui-table td[data-label=Admin]:before,.ui-table td[data-label=Teacher]:before,.ui-table td[data-label=Learner]:before{margin-bottom:4px;display:block}.ui-table .row-actions{justify-content:flex-end}.table-primary-cell strong,.table-primary-cell span{white-space:normal}}
