:root,[data-theme=light]{--primary:#4f46e5;--primary-accent:#4f46e5;--primary-hover:#4338ca;--primary-light:#eef2ff;--primary-glow:#4f46e540;--secondary:#7c3aed;--secondary-hover:#6d28d9;--secondary-light:#f5f3ff;--accent-cyan:#06b6d4;--accent-cyan-light:#ecfeff;--accent-emerald:#10b981;--accent-emerald-light:#ecfdf5;--accent-amber:#f59e0b;--accent-amber-light:#fffbeb;--accent-rose:#ef4444;--accent-rose-light:#fef2f2;--bg-main:#f8fafc;--bg-card:#fff;--bg-surface:#fff;--card-bg:#fff;--bg-muted:#f1f5f9;--bg-subtle:#f8fafc;--nav-bg:#f8fafcd9;--nav-scrolled-bg:#fffffff2;--hero-gradient:radial-gradient(100% 100% at 50% 0%, #eef2ffb3 0%, #f8fafc 100%);--hero-glow-1:#c7d2fe;--hero-glow-2:#e0e7ff;--illustration-card-bg:linear-gradient(145deg, #fff 0%, #f8fafc 100%);--floating-badge-bg:#fffffff2;--text-primary:#0f172a;--text-main:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--text-inverse:#fff;--border-light:#e2e8f0;--border-color:#e2e8f0;--border-focus:#818cf8;--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display:"Outfit", var(--font-sans);--shadow-sm:0 1px 2px 0 #0f172a0d;--shadow-md:0 4px 6px -1px #0f172a12, 0 2px 4px -2px #0f172a0d;--shadow-lg:0 10px 25px -3px #0f172a14, 0 4px 6px -4px #0f172a08;--shadow-xl:0 20px 30px -5px #0f172a1a, 0 8px 10px -6px #0f172a0d;--shadow-primary:0 12px 24px -6px #4f46e559;--shadow-primary-lg:0 20px 35px -8px #4f46e573;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--radius-full:9999px;--transition-fast:.15s ease;--transition-normal:.25s cubic-bezier(.16, 1, .3, 1);--transition-slow:.4s cubic-bezier(.16, 1, .3, 1);--container-max-width:1200px;--navbar-height:72px}[data-theme=dark]{--primary:#6366f1;--primary-accent:#6366f1;--primary-hover:#4f46e5;--primary-light:#6366f12e;--primary-glow:#6366f159;--secondary:#8b5cf6;--secondary-hover:#7c3aed;--secondary-light:#8b5cf62e;--accent-cyan:#38bdf8;--accent-cyan-light:#38bdf826;--accent-emerald:#34d399;--accent-emerald-light:#34d39926;--accent-amber:#fbbf24;--accent-amber-light:#fbbf2426;--accent-rose:#f87171;--accent-rose-light:#f8717126;--bg-main:#0b0f19;--bg-card:#131b2e;--bg-surface:#131b2e;--card-bg:#131b2e;--bg-muted:#1e293b;--bg-subtle:#0f172a;--nav-bg:#0b0f19d9;--nav-scrolled-bg:#131b2ef2;--hero-gradient:radial-gradient(100% 100% at 50% 0%, #6366f133 0%, #0b0f19 100%);--hero-glow-1:#6366f14d;--hero-glow-2:#8b5cf640;--illustration-card-bg:linear-gradient(145deg, #131b2e 0%, #1a243b 100%);--floating-badge-bg:#131b2eeb;--text-primary:#f8fafc;--text-main:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--text-inverse:#0b0f19;--border-light:#ffffff1a;--border-color:#ffffff1a;--border-focus:#818cf8;--shadow-sm:0 1px 3px 0 #00000080;--shadow-md:0 4px 8px -1px #0009;--shadow-lg:0 12px 28px -4px #000000b3;--shadow-xl:0 20px 35px -5px #000c}[data-theme=sepia]{--primary:#d97706;--primary-accent:#d97706;--primary-hover:#b45309;--primary-light:#d9770633;--primary-glow:#d9770666;--secondary:#b45309;--secondary-hover:#92400e;--secondary-light:#b4530933;--accent-cyan:#0d9488;--accent-cyan-light:#0d94882e;--accent-emerald:#059669;--accent-emerald-light:#0596692e;--accent-amber:#f59e0b;--accent-amber-light:#f59e0b2e;--accent-rose:#e11d48;--accent-rose-light:#e11d482e;--bg-main:#1c1917;--bg-card:#292524;--bg-surface:#292524;--card-bg:#292524;--bg-muted:#44403c;--bg-subtle:#1c1917;--nav-bg:#1c1917d9;--nav-scrolled-bg:#292524f2;--hero-gradient:radial-gradient(100% 100% at 50% 0%, #d9770638 0%, #1c1917 100%);--hero-glow-1:#d977064d;--hero-glow-2:#b4530940;--illustration-card-bg:linear-gradient(145deg, #292524 0%, #35302e 100%);--floating-badge-bg:#292524eb;--text-primary:#fef3c7;--text-main:#fef3c7;--text-secondary:#e7e5e4;--text-muted:#a8a29e;--text-inverse:#1c1917;--border-light:#fef3c724;--border-color:#fef3c724;--border-focus:#f59e0b;--shadow-sm:0 1px 3px 0 #0006;--shadow-md:0 4px 8px -1px #00000080;--shadow-lg:0 12px 25px -4px #0009;--shadow-xl:0 20px 35px -5px #000000b3}[data-theme=ocean]{--primary:#06b6d4;--primary-accent:#06b6d4;--primary-hover:#0891b2;--primary-light:#06b6d433;--primary-glow:#06b6d466;--secondary:#0284c7;--secondary-hover:#0369a1;--secondary-light:#0284c733;--accent-cyan:#22d3ee;--accent-cyan-light:#22d3ee2e;--accent-emerald:#10b981;--accent-emerald-light:#10b9812e;--accent-amber:#fbbf24;--accent-amber-light:#fbbf242e;--accent-rose:#fb7185;--accent-rose-light:#fb71852e;--bg-main:#04131f;--bg-card:#0a2239;--bg-surface:#0a2239;--card-bg:#0a2239;--bg-muted:#123352;--bg-subtle:#06192a;--nav-bg:#04131fd9;--nav-scrolled-bg:#0a2239f2;--hero-gradient:radial-gradient(100% 100% at 50% 0%, #06b6d438 0%, #04131f 100%);--hero-glow-1:#06b6d459;--hero-glow-2:#0284c747;--illustration-card-bg:linear-gradient(145deg, #0a2239 0%, #0e2c4a 100%);--floating-badge-bg:#0a2239eb;--text-primary:#e0f2fe;--text-main:#e0f2fe;--text-secondary:#bae6fd;--text-muted:#7dd3fc;--text-inverse:#04131f;--border-light:#06b6d433;--border-color:#06b6d433;--border-focus:#06b6d4;--shadow-sm:0 1px 3px 0 #00000080;--shadow-md:0 4px 8px -1px #0009;--shadow-lg:0 12px 28px -4px #000000b3;--shadow-xl:0 20px 35px -5px #000c}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto;scroll-padding-top:calc(var(--navbar-height,72px) + 16px);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}section[id],main>section,[id=home],[id=dashboard],[id=practice],[id=practice-studio],[id=ai-coach],[id=ai-interview],[id=roleplay],[id=vocabulary],[id=challenges],[id=learning-plan],[id=progress]{scroll-margin-top:calc(var(--navbar-height,72px) + 14px)}#practice,#practice-studio,#ai-coach,#ai-interview,#roleplay,#vocabulary,#challenges,#learning-plan,#progress{padding-top:56px!important}@media (width<=768px){section[id],main>section,[id=home],[id=dashboard],[id=practice],[id=practice-studio],[id=ai-coach],[id=ai-interview],[id=roleplay],[id=vocabulary],[id=challenges],[id=learning-plan],[id=progress]{scroll-margin-top:calc(var(--navbar-height,64px) + 8px)}#practice,#practice-studio,#ai-coach,#ai-interview,#roleplay,#vocabulary,#challenges,#learning-plan,#progress{padding-top:36px!important}}body{font-family:var(--font-sans);color:var(--text-primary);background-color:var(--bg-main);min-height:100vh;line-height:1.6;overflow-x:hidden}body,.app-container,.navbar-header,.hero-section,.dashboard-card,.practice-card,.ai-coach-card,.wotd-banner-card,.challenge-card,.overall-score-card,.skills-breakdown-card,.stat-summary-card,.badges-section-container,.vocab-card-item,.feedback-card-container,.menu-drawer-panel{transition:background-color .25s cubic-bezier(.16,1,.3,1),border-color .25s cubic-bezier(.16,1,.3,1),color .25s cubic-bezier(.16,1,.3,1),box-shadow .25s cubic-bezier(.16,1,.3,1)}a{color:inherit;text-decoration:none}button,input,textarea{font-family:inherit}.app-container{flex-direction:column;min-height:100vh;display:flex}.main-content{flex:1}.section-container{max-width:var(--container-max-width);margin:0 auto;padding:80px 24px}@media (width<=768px){.section-container{padding:56px 20px}}.section-header{text-align:center;max-width:680px;margin:0 auto 48px}.section-badge{border-radius:var(--radius-full);background:var(--primary-light);color:var(--primary);letter-spacing:.02em;border:1px solid #4f46e526;align-items:center;gap:8px;margin-bottom:16px;padding:6px 14px;font-size:.85rem;font-weight:600;display:inline-flex}.section-badge-amber{background:var(--accent-amber-light);color:#d97706;border-color:#f59e0b40}.section-badge-emerald{background:var(--accent-emerald-light);color:#059669;border-color:#10b98140}.section-title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.02em;margin-bottom:14px;font-size:clamp(2rem,3.5vw,2.75rem);font-weight:700;line-height:1.2}.section-subtitle{color:var(--text-secondary);font-size:clamp(1rem,1.2vw,1.15rem);line-height:1.6}.btn{border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-normal);text-align:center;-webkit-user-select:none;user-select:none;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:10px;padding:12px 24px;font-size:.95rem;font-weight:600;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);color:var(--text-inverse);box-shadow:var(--shadow-primary)}.btn-primary:hover{box-shadow:var(--shadow-primary-lg);filter:brightness(1.05);transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1.5px solid var(--border-light);box-shadow:var(--shadow-sm)}.btn-secondary:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light);transform:translateY(-2px)}.btn-secondary:active{transform:translateY(0)}.btn-danger{color:#fff;background:#ef4444;box-shadow:0 8px 16px -4px #ef444459}.btn-danger:hover{background:#dc2626;transform:translateY(-2px)}.btn-sm{border-radius:var(--radius-sm);padding:8px 16px;font-size:.875rem}.btn-lg{border-radius:var(--radius-lg);padding:16px 32px;font-size:1.05rem}.card{background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-light);box-shadow:var(--shadow-md);transition:var(--transition-normal)}.card:hover{box-shadow:var(--shadow-xl);border-color:#4f46e533;transform:translateY(-4px)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pulseRing{0%{transform:scale(.95);box-shadow:0 0 #4f46e599}70%{transform:scale(1.03);box-shadow:0 0 0 24px #4f46e500}to{transform:scale(.95);box-shadow:0 0 #4f46e500}}@keyframes soundWave{0%,to{height:8px}50%{height:38px}}@keyframes liveDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.animate-float{animation:5s ease-in-out infinite float}@keyframes sectionNavReveal{0%{opacity:.65;filter:blur(10px);transform:scale(.992)}50%{opacity:.9;filter:blur(3px)}to{opacity:1;filter:blur();transform:scale(1)}}.section-nav-reveal{will-change:filter, opacity, transform;animation:.38s cubic-bezier(.16,1,.3,1) forwards sectionNavReveal!important}@media (width<=768px){@keyframes sectionNavReveal{0%{opacity:.7;filter:blur(6px);transform:scale(.995)}50%{opacity:.92;filter:blur(2px)}to{opacity:1;filter:blur();transform:scale(1)}}.section-nav-reveal{animation:.32s cubic-bezier(.16,1,.3,1) forwards sectionNavReveal!important}}@media (prefers-reduced-motion:reduce){.section-nav-reveal{filter:none!important;animation:none!important}}.navbar-header{z-index:1000;height:var(--navbar-height,72px);background:var(--nav-bg,#0f172ad1);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--border-light,#ffffff14);transition:background-color .25s,border-color .25s,box-shadow .25s;position:sticky;top:0;left:0;right:0}.navbar-scrolled{background:var(--nav-scrolled-bg,#0f172af0);border-bottom-color:var(--border-color,#ffffff24);box-shadow:0 4px 24px -2px #00000059}.navbar-container{grid-template-columns:minmax(200px,1fr) auto minmax(200px,1fr);align-items:center;gap:16px;width:100%;max-width:1600px;height:100%;margin:0 auto;padding:0 24px;display:grid;position:relative}.navbar-brand-block{z-index:2;justify-self:start;align-items:center;min-width:0;display:flex;white-space:nowrap!important}.brand-link{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;text-decoration:none;display:flex}.brand-logo-mark{background:linear-gradient(135deg, var(--primary,#6366f1) 0%, var(--secondary,#8b5cf6) 100%);color:#fff;width:38px;height:38px;box-shadow:0 4px 14px var(--primary-glow,#6366f159);border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;transition:transform .2s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.brand-link:hover .brand-logo-mark{transform:scale(1.06)}.brand-logo-icon{z-index:2;position:relative}.brand-logo-glow{border:1.5px solid var(--primary,#6366f1);opacity:.3;border-radius:14px;animation:3s ease-in-out infinite logoPulseGlow;position:absolute;inset:-3px}@keyframes logoPulseGlow{0%,to{opacity:.2;transform:scale(1)}50%{opacity:.5;transform:scale(1.08)}}.brand-info-col{flex-direction:column;justify-content:center;line-height:1;display:flex}.brand-title-text{font-family:var(--font-display,"Outfit", sans-serif);color:var(--text-primary,#fff);letter-spacing:-.02em;margin-bottom:3px;font-size:1.35rem;font-weight:800}.brand-title-text span{color:var(--primary,#6366f1)}.brand-subtitle-badge{letter-spacing:.1em;color:var(--text-muted,#94a3b8);align-items:center;gap:5px;font-size:.65rem;font-weight:700;display:inline-flex}.brand-live-dot{background:var(--accent-emerald,#10b981);width:6px;height:6px;box-shadow:0 0 6px var(--accent-emerald,#10b981);border-radius:50%;flex-shrink:0;display:inline-block}.navbar-deck-nav{z-index:1;justify-content:center;justify-self:center;align-items:center;display:flex}.navbar-deck-track{background:var(--bg-card,#0f172ac2);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-light,#ffffff1f);border-radius:var(--radius-full,9999px);box-sizing:border-box;justify-content:center;align-items:center;gap:3px;max-width:100%;height:44px;padding:0 6px;display:inline-flex;box-shadow:0 4px 20px -2px #0000004d,inset 0 1px 1px #ffffff14}.deck-track-divider{background:var(--border-light,#ffffff1f);border-radius:1px;flex-shrink:0;width:1px;height:16px;margin:0 4px}.deck-nav-btn{height:32px;color:var(--text-secondary,#94a3b8);border-radius:var(--radius-full,9999px);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;box-sizing:border-box;background:0 0;border:1px solid #0000;outline:none;justify-content:center;align-items:center;gap:5px;padding:0 9px;font-size:.8rem;font-weight:600;line-height:1;transition:all .18s cubic-bezier(.16,1,.3,1);display:inline-flex;position:relative}.deck-btn-icon{color:currentColor;flex-shrink:0;transition:transform .18s}.deck-nav-btn:hover{color:var(--text-primary,#fff);background:#ffffff12}.deck-nav-btn:hover .deck-btn-icon{transform:translateY(-1.5px)}.deck-nav-btn.is-active{color:#fff;background:#6366f138;border-color:#6366f166;font-weight:700;box-shadow:0 2px 14px #6366f152}[data-theme=light] .deck-nav-btn.is-active{background:var(--primary-light,#eef2ff);color:var(--primary,#4f46e5);border-color:#4f46e54d;box-shadow:0 2px 10px #4f46e52e}.deck-ai-chip{background:var(--primary-light,#6366f140);color:var(--primary,#818cf8);border-radius:4px;padding:1px 5px;font-size:.58rem;font-weight:800;line-height:1.2}.deck-more-container{display:none;position:relative}.deck-more-trigger{gap:4px}.more-arrow{transition:transform .2s}.more-arrow.open{transform:rotate(180deg)}.deck-more-dropdown-popover{background:var(--bg-card,#0f172a);border:1px solid var(--border-color,#ffffff26);z-index:1050;border-radius:14px;flex-direction:column;gap:4px;min-width:170px;padding:6px;animation:.18s dropdownFadeIn;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 28px #00000073}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.more-dropdown-header{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted,#94a3b8);border-bottom:1px solid var(--border-light,#ffffff14);margin-bottom:4px;padding:6px 12px 4px;font-size:.65rem;font-weight:800}.more-dropdown-item{color:var(--text-secondary,#94a3b8);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;padding:9px 14px;font-size:.88rem;font-weight:600;transition:all .15s;display:flex}.more-dropdown-item:hover{color:var(--text-primary,#fff);background:#ffffff14}.more-dropdown-item.is-active{color:var(--primary,#818cf8);background:#6366f12e;font-weight:700}.dropdown-active-dot{background:var(--primary,#818cf8);border-radius:50%;width:6px;height:6px;margin-left:auto}.navbar-utilities-cluster{z-index:2;white-space:nowrap;justify-content:flex-end;justify-self:end;align-items:center;gap:10px;min-width:0;display:flex}.nav-util-icon-btn{border-radius:var(--radius-full,9999px);background:var(--bg-surface,#ffffff0d);border:1px solid var(--border-light,#ffffff1f);width:36px;height:36px;color:var(--text-secondary,#94a3b8);cursor:pointer;outline:none;justify-content:center;align-items:center;transition:all .18s;display:inline-flex}.nav-util-icon-btn:hover{color:var(--text-primary,#fff);border-color:var(--primary,#6366f1);background:#ffffff1a;transform:translateY(-1px)}.theme-toggle-icon{transition:transform .25s cubic-bezier(.16,1,.3,1)}.nav-theme-toggle:hover .theme-toggle-icon{color:var(--accent-amber,#f59e0b);transform:rotate(18deg)scale(1.1)}.nav-mobile-toggle-btn{border-radius:var(--radius-full,9999px);background:var(--bg-surface,#ffffff0f);border:1px solid var(--border-light,#ffffff1f);width:36px;height:36px;color:var(--text-primary,#fff);cursor:pointer;box-sizing:border-box;justify-content:center;align-items:center;transition:all .18s;display:none}.nav-mobile-toggle-btn:hover{border-color:var(--primary,#6366f1);color:#fff;background:#6366f129;transform:translateY(-1px)}@media (width<=1360px) and (width>=940px){.deck-item-secondary{display:none!important}.deck-more-container{align-items:center;display:inline-flex!important}.deck-nav-btn{height:32px;padding:0 8px;font-size:.78rem}}@media (width<=1180px) and (width>=940px){.teacher-btn-label{display:none}.nav-teacher-portal-btn{padding:0 10px}}@media (width<=940px){.navbar-container{justify-content:space-between;align-items:center;padding:0 16px;display:flex!important}.navbar-deck-nav{display:none!important}.navbar-brand-block{flex:none!important}.nav-mobile-toggle-btn{display:inline-flex!important}.navbar-utilities-cluster{margin-left:auto;flex:none!important}.nav-vertical-divider{display:none}}@media (width<=480px){.badge-streak-val,.badge-separator-dot{display:none}.nav-xp-badge{padding:5px 10px;font-size:.78rem}}.mobile-drawer-overlay{-webkit-backdrop-filter:blur(10px);z-index:1100;background:#0f172aa6;animation:.2s ease-out drawerFadeIn;position:fixed;inset:0}@keyframes drawerFadeIn{0%{opacity:0}to{opacity:1}}.mobile-drawer-sheet{background:var(--bg-card,#0f172a);border-left:1px solid var(--border-color,#ffffff1f);z-index:1101;flex-direction:column;gap:18px;width:320px;max-width:85vw;padding:24px 20px;animation:.26s cubic-bezier(.16,1,.3,1) drawerSlideIn;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-10px 0 32px #00000080}@keyframes drawerSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.mobile-drawer-top{border-bottom:1px solid var(--border-light,#ffffff14);justify-content:space-between;align-items:center;padding-bottom:14px;display:flex}.drawer-close-btn{background:var(--bg-surface,#ffffff0f);border:1px solid var(--border-light,#ffffff1a);width:34px;height:34px;color:var(--text-secondary,#94a3b8);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .18s;display:flex}.drawer-close-btn:hover{background:var(--accent-rose,#ef4444);color:#fff}.drawer-gamification-row{align-items:center;gap:10px;display:flex}.mobile-nav-stack{flex-direction:column;gap:6px;margin:6px 0;display:flex}.mobile-nav-row{min-height:46px;color:var(--text-secondary,#94a3b8);cursor:pointer;box-sizing:border-box;background:0 0;border:1px solid #0000;border-radius:12px;justify-content:space-between;align-items:center;width:100%;padding:0 14px;font-size:.95rem;font-weight:600;transition:all .18s;display:flex}.mobile-row-content{align-items:center;gap:12px;display:flex}.mobile-row-icon{color:currentColor}.mobile-nav-row:hover{color:var(--text-primary,#fff);background:#ffffff0f}.mobile-nav-row.is-active{color:#fff;background:#6366f12e;border-color:#6366f159;font-weight:700}.mobile-active-pip{background:var(--primary,#6366f1);width:8px;height:8px;box-shadow:0 0 10px var(--primary,#6366f1);border-radius:50%}.drawer-footer-actions{border-top:1px solid var(--border-light,#ffffff14);margin-top:auto;padding-top:14px}.drawer-tools-hub-btn{background:var(--bg-surface,#ffffff0f);border:1px solid var(--border-color,#ffffff26);width:100%;color:var(--text-primary,#fff);cursor:pointer;border-radius:12px;padding:12px 16px;font-size:.92rem;font-weight:700;transition:all .2s}.drawer-tools-hub-btn:hover{border-color:var(--primary,#6366f1);background:#6366f126}.nav-signin-trigger-btn{color:#fff;cursor:pointer;box-sizing:border-box;white-space:nowrap;background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);border:none;border-radius:9999px;justify-content:center;align-items:center;gap:6px;height:36px;padding:0 16px;font-size:.84rem;font-weight:600;line-height:1;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 4px 14px #6366f14d}.nav-signin-trigger-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px #6366f16b}.nav-teacher-portal-btn{color:#c084fc;cursor:pointer;box-sizing:border-box;white-space:nowrap;background:#a855f724;border:1px solid #a855f74d;border-radius:9999px;justify-content:center;align-items:center;gap:6px;height:36px;padding:0 13px;font-size:.82rem;font-weight:600;line-height:1;transition:all .18s;display:inline-flex}.nav-teacher-portal-btn:hover,.nav-teacher-portal-btn.active{color:#fff;background:#a855f740;border-color:#a855f780}.nav-user-menu-container{position:relative}.nav-user-chip-btn{color:#f1f5f9;cursor:pointer;box-sizing:border-box;white-space:nowrap;background:#1e293b99;border:1px solid #ffffff1a;border-radius:9999px;justify-content:center;align-items:center;gap:8px;height:36px;padding:0 12px 0 4px;font-size:.84rem;font-weight:600;line-height:1;transition:all .2s;display:inline-flex}.nav-user-chip-btn:hover,.nav-user-chip-btn.active{background:#1e293be6;border-color:#6366f166}.nav-user-avatar{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#a855f7 100%);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.78rem;font-weight:700;display:flex}.nav-user-avatar.large{width:38px;height:38px;font-size:1.05rem}.user-arrow{color:#94a3b8;transition:transform .2s}.user-arrow.open{transform:rotate(180deg)}.nav-user-dropdown-popover{-webkit-backdrop-filter:blur(16px);z-index:1050;background:#0f172af5;border:1px solid #ffffff1a;border-radius:1rem;width:240px;animation:.18s cubic-bezier(.16,1,.3,1) dropdownFade;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden;box-shadow:0 16px 40px -8px #0009,0 0 0 1px #6366f126}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.user-dropdown-header{background:#1e293b66;border-bottom:1px solid #ffffff0f;align-items:center;gap:.75rem;padding:1rem 1.1rem;display:flex}.dropdown-avatar-circle{color:#fff;background:linear-gradient(135deg,#6366f1,#a855f7);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.95rem;font-weight:700;display:flex}.dropdown-user-details{flex-direction:column;display:flex;overflow:hidden}.dropdown-user-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.88rem;font-weight:600;overflow:hidden}.dropdown-user-email{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.74rem;overflow:hidden}.dropdown-role-tag{color:#a5b4fc;margin-top:.2rem;font-size:.68rem;font-weight:600;display:inline-block}.dropdown-menu-actions{flex-direction:column;gap:.25rem;padding:.5rem;display:flex}.dropdown-menu-item{color:#cbd5e1;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:.55rem;align-items:center;gap:.65rem;width:100%;padding:.6rem .85rem;font-size:.84rem;font-weight:500;transition:all .15s;display:flex}.dropdown-menu-item:hover{color:#fff;background:#ffffff0f}.dropdown-menu-item.highlight{color:#c084fc;background:#a855f71a}.dropdown-menu-item.highlight:hover{color:#e9d5ff;background:#a855f733}.dropdown-menu-item.logout{color:#f87171}.dropdown-menu-item.logout:hover{color:#ef4444;background:#ef44441f}.dropdown-divider{background:#ffffff0f;height:1px;margin:.25rem 0}.mobile-user-status-card{background:#1e293b73;border:1px solid #ffffff14;border-radius:1rem;margin:.75rem 0;padding:.85rem}.mobile-signin-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);border:none;border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem;font-size:.9rem;font-weight:600;display:flex}.mobile-user-logged-in{flex-direction:column;gap:.75rem;display:flex}.mobile-user-info-row{align-items:center;gap:.75rem;display:flex}.mobile-user-name{color:#fff;font-size:.95rem;font-weight:600}.mobile-user-role-badge{color:#a5b4fc;font-size:.74rem}.mobile-user-actions-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.mobile-btn-profile,.mobile-btn-logout{cursor:pointer;border:none;border-radius:.5rem;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.78rem;font-weight:500;display:inline-flex}.mobile-btn-profile{color:#e2e8f0;background:#ffffff14}.mobile-btn-profile.highlight{color:#d8b4fe;background:#a855f733}.mobile-btn-logout{color:#f87171;background:#ef44441f}.hero-section{background:var(--hero-gradient,radial-gradient(100% 100% at 50% 0%, #eef2ff99 0%, #f8fafc 100%));padding:60px 0 80px;position:relative;overflow:hidden}.hero-corner-menu{z-index:25;-webkit-user-select:none;user-select:none;position:absolute;top:24px;left:32px}.corner-menu-btn{background:var(--bg-card,#0f172ac7);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-light,#ffffff24);border-radius:var(--radius-full,9999px);color:var(--text-primary,#fff);cursor:pointer;align-items:center;gap:8px;padding:5px 14px 5px 8px;transition:all .22s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 6px 20px -2px #00000059}.corner-menu-btn:hover,.corner-menu-btn.active{background:#6366f129;border-color:#6366f180;transform:translateY(-1px);box-shadow:0 8px 24px -2px #6366f14d}.corner-menu-icon-box{width:26px;height:26px;color:var(--primary,#818cf8);background:linear-gradient(135deg,#6366f140 0%,#8b5cf640 100%);border-radius:50%;justify-content:center;align-items:center;transition:transform .2s,background .2s,color .2s;display:flex}.corner-menu-btn:hover .corner-menu-icon-box,.corner-menu-btn.active .corner-menu-icon-box{background:var(--primary,#6366f1);color:#fff;transform:rotate(90deg)}.corner-menu-text{font-family:var(--font-display,"Outfit", sans-serif);letter-spacing:.02em;color:var(--text-primary,#fff);font-size:.84rem;font-weight:700}.corner-menu-chevron{color:var(--text-muted,#94a3b8);transition:transform .2s}.corner-menu-chevron.open{color:var(--primary,#818cf8);transform:rotate(180deg)}.hero-corner-menu-dropdown{background:var(--bg-card,#0f172af0);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border-light,#ffffff24);z-index:100;border-radius:16px;width:320px;padding:14px;animation:.22s cubic-bezier(.16,1,.3,1) menuDropIn;position:absolute;top:calc(100% + 10px);left:0;box-shadow:0 16px 40px -4px #0000008c,0 0 24px -2px #6366f12e}@keyframes menuDropIn{0%{opacity:0;transform:translateY(-8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.corner-menu-header{border-bottom:1px solid var(--border-light,#ffffff14);justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;display:flex}.corner-menu-header-badge{color:var(--primary,#818cf8);align-items:center;gap:5px;font-size:.75rem;font-weight:700;display:inline-flex}.corner-menu-hint{color:var(--text-muted,#94a3b8);font-size:.7rem}.corner-menu-section-title{letter-spacing:.08em;color:var(--text-muted,#94a3b8);text-transform:uppercase;margin:10px 0 6px 4px;font-size:.64rem;font-weight:800}.corner-menu-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.corner-menu-item{background:var(--bg-surface,#ffffff0a);border:1px solid var(--border-light,#ffffff0f);color:var(--text-primary,#fff);cursor:pointer;text-align:left;border-radius:10px;align-items:center;gap:8px;width:100%;padding:8px 10px;transition:all .18s;display:flex}.corner-menu-item:hover{background:#6366f11f;border-color:#6366f14d;transform:translateY(-1px)}.c-item-icon{flex-shrink:0}.c-item-icon.primary{color:var(--primary,#818cf8)}.c-item-icon.indigo{color:#818cf8}.c-item-icon.emerald{color:#10b981}.c-item-icon.purple{color:#a855f7}.c-item-icon.amber{color:#f59e0b}.c-item-icon.blue{color:#38bdf8}.c-item-icon.green{color:#22c55e}.c-item-text{flex-direction:column;min-width:0;display:flex}.c-item-title{color:var(--text-primary,#fff);white-space:nowrap;text-overflow:ellipsis;font-size:.76rem;font-weight:700;line-height:1.2;overflow:hidden}.c-item-desc{color:var(--text-muted,#94a3b8);white-space:nowrap;text-overflow:ellipsis;font-size:.65rem;line-height:1.2;overflow:hidden}.corner-menu-divider{background:var(--border-light,#ffffff14);height:1px;margin:12px 0 8px}.corner-menu-tools-row{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.c-tool-btn{background:var(--bg-surface,#ffffff0a);border:1px solid var(--border-light,#ffffff14);color:var(--text-secondary,#cbd5e1);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:6px 8px;font-size:.72rem;font-weight:600;transition:all .16s;display:inline-flex}.c-tool-btn:hover{color:#fff;background:#6366f126;border-color:#6366f159}.corner-menu-footer{border-top:1px solid var(--border-light,#ffffff14);margin-top:10px;padding-top:8px}.corner-menu-full-drawer-btn{width:100%;color:var(--primary,#818cf8);cursor:pointer;background:linear-gradient(135deg,#6366f12e 0%,#8b5cf62e 100%);border:1px solid #6366f14d;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:.76rem;font-weight:700;transition:all .2s;display:flex}.corner-menu-full-drawer-btn:hover{background:linear-gradient(135deg, var(--primary,#6366f1) 0%, var(--secondary,#8b5cf6) 100%);color:#fff;border-color:#0000;transform:translateY(-1px);box-shadow:0 4px 14px #6366f166}.hero-corner-gamification{z-index:10;background:var(--bg-card,#0f172ac7);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-light,#ffffff1f);border-radius:var(--radius-full,9999px);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:4px 6px 4px 10px;transition:transform .2s,box-shadow .2s,border-color .2s;display:inline-flex;position:absolute;top:24px;right:32px;box-shadow:0 6px 20px -2px #00000059}.hero-corner-gamification:hover{border-color:#6366f173;box-shadow:0 8px 24px -2px #6366f147}.corner-stat-chip{border-radius:var(--radius-full,9999px);align-items:center;gap:6px;padding:3px 8px;display:flex}.streak-chip{background:#f59e0b1f}.xp-chip{background:#6366f124}.corner-flame,.corner-bolt{color:var(--accent-amber,#f59e0b)}.stat-text-group{align-items:baseline;gap:3px;display:flex}.streak-chip .stat-number{color:var(--accent-amber,#f59e0b)}.xp-chip .stat-number{color:var(--primary,#818cf8)}.stat-title{color:var(--text-muted,#94a3b8);text-transform:uppercase;letter-spacing:.04em;font-size:.65rem;font-weight:700}.corner-reset-btn{background:var(--bg-surface,#ffffff0f);border:1px solid var(--border-light,#ffffff24);border-radius:var(--radius-full,9999px);color:var(--text-secondary,#94a3b8);cursor:pointer;align-items:center;gap:4px;padding:4px 9px;font-size:.72rem;font-weight:700;transition:all .18s;display:inline-flex}.corner-reset-btn:hover{border-color:var(--accent-rose,#ef4444);color:var(--accent-rose,#ef4444);background:#ef444426;transform:scale(1.03)}@media (width<=768px){.hero-corner-menu{align-self:flex-start;margin-bottom:12px;position:relative;top:auto;left:auto}.hero-corner-menu-dropdown{width:min(320px,100vw - 32px);left:0}.hero-corner-gamification{align-self:flex-start;margin-bottom:20px;position:relative;top:auto;right:auto}}.hero-background-effects{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.hero-glow{filter:blur(100px);opacity:.45;border-radius:50%;position:absolute}.hero-glow-1{background:var(--hero-glow-1,#c7d2fe);width:500px;height:500px;top:-150px;left:10%}.hero-glow-2{background:var(--hero-glow-2,#e0e7ff);width:450px;height:450px;top:100px;right:5%}.hero-container{z-index:1;grid-template-columns:1.15fr .85fr;align-items:center;gap:48px;padding-top:20px;padding-bottom:20px;display:grid;position:relative}.hero-content{flex-direction:column;align-items:flex-start;display:flex}.hero-badge{margin-bottom:24px}.badge-icon-sparkle{color:var(--primary)}.hero-heading{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text-primary);margin-bottom:20px;font-size:clamp(2.5rem,4.5vw,3.8rem);font-weight:800;line-height:1.12}.hero-heading span{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;display:inline-block}.hero-subheading{color:var(--text-secondary);max-width:540px;margin-bottom:36px;font-size:clamp(1.05rem,1.3vw,1.25rem);line-height:1.6}.hero-actions{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:40px;display:flex}.play-icon{fill:currentColor}.hero-trust-metrics{border-top:1px solid var(--border-light);align-items:center;gap:16px;width:100%;padding-top:20px;display:flex}.trust-avatars{align-items:center;display:flex}.avatar-chip{border:3px solid var(--bg-card,#fff);background:var(--bg-muted,#f1f5f9);width:38px;height:38px;box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;margin-left:-10px;font-size:1.1rem;display:flex}.avatar-chip:first-child{margin-left:0}.trust-text{color:var(--text-secondary);flex-direction:column;font-size:.88rem;line-height:1.3;display:flex}.trust-text strong{color:var(--text-primary)}.hero-visual{justify-content:center;display:flex;position:relative}.illustration-wrapper{width:100%;max-width:480px;position:relative}.illustration-art-card{background:var(--illustration-card-bg,linear-gradient(145deg, #fff 0%, #f8fafc 100%));border:1px solid var(--border-light,#e2e8f0e6);box-shadow:var(--shadow-xl);border-radius:32px;padding:24px;position:relative}.illustration-svg{width:100%;height:auto;display:block}.speech-wave-bars .wave-bar{transform-origin:bottom;animation:1.4s ease-in-out infinite alternate soundWave}.speech-wave-bars .bar-1{animation-delay:.1s}.speech-wave-bars .bar-2{animation-delay:.3s}.speech-wave-bars .bar-3{animation-delay:.2s}.speech-wave-bars .bar-4{animation-delay:.4s}.floating-badge{background:var(--floating-badge-bg,#fffffff2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border-light,#e2e8f0cc);z-index:10;align-items:center;gap:12px;padding:10px 16px;display:flex;position:absolute}.badge-icon-wrap{border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.badge-icon-wrap.emerald{background:var(--accent-emerald-light);color:var(--accent-emerald)}.badge-icon-wrap.indigo{background:var(--primary-light);color:var(--primary)}.badge-icon-wrap.amber{background:var(--accent-amber-light);color:var(--accent-amber)}.badge-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.72rem;font-weight:700}.badge-value{color:var(--text-primary);font-size:.92rem;font-weight:700}.badge-confidence{top:-12px;right:-12px}.badge-fluency{animation:4.5s ease-in-out .5s infinite float;bottom:24px;left:-20px}.badge-streak{animation:4.8s ease-in-out 1s infinite float;bottom:-15px;right:15px}@media (width<=960px){.hero-container{text-align:center;grid-template-columns:1fr;gap:40px}.hero-content{align-items:center}.hero-subheading{margin-left:auto;margin-right:auto}.hero-actions,.hero-trust-metrics{justify-content:center}.illustration-wrapper{max-width:420px}.badge-fluency{left:0}.badge-confidence{right:0}}@media (width<=480px){.hero-actions{flex-direction:column;width:100%}.hero-actions .btn{width:100%}.floating-badge{padding:8px 12px}.badge-confidence{top:5px}}.streak-card-component{border-radius:var(--radius-xl,18px);transition:transform var(--transition-normal,.25s), box-shadow var(--transition-normal,.25s);background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 50%,#fff7ed 100%);border:1.5px solid #f59e0b59;flex-direction:column;gap:16px;padding:22px 24px;display:flex;position:relative;box-shadow:0 8px 24px -4px #f59e0b26,0 2px 6px -1px #0000000a}.streak-card-component:hover{box-shadow:0 12px 28px -4px #f59e0b38,0 4px 10px -2px #0000000f}.streak-toast-banner{border-radius:var(--radius-md,10px);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:.85rem;font-weight:600;animation:.3s ease-out slideDown;display:flex}.streak-toast-banner.success{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.streak-toast-banner.info{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.toast-content-inner{align-items:center;gap:8px;display:flex}.toast-icon{color:#10b981;flex-shrink:0}.toast-dismiss-btn{color:currentColor;cursor:pointer;opacity:.7;background:0 0;border:none;align-items:center;padding:2px;transition:opacity .2s;display:flex}.toast-dismiss-btn:hover{opacity:1}.streak-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.streak-identity-group{align-items:center;gap:14px;display:flex}.streak-flame-wrapper{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;transition:transform .3s;display:flex;box-shadow:0 4px 12px #f59e0b4d}.streak-flame-wrapper.flame-lit{color:#fff;background:linear-gradient(135deg,#f59e0b 0%,#ea580c 100%)}.streak-flame-wrapper.flame-idle{color:#d97706;box-shadow:none;background:#f59e0b26}.flame-icon-active{animation:2s ease-in-out infinite flamePulse}@keyframes flamePulse{0%,to{filter:drop-shadow(0 0 2px #f59e0b66);transform:scale(1)}50%{filter:drop-shadow(0 0 8px #ea580cb3);transform:scale(1.12)}}.streak-titles-block{flex-direction:column;gap:2px;display:flex}.streak-count-heading{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.streak-count-number{font-family:var(--font-display,sans-serif);color:#92400e;font-size:1.6rem;font-weight:900;line-height:1}.streak-count-unit{font-family:var(--font-display,sans-serif);color:#92400e;font-size:1.25rem;font-weight:800}.streak-tier-badge{border-radius:var(--radius-full,9999px);text-transform:uppercase;letter-spacing:.03em;padding:2px 8px;font-size:.72rem;font-weight:700}.tier-gray{color:#4b5563;background:#e5e7eb}.tier-amber{color:#b45309;background:#fef3c7;border:1px solid #f59e0b4d}.tier-orange{color:#c2410c;background:#ffedd5;border:1px solid #ea580c4d}.tier-purple{color:#7e22ce;background:#f3e8ff;border:1px solid #a855f74d}.tier-indigo{color:#4338ca;background:#e0e7ff;border:1px solid #6366f14d}.tier-emerald{color:#047857;background:#d1fae5;border:1px solid #10b9814d}.streak-subtitle-text{color:#78350f;margin:0;font-size:.82rem;font-weight:500}.streak-header-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.streak-record-pill{border-radius:var(--radius-full,9999px);color:#92400e;background:#ffffffe6;border:1px solid #f59e0b4d;align-items:center;gap:6px;padding:5px 11px;font-size:.76rem;font-weight:600;display:inline-flex;box-shadow:0 1px 3px #0000000a}.trophy-icon{color:#d97706}.record-label{color:#b45309}.record-value{color:#78350f;font-weight:800}.streak-advance-test-btn{color:#b45309;border-radius:var(--radius-full,9999px);cursor:pointer;background:#ffffffd9;border:1px dashed #f59e0b99;align-items:center;gap:4px;padding:5px 10px;font-size:.72rem;font-weight:700;transition:all .2s;display:inline-flex}.streak-advance-test-btn:hover{color:#78350f;background:#fef3c7;border-color:#d97706;transform:translateY(-1px)}.streak-reset-btn{color:#dc2626;border-radius:var(--radius-full,9999px);cursor:pointer;background:#ffffffe6;border:1px solid #ef44444d;align-items:center;gap:5px;padding:5px 12px;font-size:.74rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 1px 3px #dc262614}.streak-reset-btn:hover{color:#b91c1c;background:#fee2e2;border-color:#dc2626;transform:translateY(-1px)}.streak-daily-status-banner{border-radius:var(--radius-lg,12px);justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;font-size:.82rem;transition:all .25s;display:flex}.streak-daily-status-banner.completed{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.streak-daily-status-banner.pending{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa}.status-banner-left{align-items:center;gap:8px;display:flex}.status-pulse-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.streak-daily-status-banner.completed .status-pulse-dot{background:#10b981;box-shadow:0 0 0 3px #10b98140}.streak-daily-status-banner.pending .status-pulse-dot{background:#f97316;animation:1.5s infinite pulseDot}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.status-banner-text{line-height:1.4}.streak-quick-practice-btn{color:#fff;border-radius:var(--radius-full,9999px);cursor:pointer;white-space:nowrap;background:#ea580c;border:none;align-items:center;gap:5px;padding:4px 11px;font-size:.76rem;font-weight:700;transition:background .2s,transform .15s;display:inline-flex}.streak-quick-practice-btn:hover{background:#c2410c;transform:translate(2px)}.streak-days-container{flex-direction:column;gap:8px;display:flex}.streak-track-label-row{justify-content:space-between;align-items:center;padding:0 4px;display:flex}.track-title{text-transform:uppercase;letter-spacing:.05em;color:#92400e;font-size:.78rem;font-weight:700}.track-hint{color:#b45309;font-size:.74rem;font-weight:500}.streak-days-track{background:var(--bg-card,#fff);border-radius:var(--radius-lg,14px);border:1px solid #f59e0b40;grid-template-columns:repeat(7,1fr);gap:8px;padding:12px;display:grid;box-shadow:inset 0 1px 2px #00000008}.streak-day-item{border-radius:var(--radius-md,10px);border:1.5px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:8px 4px;transition:all .2s;display:flex;position:relative}.streak-day-item.is-today{background:#f59e0b1a;border-color:#f59e0b}.today-chip{color:#fff;text-transform:uppercase;letter-spacing:.02em;background:#f59e0b;border-radius:4px;padding:1px 5px;font-size:.58rem;font-weight:800;line-height:1.1;position:absolute;top:-7px;box-shadow:0 1px 3px #f59e0b4d}.day-date-number{color:var(--text-muted,#9ca3af);font-size:.7rem;font-weight:600}.streak-day-item.is-today .day-name{color:#92400e;font-weight:800}.streak-day-item.is-today .day-date-number{color:#b45309;font-weight:700}.day-status-circle{border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;margin-top:2px;transition:all .2s;display:flex}.streak-day-item.completed .day-status-circle{color:#fff;background:#10b981;box-shadow:0 2px 6px #10b98159}.streak-day-item.today-pending .day-status-circle{background:#fffbeb;border:2px dashed #f59e0b}.today-ring-dot{background:#f59e0b;border-radius:50%;width:8px;height:8px;animation:1.5s infinite pulseDot}.streak-day-item.pending .day-status-circle,.streak-day-item.missed .day-status-circle{background:var(--bg-muted,#f3f4f6);color:var(--text-muted,#9ca3af);border:1px solid var(--border-light,#e5e7eb)}.circle-placeholder{font-size:.88rem;line-height:1}.streak-milestone-footer{border-radius:var(--radius-md,10px);background:#ffffffa6;border:1px solid #f59e0b33;flex-direction:column;gap:6px;padding:10px 14px;display:flex}.milestone-text-row{justify-content:space-between;align-items:center;font-size:.78rem;display:flex}.milestone-goal-name{color:#78350f;align-items:center;gap:6px;display:flex}.milestone-icon{font-size:.95rem}.milestone-remaining-label{color:#b45309;font-size:.76rem}.goal-achieved-badge{color:#065f46;border-radius:var(--radius-full,9999px);background:#ecfdf5;border:1px solid #a7f3d0;padding:1px 7px;font-weight:700}.milestone-progress-track{border-radius:var(--radius-full,9999px);background:#f59e0b2e;width:100%;height:7px;overflow:hidden}.milestone-progress-fill{border-radius:var(--radius-full,9999px);background:linear-gradient(90deg,#f59e0b 0%,#ea580c 100%);height:100%;transition:width .4s}.streak-modal-backdrop{-webkit-backdrop-filter:blur(4px);z-index:9999;background:#0f172a99;justify-content:center;align-items:center;padding:16px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.streak-modal-card{background:var(--bg-card,#fff);border-radius:var(--radius-xl,18px);border:1px solid var(--border-light,#e2e8f0);flex-direction:column;gap:16px;width:100%;max-width:440px;padding:24px;animation:.2s cubic-bezier(.16,1,.3,1) scaleUp;display:flex;box-shadow:0 20px 40px -8px #00000040}.streak-modal-header{align-items:center;gap:12px;display:flex;position:relative}.modal-alert-icon-box{color:#dc2626;background:#fee2e2;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.streak-modal-header h3{font-family:var(--font-display,sans-serif);color:var(--text-primary,#0f172a);flex:1;margin:0;font-size:1.15rem;font-weight:800}.streak-modal-close{color:var(--text-muted,#94a3b8);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;transition:color .2s;display:flex}.streak-modal-close:hover{color:var(--text-primary,#0f172a)}.streak-modal-body{flex-direction:column;gap:12px;display:flex}.streak-modal-body p{color:var(--text-secondary,#475569);margin:0;font-size:.88rem;line-height:1.5}.modal-safe-box{border-radius:var(--radius-md,10px);background:#f8fafc;border:1px solid #e2e8f0;flex-direction:column;gap:8px;padding:12px;display:flex}.safe-box-item{color:#334155;align-items:flex-start;gap:8px;font-size:.8rem;line-height:1.4;display:flex}.safe-check{color:#10b981;flex-shrink:0;margin-top:2px}.streak-modal-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:4px;display:flex}.modal-cancel-btn{border-radius:var(--radius-md,8px);cursor:pointer;padding:8px 16px;font-size:.85rem;font-weight:600}.modal-confirm-reset-btn{color:#fff;border-radius:var(--radius-md,8px);cursor:pointer;background:#dc2626;border:none;align-items:center;gap:6px;padding:8px 16px;font-size:.85rem;font-weight:700;transition:background .2s;display:inline-flex}.modal-confirm-reset-btn:hover{background:#b91c1c}[data-theme=dark] .streak-card-component{background:linear-gradient(135deg,#1e1a11 0%,#292010 50%,#2d1d0f 100%);border-color:#f59e0b4d;box-shadow:0 8px 24px -4px #00000080,0 0 15px #f59e0b14}[data-theme=dark] .streak-card-component:hover{box-shadow:0 12px 30px -4px #0009,0 0 20px #f59e0b24}[data-theme=dark] .streak-count-number,[data-theme=dark] .streak-count-unit{color:#fde68a}[data-theme=dark] .streak-subtitle-text{color:#fcd34d}[data-theme=dark] .streak-record-pill{color:#fde68a;background:#1e293bcc;border-color:#f59e0b59}[data-theme=dark] .streak-record-pill .record-label{color:#fcd34d}[data-theme=dark] .streak-record-pill .record-value{color:#fef3c7}[data-theme=dark] .streak-advance-test-btn{color:#fcd34d;background:#1e293bcc;border-color:#f59e0b80}[data-theme=dark] .streak-advance-test-btn:hover{color:#fef3c7;background:#f59e0b33}[data-theme=dark] .streak-reset-btn{color:#f87171;background:#1e293bcc;border-color:#ef444466}[data-theme=dark] .streak-reset-btn:hover{color:#fca5a5;background:#ef444433}[data-theme=dark] .streak-daily-status-banner.completed{color:#6ee7b7;background:#064e3b66;border-color:#10b98166}[data-theme=dark] .streak-daily-status-banner.pending{color:#fdba74;background:#78350f66;border-color:#f9731666}[data-theme=dark] .track-title{color:#fde68a}[data-theme=dark] .track-hint{color:#fcd34d}[data-theme=dark] .streak-days-track{background:#0f172ab3;border-color:#f59e0b40}[data-theme=dark] .streak-day-item.is-today{background:#f59e0b2e;border-color:#f59e0b}[data-theme=dark] .streak-day-item.is-today .day-name{color:#fde68a}[data-theme=dark] .streak-day-item.is-today .day-date-number{color:#fcd34d}[data-theme=dark] .streak-day-item.today-pending .day-status-circle{background:#f59e0b26;border-color:#f59e0b}[data-theme=dark] .streak-day-item.pending .day-status-circle,[data-theme=dark] .streak-day-item.missed .day-status-circle{background:#1e293b99;border-color:#ffffff1a}[data-theme=dark] .streak-milestone-footer{background:#1e293b80;border-color:#f59e0b33}[data-theme=dark] .milestone-goal-name{color:#fde68a}[data-theme=dark] .milestone-remaining-label{color:#fcd34d}[data-theme=dark] .streak-modal-card{background:#0f172a;border-color:#334155}[data-theme=dark] .modal-safe-box{background:#1e293b;border-color:#334155}[data-theme=dark] .safe-box-item{color:#e2e8f0}@media (width<=640px){.streak-card-component{gap:12px;padding:16px}.streak-header-row{flex-direction:column;align-items:flex-start}.streak-header-actions{justify-content:flex-start;width:100%}.streak-days-track{gap:4px;padding:8px 4px}.streak-day-item{padding:6px 2px}.day-name{font-size:.68rem}.day-date-number{font-size:.62rem}.day-status-circle{width:22px;height:22px}}.dashboard-section{background-color:var(--bg-main);padding:40px 0 60px}.dashboard-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:36px;display:flex}.greeting-wrapper{max-width:600px}.dashboard-greeting{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.02em;margin-bottom:8px;font-size:clamp(2rem,3.2vw,2.6rem);font-weight:800;line-height:1.2}.waving-hand{transform-origin:70% 70%;animation:2s infinite waveHand;display:inline-block}@keyframes waveHand{0%{transform:rotate(0)}10%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}30%{transform:rotate(14deg)}40%{transform:rotate(-4deg)}50%{transform:rotate(10deg)}60%{transform:rotate(0)}to{transform:rotate(0)}}.dashboard-subtext{color:var(--text-secondary);font-size:1.05rem}.dashboard-badges-pill-group{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.student-status-pill{background:var(--bg-card,#fff);border-radius:var(--radius-full);border:1px solid var(--border-light);color:var(--text-secondary);box-shadow:var(--shadow-sm);align-items:center;gap:8px;padding:8px 16px;font-size:.85rem;font-weight:600;display:inline-flex}.dashboard-xp-pill{background:var(--accent-amber-light);color:#b45309;border-radius:var(--radius-full);box-shadow:var(--shadow-sm);border:1px solid #f59e0b4d;align-items:center;gap:6px;padding:8px 16px;font-size:.85rem;font-weight:700;display:inline-flex}.live-indicator{background:var(--accent-emerald);border-radius:50%;width:8px;height:8px;animation:2s infinite liveDot;box-shadow:0 0 0 3px #10b98133}.dashboard-streak-wrapper{margin-bottom:32px}.dashboard-cards-grid{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.dashboard-card{background:var(--bg-card,#fff);border:1px solid var(--border-light);border-radius:var(--radius-xl);flex-direction:column;justify-content:space-between;padding:32px 28px;display:flex;position:relative;overflow:hidden}.dashboard-card:before{content:"";height:4px;transition:var(--transition-normal);background:0 0;position:absolute;top:0;left:0;right:0}.card-indigo:hover:before{background:linear-gradient(90deg, var(--primary), var(--secondary))}.card-cyan:hover:before{background:linear-gradient(90deg, var(--accent-cyan), #3b82f6)}.card-amber:hover:before{background:linear-gradient(90deg, var(--accent-amber), #f97316)}.card-top-row{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.card-icon-box{width:56px;height:56px;transition:var(--transition-normal);border-radius:16px;justify-content:center;align-items:center;display:flex}.box-indigo{background:var(--primary-light);color:var(--primary)}.box-cyan{background:var(--accent-cyan-light);color:var(--accent-cyan)}.box-amber{background:var(--accent-amber-light);color:var(--accent-amber)}.dashboard-card:hover .card-icon-box{transform:scale(1.08)rotate(3deg)}.card-tag{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-full);padding:4px 10px;font-size:.75rem;font-weight:700}.tag-indigo{background:var(--primary-light);color:var(--primary)}.tag-cyan{background:var(--accent-cyan-light);color:#0891b2}.tag-amber{background:var(--accent-amber-light);color:#d97706}.card-content{margin-bottom:28px}.card-title{font-family:var(--font-display);color:var(--text-primary);margin-bottom:12px;font-size:1.35rem;font-weight:700}.card-description{color:var(--text-secondary);font-size:.95rem;line-height:1.6}.card-footer{margin-top:auto}.card-action-btn{justify-content:space-between;width:100%;padding:12px 20px}@media (width<=992px){.dashboard-cards-grid{grid-template-columns:1fr;max-width:560px;margin:0 auto}}.teacher-assignment-banner{-webkit-backdrop-filter:blur(8px);background:linear-gradient(135deg,#6366f11f 0%,#a855f71f 100%);border:1px solid #6366f147;border-radius:1.25rem;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:2rem;padding:1.25rem 1.75rem;animation:.3s cubic-bezier(.16,1,.3,1) bannerSlide;display:flex;box-shadow:0 12px 32px -8px #6366f126}@keyframes bannerSlide{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.assignment-banner-left{align-items:center;gap:1.25rem;display:flex}.assignment-badge-icon{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#a855f7 100%);border-radius:1rem;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex;box-shadow:0 4px 14px #6366f159}.assignment-banner-text{flex-direction:column;gap:.25rem;display:flex}.assignment-badge-label{text-transform:uppercase;letter-spacing:.04em;color:#a5b4fc;align-items:center;gap:.75rem;font-size:.75rem;font-weight:600;display:flex}.assignment-due-tag{color:#cbd5e1;background:#ffffff14;border-radius:9999px;align-items:center;gap:.3rem;padding:.15rem .5rem;font-size:.72rem;display:inline-flex}.assignment-banner-title{color:var(--text-primary,#fff);margin:0;font-size:1.15rem;font-weight:700}.assignment-banner-desc{color:var(--text-secondary,#94a3b8);max-width:600px;margin:0;font-size:.88rem}.assignment-action-btn{border-radius:.75rem;flex-shrink:0;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.88rem;font-weight:600;display:inline-flex}.student-status-pill.login-prompt{cursor:pointer;color:#818cf8;background:#6366f11a;border:1px dashed #6366f159;transition:all .2s}.student-status-pill.login-prompt:hover{background:#6366f133;border-color:#6366f199;transform:translateY(-1px)}@media (width<=768px){.teacher-assignment-banner{flex-direction:column;align-items:flex-start;gap:1rem;padding:1.1rem}.assignment-action-btn{justify-content:center;width:100%}}.topic-selector-component{flex-direction:column;gap:16px;width:100%;margin-bottom:24px;display:flex}.category-tabs-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.selector-label{text-transform:uppercase;color:var(--text-muted);letter-spacing:.04em;align-items:center;gap:6px;font-size:.82rem;font-weight:700;display:flex}.category-tabs-group{background:var(--bg-muted);border-radius:var(--radius-full);border:1px solid var(--border-light);gap:4px;padding:4px;display:flex}.category-tab-btn{border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;align-items:center;gap:8px;padding:6px 14px;font-size:.85rem;font-weight:600;display:flex}.category-tab-btn:hover:not(:disabled){color:var(--text-primary)}.category-tab-btn.active{background:var(--bg-card,#fff);color:var(--text-primary);box-shadow:var(--shadow-sm);font-weight:700}.category-tab-btn .cat-badge{border-radius:var(--radius-full);background:var(--bg-muted);color:var(--text-muted);padding:2px 6px;font-size:.68rem}.category-tab-btn.active .cat-badge{background:var(--primary-light);color:var(--primary)}.topics-cards-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.topic-select-card{background:var(--bg-card,#fff);border:1.5px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);text-align:left;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.topic-select-card:hover:not(.disabled){border-color:var(--primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.topic-select-card.selected{border-color:var(--primary);background:var(--primary-light);box-shadow:0 0 0 2px #4f46e526}.topic-select-card.disabled{opacity:.6;cursor:not-allowed}.topic-select-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.topic-name{font-family:var(--font-display);color:var(--text-primary);font-size:.95rem;font-weight:700}.topic-selected-check{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.topic-short-instruction{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8rem;line-height:1.4;display:-webkit-box;overflow:hidden}@media (width<=640px){.topics-cards-grid{grid-template-columns:1fr}}.timer-component{flex-direction:column;align-items:center;gap:16px;width:100%;display:flex}.duration-selector-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.duration-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;font-size:.82rem;font-weight:700;display:flex}.duration-pill-group{background:var(--bg-muted);border-radius:var(--radius-full);border:1px solid var(--border-light);gap:4px;padding:4px;display:flex}.duration-pill-btn{border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;padding:6px 14px;font-size:.85rem;font-weight:600}.duration-pill-btn:hover:not(:disabled){color:var(--text-primary)}.duration-pill-btn.active{background:var(--bg-card,#fff);color:var(--primary);box-shadow:var(--shadow-sm);font-weight:700}.duration-pill-btn:disabled{opacity:.6;cursor:not-allowed}.speaking-time-box{flex-direction:column;align-items:center;display:flex}.speaking-time-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:4px;font-size:.82rem;font-weight:700}.speaking-time-numbers{font-family:var(--font-display);font-variant-numeric:tabular-nums;align-items:baseline;gap:6px;font-size:2.8rem;font-weight:800;line-height:1;display:flex}.time-elapsed{color:var(--primary)}.time-divider{color:var(--border-light);font-size:2rem;font-weight:400}.time-total{color:var(--text-secondary);font-size:2.2rem}.timer-countdown-warning{color:var(--accent-rose);margin-top:6px;font-size:.82rem;font-weight:700;animation:1s infinite liveDot}.transcript-component{flex-direction:column;gap:12px;width:100%;display:flex}.transcript-top-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.transcript-header-label{align-items:center;gap:10px;display:flex}.transcript-icon{color:var(--primary)}.transcript-header-label h4{font-family:var(--font-display);color:var(--text-primary);font-size:1.15rem;font-weight:700}.live-pill{background:var(--accent-rose-light);color:var(--accent-rose);border-radius:var(--radius-full);border:1px solid #ef444440;align-items:center;gap:6px;padding:3px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.live-indicator-dot{background:var(--accent-rose);border-radius:50%;width:6px;height:6px;animation:1s infinite liveDot}.transcript-quick-actions{align-items:center;gap:12px;display:flex}.action-link-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition-fast);background:0 0;border:none;align-items:center;gap:6px;padding:4px 8px;font-size:.82rem;font-weight:600;display:inline-flex}.action-link-btn:hover{color:var(--text-primary);background:var(--bg-muted)}.try-again-link{color:var(--primary)}.try-again-link:hover{color:var(--primary-hover);background:var(--primary-light)}.transcript-display-card{background:var(--bg-card,#fff);border-radius:var(--radius-md);border:1.5px solid var(--border-light);transition:var(--transition-fast);box-shadow:var(--shadow-sm);position:relative}.transcript-display-card:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 3px #4f46e526}.transcript-textarea-input{width:100%;font-family:var(--font-sans);color:var(--text-primary);resize:vertical;background:0 0;border:none;min-height:110px;padding:16px;font-size:1rem;line-height:1.6}.transcript-textarea-input:focus{outline:none}.transcript-bottom-note{color:var(--text-muted);align-items:center;gap:8px;font-size:.8rem;display:flex}.note-sparkle{color:var(--accent-amber);flex-shrink:0}.feedback-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1200;background:#0f172a99;justify-content:center;align-items:center;padding:20px;animation:.25s fadeIn;display:flex;position:fixed;inset:0}.feedback-card-container{background:var(--bg-card,#fff);border-radius:var(--radius-xl);width:100%;max-width:680px;max-height:90vh;box-shadow:var(--shadow-xl);border:1px solid var(--border-light);flex-direction:column;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;display:flex;overflow-y:auto}.feedback-top-banner{color:#fff;background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);padding:28px 32px 24px;position:relative}.celebration-title-row{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.celebration-badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em;background:#fff3;align-items:center;gap:6px;padding:4px 12px;font-size:.78rem;font-weight:700;display:inline-flex}.feedback-close-btn{color:#fff;cursor:pointer;width:32px;height:32px;transition:var(--transition-fast);background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.feedback-close-btn:hover{background:#ffffff59}.feedback-heading{font-family:var(--font-display);margin-bottom:6px;font-size:1.85rem;font-weight:800;line-height:1.2}.feedback-subheading{opacity:.9;margin-bottom:16px;font-size:.95rem;line-height:1.5}.xp-awarded-pill{color:#fff;border-radius:var(--radius-full);background:#f59e0b;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:700;display:inline-flex;box-shadow:0 4px 12px #f59e0b4d}.feedback-body-content{flex-direction:column;gap:24px;padding:28px 32px;display:flex}.feedback-score-grid{background:var(--bg-subtle);border-radius:var(--radius-lg);border:1px solid var(--border-light);grid-template-columns:.9fr 1.1fr;gap:24px;padding:20px;display:grid}.overall-score-box{text-align:center;border-right:1px solid var(--border-light);flex-direction:column;justify-content:center;align-items:center;padding-right:16px;display:flex}.score-label{text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;font-size:.78rem;font-weight:700}.score-circle{align-items:baseline;gap:2px;margin-bottom:8px;display:flex}.score-big-num{font-family:var(--font-display);color:var(--primary);font-size:3.2rem;font-weight:800;line-height:1}.score-grade-pill{color:#059669;background:var(--accent-emerald-light);border-radius:var(--radius-full);padding:4px 10px;font-size:.75rem;font-weight:700}.categories-breakdown-box{flex-direction:column;justify-content:center;display:flex}.breakdown-title{text-transform:uppercase;color:var(--text-muted);margin-bottom:12px;font-size:.8rem;font-weight:700}.categories-list{flex-direction:column;gap:10px;display:flex}.cat-metric-labels{color:var(--text-secondary);justify-content:space-between;margin-bottom:4px;font-size:.82rem;font-weight:600;display:flex}.feedback-insights-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.insight-card{border-radius:var(--radius-md);border:1px solid var(--border-light);padding:18px}.well-card{background:var(--accent-emerald-light);border-color:#10b98140}.improve-card{background:var(--accent-amber-light);border-color:#f59e0b40}.insight-header{align-items:center;gap:8px;margin-bottom:12px;display:flex}.well-icon{color:#059669}.improve-icon{color:#d97706}.insight-header h4{font-family:var(--font-display);color:var(--text-primary);font-size:.95rem;font-weight:700}.insight-list{color:var(--text-secondary);flex-direction:column;gap:6px;padding-left:20px;font-size:.85rem;line-height:1.5;list-style:outside;display:flex}.feedback-transcript-preview{background:var(--bg-subtle);border-radius:var(--radius-md);border:1px solid var(--border-light);padding:14px 18px}.transcript-preview-label{color:var(--text-muted);text-transform:uppercase;margin-bottom:6px;font-size:.78rem;font-weight:700;display:block}.transcript-preview-text{color:var(--text-primary);font-size:.88rem;font-style:italic;line-height:1.5}.feedback-actions-footer{border-top:1px solid var(--border-light);background:var(--bg-subtle);justify-content:flex-end;align-items:center;gap:14px;padding:18px 32px;display:flex}@media (width<=680px){.feedback-score-grid{grid-template-columns:1fr}.overall-score-box{border-right:none;border-bottom:1px solid var(--border-light);padding-bottom:16px;padding-right:0}.feedback-insights-grid{grid-template-columns:1fr}.feedback-actions-footer{flex-direction:column-reverse}.feedback-actions-footer .btn{width:100%}}.practice-mode-switcher-container{justify-content:center;margin-bottom:2rem;display:flex}.practice-mode-switcher{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);align-items:center;gap:.5rem;padding:.375rem;display:inline-flex}.mode-tab-btn{border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-normal);background:0 0;border:none;align-items:center;gap:.625rem;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:600;display:inline-flex;position:relative}.mode-tab-btn:hover{color:var(--text-primary);background:#ffffff0d}.mode-tab-btn.active{background:var(--bg-primary);color:var(--accent-blue);box-shadow:var(--shadow-md);border:1px solid #3b82f640}.mode-tag-pill{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-full);color:var(--accent-blue);background:#3b82f61f;padding:.125rem .5rem;font-size:.6875rem;font-weight:700}.mode-tab-btn.active .mode-tag-pill{color:#fff;background:linear-gradient(135deg,#3b82f6,#8b5cf6);box-shadow:0 0 10px #3b82f666}.gamified-practice-wrapper{flex-direction:column;gap:2rem;animation:.4s ease-out fadeIn;display:flex}.gamified-stats-dashboard{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;display:grid}.gamified-stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:transform var(--transition-normal), border-color var(--transition-normal);align-items:center;gap:1.125rem;padding:1.25rem 1.5rem;display:flex;position:relative;overflow:hidden}.gamified-stat-card:hover{border-color:#3b82f659;transform:translateY(-2px)}.stat-card-icon{border-radius:var(--radius-lg);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.5rem;display:flex}.stat-card-icon.level-icon{color:var(--accent-blue);background:linear-gradient(135deg,#3b82f626,#8b5cf626)}.stat-card-icon.xp-icon{color:#f59e0b;background:linear-gradient(135deg,#f59e0b26,#ea580c26)}.stat-card-icon.streak-icon{color:#ef4444;background:linear-gradient(135deg,#ef444426,#f59e0b26)}.stat-card-icon.mission-icon{color:#10b981;background:linear-gradient(135deg,#10b98126,#06b6d426)}.stat-card-content{flex:1;min-width:0}.stat-card-label{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:.8125rem;font-weight:500;display:flex}.stat-card-value{color:var(--text-primary);letter-spacing:-.02em;margin:.125rem 0 .375rem;font-size:1.25rem;font-weight:700}.level-disclaimer{color:var(--text-secondary);opacity:.8;margin-top:.25rem;font-size:.6875rem}.gamified-progress-bar{border-radius:var(--radius-full);background:#ffffff14;height:6px;position:relative;overflow:hidden}.gamified-progress-fill{border-radius:var(--radius-full);background:linear-gradient(90deg,#3b82f6,#8b5cf6);height:100%;transition:width .6s cubic-bezier(.34,1.56,.64,1)}.gamified-progress-fill.mission-fill{background:linear-gradient(90deg,#10b981,#06b6d4)}.adaptive-recommendation-banner{border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#3b82f614,#8b5cf60f);border:1px solid #3b82f640;justify-content:space-between;align-items:center;gap:1.25rem;padding:1.125rem 1.5rem;display:flex}.adaptive-banner-left{align-items:center;gap:1rem;display:flex}.adaptive-banner-badge{border-radius:var(--radius-lg);color:#fff;background:linear-gradient(135deg,#3b82f6,#8b5cf6);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.125rem;display:flex;box-shadow:0 4px 12px #3b82f659}.adaptive-banner-text h4{color:var(--text-primary);margin:0 0 .125rem;font-size:.9375rem;font-weight:700}.adaptive-banner-text p{color:var(--text-secondary);margin:0;font-size:.8125rem}.journey-controls-strip{justify-content:space-between;align-items:center;gap:1rem;padding:0 .25rem;display:flex}.strip-left{align-items:center;gap:.75rem;display:flex}.strip-title{color:var(--text-primary);align-items:center;gap:.5rem;font-size:1.125rem;font-weight:700;display:flex}.strip-right{align-items:center;gap:.75rem;display:flex}.sound-toggle-btn{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:.375rem;padding:.4375rem .875rem;font-size:.8125rem;font-weight:500;display:inline-flex}.sound-toggle-btn:hover{color:var(--text-primary);border-color:#3b82f64d}.sound-toggle-btn.sound-on{color:var(--accent-blue);background:#3b82f61a;border-color:#3b82f659}.journey-map-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);padding:2.25rem 1.75rem;position:relative;overflow:hidden}.journey-track-wrapper{margin:3.5rem 0 2rem;padding:0 1rem;position:relative}.journey-path-line{border-radius:var(--radius-full);z-index:1;background:#ffffff14;height:6px;position:absolute;top:36px;left:5%;right:5%}.journey-path-progress{border-radius:var(--radius-full);background:linear-gradient(90deg,#10b981,#3b82f6,#8b5cf6,#f59e0b);height:100%;transition:width .7s cubic-bezier(.34,1.56,.64,1);box-shadow:0 0 12px #3b82f680}.journey-checkpoints-row{z-index:2;justify-content:space-between;align-items:flex-start;display:flex;position:relative}.checkpoint-node-wrapper{text-align:center;cursor:pointer;width:110px;transition:transform var(--transition-normal);flex-direction:column;align-items:center;display:flex;position:relative}.checkpoint-node-wrapper:hover:not(.locked){transform:translateY(-4px)}.checkpoint-node{border-radius:var(--radius-full);background:var(--bg-primary);border:3px solid var(--border-color);width:72px;height:72px;box-shadow:var(--shadow-md);transition:all var(--transition-normal);color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.checkpoint-node-icon{font-size:1.75rem;line-height:1}.checkpoint-node-badge{border-radius:var(--radius-full);background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);white-space:nowrap;padding:.125rem .5rem;font-size:.6875rem;font-weight:700;position:absolute;bottom:-6px}.checkpoint-node-wrapper.completed .checkpoint-node{color:#10b981;background:linear-gradient(135deg,#10b98126,#06b6d426);border-color:#10b981;box-shadow:0 0 16px #10b98159}.checkpoint-node-wrapper.completed .checkpoint-node-badge{color:#fff;background:#10b981;border-color:#10b981}.checkpoint-node-wrapper.active .checkpoint-node{background:linear-gradient(135deg,#3b82f633,#8b5cf633);border-color:#3b82f6;transform:scale(1.08);box-shadow:0 0 20px #3b82f673}.checkpoint-node-wrapper.active .checkpoint-node-badge{color:#fff;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-color:#0000}.checkpoint-node-wrapper.active:after{content:"";border-radius:var(--radius-full);pointer-events:none;border:2px dashed #3b82f6;width:80px;height:80px;animation:8s linear infinite activeRotatePulse;position:absolute;top:-4px}@keyframes activeRotatePulse{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.checkpoint-node-wrapper.locked{cursor:not-allowed;opacity:.6}.checkpoint-node-wrapper.locked .checkpoint-node{color:var(--text-secondary);background:#ffffff08;border-color:#ffffff1a}.checkpoint-node-wrapper.is-boss .checkpoint-node{background:linear-gradient(135deg,#ef444433,#f59e0b33);border-color:#f59e0b;box-shadow:0 0 20px #f59e0b73}.checkpoint-node-wrapper.is-boss.active .checkpoint-node{animation:2.5s ease-in-out infinite bossPulsingBorder}@keyframes bossPulsingBorder{0%,to{box-shadow:0 0 16px #ef444466}50%{box-shadow:0 0 28px #f59e0bb3}}.checkpoint-node-wrapper.is-boss .checkpoint-node-badge{color:#fff;background:linear-gradient(135deg,#ef4444,#f59e0b)}.checkpoint-meta{margin-top:1rem}.checkpoint-title{color:var(--text-primary);margin-bottom:.125rem;font-size:.875rem;font-weight:700}.checkpoint-subtitle{color:var(--text-secondary);font-size:.75rem}.checkpoint-reward{color:#f59e0b;align-items:center;gap:.25rem;margin-top:.25rem;font-size:.6875rem;font-weight:700;display:inline-flex}.character-avatar-container{z-index:10;pointer-events:none;flex-direction:column;align-items:center;transition:left .7s cubic-bezier(.34,1.56,.64,1);display:flex;position:absolute;top:-64px;transform:translate(-50%)}.character-speech-bubble{background:var(--bg-card);border-radius:var(--radius-lg);color:var(--text-primary);white-space:nowrap;border:1px solid #3b82f659;margin-bottom:.375rem;padding:.3125rem .625rem;font-size:.6875rem;font-weight:600;animation:3s ease-in-out infinite speechFloat;position:relative;box-shadow:0 4px 14px #0000004d}.character-speech-bubble:after{content:"";border-style:solid;border-width:5px 5px 0;border-color:var(--bg-card) transparent transparent transparent;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)}@keyframes speechFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.character-body-svg{filter:drop-shadow(0 6px 12px #3b82f666);width:52px;height:52px;animation:3s ease-in-out infinite avatarIdleFloat}@keyframes avatarIdleFloat{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-8px)rotate(1.5deg)}}.character-avatar-container.listening .character-body-svg{animation:1.2s ease-in-out infinite avatarListenPulse}@keyframes avatarListenPulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.character-avatar-container.celebrating .character-body-svg{animation:.8s ease-in-out infinite avatarCelebrate}@keyframes avatarCelebrate{0%,to{transform:translateY(0)scale(1)}30%{transform:translateY(-16px)scale(1.12)rotate(-4deg)}60%{transform:translateY(-8px)scale(1.06)rotate(4deg)}}.gamified-cards-deck{grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.5rem;display:grid}.mission-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);flex-direction:column;justify-content:space-between;padding:1.5rem;display:flex}.mission-card-header{justify-content:space-between;align-items:center;margin-bottom:1.125rem;display:flex}.mission-card-title{color:var(--text-primary);align-items:center;gap:.5rem;margin:0;font-size:1.0625rem;font-weight:700;display:flex}.mission-bonus-pill{border-radius:var(--radius-full);color:#f59e0b;background:linear-gradient(135deg,#f59e0b26,#ea580c26);border:1px solid #f59e0b4d;padding:.25rem .625rem;font-size:.75rem;font-weight:700}.mission-items-list{flex-direction:column;gap:.625rem;margin-bottom:1.125rem;display:flex}.mission-item-row{border-radius:var(--radius-lg);color:var(--text-primary);transition:all var(--transition-fast);background:#ffffff08;border:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:.625rem .875rem;font-size:.875rem;display:flex}.mission-item-row.completed{color:#10b981;background:#10b98114;border-color:#10b98140}.mission-item-left{align-items:center;gap:.625rem;display:flex}.mission-check-circle{border-radius:var(--radius-full);border:2px solid var(--border-color);flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:.75rem;display:flex}.mission-item-row.completed .mission-check-circle{color:#fff;background:#10b981;border-color:#10b981}.next-challenge-card{border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#3b82f614,#8b5cf614);border:1px solid #3b82f64d;flex-direction:column;justify-content:space-between;padding:1.5rem;display:flex}.next-challenge-header{justify-content:space-between;align-items:center;display:flex}.next-challenge-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-full);color:var(--accent-blue);background:#3b82f626;padding:.25rem .625rem;font-size:.75rem;font-weight:700}.next-challenge-xp{color:#f59e0b;font-size:.8125rem;font-weight:700}.next-challenge-body{margin:1rem 0}.next-challenge-body h3{color:var(--text-primary);margin:0 0 .375rem;font-size:1.25rem;font-weight:700}.next-challenge-body p{color:var(--text-secondary);margin:0;font-size:.875rem;line-height:1.5}.next-challenge-actions{gap:.75rem;display:flex}.challenge-modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000000bf;justify-content:center;align-items:center;padding:1rem;animation:.3s ease-out fadeIn;display:flex;position:fixed;inset:0}.challenge-modal-window{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-2xl);width:100%;max-width:680px;max-height:90vh;box-shadow:var(--shadow-xl);flex-direction:column;animation:.3s cubic-bezier(.34,1.56,.64,1) slideUp;display:flex;position:relative;overflow-y:auto}.challenge-modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1.25rem 1.75rem;display:flex}.challenge-modal-header-left{align-items:center;gap:.75rem;display:flex}.challenge-modal-title{color:var(--text-primary);margin:0;font-size:1.125rem;font-weight:700}.challenge-modal-reward-badge{border-radius:var(--radius-full);color:#f59e0b;background:#f59e0b26;border:1px solid #f59e0b4d;padding:.25rem .625rem;font-size:.75rem;font-weight:700}.modal-close-btn{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast);background:0 0;border:none;padding:.375rem}.challenge-modal-content{flex-direction:column;gap:1.5rem;padding:1.75rem;display:flex}.modal-prompt-box{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);text-align:center;padding:1.25rem}.modal-prompt-tag{text-transform:uppercase;letter-spacing:.05em;color:var(--accent-blue);margin-bottom:.375rem;font-size:.75rem;font-weight:700}.modal-prompt-text{color:var(--text-primary);margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.modal-prompt-hint{color:var(--text-secondary);margin:0;font-size:.8125rem}.modal-speaking-stage{flex-direction:column;align-items:center;gap:1.25rem;padding:1rem 0;display:flex}.modal-timer-pill{color:var(--text-primary);background:var(--bg-card);border-radius:var(--radius-full);border:1px solid var(--border-color);align-items:center;gap:.5rem;padding:.375rem 1.125rem;font-size:1.25rem;font-weight:700;display:inline-flex}.modal-mic-btn{border-radius:var(--radius-full);color:#fff;cursor:pointer;width:76px;height:76px;transition:all var(--transition-normal);background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;justify-content:center;align-items:center;font-size:1.75rem;display:flex;position:relative;box-shadow:0 8px 24px #3b82f666}.modal-mic-btn.recording{background:linear-gradient(135deg,#ef4444,#f59e0b);animation:1.5s infinite micPulse;box-shadow:0 0 28px #ef444499}@keyframes micPulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.modal-transcript-area{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);width:100%;min-height:90px;max-height:140px;color:var(--text-primary);padding:1rem 1.25rem;font-size:.875rem;line-height:1.5;overflow-y:auto}.modal-transcript-placeholder{color:var(--text-secondary);font-style:italic}.quiz-question-card{flex-direction:column;gap:1.25rem;display:flex}.quiz-question-header{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:.8125rem;font-weight:600;display:flex}.quiz-question-sentence{color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:1.25rem;font-size:1.125rem;font-weight:600;line-height:1.5}.quiz-options-list{flex-direction:column;gap:.75rem;display:flex}.quiz-option-btn{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-primary);text-align:left;cursor:pointer;transition:all var(--transition-fast);justify-content:space-between;align-items:center;padding:.875rem 1.25rem;font-size:.9375rem;display:flex}.quiz-option-btn:hover:not(:disabled){border-color:var(--accent-blue);background:#3b82f60f}.quiz-option-btn.correct{color:#10b981;background:#10b9811f;border-color:#10b981;font-weight:600}.quiz-option-btn.incorrect{color:#ef4444;background:#ef44441f;border-color:#ef4444}.quiz-explanation-box{border-radius:0 var(--radius-lg) var(--radius-lg) 0;color:var(--text-primary);background:#3b82f614;border-left:3px solid #3b82f6;padding:.875rem 1.125rem;font-size:.8125rem;line-height:1.5;animation:.3s ease-out fadeIn}.dialogue-thread{flex-direction:column;gap:1rem;display:flex}.dialogue-turn{align-items:flex-start;gap:.875rem;display:flex}.dialogue-turn.user-turn{flex-direction:row-reverse}.dialogue-bubble.ai{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);border-bottom-left-radius:4px}.dialogue-bubble.user{color:#fff;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-bottom-right-radius:4px}.boss-health-card{border-radius:var(--radius-xl);text-align:center;background:linear-gradient(135deg,#ef444426,#f59e0b1f);border:1px solid #f59e0b59;padding:1.25rem}.boss-health-title{color:#f59e0b;justify-content:center;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.875rem;font-weight:700;display:flex}.boss-health-bar{border-radius:var(--radius-full);background:#ffffff1a;height:10px;overflow:hidden}.boss-health-fill{border-radius:var(--radius-full);background:linear-gradient(90deg,#ef4444,#f59e0b);height:100%;transition:width .4s ease-out}.result-modal-content{text-align:center;flex-direction:column;align-items:center;gap:1.25rem;padding:2.5rem 2rem;display:flex}.celebrate-trophy{font-size:4rem;line-height:1;animation:.8s cubic-bezier(.34,1.56,.64,1) celebrateBounce}@keyframes celebrateBounce{0%{transform:scale(.3)rotate(-15deg)}60%{transform:scale(1.2)rotate(8deg)}to{transform:scale(1)rotate(0)}}.result-heading{color:var(--text-primary);letter-spacing:-.02em;margin:0;font-size:1.75rem;font-weight:800}.result-xp-badge{border-radius:var(--radius-full);color:#f59e0b;background:linear-gradient(135deg,#f59e0b33,#ea580c33);border:1px solid #f59e0b66;padding:.5rem 1.5rem;font-size:1.25rem;font-weight:800;box-shadow:0 0 20px #f59e0b59}.result-message{color:var(--text-secondary);max-width:420px;margin:0;font-size:.9375rem;line-height:1.5}@media (prefers-reduced-motion:reduce){.character-body-svg,.character-speech-bubble,.checkpoint-node-wrapper.active:after,.checkpoint-node-wrapper.is-boss.active .checkpoint-node,.modal-mic-btn.recording,.celebrate-trophy{transition:none!important;animation:none!important}}@media (width<=1024px){.gamified-cards-deck{grid-template-columns:1fr}}@media (width<=768px){.gamified-stats-dashboard{grid-template-columns:repeat(2,1fr);gap:.875rem}.gamified-stat-card{gap:.75rem;padding:1rem}.stat-card-icon{width:40px;height:40px;font-size:1.25rem}.stat-card-value{font-size:1.0625rem}.level-disclaimer{font-size:.625rem}.journey-map-card{padding:1.25rem .875rem}.journey-track-wrapper{-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:1rem 0;padding:4.85rem 1.25rem 1.25rem;overflow-x:auto}.journey-track-wrapper::-webkit-scrollbar{display:none}.journey-checkpoints-row{justify-content:space-between;align-items:flex-start;min-width:660px;padding:0 .5rem;display:flex;position:relative}.journey-path-line{min-width:620px;top:36px;left:20px;right:20px;display:block!important}.character-avatar-container{z-index:10;top:-68px;display:flex!important}.character-speech-bubble{margin-bottom:.25rem;padding:.25rem .5rem;font-size:.625rem}.character-body-svg{width:46px;height:46px}.checkpoint-node-wrapper{flex-shrink:0;width:95px}.checkpoint-node{width:64px;height:64px}.checkpoint-node-icon{font-size:1.45rem}.adaptive-recommendation-banner{flex-direction:column;align-items:stretch;gap:.875rem;padding:1rem 1.125rem}.adaptive-recommendation-banner .btn{justify-content:center;width:100%}.journey-controls-strip{flex-wrap:wrap;gap:.625rem}.strip-title{font-size:.95rem}}@media (width<=480px){.gamified-stats-dashboard{grid-template-columns:1fr;gap:.75rem}.practice-mode-switcher-container{margin-bottom:1.25rem;padding:0 .25rem}.practice-mode-switcher{width:100%;max-width:100%;display:flex}.mode-tab-btn{flex:1;justify-content:center;gap:.375rem;padding:.5rem .625rem;font-size:.8125rem}.mode-tag-pill{display:none}.challenge-modal-window{border-radius:var(--radius-xl);max-height:94vh}.challenge-modal-content{gap:1.125rem;padding:1.25rem .875rem}.challenge-modal-header{padding:1rem}.modal-mic-btn{width:66px;height:66px;font-size:1.4rem}.next-challenge-actions{flex-direction:column}.next-challenge-actions .btn{width:100%}.result-modal-content{padding:1.75rem 1rem}.celebrate-trophy{font-size:3rem}.result-heading{font-size:1.35rem}}.speaking-practice-section{background:var(--bg-main);padding:60px 0}.practice-card{background:var(--bg-card,#fff);border-radius:var(--radius-xl);border:1px solid var(--border-light);max-width:860px;box-shadow:var(--shadow-lg);margin:0 auto;padding:36px}.practice-header-bar{border-bottom:1px solid var(--border-light);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:20px;display:flex}.topic-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--primary);background:var(--primary-light);border-radius:var(--radius-full);margin-bottom:6px;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-block}.topic-title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.01em;font-size:1.6rem;font-weight:700}.topic-timer-badge{background:var(--bg-muted);border-radius:var(--radius-full);color:var(--text-secondary);align-items:center;gap:8px;padding:8px 14px;font-size:.88rem;font-weight:600;display:flex}.active-topic-banner{border-bottom:1px solid var(--border-light);margin-bottom:20px;padding-bottom:16px}.mic-warning-banner{background:var(--accent-amber-light);color:#b45309;border-radius:var(--radius-md);border:1px solid #f59e0b4d;align-items:center;gap:10px;margin-bottom:20px;padding:12px 16px;font-size:.88rem;font-weight:600;display:flex}.instruction-box{background:var(--primary-light);border-radius:var(--radius-lg);border:1px solid #4f46e533;align-items:flex-start;gap:16px;margin-bottom:20px;padding:18px 20px;display:flex}.instruction-icon{color:var(--primary);justify-content:center;align-items:center;margin-top:2px;display:flex}.instruction-text strong{text-transform:uppercase;letter-spacing:.05em;color:var(--primary);margin-bottom:4px;font-size:.82rem;display:block}.instruction-text p{color:var(--text-primary);font-size:1.05rem;font-weight:500;line-height:1.5}.prompt-guide-pills{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:32px;display:flex}.guide-label{color:var(--text-muted);font-size:.85rem;font-weight:600}.guide-pill{background:var(--bg-muted);color:var(--text-secondary);border-radius:var(--radius-full);border:1px solid var(--border-light);padding:6px 12px;font-size:.82rem;font-weight:600}.studio-stage{border-radius:var(--radius-xl);background:radial-gradient(circle at 50% 40%,#eef2ffb3 0%,#f8fafce6 100%);border:1px dashed #4f46e54d;flex-direction:column;align-items:center;margin-bottom:32px;padding:40px 24px 36px;display:flex;position:relative}.stage-status{margin-bottom:24px}.status-badge{border-radius:var(--radius-full);align-items:center;gap:8px;padding:6px 14px;font-size:.85rem;font-weight:600;display:inline-flex}.status-badge.ready{background:var(--bg-card,#fff);color:var(--text-secondary);border:1px solid var(--border-light)}.status-badge.recording{background:var(--accent-rose-light);color:var(--accent-rose);border:1px solid #ef44444d}.pulsing-red-dot{background:#ef4444;border-radius:50%;width:8px;height:8px;animation:1s infinite liveDot}.mic-interactive-wrapper{justify-content:center;align-items:center;width:110px;height:110px;margin-bottom:24px;display:flex;position:relative}.large-mic-button{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);color:#fff;cursor:pointer;width:90px;height:90px;transition:var(--transition-normal);z-index:2;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;box-shadow:0 10px 25px -5px #4f46e573}.large-mic-button:hover{transform:scale(1.06);box-shadow:0 16px 30px -6px #4f46e599}.large-mic-button.is-recording{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);animation:1.5s infinite pulseRing;box-shadow:0 12px 28px -5px #ef444480}.mic-halo-ring{pointer-events:none;border-radius:50%;width:100%;height:100%;position:absolute}.mic-halo-ring.active-pulse{animation:2s cubic-bezier(.25,.8,.25,1) infinite pulseRing}.audio-visualizer-bars{justify-content:center;align-items:center;gap:5px;height:60px;margin-bottom:24px;display:flex}.audio-bar{width:4px;transition:var(--transition-fast);background:#cbd5e1;border-radius:4px}.audio-visualizer-bars.idle .audio-bar{height:8px}.audio-visualizer-bars.active .audio-bar{background:linear-gradient(180deg, var(--accent-cyan), var(--primary));animation:.8s ease-in-out infinite alternate soundWave}.timer-placeholder-wrapper{flex-direction:column;align-items:center;margin-bottom:28px;display:flex}.timer-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:4px;font-size:.78rem;font-weight:700}.timer-display{font-family:var(--font-display);color:var(--text-primary);letter-spacing:.04em;font-variant-numeric:tabular-nums;font-size:3rem;font-weight:800;line-height:1}.timer-display.timer-warning{color:#ef4444;animation:.8s infinite liveDot}.studio-actions-toolbar{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;display:flex}.transcript-section{border-top:1px solid var(--border-light);padding-top:24px}.transcript-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.transcript-label{color:var(--text-primary);align-items:center;gap:8px;font-size:.92rem;font-weight:700;display:flex}.sample-toggle-btn{color:var(--primary);cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition-fast);background:0 0;border:none;padding:4px 8px;font-size:.82rem;font-weight:600}.sample-toggle-btn:hover{background:var(--primary-light);text-decoration:underline}.transcript-textarea{border-radius:var(--radius-md);border:1.5px solid var(--border-light);width:100%;color:var(--text-primary);resize:vertical;background:var(--bg-subtle);transition:var(--transition-fast);padding:16px;font-size:.95rem;line-height:1.6}.transcript-textarea:focus{border-color:var(--border-focus);background:var(--bg-card,#fff);outline:none;box-shadow:0 0 0 3px #4f46e526}.transcript-hint{color:var(--text-muted);align-items:center;gap:6px;margin-top:8px;font-size:.78rem;display:flex}@media (width<=640px){.practice-card{padding:24px 18px}.studio-actions-toolbar{flex-direction:column;width:100%}.studio-actions-toolbar .btn{width:100%}.timer-display{font-size:2.5rem}}.language-selector-wrap{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.lang-label-box{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);align-items:center;gap:6px;font-size:.82rem;font-weight:700;display:flex}.lang-buttons-row{background:var(--bg-muted);border-radius:var(--radius-full);border:1px solid var(--border-light);flex-wrap:wrap;gap:4px;padding:4px;display:flex}.lang-btn{border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;align-items:center;gap:6px;padding:6px 14px;font-size:.85rem;font-weight:600;display:inline-flex}.lang-btn:hover{color:var(--text-primary)}.lang-btn.active{background:var(--bg-card,#fff);color:var(--primary);box-shadow:var(--shadow-sm);font-weight:700}.lang-flag{font-size:1rem;line-height:1}.lang-tag{border-radius:var(--radius-full);background:var(--bg-subtle);color:var(--text-muted);padding:2px 6px;font-size:.65rem}.lang-btn.active .lang-tag{background:var(--primary-light);color:var(--primary)}.mode-selector-container{flex-direction:column;gap:16px;width:100%;display:flex}.modes-row-group{flex-direction:column;gap:8px;display:flex}.group-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.8rem;font-weight:700}.modes-cards-scroll{scrollbar-width:thin;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.mode-card-pill{background:var(--bg-card,#fff);border:1.5px solid var(--border-light);border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-fast);white-space:nowrap;flex-shrink:0;align-items:center;gap:8px;padding:8px 16px;display:inline-flex}.mode-card-pill:hover{border-color:var(--primary);color:var(--primary)}.mode-card-pill.active{background:var(--primary-light);border-color:var(--primary);color:var(--primary);font-weight:700;box-shadow:0 0 0 2px #4f46e526}.mode-pill-icon{justify-content:center;align-items:center;display:flex}.mode-pill-title{font-size:.88rem}.secondary-settings-row{border-top:1px dashed var(--border-light);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:10px;display:flex}.difficulty-setting-wrap,.goal-setting-wrap{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.setting-label{color:var(--text-muted);text-transform:uppercase;align-items:center;gap:4px;font-size:.8rem;font-weight:700;display:flex}.difficulty-pills{background:var(--bg-muted);border-radius:var(--radius-full);border:1px solid var(--border-light);gap:4px;padding:3px;display:flex}.diff-pill-btn{border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;align-items:center;gap:4px;padding:5px 12px;font-size:.82rem;font-weight:600;display:inline-flex}.diff-pill-btn:hover{color:var(--text-primary)}.diff-pill-btn.active{background:var(--bg-card,#fff);color:var(--text-primary);box-shadow:var(--shadow-sm);font-weight:700}.goal-select-dropdown{background:var(--bg-card,#fff);border:1.5px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;transition:var(--transition-fast);outline:none;padding:6px 12px;font-size:.85rem;font-weight:600}.goal-select-dropdown:focus{border-color:var(--border-focus)}.chat-message-row{gap:14px;width:100%;animation:.25s fadeIn;display:flex}.chat-message-row.user-row{flex-direction:row-reverse}.message-avatar-bubble{background:var(--bg-muted);width:40px;height:40px;box-shadow:var(--shadow-sm);border:1px solid var(--border-light);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.25rem;display:flex}.ai-row .message-avatar-bubble{background:linear-gradient(135deg,#eef2ff 0%,#e0e7ff 100%);border-color:#4f46e540}.user-row .message-avatar-bubble{background:linear-gradient(135deg,#ecfeff 0%,#e0f2fe 100%);border-color:#06b6d440}.message-content-wrapper{flex-direction:column;max-width:80%;display:flex}.user-row .message-content-wrapper{align-items:flex-end}.message-header-line{align-items:center;gap:10px;margin-bottom:6px;font-size:.78rem;display:flex}.sender-name{color:var(--text-primary);font-weight:700}.message-time{color:var(--text-muted)}.tts-speaker-btn{border:1px solid var(--border-light);border-radius:var(--radius-full);color:var(--primary);cursor:pointer;transition:var(--transition-fast);background:0 0;align-items:center;gap:4px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.tts-speaker-btn:hover{background:var(--primary-light)}.tts-speaker-btn.active-playing{background:var(--accent-rose-light);color:var(--accent-rose);border-color:#ef44444d}.improve-sentence-shortcut-btn{color:var(--accent-cyan);cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition-fast);background:0 0;border:none;align-items:center;gap:4px;padding:2px 6px;font-size:.75rem;font-weight:600;display:inline-flex}.improve-sentence-shortcut-btn:hover{background:var(--accent-cyan-light);text-decoration:underline}.message-bubble{border-radius:var(--radius-lg);word-break:break-word;padding:14px 18px;font-size:.96rem;line-height:1.55}.ai-bubble{background:var(--bg-card,#fff);color:var(--text-primary);border:1.5px solid var(--border-light);box-shadow:var(--shadow-sm);border-top-left-radius:4px}.user-bubble{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);color:#fff;border-top-right-radius:4px;box-shadow:0 4px 14px -2px #4f46e54d}.gentle-correction-box{background:var(--accent-amber-light);border-radius:var(--radius-md);border:1px dashed #f59e0b66;max-width:480px;margin-top:8px;padding:10px 14px}.correction-header{color:#b45309;text-transform:uppercase;align-items:center;gap:6px;margin-bottom:4px;font-size:.75rem;font-weight:700;display:flex}.better-text{color:#92400e;font-size:.88rem;font-weight:700}.correction-explain{color:#78350f;margin-top:2px;font-size:.8rem}.chat-window-viewport{background:var(--bg-subtle);border:1.5px solid var(--border-light);border-radius:var(--radius-xl);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;scrollbar-width:thin;flex-direction:column;height:480px;padding:24px 20px;display:flex;position:relative;overflow-y:auto}.chat-messages-stream{flex-direction:column;gap:20px;min-height:100%;display:flex}.typing-row{opacity:.85}.typing-bubble{align-items:center;gap:6px;padding:12px 18px;display:flex}.typing-dot{background:var(--primary);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite both typingBounce}.typing-dot.dot-1{animation-delay:-.32s}.typing-dot.dot-2{animation-delay:-.16s}.typing-dot.dot-3{animation-delay:0s}@keyframes typingBounce{0%,80%,to{opacity:.4;transform:scale(0)}40%{opacity:1;transform:scale(1)}}.voice-recorder-wrap{align-items:center;display:flex}.voice-record-btn{background:var(--bg-muted);border:1.5px solid var(--border-light);color:var(--text-secondary);border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-fast);align-items:center;gap:6px;padding:8px 14px;font-size:.85rem;font-weight:600;display:inline-flex;position:relative}.voice-record-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--bg-card,#fff)}.voice-record-btn:disabled{opacity:.5;cursor:not-allowed}.voice-record-btn.recording{background:var(--accent-rose-light);color:var(--accent-rose);border-color:#ef444466;font-weight:700}.live-mic-pulse{background:#ef4444;border-radius:50%;width:8px;height:8px;animation:1s infinite liveDot}.conversation-input-container{flex-direction:column;gap:10px;width:100%;display:flex}.suggestions-scroll-track{scrollbar-width:thin;align-items:center;gap:8px;min-height:32px;padding-bottom:4px;display:flex;overflow-x:auto}@keyframes promptFadeIn{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.suggestions-label{color:var(--text-muted);text-transform:uppercase;white-space:nowrap;align-items:center;gap:4px;font-size:.75rem;font-weight:700;display:flex}.suggestion-pill{background:var(--bg-muted);border:1px solid var(--border-light);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:var(--transition-fast);padding:4px 12px;font-size:.8rem;animation:.25s ease-out promptFadeIn}.suggestion-pill:hover:not(:disabled){background:var(--primary-light);color:var(--primary);border-color:var(--primary);transform:translateY(-1px)}.suggestion-pill:disabled{opacity:.5;cursor:not-allowed}.refresh-suggestions-btn{border:1px dashed var(--border-light);border-radius:var(--radius-full);color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:var(--transition-fast);background:0 0;align-items:center;gap:4px;padding:4px 10px;font-size:.76rem;font-weight:600;display:inline-flex}.refresh-suggestions-btn:hover:not(:disabled){background:var(--bg-muted);border-color:var(--primary);color:var(--primary)}.refresh-suggestions-btn:disabled{opacity:.5;cursor:not-allowed}.input-box-wrapper{background:var(--bg-card,#fff);border:1.5px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:var(--transition-fast);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.input-box-wrapper:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 3px #4f46e526}.chat-textarea{width:100%;font-family:var(--font-sans);color:var(--text-primary);resize:none;background:0 0;border:none;outline:none;font-size:.95rem;line-height:1.5}.input-actions-bar{border-top:1px solid var(--border-light);justify-content:space-between;align-items:center;padding-top:8px;display:flex}.send-message-btn{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);color:#fff;border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-fast);border:none;align-items:center;gap:6px;padding:8px 18px;font-size:.88rem;font-weight:600;display:inline-flex}.send-message-btn:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.send-message-btn:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.5)}.sentence-improver-modal{background:var(--bg-card,#fff);border-radius:var(--radius-xl);border:1.5px solid var(--border-light);box-shadow:var(--shadow-lg);flex-direction:column;gap:18px;margin-top:20px;padding:24px 28px;display:flex}.improver-header{justify-content:space-between;align-items:center;display:flex}.improver-title-row{align-items:center;gap:12px;display:flex}.improver-icon-wrap{width:40px;height:40px;color:var(--primary);background:linear-gradient(135deg,#eef2ff 0%,#e0e7ff 100%);border-radius:12px;justify-content:center;align-items:center;display:flex}.improver-title-row h3{font-family:var(--font-display);color:var(--text-primary);font-size:1.25rem;font-weight:800}.improver-subtext{color:var(--text-secondary);font-size:.82rem}.improver-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px}.improver-close-btn:hover{color:var(--text-primary)}.improver-input-field{flex-direction:column;gap:6px;display:flex}.field-label{text-transform:uppercase;color:var(--text-muted);font-size:.8rem;font-weight:700}.sentence-text-input{border-radius:var(--radius-md);border:1.5px solid var(--border-light);width:100%;font-family:var(--font-sans);color:var(--text-primary);transition:var(--transition-fast);outline:none;padding:10px 14px;font-size:.95rem}.sentence-text-input:focus{border-color:var(--border-focus)}.improvements-cards-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.improvement-card{border-radius:var(--radius-lg);border:1.5px solid var(--border-light);background:var(--bg-subtle);transition:var(--transition-fast);flex-direction:column;gap:12px;padding:18px;display:flex}.improvement-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.card-simple{background:#f8fafc;border-color:#06b6d44d}.card-pro{background:#f5f3ff;border-color:#4f46e54d}.card-natural{background:#ecfdf5;border-color:#10b9814d}.card-top-tag{justify-content:space-between;align-items:center;display:flex}.tag-pill{text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-full);padding:3px 8px;font-size:.72rem;font-weight:800}.tag-simple{background:var(--accent-cyan-light);color:#0891b2}.tag-pro{background:var(--primary-light);color:var(--primary)}.tag-natural{background:var(--accent-emerald-light);color:#059669}.copy-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px 6px}.copy-btn:hover{color:var(--text-primary)}.copy-btn .copied{color:#10b981}.improved-text{color:var(--text-primary);flex-grow:1;font-size:.95rem;font-weight:600;line-height:1.5}.card-action-links{border-top:1px dashed var(--border-light);flex-direction:column;gap:8px;padding-top:10px;display:flex}.use-sentence-btn,.practice-speaking-btn{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);border:none;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:700;display:inline-flex}.use-sentence-btn{background:var(--bg-card,#fff);color:var(--text-primary);border:1px solid var(--border-light)}.use-sentence-btn:hover{background:var(--bg-muted)}.use-sentence-btn.pro{background:var(--primary);color:#fff;border:none}.use-sentence-btn.pro:hover{background:var(--primary-hover)}.use-sentence-btn.natural{color:#fff;background:#10b981;border:none}.use-sentence-btn.natural:hover{background:#059669}.practice-speaking-btn{color:var(--text-secondary);background:0 0}.practice-speaking-btn:hover{color:var(--primary);text-decoration:underline}@media (width<=860px){.improvements-cards-grid{grid-template-columns:1fr}}.session-report-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1200;background:#0f172aa6;justify-content:center;align-items:center;padding:20px;animation:.25s fadeIn;display:flex;position:fixed;inset:0}.session-report-card{background:var(--bg-card,#fff);border-radius:var(--radius-xl);width:100%;max-width:680px;max-height:90vh;box-shadow:var(--shadow-xl);border:1px solid var(--border-light);flex-direction:column;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;display:flex;overflow-y:auto}.report-header-banner{color:#fff;background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);padding:28px 32px 24px}.report-title-row{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.report-pill{border-radius:var(--radius-full);text-transform:uppercase;background:#fff3;align-items:center;gap:6px;padding:4px 12px;font-size:.78rem;font-weight:700;display:inline-flex}.report-close-btn{color:#fff;cursor:pointer;width:32px;height:32px;transition:var(--transition-fast);background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.report-close-btn:hover{background:#ffffff59}.report-title{font-family:var(--font-display);margin-bottom:6px;font-size:1.85rem;font-weight:800;line-height:1.2}.report-subtext{opacity:.9;margin-bottom:20px;font-size:.95rem}.report-stats-strip{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.stat-pill{border-radius:var(--radius-full);background:#ffffff26;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;display:inline-flex}.stat-pill strong{font-weight:700}.report-body{flex-direction:column;gap:24px;padding:28px 32px;display:flex}.report-scores-container{background:var(--bg-subtle);border-radius:var(--radius-lg);border:1px solid var(--border-light);grid-template-columns:.9fr 1.1fr;gap:24px;padding:20px;display:grid}.report-main-score{border-right:1px solid var(--border-light);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding-right:16px;display:flex}.score-lbl{text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;font-size:.78rem;font-weight:700}.score-big-wrap{align-items:baseline;gap:2px;margin-bottom:6px;display:flex}.score-number{font-family:var(--font-display);color:var(--primary);font-size:3.2rem;font-weight:800;line-height:1}.score-badge{color:#059669;background:var(--accent-emerald-light);border-radius:var(--radius-full);padding:4px 10px;font-size:.75rem;font-weight:700}.report-categories-list{flex-direction:column;justify-content:center;gap:10px;display:flex}.category-row{flex-direction:column;gap:4px;display:flex}.cat-title-val{color:var(--text-secondary);justify-content:space-between;font-size:.82rem;font-weight:600;display:flex}.cat-track{background:var(--bg-muted);border-radius:var(--radius-full);height:6px;overflow:hidden}.cat-fill{border-radius:var(--radius-full);height:100%}.cat-fill.fill-indigo{background:var(--primary)}.cat-fill.fill-cyan{background:var(--accent-cyan)}.cat-fill.fill-amber{background:var(--accent-amber)}.cat-fill.fill-emerald{background:var(--accent-emerald)}.insight-box{border-radius:var(--radius-md);border:1px solid var(--border-light);padding:16px 20px}.well-box{background:var(--accent-emerald-light);border-color:#10b9814d}.improve-box{background:var(--accent-amber-light);border-color:#f59e0b4d}.insight-box-header{align-items:center;gap:8px;margin-bottom:10px;display:flex}.insight-box-header h4{font-family:var(--font-display);color:var(--text-primary);font-size:.95rem;font-weight:700}.insight-items{color:var(--text-secondary);flex-direction:column;gap:6px;padding-left:18px;font-size:.85rem;line-height:1.5;list-style:outside;display:flex}.report-corrections-container{flex-direction:column;gap:12px;display:flex}.corrections-title{font-family:var(--font-display);color:var(--text-primary);margin:0;font-size:.98rem;font-weight:700}.corrections-list-wrap{flex-direction:column;gap:10px;display:flex}.report-correction-item{background:var(--bg-subtle);border:1px solid var(--border-light);border-radius:var(--radius-md);flex-direction:column;gap:8px;padding:14px 18px;display:flex}.correction-before-after{grid-template-columns:1fr 1fr;gap:12px;display:grid}.correction-row{flex-direction:column;gap:3px;display:flex}.correction-tag{text-transform:uppercase;letter-spacing:.04em;font-size:.68rem;font-weight:700}.correction-row.original .correction-tag{color:#ef4444}.correction-row.improved .correction-tag{color:#10b981}.correction-text{color:var(--text-primary);margin:0;font-size:.88rem;line-height:1.4}.correction-row.improved .correction-text{font-weight:600}.correction-reason{color:var(--text-secondary);border-top:1px dashed var(--border-light);margin:0;padding-top:6px;font-size:.78rem;line-height:1.4}@media (width<=600px){.correction-before-after{grid-template-columns:1fr}}.correction-action-footer{justify-content:flex-end;margin-top:4px;display:flex}.correction-practice-btn{color:var(--primary);border-radius:var(--radius-full);cursor:pointer;background:#6366f114;border:1px solid #6366f138;align-items:center;gap:6px;padding:5px 12px;font-size:.76rem;font-weight:600;transition:all .2s;display:inline-flex}.correction-practice-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-1px)}.recommended-practice-banner{border-radius:var(--radius-lg);background:linear-gradient(135deg,#eef2ff 0%,#f5f3ff 100%);border:1.5px solid #4f46e540;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:18px 24px;display:flex}.rec-text-wrap{flex-direction:column;gap:4px;display:flex}.rec-badge{text-transform:uppercase;color:var(--primary);align-items:center;gap:6px;font-size:.75rem;font-weight:700;display:inline-flex}.rec-action-text{color:var(--text-primary);font-size:1rem;font-weight:700}.report-footer-actions{border-top:1px solid var(--border-light);background:var(--bg-subtle);justify-content:flex-end;align-items:center;gap:14px;padding:18px 32px;display:flex}@media (width<=680px){.report-scores-container{grid-template-columns:1fr}.report-main-score{border-right:none;border-bottom:1px solid var(--border-light);padding-bottom:16px;padding-right:0}.report-insights-grid{grid-template-columns:1fr}.report-footer-actions{flex-direction:column-reverse}.report-footer-actions .btn{width:100%}}.realtime-call-overlay{-webkit-backdrop-filter:blur(24px);z-index:1300;background:#080c16e0;justify-content:center;align-items:center;padding:20px;animation:.25s ease-out callFadeIn;display:flex;position:fixed;inset:0}@keyframes callFadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.realtime-call-card{color:#fff;background:radial-gradient(circle at 50% 15%,#181d33 0%,#0b0e1b 100%);border:1px solid #ffffff1a;border-radius:28px;flex-direction:column;justify-content:space-between;width:100%;max-width:560px;height:86vh;max-height:700px;padding:24px 28px;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 60px -15px #000c,0 0 50px #6366f126}.call-top-bar{z-index:20;justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex;position:relative}.call-header-left{align-items:center;gap:8px;display:flex}.call-status-pill{background:#ffffff0f;border:1px solid #ffffff14;border-radius:20px;align-items:center;gap:7px;padding:5px 12px;display:flex}.live-call-dot{background:#10b981;border-radius:50%;width:7px;height:7px;animation:1.8s infinite livePulse;box-shadow:0 0 8px #10b981}.live-call-dot.speaking{background:#ec4899;box-shadow:0 0 8px #ec4899}.live-call-dot.processing{background:#f59e0b;box-shadow:0 0 8px #f59e0b}.live-call-dot.ready{background:#3b82f6;box-shadow:0 0 8px #3b82f6}.live-call-dot.error{background:#ef4444;animation:none;box-shadow:0 0 8px #ef4444}.live-call-dot.muted{box-shadow:none;background:#94a3b8;animation:none}@keyframes livePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.9)}}.call-title-text{letter-spacing:.03em;color:#e2e8f0;text-transform:uppercase;font-size:.78rem;font-weight:700}.call-mode-pill{color:#a5b4fc;text-transform:capitalize;background:#6366f126;border:1px solid #6366f140;border-radius:20px;padding:4px 10px;font-size:.72rem;font-weight:600}.call-header-right{align-items:center;gap:8px;display:flex}.call-timer-badge{font-family:var(--font-display,monospace);color:#cbd5e1;background:#00000059;border:1px solid #ffffff14;border-radius:16px;padding:4px 11px;font-size:.85rem;font-weight:700}.voice-menu-wrapper{position:relative}.minimal-voice-btn{color:#e2e8f0;cursor:pointer;background:#ffffff12;border:1px solid #ffffff1f;border-radius:16px;align-items:center;gap:6px;padding:5px 11px;font-size:.76rem;font-weight:600;transition:all .2s;display:inline-flex}.minimal-voice-btn:hover{background:#ffffff1f;border-color:#fff3}.chevron-icon{color:#94a3b8;transition:transform .2s}.chevron-icon.rotated{transform:rotate(180deg)}.voice-dropdown-menu{z-index:50;background:#151a2e;border:1px solid #ffffff24;border-radius:16px;min-width:170px;padding:6px;animation:.15s ease-out callFadeIn;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 15px 35px #0009}.voice-dropdown-header{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;padding:6px 10px 4px;font-size:.68rem;font-weight:700}.voice-menu-item{color:#cbd5e1;cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:space-between;align-items:center;width:100%;padding:7px 10px;font-size:.78rem;transition:background .15s;display:flex}.voice-menu-item:hover{color:#fff;background:#ffffff14}.voice-menu-item.active{color:#818cf8;background:#6366f140;font-weight:700}.voice-item-name{font-weight:600}.voice-item-style{color:#94a3b8;font-size:.68rem}.call-center-stage{flex-direction:column;justify-content:center;align-items:center;margin:10px 0;display:flex;position:relative}.sound-orb-sphere{justify-content:center;align-items:center;width:124px;height:124px;margin-bottom:14px;transition:transform .15s cubic-bezier(.2,.8,.2,1);display:flex;position:relative}.orb-halo{filter:blur(14px);pointer-events:none;background:radial-gradient(circle,#6366f159 0%,#6366f100 70%);border-radius:50%;transition:all .5s;position:absolute;inset:-12px}.sound-orb-sphere.state-listening .orb-halo{background:radial-gradient(circle,#06b6d473 0%,#06b6d400 70%);animation:3s ease-in-out infinite orbBreath}.sound-orb-sphere.state-speaking .orb-halo{background:radial-gradient(circle,#ec489980 0%,#8b5cf600 70%);animation:1.6s ease-in-out infinite orbResonate}.sound-orb-sphere.state-processing .orb-halo{background:radial-gradient(circle,#f59e0b66 0%,#f59e0b00 70%)}.sound-orb-sphere.state-ready .orb-halo{background:radial-gradient(circle,#3b82f659 0%,#3b82f600 70%)}.sound-orb-sphere.state-error .orb-halo{background:radial-gradient(circle,#ef444466 0%,#ef444400 70%)}.sound-orb-sphere.state-muted .orb-halo{background:0 0}.orb-core{z-index:2;border-radius:50%;justify-content:center;align-items:center;width:90px;height:90px;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.sound-orb-sphere.state-listening .orb-core{background:linear-gradient(135deg,#06b6d4 0%,#3b82f6 100%);box-shadow:0 0 35px #06b6d48c}.sound-orb-sphere.state-ready .orb-core{background:linear-gradient(135deg,#3b82f6 0%,#1d4ed8 100%);box-shadow:0 0 30px #3b82f673}.sound-orb-sphere.state-speaking .orb-core{background:linear-gradient(135deg,#8b5cf6 0%,#ec4899 100%);box-shadow:0 0 45px #ec489999}.sound-orb-sphere.state-processing .orb-core{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);box-shadow:0 0 30px #f59e0b80}.sound-orb-sphere.state-error .orb-core{background:linear-gradient(135deg,#ef4444 0%,#b91c1c 100%);box-shadow:0 0 35px #ef44448c}.sound-orb-sphere.state-connecting .orb-core{background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);box-shadow:0 0 30px #6366f173}.sound-orb-sphere.state-muted .orb-core{box-shadow:none;background:#334155}.orb-svg{color:#fff}.orb-svg.spin{animation:2s linear infinite orbSpin}.orb-svg.pulse{animation:1.4s ease-in-out infinite svgPulse}.orb-svg.breathing{animation:2.5s ease-in-out infinite svgBreath}@keyframes orbSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes svgPulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@keyframes svgBreath{0%,to{opacity:.9;transform:scale(.96)}50%{opacity:1;transform:scale(1.05)}}@keyframes orbBreath{0%,to{opacity:.7;transform:scale(.95)}50%{opacity:1;transform:scale(1.15)}}@keyframes orbResonate{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.22)}}.call-caption-row{text-align:center;min-height:24px}.status-label{font-size:.88rem;font-weight:500;transition:color .3s}.status-label.listening{color:#38bdf8;font-weight:600}.status-label.ready{color:#93c5fd;font-weight:600}.status-label.speaking{color:#f472b6;font-weight:600}.status-label.processing{color:#fcd34d;font-style:italic}.status-label.error{color:#fca5a5;font-weight:600}.status-label.connecting{color:#a5b4fc}.status-label.muted{color:#94a3b8}.call-alert-banner{border-radius:12px;align-items:center;gap:8px;max-width:90%;margin-top:10px;padding:6px 14px;font-size:.78rem;display:inline-flex}.call-alert-banner.warning{color:#fcd34d;background:#f59e0b26;border:1px solid #f59e0b59}.call-alert-banner.danger{color:#fca5a5;background:#ef444426;border:1px solid #ef444459}.banner-action-btn{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:6px;margin-left:6px;padding:3px 8px;font-size:.72rem;font-weight:700}.banner-action-btn.retry{background:#d97706;border-radius:8px;align-items:center;gap:4px;padding:4px 10px;display:inline-flex}.banner-action-btn.retry:hover{background:#b45309}.active-subtitle-card{text-align:center;background:#0000004d;border:1px solid #ffffff14;border-radius:20px;justify-content:center;align-items:center;min-height:80px;max-height:110px;padding:14px 18px;display:flex;overflow:hidden}.subtitle-turn{flex-direction:column;align-items:center;gap:4px;width:100%;display:flex}.turn-tag{text-transform:uppercase;letter-spacing:.04em;font-size:.68rem;font-weight:700}.turn-tag.you{color:#38bdf8}.turn-tag.coach{color:#c084fc}.subtitle-text{color:#f1f5f9;max-height:60px;font-size:.92rem;line-height:1.45;overflow-y:auto}.subtitle-text.live{color:#38bdf8;font-style:italic;font-weight:500}.subtitle-placeholder{color:#64748b;font-size:.85rem;font-style:italic}.dialogue-feed-container{background:#00000059;border:1px solid #ffffff14;border-radius:20px;height:160px;padding:12px 16px;overflow:hidden}.dialogue-scroll-area{flex-direction:column;gap:8px;height:100%;padding-right:4px;display:flex;overflow-y:auto}.dialogue-item{flex-direction:column;gap:2px;display:flex}.dialogue-item.user{align-items:flex-end}.dialogue-item.ai{align-items:flex-start}.dialogue-who{text-transform:uppercase;letter-spacing:.03em;color:#94a3b8;padding:0 4px;font-size:.65rem;font-weight:700}.dialogue-bubble{border-radius:14px;max-width:82%;padding:8px 12px;font-size:.82rem;line-height:1.4}.dialogue-item.user .dialogue-bubble{color:#fff;background:linear-gradient(135deg,#0284c7 0%,#2563eb 100%);border-bottom-right-radius:4px}.dialogue-item.ai .dialogue-bubble{color:#e2e8f0;background:#ffffff17;border:1px solid #ffffff14;border-bottom-left-radius:4px}.dialogue-correction-chip{color:#fde68a;background:#f59e0b2e;border:1px solid #f59e0b59;border-radius:8px;align-items:center;gap:5px;margin-top:5px;padding:4px 8px;font-size:.72rem;display:flex}.chip-badge{color:#f59e0b;font-weight:700}.topic-sparks-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin:8px 0 4px;display:flex}.sparks-label{text-transform:uppercase;color:#64748b;letter-spacing:.04em;margin-right:2px;font-size:.68rem;font-weight:700}.spark-pill-btn{color:#cbd5e1;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff17;border-radius:16px;align-items:center;gap:5px;padding:4px 10px;font-size:.72rem;font-weight:600;transition:all .2s;display:inline-flex}.spark-pill-btn:hover{color:#fff;background:#6366f133;border-color:#818cf866;transform:translateY(-1px)}.minimal-controls-deck{border-top:1px solid #ffffff14;justify-content:center;align-items:center;gap:12px;padding-top:12px;display:flex}.deck-btn{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.deck-btn:hover:not(:disabled){background:#ffffff29;transform:translateY(-2px)}.deck-btn:disabled{opacity:.35;cursor:not-allowed}.deck-btn.active-danger{color:#fca5a5;background:#ef444440;border-color:#ef4444}.deck-btn.active-primary{color:#c7d2fe;background:#6366f14d;border-color:#818cf8}.deck-btn.active-listening{color:#38bdf8;background:#06b6d440;border-color:#06b6d4;box-shadow:0 0 14px #06b6d466}.deck-btn.retry-btn{color:#fcd34d;background:#f59e0b38;border-color:#f59e0b;animation:1.8s infinite livePulse}.deck-btn.interrupt-btn{color:#f472b6;background:#ec489940;border-color:#ec4899}.deck-btn.send-btn{color:#38bdf8;background:#06b6d440;border-color:#06b6d4;animation:1.4s infinite livePulse}.end-call-pill{color:#fff;background:#ef4444;border:1px solid #dc2626;border-radius:22px;gap:7px;width:auto;height:44px;padding:0 18px;font-size:.8rem;font-weight:700;box-shadow:0 4px 14px #ef444459}.end-call-pill:hover{background:#dc2626;transform:translateY(-2px);box-shadow:0 6px 18px #ef444480}.call-summary-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;background:#0b0e1bf2;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out callFadeIn;display:flex;position:absolute;inset:0}.call-summary-card{text-align:center;background:radial-gradient(circle at 50% 20%,#1e2340 0%,#101324 100%);border:1px solid #ffffff24;border-radius:24px;width:100%;max-width:420px;padding:28px 24px;box-shadow:0 20px 50px #000000b3}.summary-trophy-badge{margin-bottom:8px;font-size:2.2rem}.summary-heading{color:#fff;margin:0 0 6px;font-size:1.3rem;font-weight:800}.summary-desc{color:#94a3b8;margin:0 0 20px;font-size:.84rem;line-height:1.45}.summary-metrics-row{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:24px;display:grid}.summary-metric-item{background:#ffffff0d;border:1px solid #ffffff14;border-radius:14px;flex-direction:column;gap:4px;padding:12px 6px;display:flex}.metric-title{color:#94a3b8;text-transform:uppercase;letter-spacing:.03em;font-size:.68rem;font-weight:600}.summary-primary-action{margin-bottom:12px}.summary-btn.analyze{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 50%,#ec4899 100%);border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;padding:13px 20px;font-size:.9rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 4px 18px #8b5cf673}.summary-btn.analyze:hover{transform:translateY(-2px);box-shadow:0 6px 24px #8b5cf699}.summary-action-row{gap:10px;display:flex}.summary-btn{cursor:pointer;border:none;border-radius:14px;flex:1;justify-content:center;align-items:center;gap:6px;padding:11px 16px;font-size:.82rem;font-weight:700;transition:all .2s;display:inline-flex}.summary-btn.retry{color:#fff;background:#ffffff1a;border:1px solid #ffffff26}.summary-btn.retry:hover{background:#ffffff2e}.summary-btn.done{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);box-shadow:0 4px 12px #4f46e566}.summary-btn.done:hover{background:linear-gradient(135deg,#4f46e5 0%,#4338ca 100%);transform:translateY(-1px)}@media (width<=640px){.realtime-call-card{border-radius:22px;height:92vh;padding:20px 16px}.sound-orb-sphere{width:105px;height:105px}.orb-core{width:76px;height:76px}.active-subtitle-card{min-height:70px;padding:10px 14px}.dialogue-feed-container{height:130px}.deck-btn{width:40px;height:40px}.end-call-pill{height:40px;padding:0 14px}}.ai-coach-section{background:var(--bg-main);padding:60px 0 80px}.ai-coach-header{margin-bottom:36px}.section-badge-indigo{background:var(--primary-light);color:var(--primary);border-color:#4f46e533}.ai-coach-card{background:var(--bg-card,#fff);border-radius:var(--radius-xl);border:1.5px solid var(--border-light);max-width:980px;box-shadow:var(--shadow-xl);flex-direction:column;gap:20px;margin:0 auto;padding:28px;display:flex;position:relative}.ai-coach-toolbar{border-bottom:1px solid var(--border-light);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-bottom:18px;display:flex}.toolbar-top-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tool-btn{background:var(--bg-card,#fff);border:1.5px solid var(--border-light);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:600;display:inline-flex}.tool-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--bg-muted)}.realtime-voice-tool-btn{color:#fff;background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);border:none;font-weight:700;box-shadow:0 4px 14px -2px #4f46e566}.realtime-voice-tool-btn:hover{filter:brightness(1.1);color:#fff;transform:translateY(-1px);box-shadow:0 6px 18px -2px #4f46e580}.live-call-pulse-icon{color:#38bdf8;animation:1.5s infinite liveDot}.improver-tool-btn{color:#0891b2;background:var(--accent-cyan-light);border-color:#06b6d44d}.improver-tool-btn:hover{color:#0e7490;background:#e0f2fe;border-color:#0891b2}.end-convo-btn{color:#dc2626;background:var(--accent-rose-light);border-color:#ef44444d}.end-convo-btn:hover{color:#b91c1c;background:#fee2e2;border-color:#dc2626}.reset-chat-btn{padding:6px 10px}.ai-coach-settings-shelf{background:var(--bg-subtle);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:16px 20px}.chat-layout-wrapper{flex-direction:column;gap:16px;display:flex}.ai-coach-footer-note{color:var(--text-muted);text-align:center;border-top:1px dashed var(--border-light);justify-content:center;align-items:center;gap:8px;padding-top:10px;font-size:.78rem;display:flex}.security-icon{color:var(--accent-emerald);flex-shrink:0}.improver-modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1150;background:#0f172a99;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.improver-modal-dialog{width:100%;max-width:820px;max-height:90vh;overflow-y:auto}@media (width<=768px){.ai-coach-card{padding:18px 14px}.ai-coach-toolbar{flex-direction:column;align-items:flex-start}.toolbar-top-actions{justify-content:space-between;width:100%}}.interview-simulator-section{background:var(--bg-main);padding:80px 0 100px;position:relative;overflow:hidden}.interview-simulator-section:before{content:"";background:radial-gradient(circle, var(--primary-glow) 0%, transparent 70%);opacity:.6;pointer-events:none;z-index:0;width:900px;height:450px;position:absolute;top:0;left:50%;transform:translate(-50%)}.interview-container{z-index:1;max-width:1200px;margin:0 auto;padding:0 24px;position:relative}.interview-header{text-align:center;max-width:720px;margin:0 auto 40px}.interview-badge{border-radius:var(--radius-full);background:var(--primary-light);color:var(--primary);border:1px solid #6366f140;align-items:center;gap:8px;margin-bottom:14px;padding:6px 16px;font-size:13px;font-weight:600;display:inline-flex;box-shadow:0 2px 8px #6366f11f}.interview-title{font-size:38px;font-weight:800;font-family:var(--font-display);color:var(--text-main);letter-spacing:-.02em;margin-bottom:14px;line-height:1.2}.interview-title span{background:linear-gradient(135deg, var(--primary) 0%, #06b6d4 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.interview-subtitle{color:var(--text-secondary);margin:0 auto 24px;font-size:16px;line-height:1.6}.interview-header-actions{justify-content:center;align-items:center;gap:14px;display:flex}.history-trigger-btn{border-radius:var(--radius-full);background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:600;display:inline-flex}.history-trigger-btn:hover{background:var(--bg-muted);color:var(--text-main);border-color:var(--border-focus)}.setup-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:36px 40px}.setup-grid{grid-template-columns:repeat(2,1fr);gap:26px 32px;margin-bottom:32px;display:grid}.setup-group{flex-direction:column;gap:10px;display:flex}.setup-group.full-width{grid-column:span 2}.setup-label{color:var(--text-main);justify-content:space-between;align-items:center;font-size:14px;font-weight:700;display:flex}.setup-label-hint{color:var(--text-muted);font-size:12px;font-weight:400}.chip-group{flex-wrap:wrap;gap:8px;display:flex}.chip-btn{border-radius:var(--radius-md);background:var(--bg-muted);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000;padding:8px 14px;font-size:13px;font-weight:600}.chip-btn:hover{background:var(--primary-light);color:var(--primary)}.chip-btn.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 4px 12px #4f46e54d}.custom-role-input-wrap{gap:8px;margin-top:6px;display:flex}.custom-role-input{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-main);color:var(--text-main);transition:border-color var(--transition-fast);outline:none;flex:1;padding:10px 14px;font-size:14px}.custom-role-input:focus{border-color:var(--primary)}.setup-actions{border-top:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:24px;display:flex}.setup-summary-text{color:var(--text-secondary);align-items:center;gap:8px;font-size:13px;display:flex}.setup-start-btn{border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--primary) 0%, #4338ca 100%);color:#fff;cursor:pointer;box-shadow:var(--shadow-primary);transition:all var(--transition-fast);border:none;align-items:center;gap:10px;padding:14px 28px;font-size:15px;font-weight:700;display:inline-flex}.setup-start-btn:hover{box-shadow:var(--shadow-primary-lg);transform:translateY(-2px)}.room-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:30px}.room-progress-meta{flex:1;align-items:center;gap:14px;min-width:260px;display:flex}.room-question-step{color:var(--text-main);white-space:nowrap;font-size:14px;font-weight:700}.room-progress-track{background:var(--bg-muted);border-radius:var(--radius-full);flex:1;height:8px;overflow:hidden}.room-progress-fill{background:linear-gradient(90deg, var(--primary) 0%, #06b6d4 100%);border-radius:var(--radius-full);height:100%;transition:width .4s}.room-badges-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.room-badge{border-radius:var(--radius-full);background:var(--bg-muted);color:var(--text-secondary);padding:4px 10px;font-size:12px;font-weight:600}.room-badge.role{background:var(--primary-light);color:var(--primary)}.room-badge.diff-easy{background:var(--accent-emerald-light);color:var(--accent-emerald)}.room-badge.diff-medium{background:var(--accent-amber-light);color:var(--accent-amber)}.room-badge.diff-hard{background:var(--accent-rose-light);color:var(--accent-rose)}.room-end-btn{border-radius:var(--radius-md);border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.room-end-btn:hover{background:var(--accent-rose-light);color:var(--accent-rose);border-color:#ef44444d}.interviewer-box{background:var(--bg-main);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:24px;padding:24px 28px;position:relative}.interviewer-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.interviewer-identity{align-items:center;gap:12px;display:flex}.interviewer-avatar{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--primary) 0%, #7c3aed 100%);color:#fff;width:44px;height:44px;box-shadow:0 4px 12px var(--primary-glow);justify-content:center;align-items:center;display:flex;position:relative}.interviewer-avatar.speaking{animation:1.5s infinite pulse-avatar}@keyframes pulse-avatar{0%{box-shadow:0 0 0 0 var(--primary-glow)}70%{box-shadow:0 0 0 10px #6366f100}to{box-shadow:0 0 #6366f100}}.interviewer-name-row{flex-direction:column;display:flex}.interviewer-name{color:var(--text-main);font-size:15px;font-weight:700}.interviewer-status{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:flex}.status-dot{border-radius:var(--radius-full);background:var(--accent-emerald);width:8px;height:8px}.status-dot.speaking{background:#06b6d4;animation:1s infinite blink-dot}@keyframes blink-dot{0%,to{opacity:1}50%{opacity:.3}}.replay-btn{border-radius:var(--radius-full);background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:600;display:inline-flex}.replay-btn:hover:not(:disabled){background:var(--primary-light);color:var(--primary);border-color:var(--border-focus)}.replay-btn:disabled{opacity:.5;cursor:not-allowed}.interviewer-acknowledgment{color:var(--text-muted);margin-bottom:8px;padding-left:2px;font-size:13.5px;font-style:italic}.interviewer-question-text{font-size:20px;font-weight:700;font-family:var(--font-display);color:var(--text-main);margin-bottom:12px;line-height:1.45}.question-tip-pill{background:var(--primary-light);color:var(--primary);border-radius:var(--radius-md);align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.candidate-box{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px}.candidate-box-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.candidate-title-group{color:var(--text-main);align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.timer-indicator{border-radius:var(--radius-full);background:var(--bg-muted);color:var(--text-secondary);border:1px solid var(--border-color);align-items:center;gap:6px;padding:4px 12px;font-size:13px;font-weight:700;display:inline-flex}.timer-indicator.warning{background:var(--accent-rose-light);color:var(--accent-rose);border-color:#ef444466;animation:1s infinite pulse-timer}@keyframes pulse-timer{0%,to{opacity:1}50%{opacity:.7}}.timer-warning-msg{color:var(--accent-rose);margin-bottom:10px;font-size:12px;font-weight:600}.voice-controls-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.voice-primary-btn{border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);border:none;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:700;display:inline-flex}.voice-primary-btn.start{background:linear-gradient(135deg, var(--primary) 0%, #4338ca 100%);color:#fff;box-shadow:0 4px 14px var(--primary-glow)}.voice-primary-btn.start:hover{transform:translateY(-2px)}.voice-primary-btn.stop{color:#fff;background:#ef4444;animation:1.5s infinite live-pulse;box-shadow:0 4px 14px #ef444459}@keyframes live-pulse{0%{box-shadow:0 0 #ef444466}70%{box-shadow:0 0 0 10px #ef444400}to{box-shadow:0 0 #ef444400}}.voice-mode-toggle-btn{border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;background:0 0;padding:6px 12px;font-size:12px;font-weight:600}.voice-mode-toggle-btn:hover{background:var(--bg-muted);color:var(--text-main)}.transcript-card{background:var(--bg-main);border:1px solid var(--border-color);border-radius:var(--radius-md);min-height:110px;margin-bottom:16px;padding:16px;position:relative}.transcript-card.speaking{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-glow)}.transcript-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.transcript-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:12px;font-weight:700}.transcript-edit-btn{color:var(--primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;font-size:12px;font-weight:600;display:inline-flex}.transcript-body{color:var(--text-main);font-size:15px;line-height:1.6}.transcript-body.empty{color:var(--text-muted);font-style:italic}.transcript-live-interim{color:var(--primary);opacity:.95;border-radius:var(--radius-sm);background:#6366f114;padding:1px 6px;font-style:italic;display:inline}.transcript-placeholder.listening{color:var(--primary);align-items:center;gap:8px;font-style:normal;font-weight:500;display:inline-flex}.live-speech-pulse{border-radius:var(--radius-full);background:#ef4444;flex-shrink:0;width:8px;height:8px;animation:1.2s infinite live-pulse;display:inline-block}.transcript-textarea{border:1px solid var(--primary);border-radius:var(--radius-sm);background:var(--bg-card);width:100%;min-height:90px;color:var(--text-main);resize:vertical;outline:none;padding:10px;font-family:inherit;font-size:14.5px;line-height:1.5}.text-input-wrap{margin-bottom:16px}.candidate-textarea{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-main);width:100%;min-height:130px;color:var(--text-main);resize:vertical;transition:border-color var(--transition-fast);outline:none;padding:14px;font-family:inherit;font-size:15px;line-height:1.6}.candidate-textarea:focus{border-color:var(--primary)}.text-meta-row{color:var(--text-muted);justify-content:space-between;margin-top:6px;font-size:12px;display:flex}.candidate-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.try-again-btn{border-radius:var(--radius-md);background:var(--bg-muted);color:var(--text-secondary);border:1px solid var(--border-color);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:6px;padding:10px 18px;font-size:13.5px;font-weight:600;display:inline-flex}.try-again-btn:hover:not(:disabled){background:var(--bg-card);color:var(--text-main)}.submit-answer-btn{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--primary) 0%, #4338ca 100%);color:#fff;cursor:pointer;box-shadow:0 4px 12px var(--primary-glow);transition:all var(--transition-fast);border:none;align-items:center;gap:8px;padding:10px 24px;font-size:14px;font-weight:700;display:inline-flex}.submit-answer-btn:hover:not(:disabled){box-shadow:var(--shadow-primary);transform:translateY(-1px)}.submit-answer-btn:disabled,.try-again-btn:disabled{opacity:.5;cursor:not-allowed}.room-error-banner{border-radius:var(--radius-md);background:var(--accent-rose-light);color:var(--accent-rose);border:1px solid #ef444440;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px 16px;font-size:13px;font-weight:500;display:flex}.room-error-actions{gap:8px;display:flex}.completed-card{text-align:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:680px;margin:0 auto;padding:60px 40px}.completed-icon-wrap{border-radius:var(--radius-full);background:var(--accent-emerald-light);width:80px;height:80px;color:var(--accent-emerald);justify-content:center;align-items:center;margin:0 auto 24px;display:flex;box-shadow:0 8px 24px #10b98133}.completed-title{font-size:32px;font-weight:800;font-family:var(--font-display);color:var(--text-main);margin-bottom:12px}.completed-subtext{color:var(--text-secondary);max-width:480px;margin-bottom:30px;margin-left:auto;margin-right:auto;font-size:15px;line-height:1.6}.completed-stats-row{flex-wrap:wrap;justify-content:center;gap:20px;margin-bottom:36px;display:flex}.completed-stat-box{background:var(--bg-muted);border-radius:var(--radius-md);min-width:120px;padding:12px 20px}.stat-box-val{color:var(--text-main);font-size:20px;font-weight:800}.stat-box-label{color:var(--text-muted);font-size:12px;font-weight:600}.generate-report-btn{border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--primary) 0%, #06b6d4 100%);color:#fff;cursor:pointer;box-shadow:var(--shadow-primary);transition:all var(--transition-fast);border:none;align-items:center;gap:10px;padding:16px 36px;font-size:16px;font-weight:700;display:inline-flex}.generate-report-btn:hover:not(:disabled){box-shadow:var(--shadow-primary-lg);transform:translateY(-2px)}.report-view{flex-direction:column;gap:30px;display:flex}.report-hero-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);grid-template-columns:240px 1fr;align-items:center;gap:40px;padding:36px;display:grid}.report-radial-wrap{text-align:center;flex-direction:column;align-items:center;display:flex}.report-radial-score{width:160px;height:160px;position:relative}.report-radial-score svg{transform:rotate(-90deg)}.report-score-center{text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.score-big{font-size:42px;font-weight:800;font-family:var(--font-display);color:var(--text-main);line-height:1}.score-denom{color:var(--text-muted);font-size:13px;font-weight:600}.score-status-pill{border-radius:var(--radius-full);align-items:center;gap:6px;margin-top:14px;padding:6px 14px;font-size:12.5px;font-weight:700;display:inline-flex}.score-status-pill.high{background:var(--accent-emerald-light);color:var(--accent-emerald)}.score-status-pill.mid{background:var(--accent-amber-light);color:var(--accent-amber)}.score-status-pill.low{background:var(--accent-rose-light);color:var(--accent-rose)}.report-hero-info{flex-direction:column;gap:12px;display:flex}.report-role-tag{color:var(--primary);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:700}.report-main-heading{font-size:26px;font-weight:800;font-family:var(--font-display);color:var(--text-main)}.report-summary-text{color:var(--text-secondary);font-size:14.5px;line-height:1.6}.report-notice-alert{border-radius:var(--radius-md);background:var(--bg-muted);border:1px solid var(--border-color);color:var(--text-muted);align-items:center;gap:8px;padding:10px 14px;font-size:12px;display:flex}.competencies-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:30px}.competencies-title{color:var(--text-main);margin-bottom:20px;font-size:18px;font-weight:700}.competencies-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.competency-item{background:var(--bg-main);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-direction:column;gap:8px;padding:16px;display:flex}.comp-header{justify-content:space-between;align-items:center;display:flex}.comp-name{color:var(--text-secondary);font-size:13px;font-weight:700}.comp-score{color:var(--text-main);font-size:14px;font-weight:800}.comp-track{background:var(--bg-muted);border-radius:var(--radius-full);height:6px;overflow:hidden}.comp-fill{border-radius:var(--radius-full);background:var(--primary);height:100%}.report-insights-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.insight-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:26px}.insight-card-title{color:var(--text-main);align-items:center;gap:8px;margin-bottom:16px;font-size:16px;font-weight:700;display:flex}.strengths-list{flex-direction:column;gap:10px;display:flex}.strength-item{color:var(--text-secondary);align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;display:flex}.strength-icon{color:var(--accent-emerald);flex-shrink:0;margin-top:2px}.grammar-corrections-list{flex-direction:column;gap:12px;display:flex}.grammar-item{background:var(--bg-main);border-left:3px solid var(--accent-rose);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:10px 12px;font-size:13px}.grammar-orig{color:var(--accent-rose);margin-bottom:4px;text-decoration:line-through}.grammar-fix{color:var(--accent-emerald);margin-bottom:4px;font-weight:600}.grammar-explain{color:var(--text-muted);font-size:12px}.questions-feedback-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:30px}.qa-feedback-list{flex-direction:column;gap:20px;margin-top:18px;display:flex}.qa-feedback-item{background:var(--bg-main);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:22px}.qa-header-row{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.qa-num-badge{color:var(--primary);background:var(--primary-light);border-radius:var(--radius-full);padding:3px 10px;font-size:12px;font-weight:700}.qa-question-text{color:var(--text-main);margin-bottom:12px;font-size:16px;font-weight:700}.qa-answer-block{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);margin-bottom:14px;padding:12px 16px;font-size:13.5px;line-height:1.55}.qa-critique-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:12px;display:grid}.critique-col{border-radius:var(--radius-md);padding:10px 14px}.critique-col.good{background:var(--accent-emerald-light)}.critique-col.improve{background:var(--accent-amber-light)}.critique-col-title{align-items:center;gap:6px;margin-bottom:6px;font-size:12px;font-weight:700;display:flex}.critique-col.good .critique-col-title{color:var(--accent-emerald)}.critique-col.improve .critique-col-title{color:var(--accent-amber)}.critique-list{color:var(--text-secondary);margin:0;padding-left:18px;font-size:12.5px;line-height:1.5}.star-analysis-box{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:12px;padding:12px 16px}.star-badges-row{flex-wrap:wrap;gap:12px;margin-bottom:6px;display:flex}.star-pill{border-radius:var(--radius-full);align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.star-pill.passed{background:var(--accent-emerald-light);color:var(--accent-emerald)}.star-pill.missed{background:var(--accent-rose-light);color:var(--accent-rose)}.star-advice{color:var(--text-secondary);font-size:12px;font-style:italic}.better-structure-box{color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:10px 14px;font-size:12.5px}.better-structure-box strong{color:var(--text-main)}.plan-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:30px}.plan-days-list{grid-template-columns:repeat(5,1fr);gap:14px;margin-top:18px;display:grid}.plan-day-item{background:var(--bg-main);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-direction:column;gap:6px;padding:16px 14px;display:flex}.plan-day-badge{color:var(--primary);text-transform:uppercase;font-size:11px;font-weight:800}.plan-day-title{color:var(--text-main);font-size:13px;font-weight:700;line-height:1.35}.plan-day-focus{color:var(--text-secondary);font-size:11.5px;line-height:1.5}.report-actions-footer{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;padding:20px 0;display:flex}.report-action-btn{border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:700;display:inline-flex}.report-action-btn.primary{background:linear-gradient(135deg, var(--primary) 0%, #4338ca 100%);color:#fff;box-shadow:var(--shadow-primary);border:none}.report-action-btn.primary:hover{box-shadow:var(--shadow-primary-lg);transform:translateY(-2px)}.report-action-btn.secondary{background:var(--bg-card);color:var(--text-main);border:1px solid var(--border-color)}.report-action-btn.secondary:hover{background:var(--bg-muted);border-color:var(--border-focus)}.history-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172ab3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.history-modal-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);width:100%;max-width:650px;max-height:85vh;box-shadow:var(--shadow-xl);flex-direction:column;display:flex;overflow:hidden}.history-modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.history-modal-title{color:var(--text-main);align-items:center;gap:10px;font-size:18px;font-weight:700;display:flex}.history-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none}.history-close-btn:hover{color:var(--text-main)}.history-modal-body{flex:1;padding:20px 24px;overflow-y:auto}.history-empty-state{text-align:center;color:var(--text-muted);padding:40px 20px}.history-items-list{flex-direction:column;gap:12px;display:flex}.history-item-row{background:var(--bg-main);border:1px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.history-item-row:hover{border-color:var(--primary);transform:translate(3px)}.history-item-info{flex-direction:column;gap:3px;display:flex}.history-role{color:var(--text-main);font-size:14.5px;font-weight:700}.history-meta{color:var(--text-muted);font-size:12px}.history-score-badge{color:var(--primary);background:var(--primary-light);border-radius:var(--radius-full);padding:6px 14px;font-size:14px;font-weight:800}.history-modal-footer{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}@media (width<=900px){.setup-grid{grid-template-columns:1fr}.setup-group.full-width{grid-column:span 1}.report-hero-card{text-align:center;grid-template-columns:1fr}.report-hero-info{align-items:center}.competencies-grid{grid-template-columns:repeat(2,1fr)}.report-insights-grid,.qa-critique-grid,.plan-days-list{grid-template-columns:1fr}}@media (width<=600px){.interview-title{font-size:28px}.setup-card,.room-card,.competencies-card,.questions-feedback-card,.plan-card{padding:20px 16px}.competencies-grid{grid-template-columns:1fr}.interviewer-question-text{font-size:17px}}.roleplay-section{max-width:1200px;margin:0 auto;padding:5rem 1.5rem 6rem;position:relative}.roleplay-header{text-align:center;margin-bottom:3rem}.roleplay-badge{color:#818cf8;background:#6366f11f;border:1px solid #6366f14d;border-radius:9999px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.4rem 1rem;font-size:.875rem;font-weight:600;display:inline-flex;box-shadow:0 0 20px #6366f126}.roleplay-title{letter-spacing:-.02em;background:linear-gradient(135deg,#fff 0%,#cbd5e1 50%,#94a3b8 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.75rem;font-size:clamp(2rem,4vw,2.75rem);font-weight:800}[data-theme=light] .roleplay-title{background:linear-gradient(135deg,#0f172a 0%,#334155 50%,#475569 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.roleplay-subtitle{color:var(--text-muted,#94a3b8);max-width:640px;margin:0 auto;font-size:1.125rem;line-height:1.6}.roleplay-filter-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.roleplay-search-box{flex:1;min-width:260px;position:relative}.roleplay-search-input{background:var(--surface-card,#1e293b99);border:1px solid var(--border-color,#ffffff1a);width:100%;color:var(--text-primary,#fff);border-radius:.85rem;outline:none;padding:.75rem 2.5rem;font-size:.95rem;transition:all .2s}.roleplay-search-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f133}.roleplay-search-icon{color:var(--text-muted,#94a3b8);pointer-events:none;position:absolute;top:50%;left:.875rem;transform:translateY(-50%)}.roleplay-search-clear{color:var(--text-muted,#94a3b8);cursor:pointer;background:0 0;border:none;border-radius:9999px;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.roleplay-search-clear:hover{color:var(--text-primary,#fff);background:#ffffff1a}.roleplay-difficulty-chips{flex-wrap:wrap;gap:.5rem;display:flex}.roleplay-category-pills-bar{scrollbar-width:thin;align-items:center;gap:.5rem;margin-bottom:1.25rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.roleplay-nav-pill{background:var(--surface-card,#1e293b80);border:1px solid var(--border-color,#ffffff14);color:var(--text-muted,#94a3b8);white-space:nowrap;cursor:pointer;border-radius:9999px;align-items:center;gap:.5rem;padding:.5rem .95rem;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.roleplay-nav-pill:hover{color:var(--text-primary,#fff);background:#6366f11f;border-color:#6366f14d}.roleplay-nav-pill.active{color:#fff;background:#6366f1;border-color:#6366f1;box-shadow:0 4px 12px #6366f159}.roleplay-nav-pill .pill-count{color:inherit;background:#ffffff26;border-radius:9999px;padding:.15rem .45rem;font-size:.725rem}.roleplay-nav-pill.active .pill-count{color:#fff;background:#ffffff40}.roleplay-status-row{color:var(--text-muted,#94a3b8);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.5rem;font-size:.875rem;display:flex}.roleplay-summary-text{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.roleplay-summary-text strong{color:var(--text-primary,#fff)}.roleplay-reset-cat-btn{border:1px solid var(--border-color,#ffffff1f);color:#818cf8;cursor:pointer;background:0 0;border-radius:9999px;padding:.25rem .65rem;font-size:.775rem;font-weight:600;transition:all .2s}.roleplay-reset-cat-btn:hover{background:#6366f11f;border-color:#818cf8}.roleplay-toggle-all-btn{border:1px solid var(--border-color,#ffffff1a);color:var(--text-muted,#94a3b8);cursor:pointer;background:0 0;border-radius:.5rem;align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:.8rem;font-weight:600;transition:all .2s;display:inline-flex}.roleplay-toggle-all-btn:hover{color:var(--text-primary,#fff);background:var(--surface-card,#1e293b80);border-color:#6366f14d}.roleplay-category-boxes-container{flex-direction:column;gap:1.5rem;display:flex}.roleplay-category-box{background:var(--surface-card,#1e293ba6);border:1px solid var(--border-color,#ffffff14);-webkit-backdrop-filter:blur(14px);border-radius:1.25rem;transition:all .25s cubic-bezier(.16,1,.3,1);overflow:hidden}.roleplay-category-box:hover{border-color:#ffffff26;box-shadow:0 8px 24px -6px #0000004d}.roleplay-category-box.category-accent-college{border-left:4px solid #6366f1}.roleplay-category-box.category-accent-workplace{border-left:4px solid #06b6d4}.roleplay-category-box.category-accent-professional{border-left:4px solid #10b981}.roleplay-category-box.category-accent-interview{border-left:4px solid #8b5cf6}.roleplay-category-box.category-accent-social{border-left:4px solid #ec4899}.roleplay-category-box.category-accent-customer_service{border-left:4px solid #f59e0b}.roleplay-category-box.category-accent-presentation{border-left:4px solid #3b82f6}.roleplay-category-box.category-accent-group_discussion{border-left:4px solid #14b8a6}.roleplay-category-box-header{cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff05;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;transition:background .2s;display:flex}.roleplay-category-box-header:hover{background:#ffffff0d}.category-header-main{flex:1;align-items:center;gap:1rem;display:flex}.category-icon-wrapper{border-radius:.85rem;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.category-info-wrap{flex-direction:column;gap:.2rem;display:flex}.category-title-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.category-box-title{color:var(--text-primary,#fff);margin:0;font-size:1.15rem;font-weight:700}.category-scenarios-badge{color:var(--text-muted,#94a3b8);background:#ffffff14;border-radius:9999px;padding:.2rem .6rem;font-size:.75rem;font-weight:600}.category-box-desc{color:var(--text-muted,#94a3b8);margin:0;font-size:.85rem;line-height:1.4}.category-header-actions{align-items:center;gap:.75rem;display:flex}.category-box-toggle-btn{color:var(--text-primary,#fff);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff17;border-radius:.5rem;align-items:center;gap:.4rem;padding:.4rem .8rem;font-size:.8rem;font-weight:600;transition:all .2s;display:inline-flex}.category-box-toggle-btn:hover{color:#818cf8;background:#6366f126;border-color:#6366f14d}.roleplay-category-box-content{border-top:1px solid var(--border-color,#ffffff0f);background:#0f172a40;padding:1.25rem 1.5rem 1.5rem;animation:.2s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.category-no-scenarios{text-align:center;color:var(--text-muted,#94a3b8);padding:1.5rem;font-size:.875rem}.roleplay-scenarios-compact-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem;display:grid}.roleplay-scenario-card{background:var(--surface-card,#1e293b99);border:1px solid var(--border-color,#ffffff14);border-radius:1rem;flex-direction:column;justify-content:space-between;padding:1.25rem;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.roleplay-scenario-card:hover{border-color:#6366f166;transform:translateY(-3px);box-shadow:0 10px 24px -6px #00000059}.scenario-card-body{margin-bottom:1rem}.scenario-card-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.65rem;display:flex}.scenario-character-pill{color:#a5b4fc;background:#6366f11f;border:1px solid #6366f140;border-radius:9999px;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.775rem;font-weight:600;display:inline-flex}.scenario-avatar{font-size:.95rem}.scenario-char-name{white-space:nowrap;text-overflow:ellipsis;max-width:140px;overflow:hidden}.scenario-card-title{color:var(--text-primary,#fff);margin:0 0 .4rem;font-size:1.05rem;font-weight:700;line-height:1.35}.scenario-card-desc{color:var(--text-muted,#94a3b8);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.85rem;line-height:1.45;display:-webkit-box;overflow:hidden}.scenario-card-footer{border-top:1px solid #ffffff0f;justify-content:space-between;align-items:center;gap:.5rem;padding-top:.75rem;display:flex}.scenario-role-hint{color:var(--text-muted,#94a3b8);white-space:nowrap;text-overflow:ellipsis;max-width:160px;font-size:.75rem;overflow:hidden}.scenario-start-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);border:none;border-radius:.6rem;flex-shrink:0;align-items:center;gap:.35rem;padding:.45rem .85rem;font-size:.825rem;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 4px 12px #6366f140}.scenario-start-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #6366f166}.roleplay-empty-state{text-align:center;background:var(--surface-card,#1e293b66);border:1px dashed var(--border-color,#ffffff1f);border-radius:1.25rem;padding:3.5rem 1.5rem}.empty-icon{color:var(--text-muted,#94a3b8);opacity:.5;margin:0 auto .75rem}.empty-title{color:var(--text-primary,#fff);margin-bottom:.5rem;font-size:1.2rem;font-weight:700}.empty-desc{color:var(--text-muted,#94a3b8);max-width:420px;margin:0 auto 1.25rem;font-size:.9rem;line-height:1.5}.roleplay-clear-filters-btn{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:.75rem;padding:.55rem 1.2rem;font-size:.875rem;font-weight:600;transition:all .2s}.roleplay-clear-filters-btn:hover{background:#4f46e5;transform:translateY(-1px)}[data-theme=light] .roleplay-category-box{background:#fff;border-color:#e2e8f0;box-shadow:0 4px 16px -2px #0f172a0d}[data-theme=light] .roleplay-category-box:hover{box-shadow:0 8px 24px -4px #0f172a14}[data-theme=light] .roleplay-scenario-card{background:#f8fafc;border-color:#e2e8f0}[data-theme=light] .roleplay-scenario-card:hover{background:#fff;border-color:#c7d2fe;box-shadow:0 10px 24px -6px #6366f11f}[data-theme=light] .roleplay-nav-pill{color:#64748b;background:#fff;border-color:#e2e8f0}[data-theme=light] .roleplay-nav-pill:hover{color:#0f172a;border-color:#cbd5e1}[data-theme=light] .roleplay-nav-pill.active{color:#fff;background:#4f46e5;border-color:#4f46e5}[data-theme=light] .scenario-character-pill{color:#4338ca;background:#eef2ff;border-color:#c7d2fe}[data-theme=light] .category-box-toggle-btn{color:#475569;background:#f1f5f9;border-color:#e2e8f0}[data-theme=light] .category-box-toggle-btn:hover{color:#0f172a;background:#e2e8f0}.roleplay-modal-overlay{-webkit-backdrop-filter:blur(10px);z-index:1000;background:#0a0f1ccc;justify-content:center;align-items:center;padding:1.5rem;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.roleplay-modal-panel{background:var(--surface-modal,#1e293b);border:1px solid #ffffff1f;border-radius:1.5rem;width:100%;max-width:620px;max-height:90vh;padding:2rem;animation:.25s cubic-bezier(.16,1,.3,1) scaleUp;position:relative;overflow-y:auto;box-shadow:0 24px 48px -12px #0009}.modal-close-btn{color:var(--text-muted,#94a3b8);cursor:pointer;background:#ffffff14;border:none;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;transition:all .2s;display:flex;position:absolute;top:1.5rem;right:1.5rem}.modal-hero-badge{color:#818cf8;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.85rem;font-weight:600;display:inline-flex}.modal-title{color:var(--text-primary,#fff);margin-bottom:.5rem;font-size:1.5rem;font-weight:800}.modal-desc{color:var(--text-muted,#94a3b8);margin-bottom:1.5rem;font-size:.95rem;line-height:1.5}.modal-character-box{background:#6366f114;border:1px solid #6366f140;border-radius:1rem;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem 1.25rem;display:flex}.modal-character-avatar{background:#ffffff14;border-radius:12px;justify-content:center;align-items:center;width:50px;height:50px;font-size:2rem;display:flex}.modal-character-info h4{color:#fff;margin-bottom:.2rem;font-size:1.05rem;font-weight:700}.modal-character-info p{color:#a5b4fc;font-size:.85rem}.setup-form-group{margin-bottom:1.5rem}.setup-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,#94a3b8);margin-bottom:.6rem;font-size:.85rem;font-weight:700;display:block}.setup-options-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;display:grid}.setup-chip{color:var(--text-primary,#fff);cursor:pointer;text-align:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:.75rem;padding:.65rem .9rem;font-size:.875rem;font-weight:600;transition:all .2s}.setup-chip:hover{background:#ffffff14}.setup-chip.active{color:#fff;background:#6366f1;border-color:#6366f1;box-shadow:0 4px 14px #6366f166}.modal-start-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);border:none;border-radius:.875rem;justify-content:center;align-items:center;gap:.6rem;width:100%;padding:.9rem;font-size:1rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 6px 20px #6366f159}.modal-start-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #6366f180}.roleplay-room-container{background:var(--surface-card,#1e293bbf);border:1px solid var(--border-color,#ffffff1a);-webkit-backdrop-filter:blur(16px);border-radius:1.5rem;padding:1.5rem;position:relative;box-shadow:0 20px 48px -12px #00000080}.room-topbar{border-bottom:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.25rem;display:flex}.room-scenario-meta{align-items:center;gap:.75rem;display:flex}.room-character-avatar{background:#6366f126;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.75rem;display:flex}.room-scenario-text h3{color:var(--text-primary,#fff);font-size:1.1rem;font-weight:700}.room-scenario-text p{color:var(--text-muted,#94a3b8);font-size:.85rem}.room-meta-actions{align-items:center;gap:.75rem;display:flex}.room-timer-pill{color:#a5b4fc;background:#ffffff0d;border-radius:.5rem;align-items:center;gap:.4rem;padding:.4rem .8rem;font-family:monospace;font-size:.9rem;font-weight:700;display:inline-flex}.end-roleplay-btn{color:#f87171;cursor:pointer;background:#ef444426;border:1px solid #ef44444d;border-radius:.5rem;padding:.45rem .95rem;font-size:.85rem;font-weight:600;transition:all .2s}.end-roleplay-btn:hover{background:#ef444440}.roleplay-status-pill{border-radius:9999px;align-items:center;gap:.5rem;margin-bottom:1.25rem;padding:.4rem .85rem;font-size:.825rem;font-weight:600;animation:.2s ease-out fadeIn;display:inline-flex}.status-listening{color:#34d399;background:#10b98126;border:1px solid #10b98166}.status-thinking{color:#60a5fa;background:#3b82f626;border:1px solid #3b82f666}.status-speaking{color:#c084fc;background:#a855f726;border:1px solid #a855f766}.status-waiting{color:#e2e8f0;background:#ffffff14;border:1px solid #fff3}.status-error{color:#f87171;background:#ef444426;border:1px solid #ef444466}.status-dot-pulse{background:currentColor;border-radius:50%;width:8px;height:8px;animation:1.4s infinite pulseDot}.challenge-event-banner{color:#fca5a5;background:linear-gradient(135deg,#ef444426 0%,#dc262614 100%);border:1px solid #ef444459;border-radius:.75rem;align-items:center;gap:.6rem;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.875rem;font-weight:600;animation:.4s ease-in-out shake;display:flex}.roleplay-dialogue-stream{flex-direction:column;gap:1rem;min-height:240px;max-height:380px;margin-bottom:1.25rem;padding:1rem .5rem;display:flex;overflow-y:auto}.dialogue-turn{gap:.85rem;max-width:85%;display:flex}.dialogue-turn.ai-turn{align-self:flex-start}.dialogue-turn.user-turn{flex-direction:row-reverse;align-self:flex-end}.dialogue-avatar{background:#ffffff14;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.4rem;display:flex}.dialogue-bubble{border-radius:1.15rem;padding:.85rem 1.1rem;font-size:.95rem;line-height:1.5;position:relative}.ai-turn .dialogue-bubble{color:#f1f5f9;background:#1e293be6;border:1px solid #ffffff1a;border-top-left-radius:.25rem}.user-turn .dialogue-bubble{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);border-top-right-radius:.25rem;box-shadow:0 4px 14px #4f46e540}.dialogue-bubble-meta{color:var(--text-muted,#94a3b8);justify-content:space-between;align-items:center;gap:1rem;margin-top:.35rem;font-size:.725rem;display:flex}.user-turn .dialogue-bubble-meta{color:#ffffffb3}.dialogue-feedback-tag{color:#34d399;background:#10b98133;border-radius:.35rem;padding:.15rem .45rem;font-weight:600}.roleplay-aids-deck{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.aid-chip-btn{color:var(--text-muted,#94a3b8);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:.6rem;align-items:center;gap:.4rem;padding:.45rem .85rem;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.aid-chip-btn:hover{color:var(--text-primary,#fff);background:#ffffff1a}.aid-box-flyout{background:#0f172af2;border:1px solid #6366f14d;border-radius:.85rem;width:100%;margin-bottom:1rem;padding:.85rem 1rem;animation:.2s ease-out fadeIn}.aid-box-header{text-transform:uppercase;letter-spacing:.05em;color:#818cf8;justify-content:space-between;align-items:center;margin-bottom:.35rem;font-size:.8rem;font-weight:700;display:flex}.aid-box-content{color:#e2e8f0;font-size:.9rem;line-height:1.45}.roleplay-controls-card{background:#0f172ab3;border:1px solid #ffffff14;border-radius:1.25rem;padding:1.25rem}.transcript-review-box{margin-bottom:1rem}.transcript-textarea{width:100%;min-height:80px;color:var(--text-primary,#fff);resize:vertical;background:#1e293bcc;border:1px solid #ffffff1f;border-radius:.85rem;outline:none;padding:.85rem;font-size:.95rem;line-height:1.5}.transcript-textarea:focus{border-color:#6366f1}.controls-actions-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.controls-group-left,.controls-group-right{align-items:center;gap:.6rem;display:flex}.mic-toggle-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border:none;border-radius:.75rem;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.9rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 4px 14px #10b9814d}.mic-toggle-btn.recording{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);animation:1.5s infinite pulseDot;box-shadow:0 4px 14px #ef444459}.secondary-control-btn{color:var(--text-primary,#fff);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:.75rem;align-items:center;gap:.4rem;padding:.65rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s;display:inline-flex}.secondary-control-btn:hover{background:#ffffff1a}.send-turn-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);border:none;border-radius:.75rem;align-items:center;gap:.5rem;padding:.65rem 1.4rem;font-size:.9rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 4px 14px #6366f159}.send-turn-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #6366f180}.send-turn-btn:disabled{opacity:.5;cursor:not-allowed}.roleplay-report-container{background:var(--surface-card,#1e293bcc);border:1px solid var(--border-color,#ffffff1a);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:1.5rem;padding:2rem;animation:.3s ease-out fadeIn}.report-hero-card{background:linear-gradient(135deg,#6366f126 0%,#4f46e50d 100%);border:1px solid #6366f14d;border-radius:1.25rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:2rem;padding:1.75rem;display:flex}.report-hero-info h2{color:var(--text-primary,#fff);margin-bottom:.4rem;font-size:1.75rem;font-weight:800}.report-hero-info p{color:var(--text-muted,#94a3b8);max-width:540px;font-size:.95rem;line-height:1.5}.report-score-dial{background:#6366f133;border:3px solid #6366f1;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:100px;height:100px;display:flex;box-shadow:0 0 24px #6366f14d}.score-dial-number{color:#fff;font-size:1.75rem;font-weight:800;line-height:1}.score-dial-label{text-transform:uppercase;color:#a5b4fc;margin-top:.2rem;font-size:.65rem;font-weight:700}.report-scores-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:2.5rem;display:grid}.score-metric-card{background:#0f172a99;border:1px solid #ffffff14;border-radius:1rem;padding:1rem}.metric-header{color:var(--text-muted,#94a3b8);justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.85rem;font-weight:600;display:flex}.metric-score-value{color:#fff;font-size:1.1rem;font-weight:800}.metric-bar-bg{background:#ffffff14;border-radius:9999px;width:100%;height:6px;overflow:hidden}.metric-bar-fill{background:linear-gradient(90deg,#6366f1,#06b6d4);border-radius:9999px;height:100%;transition:width .8s cubic-bezier(.16,1,.3,1)}.report-feedback-columns{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;margin-bottom:2.5rem;display:grid}.feedback-column-card{background:#0f172a99;border:1px solid #ffffff14;border-radius:1.25rem;padding:1.5rem}.feedback-column-title{align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1.1rem;font-weight:700;display:flex}.feedback-column-title.well{color:#34d399}.feedback-column-title.improve{color:#fbbf24}.feedback-points-list{flex-direction:column;gap:.8rem;margin:0;padding:0;list-style:none;display:flex}.feedback-points-list li{color:#cbd5e1;align-items:flex-start;gap:.5rem;font-size:.9rem;line-height:1.45;display:flex}.report-suggestions-section{margin-bottom:2.5rem}.section-subheading{color:var(--text-primary,#fff);margin-bottom:1rem;font-size:1.25rem;font-weight:800}.suggestions-cards-list{flex-direction:column;gap:1rem;display:flex}.suggestion-card{background:#0f172a99;border:1px solid #ffffff14;border-radius:1rem;padding:1.25rem}.suggestion-row{margin-bottom:.6rem}.suggestion-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,#94a3b8);margin-bottom:.2rem;font-size:.75rem;font-weight:700}.suggestion-said{color:#f87171;font-size:.925rem;font-style:italic}.suggestion-stronger{color:#34d399;font-size:.95rem;font-weight:600}.suggestion-why{color:var(--text-muted,#94a3b8);font-size:.85rem;line-height:1.4}.report-skills-deck{flex-wrap:wrap;gap:.6rem;margin-bottom:2.5rem;display:flex}.skill-detected-pill{color:#c7d2fe;background:#6366f126;border:1px solid #6366f159;border-radius:9999px;align-items:center;gap:.4rem;padding:.4rem .85rem;font-size:.85rem;font-weight:600;display:inline-flex}.report-footer-actions{border-top:1px solid #ffffff14;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1rem;padding-top:1.5rem;display:flex}@keyframes scaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@media (width<=768px){.roleplay-section{padding:3.5rem 1rem 4rem}.roleplay-scenarios-grid{grid-template-columns:1fr}.report-hero-card{flex-direction:column;align-items:flex-start}.dialogue-turn{max-width:95%}}.room-step-pill{background:#6366f11f;border:1px solid #6366f147;border-radius:9999px;align-items:center;gap:4px;padding:.4rem .8rem;font-size:.82rem;font-weight:600;display:inline-flex}.room-voice-pill-btn{color:#e2e8f0;cursor:pointer;background:#38bdf81a;border:1px solid #38bdf840;border-radius:9999px;align-items:center;gap:6px;padding:.4rem .85rem;font-size:.82rem;font-weight:500;transition:all .2s;display:inline-flex}.room-voice-pill-btn:hover{background:#38bdf833;border-color:#38bdf873;transform:translateY(-1px)}.voice-selector-flyout-menu{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:50;background:#0f172af5;border:1px solid #6366f159;border-radius:.85rem;width:260px;padding:.6rem;animation:.18s ease-out scaleUp;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 30px #0009}.voice-flyout-header{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;margin-bottom:.4rem;padding:.3rem .4rem .5rem;font-size:.78rem;font-weight:700;display:flex}.voice-flyout-header button{color:#94a3b8;cursor:pointer;background:0 0;border:none;padding:2px}.voice-flyout-header button:hover{color:#fff}.voice-option-row{color:#e2e8f0;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:.5rem;justify-content:space-between;align-items:center;width:100%;padding:.5rem .65rem;transition:all .15s;display:flex}.voice-option-row:hover{background:#ffffff0f;border-color:#ffffff1a}.voice-option-row.active{color:#a5b4fc;background:#6366f133;border-color:#6366f180}.voice-name-col{align-items:center;gap:6px;display:flex}.voice-title{font-size:.85rem;font-weight:600}.voice-theme-badge{color:#c7d2fe;text-transform:capitalize;background:#6366f140;border-radius:4px;padding:1px 5px;font-size:.65rem;font-weight:600}.voice-style-text{color:#94a3b8;font-size:.72rem}.roleplay-completed-banner{background:linear-gradient(135deg,#10b98126 0%,#3b82f61f 100%);border:1px solid #10b98166;border-radius:1rem;justify-content:space-between;align-items:center;gap:1.2rem;margin-bottom:1.25rem;padding:1.1rem 1.4rem;animation:.3s ease-out scaleUp;display:flex;box-shadow:0 8px 24px #10b98126}.completion-content-group{align-items:center;gap:1rem;display:flex}.completion-view-report-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border:none;border-radius:.65rem;align-items:center;gap:.5rem;padding:.65rem 1.2rem;font-size:.88rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 4px 14px #10b98159}.completion-view-report-btn:hover{background:linear-gradient(135deg,#059669 0%,#047857 100%);transform:translateY(-1px);box-shadow:0 6px 18px #10b98173}@media (width<=640px){.roleplay-completed-banner{flex-direction:column;align-items:flex-start}.completion-view-report-btn{justify-content:center;width:100%}}.vocab-section{width:100%;padding:48px 0 80px;position:relative}.vocab-header-block{text-align:center;max-width:820px;margin:0 auto 28px}.vocab-title-wrap{flex-direction:column;align-items:center;margin-bottom:16px;display:flex}.vocab-eyebrow-chip{border-radius:var(--radius-full,9999px);color:var(--primary,#818cf8);letter-spacing:.08em;text-transform:uppercase;background:#6366f11f;border:1px solid #6366f147;align-items:center;gap:6px;margin-bottom:10px;padding:4px 12px;font-size:.72rem;font-weight:700;display:inline-flex}.vocab-main-heading{font-family:var(--font-display,"Outfit", sans-serif);letter-spacing:-.02em;color:var(--text-primary,#fff);margin-bottom:6px;font-size:2.2rem;font-weight:800}.vocab-subtitle{color:var(--text-secondary,#94a3b8);margin:0;font-size:.95rem;font-style:italic}.vocab-mini-stats-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:16px 0 20px;display:flex}.vocab-stat-pill{background:var(--bg-card,#0f172aa6);border:1px solid var(--border-light,#ffffff14);border-radius:var(--radius-full,9999px);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);align-items:center;gap:6px;padding:5px 12px;font-size:.78rem;display:inline-flex;box-shadow:0 2px 8px #0003}.vocab-stat-pill .stat-label{color:var(--text-muted,#94a3b8);font-weight:500}.vocab-stat-pill .stat-val{color:var(--text-primary,#fff);font-weight:700;font-family:var(--font-display,sans-serif)}.vocab-quiz-quick-btn{border-radius:var(--radius-full,9999px);color:var(--primary,#818cf8);cursor:pointer;background:#6366f126;border:1px solid #6366f159;align-items:center;gap:5px;padding:5px 12px;font-size:.78rem;font-weight:700;transition:all .2s;display:inline-flex}.vocab-quiz-quick-btn:hover{border-color:var(--primary,#818cf8);background:#6366f140;transform:translateY(-1px)}.vocab-search-container{max-width:620px;margin:0 auto;position:relative}.vocab-search-input-wrapper{align-items:center;width:100%;display:flex;position:relative}.vocab-search-icon{color:var(--text-muted,#94a3b8);pointer-events:none;position:absolute;left:14px}.vocab-search-input{background:var(--bg-card,#0f172acc);border:1px solid var(--border-light,#ffffff1f);border-radius:var(--radius-full,9999px);width:100%;color:var(--text-primary,#fff);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);outline:none;padding:11px 40px 11px 42px;font-size:.9rem;transition:all .2s;box-shadow:0 4px 16px -2px #0000004d}.vocab-search-input:focus{border-color:var(--primary,#818cf8);background:var(--bg-surface,#0f172af2);box-shadow:0 0 0 3px #6366f140}.vocab-search-clear-btn{width:22px;height:22px;color:var(--text-secondary,#94a3b8);cursor:pointer;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;right:12px}.vocab-search-clear-btn:hover{color:var(--accent-rose,#ef4444);background:#ef444433}.vocab-search-results-panel{z-index:50;background:var(--bg-card,#0f172af5);border:1px solid var(--border-light,#ffffff26);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);text-align:left;border-radius:16px;max-height:380px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto;box-shadow:0 16px 36px #00000080}.search-results-header{color:var(--text-muted,#94a3b8);border-bottom:1px solid #ffffff0f;padding:10px 16px;font-size:.75rem;font-weight:700}.search-no-results{text-align:center;color:var(--text-secondary,#94a3b8);padding:24px;font-size:.88rem}.search-results-list{flex-direction:column;display:flex}.search-result-row{cursor:pointer;border-bottom:1px solid #ffffff0a;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;transition:background .15s;display:flex}.search-result-row:last-child{border-bottom:none}.search-result-row:hover{background:#6366f11a}.search-result-left{flex-direction:column;gap:2px;min-width:0;display:flex}.result-word-name{font-family:var(--font-display,sans-serif);color:var(--text-primary,#fff);font-size:.95rem;font-weight:700}.result-meaning{color:var(--text-secondary,#94a3b8);white-space:nowrap;text-overflow:ellipsis;max-width:320px;font-size:.8rem;overflow:hidden}.search-result-badges{flex-shrink:0;align-items:center;gap:6px;display:flex}.result-cat-chip{color:var(--text-muted,#94a3b8);background:#ffffff0f;border-radius:6px;padding:2px 7px;font-size:.7rem}.result-level-chip{border-radius:6px;padding:2px 7px;font-size:.68rem;font-weight:700}.result-level-chip.level-beginner{color:#10b981;background:#10b9811f}.result-level-chip.level-intermediate{color:#818cf8;background:#6366f11f}.result-level-chip.level-advanced{color:#f59e0b;background:#f59e0b1f}.vocab-today-card{background:var(--bg-card,#0f172aa6);border:1px solid var(--border-light,#ffffff17);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:16px;margin-bottom:18px;padding:16px 20px;position:relative;overflow:hidden;box-shadow:0 6px 20px -2px #00000040}.vocab-today-card:before{content:"";background:linear-gradient(90deg,#6366f1,#38bdf8,#10b981);height:2px;position:absolute;top:0;left:0;right:0}.vocab-today-top-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.today-meta-left{align-items:center;gap:10px;display:flex}.today-badge{border-radius:var(--radius-full,9999px);color:var(--primary,#818cf8);text-transform:uppercase;letter-spacing:.04em;background:#6366f126;border:1px solid #6366f14d;align-items:center;gap:5px;padding:3px 9px;font-size:.72rem;font-weight:700;display:inline-flex}.today-time-estimate{color:var(--text-primary,#fff);font-size:.82rem;font-weight:600}.today-counter{color:var(--text-muted,#94a3b8);font-size:.78rem}.today-target-selector{align-items:center;gap:5px;display:flex}.target-selector-label{color:var(--text-muted,#94a3b8);margin-right:2px;font-size:.75rem;font-weight:600}.target-opt-btn{color:var(--text-secondary,#94a3b8);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff14;border-radius:6px;padding:3px 8px;font-size:.72rem;font-weight:600;transition:all .18s}.target-opt-btn:hover{color:var(--text-primary,#fff);background:#ffffff1a}.target-opt-btn.is-active{border-color:var(--primary,#818cf8);color:var(--primary,#818cf8);background:#6366f138;font-weight:700}.vocab-today-pills-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.today-words-pills-list{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.today-word-chip{border-radius:var(--radius-full,9999px);color:var(--text-primary,#fff);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff17;align-items:center;gap:6px;padding:5px 11px;font-size:.8rem;font-weight:600;transition:all .18s;display:inline-flex}.today-word-chip:hover{background:#6366f124;border-color:#6366f166;transform:translateY(-1px)}.today-word-chip.is-done{color:#a7f3d0;background:#10b9811a;border-color:#10b9814d}.today-pill-dot{background:var(--primary,#818cf8);border-radius:50%;width:6px;height:6px}.today-start-btn{border-radius:var(--radius-full,9999px);color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);border:1px solid #ffffff26;align-items:center;gap:6px;padding:7px 15px;font-size:.8rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 4px 12px #6366f14d}.today-start-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #6366f166}.today-start-btn.is-completed{color:#10b981;box-shadow:none;background:#10b98126;border-color:#10b98166}.vocab-recommended-strip{background:#6366f10f;border:1px dashed #6366f138;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:28px;padding:10px 16px;display:flex}.recommended-caption{color:var(--text-primary,#fff);align-items:center;gap:8px;font-size:.8rem;font-weight:600;display:flex}.recommended-subtitle{color:var(--text-muted,#94a3b8);font-weight:400}.recommended-chips-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.recommended-chip{color:var(--text-primary,#fff);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff14;border-radius:6px;align-items:center;gap:5px;padding:3px 9px;font-size:.74rem;font-weight:600;transition:all .15s;display:inline-flex}.recommended-chip:hover{border-color:var(--primary,#818cf8);background:#6366f133}.rec-cat-tag{color:var(--text-muted,#94a3b8);font-size:.65rem;font-weight:400}.vocab-categories-hub{position:relative}.hub-subheading-row{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.subheading-left{align-items:center;gap:8px;display:flex}.hub-section-title{font-family:var(--font-display,sans-serif);color:var(--text-primary,#fff);margin:0;font-size:1.15rem;font-weight:700}.hub-counter-label{color:var(--text-muted,#94a3b8);font-size:.78rem;font-weight:600}.categories-compact-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;display:grid}.category-compact-card{background:var(--bg-card,#0f172aa6);border:1px solid var(--border-light,#ffffff14);cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-user-select:none;user-select:none;border-radius:14px;flex-direction:column;justify-content:space-between;padding:16px;transition:all .22s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden}.category-compact-card:hover{background:#0f172ad9;border-color:#6366f166;transform:translateY(-2px);box-shadow:0 8px 24px -2px #6366f133}.cat-card-top{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.cat-icon-badge{background:#ffffff0d;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.35rem;display:flex}.cat-tag-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--primary,#818cf8);background:#6366f11a;border-radius:6px;padding:2px 7px;font-size:.68rem;font-weight:700}.cat-card-body{margin-bottom:12px}.cat-card-name{font-family:var(--font-display,sans-serif);color:var(--text-primary,#fff);margin:0 0 4px;font-size:1rem;font-weight:700}.cat-card-desc{color:var(--text-secondary,#94a3b8);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.78rem;line-height:1.45;display:-webkit-box;overflow:hidden}.cat-card-footer{border-top:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding-top:10px;display:flex}.cat-words-count{color:var(--text-muted,#94a3b8);font-size:.75rem;font-weight:600}.cat-progress-pill{color:#10b981;background:#10b9811a;border-radius:6px;padding:2px 7px;font-size:.72rem;font-weight:700}.vocab-category-detail-panel{animation:.25s ease-out fadeInPanel;position:relative}@keyframes fadeInPanel{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.category-detail-nav-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.back-to-categories-btn{border:1px solid var(--border-light,#ffffff1a);border-radius:var(--radius-full,9999px);color:var(--text-secondary,#94a3b8);cursor:pointer;background:#ffffff0d;align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;font-weight:700;transition:all .18s;display:inline-flex}.back-to-categories-btn:hover{border-color:var(--primary,#818cf8);color:var(--primary,#818cf8);background:#6366f126;transform:translate(-2px)}.category-breadcrumbs{color:var(--text-muted,#94a3b8);align-items:center;gap:6px;font-size:.8rem;display:flex}.breadcrumb-sep{opacity:.4}.breadcrumb-cat{color:var(--text-primary,#fff);font-weight:600}.breadcrumb-level{color:var(--primary,#818cf8);font-weight:600}.breadcrumb-count{background:#ffffff0f;border-radius:6px;padding:2px 7px;font-size:.75rem}.category-detail-header{background:var(--bg-card,#0f172aa6);border:1px solid var(--border-light,#ffffff14);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:16px;margin-bottom:16px;padding:18px 22px}.cat-detail-title-row{align-items:center;gap:14px;display:flex}.cat-detail-big-icon{font-size:2rem;line-height:1}.cat-detail-title{font-family:var(--font-display,sans-serif);color:var(--text-primary,#fff);margin:0 0 3px;font-size:1.35rem;font-weight:800}.cat-detail-desc{color:var(--text-secondary,#94a3b8);margin:0;font-size:.85rem}.category-special-notice{border-radius:10px;align-items:flex-start;gap:10px;margin-top:14px;padding:10px 14px;font-size:.8rem;line-height:1.45;display:flex}.notice-slang{color:#fde68a;background:#f59e0b1a;border:1px solid #f59e0b47}.notice-confusing{color:#c7d2fe;background:#6366f11a;border:1px solid #6366f147}.category-filter-toolbar{background:#0f172a66;border:1px solid #ffffff0f;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding:10px 16px;display:flex}.level-filters-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.filter-label{color:var(--text-muted,#94a3b8);margin-right:4px;font-size:.75rem;font-weight:600}.level-filter-btn{color:var(--text-secondary,#94a3b8);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;padding:4px 10px;font-size:.74rem;font-weight:600;transition:all .15s}.level-filter-btn:hover{color:var(--text-primary,#fff);background:#ffffff14}.level-filter-btn.is-active{border-color:var(--primary,#818cf8);color:var(--primary,#818cf8);background:#6366f133;font-weight:700}.status-filters-group{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.status-filter-chip{color:var(--text-muted,#94a3b8);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:3px 8px;font-size:.72rem;font-weight:600;transition:all .15s}.status-filter-chip:hover{color:var(--text-primary,#fff)}.status-filter-chip.is-active{color:var(--text-primary,#fff);background:#ffffff14;border-color:#ffffff24}.category-words-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;display:grid}.category-empty-state{text-align:center;background:#0f172a66;border:1px dashed #ffffff1a;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;padding:48px 24px;display:flex}.category-empty-state h4{font-family:var(--font-display,sans-serif);color:var(--text-primary,#fff);margin:12px 0 6px;font-size:1.1rem}.category-empty-state p{color:var(--text-secondary,#94a3b8);max-width:400px;margin:0 0 16px;font-size:.85rem}.reset-filters-btn{border:1px solid var(--primary,#818cf8);color:var(--primary,#818cf8);cursor:pointer;background:#6366f133;border-radius:8px;padding:6px 14px;font-size:.8rem;font-weight:700}.vocab-hub-card{background:var(--bg-card,#0f172ab3);border:1px solid var(--border-light,#ffffff14);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:14px;flex-direction:column;justify-content:space-between;min-height:168px;padding:14px 16px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.vocab-hub-card:hover{background:#0f172ae0;border-color:#6366f166;transform:translateY(-2px);box-shadow:0 8px 20px -2px #6366f12e}.vocab-hub-card.card-learned{border-left:3px solid #10b981}.vocab-hub-card.card-mastered{border-left:3px solid #f59e0b}.hub-card-header{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:6px;display:flex}.hub-card-title-group{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.hub-card-word{font-family:var(--font-display,sans-serif);color:var(--text-primary,#fff);letter-spacing:-.01em;margin:0;font-size:1.12rem;font-weight:800}.hub-card-phonetic{color:var(--text-muted,#94a3b8);font-family:monospace;font-size:.72rem}.hub-card-status-badges{align-items:center;gap:4px;display:flex}.hub-mini-status{border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.hub-mini-status.learned{color:#10b981}.hub-mini-status.mastered{color:#f59e0b}.hub-bookmark-btn{width:22px;height:22px;color:var(--text-muted,#94a3b8);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:flex}.hub-bookmark-btn:hover{color:var(--text-primary,#fff)}.hub-bookmark-btn.is-saved{color:var(--primary,#818cf8)}.hub-card-meaning{color:var(--text-secondary,#cbd5e1);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 8px;font-size:.84rem;line-height:1.45;display:-webkit-box;overflow:hidden}.hub-card-example{color:var(--text-muted,#94a3b8);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:12px;font-size:.78rem;font-style:italic;line-height:1.4;display:-webkit-box;overflow:hidden}.quote-mark{color:var(--primary,#818cf8);font-weight:700}.hub-card-footer{border-top:1px solid #ffffff0d;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:10px;display:flex}.hub-tags-cluster{align-items:center;gap:5px;display:flex}.hub-level-badge{border-radius:6px;padding:2px 7px;font-size:.68rem;font-weight:700}.hub-level-badge.level-beginner{color:#10b981;background:#10b9811f}.hub-level-badge.level-intermediate{color:#818cf8;background:#6366f11f}.hub-level-badge.level-advanced{color:#f59e0b;background:#f59e0b1f}.hub-slang-badge{color:#f59e0b;background:#f59e0b1f;border-radius:6px;align-items:center;gap:3px;padding:2px 6px;font-size:.65rem;font-weight:700;display:inline-flex}.hub-pos-badge{color:var(--text-muted,#94a3b8);background:#ffffff0a;border-radius:4px;padding:2px 6px;font-size:.68rem}.hub-actions-cluster{align-items:center;gap:6px;display:flex}.hub-listen-btn{color:var(--text-secondary,#94a3b8);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff14;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:.72rem;font-weight:600;transition:all .15s;display:inline-flex}.hub-listen-btn:hover{color:var(--primary,#818cf8);background:#6366f126;border-color:#6366f14d}.hub-listen-btn.is-playing{color:var(--primary,#818cf8);border-color:var(--primary,#818cf8);background:#6366f133}.hub-learn-btn{color:var(--primary,#818cf8);cursor:pointer;background:#6366f11f;border:1px solid #6366f147;border-radius:6px;align-items:center;gap:4px;padding:4px 9px;font-size:.72rem;font-weight:700;transition:all .15s;display:inline-flex}.hub-learn-btn:hover{background:var(--primary,#818cf8);color:#fff;border-color:var(--primary,#818cf8)}.vocab-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(14px);background:#000000c7;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out modalFadeIn;display:flex;position:fixed;inset:0}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.vocab-modal-panel{background:var(--bg-card,#0f172a);border:1px solid #ffffff1f;border-radius:20px;flex-direction:column;width:100%;max-width:620px;max-height:88vh;animation:.22s cubic-bezier(.16,1,.3,1) modalZoomIn;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #000000b3}@keyframes modalZoomIn{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.vocab-modal-header{background:#0f172af2;border-bottom:1px solid #ffffff14;padding:20px 24px 14px}.modal-title-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.modal-word-title-wrap{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.modal-back-btn{border-radius:var(--radius-full,9999px);color:var(--text-secondary,#94a3b8);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;align-items:center;gap:6px;padding:5px 12px;font-size:.8rem;font-weight:600;transition:all .2s;display:inline-flex}.modal-back-btn:hover{color:#fff;background:#6366f129;border-color:#6366f166;transform:translate(-2px)}.modal-word-title{font-family:var(--font-display,sans-serif);color:var(--text-primary,#fff);letter-spacing:-.02em;margin:0;font-size:1.6rem;font-weight:800}.modal-word-phonetic{color:var(--primary,#818cf8);font-family:monospace;font-size:.88rem}.modal-header-actions{align-items:center;gap:8px;display:flex}.modal-audio-btn{border-radius:var(--radius-full,9999px);color:var(--primary,#818cf8);cursor:pointer;background:#6366f126;border:1px solid #6366f14d;align-items:center;gap:6px;padding:6px 12px;font-size:.78rem;font-weight:700;transition:all .15s;display:inline-flex}.modal-audio-btn:hover{border-color:var(--primary,#818cf8);background:#6366f140}.modal-bookmark-btn{width:32px;height:32px;color:var(--text-secondary,#94a3b8);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff17;border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:flex}.modal-bookmark-btn:hover{color:var(--text-primary,#fff)}.modal-bookmark-btn.is-saved{color:var(--primary,#818cf8);border-color:#6366f166}.modal-close-btn{width:32px;height:32px;color:var(--text-secondary,#94a3b8);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff17;border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:flex}.modal-close-btn:hover{color:var(--accent-rose,#ef4444);border-color:var(--accent-rose,#ef4444);background:#ef444426}.modal-badges-row{align-items:center;gap:6px;display:flex}.modal-badge{border-radius:6px;padding:3px 8px;font-size:.72rem;font-weight:700}.modal-badge.level-beginner{color:#10b981;background:#10b98126}.modal-badge.level-intermediate{color:#818cf8;background:#6366f126}.modal-badge.level-advanced{color:#f59e0b;background:#f59e0b26}.modal-badge.pos-badge{color:var(--text-secondary,#94a3b8);background:#ffffff0f}.modal-badge.category-badge{color:var(--text-muted,#94a3b8);background:#ffffff0a}.vocab-modal-body{flex-direction:column;gap:16px;padding:20px 24px;display:flex;overflow-y:auto}.modal-slang-guidance{background:#f59e0b14;border:1px solid #f59e0b40;border-radius:12px;padding:12px 16px}.slang-guidance-title{color:#f59e0b;align-items:center;gap:6px;margin-bottom:4px;font-size:.8rem;font-weight:700;display:flex}.slang-guidance-text{color:#fef3c7;margin:0;font-size:.82rem;line-height:1.45}.modal-confusing-guidance{background:#6366f114;border:1px solid #6366f140;border-radius:12px;padding:12px 16px}.confusing-guidance-title{color:#818cf8;align-items:center;gap:6px;margin-bottom:4px;font-size:.8rem;font-weight:700;display:flex}.confusing-guidance-text{color:#e0e7ff;margin:0;font-size:.82rem;line-height:1.45}.modal-definitions-box{background:#ffffff08;border:1px solid #ffffff0f;border-radius:12px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.definition-label{text-transform:uppercase;color:var(--text-muted,#94a3b8);letter-spacing:.04em;margin-bottom:3px;font-size:.72rem;font-weight:700;display:block}.definition-text{color:var(--text-primary,#fff);margin:0;font-size:.95rem;line-height:1.5}.definition-text-hindi{color:#38bdf8;margin:0;font-size:.92rem;font-weight:500;line-height:1.5}.modal-section-block{flex-direction:column;gap:6px;display:flex}.modal-section-title{color:var(--text-muted,#94a3b8);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;font-size:.75rem;font-weight:700;display:flex}.modal-example-quote{color:var(--text-secondary,#cbd5e1);border-left:3px solid var(--primary,#818cf8);background:#ffffff08;border-radius:0 8px 8px 0;padding:10px 14px;font-size:.9rem;font-style:italic;line-height:1.5}.modal-conversation-thread{background:#ffffff05;border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex}.chat-bubble{border-radius:10px;padding:8px 12px;font-size:.85rem;line-height:1.45}.chat-bubble.speaker-a{background:#ffffff0d;border:1px solid #ffffff0f;align-self:flex-start;max-width:90%}.chat-bubble.speaker-b{background:#6366f11f;border:1px solid #6366f140;align-self:flex-end;max-width:90%}.speaker-tag{text-transform:uppercase;color:var(--primary,#818cf8);margin-bottom:2px;font-size:.68rem;font-weight:700;display:block}.chat-bubble p{color:var(--text-primary,#fff);margin:0}.modal-vocab-relations{grid-template-columns:1fr 1fr;gap:12px;display:grid}.relation-group{flex-direction:column;gap:6px;display:flex}.relation-heading{text-transform:uppercase;color:var(--text-muted,#94a3b8);letter-spacing:.04em;font-size:.72rem;font-weight:700}.relation-chips{flex-wrap:wrap;gap:5px;display:flex}.relation-chip{border-radius:6px;padding:3px 8px;font-size:.75rem;font-weight:500}.synonym-chip{color:#a7f3d0;background:#10b9811a;border:1px solid #10b98133}.antonym-chip{color:#fca5a5;background:#ef44441a;border:1px solid #ef444433}.collocations-list{flex-wrap:wrap;gap:6px;display:flex}.collocation-pill{color:var(--text-primary,#fff);background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;padding:4px 9px;font-size:.78rem;font-weight:600}.modal-speaking-prompt-box{background:#6366f114;border:1px solid #6366f133;border-radius:12px;padding:12px 14px}.prompt-header{color:var(--primary,#818cf8);text-transform:uppercase;align-items:center;gap:6px;margin-bottom:4px;font-size:.75rem;font-weight:700;display:flex}.prompt-content{color:var(--text-primary,#fff);margin:0;font-size:.85rem;line-height:1.45}.vocab-modal-footer{background:#0f172af2;border-top:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;display:flex}.modal-learning-actions{align-items:center;gap:8px;display:flex}.action-btn-status{color:var(--text-secondary,#94a3b8);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;align-items:center;gap:6px;padding:7px 12px;font-size:.78rem;font-weight:700;transition:all .18s;display:inline-flex}.action-btn-status:hover{color:var(--text-primary,#fff);background:#ffffff1a}.action-btn-status.btn-active-learned{color:#10b981;background:#10b98126;border-color:#10b98166}.action-btn-status.btn-active-mastered{color:#f59e0b;background:#f59e0b26;border-color:#f59e0b66}.action-practice-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);border:1px solid #ffffff26;border-radius:8px;align-items:center;gap:6px;padding:7px 15px;font-size:.8rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 4px 12px #6366f140}.action-practice-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #6366f159}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background:#000000bf;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-content-card{background:var(--bg-card,#0f172a);border:1px solid var(--border-light,#ffffff1f);border-radius:var(--radius-xl,16px);width:100%;box-shadow:var(--shadow-xl);padding:24px;position:relative}.modal-close-btn{width:32px;height:32px;color:var(--text-secondary,#94a3b8);cursor:pointer;background:#ffffff0d;border:none;border-radius:50%;position:absolute;top:16px;right:16px}@media (width<=768px){.vocab-main-heading{font-size:1.8rem}.categories-compact-grid,.category-words-grid{grid-template-columns:1fr}.vocab-today-pills-row{flex-direction:column;align-items:flex-start}.today-start-btn{justify-content:center;width:100%}.vocab-modal-footer{flex-direction:column;align-items:stretch}.modal-learning-actions{flex-direction:column}.action-practice-btn{justify-content:center}.modal-vocab-relations{grid-template-columns:1fr}.category-detail-nav-row,.category-filter-toolbar{flex-direction:column;align-items:flex-start}.dict-nav-header{flex-direction:column;align-items:stretch}.dict-search-wrapper{width:100%}.dict-filter-toolbar{flex-direction:column;align-items:stretch}.dict-words-grid{grid-template-columns:1fr}.vocab-deck-switcher{width:100%}.vocab-deck-tab{flex:1;justify-content:center}}.vocab-deck-switcher{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-full,9999px);background:#0f172ab3;border:1px solid #ffffff1a;justify-content:center;align-items:center;gap:8px;margin:18px auto 20px;padding:6px;display:inline-flex;box-shadow:0 8px 24px -6px #0006}.vocab-deck-tab{border-radius:var(--radius-full,9999px);color:var(--text-secondary,#94a3b8);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;align-items:center;gap:8px;padding:8px 18px;font-size:.85rem;font-weight:600;transition:all .22s cubic-bezier(.4,0,.2,1);display:inline-flex}.vocab-deck-tab:hover{color:var(--text-primary,#fff);background:#ffffff0d}.vocab-deck-tab.is-active{color:#fff;background:linear-gradient(135deg,#6366f147 0%,#8b5cf647 100%);border-color:#6366f180;box-shadow:0 4px 16px -2px #6366f159}.vocab-dictionary-deck{flex-direction:column;gap:22px;animation:.3s ease-out fadeIn;display:flex}.dict-nav-header{border-radius:var(--radius-xl,16px);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(135deg,#1e293bb3 0%,#0f172acc 100%);border:1px solid #ffffff17;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex;box-shadow:0 12px 28px -8px #00000073}.dict-back-btn{border-radius:var(--radius-full,9999px);color:var(--text-secondary,#94a3b8);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;align-items:center;gap:8px;padding:8px 16px;font-size:.82rem;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 2px 6px #0003}.dict-back-btn:hover{border-color:var(--primary,#818cf8);color:#fff;background:#6366f12e;transform:translate(-3px);box-shadow:0 4px 14px -2px #6366f14d}.dict-title-wrap{flex:1;min-width:240px}.dict-badge{border-radius:var(--radius-full,9999px);color:var(--primary,#818cf8);text-transform:uppercase;letter-spacing:.06em;background:#6366f124;border:1px solid #6366f14d;align-items:center;gap:6px;margin-bottom:6px;padding:3px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.dict-main-title{font-family:var(--font-display,"Outfit", sans-serif);color:var(--text-primary,#fff);margin:0 0 4px;font-size:1.45rem;font-weight:800}.dict-subtitle{color:var(--text-secondary,#94a3b8);margin:0;font-size:.84rem}.dict-search-wrapper{width:280px;max-width:100%;position:relative}.dict-search-icon{color:var(--text-muted,#64748b);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.dict-search-input{border-radius:var(--radius-full,9999px);width:100%;height:38px;color:var(--text-primary,#fff);background:#0f172ad9;border:1px solid #ffffff1f;padding:0 32px 0 34px;font-size:.82rem;transition:all .2s}.dict-search-input:focus{border-color:var(--primary,#818cf8);background:#0f172af2;outline:none;box-shadow:0 0 0 3px #6366f12e}.dict-search-clear{color:var(--text-muted,#64748b);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.dict-search-clear:hover{color:var(--text-primary,#fff)}.dict-alphabet-bar-container{border-radius:var(--radius-lg,12px);scrollbar-width:thin;background:#0f172a99;border:1px solid #ffffff14;align-items:center;gap:12px;padding:12px 18px;display:flex;overflow-x:auto}.alphabet-bar-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted,#64748b);white-space:nowrap;font-size:.76rem;font-weight:700}.dict-alphabet-bar{align-items:center;gap:6px;width:100%;padding:2px 0;display:flex;overflow-x:auto}.alphabet-btn{min-width:32px;height:32px;color:var(--text-secondary,#94a3b8);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;justify-content:center;align-items:center;padding:0 8px;font-size:.78rem;font-weight:700;transition:all .18s;display:inline-flex;position:relative}.alphabet-btn:hover:not(:disabled){color:#fff;background:#6366f126;border-color:#6366f166;transform:translateY(-1px)}.alphabet-btn.is-active{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);border-color:#818cf8;transform:translateY(-1px);box-shadow:0 4px 12px -2px #6366f180}.alphabet-btn.is-disabled{opacity:.35;cursor:not-allowed;border-color:#0000}.alphabet-count{opacity:.75;margin-left:3px;font-size:.62rem;font-weight:500}.dict-filter-toolbar{border-radius:var(--radius-lg,12px);background:#0f172a73;border:1px solid #ffffff0f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 18px;display:flex}.dict-level-filters,.dict-status-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dict-filter-heading{color:var(--text-muted,#94a3b8);margin-right:4px;font-size:.78rem;font-weight:700}.dict-level-pill,.dict-status-pill{border-radius:var(--radius-full,9999px);color:var(--text-secondary,#94a3b8);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;padding:4px 12px;font-size:.76rem;font-weight:600;transition:all .18s}.dict-level-pill:hover,.dict-status-pill:hover{color:var(--text-primary,#fff);background:#ffffff14}.dict-level-pill.is-active,.dict-status-pill.is-active{border-color:var(--primary,#818cf8);color:#fff;background:#6366f133;box-shadow:0 2px 8px -1px #6366f159}.dict-counter-badge{color:var(--text-muted,#94a3b8);align-items:center;gap:10px;font-size:.78rem;display:flex}.dict-reset-filters-btn{color:var(--primary,#818cf8);cursor:pointer;background:0 0;border:none;padding:0;font-size:.76rem;font-weight:600;text-decoration:underline}.dict-reset-filters-btn:hover{color:#a5b4fc}.dict-grouped-sections{flex-direction:column;gap:28px;display:flex}.dict-letter-group{flex-direction:column;gap:14px;display:flex}.letter-section-header{align-items:center;gap:12px;padding-bottom:4px;display:flex}.letter-anchor-badge{color:#fff;width:38px;height:38px;font-family:var(--font-display,"Outfit", sans-serif);background:linear-gradient(135deg,#6366f140 0%,#8b5cf640 100%);border:1px solid #6366f166;border-radius:10px;justify-content:center;align-items:center;font-size:1.25rem;font-weight:800;display:inline-flex;box-shadow:0 4px 12px -2px #6366f140}.letter-section-count{color:var(--text-muted,#94a3b8);font-size:.8rem;font-weight:600}.letter-divider-line{background:linear-gradient(90deg,#ffffff1a 0%,#0000 100%);flex:1;height:1px}.dict-words-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;display:grid}.dict-word-card{border-radius:var(--radius-lg,12px);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:#1e293b8c;border:1px solid #ffffff14;flex-direction:column;gap:10px;padding:16px 18px;transition:all .22s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.dict-word-card:hover{background:#1e293bd9;border-color:#6366f166;transform:translateY(-2px);box-shadow:0 10px 24px -6px #00000073}.dict-word-card.card-learned{border-left:3px solid #10b981}.dict-word-card.card-mastered{border-left:3px solid #f59e0b}.dict-card-top-row{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.dict-word-info{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.dict-card-word{font-family:var(--font-display,"Outfit", sans-serif);color:var(--text-primary,#fff);margin:0;font-size:1.12rem;font-weight:700}.dict-card-phonetic{color:var(--primary,#818cf8);font-family:monospace;font-size:.76rem}.dict-card-badges-right{align-items:center;gap:6px;display:flex}.dict-prominent-level{border-radius:var(--radius-full,9999px);text-transform:uppercase;letter-spacing:.04em;align-items:center;padding:2px 8px;font-size:.68rem;font-weight:700;display:inline-flex}.dict-prominent-level.level-beginner{color:#34d399;background:#10b98126;border:1px solid #10b98159}.dict-prominent-level.level-intermediate{color:#38bdf8;background:#0ea5e926;border:1px solid #0ea5e959}.dict-prominent-level.level-advanced{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b59}.dict-bookmark-btn{color:var(--text-muted,#64748b);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;transition:all .15s;display:flex}.dict-bookmark-btn:hover{color:#fff;background:#ffffff14}.dict-bookmark-btn.is-saved{color:var(--primary,#818cf8)}.dict-card-meaning{color:var(--text-secondary,#cbd5e1);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.84rem;line-height:1.45;display:-webkit-box;overflow:hidden}.dict-hindi-preview{background:#f59e0b14;border-radius:6px;align-items:center;gap:6px;padding:4px 8px;font-size:.78rem;display:flex}.dict-hindi-preview .hindi-tag{color:#fbbf24;font-size:.7rem;font-weight:700}.dict-hindi-preview .hindi-text{color:#fef3c7;font-weight:500}.dict-card-footer-row{border-top:1px solid #ffffff0f;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:8px;display:flex}.dict-footer-tags{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.dict-cat-tag{color:var(--text-muted,#94a3b8);background:#ffffff0f;border-radius:4px;padding:2px 7px;font-size:.68rem;font-weight:600}.dict-pos-tag{color:#a5b4fc;background:#6366f11a;border-radius:4px;padding:2px 6px;font-size:.68rem;font-style:italic}.dict-learned-tag{color:#34d399;align-items:center;gap:3px;font-size:.68rem;font-weight:600;display:inline-flex}.dict-footer-actions{align-items:center;gap:6px;display:flex}.dict-listen-btn{color:var(--text-secondary,#94a3b8);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff14;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:.72rem;font-weight:600;transition:all .15s;display:inline-flex}.dict-listen-btn:hover{color:#fff;background:#6366f126;border-color:#6366f159}.dict-listen-btn.is-playing{border-color:var(--primary,#818cf8);color:#fff;background:#6366f140}.dict-learn-btn{color:#c7d2fe;cursor:pointer;background:#6366f129;border:1px solid #6366f14d;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:.72rem;font-weight:700;transition:all .15s;display:inline-flex}.dict-learn-btn:hover{background:var(--primary,#6366f1);border-color:var(--primary,#6366f1);color:#fff}.dict-empty-view{text-align:center;border-radius:var(--radius-xl,16px);background:#0f172a66;border:1px dashed #ffffff1f;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}.dict-empty-view h4{color:var(--text-primary,#fff);margin:0;font-size:1.15rem;font-weight:700}.dict-empty-view p{color:var(--text-secondary,#94a3b8);max-width:420px;margin:0;font-size:.86rem}.vocab-goal-selector-strip{background:var(--bg-card,#1e293b80);border:1px solid var(--border-light,#ffffff14);border-radius:var(--radius-lg,14px);flex-direction:column;gap:10px;margin-bottom:20px;padding:14px 18px;display:flex}.goal-strip-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary,#94a3b8);align-items:center;gap:8px;font-size:.82rem;font-weight:700;display:flex}.goal-chips-scroll{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.goal-chip-btn{background:var(--bg-subtle,#0f172a99);border:1px solid var(--border-light,#ffffff1a);color:var(--text-secondary,#94a3b8);cursor:pointer;white-space:nowrap;border-radius:9999px;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:600;transition:all .2s;display:inline-flex}.goal-chip-btn:hover{color:var(--text-primary,#fff);border-color:#6366f1}.goal-chip-btn.is-active{color:#fff;background:#6366f1;border-color:#6366f1;box-shadow:0 4px 12px #6366f14d}.vocab-weak-words-panel{border-radius:var(--radius-lg,14px);background:#f59e0b14;border:1px solid #f59e0b40;margin-bottom:20px;padding:16px 20px;animation:.25s ease-out fadeIn}.weak-words-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.weak-header-title{color:#fbbf24;align-items:center;gap:8px;font-size:.95rem;font-weight:700;display:flex}.weak-review-btn{color:#1e1b4b;cursor:pointer;background:#f59e0b;border:none;border-radius:8px;align-items:center;gap:4px;padding:5px 12px;font-size:.78rem;font-weight:700;transition:all .2s;display:inline-flex}.weak-review-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.weak-words-desc{color:var(--text-secondary,#94a3b8);margin:0 0 12px;font-size:.82rem}.weak-words-pills{flex-wrap:wrap;gap:8px;display:flex}.weak-word-chip{background:var(--bg-card,#1e293bb3);cursor:pointer;text-align:left;border:1px solid #f59e0b33;border-radius:8px;flex-direction:column;gap:2px;padding:6px 12px;transition:all .2s;display:inline-flex}.weak-word-chip:hover{border-color:#f59e0b;transform:translateY(-1px)}.weak-chip-name{color:var(--text-primary,#fff);font-size:.85rem;font-weight:700}.weak-chip-meaning{color:var(--text-muted,#94a3b8);white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-size:.72rem;overflow:hidden}.pronounce-feedback-pill{color:#a5b4fc;background:#6366f126;border:1px solid #6366f14d;border-radius:9999px;align-items:center;margin-top:8px;padding:6px 14px;font-size:.8rem;font-weight:600;display:inline-flex}.example-listen-btn{color:#a5b4fc;cursor:pointer;background:#6366f11f;border:1px solid #6366f140;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:.72rem;font-weight:600;transition:all .2s;display:inline-flex}.example-listen-btn:hover{color:#fff;background:#6366f140}.modal-coach-container{background:#6366f114;border:1px solid #6366f133;border-radius:12px;margin:16px 0;padding:16px}.coach-header-row{justify-content:space-between;align-items:center;display:flex}.coach-title-wrap{color:#818cf8;align-items:center;gap:8px;font-size:.88rem;font-weight:700;display:flex}.coach-bot-icon{color:#818cf8}.coach-toggle-btn{color:#c7d2fe;cursor:pointer;background:#6366f126;border:1px solid #6366f14d;border-radius:6px;padding:4px 10px;font-size:.78rem;font-weight:600;transition:all .2s}.coach-toggle-btn:hover{color:#fff;background:#6366f1}.coach-content-panel{flex-direction:column;gap:12px;margin-top:14px;display:flex}.coach-prompt-chips{flex-wrap:wrap;gap:6px;display:flex}.coach-chip{background:var(--bg-card,#1e293bb3);color:var(--text-secondary,#94a3b8);cursor:pointer;border:1px solid #ffffff1a;border-radius:9999px;padding:5px 10px;font-size:.75rem;font-weight:600;transition:all .2s}.coach-chip:hover{color:#fff;border-color:#818cf8}.coach-chip.active{color:#fff;background:#6366f1;border-color:#6366f1}.coach-custom-input-row{gap:8px;display:flex}.coach-input{background:var(--bg-subtle,#0f172ab3);color:var(--text-primary,#fff);border:1px solid #ffffff1f;border-radius:8px;outline:none;flex:1;padding:8px 12px;font-size:.85rem}.coach-input:focus{border-color:#818cf8}.coach-send-btn{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:8px;padding:8px 14px;transition:all .2s}.coach-send-btn:disabled{opacity:.5;cursor:not-allowed}.coach-loading-bubble{color:#c7d2fe;background:#6366f11f;border-radius:8px;align-items:center;gap:8px;padding:10px 14px;font-size:.82rem;display:flex}.pulsing-coach-dot{background:#818cf8;border-radius:50%;width:8px;height:8px;animation:1s infinite alternate pulse}.coach-answer-bubble{background:#1e293bcc;border:1px solid #6366f14d;border-radius:8px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.coach-avatar-tag{color:#818cf8;font-size:.75rem;font-weight:700}.coach-answer-bubble p{color:var(--text-primary,#fff);margin:0;font-size:.85rem;line-height:1.5}.modal-sentence-builder-box{background:var(--bg-card,#1e293b80);border:1px solid var(--border-light,#ffffff1a);border-radius:12px;margin:16px 0;padding:16px}.builder-header{color:var(--text-primary,#fff);align-items:center;gap:8px;margin-bottom:10px;font-size:.88rem;font-weight:700;display:flex}.builder-input-wrap{gap:8px;display:flex}.builder-input{background:var(--bg-subtle,#0f172ab3);color:var(--text-primary,#fff);border:1px solid #ffffff1f;border-radius:8px;outline:none;flex:1;padding:9px 12px;font-size:.88rem}.builder-input:focus{border-color:#6366f1}.builder-eval-btn{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:8px;padding:9px 16px;font-size:.82rem;font-weight:700;transition:all .2s}.builder-eval-btn:disabled{opacity:.5;cursor:not-allowed}.builder-result-card{border-radius:8px;flex-direction:column;gap:6px;margin-top:10px;padding:12px 14px;display:flex}.builder-result-card.valid{background:#10b9811a;border:1px solid #10b9814d}.builder-result-card.invalid{background:#ef44441a;border:1px solid #ef44444d}.builder-feedback-header{color:var(--text-primary,#fff);align-items:center;gap:6px;font-size:.85rem;font-weight:700;display:flex}.builder-better-sentence{color:var(--text-primary,#fff);margin:2px 0;font-size:.82rem}.builder-tag{color:#10b981;text-transform:uppercase;margin-right:6px;font-size:.72rem;font-weight:700}.builder-explanation{color:var(--text-secondary,#94a3b8);margin:0;font-size:.8rem;line-height:1.4}.presentation-challenge-card{margin-top:36px;transition:all .3s;position:relative}.presentation-challenge-card:before{content:"";background:linear-gradient(90deg,#6366f1 0%,#8b5cf6 50%,#ec4899 100%);height:5px;position:absolute;top:0;left:0;right:0}.presentation-pill{color:#6366f1;border-radius:var(--radius-full);background:#6366f11f;border:1px solid #6366f140;align-items:center;gap:6px;padding:4px 12px;font-size:.82rem;font-weight:700;display:inline-flex}.difficulty-pill{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em;padding:3px 10px;font-size:.78rem;font-weight:700}.diff-beginner{color:#10b981;background:#10b9811f;border:1px solid #10b98140}.diff-intermediate{color:#f59e0b;background:#f59e0b1f;border:1px solid #f59e0b40}.diff-advanced{color:#ef4444;background:#ef44441f;border:1px solid #ef444440}.presentation-setup-bar{background:var(--bg-subtle);border-radius:var(--radius-lg);border:1px solid var(--border-light);flex-direction:column;gap:12px;margin-bottom:20px;padding:16px;display:flex}.setup-filter-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.setup-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.82rem;font-weight:700}.category-scroll-chips{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.category-chip-btn{border-radius:var(--radius-full);background:var(--bg-card,#fff);color:var(--text-secondary);border:1px solid var(--border-light);cursor:pointer;white-space:nowrap;padding:5px 12px;font-size:.8rem;font-weight:600;transition:all .2s}.category-chip-btn:hover{color:#6366f1;border-color:#6366f1}.category-chip-btn.active{color:#fff;background:#6366f1;border-color:#6366f1}.shuffle-topic-btn{border-radius:var(--radius-md);background:var(--bg-card,#fff);color:var(--text-primary);border:1px solid var(--border-light);cursor:pointer;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:600;transition:all .2s;display:inline-flex}.shuffle-topic-btn:hover{color:#6366f1;border-color:#6366f1;transform:translateY(-1px)}.presentation-workspace{flex-direction:column;gap:18px;display:flex}.presentation-goal-banner{border-radius:var(--radius-md);background:#6366f112;border:1px solid #6366f133;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.goal-icon{color:#6366f1;flex-shrink:0;margin-top:2px}.goal-content h5{color:var(--text-primary);margin:0 0 4px;font-size:.88rem;font-weight:700}.goal-content p{color:var(--text-secondary);margin:0;font-size:.85rem;line-height:1.45}.practice-settings-strip{background:var(--bg-subtle);border-radius:var(--radius-md);border:1px solid var(--border-light);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.settings-group{align-items:center;gap:8px;font-size:.85rem;display:flex}.duration-pills{gap:6px;display:flex}.duration-pill-btn{border-radius:var(--radius-full);background:var(--bg-card,#fff);border:1px solid var(--border-light);color:var(--text-secondary);cursor:pointer;padding:4px 10px;font-size:.78rem;font-weight:600;transition:all .2s}.duration-pill-btn.active{color:#fff;background:#6366f1;border-color:#6366f1}.replay-audio-btn{border-radius:var(--radius-full);background:var(--bg-card,#fff);border:1px solid var(--border-light);color:var(--text-primary);cursor:pointer;align-items:center;gap:6px;padding:5px 12px;font-size:.8rem;font-weight:600;transition:all .2s;display:inline-flex}.replay-audio-btn:hover{color:#6366f1;border-color:#6366f1}.presentation-timer-box{border-radius:var(--radius-lg);background:var(--bg-card,#fff);border:1.5px solid var(--border-light);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.timer-digits-wrap{align-items:baseline;gap:10px;display:flex}.timer-digits{color:#6366f1;letter-spacing:-.03em;font-family:monospace;font-size:2.2rem;font-weight:800}.timer-digits.time-warning{color:#ef4444;animation:1s infinite alternate pulse}.timer-label{color:var(--text-muted);font-size:.82rem;font-weight:600}.times-up-alert{border-radius:var(--radius-md);color:#ef4444;background:#ef44441a;border:1px solid #ef44444d;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;animation:.2s ease-in fadeIn;display:flex}.times-up-text{align-items:center;gap:8px;font-size:.92rem;font-weight:700;display:flex}.live-mic-pulse{color:#ef4444;align-items:center;gap:8px;font-size:.85rem;font-weight:600;display:inline-flex}.red-dot{background:#ef4444;border-radius:50%;width:10px;height:10px;animation:1.2s ease-in-out infinite pulseDot}.presentation-transcript-box{flex-direction:column;gap:8px;display:flex}.transcript-header-line{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:.82rem;font-weight:700;display:flex}.transcript-mode-toggle{color:#6366f1;cursor:pointer;background:0 0;border:none;font-size:.8rem;font-weight:600;text-decoration:underline}.presentation-textarea{border-radius:var(--radius-md);border:1.5px solid var(--border-light);background:var(--bg-card,#fff);width:100%;color:var(--text-primary);resize:vertical;outline:none;min-height:120px;padding:14px;font-size:.95rem;line-height:1.6;transition:border-color .2s}.presentation-textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.presentation-actions-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;display:flex}.actions-left,.actions-right{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.presentation-analyzing-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:48px 24px;display:flex}.analyzing-spinner-ring{border:4px solid #6366f126;border-top-color:#6366f1;border-radius:50%;width:52px;height:52px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.analyzing-title{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:700}.analyzing-desc{color:var(--text-muted);max-width:480px;margin:0;font-size:.92rem;line-height:1.5}.presentation-report-container{flex-direction:column;gap:24px;animation:.25s ease-out fadeIn;display:flex}.report-header-card{background:var(--bg-subtle);border-radius:var(--radius-lg);border:1px solid var(--border-light);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:24px;display:flex}.report-badge-row{align-items:center;gap:10px;margin-bottom:8px;display:flex}.report-status-badge{border-radius:var(--radius-full);align-items:center;gap:5px;padding:4px 10px;font-size:.8rem;font-weight:700;display:inline-flex}.badge-emerald{color:#10b981;background:#10b98126}.badge-indigo{color:#6366f1;background:#6366f126}.badge-amber{color:#f59e0b;background:#f59e0b26}.badge-red{color:#ef4444;background:#ef444426}.report-xp-tag{background:var(--primary-light);color:var(--primary);border-radius:var(--radius-full);align-items:center;gap:5px;padding:4px 10px;font-size:.8rem;font-weight:700;display:inline-flex}.report-title{color:var(--text-primary);margin:0 0 6px;font-size:1.35rem;font-weight:700}.report-topic-sub{color:var(--text-secondary);margin:0;font-size:.92rem}.report-score-radial{flex-direction:column;align-items:center;gap:6px;display:flex}.radial-circle{background:var(--bg-card,#fff);border:4px solid #6366f1;border-radius:50%;justify-content:center;align-items:center;width:90px;height:90px;display:flex;box-shadow:0 6px 18px #6366f133}.radial-number{color:var(--text-primary);font-size:2rem;font-weight:800}.radial-denom{color:var(--text-muted);font-size:.9rem}.radial-caption{text-transform:uppercase;color:var(--text-secondary);letter-spacing:.05em;font-size:.78rem;font-weight:700}.report-stat-box{border-radius:var(--radius-md);background:var(--bg-card,#fff);border:1px solid var(--border-light);flex-direction:column;gap:4px;padding:14px;display:flex}.report-stat-box .stat-icon{color:#6366f1;margin-bottom:2px}.report-stat-box .stat-val{color:var(--text-primary);font-size:1.25rem;font-weight:700}.report-stat-box .stat-lbl{color:var(--text-muted);font-size:.78rem}.report-section-box{border-radius:var(--radius-lg);background:var(--bg-card,#fff);border:1px solid var(--border-light);padding:20px}.report-subheading{color:var(--text-primary);margin:0 0 14px;font-size:1.05rem;font-weight:700}.report-hint-text{color:var(--text-secondary);margin:-6px 0 16px;font-size:.85rem;line-height:1.5}.dimensions-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.dimension-bar-item{flex-direction:column;gap:6px;display:flex}.dimension-header{justify-content:space-between;font-size:.85rem;font-weight:600;display:flex}.dimension-name{color:var(--text-primary)}.dimension-num{color:var(--text-secondary)}.dimension-track{background:var(--bg-subtle);border-radius:var(--radius-full);height:8px;overflow:hidden}.dimension-fill{border-radius:var(--radius-full);height:100%;transition:width .6s cubic-bezier(.16,1,.3,1)}.structure-checklist{flex-direction:column;gap:12px;display:flex}.structure-item{border-radius:var(--radius-md);border:1px solid var(--border-light);background:var(--bg-subtle);align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.structure-item.is-present{border-left:3px solid #10b981}.structure-item.is-missing{border-left:3px solid #f59e0b}.structure-icon{flex-shrink:0;margin-top:2px}.structure-content{flex:1}.structure-header-line{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.structure-label{color:var(--text-primary);font-size:.92rem;font-weight:700}.structure-pill{border-radius:var(--radius-full);padding:2px 8px;font-size:.75rem;font-weight:700}.pill-success{color:#10b981;background:#10b98126}.pill-warning{color:#f59e0b;background:#f59e0b26}.structure-feedback{color:var(--text-secondary);margin:0;font-size:.85rem;line-height:1.45}.filler-word-box{background:var(--bg-subtle)}.filler-header-row{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.filler-count-pill{border-radius:var(--radius-full);background:var(--bg-card,#fff);border:1px solid var(--border-light);color:var(--text-primary);padding:4px 10px;font-size:.82rem}.filler-meta-row{gap:20px;margin-bottom:10px;font-size:.88rem;display:flex}.filler-meta-lbl{color:var(--text-muted);margin-right:6px}.filler-meta-val{color:var(--text-primary);font-weight:700}.filler-suggestion-text{color:var(--text-secondary);margin:0;font-size:.88rem;line-height:1.5}.report-split-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=768px){.report-split-grid{grid-template-columns:1fr}}.report-feedback-col{border-radius:var(--radius-lg);background:var(--bg-card,#fff);border:1px solid var(--border-light);padding:20px}.feedback-col-title{align-items:center;gap:8px;margin:0 0 14px;font-size:1rem;font-weight:700;display:flex}.text-emerald{color:#10b981}.text-amber{color:#f59e0b}.feedback-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.feedback-item{color:var(--text-secondary);align-items:flex-start;gap:8px;font-size:.88rem;line-height:1.5;display:flex}.improvements-list{flex-direction:column;gap:12px;display:flex}.improvement-card{border-radius:var(--radius-md);background:var(--bg-subtle);border:1px solid var(--border-light);flex-direction:column;gap:8px;padding:12px;display:flex}.imp-bubble{flex-direction:column;gap:2px;display:flex}.imp-tag{text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:700}.you-said .imp-tag{color:#ef4444}.better-way .imp-tag{color:#10b981}.imp-text{color:var(--text-primary);margin:0;font-size:.88rem;line-height:1.45}.imp-explanation{color:var(--text-muted);margin:2px 0 0;font-size:.8rem;line-height:1.4}.next-practice-banner{border-radius:var(--radius-lg);background:linear-gradient(135deg,#6366f11a 0%,#8b5cf61a 100%);border:1.5px solid #6366f14d;align-items:center;gap:16px;padding:18px 20px;display:flex}.next-practice-icon{flex-shrink:0;font-size:1.8rem}.next-practice-body h5{color:#6366f1;margin:0 0 4px;font-size:.95rem;font-weight:700}.next-practice-body p{color:var(--text-secondary);margin:0;font-size:.88rem;line-height:1.45}.honest-notice-text{color:var(--text-muted);text-align:center;font-size:.78rem}.report-actions-row{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:12px;margin-top:6px;display:flex}[data-theme=dark] .presentation-challenge-card,[data-theme=dark] .report-stat-box,[data-theme=dark] .report-section-box,[data-theme=dark] .report-feedback-col,[data-theme=dark] .presentation-timer-box,[data-theme=dark] .presentation-textarea{background:#1e293bb3;border-color:#ffffff14}[data-theme=dark] .presentation-setup-bar,[data-theme=dark] .practice-settings-strip,[data-theme=dark] .report-header-card,[data-theme=dark] .structure-item,[data-theme=dark] .filler-word-box,[data-theme=dark] .improvement-card{background:#0f172a99;border-color:#ffffff14}[data-theme=dark] .radial-circle{background:#1e293b}[data-theme=dark] .category-chip-btn,[data-theme=dark] .duration-pill-btn,[data-theme=dark] .shuffle-topic-btn,[data-theme=dark] .replay-audio-btn{color:#cbd5e1;background:#1e293bcc;border-color:#ffffff1f}[data-theme=dark] .category-chip-btn:hover,[data-theme=dark] .shuffle-topic-btn:hover,[data-theme=dark] .replay-audio-btn:hover{color:#fff;border-color:#818cf8}[data-theme=dark] .category-chip-btn.active,[data-theme=dark] .duration-pill-btn.active{color:#fff;background:#6366f1}.daily-challenge-section{background-color:var(--bg-main);padding:60px 0}.challenge-card{border-radius:var(--radius-xl);background:var(--bg-card,#fff);border:1px solid var(--border-light);max-width:960px;box-shadow:var(--shadow-lg);margin:0 auto;position:relative;overflow:hidden}.challenge-card:before{content:"";background:linear-gradient(90deg, #f59e0b 0%, #ef4444 50%, var(--primary) 100%);height:5px;position:absolute;top:0;left:0;right:0}.challenge-card-inner{grid-template-columns:1.4fr .8fr;gap:36px;padding:40px;display:grid}.challenge-content-col{flex-direction:column;display:flex}.challenge-tag-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.challenge-pill{background:var(--accent-amber-light);color:#b45309;border-radius:var(--radius-full);border:1px solid #f59e0b4d;align-items:center;gap:6px;padding:4px 12px;font-size:.82rem;font-weight:700;display:inline-flex}.flame-icon{color:#f59e0b}.challenge-meta{color:var(--text-secondary);align-items:center;gap:6px;font-size:.82rem;font-weight:600;display:inline-flex}.challenge-meta.xp{color:var(--primary);background:var(--primary-light);border-radius:var(--radius-full);padding:3px 10px}.challenge-prompt-text{font-family:var(--font-display);color:var(--text-primary);margin-bottom:14px;font-size:clamp(1.45rem,2.4vw,1.9rem);font-weight:700;line-height:1.3}.challenge-description{color:var(--text-secondary);margin-bottom:24px;font-size:.98rem;line-height:1.6}.challenge-pointers{background:var(--bg-subtle);border-radius:var(--radius-md);border:1px solid var(--border-light);margin-bottom:28px;padding:16px}.pointer-header{color:var(--text-primary);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:8px;margin-bottom:10px;font-size:.82rem;font-weight:700;display:flex}.pointer-chips{flex-wrap:wrap;gap:8px;display:flex}.pointer-chip{color:var(--text-secondary);background:var(--bg-card,#fff);border-radius:var(--radius-full);border:1px solid var(--border-light);padding:6px 12px;font-size:.82rem;font-weight:600}.challenge-action-row{flex-wrap:wrap;align-items:center;gap:16px;margin-top:auto;display:flex}.challenge-btn{color:#fff;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);box-shadow:0 10px 20px -5px #f59e0b66}.challenge-btn:hover{filter:brightness(1.06);box-shadow:0 14px 25px -6px #f59e0b80}.challenge-deadline{color:var(--text-muted);font-size:.82rem}.challenge-interactive-box{background:var(--bg-subtle);border:1.5px solid var(--border-light);border-radius:var(--radius-lg);flex-direction:column;gap:16px;margin-top:10px;padding:20px;display:flex}.challenge-timer-status-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.challenge-time-readout{color:var(--text-secondary);align-items:center;gap:6px;font-size:.92rem;display:flex}.challenge-time-readout strong{color:var(--primary);font-family:var(--font-display);font-size:1.1rem}.challenge-live-indicator{color:#ef4444;align-items:center;gap:6px;font-size:.78rem;font-weight:700;display:inline-flex}.challenge-transcript-wrap{flex-direction:column;gap:6px;display:flex}.transcript-label-sm{color:var(--text-muted);text-transform:uppercase;font-size:.8rem;font-weight:700}.challenge-transcript-input{border-radius:var(--radius-md);border:1px solid var(--border-light);width:100%;font-family:var(--font-sans);background:var(--bg-card,#fff);color:var(--text-primary);resize:vertical;padding:12px 14px;font-size:.92rem;line-height:1.5}.challenge-transcript-input:focus{border-color:var(--border-focus);outline:none}.challenge-controls-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.complete-btn{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%)}.challenge-success-alert{background:var(--accent-emerald-light);border-radius:var(--radius-lg);border:1.5px solid #10b98166;align-items:flex-start;gap:14px;margin-top:10px;padding:16px 20px;animation:.3s fadeIn;display:flex}.success-icon-wrap{color:#fff;background:#10b981;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.success-text-wrap h4{font-family:var(--font-display);color:#065f46;margin-bottom:2px;font-size:1.05rem;font-weight:700}.success-text-wrap p{color:#047857;font-size:.88rem}.challenge-streak-col{border-radius:var(--radius-lg);text-align:center;background:linear-gradient(160deg,#fffbeb 0%,#fef3c7 100%);border:1px solid #f59e0b40;flex-direction:column;justify-content:center;align-items:center;padding:28px 24px;display:flex}.streak-circle-box{background:var(--bg-card,#fff);border:2px solid #f59e0b4d;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:110px;height:110px;margin-bottom:24px;display:flex;box-shadow:0 8px 20px -4px #f59e0b4d}.streak-flame-icon{margin-bottom:2px;font-size:1.8rem;line-height:1}.streak-count{font-family:var(--font-display);color:#92400e;font-size:1.25rem;font-weight:800;line-height:1.1}.streak-label{text-transform:uppercase;color:var(--text-muted);font-size:.68rem;font-weight:700}.streak-benefits-list{text-align:left;flex-direction:column;gap:12px;width:100%;display:flex}.streak-benefit-item{color:#78350f;align-items:flex-start;gap:8px;font-size:.85rem;font-weight:500;display:flex}.check-bullet{color:#d97706;font-weight:800}@media (width<=860px){.challenge-card-inner{grid-template-columns:1fr;padding:28px 20px}}.learning-plan-section{background-color:var(--bg-main);padding:80px 0 100px;position:relative;overflow:hidden}.learning-plan-container{max-width:1200px;margin:0 auto;padding:0 24px}.learning-plan-header{text-align:center;margin-bottom:40px}.header-badge-row{align-items:center;gap:10px;margin-bottom:14px;display:inline-flex}.section-kicker{background:var(--primary-light,#4f46e51a);color:var(--primary);letter-spacing:.06em;border:1px solid var(--primary-glow,#4f46e533);border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:.78rem;font-weight:700;display:inline-flex}.phase-pill{background:linear-gradient(135deg, var(--secondary) 0%, var(--primary) 100%);color:#fff;letter-spacing:.04em;border-radius:999px;padding:4px 10px;font-size:.72rem;font-weight:800}.learning-plan-title{font-family:var(--font-display,inherit);color:var(--text-primary);margin-bottom:12px;font-size:clamp(2rem,4vw,2.75rem);font-weight:800;line-height:1.2}.learning-plan-subtitle{color:var(--text-secondary);max-width:640px;margin:0 auto 28px;font-size:1.05rem;line-height:1.5}.plan-metrics-strip{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:24px;display:flex}.plan-metric-pill{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg,14px);box-shadow:var(--shadow-sm,0 2px 4px #0000000a);align-items:center;gap:10px;padding:10px 18px;transition:transform .2s,border-color .2s;display:inline-flex}.plan-metric-pill:hover{border-color:var(--primary);transform:translateY(-2px)}.metric-icon-small{justify-content:center;align-items:center;display:flex}.metric-pill-text{text-align:left;flex-direction:column;display:flex}.metric-pill-text .lbl{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.72rem;font-weight:600}.metric-pill-text .val{color:var(--text-primary);font-size:.95rem;font-weight:700}.metric-pill-text .val.highlight{color:var(--primary)}.plan-metric-pill.goals-pill{cursor:pointer;border-color:var(--primary-glow,#4f46e54d)}.plan-metric-pill.goals-pill:hover{background:var(--primary-light,#4f46e514)}.practice-now-banner{border:1px solid var(--primary-glow,#4f46e54d);border-radius:var(--radius-xl,20px);background:linear-gradient(135deg,#4f46e51f 0%,#7c3aed26 100%);justify-content:space-between;align-items:center;gap:20px;margin-bottom:36px;padding:24px 32px;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 24px #4f46e514}.banner-left{align-items:center;gap:18px;display:flex}.banner-icon-badge{background:#f59e0b26;border:1px solid #f59e0b4d;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.banner-heading{color:var(--text-primary);margin-bottom:4px;font-size:1.25rem;font-weight:700}.banner-subtext{color:var(--text-secondary);font-size:.92rem;line-height:1.4}.btn-practice-now-cta{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);color:#fff;border-radius:var(--radius-lg,12px);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:8px;padding:12px 22px;font-size:.95rem;font-weight:700;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 4px 14px #4f46e559}.btn-practice-now-cta:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4f46e573}.empty-state-plan-card{background:var(--bg-card);border:1px dashed var(--accent-amber);border-radius:var(--radius-xl,20px);text-align:center;margin-bottom:40px;padding:40px 30px}.empty-state-plan-card h3{color:var(--text-primary);margin-bottom:10px;font-size:1.25rem;font-weight:700}.empty-state-plan-card p{color:var(--text-secondary);max-width:580px;margin:0 auto 24px;line-height:1.5}.empty-state-actions{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.plan-section-block{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-xl,20px);box-shadow:var(--shadow-sm,0 4px 6px -1px #0000000d);margin-bottom:32px;padding:28px 32px}.block-header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.block-title{font-family:var(--font-display,inherit);color:var(--text-primary);margin-bottom:4px;font-size:1.4rem;font-weight:800}.block-desc{color:var(--text-secondary);font-size:.92rem;line-height:1.4}.btn-refresh-plan{background:var(--bg-subtle,#f8fafc);border:1px solid var(--border-light);color:var(--text-secondary);border-radius:var(--radius-md,8px);cursor:pointer;align-items:center;gap:6px;padding:8px 14px;font-size:.82rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-refresh-plan:hover{border-color:var(--primary);color:var(--primary)}.daily-progress-wrap{margin-bottom:24px}.daily-progress-header{color:var(--text-secondary);justify-content:space-between;margin-bottom:8px;font-size:.88rem;font-weight:600;display:flex}.daily-progress-track{background:var(--border-light,#e2e8f0);border-radius:999px;height:10px;overflow:hidden}.daily-progress-bar{background:linear-gradient(90deg, var(--primary) 0%, var(--secondary) 100%);border-radius:999px;height:100%;transition:width .4s}.today-tasks-grid{flex-direction:column;gap:14px;display:flex}.task-item-card{background:var(--bg-main,#f8fafc);border:1px solid var(--border-light);border-radius:var(--radius-lg,14px);justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;transition:all .2s;display:flex}.task-item-card:hover{border-color:var(--primary-glow,#4f46e566);transform:translateY(-1px)}.task-item-card.task-completed{opacity:.75;background:#10b9810a;border-color:#10b9814d}.task-left-block{flex:1;align-items:flex-start;gap:16px;display:flex}.task-checkbox{border:2px solid var(--border-light);background:var(--bg-card);cursor:pointer;color:#fff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-top:2px;transition:all .2s;display:flex}.task-checkbox.checked{background:var(--accent-emerald,#10b981);border-color:var(--accent-emerald,#10b981)}.task-info{flex:1}.task-title-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px;display:flex}.task-title{color:var(--text-primary);margin:0;font-size:1.05rem;font-weight:700}.task-diff-tag{text-transform:uppercase;border-radius:4px;padding:2px 8px;font-size:.72rem;font-weight:700}.task-diff-tag.diff-beginner{color:#059669;background:#10b9811f}.task-diff-tag.diff-intermediate{color:#d97706;background:#f59e0b1f}.task-diff-tag.diff-advanced{color:#7c3aed;background:#7c3aed1f}.task-skill-tag{background:var(--bg-card);border:1px solid var(--border-light);color:var(--text-secondary);border-radius:4px;padding:2px 8px;font-size:.72rem;font-weight:600}.task-desc{color:var(--text-secondary);margin-bottom:8px;font-size:.9rem;line-height:1.4}.task-meta-row{align-items:center;gap:14px;display:flex}.task-time-pill,.task-xp-pill{color:var(--text-muted);align-items:center;gap:4px;font-size:.78rem;font-weight:600;display:inline-flex}.task-xp-pill{color:var(--accent-amber,#f59e0b)}.btn-task-action{background:var(--primary);color:#fff;border-radius:var(--radius-md,8px);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:6px;padding:9px 18px;font-size:.88rem;font-weight:700;transition:all .2s;display:inline-flex}.btn-task-action:hover{background:var(--primary-hover);transform:translateY(-1px)}.btn-task-action.btn-task-done{background:var(--bg-card);border:1px solid var(--border-light);color:var(--text-secondary)}.btn-task-action.btn-task-done:hover{border-color:var(--primary);color:var(--primary)}.daily-goal-commitment-card{background:linear-gradient(135deg, var(--bg-card) 0%, var(--bg-main) 100%)}.daily-goal-flex{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:30px;display:flex}.daily-goal-info{flex:1}.card-kicker{text-transform:uppercase;letter-spacing:.05em;color:var(--primary);align-items:center;gap:6px;margin-bottom:6px;font-size:.75rem;font-weight:700;display:inline-flex}.goal-headline{color:var(--text-primary);margin-bottom:6px;font-size:1.35rem;font-weight:800}.goal-subtext{color:var(--text-secondary);margin-bottom:18px;font-size:.92rem}.time-select-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.time-select-label{color:var(--text-muted);font-size:.85rem;font-weight:600}.time-chips-group{flex-wrap:wrap;gap:8px;display:flex}.time-chip{background:var(--bg-card);border:1px solid var(--border-light);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:6px 14px;font-size:.82rem;font-weight:600;transition:all .2s}.time-chip:hover{border-color:var(--primary);color:var(--primary)}.time-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.daily-goal-stats-badge{justify-content:center;align-items:center;display:flex}.stats-circle-wrap{border:6px solid var(--primary-glow,#4f46e533);border-top-color:var(--primary);background:var(--bg-card);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:100px;height:100px;display:flex}.stat-circle-val{color:var(--text-primary);font-size:1.3rem;font-weight:800;line-height:1}.stat-circle-lbl{color:var(--text-muted);margin-top:2px;font-size:.68rem;font-weight:600}.plan-columns-grid{grid-template-columns:1fr 1fr;gap:28px;margin-bottom:32px;display:grid}.plan-columns-grid .plan-section-block{margin-bottom:0}.focus-areas-list,.strengths-list{flex-direction:column;gap:14px;display:flex}.focus-area-card{background:var(--bg-main);border:1px solid var(--border-light);border-left:4px solid var(--accent-amber);border-radius:var(--radius-md,10px);padding:16px}.focus-area-top{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.area-title-wrap{align-items:center;gap:8px;display:flex}.area-title-wrap h4{color:var(--text-primary);margin:0;font-size:.98rem;font-weight:700}.area-score-badge{color:#d97706;background:#f59e0b1f;border-radius:4px;padding:2px 8px;font-size:.78rem;font-weight:700}.area-reason{color:var(--text-secondary);margin-bottom:12px;font-size:.85rem;line-height:1.4}.btn-area-action{color:var(--primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:.85rem;font-weight:700;transition:gap .2s;display:inline-flex}.btn-area-action:hover{gap:9px;text-decoration:underline}.strength-card{background:var(--bg-main);border:1px solid var(--border-light);border-left:4px solid var(--accent-emerald);border-radius:var(--radius-md,10px);padding:16px}.strength-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.strength-title-wrap{align-items:center;gap:8px;display:flex}.strength-title-wrap h4{color:var(--text-primary);margin:0;font-size:.98rem;font-weight:700}.strength-score{color:#059669;background:#10b9811f;border-radius:4px;padding:2px 8px;font-size:.78rem;font-weight:700}.strength-praise{color:var(--text-secondary);font-size:.85rem;line-height:1.4}.difficulty-reason-box{border-radius:var(--radius-md,10px);background:#7c3aed0f;border:1px solid #7c3aed33;margin-top:18px;padding:14px 16px}.difficulty-reason-header{color:var(--text-primary);align-items:center;gap:8px;margin-bottom:4px;font-size:.85rem;display:flex}.difficulty-reason-text{color:var(--text-secondary);margin:0;font-size:.82rem;line-height:1.4}.days-picker-bar{gap:8px;margin-bottom:20px;padding-bottom:4px;display:flex;overflow-x:auto}.day-picker-btn{background:var(--bg-main);border:1px solid var(--border-light);border-radius:var(--radius-md,10px);cursor:pointer;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;min-width:70px;padding:12px 8px;transition:all .2s;display:flex}.day-picker-btn:hover{border-color:var(--primary)}.day-picker-btn.active{background:var(--primary);border-color:var(--primary)}.day-picker-btn.active .day-name{color:#fff;font-weight:800}.day-name{color:var(--text-primary);font-size:.85rem;font-weight:700}.today-dot{background:var(--accent-amber);border-radius:50%;width:6px;height:6px}.day-schedule-card{background:var(--bg-main);border:1px solid var(--border-light);border-radius:var(--radius-lg,14px);padding:20px 24px}.day-schedule-header{border-bottom:1px solid var(--border-light);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;display:flex}.day-theme-title{align-items:center;gap:10px;display:flex}.day-theme-title h4{color:var(--text-primary);margin:0;font-size:1.05rem;font-weight:700}.day-theme-title .theme-text{color:var(--primary)}.day-skill-badge{background:var(--primary-light,#4f46e51a);color:var(--primary);border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:700}.day-activities-list{flex-direction:column;gap:10px;display:flex}.day-activity-item{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md,8px);justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.activity-index{background:var(--bg-main);width:24px;height:24px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.78rem;font-weight:700;display:flex}.activity-title{color:var(--text-primary);flex:1;font-size:.92rem;font-weight:600}.btn-activity-start{background:var(--bg-main);border:1px solid var(--border-light);color:var(--text-secondary);cursor:pointer;border-radius:6px;align-items:center;gap:4px;padding:6px 12px;font-size:.78rem;font-weight:700;transition:all .2s;display:inline-flex}.btn-activity-start:hover{background:var(--primary);border-color:var(--primary);color:#fff}.recommendations-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;display:grid}.recommendation-card{background:var(--bg-main);border:1px solid var(--border-light);border-radius:var(--radius-lg,14px);flex-direction:column;justify-content:space-between;padding:20px;transition:all .2s;display:flex}.recommendation-card:hover{border-color:var(--primary);transform:translateY(-2px)}.rec-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.rec-skill{text-transform:uppercase;color:var(--primary);font-size:.75rem;font-weight:700}.rec-time{color:var(--text-muted);align-items:center;gap:4px;font-size:.75rem;display:inline-flex}.rec-title{color:var(--text-primary);margin-bottom:6px;font-size:1.05rem;font-weight:700}.rec-reason{color:var(--text-secondary);flex:1;margin-bottom:18px;font-size:.85rem;line-height:1.4}.btn-rec-action{background:var(--bg-card);border:1px solid var(--border-light);color:var(--primary);border-radius:var(--radius-md,8px);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:9px 14px;font-size:.85rem;font-weight:700;transition:all .2s;display:inline-flex}.btn-rec-action:hover{background:var(--primary);border-color:var(--primary);color:#fff}.btn-weekly-report-trigger{background:linear-gradient(135deg, var(--secondary) 0%, var(--primary) 100%);color:#fff;border-radius:var(--radius-md,8px);cursor:pointer;border:none;align-items:center;gap:6px;padding:8px 16px;font-size:.85rem;font-weight:700;transition:transform .2s;display:inline-flex;box-shadow:0 4px 10px #7c3aed40}.btn-weekly-report-trigger:hover{transform:translateY(-1px)}.coach-preset-chips{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.preset-chip{background:var(--bg-main);border:1px solid var(--border-light);color:var(--text-secondary);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:.82rem;font-weight:600;transition:all .2s;display:inline-flex}.preset-chip:hover{border-color:var(--primary);color:var(--primary)}.preset-chip.active{background:var(--primary-light,#4f46e51a);border-color:var(--primary);color:var(--primary)}.coach-input-form{gap:12px;margin-bottom:18px;display:flex}.coach-text-input{background:var(--bg-main);border:1px solid var(--border-light);border-radius:var(--radius-md,10px);color:var(--text-primary);outline:none;flex:1;padding:12px 18px;font-size:.95rem;transition:border-color .2s}.coach-text-input:focus{border-color:var(--primary)}.btn-coach-send{background:var(--primary);color:#fff;border-radius:var(--radius-md,10px);cursor:pointer;border:none;align-items:center;gap:8px;padding:0 22px;font-size:.92rem;font-weight:700;transition:all .2s;display:inline-flex}.btn-coach-send:disabled{opacity:.5;cursor:not-allowed}.coach-loading-row{background:var(--bg-main);border-radius:var(--radius-md,10px);color:var(--text-muted);align-items:center;gap:12px;padding:14px;font-size:.88rem;display:flex}.coach-answer-box{background:var(--bg-main);border:1px solid var(--border-light);border-left:4px solid var(--primary);border-radius:var(--radius-lg,12px);gap:16px;padding:18px 22px;display:flex}.coach-avatar-bubble{background:var(--primary-light,#4f46e51f);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.coach-name{color:var(--primary);margin-bottom:4px;font-size:.85rem;font-weight:700}.coach-answer-text p{color:var(--text-primary);margin:0;font-size:.94rem;line-height:1.5}.plan-spinner{border:3px solid var(--border-light);border-top-color:var(--primary);border-radius:50%;width:36px;height:36px;margin:0 auto 16px;animation:.8s linear infinite spin}.plan-spinner-small{border:2px solid var(--border-light);border-top-color:var(--primary);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}.plan-loading-state{text-align:center;color:var(--text-secondary);padding:60px 20px}.learning-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#000000a6;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.learning-modal-container{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-xl,20px);flex-direction:column;width:100%;max-width:680px;max-height:90vh;display:flex;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040}.learning-modal-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:22px 28px;display:flex}.modal-title-wrap{align-items:center;gap:14px;display:flex}.modal-icon-badge{background:var(--primary-light,#4f46e51a);border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.modal-title{color:var(--text-primary);margin:0 0 2px;font-size:1.25rem;font-weight:800}.modal-subtitle{color:var(--text-secondary);margin:0;font-size:.84rem}.modal-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;display:flex}.modal-close-btn:hover{color:var(--text-primary);background:var(--bg-main)}.learning-modal-footer{border-top:1px solid var(--border-light);background:var(--bg-main);border-bottom-left-radius:var(--radius-xl,20px);border-bottom-right-radius:var(--radius-xl,20px);justify-content:space-between;align-items:center;padding:18px 28px;display:flex}.btn-primary-plan{background:var(--primary);color:#fff;border-radius:var(--radius-md,8px);cursor:pointer;border:none;justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-size:.9rem;font-weight:700;display:inline-flex}.btn-secondary-plan{background:var(--bg-card);border:1px solid var(--border-light);color:var(--text-secondary);border-radius:var(--radius-md,8px);cursor:pointer;align-items:center;gap:6px;padding:10px 18px;font-size:.9rem;font-weight:600;display:inline-flex}.goals-grid{grid-template-columns:1fr 1fr;gap:12px;max-height:55vh;padding:24px 28px;display:grid;overflow-y:auto}.goal-select-card{background:var(--bg-main);border:1px solid var(--border-light);border-radius:var(--radius-lg,12px);text-align:left;cursor:pointer;padding:14px;transition:all .2s}.goal-select-card:hover{border-color:var(--primary)}.goal-select-card.goal-card-selected{background:var(--primary-light,#4f46e514);border-color:var(--primary)}.goal-card-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.goal-icon{font-size:1.3rem}.goal-check-pill{border:1.5px solid var(--border-light);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.goal-check-pill.checked{background:var(--primary);border-color:var(--primary)}.goal-label{color:var(--text-primary);margin-bottom:3px;font-size:.92rem;font-weight:700}.goal-desc{color:var(--text-secondary);font-size:.78rem;line-height:1.3}.weekly-report-content{flex-direction:column;gap:20px;padding:24px 28px;display:flex}.report-summary-box{border-radius:var(--radius-md,10px);color:var(--text-primary);background:#f59e0b14;border:1px solid #f59e0b40;align-items:flex-start;gap:12px;padding:16px;font-size:.94rem;line-height:1.5;display:flex}.report-metrics-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.report-metric-card{background:var(--bg-main);border:1px solid var(--border-light);border-radius:var(--radius-md,10px);align-items:center;gap:14px;padding:14px 18px;display:flex}.metric-icon-wrap{color:#fff;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.metric-icon-wrap.bg-blue{background:var(--primary)}.metric-icon-wrap.bg-purple{background:var(--secondary)}.metric-icon-wrap.bg-emerald{background:var(--accent-emerald)}.metric-icon-wrap.bg-amber{background:var(--accent-amber)}.metric-val{color:var(--text-primary);font-size:1.15rem;font-weight:800}.metric-lbl{color:var(--text-muted);font-size:.75rem}.report-pill-grid{flex-wrap:wrap;gap:10px;display:flex}.report-pill{background:var(--bg-main);border:1px solid var(--border-light);color:var(--text-secondary);border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:.84rem;display:inline-flex}.report-trajectory-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.trajectory-card{background:var(--bg-main);border:1px solid var(--border-light);border-radius:var(--radius-md,10px);padding:14px 16px}.trajectory-label{color:var(--text-muted);text-transform:uppercase;margin-bottom:4px;font-size:.78rem}.trajectory-value{color:var(--accent-emerald);margin-bottom:4px;font-size:1.4rem;font-weight:800}.trajectory-desc{color:var(--text-secondary);font-size:.8rem}.skills-comparison-wrap{grid-template-columns:1fr 1fr;gap:14px;display:grid}.skill-compare-item{background:var(--bg-main);border:1px solid var(--border-light);border-radius:var(--radius-md,10px);padding:14px 16px}.skill-badge-tag{text-transform:uppercase;border-radius:4px;margin-bottom:8px;padding:2px 8px;font-size:.72rem;font-weight:700;display:inline-block}.skill-badge-tag.green{color:#059669;background:#10b9811f}.skill-badge-tag.amber{color:#d97706;background:#f59e0b1f}.skill-compare-item h4{color:var(--text-primary);margin-bottom:4px;font-size:1rem;font-weight:700}.skill-compare-item p{color:var(--text-secondary);margin:0;font-size:.82rem;line-height:1.4}.next-week-recommendation{background:var(--primary-light,#4f46e514);border:1px solid var(--primary-glow,#4f46e540);border-radius:var(--radius-md,10px);padding:16px}.next-week-header{color:var(--primary);align-items:center;gap:8px;margin-bottom:6px;font-size:.84rem;font-weight:700;display:flex}.next-week-content{color:var(--text-primary);font-size:.92rem;font-weight:600;line-height:1.4}.practice-now-modal{max-width:520px}.practice-now-body{padding:24px 28px}.practice-recommendation-card{text-align:left}.recommendation-badge-row{gap:10px;margin-bottom:12px;display:flex}.skill-pill-tag,.time-pill-tag{border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.skill-pill-tag{background:var(--primary-light,#4f46e51f);color:var(--primary)}.time-pill-tag{background:var(--bg-main);border:1px solid var(--border-light);color:var(--text-secondary)}.recommendation-title{color:var(--text-primary);margin-bottom:12px;font-size:1.35rem;font-weight:800}.recommendation-reason-box{background:var(--bg-main);border:1px solid var(--border-light);border-radius:var(--radius-md,10px);margin-bottom:24px;padding:14px 16px}.reason-text{color:var(--text-secondary);margin:0;font-size:.92rem;line-height:1.5}.btn-start-action{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);color:#fff;border-radius:var(--radius-lg,12px);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px;font-size:1rem;font-weight:800;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 16px #4f46e54d}.btn-start-action:hover{transform:translateY(-2px);box-shadow:0 8px 24px #4f46e566}@media (width<=900px){.plan-columns-grid,.goals-grid,.report-metrics-grid,.report-trajectory-grid,.skills-comparison-wrap{grid-template-columns:1fr}.practice-now-banner{flex-direction:column;align-items:flex-start}.btn-practice-now-cta{justify-content:center;width:100%}}@media (width<=640px){.learning-plan-section{padding:50px 0 70px}.plan-section-block{padding:20px 18px}.task-item-card{flex-direction:column;align-items:stretch;gap:14px}.btn-task-action{justify-content:center;width:100%}.coach-input-form{flex-direction:column}.btn-coach-send{justify-content:center;padding:12px}}.badge-card-item{background:var(--bg-card,#fff);border-radius:var(--radius-md);border:1.5px solid var(--border-light);transition:var(--transition-fast);align-items:center;gap:14px;padding:14px 16px;display:flex}.badge-card-item.unlocked{border-color:#4f46e54d;box-shadow:0 4px 12px -2px #4f46e514}.badge-card-item.unlocked:hover{transform:translateY(-2px);box-shadow:0 8px 18px -4px #4f46e529}.badge-card-item.locked{opacity:.65;background:var(--bg-subtle);border-style:dashed}.badge-icon-bubble{background:var(--bg-muted);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:relative}.badge-card-item.unlocked .badge-icon-bubble{background:linear-gradient(135deg,#eef2ff 0%,#e0e7ff 100%);box-shadow:0 2px 8px #4f46e533}.badge-emoji-symbol{font-size:1.4rem;line-height:1}.badge-lock-overlay{color:#fff;background:#475569;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;display:flex;position:absolute;bottom:-2px;right:-2px}.badge-text-details{flex-direction:column;gap:2px;display:flex}.badge-title-row{align-items:center;gap:6px;display:flex}.badge-item-title{font-family:var(--font-display);color:var(--text-primary);font-size:.92rem;font-weight:700}.unlocked-check-icon{color:#10b981}.badge-item-desc{color:var(--text-secondary);font-size:.78rem;line-height:1.3}.progress-section{background-color:var(--bg-main);padding:60px 0 80px}.progress-overview-grid{grid-template-columns:.9fr 1.3fr;gap:28px;margin-bottom:32px;display:grid}.overall-score-card{background:var(--bg-card,#fff);border-radius:var(--radius-xl);border:1px solid var(--border-light);text-align:center;flex-direction:column;align-items:center;padding:32px;display:flex}.card-subheading-tag{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:6px;font-size:.75rem;font-weight:700}.overall-score-heading{font-family:var(--font-display);color:var(--text-primary);margin-bottom:20px;font-size:1.4rem;font-weight:800}.score-radial-visual{justify-content:center;align-items:center;width:150px;height:150px;margin-bottom:20px;display:flex;position:relative}.radial-score-center{align-items:baseline;gap:2px;display:flex;position:absolute}.center-score-num{font-family:var(--font-display);color:var(--primary);font-size:2.8rem;font-weight:800;line-height:1}.center-score-denom{color:var(--text-muted);font-size:1.1rem;font-weight:700}.score-summary-pill{background:var(--accent-emerald-light);color:#059669;border-radius:var(--radius-full);align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:700;display:inline-flex}.skills-breakdown-card{background:var(--bg-card,#fff);border-radius:var(--radius-xl);border:1px solid var(--border-light);flex-direction:column;padding:32px;display:flex}.skills-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.skills-title{font-family:var(--font-display);color:var(--text-primary);font-size:1.35rem;font-weight:800}.skills-xp-badge{background:var(--accent-amber-light);color:#d97706;border-radius:var(--radius-full);border:1px solid #f59e0b4d;align-items:center;gap:6px;padding:4px 12px;font-size:.85rem;font-weight:800;display:inline-flex}.skills-desc{color:var(--text-secondary);margin-bottom:24px;font-size:.88rem}.skill-bars-list{flex-direction:column;gap:16px;display:flex}.skill-labels{color:var(--text-primary);justify-content:space-between;margin-bottom:6px;font-size:.88rem;font-weight:600;display:flex}.skill-percentage{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-weight:700}.skill-track{background:var(--bg-muted);border-radius:var(--radius-full);height:8px;overflow:hidden}.skill-fill{border-radius:var(--radius-full);height:100%;transition:width .4s}.skill-fill.fill-indigo{background:linear-gradient(90deg,#4f46e5,#6366f1)}.skill-fill.fill-cyan{background:linear-gradient(90deg,#06b6d4,#3b82f6)}.skill-fill.fill-amber{background:linear-gradient(90deg,#f59e0b,#f97316)}.skill-fill.fill-emerald{background:linear-gradient(90deg,#10b981,#059669)}.stats-summary-grid{grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:36px;display:grid}.stat-summary-card{background:var(--bg-card,#fff);border-radius:var(--radius-lg);border:1px solid var(--border-light);align-items:center;gap:16px;padding:20px;display:flex}.stat-icon-box{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.stat-icon-box.indigo{background:var(--primary-light);color:var(--primary)}.stat-icon-box.cyan{background:var(--accent-cyan-light);color:var(--accent-cyan)}.stat-icon-box.amber{background:var(--accent-amber-light);color:var(--accent-amber)}.stat-icon-box.emerald{background:var(--accent-emerald-light);color:var(--accent-emerald)}.stat-info{flex-direction:column;display:flex}.stat-number{font-family:var(--font-display);color:var(--text-primary);font-size:1.45rem;font-weight:800;line-height:1.1}.badges-section-container{background:var(--bg-card,#fff);border-radius:var(--radius-xl);border:1px solid var(--border-light);box-shadow:var(--shadow-md);padding:32px}.badges-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:24px;display:flex}.badges-title-wrap{align-items:center;gap:10px;display:flex}.shield-icon{color:var(--primary)}.badges-title-wrap h3{font-family:var(--font-display);color:var(--text-primary);font-size:1.35rem;font-weight:800}.badges-counter-text{color:var(--primary);background:var(--primary-light);border-radius:var(--radius-full);padding:4px 12px;font-size:.85rem;font-weight:700}.badges-cards-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}@media (width<=992px){.progress-overview-grid{grid-template-columns:1fr}.stats-summary-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=540px){.stats-summary-grid{grid-template-columns:1fr}}.footer-section{color:#f8fafc;background:#0f172a;border-top:1px solid #ffffff14;padding-top:64px;padding-bottom:32px}.footer-container{padding-top:0;padding-bottom:0}.footer-top-row{border-bottom:1px solid #ffffff1a;grid-template-columns:1.4fr 1fr 1.2fr;gap:48px;padding-bottom:48px;display:grid}.footer-brand-col{flex-direction:column;align-items:flex-start;display:flex}.footer-logo .brand-name{color:#fff}.footer-tagline-text{color:#94a3b8;max-width:360px;margin:16px 0 20px;font-size:.92rem;line-height:1.6}.footer-ai-badge{border-radius:var(--radius-full);color:#a5b4fc;background:#4f46e52e;border:1px solid #818cf84d;align-items:center;gap:8px;padding:6px 12px;font-size:.78rem;font-weight:600;display:inline-flex}.footer-col-heading{font-family:var(--font-display);color:#fff;letter-spacing:.02em;margin-bottom:20px;font-size:1rem;font-weight:700}.footer-links-list{flex-direction:column;gap:12px;list-style:none;display:flex}.footer-links-list a{color:#94a3b8;transition:var(--transition-fast);font-size:.9rem}.footer-links-list a:hover{color:#fff;padding-left:4px}.footer-tip-card{border-radius:var(--radius-lg);background:#ffffff0d;border:1px solid #ffffff1a;padding:18px}.tip-quote{color:#cbd5e1;margin-bottom:10px;font-size:.88rem;font-style:italic;line-height:1.5}.tip-author{color:#818cf8;font-size:.78rem;font-weight:700}.footer-bottom-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:28px;display:flex}.footer-copyright{color:#64748b;font-size:.85rem}.scroll-top-btn{color:#cbd5e1;border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-fast);background:#ffffff14;border:1px solid #ffffff1f;align-items:center;gap:6px;padding:8px 14px;font-size:.82rem;font-weight:600;display:flex}.scroll-top-btn:hover{color:#fff;background:#ffffff26}@media (width<=880px){.footer-top-row{grid-template-columns:1fr;gap:36px}}.menu-drawer-backdrop{-webkit-backdrop-filter:blur(8px);z-index:9999;background:#0a0f1da6;justify-content:flex-end;animation:.25s cubic-bezier(.16,1,.3,1) menuBackdropFade;display:flex;position:fixed;inset:0}@keyframes menuBackdropFade{0%{opacity:0}to{opacity:1}}.menu-drawer-panel{background:var(--bg-surface,#1e293b);border-left:1px solid var(--border-color,#ffffff1a);width:100%;max-width:540px;height:100vh;color:var(--text-main,#f8fafc);flex-direction:column;animation:.3s cubic-bezier(.16,1,.3,1) menuDrawerSlide;display:flex;position:relative;overflow:hidden;box-shadow:-10px 0 35px #0006}@keyframes menuDrawerSlide{0%{opacity:.8;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.menu-drawer-header{border-bottom:1px solid var(--border-color,#ffffff14);background:var(--bg-secondary,#0f172a);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.menu-header-titles{flex-direction:column;gap:.25rem;display:flex}.menu-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--primary-accent,#6366f1);align-items:center;gap:.35rem;font-size:.72rem;font-weight:700;display:inline-flex}.menu-main-title{color:var(--text-main,#f8fafc);margin:0;font-size:1.25rem;font-weight:700}.menu-close-btn{border:1px solid var(--border-color,#ffffff1f);color:var(--text-muted,#94a3b8);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.menu-close-btn:hover{color:var(--text-main,#f8fafc);background:#ffffff14;border-color:#ffffff40;transform:rotate(90deg)}.menu-tabs-bar{background:var(--bg-secondary,#0f172a);border-bottom:1px solid var(--border-color,#ffffff14);scrollbar-width:none;gap:.35rem;padding:.6rem 1rem;display:flex;overflow-x:auto}.menu-tabs-bar::-webkit-scrollbar{display:none}.menu-tab-btn{color:var(--text-muted,#94a3b8);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:9999px;align-items:center;gap:.45rem;padding:.5rem .85rem;font-size:.82rem;font-weight:600;transition:all .2s;display:inline-flex}.menu-tab-btn:hover{color:var(--text-main,#f8fafc);background:#ffffff0d}.menu-tab-btn.active{color:#fff;background:var(--primary-accent,#6366f1);border-color:var(--primary-accent,#6366f1);box-shadow:0 4px 12px #6366f14d}.tab-pill-badge{background:#00000040;border-radius:10px;padding:.1rem .4rem;font-size:.7rem;font-weight:700}.menu-drawer-body{flex-direction:column;flex:1;padding:1.25rem 1.5rem;display:flex;overflow-y:auto}.menu-tab-content{flex-direction:column;gap:1.25rem;animation:.2s ease-in-out fadeIn;display:flex}.tab-intro h3{color:var(--text-main,#f8fafc);margin:0 0 .25rem;font-size:1.1rem;font-weight:700}.tab-intro p{color:var(--text-muted,#94a3b8);margin:0;font-size:.86rem;line-height:1.45}.theme-cards-grid{grid-template-columns:1fr;gap:.85rem;display:grid}.theme-card{background:var(--card-bg,#ffffff08);border:1px solid var(--border-color,#ffffff1a);cursor:pointer;border-radius:12px;padding:1rem;transition:all .2s;position:relative}.theme-card:hover{border-color:var(--primary-accent,#6366f1);background:#ffffff0d;transform:translateY(-2px)}.theme-card.active{border:2px solid var(--primary-accent,#6366f1);background:#6366f114}.theme-card-top{align-items:center;gap:1rem;display:flex}.theme-swatch{border:2px solid;border-radius:10px;flex-shrink:0;justify-content:flex-end;align-items:flex-end;width:44px;height:44px;padding:4px;display:flex;position:relative;box-shadow:0 4px 10px #0003}.swatch-accent{border:1px solid #fff6;border-radius:4px;width:14px;height:14px}.theme-info{flex:1}.theme-title-row{justify-content:space-between;align-items:center;margin-bottom:.2rem;display:flex}.theme-name{color:var(--text-main,#f8fafc);font-size:.95rem;font-weight:700}.active-tag{color:var(--primary-accent,#6366f1);background:#6366f126;border-radius:9999px;align-items:center;gap:.25rem;padding:.15rem .5rem;font-size:.72rem;font-weight:700;display:inline-flex}.theme-desc{color:var(--text-muted,#94a3b8);margin:0;font-size:.8rem}.timetable-progress-card{background:var(--card-bg,#ffffff08);border:1px solid var(--border-color,#ffffff1a);border-radius:12px;padding:1rem}.progress-card-info{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.progress-card-info h3{margin:0;font-size:1rem;font-weight:700}.progress-card-pct{color:var(--primary-accent,#6366f1);font-size:.85rem;font-weight:700}.timetable-progress-track{background:#ffffff14;border-radius:9999px;width:100%;height:8px;overflow:hidden}.timetable-progress-fill{background:linear-gradient(90deg,#6366f1,#ec4899);border-radius:9999px;height:100%;transition:width .4s}.timetable-slots-list{flex-direction:column;gap:.65rem;display:flex}.timetable-slot-row{background:var(--card-bg,#ffffff08);border:1px solid var(--border-color,#ffffff14);border-radius:10px;align-items:flex-start;gap:.85rem;padding:.85rem;transition:all .2s;display:flex}.timetable-slot-row.completed{opacity:.65;background:#10b9810a;border-color:#10b98133}.timetable-slot-row.completed .slot-title{text-decoration:line-through}.slot-check-box{border:2px solid var(--border-color,#ffffff40);color:#10b989;cursor:pointer;background:0 0;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;margin-top:2px;transition:all .2s;display:flex}.slot-check-box:hover{border-color:var(--primary-accent,#6366f1);transform:scale(1.05)}.slot-check-box.checked{color:#fff;background:#10b981;border-color:#10b981}.slot-details{flex:1}.slot-header-line{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.slot-title{color:var(--text-main,#f8fafc);font-size:.92rem;font-weight:600}.slot-time-badge{color:var(--text-muted,#94a3b8);background:#ffffff0d;border-radius:6px;align-items:center;gap:.3rem;padding:.15rem .45rem;font-size:.74rem;display:inline-flex}.slot-duration{opacity:.75}.slot-desc{color:var(--text-muted,#94a3b8);margin:0;font-size:.78rem;line-height:1.4}.slot-delete-btn{color:var(--text-muted,#94a3b8);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;transition:all .15s}.slot-delete-btn:hover{color:#ef4444;background:#ef44441a}.timetable-actions-row{justify-content:space-between;align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.btn-link{cursor:pointer;color:var(--text-muted,#94a3b8);background:0 0;border:none;font-size:.8rem;text-decoration:underline}.btn-link:hover{color:var(--text-main,#f8fafc)}.add-slot-form{background:var(--card-bg,#ffffff08);border:1px solid var(--border-color,#ffffff1a);border-radius:12px;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.add-slot-form h4{margin:0 0 .25rem;font-size:.95rem;font-weight:700}.form-input{border:1px solid var(--border-color,#ffffff1f);color:var(--text-main,#f8fafc);background:#00000040;border-radius:8px;outline:none;padding:.55rem .75rem;font-size:.85rem;transition:border-color .2s}.form-input:focus{border-color:var(--primary-accent,#6366f1)}.form-actions{justify-content:flex-end;gap:.5rem;margin-top:.35rem;display:flex}.audio-lab-card{background:var(--card-bg,#ffffff08);border:1px solid var(--border-color,#ffffff1a);border-radius:12px;flex-direction:column;gap:1.25rem;padding:1.25rem;display:flex}.audio-section-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.audio-header-left{align-items:flex-start;gap:.75rem;display:flex}.audio-icon{color:var(--primary-accent,#6366f1);flex-shrink:0;margin-top:2px}.audio-section-header h4{margin:0 0 .15rem;font-size:.95rem;font-weight:700}.audio-section-header p{color:var(--text-muted,#94a3b8);margin:0;font-size:.78rem}.audio-meter-wrap{flex-direction:column;gap:.4rem;margin-top:.85rem;display:flex}.audio-meter-track{background:#0000004d;border-radius:6px;gap:4px;height:14px;padding:3px;display:flex}.audio-meter-seg{background:#ffffff1a;border-radius:3px;flex:1;transition:background-color 80ms,transform 80ms}.audio-meter-seg.lit.good{background:#10b981;box-shadow:0 0 8px #10b98199}.audio-meter-seg.lit.warn{background:#f59e0b;box-shadow:0 0 8px #f59e0b99}.audio-meter-seg.lit.danger{background:#ef4444;box-shadow:0 0 8px #ef444499}.meter-label{color:var(--text-muted,#94a3b8);font-size:.75rem;font-weight:600}.audio-lab-divider{background:var(--border-color,#ffffff14);height:1px}.goal-countdown-card{border:1px solid var(--primary-accent,#6366f1);background:linear-gradient(135deg,#6366f126,#ec489926);border-radius:14px;align-items:center;gap:1.25rem;padding:1.25rem;display:flex}.countdown-big-num{background:var(--bg-surface,#1e293b);border:1px solid var(--border-color,#ffffff26);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-width:90px;padding:.75rem 1.1rem;display:flex;box-shadow:0 4px 15px #0003}.num-days{color:var(--primary-accent,#6366f1);font-size:2.2rem;font-weight:800;line-height:1}.num-label{text-transform:uppercase;color:var(--text-muted,#94a3b8);margin-top:.25rem;font-size:.7rem;font-weight:700}.goal-summary-box h4{margin:0 0 .35rem;font-size:1.05rem;font-weight:700}.goal-summary-box p{color:var(--text-muted,#94a3b8);margin:0 0 .25rem;font-size:.82rem}.goal-summary-box strong{color:var(--text-main,#f8fafc)}.goal-edit-box{background:var(--card-bg,#ffffff08);border:1px solid var(--border-color,#ffffff1a);border-radius:12px;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.goal-edit-box h4{margin:0;font-size:.95rem;font-weight:700}.report-summary-card{background:var(--card-bg,#ffffff08);border:1px solid var(--border-color,#ffffff1a);border-radius:12px;flex-direction:column;gap:1.25rem;padding:1.25rem;display:flex}.report-stats-grid{grid-template-columns:repeat(2,1fr);gap:.85rem;display:grid}.report-stat-box{border:1px solid var(--border-color,#ffffff14);background:#00000040;border-radius:10px;flex-direction:column;gap:.2rem;padding:.85rem;display:flex}.stat-value{color:var(--primary-accent,#6366f1);font-size:1.35rem;font-weight:800}.stat-label{color:var(--text-muted,#94a3b8);font-size:.74rem;font-weight:600}.download-report-btn{justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1rem;font-weight:700;display:flex}.reset-cards-list{flex-direction:column;gap:.85rem;display:flex}.reset-action-card{background:var(--card-bg,#ffffff08);border:1px solid var(--border-color,#ffffff1a);border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.reset-action-card.danger-card{background:#ef444408;border-color:#ef444459}.reset-card-info h4{margin:0 0 .2rem;font-size:.95rem;font-weight:700}.reset-card-info p{color:var(--text-muted,#94a3b8);margin:0;font-size:.78rem;line-height:1.4}.text-danger{color:#ef4444}.confirm-modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;background:#000000b3;justify-content:center;align-items:center;padding:1.5rem;animation:.2s fadeIn;display:flex;position:absolute;inset:0}.confirm-modal-box{background:var(--bg-surface,#1e293b);border:1px solid var(--border-color,#ffffff26);text-align:center;border-radius:16px;flex-direction:column;align-items:center;width:100%;max-width:380px;padding:1.5rem;display:flex;box-shadow:0 15px 35px #00000080}.confirm-icon-wrap{color:#ef4444;background:#ef444426;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:.85rem;display:flex}.confirm-modal-box h4{margin:0 0 .5rem;font-size:1.15rem;font-weight:700}.confirm-modal-box p{color:var(--text-muted,#94a3b8);margin:0 0 1.25rem;font-size:.84rem;line-height:1.45}.confirm-actions{gap:.75rem;width:100%;display:flex}.confirm-actions .btn{flex:1}.btn-sm{cursor:pointer;border-radius:8px;padding:.4rem .75rem;font-size:.8rem;font-weight:600;transition:all .2s}.btn-block{width:100%}.btn-danger{color:#fff;background:#ef4444;border:none}.btn-danger:hover{background:#dc2626}@media (width<=640px){.menu-drawer-panel{max-width:100%}.reset-action-card{flex-direction:column;align-items:flex-start}.reset-action-card .btn{width:100%}}.auth-modal-backdrop{-webkit-backdrop-filter:blur(10px);z-index:1200;background:#0f172ac7;justify-content:center;align-items:center;padding:1.25rem;animation:.25s ease-out authBackdropFade;display:flex;position:fixed;inset:0}@keyframes authBackdropFade{0%{opacity:0}to{opacity:1}}.auth-modal-window{background:var(--bg-card,#0f172a);border:1px solid var(--border-color,#ffffff1f);border-radius:var(--radius-2xl,24px);grid-template-columns:360px 1fr;width:100%;max-width:940px;max-height:92vh;animation:.3s cubic-bezier(.16,1,.3,1) authModalScale;display:grid;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #0009}@keyframes authModalScale{0%{opacity:0;transform:scale(.96)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.auth-modal-close-btn{border-radius:var(--radius-full,9999px);width:36px;height:36px;color:var(--text-secondary,#94a3b8);cursor:pointer;z-index:10;background:#ffffff0f;border:1px solid #ffffff1a;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:1rem;right:1rem}.auth-modal-close-btn:hover{color:#ef4444;background:#ef444426;border-color:#ef44444d}.auth-panel-left{border-right:1px solid var(--border-light,#ffffff14);background:linear-gradient(165deg,#1e293bd9 0%,#0f172af2 100%);flex-direction:column;justify-content:space-between;padding:2.5rem 2rem;display:flex;position:relative;overflow:hidden}.auth-left-brand{align-items:center;gap:.75rem;display:flex}.auth-brand-logo{color:#fff;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:0 4px 14px #3b82f666}.auth-brand-title{font-family:var(--font-display,"Outfit", sans-serif);color:#fff;letter-spacing:-.02em;margin:0;font-size:1.35rem;font-weight:800}.auth-brand-title span{color:var(--accent-blue,#3b82f6)}.auth-journey-path-container{flex-direction:column;gap:1.25rem;margin:2rem 0;display:flex;position:relative}.auth-journey-path-line{opacity:.4;background:linear-gradient(#3b82f6 0%,#8b5cf6 50%,#10b981 100%);width:2px;position:absolute;top:18px;bottom:18px;left:17px}.auth-path-checkpoint{z-index:2;align-items:center;gap:1rem;display:flex;position:relative}.auth-checkpoint-node{border-radius:var(--radius-full,9999px);background:#0f172a;border:2px solid #3b82f6;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;transition:all .3s;display:flex;box-shadow:0 0 12px #3b82f659}.auth-path-checkpoint:nth-child(2) .auth-checkpoint-node{border-color:#6366f1}.auth-path-checkpoint:nth-child(3) .auth-checkpoint-node{border-color:#8b5cf6}.auth-path-checkpoint:nth-child(4) .auth-checkpoint-node{border-color:#06b6d4}.auth-path-checkpoint:nth-child(5) .auth-checkpoint-node{border-color:#10b981}.auth-checkpoint-text h5{color:#fff;margin:0;font-size:.9375rem;font-weight:700}.auth-checkpoint-text p{color:#94a3b8;margin:.125rem 0 0;font-size:.75rem}.auth-left-footer{color:#94a3b8;border-top:1px solid #ffffff14;padding-top:1rem;font-size:.8125rem;font-style:italic;line-height:1.5}.auth-panel-right{flex-direction:column;padding:2.5rem 2.25rem;display:flex;overflow-y:auto}.auth-form-header{margin-bottom:1.5rem}.auth-heading{color:var(--text-primary,#fff);letter-spacing:-.02em;margin:0 0 .25rem;font-size:1.625rem;font-weight:800}.auth-subheading{color:var(--text-secondary,#94a3b8);margin:0;font-size:.875rem}.auth-role-tabs{border:1px solid var(--border-color,#ffffff1a);border-radius:var(--radius-xl,16px);background:#ffffff0a;gap:.375rem;margin-bottom:1.5rem;padding:.3125rem;display:flex}.auth-role-tab{border-radius:var(--radius-lg,12px);color:var(--text-secondary,#94a3b8);cursor:pointer;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s;display:inline-flex}.auth-role-tab:hover{color:#fff}.auth-role-tab.active{background:var(--bg-card,#1e293b);color:var(--accent-blue,#3b82f6);border:1px solid #3b82f640;box-shadow:0 4px 12px #00000040}.auth-alert-box{border-radius:var(--radius-lg,12px);align-items:center;gap:.625rem;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.8125rem;animation:.2s ease-out fadeIn;display:flex}.auth-alert-box.error{color:#ef4444;background:#ef44441f;border:1px solid #ef44444d}.auth-alert-box.success{color:#10b981;background:#10b9811f;border:1px solid #10b9814d}.auth-form{flex-direction:column;gap:1.125rem;display:flex}.auth-form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.auth-field-group{flex-direction:column;gap:.375rem;display:flex}.auth-field-hint{color:#94a3b8;margin-top:.15rem;font-size:.75rem;line-height:1.35}.auth-field-hint strong{color:#e2e8f0}.auth-field-label{color:var(--text-primary,#f1f5f9);justify-content:space-between;font-size:.8125rem;font-weight:600;display:flex}.auth-field-input-wrapper{align-items:center;display:flex;position:relative}.auth-field-icon{color:var(--text-secondary,#94a3b8);pointer-events:none;position:absolute;left:.875rem}.auth-input{border:1px solid var(--border-color,#ffffff1f);border-radius:var(--radius-lg,12px);color:#fff;background:#ffffff0a;width:100%;padding:.75rem 1rem .75rem 2.625rem;font-size:.875rem;transition:all .2s}.auth-input:focus{border-color:var(--accent-blue,#3b82f6);background:#3b82f60d;outline:none;box-shadow:0 0 0 3px #3b82f626}.auth-select{border:1px solid var(--border-color,#ffffff1f);border-radius:var(--radius-lg,12px);color:#fff;cursor:pointer;background:#0f172ae6;width:100%;padding:.75rem 1rem .75rem 2.625rem;font-size:.875rem}.auth-password-toggle{color:var(--text-secondary,#94a3b8);cursor:pointer;background:0 0;border:none;padding:.25rem;position:absolute;right:.875rem}.password-criteria-list{color:#94a3b8;grid-template-columns:1fr 1fr;gap:.375rem;margin-top:.25rem;font-size:.6875rem;display:grid}.password-criterion{align-items:center;gap:.375rem;display:flex}.password-criterion.valid{color:#10b981}.auth-form-footer-links{justify-content:space-between;align-items:center;margin-top:.25rem;font-size:.8125rem;display:flex}.auth-link-btn{color:var(--accent-blue,#3b82f6);cursor:pointer;background:0 0;border:none;padding:0;font-size:.8125rem;font-weight:600;text-decoration:none;transition:color .18s}.auth-link-btn:hover{color:#60a5fa;text-decoration:underline}.auth-submit-btn{border-radius:var(--radius-lg,12px);color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:.5rem;padding:.875rem 1.25rem;font-size:.9375rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 16px #3b82f666}.auth-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #3b82f680}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed}.demo-accounts-pill-bar{border-top:1px solid #ffffff14;flex-direction:column;gap:.625rem;margin-top:1.5rem;padding-top:1.25rem;display:flex}.demo-bar-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary,#94a3b8);text-align:center;font-size:.6875rem;font-weight:700}.demo-buttons-row{gap:.625rem;display:flex}.demo-login-chip{border-radius:var(--radius-lg,12px);color:var(--text-primary,#fff);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;flex:1;justify-content:center;align-items:center;gap:.375rem;padding:.5rem .75rem;font-size:.75rem;font-weight:600;transition:all .18s;display:flex}.demo-login-chip:hover{color:#60a5fa;background:#3b82f61f;border-color:#3b82f659}@media (width<=768px){.auth-modal-window{grid-template-columns:1fr;max-height:94vh}.auth-panel-left{display:none}.auth-panel-right{padding:1.75rem 1.25rem}.auth-form-grid{grid-template-columns:1fr}}.auth-gate-screen{background:radial-gradient(ellipse 80% 50% at 50% -20%, #6366f147, transparent 70%), radial-gradient(ellipse 60% 40% at 50% 120%, #a855f738, transparent 70%), var(--bg-main,#0b0f19);box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:3rem 1.5rem;display:flex;position:relative;overflow-y:auto}.auth-gate-brand-banner{text-align:center;flex-direction:column;align-items:center;gap:.75rem;margin-bottom:1.75rem;display:flex}.auth-gate-brand-banner .brand-link{cursor:default;align-items:center;gap:12px;text-decoration:none;display:inline-flex}.auth-gate-tagline{color:var(--text-secondary,#94a3b8);max-width:500px;margin:0;font-size:.96rem;line-height:1.5}.auth-gate-window{margin:0 auto;box-shadow:0 25px 60px -12px #000000b3,0 0 0 1px #6366f138}.auth-gate-footer-bar{text-align:center;margin-top:1.75rem}.auth-gate-guest-btn{color:var(--text-secondary,#94a3b8);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:9999px;align-items:center;gap:10px;padding:10px 22px;font-size:.88rem;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 4px 12px #0003}.auth-gate-guest-btn:hover{color:#fff;background:#ffffff14;border-color:#6366f173;transform:translateY(-1px);box-shadow:0 6px 18px #6366f133}.auth-gate-guest-btn strong{color:var(--primary,#818cf8);font-weight:700}.app-loading-screen{background:var(--bg-main,#0b0f19);width:100%;min-height:100vh;color:var(--text-primary,#fff);flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;display:flex}.app-loading-spinner{border:3px solid #6366f133;border-top-color:var(--primary,#6366f1);border-radius:50%;width:44px;height:44px;animation:.8s linear infinite appSpin}@keyframes appSpin{to{transform:rotate(360deg)}}.app-loading-text{color:var(--text-secondary,#94a3b8);letter-spacing:.02em;font-size:.95rem;font-weight:500}.profile-modal-backdrop{z-index:9999;-webkit-backdrop-filter:blur(8px);background:#040813bf;justify-content:center;align-items:center;padding:1rem;animation:.24s cubic-bezier(.16,1,.3,1) modalFadeIn;display:flex;position:fixed;inset:0}.profile-modal-window{background:#0f172af2;border:1px solid #ffffff1a;border-radius:1.25rem;flex-direction:column;width:100%;max-width:540px;animation:.28s cubic-bezier(.16,1,.3,1) modalScaleUp;display:flex;overflow:hidden;box-shadow:0 24px 64px -12px #0000008f,0 0 0 1px #6366f126}@keyframes modalScaleUp{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.profile-modal-header{background:#1e293b66;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.profile-header-info{align-items:center;gap:1rem;display:flex}.profile-avatar-circle{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#a855f7 100%);border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.15rem;font-weight:700;display:flex;box-shadow:0 4px 12px #6366f159}.profile-name-title{color:#f8fafc;margin:0;font-size:1.15rem;font-weight:600;line-height:1.2}.profile-role-badge{color:#818cf8;margin-top:.2rem;font-size:.75rem;font-weight:500;display:inline-block}.profile-close-btn{color:#94a3b8;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff14;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .18s;display:flex}.profile-close-btn:hover{color:#fff;background:#ffffff1f;transform:scale(1.05)}.profile-kpis-deck{background:#0f172a80;border-bottom:1px solid #ffffff0d;grid-template-columns:repeat(3,1fr);gap:.75rem;padding:1rem 1.5rem;display:grid}.profile-kpi-chip{color:#e2e8f0;background:#1e293b99;border:1px solid #ffffff0f;border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.82rem;font-weight:600;display:flex}.profile-status-alert{border-radius:.75rem;align-items:center;gap:.6rem;margin:1rem 1.5rem 0;padding:.75rem 1.25rem;font-size:.85rem;font-weight:500;display:flex}.profile-form-body{flex-direction:column;gap:1rem;max-height:calc(85vh - 120px);padding:1.25rem 1.5rem 1.5rem;display:flex;overflow-y:auto}.profile-grid-2{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=500px){.profile-grid-2{grid-template-columns:1fr}}.profile-field-group{flex-direction:column;gap:.35rem;display:flex}.profile-label{color:#94a3b8;font-size:.8rem;font-weight:500}.profile-input-wrapper{align-items:center;display:flex;position:relative}.profile-input-icon{color:#64748b;pointer-events:none;position:absolute;left:.85rem}.profile-input{color:#f1f5f9;background:#1e293b80;border:1px solid #ffffff14;border-radius:.65rem;width:100%;padding:.6rem .85rem .6rem 2.4rem;font-size:.88rem;transition:all .2s}.profile-input:focus{background:#1e293bd9;border-color:#6366f1;outline:none;box-shadow:0 0 0 3px #6366f126}.profile-input.readonly{color:#64748b;cursor:not-allowed;background:#0f172a99;border-color:#ffffff0a}.profile-modal-footer{border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;margin-top:.5rem;padding-top:1rem;display:flex}.profile-modal-footer .btn{cursor:pointer;border:none;border-radius:.65rem;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.85rem;font-weight:500;transition:all .2s;display:inline-flex}.profile-modal-footer .btn-primary{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);box-shadow:0 4px 12px #6366f140}.profile-modal-footer .btn-primary:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.profile-modal-footer .btn-primary:disabled{opacity:.6;cursor:not-allowed}.profile-modal-footer .btn-secondary{color:#cbd5e1;background:#ffffff0f;border:1px solid #ffffff14}.profile-modal-footer .btn-secondary:hover{color:#fff;background:#ffffff1a}.profile-modal-footer .btn-danger{color:#f87171;background:#ef44441f;border:1px solid #ef444440}.profile-modal-footer .btn-danger:hover{color:#ef4444;background:#ef444433}.teacher-portal-wrapper{background:var(--bg-main,#0b0f19);min-height:calc(100vh - 72px)}.teacher-portal-top-bar{background:#a855f714;border-bottom:1px solid #a855f733;justify-content:space-between;align-items:center;padding:.75rem 2rem;display:flex}.portal-badge-indicator{color:#c084fc;align-items:center;gap:.5rem;font-size:.84rem;font-weight:600;display:flex}.portal-live-dot{background:#a855f7;border-radius:50%;width:8px;height:8px;animation:2s infinite livePulse;box-shadow:0 0 0 3px #a855f74d}.teacher-dashboard{background:radial-gradient(circle at 10% 20%,#6366f114 0%,#0000 40%),radial-gradient(circle at 90% 80%,#a855f714 0%,#0000 40%);min-height:calc(100vh - 120px);padding:2.5rem 1.5rem 4rem}.teacher-container{max-width:1240px;margin:0 auto}.teacher-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:2rem;display:flex}.teacher-badge-pill{color:#a5b4fc;background:#6366f11f;border:1px solid #6366f147;border-radius:9999px;align-items:center;gap:.4rem;margin-bottom:.6rem;padding:.35rem .85rem;font-size:.82rem;font-weight:600;display:inline-flex}.teacher-title{color:#fff;letter-spacing:-.02em;margin-bottom:.4rem;font-size:2rem;font-weight:700}.teacher-subtitle{color:#94a3b8;max-width:600px;font-size:.95rem;line-height:1.5}.btn-create-assignment{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);border:none;border-radius:.75rem;align-items:center;gap:.5rem;padding:.7rem 1.4rem;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 4px 16px #6366f159}.btn-create-assignment:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f173}.teacher-alert{border-radius:.75rem;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:.85rem 1.25rem;font-size:.9rem;font-weight:500;animation:.25s ease-out slideInDown;display:flex}.teacher-alert.success{color:#34d399;background:#10b9811f;border:1px solid #10b9814d}.teacher-alert.error{color:#f87171;background:#ef44441f;border:1px solid #ef44444d}.teacher-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-bottom:2.25rem;display:grid}.teacher-kpi-card{-webkit-backdrop-filter:blur(12px);background:#0f172aa6;border:1px solid #ffffff14;border-radius:1rem;align-items:center;gap:1.15rem;padding:1.25rem;transition:transform .2s,border-color .2s;display:flex}.teacher-kpi-card:hover{border-color:#6366f140;transform:translateY(-2px)}.teacher-kpi-icon-wrap{border-radius:.85rem;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.teacher-kpi-icon-wrap.indigo{color:#818cf8;background:#6366f126}.teacher-kpi-icon-wrap.emerald{color:#34d399;background:#10b98126}.teacher-kpi-icon-wrap.amber{color:#fbbf24;background:#f59e0b26}.teacher-kpi-icon-wrap.purple{color:#c084fc;background:#a855f726}.teacher-kpi-label{color:#94a3b8;font-size:.8rem;font-weight:500;display:block}.teacher-kpi-val{color:#fff;margin:.15rem 0 0;font-size:1.6rem;font-weight:700;line-height:1.1}.teacher-main-layout{grid-template-columns:2fr 1fr;gap:1.75rem;display:grid}@media (width<=1024px){.teacher-main-layout{grid-template-columns:1fr}}.teacher-roster-section,.teacher-assignments-section{-webkit-backdrop-filter:blur(12px);background:#0f172aa6;border:1px solid #ffffff14;border-radius:1.25rem;padding:1.5rem}.section-head-bar{flex-direction:column;gap:1rem;margin-bottom:1.25rem;display:flex}.section-title-wrap{align-items:center;gap:.6rem;display:flex}.section-title{color:#f8fafc;margin:0;font-size:1.15rem;font-weight:600}.section-count{color:#64748b;font-size:.85rem}.filter-chips-deck{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.filter-chip{color:#94a3b8;cursor:pointer;background:#1e293b99;border:1px solid #ffffff0f;border-radius:9999px;padding:.35rem .75rem;font-size:.78rem;font-weight:500;transition:all .18s}.filter-chip:hover{color:#fff;background:#ffffff14}.filter-chip.active{color:#818cf8;background:#6366f133;border-color:#6366f166}.table-search-bar{margin-bottom:1.25rem;position:relative}.table-search-bar .search-icon{color:#64748b;pointer-events:none;position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.table-search-bar input{color:#f8fafc;background:#1e293b80;border:1px solid #ffffff14;border-radius:.75rem;width:100%;padding:.65rem 1rem .65rem 2.4rem;font-size:.88rem;transition:all .2s}.table-search-bar input:focus{background:#1e293bd9;border-color:#6366f1;outline:none;box-shadow:0 0 0 3px #6366f126}.table-responsive-container{border:1px solid #ffffff0d;border-radius:.75rem;overflow-x:auto}.teacher-table{border-collapse:collapse;text-align:left;width:100%}.teacher-table th{text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;background:#1e293b99;border-bottom:1px solid #ffffff14;padding:.75rem 1rem;font-size:.75rem;font-weight:600}.teacher-table td{color:#cbd5e1;border-bottom:1px solid #ffffff0a;padding:.9rem 1rem;font-size:.88rem}.teacher-table tr:hover td{background:#ffffff05}.student-cell{align-items:center;gap:.75rem;display:flex}.student-avatar-badge{color:#fff;background:linear-gradient(135deg,#6366f1,#a855f7);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.85rem;font-weight:700;display:flex}.student-avatar-badge.large{width:48px;height:48px;font-size:1.25rem}.student-info{flex-direction:column;display:flex}.student-name{color:#f1f5f9;font-weight:600}.student-email{color:#64748b;font-size:.75rem}.academic-tag{color:#cbd5e1;flex-direction:column;font-size:.82rem;display:flex}.academic-year-sub{color:#64748b;font-size:.72rem}.score-badge-wrap{align-items:center;gap:.6rem;display:flex}.score-meter-mini{background:#ffffff14;border-radius:3px;width:60px;height:6px;overflow:hidden}.score-meter-fill{border-radius:3px;height:100%}.score-meter-fill.high{background:#34d399}.score-meter-fill.med{background:#fbbf24}.score-meter-fill.low{background:#f87171}.score-num{color:#e2e8f0;font-size:.82rem;font-weight:600}.level-xp-cell{align-items:center;gap:.4rem;display:flex}.level-pill{color:#a5b4fc;background:#6366f126;border:1px solid #6366f14d;border-radius:.4rem;padding:.2rem .45rem;font-size:.72rem;font-weight:600}.xp-num{color:#94a3b8;font-size:.78rem}.streak-badge{color:#fda4af;align-items:center;gap:.25rem;font-size:.82rem;font-weight:600;display:inline-flex}.btn-view-profile{color:#94a3b8;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff14;border-radius:.5rem;padding:.3rem .65rem;font-size:.78rem;transition:all .18s}.btn-view-profile:hover{color:#818cf8;background:#6366f126;border-color:#6366f14d}.assignments-stream{flex-direction:column;gap:1rem;display:flex}.assignment-card{background:#1e293b73;border:1px solid #ffffff0f;border-radius:.85rem;flex-direction:column;gap:.5rem;padding:1.1rem;transition:all .2s;display:flex}.assignment-card:hover{border-color:#a855f740;transform:translateY(-1px)}.assignment-card-header{justify-content:space-between;align-items:center;display:flex}.skill-tag{color:#c084fc;background:#a855f726;border:1px solid #a855f740;border-radius:.4rem;padding:.2rem .5rem;font-size:.72rem;font-weight:600}.btn-del-assignment{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:.35rem;padding:.25rem;transition:all .15s}.btn-del-assignment:hover{color:#f87171;background:#ef44441a}.assignment-card-title{color:#f1f5f9;margin:0;font-size:.95rem;font-weight:600}.assignment-card-desc{color:#94a3b8;margin:0;font-size:.82rem;line-height:1.4}.assignment-card-footer{border-top:1px solid #ffffff0d;justify-content:space-between;align-items:center;margin-top:.4rem;padding-top:.5rem;font-size:.75rem;display:flex}.due-date-pill{color:#94a3b8;align-items:center;gap:.35rem;display:flex}.target-score-pill{color:#34d399;font-weight:500}.empty-assignments-card{text-align:center;background:#1e293b4d;border:1px dashed #ffffff1a;border-radius:1rem;padding:2.5rem 1.5rem}.empty-assignments-card h4{color:#f1f5f9;margin-bottom:.25rem;font-size:1rem}.empty-assignments-card p{color:#64748b;font-size:.82rem}.teacher-modal-backdrop{-webkit-backdrop-filter:blur(8px);z-index:9999;background:#040813bf;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.teacher-modal-dialog{background:#0f172af2;border:1px solid #ffffff1a;border-radius:1.25rem;flex-direction:column;gap:1.25rem;width:100%;max-width:520px;padding:1.5rem;animation:.25s cubic-bezier(.16,1,.3,1) modalScaleUp;display:flex;box-shadow:0 24px 64px -12px #0009}.teacher-modal-header{justify-content:space-between;align-items:center;display:flex}.teacher-modal-header h3{color:#fff;margin:0;font-size:1.15rem;font-weight:600}.btn-close-dialog{color:#94a3b8;cursor:pointer;background:0 0;border:none;padding:.2rem;font-size:1.1rem}.teacher-modal-form{flex-direction:column;gap:1rem;display:flex}.teacher-modal-form .form-group{flex-direction:column;gap:.35rem;display:flex}.teacher-modal-form label{color:#94a3b8;font-size:.8rem;font-weight:500}.teacher-modal-form input,.teacher-modal-form select,.teacher-modal-form textarea{color:#fff;background:#1e293b99;border:1px solid #ffffff14;border-radius:.65rem;padding:.6rem .85rem;font-size:.88rem}.teacher-modal-form input:focus,.teacher-modal-form select:focus,.teacher-modal-form textarea:focus{border-color:#6366f1;outline:none}.form-grid-2{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}.teacher-modal-actions{justify-content:flex-end;align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.student-detail-content{flex-direction:column;gap:1.25rem;display:flex}.student-stats-row{background:#1e293b66;border:1px solid #ffffff0d;border-radius:.85rem;grid-template-columns:repeat(4,1fr);gap:.75rem;padding:1rem;display:grid}.stat-box{text-align:center;flex-direction:column;align-items:center;display:flex}.stat-label{color:#94a3b8;font-size:.72rem}.stat-value{margin-top:.2rem;font-size:1.1rem;font-weight:700}.student-info-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.info-item label{color:#64748b;font-size:.75rem;display:block}.info-item p{color:#e2e8f0;margin:.2rem 0 0;font-size:.88rem;font-weight:500}.teacher-loading-box,.teacher-empty-box{color:#94a3b8;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:3rem 1rem;font-size:.9rem;display:flex}.profile-section{background:radial-gradient(circle at 50% 0%, #6366f114 0%, transparent 60%), radial-gradient(circle at 90% 100%, #8b5cf60f 0%, transparent 50%), var(--bg-main,#0b0f19);border-top:1px solid var(--border-light,#ffffff14);padding:40px 0 60px;transition:padding .3s;position:relative}.profile-section.is-expanded{padding:50px 0 90px}.profile-section .profile-section-container{max-width:1040px;margin:0 auto;padding:0 20px}.profile-section .profile-view-container{max-width:1040px;margin:0 auto}.profile-option-card{border:1px solid var(--border-light,#ffffff1f);cursor:pointer;background:linear-gradient(135deg,#1a2234d9 0%,#0f172af2 100%);border-radius:20px;justify-content:space-between;align-items:center;gap:20px;padding:18px 24px;transition:all .28s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px -5px #00000073,inset 0 1px #ffffff14}.profile-option-card:before{content:"";background:linear-gradient(90deg,#0000,#6366f1b3,#8b5cf6b3,#0000);height:1.5px;position:absolute;top:0;left:12%;right:12%}.profile-option-card:hover{border-color:#6366f173;transform:translateY(-2px);box-shadow:0 16px 36px -6px #6366f140,inset 0 1px #ffffff26}.profile-option-card.active-open{background:linear-gradient(135deg,#1e2944f2 0%,#111830fa 100%);border-color:#6366f18c;box-shadow:0 12px 32px -4px #6366f133}.profile-option-left{align-items:center;gap:16px;min-width:0;display:flex}.profile-option-avatar{color:#fff;background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.15rem;font-weight:700;display:flex;position:relative;box-shadow:0 4px 16px #4f46e566}.profile-option-avatar.guest{color:#818cf8;box-shadow:none;background:#6366f11f;border:1.5px dashed #6366f173}.profile-online-indicator{background:#10b981;border:2px solid #0f172a;border-radius:50%;width:12px;height:12px;position:absolute;bottom:-2px;right:-2px}.profile-option-info{flex-direction:column;gap:4px;min-width:0;display:flex}.profile-option-name-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.profile-option-name{font-family:var(--font-display,"Outfit", sans-serif);color:var(--text-primary,#fff);letter-spacing:-.01em;margin:0;font-size:1.15rem;font-weight:700}.profile-option-badge{letter-spacing:.03em;border-radius:999px;padding:2px 9px;font-size:.72rem;font-weight:600}.profile-option-badge.student{color:#a5b4fc;background:#6366f129;border:1px solid #6366f159}.profile-option-badge.educator{color:#6ee7b7;background:#10b98129;border:1px solid #10b98159}.profile-option-badge.guest{color:#cbd5e1;background:#94a3b824;border:1px solid #94a3b847}.profile-verified-chip{color:#34d399;background:#10b9811f;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:.72rem;font-weight:600;display:inline-flex}.profile-option-subtitle{color:var(--text-secondary,#94a3b8);white-space:nowrap;text-overflow:ellipsis;max-width:580px;margin:0;font-size:.86rem;line-height:1.4;overflow:hidden}.profile-option-right{flex-shrink:0;align-items:center;gap:12px;display:flex}.profile-option-action-btn{color:#e0e7ff;cursor:pointer;background:#6366f126;border:1px solid #6366f159;border-radius:12px;align-items:center;gap:8px;padding:9px 18px;font-size:.86rem;font-weight:600;transition:all .2s;display:inline-flex}.profile-option-card:hover .profile-option-action-btn:not(.active){color:#fff;background:linear-gradient(135deg,#4f46e5 0%,#6366f1 100%);border-color:#0000;box-shadow:0 4px 14px #4f46e566}.profile-option-action-btn.active{color:#cbd5e1;background:#ffffff14;border-color:#ffffff26}.profile-details-wrapper{margin-top:32px}@keyframes profileSlideDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}.animate-slide-down{animation:.32s cubic-bezier(.16,1,.3,1) forwards profileSlideDown}.profile-details-header{margin-bottom:28px}.profile-nav-right-cluster{align-items:center;gap:12px;display:flex}.profile-collapse-top-btn{color:#cbd5e1;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:10px;align-items:center;gap:6px;padding:7px 14px;font-size:.82rem;font-weight:600;transition:all .2s;display:inline-flex}.profile-collapse-top-btn:hover{color:#f87171;background:#ef444424;border-color:#ef44444d}.profile-bottom-collapse-bar{border-top:1px solid var(--border-light,#ffffff14);justify-content:center;margin-top:40px;padding-top:24px;display:flex}.profile-collapse-action-btn{background:var(--bg-card,#1e293bcc);color:#cbd5e1;border:1px solid var(--border-light,#ffffff1f);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:10px 24px;font-size:.88rem;font-weight:600;transition:all .25s;display:inline-flex}.profile-collapse-action-btn:hover{color:#fff;background:#6366f133;border-color:#6366f166;transform:translateY(-2px);box-shadow:0 8px 24px #00000059}.profile-collapse-footer{margin-top:24px}.profile-collapse-link-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;font-size:.84rem;transition:color .2s;display:inline-flex}.profile-collapse-link-btn:hover{color:#fff}@media (width<=768px){.profile-option-card{flex-direction:column;align-items:flex-start;gap:16px;padding:16px 18px}.profile-option-right{width:100%}.profile-option-action-btn{justify-content:center;width:100%}.profile-option-subtitle{white-space:normal;max-width:100%}}.profile-guest-card{background:var(--bg-card,#0f172abf);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-light,#ffffff1f);text-align:center;border-radius:24px;max-width:620px;margin:20px auto 0;padding:48px 36px;box-shadow:0 20px 48px -10px #00000080}.profile-guest-icon-box{width:68px;height:68px;color:var(--primary,#818cf8);background:linear-gradient(135deg,#6366f138 0%,#8b5cf638 100%);border:1.5px solid #6366f173;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 20px;display:flex;box-shadow:0 8px 24px -4px #6366f159}.profile-guest-title{font-family:var(--font-display,"Outfit", sans-serif);color:var(--text-primary,#fff);letter-spacing:-.02em;margin-bottom:12px;font-size:1.5rem;font-weight:800}.profile-guest-desc{color:var(--text-secondary,#94a3b8);max-width:480px;margin-bottom:28px;margin-left:auto;margin-right:auto;font-size:.95rem;line-height:1.6}.profile-guest-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;display:flex}.profile-view-wrapper{background:radial-gradient(circle at 50% 0,#4f46e514,#0000 70%),radial-gradient(circle at 100% 30%,#06b6d40d,#0000 60%);justify-content:center;min-height:calc(100vh - 80px);padding:36px 20px 80px;display:flex}.profile-view-container{width:100%;max-width:1040px;margin:0 auto}.profile-nav-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.profile-back-btn{background:var(--surface-secondary,#1e293b);color:var(--text-secondary,#94a3b8);border:1px solid var(--border-color,#ffffff14);cursor:pointer;border-radius:9999px;align-items:center;gap:8px;padding:8px 16px;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.profile-back-btn:hover{background:var(--surface-tertiary,#334155);color:#fff;border-color:#fff3;transform:translate(-2px)}.profile-session-badge{color:#6ee7b7;background:#10b98114;border:1px solid #10b98140;border-radius:9999px;align-items:center;gap:8px;padding:6px 14px;font-size:.8125rem;display:inline-flex}.profile-session-badge strong{color:#fff;font-weight:600}.profile-refresh-btn{color:var(--text-secondary,#94a3b8);border:1px solid var(--border-color,#ffffff1a);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:.8125rem;transition:all .2s;display:inline-flex}.profile-refresh-btn:hover:not(:disabled){color:#fff;background:#ffffff0d;border-color:#fff3}.profile-refresh-btn:disabled{opacity:.6;cursor:not-allowed}.spinning{animation:1s linear infinite spin}.profile-error-alert{color:#fca5a5;background:#ef44441f;border:1px solid #ef44444d;border-radius:10px;align-items:center;gap:10px;margin-bottom:20px;padding:12px 16px;font-size:.875rem;display:flex}.profile-hero-card{background:var(--surface-primary,#0f172a);border:1px solid var(--border-color,#ffffff1a);border-radius:20px;margin-bottom:28px;padding:32px 32px 0;position:relative;overflow:hidden;box-shadow:0 16px 36px -10px #00000080}.profile-hero-card:before{content:"";background:linear-gradient(90deg,#4f46e5,#06b6d4,#10b981);height:4px;position:absolute;top:0;left:0;right:0}.profile-hero-main{align-items:flex-start;gap:24px;padding-bottom:28px;display:flex}.profile-hero-avatar-wrapper{flex-shrink:0;position:relative}.profile-hero-avatar{width:88px;height:88px;font-size:2rem;font-weight:700;font-family:var(--font-heading,"Outfit", sans-serif);color:#fff;border-radius:50%;justify-content:center;align-items:center;display:flex;box-shadow:0 8px 24px #0000004d}.profile-hero-avatar.student{background:linear-gradient(135deg,#4f46e5,#06b6d4);border:3px solid #4f46e566}.profile-hero-avatar.teacher{background:linear-gradient(135deg,#7c3aed,#ec4899);border:3px solid #7c3aed66}.profile-hero-info{flex:1}.profile-title-badges{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px;display:flex}.profile-hero-name{font-family:var(--font-heading,"Outfit", sans-serif);color:var(--text-primary,#f8fafc);margin:0;font-size:1.875rem;font-weight:700}.profile-hero-role-tag{text-transform:uppercase;letter-spacing:.04em;border-radius:9999px;align-items:center;padding:4px 12px;font-size:.75rem;font-weight:600;display:inline-flex}.profile-hero-role-tag.student{color:#818cf8;background:#4f46e526;border:1px solid #4f46e54d}.profile-hero-role-tag.teacher{color:#c084fc;background:#7c3aed26;border:1px solid #7c3aed4d}.profile-live-status-pill{color:#34d399;background:#10b9811a;border:1px solid #10b98133;border-radius:9999px;align-items:center;gap:6px;padding:3px 10px;font-size:.75rem;font-weight:500;display:inline-flex}.live-status-dot{background:#10b981;border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulseDot;box-shadow:0 0 8px #10b981}.profile-hero-meta-row{color:var(--text-secondary,#94a3b8);flex-wrap:wrap;align-items:center;gap:20px;font-size:.875rem;display:flex}.profile-hero-meta-row .meta-item{align-items:center;gap:6px;display:inline-flex}.profile-tab-switcher{border-top:1px solid var(--border-color,#ffffff14);gap:8px;display:flex}.profile-tab-btn{color:var(--text-secondary,#94a3b8);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:14px 20px;font-size:.9375rem;font-weight:600;transition:all .2s;display:inline-flex}.profile-tab-btn:hover{color:var(--text-primary,#f8fafc)}.profile-tab-btn.active{color:var(--primary-color,#6366f1);border-bottom-color:var(--primary-color,#6366f1)}.profile-kpis-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:28px;display:grid}.profile-kpi-card{background:var(--surface-primary,#0f172a);border:1px solid var(--border-color,#ffffff14);border-radius:16px;align-items:center;gap:16px;padding:20px;transition:transform .2s,border-color .2s;display:flex}.profile-kpi-card:hover{border-color:#ffffff2e;transform:translateY(-2px)}.kpi-icon-bubble{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.kpi-icon-bubble.xp{color:#f59e0b;background:#f59e0b26}.kpi-icon-bubble.streak{color:#f43f5e;background:#f43f5e26}.kpi-icon-bubble.fluency{color:#10b981;background:#10b98126}.kpi-icon-bubble.level{color:#6366f1;background:#6366f126}.kpi-info{flex-direction:column;gap:4px;display:flex}.kpi-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary,#94a3b8);font-size:.75rem;font-weight:600}.kpi-value{font-family:var(--font-heading,"Outfit", sans-serif);font-size:1.375rem;font-weight:700}.profile-sections-grid{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:24px;display:grid}.profile-card{background:var(--surface-primary,#0f172a);border:1px solid var(--border-color,#ffffff14);border-radius:18px;padding:24px;box-shadow:0 10px 25px -5px #0000004d}.profile-card-header{border-bottom:1px solid var(--border-color,#ffffff0f);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:16px;display:flex}.card-header-title{align-items:center;gap:10px;display:flex}.card-header-title h3{color:#fff;margin:0;font-size:1.0625rem;font-weight:600}.profile-card-body{flex-direction:column;gap:16px;display:flex}.profile-detail-row{border-bottom:1px dashed #ffffff0d;justify-content:space-between;align-items:center;gap:16px;padding:8px 0;display:flex}.profile-detail-row:last-child{border-bottom:none}.detail-label{color:var(--text-secondary,#94a3b8);align-items:center;gap:8px;font-size:.875rem;font-weight:500;display:inline-flex}.detail-value{color:var(--text-primary,#f8fafc);text-align:right;font-size:.9375rem;font-weight:500}.detail-value.highlight-goal{color:#818cf8;font-weight:600}.detail-value.code-font{background:#ffffff0d;border-radius:6px;padding:3px 8px;font-family:monospace;font-size:.8125rem}.btn-change-pwd-link{color:#38bdf8;cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;font-size:.875rem;font-weight:500;text-decoration:underline}.btn-change-pwd-link:hover{color:#7dd3fc}.profile-card-footer{border-top:1px solid var(--border-color,#ffffff0f);justify-content:flex-end;margin-top:20px;padding-top:16px;display:flex}.profile-edit-form{flex-direction:column;gap:18px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:var(--text-secondary,#cbd5e1);font-size:.875rem;font-weight:600}.form-row-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.input-icon-wrap{align-items:center;display:flex;position:relative}.input-icon-wrap svg:not(.toggle-pwd-btn svg){color:#64748b;pointer-events:none;position:absolute;left:14px}.form-input{color:#fff;background:#0f172a99;border:1px solid #ffffff1f;border-radius:10px;outline:none;width:100%;padding:10px 14px 10px 42px;font-size:.9375rem;transition:all .2s}.form-input:focus{background:#0f172ae6;border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.form-input.readonly{color:#94a3b8;cursor:not-allowed;background:#ffffff08;border-color:#ffffff0f}.toggle-pwd-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;display:flex;position:absolute;right:12px}.toggle-pwd-btn:hover{color:#fff}.pwd-rules-checklist{background:#ffffff05;border:1px solid #ffffff0d;border-radius:8px;grid-template-columns:1fr 1fr;gap:6px;margin-top:4px;padding:10px 14px;display:grid}.rule-item{color:#64748b;align-items:center;gap:6px;font-size:.75rem;display:flex}.rule-item.met{color:#34d399;font-weight:500}.form-actions{justify-content:flex-end;align-items:center;gap:12px;margin-top:12px;display:flex}.profile-status-alert{border-radius:10px;align-items:center;gap:10px;margin-bottom:16px;padding:12px 16px;font-size:.875rem;display:flex}.profile-status-alert.success{color:#6ee7b7;background:#10b9811f;border:1px solid #10b9814d}.profile-status-alert.error{color:#fca5a5;background:#ef44441f;border:1px solid #ef44444d}.profile-not-logged-in{text-align:center;background:var(--surface-primary,#0f172a);border:1px solid var(--border-color,#ffffff14);border-radius:20px;flex-direction:column;justify-content:center;align-items:center;max-width:500px;margin:40px auto;padding:60px 20px;display:flex}.profile-not-logged-in h2{color:#fff;margin-bottom:8px;font-size:1.5rem}.profile-not-logged-in p{color:#94a3b8;font-size:.9375rem}@media (width<=768px){.profile-view-wrapper{padding:20px 14px 60px}.profile-hero-card{padding:20px 20px 0}.profile-hero-main{text-align:center;flex-direction:column;align-items:center;gap:16px}.profile-title-badges,.profile-hero-meta-row{justify-content:center}.profile-tab-switcher{overflow-x:auto}.profile-sections-grid,.form-row-2,.pwd-rules-checklist{grid-template-columns:1fr}}
