: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: #ffffff;--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 rgba(25, 29, 35, .12);color:var(--ink);font-family:Noto Sans Kannada,Nirmala UI,Tunga,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis-weight:none}*{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,rgba(19,127,236,.05),transparent 18%,transparent 82%,rgba(38,115,55,.06)),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{height:28px;width:auto}.app-root{min-height:100vh;display:grid;place-items:center;padding:24px}.app-root--group,.app-root--prerna{display:block;padding:0}.phone-shell{position:relative;width:min(100%,410px);min-height:min(880px,calc(100vh - 48px));overflow-x:hidden;overflow-y:auto;border:8px solid var(--surface-dim);border-radius:36px;background:var(--surface);box-shadow:var(--shadow-soft);padding:24px}.phone-shell--soft{background:#f4f2ec}.phone-shell:has(.bottom-nav){padding-bottom:calc(112px + env(safe-area-inset-bottom,0))}.phone-header,.top-brand{display:flex;align-items:center;justify-content:space-between;gap:12px}.header-spacer{width:48px;height:48px}.phone-header--tall{align-items:flex-start}.top-brand{height:56px;margin:-24px -24px 20px;padding:0 24px;background:#ffffff9e;color:var(--blue-dark);font-size:30px;font-weight:700}.icon-button,.audio-button{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:0;border-radius:999px;background:#ffffffdb;color:#2d3748}.audio-button{background:var(--blue);color:#fff;box-shadow:inset 0 -4px #0043808c}.audio-button--compact{width:40px;height:40px}.gili-button{position:relative;width:84px;height:84px;border:4px solid #f2c231;border-radius:999px;background:radial-gradient(circle at 50% 35%,#fef5c8,var(--yellow));box-shadow:inset 0 -5px #a9810052}.gili-face{position:absolute;inset:13px 17px 18px;display:block;border-radius:48% 48% 44% 44%;background:linear-gradient(150deg,#83d36a,#238342)}.gili-face:before,.gili-face:after{content:"";position:absolute;bottom:5px;width:16px;height:28px;border-radius:999px 999px 8px 8px;background:#2c9d51}.gili-face:before{left:-7px;transform:rotate(-24deg)}.gili-face:after{right:-7px;transform:rotate(24deg)}.gili-eye{position:absolute;top:14px;width:10px;height:10px;border-radius:999px;background:#111827;z-index:1}.gili-eye--left{left:14px}.gili-eye--right{right:14px}.gili-beak{position:absolute;left:50%;top:26px;width:18px;height:12px;border-radius:0 0 14px 14px;background:var(--orange);transform:translate(-50%);z-index:1}.gili-audio{position:absolute;right:-5px;bottom:2px;display:grid;width:30px;height:30px;place-items:center;border:3px solid var(--surface);border-radius:999px;background:var(--blue);color:#fff}.brand-lockup{display:grid;gap:22px;justify-items:center;padding-top:30px;text-align:center}.brand-lockup h1{margin:0;color:var(--blue-dark);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{margin:0 0 6px;color:#374151;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.splash-screen{min-height:calc(100vh - 96px);display:flex;flex-direction:column;justify-content:center;gap:28px}.lang-switch{align-self:center;display:inline-flex;padding:4px;gap:4px;border-radius:999px;background:#14181e0f;border:1px solid var(--line)}.lang-switch__opt{appearance:none;border:none;background:transparent;color:var(--muted);padding:8px 18px;font-size:14px;font-weight:700;border-radius:999px;cursor:pointer;transition:background .12s ease,color .12s ease}.lang-switch__opt[aria-pressed=true]{background:var(--surface);color:#243044;box-shadow:0 2px 6px #14181e1f}.mode-panel{display:grid;gap:16px}.prompt-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.prompt-row--center{justify-content:center}.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{min-height:64px;border-radius:24px;font-weight:800}.mode-card{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:14px;padding:20px;border:2px solid var(--line);background:var(--card);color:var(--ink);text-align:left;box-shadow:inset 0 -4px 0 var(--line)}.secondary-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;background:transparent;color:var(--blue-dark)}.speech-card,.recommendation-card,.profile-strip,.placement-sample,.feedback-card,.metric-card,.heat-panel,.roster-panel,.routine-panel{border:2px solid var(--line);border-radius:20px;background:var(--card)}.speech-card{position:relative;display:flex;gap:12px;align-items:center;margin:24px 0;padding:18px}.teacher-login-panel{display:grid;gap:14px;margin-top:28px;padding:24px;border:2px solid var(--line);border-radius:20px;background:var(--card)}.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{display:inline-grid;width:62px;height:62px;place-items:center;border-radius:999px;background:var(--green-soft);color:var(--green)}.teacher-login-form{display:grid;gap:12px;margin-top:8px}.teacher-login-form label{color:#313846;font-size:14px;font-weight:850}.teacher-login-form input{width:100%;min-height:52px;border:2px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);padding:10px 12px}.teacher-login-error{padding:12px;border:2px solid #df8a8a;border-radius:12px;background:var(--red-soft);color:#742a2a;font-weight:800}.learner-access-card{display:grid;gap:14px;margin-bottom:18px;padding:18px;border:2px solid var(--line);border-radius:20px;background:var(--card)}.learner-access-card .prompt-row{display:grid;gap:12px}.learner-access-card h2{margin:0;font-size:24px;line-height:1.18}.learner-access-site{display:inline-flex;margin-top:4px;color:var(--blue-dark);font-size:13px;font-weight:850;text-decoration:none}.learner-access-help{margin:0;color:var(--muted);font-size:13px;font-weight:750;line-height:1.35}.learner-access-help--compact{margin-top:-2px}.segmented-control{display:inline-flex;flex:0 0 auto;gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px;background:#f3f7fb}.segmented-control button{display:inline-flex;align-items:center;gap:5px;min-height:34px;border:0;border-radius:999px;background:transparent;color:var(--muted);padding:0 12px;font-size:12px;font-weight:900}.segmented-control button.is-active{background:#fff;color:var(--blue-dark);box-shadow:0 1px 4px #1f29371f}.learner-access-form{display:grid;gap:10px}.learner-access-form label{color:#313846;font-size:13px;font-weight:850}.learner-access-form input,.learner-access-form select{width:100%;min-height:48px;border:2px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);padding:10px 12px}.learner-access-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;border-radius:18px}.learner-access-modes button{justify-content:center;min-height:44px;border-radius:14px;padding:0 10px;text-align:center}.learner-demo-action{margin-bottom:0;border-color:#b9d8c1;background:var(--green-soft);color:#155020}.learner-demo-action:hover{border-color:#82bd8f;background:#dcf3df}.signin-screen{display:grid;gap:14px}.signin-screen .phone-header{min-height:58px;margin:-2px 0 4px;align-items:center}.signin-screen .icon-button{width:44px;height:44px;background:#ffffffe6;box-shadow:0 1px #1f29370a}.signin-screen .gili-button{width:66px;height:66px;border-width:3px;box-shadow:inset 0 -4px #a9810042}.signin-screen .gili-face{inset:10px 13px 14px}.signin-screen .gili-face:before,.signin-screen .gili-face:after{bottom:4px;width:13px;height:22px}.signin-screen .gili-face:before{left:-5px}.signin-screen .gili-face:after{right:-5px}.signin-screen .gili-eye{top:11px;width:8px;height:8px}.signin-screen .gili-eye--left{left:11px}.signin-screen .gili-eye--right{right:11px}.signin-screen .gili-beak{top:21px;width:15px;height:10px}.signin-screen .gili-audio{right:-5px;bottom:5px;width:24px;height:24px}.signin-screen .gili-audio svg{width:13px;height:13px}.signin-screen .speech-card{margin:0;padding:16px;align-items:center;justify-content:space-between;gap:12px;border-radius:16px;border-color:#d8d5cc;box-shadow:0 1px #1f293708}.signin-screen .speech-card h1{max-width:230px;font-size:clamp(26px,7vw,31px);line-height:1.13;letter-spacing:0}.signin-screen .audio-button--compact{flex:0 0 auto;width:38px;height:38px;box-shadow:inset 0 -3px #0043808c}.signin-screen .learner-access-card{gap:12px;margin-bottom:0;padding:16px;border-radius:16px;border-color:#d8d5cc;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{padding:3px;border-radius:15px;background:#f4f9ff}.signin-screen .learner-access-modes button{min-height:38px;padding:0 6px;border-radius:12px;gap:4px;font-size:10px;line-height:1.05}.signin-screen .learner-access-modes button svg{flex:0 0 auto;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{min-height:48px;border-width:1px;border-color:#d8d5cc;border-radius:13px;box-shadow:inset 0 1px #1f293708}.signin-screen .learner-access-form input:focus,.signin-screen .learner-access-form select:focus{outline:2px solid rgba(19,127,236,.22);outline-offset:2px;border-color:#9bc8f7}.signin-screen .secondary-action{min-height:54px;margin-top:4px;border-width:1px;border-color:#d8d5cc;border-radius:999px;background:#fff;color:var(--blue-dark);box-shadow:inset 0 -2px #dfddd6a6}.signin-screen .secondary-action:hover{border-color:#b8d6f7;background:#f8fbff}.signin-screen .learner-demo-action{margin-top:2px;background:#fff;color:var(--blue-dark);border-color:#d8d5cc}.avatar-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.avatar-card{display:grid;gap:10px;justify-items:center;min-height:160px;padding:16px;border:2px solid var(--line);background:var(--card);box-shadow:inset 0 -5px 0 var(--line);color:var(--ink);font-size:24px;font-weight:800}.avatar-token{display:inline-grid;width:68px;height:68px;place-items:center;border-radius:999px;color:#123;font-size:28px;font-weight:900}.skip-button{border:0;background:transparent;color:var(--muted);font-weight:800}.tap-training{display:grid;min-height:680px;align-content:center;justify-items:center;gap:32px;text-align:center}.tap-target{display:grid;width:190px;height:190px;place-items:center;border:0;border-radius:999px;background:var(--yellow);color:#6e5100;box-shadow:inset 0 -9px 0 var(--yellow-dark);animation:breathe 1.9s ease-in-out infinite}.tap-hint{position:relative;width:80px;height:70px}.tap-hint span{position:absolute;inset:4px 18px;border-radius:24px 24px 10px 10px;background:var(--blue);transform:rotate(-22deg);animation:tap 1.1s ease-in-out infinite}.tiny-note{max-width:280px;color:var(--muted);font-size:13px}.home-greeting{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:4px 0 14px}.mode-pill{display:inline-flex;margin-bottom:8px;padding:5px 10px;border-radius:999px;background:var(--green-soft);color:var(--green);font-size:11px;font-weight:900;line-height:1;text-transform:uppercase}.home-greeting .gili-button{width:58px;height:58px;border-width:3px;box-shadow:inset 0 -4px #a981003d}.home-greeting .gili-face{inset:9px 12px 13px}.home-greeting .gili-face:before,.home-greeting .gili-face:after{bottom:4px;width:12px;height:20px}.home-greeting .gili-face:before{left:-5px}.home-greeting .gili-face:after{right:-5px}.home-greeting .gili-eye{top:10px;width:7px;height:7px}.home-greeting .gili-eye--left{left:10px}.home-greeting .gili-eye--right{right:10px}.home-greeting .gili-beak{top:19px;width:14px;height:9px}.home-greeting .gili-audio{right:-6px;bottom:3px;width:23px;height:23px}.home-greeting .gili-audio svg{width:13px;height:13px}.recommendation-card{position:relative;overflow:hidden;display:grid;gap:24px;padding:26px}.recommendation-card--student{gap:0;padding:0;border-radius:16px;border-color:#d8d5cc;box-shadow:0 1px #1f293708}.student-today-image{display:block;width:100%;aspect-ratio:3 / 2;object-fit:cover}.student-today-body{display:grid;gap:13px;padding:16px}.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:0 0 auto;width:38px;height:38px;box-shadow:inset 0 -3px #0043808c}.grid-paper{position:absolute;inset:0 0 0 auto;width:92px;opacity:.5;background-image:linear-gradient(var(--line) 2px,transparent 2px),linear-gradient(90deg,var(--line) 2px,transparent 2px);background-size:22px 22px}.akshara-row{display:flex;gap:18px}.akshara-row span,.choice-row button,.akshara-builder button,.number-options button{display:grid;min-width:76px;min-height:76px;place-items:center;border:2px solid #e5bd2c;border-radius:18px;background:var(--yellow);color:#655000;font-size:46px;font-weight:900;box-shadow:inset 0 -5px 0 var(--yellow-dark)}.primary-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;border:0;border-radius:999px;background:var(--blue);color:#fff;box-shadow:inset 0 -5px 0 var(--blue-dark);padding:0 24px}.primary-action--green{background:var(--green);box-shadow:inset 0 -5px #155020}.primary-action--giant{min-height:58px;border-radius:17px;font-size:18px;font-weight:950}.primary-action--inline{width:auto;min-width:190px}.secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-bottom:10px;border:2px solid var(--line);border-radius:999px;background:var(--card);color:var(--blue-dark);padding:0 22px}.profile-strip{display:flex;justify-content:space-between;gap:16px;margin:12px 0;padding:16px;border-radius:16px;border-color:#d8d5cc}.profile-strip strong{display:block;font-size:20px}.profile-strip span{display:block;color:var(--muted)}.today-token{display:inline-grid;width:fit-content;min-width:116px;min-height:78px;place-items:center;border:3px solid #e5bd2c;border-radius:22px;background:var(--yellow);color:#655000;padding:0 24px;font-size:42px;line-height:1;box-shadow:inset 0 -6px 0 var(--yellow-dark)}.today-sentence{margin:0;color:var(--muted);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{display:grid;gap:9px;padding:13px;border:2px solid #d8e8fb;border-radius:18px;background:#f4f9ff}.home-progress-card__top,.home-progress-card__bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.home-progress-card__top{color:#263f63;font-size:12px;font-weight:950;text-transform:uppercase}.home-progress-card__top strong{display:inline-flex;min-height:26px;align-items:center;border-radius:999px;background:#e3f0ff;color:var(--blue-dark);padding:0 9px;font-size:12px}.home-progress-track{height:10px;overflow:hidden;border-radius:999px;background:#d6dde8}.home-progress-track span{display:block;max-width:100%;height:100%;border-radius:inherit;background:var(--blue);box-shadow:inset 0 -2px 0 var(--blue-dark)}.home-progress-card__bottom{color:#5a6880;font-size:12px;font-weight:900}.home-progress-card__bottom span:last-child{display:inline-flex;align-items:center;gap:4px;color:var(--green)}.garden-badge{display:grid;width:72px;height:72px;place-items:center;border-radius:999px;background:var(--green-soft);color:var(--green);font-size:20px;font-weight:900}.quick-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quick-actions--simple{margin-top:14px}.quick-actions button{display:grid;place-items:center;gap:8px;min-height:82px;border:2px solid var(--line);border-bottom-width:5px;border-bottom-color:#c9c5bb;border-radius:20px;background:var(--card);color:var(--ink);font-size:16px;font-weight:900;box-shadow:0 8px 18px #1f293712;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.quick-actions button:hover{transform:translateY(-2px);border-color:#b8d6f7;border-bottom-color:var(--blue-dark);background:#f8fbff;box-shadow:0 12px 24px #137fec21}.quick-actions button:active{transform:translateY(2px);border-bottom-width:2px;box-shadow:0 5px 12px #1f293714}.quick-actions button:focus-visible{outline:3px solid rgba(19,127,236,.28);outline-offset:3px}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:min(100vw,410px);display:grid;grid-template-columns:repeat(3,1fr);min-height:82px;border-top:2px solid var(--line);background:#fffffff5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:50;padding-bottom:env(safe-area-inset-bottom,0)}.bottom-nav button{display:grid;place-items:center;border:0;background:transparent;color:#273041;font-size:13px;font-weight:800}.bottom-nav .active{margin:10px;border-radius:999px;background:var(--yellow)}.ladder-intro,.math-prompt,.garden-hero{margin:28px 0;text-align:center}.ladder{display:grid;gap:0}.ladder-rung{position:relative;display:grid;grid-template-columns:36px 1fr;align-items:center;gap:14px;min-height:58px;padding:8px 4px;border:0;border-radius:0;background:transparent;color:var(--muted);font-weight:800;cursor:default;transition:color .16s ease,transform .16s ease}.placement-ladder{position:relative;padding:2px 0 4px}.placement-ladder:before{content:"";position:absolute;left:21px;top:21px;bottom:21px;width:2px;border-radius:999px;background:#dedbd2}.ladder-rung__marker{position:relative;z-index:1;display:grid;place-items:center;width:34px;height:34px;border:2px solid #dedbd2;border-radius:999px;background:var(--surface);color:#6d7282;font-size:14px;line-height:1}.ladder-rung__label{display:flex;align-items:center;min-height:42px;color:#626877;font-size:20px;line-height:1.2}.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{background:transparent;color:#6d7282}.ladder-rung.is-preview .ladder-rung__marker{background:#fbfaf7}.placement-completion-bar{display:flex;align-items:center;gap:12px;min-height:68px;margin:18px 0;padding:0 18px;border:2px solid #a6d5ac;border-radius:18px;background:var(--green-soft);color:var(--green);font-size:18px;font-weight:900;box-shadow:inset 0 -3px #2673371f}.placement-completion-bar__icon{display:grid;width:34px;height:34px;place-items:center;border-radius:999px;background:var(--green);color:#fff}.placement-completion-bar__icon svg{flex:0 0 auto;stroke-width:3}.placement-sample{margin:22px 0;padding:20px}.placement-replay{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;width:100%;margin:0;padding:0 16px;border:0;border-radius:999px;background:var(--blue);color:#fff;font-size:15px;font-weight:900;box-shadow:inset 0 -4px 0 var(--blue-dark),0 10px 22px #137fec33;transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease;animation:actionNudge 2.6s ease-in-out infinite}.placement-replay:hover{transform:translateY(-1px);background:var(--eklavya-blue-600);box-shadow:inset 0 -4px 0 var(--blue-dark),0 14px 28px #137fec42}.placement-replay:active{transform:translateY(2px);box-shadow:inset 0 -2px 0 var(--blue-dark),0 6px 14px #137fec2e}.placement-replay svg{flex:0 0 auto}.placement-tts-control{display:grid;gap:11px;width:100%;padding:14px;border:2px solid #d8e8fb;border-radius:18px;background:#f4f9ff}.placement-tts-control__top{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#263f63;font-size:12px;font-weight:950;text-transform:uppercase}.placement-tts-control__top strong{display:inline-flex;min-height:26px;align-items:center;border-radius:999px;background:#e3f0ff;color:var(--blue-dark);padding:0 9px;font-size:12px}.placement-speed-slider{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;color:#5a6880;font-size:12px;font-weight:900}.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{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.placement-choice-row--stack button{width:100%;min-width:0;min-height:58px;justify-content:center;padding:0 12px;overflow:hidden;font-size:clamp(18px,4.9vw,22px);line-height:1.05;text-align:center;text-overflow:ellipsis;white-space:normal}.placement-choice-row--stack button:nth-child(3){grid-column:1 / -1}.placement-choice-row button:focus-visible,.placement-replay:focus-visible{outline:3px solid rgba(19,127,236,.35);outline-offset:4px}.placement-step{display:grid;gap:12px;overflow:hidden}.placement-step h2{overflow-wrap:anywhere}.placement-target,.placement-passage{color:#525a70;line-height:1.45;overflow-wrap:anywhere}.placement-target{display:block;padding:12px 14px;border-radius:16px;background:#fffaf0;color:var(--ink);font-size:clamp(25px,7.2vw,34px);font-weight:900;line-height:1.2;box-shadow:inset 0 -3px #ffb74d47}.placement-target.voice-target--word{font-size:clamp(34px,11vw,54px);letter-spacing:0;text-align:center}.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{display:grid;gap:12px;width:100%;margin-top:6px}.voice-capture-mic,.voice-capture-stop,.voice-capture-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;border-radius:999px;font-weight:900;transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease}.voice-capture-mic{width:100%;min-width:0;border:0;background:var(--blue);color:#fff;padding:0 16px;box-shadow:inset 0 -4px 0 var(--blue-dark),0 12px 24px #137fec38;animation:actionNudge 2.6s ease-in-out infinite}.voice-capture-mic span:last-child{min-width:0;overflow-wrap:anywhere}.voice-capture-mic:hover{transform:translateY(-1px);background:var(--eklavya-blue-600);box-shadow:inset 0 -4px 0 var(--blue-dark),0 16px 30px #137fec47}.voice-capture-mic:active,.voice-capture-stop:active,.voice-capture-link:active{transform:translateY(2px)}.voice-capture-mic-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:999px;background:#ffffff29}.voice-capture-listening,.voice-capture-transcribing,.voice-capture-echo{display:grid;justify-items:center;gap:10px;width:100%;padding:16px;border:2px solid #b9d8ff;border-radius:18px;background:#f3f8ff;color:#12345a}.voice-capture-listening p,.voice-capture-transcribing p{margin:0;font-size:14px;font-weight:900}.voice-capture-orb{position:relative;display:grid;width:58px;height:58px;place-items:center;border-radius:999px;background:var(--blue);color:#fff;box-shadow:0 0 #137fec5c;animation:voicePulse 1.35s ease-out infinite}.voice-capture-wave{display:flex;align-items:end;justify-content:center;gap:4px;height:24px}.voice-capture-wave i{display:block;width:5px;height:10px;border-radius:999px;background:var(--blue);animation:voiceBars .78s ease-in-out infinite}.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{width:100%;border:0;background:#2a2f3a;color:#fff;box-shadow:inset 0 -4px #111827,0 10px 20px #11182729}.voice-capture-transcribing svg:first-child{color:var(--blue);animation:spin .85s linear infinite}.voice-capture-transcribing svg:last-child{color:#4d6d96}.voice-capture-echo{align-items:start;justify-items:stretch;text-align:left}.voice-capture-echo small{color:#4d5e7a;font-size:12px;font-weight:900;text-transform:uppercase}.voice-capture-echo strong{color:var(--ink);font-size:18px;line-height:1.3;overflow-wrap:anywhere}.voice-capture-verdict{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:fit-content;min-height:34px;margin:-2px auto 0;padding:0 12px;border-radius:999px;font-size:13px;font-weight:950}.voice-capture-verdict--pass{background:var(--green-soft);color:var(--green)}.voice-capture-verdict--retry{background:var(--orange-soft);color:#865100}.voice-capture-link{justify-self:center;min-height:38px;border:0;background:transparent;color:var(--blue-dark);padding:0 10px;font-size:13px}.voice-capture-root--error{padding:14px;border:2px solid #ffcaca;border-radius:18px;background:var(--red-soft)}.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{height:8px;opacity:.55}50%{height:24px;opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes actionNudge{0%,72%,to{transform:translateY(0);box-shadow:inset 0 -4px 0 var(--blue-dark),0 12px 24px #137fec38}82%{transform:translateY(-2px);box-shadow:inset 0 -4px 0 var(--blue-dark),0 18px 30px #137fec4d}90%{transform:translateY(0)}}.inline-practice-panel{display:grid;gap:12px;margin:18px 0;padding:16px;border:2px solid #d8d5cc;border-radius:18px;background:var(--card);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{margin:0;color:var(--muted);font-size:13px;font-weight:800}.inline-practice-list{display:grid;gap:10px}.inline-practice-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-height:74px;padding:12px;border:1px solid #d8d5cc;border-radius:14px;background:#fcfbf8;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.inline-practice-card:hover{transform:translateY(-1px);border-color:#b8d6f7;box-shadow:0 8px 18px #1f293714}.inline-practice-card strong,.inline-practice-card span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inline-practice-card strong{font-size:14px}.inline-practice-card span{margin-top:3px;color:var(--muted);font-size:12px;font-weight:800}.inline-practice-card .mini-action{margin-top:0;white-space:nowrap}.choice-row{display:flex;justify-content:space-between;gap:12px}.odu-stage{display:grid;min-height:330px;align-content:center;justify-items:center;gap:14px;margin-top:10px;text-align:center}.odu-stage .gili-button{width:68px;height:68px;border-width:3px;box-shadow:inset 0 -4px #a9810042}.odu-stage .gili-face{inset:10px 13px 14px}.odu-stage .gili-face:before,.odu-stage .gili-face:after{bottom:4px;width:13px;height:22px}.odu-stage .gili-face:before{left:-5px}.odu-stage .gili-face:after{right:-5px}.odu-stage .gili-eye{top:11px;width:8px;height:8px}.odu-stage .gili-eye--left{left:11px}.odu-stage .gili-eye--right{right:11px}.odu-stage .gili-beak{top:21px;width:15px;height:10px}.odu-stage .gili-audio{right:-5px;bottom:5px;width:24px;height:24px}.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{margin:0;color:var(--muted);font-size:17px;font-weight:750}.reading-word{margin:10px 0 4px;min-width:min(100%,235px);min-height:86px;border:2px solid #d8e8fb;border-bottom:5px solid var(--blue-dark);border-radius:18px;background:#f4f9ff;color:var(--ink);padding:0 22px;font-size:78px;font-weight:900;line-height:1.1;box-shadow:0 10px 22px #137fec1f;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background-color .14s ease}.reading-word:hover{transform:translateY(-2px);border-color:#9bc8f7;background:#f8fbff;box-shadow:0 14px 28px #137fec2e}.reading-word:active{transform:translateY(2px);border-bottom-width:3px;box-shadow:0 7px 16px #137fec21}.reading-word:focus-visible,.akshara-builder button:focus-visible{outline:3px solid rgba(19,127,236,.28);outline-offset:3px}.reading-word--coach{color:#7b4b00;border-color:var(--orange);border-bottom-color:var(--orange);background:#fff6e7;box-shadow:0 10px 22px #ffb74d2e}.akshara-builder{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.akshara-builder button{min-width:62px;min-height:54px;border:2px solid #cfd8e5;border-radius:13px;background:#fff;color:#273041;padding:0 12px;font-size:29px;box-shadow:inset 0 -3px #9aa5b5,0 6px 14px #1f293714;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.akshara-builder button:hover{transform:translateY(-1px);border-color:#9bc8f7}.akshara-builder button:active{transform:translateY(2px);box-shadow:inset 0 -1px #9aa5b5,0 3px 8px #1f293714}.presenter-toggle{display:grid;gap:10px;margin:2px 0 14px;padding:12px;border:1px dashed var(--line-strong);border-radius:16px;background:#ffffffb8}.presenter-toggle p{margin:0;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.presenter-toggle div{display:flex;gap:8px}.presenter-toggle button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;border:0;border-radius:12px;background:#eef3fa;color:#263243;font-size:11px;font-weight:850}.presenter-toggle button:hover{background:#e4edf8}.feedback-card{display:grid;gap:8px;margin:18px 0 16px;padding:18px 20px;border-radius:18px}.feedback-card strong{font-size:20px}.feedback-card p,.feedback-card span{margin:0;color:var(--muted)}.feedback-card--success{background:var(--green-soft);border-color:#9cd5a6}.feedback-card--coach{background:var(--orange-soft);border-color:var(--orange)}.ten-frame{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:30px 0;padding:18px;border:2px solid var(--line);border-radius:20px;background:var(--card)}.counter{aspect-ratio:1;border:2px dashed var(--line-strong);border-radius:14px;background:#f4f2ec}.counter.is-filled{border-style:solid;border-color:#e5bd2c;background:radial-gradient(circle at 35% 30%,#ffe999,var(--yellow));box-shadow:inset 0 -3px 0 var(--yellow-dark)}.number-options{display:flex;justify-content:center;gap:16px;margin-bottom:20px}.number-options button.is-selected{outline:4px solid var(--blue)}.garden-hero{display:grid;justify-items:center}.garden-hero--personalized{position:relative;gap:14px;margin:22px 0 18px;padding:18px;overflow:hidden;border:2px solid #cfe5d1;border-radius:26px;background:linear-gradient(180deg,#eaf6ff 0 42%,#f4fbec 42% 100%);box-shadow:inset 0 -5px #2673371f}.garden-hero--personalized h2{position:relative;z-index:1;margin:0;color:#174c2a;font-size:28px;line-height:1.1}.garden-hero--personalized p{position:relative;z-index:1;margin:0;color:#384252;font-size:15px;font-weight:750;line-height:1.42}.garden-sky{position:absolute;inset:0;pointer-events:none}.garden-sky span{position:absolute;display:block;width:42px;height:42px;border-radius:999px;background:#ffd54fd9}.garden-sky span:nth-child(1){top:14px;right:18px}.garden-sky span:nth-child(2),.garden-sky span:nth-child(3){width:54px;height:18px;border-radius:999px;background:#ffffffd1}.garden-sky span:nth-child(2){top:38px;left:22px}.garden-sky span:nth-child(3){top:74px;right:72px}.garden-child-card{position:relative;z-index:1;display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;width:100%;gap:14px;padding:14px;border:2px solid rgba(255,255,255,.72);border-radius:22px;background:#ffffffc7;text-align:left}.garden-child-card h1{margin:0;color:#162439;font-size:30px;line-height:1.06}.garden-avatar{display:grid;width:72px;height:72px;place-items:center;border:4px solid #fff;border-radius:999px;color:#172033;font-size:30px;font-weight:950;box-shadow:0 8px 20px #1f293729}.garden-level-pill{display:inline-flex;align-items:center;gap:6px;min-height:30px;margin-top:8px;border-radius:999px;background:var(--blue);color:#fff;padding:0 10px;font-size:12px;font-weight:900}.plant-plot{position:relative;display:flex;align-items:end;justify-content:center;gap:8px;width:260px;height:190px;margin-bottom:20px;border:2px solid var(--line);border-radius:26px;background:linear-gradient(#eff8ef,#fff);overflow:hidden}.plant-plot--progress{z-index:1;width:min(100%,292px);height:166px;margin:0;border-color:#b9d8bd;background:linear-gradient(180deg,#fff3,#fff0),linear-gradient(#dcf2ff 0 54%,#e7f7dc 54% 100%);box-shadow:0 14px 28px #26733724}.plant-plot:after{content:"";position:absolute;left:0;right:0;bottom:0;height:54px;background:#9a6b43}.plant-plot span{position:relative;z-index:1;width:22px;height:72px;border-radius:999px 999px 0 0;background:var(--green)}.plant-plot span:before,.plant-plot span:after{content:"";position:absolute;top:18px;width:28px;height:18px;border-radius:999px 999px 999px 0;background:#75c86e}.plant-plot span:before{right:10px;transform:rotate(-30deg)}.plant-plot span:after{left:10px;transform:rotate(30deg) scaleX(-1)}.plant-plot--progress span{height:48px;margin-bottom:18px;transform-origin:bottom center}.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{width:18px;height:28px;background:#5fa455}.garden-progress-card{position:relative;z-index:1;display:grid;width:100%;gap:9px;padding:14px;border:2px solid #d7e9d9;border-radius:18px;background:#ffffffe6;text-align:left}.garden-progress-card__top{display:flex;align-items:center;justify-content:space-between;gap:12px}.garden-progress-card__top span{display:inline-flex;align-items:center;gap:7px;color:#174c2a;font-size:14px;font-weight:900}.garden-progress-card__top strong{color:var(--blue-dark);font-size:24px;line-height:1}.garden-progress-bar{height:16px;overflow:hidden;border-radius:999px;background:#e3e7de}.garden-progress-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green),var(--blue))}.garden-progress-card small{color:var(--muted);font-size:12px;font-weight:900}.garden-stat-row{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:8px}.garden-stat{display:grid;justify-items:center;gap:3px;min-height:74px;padding:9px 6px;border:1px solid rgba(31,41,55,.08);border-radius:16px;background:#ffffffd1;color:#425062;font-size:11px;font-weight:850;text-align:center}.garden-stat strong{color:#1b2433;font-size:22px;line-height:1}.outcome-list{display:grid;gap:9px;max-height:480px;overflow:auto;padding-bottom:18px}.outcome-row{display:grid;grid-template-columns:14px 1fr;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--card)}.outcome-list--garden{max-height:none;padding-bottom:20px}.outcome-row--mastered{border-color:#a9d8ae;background:#f1fbef}.outcome-row--practising{border-color:#efd27d;background:#fff8df}.outcome-row__icon{display:grid;width:34px;height:34px;place-items:center;border-radius:999px;background:#eef3fb;color:var(--blue-dark)}.outcome-row--mastered .outcome-row__icon{background:var(--green-soft);color:var(--green)}.outcome-row--practising .outcome-row__icon{background:#fff1bf;color:#8a6300}.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{margin-top:20px;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--card)}.empty-state-card{display:grid;justify-items:center;gap:12px;color:var(--muted);text-align:center}.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{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.curriculum-stat-grid article{display:grid;gap:4px;min-height:86px;padding:14px;border-radius:14px;background:#f3f7fb}.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{margin:0;color:var(--muted);font-size:13px}.curriculum-outcome-grid,.gap-list,.track-list{display:grid;gap:10px}.panel-title--split{justify-content:space-between;gap:12px}.panel-title--split>div{display:inline-flex;align-items:center;gap:8px;min-width:0}.panel-title--split>span{flex:0 0 auto;color:var(--muted);font-size:12px;font-weight:900}.activity-catalog{display:grid;gap:8px;max-height:560px;overflow:auto;padding-right:2px}.activity-catalog-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:58px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);padding:8px 10px;text-align:left;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.activity-catalog-row:hover{transform:translateY(-1px);border-color:#b8d6f7;box-shadow:0 8px 18px #1f293714}.activity-catalog-row.is-complete{border-color:#9cd5a6;background:#f1fbef;box-shadow:inset 4px 0 #65b86d}.activity-catalog-row.is-progress{border-color:#efd27d;background:#fff8df;box-shadow:inset 4px 0 0 var(--orange)}.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{background:#fff1bf;color:#8a6300}.activity-catalog-row__index{display:inline-grid;width:34px;height:34px;place-items:center;border-radius:999px;background:#eef3fa;color:var(--blue-dark);font-size:12px;font-weight:900}.activity-catalog-row__body{display:grid;min-width:0;gap:2px}.activity-catalog-row__body strong,.activity-catalog-row__body span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.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{max-width:76px;overflow-wrap:anywhere;text-align:right}.activity-catalog-row__meta small{display:block;margin-bottom:3px;color:inherit;font-size:10px;font-weight:950;text-transform:uppercase}.curriculum-outcome-card,.gap-card,.track-card{border:1px solid var(--line);border-radius:14px;background:#fcfbf8}.curriculum-outcome-card{display:grid;grid-template-columns:14px 1fr;gap:12px;align-items:start;padding:12px}.curriculum-outcome-card.is-complete{border-color:#9cd5a6;background:#f1fbef;box-shadow:inset 4px 0 #65b86d}.curriculum-outcome-card.is-progress{border-color:#efd27d;background:#fff8df;box-shadow:inset 4px 0 0 var(--orange)}.curriculum-outcome-card strong,.track-card strong{display:block;margin-bottom:4px}.curriculum-status-pill{display:inline-flex;align-items:center;min-height:26px;margin:3px 0 7px;border-radius:999px;background:#ffffffd1;color:#425062;padding:0 9px;font-size:11px;font-weight:950}.curriculum-outcome-card.is-complete .curriculum-status-pill{color:#174c2a}.curriculum-outcome-card.is-progress .curriculum-status-pill{color:#7a5200}.gap-card{display:grid;gap:10px;padding:14px;background:#fff8ed;border-color:#f2d3a4}.gap-card__head{display:flex;align-items:center;gap:10px}.gap-card b{color:#6b4700}.track-card{padding:14px}.mini-action{display:inline-flex;align-items:center;gap:6px;min-height:34px;margin-top:10px;padding:0 12px;border:0;border-radius:999px;background:var(--blue);color:#fff;font-size:12px;font-weight:900}.practice-hero,.practice-card{margin-top:18px;padding:18px;border:2px solid var(--line);border-radius:20px;background:var(--card)}.practice-hero h1,.practice-card h2,.practice-card p{margin:0}.practice-hero h1{margin-top:4px;font-size:27px;line-height:1.15}.practice-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.practice-meta span{display:inline-flex;min-height:28px;align-items:center;border-radius:999px;background:#eef3fa;color:#263243;padding:0 10px;font-size:12px;font-weight:900}.practice-smart-hint{margin-top:14px;padding:12px 14px;border:1px solid #d8e8fb;border-radius:14px;background:#f4f9ff;color:#314866;font-size:14px;font-weight:800;line-height:1.35}.practice-card{display:grid;gap:14px}.practice-card h2{font-size:22px;line-height:1.2}.practice-prompt{font-size:18px}.practice-image-frame{width:100%;overflow:hidden;border:2px solid var(--line);border-radius:16px;background:#f7fafc}.practice-image{display:block;width:100%;aspect-ratio:3 / 2;object-fit:cover}.practice-detail{display:block;color:var(--blue-dark);font-size:32px;line-height:1.15}.practice-passage{max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fcfbf8;padding:14px;color:var(--ink)!important;font-size:15px!important;line-height:1.7;white-space:pre-line}.practice-visuals,.practice-choices{display:flex;flex-wrap:wrap;gap:10px}.practice-visuals{max-width:100%;overflow:hidden;padding-right:2px;box-sizing:border-box;align-items:center}.practice-visuals span{display:inline-grid;box-sizing:border-box;min-width:54px;min-height:54px;place-items:center;border:2px solid var(--line);border-radius:16px;background:#f3f7fb;color:var(--blue-dark);padding:8px 12px;font-size:24px;font-weight:900}.practice-visuals--dense{gap:6px}.practice-visuals--dense span:not(.practice-visuals__operator){min-width:38px;min-height:38px;border-radius:12px;padding:4px 6px;font-size:19px}.practice-visuals span.practice-visuals__coin{position:relative;min-width:68px;min-height:68px;border-color:#e8c25d;border-radius:20px;background:#fff7df;color:#6e4b00;font-size:0;box-shadow:inset 0 -4px #b8840038,0 8px 16px #6e4b0014}.practice-visuals span.practice-visuals__coin:before{content:"";display:block;width:42px;height:42px;border:3px solid #f0b52f;border-radius:999px;background:radial-gradient(circle at 35% 28%,#fff2a8 0 18%,transparent 19%),linear-gradient(145deg,#ffd766,#f7b733);box-shadow:inset 0 -4px #99620038,0 3px #7a530029}.practice-visuals span.practice-visuals__coin:after{content:attr(data-value);position:absolute;inset:0;display:grid;place-items:center;color:#734d00;font-size:17px;font-weight:950}.practice-visuals span.practice-visuals__operator{min-width:30px;min-height:30px;border:0;border-radius:999px;background:#eef3fa;color:#32435a;padding:0;font-size:24px;line-height:1;box-shadow:none}.practice-visuals span.practice-visuals__operator--minus{background:var(--orange-soft);color:#875100}.practice-visuals span.practice-visuals__removed{position:relative;min-width:54px;min-height:54px;border-color:#f2bf8a;background:#fff3e4;color:#6f4b13;opacity:.82}.practice-visuals span.practice-visuals__removed:after{content:"";position:absolute;left:10px;right:10px;top:50%;height:4px;border-radius:999px;background:#df5b45;transform:rotate(-18deg)}.practice-visuals--dense span.practice-visuals__removed{min-width:38px;min-height:38px;border-radius:12px;padding:4px 6px;font-size:19px}.practice-visuals--dense span.practice-visuals__removed:after{left:7px;right:7px;height:3px}.practice-visuals span.practice-visuals__sep{min-width:0;width:2px;min-height:32px;padding:0;border:none;border-radius:0;background:var(--line);align-self:center}.practice-visuals span.practice-position-scene{position:relative;width:min(250px,100%);min-width:220px;min-height:168px;border-color:#c7d5e5;border-radius:20px;background:linear-gradient(180deg,#f7fbff 0 62%,#edf8ef 63% 100%);overflow:hidden;padding:0;box-shadow:inset 0 -3px #2f4a7014,0 8px 18px #293d5b14;perspective:380px}.practice-visuals span.practice-position-scene:after{content:"";position:absolute;left:22px;right:22px;bottom:18px;height:16px;border-radius:999px;background:#435b7e1a;filter:blur(2px)}.practice-visuals span.practice-position-scene:before{content:"";position:absolute;left:20px;right:20px;top:63%;height:1px;background:#6a81a229}.practice-visuals span.practice-position-scene__anchor,.practice-visuals span.practice-position-scene__subject{position:absolute;display:grid;box-sizing:border-box;min-width:0;min-height:0;width:auto;height:auto;place-items:center;border:0;border-radius:0;background:transparent;color:inherit;padding:0;font-size:1rem;box-shadow:none}.practice-position-scene__anchor{z-index:1;left:50%;top:50%;transform:translate(-50%,-50%);filter:drop-shadow(0 9px 8px rgba(31,41,55,.16))}.practice-position-scene__subject{z-index:3;filter:drop-shadow(0 7px 7px rgba(31,41,55,.22))}.practice-position-scene--above .practice-position-scene__anchor{top:66%}.practice-position-scene--above .practice-position-scene__subject{left:50%;top:24%;transform:translate(-50%,-50%)}.practice-position-scene--on .practice-position-scene__anchor{top:66%}.practice-position-scene--on .practice-position-scene__subject{left:50%;top:56%;transform:translate(-50%,-50%);filter:drop-shadow(0 5px 5px rgba(31,41,55,.18))}.practice-position-scene--below .practice-position-scene__anchor{top:35%}.practice-position-scene--below .practice-position-scene__subject{left:50%;bottom:14px;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{left:50%;top:52%;transform:translate(-50%,-50%) scale(.74)}.practice-position-scene--beside .practice-position-scene__anchor{left:66%;top:55%}.practice-position-scene--beside .practice-position-scene__subject{left:30%;top:55%;transform:translate(-50%,-50%)}.practice-position-scene--near .practice-position-scene__anchor{left:55%;top:56%}.practice-position-scene--near .practice-position-scene__subject{left:41%;top:56%;transform:translate(-50%,-50%)}.practice-position-scene--far .practice-position-scene__anchor{left:82%;top:55%}.practice-position-scene--far .practice-position-scene__subject{left:17%;top:55%;transform:translate(-50%,-50%) scale(.9)}.practice-position-scene--far:before{left:74px;right:74px;top:55%;height:4px;border-radius:999px;background:repeating-linear-gradient(90deg,rgba(61,104,154,.28) 0 9px,transparent 9px 17px)}.practice-position-scene--left .practice-position-scene__anchor,.practice-position-scene--right .practice-position-scene__subject{left:72%;top:55%;transform:translate(-50%,-50%) rotateY(-12deg)}.practice-position-scene--left .practice-position-scene__subject,.practice-position-scene--right .practice-position-scene__anchor{left:28%;top:55%;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 rgba(31,41,55,.25))}.practice-position-scene--front .practice-position-scene__anchor{left:50%;top:39%;z-index:1;opacity:.78;transform:translate(-50%,-50%) scale(.76);filter:drop-shadow(0 4px 4px rgba(31,41,55,.14))}.practice-position-scene--front .practice-position-scene__subject{left:50%;top:65%;z-index:4;transform:translate(-50%,-50%) scale(1.08);filter:drop-shadow(0 12px 10px rgba(31,41,55,.26))}.practice-position-scene--behind .practice-position-scene__subject{left:50%;top:39%;z-index:1;opacity:.78;transform:translate(-50%,-50%) scale(.76);filter:drop-shadow(0 4px 4px rgba(31,41,55,.14))}.practice-position-scene--behind .practice-position-scene__anchor{left:50%;top:65%;z-index:4;transform:translate(-50%,-50%) scale(1.08);filter:drop-shadow(0 12px 10px rgba(31,41,55,.26))}.practice-choices button{flex:1 1 42%;min-height:58px;border:2px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);padding:8px 12px;font-weight:900}.practice-choices button.is-correct{border-color:#9cd5a6;background:var(--green-soft);color:var(--green)}.practice-choices button.is-wrong{border-color:var(--orange);background:var(--orange-soft);color:#7a4c00}.practice-actions{display:grid;gap:6px;margin-top:14px}.practice-picker{display:grid;gap:8px;max-height:min(560px,72vh);overflow-y:auto;padding-right:4px}.practice-picker button{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:62px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);padding:10px 12px;text-align:left;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease}.practice-picker button:hover{transform:translateY(-1px);border-color:#b8d6f7;box-shadow:0 7px 16px #1f293714}.practice-picker button.is-active{border-color:var(--blue);background:#eef6ff}.practice-picker button.is-correct{border-color:#9cd5a6;background:#f1fbef;color:#174c2a;box-shadow:inset 4px 0 #65b86d}.practice-picker button.is-wrong{border-color:#e8a4a4;background:#fff1f1;color:#6f2424;box-shadow:inset 4px 0 #df5b5b}.practice-picker button.is-active.is-correct{border-color:#65b86d;background:#eaf8e7}.practice-picker button.is-active.is-wrong{border-color:#df5b5b;background:#ffe9e9}.practice-picker__main{display:grid;min-width:0;gap:3px}.practice-picker__main strong,.practice-picker__main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.practice-picker__status{flex:0 0 auto;display:inline-flex;align-items:center;min-height:28px;border-radius:999px;background:#ffffffd1;padding:0 9px;font-size:11px;font-weight:950}.practice-picker button.is-correct .practice-picker__status{color:#174c2a}.practice-picker button.is-wrong .practice-picker__status{color:#7a2525}.status-dot{display:inline-block;width:12px;height:12px;border-radius:999px}.status-dot--mastered{background:var(--green)}.status-dot--practising{background:var(--yellow)}.status-dot--not-yet{background:#dedbd5}.console-shell,.dashboard-shell{display:grid;grid-template-columns:320px 1fr;min-height:100vh;background:var(--surface)}.console-nav,.dashboard-nav{display:grid;align-content:start;gap:28px;padding:28px 22px;background:#f1efea;border-right:2px solid var(--line)}.console-nav h1,.dashboard-nav h1{margin:0;color:var(--blue-dark);font-size:42px;line-height:1}.console-nav p,.dashboard-nav p{margin:6px 0 0;color:#2d3442}.console-nav nav,.dashboard-nav nav{display:grid;gap:12px}.console-nav a,.dashboard-nav a,.console-nav nav button{display:flex;align-items:center;gap:14px;min-height:54px;border:0;border-left:4px solid transparent;background:transparent;color:#2d3442;font-size:17px;font-weight:800;text-align:left}.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{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px;border-bottom:2px solid var(--line);padding-bottom:22px}.console-header h1,.dashboard-header h1{margin:0;font-size:40px;line-height:1.1}.console-grid{display:grid;grid-template-columns:minmax(0,2fr) 380px;gap:28px}.roster-panel,.routine-panel,.heat-panel{padding:24px}.panel-title{display:flex;align-items:center;gap:10px;margin-bottom:18px}.panel-title h2,.panel-title p{margin:0}.panel-title--spread{justify-content:space-between;align-items:flex-start}.roster-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:16px}.roster-card{display:grid;grid-template-columns:68px 1fr;gap:14px;align-items:start;padding:18px;border:2px solid var(--line);border-radius:12px;background:#fcfbf8}.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{grid-column:1 / -1;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line-strong);background:var(--card)}.mini-meter{width:100%;height:9px;margin-top:14px;overflow:hidden;border-radius:999px;background:var(--line)}.mini-meter span{display:block;height:100%;border-radius:inherit;background:var(--green)}.load-next-card{display:grid;grid-template-columns:54px 1fr 180px;gap:18px;align-items:center;margin-top:24px;padding:24px;border-radius:18px;background:linear-gradient(135deg,#ffe79b,var(--yellow));box-shadow:inset 0 -5px 0 var(--yellow-dark)}.load-next-card h3,.load-next-card p{margin:0}.load-next-card button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;background:#fff}.routine-panel{display:grid;align-content:start;gap:14px}.routine-item{display:grid;grid-template-columns:34px 1fr;gap:14px;align-items:start;min-height:106px;padding:18px;border:0;border-radius:12px;background:#fcfbf8;color:var(--ink);text-align:left}.routine-item strong,.routine-item small{display:block}.routine-item small{margin-top:4px;color:var(--muted);font-size:15px}.square-check{display:grid;width:30px;height:30px;place-items:center;border:2px solid #7b8494;border-radius:6px;color:#fff}.square-check.is-checked{border-color:var(--green);background:var(--green)}.routine-progress{display:grid;gap:8px;margin-top:18px;padding-top:18px;border-top:2px solid var(--line)}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:28px;margin-bottom:28px}.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{margin:28px 0 0;padding:18px;border-radius:10px;background:#ffffff73;color:#6f5400}.big-number{display:block;color:var(--blue-dark);font-size:70px;line-height:1}.metric-card--yellow .big-number{color:#745700}.donut{--value: 62;display:grid;width:180px;height:180px;place-items:center;margin:30px auto 0;border-radius:999px;background:radial-gradient(circle at center,var(--card) 0 52%,transparent 53%),conic-gradient(var(--green) calc(var(--value) * 1%),var(--line) 0)}.donut strong,.donut span{grid-area:1 / 1}.donut strong{margin-top:-20px;font-size:44px}.donut span{margin-top:48px;color:var(--muted)}.legend-row{display:flex;flex-wrap:wrap;gap:16px}.legend-row span{display:inline-flex;align-items:center;gap:7px}.heat-table-wrap{overflow:auto}.heat-table{width:100%;min-width:1180px;border-collapse:collapse}.heat-table th,.heat-table td{border-bottom:1px solid var(--line);padding:10px;text-align:left}.heat-table th{background:#f2f0eb;color:#273041;font-size:14px}.heat-table td:first-child,.heat-table th:first-child{position:sticky;left:0;z-index:1;min-width:180px;background:#fff}.heat-cell{display:block;width:48px;height:34px;border-radius:6px}.heat-cell--mastered{background:var(--green)}.heat-cell--practising{background:var(--yellow)}.heat-cell--not-yet{background:#dedbd5}.dashboard-footer-note{display:flex;gap:10px;align-items:baseline;justify-content:center;margin-top:18px;color:var(--muted)}.dashboard-footer-note strong{color:var(--blue-dark);font-size:28px}.admin-login-shell,.admin-shell{min-height:100vh;background:var(--surface)}.admin-login-shell{display:grid;place-items:center;padding:28px}.admin-login-card,.admin-panel,.admin-metric-card{border:2px solid var(--line);border-radius:8px;background:var(--card)}.admin-login-card{width:min(100%,460px);padding:32px;box-shadow:var(--shadow-soft)}.admin-login-card h1,.admin-login-card p{margin:0 0 12px}.admin-shell{display:block}.admin-nav{position:fixed;top:0;bottom:0;left:0;display:flex;width:300px;height:100vh;flex-direction:column;gap:28px;padding:28px 22px 96px;overflow:hidden;border-right:2px solid var(--line);background:#f1efea;z-index:20}.admin-nav h1,.admin-nav p{margin:0}.admin-nav h1{color:var(--blue-dark);font-size:34px;line-height:1.05}.admin-nav p{margin-top:6px;color:var(--muted);font-weight:800}.admin-nav nav{display:grid;gap:8px}.admin-nav a,.admin-nav nav button,.admin-logout{display:flex;align-items:center;gap:12px;min-height:50px;border:0;border-left:4px solid transparent;background:transparent;color:#2d3442;font-weight:850;text-align:left}.admin-nav a.active,.admin-nav nav button.active{border-left-color:var(--green);color:var(--green)}.admin-logout{position:absolute;bottom:22px;left:22px;width:calc(100% - 44px);margin-top:auto;color:#8a1f1f}.admin-brand-mark{display:inline-grid;width:56px;height:56px;place-items:center;margin-bottom:16px;border-radius:999px;background:var(--green-soft);color:var(--green)}.admin-main{margin-left:300px;padding:36px 40px}.admin-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px;border-bottom:2px solid var(--line);padding-bottom:22px}.admin-header h1,.admin-header p{margin:0}.admin-header h1{margin-bottom:8px;font-size:38px;line-height:1.1}.admin-refresh{width:auto;min-width:140px;margin:0;border-radius:999px}.admin-alert{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;padding:14px 16px;border:2px solid var(--line);border-radius:8px;background:#fff;color:#263040;font-weight:750}.admin-alert--success{border-color:#9bcf9f;background:#edf8ec}.admin-alert--error{border-color:#df8a8a;background:var(--red-soft)}.admin-credentials-list{display:flex;flex-wrap:wrap;gap:8px}.admin-credentials{display:inline-flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line-strong);border-radius:6px;background:#fff}.admin-credentials code{padding:3px 6px;border-radius:5px;background:#202633;color:#fff;font-weight:850}.admin-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:24px}.admin-metric-card{display:grid;gap:8px;min-height:150px;padding:20px}.admin-metric-card span{display:inline-grid;width:44px;height:44px;place-items:center;border-radius:999px;background:#eaf3ff;color:var(--blue-dark)}.admin-metric-card p{margin:0;color:var(--muted);font-weight:800}.admin-metric-card strong{color:var(--blue-dark);font-size:44px;line-height:1}.admin-workspace{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(0,1.4fr);gap:24px;align-items:start}.admin-workspace--section{align-items:stretch}.admin-workspace--teachers{display:flex;flex-direction:column;gap:24px}.admin-panel{padding:22px}.admin-panel--forms{display:grid;gap:18px}.admin-panel--directory{display:grid;gap:24px}.admin-subform{padding:18px;border:1px solid var(--line);border-radius:8px;background:#fcfbf8}.admin-subform h3{margin:0 0 14px;font-size:20px}.admin-form,.admin-form label{display:grid;gap:8px}.admin-form{gap:12px}.admin-form label,.admin-checkbox{color:#313846;font-size:14px;font-weight:850}.admin-form input,.admin-form select{width:100%;min-height:44px;border:1px solid var(--line-strong);border-radius:7px;background:#fff;color:var(--ink);padding:8px 10px}.admin-form-row,.admin-inline-fields{display:grid;gap:12px}.admin-form-row{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-inline-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.learner-credentials-modal{display:grid;gap:14px;min-width:min(360px,82vw);padding:22px}.learner-credentials-summary{display:grid;gap:6px}.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{display:grid;gap:6px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fcfbf8}.learner-credential-row span{color:var(--muted);font-size:13px;font-weight:850}.learner-credential-row strong{color:var(--blue-dark);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:20px;overflow-wrap:anywhere}.admin-checkbox{grid-template-columns:20px 1fr;align-items:center}.admin-checkbox input{width:18px;min-height:18px}.admin-note{padding:14px;border:1px dashed var(--line-strong);border-radius:8px;background:#fff;color:var(--muted);line-height:1.45}.admin-table-wrap{overflow-x:auto}.admin-table-wrap h3{margin:0 0 12px}.admin-table{width:100%;min-width:520px;border-collapse:collapse}.admin-table th,.admin-table td{border-bottom:1px solid var(--line);padding:12px 14px;text-align:left}.admin-table th{background:#f2f0eb;color:#273041;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(max-width:980px){.console-shell,.dashboard-shell,.admin-shell{grid-template-columns:1fr}.console-nav,.dashboard-nav,.admin-nav{position:static;display:grid;grid-template-columns:auto 1fr;width:auto;height:auto;min-height:auto;align-items:center;gap:12px;padding-bottom:28px;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-logout{position:static;grid-column:1 / -1;left:auto;bottom:auto;width:100%;margin-top:0}.roster-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media(max-width:640px){.app-root{padding:0}.phone-shell{min-height:100vh;width:100%;border:0;border-radius:0}.console-main,.dashboard-main,.admin-main{margin-left:0;padding:24px 16px}.console-header,.dashboard-header,.admin-header{align-items:flex-start;flex-direction:column}.admin-form-row,.admin-inline-fields{grid-template-columns:1fr}.admin-nav nav{grid-template-columns:1fr}.roster-grid,.load-next-card{grid-template-columns:1fr}}.reward-burst{position:absolute;inset:0;z-index:50;pointer-events:none;display:flex;align-items:center;justify-content:center;overflow:visible}.reward-burst .reward-mascot{font-size:96px;line-height:1;filter:drop-shadow(0 6px 18px rgba(19,127,236,.35));transform-origin:center;animation:reward-pop .6s ease-out forwards}.reward-burst .reward-confetti{position:absolute;top:50%;left:50%;width:14px;height:14px;border-radius:50%;transform:translate(-50%,-50%) scale(0);opacity:0;animation-duration:1.2s;animation-timing-function:cubic-bezier(.16,.84,.44,1);animation-fill-mode:forwards}.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%{transform:scale(0);opacity:0}60%{transform:scale(1.3);opacity:1}to{transform:scale(1);opacity:1}}@keyframes reward-scatter-1{0%{transform:translate(-50%,-50%) scale(0);opacity:0}20%{opacity:1}to{transform:translate(calc(-50% + 120px),calc(-50% - 110px)) scale(1);opacity:0}}@keyframes reward-scatter-2{0%{transform:translate(-50%,-50%) scale(0);opacity:0}20%{opacity:1}to{transform:translate(calc(-50% - 130px),calc(-50% - 90px)) scale(1);opacity:0}}@keyframes reward-scatter-3{0%{transform:translate(-50%,-50%) scale(0);opacity:0}20%{opacity:1}to{transform:translate(calc(-50% + 150px),calc(-50% + 80px)) scale(1);opacity:0}}@keyframes reward-scatter-4{0%{transform:translate(-50%,-50%) scale(0);opacity:0}20%{opacity:1}to{transform:translate(calc(-50% - 140px),calc(-50% + 110px)) scale(1);opacity:0}}@keyframes reward-scatter-5{0%{transform:translate(-50%,-50%) scale(0);opacity:0}20%{opacity:1}to{transform:translate(calc(-50% + 60px),calc(-50% - 150px)) scale(1);opacity:0}}@keyframes reward-scatter-6{0%{transform:translate(-50%,-50%) scale(0);opacity:0}20%{opacity:1}to{transform:translate(calc(-50% - 70px),calc(-50% + 140px)) scale(1);opacity:0}}@keyframes reward-scatter-7{0%{transform:translate(-50%,-50%) scale(0);opacity:0}20%{opacity:1}to{transform:translate(calc(-50% + 170px),calc(-50% + 10px)) scale(1);opacity:0}}@keyframes reward-scatter-8{0%{transform:translate(-50%,-50%) scale(0);opacity:0}20%{opacity:1}to{transform:translate(calc(-50% - 160px),calc(-50% - 20px)) scale(1);opacity:0}}@keyframes reward-scatter-9{0%{transform:translate(-50%,-50%) scale(0);opacity:0}20%{opacity:1}to{transform:translate(calc(-50% + 30px),calc(-50% + 160px)) scale(1);opacity:0}}@keyframes reward-scatter-10{0%{transform:translate(-50%,-50%) scale(0);opacity:0}20%{opacity:1}to{transform:translate(calc(-50% - 40px),calc(-50% - 170px)) scale(1);opacity:0}}.reward-burst{position:fixed;inset:0;z-index:1000;overflow:hidden}.reward-burst .reward-mascot{display:none}.reward-burst .reward-confetti{top:-18px;left:50%;width:10px;height:18px;border-radius:3px;opacity:0;transform:translateZ(0) rotate(0);animation-name:reward-fall!important;animation-duration:1.65s;animation-timing-function:cubic-bezier(.2,.72,.26,1);animation-fill-mode:forwards;box-shadow:22vw 10px #ffd54f,-18vw -4px #137fec,36vw -10px #2f8a46}.reward-burst .reward-confetti.c1{left:8%;background:#137fec;animation-delay:0s}.reward-burst .reward-confetti.c2{left:18%;background:#ffd54f;animation-delay:.08s}.reward-burst .reward-confetti.c3{left:29%;background:#2f8a46;animation-delay:.02s}.reward-burst .reward-confetti.c4{left:41%;background:#ff6b6b;animation-delay:.14s}.reward-burst .reward-confetti.c5{left:52%;background:#8b5cf6;animation-delay:.04s}.reward-burst .reward-confetti.c6{left:63%;background:#ffd54f;animation-delay:.18s}.reward-burst .reward-confetti.c7{left:73%;background:#137fec;animation-delay:.1s}.reward-burst .reward-confetti.c8{left:82%;background:#2f8a46;animation-delay:.22s}.reward-burst .reward-confetti.c9{left:91%;background:#ff6b6b;animation-delay:.06s}.reward-burst .reward-confetti.c10{left:96%;background:#ffd54f;animation-delay:.16s}@keyframes reward-fall{0%{opacity:0;transform:translate3d(0,-40px,0) rotate(0)}12%{opacity:1}to{opacity:0;transform:translate3d(-28px,112vh,0) rotate(560deg)}}.profile-hero{display:grid;grid-template-columns:76px 1fr;gap:18px;align-items:center;background:var(--card);border-radius:var(--radius-lg, 1rem);padding:20px;margin-top:12px;box-shadow:var(--shadow-sm)}.profile-avatar{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-display);font-size:36px;font-weight:700}.profile-hero h1{margin:0 0 4px;font-family:var(--font-display);font-size:28px}.profile-hero p{margin:0;font-size:14px;color:var(--foreground-subtle)}.profile-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:18px 0}.profile-stats article{background:var(--card);border-radius:var(--radius, .75rem);padding:16px;text-align:center;box-shadow:var(--shadow-sm)}.profile-stats article strong{display:block;font-family:var(--font-display);font-size:32px;color:var(--eklavya-blue);line-height:1}.profile-stats article span{display:block;margin-top:6px;font-size:13px;color:var(--foreground-subtle)}.profile-actions{display:flex;flex-direction:column;gap:12px;margin-top:8px}.voice-capture-root{display:flex;flex-direction:column;align-items:center;gap:12px;margin:18px 0 6px}.voice-capture-mic,.voice-capture-stop,.voice-capture-link{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;padding:14px 28px;min-height:56px;font-family:var(--font-sans);font-size:17px;font-weight:800;cursor:pointer;transition:transform .1s ease,box-shadow .15s ease}.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{background:#e11d48;color:#fff;box-shadow:0 8px 30px #e11d4859}.voice-capture-stop:active{transform:scale(.98)}.voice-capture-link{background:transparent;color:var(--eklavya-blue);padding:8px 12px;min-height:32px;font-size:14px;text-decoration:underline}.voice-capture-pulse-wrap{display:grid;place-items:center;width:84px;height:84px}.voice-capture-pulse{display:block;width:24px;height:24px;border-radius:999px;background:#e11d48;color:transparent;box-shadow:0 0 #e11d488c;animation:voice-capture-pulse 1.1s ease-out infinite}@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{display:block;width:36px;height:36px;border:4px solid rgba(19,127,236,.18);border-top-color:var(--eklavya-blue);border-radius:999px;animation:voice-capture-spin .9s linear infinite}@keyframes voice-capture-spin{to{transform:rotate(360deg)}}.voice-capture-status{margin:0;font-size:14px;color:var(--foreground-subtle);font-weight:700}.voice-capture-echo{margin:0;font-family:var(--font-display);font-size:22px;text-align:center;color:var(--foreground);padding:12px 16px;background:var(--eklavya-blue-50, #eaf3fe);border-radius:12px;width:100%}.voice-capture-verdict{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;font-weight:700;font-size:14px}.voice-capture-verdict--pass{background:#10b98126;color:#047857}.voice-capture-verdict--retry{background:#f59e0b26;color:#b45309}.voice-capture-error{background:#e11d4814;color:#b91c4a;padding:12px 16px;border-radius:12px;font-size:14px;text-align:center}.modal-backdrop{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{width:min(600px,90vw);max-height:90vh;overflow-y:auto;background:var(--surface);border-radius:16px;padding:24px;position:relative}.modal-close{position:absolute;top:12px;right:12px;border:none;background:transparent;cursor:pointer;font-size:24px}.admin-muted{color:var(--muted)}.row-actions{display:inline-flex;align-items:center;gap:8px}.row-delete{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:#8a1f1f;cursor:pointer;transition:background .15s ease,border-color .15s ease}.row-delete:hover{background:var(--red-soft);border-color:#d99a9a}.row-action{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:var(--card);cursor:pointer;transition:background .15s ease,border-color .15s ease}.row-action--reset{color:#275a76}.row-action--reset:hover{background:#e7f3f7;border-color:#9bc7d5}.admin-form-help{margin:-4px 0 8px;color:var(--muted);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{margin:0 0 20px;color:var(--muted)}.admin-confirm-actions{display:flex;gap:12px;justify-content:flex-end}.secondary-action--inline{width:auto;min-width:120px;margin-bottom:0}.panel-title--with-action{display:flex;justify-content:space-between;align-items:center;gap:16px}.panel-teachers-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.panel-teachers-header__content{display:flex;align-items:center;gap:10px}.panel-teachers-header__content h2,.panel-teachers-header__content p{margin:0}.panel-schools-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:16px}.panel-schools-header__content{display:flex;align-items:center;gap:10px}.panel-schools-header__actions{display:flex;gap:10px;flex-shrink:0}.admin-schools-workspace{display:grid;gap:24px}.admin-workspace--learners{display:block}.panel-learners-header{display:flex;justify-content:space-between;align-items:center;gap:16px}.panel-learners-header__content{display:flex;align-items:center;gap:12px}@media(max-width:768px){.panel-learners-header{flex-direction:column;align-items:flex-start}}
