.skip-link{inset-inline-start:-9999px;z-index:99999;background:var(--primary);color:var(--text-on-accent);border-radius:6px;padding:12px 18px;font-weight:700;text-decoration:none;position:absolute;top:8px;box-shadow:0 4px 14px #00000040}.skip-link:focus,.skip-link:focus-visible{outline-offset:2px;outline:3px solid #fff;inset-inline-start:12px}:where(button,a,[role=button],[role=tab],[role=link],input,select,textarea,summary):focus-visible{outline:3px solid var(--accent,#f72585);outline-offset:2px;border-radius:4px;box-shadow:0 0 0 5px #f725852e}[data-theme=dark] :where(button,a,[role=button],[role=tab],[role=link],input,select,textarea,summary):focus-visible{box-shadow:0 0 0 5px #4cc9f047}:root{--primary:#4361ee;--primary-light:#4895ef;--primary-dark:#3a0ca3;--primary-rgb:67, 97, 238;--secondary:#4cc9f0;--accent:#f72585;--accent-color:var(--accent);--success:#4ade80;--success-color:var(--success);--success-bg:#4ade801a;--warning:#f59e0b;--warning-color:var(--warning);--warning-bg:#f59e0b1a;--error:#f43f5e;--error-color:var(--error);--error-bg:#f43f5e1a;--text:#1e293b;--text-primary:#1e293b;--text-secondary:#64748b;--text-light:#64748b;--bg:#f8fafc;--bg-primary:#f8fafc;--bg-secondary:#f1f5f9;--card:#fff;--card-bg:#fff;--border-color:#e2e8f0;--hover-bg:#f8fafc;--input-bg:#fff;--shadow:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a;--border-hairline:1px solid #ffffff1a;--border-hairline-strong:1px solid #ffffff2e;--glass-blur:12px;--glass-bg:#ffffff0f;--glass-bg-strong:#ffffff1a;--card-elevation-1:0 4px 16px -8px #00000059;--card-elevation-2:0 12px 36px -16px #00000080;--card-elevation-3:0 24px 56px -24px #0000008c;--icon-cool:#818cf8;--icon-warm:#f59e0b;--icon-pink:#f472b6;--icon-violet:#a78bfa;--icon-mint:#34d399;--z-base:1;--z-sticky:50;--z-overlay:60;--z-modal:1000;--z-toast:2000;--z-debug:9000;--radius:12px;--radius-sm:6px;--radius-lg:20px;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-xxl:3rem;--transition:background .3s cubic-bezier(.4, 0, .2, 1), transform .3s cubic-bezier(.4, 0, .2, 1), box-shadow .3s cubic-bezier(.4, 0, .2, 1), color .3s cubic-bezier(.4, 0, .2, 1), border-color .3s cubic-bezier(.4, 0, .2, 1), opacity .3s cubic-bezier(.4, 0, .2, 1);--gradient:linear-gradient(135deg, var(--primary), var(--primary-dark));--font-display:"Bricolage Grotesque", "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-body:"Inter Tight", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--fs-display-1:clamp(2.6rem, 5.5vw, 4.4rem);--fs-h1:clamp(2rem, 3.5vw, 2.8rem);--fs-h2:clamp(1.5rem, 2.5vw, 2rem);--fs-h3:clamp(1.2rem, 2vw, 1.5rem);--fs-body:clamp(.97rem, 1.05vw, 1.0625rem);--fs-small:.875rem;--fs-tiny:.75rem;--lh-tight:1.15;--lh-snug:1.35;--lh-normal:1.55;--lh-relaxed:1.7;--tracking-tight:-.02em;--tracking-normal:0;--tracking-wide:.04em;--surface-1:#ffffff0a;--surface-2:#ffffff12;--surface-3:#ffffff1f;--motion-duration-quick:.16s;--motion-duration-base:.24s;--motion-duration-cinematic:.6s;--motion-ease-quick:cubic-bezier(.2, .8, .2, 1);--motion-ease-flow:cubic-bezier(.4, 0, .2, 1);--motion-ease-deliberate:cubic-bezier(.16, 1, .3, 1);--ambient-idle:#6366f10d;--ambient-listen:#6366f12e;--ambient-speak:#f725852e;--persona-accent:var(--primary);--persona-accent-soft:color-mix(in oklab, var(--primary) 15%, transparent);--persona-accent-rim:color-mix(in oklab, var(--primary) 35%, transparent);--text-on-accent:#fff;--cinema-fallback-base:#f1f5f9;--cinema-fallback-shadow:#0f172a1f;--depth-0:0 1px 0 #ffffff0a inset;--depth-1:0 4px 12px -6px #00000052, 0 1px 0 #ffffff0f inset;--depth-2:0 14px 40px -18px #0000007a, 0 1px 0 #ffffff14 inset;--depth-3:0 28px 64px -28px #0000009e, 0 1px 0 #ffffff1a inset;--depth-glow-persona:0 0 0 1px color-mix(in srgb, var(--persona-accent,#4361ee) 35%, transparent), 0 18px 48px -16px color-mix(in srgb, var(--persona-accent,#4361ee) 60%, transparent);--glass-2026-bg:color-mix(in srgb, var(--surface-2) 75%, transparent);--glass-2026-border:#ffffff24;--glass-2026-blur:saturate(180%) blur(22px);--spring-snap:cubic-bezier(.34, 1.56, .64, 1);--spring-soft:cubic-bezier(.22, 1, .36, 1);--spring-bounce:linear(0, .4 24%, 1.04 56%, .96 72%, 1);--motion-ripple-dur:.54s;--type-emph-low:400;--type-emph-mid:600;--type-emph-high:800;--bg-oled:#000;--surface-oled-1:#0a0a0c;--surface-oled-2:#121217;--surface-oled-3:#1a1a22}[data-theme=dark]{--primary:#4895ef;--primary-light:#4cc9f0;--primary-dark:#4361ee;--primary-rgb:72, 149, 239;--secondary:#7c5cff;--accent:#f72585;--accent-color:var(--accent);--success:#4ade80;--success-color:var(--success);--success-bg:#4ade801a;--warning:#f59e0b;--warning-color:var(--warning);--warning-bg:#f59e0b1a;--error:#f43f5e;--error-color:var(--error);--error-bg:#f43f5e1a;--text:#f8fafc;--text-primary:#f8fafc;--text-secondary:#d8dee9;--text-light:#d8dee9;--bg:#0f172a;--bg-primary:#0f172a;--bg-secondary:#1e293b;--card:#1e293b;--card-bg:#1e293b;--border-color:#334155;--hover-bg:#334155;--input-bg:#1e293b;--shadow:0 4px 6px -1px #00000040, 0 2px 4px -1px #00000026;--shadow-lg:0 10px 15px -3px #0000004d, 0 4px 6px -2px #0003;--cinema-fallback-base:#0f1729;--cinema-fallback-shadow:#00000073}[data-theme=light]{--border-hairline:1px solid #0f172a1a;--border-hairline-strong:1px solid #0f172a2e;--glass-bg:#0f172a0a;--glass-bg-strong:#0f172a14;--card-elevation-1:0 4px 14px -8px #0f172a1f;--card-elevation-2:0 12px 32px -16px #0f172a2e;--card-elevation-3:0 24px 48px -20px #0f172a38;--icon-warm:#b45309;--depth-1:0 4px 14px -8px #0f172a29, 0 1px 0 #fff9 inset;--depth-2:0 14px 36px -16px #0f172a38, 0 1px 0 #ffffffb3 inset;--depth-3:0 28px 56px -22px #0f172a47, 0 1px 0 #fffc inset;--glass-2026-bg:#ffffffc7;--glass-2026-border:#0f172a1f}[data-theme=dark][data-oled="1"]{--bg:var(--bg-oled);--bg-primary:var(--bg-oled);--bg-secondary:var(--surface-oled-1);--card:var(--surface-oled-1);--card-bg:var(--surface-oled-1);--hover-bg:var(--surface-oled-2);--input-bg:var(--surface-oled-1);--border-color:#20202a;--surface-1:#ffffff08;--surface-2:#ffffff0d;--surface-3:#ffffff17;--glass-bg:#ffffff0a;--glass-bg-strong:#ffffff12;--glass-2026-bg:color-mix(in srgb, var(--surface-oled-2) 88%, transparent);--glass-2026-border:#ffffff1a;--cinema-fallback-base:#050507;--cinema-fallback-shadow:#000000b3}*{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);background-color:var(--bg);color:var(--text);line-height:var(--lh-normal);transition:var(--transition);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:800;line-height:var(--lh-tight);letter-spacing:var(--tracking-tight);text-wrap:balance}.app-container{max-width:1280px;padding:0 var(--space-md);margin:0 auto;overflow-x:hidden}#main-app{max-width:none;padding:0;overflow:visible}#intro-page[hidden],#main-app #promo-banner{display:none!important}section{padding:var(--space-xxl) 0;position:relative}.promo-banner{color:var(--text-on-accent);z-index:10000;background:linear-gradient(135deg,#f72585,#4361ee,#3a0ca3) 0 0/200% 200%;border-bottom:2px solid #ffffff1a;padding:1rem 0;animation:.6s ease-out slideDown,3s ease-in-out infinite gradientShift;position:fixed;top:0;left:0;right:0;box-shadow:0 4px 20px #00000026}[data-theme=dark] .promo-banner{background:linear-gradient(135deg,#b3175f,#2e44a8,#1d0763) 0 0/200% 200%;border-bottom-color:#ffffff0f;box-shadow:0 4px 20px #00000073}.promo-content{max-width:1280px;padding:0 var(--space-md);justify-content:space-between;align-items:center;gap:var(--space-md);margin:0 auto;display:flex}.promo-text{align-items:center;gap:var(--space-sm);font-size:1rem;font-weight:600;line-height:1.4;display:flex}.promo-icon{font-size:1.5rem;animation:2s infinite bounce}.promo-message{text-shadow:0 1px 2px #0000001a;font-size:1rem}.promo-close{color:var(--text-on-accent);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;background:#fff3;border:1px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:.5rem;font-size:1.2rem;transition:all .3s;display:flex}.promo-close:hover{background:#ffffff4d;transform:scale(1.1);box-shadow:0 4px 12px #0003}.promo-close:active{transform:scale(.95)}@keyframes gradientShift{0%,to{background-position:0%}50%{background-position:100%}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-5px)}60%{transform:translateY(-3px)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.promo-banner{background-position:0%;animation:none}.promo-icon{animation:none}}.language-currency-selector{top:60px;right:var(--space-md);z-index:9999;background:var(--card);border-radius:var(--radius);padding:var(--space-sm);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);gap:var(--space-sm);flex-direction:column;min-width:200px;display:flex;position:fixed}.selector-group{flex-direction:column;gap:.25rem;display:flex}.selector-group select{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text);cursor:pointer;transition:var(--transition);padding:.5rem;font-size:.9rem}.instructions{background:linear-gradient(135deg, var(--bg-secondary), var(--bg));position:relative}.instructions:before{content:"";opacity:.5;background:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\"><defs><pattern id=\"grain\" width=\"100\" height=\"100\" patternUnits=\"userSpaceOnUse\"><circle cx=\"25\" cy=\"25\" r=\"1\" fill=\"%23ffffff\" opacity=\"0.1\"/><circle cx=\"75\" cy=\"75\" r=\"1\" fill=\"%23ffffff\" opacity=\"0.1\"/><circle cx=\"50\" cy=\"10\" r=\"0.5\" fill=\"%23ffffff\" opacity=\"0.1\"/><circle cx=\"10\" cy=\"60\" r=\"0.5\" fill=\"%23ffffff\" opacity=\"0.1\"/><circle cx=\"90\" cy=\"40\" r=\"0.5\" fill=\"%23ffffff\" opacity=\"0.1\"/></pattern></defs><rect width=\"100\" height=\"100\" fill=\"url(%23grain)\"/></svg>");position:absolute;inset:0}.instructions-grid{gap:var(--space-xl);margin-top:var(--space-xxl);z-index:1;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid;position:relative}.instruction-card{background:var(--card);text-align:center;box-shadow:var(--shadow);transition:var(--transition);border:1px solid var(--border-color);border-radius:16px;margin-top:1rem;padding:2rem 1.5rem 1.5rem;position:relative}.instruction-card:before{content:"";background:linear-gradient(90deg, var(--primary), var(--accent));height:4px;position:absolute;top:0;left:0;right:0}.instruction-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px)}.instruction-number{background:var(--primary);width:24px;height:24px;color:var(--text-on-accent);box-shadow:var(--shadow);z-index:2;border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.instruction-icon{background:linear-gradient(135deg, var(--primary), var(--primary-light));width:50px;height:50px;margin:0 auto var(--space-md);color:var(--text-on-accent);box-shadow:var(--shadow);border-radius:50%;justify-content:center;align-items:center;font-size:1.25rem;display:flex}.instruction-card h3{margin-bottom:var(--space-sm);color:var(--text);font-size:1.1rem}.instruction-card p{color:var(--text-secondary);line-height:1.6}.fab-container{z-index:1000;position:fixed;bottom:5px;right:10px}.fab{width:56px;height:56px;color:var(--text-on-accent);box-shadow:var(--shadow-lg);transition:var(--transition);cursor:pointer;background-color:#25d366;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.fab i{color:var(--text-on-accent);z-index:2;margin-left:-1px;font-size:1.75rem;line-height:2;display:flex}.fab:before{content:"";width:100%;height:100%;z-index:1.5;background-color:#fff;border-radius:50%;animation:2s infinite pulse;position:absolute;top:0;left:0}.fab:hover{box-shadow:var(--shadow-xl);background-color:#128c7e;transform:scale(1.1)}.modal{z-index:10000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#0009;width:100%;height:100%;animation:.3s ease-out fadeIn;display:none;position:fixed;top:0;left:0}.modal-content{background:var(--card);padding:var(--space-xl);border-radius:var(--radius-lg);border:1px solid var(--border-color);width:90%;max-width:600px;max-height:90vh;margin:5% auto;animation:.4s ease-out slideUp;position:relative;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-footer{margin-top:var(--space-lg);text-align:center}.close-modal{top:var(--space-md);color:var(--text-light);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.5rem;display:flex;position:absolute;inset-inline-end:var(--space-md)}.close-modal:hover{color:var(--primary);background-color:rgba(var(--primary), .1)}.modal-icon{color:var(--primary);margin-bottom:var(--space-md);text-align:center;font-size:2.5rem}.modal h3{text-align:center;margin-bottom:var(--space-md);color:var(--primary)}.modal p{text-align:center;color:var(--text-light);margin-bottom:var(--space-lg)}.main-nav{padding:var(--space-md) 0;background-color:rgba(var(--bg), .95);z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(var(--text), .1);position:sticky;top:0}.nav-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;display:flex}.logo{color:var(--primary);align-items:center;gap:var(--space-sm);transition:var(--transition);font-size:1.5rem;font-weight:800;text-decoration:none;display:flex}.logo-icon{font-size:1.8rem}.logo:hover{opacity:.9}.nav-links{align-items:center;gap:var(--space-md);display:flex}.nav-link{color:var(--text);transition:var(--transition);padding:var(--space-sm) 0;font-size:.95rem;font-weight:500;text-decoration:none;position:relative}.nav-link:hover{color:var(--primary)}.nav-link:after{content:"";background:var(--primary);width:0;height:2px;transition:var(--transition);position:absolute;bottom:0;left:0}.nav-link:hover:after{width:100%}.sophie-nav-link{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border-radius:var(--radius);transition:var(--transition);background:linear-gradient(135deg,#667eea1a,#764ba21a);border:1px solid #667eea33;display:flex}.sophie-nav-link:hover{background:linear-gradient(135deg,#667eea33,#764ba233);border-color:#667eea66;transform:translateY(-2px);box-shadow:0 4px 12px #667eea33}.sophie-nav-link:after{display:none}.sophie-nav-link i{color:var(--primary);font-size:1rem}.sophie-hero-btn{color:var(--primary);align-items:center;gap:var(--space-xs);transition:var(--transition);background:linear-gradient(135deg,#667eea1a,#764ba21a);border:2px solid #667eea4d;display:flex}.sophie-hero-btn:hover{background:linear-gradient(135deg, var(--primary), var(--primary-light));color:var(--text-on-accent);border-color:var(--primary);box-shadow:var(--shadow-lg);transform:translateY(-3px)}.sophie-hero-btn i{font-size:1.1rem}.lang-toggle,.theme-toggle{cursor:pointer;color:var(--text);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);transition:var(--transition);align-items:center;gap:var(--space-xs);background:0 0;border:none;font-size:.95rem;font-weight:500;display:flex}.lang-toggle:hover,.theme-toggle:hover{background:rgba(var(--primary), .1);color:var(--primary)}.lang-flag{font-size:1.2rem}.theme-toggle{border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.mobile-menu-btn{cursor:pointer;background:0 0;border:none;width:40px;height:40px;padding:0;display:none;position:relative}.menu-icon,.menu-icon:before,.menu-icon:after{content:"";background-color:var(--text);width:24px;height:2px;transition:var(--transition);position:absolute;left:8px}.menu-icon:before{top:-6px}.menu-icon:after{top:6px}.mobile-menu-btn[aria-expanded=true] .menu-icon{background-color:#0000}.mobile-menu-btn[aria-expanded=true] .menu-icon:before{top:0;transform:rotate(45deg)}.mobile-menu-btn[aria-expanded=true] .menu-icon:after{top:0;transform:rotate(-45deg)}.hero{padding:var(--space-xxl) 0;position:relative;overflow:hidden}.hero:before{content:"";background:radial-gradient(circle, rgba(var(--primary), .05) 0%, transparent 70%);z-index:-1;width:200%;height:200%;position:absolute;top:-50%;left:-50%}.hero-content{gap:var(--space-xl);grid-template-columns:1fr 1fr;align-items:center;max-width:1200px;margin:0 auto;display:grid}.hero-text{max-width:600px}.hero h1{margin-bottom:var(--space-md);background:var(--gradient);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;font-size:3rem;line-height:1.1}.subtitle{color:var(--text-light);margin-bottom:var(--space-xl);max-width:500px;font-size:1.25rem}.cta-buttons{gap:var(--space-md);margin-bottom:var(--space-xl);flex-wrap:wrap;display:flex}.btn{padding:var(--space-md) var(--space-xl);border-radius:var(--radius);transition:var(--transition);cursor:pointer;font-weight:600;font-family:var(--font-body);text-align:center;justify-content:center;align-items:center;gap:var(--space-xs);white-space:nowrap;border:none;min-height:48px;font-size:1rem;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";opacity:0;width:100%;height:100%;transition:var(--transition);background:#ffffff1a;position:absolute;top:0;left:0}.btn:hover:after{opacity:1}.btn.primary{background:var(--gradient);color:var(--text-on-accent);box-shadow:var(--shadow);border:none}.btn.primary:hover{box-shadow:var(--shadow-lg);color:var(--text-on-accent);transform:translateY(-2px)}.btn.primary:active{box-shadow:var(--shadow);transform:translateY(0)}.btn.secondary{background:var(--card);color:var(--primary);border:2px solid var(--primary);box-shadow:var(--shadow)}.btn.secondary:hover{background:rgba(var(--primary), .1);box-shadow:var(--shadow-lg);color:var(--primary);transform:translateY(-2px)}.btn.secondary:active{box-shadow:var(--shadow);transform:translateY(0)}.btn.pulse{animation:2s infinite pulse}.hero-image{border-radius:var(--radius);box-shadow:var(--shadow-xl);transform-style:preserve-3d;perspective:1000px;position:relative;overflow:hidden}.chat-preview{border-radius:var(--radius);width:100%;transition:var(--transition);display:block;transform:translateZ(20px);box-shadow:0 20px 40px #0003}.hero-badge{background:var(--gradient);color:var(--text-on-accent);padding:var(--space-sm) var(--space-md);border-radius:var(--radius);align-items:center;gap:var(--space-xs);box-shadow:var(--shadow-lg);z-index:1;font-size:.9rem;font-weight:600;display:flex;position:absolute;top:-1px;right:-1px}.pulse-dot{background-color:var(--success);border-radius:50%;width:8px;height:8px;animation:1.5s infinite pulse}.section-header{text-align:center;margin-bottom:var(--space-xxl);max-width:800px;margin-left:auto;margin-right:auto}.section-subtitle{color:var(--primary);text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--space-sm);background:rgba(var(--primary), .1);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius);font-size:.9rem;font-weight:700;display:inline-block}.section-header h2{margin-bottom:var(--space-md);font-size:2.5rem}.section-description{color:var(--text-light);max-width:600px;margin:0 auto var(--space-xl)}.voice-agent-section{background:linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 50%, var(--primary-light) 100%);color:var(--text-on-accent);padding:var(--space-xxl) 0;position:relative;overflow:hidden}.voice-agent-section:before{content:"";z-index:0;background-image:radial-gradient(circle at 20% 30%,#ffffff1a 0%,#0000 50%),radial-gradient(circle at 80% 70%,#ffffff14 0%,#0000 50%);width:100%;height:100%;position:absolute;top:0;left:0}.voice-agent-container{max-width:1200px;padding:0 var(--space-md);z-index:1;margin:0 auto;position:relative}.voice-agent-content{gap:var(--space-xxl);grid-template-columns:1fr 1fr;align-items:center;display:grid}.voice-agent-badge{align-items:center;gap:var(--space-xs);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--space-xs) var(--space-md);margin-bottom:var(--space-md);background:#fff3;border:1px solid #ffffff4d;border-radius:50px;font-size:.9rem;font-weight:600;display:inline-flex}.voice-agent-header{text-align:left}.voice-agent-icon{margin-bottom:var(--space-md);color:#ffffffe6;font-size:3rem;animation:3s ease-in-out infinite float;display:inline-block}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.voice-agent-header h2{margin-bottom:var(--space-md);color:var(--text-on-accent);font-size:2.5rem;line-height:1.2}.voice-agent-subtitle{color:#ffffffe6;margin-bottom:var(--space-xl);font-size:1.2rem;line-height:1.6}.voice-agent-features{gap:var(--space-md);margin-bottom:var(--space-xl);grid-template-columns:repeat(2,1fr);display:grid}.voice-feature{align-items:center;gap:var(--space-sm);color:#fffffff2;font-size:1rem;display:flex}.voice-feature i{color:var(--success);flex-shrink:0;font-size:1.2rem}.voice-agent-cta{gap:var(--space-md);flex-direction:column;display:flex}.voice-agent-buttons{gap:var(--space-md);flex-wrap:wrap;justify-content:center;display:flex}.sophie-page-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-on-accent);padding:var(--space-md) var(--space-xl);justify-content:center;align-items:center;gap:var(--space-sm);transition:var(--transition);background:#fff3;border:2px solid #fff6;font-size:1.1rem;font-weight:700;text-decoration:none;display:flex;box-shadow:0 4px 20px #0003}.sophie-page-btn:hover{color:var(--text-on-accent);background:#ffffff4d;border-color:#fff9;transform:translateY(-3px);box-shadow:0 8px 30px #0000004d}.sophie-page-btn i{font-size:1.1rem;transition:transform .3s}.sophie-page-btn:hover i{transform:translate(5px)}.phone-number-display{justify-content:center;align-items:center;gap:var(--space-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--space-md) var(--space-lg);border-radius:var(--radius);background:#ffffff26;border:2px solid #ffffff4d;display:flex}.phone-number-display i{color:var(--text-on-accent);font-size:1.5rem}.phone-link{color:var(--text-on-accent);transition:var(--transition);font-size:1.5rem;font-weight:700;font-family:var(--font-body);text-decoration:none}.phone-link:hover{color:var(--success);transform:scale(1.05)}.voice-call-btn{color:var(--primary);padding:var(--space-lg) var(--space-xxl);justify-content:center;align-items:center;gap:var(--space-sm);transition:var(--transition);background:#fff;border:none;flex:1;min-width:200px;font-size:1.2rem;font-weight:700;text-decoration:none;display:flex;box-shadow:0 8px 32px #0000004d}.voice-call-btn:hover{background:var(--success);color:var(--text-on-accent);transform:translateY(-3px);box-shadow:0 12px 40px #0006}.voice-call-btn i{font-size:1.3rem}.voice-agent-note{text-align:center;color:#ffffffd9;margin:0;font-size:.95rem}.voice-agent-visual{justify-content:center;align-items:center;display:flex}.voice-agent-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-lg);padding:var(--space-xl);width:100%;max-width:400px;transition:var(--transition);background:#ffffff26;border:2px solid #ffffff4d;box-shadow:0 20px 60px #0000004d}.voice-agent-card:hover{border-color:#ffffff80;transform:translateY(-5px);box-shadow:0 25px 70px #0006}.voice-card-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.voice-avatar{width:80px;height:80px;color:var(--text-on-accent);background:linear-gradient(135deg,#ffffff4d,#ffffff1a);border:3px solid #ffffff80;border-radius:50%;justify-content:center;align-items:center;font-size:2.5rem;display:flex;box-shadow:0 8px 24px #0003}.voice-status{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);color:var(--text-on-accent);background:#4ade8033;border-radius:50px;font-size:.9rem;font-weight:600;display:flex}.status-dot{background:var(--success);border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}.voice-card-content h3{margin-bottom:var(--space-xs);color:var(--text-on-accent);font-size:1.8rem}.voice-card-content p{color:#ffffffe6;margin-bottom:var(--space-md);font-size:1rem}.voice-capabilities{gap:var(--space-xs);margin-top:var(--space-md);flex-wrap:wrap;display:flex}.capability-tag{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--space-xs) var(--space-md);color:var(--text-on-accent);background:#fff3;border:1px solid #ffffff4d;border-radius:20px;font-size:.85rem;font-weight:500}@media (max-width:968px){.voice-agent-content{gap:var(--space-xl);text-align:center;grid-template-columns:1fr}.voice-agent-header{text-align:center}.voice-agent-header h2{font-size:2rem}.voice-agent-features{text-align:left;grid-template-columns:1fr}.voice-agent-visual{order:-1}}@media (max-width:640px){.voice-agent-header h2{font-size:1.75rem}.voice-agent-subtitle{font-size:1rem}.phone-link{font-size:1.25rem}.voice-call-btn{padding:var(--space-md) var(--space-xl);font-size:1rem}.voice-agent-buttons{flex-direction:column}.sophie-page-btn{width:100%}}.demo{background:linear-gradient(135deg, rgba(var(--primary), .03) 0%, transparent 100%)}.demo-grid{gap:var(--space-lg);margin-top:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.demo-card{background:var(--card);padding:var(--space-xl);border-radius:var(--radius);box-shadow:var(--shadow);transition:var(--transition);text-align:center;border:1px solid rgba(var(--primary), .1);position:relative;overflow:hidden}.demo-card:hover{box-shadow:var(--shadow-lg);border-color:rgba(var(--primary), .3);transform:translateY(-5px)}.demo-icon{margin-bottom:var(--space-md);color:var(--primary);transition:var(--transition);font-size:2.5rem}.demo-card:hover .demo-icon{transform:scale(1.1)}.demo-card h3{margin-bottom:var(--space-sm);color:var(--text);font-size:1.4rem}.demo-card p{color:var(--text-light);margin-bottom:var(--space-md)}.features{background:linear-gradient(135deg, rgba(var(--primary), .03) 0%, transparent 100%)}.features-grid{gap:var(--space-lg);margin-top:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.feature-card{background:var(--card);padding:var(--space-xl);border-radius:var(--radius);box-shadow:var(--shadow);transition:var(--transition);text-align:center;border:1px solid rgba(var(--primary), .1);position:relative;overflow:hidden}.feature-card:hover{box-shadow:var(--shadow-lg);border-color:rgba(var(--primary), .3);transform:translateY(-5px)}.feature-icon{margin-bottom:var(--space-md);color:var(--primary);transition:var(--transition);font-size:2.5rem}.feature-card:hover .feature-icon{transform:scale(1.1)}.feature-card h3{margin-bottom:var(--space-sm);color:var(--text);font-size:1.4rem}.feature-card p{color:var(--text-light);margin-bottom:var(--space-md)}.feature-decoration{background:var(--gradient);transform-origin:0;width:100%;height:4px;transition:var(--transition);position:absolute;bottom:0;left:0;transform:scaleX(0)}.feature-card:hover .feature-decoration{transform:scaleX(1)}.testimonials .section-header h2{margin-bottom:var(--space-xxl)}.testimonials-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.testimonial-card{background:var(--card);padding:var(--space-xl);border-radius:var(--radius);box-shadow:var(--shadow);transition:var(--transition);border:1px solid rgba(var(--primary), .1);position:relative}.testimonial-card:hover{box-shadow:var(--shadow-lg);border-color:rgba(var(--primary), .3);transform:translateY(-5px)}.testimonial-text{margin-bottom:var(--space-xl);padding-left:var(--space-md);color:var(--text);font-size:1.1rem;font-style:italic;line-height:1.6;position:relative}.testimonial-text:before{content:"\"";color:var(--primary-light);opacity:.3;font-size:3rem;position:absolute;top:-10px;left:0}.testimonial-author{align-items:center;gap:var(--space-md);margin-bottom:var(--space-md);display:flex}.author-avatar{background:var(--gradient);width:48px;height:48px;color:var(--text-on-accent);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}.author-info{flex-direction:column;display:flex}.author-name{font-weight:700}.author-location{color:var(--text-light);font-size:.9rem}.testimonial-rating{color:var(--warning);font-size:.9rem}.final-cta{background:linear-gradient(135deg, var(--primary-dark), var(--primary));color:var(--text-on-accent);text-align:center;padding:var(--space-xxl) 0;position:relative;overflow:hidden}.final-cta:before{content:"";background-image:radial-gradient(circle at 20%,#ffffff1a 0%,#0000 50%);width:100%;height:100%;position:absolute;top:0;left:0}.cta-container{z-index:1;max-width:800px;padding:0 var(--space-md);margin:0 auto;position:relative}.final-cta h2{margin-bottom:var(--space-md);color:var(--text-on-accent)}.final-cta p{color:#ffffffe6;margin-bottom:var(--space-xl);font-size:1.1rem}.final-cta .btn{color:var(--primary);background:#fff;font-weight:700}.final-cta .btn:hover{background:#ffffffe6;transform:translateY(-3px);box-shadow:0 10px 20px #0003}.app-footer{padding:var(--space-xxl) 0 var(--space-xl);background:var(--card);border-top:1px solid rgba(var(--text), .1)}.footer-content{gap:var(--space-xl);margin-bottom:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));max-width:1200px;margin:0 auto;display:grid}.footer-info{flex-direction:column;align-items:flex-start;display:flex}.footer-logo{color:var(--primary);align-items:center;gap:var(--space-sm);font-size:1.5rem;font-weight:800;text-decoration:none;display:flex}.footer-about{color:var(--text-light);max-width:300px;margin:var(--space-sm) 0;font-size:.9rem}.footer-links{gap:var(--space-sm);flex-direction:column;display:flex}.footer-links h4{margin-bottom:var(--space-sm);color:var(--text);font-size:1.1rem}.footer-links a{color:var(--text-light);transition:var(--transition);font-size:.9rem;text-decoration:none}.footer-links a:hover{color:var(--primary);padding-left:var(--space-xs)}.footer-copyright{text-align:center;color:var(--text-light);padding-top:var(--space-xl);border-top:1px solid rgba(var(--text), .1);max-width:1200px;margin:0 auto;font-size:.8rem}.mobile-menu{background:var(--card);z-index:1000;width:100%;max-width:320px;height:100vh;transition:var(--transition);flex-direction:column;display:flex;position:fixed;top:0;right:-100%;box-shadow:-5px 0 15px #0000001a}.mobile-menu.active{right:0}.close-menu{padding:var(--space-md);cursor:pointer;background:0 0;border:none;align-self:flex-end;width:48px;height:48px;position:relative}.close-icon,.close-icon:before{content:"";background-color:var(--text);width:24px;height:2px;position:absolute;top:23px;left:12px}.close-icon{transform:rotate(45deg)}.close-icon:before{transform:rotate(90deg)}.mobile-menu-content{padding:var(--space-md);gap:var(--space-xs);flex-direction:column;flex-grow:1;display:flex;overflow-y:auto}.mobile-nav-link{color:var(--text);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);transition:var(--transition);font-size:1.1rem;text-decoration:none}.mobile-nav-link:hover{background:rgba(var(--primary), .1);color:var(--primary)}.mobile-menu-divider{background:rgba(var(--text), .1);height:1px;margin:var(--space-sm) 0}.mobile-lang-toggle{color:var(--text);padding:var(--space-sm) var(--space-md);text-align:left;cursor:pointer;align-items:center;gap:var(--space-sm);border-radius:var(--radius-sm);transition:var(--transition);background:0 0;border:none;font-size:1.1rem;display:flex}.mobile-lang-toggle:hover{background:rgba(var(--primary), .1);color:var(--primary)}.auth-form{gap:var(--space-md);flex-direction:column;display:flex}.form-group{gap:var(--space-xs);flex-direction:column;display:flex}.form-group label{color:var(--text);font-size:.9rem;font-weight:500}.form-group input{padding:var(--space-sm);border:1px solid rgba(var(--text), .2);border-radius:var(--radius-sm);font-family:var(--font-body);transition:var(--transition);background:var(--bg);color:var(--text)}.form-group input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb), .1);outline:none}.auth-footer{align-items:center;gap:var(--space-sm);margin-top:var(--space-md);flex-direction:column;display:flex}.auth-footer .btn.secondary{width:100%;max-width:300px;margin-top:var(--space-xs)}.auth-link{text-align:center;color:var(--text-light);margin:0;font-size:.9rem}.auth-error{color:var(--error);text-align:center;margin-top:var(--space-sm);min-height:1.2rem;font-size:.9rem}.auth-actions-row{gap:var(--space-sm);margin-top:var(--space-sm);flex-wrap:wrap;display:flex}.auth-actions-row .btn{flex:140px;min-width:0}.btn[aria-busy=true]{cursor:wait;opacity:.85;pointer-events:none}.btn[aria-busy=true] i.fa-spinner{margin-right:.4rem}.input-with-toggle{display:block;position:relative}.input-with-toggle input{box-sizing:border-box;width:100%;padding-right:2.6rem}.pw-toggle{color:var(--text-light,#999);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:.4rem .55rem;line-height:1;transition:color .15s,background .15s;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.pw-toggle:hover,.pw-toggle:focus-visible{color:var(--primary,#6366f1);background:#6366f114;outline:none}.pw-toggle i{font-size:.95rem}.auth-link-button{color:var(--primary,#6366f1);cursor:pointer;text-align:right;background:0 0;border:0;align-self:flex-end;padding:.25rem 0;font-family:inherit;font-size:.88rem;text-decoration:none}.auth-link-button:hover,.auth-link-button:focus-visible{outline:none;text-decoration:underline}.auth-footer .auth-link-button{text-align:center;align-self:center}body.auth-state-pending [data-show-when=signed-in],body.auth-state-pending [data-show-when=signed-out]{visibility:hidden}#landing-toast-root{z-index:10000;pointer-events:none;flex-direction:column;gap:.5rem;max-width:min(92vw,380px);display:flex;position:fixed;top:1rem;right:1rem}.landing-toast{pointer-events:auto;color:var(--text-on-accent);opacity:0;background:#141624f5;border:1px solid #ffffff14;border-radius:12px;align-items:flex-start;gap:.6rem;padding:.75rem .9rem;font-size:.92rem;line-height:1.35;transition:opacity .2s,transform .2s;display:flex;transform:translateY(-8px);box-shadow:0 12px 30px #00000040,0 2px 6px #00000026}[data-theme=light] .landing-toast{color:#1f2937;background:#fff;border-color:#00000014;box-shadow:0 12px 30px #0000001f,0 2px 6px #0000000f}.landing-toast.show{opacity:1;transform:translateY(0)}.landing-toast i{margin-top:.05rem;font-size:1.05rem}.landing-toast-success i{color:#22c55e}.landing-toast-error i{color:#ef4444}.landing-toast-info i{color:#6366f1}.landing-toast-msg{word-break:break-word;flex:1}.landing-toast-close{color:inherit;opacity:.6;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:.1rem .35rem;font-size:1.05rem;line-height:1}.landing-toast-close:hover{opacity:1}@media (max-width:480px){#landing-toast-root{max-width:none;top:.6rem;left:.6rem;right:.6rem}}.btn.btn-google{border-radius:var(--radius-sm);color:#1f1f1f;width:100%;font-family:var(--font-body);cursor:pointer;transition:var(--transition);margin-top:var(--space-md);background:#fff;border:1px solid #3c404333;justify-content:center;align-items:center;gap:.6rem;padding:.85rem 1rem;font-size:.95rem;font-weight:500;display:flex}.btn.btn-google:hover{background:#f6f8fa;border-color:#3c404359;box-shadow:0 1px 3px #00000014}.btn.btn-google:disabled{opacity:.6;cursor:not-allowed}.btn.btn-google i.fab{color:#4285f4;font-size:1.05rem}.auth-perk{text-align:center;color:var(--primary);margin:.4rem 0 0;font-size:.85rem;font-weight:500}.auth-note{text-align:center;color:var(--text-light);margin:0;font-size:.8rem;line-height:1.4}.auth-divider{align-items:center;gap:var(--space-sm);margin:var(--space-md) 0;color:var(--text-light);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:#3c40432e;flex:1;height:1px}.link-account-prompt p{margin:0 0 var(--space-sm) 0;color:var(--text);font-size:.95rem;line-height:1.5}.link-account-prompt strong{color:var(--primary)}.intro-page{min-height:100vh;padding:var(--space-lg);opacity:1;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;transition:opacity .32s;display:flex;position:relative;overflow:hidden}.intro-page.is-leaving{opacity:0;pointer-events:none}.intro-page:before{content:"";opacity:.3;background:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\"><defs><pattern id=\"grain\" width=\"100\" height=\"100\" patternUnits=\"userSpaceOnUse\"><circle cx=\"25\" cy=\"25\" r=\"1\" fill=\"%23ffffff\" opacity=\"0.1\"/><circle cx=\"75\" cy=\"75\" r=\"1\" fill=\"%23ffffff\" opacity=\"0.1\"/><circle cx=\"50\" cy=\"10\" r=\"0.5\" fill=\"%23ffffff\" opacity=\"0.1\"/><circle cx=\"10\" cy=\"60\" r=\"0.5\" fill=\"%23ffffff\" opacity=\"0.1\"/><circle cx=\"90\" cy=\"40\" r=\"0.5\" fill=\"%23ffffff\" opacity=\"0.1\"/></pattern></defs><rect width=\"100\" height=\"100\" fill=\"url(%23grain)\"/></svg>");position:absolute;inset:0}.intro-content{text-align:center;z-index:2;width:100%;max-width:1200px;position:relative}.intro-header{margin-bottom:var(--space-xxl);justify-content:space-between;align-items:center;display:flex}.intro-logo{align-items:center;gap:var(--space-sm);display:flex}.intro-logo .logo-icon{font-size:2.5rem;animation:2s infinite bounce}.intro-logo h1{color:var(--text-on-accent);text-shadow:0 2px 4px #0000004d;margin:0;font-size:2rem;font-weight:800}.intro-language-selector{gap:var(--space-sm);display:flex}.lang-btn{border-radius:var(--radius);padding:var(--space-sm) var(--space-md);color:var(--text-on-accent);cursor:pointer;align-items:center;gap:var(--space-xs);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;transition:all .3s;display:flex}.lang-btn:hover{background:#ffffff4d;transform:translateY(-2px)}.lang-btn .flag{font-size:1.2rem}.lang-btn .lang-text{font-size:.9rem;font-weight:600}.intro-hero{gap:var(--space-xxl);margin-bottom:var(--space-xxl);grid-template-columns:1fr 1fr;align-items:center;display:grid}.intro-text{text-align:left}.intro-title{color:var(--text-on-accent);margin-bottom:var(--space-lg);text-shadow:0 2px 4px #0000004d;font-size:3rem;font-weight:800;line-height:1.2}.intro-subtitle{color:#ffffffe6;margin-bottom:var(--space-xl);text-wrap:balance;font-size:1.25rem;line-height:1.6}.intro-features{gap:var(--space-md);flex-direction:column;display:flex}.feature-item{align-items:center;gap:var(--space-md);color:var(--text-on-accent);font-size:1.1rem;font-weight:500;display:flex}.feature-item i{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;display:flex}.intro-visual{justify-content:center;align-items:center;display:flex}.chat-preview{border-radius:var(--radius-lg);padding:var(--space-lg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff1a;border:1px solid #fff3;width:100%;max-width:400px}.chat-message{align-items:flex-start;gap:var(--space-sm);margin-bottom:var(--space-md);animation:.6s ease-out slideInUp;display:flex}.chat-message.user{flex-direction:row-reverse}.message-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;display:flex}.chat-message.bot .message-avatar{background:linear-gradient(135deg,#667eea,#764ba2)}.chat-message.user .message-avatar{background:linear-gradient(135deg,#f093fb,#f5576c)}.message-content{padding:var(--space-md);border-radius:var(--radius);max-width:80%;color:var(--text);background:#ffffffe6;font-size:.95rem;line-height:1.4}.chat-message.user .message-content{color:var(--text-on-accent);background:linear-gradient(135deg,#667eea,#764ba2)}.intro-cta{text-align:center}.intro-btn{padding:var(--space-lg) var(--space-xxl);border-radius:var(--radius-lg);align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);font-size:1.25rem;font-weight:700;transition:all .3s;display:inline-flex;box-shadow:0 8px 32px #0000004d}.intro-btn:hover{transform:translateY(-3px);box-shadow:0 12px 40px #0006}.intro-login-btn{padding:var(--space-md) var(--space-xl);border-radius:var(--radius-lg);align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg);color:var(--text-on-accent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;font-size:1rem;font-weight:600;transition:all .3s;display:inline-flex}.intro-login-btn:hover{color:var(--text-on-accent);background:#ffffff4d;transform:translateY(-2px);box-shadow:0 6px 20px #0003}.intro-note{color:#fffc;margin:0;font-size:1rem}.language-currency-selector{top:80px;right:var(--space-md);z-index:9999;background:var(--card);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-xl);border:1px solid var(--border-color);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);min-width:280px;max-width:320px;position:fixed}.selector-header{margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.selector-header h4{color:var(--text);margin:0;font-size:1.1rem;font-weight:600}.selector-close{color:var(--text-secondary);cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-sm);transition:var(--transition);background:0 0;border:none;justify-content:center;align-items:center;width:44px;height:44px;font-size:.95rem;display:flex}.selector-close:hover{background:var(--bg-secondary);color:var(--text)}.selector-group{gap:var(--space-sm);margin-bottom:var(--space-lg);flex-direction:column;display:flex}.selector-group:last-child{margin-bottom:0}.selector-group label{color:var(--text);font-size:.9rem;font-weight:600}.selector-group select{padding:var(--space-md);border:1px solid var(--border-color);border-radius:var(--radius);background:var(--input-bg);color:var(--text);cursor:pointer;transition:var(--transition);font-size:1rem}.selector-group select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb), .1);outline:none}.instruction-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:300px;display:flex}.instruction-icon{margin-bottom:var(--space-lg);flex-shrink:0}.instruction-card h3{margin-bottom:var(--space-md);flex-grow:0}.instruction-card p{flex-grow:1;justify-content:center;align-items:center;display:flex}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.intro-page{padding:var(--space-md)}.intro-header{gap:var(--space-lg);margin-bottom:var(--space-xl);flex-direction:column}.intro-hero{gap:var(--space-xl);text-align:center;grid-template-columns:1fr}.intro-text{text-align:center}.intro-title{font-size:2.5rem}.intro-subtitle{font-size:1.1rem}.intro-features{align-items:center}.feature-item{justify-content:center}.chat-preview{max-width:100%}.language-currency-selector{width:320px;max-width:90vw;position:fixed;top:50%;left:50%;right:auto;transform:translate(-50%,-50%)}}@media (max-width:480px){.intro-title{font-size:2rem}.intro-subtitle{font-size:1rem}.intro-btn{padding:var(--space-md) var(--space-xl);font-size:1.1rem}.language-currency-selector{width:95vw;max-width:300px;padding:var(--space-md)}}@media (max-width:1024px){.hero-content{text-align:center;grid-template-columns:1fr}.hero-text{order:1}.hero h1{font-size:2.5rem}.language-currency-selector{margin:var(--space-md) 0;max-width:300px;margin-left:auto;margin-right:auto;position:static}.instructions-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media (max-width:768px){html{font-size:14px}.nav-links{display:none}.mobile-menu-btn{display:block}.hero h1{font-size:2rem}.subtitle{font-size:1.1rem}.cta-buttons{gap:var(--space-md);flex-direction:column}.btn{width:100%;max-width:300px}.demo-grid{grid-template-columns:1fr}.footer-content{gap:var(--space-xl);grid-template-columns:1fr}.footer-info,.footer-about,.footer-links{text-align:center}.promo-banner{padding:.75rem 0}.promo-content{gap:var(--space-sm);text-align:center;flex-direction:column}.promo-text{flex-direction:column;gap:.5rem;font-size:.95rem}.promo-icon{font-size:1.25rem}.promo-close{align-self:flex-end;min-width:36px;min-height:36px;padding:.5rem;position:absolute;top:.5rem;right:1rem}}@media (max-width:480px){.hero h1{font-size:2rem}section{padding:2rem 1rem}.section-header h2{font-size:1.5rem}.promo-message{font-size:.8rem}.promo-icon{font-size:1rem}.language-currency-selector{padding:1rem}.selector-group select{font-size:.9rem}.instruction-card{margin-top:1.5rem;padding:1.5rem 1rem 1rem}.instruction-number{width:20px;height:20px;font-size:.7rem;top:-10px}.instruction-icon{width:40px;height:40px;margin-bottom:var(--space-sm);font-size:1rem}.instruction-card h3{margin-bottom:var(--space-xs);font-size:1rem}.instruction-card p{font-size:.85rem;line-height:1.4}}@media (max-width:360px){.language-currency-selector{display:none}}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.chatbot{background:var(--card);width:350px;height:500px;box-shadow:var(--shadow-xl);border:1px solid var(--border-color);z-index:10000;border-radius:16px;flex-direction:column;display:none;position:fixed;bottom:20px;right:20px;overflow:hidden}.chatbot-header{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:var(--text-on-accent);border-radius:16px 16px 0 0;justify-content:space-between;align-items:center;padding:1rem;display:flex}.chatbot-header h3{margin:0;font-size:1.1rem;font-weight:600}.chatbot-close{color:var(--text-on-accent);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-radius:4px;padding:.25rem;font-size:1.2rem}.chatbot-close:hover{background:#fff3}.chatbot-messages{word-wrap:break-word;overflow-wrap:break-word;flex-direction:column;flex:1;gap:1rem;min-width:0;padding:1rem;display:flex;overflow:hidden auto}.chatbot-message{word-wrap:break-word;overflow-wrap:break-word;align-items:flex-start;gap:.75rem;min-width:0;max-width:100%;animation:.3s ease-out slideInUp;display:flex}.chatbot-message.user{flex-direction:row-reverse}.chatbot-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.9rem;display:flex}.chatbot-message.bot .chatbot-avatar{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:var(--text-on-accent)}.chatbot-message.user .chatbot-avatar{background:linear-gradient(135deg, var(--accent), var(--accent-color));color:var(--text-on-accent)}.chatbot-content{background:var(--bg-secondary);min-width:0;max-width:80%;color:var(--text);word-wrap:break-word;overflow-wrap:break-word;white-space:pre-wrap;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;text-overflow:ellipsis;box-sizing:border-box;border-radius:12px;padding:.75rem 1rem;font-size:.9rem;line-height:1.4;display:block;overflow:hidden}.chatbot-message.user .chatbot-content{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:var(--text-on-accent)}.chatbot-input{border-top:1px solid var(--border-color);gap:.5rem;padding:1rem;display:flex}.chatbot-input input{border:1px solid var(--border-color);background:var(--input-bg);color:var(--text);transition:var(--transition);border-radius:8px;flex:1;padding:.75rem;font-size:.9rem}.chatbot-input input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb), .1);outline:none}.chatbot-send{background:var(--primary);color:var(--text-on-accent);cursor:pointer;transition:var(--transition);border:none;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;padding:.75rem;display:flex}.chatbot-send:hover{background:var(--primary-dark);transform:scale(1.05)}.chatbot-buttons{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.chatbot-button{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text);cursor:pointer;transition:var(--transition);white-space:nowrap;border-radius:20px;padding:.5rem 1rem;font-size:.8rem}.chatbot-button:hover{background:var(--primary);color:var(--text-on-accent);border-color:var(--primary)}.chatbot-toggle{background:linear-gradient(135deg, var(--primary), var(--primary-dark));width:60px;height:60px;color:var(--text-on-accent);cursor:pointer;box-shadow:var(--shadow-lg);transition:var(--transition);z-index:9999;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;display:flex;position:fixed;bottom:20px;right:20px}.chatbot-toggle:hover{box-shadow:var(--shadow-xl);transform:scale(1.1)}.chatbot-toggle.hidden{display:none}@media (max-width:768px){.chatbot{width:calc(100vw - 40px);height:calc(100vh - 120px);bottom:10px;left:20px;right:20px}.chatbot-toggle{bottom:10px;right:20px}}@media (max-width:480px){.chatbot{width:calc(100vw - 20px);left:10px;right:10px}.chatbot-toggle{right:10px}}.language-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;padding:1rem 0;display:grid}.language-option{background:var(--card);border:2px solid var(--border-color);cursor:pointer;color:var(--text);font-family:var(--font-body);border-radius:16px;flex-direction:column;align-items:center;padding:1.5rem;text-decoration:none;transition:all .3s;display:flex}.language-option:hover{border-color:var(--primary);box-shadow:var(--shadow-lg);background:var(--primary-light);transform:translateY(-4px)}.language-option.all-languages{background:linear-gradient(135deg, var(--primary), var(--primary-light));color:var(--text-on-accent);border-color:var(--primary);grid-column:1/-1}.language-option.all-languages:hover{background:linear-gradient(135deg, var(--primary-dark), var(--primary));transform:translateY(-4px)scale(1.02)}.language-option .flag{margin-bottom:.5rem;font-size:2.5rem;display:block}.language-option .lang-name{text-align:center;font-size:1rem;font-weight:600}.language-option.all-languages .flag{font-size:3rem}.language-option.all-languages .lang-name{font-size:1.1rem;font-weight:700}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;display:flex}.modal-header h3{color:var(--text);margin:0;font-size:1.5rem;font-weight:600}.modal-body{flex:1}@media (max-width:768px){.language-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.language-option{padding:1rem}.language-option .flag{font-size:2rem}.language-option .lang-name{font-size:.9rem}.language-option.all-languages .flag{font-size:2.5rem}}@media (max-width:480px){.language-grid{grid-template-columns:1fr}.language-option.all-languages{grid-column:1}}.subscription-info{flex-direction:column;gap:2rem;display:flex}.current-plan-info{background:var(--card);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem}.current-plan-info h4{color:var(--text);margin:0 0 1rem;font-size:1.1rem;font-weight:600}.plan-details{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.plan-name{color:var(--primary);font-size:1.1rem;font-weight:600}.plan-status{background:var(--accent);color:var(--text-on-accent);border-radius:12px;padding:.25rem .75rem;font-size:.8rem;font-weight:600}.plan-description{color:var(--text-secondary);margin:0;font-size:.9rem}.subscription-actions{flex-wrap:wrap;gap:1rem;display:flex}.subscription-actions .btn{flex:1;min-width:150px}.billing-history{background:var(--card);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem}.billing-history h4{color:var(--text);margin:0 0 1rem;font-size:1.1rem;font-weight:600}@media (max-width:768px){.subscription-actions{flex-direction:column}.subscription-actions .btn{min-width:auto}}.app-shell{--bg:#0a0e27;--bg-1:#111634;--bg-2:#1a2150;--bg-3:#232c66;--brand-1:#667eea;--brand-2:#764ba2;--brand-3:#4cc9f0;--accent-1:#f59e0b;--accent-2:#fbbf24;--warm:#f43f5e;--good:#22c55e;--text-1:#f8fafc;--text-2:#cbd5e1;--text-3:#94a3b8;--text-muted:#64748b;--user-bubble:linear-gradient(135deg, #667eea 0%, #764ba2 100%);--tutor-bubble:#ffffff0f;--glass-bg:#ffffff0f;--glass-stroke:1px solid #ffffff1a;--glass-blur:saturate(140%) blur(20px);--focus-ring:0 0 0 3px #667eea8c;--neural-glow:0 0 0 1px #667eea4d, 0 0 32px #667eea59, 0 0 80px #764ba240;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-6:24px;--s-8:32px;--s-12:48px;--s-16:64px;--r-1:8px;--r-2:12px;--r-3:16px;--r-4:24px;--r-pill:9999px;--ease:cubic-bezier(.22, 1, .36, 1);--t-fast:.18s var(--ease);--t-med:.28s var(--ease);--t-slow:.48s var(--ease);background:var(--bg);color:var(--text-1);font-family:var(--font-body);-webkit-font-smoothing:antialiased;grid-template:"topbar topbar"56px"sidenav main"1fr"sidenav main"/240px 1fr;min-height:100vh;margin:0;display:grid;overflow-x:hidden}html[data-theme=light] .app-shell{--bg:#f8fafc;--bg-1:#fff;--bg-2:#f1f5f9;--bg-3:#e2e8f0;--text-1:#0f172a;--text-2:#334155;--text-3:#64748b;--glass-bg:#ffffffb3;--glass-stroke:1px solid #0f172a0f;--tutor-bubble:#0f172a0d;--app-chrome-bg:#ffffffc7;--app-chrome-bg-strong:#ffffffeb;--app-chrome-bg-soft:#f8fafc99;--app-chrome-cutout:#fffffff2;--app-chrome-hover:#0f172a0d;--app-chrome-border:#0f172a14}:root .app-shell{--app-chrome-bg:#0a0e2799;--app-chrome-bg-strong:#0a0e27d9;--app-chrome-bg-soft:#0a0e2766;--app-chrome-cutout:#0a0e27d9;--app-chrome-hover:#ffffff0f;--app-chrome-border:#ffffff14}.app-shell .skip-link{background:var(--brand-1);color:var(--text-on-accent);z-index:var(--z-toast,2000);border-radius:8px;padding:8px 12px;position:absolute;top:-100px;left:8px}.app-shell .skip-link:focus{top:8px}.app-shell .gradient-mesh{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.app-shell .blob-shape{filter:blur(80px);opacity:.45;mix-blend-mode:screen;border-radius:50% 60% 40%/60% 40%;width:480px;height:480px;position:absolute}html[data-theme=light] .app-shell .blob-shape{opacity:.28;mix-blend-mode:multiply}.app-shell .blob-1{background:radial-gradient(circle,#667eea,#0000 70%);animation:22s ease-in-out infinite appBlob;top:-120px;left:-120px}.app-shell .blob-2{background:radial-gradient(circle,#764ba2,#0000 70%);animation:28s ease-in-out infinite reverse appBlob;top:30%;right:-160px}.app-shell .blob-3{background:radial-gradient(circle,#4cc9f0,#0000 70%);animation:35s ease-in-out infinite appBlob;bottom:-180px;left:25%}@keyframes appBlob{0%,to{transform:translate(0)scale(1)}50%{transform:translate(40px,-30px)scale(1.1)}}.app-shell .app-topbar{z-index:var(--z-sticky,50);padding-top:max(env(safe-area-inset-top), 0px);padding-bottom:0;padding-left:max(env(safe-area-inset-left), var(--s-6));padding-right:max(env(safe-area-inset-right), var(--s-6));background:var(--app-chrome-bg,#0a0e2799);-webkit-backdrop-filter:var(--glass-blur);border-bottom:var(--glass-stroke);grid-area:topbar;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.app-shell .app-brand{align-items:center;gap:var(--s-2);color:var(--text-1);font-family:var(--font-display);transition:transform var(--t-fast), background var(--t-fast);border-radius:12px;padding:4px 6px;font-size:1.125rem;font-weight:800;text-decoration:none;display:inline-flex}.app-shell .app-brand:hover{background:#ffffff0a}.app-shell .app-brand:active{transform:scale(.98)}.app-shell .app-brand:focus-visible{box-shadow:var(--focus-ring);outline:none}.app-shell .brand-mark{background:linear-gradient(135deg, var(--brand-1), var(--brand-2));width:32px;height:32px;box-shadow:var(--neural-glow);color:var(--text-on-accent);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;display:inline-flex}.app-shell .brand-pill{border-radius:var(--r-pill);color:var(--text-1);letter-spacing:.04em;text-transform:uppercase;background:linear-gradient(135deg,#f725852e,#7c3aed2e);border:1px solid #f7258552;align-items:center;padding:2px 8px;font-size:.7rem;font-weight:700;display:inline-flex}.app-shell .topbar-actions{align-items:center;gap:var(--s-3);display:flex}.app-shell .icon-btn{min-width:44px;min-height:44px;padding:0 var(--s-3);border-radius:var(--r-pill);color:var(--text-1);cursor:pointer;transition:background var(--t-fast), transform var(--t-fast);background:#ffffff0a;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.app-shell .icon-btn:hover{background:#ffffff1a}.app-shell .icon-btn:active{transform:scale(.96)}.app-shell .icon-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.app-shell .user-chip{align-items:center;gap:var(--s-2);border-radius:var(--r-pill);background:var(--glass-bg);border:var(--glass-stroke);padding:4px 12px 4px 4px;display:flex}.app-shell .avatar{background:linear-gradient(135deg, var(--brand-1), var(--brand-2));width:32px;height:32px;color:var(--text-on-accent);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.app-shell .avatar-lg{width:56px;height:56px;font-size:1.5rem}.app-shell .app-sidenav{top:calc(56px + env(safe-area-inset-top,0px));height:calc(100dvh - 56px - env(safe-area-inset-top,0px));padding:var(--s-6) var(--s-3);border-inline-end:var(--glass-stroke);background:var(--app-chrome-bg-soft,#0a0e2766);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);grid-area:sidenav;align-self:start;position:sticky}.app-shell .app-sidenav ul{gap:var(--s-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.app-shell .app-sidenav a{align-items:center;gap:var(--s-3);border-radius:var(--r-2);color:var(--text-2);transition:background var(--t-fast), color var(--t-fast);padding:12px 14px;font-weight:500;text-decoration:none;display:flex}.app-shell .app-sidenav a:hover{background:var(--app-chrome-hover,#ffffff0f);color:var(--text-1)}.app-shell .app-sidenav a.active{color:var(--text-1);background:linear-gradient(135deg,#667eea33,#764ba233);box-shadow:inset 0 0 0 1px #667eea4d}.app-shell .app-sidenav i{text-align:center;width:20px}.app-shell .app-bottombar{grid-area:unset;z-index:var(--z-overlay,60);padding-top:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom));background:var(--app-chrome-bg-strong,#0a0e27d9);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-top:var(--glass-stroke);grid-template-columns:repeat(5,1fr);gap:2px;padding-inline-start:max(4px, env(safe-area-inset-left));padding-inline-end:max(4px, env(safe-area-inset-right));display:none;position:fixed;bottom:0;left:0;right:0}.app-shell .app-bottombar a{min-height:56px;color:var(--text-3);flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:8px 2px;font-size:.7rem;font-weight:600;text-decoration:none;display:flex}.app-shell .app-bottombar a.active{color:var(--text-1)}.app-shell .app-bottombar a.active i{background:linear-gradient(135deg, var(--brand-1), var(--brand-2));color:#0000;-webkit-background-clip:text;background-clip:text}.app-shell .app-bottombar i{font-size:1.125rem}.app-shell .app-main{min-height:calc(100dvh - 56px);padding:var(--s-6);z-index:1;grid-area:main;position:relative}.app-shell .app-main:focus{outline:none}.app-shell .view{animation:viewFadeIn var(--t-med)}@keyframes viewFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.app-shell .glass{background:var(--glass-bg);border:var(--glass-stroke);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--r-3)}@supports not ((-webkit-backdrop-filter:blur(20px)) or (backdrop-filter:blur(20px))){.app-shell .glass{background:#141831eb}:root[data-theme=light] .app-shell .glass{background:#fffffff0}}:root[data-theme=light] .app-shell .glass{background:#ffffffb8;border-color:#0f172a14}.app-shell .muted{color:var(--text-3)}.app-shell .btn{justify-content:center;align-items:center;gap:var(--s-2);border-radius:var(--r-pill);cursor:pointer;min-height:44px;transition:transform var(--t-fast), box-shadow var(--t-fast), background var(--t-fast);border:1px solid #0000;padding:10px 18px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.app-shell .btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.app-shell .btn-primary{background:linear-gradient(135deg, var(--brand-1), var(--brand-2));color:var(--text-on-accent);box-shadow:0 8px 24px -8px #667eeaa6}.app-shell .btn-primary:hover{transform:translateY(-1px);box-shadow:0 12px 32px -8px #667eeacc}.app-shell .btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.app-shell .btn-ghost{color:var(--text-1);background:#ffffff0f;border-color:#ffffff1a}.app-shell .btn-ghost:hover{background:#ffffff1f}.app-shell .btn-danger{color:#fda4af;background:#f43f5e1f;border-color:#f43f5e59}.app-shell .btn-danger:hover{background:#f43f5e38}.app-shell .btn-sm{min-height:36px;padding:6px 14px;font-size:.85rem}.app-shell .btn-google{color:#1f1f1f;background:#fff;border-color:#3c404340}.app-shell .btn-google:hover{background:#f6f8fa;transform:translateY(-1px);box-shadow:0 8px 22px -10px #00000073}.app-shell .btn-google:disabled{opacity:.55;cursor:not-allowed;transform:none}.app-shell .btn-google i.fa-brands{color:#4285f4}.app-shell .btn-danger-ghost{color:#fda4af;background:0 0;border-color:#f43f5e59}.app-shell .btn-danger-ghost:hover{background:#f43f5e1a}.app-shell .link-google-cta{align-items:center;gap:var(--s-3);padding:var(--s-3);margin-bottom:var(--s-3);border-radius:var(--r-3);background:#ffffff0a;border:1px solid #ffffff1a;display:flex}.app-shell .link-google-cta .link-google-text{flex:1;min-width:0}.app-shell .link-google-cta h3{margin:0 0 4px;font-size:1rem}.app-shell .link-google-cta p{margin:0;font-size:.85rem}.app-shell .link-google-linked{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);margin-bottom:var(--s-3);color:var(--text-2);font-size:.9rem;display:flex}.app-shell .link-google-linked i.fa-brands{color:#4285f4}.app-shell .link-btn{color:var(--brand-1,var(--primary));cursor:pointer;font:inherit;text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.app-shell .link-btn:hover{color:var(--brand-2,var(--primary-light))}[data-theme=light] .app-shell .link-btn{color:var(--primary-dark,#3a0ca3)}[data-theme=light] .app-shell .link-btn:hover{color:var(--primary,#4361ee)}.app-shell .mirror-shell{max-width:880px;padding:var(--s-4) var(--s-3);gap:var(--s-3);flex-direction:column;margin:0 auto;display:flex}.app-shell .mirror-head{text-align:center}.app-shell .mirror-eyebrow{color:var(--brand-1);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:.5rem;font-size:.85rem;display:inline-flex}.app-shell .mirror-h1{margin:.4rem 0 .3rem;font-size:1.7rem}.app-shell .mirror-sub{color:var(--text-2);margin:0}.app-shell .mirror-pickers{padding:var(--s-3);gap:var(--s-3);flex-direction:column;display:flex}.app-shell .mirror-section-title{margin:0 0 var(--s-2) 0;color:var(--text-2);font-size:.95rem}.app-shell .mirror-chips{gap:var(--s-2);flex-wrap:wrap;display:flex}.app-shell .mirror-chip{color:var(--text-1);border-radius:var(--r-pill);cursor:pointer;transition:var(--t-fast);background:#ffffff0d;border:1px solid #ffffff1a;padding:8px 14px;font-size:.9rem}.app-shell .mirror-chip:hover{background:#ffffff1a}.app-shell .mirror-chip.is-active{background:linear-gradient(135deg, var(--brand-1), var(--brand-2));color:var(--text-on-accent);border-color:#0000}.app-shell .mirror-custom{flex-direction:column;gap:6px;display:flex}.app-shell .mirror-custom-row{gap:var(--s-2);display:flex}.app-shell .mirror-custom-row input{border-radius:var(--r-2);min-width:0;color:var(--text-1);font:inherit;background:#ffffff0d;border:1px solid #ffffff1a;flex:1;padding:10px 14px}.app-shell .mirror-custom-row input:focus{border-color:var(--brand-2);outline:none;box-shadow:0 0 0 3px #667eea40}.app-shell .mirror-stage{padding:var(--s-3);gap:var(--s-3);flex-direction:column;display:flex}.app-shell .mirror-target-text{text-align:center;font-size:1.25rem;line-height:1.5;font-family:var(--font-display);margin:0;font-weight:600}.app-shell .mirror-target-text .mw{transition:background var(--t-fast);border-radius:4px;padding:0 2px}.app-shell .mirror-target-text .mw.s-good{color:#7ed7c1;background:#7ed7c138}.app-shell .mirror-target-text .mw.s-mid{color:#ffc857;background:#ffc85738}.app-shell .mirror-target-text .mw.s-bad{color:#fda4af;background:#f43f5e38}.app-shell .mirror-row{flex-direction:column;gap:8px;display:flex}.app-shell .mirror-row-meta{justify-content:space-between;align-items:center;gap:var(--s-2);display:flex}.app-shell .mirror-row-label{color:var(--text-2);text-transform:uppercase;letter-spacing:.06em;font-size:.85rem;font-weight:600}.app-shell .mirror-wave{border-radius:var(--r-2);background:#0000002e;width:100%;height:80px;display:block}.app-shell .mirror-row-user .btn.is-recording{color:#fda4af;background:#f43f5e2e;border-color:#f43f5e66;animation:1.4s ease-in-out infinite mirrorPulse}@keyframes mirrorPulse{0%,to{box-shadow:0 0 #f43f5e80}50%{box-shadow:0 0 0 10px #f43f5e00}}.app-shell .mirror-result{gap:var(--s-3);padding-top:var(--s-3);border-top:1px solid #ffffff14;grid-template-columns:minmax(140px,200px) 1fr;align-items:start;display:grid}.app-shell .mirror-score{padding:var(--s-3);border-radius:var(--r-3);background:#ffffff0a;flex-direction:column;justify-content:center;align-items:center;display:flex}.app-shell .mirror-score-num{font-size:3rem;font-weight:800;line-height:1;font-family:var(--font-display)}.app-shell .mirror-score-num small{opacity:.7;margin-left:2px;font-size:1.1rem}.app-shell .mirror-score-label{color:var(--text-2);text-align:center;margin-top:6px;font-size:.85rem}.app-shell .mirror-score[data-tone=good] .mirror-score-num{color:#7ed7c1}.app-shell .mirror-score[data-tone=mid] .mirror-score-num{color:#ffc857}.app-shell .mirror-score[data-tone=bad] .mirror-score-num{color:#fda4af}.app-shell .mirror-feedback{gap:var(--s-2);flex-direction:column;display:flex}.app-shell .mirror-heard{margin:0;font-size:.95rem}.app-shell .mirror-heard em{color:var(--text-2);font-style:normal}.app-shell .mirror-words{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.app-shell .mirror-words .mw{border-radius:var(--r-pill);align-items:center;gap:6px;padding:5px 10px;font-size:.85rem;display:inline-flex}.app-shell .mirror-words .mw.s-good{color:#7ed7c1;background:#7ed7c12e}.app-shell .mirror-words .mw.s-mid{color:#ffc857;background:#ffc8572e}.app-shell .mirror-words .mw.s-bad{color:#fda4af;background:#f43f5e2e}.app-shell .mirror-words .mw-score{opacity:.7;font-variant-numeric:tabular-nums}.app-shell .mirror-words .mw-suggestion{margin-left:4px}.app-shell .mirror-actions{grid-column:1/-1;justify-content:center;display:flex}@media (max-width:640px){.app-shell .mirror-result{grid-template-columns:1fr}}.app-shell .loader-orb{background:radial-gradient(circle, var(--brand-1), var(--brand-2) 60%, transparent 80%);width:96px;height:96px;box-shadow:var(--neural-glow);border-radius:50%;margin:80px auto 24px;animation:2.4s ease-in-out infinite orbBreath}.app-shell .loader-text{text-align:center;color:var(--text-2)}@keyframes orbBreath{0%,to{opacity:.85;transform:scale(.92)}50%{opacity:1;transform:scale(1.05)}}.app-shell .signin-card{max-width:460px;padding:var(--s-8);text-align:center;margin:80px auto}.app-shell .signin-card h1{font-family:var(--font-display);margin:0 0 var(--s-3);font-size:1.75rem}.app-shell .signin-card p{color:var(--text-3);margin:0 0 var(--s-6)}#toast-root{top:calc(56px + var(--s-3));z-index:var(--z-toast,2000);pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;inset-inline-end:24px}body:has(.api-down-banner:not([hidden])) #toast-root{top:calc(56px + 56px + var(--s-3))}.toast{pointer-events:auto;color:#f8fafc;opacity:0;min-width:240px;transition:transform .25s var(--ease), opacity .2s;background:#141831f2;border:1px solid #ffffff14;border-radius:12px;align-items:center;gap:10px;padding:12px 16px;display:flex;transform:translate(120%);box-shadow:0 16px 48px #0006}.toast-in{opacity:1;transform:translate(0)}.toast-out{opacity:0}.toast-error i{color:#fda4af}.toast-success i{color:#4ade80}.toast-info i{color:var(--secondary)}.api-down-banner{margin:0 0 var(--s-3);border-radius:var(--r-2);color:#fef2f2;background:linear-gradient(135deg,#f43f5e2e,#f59e0b2e);border:1px solid #f43f5e73;align-items:center;gap:12px;padding:12px 18px;font-size:.9375rem;animation:.32s cubic-bezier(.22,1,.36,1) bannerSlideIn;display:flex;box-shadow:0 8px 32px #f43f5e2e}.api-down-banner[hidden]{display:none}.api-down-icon{color:#fda4af;background:#f43f5e40;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.api-down-text{flex:1;min-width:0;line-height:1.4}.api-down-retry{appearance:none;color:var(--text-on-accent);font:inherit;cursor:pointer;background:#ffffff14;border:1px solid #ffffff40;border-radius:999px;flex-shrink:0;padding:6px 14px;font-weight:600;transition:background .18s,border-color .18s,transform .18s}.api-down-retry:hover:not(:disabled){background:#ffffff29;border-color:#fff6}.api-down-retry:focus-visible{outline:none;box-shadow:0 0 0 3px #ffffff73}.api-down-retry:disabled{opacity:.6;cursor:wait}:root[data-theme=light] .api-down-banner{color:#7f1d1d;background:linear-gradient(135deg,#f43f5e1a,#f59e0b1a)}:root[data-theme=light] .api-down-icon{color:#b91c1c;background:#f43f5e26}:root[data-theme=light] .api-down-retry{color:#7f1d1d;background:#fff9;border-color:#7f1d1d4d}:root[data-theme=light] .api-down-retry:hover:not(:disabled){background:#fff;border-color:#7f1d1d80}@keyframes bannerSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.api-down-banner{flex-wrap:wrap;padding:10px 14px;font-size:.875rem}.api-down-text{flex-basis:calc(100% - 40px)}.api-down-retry{margin-left:40px}}@media (prefers-reduced-motion:reduce){.api-down-banner{animation:none}}.app-shell .error-state{align-items:center;gap:var(--s-3);padding:var(--s-4);border-radius:var(--r-3);color:var(--text-2);margin:var(--s-4) 0;background:#f43f5e14;border:1px solid #f43f5e40;display:flex}.app-shell .error-state-icon{color:#fca5a5;background:#f43f5e2e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.95rem;display:inline-flex}.app-shell .error-state-body{flex:1;min-width:0}.app-shell .error-state-title{color:var(--text-1);font-size:.95rem;display:block}.app-shell .error-state-msg{color:var(--text-3);margin:4px 0 0;font-size:.875rem}.app-shell .error-state-retry{flex-shrink:0}.app-shell .error-state-centered{text-align:center;padding:var(--s-8);gap:var(--s-3);flex-direction:column}.app-shell .error-state-centered .error-state-body{text-align:center}:root[data-theme=light] .app-shell .error-state{color:var(--text);background:#f43f5e0f}:root[data-theme=light] .app-shell .error-state-icon{color:#be123c}.app-shell .empty-state{align-items:center;gap:var(--s-3);padding:var(--s-4);border-radius:var(--r-3);color:var(--text-2);margin:var(--s-4) 0;background:#4ade8014;border:1px dashed #4ade804d;display:flex}.app-shell .empty-state-icon{color:#86efac;background:#4ade802e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.95rem;display:inline-flex}.app-shell .empty-state-body{flex:1;min-width:0}.app-shell .empty-state-title{color:var(--text-1);font-size:.95rem;display:block}.app-shell .empty-state-msg{color:var(--text-3);margin:4px 0 0;font-size:.875rem}.app-shell .empty-state-cta{flex-shrink:0}.app-shell .empty-state-centered{text-align:center;padding:var(--s-8);gap:var(--s-3);flex-direction:column}.app-shell .empty-state-centered .empty-state-body{text-align:center}:root[data-theme=light] .app-shell .empty-state{color:var(--text);background:#4ade800f}:root[data-theme=light] .app-shell .empty-state-icon{color:#15803d}.app-shell .router-error{max-width:480px;margin:var(--s-12) auto;padding:var(--s-8);border-radius:var(--r-3);text-align:center;background:#f43f5e14;border:1px solid #f43f5e40}.app-shell .router-error-icon{width:56px;height:56px;margin:0 auto var(--s-3);color:#fca5a5;background:#f43f5e2e;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;display:inline-flex}.app-shell .router-error-title{margin:0 0 var(--s-2);font-size:1.15rem}.app-shell .router-error-msg{margin:0 0 var(--s-2);color:var(--text-3)}.app-shell .router-error-code{margin:0 0 var(--s-4)}.app-shell .router-error-actions{gap:var(--s-3);flex-wrap:wrap;justify-content:center;display:flex}.modal{background:0 0;border:0;max-width:92vw;padding:0}dialog.modal{width:fit-content;max-width:min(92vw,520px);height:fit-content;max-height:min(92dvh,760px);color:var(--text-1,var(--text));-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;margin:auto;animation:none;display:none;position:fixed;inset:0;overflow:visible}dialog.modal[open]{display:block}dialog.modal.modal-placement{max-width:min(96vw,680px)}.modal::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0e27a6}[data-theme=light] .modal::backdrop{background:#0f172a73}dialog.modal .modal-form{box-sizing:border-box;overscroll-behavior:contain;width:min(100%,480px);min-width:min(320px,100vw - 32px);max-width:min(480px,100vw - 32px);max-height:calc(92dvh - 24px);padding:var(--s-6);position:relative;overflow-y:auto}dialog.modal.modal-placement .modal-form{width:min(640px,100vw - 24px);max-width:min(640px,100vw - 24px)}dialog.modal .modal-body p,dialog.modal .modal-body h3{text-align:inherit;color:inherit}dialog.modal .modal-body p{margin-bottom:0}.modal .modal-title{margin:0 0 var(--s-3);font-family:var(--font-display);padding-inline-end:44px;font-size:1.25rem}.modal .modal-body{color:var(--text-2);margin-bottom:var(--s-6)}.modal .modal-actions{gap:var(--s-3);justify-content:end;display:flex}.modal .modal-close{top:8px;min-width:44px;min-height:44px;color:var(--text-2,#cbd5e1);cursor:pointer;background:#ffffff0f;border:0;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;line-height:1;transition:background .15s,color .15s,transform .15s;display:inline-flex;position:absolute;inset-inline-end:8px}.modal .modal-close:hover,.modal .modal-close:focus-visible{color:var(--text-1,#f8fafc);background:#ffffff24;outline:none;transform:scale(1.06)}.modal .modal-close:focus-visible{box-shadow:0 0 0 2px var(--brand-1,#4361ee)}[data-theme=light] .modal .modal-close{color:#0f172ab3;background:#0f172a0f}[data-theme=light] .modal .modal-close:hover,[data-theme=light] .modal .modal-close:focus-visible{color:#0f172aeb;background:#0f172a1f}[data-act].is-busy,[data-act][aria-busy=true]{opacity:.55;pointer-events:none;transition:opacity .15s}.app-shell .kara-back,.app-shell .mirror-back,.app-shell .cafe-picker-back,.app-shell .story-picker-back{z-index:1;position:absolute;top:12px;left:12px}.app-shell .kara-shell .kara-head,.app-shell .mirror-shell .mirror-head,.app-shell .cafe-picker .cafe-head,.app-shell .story-picker .story-picker-head{position:relative}.app-shell .onboarding-shell{max-width:720px;padding:var(--s-4);gap:var(--s-6);grid-template-rows:auto 1fr auto;min-height:calc(100dvh - 80px);margin:0 auto;display:grid}.app-shell .onboarding-progress{padding:var(--s-3) 0;justify-content:center;gap:8px;display:flex}.app-shell .progress-dot{border-radius:var(--r-pill);width:28px;height:6px;transition:background var(--t-med), transform var(--t-med);background:#ffffff1a}.app-shell .progress-dot.active{background:linear-gradient(135deg, var(--brand-1), var(--brand-2));box-shadow:var(--neural-glow)}.app-shell .onboarding-card{padding:var(--s-8);min-height:380px}.app-shell .onboarding-card h2{font-family:var(--font-display);margin:0 0 var(--s-3);font-size:1.65rem;font-weight:800}.app-shell .onboarding-nav{justify-content:space-between;gap:var(--s-3);display:flex}.app-shell .onboarding-nav .btn-primary{min-width:140px;margin-left:auto}.app-shell .lang-picker{gap:var(--s-3);margin-top:var(--s-4);flex-direction:column;display:flex}.app-shell .lang-picker-grid{gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.app-shell .lang-picker-filter{display:flex}.app-shell .lang-picker-search{border-radius:var(--r-pill);width:100%;color:var(--text-1);transition:border-color var(--t-fast), background var(--t-fast);background:#ffffff0a;border:1px solid #ffffff1f;padding:10px 14px;font-size:.95rem}.app-shell .lang-picker-search:focus-visible{background:#ffffff12;border-color:#667eea99}.app-shell .lang-picker-empty{text-align:center;padding:var(--s-3)}.app-shell .lang-tile{padding:var(--s-4);border-radius:var(--r-2);color:var(--text-1);cursor:pointer;transition:transform var(--t-fast), background var(--t-fast), border-color var(--t-fast);background:#ffffff0a;border:1px solid #ffffff14;flex-direction:column;align-items:center;gap:6px;display:flex;position:relative}.app-shell .lang-tile:hover:not([disabled]){background:#ffffff1a;transform:translateY(-2px)}.app-shell .lang-tile.active{box-shadow:var(--neural-glow);background:linear-gradient(135deg,#667eea2e,#764ba22e);border-color:#667eea8c}.app-shell .lang-tile[disabled]{opacity:.35;cursor:not-allowed}.app-shell .lang-flag{font-size:1.75rem}.app-shell .lang-name{font-size:.9rem;font-weight:600}.app-shell .lang-tonal-badge{letter-spacing:.04em;text-transform:uppercase;color:#fbbf24;background:#f59e0b2e;border:1px solid #f59e0b59;border-radius:999px;padding:2px 6px;font-size:.62rem;font-weight:700}.app-shell .seg-control{border-radius:var(--r-pill);border:var(--glass-stroke);margin-top:var(--s-4);-webkit-overflow-scrolling:touch;scrollbar-width:thin;background:#ffffff0f;gap:2px;max-width:100%;padding:4px;display:inline-flex;overflow-x:auto}.app-shell .seg-control button{min-width:56px;min-height:40px;color:var(--text-2);border-radius:var(--r-pill);cursor:pointer;background:0 0;border:0;flex-shrink:0;padding:6px 14px;font-weight:700}@media (max-width:359px){.app-shell .seg-control button{min-width:44px;padding:6px 8px;font-size:.85rem}}.app-shell .seg-control button.active{background:linear-gradient(135deg, var(--brand-1), var(--brand-2));color:var(--text-on-accent)}.app-shell .chip-group{gap:var(--s-2);margin-top:var(--s-4);flex-wrap:wrap;display:flex}.app-shell .chip{border-radius:var(--r-pill);color:var(--text-1);cursor:pointer;transition:background var(--t-fast), transform var(--t-fast);background:#ffffff0d;border:1px solid #ffffff1a;align-items:center;gap:8px;padding:10px 16px;display:inline-flex}.app-shell .chip.active{background:linear-gradient(135deg,#667eea4d,#764ba24d);border-color:#667eea99}.app-shell .hours-slider{align-items:center;gap:var(--s-4);margin-top:var(--s-4);display:flex}.app-shell .hours-slider input{accent-color:var(--brand-1);flex:1}.app-shell .hours-slider output{font-variant-numeric:tabular-nums;min-width:40px;font-weight:700}.app-shell .generating-orb{width:220px;height:220px;margin:var(--s-6) auto;background:radial-gradient(circle, var(--brand-1), var(--brand-2) 60%, transparent 80%);box-shadow:var(--neural-glow);border-radius:50%;animation:1.8s ease-in-out infinite orbBreath}.app-shell .generating-log{border-radius:var(--r-2);padding:var(--s-3);white-space:pre-wrap;max-height:180px;color:var(--text-2);background:#00000040;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;overflow:auto}.app-shell .chat-shell{gap:var(--s-3);max-width:900px;height:calc(100dvh - 56px - var(--s-12));grid-template-rows:auto 1fr auto;margin:0 auto;display:grid}.app-shell .chat-topbar{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);flex-wrap:wrap;display:flex}.app-shell .chat-title h1{font-family:var(--font-display);margin:0;font-size:1.15rem}.app-shell .chat-controls{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.app-shell .mode-tabs{border-radius:var(--r-pill);background:#ffffff0d;gap:2px;padding:3px;display:inline-flex}.app-shell .mode-tab{color:var(--text-3);border-radius:var(--r-pill);cursor:pointer;background:0 0;border:0;padding:6px 14px;font-size:.85rem;font-weight:600}.app-shell .mode-tab.active{background:linear-gradient(135deg, var(--brand-1), var(--brand-2));color:var(--text-on-accent)}.app-shell .chat-lang-picker{flex-wrap:nowrap;gap:4px;max-width:320px;display:flex;overflow-x:auto}.app-shell .chat-lang-picker .lang-tile{flex-direction:row;gap:4px;min-width:auto;padding:4px 10px}.app-shell .chat-lang-picker .lang-flag{font-size:1rem}.app-shell .chat-lang-picker .lang-name{font-size:.78rem}.app-shell .chat-lang-picker{scrollbar-width:none;flex-flow:row;align-items:center;max-width:280px;margin-top:0}.app-shell .chat-lang-picker::-webkit-scrollbar{display:none}.app-shell .chat-lang-picker .lang-picker-filter{display:none}.app-shell .chat-lang-picker .lang-picker-grid{flex-wrap:nowrap;grid-template-columns:none;gap:4px;display:flex}.app-shell .chat-lang-picker .lang-tile{flex:none}.app-shell .chip-btn{border-radius:var(--r-pill);border:var(--glass-stroke);color:var(--text-1);cursor:pointer;background:#ffffff0f;align-items:center;gap:6px;padding:6px 12px;font-size:.85rem;display:inline-flex}.app-shell .message-stream{gap:var(--s-3);scrollbar-width:thin;overscroll-behavior:contain;flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.app-shell .message-stream::-webkit-scrollbar{width:6px}.app-shell .message-stream::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}.app-shell .bubble{gap:var(--s-3);max-width:85%;animation:bubbleIn2026 var(--t-med);align-items:flex-start;display:flex}@media (max-width:480px){.app-shell .bubble{gap:var(--s-2);max-width:92%}}.app-shell .bubble-user{align-self:flex-end}.app-shell .bubble-assistant{align-self:flex-start}.app-shell .avatar-tutor{background:linear-gradient(135deg, var(--brand-1), var(--brand-2));width:36px;height:36px;color:var(--text-on-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.app-shell .bubble-body{border-radius:18px;padding:12px 16px;font-size:.95rem;line-height:1.55}.app-shell .bubble-body.glass{border-top-left-radius:6px}.app-shell .bubble-user .bubble-body{background:var(--user-bubble);color:var(--text-on-accent);border-bottom-right-radius:6px}.app-shell .bubble-content :is(p,blockquote,ul){margin:0 0 8px}.app-shell .bubble-content :is(p,blockquote,ul):last-child{margin-bottom:0}.app-shell .bubble-content code{background:#00000040;border-radius:4px;padding:1px 5px;font-size:.85em}.app-shell .bubble-content blockquote{border-inline-start:2px solid var(--brand-1);color:var(--text-2);padding-inline-start:10px}.app-shell .bubble-streaming .bubble-content:after{content:"▍";color:var(--brand-3);margin-inline-start:2px;animation:.9s step-end infinite caret}@keyframes caret{50%{opacity:0}}.app-shell .bubble-footer{justify-content:space-between;gap:var(--s-3);align-items:center;margin-top:8px;display:flex}.app-shell .bubble-meta{color:var(--text-3);font-size:.72rem}.app-shell .bubble-actions button{color:var(--text-3);cursor:pointer;background:0 0;border:0;border-radius:50%;width:30px;height:30px;padding:0}.app-shell .bubble-actions button:hover{color:var(--text-1);background:#ffffff14}.app-shell .composer{padding:var(--s-3);border-radius:var(--r-3);gap:var(--s-2);padding-bottom:calc(var(--s-3) + env(safe-area-inset-bottom));flex-direction:column;display:flex;position:sticky;bottom:0}.app-shell .quick-actions{gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.app-shell .qa-chip{white-space:nowrap;border-radius:var(--r-pill);border:var(--glass-stroke);color:var(--text-1);cursor:pointer;background:#ffffff0d;padding:6px 12px;font-size:.78rem}.app-shell .composer-charcount{text-align:end;font-size:var(--fs-tiny,.75rem);font-variant-numeric:tabular-nums;color:var(--text-3,var(--text-secondary));padding:0 4px;line-height:1;display:block}.app-shell .composer-charcount.charcount-warn{color:var(--warning,#f59e0b)}.app-shell .composer-charcount.charcount-error{color:var(--error,#f43f5e);font-weight:600}.app-shell .composer-row{align-items:end;gap:var(--s-2);grid-template-columns:auto 1fr auto;display:grid}.app-shell .composer-input{border:var(--glass-stroke);border-radius:var(--r-3);color:var(--text-1);font:inherit;resize:none;background:#00000040;min-height:44px;padding:12px 14px;line-height:1.4}.app-shell .composer-input:focus{box-shadow:var(--focus-ring);border-color:#667eea99;outline:none}.app-shell .send-btn,.app-shell .mic-btn{cursor:pointer;width:44px;height:44px;color:var(--text-on-accent);transition:transform var(--t-fast);border:0;border-radius:50%;justify-content:center;align-items:center;display:flex}.app-shell .send-btn{background:linear-gradient(135deg, var(--brand-1), var(--brand-2))}.app-shell .mic-btn{background:#ffffff14}.app-shell .mic-btn.mic-active{background:linear-gradient(135deg, var(--good), #16a34a);animation:1.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{box-shadow:0 0 #22c55e80}50%{box-shadow:0 0 0 14px #22c55e00}}.app-shell .orb{aspect-ratio:1;width:min(60vw,320px);margin-bottom:var(--s-6);filter:drop-shadow(0 0 60px #667eea80);position:relative}.app-shell .orb-svg{width:100%;height:100%}.app-shell .orb[data-state=idle] .orb-core{animation:4s ease-in-out infinite orbBreath}.app-shell .orb[data-state=thinking] .orb-core{animation:.8s ease-in-out infinite orbBreath}.app-shell .orb-status{text-align:center;color:var(--text-2);min-height:24px;display:block}.app-shell .tr-line{border-radius:var(--r-2);padding:6px 12px;font-size:.9rem}.app-shell .tr-user{color:var(--text-2);background:#667eea1f}.app-shell .tr-assistant{color:var(--text-1);background:#f59e0b1a}.app-shell .dock-btn{cursor:pointer;width:56px;height:56px;color:var(--text-1);background:#ffffff0f;border:0;border-radius:50%;justify-content:center;align-items:center;display:flex}.app-shell .dock-end{color:#fda4af;background:#f43f5e2e}.app-shell .dock-end:hover{background:#f43f5e47}.app-shell .dock-handsfree.active{background:linear-gradient(135deg, var(--good), #16a34a);color:var(--text-on-accent)}.app-shell .ptt-btn{justify-content:center;align-items:center;gap:var(--s-3);border-radius:var(--r-pill);background:linear-gradient(135deg, var(--brand-1), var(--brand-2));width:100%;height:64px;color:var(--text-on-accent);cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:var(--neural-glow);transition:transform var(--t-fast);border:0;font-weight:700;display:flex}.app-shell .ptt-btn:active{transform:scale(.98)}.app-shell .ptt-btn i{font-size:1.25rem}.app-shell .plan-shell{gap:var(--s-4);flex-direction:column;max-width:1040px;margin:0 auto;display:flex}.app-shell .plan-header{align-items:center;gap:var(--s-4);padding:var(--s-6);display:flex}.app-shell .plan-flag{font-size:2.5rem}.app-shell .plan-meta{flex:1}.app-shell .plan-meta h1{font-family:var(--font-display);margin:0;font-size:1.5rem}.app-shell .plan-completion{text-align:center}.app-shell .plan-completion strong{color:var(--brand-3);font-size:1.5rem;display:block}.app-shell .plan-empty{text-align:center;padding:var(--s-12);color:var(--text-2)}.app-shell .plan-units{gap:var(--s-3);flex-direction:column;display:flex}.app-shell .plan-unit{background:var(--glass-bg);border:var(--glass-stroke);border-radius:var(--r-3);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);padding:var(--s-3) var(--s-4)}.app-shell .plan-unit>summary{cursor:pointer;align-items:center;gap:var(--s-3);padding:var(--s-3) 0;list-style:none;display:flex}.app-shell .plan-unit>summary::-webkit-details-marker{display:none}.app-shell .unit-num{background:linear-gradient(135deg, var(--brand-1), var(--brand-2));width:36px;height:36px;color:var(--text-on-accent);border-radius:12px;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.app-shell .unit-title{flex:1;font-weight:700}.app-shell .unit-time{color:var(--text-3);font-size:.85rem}.app-shell .unit-desc{padding-left:48px}.app-shell .lesson-grid{padding:0 0 var(--s-3) 0;gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin:0;list-style:none;display:grid}.app-shell .lesson-card{padding:var(--s-4);transition:transform var(--t-fast), box-shadow var(--t-fast);border-radius:var(--r-2);flex-direction:column;gap:8px;display:flex}.app-shell .lesson-card:hover{box-shadow:var(--neural-glow);transform:translateY(-3px)}.app-shell .lesson-card h3{margin:0;font-size:1rem}.app-shell .lesson-meta{color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;font-size:.72rem;display:flex}.app-shell .progress-shell{gap:var(--s-4);flex-direction:column;max-width:1100px;margin:0 auto;display:flex}.app-shell .progress-header{justify-content:space-between;align-items:center;gap:var(--s-4);padding:var(--s-6);flex-wrap:wrap;display:flex}.app-shell .progress-id{align-items:center;gap:var(--s-4);display:flex}.app-shell .progress-id h1{font-family:var(--font-display);margin:0;font-size:1.5rem}.app-shell .progress-pillrow{gap:var(--s-3);flex-wrap:wrap;align-items:center;display:flex}.app-shell .streak-chip{border-radius:var(--r-pill);background:linear-gradient(135deg,#f59e0b2e,#f43f5e2e);border:1px solid #f59e0b66;align-items:center;gap:6px;padding:8px 14px;font-weight:700;display:inline-flex}.app-shell .streak-flame{font-size:1.1rem}.app-shell .level-badge{align-items:center;gap:8px;display:inline-flex}.app-shell .level-pill{border-radius:var(--r-pill);background:linear-gradient(135deg, var(--brand-1), var(--brand-2));color:var(--text-on-accent);padding:4px 12px;font-size:.85rem;font-weight:800}.app-shell .level-track{background:#ffffff14;border-radius:4px;width:120px;height:6px;overflow:hidden}.app-shell .level-fill{background:linear-gradient(90deg, var(--brand-1), var(--brand-3));transform-origin:0;width:100%;height:100%;transform:scaleX(var(--xp-progress,0));transition:transform var(--t-slow);will-change:transform}.app-shell .level-xp{color:var(--text-3);font-size:.75rem}.app-shell .progress-grid{gap:var(--s-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.app-shell .card{padding:var(--s-4);gap:var(--s-3);flex-direction:column;display:flex}.app-shell .card header h2{font-family:var(--font-display);margin:0;font-size:1rem}.app-shell .card-radar,.app-shell .card-heat{grid-column:span 1}.app-shell .numbers{gap:var(--s-3);grid-template-columns:repeat(3,1fr);display:grid}.app-shell .big-num{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.app-shell .big-num strong{font-family:var(--font-display);background:linear-gradient(135deg, var(--brand-1), var(--brand-2));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:800;line-height:1}.app-shell .big-num span{color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.app-shell .sparkline{color:var(--brand-3);margin-top:4px;display:block}.app-shell .radar-chart-wrap{justify-content:center;display:flex}.app-shell .radar-chart{width:100%;max-width:240px;height:auto;color:var(--text-2)}.app-shell .radar-data{fill:#667eea4d;stroke:var(--brand-1);stroke-width:2px}.app-shell .recent-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.app-shell .recent-list li{border-bottom:1px dashed #ffffff0f;justify-content:space-between;padding:8px 0;display:flex}.app-shell .heatmap{color:var(--brand-1)}.app-shell .heat-cell{fill:#ffffff0f}.app-shell .heat-1{fill:#667eea4d}.app-shell .heat-2{fill:#667eea8c}.app-shell .heat-3{fill:#667eeacc}.app-shell .heat-4{fill:var(--brand-1)}.app-shell .settings-shell{gap:var(--s-4);flex-direction:column;max-width:720px;margin:0 auto;display:flex}.app-shell .settings-shell h1{font-family:var(--font-display);margin:0 var(--s-2);font-size:1.5rem}.app-shell .settings-shell .card h2{margin:0 0 var(--s-3);font-size:1rem;font-family:var(--font-display)}.app-shell .lang-row{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;display:grid}.app-shell .theme-row{gap:var(--s-2);display:flex}.app-shell .row{justify-content:space-between;gap:var(--s-3);flex-wrap:wrap;display:flex}.app-shell .toggle-row{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-2) 0;cursor:pointer;display:flex}.app-shell .toggle-row .toggle-text{flex-direction:column;gap:4px;display:flex}.app-shell .toggle-row .toggle-text strong{font-size:.95rem}.app-shell .toggle-row .toggle-text small{font-size:.8rem;line-height:1.4}.app-shell .toggle-row input[type=checkbox]{appearance:none;cursor:pointer;background:#ffffff1f;border-radius:13px;flex-shrink:0;width:44px;height:26px;transition:background .2s;position:relative}.app-shell .toggle-row input[type=checkbox]:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:3px;left:3px}.app-shell .toggle-row input[type=checkbox]:checked{background:linear-gradient(135deg, var(--brand-1,#4361ee), var(--brand-2,#4cc9f0))}.app-shell .toggle-row input[type=checkbox]:checked:after{transform:translate(18px)}.app-shell .toggle-row input[type=checkbox]:focus-visible{outline:2px solid var(--accent,#f72585);outline-offset:2px}.app-shell .settings-form{gap:var(--s-3);flex-direction:column;display:flex}.app-shell .settings-field{flex-direction:column;gap:4px;font-size:.9rem;display:flex}.app-shell .settings-field>span{color:var(--muted,#ffffffb3);font-size:.8rem}.app-shell .settings-field input,.app-shell .settings-field select{color:inherit;font:inherit;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:8px;padding:8px 10px}.app-shell .settings-field input:focus-visible,.app-shell .settings-field select:focus-visible{outline:2px solid var(--accent,#f72585);outline-offset:2px;border-color:#0000}.app-shell .settings-actions{justify-content:flex-end;display:flex}.app-shell .persona-row{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;display:grid}@media (max-width:380px){.app-shell .persona-row{grid-template-columns:repeat(auto-fill,minmax(88px,1fr))}.app-shell .persona-tile .persona-name{font-size:.78rem}}.app-shell .persona-tile{color:inherit;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;transition:background .15s,border-color .15s;display:flex}.app-shell .persona-tile:hover{background:#ffffff14}.app-shell .persona-tile.is-active{border-color:var(--accent,#f72585);background:linear-gradient(135deg,#f725852e,#4cc9f01f)}.app-shell .persona-tile .persona-flag{font-size:1.4rem}.app-shell .persona-tile .persona-name{font-size:.85rem;font-weight:600}@media (max-width:1024px){.app-shell{grid-template-columns:200px 1fr}}@media (min-width:1024px) and (max-width:1280px){.app-shell{grid-template-columns:220px 1fr}.app-shell .app-main{padding-left:max(var(--s-6), calc((100% - 880px) / 2));padding-right:max(var(--s-6), calc((100% - 880px) / 2))}.app-shell .chat-controls{gap:var(--s-3)}}.app-shell.has-collapsed-sidenav,body.has-collapsed-sidenav .app-shell{grid-template-columns:64px 1fr}.app-shell .app-sidenav.collapsed{width:64px}.app-shell .app-sidenav.collapsed a span,.app-shell .app-sidenav.collapsed .nav-pill{display:none}.app-shell .app-sidenav.collapsed a{justify-content:center;padding-left:0;padding-right:0}@media (max-width:768px){.app-shell{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px));grid-template:"topbar"56px"main"1fr/1fr}.app-shell .app-sidenav{display:none}.app-shell .app-bottombar{display:grid}.app-shell .app-main{padding:var(--s-3)}.app-shell .signin-card{overflow-wrap:anywhere;width:min(100%,100vw - 24px);max-width:340px}.app-shell .signin-card h1{letter-spacing:0;max-width:16ch;margin-inline:auto;line-height:1.1}.app-shell .signin-card p{max-width:34ch;margin-inline:auto}.app-shell .signin-card .btn{white-space:normal;width:min(100%,280px);min-width:0;max-width:280px}.app-shell .chat-shell{height:calc(100dvh - 128px)}.app-shell .chat-controls{justify-content:space-between;width:100%}.app-shell .chat-lang-picker{max-width:none}.app-shell .onboarding-card{padding:var(--s-4);min-height:320px}.app-shell .progress-grid{grid-template-columns:1fr}.app-shell .progress-header{flex-direction:column;align-items:flex-start}.app-shell .orb{width:70vw;max-width:280px;margin-bottom:var(--s-4)}.app-shell .bubble{max-width:92%}#toast-root{top:70px;inset-inline:12px}.toast{min-width:0}}@media (max-width:480px){.app-shell .app-topbar{padding-inline-start:max(env(safe-area-inset-left), var(--s-3));padding-inline-end:max(env(safe-area-inset-right), var(--s-3))}.app-shell .brand-text,.app-shell .brand-pill{display:none}.app-shell .signin-card{width:min(100%,100vw - 24px);max-width:340px;padding:var(--s-5);overflow-wrap:anywhere;margin:clamp(48px,12vh,80px) auto}.app-shell .signin-card h1{letter-spacing:0;max-width:13ch;margin-inline:auto;font-size:clamp(1.35rem,7vw,1.65rem);line-height:1.1}.app-shell .signin-card p{max-width:30ch;margin-inline:auto}.app-shell .signin-card .btn{white-space:normal;width:min(100%,280px);min-width:0;max-width:280px}.app-shell .lang-picker-grid{grid-template-columns:repeat(2,1fr)}.app-shell .lesson-grid,.app-shell .numbers{grid-template-columns:1fr}.app-shell .ptt-btn span{display:none}}@media (min-width:1440px){.app-shell .progress-grid,.app-shell .lesson-grid{grid-template-columns:repeat(3,1fr)}}@media (prefers-reduced-motion:reduce){.app-shell *,.app-shell :before,.app-shell :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root{--grad-aurora:linear-gradient(135deg, #6366f1 0%, #8b5cf6 30%, #ec4899 65%, #f59e0b 100%);--grad-cool:linear-gradient(135deg, #4361ee 0%, #4cc9f0 100%);--grad-warm:linear-gradient(135deg, #f72585 0%, #f59e0b 100%);--glass-bg:#ffffffa6;--glass-bg-dark:#0f172a8c;--glass-border:#ffffff59;--glass-border-dark:#ffffff14;--shadow-glow:0 30px 80px -20px #6366f173;--shadow-glow-pink:0 30px 80px -20px #ec489959;--ease-pop:cubic-bezier(.34, 1.56, .64, 1)}[data-theme=dark]{--glass-bg:var(--glass-bg-dark);--glass-border:var(--glass-border-dark)}.logo-pill{letter-spacing:.05em;background:var(--grad-aurora);color:var(--text-on-accent);font-size:.7rem;font-weight:800;font-family:var(--font-mono);border-radius:999px;align-items:center;margin-left:.4rem;padding:2px 8px;display:inline-flex;box-shadow:0 4px 12px #8b5cf64d}.main-nav{-webkit-backdrop-filter:saturate(180%)blur(20px);border-bottom:1px solid #0f172a0d;background-color:#ffffffbf!important}[data-theme=dark] .main-nav{border-bottom:1px solid #ffffff0f;background-color:#0f172ab3!important}.glass{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:saturate(180%)blur(20px);border-radius:24px;box-shadow:0 20px 60px -20px #0f172a40}.hero-2026{isolation:isolate;min-height:clamp(620px,92vh,900px);padding:clamp(3rem,8vh,6rem) 0 clamp(4rem,10vh,7rem);position:relative;overflow:hidden}.hero-2026:before{display:none}.hero-aurora{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.hero-aurora .aurora{filter:blur(90px);opacity:.55;will-change:transform;border-radius:50%;width:60vw;max-width:760px;height:60vw;max-height:760px;animation:18s ease-in-out infinite auroraFloat;position:absolute}.hero-aurora .aurora-1{background:radial-gradient(circle,#6366f1,#0000 70%);top:-10%;left:-10%}.hero-aurora .aurora-2{background:radial-gradient(circle,#ec4899,#0000 70%);animation-duration:22s;animation-delay:-6s;top:20%;right:-15%}.hero-aurora .aurora-3{background:radial-gradient(circle,#4cc9f0,#0000 70%);animation-duration:26s;animation-delay:-12s;bottom:-25%;left:30%}[data-theme=dark] .hero-aurora .aurora{opacity:.4}.hero-grid{background-image:linear-gradient(#6366f112 1px,#0000 1px),linear-gradient(90deg,#6366f112 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 30%,#0000 75%);mask-image:radial-gradient(#000 30%,#0000 75%)}[data-theme=dark] .hero-grid{background-image:linear-gradient(#ffffff0a 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px)}@keyframes auroraFloat{0%,to{transform:translate(0)scale(1)}33%{transform:translate(40px,-30px)scale(1.1)}66%{transform:translate(-30px,40px)scale(.95)}}.hero-2026 .hero-content{max-width:1280px;padding:0 var(--space-md);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,5vw,5rem);margin:0 auto;display:grid;position:relative}.hero-eyebrow{background:var(--card);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:999px;align-items:center;gap:.6rem;margin-bottom:1.5rem;padding:.45rem 1rem;font-size:.85rem;font-weight:600;display:inline-flex;box-shadow:0 4px 16px #0f172a0f}.hero-eyebrow .eyebrow-dot{background:var(--grad-aurora);border-radius:50%;width:8px;height:8px;animation:1.6s infinite pulse-dot}.hero-title{font-family:var(--font-display);letter-spacing:-.025em;color:var(--text);-webkit-text-fill-color:currentColor;background:0 0;-webkit-background-clip:initial;background-clip:initial;margin-bottom:1.25rem;font-size:clamp(2.6rem,5.5vw,4.4rem);font-weight:900;line-height:1.05}.hero-title>span{display:block}.hero-rotator{flex-wrap:wrap;align-items:baseline;gap:.4em;display:flex}.rotator-prefix{color:var(--text-secondary);font-weight:700}.rotator-words{vertical-align:bottom;min-width:6ch;height:1.05em;display:inline-block;position:relative}.rotator-word{white-space:nowrap;background:var(--grad-aurora);-webkit-text-fill-color:transparent;color:#0000;opacity:0;transition:opacity .6s var(--ease-pop), transform .6s var(--ease-pop);background-size:200% 200%;-webkit-background-clip:text;background-clip:text;animation:8s infinite gradientFlow;position:absolute;inset:0;transform:translateY(20%)}.rotator-word.is-active{opacity:1;transform:translateY(0)}.rotator-word.is-leaving{opacity:0;transform:translateY(-25%)}@keyframes gradientFlow{0%,to{background-position:0%}50%{background-position:100%}}.hero-2026 .subtitle{color:var(--text-secondary);max-width:580px;margin-bottom:2rem;font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.65}.hero-2026 .cta-buttons{flex-wrap:wrap;gap:.85rem;margin-bottom:1.75rem;display:flex}.btn.btn-glow{background:var(--grad-aurora);color:var(--text-on-accent);transition:transform .25s var(--ease-pop), box-shadow .25s ease;border:none;border-radius:999px;padding:1rem 1.75rem;font-weight:700;position:relative;box-shadow:0 12px 30px -10px #8b5cf68c}.btn.btn-glow:hover{transform:translateY(-3px)scale(1.02);box-shadow:0 20px 45px -10px #ec489980}.btn.btn-glow:before{content:"";border-radius:inherit;background:var(--grad-aurora);filter:blur(18px);opacity:.5;z-index:-1;position:absolute;inset:-3px}.btn.btn-ghost{background:var(--card);border:1.5px solid var(--border-color);color:var(--text);transition:var(--transition);border-radius:999px;padding:1rem 1.5rem;font-weight:600}.btn.btn-ghost:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-2px)}.hero-trust{flex-wrap:wrap;gap:1.25rem;margin:0;padding:0;list-style:none;display:flex}.hero-trust li{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;display:inline-flex}.hero-trust li i{color:#10b981;font-size:.95rem}.hero-visual{justify-content:center;align-items:center;min-height:480px;display:flex;position:relative}.hero-orb{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.hero-orb .orb-ring{border:1.5px dashed #6366f140;border-radius:50%;animation:26s linear infinite orbSpin;position:absolute}.orb-ring-1{width:360px;height:360px}.orb-ring-2{opacity:.6;width:480px;height:480px;animation-duration:38s;animation-direction:reverse}.orb-ring-3{opacity:.35;width:580px;height:580px;animation-duration:50s}@keyframes orbSpin{to{transform:rotate(360deg)}}[data-theme=dark] .hero-orb .orb-ring{border-color:#8b5cf640}.hero-chat-card{z-index:2;flex-direction:column;gap:.9rem;width:min(420px,100%);padding:1.25rem;animation:7s ease-in-out infinite floatY;display:flex;position:relative}@keyframes floatY{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.chat-card-header{align-items:center;gap:.75rem;display:flex}.chat-card-avatar{background:var(--grad-aurora);border-radius:14px;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:1.4rem;display:grid;position:relative}.chat-card-avatar .chat-online{border:2.5px solid var(--card);background:#10b981;border-radius:50%;width:14px;height:14px;animation:1.6s infinite pulse-dot;position:absolute;bottom:-2px;right:-2px}.chat-card-meta{flex-direction:column;flex:1;min-width:0;display:flex}.chat-card-meta strong{color:var(--text);font-size:.95rem;font-weight:700}.chat-card-status{color:var(--text-secondary);align-items:center;gap:.4rem;font-size:.78rem;display:inline-flex}.chat-card-status .dot{background:var(--grad-aurora);border-radius:50%;width:7px;height:7px}.chat-card-flag{opacity:.7;font-size:1.5rem}.chat-card-body{flex-direction:column;gap:.55rem;max-height:280px;display:flex;overflow:hidden}.chat-bubble{max-width:85%;animation:slideUp .5s var(--ease-pop) backwards;border-radius:16px;padding:.7rem 1rem;font-size:.92rem;line-height:1.5}.chat-bubble:first-child{animation-delay:.1s}.chat-bubble:nth-child(2){animation-delay:.5s}.chat-bubble:nth-child(3){animation-delay:1s}.chat-bubble:nth-child(4){animation-delay:1.4s}.chat-bubble.bot{color:var(--text);background:linear-gradient(135deg,#6366f11a,#8b5cf61a);border:1px solid #6366f126;border-bottom-left-radius:6px;align-self:flex-start}.chat-bubble.user{background:var(--grad-aurora);color:var(--text-on-accent);border-bottom-right-radius:6px;align-self:flex-end}.chat-bubble.typing{align-self:flex-start;align-items:center;gap:4px;padding:.7rem .9rem;display:inline-flex}.chat-bubble.typing span{background:var(--text-secondary);opacity:.5;border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite typingDot}.chat-bubble.typing span:nth-child(2){animation-delay:.2s}.chat-bubble.typing span:nth-child(3){animation-delay:.4s}@keyframes typingDot{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}.chat-card-footer{border-top:1px solid var(--border-color);align-items:center;gap:.5rem;padding-top:.5rem;display:flex}.chat-input-mock{color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:999px;flex:1;padding:.5rem .75rem;font-size:.85rem}.chat-action{background:var(--bg-secondary);width:36px;height:36px;color:var(--text);cursor:pointer;transition:var(--transition);border:none;border-radius:50%;place-items:center;display:grid}.chat-action:hover{color:var(--primary);background:#6366f11a}.chat-action.chat-send{background:var(--grad-aurora);color:var(--text-on-accent)}.chat-action.chat-send:hover{transform:scale(1.05)}.hero-floater{z-index:3;border-radius:14px;align-items:center;gap:.5rem;padding:.7rem 1rem;font-size:.85rem;font-weight:600;animation:6s ease-in-out infinite floatY;display:inline-flex;position:absolute}.hero-floater i{color:var(--primary)}.hero-floater-1{animation-delay:-2s;top:8%;right:-6%}.hero-floater-2{animation-delay:-4s;bottom:6%;left:-8%}.hero-floater-2 i{color:var(--warning)}.hero-stats{max-width:1100px;padding:0 var(--space-md);grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin:clamp(2.5rem,6vw,4rem) auto 0;display:grid;position:relative}.stat-pill{text-align:center;background:var(--card);border:1px solid var(--border-color);transition:transform .3s var(--ease-pop), box-shadow .3s ease;border-radius:18px;flex-direction:column;align-items:center;padding:1.1rem .75rem;display:flex}.stat-pill:hover{box-shadow:var(--shadow-glow);border-color:#6366f14d;transform:translateY(-4px)}.stat-num{font-family:var(--font-display);background:var(--grad-aurora);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(1.4rem,2.4vw,2rem);font-weight:900;line-height:1}.stat-label{color:var(--text-secondary);margin-top:.4rem;font-size:.78rem;font-weight:500}.trust-strip{text-align:center;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);background:var(--bg-secondary);padding:2.5rem 0}.trust-strip-label{letter-spacing:.15em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:1.25rem;font-size:.8rem;font-weight:700;display:block}.trust-strip-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.trust-strip-track{gap:3rem;width:max-content;margin:0;padding:0;list-style:none;animation:40s linear infinite marquee;display:flex}.trust-strip-track li{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;display:inline-flex}.trust-strip-track li i{font-size:1.25rem}@keyframes marquee{to{transform:translate(-50%)}}.languages{padding:clamp(4rem, 9vh, 6rem) var(--space-md)}.lang-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;max-width:1200px;margin:0 auto;display:grid}.lang-card{background:var(--card);border:1px solid var(--border-color);cursor:pointer;transition:transform .4s var(--ease-pop), box-shadow .4s ease, border-color .3s ease;border-radius:24px;flex-direction:column;gap:.6rem;padding:1.75rem;display:flex;position:relative;overflow:hidden}.lang-card:before{content:"";background:var(--grad-aurora);opacity:0;height:4px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.lang-card:hover,.lang-card:focus-visible{box-shadow:var(--shadow-glow);border-color:#6366f159;transform:translateY(-6px)}.lang-card:hover:before,.lang-card:focus-visible:before{opacity:1}.lang-card.featured{background:linear-gradient(135deg,#6366f10f,#ec48990a);border-color:#6366f140}.lang-card.featured:before{opacity:1}.lang-card-pill{background:var(--grad-aurora);color:var(--text-on-accent);letter-spacing:.05em;border-radius:999px;padding:4px 10px;font-size:.7rem;font-weight:800;position:absolute;top:1rem;right:1rem}.lang-flag-wrap{background:var(--bg-secondary);width:64px;height:64px;transition:transform .4s var(--ease-pop);border-radius:18px;place-items:center;margin-bottom:.5rem;display:grid}.lang-card:hover .lang-flag-wrap{transform:rotate(-6deg)scale(1.05)}.lang-flag-big{font-size:2.4rem;line-height:1}.lang-card h3{margin:0;font-size:1.5rem;font-weight:800}.lang-card-meta{color:var(--text-secondary);letter-spacing:.02em;font-size:.85rem;font-weight:500}.lang-card-line{color:var(--text);border-left:3px solid;border-image:var(--grad-aurora) 1;margin-top:.25rem;padding-left:.75rem;font-size:.95rem;font-style:italic}.lang-card-cta{color:var(--primary);align-items:center;gap:.4rem;margin-top:auto;padding-top:.75rem;font-size:.95rem;font-weight:700;transition:gap .25s;display:inline-flex}.lang-card:hover .lang-card-cta{gap:.7rem}.lang-card-soon{opacity:.85}.lang-card-soon .lang-flag-wrap{background:var(--grad-aurora)}.how-section{padding:clamp(4rem, 9vh, 6rem) var(--space-md);background:var(--bg-secondary);position:relative}.how-section:before{content:"";pointer-events:none;background-image:radial-gradient(circle at 100% 0,#ec489914,#0000 40%);position:absolute;inset:0}.how-section .section-header h2 em{background:var(--grad-aurora);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-style:normal}.bento-grid{grid-template-columns:repeat(6,1fr);grid-auto-rows:minmax(220px,auto);gap:1.25rem;max-width:1200px;margin:0 auto;display:grid;position:relative}.bento-card{background:var(--card);border:1px solid var(--border-color);transition:transform .4s var(--ease-pop), box-shadow .4s ease;border-radius:24px;flex-direction:column;grid-column:span 2;gap:.75rem;padding:2rem;display:flex;position:relative;overflow:hidden}.bento-card:hover{box-shadow:var(--shadow-glow);transform:translateY(-4px)}.bento-card-lg{grid-area:span 2/span 3}.bento-card.bento-highlight{background:var(--grad-aurora);color:var(--text-on-accent);border:none;grid-column:span 3}.bento-card.bento-highlight h3,.bento-card.bento-highlight p{color:var(--text-on-accent)}.bento-step{font-family:var(--font-mono);letter-spacing:.15em;color:var(--primary);background:#6366f11a;border-radius:999px;align-self:flex-start;padding:4px 10px;font-size:.8rem;font-weight:700}.bento-card.bento-highlight .bento-step{color:var(--text-on-accent);background:#ffffff2e}.bento-icon{background:var(--grad-aurora);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.75rem}.bento-card.bento-highlight .bento-icon{-webkit-text-fill-color:#fff;color:var(--text-on-accent);background:0 0}.bento-card h3{font-size:1.35rem;font-weight:800;line-height:1.2}.bento-card p{color:var(--text-secondary);margin:0;font-size:.95rem;line-height:1.6}.bento-mock{flex-wrap:wrap;gap:.5rem;margin-top:auto;padding-top:1rem;display:flex}.chip{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text);transition:var(--transition);border-radius:999px;padding:.5rem .9rem;font-size:.85rem;font-weight:600}.chip.is-active{background:var(--grad-aurora);color:var(--text-on-accent);border-color:#0000;transform:scale(1.05)}.faq{padding:clamp(4rem, 9vh, 6rem) var(--space-md)}.faq-grid{flex-direction:column;gap:.75rem;max-width:820px;margin:0 auto;display:flex}.faq-item{background:var(--card);border:1px solid var(--border-color);border-radius:18px;padding:1.25rem 1.5rem;transition:border-color .3s,box-shadow .3s}.faq-item[open]{border-color:#6366f159;box-shadow:0 12px 30px -12px #6366f140}.faq-item summary{cursor:pointer;color:var(--text);justify-content:space-between;align-items:center;gap:1rem;font-size:1.05rem;font-weight:700;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary i{color:var(--primary);transition:transform .3s var(--ease-pop);flex-shrink:0;font-size:.9rem}.faq-item[open] summary i{transform:rotate(45deg)}.faq-item p{color:var(--text-secondary);margin-top:.85rem;font-size:.95rem;line-height:1.65}.faq-item p em{background:var(--grad-aurora);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-style:normal;font-weight:700}.cta-2026{margin:0 var(--space-md) var(--space-xxl);background:var(--grad-aurora);color:var(--text-on-accent);text-align:center;isolation:isolate;border-radius:32px;padding:clamp(3rem,8vw,5rem) clamp(1.5rem,5vw,4rem);position:relative;overflow:hidden;box-shadow:0 30px 80px -20px #8b5cf666}.cta-2026:before{content:"";z-index:-1;background-image:radial-gradient(circle at 20% 30%,#ffffff26,#0000 40%),radial-gradient(circle at 80% 70%,#00000026,#0000 40%);position:absolute;inset:0}.cta-orb{filter:blur(40px);z-index:-1;background:radial-gradient(circle,#fff6,#0000 70%);border-radius:50%;width:300px;height:300px;animation:8s ease-in-out infinite floatY;position:absolute;top:-100px;right:-50px}.cta-2026 .cta-container{max-width:720px;margin:0 auto}.cta-2026 h2{letter-spacing:-.02em;color:var(--text-on-accent);margin:1rem 0 1.25rem;font-size:clamp(2rem,4.5vw,3.5rem);font-weight:900;line-height:1.1}.cta-2026 p{color:#ffffffeb;margin-bottom:2rem;font-size:1.15rem}.final-eyebrow{letter-spacing:.1em;background:#ffffff2e;border:1px solid #ffffff4d;border-radius:999px;padding:6px 14px;font-size:.78rem;font-weight:700;display:inline-block;color:var(--text-on-accent)!important}.cta-2026 .cta-buttons{justify-content:center}.cta-2026 .btn.btn-glow{color:#6366f1;background:#fff;box-shadow:0 12px 30px -8px #0000004d}.cta-2026 .btn.btn-glow:before{display:none}.cta-2026 .btn.btn-glow:hover{color:#4338ca}.cta-2026 .btn.btn-ghost{color:var(--text-on-accent);background:#ffffff1f;border-color:#fff6}.cta-2026 .btn.btn-ghost:hover{color:var(--text-on-accent);background:#ffffff38;border-color:#fff}.cta-finepoint{color:#ffffffd9;margin-top:1.5rem;font-size:.85rem}.footer-2026 .footer-info{max-width:320px}.footer-social{gap:.75rem;margin-top:1rem;display:flex}.footer-social a{background:var(--bg-secondary);border:1px solid var(--border-color);width:40px;height:40px;color:var(--text);transition:var(--transition);border-radius:50%;place-items:center;display:grid}.footer-social a:hover{background:var(--grad-aurora);color:var(--text-on-accent);border-color:#0000;transform:translateY(-2px)}@media (max-width:980px){.hero-2026 .hero-content{text-align:center;grid-template-columns:1fr}.hero-2026 .hero-text{order:1;max-width:640px;margin:0 auto}.hero-2026 .subtitle{margin-left:auto;margin-right:auto}.hero-2026 .cta-buttons,.hero-trust,.hero-rotator{justify-content:center}.hero-visual{order:2;min-height:420px;margin-top:2rem}.hero-floater-1{top:2%;right:4%}.hero-floater-2{bottom:2%;left:4%}.hero-stats{grid-template-columns:repeat(3,1fr)}.hero-stats .stat-pill:nth-child(4),.hero-stats .stat-pill:nth-child(5){display:none}.bento-grid{grid-template-columns:repeat(2,1fr)}.bento-card,.bento-card-lg,.bento-card.bento-highlight{grid-area:auto/span 1}.bento-card-lg{grid-column:span 2}}@media (max-width:640px){.hero-2026{min-height:auto;padding-block:1.25rem 2.5rem}.hero-2026 .hero-content{gap:1.35rem;padding-inline:clamp(14px,4vw,22px)}.hero-eyebrow{max-width:100%;margin-inline:auto;font-size:.78rem}.hero-title{letter-spacing:0;font-size:clamp(2rem,10vw,2.75rem)}.hero-title>span:first-child{max-width:10.8ch;margin-inline:auto}.hero-2026 .subtitle{max-width:32ch;margin-bottom:1.35rem;font-size:.98rem;line-height:1.55}.hero-2026 .cta-buttons{grid-template-columns:1fr;gap:.75rem;margin-bottom:1.25rem;display:grid}.hero-2026 .cta-buttons .btn{white-space:normal;width:100%;min-width:0}.hero-trust{text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem .85rem;display:grid}.hero-trust li{min-width:0;font-size:.82rem;line-height:1.25}.hero-visual{width:100%;min-height:min(360px,86vw);margin-top:.35rem;overflow:visible}.hero-chat-card{gap:.7rem;width:min(100%,300px);padding:1rem;animation:none}.chat-card-avatar{width:40px;height:40px}.chat-card-flag{display:none}.chat-card-body{max-height:220px}.chat-bubble{overflow-wrap:anywhere;max-width:100%;padding:.65rem .8rem;font-size:.84rem}.chat-card-footer{min-width:0}.chat-input-mock{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.chat-action{flex:0 0 36px}.hero-stats{grid-template-columns:repeat(2,1fr)}.hero-stats .stat-pill:nth-child(5),.hero-floater,.orb-ring-2,.orb-ring-3{display:none}.orb-ring-1{width:280px;height:280px}.lang-grid{gap:1rem}.bento-grid{grid-template-columns:1fr}.bento-card-lg{grid-column:span 1}.cta-2026{margin:0 var(--space-sm) var(--space-xxl);padding:2.5rem 1.5rem}.cta-2026 h2{font-size:2rem}.trust-strip-track{gap:2rem}}@media (prefers-reduced-motion:reduce){.hero-aurora .aurora,.hero-chat-card,.hero-floater,.hero-orb .orb-ring,.cta-orb,.trust-strip-track,.rotator-word,.chat-bubble.typing span,.chat-bubble{animation:none!important}.rotator-word.is-active{opacity:1;transform:none}}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.btn-glow{box-shadow:0 6px 20px -6px #4895ef73}.btn-ghost-light{color:var(--text-on-accent);cursor:pointer;background:#ffffff1f;border:1px solid #fff3;border-radius:8px;margin-left:auto;padding:6px 14px;font-size:.85rem;font-weight:600}.free-banner{text-align:center;background:var(--bg-section,transparent);padding:80px 24px}.free-banner-inner{flex-direction:column;align-items:center;gap:16px;max-width:720px;margin:0 auto;display:flex}.free-banner h2{margin:0;font-size:clamp(2rem,4vw,3rem);line-height:1.15}.free-banner .section-description{color:var(--text-muted,#94a3b8);max-width:540px;margin:0 0 8px}.free-banner .btn{margin-top:12px}.home-shell{padding:18px;padding-bottom:max(18px, env(safe-area-inset-bottom));flex-direction:column;gap:18px;width:100%;max-width:1080px;margin:0 auto;display:flex}.home-hero{border-radius:20px;grid-template-columns:1fr;align-items:center;gap:20px;padding:24px 22px;display:grid}@media (min-width:560px){.home-hero{grid-template-columns:minmax(0,1fr) auto}}.home-hero-greeting h1{font-family:var(--font-display);margin:0 0 6px;font-size:clamp(1.4rem,3.2vw,1.9rem);font-weight:800}.home-hero-greeting p{color:var(--text-3,var(--text-secondary));margin:0}.home-hero-stats{flex-wrap:wrap;justify-content:center;align-items:center;gap:22px;display:flex}.home-hero-meta{flex-direction:column;gap:8px;display:flex}.home-hero-meta .meta-row{align-items:center;gap:8px;font-size:.95rem;display:flex}.home-hero-meta .meta-row i{width:18px;color:var(--warning)}.home-actions{grid-template-columns:1fr;gap:16px;display:grid}@media (min-width:720px){.home-actions{grid-template-columns:repeat(3,1fr)}}.home-card{border-radius:16px;flex-direction:column;justify-content:space-between;gap:16px;min-height:clamp(140px,22vw,180px);padding:20px;display:flex}.home-card-head{flex-direction:column;gap:6px;display:flex}.home-card-eyebrow{text-transform:uppercase;letter-spacing:.08em;opacity:.7;align-items:center;gap:6px;font-size:.72rem;font-weight:700;display:inline-flex}.home-card-eyebrow i{color:#4895ef}.home-card-title{font-family:var(--font-display);margin:0;font-size:1.1rem;font-weight:700}.home-card-meta{opacity:.7;margin:2px 0 0;font-size:.85rem}.home-card-cta{align-self:flex-start}.home-card-empty{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;display:flex}.home-card-empty i{opacity:.6;margin-bottom:4px;font-size:1.6rem}.home-card-empty h3{margin:0;font-size:1rem;font-weight:700}.home-card-empty p{opacity:.7;margin:0;font-size:.9rem}.home-week{border-radius:16px;flex-direction:column;gap:12px;padding:20px;display:flex}.home-week-head{justify-content:space-between;align-items:center;display:flex}.home-week-head h2{margin:0;font-size:1.1rem;font-weight:700}.home-week-meta{opacity:.65;font-size:.85rem}.home-week-spark{padding:4px 0}.home-week-row{border-top:1px solid #ffffff0f;grid-template-columns:repeat(3,1fr);gap:10px;padding-top:12px;display:grid}.home-week-stat{flex-direction:column;align-items:center;display:flex}.home-week-stat strong{font-size:1.4rem;font-weight:800}.home-week-stat span{opacity:.7;font-size:.78rem}.home-cta-row{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}@media (max-width:480px){.home-cta-row{grid-template-columns:1fr}}.btn-tile{color:inherit;cursor:pointer;text-align:left;background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;min-height:72px;padding:16px 18px;transition:transform .15s,background .2s,border-color .2s;display:flex}.btn-tile:hover{background:#ffffff14;border-color:#4895ef66;transform:translateY(-2px)}.btn-tile i{color:#4895ef;font-size:1.1rem}.btn-tile strong{font-size:.95rem;font-weight:700}.btn-tile span{opacity:.7;font-size:.78rem}.goal-ring{place-items:center;display:grid;position:relative}.goal-ring svg{position:absolute;inset:0}.goal-ring .goal-ring-fill{transition:stroke-dashoffset .6s cubic-bezier(.4,0,.2,1)}.goal-ring-label{text-align:center;flex-direction:column;line-height:1;display:flex}.goal-ring-value{font-family:var(--font-display);font-size:2.4rem;font-weight:900}.goal-ring-divider{opacity:.55;margin-top:4px;font-size:.85rem}.goal-ring-unit{opacity:.6;letter-spacing:.1em;text-transform:uppercase;margin-top:4px;font-size:.7rem}.goal-ring-complete .goal-ring-fill{stroke:#4ade80!important}.streak-cal{grid-template-columns:repeat(7,1fr);gap:4px;padding:8px 0;display:grid}.streak-cal-day{aspect-ratio:1;background:#ffffff0f;border-radius:4px}.streak-cal-day.mid{background:#4895ef80}.streak-cal-day.high{background:#f72585b3}.streak-cal-day.frozen{background:#06b6d499}.streak-cal-day.today{box-shadow:0 0 0 2px #ffd700b3}.streak-cal-day.future{opacity:.3}.vocab-shell{flex-direction:column;gap:18px;width:100%;max-width:720px;margin:0 auto;padding:18px;display:flex}.vocab-header{border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px;display:flex}.vocab-header h1{margin:0 0 6px;font-size:1.5rem;font-weight:800}.vocab-header p{margin:0}.vocab-stats{gap:18px;display:flex}.vocab-stat{flex-direction:column;align-items:center;display:flex}.vocab-stat strong{font-size:1.8rem;font-weight:900;line-height:1}.vocab-stat span{color:var(--text-2,var(--text-secondary));letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:600}.vocab-area{min-height:320px}.vocab-empty{text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:12px;padding:40px 20px;display:flex}.vocab-empty i{opacity:.5;font-size:2.4rem}.vocab-empty h2{margin:0;font-size:1.3rem;font-weight:700}.vocab-empty p{color:var(--text-2,var(--text-secondary));max-width:420px;margin:0;line-height:1.5}[data-theme=light] .vocab-header{background:#fff;border:1px solid #0f172a14;box-shadow:0 1px 2px #0f172a0a}[data-theme=light] .vocab-empty{background:#0f172a08;border:1px solid #0f172a0f}[data-theme=light] .vocab-empty i{color:var(--text-3,var(--text-secondary));opacity:1}[data-theme=light] .srs-card-face{background:#fff;border:1px solid #0f172a1a;box-shadow:0 4px 12px -4px #0f172a1a}.srs-card{perspective:1200px;width:100%;height:320px;position:relative}.srs-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.4,0,.2,1);position:relative}.srs-card.flipped .srs-card-inner{transform:rotateY(180deg)}.srs-card-face{text-align:center;backface-visibility:hidden;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex;position:absolute;inset:0}.srs-card-back{transform:rotateY(180deg)}.srs-card-eyebrow{opacity:.55;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:700}.srs-card-lemma{font-family:var(--font-display);font-size:clamp(2rem,6vw,2.8rem);font-weight:800;line-height:1.1}.srs-card-pos{opacity:.7;font-size:.85rem;font-style:italic}.srs-card-flip-btn{margin-top:10px}.srs-card-translation{font-family:var(--font-display);font-size:clamp(1.6rem,5vw,2.2rem);font-weight:700}.srs-card-example{opacity:.7;max-width:480px;margin:0;font-style:italic}.srs-grades{grid-template-columns:repeat(4,1fr);gap:8px;width:100%;max-width:460px;margin-top:16px;display:grid}.srs-grade{cursor:pointer;color:inherit;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:10px;min-height:48px;padding:12px 8px;font-size:.85rem;font-weight:700;transition:transform .1s,background .2s}.srs-grade:hover{transform:translateY(-1px)}.srs-grade-1{color:#f43f5e;border-color:#f43f5e66}.srs-grade-2{color:var(--warning);border-color:#f59e0b66}.srs-grade-3{color:#4ade80;border-color:#4ade8066}.srs-grade-5{color:#4895ef;border-color:#4895ef66}.badges-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px;display:grid}.badge-tile{text-align:center;background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;transition:transform .15s;display:flex}.badge-tile:hover{transform:translateY(-2px)}.badge-icon{color:gold;background:linear-gradient(135deg,#4895ef33,#f7258533);border-radius:12px;place-items:center;width:48px;height:48px;font-size:1.3rem;display:grid}.badge-tile.locked{opacity:.4;filter:grayscale(.6)}.badge-tile.locked .badge-icon{color:#9ca3af;background:#ffffff0f}.badge-name{font-size:.78rem;font-weight:700;line-height:1.1}.badge-date{opacity:.6;font-size:.68rem}.badge-xp{color:gold;font-size:.7rem;font-weight:700}.skel{background:linear-gradient(90deg,#ffffff0a,#ffffff1a,#ffffff0a) 0 0/600px 100%;border-radius:8px;animation:1.5s linear infinite skelShimmer}.skel-line{height:14px;margin:6px 0}.skel-circle{border-radius:50%}.skel-block{width:100%}.avatar-picker{gap:8px;padding:4px;display:flex;overflow-x:auto}.avatar-tile{cursor:pointer;color:inherit;background:0 0;border:1px solid #ffffff1a;border-radius:10px;flex-shrink:0;align-items:center;gap:8px;min-height:44px;padding:8px 10px;transition:background .15s,border-color .15s;display:flex}.avatar-tile.active{background:#4895ef1f;border-color:#4895ef99}.avatar-tile:hover{background:#ffffff0f}.avatar-icon{border-radius:8px;place-items:center;width:28px;height:28px;font-size:1rem;display:grid}.avatar-name{font-size:.85rem;font-weight:600}.waveform{align-items:flex-end;gap:3px;height:60px;padding:0 12px;display:inline-flex}.waveform-bar{background:linear-gradient(#4895ef,#f72585);border-radius:2px;width:4px;height:4px;transition:height 50ms;display:inline-block}.orb-bargein{animation:.6s ease-out bargeinFlash}@keyframes bargeinFlash{0%{filter:brightness(1.4)saturate(1.6)}to{filter:brightness()saturate()}}.pron-score-badge{background:#ffffff0f;border-radius:999px;align-items:center;gap:6px;margin-left:8px;padding:4px 8px;font-size:.78rem;font-weight:600;display:inline-flex}.pron-high{color:#4ade80;background:#4ade802e}.pron-mid{color:var(--warning);background:#f59e0b2e}.pron-low{color:#f43f5e;background:#f43f5e2e}.pron-tip{opacity:.75;margin-left:4px;font-size:.7rem;display:block}.session-summary{text-align:center;border-radius:18px;max-width:480px;margin:24px auto;padding:24px}.session-summary-head{flex-direction:column;align-items:center;gap:8px;margin-bottom:18px;display:flex}.session-summary-head i{color:#4ade80;font-size:2rem}.session-summary-head h2{margin:0;font-size:1.4rem;font-weight:800}.session-summary-stats{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px;display:grid}@media (min-width:480px){.session-summary-stats{grid-template-columns:repeat(5,1fr)}}.ss-stat{background:#ffffff0a;border-radius:10px;flex-direction:column;padding:12px 8px;display:flex}.ss-stat strong{font-size:1.3rem;font-weight:800}.ss-stat span{opacity:.65;font-size:.7rem}.ss-score-high strong{color:#4ade80}.ss-score-mid strong{color:var(--warning)}.ss-score-low strong{color:#f43f5e}.ss-xp strong{color:gold}.session-summary-tip{opacity:.8;margin:0 0 18px}.session-summary-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.chat-shell-2026{grid-template-columns:280px 1fr;gap:0;height:100%;display:grid;position:relative}@media (max-width:768px){.chat-shell-2026{grid-template-columns:1fr}.chat-shell-2026 .chat-history-host{z-index:50;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#070b16eb;transition:transform .24s,opacity .24s;display:block;position:absolute;inset:0;transform:translate(-100%)}.chat-shell-2026.history-open .chat-history-host{opacity:1;pointer-events:auto;transform:translate(0)}}.conv-list{background:#0f172a66;border-right:1px solid #ffffff0f;border-radius:0;flex-direction:column;height:100%;padding:0;display:flex}:root[data-theme=light] .conv-list{background:#ffffffb3}.conv-list-head{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.conv-list-head h3{margin:0;font-size:1rem;font-weight:700}.conv-list-search{border-bottom:1px solid #ffffff0f;align-items:center;gap:8px;padding:12px 14px;display:flex}.conv-list-search i{opacity:.5}.conv-search-input{color:inherit;font:inherit;background:0 0;border:0;border-radius:6px;outline:none;flex:1;padding:8px}.conv-search-input:focus-visible{box-shadow:var(--focus-ring)}.conv-list-scroll{flex:1;padding:8px 0;overflow-y:auto}.conv-item{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-left:3px solid #0000;padding:10px 14px;transition:background .15s,border-color .15s;display:block}.conv-item:hover{background:#ffffff0d}.conv-item.active{background:#4895ef1f;border-left-color:#4895ef}.conv-item-title{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;display:block;overflow:hidden}.conv-item-meta{opacity:.6;margin-top:2px;font-size:.72rem;display:block}.conv-list-new{justify-content:center;align-items:center;gap:6px;margin:12px 14px;display:flex}.chat-history-toggle{margin-right:8px}.chat-main{flex-direction:column;min-height:0;display:flex}.word-token{cursor:pointer;border-radius:3px;padding:0 1px;transition:background .12s}.word-token:hover{background:#4895ef2e}.word-token:focus-visible{outline-offset:1px;outline:2px solid #4895ef}.word-popover{z-index:var(--z-overlay,60);background:var(--bg,#0f172a);border:1px solid #ffffff1f;border-radius:14px;padding:14px 16px;font-size:.9rem;position:absolute;box-shadow:0 16px 48px -8px #00000080}:root[data-theme=light] .word-popover{background:#fff;box-shadow:0 16px 48px -8px #0000002e}.word-popover-arrow{background:inherit;border-top:1px solid #ffffff1f;border-left:1px solid #ffffff1f;width:12px;height:12px;position:absolute;top:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.word-popover-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.word-popover-lemma{font-size:1.1rem;font-weight:700}.word-popover-close{color:inherit;cursor:pointer;opacity:.6;background:0 0;border:0;font-size:1.2rem;line-height:1}.word-popover-translation{margin:0 0 6px;font-weight:600}.word-popover-pos{opacity:.7;margin:0 0 6px;font-size:.8rem}.word-popover-examples{opacity:.85;margin:6px 0;padding-left:18px;font-size:.85rem}.word-popover-examples li{margin:3px 0}.word-popover-note{opacity:.7;margin:6px 0 0;font-size:.8rem;font-style:italic}.word-popover-actions{border-top:1px solid #ffffff14;gap:8px;margin-top:10px;padding-top:10px;display:flex}.btn-sm{padding:6px 10px;font-size:.8rem}.word-popover-loading{opacity:.7;align-items:center;gap:8px;font-size:.85rem;display:flex}.dot-pulse{background:#4895ef;border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite dotPulseScale}@keyframes dotPulseScale{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.3)}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.grammar-correction{border-left:3px solid var(--warning);background:#f59e0b1f;border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0;padding:6px 10px;font-size:.85rem;display:inline-flex}.grammar-correction i{color:var(--warning)}.grammar-del{opacity:.7;text-decoration:line-through}.grammar-arrow{opacity:.5}.grammar-ins{color:#4ade80;font-weight:600}.kara-tonal-note,.mirror-tonal-note{border-left:3px solid var(--warning);color:var(--text-2);overflow-wrap:anywhere;background:#f59e0b1a;border-radius:6px;margin:8px 0 0;padding:10px 14px;font-size:.85rem;line-height:1.4}.pitch-contour{background:#4361ee0f;border:1px solid #4361ee24;border-radius:8px;margin:12px 0 0;padding:12px 14px 10px}.pitch-contour-loading,.pitch-contour-empty{color:var(--text-2);font-size:.85rem}.pitch-contour svg{vector-effect:non-scaling-stroke;width:100%;height:120px;display:block}.pitch-contour-grid{stroke:#ffffff0f;stroke-width:1px}.pitch-contour-ref{stroke:#9aa6ffd9;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.pitch-contour-user{stroke:#7ed7c1;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.pitch-contour-legend{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:6px 10px;margin:8px 0 0;font-size:.78rem;display:flex}.pitch-contour-swatch{vertical-align:middle;border-radius:2px;width:18px;height:3px;display:inline-block}.pitch-contour-ref-swatch{background:#9aa6ffd9}.pitch-contour-user-swatch{background:#7ed7c1}[data-theme=light] .pitch-contour{background:#4361ee0a;border-color:#4361ee2e}[data-theme=light] .pitch-contour-grid{stroke:#0000000f}[data-theme=light] .pitch-contour-ref{stroke:#4361ee8c}[data-theme=light] .pitch-contour-user{stroke:#22a189}[data-theme=light] .pitch-contour-ref-swatch{background:#4361ee8c}[data-theme=light] .pitch-contour-user-swatch{background:#22a189}mark.grammar-mark{color:inherit;cursor:pointer;text-underline-offset:3px;background:linear-gradient(#0000 55%,#f725852e 55% 92%,#0000 92%);border-radius:2px;padding:0 2px;-webkit-text-decoration:underline dotted #f725858c;text-decoration:underline dotted #f725858c;transition:background .16s}mark.grammar-mark:hover,mark.grammar-mark:focus-visible{background:linear-gradient(#0000 0%,#f7258547 0% 100%,#0000 100%)}[data-theme=dark] mark.grammar-mark{background:linear-gradient(#0000 55%,#4cc9f038 55% 92%,#0000 92%);text-decoration-color:#4cc9f0a6}[data-theme=dark] mark.grammar-mark:hover,[data-theme=dark] mark.grammar-mark:focus-visible{background:linear-gradient(#0000 0%,#4cc9f052 0% 100%,#0000 100%)}.quick-replies{flex-wrap:wrap;gap:6px;margin:8px 0 4px;display:flex}.qr-chip{color:inherit;cursor:pointer;background:#4895ef1f;border:1px solid #4895ef59;border-radius:999px;min-height:36px;padding:7px 12px;font-size:.85rem;transition:background .15s,transform .1s}.qr-chip:hover{background:#4895ef38;transform:translateY(-1px)}.bubble-error-host{background:#f43f5e1f;border-radius:8px;align-items:center;gap:8px;margin-top:8px;padding:8px 12px;font-size:.85rem;display:flex}.bubble-error-text{color:#f43f5e}.bubble-error{opacity:.8}.toast-actions{gap:6px;margin-left:8px;display:inline-flex}.toast-action{color:inherit;cursor:pointer;background:#ffffff2e;border:0;border-radius:6px;padding:4px 8px;font-size:.8rem}.toast-close{color:inherit;cursor:pointer;opacity:.6;background:0 0;border:0;margin-left:4px;font-size:1.1rem;line-height:1}.toast-close:hover{opacity:1}.composer-busy{opacity:.7}.lesson-status{border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:.72rem;font-weight:600;display:inline-flex}.lesson-status.completed{color:#4ade80;background:#4ade802e}.lesson-status.in-progress{color:var(--warning);background:#f59e0b2e}.lesson-card.completed{opacity:.78}.card-vocab .vocab-summary-row{gap:18px;padding:10px 0;font-size:.95rem;display:flex}.card-vocab .vocab-summary-row strong{font-size:1.4rem;font-weight:800}.card-streak header{justify-content:space-between;align-items:center;display:flex}.card-recent .recent-link{color:inherit;border-bottom:1px solid #ffffff0f;padding:8px 0;text-decoration:none;display:block}.card-recent .recent-link:hover{color:#4895ef}@media (max-width:768px){.app-bottombar{grid-template-columns:repeat(5,1fr)}}html.theme-fade,html.theme-fade body{filter:brightness(.92)saturate(.85);transition:filter .12s ease-out,background-color .12s ease-out!important}.xp-float{font-feature-settings:"tnum"}.nav-pill{letter-spacing:.4px;background:linear-gradient(135deg, var(--accent), #ff7eb3);color:var(--text-on-accent);text-transform:uppercase;vertical-align:middle;border-radius:999px;margin-left:6px;padding:2px 6px;font-size:.62rem;font-weight:800;animation:2.6s ease-in-out infinite navPillBreath;display:inline-block;box-shadow:0 2px 6px #f7258559}@keyframes navPillBreath{0%,to{box-shadow:0 2px 6px #f7258559}50%{box-shadow:0 2px 14px #f72585a6}}.home-shell-2026 .home-hero-greeting{flex-direction:column;gap:12px;display:flex}.home-chip-row{flex-wrap:wrap;gap:8px;margin-top:2px;display:flex}.home-chip{background:rgba(var(--primary-rgb), .08);color:var(--text);border:1px solid rgba(var(--primary-rgb), .15);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.9rem;font-weight:700;display:inline-flex}.home-chip i{font-size:.85rem}.home-chip-streak i{color:var(--warning)}.home-chip-xp i{color:gold}.home-quick-rail{grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0;display:grid}@media (min-width:560px) and (max-width:880px){.home-quick-rail{grid-template-columns:1fr 1fr}}@media (max-width:559px){.home-quick-rail{grid-template-columns:1fr}}.home-quick-btn{border:1px solid var(--border-color);background:var(--card);width:100%;color:var(--text);cursor:pointer;text-align:left;transition:var(--transition);border-radius:16px;align-items:center;gap:12px;padding:14px 16px;font-family:inherit;display:flex;position:relative;overflow:hidden}.home-quick-btn:hover{border-color:rgba(var(--primary-rgb), .4);box-shadow:0 8px 24px rgba(var(--primary-rgb), .18);transform:translateY(-2px)}.home-quick-btn:focus-visible{box-shadow:0 0 0 3px rgba(var(--primary-rgb), .5), 0 8px 24px rgba(var(--primary-rgb), .18);border-color:rgba(var(--primary-rgb), .55);outline:none}.home-quick-btn-soft{opacity:.78;cursor:default}.home-quick-btn-soft:hover{box-shadow:none;transform:none}.home-quick-icon{background:rgba(var(--primary-rgb), .12);width:44px;height:44px;color:var(--primary);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;display:inline-flex}.home-quick-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.home-quick-text strong{font-weight:800;font-family:var(--font-display);font-size:1rem}.home-quick-text small{color:var(--text-secondary);font-size:.82rem}.home-quick-cue{color:var(--text-secondary);font-size:1.2rem;font-weight:800}.home-quick-cue-lock{font-size:1rem}.home-quick-btn-live{border-image:linear-gradient(135deg, var(--accent), var(--primary)) 1;background:linear-gradient(135deg,#f7258512,#4895ef12);position:relative}.home-quick-btn-live:before{content:"";background:linear-gradient(135deg, var(--accent), var(--primary));-webkit-mask-composite:xor;pointer-events:none;opacity:.65;border-radius:16px;padding:2px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.home-quick-btn-live .home-quick-icon{background:linear-gradient(135deg, var(--accent), var(--primary));color:var(--text-on-accent)}.home-tree{border-radius:var(--radius-lg);width:100%;max-width:1200px;margin:24px auto;padding:24px}.home-tree-head{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.home-tree-head h2{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.4rem;font-weight:800}.home-tree-meta{color:var(--text-secondary);font-size:.9rem;font-weight:600}.home-tree-host{flex-direction:column;align-items:stretch;display:flex}.skill-tree{--unit-color:var(--primary);flex-direction:column;gap:36px;display:flex}.skill-tree-empty{text-align:center;color:var(--text-secondary);padding:48px 16px}.skill-tree-empty i{color:var(--primary);margin-bottom:12px;font-size:2.4rem;display:block}.skill-tree-empty h3{font-family:var(--font-display);margin-bottom:8px}.skill-tree-empty .btn{margin-top:14px}.skill-unit{flex-direction:column;gap:12px;display:flex}.skill-unit-head{background:linear-gradient(120deg, color-mix(in srgb, var(--unit-color) 18%, transparent), color-mix(in srgb, var(--unit-color) 4%, transparent));border:1px solid color-mix(in srgb, var(--unit-color) 28%, transparent);border-radius:16px;grid-template-columns:56px 1fr;align-items:center;gap:14px;padding:14px 18px;display:grid}.skill-unit-mark{background:var(--unit-color);width:56px;height:56px;color:var(--text-on-accent);box-shadow:0 6px 18px color-mix(in srgb, var(--unit-color) 40%, transparent);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.skill-unit-num{font-family:var(--font-display);font-size:1.4rem;font-weight:900}.skill-unit-text{flex-direction:column;gap:4px;display:flex}.skill-unit-title{font-family:var(--font-display);margin:0;font-size:1.05rem;font-weight:800}.skill-unit-sub{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.84rem;display:-webkit-box;overflow:hidden}.skill-unit-progress{align-items:center;gap:10px;margin-top:6px;display:flex}.skill-unit-progress-bar{background:rgba(var(--primary-rgb), .12);border-radius:999px;flex:1;height:6px;overflow:hidden}.skill-unit-progress-bar>span{background:var(--unit-color);border-radius:999px;height:100%;transition:width .6s cubic-bezier(.22,1,.36,1);display:block}.skill-unit-progress-label{color:var(--text-secondary);white-space:nowrap;font-size:.78rem;font-weight:700}.skill-unit-tree{justify-content:center;width:100%;display:flex;position:relative}.skill-paths{pointer-events:none;display:block}.skill-nodes{width:280px;margin:0;padding:0;list-style:none;position:absolute;inset:0 0 0 50%;transform:translate(-50%)}.skill-node{pointer-events:none;flex-direction:column;align-items:center;width:64px;height:64px;display:flex;position:absolute}.skill-node-btn{background:var(--card);width:64px;height:64px;color:var(--text);cursor:pointer;pointer-events:auto;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;display:flex;position:relative;box-shadow:0 4px 12px #00000026}.skill-node-glow{background:radial-gradient(circle, color-mix(in srgb, var(--unit-color) 40%, transparent) 0%, transparent 70%);opacity:0;pointer-events:none;border-radius:50%;transition:opacity .22s ease-out;position:absolute;inset:-6px}.skill-node-btn:hover{transform:translateY(-3px);box-shadow:0 8px 20px #00000040}.skill-node-btn:hover .skill-node-glow{opacity:1}.skill-node-icon{border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.skill-node-label{text-align:center;max-width:80px;color:var(--text-secondary);-webkit-line-clamp:2;pointer-events:none;-webkit-box-orient:vertical;margin-top:6px;font-size:.7rem;font-weight:700;line-height:1.2;display:-webkit-box;overflow:hidden}.skill-node-completed .skill-node-btn{background:var(--unit-color);color:var(--text-on-accent);box-shadow:0 4px 12px color-mix(in srgb, var(--unit-color) 50%, transparent)}.skill-node-current .skill-node-btn{background:linear-gradient(135deg, var(--unit-color), color-mix(in srgb, var(--unit-color) 60%, white));color:var(--text-on-accent);box-shadow:0 0 0 0 color-mix(in srgb, var(--unit-color) 60%, transparent);animation:2.2s ease-out infinite skillNodePulse}.skill-node-current .skill-node-label{color:var(--unit-color);font-weight:800}.skill-node-locked .skill-node-btn{background:var(--bg-secondary);color:var(--text-secondary);opacity:.65;cursor:not-allowed;box-shadow:none}@keyframes skillNodePulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--unit-color) 55%, transparent)}70%{box-shadow:0 0 0 18px color-mix(in srgb, var(--unit-color) 0%, transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb, var(--unit-color) 0%, transparent)}}.voice2-shell{grid-template-rows:auto auto 1fr auto auto;gap:14px;min-height:100%;padding:16px;display:grid}.voice2-header{border-radius:14px;grid-template-columns:1fr auto 1fr;align-items:center;padding:12px 18px;font-weight:700;display:grid}.voice2-pair{font-family:var(--font-display);letter-spacing:.5px}.voice2-status{justify-self:center;align-items:center;gap:8px;font-size:.92rem;display:inline-flex}.voice2-status .status-dot{background:var(--text-secondary);border-radius:50%;width:10px;height:10px;box-shadow:0 0 #0000}.voice2-status[data-kind=connecting] .status-dot{background:var(--warning);animation:1.2s ease-in-out infinite dotPulse}.voice2-status[data-kind=live] .status-dot{background:#22c55e;animation:1.6s ease-in-out infinite dotPulse}.voice2-timer{font-family:var(--font-mono);text-align:right;font-weight:700}@keyframes dotPulse{0%,to{opacity:1;box-shadow:0 0}50%{opacity:.7;box-shadow:0 0 0 6px #0000}}.voice2-personas{border-radius:14px;padding:10px 14px}.voice2-stage{grid-template-rows:1fr auto auto;place-items:center;gap:12px;display:grid;position:relative}.voice2-orb-host{width:220px;height:220px}.voice2-orb-host .orb{width:100%;height:100%}.voice2-waveform-host{width:100%;max-width:480px;height:56px}.voice2-transcript{border-radius:14px;width:100%;max-width:720px;max-height:220px;padding:14px 18px;overflow-y:auto}.voice2-transcript ol{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.voice2-transcript .tr-line{background:rgba(var(--primary-rgb), .06);border-radius:12px;padding:8px 12px;font-size:.95rem;line-height:1.45}.voice2-transcript .tr-user{background:rgba(var(--primary-rgb), .12)}.voice2-transcript .tr-assistant{background:#f7258514}.voice2-transcript .tr-line strong{font-weight:800}.voice2-dock{border-radius:16px;grid-template-columns:56px 1fr 56px;align-items:center;gap:12px;padding:12px;display:grid}.voice2-dock .dock-btn{border:1px solid var(--border-color);background:var(--card);width:56px;min-width:44px;height:56px;min-height:44px;color:var(--text);cursor:pointer;transition:var(--transition);-webkit-tap-highlight-color:transparent;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.voice2-dock .dock-btn.dock-end{background:var(--error);color:var(--text-on-accent);border-color:var(--error)}.voice2-dock .dock-btn.active{background:var(--warning);color:var(--text-on-accent);border-color:var(--warning)}.voice2-dock .dock-btn:active{transform:scale(.96)}.voice2-dock .dock-cta{background:linear-gradient(135deg, var(--primary), var(--accent));height:56px;min-height:44px;color:var(--text-on-accent);font-size:1rem;font-weight:800;font-family:var(--font-display);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:999px;justify-content:center;align-items:center;gap:10px;transition:transform .2s ease-out,box-shadow .2s ease-out;display:inline-flex;box-shadow:0 8px 24px #4361ee59}.voice2-dock .dock-cta:active{transform:translateY(0)scale(.98)}@media (hover:hover) and (pointer:fine){.voice2-dock .dock-btn:hover{transform:translateY(-2px)}.voice2-dock .dock-cta:hover{transform:translateY(-2px);box-shadow:0 12px 30px #4361ee80}}.voice2-hint{text-align:center;color:var(--text-secondary);justify-content:center;align-items:center;gap:6px;font-size:.85rem;display:inline-flex}@media (prefers-reduced-motion:reduce){.skill-node-current .skill-node-btn,.voice2-status .status-dot,.nav-pill{animation:none!important}}@media (max-width:768px){.voice2-waveform-host{min-width:0}.voice2-dock{gap:10px;padding:10px}}@media (max-width:640px){.home-tree{padding:16px}.skill-unit-tree{overflow-x:visible}.skill-paths,.skill-nodes{width:240px}.skill-nodes{left:50%;transform:translate(-50%)}.voice2-orb-host{width:180px;height:180px}.voice2-dock{grid-template-columns:48px 1fr 48px;gap:8px;padding:8px}.voice2-dock .dock-btn{width:48px;height:48px}.voice2-waveform-host{max-width:100%}}@media (max-width:360px){.voice2-orb-host{width:150px;height:150px}.voice2-dock{grid-template-columns:44px 1fr 44px;gap:6px;padding:6px}.voice2-dock .dock-btn{width:44px;height:44px}}.home-quick-btn-story{background:linear-gradient(135deg,#a855f712,#f59e0b12);border-image:linear-gradient(135deg,#a855f7,#f59e0b) 1;position:relative}.home-quick-btn-story:before{content:"";-webkit-mask-composite:xor;pointer-events:none;opacity:.55;background:linear-gradient(135deg,#a855f7,#f59e0b);border-radius:16px;padding:2px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.home-quick-btn-story .home-quick-icon{color:var(--text-on-accent);background:linear-gradient(135deg,#a855f7,#f59e0b)}@media (min-width:1100px){.home-quick-rail{grid-template-columns:repeat(4,1fr)}}.story-picker{max-width:1080px;margin:0 auto;padding:28px 16px}.story-picker-head{text-align:center;margin-bottom:24px}.story-eyebrow{color:var(--text-on-accent);background:linear-gradient(135deg,#a855f7,#f59e0b);border-radius:999px;align-items:center;gap:8px;margin-bottom:14px;padding:6px 14px;font-size:.85rem;font-weight:700;display:inline-flex}.story-h1{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 8px;font-size:2rem;font-weight:900}.story-sub{color:var(--text-secondary);margin:0}.story-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.story-loading{text-align:center;color:var(--text-secondary);grid-column:1/-1;padding:40px}.story-card{padding:var(--s-4,16px);border-radius:var(--r-3,16px);background:var(--card);border:1px solid var(--border-color);cursor:pointer;text-align:left;color:var(--text);transition:var(--transition);flex-direction:column;gap:8px;font-family:inherit;display:flex;position:relative;overflow:hidden}.story-card:hover{border-color:#a855f766;transform:translateY(-3px);box-shadow:0 10px 28px #a855f72e}.story-card-emoji{font-size:2.4rem;line-height:1}.story-card-name{font-family:var(--font-display);font-size:1.05rem;font-weight:800}.story-card-summary{color:var(--text-secondary);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.85rem;display:-webkit-box;overflow:hidden}.story-card-cta{color:#a855f7;align-items:center;gap:6px;margin-top:auto;font-size:.85rem;font-weight:700;display:inline-flex}.story-card-empty{opacity:.85;border-style:dashed}.story-card-empty .story-card-cta{color:var(--warning)}.story-card.busy{opacity:.6;pointer-events:none}.story-card.busy:after{content:"✨";font-size:2rem;animation:1.2s ease-in-out infinite dotPulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.story-player{flex-direction:column;height:100%;min-height:70vh;display:flex}.story-player-head{border-bottom:1px solid var(--border-color);background:var(--card);z-index:5;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 16px;display:grid;position:sticky;top:0}.story-player-head .icon-btn{border:1px solid var(--border-color);background:var(--card);width:36px;height:36px;color:var(--text);cursor:pointer;border-radius:50%}.story-player-title{font-family:var(--font-display);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1rem;font-weight:800;overflow:hidden}.story-player-progress{font-feature-settings:"tnum";color:var(--text-secondary);font-size:.85rem;font-weight:700}.story-stage{flex-direction:column;flex:1;gap:18px;padding:24px;transition:background .6s ease-out;display:flex;position:relative}.scene-backdrop{text-align:center;color:var(--text-on-accent);text-shadow:0 2px 12px #0000004d;padding:16px 8px 8px}.scene-emoji{filter:drop-shadow(0 4px 12px #0000004d);font-size:3rem;animation:3s ease-in-out infinite floatY;display:block}.scene-title{font-family:var(--font-display);margin:8px 0 4px;font-size:1.6rem;font-weight:900}.scene-caption{opacity:.9;margin:0;font-size:.95rem}.scene-dialogue{margin:0;flex-direction:column;gap:10px;width:100%;max-width:720px;margin-inline:auto;padding:0;list-style:none;display:flex}.dlg{--char-color:#475569;color:#1e293b;border-left:4px solid var(--char-color);background:#fffffff2;border-radius:16px;flex-direction:column;gap:4px;padding:12px 16px;animation:.36s cubic-bezier(.22,1,.36,1) backwards slideUp;display:flex;box-shadow:0 4px 12px #0000001f}.dlg:nth-child(2){animation-delay:80ms}.dlg:nth-child(3){animation-delay:.16s}.dlg:nth-child(4){animation-delay:.24s}.dlg:nth-child(5){animation-delay:.32s}.dlg-narrator{text-align:center;color:#475569;background:#ffffffc7;border-left:none;font-style:italic}.dlg-name{font-family:var(--font-display);color:var(--char-color);text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;font-weight:800}.dlg-text{cursor:pointer;border-radius:6px;outline:none;font-size:1.05rem;line-height:1.5;transition:background .15s ease-out,box-shadow .15s ease-out}.dlg-text:hover,.dlg-text:focus{background:#a855f714}.dlg-text:focus-visible{box-shadow:0 0 0 3px #a855f773}.dlg-gloss{color:#64748b;font-size:.82rem;font-style:italic}.scene-choice{border-radius:16px;max-width:720px;margin:16px auto 0;padding:18px}.scene-choice-prompt{font-weight:700;font-family:var(--font-display);margin:0 0 12px}.scene-choice-options{flex-direction:column;gap:10px;display:flex}.scene-choice-option{border:2px solid var(--border-color);background:var(--card);color:var(--text);cursor:pointer;text-align:left;transition:var(--transition);border-radius:12px;align-items:center;gap:12px;padding:12px 16px;font-family:inherit;font-size:1rem;display:flex}.scene-choice-option:hover:not(:disabled){border-color:var(--primary);transform:translate(4px)}.scene-choice-option:disabled{cursor:not-allowed;opacity:.7}.scene-choice-option .opt-letter{background:rgba(var(--primary-rgb), .12);width:28px;height:28px;color:var(--primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:800;display:inline-flex}.scene-choice-option.correct{border-color:var(--success);color:var(--success);background:#4ade8026}.scene-choice-option.correct .opt-letter{background:var(--success);color:var(--text-on-accent)}.scene-choice-option.wrong{border-color:var(--error);color:var(--error);background:#f43f5e26}.scene-choice-option.wrong .opt-letter{background:var(--error);color:var(--text-on-accent)}.scene-choice-feedback{border-radius:10px;margin-top:12px;padding:10px 14px;font-size:.92rem;font-weight:600}.scene-choice-feedback[data-kind=correct]{color:var(--success);background:#4ade802e}.scene-choice-feedback[data-kind=wrong]{color:var(--error);background:#f43f5e2e}.story-player-foot{border-top:1px solid var(--border-color);background:var(--card);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 16px;display:grid}.story-foot-progress{justify-content:center;gap:6px;display:flex}.story-foot-dot{background:var(--border-color);border-radius:50%;width:8px;height:8px;transition:background .2s ease-out,transform .2s ease-out}.story-foot-dot.done{background:var(--success)}.story-foot-dot.on{background:var(--primary);transform:scale(1.3)}.story-vocab-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;width:100%;max-width:720px;margin:16px auto;display:grid}.story-vocab-card{color:#1e293b;cursor:pointer;text-align:left;transition:var(--transition);background:#fffffff2;border:2px solid #0000;border-radius:14px;flex-direction:column;gap:4px;padding:14px;font-family:inherit;font-size:.9rem;display:flex}.story-vocab-card:hover{border-color:var(--primary);transform:translateY(-2px)}.story-vocab-card.saved{border-color:var(--success);color:var(--success);background:#4ade802e}.story-vocab-card.saved:after{content:" ✓"}.story-vocab-card strong{font-size:1rem;font-weight:800}.story-vocab-card .vocab-pos{text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;font-size:.7rem}.story-vocab-card em{color:#475569;font-style:italic}.story-vocab-card small{color:#64748b;font-family:var(--font-mono);font-size:.78rem}@media (max-width:640px){.scene-title{font-size:1.3rem}.scene-emoji{font-size:2.2rem}.dlg{padding:10px 12px}.dlg-text{font-size:1rem}.story-stage{padding:16px 12px}.story-grid{grid-template-columns:1fr 1fr}}.leagues-shell{flex-direction:column;gap:18px;max-width:980px;margin:0 auto;padding:16px;display:flex}.leagues-hero{border-radius:22px;grid-template-columns:auto 1fr;align-items:center;gap:24px;padding:24px;display:grid}.leagues-hero-shield{justify-content:center;align-items:center;display:flex}.league-shield{filter:drop-shadow(0 4px 14px #00000040)}.leagues-hero-meta{flex-direction:column;gap:6px;display:flex}.leagues-hero-eyebrow{color:var(--text-secondary);align-items:center;gap:6px;font-size:.92rem;font-weight:700;display:inline-flex}.leagues-hero-title{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.8rem;font-weight:900}.leagues-hero-sub{color:var(--text-secondary);margin:0 0 12px}.leagues-hero-stats{gap:18px;display:flex}.leagues-hero-stats>span{flex-direction:column;gap:2px;display:flex}.leagues-hero-stats strong{font-family:var(--font-display);font-feature-settings:"tnum";font-size:1.4rem;font-weight:800}.leagues-hero-stats small{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.6px;font-size:.78rem}.leagues-section-title{font-family:var(--font-display);margin:0 0 12px;font-size:1.05rem;font-weight:800}.leagues-ladder{border-radius:18px;padding:18px}.leagues-ladder-list{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.ladder-rung{--lg-color:#cd7f32;background:rgba(var(--primary-rgb), .04);border:1px solid var(--border-color);transition:var(--transition);border-radius:12px;align-items:center;gap:10px;padding:10px 12px;font-weight:700;display:flex;position:relative}.ladder-rung.is-past{opacity:.55}.ladder-rung.is-current{background:color-mix(in srgb, var(--lg-color) 18%, transparent);border-color:var(--lg-color);box-shadow:0 8px 22px color-mix(in srgb, var(--lg-color) 30%, transparent)}.ladder-shield{flex-shrink:0;display:inline-flex}.ladder-name{font-family:var(--font-display);font-size:.92rem}.ladder-tag{text-transform:uppercase;letter-spacing:.5px;color:var(--lg-color);margin-left:auto;font-size:.7rem;font-weight:800}.leagues-cohort{border-radius:18px;padding:18px}.leagues-cohort-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.leagues-cohort-head h2{font-family:var(--font-display);margin:0;font-size:1.1rem;font-weight:800}.leagues-cohort-meta{color:var(--text-secondary);font-size:.9rem;font-weight:600}.leagues-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex;position:relative}.leagues-row{background:var(--card);transition:var(--transition);border:1px solid #0000;border-radius:12px;grid-template-columns:36px 36px 1fr auto;align-items:center;gap:10px;padding:8px 12px;display:grid}.leagues-row.is-me{background:rgba(var(--primary-rgb), .1);border-color:rgba(var(--primary-rgb), .4)}.leagues-row.zone-promote{background:#4ade8014}.leagues-row.zone-demote{background:#f43f5e0f}.leagues-row .row-rank{font-family:var(--font-mono);text-align:center;font-feature-settings:"tnum";color:var(--text-secondary);font-weight:800}.leagues-row.zone-promote .row-rank{color:var(--success)}.leagues-row.zone-demote .row-rank{color:var(--error)}.leagues-row .row-avatar{background:linear-gradient(135deg, var(--primary), var(--accent));width:36px;height:36px;color:var(--text-on-accent);border-radius:50%;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.leagues-row .row-name{align-items:center;gap:8px;font-weight:700;display:flex}.leagues-row .row-pill{background:var(--primary);color:var(--text-on-accent);letter-spacing:.5px;border-radius:999px;padding:2px 8px;font-size:.68rem;font-weight:800;display:inline-block}.leagues-row .row-xp{font-family:var(--font-mono);font-feature-settings:"tnum";font-weight:800}.leagues-zone-divider{text-transform:uppercase;letter-spacing:.5px;text-align:center;color:var(--text-secondary);padding:6px 12px;font-size:.75rem;font-weight:800;list-style:none;position:relative}.leagues-zone-divider:before,.leagues-zone-divider:after{content:"";background:var(--border-color);width:30%;height:1px;position:absolute;top:50%}.leagues-zone-divider:before{left:4%}.leagues-zone-divider:after{right:4%}.zone-divider-promote{color:var(--success);order:2}.zone-divider-demote{color:var(--error);order:99}@media (max-width:720px){.leagues-hero{text-align:center;grid-template-columns:1fr}.leagues-hero-stats{justify-content:center}.leagues-ladder-list{grid-template-columns:repeat(2,1fr)}}.kara-shell{max-width:1080px;margin:0 auto;padding:16px}.kara-head{text-align:center;margin-bottom:16px}.kara-eyebrow{background:linear-gradient(135deg, var(--accent), var(--primary));color:var(--text-on-accent);border-radius:999px;align-items:center;gap:8px;margin-bottom:12px;padding:6px 14px;font-size:.85rem;font-weight:700;display:inline-flex}.kara-h1{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 6px;font-size:2rem;font-weight:900}.kara-sub{color:var(--text-secondary);margin:0}.kara-body{grid-template-columns:280px 1fr;gap:16px;display:grid}.kara-list{border-radius:18px;max-height:600px;padding:14px;overflow-y:auto}.kara-group+.kara-group{margin-top:14px}.kara-group h3{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin:0 0 8px;font-size:.85rem;font-weight:800}.kara-group ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.kara-pick{border:1px solid var(--border-color);background:var(--card);width:100%;color:var(--text);cursor:pointer;text-align:left;transition:var(--transition);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-family:inherit;font-size:.92rem;display:flex}.kara-pick:hover{border-color:var(--primary);transform:translate(2px)}.kara-pick.is-active{background:rgba(var(--primary-rgb), .1);border-color:var(--primary);font-weight:700}.kara-pick-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;display:-webkit-box;overflow:hidden}.kara-pick-meta{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);flex-shrink:0;font-size:.7rem;font-weight:800}.kara-stage{border-radius:18px;flex-direction:column;gap:16px;min-height:360px;padding:28px;display:flex}.kara-empty{color:var(--text-secondary);margin:auto;font-size:1.1rem}.kara-target{font-family:var(--font-display);letter-spacing:-.01em;text-align:center;background:rgba(var(--primary-rgb), .04);border-radius:14px;padding:20px;font-size:1.6rem;font-weight:800;line-height:1.5}.kw{border-radius:8px;margin:2px;padding:4px 8px;transition:background .22s ease-out,color .22s ease-out,transform .22s ease-out;display:inline-block}.kw.lit{background:linear-gradient(135deg, var(--accent), var(--primary));color:var(--text-on-accent);transform:translateY(-2px)}.kw.s-good{color:var(--success);background:#4ade8040}.kw.s-mid{color:var(--warning);background:#f59e0b40}.kw.s-bad{color:var(--error);background:#f43f5e40}.ks{color:var(--text-secondary)}.kara-translation{text-align:center;color:var(--text-secondary);margin:0;font-style:italic}.kara-controls{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.kara-record{min-width:200px;position:relative}.kara-record.is-recording{background:var(--error);border-color:var(--error);animation:1.4s ease-in-out infinite dotPulse}.kara-result{flex-direction:column;align-items:center;gap:8px;display:flex}.kara-score{background:rgba(var(--primary-rgb), .08);border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:14px 22px;display:flex}.kara-score strong{font-family:var(--font-display);font-feature-settings:"tnum";font-size:2.4rem;font-weight:900}.kara-score[data-tone=good]{color:var(--success);background:#4ade802e}.kara-score[data-tone=mid]{color:var(--warning);background:#f59e0b2e}.kara-score[data-tone=bad]{color:var(--error);background:#f43f5e2e}.kara-heard{color:var(--text-secondary);margin:0;font-size:.9rem}.kara-heard em{color:var(--text)}@media (max-width:800px){.kara-body{grid-template-columns:1fr}.kara-list{max-height:240px}.kara-target{font-size:1.25rem}.kara-stage{min-height:320px;padding:18px}}.tav{width:220px;height:240px;display:inline-block;position:relative}.tav .tav-svg{display:block}.tav .tav-body{transform-origin:110px 140px;animation:4s ease-in-out infinite tavBreath}@keyframes tavBreath{0%,to{transform:scale(1)translateY(0)}50%{transform:scale(1.012)translateY(-2px)}}.tav[data-state=listening] .tav-body{animation:4s ease-in-out infinite tavBreath,4s ease-in-out infinite tavHeadTilt}@keyframes tavHeadTilt{0%,to{transform:rotate(0)}50%{transform:rotate(2.5deg)}}.tav[data-state=celebrating] .tav-body{animation:.6s cubic-bezier(.34,1.56,.64,1) 2 tavBounce}@keyframes tavBounce{0%{transform:translateY(0)scale(1)}50%{transform:translateY(-10px)scale(1.04)}to{transform:translateY(0)scale(1)}}.tav .tav-halo-outer,.tav .tav-halo-ring{transform-origin:110px 118px;transition:opacity .32s}.tav[data-state=listening] .tav-halo-outer{animation:2s ease-in-out infinite tavHaloPulse}.tav[data-state=listening] .tav-halo-ring{animation:2s ease-in-out infinite reverse tavHaloPulse}@keyframes tavHaloPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.65;transform:scale(1.08)}}.tav .tav-eye-white{transform-origin:50%;transition:transform 80ms ease-out}.tav .tav-eye-white.blink{transform:scaleY(.05)}.tav .tav-eye-white.wide{transform:scaleY(1.15)}.tav .tav-pupil.blink,.tav .tav-iris.blink,.tav .tav-spark.blink{opacity:0}.tav .tav-spark:not(.tav-spark-sm){animation:5.6s ease-in-out infinite tavSparkBlink}@keyframes tavSparkBlink{0%,96%,to{opacity:1}98%{opacity:.4}}.tav .tav-brow{transform-origin:50%;transition:transform .2s ease-out}.tav .tav-brow.up.tav-brow-l{transform:translateY(-5px)rotate(-5deg)}.tav .tav-brow.up.tav-brow-r{transform:translateY(-2px)rotate(2deg)}.tav .tav-think{transition:opacity .22s ease-out}.tav .tav-think circle{animation:1.6s ease-in-out infinite thinkDot}.tav .tav-think circle:nth-child(2){animation-delay:.2s}.tav .tav-think circle:nth-child(3){animation-delay:.4s}@keyframes thinkDot{0%,60%,to{opacity:.55;transform:translateY(0)scale(1)}30%{opacity:1;transform:translateY(-5px)scale(1.25)}}.tav .tav-mouth-wrap{transform-origin:110px 172px;transition:transform 80ms ease-out}.tav[data-state=speaking] .tav-mouth-wrap{transform:scaleX(1.06)}.tav .tav-spark-ring{transition:opacity .24s ease-out}.tav[data-state=celebrating] .tav-sparkle{animation:.9s ease-out infinite tavSparkle}.tav .tav-sparkle.s0{animation-delay:0s}.tav .tav-sparkle.s1{animation-delay:80ms}.tav .tav-sparkle.s2{animation-delay:.16s}.tav .tav-sparkle.s3{animation-delay:.24s}.tav .tav-sparkle.s4{animation-delay:.32s}.tav .tav-sparkle.s5{animation-delay:.4s}@keyframes tavSparkle{0%{opacity:0;transform:scale(.6)}40%{opacity:1;transform:scale(1.4)}to{opacity:0;transform:scale(.4)}}.voice2-avatar-host{justify-content:center;align-items:center;width:240px;height:260px;margin-bottom:-60px;display:flex;position:relative}.voice2-orb-host{z-index:0;opacity:.35;position:relative;transform:scale(.85)}@media (prefers-reduced-motion:reduce){.tav .tav-body,.tav-think circle,.tav-sparkle,.tav .tav-halo-outer,.tav .tav-halo-ring,.tav .tav-spark,.tav .tav-mouth-wrap{animation:none!important;transform:none!important}}@media (max-width:640px){.tav{width:180px;height:200px}.voice2-avatar-host{width:200px;height:220px}}.cafe-picker{max-width:800px;margin:0 auto;padding:24px 16px}.cafe-head{text-align:center;margin-bottom:22px}.cafe-eyebrow{color:var(--text-on-accent);background:linear-gradient(135deg,#f59e0b,#fb923c);border-radius:999px;align-items:center;gap:8px;margin-bottom:14px;padding:6px 14px;font-size:.85rem;font-weight:700;display:inline-flex}.cafe-h1{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 6px;font-size:2rem;font-weight:900}.cafe-sub{color:var(--text-secondary);margin:0}.cafe-topic-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin:22px 0;display:grid}.cafe-topic{border:1px solid var(--border-color);background:var(--card);color:var(--text);cursor:pointer;transition:var(--transition);border-radius:16px;flex-direction:column;align-items:center;gap:8px;padding:18px 14px;font-family:inherit;display:flex}.cafe-topic:hover{border-color:var(--warning);transform:translateY(-3px);box-shadow:0 10px 24px #f59e0b2e}.cafe-topic-emoji{font-size:2rem;line-height:1}.cafe-topic-name{font-family:var(--font-display);text-align:center;font-size:.92rem;font-weight:700}.cafe-custom{gap:10px;margin-top:12px;display:flex}.cafe-custom-input{border:1px solid var(--border-color);background:var(--input-bg);color:var(--text);border-radius:12px;flex:1;padding:12px 16px;font-family:inherit;font-size:.95rem}.cafe-custom-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb), .15);outline:none}.cafe-chat{grid-template-rows:auto 1fr auto;gap:12px;height:calc(100dvh - 140px);min-height:540px;padding:16px;display:grid}.cafe-chat-head{background:var(--card);border:1px solid var(--border-color);border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:10px 14px;display:grid}.cafe-topic-pill{color:var(--warning);background:#f59e0b24;border-radius:999px;align-items:center;gap:8px;padding:4px 12px;font-size:.9rem;font-weight:700;display:inline-flex}.cafe-controls{align-items:center;gap:10px;display:inline-flex}.cafe-controls .icon-btn{border:1px solid var(--border-color);background:var(--card);width:36px;height:36px;color:var(--text);cursor:pointer;border-radius:50%}.cafe-timer{font-family:var(--font-mono);color:var(--text-secondary);font-feature-settings:"tnum";font-weight:700}.cafe-transcript{background:var(--card);border:1px solid var(--border-color);border-radius:16px;flex-direction:column;gap:14px;margin:0;padding:18px;list-style:none;display:flex;overflow-y:auto}.cafe-line{--char-color:#475569;background:rgba(var(--primary-rgb), .04);border-left:3px solid var(--char-color);border-radius:14px;flex-direction:column;gap:4px;max-width:80%;padding:12px 14px;animation:.32s cubic-bezier(.22,1,.36,1) backwards slideUp;display:flex}.cafe-line-user{background:linear-gradient(135deg, var(--primary), var(--accent));color:var(--text-on-accent);border-left:none;border-right:3px solid #fff;align-self:flex-end}.cafe-line .cafe-name{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.5px;color:var(--char-color);font-size:.78rem;font-weight:800}.cafe-line-user .cafe-name{color:#ffffffe6}.cafe-line .cafe-text{cursor:pointer;border-radius:6px;outline:none;font-size:1rem;line-height:1.45;transition:background .15s ease-out,box-shadow .15s ease-out}.cafe-line .cafe-text:hover,.cafe-line .cafe-text:focus{background:#0000000d}.cafe-line .cafe-text:focus-visible{box-shadow:0 0 0 3px #667eea73}.cafe-line-user .cafe-text{cursor:default}.cafe-foot{background:var(--card);border:1px solid var(--border-color);border-radius:14px;gap:10px;padding:10px 14px;display:flex}.cafe-input{border:1px solid var(--border-color);background:var(--input-bg);color:var(--text);border-radius:10px;flex:1;padding:12px 16px;font-family:inherit;font-size:.95rem}.cafe-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb), .15);outline:none}@media (max-width:720px){.cafe-chat{height:calc(100dvh - 120px);padding:12px}.cafe-line{max-width:92%}.cafe-controls .cafe-timer{display:none}}.scene-art-btn{color:var(--text-on-accent);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:var(--transition);background:#ffffff2e;border:1px solid #fff6;border-radius:999px;align-items:center;gap:8px;margin-top:12px;padding:8px 16px;font-family:inherit;font-size:.88rem;font-weight:700;display:inline-flex}.scene-art-btn:hover{background:#ffffff47;transform:translateY(-1px)}.scene-art-btn.busy{opacity:.7;cursor:wait}.offline-banner{z-index:9000;background:var(--warning);color:#1e293b;text-align:center;padding:6px 12px;font-size:.85rem;font-weight:700;transition:transform .22s ease-out;position:fixed;top:0;left:0;right:0;transform:translateY(-100%)}.offline-banner.is-on{transform:translateY(0)}.offline-banner i{margin-right:6px}@keyframes goal-ring-levelup-pulse{0%{filter:drop-shadow(0 0 #ffd70000);transform:scale(1)}50%{filter:drop-shadow(0 0 24px #ffd70099);transform:scale(1.15)}to{filter:drop-shadow(0 0 #ffd70000);transform:scale(1)}}.goal-ring.goal-ring-levelup{animation:.7s cubic-bezier(.34,1.56,.64,1) goal-ring-levelup-pulse}.home-hero{position:relative}.home-hero-mini-radar{width:84px;height:84px;position:absolute;top:14px;right:14px}.home-hero-mini-radar[hidden]{display:none}.home-hero-mini-radar svg{pointer-events:none;width:100%;height:100%}.home-hero-mini-radar .mini-radar-data{fill:#4895ef38;stroke:var(--brand-1,#4361ee);stroke-width:1.5px;stroke-linejoin:round}.home-hero-mini-radar .mini-radar-tooltip{color:var(--text-2,#fff9);white-space:nowrap;pointer-events:none;opacity:0;font-size:9px;transition:opacity .2s;position:absolute;bottom:-16px;right:0}.home-hero-mini-radar:hover .mini-radar-tooltip,.home-hero-mini-radar:focus-within .mini-radar-tooltip{opacity:1}@media (max-width:720px){.home-hero-mini-radar{display:none}}.home-quick-empty{border-radius:var(--r-3,14px);background:linear-gradient(135deg,#4895ef14,#f725850d);border:1px solid #4895ef2e;grid-template-columns:auto 1fr;align-items:center;gap:12px;width:100%;padding:14px 16px;display:grid}.home-quick-empty .home-quick-icon{width:40px;height:40px;color:var(--text-on-accent);background:linear-gradient(135deg,#4895ef,#f72585);border-radius:12px;place-items:center;font-size:1.1rem;display:grid}.home-quick-empty .home-quick-icon-pulse i{animation:2.4s ease-in-out infinite empty-icon-pulse;display:inline-block}@keyframes empty-icon-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.12)}}.home-quick-empty .home-quick-text{flex-direction:column;gap:2px;display:flex}.home-quick-empty .home-quick-text strong{color:var(--text-1,#fff);font-size:.95rem;font-weight:700}.home-quick-empty .home-quick-text small{color:var(--text-2,#ffffffa6);font-size:.8rem}.home-quick-empty-actions{flex-wrap:wrap;grid-column:1/-1;gap:6px;margin-top:4px;display:flex}.chip-action{color:var(--text-1,#fff);cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff0a;border:1px solid #ffffff24;border-radius:999px;align-items:center;gap:6px;min-height:32px;padding:6px 10px;font-size:.78rem;font-weight:600;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}.chip-action:hover{background:#ffffff14;border-color:#4895ef80}.chip-action:active{transform:scale(.96)}.chip-action i{opacity:.85;font-size:.7rem}.home-milestone-slot[hidden]{display:none}.streak-milestone{border-radius:var(--r-3,14px);background:linear-gradient(135deg,#ffc4001a,#f725850f);border:1px solid #ffc40059;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:14px 18px;animation:.45s cubic-bezier(.22,1,.36,1) milestone-slide-in;display:grid;box-shadow:0 8px 32px #ffc4001a}@keyframes milestone-slide-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.streak-milestone-flame{width:44px;height:44px;color:var(--text-on-accent);background:radial-gradient(circle at 50% 60%,gold,#f59e0b 70%);border-radius:50%;place-items:center;font-size:1.35rem;animation:1.6s ease-in-out infinite milestone-flame-wiggle;display:grid;box-shadow:0 4px 18px #ffc40059}@keyframes milestone-flame-wiggle{0%,to{transform:rotate(0)scale(1)}25%{transform:rotate(-5deg)scale(1.04)}75%{transform:rotate(5deg)scale(1.04)}}.streak-milestone-text{flex-direction:column;gap:2px;display:flex}.streak-milestone-text strong{color:var(--text-1,#fff);font-size:1rem;font-weight:800}.streak-milestone-text small{color:var(--text-2,#ffffffa6);font-size:.82rem}.streak-milestone-actions{align-items:center;gap:6px;display:flex}.streak-milestone-actions .btn-icon-ghost{width:44px;height:44px;color:var(--text-2,#fff9);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:1.1rem;transition:background .15s}.streak-milestone-actions .btn-icon-ghost:hover{background:#ffffff14}.streak-milestone-fade{animation:.6s ease-out forwards milestone-fade-out}@keyframes milestone-fade-out{to{opacity:.55}}.progress-skill-hero{background:linear-gradient(135deg,#4895ef0f,#f725850a);border:1px solid #4895ef38;grid-column:1/-1}.progress-skill-hero header{align-items:baseline;gap:10px;display:flex}.progress-skill-cta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;display:flex}.progress-skill-cta p{margin:0}.progress-subhead{text-transform:uppercase;letter-spacing:.06em;color:var(--text-2,#ffffff8c);margin:14px 0 8px;font-size:.8rem;font-weight:700}.streak-milestone-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;display:grid}.streak-milestone-tile{border-radius:var(--r-2,10px);text-align:center;background:#ffffff08;border:1px solid #ffffff14;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;transition:transform .15s,border-color .15s,background .15s;display:flex}.streak-milestone-tile.unlocked{background:linear-gradient(135deg,#ffc4001a,#ffc4000a);border-color:#ffc40073;box-shadow:0 4px 14px #ffc4001a}.streak-milestone-tile.unlocked:hover{transform:translateY(-2px)}.streak-milestone-tile.locked{filter:grayscale(.85);opacity:.55}.streak-milestone-tile-flame{width:32px;height:32px;color:var(--text-2,#ffffff80);background:#ffffff0f;border-radius:50%;place-items:center;font-size:.9rem;display:grid}.streak-milestone-tile.unlocked .streak-milestone-tile-flame{color:var(--text-on-accent);background:radial-gradient(circle,gold,#f59e0b 70%)}.streak-milestone-tile strong{font-size:.9rem;font-weight:800}.streak-milestone-tile small{color:var(--text-2,#ffffff8c);font-size:.65rem}@media (max-width:480px){.chip-action{min-height:36px;padding:7px 12px}}@media (prefers-reduced-motion:reduce){.streak-milestone,.streak-milestone-flame,.home-quick-empty .home-quick-icon-pulse i,.goal-ring.goal-ring-levelup{animation:none!important}}.voice2-shell.cinema{--rim-listening:#4cc9f0;--rim-thinking:#7c3aed;--rim-speaking:#f72585;--aura-color:#f7a072;--aura-scale:1;--aura-alpha:.4;--scene-grad-1:#fde68a;--scene-grad-2:#fb923c;--scene-grad-3:#9a3412;--scene-tint:#fef3c7;min-height:100dvh;padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));isolation:isolate;color:#f1f5f9;grid-template-rows:auto auto 1fr auto auto;gap:14px;display:grid;position:relative;overflow:hidden}.voice2-shell.cinema .voice2-orb-host,.voice2-shell.cinema .voice2-waveform-host,.voice2-shell.cinema .voice2-transcript,.voice2-shell.cinema .voice2-avatar-host{display:none!important}.cinema-backdrop{z-index:-1;background:radial-gradient(80% 60% at 50% 35%, var(--scene-grad-1) 0%, transparent 70%), conic-gradient(from 200deg at 50% 50%, var(--scene-grad-2), var(--scene-grad-3), var(--scene-grad-2));filter:saturate(120%)blur(40px);opacity:.85;transition:background .8s,opacity .6s;animation:28s ease-in-out infinite alternate cinemaDrift;position:absolute;inset:-10%}.cinema-backdrop:after{content:"";background:radial-gradient(60% 50% at 50% 80%, color-mix(in srgb, var(--scene-tint) 40%, transparent), transparent 70%);mix-blend-mode:screen;opacity:.6;position:absolute;inset:0}@keyframes cinemaDrift{0%{transform:translate(0,0)scale(1)}50%{transform:translate(2%,-1%)scale(1.05)}to{transform:translate(-2%,1%)scale(1.02)}}.voice2-shell.cinema .voice2-header.minimal{-webkit-backdrop-filter:saturate(180%)blur(20px);letter-spacing:.2px;background:#0f172a6b;border:1px solid #ffffff14;border-radius:999px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:13px;font-weight:600;display:flex}.voice2-shell.cinema .voice2-header.minimal .voice2-pair{opacity:.85}.voice2-shell.cinema .voice2-header.minimal .voice2-status{align-items:center;gap:6px;display:inline-flex}.voice2-shell.cinema .voice2-header.minimal .voice2-status .status-dot{background:#94a3b8;border-radius:50%;width:8px;height:8px;transition:background .2s}.voice2-shell.cinema .voice2-header.minimal .voice2-status[data-kind=live] .status-dot{background:#22c55e;animation:1.6s ease-in-out infinite dotPulse}.voice2-shell.cinema .voice2-header.minimal .voice2-status[data-kind=connecting].status-dot,.voice2-shell.cinema .voice2-header.minimal .voice2-status[data-kind=connecting] .status-dot{background:var(--secondary);animation:1.2s ease-in-out infinite dotPulse}.voice2-shell.cinema .voice2-header.minimal .voice2-timer{font-variant-numeric:tabular-nums;opacity:.75}.persona-carousel{transition:padding .24s,transform .24s;position:relative}.persona-carousel-track{scroll-snap-type:x mandatory;scrollbar-width:none;gap:12px;padding:4px 8px 8px;display:flex;overflow-x:auto}.persona-carousel-track::-webkit-scrollbar{display:none}.persona-card{-webkit-backdrop-filter:saturate(160%)blur(14px);width:184px;color:inherit;text-align:left;cursor:pointer;scroll-snap-align:center;background:#0f172a73;border:1px solid #ffffff14;border-radius:24px;flex:none;grid-template-rows:200px auto;gap:10px;padding:10px;transition:transform .22s,border-color .22s,box-shadow .22s,background .22s;display:grid}.persona-card:hover{border-color:color-mix(in srgb, var(--aura-color,#fff) 35%, #ffffff2e);box-shadow:0 16px 40px -16px color-mix(in srgb, var(--aura-color,#000) 30%, transparent);transform:translateY(-3px)}.persona-card[aria-selected=true]{border-color:color-mix(in srgb, var(--aura-color) 70%, transparent);box-shadow:0 18px 48px -12px color-mix(in srgb, var(--aura-color) 55%, transparent), inset 0 0 0 2px color-mix(in srgb, var(--aura-color) 50%, transparent), 0 0 0 2px color-mix(in srgb, var(--aura-color) 28%, transparent);background:#0f172a9e}.persona-card-portrait{background:radial-gradient(circle at 30% 20%, color-mix(in srgb, var(--aura-color,#7c3aed) 55%, transparent) 0%, transparent 60%), linear-gradient(160deg, color-mix(in srgb, var(--aura-color,#7c3aed) 22%, #0f1729), color-mix(in srgb, var(--ambient-color,#0f1729) 70%, #0f1729));border-radius:18px;position:relative;overflow:hidden}.persona-card-portrait img{object-fit:cover;width:100%;height:100%;display:block}.persona-card-portrait img[hidden]{display:none}.persona-card-fallback{filter:drop-shadow(0 8px 24px #00000073);background:radial-gradient(circle at 30% 20%, color-mix(in srgb, var(--aura-color,#7c3aed) 38%, transparent) 0%, transparent 65%), radial-gradient(circle at 70% 80%, color-mix(in srgb, var(--ambient-color,#0f1729) 30%, transparent) 0%, transparent 65%);justify-content:center;align-items:center;width:100%;height:100%;font-size:84px;display:flex}.persona-card-fallback[hidden]{display:none}.persona-card-flag{filter:drop-shadow(0 2px 6px #00000080);font-size:20px;position:absolute;top:10px;left:10px}.persona-card-level{letter-spacing:.4px;background:color-mix(in srgb, var(--aura-color,#7c3aed) 28%, #0f172ab3);border:1px solid color-mix(in srgb, var(--aura-color,#7c3aed) 40%, #ffffff24);color:#f8fafc;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);text-shadow:0 1px 2px #0006;border-radius:999px;padding:3px 9px;font-size:10px;font-weight:700;position:absolute;top:10px;right:10px}.persona-card-meta{gap:4px;padding:0 4px 2px;display:grid}.persona-card-name{letter-spacing:.1px;color:#f8fafc;font-size:15px;font-weight:800}.persona-card-scene{letter-spacing:.2px;background:color-mix(in srgb, var(--aura-color,#7c3aed) 18%, #0f172a99);border:1px solid color-mix(in srgb, var(--aura-color,#7c3aed) 30%, transparent);color:color-mix(in srgb, var(--aura-color,#7c3aed) 40%, #fff);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-self:start;width:max-content;max-width:100%;padding:3px 8px;font-size:10.5px;font-weight:700;display:inline-block;overflow:hidden}.persona-card-bio{opacity:.82;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11.5px;line-height:1.4;display:-webkit-box;overflow:hidden}.persona-carousel[data-collapsed=true]{justify-content:center;padding:4px 0;display:flex}.persona-chip{background:color-mix(in srgb, var(--aura-color,#7c3aed) 14%, #0f172a99);border:1px solid color-mix(in srgb, var(--aura-color,#7c3aed) 36%, #ffffff1f);color:inherit;cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 8px 22px -10px color-mix(in srgb, var(--aura-color,#000) 40%, transparent);border-radius:999px;align-items:center;gap:10px;padding:6px 14px 6px 6px;font-weight:700;transition:background .16s,transform .16s,box-shadow .16s;display:inline-flex}.persona-chip:hover{background:color-mix(in srgb, var(--aura-color,#7c3aed) 22%, #0f172ab8);transform:translateY(-1px)}.persona-chip-portrait{background:color-mix(in srgb, var(--aura-color,#7c3aed) 30%, #ffffff14);border:1px solid color-mix(in srgb, var(--aura-color,#7c3aed) 40%, transparent);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;display:flex;overflow:hidden}.persona-chip-portrait img{object-fit:cover;width:100%;height:100%}.persona-chip-portrait>span[hidden]{display:none}.persona-chip-name{font-size:13px}.persona-chip i{opacity:.6;font-size:12px}.cinema-stage{isolation:isolate;place-items:center;width:100%;min-height:0;padding:8px 0;display:grid;position:relative}.cinema-portrait-wrap{aspect-ratio:4/5;z-index:2;border-radius:28px;width:clamp(220px,56vmin,360px);transition:filter .32s,opacity .32s;position:relative;overflow:hidden;box-shadow:0 24px 72px -24px #0000008c,inset 0 0 0 1px #ffffff14}.cinema-portrait,.cinema-fallback{object-fit:cover;width:100%;height:100%;display:block}.cinema-fallback{background:radial-gradient(circle at 30% 25%, color-mix(in srgb, var(--aura-color,#7c3aed) 32%, transparent) 0%, transparent 62%), linear-gradient(160deg, color-mix(in srgb, var(--aura-color,#7c3aed) 14%, var(--cinema-fallback-base)), var(--cinema-fallback-base));box-shadow:inset 0 0 0 1px var(--cinema-fallback-shadow);justify-content:center;align-items:center;display:flex}.cinema-fallback .tav{width:96%;height:96%}.cinema-portrait[hidden],.cinema-fallback[hidden]{display:none!important}.cinema-aura{aspect-ratio:1;z-index:1;background:radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--aura-color) 65%, transparent) 0%, transparent 60%);filter:blur(14px);width:clamp(280px,72vmin,460px);opacity:var(--aura-alpha,.4);transform:scale(var(--aura-scale,1));pointer-events:none;border-radius:50%;transition:opacity .2s;position:absolute}.voice2-shell.cinema[data-state=idle] .cinema-aura,.voice2-shell.cinema[data-state=connecting] .cinema-aura{opacity:.28;animation:4.2s ease-in-out infinite cinemaBreath}.voice2-shell.cinema[data-state=listening] .cinema-aura{background:radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--rim-listening) 55%, transparent) 0%, transparent 60%);opacity:.32;animation:2.6s ease-in-out infinite cinemaBreath}.voice2-shell.cinema[data-state=thinking] .cinema-aura{background:radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--rim-thinking) 55%, transparent) 0%, transparent 60%);opacity:.36;animation:1.4s ease-in-out infinite cinemaBreath}.voice2-shell.cinema[data-state=ended] .cinema-aura{opacity:.12;animation:none}@keyframes cinemaBreath{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.cinema-rim{z-index:3;border-radius:inherit;pointer-events:none;transition:box-shadow .32s;position:absolute;inset:0;box-shadow:inset 0 0 #fff0,0 0 #fff0}.voice2-shell.cinema[data-state=connecting] .cinema-portrait-wrap{filter:brightness(.6)}.voice2-shell.cinema[data-state=connecting] .cinema-rim{box-shadow:0 0 0 2px color-mix(in srgb, var(--rim-listening) 40%, transparent), 0 0 60px 8px color-mix(in srgb, var(--rim-listening) 30%, transparent);animation:2s ease-out infinite alternate cinemaRimBuild}.voice2-shell.cinema[data-state=listening] .cinema-rim{box-shadow:0 0 0 3px color-mix(in srgb, var(--rim-listening) 70%, transparent), 0 0 80px 10px color-mix(in srgb, var(--rim-listening) 45%, transparent);animation:1.2s ease-in-out infinite cinemaRimPulse}.voice2-shell.cinema[data-state=thinking] .cinema-rim{box-shadow:0 0 0 3px color-mix(in srgb, var(--rim-thinking) 60%, transparent), 0 0 90px 14px color-mix(in srgb, var(--rim-thinking) 40%, transparent);animation:.6s ease-in-out infinite cinemaRimPulse}.voice2-shell.cinema[data-state=speaking] .cinema-rim{box-shadow:0 0 0 3px color-mix(in srgb, var(--rim-speaking) 75%, transparent), 0 0 120px 18px color-mix(in srgb, var(--rim-speaking) 60%, transparent)}.voice2-shell.cinema[data-state=ended] .cinema-portrait-wrap{filter:grayscale(.6)brightness(.6)}.voice2-shell.cinema[data-state=ended] .cinema-rim{box-shadow:none}@keyframes cinemaRimPulse{0%,to{filter:brightness()}50%{filter:brightness(1.2)}}@keyframes cinemaRimBuild{0%{opacity:.4}to{opacity:1}}.cinema-portrait-overlay{pointer-events:none;z-index:4;position:absolute;inset:0}.cinema-overlay-mic{width:36px;height:36px;color:var(--text-on-accent);background:#f43f5ed9;border-radius:50%;place-items:center;font-size:14px;animation:1.6s ease-in-out infinite dotPulse;display:grid;position:absolute;top:12px;right:12px;box-shadow:0 6px 18px #f43f5e73}.cinema-overlay-think{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172a9e;border-radius:999px;gap:6px;padding:8px 12px;display:inline-flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.cinema-overlay-think span{background:#fff;border-radius:50%;width:6px;height:6px;animation:.9s ease-in-out infinite cinemaDot}.cinema-overlay-think span:nth-child(2){animation-delay:.12s}.cinema-overlay-think span:nth-child(3){animation-delay:.24s}@keyframes cinemaDot{0%,80%,to{opacity:.5;transform:translateY(0)}40%{opacity:1;transform:translateY(-6px)}}.cinema-waveform{pointer-events:none;z-index:2;opacity:.55;justify-content:center;align-items:flex-end;gap:3px;width:clamp(220px,56vmin,360px);height:48px;display:flex;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}.cinema-waveform .cinema-bar{width:3px;height:var(--bar-h,4px);background:linear-gradient(180deg, color-mix(in srgb, var(--aura-color,#7c3aed) 80%, black) 0%, var(--aura-color,#7c3aed) 100%);border-radius:2px;transition:height 60ms linear}.voice2-shell.cinema[data-state=speaking] .cinema-waveform{opacity:.95}.voice2-shell.cinema[data-state=idle] .cinema-waveform,.voice2-shell.cinema[data-state=connecting] .cinema-waveform{opacity:.25}.caption-stream{text-align:center;gap:6px;min-height:96px;padding:8px 14px;display:grid;position:relative}.caption-prev{opacity:.42;text-wrap:balance;max-height:1.6em;font-size:clamp(12px,2.4vw,15px);font-weight:500;transition:opacity .24s;overflow:hidden}.caption-now{letter-spacing:.1px;text-wrap:balance;text-shadow:0 2px 18px #0006;max-height:5.2em;font-size:clamp(18px,4.4vw,30px);font-weight:700;line-height:1.28;overflow:hidden}.caption-now[data-role=user]{color:#cbe6ff}.caption-now[data-role=assistant]{color:var(--text-on-accent)}.caption-now[data-role=hint]{color:#ffffff8c;font-style:italic;font-weight:500}.caption-stream[data-state=listening] .caption-now{opacity:.5}.caption-stream[data-state=speaking] .caption-now[data-role=assistant][data-tokenized="1"]:after{content:"▮";color:color-mix(in srgb, var(--rim-color,var(--primary)) 80%, white);margin-left:4px;font-weight:400;animation:1.05s steps(2,start) infinite captionTypingBlink;display:inline-block}@keyframes captionTypingBlink{to{visibility:hidden}}@media (prefers-reduced-motion:reduce){.caption-stream[data-state=speaking] .caption-now[data-role=assistant][data-tokenized="1"]:after{opacity:.7;animation:none}}.caption-think{justify-content:center;gap:6px;display:inline-flex}.caption-think span{background:color-mix(in srgb, var(--rim-thinking) 80%, white);border-radius:50%;width:8px;height:8px;animation:.9s ease-in-out infinite cinemaDot}.caption-think span:nth-child(2){animation-delay:.12s}.caption-think span:nth-child(3){animation-delay:.24s}.caption-think[hidden]{display:none}.voice2-shell.cinema .voice2-dock.floating{-webkit-backdrop-filter:saturate(180%)blur(22px);background:#0f172aa6;border:1px solid #ffffff14;border-radius:999px;justify-content:center;align-items:center;gap:14px;margin:0 auto;padding:10px 14px;display:flex;position:sticky;bottom:0;box-shadow:0 16px 48px -16px #0000008c}.voice2-shell.cinema .voice2-dock.floating .dock-btn{width:48px;height:48px;color:inherit;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:50%;place-items:center;transition:background .16s,transform .12s;display:grid}.voice2-shell.cinema .voice2-dock.floating .dock-btn:hover{background:#ffffff1f}.voice2-shell.cinema .voice2-dock.floating .dock-btn:active{transform:scale(.96)}.voice2-shell.cinema .voice2-dock.floating .dock-btn[data-act=mute][aria-pressed=true]{color:var(--text-on-accent);background:#f43f5ed9;border-color:#f43f5e}.voice2-shell.cinema .voice2-dock.floating .dock-btn.dock-end{color:#fecaca;background:#f43f5e2e;border-color:#f43f5e73}.voice2-shell.cinema .voice2-dock.floating .dock-cta{letter-spacing:.15px;color:var(--text-on-accent);background:linear-gradient(135deg, var(--rim-listening), var(--rim-speaking));box-shadow:0 12px 32px -8px color-mix(in srgb, var(--rim-speaking) 60%, transparent);cursor:pointer;border:none;border-radius:999px;align-items:center;gap:8px;padding:12px 22px;font-size:14px;font-weight:800;transition:transform .12s,filter .16s;display:inline-flex}.voice2-shell.cinema .voice2-dock.floating .dock-cta:hover{filter:brightness(1.08)}.voice2-shell.cinema .voice2-dock.floating .dock-cta:active{transform:scale(.98)}.voice2-shell.cinema .voice2-hint{text-align:center;opacity:.55;justify-content:center;align-items:center;gap:6px;font-size:12px;display:flex}@media (max-width:768px){.persona-card{grid-template-rows:184px auto;width:152px}}@media (max-width:480px){.voice2-shell.cinema{gap:10px;padding-left:12px;padding-right:12px}.voice2-shell.cinema .voice2-header.minimal{padding:8px 12px;font-size:12px}.persona-card{grid-template-rows:168px auto;width:138px;padding:8px}.persona-card-name{font-size:14px}.persona-card-bio{-webkit-line-clamp:2;font-size:11px}.cinema-portrait-wrap{width:clamp(200px,64vmin,320px)}.cinema-aura{width:clamp(260px,80vmin,420px)}.caption-now{font-size:clamp(16px,5.2vw,22px)}.voice2-shell.cinema .voice2-dock.floating .dock-cta{padding:10px 16px;font-size:13px}}@media (max-width:360px){.persona-card{grid-template-rows:152px auto;width:128px}.voice2-shell.cinema .voice2-dock.floating .dock-btn{width:42px;height:42px}}@media (prefers-reduced-motion:reduce){.cinema-backdrop,.cinema-aura,.cinema-rim,.cinema-overlay-mic,.cinema-overlay-think span,.caption-think span{animation:none!important}.voice2-shell.cinema[data-state=speaking] .cinema-aura{transform:scale(1)!important}}.app-shell .chat-shell-2026b{height:calc(100dvh - 56px - var(--s-12));grid-template-columns:280px 1fr;gap:0;max-width:none;margin:0;display:grid;position:relative}@media (max-width:768px){.app-shell .chat-shell-2026b{grid-template-columns:1fr;height:calc(100dvh - 128px)}}.app-shell .chat-shell-2026b .chat-main{min-height:0;padding:var(--s-3);gap:var(--s-3);grid-template-rows:auto auto auto 1fr auto;display:grid}.app-shell .chat-topbar-2026{--persona-accent:var(--brand-1);align-items:center;gap:var(--s-3);padding:10px var(--s-4);border-radius:var(--r-3);background:linear-gradient(135deg, color-mix(in srgb, var(--persona-accent) 14%, #0f172a8c) 0%, #0f172a8c 100%);border:1px solid color-mix(in srgb, var(--persona-accent) 22%, #ffffff14);-webkit-backdrop-filter:var(--glass-blur);grid-template-columns:auto minmax(0,1fr) auto auto;display:grid;position:relative;overflow:hidden}@media (max-width:420px){.app-shell .chat-topbar-2026{gap:var(--s-2);padding:8px var(--s-3);grid-template-columns:auto minmax(0,1fr) auto}.app-shell .chat-topbar-2026 .chat-topbar-spacer{display:none}}.app-shell .chat-topbar-2026:before{content:"";background:radial-gradient(60% 80% at 8% 50%, color-mix(in srgb, var(--persona-accent) 18%, transparent), transparent 60%);pointer-events:none;position:absolute;inset:0}.app-shell .chat-topbar-2026>*{z-index:1;position:relative}.app-shell .chat-topbar-2026 .chat-history-toggle{display:none}@media (max-width:768px){.app-shell .chat-topbar-2026 .chat-history-toggle{display:inline-flex}}.app-shell .chat-persona-chip{border-radius:var(--r-pill);border:1px solid color-mix(in srgb, var(--persona-accent) 38%, #ffffff1a);color:var(--text-1);cursor:pointer;background:#ffffff0f;align-items:center;gap:10px;padding:6px 14px 6px 6px;font-family:inherit;transition:background .16s,transform .16s,border-color .16s;display:inline-flex}.app-shell .chat-persona-chip:hover{border-color:color-mix(in srgb, var(--persona-accent) 65%, transparent);background:#ffffff1a;transform:translateY(-1px)}.app-shell .chat-persona-avatar{background:linear-gradient(135deg, var(--brand-1), var(--brand-2));width:36px;height:36px;box-shadow:0 4px 12px color-mix(in srgb, var(--persona-accent) 35%, transparent);border-radius:50%;flex-shrink:0;place-items:center;display:grid;overflow:hidden}.app-shell .chat-persona-avatar img{object-fit:cover;width:100%;height:100%;display:block}.app-shell .chat-persona-avatar>span{font-size:18px}.app-shell .chat-persona-meta{text-align:left;flex-direction:column;gap:1px;min-width:0;line-height:1.15;display:flex}.app-shell .chat-persona-meta strong{font-family:var(--font-display);letter-spacing:.1px;white-space:nowrap;font-size:.95rem;font-weight:800}.app-shell .chat-persona-meta small{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;max-width:14ch;font-size:.72rem;overflow:hidden}@media (min-width:540px){.app-shell .chat-persona-meta small{max-width:22ch}}@media (min-width:900px){.app-shell .chat-persona-meta small{max-width:32ch}}.app-shell .chat-persona-cue{opacity:.55;font-size:.7rem}.app-shell .chat-topbar-spacer{min-width:4px}.app-shell .chat-topbar-2026 .chat-controls{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.app-shell .chat-level-chip{border-radius:var(--r-pill);color:var(--text-1);cursor:pointer;font-feature-settings:"tnum";background:#ffffff0f;border:1px solid #ffffff1a;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:700;transition:background .16s,border-color .16s;display:inline-flex}.app-shell .chat-level-chip:hover{border-color:color-mix(in srgb, var(--persona-accent) 50%, #ffffff2e);background:#ffffff1a}.app-shell .chat-level-chip i{color:color-mix(in srgb, var(--persona-accent) 80%, white)}.app-shell .chat-scene-strip{border-radius:var(--r-3,18px);background:linear-gradient(135deg, color-mix(in srgb, var(--persona-accent) 12%, #ffffff0a), color-mix(in srgb, var(--persona-accent) 4%, #ffffff05));border:1px solid color-mix(in srgb, var(--persona-accent) 32%, #ffffff14);align-items:center;gap:14px;margin:8px 12px 6px;padding:10px 14px;display:flex;position:relative;overflow:hidden}.app-shell .chat-scene-strip:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--persona-accent) 60%, transparent), transparent);opacity:.7;height:1px;animation:4.2s ease-in-out infinite chat-scene-shimmer;position:absolute;bottom:0;left:12%;right:12%}@keyframes chat-scene-shimmer{0%,to{opacity:.4;transform:translate(-12%)}50%{opacity:.85;transform:translate(12%)}}.app-shell .chat-scene-portrait{background:linear-gradient(135deg, var(--brand-1), var(--brand-2));outline:2px solid color-mix(in srgb, var(--persona-accent) 65%, transparent);outline-offset:1px;width:48px;height:48px;box-shadow:0 4px 14px color-mix(in srgb, var(--persona-accent) 30%, transparent);border-radius:50%;flex:none;overflow:hidden}.app-shell .chat-scene-portrait persona-portrait{width:100%;height:100%;display:block}.app-shell .chat-scene-meta{flex-direction:column;flex:auto;gap:2px;min-width:0;line-height:1.2;display:flex}.app-shell .chat-scene-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:color-mix(in srgb, var(--persona-accent) 70%, var(--text-2));font-size:.68rem;font-weight:700}.app-shell .chat-scene-name{font-family:var(--font-display);letter-spacing:.1px;color:var(--text-1);white-space:nowrap;text-overflow:ellipsis;font-size:1.05rem;font-weight:800;overflow:hidden}.app-shell .chat-scene-line{color:var(--text-3);align-items:center;gap:6px;font-size:.78rem;display:inline-flex}.app-shell .chat-scene-flag{font-size:.95rem}.app-shell .chat-scene-place{white-space:nowrap;text-overflow:ellipsis;max-width:28ch;overflow:hidden}.app-shell .chat-scene-switch{border:1px solid color-mix(in srgb, var(--persona-accent) 40%, #ffffff1f);border-radius:var(--r-pill);color:var(--text-1);cursor:pointer;background:#ffffff0d;flex:none;align-items:center;gap:6px;padding:7px 12px;font-size:.78rem;font-weight:700;transition:background .16s,border-color .16s,transform .16s;display:inline-flex}.app-shell .chat-scene-switch:hover{background:color-mix(in srgb, var(--persona-accent) 16%, #ffffff0d);border-color:color-mix(in srgb, var(--persona-accent) 65%, #fff3);transform:translateY(-1px)}@media (max-width:540px){.app-shell .chat-scene-strip{gap:10px;margin:6px 8px 4px;padding:8px 10px}.app-shell .chat-scene-portrait{width:42px;height:42px}.app-shell .chat-scene-switch span{display:none}.app-shell .chat-scene-switch{padding:7px 9px}.app-shell .chat-scene-place{max-width:18ch}}.app-shell .chat-mode-bar{border-radius:var(--r-pill);-webkit-backdrop-filter:blur(12px);scrollbar-width:none;background:#ffffff0a;border:1px solid #ffffff0f;gap:4px;padding:4px;display:flex;overflow-x:auto}.app-shell .chat-mode-bar::-webkit-scrollbar{display:none}.app-shell .chat-mode-tab{border-radius:var(--r-pill);color:var(--text-3);cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:8px;padding:8px 16px;font-family:inherit;font-size:.85rem;font-weight:700;transition:background .2s,color .2s,transform .16s;display:inline-flex}.app-shell .chat-mode-tab:hover{color:var(--text-1)}.app-shell .chat-mode-tab i{font-size:.85rem}.app-shell .chat-mode-tab.active{background:linear-gradient(135deg, var(--brand-1), var(--brand-2));color:var(--text-on-accent);box-shadow:0 4px 14px #667eea66}.app-shell .chat-mode-tab.active i{color:var(--text-on-accent)}.app-shell .chat-welcome{padding:var(--s-4) 0;align-self:center;width:100%;list-style:none;display:block}.app-shell .chat-welcome-card{gap:var(--s-4);padding:var(--s-4);border-radius:var(--r-3);grid-template-columns:96px 1fr;align-items:center;max-width:720px;margin:0 auto;display:grid;position:relative;overflow:hidden}.app-shell .chat-welcome-card:before{content:"";pointer-events:none;background:radial-gradient(80% 60% at 0 0,#667eea2e,#0000 60%),radial-gradient(60% 80% at 100% 100%,#f725851a,#0000 70%);position:absolute;inset:0}.app-shell .chat-welcome-card>*{z-index:1;position:relative}.app-shell .chat-welcome-portrait{background:linear-gradient(135deg, var(--brand-1), var(--brand-2));border-radius:50%;width:96px;height:96px;position:relative;overflow:hidden;box-shadow:0 12px 32px -8px #667eea99}.app-shell .chat-welcome-portrait-img{object-fit:cover;width:100%;height:100%;display:block}.app-shell .chat-welcome-portrait-fallback{place-items:center;width:100%;height:100%;font-size:36px;display:grid}.app-shell .chat-welcome-flag{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172ad9;border:2px solid #ffffff2e;border-radius:50%;place-items:center;width:32px;height:32px;font-size:16px;display:grid;position:absolute;bottom:-2px;right:-2px}.app-shell .chat-welcome-text{flex-direction:column;gap:8px;min-width:0;display:flex}.app-shell .chat-welcome-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--brand-3) 80%, white);opacity:.85;align-items:center;gap:6px;font-size:.72rem;font-weight:800;display:inline-flex}.app-shell .chat-welcome-eyebrow i{color:var(--accent)}.app-shell .chat-welcome-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-1);text-wrap:balance;margin:0;font-size:clamp(1.1rem,2.2vw,1.4rem);font-weight:800;line-height:1.25}.app-shell .chat-welcome-sub{color:var(--text-2);margin:0;font-size:.92rem;line-height:1.5}.app-shell .chat-welcome-chips{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.app-shell .chat-welcome-chip{border-radius:var(--r-pill);color:var(--text-1);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;align-items:center;gap:8px;padding:8px 14px;font-family:inherit;font-size:.82rem;font-weight:600;transition:background .16s,transform .16s,border-color .16s;display:inline-flex}.app-shell .chat-welcome-chip:hover{background:#ffffff1a;border-color:#667eea80;transform:translateY(-2px)}.app-shell .chat-welcome-chip-icon{background:linear-gradient(135deg, var(--brand-1), var(--brand-2));width:24px;height:24px;color:var(--text-on-accent);border-radius:50%;flex-shrink:0;place-items:center;font-size:.7rem;display:grid}@media (max-width:560px){.app-shell .chat-welcome-card{text-align:center;grid-template-columns:1fr}.app-shell .chat-welcome-portrait{margin:0 auto}.app-shell .chat-welcome-chips{justify-content:center}}.app-shell .chat-loading{border-radius:var(--r-pill);color:var(--text-3);background:#ffffff0a;border:1px solid #ffffff14;align-self:flex-start;align-items:center;gap:10px;padding:12px 18px;font-size:.9rem;list-style:none;display:inline-flex}.app-shell .chat-loading-dot{background:var(--brand-3);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite chatLoadingDot}.app-shell .chat-loading-dot:nth-child(2){animation-delay:.15s}.app-shell .chat-loading-dot:nth-child(3){animation-delay:.3s}@keyframes chatLoadingDot{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.app-shell .bubble-assistant .avatar-tutor{--persona-accent:var(--brand-1);background:linear-gradient(135deg, var(--persona-accent,var(--brand-1)), color-mix(in srgb, var(--persona-accent,var(--brand-1)) 60%, var(--brand-2)));outline:2px solid color-mix(in srgb, var(--persona-accent,var(--brand-1)) 70%, transparent);outline-offset:1px;width:36px;height:36px;box-shadow:0 0 0 4px color-mix(in srgb, var(--persona-accent,var(--brand-1)) 18%, transparent), 0 4px 12px color-mix(in srgb, var(--persona-accent,var(--brand-1)) 35%, transparent);overflow:hidden}.app-shell .bubble-assistant .avatar-tutor img{object-fit:cover;width:100%;height:100%;display:block}.app-shell .chat-composer-host{padding-top:4px}.app-shell .composer.glass{background:var(--glass-bg);border-radius:var(--r-3);-webkit-backdrop-filter:var(--glass-blur);border:1px solid #ffffff1a;box-shadow:0 -4px 24px -8px #00000040}:root[data-theme=light] .app-shell .composer.glass{background:#ffffffd9;border-color:#0f172a14}.app-shell .qa-chip{font-weight:600;transition:background .16s,transform .12s,border-color .16s}.app-shell .qa-chip:hover{background:#ffffff1a;border-color:#667eea66;transform:translateY(-1px)}.app-shell .send-btn{box-shadow:0 6px 18px -4px #667eea8c}.app-shell .send-btn:hover{transform:translateY(-1px)scale(1.03)}.app-shell .send-btn:disabled{opacity:.5;box-shadow:none;transform:none}.app-shell .chat-shell-2026b .conv-list{background:#0f172a73;border-right:1px solid #ffffff0f}:root[data-theme=light] .app-shell .chat-shell-2026b .conv-list{background:#ffffffb3;border-right-color:#0f172a0f}.conv-list-head{background:#ffffff05}.conv-list-head h3{font-family:var(--font-display);letter-spacing:-.01em;font-weight:800}.conv-list-search{border-radius:var(--r-pill);background:#ffffff0d;border:1px solid #ffffff14;margin:8px 12px 4px;padding:8px 12px}.conv-list-search:focus-within{background:#ffffff12;border-color:#667eea80}.conv-list-group-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);opacity:.85;padding:14px 16px 6px;font-size:.7rem;font-weight:800}.conv-item{border-left:0;border-radius:12px;margin:0 8px;padding:10px 12px;transition:background .16s,transform .16s}.conv-item:hover{background:#ffffff0f;transform:translate(2px)}.conv-item.active{background:linear-gradient(135deg,#667eea2e,#764ba21f);border-left:0;box-shadow:inset 0 0 0 1px #667eea59}.conv-item-meta{align-items:center;gap:6px;font-size:.7rem;display:inline-flex!important}.conv-item-lang{color:color-mix(in srgb, var(--brand-3) 80%, white);letter-spacing:.04em;background:#667eea2e;border-radius:999px;padding:1px 6px;font-size:.62rem;font-weight:800;display:inline-block}.conv-item-when{opacity:.65}.conv-list-empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;display:flex}.conv-list-empty i{color:var(--brand-3);opacity:.6;font-size:1.8rem}.conv-list-new{border-radius:var(--r-pill);justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-weight:700;display:inline-flex}.voice2-shell.cinema.voice2-shell.cinema.voice2-shell-2026 .voice2-header.minimal{grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:8px 14px;display:grid}.app-shell .voice2-shell.cinema .voice2-back{color:#f1f5f9;background:#ffffff14;border:1px solid #ffffff1a;border-radius:50%;width:36px;height:36px}.app-shell .voice2-shell.cinema .voice2-back:hover{background:#ffffff29}.voice2-header-mid{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;display:flex}.voice2-shell.cinema.voice2-shell.cinema.voice2-shell-2026 .voice2-pair{font-family:var(--font-display);letter-spacing:.6px;border-radius:var(--r-pill);background:#ffffff0f;border:1px solid #ffffff14;padding:4px 10px;font-size:.78rem;font-weight:800}.voice2-preflight{-webkit-backdrop-filter:saturate(180%)blur(20px);background:#0f172a6b;border:1px solid #ffffff14;border-radius:18px;flex-direction:column;gap:10px;width:100%;max-width:720px;margin:0 auto;padding:12px 14px;transition:opacity .24s,max-height .32s,padding .24s,margin .24s,border-color .24s;display:flex}.voice2-shell.is-live .voice2-preflight{opacity:0;pointer-events:none;border-color:#0000;max-height:0;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;overflow:hidden}.voice2-preflight-row{grid-template-columns:92px 1fr;align-items:center;gap:12px;display:grid}.voice2-preflight-label{color:#f1f5f9c7;letter-spacing:.02em;align-items:center;gap:6px;font-size:.78rem;font-weight:700;display:inline-flex}.voice2-preflight-label i{color:var(--aura-color,#f7a072);opacity:.9}.voice2-pill-row{scrollbar-width:none;scroll-snap-type:x mandatory;flex-wrap:nowrap;gap:6px;padding:2px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 14px calc(100% - 14px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 14px calc(100% - 14px),#0000 100%)}.voice2-pill-row::-webkit-scrollbar{display:none}.voice2-pill{scroll-snap-align:start;border-radius:var(--r-pill);color:#f1f5f9;cursor:pointer;white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff1a;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:.82rem;font-weight:700;transition:background .16s,transform .12s,border-color .16s,color .16s;display:inline-flex}.voice2-pill:hover{background:#ffffff1f;transform:translateY(-1px)}.voice2-pill.active{background:linear-gradient(135deg, color-mix(in srgb, var(--aura-color,#f7a072) 40%, #0f172a99), #0f172a99);border-color:color-mix(in srgb, var(--aura-color,#f7a072) 60%, transparent);color:var(--text-on-accent);box-shadow:0 6px 16px -6px color-mix(in srgb, var(--aura-color,#f7a072) 60%, transparent)}.voice2-pill-flag{font-size:.95rem}.voice2-pill-level{font-feature-settings:"tnum";justify-content:center;min-width:36px}.voice2-tap-hint{pointer-events:none;z-index:5;letter-spacing:.4px;color:#ffffffd9;text-shadow:0 2px 12px #00000073;flex-direction:column;align-items:center;gap:6px;font-size:12px;font-weight:700;display:none;position:absolute;top:calc(50% + clamp(110px,28vmin,200px));left:50%;transform:translate(-50%)}.voice2-shell.cinema[data-state=speaking] .voice2-tap-hint{display:flex}.voice2-tap-ring{border:2px solid #ffffff8c;border-radius:50%;width:22px;height:22px;position:relative}.voice2-tap-ring:after{content:"";border:2px solid #ffffff59;border-radius:50%;animation:1.6s ease-out infinite voice2TapRing;position:absolute;inset:-6px}@keyframes voice2TapRing{0%{opacity:.85;transform:scale(.85)}to{opacity:0;transform:scale(1.6)}}.voice2-tap-flash .voice2-tap-ring:after{animation:.7s ease-out voice2TapFlash}@keyframes voice2TapFlash{0%{opacity:1;border-color:#ffffffd9;transform:scale(.85)}to{opacity:0;border-color:#fff0;transform:scale(2.4)}}.voice2-shell.cinema[data-captions=off] .caption-stream{display:none}.voice2-shell.cinema .voice2-dock.floating .dock-btn.dock-captions.off{color:#f1f5f973;background:#ffffff0a;border-color:#ffffff0f}.voice2-shell.cinema.voice2-shell-2026 .voice2-dock.floating{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin:0 auto;padding:8px 12px;display:flex}.voice2-shell.cinema.voice2-shell-2026 .voice2-dock.floating .dock-btn{width:44px;height:44px}.voice2-shell.cinema .voice2-dock.floating .dock-cta{isolation:isolate;padding:12px 22px 12px 20px;position:relative}.dock-cta-aura{background:linear-gradient(135deg, var(--rim-listening,#4cc9f0), var(--rim-speaking,#f72585));filter:blur(14px);opacity:.55;z-index:-1;border-radius:999px;animation:3.6s ease-in-out infinite dockCtaBreath;position:absolute;inset:-4px}@keyframes dockCtaBreath{0%,to{opacity:.45;transform:scale(1)}50%{opacity:.75;transform:scale(1.04)}}.voice2-shell.cinema .voice2-dock.floating .dock-cta:hover .dock-cta-aura{opacity:.85}.voice2-shell.cinema .voice2-dock.floating .dock-cta i{animation:2.4s ease-in-out infinite dockCtaBolt}@keyframes dockCtaBolt{0%,to{transform:translateY(0)rotate(0)}20%{transform:translateY(-1px)rotate(-6deg)}60%{transform:translateY(0)rotate(6deg)}}.voice2-shell.cinema .voice2-dock.floating .dock-cta[hidden]{display:none}.voice2-shell.cinema[data-state=idle]:not(.is-live) .cinema-portrait-wrap:after{content:"";border:2px solid color-mix(in srgb, var(--aura-color,#f7a072) 60%, transparent);pointer-events:none;z-index:2;border-radius:32px;animation:2.4s ease-out infinite cinemaReadyPulse;position:absolute;inset:-8px}@keyframes cinemaReadyPulse{0%{opacity:.85;transform:scale(.97)}to{opacity:0;transform:scale(1.08)}}.voice2-shell.cinema.is-live .persona-carousel-host{margin-top:-4px}.voice2-shell.cinema[data-captions=off] .voice2-hint{margin-top:-8px}@media (prefers-reduced-motion:reduce){.voice2-tap-ring:after,.dock-cta-aura,.voice2-shell.cinema .voice2-dock.floating .dock-cta i,.voice2-shell.cinema[data-state=idle]:not(.is-live) .cinema-portrait-wrap:after,.chat-loading-dot{animation:none!important}}.home-quick-btn-live{position:relative}.home-quick-live-pulse{letter-spacing:.08em;color:#fda4af;text-transform:uppercase;pointer-events:none;z-index:2;background:#f43f5e2e;border:1px solid #f43f5e80;border-radius:999px;align-items:center;gap:5px;padding:3px 8px;font-size:.62rem;font-weight:800;display:inline-flex;position:absolute;top:10px;right:12px}.home-quick-live-pulse .live-dot{background:#f43f5e;border-radius:50%;width:6px;height:6px;animation:1.6s ease-in-out infinite liveDotPulse;box-shadow:0 0 #f43f5e8c}@keyframes liveDotPulse{0%{box-shadow:0 0 #f43f5e8c}70%{box-shadow:0 0 0 8px #f43f5e00}to{box-shadow:0 0 #f43f5e00}}@media (prefers-reduced-motion:reduce){.home-quick-live-pulse .live-dot{animation:none}}@media (max-width:640px){.app-shell .chat-topbar-2026{grid-template-columns:auto 1fr auto;grid-template-areas:"toggle persona controls""modes modes modes";padding:8px 12px}.app-shell .chat-topbar-2026 .chat-history-toggle{grid-area:toggle}.app-shell .chat-persona-chip{grid-area:persona;padding:4px 10px 4px 4px}.app-shell .chat-persona-avatar{width:32px;height:32px}.app-shell .chat-persona-meta strong{font-size:.85rem}.app-shell .chat-persona-meta small{display:none}.app-shell .chat-topbar-2026 .chat-controls{grid-area:controls}.app-shell .chat-topbar-2026 .chat-controls>[data-slot=lang]{display:none}.app-shell .chat-mode-tab{padding:7px 12px;font-size:.78rem}.app-shell .chat-mode-tab span{display:inline}.voice2-preflight-row{grid-template-columns:1fr;gap:6px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.gradient-mesh .blob-shape,.cinema-stage:before,.cinema-stage:after,.orb-ring,.orb-bg,.voice2-orb,.live-dot,.dot-pulse,.loader-orb,[class*=cinemaReady],[class*=auroraFloat],[class*=bargeinFlash]{animation:none!important}}@media (prefers-contrast:more){:root,[data-theme=dark]{--text-secondary:var(--text-primary);--text-light:var(--text-primary);--border-color:currentColor}.glass,[class*=glass]{-webkit-backdrop-filter:none!important;background:var(--card)!important}.btn,.icon-btn,.chip,.nav-pill{border:2px solid!important}}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}.field-error{color:var(--error);letter-spacing:.01em;margin:6px 0 0;font-size:.85rem;font-weight:500}.field-error:before{content:"⚠ ";margin-right:4px}[aria-invalid=true].chip-group{outline:1px dashed var(--error);outline-offset:6px;border-radius:12px}.composer-input[aria-invalid=true]{box-shadow:0 0 0 2px var(--error-bg)}.mic-btn[disabled]{opacity:.4;cursor:not-allowed;filter:saturate(.4)}.onboarding-microcopy{text-align:center;letter-spacing:.01em;margin:8px 0 12px;font-size:.9rem;animation:.28s both hy-microcopy-in}@keyframes hy-microcopy-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.onboarding-microcopy{animation:none}}@media (max-width:640px){.voice2-preflight-label{font-size:.72rem}}.app-bottombar{padding-bottom:max(8px, env(safe-area-inset-bottom))!important}@media (orientation:landscape) and (max-height:500px){.voice2-stage{grid-template-columns:1fr 1fr;align-items:center}}@view-transition{navigation:auto}::view-transition-old(root){animation-duration:.28s;animation-timing-function:cubic-bezier(.32,.72,0,1)}::view-transition-new(root){animation-duration:.28s;animation-timing-function:cubic-bezier(.32,.72,0,1)}::view-transition-old(root){animation-name:hy-fade-out-soft}::view-transition-new(root){animation-name:hy-fade-in-soft}@keyframes hy-fade-out-soft{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.992)}}@keyframes hy-fade-in-soft{0%{opacity:0;transform:scale(1.004)}to{opacity:1;transform:scale(1)}}[data-vt=persona]{view-transition-name:hy-persona}:root.theme-sweep::view-transition-old(root){animation-name:hy-theme-sweep-out;animation-duration:.48s}:root.theme-sweep::view-transition-new(root){animation-name:hy-theme-sweep-in;animation-duration:.48s}@keyframes hy-theme-sweep-in{0%{clip-path:circle(0 at var(--theme-sweep-cx,50%) var(--theme-sweep-cy,50%))}to{clip-path:circle(150vmax at var(--theme-sweep-cx,50%) var(--theme-sweep-cy,50%))}}@keyframes hy-theme-sweep-out{0%{clip-path:circle(150vmax at var(--theme-sweep-cx,50%) var(--theme-sweep-cy,50%))}to{clip-path:circle(0 at var(--theme-sweep-cx,50%) var(--theme-sweep-cy,50%))}}@media (prefers-reduced-motion:reduce){::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}}@supports (content-visibility:auto){.message-stream .bubble{content-visibility:auto;contain-intrinsic-size:auto 120px}}.chat-main{container:chat/inline-size}@container chat (width<=540px){.chat-main .composer .quick-actions{display:none}}@container chat (width<=420px){.chat-main .bubble-actions [data-action=save],.chat-main .bubble-actions [data-action=explain]{display:none}.chat-main .bubble-actions{gap:4px}}.app-shell .app-bottombar-2026{grid-template-columns:1fr 1fr 96px 1fr 1fr;align-items:end;gap:0;transition:transform .2s ease-out;overflow:visible}.app-shell .app-bottombar-2026.is-hidden{pointer-events:none;transform:translateY(110%)}@media (prefers-reduced-motion:reduce){.app-shell .app-bottombar-2026{transition:none}}.app-shell .app-bottombar-2026 .bb-tab{min-height:56px;color:var(--text-3);flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:8px 2px;font-size:.7rem;font-weight:600;text-decoration:none;display:flex;position:relative}.app-shell .app-bottombar-2026 .bb-tab.active{color:var(--text-1)}.app-shell .app-bottombar-2026 .bb-tab.active i{background:linear-gradient(135deg, var(--brand-1), var(--brand-2));color:#0000;-webkit-background-clip:text;background-clip:text}.app-shell .app-bottombar-2026 .bb-tab i{font-size:1.125rem}.app-shell .app-bottombar-2026 .bb-fab{background:linear-gradient(135deg, var(--brand-1,#4361ee), var(--accent,#f72585));width:64px;height:64px;color:var(--text-on-accent);box-shadow:0 12px 28px -6px #4361ee8c,  0 0 0 4px var(--app-chrome-cutout,#0a0e27d9);transition:transform var(--t-fast,.15s) ease, box-shadow var(--t-fast,.15s) ease;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;margin:0 auto;text-decoration:none;display:flex;position:relative;transform:translateY(-18px)}.app-shell .app-bottombar-2026 .bb-fab:active{transform:translateY(-15px)scale(.96)}.app-shell .app-bottombar-2026 .bb-fab i{-webkit-background-clip:initial;background-clip:initial;font-size:1.4rem;color:#fff!important;background:0 0!important}.app-shell .app-bottombar-2026 .bb-fab-label{color:var(--text-3);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;font-size:.65rem;font-weight:700;position:absolute;bottom:-16px;left:50%;transform:translate(-50%)}.app-shell .app-bottombar-2026 .bb-fab.active .bb-fab-label{color:var(--text-1)}.app-shell .app-bottombar-2026 .bb-fab-glow{filter:blur(8px);z-index:-1;pointer-events:none;background:radial-gradient(circle,#f7258559 0%,#0000 70%);border-radius:50%;animation:2.4s ease-in-out infinite fabGlowPulse;position:absolute;inset:-6px}@keyframes fabGlowPulse{0%,to{opacity:.55;transform:scale(.95)}50%{opacity:.95;transform:scale(1.08)}}.app-shell .app-bottombar-2026 .bb-fab:focus-visible{outline:3px solid var(--accent,#f72585);outline-offset:4px}.app-shell .app-sidenav-2026 ul{gap:4px}.app-shell .app-sidenav-2026 a{padding:14px 16px;font-size:.95rem;font-weight:600}.app-shell .app-sidenav-2026 a i{font-size:1.05rem}@media (prefers-reduced-motion:reduce){.app-shell .app-bottombar-2026 .bb-fab-glow{opacity:.6;animation:none}}.app-shell .practice-shell{gap:var(--s-5,1.5rem);flex-direction:column;max-width:960px;margin:0 auto;display:flex}.app-shell .practice-hero h1{font-family:var(--font-display,inherit);margin:0 0 .4rem;font-size:clamp(1.6rem,3vw,2.2rem)}.app-shell .practice-hero .muted{color:var(--text-2,var(--text-secondary));margin:0;font-size:1.0625rem;line-height:1.5}.app-shell .practice-grid{gap:var(--s-3,.75rem);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.app-shell .practice-card{align-items:center;gap:var(--s-3,.75rem);padding:var(--s-4,1rem) var(--s-4,1rem);color:var(--text-1,var(--text));text-align:left;cursor:pointer;transition:transform var(--t-fast,.15s) ease, border-color var(--t-fast,.15s) ease, background var(--t-fast,.15s) ease;font:inherit;background:#ffffff0a;border:1px solid #ffffff14;border-radius:18px;display:flex}.app-shell .practice-card:hover{background:#6366f114;border-color:#6366f166;transform:translateY(-3px)}.app-shell .practice-card-icon{width:56px;height:56px;color:var(--text-on-accent);background:linear-gradient(135deg, var(--brand-1,#4361ee), var(--brand-2,#4cc9f0));border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.4rem;display:inline-flex}.app-shell .practice-card-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.app-shell .practice-card-text strong{font-size:1rem;font-weight:700}.app-shell .practice-card-text small{color:var(--text-2,var(--text-secondary));font-size:.85rem;line-height:1.4}.app-shell .practice-card-arrow{color:var(--text-3,var(--text-secondary));opacity:.6;transition:transform var(--t-fast,.15s) ease, opacity var(--t-fast,.15s) ease;font-size:1.25rem}.app-shell .practice-card:hover .practice-card-arrow{opacity:1;transform:translate(3px)}.app-shell .practice-card-story .practice-card-icon{background:linear-gradient(135deg,#a855f7,#f59e0b)}.app-shell .practice-card-cafe .practice-card-icon{background:linear-gradient(135deg,#fb7185,#f59e0b)}.app-shell .practice-card-karaoke .practice-card-icon{background:linear-gradient(135deg,#06b6d4,#6366f1)}.app-shell .practice-card-mirror .practice-card-icon{background:linear-gradient(135deg,#10b981,#06b6d4)}[data-theme=light] .app-shell .practice-card{background:#fff;border-color:#0f172a1a;box-shadow:0 1px 2px #0f172a0a}[data-theme=light] .app-shell .practice-card:hover{background:#6366f10f;border-color:#6366f173}.app-shell .you-shell{gap:var(--s-4,1rem);flex-direction:column;max-width:960px;margin:0 auto;display:flex}.app-shell .you-tabs{scrollbar-width:none;background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;align-self:flex-start;gap:4px;max-width:100%;padding:4px;display:flex;overflow-x:auto}.app-shell .you-tabs::-webkit-scrollbar{display:none}.app-shell .you-tab{appearance:none;color:var(--text-2,var(--text-secondary));font:inherit;cursor:pointer;white-space:nowrap;transition:background var(--t-fast,.15s) ease, color var(--t-fast,.15s) ease;background:0 0;border:0;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-size:.9rem;font-weight:600;display:inline-flex}.app-shell .you-tab:hover{color:var(--text-1,var(--text));background:#ffffff0f}.app-shell .you-tab.is-active{background:linear-gradient(135deg, var(--brand-1,#4361ee), var(--brand-2,#4cc9f0));color:var(--text-on-accent);box-shadow:0 6px 16px -4px #4361ee8c}.app-shell .you-tab i{font-size:.9rem}.app-shell .you-pane{min-height:400px}[data-theme=light] .app-shell .you-tabs{background:#0f172a0a;border-color:#0f172a1a}[data-theme=light] .app-shell .you-tab{color:var(--text-2)}[data-theme=light] .app-shell .you-tab:hover{color:var(--text-1);background:#0f172a0f}.app-shell .home-shell-2026{gap:var(--s-4,1rem);flex-direction:column;max-width:960px;margin:0 auto;display:flex}.app-shell .tutor-tip-strip{align-items:center;gap:var(--s-3,.75rem);background:linear-gradient(135deg,#6366f11f,#ec48991a);border:1px solid #6366f138;border-radius:14px;padding:10px 14px;font-size:.92rem;line-height:1.4;display:flex}.app-shell .tutor-tip-strip .tip-icon{width:32px;height:32px;color:var(--text-on-accent);background:#6366f133;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.app-shell .tutor-tip-strip .tip-text{flex:1;min-width:0}.app-shell .tutor-tip-strip .tip-cta{color:var(--text-1,var(--text));transition:background var(--t-fast,.15s) ease;background:#6366f138;border-radius:999px;flex-shrink:0;padding:6px 12px;font-size:.85rem;font-weight:700;text-decoration:none}.app-shell .tutor-tip-strip .tip-cta:hover{background:#6366f15c}.app-shell .tutor-tip-strip .tip-dismiss{appearance:none;min-width:44px;min-height:44px;color:var(--text-3,var(--text-secondary));cursor:pointer;background:0 0;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;line-height:1;display:inline-flex}.app-shell .tutor-tip-strip .tip-dismiss:hover{background:var(--app-chrome-hover,#ffffff14);color:var(--text-1,var(--text))}.app-shell .home-next{--persona-accent:var(--brand-1,#4361ee);background:radial-gradient(120% 80% at 80% 0%, color-mix(in oklab, var(--persona-accent) 18%, transparent) 0%, transparent 60%), #ffffff0a;border:1px solid #ffffff1a;border-radius:20px;padding:clamp(20px,4vw,32px);position:relative;overflow:hidden}.app-shell .home-next:before{content:"";border-radius:inherit;pointer-events:none;border:1px solid color-mix(in oklab, var(--persona-accent) 32%, transparent);position:absolute;inset:0}.app-shell .home-next .next-card-row{align-items:center;gap:clamp(16px,3vw,28px);display:flex}.app-shell .home-next .next-portrait{background:linear-gradient(135deg, var(--persona-accent), color-mix(in oklab, var(--persona-accent) 60%, #f72585));width:clamp(72px,14vw,112px);height:clamp(72px,14vw,112px);color:var(--text-on-accent);box-shadow:0 16px 36px -12px color-mix(in oklab, var(--persona-accent) 60%, transparent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:2rem;display:inline-flex}.app-shell .home-next .next-portrait-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.app-shell .home-next .next-body{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.app-shell .home-next .next-title{font-family:var(--font-display,inherit);letter-spacing:-.01em;margin:0;font-size:clamp(1.4rem,3vw,2rem);font-weight:700;line-height:1.15}.app-shell .home-next .next-sub{color:var(--text-2,var(--text-secondary));margin:0;font-size:.95rem;line-height:1.45}.app-shell .home-next .next-actions{gap:var(--s-2,.5rem);flex-wrap:wrap;align-items:center;margin-top:8px;display:flex}.app-shell .home-next .btn-next-primary{background:linear-gradient(135deg, var(--persona-accent), color-mix(in oklab, var(--persona-accent) 60%, #f72585));color:var(--text-on-accent);box-shadow:0 10px 24px -8px color-mix(in oklab, var(--persona-accent) 50%, transparent);transition:transform var(--t-fast,.15s) ease, box-shadow var(--t-fast,.15s) ease;border-radius:999px;align-items:center;gap:8px;padding:12px 22px;font-size:.97rem;font-weight:700;text-decoration:none;display:inline-flex}.app-shell .home-next .btn-next-primary:hover{transform:translateY(-1px)}.app-shell .home-next .btn-next-primary:active{transform:translateY(0)scale(.98)}.app-shell .home-next .btn-next-primary:focus-visible{box-shadow:0 0 0 3px var(--persona-accent,var(--brand-1,#4361ee)), 0 0 0 6px #fff3, 0 10px 24px -8px color-mix(in oklab, var(--persona-accent) 50%, transparent);outline:none}.app-shell .home-next .btn-next-secondary:focus-visible{outline:2px solid var(--persona-accent,var(--brand-1,#4361ee));outline-offset:3px;border-radius:999px}.app-shell .home-next .btn-next-secondary{color:var(--text-1,var(--text));transition:background var(--t-fast,.15s) ease, border-color var(--t-fast,.15s) ease, transform var(--t-fast,.15s) ease;background:#ffffff0a;border:1.5px solid #ffffff2e;border-radius:999px;align-items:center;gap:8px;padding:11px 20px;font-size:.95rem;font-weight:700;text-decoration:none;display:inline-flex}.app-shell .home-next .btn-next-secondary i{opacity:.9;font-size:.95rem}.app-shell .home-next .btn-next-secondary:hover{color:var(--text-1,var(--text));background:#ffffff14;border-color:#ffffff4d;transform:translateY(-1px)}.app-shell .home-next .btn-next-secondary:active{transform:translateY(0)scale(.98)}[data-theme=light] .app-shell .home-next .btn-next-secondary{background:#0f172a0a;border-color:#0f172a2e}[data-theme=light] .app-shell .home-next .btn-next-secondary:hover{background:#0f172a14;border-color:#0f172a4d}.app-shell .home-next .next-disclosure{margin-top:var(--s-3,.75rem);padding-top:var(--s-3,.75rem);border-top:1px solid #ffffff0f}.app-shell .home-next .next-disclosure summary{cursor:pointer;color:var(--text-3,var(--text-secondary));padding:4px 0;font-size:.85rem;font-weight:600;list-style:none}.app-shell .home-next .next-disclosure summary::-webkit-details-marker{display:none}.app-shell .home-next .next-disclosure summary:after{content:"  +";opacity:.6}.app-shell .home-next .next-disclosure[open] summary:after{content:"  −"}.app-shell .home-next .next-alt-chips{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.app-shell .home-next .next-alt-chip{color:var(--text-2,var(--text-secondary));transition:background var(--t-fast,.15s) ease, color var(--t-fast,.15s) ease;background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:.83rem;font-weight:600;text-decoration:none;display:inline-flex}.app-shell .home-next .next-alt-chip:hover{color:var(--text-1,var(--text));background:#ffffff14}.app-shell .home-next .next-alt-chip:focus-visible{box-shadow:0 0 0 2px var(--persona-accent,var(--brand-1,#4361ee));color:var(--text-1,var(--text));background:#ffffff1a;outline:none}.app-shell .home-next .next-alt-chip i{opacity:.85;font-size:.8rem}@media (max-width:540px){.app-shell .home-next .next-card-row{flex-direction:column;align-items:flex-start;gap:14px}.app-shell .home-next .next-portrait{width:64px;height:64px;font-size:1.5rem}.app-shell .home-next .next-actions{width:100%}.app-shell .home-next .btn-next-primary{flex:1;justify-content:center}}.app-shell .home-loop{gap:var(--s-3,.75rem);grid-template-columns:1fr auto 1fr;align-items:stretch;display:grid}.app-shell .home-loop .loop-cell{background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;align-items:center;gap:10px;min-height:64px;padding:12px 16px;display:flex}.app-shell .home-loop .loop-streak{flex-direction:column;justify-content:center;align-items:stretch;gap:6px}.app-shell .home-loop .loop-streak-num{align-items:baseline;gap:6px;font-size:.95rem;display:inline-flex}.app-shell .home-loop .loop-streak-num i{color:#f59e0b}.app-shell .home-loop .loop-streak-num strong{font-size:1.4rem;font-weight:800}.app-shell .home-loop .loop-streak-num .loop-streak-label{color:var(--text-3,var(--text-secondary));font-size:.78rem}.app-shell .home-loop .loop-streak-week{gap:4px;display:inline-flex}.app-shell .home-loop .loop-streak-cell{background:#ffffff1a;border-radius:3px;width:12px;height:6px}.app-shell .home-loop .loop-streak-cell.is-active{background:linear-gradient(90deg,#f59e0b,#f43f5e)}.app-shell .home-loop .loop-goal{justify-content:center;min-width:140px}.app-shell .home-loop .loop-goal .goal-ring{flex-shrink:0}.app-shell .home-loop .loop-goal-meta{flex-direction:column;gap:2px;font-size:.85rem;display:flex}.app-shell .home-loop .loop-goal-meta strong{font-size:1.05rem;font-weight:800}.app-shell .home-loop .loop-goal-meta .loop-goal-sep{color:var(--text-3,var(--text-secondary));font-weight:500}.app-shell .home-loop .loop-goal-meta span{color:var(--text-3,var(--text-secondary));letter-spacing:.04em;text-transform:uppercase;font-size:.75rem}.app-shell .home-loop .loop-vocab-link{color:inherit;align-items:center;gap:10px;width:100%;text-decoration:none;display:inline-flex}.app-shell .home-loop .loop-vocab-link i{color:var(--brand-1,#4361ee);font-size:1.2rem}.app-shell .home-loop .loop-vocab-link.is-due i{color:var(--accent,#f72585)}.app-shell .home-loop .loop-vocab-link strong{font-size:1.2rem;font-weight:800}.app-shell .home-loop .loop-vocab-link span{color:var(--text-3,var(--text-secondary));font-size:.78rem}@media (max-width:700px){.app-shell .home-loop{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.app-shell .home-loop .loop-cell{animation:none!important}}.app-shell .talk-shell{flex-direction:column;gap:12px;height:100%;min-height:calc(100dvh - 56px);display:flex}@media (max-width:768px){.app-shell .talk-shell{min-height:calc(100dvh - 56px - 96px - env(safe-area-inset-bottom,0px))}}.app-shell .talk-mode-toggle{background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;align-self:center;gap:2px;padding:4px;display:inline-flex}.app-shell .talk-mode-btn{appearance:none;color:var(--text-2,var(--text-secondary));font:inherit;cursor:pointer;transition:background var(--t-fast,.15s) ease, color var(--t-fast,.15s) ease;background:0 0;border:0;border-radius:999px;align-items:center;gap:8px;padding:8px 18px;font-size:.88rem;font-weight:600;display:inline-flex}.app-shell .talk-mode-btn:hover{color:var(--text-1,var(--text))}.app-shell .talk-mode-btn.is-active{background:linear-gradient(135deg, var(--brand-1,#4361ee), var(--accent,#f72585));color:var(--text-on-accent);box-shadow:0 4px 12px -3px #4361ee73}.app-shell .talk-mode-btn i{font-size:.85rem}.app-shell .talk-mode-btn:focus-visible{outline:2px solid var(--accent,#f72585);outline-offset:2px}.app-shell .talk-host{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}@media (prefers-reduced-motion:reduce){.app-shell .talk-mode-btn{transition:none}}.personas{padding:clamp(60px, 9vw, 110px) var(--space-md,1rem);position:relative}.personas .section-header{text-align:center;max-width:760px;margin:0 auto var(--space-xl,2rem)}.personas-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;max-width:1200px;margin:0 auto;display:grid}.persona-card{background:var(--card);border:1px solid var(--border-color);cursor:pointer;transition:transform .4s var(--ease-pop), box-shadow .4s ease, border-color .3s ease;border-radius:24px;flex-direction:column;gap:.6rem;padding:1.75rem;display:flex;position:relative}.persona-card:hover{border-color:#6366f166;transform:translateY(-4px);box-shadow:0 16px 36px -16px #6366f14d}.persona-card:focus-visible{outline:2px solid var(--accent,#f72585);outline-offset:3px}.persona-portrait{background:linear-gradient(135deg, color-mix(in oklab, var(--brand-1,#4361ee) 20%, transparent), color-mix(in oklab, var(--accent,#f72585) 16%, transparent));border:1px solid #6366f14d;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:.25rem;font-size:1.8rem;display:inline-flex}.persona-card h3{font-family:var(--font-display,inherit);letter-spacing:-.01em;margin:0;font-size:1.4rem;font-weight:800}.persona-meta{color:var(--text-secondary);letter-spacing:.01em;margin:0;font-size:.82rem;font-weight:600}.persona-line{color:var(--text);margin:.25rem 0;font-size:.95rem;font-style:italic;line-height:1.45}.persona-tag{letter-spacing:.04em;text-transform:uppercase;background:color-mix(in oklab, var(--brand-1,#4361ee) 14%, transparent);color:var(--brand-1,#4361ee);border-radius:999px;align-self:flex-start;align-items:center;margin-top:auto;padding:4px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.persona-pill{letter-spacing:.06em;background:linear-gradient(135deg, var(--brand-1,#4361ee), var(--accent,#f72585));color:var(--text-on-accent);border-radius:999px;padding:4px 10px;font-size:.7rem;font-weight:800;position:absolute;top:12px;right:12px}.persona-card-featured{background:linear-gradient(180deg, color-mix(in oklab, var(--brand-1,#4361ee) 6%, var(--card)) 0%, var(--card) 100%);border-color:#6366f173}.persona-card-soon{opacity:.85;cursor:default}.persona-card-soon:hover{transform:none}@media (max-width:640px){.personas-grid{gap:1rem}.persona-card{padding:1.4rem}}@media (prefers-reduced-motion:reduce){.persona-card,.persona-card:hover{transition:none;transform:none}}@media (max-width:480px){.app-shell .talk-mode-toggle{justify-content:stretch;align-self:stretch;margin:0 12px}.app-shell .talk-mode-btn{flex:1;justify-content:center;min-height:48px;padding:10px 14px;font-size:.92rem}}.app-shell .talk-shell:has(.voice2-shell.cinema) .talk-mode-toggle{z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a8c;position:absolute;top:8px;left:50%;transform:translate(-50%)}.app-shell .voice2-dock .dock-cta[aria-busy=true],.app-shell .voice2-dock .dock-cta[disabled],.app-shell .voice2-dock .dock-cta.is-connecting{filter:saturate(.55)brightness(.85);cursor:progress;pointer-events:none;opacity:.85}.app-shell .voice2-dock .dock-cta.is-connecting:after{content:"";border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;margin-left:6px;animation:.7s linear infinite voice2DockSpin}@keyframes voice2DockSpin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.app-shell .voice2-dock .dock-cta.is-connecting:after{border-top-color:#fff9;animation:none}}.app-shell .voice2-dock .dock-cta{background:linear-gradient(135deg, var(--persona-accent,var(--brand-1,#4361ee)), color-mix(in oklab, var(--persona-accent,var(--accent,#f72585)) 60%, var(--accent,#f72585)))}.app-shell .voice2-dock :where(.dock-btn,.dock-cta):focus-visible{outline:2px solid var(--persona-accent,var(--accent,#f72585));outline-offset:3px;border-radius:inherit}.app-shell .caption-stream{scroll-behavior:smooth;scrollbar-width:thin;overscroll-behavior:contain;max-height:40vh;overflow-y:auto}.app-shell .caption-stream::-webkit-scrollbar{width:6px}.app-shell .caption-stream::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:3px}.app-shell .caption-stream :where(.caption-now,.caption-prev){scroll-snap-align:end}@media (prefers-reduced-motion:reduce){.app-shell .cinema-aura,.app-shell .voice2-shell.cinema .cinema-portrait-wrap:before,.app-shell .voice2-shell.cinema [data-state=thinking],.blob-shape,.gradient-mesh .blob-shape,body .blob-shape{animation:none!important}}.difference{padding:clamp(60px, 9vw, 110px) var(--space-md,1rem);position:relative}.difference .section-header{text-align:center;max-width:760px;margin:0 auto var(--space-xl,2rem)}.difference .section-header h2{font-family:var(--font-display,inherit);letter-spacing:-.02em;margin:0 0 var(--space-md,1rem);font-size:clamp(2rem,4vw,2.8rem);font-weight:800}.difference .section-description{max-width:620px;margin:0 auto;line-height:1.55}.comparison-grid{grid-template-columns:1fr 1fr;gap:clamp(16px,3vw,28px);max-width:1080px;margin:0 auto;display:grid}@media (max-width:768px){.comparison-grid{grid-template-columns:1fr}}.comparison-col{background:var(--card,#ffffff0a);border:1px solid #6366f126;border-radius:24px;padding:clamp(24px,3vw,36px);position:relative}.comparison-col-head{margin-bottom:var(--space-lg,1.5rem);padding-bottom:var(--space-md,1rem);border-bottom:1px solid #6366f11f}.comparison-col-tag{letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary,var(--text-2));margin-bottom:6px;font-size:.72rem;font-weight:700;display:inline-block}.comparison-col h3{font-family:var(--font-display,inherit);margin:0;font-size:clamp(1.4rem,2.5vw,1.8rem);font-weight:800}.comparison-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.comparison-list li{padding:0 0 0 28px;font-size:1rem;line-height:1.55;position:relative}.comparison-list li:before{content:"";border-radius:50%;width:16px;height:16px;position:absolute;top:8px;left:0}.comparison-old{font-variation-settings:"wdth" 90, "wght" 500}.comparison-old .comparison-col-tag{color:#f87171d9}.comparison-old h3{opacity:.85}.comparison-list li:before{background:0 0;border:1.5px dashed #f8717199}.comparison-old li{color:var(--text-secondary,var(--text-2));text-underline-offset:4px;-webkit-text-decoration:line-through #f8717159;text-decoration:line-through #f8717159;text-decoration-thickness:1px}.comparison-new{font-variation-settings:"wdth" 100, "wght" 500;background:radial-gradient(120% 80% at 100% 0%, #f725851a 0%, transparent 60%), var(--card,#ffffff0a);border-color:#6366f173;box-shadow:0 24px 60px -20px #6366f14d}.comparison-new .comparison-col-tag{background:linear-gradient(135deg,#6366f1,#ec4899);color:#0000;-webkit-background-clip:text;background-clip:text}.comparison-list-new li:before{background:linear-gradient(135deg,#6366f1,#ec4899);border:none;box-shadow:0 4px 10px -2px #6366f173}.comparison-list-new li em{font-style:normal;font-weight:700}@media (max-width:760px){.comparison-grid{grid-template-columns:1fr}}.app-footer .footer-aside{color:var(--text-secondary,var(--text-2));opacity:.75;margin-top:6px;font-size:.78rem;font-style:italic}.app-shell .user-menu-wrap{position:relative}.app-shell .user-chip-btn{appearance:none;color:var(--text-1,var(--text));cursor:pointer;font:inherit;transition:background var(--motion-duration-quick,.16s) var(--motion-ease-flow,ease), border-color var(--motion-duration-quick,.16s) var(--motion-ease-flow,ease), transform var(--motion-duration-quick,.16s) var(--motion-ease-flow,ease);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:8px;padding:6px 12px 6px 6px;font-weight:600;display:inline-flex}.app-shell .user-chip-btn:hover{background:#ffffff1a;border-color:#ffffff2e}.app-shell .user-chip-btn.is-open{background:#ffffff1f;border-color:#ffffff38}[data-theme=light] .app-shell .user-chip-btn{background:#0f172a0a;border-color:#0f172a1a}[data-theme=light] .app-shell .user-chip-btn:hover{background:#0f172a12;border-color:#0f172a2e}[data-theme=light] .app-shell .user-chip-btn.is-open{background:#0f172a1a;border-color:#0f172a38}.app-shell .user-chip-btn .avatar{background:linear-gradient(135deg, var(--brand-1,#4361ee), var(--brand-2,#4cc9f0));width:28px;height:28px;color:var(--text-on-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:800;display:inline-flex}.app-shell .user-chip-btn .user-name{text-overflow:ellipsis;white-space:nowrap;max-width:9rem;font-size:.85rem;overflow:hidden}.app-shell .user-chip-btn .user-chip-caret{opacity:.65;transition:transform var(--motion-duration-quick,.16s) var(--motion-ease-flow,ease);font-size:.65rem}.app-shell .user-chip-btn.is-open .user-chip-caret{transform:rotate(180deg)}@media (max-width:540px){.app-shell .user-chip-btn .user-name,.app-shell .user-chip-btn .user-chip-caret{display:none}.app-shell .user-chip-btn{padding:4px}}.app-shell .user-menu-popover{top:calc(100% + 8px);z-index:var(--z-modal,1000);-webkit-backdrop-filter:blur(16px);min-width:220px;animation:userMenuIn .16s var(--motion-ease-quick,cubic-bezier(.2, .8, .2, 1));transform-origin:100% 0;background:#0f172af5;border:1px solid #ffffff1a;border-radius:14px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;inset-inline-end:0;box-shadow:0 24px 48px -12px #0000008c,0 8px 16px -8px #00000059}.app-shell .user-menu-popover[hidden]{display:none}.app-shell .home-skills .skills-coldstart{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:24px 16px;display:flex}.app-shell .home-skills .skills-coldstart-icon{width:56px;height:56px;color:var(--brand-1,#4361ee);background:linear-gradient(135deg,#6366f12e,#ec48991f);border-radius:16px;justify-content:center;align-items:center;font-size:1.5rem;display:inline-flex}.app-shell .home-skills .skills-coldstart-cta{justify-content:center;min-width:200px}.app-shell .home-tree-host .tree-coldstart{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:32px 16px;display:flex}.app-shell .home-tree-host .tree-coldstart-icon{width:56px;height:56px;color:var(--brand-3,#4cc9f0);background:linear-gradient(135deg,#6366f12e,#4cc9f01a);border-radius:16px;justify-content:center;align-items:center;font-size:1.5rem;display:inline-flex}.app-shell .home-tree-host .tree-coldstart-title{margin:4px 0 0;font-size:1.05rem;font-weight:700}.app-shell .home-tree-host .tree-coldstart-body{max-width:38ch;color:var(--text-2,var(--text-secondary));margin:0;font-size:.92rem;line-height:1.5}[data-theme=light] .app-shell .user-menu-popover{background:#fff;border-color:#0f172a1a;box-shadow:0 24px 48px -12px #0f172a2e,0 8px 16px -8px #0f172a1a}@keyframes userMenuIn{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.app-shell .user-menu-item{appearance:none;cursor:pointer;color:var(--text-1,var(--text));font:inherit;text-align:left;transition:background var(--motion-duration-quick,.16s) var(--motion-ease-flow,ease);background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:.9rem;font-weight:600;display:flex}.app-shell .user-menu-item:hover{background:#ffffff14}[data-theme=light] .app-shell .user-menu-item:hover{background:#0f172a0f}.app-shell .user-menu-item i{text-align:center;opacity:.85;width:16px}.app-shell .user-menu-divider{background:#ffffff14;height:1px;margin:4px 8px}[data-theme=light] .app-shell .user-menu-divider{background:#0f172a14}.app-shell .user-menu-danger{color:#fca5a5}.app-shell .user-menu-danger:hover{color:#fda4af;background:#f43f5e24}[data-theme=light] .app-shell .user-menu-danger{color:#b91c1c}[data-theme=light] .app-shell .user-menu-danger:hover{color:#991b1b;background:#f43f5e1a}.app-shell .home-shell-v2{--card-elevation-1:0 4px 16px -8px #00000059;--card-elevation-2:0 12px 36px -16px #00000080;--card-elevation-3:0 24px 56px -24px #0000008c;--accent-warm:linear-gradient(135deg, #f59e0b, #f43f5e);--card-bg-dark:#ffffff0a;--card-bg-light:#fff;--card-border-dark:#ffffff1a;--card-border-light:#0f172a14;flex-direction:column;gap:clamp(14px,2vw,20px);max-width:1080px;margin:0 auto;padding-bottom:32px;display:flex}.app-shell .home-greeting{background:radial-gradient(120% 90% at 0% 0%, #6366f12e 0%, transparent 55%), radial-gradient(80% 80% at 100% 100%, #f7258524 0%, transparent 60%), var(--card-bg-dark);border:1px solid var(--card-border-dark);box-shadow:var(--card-elevation-2);border-radius:22px;padding:clamp(20px,3vw,32px);position:relative;overflow:hidden}[data-theme=light] .app-shell .home-greeting{background:radial-gradient(120% 90% at 0% 0%, #6366f11f 0%, transparent 55%), radial-gradient(80% 80% at 100% 100%, #f7258514 0%, transparent 60%), var(--card-bg-light);border-color:var(--card-border-light);box-shadow:0 12px 32px -16px #0f172a2e}.app-shell .home-greeting:after{content:"";pointer-events:none;border-radius:inherit;background:linear-gradient(135deg,#0000 60%,#ffffff0a);position:absolute;inset:0}.app-shell .home-greeting .greeting-row{z-index:1;justify-content:space-between;align-items:center;gap:clamp(16px,3vw,32px);display:flex;position:relative}.app-shell .home-greeting .greeting-text{flex:1;min-width:0}.app-shell .home-greeting .greeting-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3,var(--text-secondary));margin:0 0 4px;font-size:.78rem;font-weight:700}.app-shell .home-greeting .greeting-title{font-family:var(--font-display);letter-spacing:-.015em;color:var(--text-1,var(--text));margin:0;font-size:clamp(1.5rem,3.5vw,2.4rem);font-weight:800;line-height:1.1}.app-shell .home-greeting .greeting-meta{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.app-shell .home-greeting .meta-chip{color:var(--text-2,var(--text-secondary));background:#ffffff0f;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.82rem;font-weight:600;display:inline-flex}[data-theme=light] .app-shell .home-greeting .meta-chip{color:var(--text-secondary);background:#0f172a0a;border-color:#0f172a1a}.app-shell .home-greeting .meta-chip i{opacity:.85;font-size:.78rem}.app-shell .home-greeting .meta-chip strong{color:var(--text-1,var(--text));font-weight:800}.app-shell .home-greeting .meta-level i{color:var(--icon-cool)}.app-shell .home-greeting .meta-streak.is-active i{color:var(--icon-warm)}.app-shell .home-greeting .meta-streak.is-active{background:linear-gradient(135deg, color-mix(in oklab, var(--warning) 18%, transparent), color-mix(in oklab, var(--error) 12%, transparent));border-color:color-mix(in oklab, var(--warning) 32%, transparent)}.app-shell .home-greeting .meta-free i{color:var(--icon-pink)}.app-shell .home-greeting .greeting-spark{color:var(--icon-cool);flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.app-shell .home-greeting .greeting-spark .sparkline svg{display:block}.app-shell .home-greeting .greeting-spark-caption{color:var(--text-3,var(--text-secondary));letter-spacing:.04em;font-size:.72rem}@media (max-width:640px){.app-shell .home-greeting .greeting-row{flex-direction:column;align-items:flex-start}.app-shell .home-greeting .greeting-spark{align-self:flex-start;align-items:flex-start}}.app-shell .home-loop-v2{grid-template-columns:1.2fr 1fr 1fr;gap:clamp(10px,1.5vw,16px);display:grid}.app-shell .home-loop-v2 .loop-cell{background:var(--card-bg-dark);border:1px solid var(--card-border-dark);box-shadow:var(--card-elevation-1);transition:transform var(--motion-duration-quick,.16s) var(--motion-ease-flow,ease), box-shadow var(--motion-duration-quick,.16s) var(--motion-ease-flow,ease), border-color var(--motion-duration-quick,.16s) var(--motion-ease-flow,ease);border-radius:18px;min-height:96px;padding:clamp(14px,2vw,18px)}[data-theme=light] .app-shell .home-loop-v2 .loop-cell{background:var(--card-bg-light);border-color:var(--card-border-light);box-shadow:0 4px 14px -8px #0f172a1f}.app-shell .home-loop-v2 .loop-cell:hover{box-shadow:var(--card-elevation-2);border-color:#ffffff2e;transform:translateY(-2px)}[data-theme=light] .app-shell .home-loop-v2 .loop-cell:hover{border-color:#0f172a29;box-shadow:0 12px 28px -12px #0f172a2e}@media (max-width:414px){.app-shell .home-loop-v2{gap:8px}.app-shell .home-loop-v2 .loop-cell{min-height:84px;padding:12px}.app-shell .home-loop-v2 .loop-streak-flame{width:36px;height:36px;font-size:1.05rem}.app-shell .home-loop-v2 .loop-streak-num strong{font-size:1.35rem}}.app-shell .home-loop-v2 .loop-streak{flex-direction:column;justify-content:space-between;gap:12px;display:flex}.app-shell .home-loop-v2 .loop-streak-head{align-items:center;gap:12px;display:flex}.app-shell .home-loop-v2 .loop-streak-flame{background:var(--accent-warm);width:44px;height:44px;color:var(--text-on-accent);box-shadow:0 8px 20px -8px color-mix(in oklab, var(--warning) 55%, transparent);border-radius:14px;justify-content:center;align-items:center;font-size:1.25rem;display:inline-flex}[data-theme=light] .app-shell .home-loop-v2 .loop-streak-flame{box-shadow:0 8px 18px -8px color-mix(in oklab, var(--warning) 40%, transparent)}.app-shell .home-loop-v2 .loop-streak-num strong{font-family:var(--font-display);color:var(--text-1,var(--text));font-size:1.6rem;font-weight:800;line-height:1;display:block}.app-shell .home-loop-v2 .loop-streak-label{color:var(--text-3,var(--text-secondary));font-size:.78rem}.app-shell .home-loop-v2 .loop-week{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.app-shell .home-loop-v2 .loop-week-day{flex-direction:column;align-items:center;gap:4px;display:flex}.app-shell .home-loop-v2 .loop-week-letter{color:var(--text-3,var(--text-secondary));letter-spacing:.06em;font-size:.65rem;font-weight:700}.app-shell .home-loop-v2 .loop-week-dot{width:100%;height:6px;transition:background var(--motion-duration-quick,.16s) var(--motion-ease-flow,ease);background:#ffffff14;border-radius:999px}[data-theme=light] .app-shell .home-loop-v2 .loop-week-dot{background:#0f172a14}.app-shell .home-loop-v2 .loop-week-day.is-active .loop-week-dot{background:var(--accent-warm)}.app-shell .home-loop-v2 .loop-week-day.is-today .loop-week-letter{color:var(--icon-warm)}.app-shell .home-loop-v2 .loop-vocab .loop-vocab-link{color:var(--text-1,var(--text));flex-direction:column;justify-content:center;gap:4px;height:100%;text-decoration:none;display:flex}.app-shell .home-loop-v2 .loop-vocab .loop-vocab-link i{color:var(--icon-violet);font-size:1.1rem}.app-shell .home-loop-v2 .loop-vocab .loop-vocab-link strong{font-family:var(--font-display);font-size:1.6rem;font-weight:800;line-height:1}.app-shell .home-loop-v2 .loop-vocab .loop-vocab-link span{color:var(--text-3,var(--text-secondary));font-size:.78rem}.app-shell .home-loop-v2 .loop-vocab .loop-vocab-link.is-due i{color:var(--icon-warm)}.app-shell .home-loop-v2 .loop-goal{align-items:center;gap:14px;min-width:0;display:flex}@media (max-width:760px){.app-shell .home-loop-v2{grid-template-columns:1fr 1fr}.app-shell .home-loop-v2 .loop-streak{grid-column:1/-1}}@media (max-width:480px){.app-shell .home-loop-v2{grid-template-columns:1fr}.app-shell .home-loop-v2 .loop-streak,.app-shell .home-loop-v2 .loop-goal,.app-shell .home-loop-v2 .loop-vocab{grid-column:auto}}.app-shell .home-discover{grid-template-columns:1fr 1fr;gap:clamp(12px,2vw,18px);display:grid}.app-shell .home-card{background:var(--card-bg-dark);border:1px solid var(--card-border-dark);box-shadow:var(--card-elevation-1);transition:transform var(--motion-duration-quick,.16s) var(--motion-ease-flow,ease), box-shadow var(--motion-duration-quick,.16s) var(--motion-ease-flow,ease), border-color var(--motion-duration-quick,.16s) var(--motion-ease-flow,ease);border-radius:20px;flex-direction:column;gap:12px;padding:clamp(18px,2.5vw,24px);display:flex;position:relative;overflow:hidden}[data-theme=light] .app-shell .home-card{background:var(--card-bg-light);border-color:var(--card-border-light);box-shadow:0 6px 18px -10px #0f172a24}.app-shell .home-card:hover{box-shadow:var(--card-elevation-2);border-color:#ffffff2e;transform:translateY(-2px)}[data-theme=light] .app-shell .home-card:hover{border-color:#0f172a29;box-shadow:0 14px 30px -12px #0f172a33}.app-shell .home-card:before{content:"";background:linear-gradient(90deg, var(--brand-1,#4361ee), var(--brand-2,#4cc9f0));opacity:.85;height:3px;position:absolute;top:0;left:0;right:0}.app-shell .home-phrase:before{background:linear-gradient(90deg,#f59e0b,#f43f5e)}.app-shell .home-card .card-head{justify-content:space-between;align-items:center;display:flex}.app-shell .home-card .card-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--text-3,var(--text-secondary));font-size:.72rem;font-weight:700}.app-shell .home-card .card-flag{background:color-mix(in oklab, var(--icon-cool) 22%, transparent);width:32px;height:32px;color:var(--icon-cool);border-radius:10px;justify-content:center;align-items:center;font-size:.95rem;display:inline-flex}.app-shell .home-phrase .card-flag{background:color-mix(in oklab, var(--warning) 18%, transparent);color:var(--icon-warm)}.app-shell .home-word .word-body{flex-direction:column;gap:6px;display:flex}.app-shell .home-word .word-term{font-family:var(--font-display);letter-spacing:-.015em;color:var(--text-1,var(--text));margin:0;font-size:clamp(1.6rem,3vw,2rem);font-weight:800;line-height:1.1}.app-shell .home-word .word-ipa{font-family:var(--font-mono);color:var(--text-3,var(--text-secondary));margin:0;font-size:.92rem}.app-shell .home-word .word-native{color:var(--text-2,var(--text-secondary));margin:0;font-size:.95rem}.app-shell .home-word .word-example{border-left:3px solid var(--brand-1,#4361ee);color:var(--text-1,var(--text));background:#4361ee14;border-radius:0 10px 10px 0;margin:8px 0 0;padding:10px 12px;font-size:.92rem;font-style:italic}[data-theme=light] .app-shell .home-word .word-example{background:#4361ee0f}.app-shell .home-word .word-example i{color:var(--brand-1,#4361ee);margin-right:4px;font-size:.78rem}.app-shell .home-phrase .phrase-body{flex-direction:column;gap:8px;display:flex}.app-shell .home-phrase .phrase-text{font-family:var(--font-display);color:var(--text-1,var(--text));margin:0;font-size:clamp(1.2rem,2.4vw,1.5rem);font-weight:700;line-height:1.25}.app-shell .home-phrase .phrase-literal,.app-shell .home-phrase .phrase-tip{color:var(--text-2,var(--text-secondary));margin:0;font-size:.88rem;line-height:1.45}.app-shell .home-phrase .phrase-literal-label{color:var(--text-1,var(--text));font-weight:700}.app-shell .home-card .card-actions{justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:8px;display:flex}.app-shell .home-card .word-listen,.app-shell .home-card .phrase-cta,.app-shell .home-card .word-practice{cursor:pointer;transition:transform var(--motion-duration-quick,.16s) var(--motion-ease-flow,ease), background var(--motion-duration-quick,.16s) var(--motion-ease-flow,ease);border:0;border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-family:inherit;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-flex}.app-shell .home-card .word-listen{color:var(--text-1,var(--text));background:#ffffff0f;border:1px solid #ffffff1a}[data-theme=light] .app-shell .home-card .word-listen{background:#0f172a0a;border-color:#0f172a1a}.app-shell .home-card .word-listen:hover{background:#6366f129}.app-shell .home-card .word-listen.is-speaking i{color:var(--icon-mint);animation:.8s ease-in-out infinite speakingPulse}@keyframes speakingPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.app-shell .home-card .word-practice,.app-shell .home-card .phrase-cta{background:linear-gradient(135deg, var(--brand-1,#4361ee), var(--brand-2,#4cc9f0));color:var(--text-on-accent);box-shadow:0 8px 20px -8px color-mix(in oklab, var(--primary) 50%, transparent)}.app-shell .home-card .phrase-cta{background:linear-gradient(135deg, var(--warning), var(--error));box-shadow:0 8px 20px -8px color-mix(in oklab, var(--warning) 50%, transparent)}.app-shell .home-card .word-practice:hover,.app-shell .home-card .phrase-cta:hover{transform:translateY(-1px)}@media (max-width:768px){.app-shell .home-discover{grid-template-columns:1fr}}.app-shell .home-skills{background:var(--card-bg-dark);border:1px solid var(--card-border-dark);box-shadow:var(--card-elevation-2);border-radius:22px;padding:clamp(20px,2.5vw,28px)}[data-theme=light] .app-shell .home-skills{background:var(--card-bg-light);border-color:var(--card-border-light);box-shadow:0 12px 30px -16px #0f172a2e}.app-shell .home-skills .skills-head{margin:0 0 16px}.app-shell .home-skills .skills-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-1,var(--text));margin:0;font-size:clamp(1.15rem,2vw,1.4rem);font-weight:800}.app-shell .home-skills .skills-sub{color:var(--text-3,var(--text-secondary));margin:4px 0 0;font-size:.88rem}.app-shell .home-skills .skills-row{grid-template-columns:280px 1fr;align-items:center;gap:clamp(20px,3vw,32px);display:grid}.app-shell .home-skills .skills-radar{color:var(--text-1,var(--text));justify-content:center;align-items:center;display:flex}.app-shell .home-skills .skills-radar .radar-chart{filter:drop-shadow(0 8px 20px color-mix(in oklab, var(--icon-cool) 22%, transparent))}.app-shell .home-skills .skills-radar .radar-data{fill:color-mix(in oklab, var(--icon-cool) 32%, transparent);stroke:var(--icon-cool);stroke-width:2px}[data-theme=light] .app-shell .home-skills .skills-radar .radar-chart polygon[fill=none],[data-theme=light] .app-shell .home-skills .skills-radar .radar-chart line{stroke:#0f172a24!important}[data-theme=light] .app-shell .home-skills .skills-radar .radar-data{fill:#4361ee38;stroke:var(--brand-1,#4361ee)}.app-shell .home-skills .skills-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.app-shell .home-skills .skill-item{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:12px;grid-template-columns:1fr auto;grid-template-areas:"row cta""bar bar";gap:8px 12px;padding:10px 12px;display:grid}[data-theme=light] .app-shell .home-skills .skill-item{background:#0f172a08;border-color:#0f172a0f}.app-shell .home-skills .skill-row{grid-area:row;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.app-shell .home-skills .skill-name{color:var(--text-1,var(--text));font-size:.95rem;font-weight:700}.app-shell .home-skills .skill-pct{font-family:var(--font-mono);color:var(--text-2,var(--text-secondary));font-size:.85rem;font-weight:700}.app-shell .home-skills .skill-bar{background:#ffffff14;border-radius:999px;grid-area:bar;height:6px;overflow:hidden}[data-theme=light] .app-shell .home-skills .skill-bar{background:#0f172a14}.app-shell .home-skills .skill-bar-fill{background:linear-gradient(90deg, var(--brand-1,#4361ee), var(--brand-2,#4cc9f0));height:100%;transition:width var(--motion-duration-cinematic,.6s) var(--motion-ease-deliberate,ease);border-radius:999px;display:block}.app-shell .home-skills .skill-cta{color:var(--text-1,var(--text));transition:background var(--motion-duration-quick,.16s) var(--motion-ease-flow,ease);background:#ffffff0f;border-radius:999px;grid-area:cta;align-items:center;gap:6px;padding:6px 12px;font-size:.78rem;font-weight:700;text-decoration:none;display:inline-flex}.app-shell .home-skills .skill-cta:hover{background:#6366f12e}[data-theme=light] .app-shell .home-skills .skill-cta{background:#0f172a0d}[data-theme=light] .app-shell .home-skills .skill-cta:hover{background:#4361ee1f}.app-shell .home-skills .skill-cta i{opacity:.7;font-size:.7rem}@media (max-width:760px){.app-shell .home-skills .skills-row{grid-template-columns:1fr}.app-shell .home-skills .skills-radar{max-width:240px;margin:0 auto}}[data-theme=light] .app-shell .home-shell-v2 .home-next{background:var(--card-bg-light);border-color:var(--card-border-light);box-shadow:var(--card-elevation-1)}[data-theme=light] .app-shell .home-shell-v2 .home-tree{background:var(--card-bg-light);border-color:var(--card-border-light)}[data-theme=light] .app-shell .home-shell-v2 .tutor-tip-strip{color:var(--text-primary);background:linear-gradient(135deg,#6366f11a,#ec48990f);border-color:#6366f140}.app-shell .home-shell-v2 :where(a,button,summary,[role=button]):focus-visible{outline:2px solid var(--persona-accent,var(--primary));outline-offset:3px;border-radius:inherit}.app-shell .home-shell-v2 :where(.btn-next-primary,.btn-next-secondary,.next-alt-chip,.word-listen,.word-practice,.phrase-cta,.skill-cta,.meta-chip,.loop-vocab-link):focus-visible{outline-offset:3px;border-radius:999px}.app-shell .home-shell-v2 :where(.btn-next-primary,.btn-next-secondary,.next-alt-chip,.word-listen,.word-practice,.phrase-cta,.skill-cta):active{transition-duration:var(--motion-duration-quick,.16s);transform:translateY(0)scale(.98)}@media (prefers-reduced-motion:reduce){.app-shell .home-shell-v2 *,.app-shell .home-shell-v2 :before,.app-shell .home-shell-v2 :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.app-shell .home-shell-v2 :where(.loop-cell,.home-card):hover{transform:none!important}}.app-shell .home-shell-v2 .home-loop-v2{container:loop/inline-size}.app-shell .home-shell-v2 .home-discover{container:discover/inline-size}@container loop (width<=720px){.app-shell .home-loop-v2{grid-template-columns:1fr 1fr}.app-shell .home-loop-v2 .loop-streak{grid-column:1/-1}}@container loop (width<=460px){.app-shell .home-loop-v2{grid-template-columns:1fr}.app-shell .home-loop-v2 :where(.loop-streak,.loop-goal,.loop-vocab){grid-column:auto}}@container discover (width<=700px){.app-shell .home-discover{grid-template-columns:1fr}}.app-shell .home-skills .skill-bar{position:relative}.app-shell .home-skills .skill-bar-fill{transform-origin:0;width:100%;transform:scaleX(var(--mastery,0));transition:transform var(--motion-duration-cinematic,.6s) var(--motion-ease-deliberate,ease);will-change:transform}.app-shell .home-skills .skill-item[data-promoted="1"]{background:linear-gradient(135deg, color-mix(in oklab, var(--primary) 14%, transparent), color-mix(in oklab, var(--accent) 10%, transparent));border-color:color-mix(in oklab, var(--primary) 35%, transparent)}.app-shell .home-skills .skill-item[data-promoted="1"] .skill-cta{background:linear-gradient(135deg, var(--brand-1,var(--primary)), var(--brand-2,var(--secondary)));color:var(--text-on-accent,#fff);box-shadow:0 6px 16px -8px color-mix(in oklab, var(--primary) 60%, transparent)}.app-shell .home-skills .skill-item[data-promoted="1"] .skill-cta:hover{background:linear-gradient(135deg, var(--brand-1,var(--primary)), var(--brand-2,var(--secondary)));filter:brightness(1.06)}.app-shell .home-skills .skill-item[data-promoted="1"] .skill-cta i{opacity:1}.app-shell .home-skills .skill-item[data-promoted="1"]:before{content:attr(data-promoted-label);letter-spacing:.08em;text-transform:uppercase;color:color-mix(in oklab, var(--primary) 80%, white);background:var(--card-bg-dark);pointer-events:none;border-radius:4px;margin-top:-2px;padding:0 6px;font-size:.62rem;font-weight:800;position:absolute;inset:auto auto auto 12px;transform:translateY(-50%)}[data-theme=light] .app-shell .home-skills .skill-item[data-promoted="1"]:before{background:var(--card-bg-light);color:var(--primary)}.app-shell .home-skills .skill-item{position:relative}@media (min-width:769px){.app-shell .home-shell-v2 .home-discover{grid-template-columns:1.35fr 1fr}.app-shell .home-shell-v2 .home-phrase{background:var(--glass-bg);border:var(--border-hairline);box-shadow:none}.app-shell .home-shell-v2 .home-phrase .phrase-text{font-size:clamp(1.05rem,1.8vw,1.25rem)}}@container discover (width>=760px){.app-shell .home-discover{grid-template-columns:1.35fr 1fr}}.app-shell .home-shell-v2 .next-disclosure summary{border:var(--border-hairline);background:var(--glass-bg);transition:background var(--motion-duration-quick,.16s) var(--motion-ease-flow,ease);border-radius:999px;align-items:center;gap:8px;padding:6px 10px;display:inline-flex}.app-shell .home-shell-v2 .next-disclosure summary:hover{background:var(--glass-bg-strong)}.app-shell .home-shell-v2 .next-disclosure summary:after{opacity:.7;width:8px;height:8px;transition:transform var(--motion-duration-quick,.16s) var(--motion-ease-flow,ease);border-bottom:2px solid;border-right:2px solid;margin-top:-3px;margin-left:2px;transform:rotate(45deg);content:""!important}.app-shell .home-shell-v2 .next-disclosure[open] summary:after{margin-top:1px;transform:rotate(-135deg)}.app-shell .home-shell-v2 .home-greeting .greeting-meta{gap:6px;margin-top:10px}.app-shell .home-shell-v2 .home-greeting .meta-chip{padding:4px 10px;font-size:.76rem;font-weight:600}.app-shell .home-shell-v2 .home-greeting .meta-chip strong{font-weight:800}.app-shell .home-shell-v2 .home-card-error,.app-shell .home-shell-v2 [data-slot].is-error{border-color:color-mix(in oklab, var(--error) 35%, transparent)!important;background:color-mix(in oklab, var(--error) 6%, var(--glass-bg))!important}.app-shell .home-shell-v2 [data-slot].is-error .home-card-error-message{color:var(--text-2,var(--text-secondary));align-items:center;gap:10px;padding:16px;font-size:.9rem;display:flex}.app-shell .home-shell-v2 [data-slot].is-error .home-card-error-message i{color:var(--error);font-size:1.2rem}.app-shell .home-shell-v2 [data-slot].is-error .home-card-error-retry{border:1px solid color-mix(in oklab, var(--error) 50%, transparent);color:var(--text-1,var(--text));cursor:pointer;background:0 0;border-radius:999px;margin-left:auto;padding:6px 12px;font-size:.78rem;font-weight:700}.app-shell .home-shell-v2 [data-slot].is-error .home-card-error-retry:hover{background:color-mix(in oklab, var(--error) 12%, transparent)}.app-shell .home-shell-v2 :is(.btn-v2-primary,.btn-next-primary,.word-practice,.phrase-cta,.loop-streak-zero-cta,.tree-coldstart-cta,.skills-coldstart-cta){font:inherit;cursor:pointer;color:var(--text-on-accent,#fff);background:linear-gradient(135deg, var(--persona-accent,var(--brand-1,var(--primary))), var(--brand-2,var(--secondary)));box-shadow:0 8px 20px -8px color-mix(in oklab, var(--persona-accent,var(--primary)) 50%, transparent);transition:transform var(--motion-duration-quick,.16s) var(--motion-ease-flow,ease), box-shadow var(--motion-duration-quick,.16s) var(--motion-ease-flow,ease), filter var(--motion-duration-quick,.16s) var(--motion-ease-flow,ease);border:0;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-weight:700;text-decoration:none;display:inline-flex}.app-shell .home-shell-v2 :is(.btn-v2-primary,.btn-next-primary,.word-practice,.phrase-cta,.loop-streak-zero-cta,.tree-coldstart-cta,.skills-coldstart-cta):hover{filter:brightness(1.05);transform:translateY(-1px)}.app-shell .home-shell-v2 :is(.btn-v2-primary,.btn-next-primary,.word-practice,.phrase-cta,.loop-streak-zero-cta,.tree-coldstart-cta,.skills-coldstart-cta):active{transform:translateY(0)scale(.98)}.app-shell .home-shell-v2 :is(.btn-v2-secondary,.btn-next-secondary,.word-listen,.skill-cta,.next-alt-chip,.meta-chip){background:var(--glass-bg);border:var(--border-hairline);color:var(--text-1,var(--text));font:inherit;cursor:pointer;transition:background var(--motion-duration-quick,.16s) var(--motion-ease-flow,ease), border-color var(--motion-duration-quick,.16s) var(--motion-ease-flow,ease), transform var(--motion-duration-quick,.16s) var(--motion-ease-flow,ease);border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-weight:600;text-decoration:none;display:inline-flex}.app-shell .home-shell-v2 :is(.btn-v2-secondary,.btn-next-secondary,.word-listen,.skill-cta,.next-alt-chip):hover{background:var(--glass-bg-strong);border-color:var(--border-hairline-strong);transform:translateY(-1px)}.app-shell .home-shell-v2 :is(.btn-v2-link,.loop-vocab-link){color:inherit;font:inherit;cursor:pointer;transition:color var(--motion-duration-quick,.16s) var(--motion-ease-flow,ease);background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:4px 6px;font-weight:600;text-decoration:none;display:inline-flex}.app-shell .home-shell-v2 :is(.btn-v2-link,.loop-vocab-link):hover{color:var(--persona-accent,var(--primary));text-underline-offset:3px;text-decoration:underline}.app-shell .home-shell-v2 :is(.btn-v2-primary,.btn-v2-secondary,.btn-v2-link)[disabled],.app-shell .home-shell-v2 :is(.btn-v2-primary,.btn-v2-secondary,.btn-v2-link)[aria-disabled=true]{opacity:.55;cursor:not-allowed;pointer-events:none;filter:none}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.app-shell .home-shell-v2 .glass,.app-shell .home-shell-2026 .glass{background:var(--card-bg-dark,#0f172aeb)!important;border-color:var(--card-border-dark,#ffffff1a)!important}[data-theme=light] .app-shell .home-shell-v2 .glass,[data-theme=light] .app-shell .home-shell-2026 .glass{background:var(--card-bg-light,#fff)!important;border-color:var(--card-border-light,#0f172a1a)!important}}@supports (color:light-dark(red, blue)){.app-shell .home-shell-v2{color-scheme:light dark}[data-theme=light] .app-shell .home-shell-v2{color-scheme:light}[data-theme=dark] .app-shell .home-shell-v2{color-scheme:dark}.app-shell .home-shell-v2 .home-greeting{background:radial-gradient(120% 90% at 0% 0%, light-dark(#6366f11f,#6366f12e) 0%, transparent 55%), radial-gradient(80% 80% at 100% 100%, light-dark(#f7258514,#f7258524) 0%, transparent 60%), light-dark(var(--card-bg-light),var(--card-bg-dark));border-color:light-dark(var(--card-border-light),var(--card-border-dark));box-shadow:light-dark(0 12px 32px -16px #0f172a2e,var(--card-elevation-2))}.app-shell .home-shell-v2 .home-loop-v2 .loop-cell,.app-shell .home-shell-v2 .home-card,.app-shell .home-shell-v2 .home-skills{background:light-dark(var(--card-bg-light),var(--card-bg-dark));border-color:light-dark(var(--card-border-light),var(--card-border-dark))}.app-shell .home-shell-v2 .home-loop-v2 .loop-week-dot{background:light-dark(#0f172a14,#ffffff14)}}@supports selector(:has(*)){.app-shell .home-shell-v2 .next-disclosure:not(:has(.next-alt-chip)) summary:after{display:none}.app-shell .home-shell-v2 .home-discover:has(>.home-card:only-child){grid-template-columns:1fr}}.app-shell .home-shell-v2 .loop-streak.is-zero{background:linear-gradient(135deg, color-mix(in oklab, var(--warning) 14%, transparent), color-mix(in oklab, var(--accent) 8%, transparent));border-color:color-mix(in oklab, var(--warning) 28%, transparent)}.app-shell .home-shell-v2 .loop-streak-zero-cta{background:var(--accent-warm);color:var(--text-on-accent);box-shadow:0 6px 14px -6px color-mix(in oklab, var(--warning) 50%, transparent);border-radius:999px;align-self:flex-start;align-items:center;gap:6px;margin-top:6px;padding:6px 12px;font-size:.78rem;font-weight:700;text-decoration:none;display:inline-flex}.app-shell .home-shell-v2 .loop-streak-zero-cta:hover{transform:translateY(-1px)}.placement-modal-body{width:min(560px,92vw);min-height:min(520px,70vh);color:var(--text-primary);flex-direction:column;padding:0;font-size:.95rem;display:flex}.placement-progress{background:#ffffff14;border-radius:999px;height:6px;margin:0 0 16px;overflow:hidden}.placement-progress-fill{background:linear-gradient(90deg, var(--brand-1), var(--brand-2));height:100%;transition:width .28s cubic-bezier(.4,0,.2,1)}.placement-progress-done .placement-progress-fill{background:linear-gradient(90deg, var(--brand-3), var(--brand-1))}[data-theme=light] .placement-progress{background:#0000000f}.placement-meta{color:var(--text-secondary,#fff9);justify-content:space-between;align-items:center;margin-bottom:12px;font-size:.78rem;display:flex}.placement-skill{color:var(--brand-1);text-transform:capitalize;background:#6366f126;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-weight:500;display:inline-flex}.placement-counter{font-variant-numeric:tabular-nums;letter-spacing:.04em}.placement-prompt{margin:4px 0 16px;font-size:1.08rem;font-weight:600;line-height:1.5}.placement-options{gap:10px;margin-bottom:20px;display:grid}.placement-option{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:#ffffff0a;border:1.5px solid #ffffff1a;border-radius:12px;align-items:flex-start;gap:12px;padding:12px 14px;transition:transform .12s,border-color .16s,background .16s;display:flex}.placement-option:hover{background:#6366f11a;border-color:#6366f173}.placement-option.selected{border-color:var(--brand-1);background:#6366f12e;transform:translateY(-1px)}.placement-option-letter{background:#ffffff14;border-radius:8px;flex:0 0 28px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;font-weight:700;display:inline-flex}.placement-option.selected .placement-option-letter{background:var(--brand-1);color:var(--text-on-accent)}.placement-option-text{word-break:break-word;flex:1;line-height:1.4}[data-theme=light] .placement-option{background:#00000005;border-color:#00000014}[data-theme=light] .placement-option-letter{background:#0000000d}.placement-listen-btn{color:var(--brand-1);font:inherit;cursor:pointer;background:#6366f11a;border:1px solid #6366f159;border-radius:10px;align-items:center;gap:8px;margin-bottom:12px;padding:10px 14px;transition:background .12s;display:inline-flex}.placement-listen-btn:hover{background:#6366f12e}.placement-listen-btn i{font-size:1rem}.placement-transcript{color:var(--text-secondary,#ffffffb3);background:#ffffff0a;border-radius:10px;margin:0 0 14px;padding:10px 12px;font-size:.9rem;font-style:italic}.placement-transcript.hidden-by-default{display:none}.placement-actions{justify-content:flex-end;gap:10px;margin-top:auto;padding-top:16px;display:flex}.placement-actions .btn{min-width:120px}.placement-writing{min-height:inherit;flex-direction:column;display:flex}.placement-writing h2{margin:0 0 6px;font-size:1.15rem}.placement-writing-prompt{border-left:3px solid var(--brand-2);background:#764ba21f;border-radius:0 10px 10px 0;margin:12px 0;padding:12px 14px;line-height:1.5}.placement-writing-input{width:100%;min-height:110px;color:inherit;font:inherit;resize:vertical;background:#ffffff0a;border:1.5px solid #ffffff1a;border-radius:12px;padding:12px;line-height:1.5}.placement-writing-input:focus{border-color:var(--brand-1);background:#ffffff0f;outline:none}[data-theme=light] .placement-writing-input{background:#00000005;border-color:#0000001a}.placement-loading{color:var(--text-secondary,#ffffffb3);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:40px 0;display:flex}.placement-result{text-align:center;flex-direction:column;flex:1;display:flex}.placement-result-band{margin:16px 0 24px}.placement-result-letter{background:linear-gradient(135deg, var(--brand-1), var(--brand-2));width:96px;height:96px;color:var(--text-on-accent);letter-spacing:-.02em;border-radius:24px;justify-content:center;align-items:center;margin:0 auto 12px;font-size:2.4rem;font-weight:800;animation:.36s cubic-bezier(.34,1.56,.64,1) both hy-placement-pop;display:inline-flex;box-shadow:0 12px 32px #6366f159}@keyframes hy-placement-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.placement-result-blurb{color:var(--text-secondary,#ffffffbf);max-width:440px;margin:0 auto;font-size:.95rem;line-height:1.5}.placement-skills{text-align:left;background:#ffffff08;border:1px solid #ffffff0f;border-radius:14px;gap:10px;margin:8px 0 24px;padding:16px;display:grid}[data-theme=light] .placement-skills{background:#00000005;border-color:#0000000f}.placement-skill-row{grid-template-columns:28px 1fr auto auto;align-items:center;gap:10px;font-size:.88rem;display:grid}.placement-skill-icon{width:28px;height:28px;color:var(--brand-1);background:#6366f126;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.placement-skill-bar{background:#ffffff14;border-radius:999px;grid-column:2/3;height:6px;overflow:hidden}.placement-skill-fill{background:linear-gradient(90deg, var(--brand-3), var(--brand-1));height:100%;transition:width .48s}.placement-skill-label{color:var(--text-secondary,#ffffffa6);text-transform:capitalize;white-space:nowrap;font-size:.78rem}.placement-skill-pct{font-variant-numeric:tabular-nums;text-align:right;min-width:36px;font-size:.82rem;font-weight:600}.placement-error{text-align:center;flex-direction:column;flex:1;align-items:center;gap:12px;padding:32px 0;display:flex}.placement-error-icon{color:var(--error,#ef4444);font-size:2.4rem}.placement-flash{animation:1.1s both hy-placement-flash}@keyframes hy-placement-flash{0%{transform:scale(1);box-shadow:0 0 #764ba200}20%{transform:scale(1.08);box-shadow:0 0 0 10px #764ba259}60%{transform:scale(1.02);box-shadow:0 0 0 18px #764ba200}to{transform:scale(1);box-shadow:0 0 #764ba200}}@media (prefers-reduced-motion:reduce){.placement-flash,.placement-result-letter{animation:none}}.placement-banner{background:linear-gradient(135deg,#6366f124,#ec48991a);border:1px solid #6366f14d;border-radius:14px;align-items:center;gap:12px;margin:12px 0 16px;padding:14px 16px;display:flex}.placement-banner-icon{background:var(--brand-1);width:40px;height:40px;color:var(--text-on-accent);border-radius:10px;flex:0 0 40px;justify-content:center;align-items:center;font-size:1.05rem;display:inline-flex}.placement-banner-body{flex:1;min-width:0;line-height:1.4}.placement-banner-body strong{margin-bottom:2px;font-weight:600;display:block}.placement-banner-body span{color:var(--text-secondary,#ffffffb3);font-size:.85rem}.placement-banner-actions{flex-wrap:wrap;gap:8px;display:flex}.placement-banner-dismiss{color:var(--text-secondary,#ffffff80);cursor:pointer;font:inherit;background:0 0;border:0;padding:4px 8px}.placement-retake-row{justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.placement-retake-row .placement-retake-blurb{color:var(--text-secondary,#ffffffa6);margin:2px 0 0;font-size:.85rem}@media (max-width:480px){.placement-modal-body{width:min(420px,95vw);padding:0 4px}.placement-prompt{font-size:1rem}.placement-option{gap:10px;padding:11px 12px}.placement-option-letter{flex:0 0 26px;width:26px;height:26px;font-size:.8rem}.placement-result-letter{border-radius:20px;width:80px;height:80px;font-size:2rem}.placement-actions .btn{flex:1;min-width:100px}.placement-skill-row{grid-template-columns:24px 1fr auto auto;gap:8px;font-size:.82rem}.placement-skill-icon{width:24px;height:24px}}@media (max-width:360px){.placement-modal-body{width:95vw}.placement-prompt{font-size:.95rem;line-height:1.4}.placement-meta{font-size:.72rem}.placement-actions{flex-direction:column-reverse}.placement-actions .btn{width:100%}}persona-portrait{border-radius:inherit;width:100%;height:100%;display:block}.cinema-portrait-wrap persona-portrait.cinema-portrait{width:100%;height:100%}.app-shell .bubble-assistant .avatar-tutor persona-portrait[variant=chip]{border-radius:50%;width:100%;height:100%;overflow:hidden}.caption-stream{-webkit-backdrop-filter:saturate(110%)blur(18px);backdrop-filter:saturate(110%)blur(18px);font-feature-settings:"tnum", "ss01";font-variant-numeric:tabular-nums;background:#0f121c8c;border-radius:18px;max-width:min(72ch,92vw);margin:0 auto;padding:14px 18px}.caption-stream .caption-now{text-shadow:0 1px 2px #0000008c,0 0 18px #00000059;font-size:clamp(22px,3.6vw,38px);line-height:1.35}.caption-stream .caption-prev,.caption-stream .caption-translation{font-size:clamp(15px,2.2vw,22px)}.caption-stream .caption-translation{color:#ffffffc7;text-shadow:0 1px 2px #0000008c;text-wrap:balance;margin-top:4px;font-style:italic;font-weight:500}.caption-stream .caption-translation[hidden]{display:none}.caption-stream .word-token{cursor:pointer;border-radius:3px;padding:0 1px;transition:opacity .14s,color .14s,text-shadow .14s;display:inline-block}.caption-stream .word-token--spoken{opacity:.72}.caption-stream .word-token--current{color:var(--text-on-accent);text-shadow:0 0 12px var(--persona-aura,#f7a072d9), 0 1px 2px #0000008c}.caption-stream .word-token:hover,.caption-stream .word-token:focus-visible{background:#ffffff1a;outline:none}.caption-stream[data-bilingual=target] .caption-translation,.caption-stream[data-bilingual=native] .caption-now{display:none}.caption-stream[data-bilingual=native] .caption-translation{color:var(--text-on-accent);margin-top:0;font-size:clamp(22px,3.6vw,38px);font-style:normal;font-weight:700}.voice2-shell.cinema[data-state=connecting] .cinema-aura{opacity:.55;animation:1.8s ease-in-out infinite pp-settle-aura}@keyframes pp-settle-aura{0%,to{opacity:.45;transform:scale(1)}50%{opacity:.7;transform:scale(1.06)}}.caption-stream .word-popover{z-index:60}@media (prefers-reduced-motion:reduce){.caption-stream .word-token{transition:color .14s}.voice2-shell.cinema[data-state=connecting] .cinema-aura{animation:none}}@media (max-width:480px){.caption-stream{border-radius:14px;max-width:96vw;padding:10px 12px}.caption-stream .caption-now{font-size:clamp(18px,5vw,26px)}.caption-stream .caption-prev,.caption-stream .caption-translation{font-size:clamp(13px,3vw,16px)}}.bubble-thinking-dots{vertical-align:middle;align-items:center;gap:5px;padding:6px 4px;display:inline-flex}.bubble-thinking-dots span{background:var(--persona-accent,color-mix(in srgb, var(--text-1,#f1f5f9) 75%, transparent));opacity:.45;border-radius:50%;width:7px;height:7px;animation:1.1s ease-in-out infinite bubble-thinking-bounce}.bubble-thinking-dots span:nth-child(2){animation-delay:.18s}.bubble-thinking-dots span:nth-child(3){animation-delay:.36s}@keyframes bubble-thinking-bounce{0%,70%,to{opacity:.45;transform:translateY(0)}35%{opacity:1;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.bubble-thinking-dots span{opacity:.7;animation:none}}.bubble.bubble-thinking .bubble-content{min-height:1.5em}.composer.composer-busy .send-btn{background:linear-gradient(135deg,#ef4444,#b91c1c);border-color:#b91c1c}.composer.composer-busy .send-btn:hover{background:linear-gradient(135deg,#dc2626,#991b1b)}@keyframes tapRingExpand{0%{opacity:.55;transform:scale(.92)}70%{opacity:0;transform:scale(1.18)}to{opacity:0;transform:scale(1.18)}}.voice2-shell.cinema[data-state=idle] .voice2-dock .dock-cta{position:relative}.voice2-shell.cinema[data-state=idle] .voice2-dock .dock-cta:after{content:"";border-radius:inherit;border:2px solid color-mix(in srgb, var(--persona-accent,var(--primary)) 60%, transparent);pointer-events:none;animation:tapRingExpand 1.8s var(--motion-ease-deliberate) infinite;position:absolute;inset:-6px}.voice2-shell.cinema[data-state=connecting] .voice2-dock .dock-cta{opacity:.55}@keyframes listenPulse{0%,to{box-shadow:0 0 #22c55e8c}50%{box-shadow:0 0 0 14px #0000}}.voice2-shell.cinema[data-state=listening] .cinema-rim{animation:listenPulse 1.2s var(--motion-ease-flow) infinite}.voice2-shell.cinema[data-state=listening] .voice2-dock .dock-btn[data-act=mute]{box-shadow:0 0 0 2px #22c55e99,0 6px 18px -4px #22c55e80}@keyframes auraShimmer{0%{opacity:.55;background-position:0%}50%{opacity:.85;background-position:100%}to{opacity:.55;background-position:0%}}.voice2-shell.cinema[data-state=thinking] .cinema-aura{background:conic-gradient(from var(--shimmer-from,0deg), color-mix(in srgb, var(--persona-accent,var(--primary)) 40%, transparent) 0deg, transparent 90deg, color-mix(in srgb, var(--persona-accent,var(--primary)) 30%, transparent) 180deg, transparent 270deg, color-mix(in srgb, var(--persona-accent,var(--primary)) 40%, transparent) 360deg);background-size:200% 200%;animation:2.4s linear infinite auraShimmer}.voice2-shell.cinema[data-state=thinking] .cinema-portrait-wrap:after{content:"•••";letter-spacing:4px;color:#ffffffc7;text-shadow:0 1px 4px #0006;font-size:14px;font-weight:700;animation:1.1s ease-in-out infinite bubble-thinking-bounce;position:absolute;bottom:-18px;left:50%;transform:translate(-50%)}@keyframes rimSweep{0%,to{filter:hue-rotate()}50%{filter:hue-rotate(8deg)}}.voice2-shell.cinema[data-state=speaking] .cinema-rim{box-shadow:0 0 0 1px color-mix(in srgb, var(--persona-accent,var(--accent)) 65%, transparent), 0 0 36px 4px color-mix(in srgb, var(--persona-accent,var(--accent)) 45%, transparent);animation:3.6s ease-in-out infinite rimSweep}.voice2-shell.cinema[data-state=speaking] .voice2-dock .dock-btn[data-act=end]{box-shadow:0 0 0 2px color-mix(in srgb, var(--persona-accent,var(--accent)) 50%, transparent), var(--depth-1)}.cinema-spotlight{border-radius:inherit;pointer-events:none;background:radial-gradient(420px circle at var(--spot-x,50%) var(--spot-y,30%), #ffffff14, transparent 60%);opacity:0;transition:opacity .26s var(--motion-ease-flow);z-index:2;position:absolute;inset:0}.voice2-shell.cinema:hover .cinema-spotlight,.voice2-shell.cinema:focus-within .cinema-spotlight{opacity:1}@keyframes celebrateGlow{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--persona-accent,var(--primary)) 55%, transparent)}60%{box-shadow:0 0 0 32px color-mix(in srgb, var(--persona-accent,var(--primary)) 0%, transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb, var(--persona-accent,var(--primary)) 0%, transparent)}}.voice2-shell.cinema[data-state=celebrating] .cinema-rim{animation:celebrateGlow 1.2s var(--spring-bounce) 1}.voice2-shell.cinema[data-state=celebrating] .cinema-portrait-wrap{animation:pp-celebrate 1.2s var(--spring-bounce) 1}@keyframes pp-celebrate{0%{transform:translateY(0)rotate(0)scale(1)}20%{transform:translateY(-8px)rotate(-3deg)scale(1.04)}45%{transform:translateY(2px)rotate(2deg)scale(.99)}70%{transform:translateY(-4px)rotate(-1deg)scale(1.02)}to{transform:translateY(0)rotate(0)scale(1)}}.cinema-session-summary{background:var(--glass-2026-bg);border:1px solid var(--glass-2026-border);max-width:min(560px,92vw);-webkit-backdrop-filter:var(--glass-2026-blur);box-shadow:var(--depth-2);opacity:0;animation:summarySlideIn .32s var(--spring-snap) 80ms forwards;border-radius:22px;flex-direction:column;gap:14px;margin:24px auto 0;padding:20px 22px;display:flex;transform:translateY(60px)}@keyframes summarySlideIn{0%{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}}.cinema-session-summary h3{font-family:var(--font-display);font-size:clamp(1.2rem,2.4vw,1.55rem);font-weight:var(--type-emph-high);letter-spacing:var(--tracking-tight);margin:0}.cinema-session-summary .summary-stats{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.cinema-session-summary .summary-stat{text-align:center;background:var(--surface-2);font-variant-numeric:tabular-nums;border-radius:12px;flex-direction:column;gap:4px;padding:10px 8px;display:flex}.cinema-session-summary .summary-stat strong{font-size:clamp(1.4rem,3vw,1.8rem);font-weight:var(--type-emph-high);color:var(--persona-accent,var(--primary))}.cinema-session-summary .summary-stat span{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;font-size:12px}.cinema-session-summary .summary-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.cinema-session-summary .summary-actions .btn{flex:140px;min-height:44px}.voice2-preflight-bento{grid-template-columns:minmax(0,1fr);gap:14px;max-width:min(680px,96vw);margin:0 auto;display:grid}@media (min-width:720px){.voice2-preflight-bento{grid-template-rows:auto auto;grid-template-columns:2fr 1fr}.voice2-preflight-bento .bento-langs{grid-area:1/1/span 2}.voice2-preflight-bento .bento-levels{grid-area:1/2}.voice2-preflight-bento .bento-cefr{grid-area:2/2}}.voice2-preflight-bento .bento-tile{background:var(--glass-2026-bg);border:1px solid var(--glass-2026-border);-webkit-backdrop-filter:var(--glass-2026-blur);box-shadow:var(--depth-1);transition:box-shadow .24s var(--motion-ease-flow), transform .24s var(--motion-ease-flow);border-radius:20px;padding:18px 16px;position:relative}.voice2-preflight-bento .bento-tile h4{font-family:var(--font-display);font-size:14px;font-weight:var(--type-emph-mid);text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin:0 0 12px}.voice2-preflight-bento .bento-tile .bento-options{gap:8px;display:grid}.voice2-preflight-bento .bento-langs .bento-options{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.voice2-preflight-bento .bento-levels .bento-options{grid-template-columns:repeat(2,1fr)}@media (hover:hover) and (pointer:fine) and (min-width:720px){.voice2-preflight-bento .bento-tile:hover{box-shadow:var(--depth-2);transform:translateY(-2px)}}.cinema-status-pill{color:var(--text-on-accent);font-size:12px;font-weight:var(--type-emph-mid);letter-spacing:.04em;background:#000000a6;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;display:inline-flex}.cinema-status-pill:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px;animation:1.1s ease-in-out infinite bubble-thinking-bounce}@keyframes bubbleIn2026{0%{opacity:0;transform:translateY(8px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}.bubble{contain:content}.bubble.bubble-fresh{animation:bubbleIn2026 .32s var(--spring-snap) both}.bubble.bubble-assistant.bubble-fresh{box-shadow:0 0 0 1px color-mix(in srgb, var(--persona-accent,var(--primary)) 24%, transparent), var(--depth-1)}.bubble .bubble-actions{opacity:0;clip-path:inset(0 100% 0 0);transition:clip-path .28s var(--motion-ease-deliberate), opacity .2s var(--motion-ease-flow), transform .2s var(--motion-ease-flow);pointer-events:none;transform:translateY(2px)}.bubble:hover .bubble-actions,.bubble:focus-within .bubble-actions,.bubble.bubble-actions-open .bubble-actions{opacity:1;clip-path:inset(0);pointer-events:auto;transform:translateY(0)}.bubble .bubble-actions>*{opacity:0;transition:opacity .18s var(--motion-ease-flow), transform .18s var(--motion-ease-flow);transform:translate(6px)}.bubble:hover .bubble-actions>*,.bubble:focus-within .bubble-actions>*,.bubble.bubble-actions-open .bubble-actions>*{opacity:1;transform:translate(0)}.bubble .bubble-actions>:first-child{transition-delay:0s}.bubble .bubble-actions>:nth-child(2){transition-delay:60ms}.bubble .bubble-actions>:nth-child(3){transition-delay:.12s}.bubble .bubble-actions>:nth-child(4){transition-delay:.18s}.bubble .bubble-actions>:nth-child(5){transition-delay:.24s}.bubble .bubble-actions>:nth-child(6){transition-delay:.3s}@media (hover:none){.bubble .bubble-actions{clip-path:none;opacity:1;pointer-events:auto;transform:none}.bubble .bubble-actions>*{opacity:1;transform:none}}@keyframes caretPulse2026{0%,to{opacity:1}50%{opacity:.3}}.bubble .bubble-content[data-streaming="1"]:after{content:"";vertical-align:-.18em;background:color-mix(in srgb, var(--persona-accent,var(--primary)) 80%, white);border-radius:3px;width:8px;height:1.05em;margin-left:3px;animation:1.1s ease-in-out infinite caretPulse2026;display:inline-block}.chat-quick-replies{flex-wrap:wrap;gap:8px;padding:6px 4px 0;display:flex}.chat-quick-replies .quick-reply{opacity:0;animation:chipSlideIn .32s var(--spring-snap) forwards;transform:translate(-12px)scale(.9)}.chat-quick-replies .quick-reply:first-child{animation-delay:0s}.chat-quick-replies .quick-reply:nth-child(2){animation-delay:60ms}.chat-quick-replies .quick-reply:nth-child(3){animation-delay:.12s}.chat-quick-replies .quick-reply:nth-child(4){animation-delay:.18s}.chat-quick-replies .quick-reply:nth-child(5){animation-delay:.24s}.chat-quick-replies .quick-reply:nth-child(6){animation-delay:.3s}@keyframes chipSlideIn{to{opacity:1;transform:translate(0)scale(1)}}.chat-switch-voice-fab{right:18px;bottom:calc(var(--composer-h,96px) + 14px);z-index:12;border:1px solid var(--glass-2026-border);background:var(--glass-2026-bg);-webkit-backdrop-filter:var(--glass-2026-blur);color:var(--text);font-weight:var(--type-emph-mid);cursor:pointer;box-shadow:var(--depth-2);transition:transform .22s var(--spring-snap), box-shadow .22s var(--motion-ease-flow);border-radius:999px;align-items:center;gap:8px;padding:10px 14px;font-size:14px;display:inline-flex;position:fixed}.chat-switch-voice-fab:hover{box-shadow:var(--depth-3);transform:translateY(-2px)}.chat-switch-voice-fab:active{transform:translateY(0)scale(.97)}.chat-switch-voice-fab .fab-icon{width:18px;height:18px;color:var(--persona-accent,var(--primary));justify-content:center;align-items:center;display:inline-flex}@media (max-width:640px){.chat-switch-voice-fab{padding:9px 12px;font-size:13px;right:14px}}.composer .mic-btn,.composer .send-btn{translate:var(--mag-x,0) var(--mag-y,0);transition:translate .14s var(--motion-ease-flow), transform .14s var(--motion-ease-flow), box-shadow .2s var(--motion-ease-flow)}.composer .mic-btn:active,.composer .send-btn:active{transform:scale(.96)}.composer .mic-btn[data-listening="1"]{background:linear-gradient(135deg,#22c55ecc,#16a34acc);box-shadow:0 0 0 2px #22c55e66,0 8px 22px -8px #22c55eb3}.composer .mic-waveform{align-items:flex-end;gap:3px;height:18px;display:inline-flex}.composer .mic-waveform span{width:3px;height:calc(20% + var(--bar-h,0%) * .8);background:#fff;border-radius:2px;transition:height 80ms linear;display:inline-block}@keyframes sendLiftOff{0%{transform:translate(0)rotate(0)}60%{opacity:.7;transform:translate(-12px,-18px)rotate(12deg)}to{opacity:1;transform:translate(0)rotate(0)}}.composer .send-btn[data-liftoff="1"]{animation:sendLiftOff .32s var(--spring-snap) 1}.composer{--composer-h:96px}@keyframes rippleOut{0%{opacity:.55;transform:scale(0)}to{opacity:0;transform:scale(2.4)}}.ui-ripple{isolation:isolate;position:relative;overflow:hidden}.ui-ripple:after{content:"";width:12px;height:12px;left:var(--rx,50%);top:var(--ry,50%);opacity:0;pointer-events:none;z-index:0;background:radial-gradient(circle,#ffffff6b,#0000 60%);border-radius:50%;margin-top:-6px;margin-left:-6px;position:absolute;transform:scale(0)}.ui-ripple[data-ripple="1"]:after{animation:rippleOut var(--motion-ripple-dur) var(--spring-soft) 1}.ui-magnetic{translate:var(--mag-x,0) var(--mag-y,0);transition:translate .14s var(--motion-ease-flow);will-change:translate}.ui-haptic-press{transition:transform .12s var(--motion-ease-flow)}.ui-haptic-press:active{transform:scale(.96)}.ui-tilt{transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .22s var(--motion-ease-flow);transform-style:preserve-3d}@media (prefers-reduced-motion:reduce){.voice2-shell.cinema[data-state=idle] .voice2-dock .dock-cta:after,.voice2-shell.cinema[data-state=listening] .cinema-rim,.voice2-shell.cinema[data-state=thinking] .cinema-aura,.voice2-shell.cinema[data-state=speaking] .cinema-rim,.voice2-shell.cinema[data-state=celebrating] .cinema-rim,.voice2-shell.cinema[data-state=celebrating] .cinema-portrait-wrap,.cinema-status-pill:before,.composer .send-btn[data-liftoff="1"],.bubble.bubble-fresh,.chat-quick-replies .quick-reply,.cinema-session-summary,.ui-ripple[data-ripple="1"]:after{animation:none!important}.bubble.bubble-fresh,.chat-quick-replies .quick-reply,.cinema-session-summary{opacity:1!important;transform:none!important}.voice2-shell.cinema[data-state=thinking] .cinema-portrait-wrap:after{opacity:.8;animation:none}.ui-magnetic,.composer .mic-btn,.composer .send-btn{translate:0!important}.ui-tilt{transform:none!important}.cinema-spotlight{display:none}}@media (hover:none),(pointer:coarse),(max-width:767px){.cinema-spotlight{display:none}.ui-tilt{transform:none}}.goal-sections{gap:18px;margin-top:12px;display:grid}.goal-section{border:0;gap:8px;min-inline-size:0;margin:0;padding:0;display:grid}.goal-section-label{font-family:var(--font-display);font-size:13px;font-weight:var(--type-emph-mid);text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin:0;padding:0}.goal-section .chip-group{flex-wrap:wrap;gap:8px;display:flex}.chip.goal-chip-recommended{position:relative}.chip.goal-chip-recommended .chip-badge{font-size:10px;font-weight:var(--type-emph-high);letter-spacing:.04em;text-transform:uppercase;background:color-mix(in srgb, var(--success) 22%, transparent);color:var(--success);border:1px solid color-mix(in srgb, var(--success) 38%, transparent);vertical-align:1px;border-radius:999px;margin-left:6px;padding:2px 8px;display:inline-block}.dialect-row{flex-wrap:wrap;gap:8px;display:flex}.dialect-pill{border:1px solid var(--border-color);background:var(--surface-1);color:var(--text);cursor:pointer;font-weight:var(--type-emph-mid);transition:background .2s var(--motion-ease-flow), border-color .2s var(--motion-ease-flow), transform .14s var(--motion-ease-flow);border-radius:999px;align-items:center;padding:8px 14px;font-size:14px;display:inline-flex}.dialect-pill:hover{transform:translateY(-1px)}.dialect-pill input{display:none}.dialect-pill.active{background:color-mix(in srgb, var(--persona-accent,var(--primary)) 18%, transparent);border-color:color-mix(in srgb, var(--persona-accent,var(--primary)) 50%, transparent);color:var(--text)}.dialect-pill:focus-within{outline:2px solid var(--persona-accent,var(--primary));outline-offset:2px}.voice2-shell.cinema.voice2-shell-2026 .cinema-ambient{pointer-events:none;z-index:0;background:radial-gradient(60% 50% at 18% 8%, color-mix(in srgb, var(--rim-color,var(--primary)) 22%, transparent) 0%, transparent 70%), radial-gradient(55% 45% at 88% 92%, color-mix(in srgb, var(--aura-color,var(--accent)) 18%, transparent) 0%, transparent 70%);opacity:.95;filter:blur(40px)saturate(1.05);transition:opacity .6s var(--motion-ease-flow,ease-out);animation:14s ease-in-out infinite alternate voice2AmbientDrift;position:absolute;inset:0}[data-theme=dark] .voice2-shell.cinema.voice2-shell-2026 .cinema-ambient{opacity:.75;filter:blur(50px)saturate(1.15)}@keyframes voice2AmbientDrift{0%{transform:translate(-1.5%)scale(1)}to{transform:translate(1.5%,-1%)scale(1.04)}}.voice2-shell.cinema.voice2-shell-2026[data-state=speaking] .cinema-ambient{opacity:1}.voice2-shell.cinema.voice2-shell-2026[data-state=thinking] .cinema-ambient{opacity:.7}.voice2-shell.cinema.voice2-shell-2026[data-state=listening] .cinema-ambient{opacity:.85}.voice2-shell.cinema.voice2-shell-2026[data-state=ended] .cinema-ambient{opacity:.35;animation:none}.voice2-shell.cinema.voice2-shell-2026 .voice2-header.minimal{background:color-mix(in srgb, var(--bg,#0c1424) 60%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.1);border:1px solid color-mix(in srgb, var(--rim-color,#fff) 8%, transparent);border-radius:18px;padding:12px 16px}.voice2-shell.cinema.voice2-shell-2026 .voice2-pair{letter-spacing:.18em;text-transform:uppercase;opacity:.78;font-size:11px;font-weight:600}.voice2-shell.cinema.voice2-shell-2026 .voice2-pair span{align-items:center;gap:6px;display:inline-flex}.voice2-shell.cinema.voice2-shell-2026 .voice2-status{margin-top:2px;font-size:13px}.voice2-shell.cinema.voice2-shell-2026 .voice2-timer{font-variant-numeric:tabular-nums;letter-spacing:.04em;opacity:0;transition:opacity .28s var(--motion-ease-flow,ease-out), transform .28s var(--motion-ease-flow,ease-out);font-size:13px;transform:translate(6px)}.voice2-shell.cinema.voice2-shell-2026.is-live .voice2-timer,.voice2-shell.cinema.voice2-shell-2026[data-state=listening] .voice2-timer,.voice2-shell.cinema.voice2-shell-2026[data-state=thinking] .voice2-timer,.voice2-shell.cinema.voice2-shell-2026[data-state=speaking] .voice2-timer,.voice2-shell.cinema.voice2-shell-2026[data-state=celebrating] .voice2-timer{opacity:.85;transform:translate(0)}.voice2-shell.cinema.voice2-shell-2026 .voice2-preflight-2026{z-index:2;justify-content:center;padding:0 16px 4px;display:flex;position:relative}.voice2-shell.cinema.voice2-shell-2026 .voice2-preflight-card{background:color-mix(in srgb, var(--bg,#0c1424) 72%, transparent);-webkit-backdrop-filter:blur(20px)saturate(1.15);border:1px solid color-mix(in srgb, var(--rim-color,#fff) 10%, transparent);width:100%;max-width:640px;box-shadow:0 1px 0 #ffffff1a inset, 0 18px 60px -25px color-mix(in srgb, var(--rim-color,var(--primary)) 30%, transparent);animation:voice2PreflightRise .48s var(--motion-ease-flow,cubic-bezier(.2,.7,.2,1)) both;border-radius:28px;flex-direction:column;gap:18px;padding:22px 22px 18px;display:flex}@keyframes voice2PreflightRise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translate(0,0)}}.voice2-shell.cinema.voice2-shell-2026.is-live .voice2-preflight-2026,.voice2-shell.cinema.voice2-shell-2026[data-state=listening] .voice2-preflight-2026,.voice2-shell.cinema.voice2-shell-2026[data-state=thinking] .voice2-preflight-2026,.voice2-shell.cinema.voice2-shell-2026[data-state=speaking] .voice2-preflight-2026,.voice2-shell.cinema.voice2-shell-2026[data-state=celebrating] .voice2-preflight-2026{display:none}.voice2-shell.cinema.voice2-shell-2026 .voice2-persona-preview{border-bottom:1px solid color-mix(in srgb, var(--text,#fff) 8%, transparent);flex-direction:column;gap:2px;padding-bottom:14px;display:flex}.voice2-shell.cinema.voice2-shell-2026 .voice2-persona-eyebrow{letter-spacing:.22em;text-transform:uppercase;opacity:.62;font-size:10px}.voice2-shell.cinema.voice2-shell-2026 .voice2-persona-name{letter-spacing:-.01em;font-size:clamp(20px,3.4vw,26px);font-weight:700;line-height:1.15}.voice2-shell.cinema.voice2-shell-2026 .voice2-persona-meta{opacity:.7;font-size:13px}.voice2-shell.cinema.voice2-shell-2026 .voice2-persona-meta:empty{display:none}.voice2-shell.cinema.voice2-shell-2026 .voice2-preflight-row{grid-template-columns:1fr;gap:10px;display:grid}.voice2-shell.cinema.voice2-shell-2026 .voice2-preflight-label{letter-spacing:.04em;opacity:.8;align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.voice2-shell.cinema.voice2-shell-2026 .voice2-preflight-label i{opacity:.85;font-size:13px}.voice2-shell.cinema.voice2-shell.cinema.voice2-shell-2026 .voice2-pill-row{flex-wrap:wrap;gap:8px;display:flex}.voice2-shell.cinema.voice2-shell-2026 .voice2-dock-2026.floating{padding:12px;padding-bottom:max(12px, env(safe-area-inset-bottom));background:color-mix(in srgb, var(--bg,#0c1424) 72%, transparent);-webkit-backdrop-filter:blur(22px)saturate(1.2);border:1px solid color-mix(in srgb, var(--rim-color,#fff) 10%, transparent);box-shadow:0 1px 0 #ffffff1f inset, 0 -2px 30px -10px color-mix(in srgb, var(--rim-color,var(--primary)) 35%, transparent), 0 22px 50px -25px #00000080;z-index:5;border-radius:26px;grid-template-columns:48px 48px 1fr 48px 48px;align-items:center;gap:10px;display:grid;position:relative}.voice2-shell.cinema.voice2-shell-2026 .voice2-dock-2026.floating:before{content:"";background:linear-gradient(to bottom, color-mix(in srgb, var(--rim-color,var(--primary)) 18%, transparent), transparent);pointer-events:none;opacity:.55;border-radius:28px 28px 0 0;height:24px;position:absolute;inset:-2px -2px auto}.voice2-shell.cinema.voice2-shell-2026 .voice2-dock-2026.floating .dock-btn{width:48px;height:48px;color:var(--text,#fff);cursor:pointer;transition:transform .14s var(--motion-ease-flow,ease-out), background .22s var(--motion-ease-flow,ease-out);background:#ffffff0f;border:1px solid #ffffff14;border-radius:50%;justify-content:center;align-items:center;font-size:17px;display:inline-flex}.voice2-shell.cinema.voice2-shell-2026 .voice2-dock-2026.floating .dock-btn:hover{background:#ffffff1f}.voice2-shell.cinema.voice2-shell-2026 .voice2-dock-2026.floating .dock-btn:active{transform:scale(.94)}.voice2-shell.cinema.voice2-shell-2026 .voice2-dock-2026.floating .dock-btn[aria-pressed=true]{background:color-mix(in srgb, var(--warning,#f59e0b) 26%, transparent);border-color:color-mix(in srgb, var(--warning,#f59e0b) 60%, transparent)}.voice2-shell.cinema.voice2-shell-2026 .voice2-dock-2026.floating .dock-btn.dock-end{background:color-mix(in srgb, var(--error,#ef4444) 22%, transparent);border-color:color-mix(in srgb, var(--error,#ef4444) 55%, transparent)}.voice2-shell.cinema.voice2-shell-2026 .voice2-dock-2026.floating .dock-btn.dock-end:hover{background:color-mix(in srgb, var(--error,#ef4444) 36%, transparent)}.voice2-shell.cinema.voice2-shell-2026 .voice2-dock-2026.floating .dock-cta{letter-spacing:.01em;height:52px;color:var(--text-on-accent);background:linear-gradient(135deg, var(--primary,#4361ee) 0%, var(--accent,#f72585) 100%);cursor:pointer;box-shadow:0 6px 20px -4px color-mix(in srgb, var(--primary,#4361ee) 50%, transparent), 0 1px 0 #ffffff2e inset;transition:transform .16s var(--motion-ease-flow,ease-out), filter .2s ease-out;border:none;border-radius:32px;justify-content:center;align-items:center;gap:10px;padding:0 20px;font-size:14px;font-weight:700;display:inline-flex;position:relative;overflow:visible}.voice2-shell.cinema.voice2-shell-2026 .voice2-dock-2026.floating .dock-cta:hover{filter:brightness(1.08);transform:translateY(-1px)}.voice2-shell.cinema.voice2-shell-2026 .voice2-dock-2026.floating .dock-cta:active{transform:scale(.98)}.voice2-shell.cinema.voice2-shell-2026 .voice2-dock-2026.floating .dock-cta[hidden]{display:none}.voice2-shell.cinema.voice2-shell-2026 .voice2-dock-2026.floating .dock-cta i{font-size:16px}.voice2-shell.cinema.voice2-shell-2026 .voice2-dock-2026.floating .dock-cta-ring{pointer-events:none;opacity:0;border:1.5px solid #ffffff4d;border-radius:40px;animation:2.6s ease-out infinite voice2CTARing;position:absolute;inset:-8px}@keyframes voice2CTARing{0%{opacity:0;transform:scale(.95)}35%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.18)}}.voice2-shell.cinema.voice2-shell-2026.is-live .voice2-dock-2026 .dock-cta,.voice2-shell.cinema.voice2-shell-2026[data-state=listening] .voice2-dock-2026 .dock-cta,.voice2-shell.cinema.voice2-shell-2026[data-state=thinking] .voice2-dock-2026 .dock-cta,.voice2-shell.cinema.voice2-shell-2026[data-state=speaking] .voice2-dock-2026 .dock-cta,.voice2-shell.cinema.voice2-shell-2026[data-state=celebrating] .voice2-dock-2026 .dock-cta{background:color-mix(in srgb, var(--success,#22c55e) 18%, transparent);border:1px solid color-mix(in srgb, var(--success,#22c55e) 50%, transparent);box-shadow:0 0 24px -4px color-mix(in srgb, var(--success,#22c55e) 60%, transparent)}.voice2-shell.cinema.voice2-shell-2026.is-live .voice2-dock-2026 .dock-cta-ring,.voice2-shell.cinema.voice2-shell-2026[data-state=listening] .voice2-dock-2026 .dock-cta-ring,.voice2-shell.cinema.voice2-shell-2026[data-state=thinking] .voice2-dock-2026 .dock-cta-ring,.voice2-shell.cinema.voice2-shell-2026[data-state=speaking] .voice2-dock-2026 .dock-cta-ring,.voice2-shell.cinema.voice2-shell-2026[data-state=celebrating] .voice2-dock-2026 .dock-cta-ring{display:none}.voice2-shell.cinema.voice2-shell-2026 .voice2-pill{min-height:36px;color:var(--text,#fff);cursor:pointer;transition:background .2s var(--motion-ease-flow,ease-out), border-color .2s var(--motion-ease-flow,ease-out), transform .14s var(--motion-ease-flow,ease-out);background:#ffffff0a;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex}.voice2-shell.cinema.voice2-shell-2026 .voice2-pill:hover{transform:translateY(-1px)}.voice2-shell.cinema.voice2-shell-2026 .voice2-pill.active{background:color-mix(in srgb, var(--rim-color,var(--primary)) 22%, transparent);border-color:color-mix(in srgb, var(--rim-color,var(--primary)) 55%, transparent);color:var(--text,#fff)}.voice2-shell.cinema.voice2-shell-2026 .voice2-pill:focus-visible{outline:2px solid color-mix(in srgb, var(--rim-color,var(--primary)) 70%, transparent);outline-offset:2px}@media (max-width:480px){.voice2-shell.cinema.voice2-shell-2026 .voice2-preflight-card{border-radius:22px;padding:18px 16px 14px}.voice2-shell.cinema.voice2-shell-2026 .voice2-persona-name{font-size:18px}.voice2-shell.cinema.voice2-shell-2026 .voice2-dock-2026.floating{padding:10px;padding-bottom:max(10px, env(safe-area-inset-bottom));border-radius:22px 22px 18px 18px;grid-template-columns:44px 44px 1fr 44px 44px;gap:8px}.voice2-shell.cinema.voice2-shell-2026 .voice2-dock-2026.floating .dock-btn{width:44px;height:44px;font-size:15px}.voice2-shell.cinema.voice2-shell-2026 .voice2-dock-2026.floating .dock-cta{gap:6px;height:48px;padding:0 14px;font-size:13px}.voice2-shell.cinema.voice2-shell-2026 .voice2-dock-2026.floating .dock-cta span{display:none}.voice2-shell.cinema.voice2-shell-2026 .voice2-dock-2026.floating .dock-cta i{font-size:18px}}@media (prefers-contrast:more){.voice2-shell.cinema.voice2-shell-2026 .voice2-dock-2026.floating,.voice2-shell.cinema.voice2-shell-2026 .voice2-preflight-card,.voice2-shell.cinema.voice2-shell-2026 .voice2-header.minimal{border-color:currentColor}.voice2-shell.cinema.voice2-shell-2026 .voice2-dock-2026.floating .dock-cta{outline:2px solid}}.voice2-shell.cinema.voice2-shell-2026 .cinema-listening-ring{aspect-ratio:1;width:clamp(280px,60vmin,460px);transform:translate(-50%, -50%) scale(var(--ring-scale,1));border:var(--ring-thick,3px) solid color-mix(in srgb, var(--rim-color,var(--primary)) 80%, transparent);opacity:var(--ring-alpha,0);pointer-events:none;z-index:1;filter:blur(.4px);transition:opacity .22s var(--motion-ease-flow,ease-out), border-width 80ms linear, transform 80ms linear;border-radius:50%;position:absolute;top:50%;left:50%}.voice2-shell.cinema.voice2-shell-2026[data-state=speaking] .cinema-listening-ring,.voice2-shell.cinema.voice2-shell-2026[data-state=connecting] .cinema-listening-ring,.voice2-shell.cinema.voice2-shell-2026[data-state=ended] .cinema-listening-ring{opacity:0}@media (prefers-reduced-motion:reduce){.voice2-shell.cinema.voice2-shell-2026 .cinema-ambient,.voice2-shell.cinema.voice2-shell-2026 .voice2-dock-2026.floating .dock-cta-ring,.voice2-shell.cinema.voice2-shell-2026 .voice2-preflight-card{animation:none!important}.voice2-shell.cinema.voice2-shell-2026 .cinema-listening-ring{transform:translate(-50%,-50%)scale(1)!important}}