:root{--radius-phone: 44px;--radius-xl: 20px;--radius-2xl: 24px;--radius-3xl: 28px;--radius-pill: 9999px;--ease-default: cubic-bezier(.4, 0, .2, 1);--ease-out-soft: cubic-bezier(.16, 1, .3, 1);--ease-standard: cubic-bezier(.2, 0, 0, 1);--duration-fast: .15s;--duration-base: .18s;--duration-slow: .28s;--orb-wrap-mobile-full: 200px;--orb-core-mobile-full: 160px;--orb-wrap-mobile-compressed: 110px;--orb-core-mobile-compressed: 88px;--orb-wrap-desktop: 220px;--orb-core-desktop: 180px;--color-page: #fdf8ec;--color-surface: #ffffff;--color-surface-elevated: #ffffff;--color-surface-raised: #ffffff;--color-surface-muted: #f7e9d7;--color-border: rgba(14, 14, 14, .07);--color-border-strong: rgba(14, 14, 14, .16);--color-border-soft: rgba(14, 14, 14, .06);--color-hero-bg: var(--color-surface);--color-hero-bg-edge: var(--color-surface);--color-hero-border: var(--color-border);--color-fg: #0e0e0e;--color-fg-muted: #4f4f4f;--color-fg-subtle: #8a8a8a;--color-ink: var(--color-fg);--color-ink-muted: var(--color-fg-muted);--color-ink-soft: var(--color-fg-subtle);--color-app: var(--color-page);--color-app-soft: #fbf3e2;--color-primary: var(--color-fg);--color-primary-hover: #2a2a2a;--color-primary-contrast: #ffffff;--color-focus: var(--color-fg);--color-bubble-mina-bg: #f7e9d7;--color-bubble-mina-fg: var(--color-fg);--color-bubble-user-bg: #f4d365;--color-bubble-user-fg: #0e0e0e;--color-transcript-learner: var(--color-bubble-user-bg);--color-transcript-tutor: var(--color-bubble-mina-bg);--color-cta-bg: #0e0e0e;--color-cta-bg-hover: #2a2a2a;--color-cta-fg: #ffffff;--cta-tracking: .06em;--cta-case: uppercase;--cta-radius: 999px;--color-accent-yellow: #f4d365;--color-accent-yellow-soft: #fff7dd;--color-accent-yellow-text: #3d2d04;--color-accent-peach: #fbc9a9;--color-accent-peach-text: #3a1a05;--color-accent-peach-dot: #b66931;--color-pastel-mint: #dcefd3;--color-pastel-mint-text: #2d5a3d;--color-pastel-peach: var(--color-accent-peach);--color-pastel-peach-text: var(--color-accent-peach-text);--color-pastel-cream: #f7e9d7;--color-pastel-cream-text: #5c4a2a;--color-pastel-lavender: #dcd3f4;--color-action-secondary-bg: transparent;--color-action-secondary-bg-hover: rgba(14, 14, 14, .04);--color-action-secondary-text: var(--color-fg-muted);--color-action-secondary-border: var(--color-border);--color-input-bg: #f7f3e8;--color-input-border: rgba(14, 14, 14, .09);--color-input-border-focus: var(--color-fg);--color-input-fg: var(--color-fg);--color-input-placeholder: var(--color-fg-subtle);--color-lang-pill-bg: transparent;--color-lang-pill-border: var(--color-border);--color-lang-pill-active-bg: var(--color-cta-bg);--color-lang-pill-active-fg: var(--color-cta-fg);--color-lang-pill-active-border: var(--color-cta-bg);--color-topic-chip-bg: var(--color-accent-yellow);--color-topic-chip-fg: var(--color-accent-yellow-text);--topic-chip-padding: 6px 14px;--topic-chip-radius: 999px;--color-streak-bg: var(--color-accent-peach);--color-streak-border: var(--color-accent-peach);--color-streak-fg: var(--color-accent-peach-text);--color-streak-dot: var(--color-accent-peach-dot);--color-nudge-bg: var(--color-accent-yellow-soft);--color-nudge-border: var(--color-accent-yellow);--color-nudge-fg: var(--color-fg);--color-nudge-icon-bg: var(--color-accent-yellow);--color-nudge-icon-fg: #3d2d04;--color-nudge-cta-bg: var(--color-cta-bg);--color-nudge-cta-fg: var(--color-cta-fg);--color-nudge-bg-desk: var(--color-accent-yellow-soft);--color-nudge-border-desk: var(--color-accent-yellow);--color-nudge-fg-desk: var(--color-fg);--color-nudge-icon-bg-desk: var(--color-accent-yellow);--color-nudge-icon-fg-desk: #3d2d04;--color-nudge-cta-bg-desk: var(--color-cta-bg);--color-nudge-cta-fg-desk: var(--color-cta-fg);--color-skill-vocab-bg: var(--color-accent-yellow);--color-skill-vocab-fg: var(--color-accent-yellow-text);--color-skill-speak-bg: var(--color-accent-peach);--color-skill-speak-fg: var(--color-accent-peach-text);--color-goal-lessons: var(--color-cta-bg);--color-goal-minutes: var(--color-cta-bg);--color-goal-words: var(--color-cta-bg);--color-goal-track: var(--color-border);--color-milestone-1: var(--color-pastel-lavender);--color-milestone-2: var(--color-accent-yellow);--color-milestone-3: var(--color-pastel-mint);--color-milestone-4: var(--color-accent-peach);--color-bubble-1: var(--color-pastel-mint);--color-bubble-2: var(--color-accent-yellow);--color-bubble-3: var(--color-accent-peach);--color-bubble-4: var(--color-pastel-cream);--color-bubble-5: var(--color-pastel-mint);--color-bubble-6: var(--color-accent-yellow-soft);--color-balance-bg: var(--color-surface);--color-balance-border: var(--color-border);--color-balance-fg: var(--color-fg);--color-balance-fg-muted: var(--color-fg-muted);--color-tip-bg: var(--color-accent-yellow-soft);--color-tip-fg: var(--color-accent-yellow-text);--color-tip-border: var(--color-accent-yellow);--color-accent-streak: var(--color-accent-yellow);--color-accent-tip-bg: var(--color-tip-bg);--color-accent-tip-fg: var(--color-tip-fg);--color-side-bg: var(--color-surface-muted);--color-rail-bg: var(--color-side-bg);--color-mobile-frame-bg: var(--color-page);--nav-radius: 999px;--color-nav-active-bg: var(--color-cta-bg);--color-nav-active-fg: var(--color-cta-fg);--color-nav-inactive: var(--color-fg-muted);--color-success-bg: #e8f5ec;--color-success-fg: #2d5a3d;--color-success-accent: #22c55e;--color-success-xp: #16a34a;--color-success: var(--color-success-fg);--color-error-bg: #fde6e3;--color-error-fg: #b3321f;--color-error-border: #f6c9c1;--color-error: var(--color-error-fg);--color-warn-bg: #fff7dd;--color-warn: #8a5a08;--color-neutral-800: #262626;--color-neutral-700: var(--color-fg-muted);--color-neutral-300: #d6c9b3;--color-neutral-200: var(--color-border);--color-neutral-100: var(--color-surface-muted);--color-slate-900: var(--color-fg);--color-slate-50: var(--color-surface);--color-ring-track: var(--color-border);--color-end-success-bg: var(--color-success-bg);--color-end-success-fg: var(--color-success-fg);--color-end-success-accent: var(--color-success-accent);--color-end-xp: var(--color-success-xp);--color-end-red-bg: var(--color-error-bg);--color-end-red-fg: var(--color-error-fg);--shadow-card: 0 1px 2px rgba(0, 0, 0, .04);--shadow-card-elevated: 0 1px 3px rgba(0, 0, 0, .04), 0 8px 24px rgba(0, 0, 0, .04);--shadow-btn-rest: 0 10px 26px rgba(0, 0, 0, .2);--shadow-btn-hover: 0 14px 32px rgba(0, 0, 0, .24);--shadow-btn-active: 0 4px 14px rgba(0, 0, 0, .14);--shadow-cta: var(--shadow-btn-rest);--shadow-soft: var(--shadow-card-elevated);--shadow-modal: 0 24px 80px rgba(15, 23, 42, .22);--shadow-orb-full: 0 12px 32px rgba(0, 0, 0, .18);--shadow-orb-full-desktop: 0 16px 40px rgba(0, 0, 0, .2);--shadow-orb-compressed: 0 6px 20px rgba(0, 0, 0, .16);--shadow-dropdown: 0 8px 28px rgba(0, 0, 0, .14);--color-orb-top: #1f1f1f;--color-orb-mid: #0a0a0a;--color-orb-edge: #000000;--color-orb-glow: rgba(252, 211, 77, .15);--orb-bg-from: var(--color-orb-top);--orb-bg-to: var(--color-orb-edge);--orb-rim: rgba(0, 0, 0, .55);--orb-specular: rgba(255, 240, 220, .15);--orb-floor: rgba(0, 0, 0, .18);--orb-charcoal-core: var(--color-orb-edge);--orb-charcoal-mid: var(--color-orb-mid);--orb-charcoal-ring: #f4d365;--orb-listening: #22c55e;--orb-thinking: #f4d365;--orb-speaking: #fbc9a9;--font-display: "Bricolage Grotesque", "Plus Jakarta Sans", sans-serif;--font-body: "Inter", "Plus Jakarta Sans", sans-serif;--font-sans: var(--font-body);--radius-1: 4px;--radius-2: 6px;--radius-3: 8px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px}h1,h2,h3{font-family:var(--font-display);font-weight:500}h1 b,h2 b,h3 b{font-weight:800}:root[data-theme=ocean-blue]{--color-page: #f0f5ff;--color-surface: #ffffff;--color-surface-elevated: #ffffff;--color-surface-raised: #ffffff;--color-surface-muted: #dce8ff;--color-border: rgba(30, 58, 138, .1);--color-border-strong: rgba(30, 58, 138, .2);--color-border-soft: rgba(30, 58, 138, .07);--color-fg: #1e3a8a;--color-fg-muted: #4b6cb7;--color-fg-subtle: #6b8cba;--color-app-soft: #e7f0ff;--color-primary-hover: #1d4ed8;--color-cta-bg: #2563eb;--color-cta-bg-hover: #1d4ed8;--color-cta-fg: #ffffff;--color-accent-yellow: #bfdbfe;--color-accent-yellow-soft: #eaf2ff;--color-accent-yellow-text: #1e3a8a;--color-accent-peach: #93c5fd;--color-accent-peach-text: #1e3a8a;--color-accent-peach-dot: #2563eb;--color-pastel-mint: #cfe6ff;--color-pastel-mint-text: #1e3a8a;--color-pastel-cream: #eaf2ff;--color-pastel-cream-text: #2a4a80;--color-pastel-lavender: #d6dcfb;--color-bubble-mina-bg: #eaf2ff;--color-bubble-user-bg: #bfdbfe;--color-bubble-user-fg: #1e3a8a;--color-input-bg: #eef4ff;--color-input-border: rgba(30, 58, 138, .12);--color-orb-glow: rgba(37, 99, 235, .18);--orb-charcoal-ring: #2563eb;--orb-thinking: #2563eb;--orb-speaking: #93c5fd}:root[data-theme=forest-sage]{--color-page: #f0f7f2;--color-surface: #ffffff;--color-surface-elevated: #ffffff;--color-surface-raised: #ffffff;--color-surface-muted: #d8eedf;--color-border: rgba(20, 83, 45, .08);--color-border-strong: rgba(20, 83, 45, .18);--color-border-soft: rgba(20, 83, 45, .06);--color-fg: #14532d;--color-fg-muted: #4a7a5a;--color-fg-subtle: #6b9e7a;--color-app-soft: #e7f3ec;--color-primary-hover: #14532d;--color-cta-bg: #166534;--color-cta-bg-hover: #14532d;--color-cta-fg: #ffffff;--color-accent-yellow: #bbf7d0;--color-accent-yellow-soft: #e3f7e9;--color-accent-yellow-text: #14532d;--color-accent-peach: #86efac;--color-accent-peach-text: #14532d;--color-accent-peach-dot: #166534;--color-pastel-mint: #bbf7d0;--color-pastel-mint-text: #14532d;--color-pastel-cream: #e3f7e9;--color-pastel-cream-text: #166534;--color-pastel-lavender: #c7f0d8;--color-bubble-mina-bg: #e3f7e9;--color-bubble-user-bg: #bbf7d0;--color-bubble-user-fg: #14532d;--color-input-bg: #eef7f1;--color-input-border: rgba(20, 83, 45, .1);--color-orb-glow: rgba(22, 101, 52, .16);--orb-charcoal-ring: #22c55e;--orb-thinking: #166534;--orb-speaking: #86efac}:root[data-theme=midnight-dark]{--color-page: #0f0f14;--color-surface: #1a1a25;--color-surface-elevated: #1f1f2e;--color-surface-raised: #1f1f2e;--color-surface-muted: #17171f;--color-border: rgba(167, 139, 250, .12);--color-border-strong: rgba(167, 139, 250, .26);--color-border-soft: rgba(167, 139, 250, .08);--color-fg: #ede9fe;--color-fg-muted: #a5a5b8;--color-fg-subtle: #6c6c80;--color-app-soft: #14141c;--color-primary: #ede9fe;--color-primary-hover: #c4b5fd;--color-primary-contrast: #0f0f14;--color-cta-bg: #7c3aed;--color-cta-bg-hover: #6d28d9;--color-cta-fg: #ffffff;--color-accent-yellow: #4c1d95;--color-accent-yellow-soft: #2a1f4a;--color-accent-yellow-text: #c4b5fd;--color-accent-peach: #5b21b6;--color-accent-peach-text: #ede9fe;--color-accent-peach-dot: #a78bfa;--color-pastel-mint: #312e81;--color-pastel-mint-text: #c7d2fe;--color-pastel-cream: #232334;--color-pastel-cream-text: #c4b5fd;--color-pastel-lavender: #4c1d95;--color-bubble-mina-bg: #232334;--color-bubble-mina-fg: #ede9fe;--color-bubble-user-bg: #7c3aed;--color-bubble-user-fg: #ffffff;--color-input-bg: #1f1f2e;--color-input-border: rgba(167, 139, 250, .2);--color-input-fg: #ede9fe;--color-input-placeholder: #6c6c80;--color-action-secondary-bg-hover: rgba(167, 139, 250, .1);--color-success-bg: #14321f;--color-success-fg: #86efac;--color-error-bg: #3a1714;--color-error-fg: #fca5a5;--color-error-border: #5b2420;--color-warn-bg: #2a1f4a;--color-warn: #fcd34d;--color-neutral-800: #ede9fe;--color-neutral-700: #a5a5b8;--color-neutral-300: #3a3a4a;--color-slate-900: #ede9fe;--color-slate-50: #1a1a25;--color-orb-glow: rgba(167, 139, 250, .22);--orb-charcoal-ring: #a78bfa;--orb-thinking: #a78bfa;--shadow-card: 0 1px 2px rgba(0, 0, 0, .4);--shadow-card-elevated: 0 1px 3px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .36);--shadow-dropdown: 0 8px 28px rgba(0, 0, 0, .5);--shadow-modal: 0 24px 80px rgba(0, 0, 0, .6)}:root[data-theme=pastel-dream]{--color-page: #f5f2f7;--color-surface: #ffffff;--color-surface-elevated: #ffffff;--color-surface-raised: #ffffff;--color-surface-muted: #e9f1ec;--color-border: rgba(75, 68, 83, .1);--color-border-strong: rgba(75, 68, 83, .18);--color-border-soft: rgba(75, 68, 83, .06);--color-fg: #4b4453;--color-fg-muted: #7c7488;--color-fg-subtle: #a89fb3;--color-app-soft: #efeaf3;--color-primary-hover: #3f7a5c;--color-cta-bg: #4f8e6e;--color-cta-bg-hover: #3f7a5c;--color-cta-fg: #ffffff;--color-accent-yellow: #c9e8d6;--color-accent-yellow-soft: #eaf6ef;--color-accent-yellow-text: #2f5a44;--color-accent-peach: #f6d6e0;--color-accent-peach-text: #80465a;--color-accent-peach-dot: #c97b95;--color-pastel-mint: #cfeadb;--color-pastel-mint-text: #2f5a44;--color-pastel-cream: #f6e8ee;--color-pastel-cream-text: #80465a;--color-pastel-lavender: #e3dbf2;--color-bubble-mina-bg: #eaf6ef;--color-bubble-user-bg: #f6d6e0;--color-bubble-user-fg: #80465a;--color-input-bg: #f0ecf4;--color-input-border: rgba(75, 68, 83, .12);--color-orb-glow: rgba(79, 142, 110, .16);--orb-charcoal-ring: #4f8e6e;--orb-thinking: #4f8e6e;--orb-speaking: #f6d6e0}:root[data-theme=soft-mint]{--color-page: #f2f7f7;--color-surface: #ffffff;--color-surface-elevated: #ffffff;--color-surface-raised: #ffffff;--color-surface-muted: #d9ecec;--color-border: rgba(40, 80, 80, .1);--color-border-strong: rgba(40, 80, 80, .18);--color-border-soft: rgba(40, 80, 80, .06);--color-fg: #2b4a4a;--color-fg-muted: #5a7d7d;--color-fg-subtle: #84a3a3;--color-app-soft: #e7f2f2;--color-primary-hover: #166e6e;--color-cta-bg: #1f8a8a;--color-cta-bg-hover: #166e6e;--color-cta-fg: #ffffff;--color-accent-yellow: #b8e3e0;--color-accent-yellow-soft: #e4f4f3;--color-accent-yellow-text: #18504e;--color-accent-peach: #f4ccd6;--color-accent-peach-text: #7a4350;--color-accent-peach-dot: #c97689;--color-pastel-mint: #c4e9d8;--color-pastel-mint-text: #2a5a44;--color-pastel-cream: #eef3ed;--color-pastel-cream-text: #4a6a4a;--color-pastel-lavender: #d8e6f0;--color-bubble-mina-bg: #e4f4f3;--color-bubble-user-bg: #b8e3e0;--color-bubble-user-fg: #18504e;--color-input-bg: #ecf4f4;--color-input-border: rgba(40, 80, 80, .12);--color-orb-glow: rgba(31, 138, 138, .16);--orb-charcoal-ring: #1f8a8a;--orb-thinking: #1f8a8a;--orb-speaking: #f4ccd6}:root[data-theme=lavender-fields]{--color-page: #f3eff9;--color-surface: #ffffff;--color-surface-elevated: #ffffff;--color-surface-raised: #ffffff;--color-surface-muted: #e4dcf0;--color-border: rgba(74, 68, 128, .1);--color-border-strong: rgba(74, 68, 128, .18);--color-border-soft: rgba(74, 68, 128, .06);--color-fg: #3f3a66;--color-fg-muted: #6f689a;--color-fg-subtle: #9a93bd;--color-app-soft: #ece5f6;--color-primary-hover: #574a96;--color-cta-bg: #6c5fb0;--color-cta-bg-hover: #574a96;--color-cta-fg: #ffffff;--color-accent-yellow: #d8ccf0;--color-accent-yellow-soft: #efe9f9;--color-accent-yellow-text: #3f3470;--color-accent-peach: #c0cdc9;--color-accent-peach-text: #3a4a46;--color-accent-peach-dot: #7a8c86;--color-pastel-mint: #cdd9d5;--color-pastel-mint-text: #3a4a46;--color-pastel-cream: #ece5f6;--color-pastel-cream-text: #4a4480;--color-pastel-lavender: #ddd2f2;--color-bubble-mina-bg: #efe9f9;--color-bubble-user-bg: #d8ccf0;--color-bubble-user-fg: #3f3470;--color-input-bg: #efeaf7;--color-input-border: rgba(74, 68, 128, .12);--color-orb-glow: rgba(108, 95, 176, .18);--orb-charcoal-ring: #6c5fb0;--orb-thinking: #6c5fb0;--orb-speaking: #c0cdc9}:root[data-theme=blush-peach]{--color-page: #fcf3ef;--color-surface: #ffffff;--color-surface-elevated: #ffffff;--color-surface-raised: #ffffff;--color-surface-muted: #f7e2dc;--color-border: rgba(120, 70, 60, .09);--color-border-strong: rgba(120, 70, 60, .18);--color-border-soft: rgba(120, 70, 60, .06);--color-fg: #5a3f3a;--color-fg-muted: #8a6a62;--color-fg-subtle: #b39a92;--color-app-soft: #fbece6;--color-primary-hover: #95472b;--color-cta-bg: #b05a3a;--color-cta-bg-hover: #95472b;--color-cta-fg: #ffffff;--color-accent-yellow: #fad9c2;--color-accent-yellow-soft: #fdeee3;--color-accent-yellow-text: #7a3f1f;--color-accent-peach: #f7c9c2;--color-accent-peach-text: #7a3a36;--color-accent-peach-dot: #c97362;--color-pastel-mint: #f3e3d0;--color-pastel-mint-text: #6a4a2a;--color-pastel-cream: #fdeee3;--color-pastel-cream-text: #7a4a2a;--color-pastel-lavender: #ecd9e2;--color-bubble-mina-bg: #fdeee3;--color-bubble-user-bg: #fad9c2;--color-bubble-user-fg: #7a3f1f;--color-input-bg: #fbeee8;--color-input-border: rgba(120, 70, 60, .12);--color-orb-glow: rgba(176, 90, 58, .16);--orb-charcoal-ring: #b05a3a;--orb-thinking: #b05a3a;--orb-speaking: #f7c9c2}:root[data-theme=noir-purple]{--color-page: #08080a;--color-surface: #131318;--color-surface-elevated: #1a1a20;--color-surface-raised: #1a1a20;--color-surface-muted: #0f0f13;--color-border: rgba(168, 130, 255, .14);--color-border-strong: rgba(168, 130, 255, .28);--color-border-soft: rgba(168, 130, 255, .08);--color-fg: #f2eaff;--color-fg-muted: #a99fc0;--color-fg-subtle: #6e6685;--color-app-soft: #0c0c10;--color-primary: #f2eaff;--color-primary-hover: #c9b3ff;--color-primary-contrast: #08080a;--color-cta-bg: #9333ea;--color-cta-bg-hover: #7e22ce;--color-cta-fg: #ffffff;--color-accent-yellow: #3b0d6b;--color-accent-yellow-soft: #1f0b3a;--color-accent-yellow-text: #d6b3ff;--color-accent-peach: #0d5b5b;--color-accent-peach-text: #7df0e0;--color-accent-peach-dot: #14b8a6;--color-pastel-mint: #14323a;--color-pastel-mint-text: #5eead4;--color-pastel-cream: #1a1a24;--color-pastel-cream-text: #d6b3ff;--color-pastel-lavender: #3b0d6b;--color-bubble-mina-bg: #1a1a24;--color-bubble-mina-fg: #f2eaff;--color-bubble-user-bg: #9333ea;--color-bubble-user-fg: #ffffff;--color-input-bg: #1a1a20;--color-input-border: rgba(168, 130, 255, .22);--color-input-fg: #f2eaff;--color-input-placeholder: #6e6685;--color-action-secondary-bg-hover: rgba(168, 130, 255, .1);--color-success-bg: #0d2a1c;--color-success-fg: #6ee7b7;--color-error-bg: #3a1414;--color-error-fg: #fca5a5;--color-error-border: #5b2020;--color-warn-bg: #1f0b3a;--color-warn: #fcd34d;--color-neutral-800: #f2eaff;--color-neutral-700: #a99fc0;--color-neutral-300: #2a2a36;--color-slate-900: #f2eaff;--color-slate-50: #131318;--color-orb-glow: rgba(147, 51, 234, .25);--orb-charcoal-ring: #9333ea;--orb-thinking: #c084fc;--shadow-card: 0 1px 2px rgba(0, 0, 0, .5);--shadow-card-elevated: 0 1px 3px rgba(0, 0, 0, .5), 0 8px 24px rgba(0, 0, 0, .45);--shadow-dropdown: 0 8px 28px rgba(0, 0, 0, .6);--shadow-modal: 0 24px 80px rgba(0, 0, 0, .7)}.ui-button,.ui-icon-button{transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.ui-button{min-height:40px;border-radius:var(--radius-3);padding:9px 14px}.ui-button[data-variant=primary]{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-contrast);box-shadow:var(--shadow-cta)}.ui-button[data-variant=primary]:not(:disabled):hover{background:var(--color-primary-hover)}.ui-button[data-variant=secondary]{border-color:var(--color-border);background:var(--color-surface);color:var(--color-ink)}.ui-button[data-variant=ghost]{border-color:transparent;background:transparent;color:var(--color-ink)}.ui-button[data-variant=danger]{border-color:var(--color-error);background:var(--color-error);color:#fff}.ui-icon-button{width:40px;min-width:40px;min-height:40px;border:1px solid var(--color-border);border-radius:var(--radius-3);background:var(--color-surface);color:var(--color-ink);padding:0}.ui-icon-button svg{margin:0}.ui-card{border:1px solid var(--color-border);border-radius:var(--radius-3);background:var(--color-surface);box-shadow:var(--shadow-soft)}.ui-chip,.ui-pill{display:inline-flex;align-items:center;gap:7px;width:fit-content;min-height:28px;border:1px solid var(--color-border);background:var(--color-app-soft);color:var(--color-ink-muted);font-weight:800;white-space:nowrap}.ui-chip{border-radius:var(--radius-2);padding:4px 8px;font-size:.78rem}.ui-pill{border-radius:var(--radius-pill);padding:5px 10px;font-size:.88rem}.ui-chip[data-tone=success],.ui-pill[data-tone=success]{border-color:#bbf7d0;background:var(--color-success-bg);color:var(--color-success)}.ui-chip[data-tone=warn],.ui-pill[data-tone=warn]{border-color:#fed7aa;background:var(--color-warn-bg);color:var(--color-warn)}.ui-chip[data-tone=error],.ui-pill[data-tone=error]{border-color:#fecdd3;background:var(--color-error-bg);color:var(--color-error)}.ui-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;background:#0f172a6b;padding:var(--space-5)}.ui-modal{width:min(560px,100%);max-height:min(720px,calc(100vh - 40px));overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius-3);background:var(--color-surface);box-shadow:var(--shadow-modal)}.ui-modal__header{display:flex;align-items:start;justify-content:space-between;gap:var(--space-4);border-bottom:1px solid var(--color-border-soft);padding:var(--space-5)}.ui-modal__header p{margin:6px 0 0;color:var(--color-ink-muted)}.voice-orb{position:relative;width:156px;aspect-ratio:1;border-radius:50%;background:radial-gradient(ellipse at 30% 24%,rgb(255 255 255 / .26),transparent 25%),radial-gradient(circle at 42% 36%,var(--orb-charcoal-mid) 0%,var(--orb-charcoal-core) 88%);box-shadow:inset 0 -10px 22px #0000004d,inset 0 6px 14px #ffffff0f,0 12px 56px #0003,0 3px 16px #0000001a}.voice-orb:after{position:absolute;top:10%;left:16%;width:30%;height:22%;border-radius:inherit;background:radial-gradient(ellipse,rgb(255 255 255 / .28) 0%,transparent 70%);content:"";filter:blur(6px)}.voice-orb[data-state=listening]:after{opacity:.95}.voice-orb[data-state=thinking]:after{opacity:.82}.voice-orb[data-state=speaking]:after{opacity:1}@media(prefers-reduced-motion:no-preference){.ui-button:not(:disabled):active,.ui-icon-button:not(:disabled):active{transform:translateY(1px)}.voice-orb[data-state=idle],.voice-orb[data-state=completed],.voice-orb[data-state=error]{animation:orb-breathe-idle 5s ease-in-out infinite,blob-morph-idle 8s ease-in-out infinite}.voice-orb[data-state=listening]{animation:orb-listening-inhale 2.8s ease-in-out infinite,blob-morph-listening 3.4s ease-in-out infinite}.voice-orb[data-state=speaking]{animation:orb-speaking-pulse .54s ease-out infinite,blob-morph-speaking 1.6s ease-in-out infinite}.voice-orb[data-state=processing]{animation:orb-processing-breathe 3.2s ease-in-out infinite,blob-morph-processing 4s ease-in-out infinite,orb-rotate-slow 8s linear infinite}.voice-orb[data-state=paused]{border-radius:50%;rotate:0deg}.lesson-transcript-bubble[data-live=true]{animation:lesson-row-reveal .26s var(--ease-standard) both}.lesson-connection-toast,.lesson-leave-sheet{animation:lesson-sheet-rise .22s var(--ease-standard) both}.study-session-backdrop{animation:vocab-backdrop-in .18s var(--ease-standard) both}.flashcard-session,.practice-quiz-session,.ui-modal{animation:vocab-sheet-in .22s var(--ease-standard) both}.vocab-row,.progress-card,.milestones-row,.skill-level-panel,.lesson-history-list,.profile-settings-card,.lesson-balance-card,.settings-row,.legal-page{animation:lesson-row-reveal .22s var(--ease-standard) both}.skill-level-row .skill-ring,.skill-ring-card .skill-ring{animation:progress-ring-settle .52s var(--ease-standard) both}.settings-toggle-row i:after{transition:transform .18s var(--ease-standard)}.xp-reveal__check{animation:completion-check-pop .4s cubic-bezier(.2,.8,.3,1) both .4s}.xp-reveal__total{animation:completion-content-reveal .32s ease both .9s}.xp-breakdown span{animation:completion-chip-reveal .28s ease both var(--chip-delay, 1.1s)}.completion-metrics article{animation:completion-content-reveal .32s ease both 1.8s}.completion-skill{animation:completion-content-reveal .32s ease both 2.5s}.completion-notes{animation:completion-content-reveal .32s ease both 3.4s}.practice-chips span,.post-lesson-feedback{animation:completion-chip-reveal .28s ease both var(--chip-delay, 4.1s)}.resume-card,.recovery-banner{animation:lesson-sheet-rise .22s var(--ease-standard) both}.auth-bubbles span:first-child{animation:auth-bubble-in .55s var(--ease-standard) both .18s}.auth-bubbles span:nth-child(2){animation:auth-bubble-in .55s var(--ease-standard) both .52s}.auth-flags span:not([data-active=true]){animation:auth-chip-beat 3.4s var(--ease-standard) infinite}.auth-flags span:nth-child(2){animation-delay:.12s}.auth-flags span:nth-child(3){animation-delay:.24s}.auth-flags span:nth-child(4){animation-delay:.36s}.auth-flags span:nth-child(5){animation-delay:.48s}.auth-flags span:nth-child(6){animation-delay:.6s}}@media(prefers-reduced-motion:reduce){.voice-orb,.lesson-orb-wrap,.lesson-orb-wrap:before,.lesson-transcript-bubble,.lesson-connection-toast,.lesson-leave-sheet,.study-session-backdrop,.flashcard-session,.practice-quiz-session,.ui-modal,.vocab-row,.progress-card,.milestones-row,.skill-level-panel,.lesson-history-list,.profile-settings-card,.lesson-balance-card,.settings-row,.legal-page,.xp-reveal__check,.xp-reveal__total,.xp-breakdown span,.completion-metrics article,.completion-skill,.completion-notes,.practice-chips span,.post-lesson-feedback,.resume-card,.recovery-banner,.skill-level-row .skill-ring,.skill-ring-card .skill-ring,.auth-bubbles span,.auth-flags span{animation:none!important;transform:none!important}}@keyframes progress-ring-settle{0%{opacity:.72;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes completion-check-pop{0%{opacity:0;transform:scale(.65)}70%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes completion-content-reveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes completion-chip-reveal{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes vocab-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes vocab-sheet-in{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes lesson-orb-listening{0%,to{opacity:.5;transform:scale(.96)}50%{opacity:.9;transform:scale(1.04)}}@keyframes lesson-orb-speaking{0%,to{opacity:.45;transform:scale(.98)}50%{opacity:.95;transform:scale(1.08)}}@keyframes lesson-orb-processing{to{transform:rotate(360deg)}}@keyframes orb-breathe-idle{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes orb-listening-inhale{0%,to{transform:scale(1)}40%{transform:scale(.985)}70%{transform:scale(1.005)}}@keyframes orb-speaking-pulse{0%{transform:scale(1)}12%{transform:scale(1.045)}to{transform:scale(1)}}@keyframes orb-processing-breathe{0%,to{transform:scale(1)}50%{transform:scale(.985)}}@keyframes blob-morph-idle{0%,to{border-radius:50%}25%{border-radius:49% 51% 50% 50%/50% 50% 49% 51%}50%{border-radius:51% 49% 50% 50%/50% 50% 51% 49%}75%{border-radius:50% 50% 51% 49%/49% 51% 50% 50%}}@keyframes blob-morph-listening{0%,to{border-radius:50%}33%{border-radius:44% 56% 50% 50%/56% 44%}66%{border-radius:56% 44% 50% 50%/44% 56%}}@keyframes blob-morph-speaking{0%,to{border-radius:50%}25%{border-radius:47% 53% 51% 49%/49% 51% 47% 53%}50%{border-radius:53% 47% 49% 51%/51% 49% 53% 47%}75%{border-radius:49% 51% 53% 47%/48% 52% 49% 51%}}@keyframes blob-morph-processing{0%,to{border-radius:50%}50%{border-radius:47% 53% 51% 49%/51% 49% 47% 53%}}@keyframes orb-rotate-slow{to{rotate:360deg}}@keyframes lesson-row-reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes lesson-sheet-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes voice-orb-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.035)}}@keyframes auth-bubble-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes auth-chip-beat{0%,54%,to{filter:grayscale(.55) saturate(.7);transform:translateY(0)}12%{filter:grayscale(.15) saturate(.95);transform:translateY(-2px)}}:root{color:var(--color-ink);background:var(--color-app);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.onboarding-screen{display:grid;grid-template-rows:auto 1fr;gap:18px;min-height:100%;padding:20px 24px 28px}.onboarding-header{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;width:min(100%,520px);margin:0 auto}.onboarding-back{display:grid;width:36px;height:36px;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--color-fg-muted);cursor:pointer}.onboarding-back:hover{background:var(--color-surface-muted);color:var(--color-fg)}.onboarding-progress{height:5px;overflow:hidden;border-radius:999px;background:var(--color-border)}.onboarding-progress span{display:block;height:100%;border-radius:inherit;background:var(--color-accent-yellow);transition:inline-size .42s var(--ease-standard)}.onboarding-step-count{color:var(--color-fg-muted);font-size:13px;font-weight:800;white-space:nowrap}.onboarding-step{display:grid;align-content:center;min-height:0}.onboarding-card{display:grid;gap:18px;width:min(100%,520px);margin:0 auto;padding:24px;animation:onboarding-step-in .25s var(--ease-standard) both}.onboarding-card__hero{justify-self:center;width:min(220px,58vw);aspect-ratio:1;object-fit:contain}.onboarding-card__icon{display:grid;width:52px;height:52px;place-items:center;border-radius:50%;background:var(--color-accent-yellow-soft);color:var(--color-fg)}.onboarding-card__copy{display:grid;gap:8px}.onboarding-card h1{margin:0;color:var(--color-fg);font-size:32px;line-height:1.15}.onboarding-card__copy p,.onboarding-mic-copy p{margin:0;color:var(--color-fg-muted);font-size:16px;line-height:1.45}.onboarding-orb{width:128px;height:128px;margin:10px auto 12px;border-radius:50%;background:radial-gradient(circle at 36% 30%,rgba(255,255,255,.65),transparent 22%),radial-gradient(circle at 50% 55%,var(--orb-bg-from),var(--orb-bg-to));box-shadow:0 18px 64px #00000038,0 4px 18px #00000024;animation:orb-breathe-idle 5s ease-in-out infinite,blob-morph-idle 8s ease-in-out infinite}.onboarding-option-list,.onboarding-mic-preferences{display:grid;gap:8px}.onboarding-option-row{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;min-height:56px;padding:12px 14px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-raised);color:var(--color-fg);font:inherit;text-align:left;cursor:pointer}.onboarding-option-row:hover{border-color:color-mix(in srgb,var(--color-accent-yellow),var(--color-border) 42%)}.onboarding-option-row[data-active=true]{border-color:var(--color-accent-yellow);background:var(--color-accent-yellow-soft)}.onboarding-option-row__icon{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;color:var(--color-fg-muted)}.onboarding-option-row[data-active=true] .onboarding-option-row__icon{background:var(--color-accent-yellow);color:var(--color-ink)}.onboarding-option-row strong{display:block;font-size:15px;line-height:1.25}.onboarding-option-row small{display:block;margin-top:3px;color:var(--color-fg-muted);font-size:13px;font-weight:600;line-height:1.35}.onboarding-mic-card{display:grid;gap:14px;padding:18px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);box-shadow:var(--shadow-soft)}.onboarding-mic-orb{display:grid;width:88px;height:88px;place-items:center;margin:0 auto;border:2px solid var(--color-border);border-radius:50%;background:var(--color-surface-muted);color:var(--color-fg-muted)}.onboarding-mic-card[data-status=granted] .onboarding-mic-orb{border-color:var(--color-success);background:var(--color-success-bg);color:var(--color-success)}.onboarding-mic-card[data-status=denied] .onboarding-mic-orb,.onboarding-mic-card[data-status=unavailable] .onboarding-mic-orb{border-color:var(--color-error);background:var(--color-error-bg);color:var(--color-error)}.onboarding-mic-copy{display:grid;gap:6px;text-align:center}.onboarding-mic-copy strong{font-size:16px}.onboarding-mic-actions{display:flex;justify-content:center}.onboarding-summary{display:grid;gap:8px}.onboarding-summary div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.onboarding-summary span{color:var(--color-fg-muted);font-size:13px;font-weight:800}.onboarding-summary strong{color:var(--color-fg);text-align:right}.onboarding-error{margin:0;color:var(--color-error);font-weight:800}.onboarding-actions{display:flex;justify-content:flex-end;gap:10px}@keyframes onboarding-step-in{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@media(max-width:760px){.onboarding-screen{padding:16px}.onboarding-header{grid-template-columns:32px minmax(0,1fr) auto;gap:8px}.onboarding-card{padding:12px 2px 20px}.onboarding-card h1{font-size:26px}.onboarding-actions{align-items:stretch;flex-direction:column-reverse}}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--color-page);accent-color:var(--color-cta-bg)}.sr-only,.lesson-smoke-state,.lesson-smoke-metrics{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}button,input,select{font:inherit}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:1px solid var(--color-border);border-radius:var(--radius-3);background:var(--color-primary);color:var(--color-primary-contrast);cursor:pointer;font-weight:700}button:disabled{cursor:not-allowed;opacity:.45}button[type=button]{background:var(--color-surface);color:var(--color-ink)}input,select{width:100%;min-height:40px;border:1px solid var(--color-border);border-radius:var(--radius-3);background:var(--color-surface);color:var(--color-ink);padding:8px 10px}label,fieldset{display:grid;gap:6px;min-width:0}label span,legend{color:var(--color-ink-muted);font-size:.82rem;font-weight:800;letter-spacing:0;text-transform:uppercase}fieldset{margin:0;border:0;padding:0}.app-shell{display:grid;grid-template-rows:auto 1fr;min-height:100vh}.topbar{display:flex;gap:24px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border);background:var(--color-surface);padding:18px 24px}.eyebrow{margin:0 0 4px;color:var(--color-ink-muted);font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2{margin:0;color:var(--color-ink);letter-spacing:0}h1{font-size:1.6rem;line-height:1.2}h2{font-size:1.9rem;line-height:1.15;text-transform:capitalize}.system-strip,.call-badges,.control-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.status-pill{display:inline-flex;align-items:center;gap:7px;min-height:32px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-app-soft);color:var(--color-ink-muted);padding:5px 10px;font-size:.88rem;font-weight:800;white-space:nowrap}.status-pill[data-tone=success]{border-color:#bbf7d0;color:var(--color-success)}.status-pill[data-tone=warn]{border-color:#fed7aa;color:var(--color-warn)}.status-pill[data-tone=error]{border-color:#fecdd3;color:var(--color-error)}.workspace{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr) minmax(260px,320px);min-height:0}.launch-panel,.event-rail{display:grid;align-content:start;gap:16px;border-right:1px solid var(--color-border);background:var(--color-app-soft);padding:20px}.event-rail{border-right:0;border-left:1px solid var(--color-border)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.token-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center}.segmented{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--color-border);border-radius:var(--radius-3);overflow:hidden}.segmented button{border:0;border-radius:0;background:var(--color-surface);color:var(--color-ink-muted)}.segmented button+button{border-left:1px solid var(--color-border)}.segmented button.selected{background:var(--color-primary);color:var(--color-primary-contrast)}.control-row{display:grid;grid-template-columns:1fr 1fr 44px;gap:8px;margin-top:4px}.control-row button:last-child{padding-inline:0}.control-row button:last-child svg{margin:0}.control-row button:last-child{font-size:0}.lesson-surface{display:grid;grid-template-rows:auto auto auto 1fr;gap:18px;min-width:0;min-height:0;padding:24px}.call-header{display:flex;align-items:start;justify-content:space-between;gap:16px}.error-banner{display:flex;align-items:center;gap:10px;border:1px solid #fecdd3;border-radius:var(--radius-3);background:var(--color-error-bg);color:var(--color-error);padding:10px 12px;font-weight:700}.session-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--color-border);border-radius:var(--radius-3);overflow:hidden}.metric{display:grid;gap:5px;min-width:0;border-right:1px solid var(--color-border);background:var(--color-surface);padding:12px}.metric:last-child{border-right:0}.metric span{color:var(--color-ink-soft);font-size:.78rem;font-weight:800;text-transform:uppercase}.metric strong{min-width:0;overflow-wrap:anywhere;color:var(--color-ink);font-size:.94rem}.transcript-band{display:grid;align-content:start;gap:12px;min-height:260px;overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius-3);background:var(--color-surface);padding:16px}.empty-state{margin:0;color:var(--color-ink-soft);font-weight:700}.transcript-line{display:grid;gap:6px;max-width:78ch}.transcript-line span{color:var(--color-ink-muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.transcript-line p{margin:0;border-radius:var(--radius-3);background:var(--color-transcript-learner);padding:12px;line-height:1.45}.transcript-line[data-role=teacher] p{background:var(--color-transcript-tutor)}.lesson-screen{position:relative;display:grid;grid-template-rows:72px minmax(0,1fr) 96px;height:100vh;height:100dvh;min-height:0;max-height:100vh;max-height:100dvh;overflow:hidden;background:#fff;color:var(--color-ink)}.lesson-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border-subtle);padding:0 24px}.lesson-header.has-tutor-identity{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:16px}.lesson-header__left{display:flex;align-items:center;min-width:0}.lesson-header.has-tutor-identity .lesson-header__right{justify-self:end}.lesson-header .segmented{grid-template-columns:repeat(3,auto);min-height:36px;border:0;background:#f0f4f8;padding:4px}.lesson-header .segmented button{min-height:28px;height:28px;min-width:54px;border:0;border-radius:999px;background:transparent;color:var(--color-ink-muted);font-size:.75rem;font-weight:600}.lesson-header .segmented button+button{border-left:0}.lesson-header .segmented button.selected{background:#fff;color:var(--color-ink);box-shadow:0 8px 20px #0f172a14}.lesson-header__right{display:flex;align-items:center;gap:14px}.lesson-header__right>strong{min-width:54px;color:var(--color-ink-muted);font-size:.875rem;font-weight:700}.lesson-header__right[data-timer-tone=warning]>strong{color:#9a5a10}.lesson-header__right[data-timer-tone=final]>strong{color:#9d2b2b}.lesson-tutor-chip{min-width:0;max-width:280px;overflow:hidden;color:var(--color-ink-muted);font-size:.875rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.lesson-tutor-lockup{display:flex;align-items:center;gap:10px;min-width:0}.lesson-tutor-avatar{display:grid;flex:0 0 auto;place-items:center;width:32px;height:32px;border-radius:999px;background:radial-gradient(circle at 32% 28%,rgb(255 255 255 / .22),transparent 25%),radial-gradient(circle at 42% 36%,#2b3036,#111 88%);color:#fff;font-size:.75rem;font-weight:800;letter-spacing:0;box-shadow:0 6px 16px #0f172a29}.lesson-workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;height:100%;min-height:0;overflow:hidden}.lesson-main-pane{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;min-width:0;min-height:0;overflow:hidden;padding:24px}.lesson-status-row{position:absolute;top:24px;left:50%;z-index:2;display:flex;align-items:center;justify-content:center;gap:10px;min-height:34px;transform:translate(-50%)}.lesson-error{position:absolute;top:74px;left:50%;z-index:2;width:min(520px,calc(100% - 48px));transform:translate(-50%)}.lesson-recovery-panel{position:absolute;top:118px;left:50%;z-index:3;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px 14px;width:min(560px,calc(100% - 48px));border:1px solid #f0d1a3;border-radius:18px;background:#fff8e6;box-shadow:0 22px 52px #48340f24;padding:16px;transform:translate(-50%)}.lesson-recovery-panel__icon{display:grid;width:46px;aspect-ratio:1;place-items:center;border-radius:50%;background:#ffe6b0;color:#7a4a10}.lesson-recovery-panel strong{color:var(--color-fg)}.lesson-recovery-panel p{margin:3px 0 0;color:var(--color-fg-muted);font-size:.9rem;line-height:1.4}.lesson-recovery-panel__actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:8px}.lesson-recovery-panel__actions button{display:inline-flex;align-items:center;gap:7px;border:1px solid #d9bc80;border-radius:var(--radius-pill);background:#fff;color:var(--color-fg);padding:8px 12px;font-weight:850}.lesson-stage{display:grid;place-items:center;align-self:center;gap:14px;min-width:0;text-align:center}.lesson-orb-wrap{position:relative;display:grid;place-items:center;width:192px;aspect-ratio:1;border-radius:50%}.lesson-orb-wrap:before{position:absolute;right:12%;bottom:0;left:12%;height:12%;border-radius:999px;background:radial-gradient(ellipse,rgb(0 0 0 / .2) 0%,transparent 70%);content:"";filter:blur(8px)}.lesson-orb{z-index:1}.lesson-stage__label{margin:0;color:#273449;font-size:1rem;font-weight:850}.lesson-stage__thinking{display:inline-flex;align-items:center;gap:5px;margin-top:-6px}.lesson-stage__subcopy{margin:-4px 0 0;color:var(--color-ink-soft);font-size:.88rem;font-weight:750}.lesson-stage__subcopy[data-ready=true]{color:#15803d}.lesson-runtime-state{border:1px solid #d7e1eb;border-radius:999px;background:#f8fafc;color:var(--color-ink-muted);padding:5px 10px;font-size:.72rem;font-weight:900;letter-spacing:0}.lesson-side-rail{display:flex;flex-direction:column;align-content:start;min-width:0;overflow:hidden;border-left:1px solid #f1f5f9;background:#fff;padding:12px 0 0}.lesson-transcript-panel,.lesson-debug-events,.lesson-session-meta{min-width:0;border:1px solid #e1e8f0;border-radius:8px;background:#fff}.lesson-main-pane>.lesson-transcript-panel{display:flex;flex-direction:column;align-self:stretch;justify-self:center;width:min(720px,100%);max-height:100%;min-height:0;overflow:hidden;border:0;border-radius:0;background:transparent}.lesson-main-pane>.lesson-transcript-panel header{padding:0 4px 14px}.lesson-main-pane>.lesson-transcript-panel header .ui-icon-button{width:32px;min-width:32px;min-height:32px;border:0;background:transparent;color:var(--color-ink-soft)}.lesson-transcript-panel header,.lesson-debug-events header{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #edf2f7;padding:12px}.lesson-transcript-panel header>div,.lesson-debug-events header>div{display:flex;align-items:center;gap:8px;min-width:0}.lesson-transcript-panel strong,.lesson-debug-events strong{font-size:.86rem}.lesson-transcript-scroll{display:grid;align-content:start;gap:10px;max-height:min(48vh,430px);overflow:auto;overscroll-behavior:contain;padding:12px}.lesson-main-pane>.lesson-transcript-panel .lesson-transcript-scroll{flex:1;gap:18px;max-height:none;min-height:0;padding:18px 4px 8px}.lesson-main-pane>.lesson-transcript-panel .empty-state{margin:0;color:#536179;font-size:.875rem;font-weight:700;line-height:1.5}.lesson-typing-indicator{display:inline-flex;align-items:center;justify-self:start;gap:5px;width:fit-content;border-radius:999px;background:#f8fafc;padding:8px 11px}.lesson-transcript-warning{margin:10px 12px 0;border-radius:6px;background:#fff7ed;color:#9a3412;padding:8px 10px;font-size:.82rem;font-weight:750}.lesson-transcript-bubble{display:grid;gap:5px;justify-items:start}.lesson-transcript-bubble[data-role=teacher]{justify-items:start}.lesson-transcript-bubble[data-role=learner]{justify-items:end}.lesson-transcript-bubble span{color:var(--color-ink-soft);font-size:.72rem;font-weight:900;text-transform:uppercase}.lesson-main-pane>.lesson-transcript-panel .lesson-transcript-bubble span{font-size:.76rem;font-weight:700;text-transform:none}.lesson-transcript-bubble p{max-width:min(270px,100%);margin:0;border-radius:8px;background:var(--color-bubble-user-bg);color:var(--color-bubble-user-fg);padding:10px 12px;line-height:1.4}.lesson-main-pane>.lesson-transcript-panel .lesson-transcript-bubble p{max-width:min(560px,78%);border-radius:18px 18px 4px;padding:13px 16px;font-size:.875rem;line-height:1.5}.lesson-transcript-bubble[data-role=teacher] p{background:var(--color-bubble-mina-bg);color:var(--color-ink);box-shadow:none}.lesson-main-pane>.lesson-transcript-panel .lesson-transcript-bubble[data-role=teacher] p{border-radius:18px 18px 18px 4px;background:var(--color-bubble-mina-bg);box-shadow:none}.typing-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--color-fg-muted);opacity:.35;animation:typing-dot-pulse 1.2s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.18s}.typing-dot:nth-child(3){animation-delay:.36s}@keyframes typing-dot-pulse{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}@keyframes mic-listening-ring{0%,to{box-shadow:0 18px 38px #0f172a2e,0 0 #22c55e6b}50%{box-shadow:0 18px 38px #0f172a2e,0 0 0 13px #22c55e00}}@keyframes lesson-word-row-in{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){.lesson-controls__primary.is-listening,.lesson-words-panel[data-open=true] .lesson-words-panel__item,.workspace-loading-orb:before,.workspace-loading-orb:after,.workspace-loading-orb span,.workspace-loading-steps span{animation:none!important}.lesson-words-panel__content,.lesson-words-panel__chevron{transition:none!important}}@keyframes lesson-xp-pop{0%{opacity:0;transform:translateY(14px) scale(.94)}22%{opacity:1;transform:translateY(-12px) scale(1)}72%{opacity:1;transform:translateY(-28px) scale(1)}to{opacity:0;transform:translateY(-46px) scale(.96)}}@keyframes workspace-loading-ring{0%,to{opacity:.28;transform:scale(.96)}50%{opacity:.8;transform:scale(1.04)}}@keyframes workspace-loading-dot{0%,to{transform:scale(.72)}50%{transform:scale(1)}}@keyframes workspace-loading-step{0%,to{opacity:.62;transform:translateY(0)}50%{opacity:1;transform:translateY(-1px)}}.lesson-transcript-bubble[data-live=true] p{outline:0}.lesson-transcript-bubble small{color:#b45309;font-weight:800}.lesson-words-panel{flex:0 0 auto;box-sizing:border-box;min-width:0;width:288px;overflow:hidden;border:1px solid #f1f5f9;border-radius:16px;background:#fff;margin:0 16px 12px}.lesson-words-panel__header{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;background:#fff;color:inherit;cursor:pointer;padding:12px 16px;text-align:left}.lesson-words-panel__heading{display:flex;align-items:center;gap:8px;min-width:0}.lesson-words-panel__badge{flex:0 0 auto;border-radius:8px;background:#f0fdf4;color:#15803d;padding:2px 8px;font-size:10px;font-weight:700;letter-spacing:.6px;line-height:1.2;text-transform:uppercase}.lesson-words-panel__title{min-width:0;overflow:hidden;color:#334155;font-size:.75rem;font-weight:600;line-height:1rem;text-overflow:ellipsis;white-space:nowrap}.lesson-words-panel__chevron{flex:0 0 auto;color:#94a3b8;transition:transform .18s var(--ease-standard)}.lesson-words-panel[data-open=false] .lesson-words-panel__chevron{transform:rotate(-90deg)}.lesson-words-panel__content{display:grid;grid-template-rows:1fr;overflow:hidden;transition:grid-template-rows .22s var(--ease-standard),opacity .18s var(--ease-standard)}.lesson-words-panel[data-open=false] .lesson-words-panel__content{grid-template-rows:0fr;opacity:0}.lesson-words-panel__list{display:grid;gap:0;min-height:0;margin:0;overflow:hidden;padding:0;list-style:none}.lesson-words-panel__empty{min-height:0;margin:0;border-top:1px solid #f1f5f9;color:#64748b;padding:12px 14px 14px;font-size:.78rem;font-weight:600;line-height:1.35}.lesson-debug-events ol{display:grid;gap:8px;margin:0;padding:12px;list-style:none}.lesson-words-panel__item{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;border-top:1px solid #f1f5f9;padding:8px 14px}.lesson-words-panel[data-open=true] .lesson-words-panel__item{animation:lesson-word-row-in .22s var(--ease-standard) both;animation-delay:calc(var(--item-index, 0) * 35ms)}.lesson-words-panel__copy{display:flex;flex-direction:column;gap:1px;min-width:0}.lesson-words-panel__copy strong{min-width:0;overflow:hidden;color:#1e293b;font-size:.875rem;font-weight:600;line-height:1.25rem;text-overflow:ellipsis;white-space:nowrap}.lesson-words-panel__copy small{min-width:0;overflow:hidden;color:#64748b;font-size:.75rem;font-weight:400;line-height:1rem;text-overflow:ellipsis;white-space:nowrap}.lesson-words-panel button.lesson-words-panel__save{display:flex;flex:0 0 auto;align-items:center;gap:4px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;color:#334155;cursor:pointer;min-height:0;padding:5px 10px;font-size:11px;font-weight:700;line-height:1}.lesson-words-panel__save:disabled{cursor:default;opacity:.62}.lesson-words-panel__save[data-saved=true]:disabled{border-color:#bbf7d0;background:#f0fdf4;color:#166534;opacity:1}.lesson-debug-events li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;color:var(--color-ink);font-size:.84rem;font-weight:800}.lesson-debug-events li span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-debug-events{padding:12px}.lesson-debug-events ol{padding:10px 0 0}.lesson-debug-events li{grid-template-columns:auto minmax(0,1fr)}.lesson-debug-events time{color:var(--color-ink-soft);font-size:.76rem}.lesson-session-meta{display:grid;gap:6px;padding:12px}.lesson-session-meta span{min-width:0;overflow:hidden;color:var(--color-ink-soft);font-size:.74rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.typed-reply-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;justify-self:center;width:min(520px,100%);border:1px solid #dce5ef;border-radius:999px;background:#fff;padding:6px;box-shadow:0 18px 38px #0f172a14}.typed-reply-bar input{min-width:0;border:0;background:transparent;padding:0 14px;color:var(--color-ink);font:inherit;font-weight:700;outline:0}.lesson-controls{display:flex;align-items:center;justify-content:center;gap:12px;border-top:1px solid #edf2f7;background:#fffffff0;padding:16px 24px}.lesson-controls .ui-icon-button{width:48px;height:48px;border-radius:999px;background:#f0f4f8}.lesson-controls .ui-icon-button.is-active{background:#111;color:#fff}.lesson-controls__primary{width:68px;min-width:68px;height:68px;border-radius:999px;padding:0;box-shadow:0 18px 38px #0f172a2e;position:relative;transform-origin:center}.lesson-controls__primary:not(:disabled):active{transform:scale(.94)}.lesson-controls__primary.is-listening{animation:mic-listening-ring 1.8s ease-in-out infinite}.lesson-device-select,.lesson-volume-control{display:flex;align-items:center;gap:8px;color:var(--color-ink-soft);font-size:.78rem;font-weight:850}.lesson-device-select select{width:150px;border:1px solid #dce5ef;border-radius:999px;background:#fff;padding:8px 10px;color:var(--color-ink);font:inherit}.lesson-volume-control input{width:110px;accent-color:#111111}.lesson-connection-toast{position:fixed;top:86px;left:50%;z-index:30;transform:translate(-50%);border:1px solid #d9e4ef;border-radius:999px;background:#fff;color:var(--color-ink);padding:9px 14px;font-weight:850;box-shadow:0 18px 40px #0f172a1f}.lesson-time-warning{position:fixed;top:86px;right:24px;z-index:31;display:grid;gap:2px;max-width:min(320px,calc(100vw - 48px));border:1px solid #f0d1a3;border-radius:16px;background:#fff8e6;color:#6f430e;padding:11px 14px;box-shadow:0 18px 40px #0f172a1f}.lesson-time-warning[data-final=true]{border-color:#f0b6b6;background:#fff1f1;color:#8d2626}.lesson-time-warning strong{font-size:.82rem}.lesson-time-warning span{color:inherit;font-size:.76rem;font-weight:700;line-height:1.35;opacity:.86}.lesson-xp-pop{position:fixed;z-index:36;top:92px;left:50%;display:grid;gap:8px;pointer-events:none;transform:translate(-50%)}.lesson-xp-pop div{display:inline-flex;align-items:center;gap:7px;border-radius:var(--radius-pill);background:#163f3a;color:#fff;padding:8px 13px;box-shadow:0 20px 46px #0f172a29;animation:lesson-xp-pop 1.6s cubic-bezier(.2,.76,.3,1) both}.lesson-xp-pop strong{font-size:.9rem}.lesson-xp-pop span{max-width:180px;overflow:hidden;font-size:.76rem;font-weight:800;opacity:.86;text-overflow:ellipsis;white-space:nowrap}.lesson-leave-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:end center;background:#0f172a2e;padding:24px}.lesson-leave-sheet{display:grid;gap:12px;width:min(420px,100%);border:1px solid #dce5ef;border-radius:8px;background:#fff;padding:20px;box-shadow:0 24px 70px #0f172a38}.lesson-leave-sheet h2,.lesson-leave-sheet p{margin:0}.lesson-leave-sheet p{color:var(--color-ink-muted);font-weight:700;line-height:1.45}.lesson-leave-sheet div{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}.vocabulary-screen{display:grid;gap:20px;min-width:0}.vocabulary-header{display:flex;align-items:end;justify-content:space-between;gap:16px}.vocabulary-header h1,.vocab-review-hero h1{max-width:680px;font-size:1.5rem;line-height:1.333;text-transform:none}.vocab-review-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;border-radius:8px;background:#111;color:#fff;padding:22px}.vocab-review-hero--empty{border:1px solid #dce5ef;background:#fff;color:var(--color-ink)}.vocab-review-hero .eyebrow,.vocab-review-hero p{color:#ffffffad}.vocab-review-hero h1{color:#fff}.vocab-review-hero--empty .eyebrow,.vocab-review-hero--empty p,.vocab-review-hero--empty h1{color:var(--color-ink-muted)}.vocab-review-hero p{max-width:580px;margin:8px 0 0;font-weight:750;line-height:1.45}.vocab-review-chips,.vocab-filter-row{display:flex;flex-wrap:wrap;gap:8px}.vocab-review-chips{margin-top:14px}.vocab-count-chip,.vocab-filter-chip{min-height:32px;border-radius:999px;padding:6px 11px;font-size:.82rem}.vocab-count-chip,.vocab-review-hero .vocab-count-chip{border-color:#ffffff26;background:#ffffff1a;color:#fff}.vocab-count-chip span{color:#ffffffb8}.mixed-review-list{display:grid;gap:12px}.vocab-kind-tabs{display:none}.vocab-kind-tabs button span{opacity:.68}.vocab-filter-chip{border-color:transparent;background:#eef3f8;color:var(--color-ink-muted);font-weight:600}.vocab-filter-chip[data-active=true]{background:#111;color:#fff}.vocab-filter-chip span{opacity:.72}.vocab-list{display:grid;margin:0;overflow:hidden;border:1px solid #e0e7ef;border-radius:8px;background:#fff;padding:0;list-style:none}.vocab-list li+li{border-top:1px solid #edf2f7}.vocab-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;justify-items:stretch;width:100%;min-height:72px;border:0;border-radius:0;background:#fff;color:var(--color-ink);padding:14px 16px;text-align:left}.vocab-row:hover{background:#f8fafc}.vocab-row__icon{display:grid;place-items:center;width:38px;height:38px;border-radius:999px;background:#eef3f8;color:#334155}.vocab-row__body{display:grid;gap:3px;min-width:0}.vocab-row__body>span:first-child{display:flex;align-items:center;gap:8px;min-width:0}.vocab-row__body strong,.vocab-row__body>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vocab-row__body small{color:var(--color-ink-soft);font-size:.72rem;font-weight:900;text-transform:uppercase}.vocab-row__body>span:last-child{color:var(--color-ink-muted);font-size:.9rem;font-weight:700}.vocab-row__status,.study-panel__hero span{align-self:center;border:1px solid #dce5ef;border-radius:999px;background:#f8fafc;color:#475569;padding:5px 10px;font-size:.74rem;font-weight:900}.vocab-row__status[data-bucket=learn],.study-panel__hero span[data-bucket=learn]{border-color:#fed7aa;background:#fff7ed;color:#9a3412}.vocab-row__status[data-bucket=practice],.study-panel__hero span[data-bucket=practice]{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.vocab-row__status[data-bucket=learned],.study-panel__hero span[data-bucket=learned]{border-color:#bbf7d0;background:#f0fdf4;color:#15803d}.vocab-empty-state{display:grid;gap:8px;justify-items:center;border:1px dashed var(--color-border-strong);border-radius:var(--radius-xl);background:var(--color-surface);padding:28px;text-align:center}.vocab-empty-state img{width:min(140px,46vw);height:auto;object-fit:contain}.vocab-empty-state h2,.vocab-empty-state p,.session-finished h2,.session-finished p,.study-panel__hero h2,.study-panel__hero p,.single-question h3,.session-transcript-modal h2,.session-transcript-modal p{margin:0}.vocab-empty-state p,.session-finished p,.study-panel__hero p,.session-transcript-modal p{color:var(--color-ink-muted);font-weight:700;line-height:1.45}.study-panel{display:grid;gap:18px;padding:20px}.study-panel__hero{display:grid;gap:8px}.study-panel__hero h2{font-size:1.7rem;text-transform:none}.study-panel__hero span{justify-self:start}.study-actions{display:grid;gap:10px}.add-vocabulary-form{display:grid;gap:16px;padding:20px}.segmented-pill{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;border-radius:999px;background:#f1f5f9;padding:4px}.segmented-pill button{min-height:38px;border-color:transparent;border-radius:999px;background:transparent;color:var(--color-ink-muted);font-size:.9rem;font-weight:900}.segmented-pill button[aria-selected=true]{background:#fff;color:var(--color-ink);box-shadow:0 8px 18px #0f172a14}.single-question{display:grid;gap:14px}.single-question-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #dbe5f0;border-radius:8px;background:#f8fafc;padding:12px}.single-question-summary p{margin:0;color:var(--color-ink-muted);font-weight:800}.single-question h3{font-size:1.35rem}.quiz-option-grid{display:grid;gap:10px}.quiz-option{justify-content:space-between;min-height:48px;border-radius:8px;background:#fff;color:var(--color-ink);padding:10px 12px;text-align:left}.quiz-option[data-result=correct]{border-color:#22c55e;background:#f0fdf4;color:#15803d}.quiz-option[data-result=wrong]{border-color:#fb7185;background:#fff1f2;color:#be123c}.study-session-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;display:grid;place-items:center;background:#0f172a6b;padding:22px}.flashcard-session,.practice-quiz-session{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(520px,100%);min-height:min(620px,calc(100vh - 44px));overflow:hidden;border:1px solid #dce5ef;border-radius:8px;background:#fff;box-shadow:var(--shadow-modal)}.study-session-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,220px) auto;align-items:center;gap:14px;border-bottom:1px solid #edf2f7;padding:16px}.study-session-header strong{display:block;margin-top:3px}.study-progress{height:6px;overflow:hidden;border-radius:999px;background:#e9eff6}.study-progress:before{display:block;width:var(--study-progress);height:100%;border-radius:inherit;background:#111;content:""}.flashcard-stack{position:relative;display:grid;place-items:center;align-self:center;min-height:360px}.flashcard-card{position:relative;display:grid;place-content:center;gap:14px;align-self:center;justify-self:center;width:min(420px,calc(100% - 36px));min-height:320px;border:1px solid #dce5ef;border-radius:8px;background:#fff;color:var(--color-ink);padding:28px;text-align:center;box-shadow:0 28px 70px #0f172a24;touch-action:pan-y;transform:translate(var(--drag-x, 0)) rotate(var(--drag-rotate, 0));transition:opacity .16s var(--ease-standard),transform .16s var(--ease-standard),box-shadow .16s var(--ease-standard);-webkit-user-select:none;user-select:none}.flashcard-card--next{position:absolute;z-index:0;min-height:300px;opacity:.38;pointer-events:none;transform:translateY(20px) scale(.94)}.flashcard-stack>button.flashcard-card{z-index:1}.flashcard-card[data-drag-decision]{opacity:0}.flashcard-card>span:not(.flashcard-card__overlay),.flashcard-card small{color:var(--color-ink-soft);font-weight:900;text-transform:uppercase}.flashcard-card strong{overflow-wrap:anywhere;font-size:2rem}.flashcard-card__overlay{position:absolute;top:22px;border:3px solid currentColor;border-radius:8px;background:#ffffffeb;padding:5px 9px;font-size:.78rem;font-weight:950;opacity:0;pointer-events:none;text-transform:uppercase}.flashcard-card__overlay--skip{left:22px;color:#b45309;opacity:var(--skip-opacity, 0);transform:rotate(-10deg)}.flashcard-card__overlay--practice{right:22px;color:#15803d;opacity:var(--practice-opacity, 0);transform:rotate(10deg)}.study-session-actions,.session-finished{display:flex;gap:10px;border-top:1px solid #edf2f7;padding:16px}.session-finished{flex-direction:column;place-self:center;width:min(390px,100%);border-top:0;text-align:center}.session-finished div{display:flex;justify-content:center;gap:10px}.quiz-session-body{display:grid;align-content:start;gap:16px;overflow:auto;padding:20px}.session-transcript-modal{display:grid;gap:10px;padding:20px}.source-turn-list{display:grid;gap:10px;max-height:min(48vh,420px);overflow:auto;margin:6px 0 0;padding:0;list-style:none}.source-turn-list li{display:grid;gap:4px;max-width:86%}.source-turn-list li[data-role=learner]{justify-self:end;text-align:right}.source-turn-list li span{color:var(--color-ink-soft);font-size:.72rem;font-weight:900;text-transform:uppercase}.source-turn-list li p{border-radius:8px;background:#f5f7fa;color:var(--color-ink);padding:10px 12px}.source-turn-list li[data-role=learner] p{background:#111;color:#fff}.rail-header{display:flex;align-items:center;justify-content:space-between}.event-rail ol{display:grid;gap:10px;margin:0;padding:0;list-style:none}.event-rail li{display:grid;gap:4px;border-left:3px solid var(--color-border);background:var(--color-surface);padding:8px 10px}.event-rail li[data-tone=success]{border-left-color:var(--color-success)}.event-rail li[data-tone=warn]{border-left-color:var(--color-warn)}.event-rail li[data-tone=error]{border-left-color:var(--color-error)}.event-rail time{color:var(--color-ink-soft);font-size:.76rem;font-weight:800}.event-rail span{overflow-wrap:anywhere;color:var(--color-ink);font-size:.9rem}audio{display:none}.skip-link{position:fixed;top:10px;left:10px;z-index:100;transform:translateY(-140%);border-radius:var(--radius-2);background:var(--color-ink);color:#fff;padding:8px 10px;font-weight:800}.skip-link:focus{transform:translateY(0)}.auth-screen{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(360px,1fr);min-height:100vh;background:var(--color-app)}.auth-hero{position:relative;display:grid;place-items:center;overflow:hidden;background:var(--color-ink);color:#fff;padding:var(--space-8)}.auth-hero__orb{width:220px}.auth-bubbles{position:absolute;inset:auto var(--space-8) var(--space-8);display:grid;gap:var(--space-3)}.auth-bubbles span{width:fit-content;max-width:280px;border:1px solid rgb(255 255 255 / .2);border-radius:var(--radius-3);background:#ffffff14;padding:10px 12px;font-weight:800}.auth-bubbles span:nth-child(2){justify-self:end}.auth-flags{position:absolute;top:var(--space-6);left:var(--space-6);display:flex;gap:var(--space-2)}.auth-flags span{border:1px solid rgb(255 255 255 / .22);border-radius:var(--radius-pill);padding:6px 9px;font-size:.78rem;font-weight:900}.auth-copy{display:grid;align-content:center;gap:var(--space-5);padding:clamp(24px,6vw,72px)}.auth-copy h1,.home-heading h1,.summary-screen h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.02}.auth-lede,.home-heading p,.start-band p,.home-card p,.summary-screen p{color:var(--color-ink-muted);line-height:1.55}.auth-status-row,.auth-links,.debug-status-strip,.header-actions,.metric-row{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.google-signin-host{min-height:46px}.auth-note{margin:0;color:var(--color-ink-muted);font-weight:700}.auth-links a,.auth-links button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--color-ink-muted);cursor:pointer;font-weight:800;font:inherit;padding:0;text-decoration:none}.product-shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh;background:var(--color-app)}.desktop-rail{display:grid;grid-template-rows:auto 1fr auto;gap:var(--space-6);border-right:1px solid var(--color-border);background:var(--color-surface);padding:var(--space-6)}.brand-mark{color:var(--color-ink);font-size:1.35rem;font-weight:900}.nav-button,.mobile-bottom-nav button,.rail-footer button,.language-menu-button{justify-content:start;border-color:transparent;background:transparent;color:var(--color-ink-muted);box-shadow:none}.nav-button{min-height:44px;border-radius:var(--radius-3);padding:8px 10px}.nav-button[data-active=true],.mobile-bottom-nav button[data-active=true]{background:var(--color-ink);color:#fff}.rail-footer button{min-height:30px;padding:0;font-size:.88rem}.product-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);border-bottom:1px solid var(--color-border);background:#ffffffd1;padding:var(--space-4) var(--space-6)}.language-menu-button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-ink)}.product-content{min-width:0;padding:clamp(20px,4vw,40px)}.home-screen,.summary-screen{display:grid;gap:var(--space-6)}.home-heading{display:grid;gap:var(--space-2)}.start-band{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-3);background:var(--color-surface);box-shadow:var(--shadow-soft);padding:var(--space-6)}.start-band>div,.home-card,.summary-screen{min-width:0}.start-band h2,.home-card h2{margin:8px 0 4px;font-size:1.1rem}.home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.home-card{display:grid;align-content:start;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-3);background:var(--color-surface);padding:var(--space-5)}.home-card--wide{grid-column:1 / -1}.card-title-row{display:flex;align-items:center;gap:var(--space-2)}.recent-list,.data-list{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.recent-list li,.data-list li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);border:1px solid var(--color-border-soft);border-radius:var(--radius-3);background:var(--color-app-soft);padding:10px 12px}.summary-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--color-border);border-radius:var(--radius-3);overflow:hidden}.debug-panel{border-top:1px solid var(--color-border);background:var(--color-surface)}.debug-panel summary{display:flex;align-items:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-6);color:var(--color-ink-muted);cursor:pointer;font-weight:900}.debug-panel__body{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:var(--space-4);border-top:1px solid var(--color-border-soft);padding:var(--space-5) var(--space-6)}.debug-panel .launch-panel,.debug-panel .event-rail{border:1px solid var(--color-border);border-radius:var(--radius-3)}.setup-form{display:grid;gap:var(--space-4);padding:var(--space-5)}.setup-actions{display:flex;justify-content:end;gap:var(--space-2)}.mobile-bottom-nav{display:none}.auth-screen{position:relative;display:grid;grid-template-columns:1fr;min-height:100vh;overflow:hidden;background:#fff}.auth-topbar{position:absolute;top:20px;right:24px;left:24px;z-index:2;display:flex;align-items:center;justify-content:space-between}.auth-brand-lockup{display:inline-flex;align-items:center;gap:10px;color:var(--color-ink);font-weight:700}.auth-brand-lockup strong{font-size:.9375rem;font-weight:700;letter-spacing:0}.auth-brand-lockup span{display:inline-grid;width:32px;height:32px;place-items:center;border:2px solid var(--color-ink);border-radius:var(--radius-3);font-size:.88rem}.auth-topbar a,.auth-links a,.auth-links button{color:var(--color-ink-muted);font-size:.6875rem;font-weight:600;text-decoration:none}.auth-copy{display:grid;width:min(520px,calc(100vw - 40px));place-self:center;justify-items:center;align-content:center;gap:16px;padding:92px 0 36px;text-align:center}.auth-copy h1{margin:8px 0 0;color:#171717;font-size:clamp(2.2rem,2.8vw,2.5rem);font-weight:700;line-height:1.05}.auth-lede{max-width:460px;margin:0;color:#61708a;font-size:.875rem;line-height:1.625}.auth-status-row,.auth-links{justify-content:center}.auth-hero{position:relative;display:flex;width:min(460px,100%);min-height:418px;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:transparent;color:var(--color-ink);padding:0}.auth-demo{position:relative;width:380px;max-width:min(100%,58vh);height:360px;margin-bottom:10px}.auth-orb{position:absolute;top:158px;left:50%;display:grid;width:192px;height:192px;place-items:center;border-radius:50%;transform:translate(-50%)}.auth-orb:after{position:absolute;right:22px;bottom:5px;left:22px;z-index:-1;height:20px;border-radius:inherit;background:radial-gradient(ellipse,rgb(17 17 17 / .2),transparent 70%);content:"";filter:blur(8px)}.auth-orb__core{position:relative;display:block;width:156px;height:156px;overflow:hidden;border-radius:50%;background:radial-gradient(circle at 32% 28%,#292929,#050505 88%);box-shadow:0 0 0 1px #0000000a,0 5px 18px #0000002e,0 12px 56px #0003,0 3px 16px #0000001a,inset 0 -10px 22px #0000006b,inset 0 6px 14px #ffffff0f;animation:auth-orb-idle 5s ease-in-out infinite,auth-orb-morph-idle 8s ease-in-out infinite}.auth-orb--tutorSpeaking .auth-orb__core{animation:auth-orb-speaking .54s ease-out infinite,auth-orb-morph-speaking 1.6s ease-in-out infinite}.auth-orb--userSpeaking .auth-orb__core,.auth-orb--chip .auth-orb__core{animation:auth-orb-listening 2.8s ease-in-out infinite,auth-orb-morph-listening 3.4s ease-in-out infinite}.auth-orb__core>span{position:absolute;top:10%;left:16%;width:30px;height:30px;border-radius:999px;background:radial-gradient(ellipse,rgb(255 255 255 / .14) 0%,transparent 70%);filter:blur(6px)}.auth-bubble{position:absolute;z-index:1;max-width:320px;padding:12px 14px;border-radius:16px;text-align:left;white-space:nowrap;box-shadow:0 2px 5px #0f172a14;transform:translate(var(--auth-bubble-x, 0),var(--auth-bubble-y, 0));animation:auth-bubble-in .55s cubic-bezier(.4,0,.2,1) both}.auth-bubble p{margin:0;color:inherit;font-size:.9rem;font-weight:850;line-height:1.3}.auth-bubble__label{display:flex;align-items:center;gap:6px;margin-bottom:5px;color:#4b5563;font-size:.68rem;font-weight:800;line-height:1;text-transform:uppercase}.auth-bubble--tutor{top:6px;left:48px;border:1px solid #dfe5ed;border-bottom-left-radius:6px;background:#fff;color:#182033}.auth-bubble--user{top:78px;right:20px;border-bottom-right-radius:6px;background:#151515;color:#fff}.auth-word-pulse{display:inline-block;animation:auth-word-pulse var(--auth-word-duration, .36s) ease-out both;animation-delay:var(--auth-word-delay, 0ms)}.auth-chip{position:absolute;top:130px;left:50%;z-index:2;display:inline-flex;align-items:center;justify-content:center;max-width:320px;gap:6px;white-space:nowrap;transform:translate(calc(-50% + var(--auth-chip-x, 0px)));animation:auth-chip-in .6s cubic-bezier(.4,0,.2,1) both}.auth-chip--vocab{border-radius:999px;background:#16a37a;box-shadow:0 9px 22px #16a37a2e;color:#fff;padding:7px 12px;font-size:.72rem}.auth-chip--vocab span{opacity:.72}.auth-chip--tip{border:1px solid #fde68a;border-radius:8px;background:#fffbeb;color:#92400e;padding:6px 10px;font-size:.7rem;line-height:1.35}.auth-flags{position:static;display:flex;align-items:center;justify-content:center;gap:8px;transform:none}.auth-flags span{display:inline-grid;width:22px;height:18px;place-items:center;border:0;border-radius:0;padding:0;color:#475569;font-size:1.08rem;line-height:1;filter:grayscale(.55) saturate(.7);transition:filter .3s ease,transform .3s ease}.auth-flags span[data-active=true]{filter:none;transform:scale(1.15)}.auth-language-count{margin-top:8px;color:#4b5563;font-size:.74rem;font-weight:700}.google-signin-host{display:grid;width:min(400px,100%);min-height:52px;gap:8px;justify-items:center}.google-signin-host>div,.google-signin-host iframe{max-width:100%!important}.auth-provider{display:flex;min-height:52px;width:280px;max-width:100%;align-items:center;justify-content:center;border:1px solid #171717;border-radius:16px;background:#fff;color:#171717;font-size:.96rem;font-weight:900}.auth-provider:disabled{cursor:default;opacity:.55}.auth-note{max-width:420px;margin:0;color:var(--color-ink-muted);font-size:.84rem;font-weight:800}.auth-screen .debug-panel:not([open]){position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}@keyframes auth-orb-idle{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes auth-orb-listening{0%,to{transform:scale(1)}40%{transform:scale(.985)}70%{transform:scale(1.005)}}@keyframes auth-orb-speaking{0%{transform:scale(1)}12%{transform:scale(1.045)}to{transform:scale(1)}}@keyframes auth-orb-morph-idle{0%,to{border-radius:50%}25%{border-radius:49% 51% 50% 50%/50% 50% 49% 51%}50%{border-radius:51% 49% 50% 50%/50% 50% 51% 49%}75%{border-radius:50% 50% 51% 49%/49% 51% 50% 50%}}@keyframes auth-orb-morph-listening{0%,to{border-radius:50%}33%{border-radius:44% 56% 50% 50%/56% 44%}66%{border-radius:56% 44% 50% 50%/44% 56%}}@keyframes auth-orb-morph-speaking{0%,to{border-radius:50%}25%{border-radius:47% 53% 51% 49%/49% 51% 47% 53%}50%{border-radius:53% 47% 49% 51%/51% 49% 53% 47%}75%{border-radius:49% 51% 53% 47%/48% 52% 49% 51%}}@keyframes auth-bubble-in{0%{opacity:0;transform:translate(var(--auth-bubble-x, 0),calc(var(--auth-bubble-y, 0) + 10px))}to{opacity:1;transform:translate(var(--auth-bubble-x, 0),var(--auth-bubble-y, 0))}}@keyframes auth-chip-in{0%{opacity:0;transform:translate(calc(-50% + var(--auth-chip-x, 0px))) translateY(10px) scale(.9)}to{opacity:1;transform:translate(calc(-50% + var(--auth-chip-x, 0px))) translateY(0) scale(1)}}@keyframes auth-word-pulse{0%,to{opacity:1;transform:translateY(0) scale(1)}35%{opacity:.76;transform:translateY(-1px) scale(1.045)}}@keyframes celebration-confetti-fall{0%{opacity:0;transform:translate3d(0,-20px,0) rotate(0)}8%{opacity:1}to{opacity:0;transform:translate3d(var(--confetti-drift),112vh,0) rotate(var(--confetti-rotate))}}@media(prefers-reduced-motion:reduce){.auth-bubble,.auth-chip,.auth-word-pulse,.auth-flags span,.lesson-xp-pop div,.celebration-confetti i,.auth-orb__core{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}@media(max-width:520px){.auth-copy{width:min(390px,calc(100vw - 32px));gap:14px;padding:84px 0 30px}.auth-demo{width:100%;height:338px}.auth-orb{top:150px;width:176px;height:176px}.auth-orb__core{width:140px;height:140px}.auth-bubble{max-width:min(288px,calc(100vw - 56px));white-space:normal}.auth-bubble--tutor{top:8px;left:12px}.auth-bubble--user{top:78px;right:8px}.auth-chip{top:128px;max-width:calc(100vw - 48px);white-space:normal}}.product-shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh;background:var(--color-page)}.desktop-rail{position:sticky;top:0;display:grid;grid-template-rows:auto 1fr auto;height:100vh;gap:28px;border-right:0;background:var(--color-rail-bg);padding:34px 16px 28px 28px}.rail-brand-block{display:grid;gap:18px}.brand-mark{display:inline-flex;align-items:center;width:fit-content;color:var(--color-fg)}.brand-mark img{display:block;width:104px;height:auto}.rail-language-pill{justify-content:space-between;width:fit-content;min-height:30px;border-color:var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-fg);padding:4px 10px;font-size:.82rem;box-shadow:var(--shadow-card)}.rail-language-pill[data-switching=true]{border-color:#111}.rail-language-menu{position:relative;width:fit-content}.learning-setup-menu{position:absolute;z-index:20;top:calc(100% + 8px);left:0;display:grid;width:220px;gap:4px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);padding:8px;box-shadow:var(--shadow-dropdown)}.learning-setup-menu__item{display:grid;grid-template-columns:auto 1fr auto;min-height:48px;justify-content:stretch;border-color:transparent;border-radius:12px;background:transparent;color:var(--color-fg);padding:8px;text-align:left;box-shadow:none}.learning-setup-menu__item[data-active=true]{background:var(--color-cta-bg);color:var(--color-cta-fg)}.learning-setup-menu__item[data-switching=true]{box-shadow:inset 0 0 0 2px #111}.learning-setup-menu__item--add{border-style:dashed;border-color:var(--color-border-strong)}.learning-setup-menu__item span:nth-child(2){display:grid;gap:1px}.learning-setup-menu__item small{color:var(--color-ink-muted);font-size:.72rem;font-weight:800}.learning-setup-menu__flag{font-size:1.25rem}.desktop-rail nav,.rail-footer{display:grid;align-content:start;gap:var(--space-2)}.nav-button,.mobile-bottom-nav button,.rail-footer button,.language-menu-button{justify-content:start;border-color:transparent;background:transparent;color:var(--color-nav-inactive);box-shadow:none}.nav-button{min-height:40px;border-radius:var(--nav-radius);padding:8px 14px;font-size:.875rem;font-weight:700}.nav-button[data-active=true],.mobile-bottom-nav button[data-active=true]{background:var(--color-nav-active-bg);color:var(--color-nav-active-fg)}.rail-footer{gap:14px}.rail-streak-card{display:grid;grid-template-columns:auto 1fr;gap:3px 8px;align-items:center;width:fit-content;border:1px solid var(--color-streak-border);border-radius:16px;background:var(--color-streak-bg);padding:10px 12px;color:var(--color-streak-fg)}.rail-streak-card span{grid-column:2;color:var(--color-streak-fg);font-size:.72rem;font-weight:700}.rail-logout-button{display:inline-flex;width:fit-content;gap:9px;color:var(--color-fg-muted);font-size:.94rem}.rail-footer button:not(.rail-logout-button){min-height:auto;padding:0 0 0 12px;color:var(--color-ink-muted);font-size:.76rem;font-weight:700}.product-frame{display:grid;grid-template-rows:auto 1fr auto;min-width:0}.product-header{display:flex;min-height:86px;align-items:center;justify-content:space-between;gap:var(--space-4);border-bottom:0;background:transparent;padding:24px 32px 8px}.language-menu-button{visibility:hidden}.product-header__language-menu{position:relative;display:none}.learning-setup-menu--mobile{left:0;width:min(260px,calc(100vw - 32px))}.header-actions{margin-left:auto}.user-label{color:var(--color-ink);font-weight:900}.product-content{min-width:0;min-height:calc(100vh - 86px);padding:0 32px 40px}.home-screen{display:grid;grid-template-columns:minmax(0,852px) minmax(260px,280px);gap:24px;align-items:start}.home-screen--loading{grid-template-columns:minmax(0,720px)}.home-screen--loading .home-main{min-height:320px;align-content:center}.workspace-loading-card{display:grid;justify-items:center;gap:18px;width:min(520px,100%);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-card);padding:28px;text-align:center}.workspace-loading-orb{position:relative;display:grid;place-items:center;width:82px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 34% 28%,#ffffff 0 11%,transparent 12%),linear-gradient(135deg,#bff0eb,#ffdca8);box-shadow:0 18px 44px #0f172a1f}.workspace-loading-orb:before,.workspace-loading-orb:after{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border:1px solid rgb(22 63 58 / .18);border-radius:inherit;content:"";animation:workspace-loading-ring 1.8s ease-in-out infinite}.workspace-loading-orb:after{top:-15px;right:-15px;bottom:-15px;left:-15px;animation-delay:.28s}.workspace-loading-orb span{width:12px;aspect-ratio:1;border-radius:50%;background:#163f3a;animation:workspace-loading-dot 1.1s ease-in-out infinite}.workspace-loading-steps{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.workspace-loading-steps span{border-radius:var(--radius-pill);background:var(--color-input-bg);color:var(--color-fg-muted);padding:7px 11px;font-size:.78rem;font-weight:850;animation:workspace-loading-step 1.7s ease-in-out infinite;animation-delay:var(--step-delay)}.home-main{display:grid;gap:18px;min-width:0}.home-mobile-header{display:none}.home-heading{display:grid;gap:7px}.home-heading h1{font-size:1.5rem;line-height:1.333}.home-heading p{margin:0;color:var(--color-ink-muted);font-size:1.05rem}.language-card-row{display:flex;gap:12px;align-items:center;margin-top:12px}.language-card{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;min-width:112px;min-height:56px;align-content:center;justify-content:center;gap:0 8px;border:1px dashed var(--color-border-strong);border-radius:16px;background:var(--color-surface);color:var(--color-ink);padding:8px 14px;box-shadow:var(--shadow-card)}.language-card.is-active{border:2px solid var(--color-lang-pill-active-border);background:var(--color-lang-pill-active-bg);color:var(--color-lang-pill-active-fg)}.language-card[data-switching=true]{box-shadow:0 0 0 3px #11111114}.language-card strong{align-self:end;font-size:.75rem;font-weight:700}.language-card span:last-child{grid-column:2;color:var(--color-fg-muted);font-size:.72rem;font-weight:800}.language-card.is-active span:last-child{color:#ffffffbd}.language-flag{grid-row:1 / 3;align-self:center;font-size:1.4rem}.language-card--add{display:inline-grid;min-width:68px;color:var(--color-ink-muted)}.lesson-start-stack{display:grid;width:min(680px,100%);gap:12px}.start-talking-button{min-height:96px;width:100%;border-radius:var(--cta-radius);font-size:1.5rem;font-weight:700;line-height:1.333;letter-spacing:0;box-shadow:var(--shadow-cta)}.home-no-lessons-card{display:grid;gap:8px;border:1px solid var(--color-tip-border);border-radius:18px;background:var(--color-tip-bg);color:var(--color-tip-fg);padding:16px}.home-no-lessons-card strong{color:var(--color-fg);font-size:.95rem}.home-no-lessons-card p{margin:0;font-size:.85rem;line-height:1.45}.home-no-lessons-card button{justify-content:space-between;width:fit-content;min-height:36px;border:0;border-radius:var(--radius-pill);background:var(--color-cta-bg);color:var(--color-cta-fg);padding:8px 12px;font-size:.82rem}.first-steps-card{display:grid;gap:14px;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-card);padding:18px}.first-steps-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.first-steps-grid button{display:grid;min-height:92px;justify-items:center;align-content:center;gap:8px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-input-bg);color:var(--color-fg);padding:12px;text-align:center}.first-steps-grid button[data-done=true]{border-color:#b9e6cb;background:#f2fbf5}.first-steps-grid span{display:grid;width:34px;aspect-ratio:1;place-items:center;border-radius:50%;background:#fff;color:var(--color-fg)}.first-steps-grid button[data-done=true] span{background:#163f3a;color:#fff}.first-steps-grid strong{font-size:.82rem}.home-sheet-backdrop,.welcome-moment-backdrop,.registration-discount-backdrop{position:fixed;z-index:70;top:0;right:0;bottom:0;left:0;display:grid;place-items:end center;background:#12213a38;padding:20px}.welcome-moment-backdrop{z-index:75;place-items:center}.registration-discount-backdrop{z-index:76;place-items:center}.home-language-sheet,.welcome-moment,.registration-discount{position:relative;display:grid;gap:14px;width:min(460px,100%);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-card-elevated);padding:24px}.home-language-sheet h2,.welcome-moment h2,.registration-discount h2{margin:0;color:var(--color-fg);font-size:1.6rem;line-height:1.08}.home-sheet-close{position:absolute;top:14px;right:14px;display:grid;width:34px;aspect-ratio:1;place-items:center;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:#fff;color:var(--color-fg-muted)}.home-language-sheet__list{display:grid;gap:9px}.home-language-sheet__list button{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:10px;align-items:center;min-height:54px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-input-bg);color:var(--color-fg);padding:10px 12px;text-align:left}.home-language-sheet__list button[data-active=true]{border-color:var(--color-cta-bg);background:var(--color-app-soft)}.home-language-sheet__list small{color:var(--color-fg-muted);font-size:.78rem;font-weight:850}.welcome-moment,.registration-discount{justify-items:center;text-align:center}.welcome-moment img,.registration-discount img{width:min(220px,58vw);height:auto}.welcome-moment p:not(.eyebrow),.registration-discount>p{margin:0;color:var(--color-fg-muted);line-height:1.45}.registration-discount-offer{display:grid;gap:5px;width:100%;border-radius:var(--radius-3);background:#fff8e6;color:#6f430e;padding:16px}.registration-discount-offer p{margin:0;color:inherit}.registration-discount-offer h2{font-size:1.4rem}.registration-discount-offer p:not(.eyebrow){font-size:.78rem;font-weight:800;line-height:1.35}.welcome-moment-actions,.registration-discount-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.topic-button{display:grid;grid-template-columns:auto 1fr auto;min-height:42px;justify-content:stretch;border-color:var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-fg);padding:8px 12px}.topic-button span{color:var(--color-ink-muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.topic-button strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-meta{margin:0 0 0 4px;color:var(--color-ink-muted);font-size:.82rem;font-weight:700}.session-prep-screen{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:calc(100vh - 126px)}.session-prep-header{display:flex;align-items:center;min-height:48px}.session-prep-panel{display:grid;align-self:center;justify-self:center;width:min(520px,100%);gap:20px;border:1px solid #e0e8f1;border-radius:var(--radius-3);background:#fff;padding:24px;box-shadow:0 22px 58px #0f172a14}.session-prep-heading{display:flex;gap:14px;align-items:start}.session-prep-icon{display:inline-grid;flex:0 0 auto;place-items:center;width:42px;height:42px;border-radius:999px;background:#f0f4f8}.session-prep-heading h1,.session-prep-heading p{margin:0}.session-prep-heading h1{font-size:1.625rem;font-weight:700;line-height:1.2}.session-prep-heading p{margin-top:6px;color:var(--color-ink-muted);font-weight:700;line-height:1.4}.session-prep-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.session-prep-summary div{display:grid;gap:5px;min-width:0;border:1px solid #edf2f7;border-radius:16px;background:#f8fafc;padding:12px}.session-prep-summary dt{color:var(--color-ink-soft);font-size:.72rem;font-weight:900;text-transform:uppercase}.session-prep-summary dd{display:flex;align-items:center;gap:6px;min-width:0;margin:0;color:var(--color-ink);font-size:.93rem;font-weight:850}.session-prep-summary dd span:last-child{color:var(--color-ink-muted);font-size:.78rem}.session-prep-topic{display:grid;gap:10px}.session-prep-topic__current{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #dce6f2;border-radius:var(--radius-3);background:#fff;padding:14px 16px;text-align:left}.session-prep-topic__current small{display:block;color:var(--color-ink-soft);font-weight:900;text-transform:uppercase}.session-prep-topic__current strong{display:block;margin-top:3px;font-size:1.05rem}.session-prep-topic__current>span:last-child{display:inline-flex;align-items:center;gap:4px;color:var(--color-ink-muted);font-weight:850}.session-prep-topic__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.session-prep-topic__list button{min-height:40px;border:1px solid #e0e8f1;border-radius:999px;background:#f8fafc;color:var(--color-ink-muted);font-size:.875rem;font-weight:600}.session-prep-topic__list button[data-active=true]{border-color:#111;background:#111;color:#fff}.session-prep-tips{display:grid;gap:9px;border-top:1px solid #edf2f7;padding-top:16px}.session-prep-tips>div{display:flex;align-items:center;gap:8px}.session-prep-tips ul{display:grid;gap:7px;margin:0;padding-left:20px;color:var(--color-ink-muted);font-weight:700;line-height:1.42}.session-prep-notice{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;border:1px solid #fde5bd;border-radius:14px;background:#fff8e6;color:#6f430e;padding:12px 14px}.session-prep-notice[data-tone=blocked]{border-color:#fecaca;background:#fff1f1;color:#8d2626}.session-prep-notice>span{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:#ffffffb8}.session-prep-notice strong,.session-prep-notice p{margin:0}.session-prep-notice strong{display:block;font-size:.78rem;font-weight:900;text-transform:uppercase}.session-prep-notice p{margin-top:3px;color:inherit;font-size:.82rem;font-weight:700;line-height:1.45;opacity:.88}.session-prep-start{justify-self:stretch;min-height:40px;border-radius:12px;font-size:.875rem}.review-band{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-4);align-items:center;min-height:66px;border-radius:var(--radius-3);background:var(--color-ink);color:#fff;padding:14px 16px}.review-band div{display:grid;gap:2px}.review-band span{color:#ffffffb8;font-size:.9rem}.review-band .ui-button{min-width:92px;border-color:#fff}.recent-sessions-panel{display:grid;gap:12px}.recent-list li,.data-list li{min-height:70px;border-color:#e5edf5;background:var(--color-surface);box-shadow:0 2px 5px #0f172a0a}.recent-list li span{display:grid;gap:3px}.recent-list li small{color:var(--color-ink-muted);font-size:.82rem;font-weight:700}.home-side-rail{display:grid;gap:16px;min-width:0;padding-top:36px}.side-stat-line{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:end;color:#111;font-size:.9rem}.side-stat-line span{color:var(--color-ink-muted)}.skill-card,.week-card{display:grid;gap:18px;border:1px solid #e5edf5;border-radius:var(--radius-3);background:var(--color-surface);box-shadow:0 2px 5px #0f172a0a;padding:20px}.skill-rings{display:grid;grid-template-columns:1fr 1fr;gap:14px}.skill-ring-card{display:grid;justify-items:center;gap:7px;color:#243148;text-align:center}.skill-ring-card>span{color:var(--color-ink-muted);font-size:.72rem}.skill-ring{display:grid;width:78px;aspect-ratio:1;place-items:center;border-radius:50%;background:radial-gradient(circle at center,#ffffff 0 58%,transparent 59%),conic-gradient(var(--color-ink) var(--ring-value),#e6e8eb 0)}.skill-ring strong,.skill-ring span{grid-area:1 / 1}.skill-ring strong{margin-top:-8px;font-size:.8rem}.skill-ring span{margin-top:22px;color:var(--color-ink-muted);font-size:.68rem;font-weight:800}.skill-ring-card-v2{display:grid;gap:10px;align-items:center;min-width:0;border-radius:18px;padding:14px}.skill-ring-card-v2[data-kind=vocab]{background:color-mix(in srgb,var(--color-skill-vocab-bg) 56%,#ffffff);color:var(--color-skill-vocab-fg)}.skill-ring-card-v2[data-kind=speak]{background:color-mix(in srgb,var(--color-skill-speak-bg) 58%,#ffffff);color:var(--color-skill-speak-fg)}.skill-ring-card-v2--sm{justify-items:center;text-align:center}.skill-ring-card-v2--lg{grid-template-columns:auto minmax(0,1fr);border:1px solid var(--color-border);background:var(--color-input-bg);color:var(--color-fg);text-align:left}.skill-ring-card-v2__ring{display:grid;width:78px;aspect-ratio:1;place-items:center;border-radius:50%;background:radial-gradient(circle at center,var(--color-surface) 0 58%,transparent 59%),conic-gradient(currentColor var(--ring-value),rgb(14 14 14 / .1) 0)}.skill-ring-card-v2--lg .skill-ring-card-v2__ring{width:90px}.skill-ring-card-v2__ring strong,.skill-ring-card-v2__ring span{grid-area:1 / 1}.skill-ring-card-v2__ring strong{margin-top:-9px;font-size:.78rem}.skill-ring-card-v2__ring span{margin-top:24px;color:var(--color-fg-muted);font-size:.7rem;font-weight:900}.skill-ring-card-v2__copy{display:grid;gap:3px;min-width:0}.skill-ring-card-v2__copy span{font-size:.78rem;font-weight:900}.skill-ring-card-v2__copy strong{overflow:hidden;color:var(--color-fg);font-size:.92rem;text-overflow:ellipsis;white-space:nowrap}.skill-ring-card-v2--sm .skill-ring-card-v2__copy strong{overflow:visible;line-height:1.15;white-space:normal}.skill-ring-card-v2__copy small{color:var(--color-fg-muted);font-size:.72rem;font-weight:800}.week-row{display:grid;gap:6px}.week-row div{display:flex;justify-content:space-between;gap:8px;color:#5c6980;font-size:.86rem}.week-row progress{display:none}.week-row__bar{display:block;height:5px;overflow:hidden;border-radius:var(--radius-pill);background:#edf2f6}.week-row__bar:before{display:block;width:var(--bar-value);height:100%;border-radius:inherit;background:var(--color-ink);content:""}.home-setup-link{display:grid;grid-template-columns:auto 1fr auto;min-height:46px;justify-content:stretch;border-color:#e5edf5;background:var(--color-surface);color:#253249;padding:10px 12px;box-shadow:0 2px 5px #0f172a0a}.next-session-card{position:relative;display:grid;gap:12px;overflow:hidden;min-height:230px;border:1px solid var(--color-border);border-radius:22px;background:var(--color-surface);padding:20px 22px;box-shadow:var(--shadow-card-elevated)}.next-session-card__art{position:absolute;top:50%;inset-inline-end:16px;width:120px;height:120px;transform:translateY(-50%);object-fit:contain;pointer-events:none}.next-session-card__demo,.next-session-card__resume,.next-session-card__pill{position:relative;z-index:1;width:fit-content}.next-session-card__demo{display:inline-flex;align-items:center;gap:7px;border-radius:var(--radius-pill);background:var(--color-accent-peach);color:var(--color-accent-peach-text);padding:4px 10px 4px 6px;font-size:.62rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.next-session-card__demo img{width:18px;height:18px;object-fit:contain}.next-session-card__resume,.topic-picker__step,.topic-picker__topic-heading small,.topic-picker__scenario span{color:var(--color-fg-subtle);font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.next-session-card__pill{border-radius:var(--radius-pill);background:var(--color-topic-chip-bg);color:var(--color-topic-chip-fg);padding:6px 14px;font-size:.78rem;font-weight:900}.next-session-card__body{position:relative;z-index:1;display:grid;width:min(100%,calc(100% - 130px));gap:7px;margin-inline-end:auto}.next-session-card__body h2{margin:0;color:var(--color-fg);font-size:clamp(1.45rem,2.4vw,1.9rem);line-height:1.05;text-transform:none}.next-session-card__body p{max-width:56ch;margin:0;color:var(--color-fg-muted);font-size:.93rem;line-height:1.5}.next-session-card__footer{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.next-session-card__tutor,.next-session-card__actions,.next-session-card__actions button{display:inline-flex;align-items:center}.next-session-card__tutor{gap:10px}.next-session-card__tutor>span{display:inline-grid;width:42px;aspect-ratio:1;place-items:center;border-radius:50%;background:var(--color-pastel-mint);color:var(--color-pastel-mint-text);font-weight:900}.next-session-card__tutor strong{display:grid;gap:1px;color:var(--color-fg);font-size:.9rem}.next-session-card__tutor small{color:var(--color-fg-muted);font-size:.72rem;font-weight:800}.next-session-card__actions{gap:8px}.next-session-card__actions button{min-height:34px;gap:4px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-fg-muted);padding:7px 12px;font-size:.8rem;font-weight:900}.next-session-card__actions .label-short{display:none}.ui-modal:has(.setup-form){width:min(760px,100%)}.ui-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;overflow:auto;background:#0e0e0e57;padding:24px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ui-modal{display:flex;flex-direction:column;width:min(680px,100%);max-height:min(760px,calc(100vh - 48px));overflow:hidden;border:1px solid var(--color-border);border-radius:24px;background:var(--color-surface);box-shadow:var(--shadow-modal)}.ui-modal>.ui-modal__header{flex-shrink:0}.ui-modal>*:not(.ui-modal__header):not(footer){overflow-y:auto;min-height:0}.ui-modal>footer{flex-shrink:0}.ui-modal__header{display:flex;align-items:start;justify-content:space-between;gap:16px;border-bottom:1px solid var(--color-border);padding:18px 20px 14px}.ui-modal__header h2,.ui-modal__header p{margin:0}.ui-modal__header h2{color:var(--color-fg);font-size:1.25rem;text-transform:none}.ui-modal__header p{margin-top:4px;color:var(--color-fg-muted);font-size:.86rem;line-height:1.4}.topic-picker{display:grid;overflow:auto}.topic-picker__category-step,.topic-picker__topic-step{display:grid;gap:12px;padding:16px 20px 20px}.topic-picker__step{margin:0}.topic-picker__categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.topic-picker__categories button,.topic-picker__topic-list button{display:flex;align-items:center;gap:12px;min-width:0;border:1px solid var(--color-border-strong);border-radius:14px;background:var(--color-surface);color:var(--color-fg);padding:12px 14px;text-align:left}.topic-picker__categories button[data-active=true],.topic-picker__topic-list button[data-active=true]{border-color:var(--color-accent-yellow);background:var(--color-accent-yellow-soft)}.topic-picker__categories img,.topic-picker__topic-heading img{width:36px;height:36px;object-fit:contain;flex:0 0 auto}.topic-picker__categories span,.topic-picker__topic-heading span{display:grid;gap:2px;min-width:0}.topic-picker__categories strong{overflow:hidden;font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.topic-picker__categories small{color:var(--color-fg-subtle);font-size:.72rem;font-weight:800}.topic-picker__back{display:inline-flex;align-items:center;width:fit-content;gap:4px;border:0;background:transparent;color:var(--color-fg-muted);padding:4px 0;font-size:.78rem;font-weight:900}.topic-picker__topic-heading{display:flex;align-items:center;gap:10px}.topic-picker__topic-heading strong{font-size:1rem}.topic-picker__topic-list{display:grid;gap:8px}.topic-picker__topic-list button{justify-content:space-between;min-height:46px;font-size:.9rem;font-weight:760}.topic-picker__scenario{display:grid;gap:8px;margin-top:6px}.topic-picker__scenario textarea{width:100%;resize:vertical;border:1px solid var(--color-input-border);border-radius:14px;background:var(--color-input-bg);color:var(--color-input-fg);padding:12px;font:inherit}.topic-picker__scenario small{color:var(--color-fg-muted);font-size:.78rem;font-weight:700;line-height:1.45}.topic-picker__footer{display:flex;justify-content:end;border-top:1px solid var(--color-border);padding:12px 20px 20px}.topic-picker__footer .ui-button{min-width:160px}.setup-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);padding:var(--space-4)}.setup-form>.error-banner,.setup-panel-group--language,.setup-actions{grid-column:1 / -1}.setup-panel-group{display:grid;gap:10px;border:1px solid var(--color-border-soft);border-radius:var(--radius-3);background:#fbfdff;padding:12px}.setup-panel-group--mode .field-grid{grid-template-columns:1fr}.setup-panel-heading{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);align-items:start}.setup-panel-heading h3,.setup-panel-heading p{margin:0}.setup-panel-heading h3{font-size:1rem}.setup-panel-heading p{margin-top:3px;color:var(--color-ink-muted);font-size:.82rem;line-height:1.35}.progress-screen,.profile-screen,.legal-page{display:grid;gap:20px;min-width:0}.progress-hero,.profile-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center}.progress-hero h1,.profile-hero h1,.legal-page h1{margin:0;color:var(--color-fg);font-size:1.5rem;line-height:1.333}.progress-hero p:not(.eyebrow),.profile-hero p,.legal-intro,.legal-section-list p{max-width:680px;margin:6px 0 0;color:var(--color-ink-muted);line-height:1.5}.progress-xp-card{display:grid;min-width:142px;justify-items:center;border:1px solid var(--color-border);border-radius:18px;background:var(--color-surface);box-shadow:var(--shadow-card);padding:16px 18px}.progress-xp-card span,.progress-xp-card small,.progress-card__copy,.settings-card-title small,.lesson-balance-grid small,.entitlement-line,.history-meta span,.skill-level-row span,.legal-page header span{color:var(--color-ink-muted);font-size:.78rem;font-weight:750}.progress-xp-card strong{color:#111;font-size:2.1rem;line-height:1}.progress-top-grid,.profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}.progress-card,.milestones-row,.skill-level-panel,.lesson-history-list,.profile-settings-card,.lesson-balance-card{display:grid;gap:16px;min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-card);padding:20px}.theme-switcher-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.theme-switcher-option{display:flex;align-items:center;gap:12px;padding:12px;border:1.5px solid var(--color-border);border-radius:var(--radius-2xl);background:var(--color-surface);cursor:pointer;text-align:left;transition:border-color var(--duration-fast) var(--ease-default),background var(--duration-fast) var(--ease-default)}.theme-switcher-option:hover{border-color:var(--color-border-strong);background:var(--color-action-secondary-bg-hover)}.theme-switcher-option[data-selected=true]{border-color:var(--color-cta-bg);background:var(--color-app-soft)}.theme-switcher-swatch{position:relative;display:inline-flex;width:44px;height:44px;flex-shrink:0;overflow:hidden;border-radius:var(--radius-pill);border:1px solid var(--color-border)}.theme-switcher-swatch i{flex:1;background:var(--swatch)}.theme-switcher-check{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#fff;background:#00000052}.theme-switcher-label{display:grid;gap:2px;min-width:0}.theme-switcher-label strong{color:var(--color-fg);font-size:.85rem}.theme-switcher-label small{color:var(--color-fg-muted);font-size:.72rem}@media(max-width:640px){.theme-switcher-grid{grid-template-columns:1fr}}.progress-balanced-row{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.9fr);gap:16px;align-items:start}.topics-breakdown-card,.progress-balanced-row .milestones-row{height:100%}.topic-breakdown-list{display:grid;gap:12px}.topic-breakdown-row{display:grid;gap:8px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-input-bg);padding:12px}.topic-breakdown-row>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.topic-breakdown-row strong{color:var(--color-fg);font-size:.9rem}.topic-breakdown-row span{color:var(--color-fg-muted);font-size:.78rem;font-weight:750}.topic-breakdown-meter{display:block;height:7px;overflow:hidden;border-radius:var(--radius-pill);background:var(--color-goal-track)}.topic-breakdown-meter:before{display:block;width:var(--bar-value);height:100%;border-radius:inherit;background:var(--color-cta-bg);content:""}.progress-inline-action{display:inline-flex;align-items:center;justify-content:center;width:fit-content;gap:6px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-fg-muted);padding:8px 12px;font-size:.78rem;font-weight:900}.progress-inline-action svg[data-open=true]{transform:rotate(180deg)}.activity-heatmap-card,.selected-day-card,.vocab-funnel-card{gap:14px}.activity-heatmap-grid{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,12px);grid-auto-columns:12px;gap:5px;max-width:100%;overflow-x:auto;padding-bottom:2px}.activity-heatmap-grid button{width:12px;height:12px;border:1px solid transparent;border-radius:4px;background:#edf3f0;padding:0}.activity-heatmap-grid button[data-intensity="1"]{background:#dcefd3}.activity-heatmap-grid button[data-intensity="2"]{background:#acd9bd}.activity-heatmap-grid button[data-intensity="3"]{background:#67b990}.activity-heatmap-grid button[data-intensity="4"]{background:#163f3a}.activity-heatmap-grid button[data-selected=true]{border-color:#111;outline:2px solid #f4d365;outline-offset:2px}.activity-heatmap-legend{display:flex;align-items:center;justify-content:end;gap:5px;color:var(--color-fg-subtle);font-size:.72rem;font-weight:800}.activity-heatmap-legend i{width:11px;height:11px;border-radius:4px;background:#edf3f0}.activity-heatmap-legend i[data-intensity="1"]{background:#dcefd3}.activity-heatmap-legend i[data-intensity="2"]{background:#acd9bd}.activity-heatmap-legend i[data-intensity="3"]{background:#67b990}.activity-heatmap-legend i[data-intensity="4"]{background:#163f3a}.selected-day-card{grid-template-columns:minmax(0,.5fr) minmax(0,1fr);align-items:center}.selected-day-card h2{margin:3px 0 0;color:var(--color-fg);font-size:1rem}.selected-day-sessions{display:grid;gap:8px}.selected-day-sessions button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-input-bg);color:var(--color-fg);padding:10px 12px;text-align:left}.selected-day-sessions span{color:var(--color-fg-subtle);font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.selected-day-sessions strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-day-sessions small{grid-column:2;grid-row:1 / span 2;align-self:center;color:var(--color-fg-muted);font-weight:850}.vocab-funnel-rows{display:grid;gap:10px}.vocab-funnel-rows div{display:grid;grid-template-columns:90px 56px minmax(0,1fr);gap:10px;align-items:center}.vocab-funnel-rows span{color:var(--color-fg-muted);font-size:.8rem;font-weight:850}.vocab-funnel-rows strong{color:var(--color-fg)}.vocab-funnel-rows i{display:block;height:9px;overflow:hidden;border-radius:var(--radius-pill);background:var(--color-goal-track)}.vocab-funnel-rows i:before{display:block;width:var(--bar-value);height:100%;border-radius:inherit;background:#67b990;content:""}.progress-card__title,.settings-card-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.progress-card__title h2,.progress-section-heading h2,.settings-card-title span,.legal-section-list h2{margin:0;color:var(--color-fg);font-size:1rem}.progress-icon{display:inline-grid;width:36px;aspect-ratio:1;place-items:center;border-radius:12px;background:var(--color-surface-muted);color:var(--color-fg)}.progress-icon--warm{background:#fff4e8;color:#c05621}.progress-pill{width:fit-content;border-radius:var(--radius-pill);background:var(--color-surface-muted);color:var(--color-fg-muted);padding:5px 9px;font-size:.72rem;font-weight:900}.week-dot-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.week-dot{display:grid;min-height:42px;place-items:center;border:1px solid var(--color-border);border-radius:12px;background:var(--color-input-bg);color:var(--color-ink-muted)}.week-dot[data-completed=true]{border-color:var(--color-cta-bg);background:var(--color-cta-bg);color:var(--color-cta-fg)}.week-dot small{font-size:.72rem;font-weight:900}.goal-stack,.milestone-grid,.skill-level-grid,.profile-column{display:grid;gap:12px;min-width:0}.goal-line{display:grid;gap:7px}.goal-line div{display:flex;justify-content:space-between;color:#53637a;font-size:.86rem}.goal-line progress{display:none}.goal-line__bar{display:block;height:7px;overflow:hidden;border-radius:var(--radius-pill);background:var(--color-goal-track)}.goal-line__bar:before{display:block;width:var(--bar-value);height:100%;border-radius:inherit;background:var(--color-cta-bg);content:""}.progress-total-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.progress-total{display:grid;gap:5px;justify-items:center;border-radius:14px;background:var(--color-input-bg);padding:14px 10px;text-align:center}.progress-total span{color:#53637a}.progress-total strong{font-size:1.45rem}.progress-section-heading{display:grid;gap:2px}.milestone-grid,.skill-level-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.skill-level-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.milestone-tile{display:grid;gap:6px;min-height:112px;align-content:center;justify-items:start;border:1px solid var(--color-border);border-radius:14px;background:var(--color-input-bg);color:inherit;padding:14px;text-align:left}.milestone-tile[data-complete=true]{border-color:#b9e6cb;background:#f2fbf5}.milestone-tile span{display:inline-grid;width:32px;aspect-ratio:1;place-items:center;border-radius:var(--radius-3);background:#fff;color:#253249}.milestone-tile small{color:var(--color-ink-muted);font-size:.78rem;font-weight:850}.milestone-detail-popover{display:grid;gap:6px;border:1px solid #f0d1a3;border-radius:16px;background:#fff8e6;color:var(--color-fg);padding:14px}.milestone-detail-popover p{margin:0;color:var(--color-fg-muted);font-size:.86rem;line-height:1.4}.milestone-detail-popover button{width:fit-content;border:0;border-radius:var(--radius-pill);background:#fff;color:var(--color-fg);padding:7px 11px;font-weight:850}.skill-level-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;border:1px solid var(--color-border);border-radius:14px;background:var(--color-input-bg);padding:14px}.skill-level-row div:last-child{display:grid;gap:3px}.lesson-history-list ol{display:grid;gap:10px;margin:0;padding:0;list-style:none}.lesson-history-list li{display:block}.lesson-history-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;width:100%;min-height:70px;border:1px solid #e5edf5;border-radius:var(--radius-3);background:#fff;color:inherit;padding:12px 14px;text-align:left}.lesson-history-row>div:first-child,.history-meta{display:grid;gap:3px}.lesson-history-row>div:first-child span{overflow:hidden;color:var(--color-ink-muted);font-size:.82rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.history-meta{justify-items:end}.progress-empty,.progress-loading,.settings-disabled-note{border:1px dashed #dbe6f1;border-radius:var(--radius-3);background:#f8fbfd;color:var(--color-ink-muted);padding:16px}.progress-empty{display:grid;gap:4px;text-align:center}.progress-detail-backdrop{position:fixed;z-index:70;top:0;right:0;bottom:0;left:0;display:grid;place-items:end center;background:#12213a38;padding:24px}.progress-detail-sheet{position:relative;display:grid;gap:14px;width:min(560px,100%);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-card-elevated);padding:24px}.progress-detail-close{position:absolute;top:14px;right:14px;display:grid;width:34px;aspect-ratio:1;place-items:center;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-fg-muted)}.progress-detail-sheet h2{margin:0;color:var(--color-fg);font-size:1.35rem}.progress-detail-sheet>p:not(.eyebrow){margin:-8px 0 0;color:var(--color-fg-muted)}.progress-detail-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.profile-grid{grid-template-columns:minmax(0,1fr) minmax(320px,420px)}.profile-grid--balanced{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.profile-grid--balanced>.lesson-balance-card,.profile-grid--balanced>.profile-goals-card,.profile-grid--balanced>.profile-settings-card{height:100%}.profile-hero{grid-template-columns:auto minmax(0,1fr) auto}.profile-avatar{display:grid;width:64px;aspect-ratio:1;place-items:center;border:2px solid var(--color-cta-bg);border-radius:50%;background:var(--color-cta-bg);color:var(--color-cta-fg);font-weight:950}.profile-skills-card,.profile-goals-card{display:grid;gap:14px;width:100%;min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);color:var(--color-fg);padding:18px;box-shadow:var(--shadow-card)}.profile-goals-card{justify-content:stretch;text-align:left}.profile-settings-card--setup{align-content:start}.profile-skill-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.profile-skill-tile{display:grid;gap:7px;border-radius:16px;padding:14px}.profile-skill-tile[data-kind=vocab]{background:var(--color-skill-vocab-bg);color:var(--color-skill-vocab-fg)}.profile-skill-tile[data-kind=speak]{background:var(--color-skill-speak-bg);color:var(--color-skill-speak-fg)}.profile-skill-tile span,.profile-skill-tile small{font-size:.74rem;font-weight:800;opacity:.78}.profile-skill-tile strong{font-size:1.55rem;line-height:1}.profile-skill-tile i,.profile-goal-row i{display:block;height:5px;overflow:hidden;border-radius:var(--radius-pill);background:#ffffff73}.profile-skill-tile i:before,.profile-goal-row i:before{display:block;width:var(--bar-value);height:100%;border-radius:inherit;background:var(--color-cta-bg);content:""}.profile-goal-row{display:grid;gap:7px}.profile-goal-row>span{display:flex;justify-content:space-between;gap:12px;color:var(--color-fg-muted);font-size:.84rem}.profile-goal-row>span small{font-weight:850}.profile-goal-row i{background:var(--color-goal-track)}.lesson-balance-art{justify-self:center;width:min(132px,52vw);height:auto;object-fit:contain}.lesson-balance-grid>div{display:grid;gap:2px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-input-bg);padding:13px}.lesson-balance-grid strong{color:var(--color-fg);font-size:1.4rem;line-height:1}.lesson-balance-demo-row{display:inline-flex;align-items:center;gap:8px}.lesson-balance-demo-row img{width:28px;height:28px;object-fit:contain}.settings-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;min-height:76px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);color:var(--color-fg);font-size:.875rem;padding:14px;text-align:left;box-shadow:var(--shadow-card)}.settings-row--compact{grid-template-columns:auto minmax(0,1fr) auto;min-height:58px;border-color:#edf2f7;box-shadow:none}.settings-row--compact:not(:has(.settings-row__icon)){grid-template-columns:minmax(0,1fr) auto}.settings-row__icon{display:inline-grid;width:36px;aspect-ratio:1;place-items:center;border-radius:var(--radius-3);background:#f3f7fb;color:#253249}.settings-row span:not(.settings-row__icon){display:grid;gap:3px;min-width:0}.settings-row small{overflow:hidden;color:var(--color-ink-muted);font-size:.8rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.settings-row:hover,.settings-row:focus-visible{border-color:var(--color-border-strong);background:var(--color-input-bg)}.settings-card-title span{display:inline-flex;align-items:center;gap:8px;font-weight:900}.lesson-balance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lesson-balance-grid div{display:grid;gap:3px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-input-bg);padding:14px}.lesson-balance-grid span{color:var(--color-ink-muted);font-size:.78rem;font-weight:850}.lesson-balance-grid strong{color:var(--color-fg);font-size:1.55rem}.entitlement-line{display:inline-flex;gap:8px;align-items:center;width:fit-content;border-radius:var(--radius-pill);background:#f4f8fb;padding:7px 10px}.entitlement-line[data-enabled=true]{background:#f2fbf5;color:#276749}.profile-legal-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.profile-legal-row button{min-height:34px;border:0;background:transparent;color:var(--color-ink-muted);padding:0;font-size:.82rem;font-weight:850}.profile-legal-row button:last-child{display:inline-flex;gap:6px;margin-left:auto;color:#b42318}.settings-modal-body,.purchase-sheet-body{display:grid;gap:16px;padding:18px}.ui-modal:has(.purchase-sheet-body){width:min(760px,100%)}.purchase-sheet-body{gap:14px;padding:16px 18px 18px}.settings-modal-actions{display:flex;justify-content:end;gap:10px;border-top:1px solid #edf2f7;padding:14px 18px 18px}.settings-field{display:grid;gap:9px}.settings-field>span{display:inline-flex;gap:8px;align-items:center;color:#53637a;font-size:.78rem;font-weight:950;text-transform:uppercase}.settings-choice-list,.settings-chip-grid{display:grid;gap:8px}.settings-choice{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;border:1px solid #e2eaf3;border-radius:var(--radius-3);background:#fff;color:#243148;padding:11px 12px;text-align:left}.settings-choice[data-selected=true]{border-color:#111;background:#f4f7fa}.settings-choice span,.settings-action-row span,.settings-toggle-row span{display:grid;gap:3px}.settings-choice small,.settings-action-row small,.settings-toggle-row small{color:var(--color-ink-muted);font-size:.78rem;font-weight:700}.settings-stepper,.settings-number-field{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;border:1px solid #e2eaf3;border-radius:var(--radius-3);padding:10px 12px}.settings-stepper>span,.settings-number-field>span{color:#243148;font-weight:850}.settings-stepper div{display:inline-flex;gap:10px;align-items:center;border-radius:var(--radius-pill);background:#f3f7fb;padding:4px}.settings-stepper button{display:grid;width:30px;aspect-ratio:1;place-items:center;border:0;border-radius:50%;background:#fff;color:#253249;font-size:1rem;font-weight:950}.settings-stepper button:disabled{opacity:.42}.settings-number-field input{width:120px}.settings-chip-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-chip-grid button{border:1px solid #e2eaf3;border-radius:var(--radius-pill);background:#fff;color:#253249;padding:9px 10px;font-size:.82rem;font-weight:900}.settings-chip-grid button[data-selected=true]{border-color:#111;background:#111;color:#fff}.settings-toggle-row,.settings-action-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid #e2eaf3;border-radius:var(--radius-3);background:#fff;color:#243148;padding:14px;text-align:left}.settings-toggle-row span,.settings-action-row span{grid-template-columns:auto minmax(0,1fr);align-items:center}.settings-toggle-row small,.settings-action-row small{grid-column:2}.settings-toggle-row i{position:relative;width:44px;height:26px;border-radius:var(--radius-pill);background:#dbe6f1}.settings-toggle-row i:after{position:absolute;top:3px;left:3px;width:20px;aspect-ratio:1;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0f172a2e;content:""}.settings-toggle-row[data-enabled=true] i{background:#111}.settings-toggle-row[data-enabled=true] i:after{transform:translate(18px)}.reminder-schedule-panel{display:grid;gap:12px;border:1px solid #e2eaf3;border-radius:var(--radius-3);background:#fbfdff;padding:14px}.reminder-schedule-row{display:grid;gap:8px}.reminder-schedule-row>span{display:inline-flex;gap:8px;align-items:center;color:var(--color-fg-muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.reminder-day-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.reminder-day-grid button{display:grid;min-height:36px;place-items:center;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:#fff;color:var(--color-fg-muted);font-weight:900}.reminder-day-grid button[data-active=true]{border-color:var(--color-cta-bg);background:var(--color-cta-bg);color:var(--color-cta-fg)}.reminder-schedule-row select{min-height:42px;border:1px solid var(--color-input-border);border-radius:14px;background:var(--color-input-bg);color:var(--color-input-fg);padding:0 12px;font:inherit}.reminder-schedule-panel p{margin:0;color:var(--color-fg-muted);font-size:.78rem;line-height:1.4}.purchase-pack-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.purchase-plan-section{display:grid;gap:9px}.purchase-plan-section__header{display:flex;align-items:center;justify-content:space-between}.purchase-plan-section__header h3{margin:0;color:#53637a;font-size:.74rem;font-weight:950;letter-spacing:0;text-transform:uppercase}.purchase-pack-grid button{display:grid;align-content:start;gap:8px;min-height:104px;border:1px solid #e2eaf3;border-radius:12px;background:#fff;color:#243148;padding:12px;text-align:left}.purchase-pack-grid button[data-active=true]{border-color:#111;background:#f4f7fa}.purchase-pack-grid button:disabled{cursor:not-allowed;opacity:.72}.purchase-plan-card__top{display:flex;align-items:start;justify-content:space-between;gap:12px;min-width:0}.purchase-plan-card__title{display:inline-flex;min-width:0;align-items:center;gap:8px;color:#243148;font-size:.9rem;font-weight:950;line-height:1.2}.purchase-pack-grid strong{flex-shrink:0;color:#17233a;font-size:1.12rem;line-height:1.1;text-align:right}.purchase-pack-grid small{color:var(--color-fg-muted);font-size:.76rem;font-style:normal;font-weight:800;line-height:1.25}.purchase-plan-card__badges{display:flex;flex-wrap:wrap;gap:5px}.purchase-plan-card__badge{display:inline-flex;width:fit-content;border-radius:var(--radius-pill);background:#eef4fb;color:#34435a;padding:4px 7px;font-size:.68rem;font-weight:950;line-height:1}.purchase-disabled-state{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 10px;align-items:center;justify-items:start;border:1px solid #e2eaf3;border-radius:var(--radius-3);background:#f8fbfd;padding:14px;text-align:left}.purchase-disabled-state span{display:grid;width:44px;aspect-ratio:1;place-items:center;border-radius:50%;background:#fff;color:#253249}.purchase-disabled-state p{grid-column:2;max-width:none;margin:0;color:var(--color-ink-muted);font-size:.82rem;line-height:1.45}.legal-page{width:min(820px,100%);margin:0 auto;border:1px solid #e5edf5;border-radius:var(--radius-3);background:#fff;box-shadow:0 2px 5px #0f172a0a;padding:clamp(20px,4vw,34px)}.legal-page header{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start}.legal-section-list{display:grid;gap:20px}.legal-section-list section{border-top:1px solid #edf2f7;padding-top:18px}.completion-screen{min-height:100vh;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:clamp(18px,3vw,28px);background:var(--color-page);padding:clamp(18px,4vw,42px)}.completion-hero{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);gap:clamp(18px,3vw,30px);align-items:stretch;width:min(1180px,100%);margin:0 auto}.xp-reveal,.completion-summary-panel,.completion-actions,.resume-card,.recovery-banner{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-card-elevated)}.xp-reveal{display:grid;align-content:center;justify-items:center;gap:18px;min-height:520px;border-radius:var(--radius-3);padding:clamp(28px,5vw,52px);text-align:center}.xp-reveal__check{display:grid;width:82px;aspect-ratio:1;place-items:center;border-radius:50%;background:#163f3a;color:#fff}.xp-reveal__total{display:inline-flex;gap:12px;align-items:center;color:#12213a}.xp-reveal__total strong{font-size:clamp(3rem,8vw,5.6rem);line-height:.94}.xp-breakdown,.practice-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:9px}.xp-breakdown{display:grid;grid-template-rows:0fr;width:100%;overflow:hidden;opacity:0;transition:grid-template-rows .22s ease,opacity .18s ease}.xp-breakdown[data-open=true]{grid-template-rows:1fr;opacity:1}.xp-breakdown>div{display:flex;flex-wrap:wrap;justify-content:center;min-height:0;gap:9px;overflow:hidden}.xp-breakdown-toggle{display:inline-flex;align-items:center;gap:7px;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--color-fg-muted);padding:7px 10px;font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.xp-breakdown-toggle:hover{background:var(--color-surface-muted);color:var(--color-fg)}.xp-breakdown-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.xp-breakdown span,.practice-chips span{display:inline-flex;gap:7px;align-items:center;border:1px solid #dce8f0;border-radius:var(--radius-pill);background:#f7fbfc;color:#26364e;padding:8px 11px;font-size:.84rem;font-weight:800}.practice-chips span[data-kind=focus]{background:#eef7f4;color:#163f3a}.practice-chips span[data-kind=correction]{background:#fff6df;color:#614318}.completion-practice-card{display:grid;gap:14px;border:1px solid #dce8f0;border-radius:var(--radius-3);background:linear-gradient(135deg,#fff,#f7fbfc);padding:16px}.completion-practice-card__header{display:flex;align-items:start;justify-content:space-between;gap:14px}.completion-practice-card__header h2{margin:2px 0 0;color:var(--color-fg);font-size:1.05rem}.completion-practice-card__header strong{display:inline-flex;min-width:max-content;border-radius:var(--radius-pill);background:#eaf7ef;color:#1c6745;padding:7px 10px;font-size:.82rem}.completion-practice-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.completion-practice-list article{display:grid;min-width:0;gap:2px;border:1px solid #e2ebf2;border-radius:var(--radius-2);background:#fff;padding:11px 12px}.completion-practice-list span{color:var(--color-fg-subtle);font-size:.66rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.completion-practice-list strong{min-width:0;overflow:hidden;color:var(--color-fg);text-overflow:ellipsis;white-space:nowrap}.completion-practice-list small,.completion-practice-empty{min-width:0;margin:0;overflow:hidden;color:var(--color-fg-muted);font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.completion-practice-actions{display:flex;flex-wrap:wrap;gap:9px}.completion-milestone-overlay{position:fixed;z-index:80;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#12213a3d;padding:22px}.completion-milestone-card{position:relative;display:grid;justify-items:center;width:min(420px,100%);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-card-elevated);padding:28px;text-align:center}.completion-milestone-close{position:absolute;top:14px;right:14px;display:grid;width:34px;aspect-ratio:1;place-items:center;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:#fff;color:var(--color-fg-muted)}.completion-milestone-art{display:grid;width:112px;aspect-ratio:1;place-items:center;border-radius:50%;background:#fff6df;color:#163f3a;margin-bottom:12px;overflow:hidden}.completion-milestone-art img{width:100%;height:100%;object-fit:contain}.completion-milestone-card h2{margin:4px 0 8px;color:var(--color-fg);font-size:clamp(1.6rem,5vw,2.2rem);line-height:1}.completion-milestone-card p:not(.eyebrow){margin:0 0 18px;color:var(--color-fg-muted);line-height:1.45}.celebration-confetti{position:fixed;z-index:120;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.celebration-confetti i{position:absolute;top:-24px;left:var(--confetti-x);width:9px;height:15px;border-radius:3px;background:var(--confetti-color);opacity:0;transform:translateZ(0) rotate(0);animation:celebration-confetti-fall var(--confetti-duration) cubic-bezier(.2,.72,.28,1) var(--confetti-delay) forwards}.celebration-confetti--subtle i:nth-child(3n){width:7px;height:7px;border-radius:50%}.celebration-confetti--grand i:nth-child(4n){width:6px;height:20px}.completion-summary-panel{display:grid;gap:18px;align-content:center;border-radius:var(--radius-xl);padding:clamp(22px,4vw,42px)}.completion-celebration-art{justify-self:center;width:min(190px,54vw);height:auto;object-fit:contain}.completion-copy h1{margin:4px 0 10px;color:var(--color-fg);font-size:clamp(2rem,4vw,3.3rem);line-height:1}.completion-copy p:last-child,.completion-notes p{max-width:660px;margin:0;color:var(--color-fg-muted);line-height:1.48}.completion-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.completion-metrics article{display:grid;gap:4px;min-height:104px;align-content:center;border:1px solid #e2ebf2;border-radius:var(--radius-3);background:#f9fbfd;padding:14px}.completion-metrics article svg{color:#34736b}.completion-metrics strong{color:#15253c;font-size:1.55rem}.completion-metrics span{color:#6f7f93;font-size:.8rem;font-weight:800}.completion-skill,.completion-notes,.post-lesson-feedback{display:grid;gap:10px;border:1px solid #e2ebf2;border-radius:var(--radius-3);background:#fff;padding:15px}.completion-skill>div{display:grid;gap:3px}.completion-skill{grid-template-columns:minmax(0,1fr) auto;align-items:center}.completion-skill strong,.completion-notes strong,.post-lesson-feedback strong{color:#15253c}.completion-skill span,.post-lesson-feedback span{color:#66768b;font-size:.84rem}.completion-skill__track{display:block;height:10px;overflow:hidden;border-radius:var(--radius-pill);background:#e9f0f4}.completion-skill__track i{display:block;height:100%;border-radius:inherit;background:#34736b}.post-lesson-feedback{gap:14px}.post-lesson-feedback[data-submitted=true]{background:#f6fbf8;border-color:#cfe8d8}.post-lesson-feedback__header,.post-lesson-feedback__footer{display:flex;align-items:center;justify-content:space-between;gap:14px}.post-lesson-feedback__header{align-items:start}.post-lesson-feedback__header>div{display:grid;min-width:0;gap:3px}.post-lesson-feedback__icon{display:grid;flex:0 0 auto;width:38px;aspect-ratio:1;place-items:center;border-radius:50%;background:#eef7f4;color:#2e6962}.post-lesson-feedback[data-submitted=true] .post-lesson-feedback__icon{background:#e7f6ec;color:#1d7d4b}.post-lesson-feedback__grid{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(0,1.1fr);gap:10px}.post-lesson-feedback__rating,.post-lesson-feedback__sentiment,.post-lesson-feedback__tags,.post-lesson-feedback__comment{min-width:0}.post-lesson-feedback__rating{display:grid;gap:7px}.post-lesson-feedback__rating>span,.post-lesson-feedback__tags span,.post-lesson-feedback__comment span{color:#526377;font-size:.74rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.post-lesson-feedback__stars,.post-lesson-feedback__sentiment,.post-lesson-feedback__tags>div>div{display:flex;flex-wrap:wrap;gap:7px}.post-lesson-feedback__stars button,.post-lesson-feedback__sentiment button,.post-lesson-feedback__tags button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;border:1px solid #dce8f0;border-radius:var(--radius-2);background:#fff;color:#526377;font-weight:850}.post-lesson-feedback__stars button{width:38px;padding:0;color:#bdc7d1}.post-lesson-feedback__stars button[data-active=true]{border-color:#e5c36c;background:#fff8e6;color:#e0a31d}.post-lesson-feedback__sentiment button{flex:1 1 112px;gap:7px;padding:8px 10px}.post-lesson-feedback__sentiment button[aria-pressed=true],.post-lesson-feedback__tags button[aria-pressed=true]{border-color:#9fcac4;background:#eef7f4;color:#163f3a}.post-lesson-feedback__stars button:not(:disabled):hover,.post-lesson-feedback__sentiment button:not(:disabled):hover,.post-lesson-feedback__tags button:not(:disabled):hover{border-color:#9fcac4;background:#f6fbfa;color:#163f3a}.post-lesson-feedback__tags{display:grid;gap:11px}.post-lesson-feedback__tags>div{display:grid;gap:7px}.post-lesson-feedback__tags button{min-height:34px;padding:7px 10px;font-size:.82rem}.post-lesson-feedback__comment{display:grid;gap:7px}.post-lesson-feedback__comment textarea{width:100%;min-height:92px;resize:vertical;border:1px solid #dce8f0;border-radius:var(--radius-2);background:#fff;color:var(--color-fg);padding:11px 12px;font:inherit;line-height:1.42}.post-lesson-feedback__comment textarea:focus{border-color:#7fb2aa;outline:3px solid rgba(52,115,107,.14)}.post-lesson-feedback__footer>span{color:#6f7f93;font-size:.78rem;font-weight:850}.post-lesson-feedback__error{margin:0;color:#9d2b2b;font-size:.84rem;font-weight:800}.completion-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;width:min(1180px,100%);margin:0 auto;border-radius:var(--radius-3);padding:14px}.resume-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;border-radius:var(--radius-3);padding:16px}.resume-card h2{margin:2px 0 6px;color:#172338;font-size:1.15rem}.resume-card p,.resume-card small{display:block;margin:0;color:#65768b;line-height:1.4}.resume-card small[role=alert]{color:#9d2b2b;font-weight:800}.resume-card__actions{display:flex;gap:8px;align-items:center}.recovery-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;border-radius:var(--radius-3);background:#fffaf0;color:#553c16;padding:12px}.recovery-banner>div{display:flex;gap:8px}@media(max-width:1100px){.workspace{grid-template-columns:minmax(280px,340px) minmax(0,1fr)}.home-screen{grid-template-columns:minmax(0,1fr)}.session-prep-summary,.session-prep-topic__list{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-top-grid,.progress-balanced-row,.profile-grid{grid-template-columns:1fr}.progress-today-card{grid-column:1 / -1}.home-side-rail{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:0}.side-stat-line,.home-setup-link{grid-column:1 / -1}.side-stat-line{justify-content:start}.event-rail{grid-column:1 / -1;border-top:1px solid var(--color-border);border-left:0}.event-rail ol{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.auth-screen,.product-shell{grid-template-columns:1fr}.auth-hero{min-height:398px}.desktop-rail{display:none}.language-menu-button{visibility:visible}.product-header__language-menu{display:block}.product-frame{padding-bottom:72px}.product-header{position:sticky;top:0;z-index:15;display:flex;min-height:60px;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--color-border);background:#fffffff0;padding:10px 16px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.product-shell[data-active-view=home] .product-header{display:none}.product-header .language-menu-button{max-width:min(54vw,260px);min-height:36px;overflow:hidden;border-color:var(--color-border);border-radius:var(--radius-pill);padding:7px 12px;text-overflow:ellipsis;white-space:nowrap}.product-header .header-actions{display:flex;flex:0 0 auto;align-items:center;flex-direction:row;gap:8px;margin-left:0}.product-header .user-label{display:none}.start-band,.header-actions{align-items:stretch;flex-direction:column}.session-prep-screen{min-height:auto}.session-prep-panel{align-self:start;padding:20px}.mobile-bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:20;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--color-border);background:var(--color-surface)}.mobile-bottom-nav button{display:grid;justify-items:center;min-height:58px;border-radius:0;font-size:.75rem}.debug-panel__body,.home-grid,.home-side-rail,.lesson-workspace,.milestone-grid,.skill-level-grid,.summary-metrics{grid-template-columns:1fr}.lesson-screen{grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.completion-hero{grid-template-columns:1fr}.xp-reveal{min-height:360px}.lesson-header,.vocab-review-hero,.lesson-controls{flex-wrap:wrap;gap:10px}.lesson-header{min-height:72px;padding:12px 16px}.lesson-header__right{margin-left:auto}.lesson-time-warning{top:auto;right:16px;bottom:106px;left:16px;max-width:none}.lesson-main-pane{min-height:0;padding:18px}.lesson-side-rail{max-height:none;border-top:1px solid var(--color-border-subtle);border-left:0}.lesson-side-rail .lesson-words-panel[data-empty=true]{display:none}.lesson-controls{justify-content:flex-start;padding:12px 16px 18px}.lesson-device-select select{width:132px}.vocabulary-header,.vocab-review-hero{align-items:start;flex-direction:column}.vocab-review-hero .ui-button{width:100%}.vocab-kind-tabs{display:grid}.home-screen{gap:18px}.home-mobile-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:2px 0 4px}.home-mobile-brand,.home-mobile-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.home-mobile-brand{flex:1 1 min(100%,210px)}.home-mobile-actions{flex:1 1 min(100%,140px);justify-content:flex-end}.home-mobile-brand strong{color:var(--color-fg);font-family:var(--font-display);font-size:1.35rem;font-weight:800;line-height:1}.home-language-chip,.home-balance-chip,.home-streak-chip{display:inline-flex;align-items:center;min-height:32px;gap:6px;border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-fg);padding:5px 10px;font-size:.78rem;font-weight:800;white-space:nowrap}.home-language-chip{max-width:min(52vw,190px);overflow:hidden;text-overflow:ellipsis}.home-balance-chip span{color:var(--color-fg-muted);font-size:.72rem;font-weight:700}.home-streak-chip{border-color:var(--color-streak-border);background:var(--color-streak-bg);color:var(--color-streak-fg)}.product-content{padding:0 20px 28px}.progress-hero,.profile-hero{grid-template-columns:1fr}.progress-xp-card{justify-items:start}.auth-copy{padding-top:76px}}@media(max-width:760px){.topbar,.call-header{display:grid}.workspace,.session-grid,.lesson-controls,.setup-form,.field-grid,.session-prep-summary,.session-prep-topic__list{grid-template-columns:1fr}.lesson-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.lesson-controls__primary,.lesson-device-select,.lesson-volume-control{grid-column:1 / -1;justify-content:center;width:100%}.lesson-device-select select,.lesson-volume-control input{width:min(240px,100%)}.lesson-orb-wrap{width:150px}.lesson-orb{width:122px}.lesson-main-pane{min-height:0;padding:12px}.lesson-status-row{flex-wrap:wrap}.vocab-row{grid-template-columns:auto minmax(0,1fr) auto}.vocab-row__status{grid-column:2 / 3;justify-self:start;margin-top:5px}.study-session-header{grid-template-columns:minmax(0,1fr) auto}.study-progress{grid-column:1 / -1;order:3}.flashcard-session,.practice-quiz-session{min-height:calc(100vh - 32px)}.auth-bubbles span:nth-child(1),.auth-bubbles span:nth-child(2){margin-right:0;margin-left:0}.review-band{grid-template-columns:1fr}.completion-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.completion-practice-list{grid-template-columns:1fr}.completion-practice-card__header,.completion-practice-actions,.post-lesson-feedback__header,.post-lesson-feedback__footer{align-items:stretch;flex-direction:column}.completion-skill>div,.post-lesson-feedback__grid,.resume-card,.recovery-banner{grid-template-columns:1fr}.post-lesson-feedback__sentiment{display:grid;grid-template-columns:1fr}.post-lesson-feedback__footer .ui-button,.completion-actions .ui-button,.resume-card__actions .ui-button,.recovery-banner .ui-button{width:100%}.resume-card__actions,.recovery-banner>div{align-items:stretch;flex-direction:column}.progress-total-grid,.lesson-balance-grid,.settings-chip-grid,.selected-day-card,.progress-detail-metrics,.vocab-funnel-rows div,.first-steps-grid,.selected-day-sessions button{grid-template-columns:1fr}.selected-day-sessions small{grid-column:auto;grid-row:auto}.lesson-history-list li{grid-template-columns:minmax(0,1fr) auto}.lesson-history-list li>svg{display:none}.history-meta{justify-items:start}.settings-modal-actions,.settings-stepper,.settings-number-field{align-items:stretch;flex-direction:column}.settings-modal-actions .ui-button,.lesson-start-stack{width:100%}.next-session-card{min-height:0;padding:18px}.next-session-card__art{top:58px;inset-inline-end:10px;width:88px;height:88px;transform:none;opacity:.84}.next-session-card__body{width:min(100%,calc(100% - 92px))}.next-session-card__footer,.next-session-card__actions{align-items:stretch;width:100%}.next-session-card__actions button{flex:1 1 0;justify-content:center}.next-session-card__actions .label-full{display:none}.next-session-card__actions .label-short{display:inline}.ui-modal-backdrop{align-items:end;justify-items:stretch;padding:0}.ui-modal{width:100%;max-height:92vh;border-right:0;border-bottom:0;border-left:0;border-radius:24px 24px 0 0}.purchase-pack-grid,.topic-picker__categories,.skill-level-grid{grid-template-columns:1fr}.topic-picker__footer .ui-button{width:100%}.metric{border-right:0;border-bottom:1px solid var(--color-border)}.metric:last-child{border-bottom:0}.event-rail ol{grid-template-columns:1fr}}
