.stat-tooltip-goal{width:275px}.weekly-activity-compact{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}.activity-compact-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:.76rem}.activity-compact-title{font-weight:700;color:#c4b5fd}.activity-compact-stat{font-weight:500;color:#94a3b8;font-size:.72rem}.activity-bars-grid.compact{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;height:52px;align-items:flex-end}.activity-day-col.compact{display:flex;flex-direction:column;align-items:center;height:100%;cursor:default}.activity-day-col:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px;border-radius:6px}.activity-bar-track.compact{position:relative;width:100%;flex:1;background:#ffffff14;border:1.5px solid rgba(255,255,255,.08);box-sizing:border-box;border-radius:4px;overflow:hidden;display:flex;align-items:flex-end}.activity-target-line{position:absolute;left:0;right:0;border-bottom:1px dashed rgba(255,255,255,.4);z-index:2;pointer-events:none}.activity-bar-fill{width:100%;border-radius:3px 3px 0 0;transition:height .3s ease}.activity-bar-fill.bar-target-met{background:linear-gradient(to top,#059669,#10b981)}.activity-bar-fill.bar-active{background:linear-gradient(to top,#d97706,#f59e0b)}.activity-bar-fill.bar-empty{background:transparent}.activity-check-badge.compact{position:absolute;top:1px;font-size:8px;font-weight:900;color:#fff;z-index:3}.activity-day-label.compact{font-size:.68rem;font-weight:600;color:#94a3b8;margin-top:3px}.activity-day-col.is-today .activity-bar-track{border-color:#f59e0b;box-shadow:0 0 8px #f59e0b59;outline:none}.activity-day-label.today-label{color:#f59e0b!important;font-weight:800!important}.weekly-activity-full{margin-top:14px;padding:12px 14px;background:#00000047;border:1px solid rgba(255,255,255,.08);border-radius:12px}.activity-full-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;flex-wrap:wrap;gap:8px}.activity-full-title{font-size:.88rem;font-weight:700;color:#f8fafc}.activity-full-subtitle{font-size:.74rem;color:#94a3b8;display:block;margin-top:2px}.activity-summary-chips{display:flex;gap:6px;flex-wrap:wrap}.activity-chip{font-size:.74rem;padding:3px 8px;background:#ffffff12;border-radius:6px;color:#cbd5e1}.activity-chip.chip-success{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.3)}.activity-chip.chip-warning{background:#ef444426;color:#fca5a5;border:1px solid rgba(239,68,68,.3)}.activity-bars-grid.full{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;height:95px;align-items:flex-end}.activity-day-col.full{display:flex;flex-direction:column;align-items:center;height:100%}.activity-min-label{font-size:.72rem;font-weight:700;color:#cbd5e1;height:16px;line-height:16px;margin-bottom:4px;flex-shrink:0}.activity-bar-track.full{position:relative;width:100%;flex:1;background:#ffffff0f;border:1.5px solid rgba(255,255,255,.08);box-sizing:border-box;border-radius:6px;overflow:hidden;display:flex;align-items:flex-end}.activity-check-badge.full{position:absolute;top:3px;font-size:10px;font-weight:900;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.8);z-index:3}.activity-label-group{display:flex;flex-direction:column;align-items:center;margin-top:4px;height:32px;flex-shrink:0;justify-content:flex-start}.activity-day-label.full{font-size:.76rem;font-weight:600;color:#94a3b8}.today-pill{font-size:.6rem;font-weight:700;padding:1px 4px;background:#f59e0b;color:#000;border-radius:4px;margin-top:2px;line-height:1.1}.view-nav-container{display:flex;justify-content:flex-start;align-items:center;width:auto;margin:0;z-index:10}.view-nav-selector{display:inline-flex;align-items:center;gap:4px;background:#090d16bf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--card-border);padding:3px 4px;border-radius:9999px;box-shadow:0 4px 15px #00000040}.view-nav-tab{display:inline-flex;align-items:center;gap:6px;padding:4px 14px;border-radius:9999px;border:1px solid transparent;background:transparent;color:var(--text-muted);font-family:inherit;font-size:.8rem;font-weight:500;cursor:pointer;transition:background .18s cubic-bezier(.4,0,.2,1),color .18s cubic-bezier(.4,0,.2,1),border-color .18s cubic-bezier(.4,0,.2,1),box-shadow .18s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;line-height:1.2}.view-nav-tab:hover:not(.active){background:#ffffff0f;color:var(--text-main)}.view-nav-tab.active{background:var(--accent-primary);color:#fff;font-weight:600;border-color:#fff3;box-shadow:0 2px 8px #8b5cf666}.view-nav-icon{font-size:.85rem;line-height:1}.view-nav-label{white-space:nowrap}@media(max-width:640px){.view-nav-container{margin:4px 0 2px;min-width:0}.view-nav-selector{gap:2px;padding:2px 3px;max-width:100%}.view-nav-tab{padding:3px 8px;font-size:.72rem;gap:4px;white-space:nowrap}.view-nav-icon{font-size:.78rem}}@media(max-width:480px){.view-nav-tab{padding:3px 6px;font-size:.7rem;gap:3px}.view-nav-label-long{display:none}}@media(max-width:360px){.view-nav-container{margin:0}.view-nav-selector{gap:1px;padding:2px}.view-nav-tab{padding:3px 5px;font-size:.68rem;gap:2px}}.app-header{display:flex;flex-direction:column;gap:10px;background:var(--card-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--card-border);border-radius:18px;padding:12px 18px;box-shadow:0 10px 25px -5px #0006;position:relative;z-index:100;overflow:visible}.header-top-row{display:flex;justify-content:space-between;align-items:center;width:100%}.header-nav-row{display:flex;justify-content:space-between;align-items:center;width:100%;padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}.logo-area{display:flex;align-items:center;gap:12px}.logo-badge{background:linear-gradient(135deg,#ec4899,#8b5cf6);width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px;color:#fff;box-shadow:0 4px 12px #8b5cf666}.title-group h1{font-size:1.15rem;font-weight:700;letter-spacing:-.01em}.active-indicator{font-size:.78rem;color:#a78bfa;display:flex;align-items:center;gap:6px}.active-indicator .dot{font-size:.85rem}.header-right{display:flex;align-items:center;gap:12px}.stats-pill{display:flex;align-items:center;gap:12px;background:#090d1699;padding:6px 14px;border-radius:9999px;border:1px solid var(--card-border)}.stat-item{display:flex;align-items:center;gap:5px;font-size:.85rem;font-weight:600}.stat-streak{color:#f59e0b}.stat-day-streak{color:#fbbf24}.stat-day-streak.streak-at-risk{color:#f87171;text-shadow:0 0 4px rgba(248,113,113,.4);animation:streakAtRiskPulse 1.6s ease-in-out 3 alternate}.stat-day-streak.streak-active-today{color:#34d399}.stat-score{color:#10b981}.stat-goal{color:#38bdf8}.stat-goal.goal-completed{color:#10b981}.stat-goal.goal-behind{color:#f87171}.stat-goal.goal-on-track{color:#38bdf8}@keyframes streakAtRiskPulse{0%{opacity:.75;transform:scale(.97)}to{opacity:1;transform:scale(1.03)}}.header-actions{display:flex;align-items:center;gap:8px}.btn-settings{background:#ffffff14;border:1px solid var(--card-border);color:var(--text-main);padding:8px 14px;border-radius:12px;font-size:.88rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s}.btn-settings:hover{background:#ffffff26;border-color:#ffffff40;transform:translateY(-1px)}.btn-header-vocab{display:inline-flex;align-items:center;gap:6px;background:#090d16bf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--card-border);box-sizing:border-box;padding:8px 14px;border-radius:9999px;box-shadow:0 4px 15px #00000040;color:var(--text-main);font-family:inherit;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .18s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;line-height:1.2}.btn-header-vocab:hover{background:#ffffff1f;border-color:#ffffff40;transform:translateY(-1px)}.btn-header-vocab:active{transform:translateY(0)}.btn-header-vocab-icon{font-size:.85rem;line-height:1}.btn-header-vocab-label{white-space:nowrap}@media(max-width:640px){.app-header{display:flex;flex-direction:column;gap:6px;padding:6px 10px;min-height:unset;border-radius:14px;flex-shrink:0}.header-top-row{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:6px 8px;width:100%}.header-nav-row{padding-top:4px}.logo-area{grid-column:1;grid-row:1;gap:8px;min-width:0;width:100%}.logo-badge{width:28px;height:28px;font-size:14px;border-radius:8px;flex-shrink:0}.title-group{min-width:0;flex:1}.title-group h1{font-size:.9rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.active-indicator{font-size:.7rem;gap:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-right{display:contents}.header-actions{grid-column:2;grid-row:1;display:flex;align-items:center;gap:6px;align-self:center}.btn-settings{padding:4px 8px;font-size:.8rem;border-radius:8px;align-self:center;gap:4px}.btn-settings-label{display:none}.btn-settings-icon{font-size:1rem;line-height:1}.stats-pill{grid-column:1 / -1;grid-row:2;width:100%;justify-content:space-around;padding:3px 8px;gap:6px}.stat-item{font-size:.78rem;gap:4px}.header-nav-row{padding-top:4px;gap:6px;min-width:0}.btn-header-vocab{padding:5px 8px;font-size:.72rem;gap:4px;flex-shrink:0}.btn-header-vocab-icon{font-size:.78rem}}@media(max-width:360px){.header-nav-row{gap:4px;align-items:stretch}.btn-header-vocab{padding:4px 6px;font-size:.7rem;gap:2px}.btn-header-vocab-label{display:none}}@media(max-height:720px)and (max-width:640px){.app-header{padding:6px 10px;gap:6px 8px}.logo-badge{width:26px;height:26px;font-size:13px}.title-group h1{font-size:.86rem}.active-indicator{font-size:.68rem}.stats-pill{padding:3px 8px}.stat-item{font-size:.76rem}}.streak-milestone-active{box-shadow:0 0 10px #f59e0b73;border-color:#fde047b3!important}.milestone-tracker-stepper{margin:6px 0;padding:6px 8px;background:#00000040;border-radius:8px;display:flex;flex-direction:column;gap:4px}.milestone-stepper-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#ffffffbf}.milestone-stepper-nodes{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.milestone-node{font-size:.7rem;font-weight:700;padding:2px 6px;border-radius:6px;line-height:1.2}.milestone-node.node-achieved{background:#10b98140;color:#34d399;border:1px solid rgba(52,211,153,.5);box-shadow:0 0 6px #34d3994d}.milestone-node.node-target{background:#f59e0b40;color:#fde047;border:1px solid rgba(253,224,71,.7);animation:targetPulse 1.8s infinite ease-in-out}.milestone-node.node-upcoming{background:#ffffff0f;color:#ffffff73;border:1px solid rgba(255,255,255,.12)}@keyframes targetPulse{0%,to{transform:scale(1);box-shadow:0 0 4px #f59e0b4d}50%{transform:scale(1.05);box-shadow:0 0 10px #fde04799}}.stat-tooltip-trigger{position:relative;cursor:help;outline:none;border-radius:9999px;padding:2px 4px;transition:all .15s ease}.stat-tooltip-trigger:hover,.stat-tooltip-trigger:focus-visible{background:#ffffff14}.stat-tooltip{position:absolute;top:calc(100% + 12px);right:-10px;background:#171f33;border:1px solid rgba(139,92,246,.35);border-radius:14px;padding:12px 16px;width:250px;max-width:calc(100vw - 32px);box-shadow:0 16px 35px -5px #000000b3,0 0 20px #8b5cf626;z-index:1000;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(6px);transition:opacity .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1),visibility .2s;text-align:left}.stat-tooltip:before{content:"";position:absolute;top:-6px;right:22px;width:10px;height:10px;background:#171f33;border-left:1px solid rgba(139,92,246,.35);border-top:1px solid rgba(139,92,246,.35);transform:rotate(45deg)}.stat-tooltip-trigger:hover .stat-tooltip,.stat-tooltip-trigger:focus-visible .stat-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.stat-tooltip-header{font-size:.85rem;font-weight:700;color:#c4b5fd;display:flex;align-items:center;gap:6px;margin-bottom:6px}.stat-tooltip-metric{font-size:1.05rem;font-weight:700;color:#fff;margin-bottom:6px}.stat-highlight{color:#38bdf8}.stat-percentage,.stat-submetric{font-size:.8rem;font-weight:600;color:#a78bfa;margin-left:4px}.stat-tooltip-submetric{font-size:.78rem;color:var(--text-muted);margin-top:4px}.stat-streak-at-risk{color:var(--error-text)}.stat-streak-active{color:var(--success-text)}.stat-tooltip-desc{font-size:.78rem;color:var(--text-muted);line-height:1.4;border-top:1px solid rgba(255,255,255,.08);padding-top:6px;margin-top:6px;font-weight:400}.stat-tooltip-desc-margin{margin-bottom:8px}@media(max-width:640px){.stat-tooltip{right:-20px;width:230px;padding:10px 12px;font-size:.76rem}.stat-tooltip:before{right:28px}.stat-score .stat-tooltip{left:-4px;right:auto}.stat-score .stat-tooltip:before{left:20px;right:auto}.stat-goal .stat-tooltip{right:-4px;left:auto}.stat-goal .stat-tooltip:before{right:20px;left:auto}}.flashcard-card{display:flex;flex-direction:column;gap:16px;min-width:0}.card-top-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;min-height:28px}.meta-left{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.meta-right{display:flex;align-items:center;gap:8px;margin-left:auto}.btn-skip{background:#f59e0b1f;border:1px solid rgba(245,158,11,.35);color:#fbbf24;font-size:.8rem;font-weight:600;padding:5px 12px;border-radius:9999px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;line-height:1.2}.btn-skip:hover:not(:disabled){background:#f59e0b38;border-color:#f59e0b99;color:#fef3c7;transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b33}.btn-skip:focus-visible{outline:2px solid #f59e0b;outline-offset:2px}.btn-skip:disabled{opacity:.45;cursor:not-allowed;border-color:#f59e0b2e;color:#fbbf2480;transform:none;box-shadow:none}.tag-category{font-size:.75rem;font-weight:600;padding:4px 10px;border-radius:9999px;background:#8b5cf633;color:#c4b5fd;border:1px solid rgba(139,92,246,.3);white-space:nowrap}.gender-pill{font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:9999px;background:#f9731633;color:#fb923c;border:1px solid rgba(249,115,22,.4);white-space:nowrap}.formality-pill{font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:9999px;background:#06b6d433;color:#38bdf8;border:1px solid rgba(6,182,212,.4);white-space:nowrap}.tag-source{font-size:.75rem;color:var(--text-subtle);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.prompt-box{text-align:center;padding:24px 18px;background:#090d1680;border-radius:18px;border:1px solid rgba(255,255,255,.05);min-width:0;overflow:hidden}.prompt-sub{font-size:.85rem;color:var(--text-muted);margin-bottom:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.prompt-text{font-size:clamp(1.35rem,5vw,2.25rem);font-weight:700;letter-spacing:-.01em;color:#fff;line-height:1.25;word-break:break-word;overflow-wrap:break-word}.prompt-devanagari-primary{font-family:Outfit,Noto Sans Devanagari,Kohinoor Devanagari,Mukta,sans-serif;font-size:clamp(1.45rem,5.5vw,2.4rem);font-weight:700;color:#f8fafc;line-height:1.35;word-break:break-word;overflow-wrap:break-word}.prompt-devanagari-sub{margin-top:10px;display:flex;justify-content:center;max-width:100%}.devanagari-script-text{font-family:Outfit,Noto Sans Devanagari,Kohinoor Devanagari,Mukta,sans-serif;font-size:clamp(1rem,3.8vw,1.45rem);font-weight:600;color:#c4b5fd;background:#8b5cf626;border:1px solid rgba(139,92,246,.3);padding:4px 14px;border-radius:9999px;letter-spacing:.02em;display:inline-block;max-width:100%;word-break:break-word;overflow-wrap:break-word;text-align:center}.prompt-roman-sub{margin-top:6px;font-size:1.05rem;color:var(--text-muted);font-weight:600;letter-spacing:.03em;word-break:break-word}.prompt-hint{margin-top:10px;font-size:.95rem;color:#fb923c;font-weight:600}.prompt-hint+.prompt-hint{margin-top:4px}.btn-speaker-prompt{position:relative;background:#8b5cf629;border-color:#8b5cf659;color:#ddd6fe;width:32px;height:32px;min-height:32px;min-width:32px}.btn-speaker-prompt:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px}.btn-speaker-prompt:hover{background:#8b5cf64d;border-color:#8b5cf68c;color:#fff;transform:scale(1.08);box-shadow:0 2px 10px #8b5cf64d}.btn-speaker-prompt .speaker-icon{font-size:.95rem;pointer-events:none}@media(max-width:640px){.flashcard-card{gap:8px}.card-top-meta{min-height:32px;gap:4px}.tag-category,.gender-pill,.formality-pill{font-size:.68rem;padding:2px 7px}.tag-source{font-size:.68rem}.btn-skip{font-size:.74rem;padding:3px 8px;gap:4px}.prompt-box{padding:10px;border-radius:12px}.prompt-sub{font-size:.72rem;margin-bottom:4px}.prompt-text{font-size:clamp(1.1rem,4.2vw,1.45rem);line-height:1.2}.prompt-devanagari-primary{font-size:clamp(1.15rem,4.5vw,1.55rem);line-height:1.25}.prompt-devanagari-sub{margin-top:6px}.devanagari-script-text{font-size:clamp(.88rem,3.2vw,1.12rem);padding:2px 10px}.prompt-roman-sub{font-size:.85rem;margin-top:4px}.prompt-hint{font-size:.8rem;margin-top:6px}.btn-speaker-prompt{width:36px;height:36px;min-height:36px;min-width:36px}.btn-speaker-prompt .speaker-icon{font-size:1.12rem}}@media(max-height:720px)and (max-width:640px){.prompt-box{padding:6px 8px}.prompt-text{font-size:clamp(1rem,3.8vw,1.3rem)}.prompt-devanagari-primary{font-size:clamp(1.05rem,4vw,1.35rem)}.devanagari-script-text{font-size:clamp(.82rem,3vw,1rem);padding:1px 8px}}.prompt-audio-only{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:8px 0}.btn-audio-only-replay{display:inline-flex;align-items:center;gap:10px;padding:12px 24px;border-radius:9999px;background:#6366f133;border:1px solid rgba(99,102,241,.4);color:#c7d2fe;font-size:1.05rem;font-weight:600;cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease;-webkit-user-select:none;user-select:none}.btn-audio-only-replay:hover{background:#6366f159;border-color:#6366f199;transform:translateY(-1px)}.btn-audio-only-replay:focus-visible{outline:2px solid #c7d2fe;outline-offset:2px;box-shadow:0 0 0 4px #6366f166}.btn-audio-only-replay:active{transform:translateY(0);background:#6366f173}.btn-audio-only-replay.is-speaking{background:#10b98140;border-color:#10b98180;color:#a7f3d0;animation:audioOnlyPulse 1.2s infinite ease-in-out}@keyframes audioOnlyPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.04);opacity:.9}}.audio-only-speaker-icon{font-size:1.3rem;line-height:1}.audio-only-status-text{font-size:1rem;letter-spacing:.01em}.audio-only-hint{font-size:.85rem;color:var(--text-muted);text-align:center;max-width:320px;line-height:1.4}.prompt-audio-revealed-tag{display:inline-block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 10px;border-radius:9999px;background:#6366f133;border:1px solid rgba(99,102,241,.35);color:#c7d2fe;margin-bottom:8px}.input-section{display:flex;flex-direction:column;gap:12px}.input-wrapper{position:relative;width:100%;display:flex;align-items:center}.answer-input{width:100%;background:#090d16;border:2px solid var(--card-border);border-radius:14px;padding:16px 44px 16px 20px;font-size:1.2rem;font-family:inherit;color:var(--text-main);outline:none;transition:border-color .2s,background-color .2s,box-shadow .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;resize:none;overflow-y:hidden;line-height:1.45;white-space:pre-wrap;word-break:break-word;field-sizing:content;max-height:140px;box-sizing:border-box}.answer-input[readonly]{cursor:default;-webkit-user-select:text;user-select:text}.answer-input::-webkit-search-decoration,.answer-input::-webkit-search-cancel-button,.answer-input::-webkit-search-results-button,.answer-input::-webkit-search-results-decoration{-webkit-appearance:none;display:none}.btn-clear{position:absolute;right:12px;background:transparent;border:none;color:var(--text-muted);font-size:.95rem;font-weight:600;width:28px;height:28px;border-radius:9999px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color .15s ease,background-color .15s ease;padding:0}.btn-clear:hover{background:#ffffff1a;color:var(--text-main)}.btn-clear:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.actions-row{display:flex;gap:12px;align-items:center}.btn-main{flex:1;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;border:none;padding:16px 24px;border-radius:14px;font-size:1.05rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 15px #8b5cf659;display:flex;justify-content:center;align-items:center;gap:8px}.btn-main:hover{background:linear-gradient(135deg,#7c3aed,#4f46e5);transform:translateY(-1px);box-shadow:0 6px 20px #8b5cf673}.btn-main:focus-visible{outline:2px solid #ffffff;outline-offset:2px;box-shadow:0 0 0 4px #8b5cf680}.kbd{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;padding:2px 6px;font-size:.7rem;font-family:JetBrains Mono,monospace;color:var(--text-muted)}@media(max-width:640px){.input-section{gap:8px;margin-top:auto;padding-bottom:2px}.answer-input{padding:10px 38px 10px 14px;font-size:1rem;border-radius:10px;min-height:42px;max-height:110px}.btn-clear{right:8px;width:26px;height:26px;font-size:.88rem}.actions-row{gap:8px}.btn-main{padding:11px 16px;font-size:.95rem;border-radius:10px;min-height:44px}.btn-main .kbd{display:none}}@media(max-height:720px)and (max-width:640px){.answer-input{padding:8px 36px 8px 12px;min-height:38px;font-size:.95rem;max-height:95px}.btn-main{padding:9px 12px;min-height:40px}}.feedback-box{border-radius:14px;padding:12px 16px;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.feedback-box.correct{background:var(--success-bg);border:1px solid var(--success-border)}.feedback-box.incorrect{background:var(--error-bg);border:1px solid var(--error-border)}.feedback-box.revealed{background:var(--warning-bg);border:1px solid var(--warning-border)}.feedback-header{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:700;font-size:1rem;margin-bottom:8px}.feedback-header-title{display:flex;align-items:center;gap:8px}.correct .feedback-header{color:var(--success-text);margin-bottom:0}.incorrect .feedback-header{color:var(--error-text)}.feedback-header .btn-reveal{background:#f59e0b26;border:1px solid rgba(245,158,11,.4);color:#fbbf24;padding:5px 10px;border-radius:8px;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:5px;line-height:1.2;flex-shrink:0;touch-action:manipulation;-webkit-user-select:none;user-select:none}.feedback-header .btn-reveal:hover{background:#f59e0b40;border-color:#f59e0b99;transform:translateY(-1px)}.feedback-header .btn-reveal:focus-visible{outline:2px solid #fbbf24;outline-offset:2px;box-shadow:0 0 0 3px #f59e0b59}.feedback-header .btn-reveal .btn-reveal-icon{font-size:.88rem;line-height:1}.btn-speaker-header{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;width:36px;height:36px;min-height:36px;min-width:36px}.btn-speaker-header:hover{background:#ffffff38;border-color:#fff6;transform:scale(1.08)}.btn-speaker-header .speaker-icon{font-size:1.05rem}.also-accepted-section{margin-top:6px;font-size:.85rem;color:#d1fae5;line-height:1.4;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}.also-accepted-label{font-weight:600;color:#6ee7b7}.also-accepted-words{font-weight:700;color:#fff;letter-spacing:.01em}.word-breakdown-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:8px}.phrase-words-display{font-family:var(--font-family);font-size:clamp(1rem,3.5vw,1.18rem);font-weight:600;line-height:1.35;letter-spacing:.01em;padding:8px 14px;background:#090d1699;border:1px solid rgba(255,255,255,.06);border-radius:10px;margin-bottom:6px;word-break:break-word}.phrase-words-display .word-correct{color:var(--success-text);font-weight:600}.phrase-words-display .word-wrong{color:var(--error-text);font-weight:600}.strict-note{font-size:.75rem;color:var(--text-muted)}.target-reveal-box{margin-top:4px;font-size:.9rem}.target-reveal-val{font-size:1.15rem;font-weight:700;color:#fff;margin-top:0}.target-reveal-devanagari{font-family:Outfit,Noto Sans Devanagari,Kohinoor Devanagari,Mukta,sans-serif;font-size:1.15rem;font-weight:600;color:#c4b5fd;margin-top:2px}@media(max-width:640px){.feedback-box{padding:8px 12px;border-radius:10px}.feedback-header{font-size:.92rem}.feedback-header .btn-reveal{padding:4px 8px;font-size:.78rem;gap:4px}.feedback-header .btn-reveal .btn-reveal-icon{font-size:.82rem}.phrase-words-display{font-size:.95rem;padding:6px 10px}.target-reveal-val,.target-reveal-devanagari{font-size:1rem}.btn-speaker-header{width:34px;height:34px;min-height:34px;min-width:34px}.btn-speaker-header .speaker-icon{font-size:1.05rem}}.in-app-reminder-banner{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:600px;margin:0 auto 12px;padding:10px 14px;background:linear-gradient(135deg,#581c8759,#8b5cf640);border:1px solid rgba(196,181,253,.3);border-radius:12px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#f3e8ff;font-size:.88rem;line-height:1.4;box-shadow:0 4px 16px #0003;animation:bannerFadeSlideIn .25s ease-out;box-sizing:border-box}@keyframes bannerFadeSlideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.in-app-reminder-content{display:flex;align-items:center;gap:10px;flex:1}.in-app-reminder-icon{font-size:1.15rem;flex-shrink:0}.in-app-reminder-text{color:#e9d5ff;font-size:.86rem}.in-app-reminder-text strong{color:#fff;font-weight:600;margin-right:4px}.in-app-reminder-dismiss-btn{background:transparent;border:none;color:#c4b5fd;font-size:1.3rem;line-height:1;padding:4px 6px;margin-left:8px;cursor:pointer;border-radius:6px;transition:all .15s ease;flex-shrink:0}.in-app-reminder-dismiss-btn:hover{color:#fff;background:#ffffff1f}.in-app-reminder-dismiss-btn:focus-visible{outline:2px solid #a855f7;outline-offset:2px}@media(max-width:600px){.in-app-reminder-banner{margin:0 0 10px;padding:8px 12px;font-size:.82rem}.in-app-reminder-text{font-size:.8rem}}.celebration-canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;pointer-events:none;overflow:visible;z-index:450}.milestone-banner-toast{position:fixed;top:max(152px,calc(env(safe-area-inset-top) + 138px));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:10px 22px;border-radius:20px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 14px 40px #000000b3;animation:bannerPop 2s cubic-bezier(.16,1,.3,1) forwards;z-index:500;white-space:normal;word-break:break-word;overflow-wrap:break-word;box-sizing:border-box;max-width:min(calc(100vw - 32px),560px);width:max-content;pointer-events:none}@keyframes bannerPop{0%{opacity:0;transform:translate(-50%,16px) scale(.75)}10%{opacity:1;transform:translate(-50%,-4px) scale(1.06)}18%{opacity:1;transform:translate(-50%) scale(1)}82%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-14px) scale(.9)}}@keyframes bannerPopDayStreak{0%{opacity:0;transform:translate(-50%,16px) scale(.75)}6%{opacity:1;transform:translate(-50%,-3px) scale(1.04)}12%{opacity:1;transform:translate(-50%) scale(1)}88%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-12px) scale(.92)}}.milestone-icon-wrapper{display:flex;align-items:center;justify-content:center;font-size:1.5rem;line-height:1;flex-shrink:0}.milestone-text-group{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;text-align:left}.milestone-title{font-size:.95rem;font-weight:800;color:#fff;letter-spacing:.04em;text-transform:uppercase;line-height:1.25}.milestone-subtitle{font-size:.82rem;font-weight:600;color:#ffffffeb;line-height:1.35;white-space:normal;word-break:break-word;overflow-wrap:break-word}.milestone-tier-1 .milestone-banner-toast{background:linear-gradient(135deg,#ea580cf2,#f59e0bf2);border:1px solid #fde047;box-shadow:0 10px 30px #ea580c80,0 0 25px #f59e0b66}.milestone-tier-2 .milestone-banner-toast{background:linear-gradient(135deg,#7c3aedf2,#38bdf8f2);border:1px solid #c084fc;box-shadow:0 10px 30px #7c3aed80,0 0 25px #38bdf866}.milestone-tier-3 .milestone-banner-toast{background:linear-gradient(135deg,#d946eff2,#f59e0bf2);border:1px solid #ffd700;box-shadow:0 10px 35px #d946ef80,0 0 30px #ffd70080}.milestone-tier-4 .milestone-banner-toast{background:linear-gradient(135deg,#10b981f2,#3b82f6f2);border:1px solid #67e8f9;box-shadow:0 10px 35px #10b98180,0 0 30px #3b82f680}.milestone-tier-5 .milestone-banner-toast{background:linear-gradient(135deg,#f43f5ef2,#f59e0bf2);border:1px solid #fecdd3;box-shadow:0 10px 40px #f43f5e99,0 0 35px #f59e0b80}.milestone-tier-6 .milestone-banner-toast{background:linear-gradient(135deg,#f59e0b,#ec4899,#8b5cf6,#3b82f6);background-size:300% 300%;animation:bannerPop 2.8s cubic-bezier(.16,1,.3,1) forwards,gradientShift 3s ease infinite;border:2px solid #ffffff;box-shadow:0 10px 45px #ffd700b3,0 0 40px #a855f799}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.milestone-goal-daily{background:linear-gradient(135deg,#10b981f2,#f59e0bf2);border:1.5px solid #fde047;box-shadow:0 10px 35px #10b9818c,0 0 30px #f59e0b73}.milestone-goal-weekly{background:linear-gradient(135deg,#7c3aedf2,#f59e0bf2);border:2px solid #ffd700;box-shadow:0 12px 40px #7c3aed99,0 0 35px #ffd7008c}.milestone-day-streak{border-radius:20px;animation:bannerPopDayStreak 4s cubic-bezier(.16,1,.3,1) forwards}.milestone-day-tier-1{background:linear-gradient(135deg,#ea580cf5,#f59e0bf5);border:1.5px solid #fde047;box-shadow:0 10px 35px #ea580c8c,0 0 30px #f59e0b73}.milestone-day-tier-2{background:linear-gradient(135deg,#0ea5e9f5,#f59e0bf5);border:1.5px solid #7dd3fc;box-shadow:0 10px 35px #0ea5e98c,0 0 30px #f59e0b73}.milestone-day-tier-3{background:linear-gradient(135deg,#10b981f5,#f59e0bf5);border:1.5px solid #6ee7b7;box-shadow:0 10px 35px #10b9818c,0 0 30px #f59e0b73}.milestone-day-tier-4{background:linear-gradient(135deg,#7c3aedf5,#f59e0bf5);border:2px solid #ffd700;box-shadow:0 12px 40px #7c3aed99,0 0 35px #ffd7008c}.milestone-day-tier-5{background:linear-gradient(135deg,#d946eff5,#f59e0bf5);border:2px solid #fbcfe8;box-shadow:0 12px 40px #d946ef99,0 0 35px #f59e0b80}.milestone-day-tier-6{background:linear-gradient(135deg,#f43f5ef5,#f59e0bf5);border:2px solid #fecdd3;box-shadow:0 12px 45px #f43f5ea6,0 0 35px #f59e0b80}.milestone-day-tier-7{background:linear-gradient(135deg,#4f46e5f5,#ec4899f5);border:2px solid #c7d2fe;box-shadow:0 12px 45px #4f46e5a6,0 0 40px #ec48998c}.milestone-day-tier-8{background:linear-gradient(135deg,#f59e0b,#ec4899,#8b5cf6,#3b82f6);background-size:300% 300%;animation:bannerPopDayStreak 4s cubic-bezier(.16,1,.3,1) forwards,gradientShift 3s ease infinite;border:2px solid #ffffff;box-shadow:0 14px 45px #ffd700bf,0 0 40px #a855f7a6}.goal-completed-shimmer{position:relative;border:1px solid rgba(245,158,11,.6)!important;box-shadow:0 0 10px #10b98166,inset 0 0 6px #f59e0b33}.milestone-praise-badge{display:inline-flex;align-items:center;gap:6px;background:#fff3;border:1px solid rgba(255,255,255,.4);padding:2px 8px;border-radius:12px;margin-bottom:2px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.milestone-praise-hindi{font-size:.85rem;font-weight:800;color:#fffbdf;letter-spacing:.02em}.milestone-praise-meaning{font-size:.72rem;font-weight:500;color:#ffffffe6}.milestone-theme-festival{box-shadow:0 12px 42px #ec489966,0 0 35px #f59e0b80;border:1.5px solid #fde047}.milestone-theme-arcade{box-shadow:0 12px 42px #00f0ff73,0 0 30px #ff007f66;border:2px solid #00f0ff}.milestone-theme-arcade .milestone-title{text-shadow:0 0 8px rgba(0,240,255,.7)}.milestone-theme-elemental{box-shadow:0 12px 42px #8b5cf680,0 0 35px #f9731673;border:1.5px solid #fde047}@media(prefers-reduced-motion:reduce){.milestone-banner-toast{animation:none!important;opacity:1!important}}@media(max-width:640px){.milestone-banner-toast{top:max(148px,calc(env(safe-area-inset-top) + 138px));padding:9px 16px;gap:10px;max-width:calc(100vw - 32px);width:max-content;border-radius:18px}.milestone-icon-wrapper{font-size:1.3rem}.milestone-title{font-size:.88rem;line-height:1.2}.milestone-subtitle{font-size:.78rem;line-height:1.3}}@media(max-height:720px)and (max-width:640px){.milestone-banner-toast{top:max(144px,calc(env(safe-area-inset-top) + 134px))}}.app-toast{display:flex;justify-content:space-between;align-items:center;gap:12px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:12px;padding:10px 14px;box-shadow:0 8px 32px #00000080;z-index:1000}.toast-pos-top{position:sticky;top:max(10px,env(safe-area-inset-top));animation:slideDownToast .3s cubic-bezier(.16,1,.3,1)}.toast-pos-bottom{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);max-width:calc(100vw - 32px);width:480px;animation:slideUpToast .25s cubic-bezier(.16,1,.3,1)}.toast-info{background:#1e1b4bf2;border:1px solid rgba(139,92,246,.5);color:var(--text-primary)}.toast-warning{background:#1e293bf2;border:1px solid rgba(245,158,11,.45);color:#fef3c7}.toast-error{background:#281414f2;border:1px solid var(--error-border);color:#fee2e2}.toast-success{background:#14281ef2;border:1px solid var(--success-border);color:#d1fae5}.toast-content{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.toast-icon{font-size:1.1rem;flex-shrink:0}.toast-text{font-size:.84rem;line-height:1.35;min-width:0}.toast-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.btn-toast-action{background:#ffffff1f;color:var(--text-primary);border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:5px 10px;font-size:.76rem;font-weight:600;cursor:pointer;white-space:nowrap;touch-action:manipulation;transition:all .15s ease}.btn-toast-action:hover{background:#fff3;transform:translateY(-1px)}.btn-toast-action.btn-toast-primary{background:#8b5cf659;border-color:#a78bfa99;color:#fff}.btn-toast-action.btn-toast-primary:hover{background:#8b5cf68c}.btn-toast-dismiss{background:transparent;border:none;color:var(--text-muted);font-size:1.2rem;line-height:1;padding:0 4px;cursor:pointer;flex-shrink:0;touch-action:manipulation;transition:color .15s ease}.btn-toast-dismiss:hover{color:var(--text-primary)}@keyframes slideDownToast{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUpToast{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}@media(max-width:640px){.toast-pos-bottom{width:calc(100vw - 24px);padding:8px 12px;font-size:.76rem}}.btn-update-reload{background:var(--accent-primary);color:#fff;border:none;border-radius:8px;padding:6px 12px;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s ease,transform .1s ease}.btn-update-reload:hover:not(:disabled){background:var(--accent-primary-hover);transform:translateY(-1px)}.btn-update-reload:disabled{opacity:.6;cursor:not-allowed}.btn-update-dismiss{background:transparent;border:none;color:var(--text-muted);font-size:1.2rem;line-height:1;padding:4px 6px;cursor:pointer;transition:color .15s ease}.btn-update-dismiss:hover{color:var(--text-main)}@media(max-width:640px){.btn-update-reload{padding:5px 10px;font-size:.75rem}}.error-boundary-card{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:20px;padding:32px 24px;max-width:520px;margin:60px auto 20px;text-align:center;box-shadow:0 16px 40px #0006;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);animation:fadeIn .25s ease-out}.error-boundary-icon{font-size:2.8rem;margin-bottom:12px}.error-boundary-title{font-size:1.4rem;font-weight:700;color:var(--text-main);margin-bottom:10px}.error-boundary-description{font-size:.95rem;line-height:1.5;color:var(--text-muted);margin-bottom:20px}.error-boundary-details{background:#0000004d;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:10px 14px;margin-bottom:20px;text-align:left;font-size:.82rem}.error-boundary-details summary{cursor:pointer;color:var(--text-muted);font-weight:600;-webkit-user-select:none;user-select:none}.error-boundary-details pre{margin-top:8px;white-space:pre-wrap;word-break:break-word;color:var(--error-text);font-family:JetBrains Mono,monospace;font-size:.78rem}.error-boundary-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}@media(max-width:640px){.error-boundary-card{padding:24px 16px;margin:30px auto 16px;border-radius:16px}.error-boundary-title{font-size:1.2rem}}:root{color-scheme:dark;--bg-gradient: linear-gradient(135deg, #090d16 0%, #151433 50%, #090d16 100%);--bg-main: #090d16;--bg-card: #171f33;--card-bg: rgba(22, 28, 48, .85);--card-border: rgba(255, 255, 255, .1);--border-glass: rgba(255, 255, 255, .1);--accent-primary: #8b5cf6;--accent-primary-hover: #7c3aed;--success-bg: rgba(16, 185, 129, .15);--success-border: #10b981;--success-text: #34d399;--error-bg: rgba(239, 68, 68, .15);--error-border: #ef4444;--error-text: #f87171;--warning-bg: rgba(245, 158, 11, .15);--warning-border: #f59e0b;--text-main: #f8fafc;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--text-subtle: #64748b;--font-family: "Outfit", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--focus-ring: 0 0 0 4px rgba(139, 92, 246, .2)}*{box-sizing:border-box;margin:0;padding:0;scrollbar-width:thin;scrollbar-color:rgba(139,92,246,.38) rgba(255,255,255,.03)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#ffffff08;border-radius:6px}::-webkit-scrollbar-thumb{background:#8b5cf661;border-radius:6px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#8b5cf6a6;background-clip:padding-box}button,input,textarea,select,label,.segmented-control,.seg-btn,.lesson-item-card,.btn-main-action{touch-action:manipulation;-webkit-tap-highlight-color:transparent}html,body,#root{width:100%;max-width:100vw;overflow-x:hidden;min-height:100%}body{font-family:var(--font-family);background:var(--bg-gradient);color:var(--text-main);min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:max(20px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}#root{display:flex;flex-direction:column;align-items:center;width:100%}.skip-link{position:absolute;top:-100px;left:50%;transform:translate(-50%);background:var(--accent-primary);color:#fff;padding:10px 18px;border-radius:8px;font-weight:700;font-size:.9rem;z-index:1000;text-decoration:none;box-shadow:0 4px 20px #00000080;transition:top .15s ease-out}.skip-link:focus{top:16px;outline:2px solid #ffffff;outline-offset:2px}.answer-input:focus,.validator-input:focus,.wb-text-input:focus,.wb-blank-input:focus{border-color:var(--accent-primary);box-shadow:var(--focus-ring)}.answer-input.input-correct,.wb-text-input.correct,.wb-sort-card-presentation.correct{border-color:var(--success-border);background:var(--success-bg)}.answer-input.input-incorrect,.wb-text-input.incorrect,.wb-sort-card-presentation.incorrect{border-color:var(--error-border);background:var(--error-bg)}.btn-modal-cancel{background:#ffffff14;border:1px solid var(--card-border);color:var(--text-muted);padding:10px 20px;min-height:40px;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .2s}.btn-modal-cancel:hover{background:#ffffff26;color:var(--text-main)}.btn-modal-ok{background:linear-gradient(135deg,#8b5cf6,#6366f1);border:none;color:#fff;padding:10px 24px;min-height:40px;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 3px 12px #8b5cf659;transition:all .2s}.btn-modal-ok:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#4f46e5)}.btn-modal-ok:disabled{background:#ffffff14;color:#ffffff4d;cursor:not-allowed;box-shadow:none}.btn-speaker-prompt,.btn-speaker-header,.btn-speaker-inline,.btn-speaker-vocab{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;transition:all .2s ease;flex-shrink:0;background:#ffffff14;border:1px solid var(--card-border);color:var(--text-main)}.btn-speaker-prompt:hover,.btn-speaker-header:hover,.btn-speaker-inline:hover,.btn-speaker-vocab:hover{background:#ffffff29;border-color:#ffffff47;transform:translateY(-1px)}.btn-speaker-prompt:focus-visible,.btn-speaker-header:focus-visible,.btn-speaker-inline:focus-visible,.btn-speaker-vocab:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.btn-speaker-prompt .speaker-icon,.btn-speaker-header .speaker-icon,.btn-speaker-inline .speaker-icon,.btn-speaker-vocab .speaker-icon{line-height:1;display:inline-flex;align-items:center;justify-content:center}.btn-speaker-inline,.btn-speaker-vocab{width:24px;height:24px;min-width:24px;min-height:24px;border-color:#ffffff26;font-size:.72rem}.btn-speaker-inline.btn-speaker-compact,.btn-speaker-vocab.btn-speaker-compact{width:22px;height:22px;min-width:22px;min-height:22px;font-size:.68rem}.btn-speaker-inline:hover,.btn-speaker-vocab:hover{background:#8b5cf64d;border-color:#8b5cf699;transform:scale(1.08)}.btn-speaker-prompt.is-speaking,.btn-speaker-header.is-speaking,.btn-speaker-inline.is-speaking,.btn-speaker-vocab.is-speaking,.btn-test-speech.is-speaking,.formality-variant-chip.is-speaking,.plural-pill.is-speaking,.verb-form-chip.is-speaking,.inflection-pill.is-speaking{background:#10b98140!important;border-color:#10b981a6!important;color:#a7f3d0!important;box-shadow:0 0 14px #10b98173;animation:speakerPulse 1.2s infinite ease-in-out}@keyframes speakerPulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.btn-open-settings-inline{background:var(--primary, #3b82f6);color:#fff;border:none;padding:10px 20px;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s ease,transform .1s ease}.btn-open-settings-inline:hover{background:var(--primary-hover, #2563eb);transform:translateY(-1px)}.btn-open-settings-inline:active{transform:translateY(0)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease-out;z-index:100}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-card{background:#171f33;border:1px solid var(--card-border);border-radius:16px;width:100%;max-width:900px;max-height:88vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 25px 50px -12px #000000b3;animation:modalFadeIn .15s ease-out}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-header{padding:14px 20px 10px;border-bottom:1px solid var(--card-border);display:flex;justify-content:space-between;align-items:center}.modal-header h2{font-size:1.18rem;margin:0}.modal-sub{color:var(--text-muted);font-size:.78rem;margin-top:1px}.modal-close-btn{background:none;border:none;color:var(--text-muted);font-size:1.4rem;cursor:pointer;padding:0 4px}.modal-close-btn:hover{color:var(--text-main)}.modal-body{padding:16px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:14px;flex:1;min-height:0}.modal-footer{border-top:1px solid var(--card-border);display:flex;align-items:center;background:#090d1666;padding:12px 20px;justify-content:space-between;gap:14px}.modal-version-tag{font-size:.8rem;font-family:JetBrains Mono,monospace;font-weight:500;color:var(--text-muted);opacity:.75;letter-spacing:.04em;-webkit-user-select:none;user-select:none;background:transparent;border:1px solid transparent;border-radius:6px;padding:4px 8px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s ease;text-decoration:none;line-height:1.2}.modal-version-tag:hover{opacity:1;color:var(--text-primary);background:#ffffff0f;border-color:#ffffff26;box-shadow:0 2px 8px #0003}.modal-version-tag:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;opacity:1;color:var(--text-primary)}.modal-version-container{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.modal-footer-actions{display:flex;align-items:center;gap:12px}.app-dropdown-container,.vocab-custom-dropdown-container,.wb-section-dropdown-container{flex:1;min-width:0;position:relative}.app-dropdown-trigger{width:100%;height:38px;min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-family:inherit;background-color:#8b5cf624;border:1px solid rgba(139,92,246,.4);border-radius:10px;color:var(--text-main);font-size:.88rem;font-weight:600;padding:0 14px;cursor:pointer;outline:none;text-align:left;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.app-dropdown-trigger:hover,.app-dropdown-trigger:focus,.app-dropdown-trigger:focus-visible,.app-dropdown-trigger.open{border-color:var(--accent-primary);background-color:#8b5cf638;box-shadow:0 0 0 2px #8b5cf640}.app-dropdown-trigger-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-dropdown-chevron{font-size:.8rem;color:#a78bfa;flex-shrink:0;transition:transform .2s ease;transform-origin:center}.app-dropdown-chevron.open{transform:rotate(180deg)}.app-dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;max-height:280px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#0d111ef5;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(139,92,246,.45);border-radius:12px;box-shadow:0 16px 36px #000000bf,0 0 0 1px #8b5cf640;z-index:1000;padding:6px;margin:0;list-style:none;display:flex;flex-direction:column;gap:2px;box-sizing:border-box}.app-dropdown-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-radius:8px;font-size:.84rem;font-weight:500;color:var(--text-muted);cursor:pointer;transition:background-color .15s ease,color .15s ease;-webkit-user-select:none;user-select:none}.app-dropdown-item:hover,.app-dropdown-item.focused{background:#8b5cf62e;color:var(--text-main)}.app-dropdown-item.selected{background:#8b5cf652;color:#fff;font-weight:600}.app-dropdown-item-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-dropdown-item-check{color:#a78bfa;font-weight:700;font-size:.85rem;flex-shrink:0}.app-container{width:100%;max-width:760px;display:flex;flex-direction:column;gap:16px;min-width:0}.practice-main{width:100%;display:flex;flex-direction:column;gap:16px;min-width:0}.session-info-bar{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;font-size:.8rem;color:var(--text-muted);gap:8px;min-width:0}.session-info-bar>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.practice-card-container{position:relative;background:var(--card-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--card-border);border-radius:24px;padding:30px 24px;display:flex;flex-direction:column;gap:20px;box-shadow:0 20px 40px -15px #0009;transition:border-color .3s ease,box-shadow .3s ease;min-width:0}.practice-card-container.card-correct-glow,.wb-exercise-card.card-correct-glow{border-color:#10b98180;box-shadow:0 20px 40px -15px #0009,0 0 30px #10b98133}.empty-state-box{text-align:center;padding:40px 20px;background:var(--card-bg);border-radius:20px;border:1px solid var(--card-border);color:var(--text-muted);display:flex;flex-direction:column;align-items:center;gap:16px}@media(max-width:640px){body{padding:max(6px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));height:100vh;height:100dvh;overflow:hidden;overscroll-behavior-y:none}#root{height:100%;max-height:100%}.app-container{height:100%;max-height:100%;min-height:100%;flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:6px;overflow:hidden}.practice-main{flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:6px;min-height:0;overflow:hidden}.session-info-bar{padding:0 4px;font-size:.72rem;min-height:18px;flex-shrink:0}.practice-card-container{padding:12px 10px;border-radius:14px;gap:8px;flex:1;min-height:0;display:flex;flex-direction:column;justify-content:space-between;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}}@media(max-width:600px){.modal-overlay,.release-notes-overlay,.vocabulary-modal-overlay{padding:0!important;align-items:stretch!important;justify-content:flex-start!important}.modal-card,.release-notes-modal,.vocabulary-modal-card{width:100%!important;max-width:100%!important;height:100%!important;height:100dvh!important;max-height:100%!important;max-height:100dvh!important;border-radius:0!important;border:none!important;box-shadow:none!important;position:fixed!important;right:0!important;bottom:0!important;top:0!important;left:0!important;margin:0!important;transform:none!important;animation:none!important}.modal-close-btn{display:none!important}}@media(max-height:720px){body{padding-top:max(4px,env(safe-area-inset-top));padding-bottom:max(4px,env(safe-area-inset-bottom))}.app-container,.practice-main{gap:4px}.practice-card-container{padding:8px;gap:6px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.btn-speaker-prompt.is-speaking,.btn-speaker-header.is-speaking,.btn-speaker-inline.is-speaking,.btn-speaker-vocab.is-speaking,.btn-test-speech.is-speaking,.formality-variant-chip.is-speaking,.plural-pill.is-speaking,.verb-form-chip.is-speaking,.inflection-pill.is-speaking{animation:none!important;transform:none!important}}
