.practice-overlay{position:fixed;inset:0;z-index:1000;background:hsl(var(--surface-base));backdrop-filter:blur(6px);display:flex;flex-direction:column;overflow:hidden;animation:pOverlayIn .22s ease}@keyframes pOverlayIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.practice-header{display:flex;align-items:center;gap:12px;padding:14px 20px;padding-inline:max(20px,calc((100% - 680px)/2));border-bottom:1px solid var(--border-gold);flex-shrink:0}.practice-close{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border-subtle);border-radius:50%;color:var(--text-muted);font-size:var(--text-lg);cursor:pointer;transition:var(--transition);flex-shrink:0}.practice-close:hover{border-color:var(--border-gold);color:var(--gold)}.prac-script-toggle{display:flex;align-items:center;background:hsl(var(--surface-base) / .9);border:1px solid var(--border-subtle);border-radius:20px;padding:3px;gap:2px;flex-shrink:0}.prac-script-btn{width:34px;height:28px;padding:0;border-radius:14px;border:none;background:none;color:var(--text-muted);cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;font-size:var(--text-lg);line-height:1}.prac-script-btn[data-script=g]{font-family:var(--font-native);font-size:var(--text-md)}.prac-script-btn[data-script=r]{font-family:var(--font-body);font-weight:600;letter-spacing:-.5px}.prac-script-btn:hover{color:var(--text-secondary)}.prac-script-btn.active{background:hsl(var(--tint-indigo) / .9);border:1px solid hsl(var(--indigo-base) / .4);color:var(--text-primary)}.scramble-area[data-roman="1"] .word-chip,.scramble-answer-zone[data-roman="1"] .word-chip,.fillblank-options[data-roman="1"] .fillblank-btn,.firstletter-grid[data-roman="1"] .fl-chip{font-family:var(--font-body);font-size:var(--text-base);letter-spacing:.3px}.practice-mode-name{font-size:var(--text-xs);letter-spacing:2px;text-transform:uppercase;color:var(--indigo);font-family:var(--font-body)}.practice-pauri-name{font-size:var(--text-md);color:var(--text-gold);font-style:italic;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.practice-earn-slot{flex-shrink:0;display:flex;align-items:center}.practice-resume-bar{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-2xs) var(--space-sm);font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-gold);background:var(--gold-glow);border-bottom:1px solid var(--border-gold);flex-shrink:0}.practice-resume-bar button{background:none;border:none;padding:var(--space-2xs) var(--space-xs);color:var(--text-muted);font-family:var(--font-body);font-size:var(--text-xs);text-decoration:underline;cursor:pointer}.practice-resume-bar button:hover{color:var(--text-primary)}.practice-progress-wrap{height:3px;background:var(--border-subtle);flex-shrink:0}.practice-progress-fill{height:100%;background:linear-gradient(90deg,var(--indigo),var(--gold));transition:width .4s ease}.practice-body{flex:1;overflow-y:auto;padding:24px 20px 20px;display:flex;flex-direction:column;gap:20px;max-width:680px;margin:0 auto;width:100%}.practice-line-counter{font-size:var(--text-2xs);color:var(--text-muted);letter-spacing:2px;text-transform:uppercase;text-align:center}.practice-prompt{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:18px 20px}.practice-prompt-label{font-size:var(--text-3xs);letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;font-family:var(--font-body)}.practice-prompt-text{font-size:var(--text-md);line-height:1.8;color:var(--text-secondary);font-family:var(--font-body)}.practice-prompt-gurmukhi{font-family:var(--font-native);font-size:clamp(1rem,2.5vw,1.375rem);line-height:2;color:var(--text-gurmukhi);letter-spacing:.3px}.practice-prompt-roman{font-family:var(--font-body);font-size:clamp(1rem,2.5vw,1.375rem);line-height:2;color:var(--text-gurmukhi);letter-spacing:.3px}.scramble-area{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;min-height:60px;align-content:flex-start;width:100%;max-width:var(--measure-controls);margin-inline:auto}.scramble-answer-zone{min-height:56px;padding:10px 12px;background:hsl(var(--surface-base) / .8);border:1px dashed var(--border-gold);border-radius:var(--radius-sm);width:100%;max-width:var(--measure-controls);margin-inline:auto;display:flex;flex-wrap:wrap;gap:7px;align-content:flex-start}.scramble-answer-label{font-size:var(--text-3xs);letter-spacing:2px;text-transform:uppercase;color:var(--gold-dim);margin-bottom:4px;font-family:var(--font-body);width:100%}.word-chip{padding:8px 14px;background:hsl(var(--surface-raised) / .9);border:1px solid hsl(var(--indigo-base) / .5);border-radius:20px;color:var(--text-gurmukhi);font-family:var(--font-native);font-size:var(--text-lg);cursor:pointer;transition:var(--transition);animation:chipIn .18s ease}@keyframes chipIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.word-chip:hover{border-color:var(--indigo);background:hsl(var(--surface-raised) / .9)}.word-chip.placed{opacity:.35;pointer-events:none}.word-chip.correct{background:hsl(var(--tint-success) / .9);border-color:hsl(var(--success-base) / .6);color:hsl(var(--success-base));pointer-events:none}.word-chip.wrong{animation:shakeChip .35s ease;border-color:hsl(var(--danger-base) / .6);color:hsl(var(--danger-base))}@keyframes shakeChip{0%,to{transform:translate(0)}20%{transform:translate(-5px)}60%{transform:translate(5px)}}.fillblank-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;max-width:var(--measure-controls);margin-inline:auto}.fillblank-btn{padding:16px 14px;background:hsl(var(--surface-raised) / .9);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-gurmukhi);font-family:var(--font-native);font-size:var(--text-xl);cursor:pointer;transition:var(--transition);text-align:center;animation:chipIn .18s ease}.fillblank-btn:hover{border-color:var(--indigo);background:hsl(var(--surface-raised) / .9)}.fillblank-btn.correct{background:hsl(var(--tint-success) / .9);border-color:hsl(var(--success-base));color:hsl(var(--success-base))}.fillblank-btn.wrong{background:hsl(var(--tint-danger) / .9);border-color:hsl(var(--danger-base));color:hsl(var(--danger-base));animation:shakeChip .35s ease}.firstletter-grid{display:flex;flex-wrap:wrap;gap:8px}.fl-chip{padding:8px 14px;background:hsl(var(--surface-raised) / .9);border:1px solid hsl(var(--indigo-base) / .5);border-radius:20px;color:var(--text-muted);font-family:var(--font-native);font-size:var(--text-lg);cursor:pointer;transition:var(--transition);letter-spacing:1px}.fl-chip:hover{border-color:var(--indigo);color:var(--text-secondary)}.fl-chip.revealed{background:hsl(var(--surface-raised) / .9);border-color:hsl(var(--indigo-base) / .5);color:var(--text-gurmukhi);cursor:default}.fl-self-declare{display:flex;gap:10px;margin-top:4px;flex-wrap:wrap;justify-content:center;width:100%;max-width:var(--measure-controls);margin-inline:auto}.fl-btn-know{flex:1;padding:13px;background:var(--gold-glow);border:1px solid var(--border-gold-hi);border-radius:var(--radius-sm);color:var(--gold-bright);font-family:var(--font-body);font-size:var(--text-md);cursor:pointer;transition:var(--transition)}.fl-btn-know:hover{background:hsl(var(--gold-base) / .2)}.fl-btn-hint{padding:13px 18px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;transition:var(--transition)}.fl-btn-hint:hover{border-color:var(--border-gold);color:var(--text-secondary)}.insight-image-wrap{border-radius:var(--radius-md);overflow:hidden;max-height:220px;display:flex;align-items:center;justify-content:center;background:var(--bg-card)}.insight-image-wrap img{width:100%;height:220px;object-fit:cover;opacity:0;transition:opacity .5s ease}.insight-image-wrap img.loaded{opacity:1}.insight-section-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:16px 18px}.insight-section-heading{font-size:var(--text-3xs);letter-spacing:2px;text-transform:uppercase;color:var(--gold-dim);margin-bottom:8px;font-family:var(--font-body)}.insight-teaching-text{font-size:var(--text-base);line-height:1.8;color:var(--text-secondary)}.insight-concept-chip{margin-bottom:10px;padding:12px 14px;background:hsl(var(--surface-base) / .8);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition)}.insight-concept-chip:hover{border-color:var(--border-gold)}.concept-term-row{display:flex;align-items:baseline;gap:10px;margin-bottom:4px;flex-wrap:wrap}.concept-g{font-family:var(--font-native);font-size:var(--text-xl);color:var(--text-gurmukhi)}.concept-term{font-size:var(--text-md);color:var(--text-gold);font-style:italic}.concept-meaning{font-size:var(--text-md);color:var(--text-secondary);line-height:1.6}.concept-etym{font-size:var(--text-xs);color:var(--text-muted);margin-top:4px;font-style:italic}.practice-feedback{padding:10px 16px;border-radius:var(--radius-sm);font-size:var(--text-md);font-family:var(--font-body);text-align:center;display:none}.practice-feedback.success{display:block;background:hsl(var(--tint-success) / .9);border:1px solid hsl(var(--success-base));color:hsl(var(--success-base))}.practice-feedback.error{display:block;background:hsl(var(--tint-danger) / .9);border:1px solid hsl(var(--danger-base));color:hsl(var(--danger-base))}.practice-footer{padding:14px 20px;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border-subtle);flex-shrink:0;background:var(--bg-deep)}.practice-footer-content{display:flex;align-items:center;justify-content:center;gap:var(--space-md);width:100%;max-width:var(--measure-controls);margin:0 auto}.prac-script-label{font-size:var(--text-xs);letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);font-family:var(--font-body);padding:0 4px 0 8px}.practice-next-btn{position:relative;overflow:hidden;isolation:isolate;padding:12px 36px;background:var(--gold-glow);border:1px solid var(--border-gold-hi);border-radius:var(--radius-sm);color:var(--gold-bright);font-family:var(--font-body);font-size:var(--text-base);cursor:pointer;transition:var(--transition);display:none}.practice-next-btn.visible{display:block}.practice-next-btn:hover{background:hsl(var(--gold-base) / .22)}.practice-next-btn.auto:before{content:"";position:absolute;inset:0;z-index:-1;transform:scaleX(0);transform-origin:left;background:hsl(var(--gold-base) / .5);box-shadow:2px 0 6px 0 var(--gold-bright);border-right:2px solid var(--gold-bright);animation:pracAutoFill var(--auto-ms, 1.6s) linear forwards}@keyframes pracAutoFill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media(prefers-reduced-motion:reduce){.practice-next-btn.auto:before{animation:none;transform:scaleX(1);opacity:.35}}.practice-complete{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 24px;gap:20px;flex:1}.complete-glyph{font-size:3.25rem;line-height:1}.complete-title{font-family:var(--font-native);font-size:var(--text-3xl);color:var(--text-gurmukhi)}.complete-subtitle{font-size:var(--text-base);color:var(--text-secondary);line-height:1.7}.complete-mastered{font-size:var(--text-md);letter-spacing:1px;color:hsl(var(--success-base));background:hsl(var(--tint-success) / .9);border:1px solid hsl(var(--success-base));border-radius:var(--radius-full);padding:7px 18px;font-family:var(--font-body)}.complete-merit{font-size:var(--text-4xl);color:var(--gold-bright);font-family:var(--font-body)}.complete-merit small{font-size:var(--text-md);color:var(--gold-dim);display:block;margin-top:2px}.complete-guest{font-size:var(--text-md);line-height:1.5;color:var(--text-muted);background:var(--bg-glass);border:1px solid var(--border-gold);border-radius:var(--radius-md);padding:12px 16px;max-width:340px}.complete-guest strong{color:var(--text-gold)}.complete-signin{display:inline-block;margin-top:8px;padding:7px 18px;font-family:var(--font-body);font-weight:700;font-size:var(--text-md);cursor:pointer;color:var(--on-gold);background:linear-gradient(135deg,var(--gold-bright),var(--gold));border:none;border-radius:var(--radius-full)}.complete-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.complete-btn{padding:11px 24px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-md);cursor:pointer;transition:var(--transition)}.complete-btn:hover{border-color:var(--border-gold);color:var(--gold)}.complete-btn.primary{background:var(--gold-glow);border-color:var(--border-gold-hi);color:var(--gold-bright)}@keyframes burst{0%{transform:scale(1);opacity:1}60%{transform:scale(1.5);opacity:.7}to{transform:scale(2.2);opacity:0}}.burst-ring{position:fixed;pointer-events:none;border-radius:50%;border:2px solid var(--gold);width:60px;height:60px;z-index:1050;animation:burst .55s ease forwards}.practice-combo{display:none;align-items:center;gap:4px;padding:5px 12px;border-radius:var(--radius-full);background:hsl(var(--gold-base) / .12);border:1px solid var(--border-gold);color:var(--gold-bright);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;white-space:nowrap}.practice-combo.show{display:inline-flex;animation:comboPop .25s ease}.practice-combo.hot{background:hsl(var(--gold-base) / .22);border-color:var(--border-gold-hi);box-shadow:0 0 14px var(--gold-glow)}@keyframes comboPop{0%{transform:scale(.7)}60%{transform:scale(1.12)}to{transform:scale(1)}}.recall-rush{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%}.recall-rush-hint{font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:.3px;color:var(--text-muted);text-align:center}.recall-clue{font-family:var(--font-body);font-style:italic;font-size:var(--text-lg);color:var(--text-gold);text-align:center;line-height:1.5}.recall-verse{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 16px}.recall-word{display:inline-flex;gap:3px;padding:5px 7px;border-radius:10px;transition:background .2s ease,box-shadow .2s ease}.recall-word.active{background:hsl(var(--tint-gold) / .55);box-shadow:0 0 0 1px var(--border-gold-hi)}.recall-let{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:36px;padding:0 2px;border-bottom:2px solid hsl(var(--indigo-base) / .5);font-family:var(--font-native);font-size:1.5625rem;color:var(--gold-bright);transition:all .15s ease}.recall-verse[data-roman="1"] .recall-let{font-family:var(--font-body);font-size:var(--text-2xl);min-width:12px;height:30px}.recall-let.cur{border-bottom-color:var(--gold);box-shadow:0 3px 12px var(--gold-glow)}@keyframes letterPop{0%{transform:scale(.9)}50%{transform:scale(1.25);filter:brightness(1.6);text-shadow:0 0 8px var(--gold-glow)}to{transform:scale(1)}}.recall-let.filled{border-bottom-color:hsl(var(--success-base) / .7);animation:letterPop .32s cubic-bezier(.175,.885,.32,1.275) forwards}.recall-word.solved .recall-let{color:hsl(var(--success-base));border-bottom-color:transparent}.recall-let.revealed{color:hsl(var(--danger-base))}.recall-timer-container{display:flex;align-items:center;gap:12px;width:100%;max-width:320px}.recall-timer{flex:1;height:7px;background:hsl(var(--tint-indigo) / .5);border-radius:4px;overflow:hidden}.recall-timer-fill{height:100%;width:100%;background:linear-gradient(90deg,hsl(var(--teal-base)),hsl(var(--success-base)));transition:width .05s linear,background .2s ease}.recall-points-val{font-family:var(--font-body);font-weight:700;font-size:var(--text-md);min-width:38px;text-align:right;transition:color .2s ease}@keyframes floatUp{0%{transform:translateY(0) scale(.8);opacity:0}20%{opacity:1}to{transform:translateY(-28px) scale(1.15);opacity:0}}.floating-points{position:absolute;font-family:var(--font-body);font-weight:800;font-size:var(--text-lg);pointer-events:none;z-index:2000;animation:floatUp .6s ease-out forwards}.recall-score-bar{display:flex;flex-direction:column;gap:8px;width:100%;max-width:320px;background:hsl(var(--surface-base) / .6);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:4px}.recall-score-progress-track{height:5px;background:hsl(var(--surface-raised) / .7);border-radius:3px;overflow:hidden;width:100%}.recall-score-progress-fill{height:100%;width:0%;background:linear-gradient(90deg,hsl(var(--success-base)),hsl(var(--teal-base)));border-radius:3px;transition:width .35s cubic-bezier(.19,1,.22,1)}.recall-score-text{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:1px}.score-label{color:var(--text-muted)}.score-numbers{display:inline-flex;font-weight:700;color:var(--text-primary);font-size:var(--text-md)}.score-numbers .earned{color:hsl(var(--teal-base));text-shadow:0 0 6px hsl(var(--teal-base) / .3)}.score-numbers .slash{color:var(--text-muted);margin:0 2px}.score-numbers .total{color:var(--text-secondary)}@keyframes scoreBounce{0%,to{transform:scale(1)}50%{transform:scale(1.28);color:var(--gold-bright);filter:brightness(1.3)}}.score-numbers.bounce{animation:scoreBounce .3s cubic-bezier(.175,.885,.32,1.275)}.practice-overlay.error-flash{box-shadow:inset 0 0 45px hsl(var(--rose-base) / .45);transition:box-shadow .1s ease}@keyframes tileSpawn{0%{transform:translateY(12px) scale(.85);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.recall-bank{display:flex;flex-wrap:wrap;justify-content:center;gap:9px}.recall-tile{min-width:46px;height:50px;padding:0 8px;background:hsl(var(--surface-raised) / .9);border:1px solid hsl(var(--indigo-base) / .6);border-radius:12px;color:var(--text-gurmukhi);font-family:var(--font-native);font-size:1.5625rem;cursor:pointer;animation:tileSpawn .28s cubic-bezier(.175,.885,.32,1.275) both;transition:transform .12s ease,border-color .12s ease,opacity .12s ease}.recall-bank[data-roman="1"] .recall-tile{font-family:var(--font-body);font-size:var(--text-2xl)}.recall-tile:hover{border-color:var(--gold);transform:translateY(-1px)}.recall-tile.used{opacity:.2;pointer-events:none;transform:scale(.82)}.recall-tile.wrong{animation:shakeChip .32s ease;border-color:hsl(var(--danger-base) / .7);color:hsl(var(--danger-base))}.listen-game{display:flex;flex-direction:column;align-items:center;gap:18px;width:100%}.listen-cue{display:flex;align-items:center;gap:14px}.listen-replay{width:54px;height:54px;flex-shrink:0;border-radius:50%;font-size:1.5rem;background:var(--gold-glow);border:1px solid var(--border-gold-hi);color:var(--gold-bright);cursor:pointer;transition:var(--transition)}.listen-replay:hover{background:hsl(var(--gold-base) / .22);transform:scale(1.05)}.listen-prompt{font-family:var(--font-body);font-size:var(--text-lg);color:var(--text-primary)}.listen-hint{font-family:var(--font-body);font-style:italic;font-size:var(--text-sm);color:var(--text-muted);min-height:16px}.listen-timer{width:100%;max-width:320px;height:7px;background:hsl(var(--tint-indigo) / .5);border-radius:4px;overflow:hidden}.listen-timer-fill{height:100%;width:100%;background:linear-gradient(90deg,var(--gold),var(--gold-bright));transition:width .09s linear}.listen-timer-fill.low{background:hsl(var(--danger-base))}.listen-pool{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;width:100%;max-width:var(--measure-controls);margin-inline:auto}.listen-chip{padding:12px 18px;background:hsl(var(--surface-raised) / .9);border:1px solid hsl(var(--indigo-base) / .6);border-radius:14px;color:var(--text-gurmukhi);font-family:var(--font-native);font-size:var(--text-3xl);cursor:pointer;transition:transform .12s ease,border-color .12s ease,opacity .12s ease}.listen-pool[data-roman="1"] .listen-chip{font-family:var(--font-body);font-size:var(--text-xl)}.listen-chip:disabled{cursor:default}.listen-chip:not(:disabled):hover{border-color:var(--gold);transform:translateY(-1px)}.listen-chip.found{opacity:.3;border-color:hsl(var(--success-base) / .6);color:hsl(var(--success-base));transform:scale(.9)}.listen-chip.wrong{animation:shakeChip .32s ease;border-color:hsl(var(--danger-base) / .7);color:hsl(var(--danger-base))}.listen-chip.missed{animation:listenMiss .6s ease;border-color:hsl(var(--danger-base) / .7);color:hsl(var(--danger-base));opacity:.45}@keyframes listenMiss{0%{box-shadow:0 0 0 3px hsl(var(--danger-base) / .6)}to{box-shadow:none}}.listen-count{text-align:center;font-family:var(--font-heading);font-size:2.375rem;color:var(--gold);min-height:44px;transition:opacity .3s ease}.listen-count.hide{opacity:0}@media(max-width:820px){.practice-footer{padding-right:80px}}@media(max-width:480px){.practice-header{gap:8px;padding:12px;padding-top:calc(12px + env(safe-area-inset-top,0px))}.practice-pauri-name{display:none}.practice-mode-name{font-size:var(--text-2xs);letter-spacing:1px}.practice-combo{padding:5px 9px;font-size:var(--text-xs);white-space:nowrap}.prac-script-label{display:none}.practice-footer{padding-right:76px;padding-left:12px}}
