:root{--lx-color-grafite-0: #FFFFFF;--lx-color-grafite-15: #F7F2EC;--lx-color-grafite-25: #F7F5F2;--lx-color-grafite-40: #F2EFEA;--lx-color-grafite-50: #EEEAE4;--lx-color-grafite-100: #E4DED6;--lx-color-grafite-200: #CFC7BC;--lx-color-grafite-300: #BDB2A6;--lx-color-grafite-350: #A09588;--lx-color-grafite-400: #8A7F73;--lx-color-grafite-450: #81776B;--lx-color-grafite-500: #62574C;--lx-color-grafite-600: #4A4037;--lx-color-grafite-700: #3D352E;--lx-color-grafite-750: #2B2520;--lx-color-grafite-800: #241E19;--lx-color-grafite-850: #1E1915;--lx-color-grafite-900: #1B1510;--lx-color-grafite-925: #1A1511;--lx-color-grafite-950: #14110E;--lx-color-grafite-975: #0E0B09;--lx-color-grafite-1000: #0C0A08;--lx-color-tangerina-100: #FFE8D9;--lx-color-tangerina-200: #FFA772;--lx-color-tangerina-300: #FF9A5C;--lx-color-tangerina-400: #FF8A45;--lx-color-tangerina-450: #FF7F33;--lx-color-tangerina-460: #FF7A2E;--lx-color-tangerina-500: #F05A0C;--lx-color-tangerina-550: #E8560A;--lx-color-tangerina-600: #B8430A;--lx-color-tangerina-700: #A83B00;--lx-color-tangerina-750: #A33B00;--lx-color-tangerina-800: #6B2600;--lx-color-tangerina-900: #4A2310;--lx-color-petroleo-100: #D2F1EE;--lx-color-petroleo-200: #6FDCD5;--lx-color-petroleo-300: #3FC9C1;--lx-color-petroleo-600: #0E7C7B;--lx-color-petroleo-700: #0B6463;--lx-color-petroleo-800: #0F3D3B;--lx-color-verde-100: #D9F7E3;--lx-color-verde-200: #ADEDC3;--lx-color-verde-300: #74DE9B;--lx-color-verde-400: #3CC873;--lx-color-verde-500: #1EAA58;--lx-color-verde-600: #14834A;--lx-color-verde-700: #126D39;--lx-color-verde-800: #0F532C;--lx-color-framboesa-100: #FCE4EE;--lx-color-framboesa-200: #FF9DBD;--lx-color-framboesa-300: #FF7BA6;--lx-color-framboesa-600: #B42A5E;--lx-color-framboesa-700: #8F1F49;--lx-color-framboesa-800: #5E1230;--lx-color-framboesa-850: #5A1530;--lx-color-ambar-100: #FFEFD1;--lx-color-ambar-200: #FFDB9C;--lx-color-ambar-300: #FFC35C;--lx-color-ambar-400: #FFAA2B;--lx-color-ambar-500: #E88C00;--lx-color-ambar-600: #B86E00;--lx-color-ambar-700: #8F5500;--lx-color-ambar-800: #663D00;--lx-color-ouro-100: #FFF6CC;--lx-color-ouro-200: #FFEA8F;--lx-color-ouro-300: #FFDB4D;--lx-color-ouro-400: #FACB1E;--lx-color-ouro-500: #DDAE00;--lx-color-ouro-600: #A98500;--lx-color-ouro-700: #7D6200;--lx-color-ouro-800: #574500;--lx-stage-bg: #0E0B09;--lx-stage-scrim: #0E0B09A3;--lx-stage-pill: #0E0B09D9;--lx-stage-text: #FFFFFF;--lx-stage-text-secondary: #EEEAE4;--lx-stage-landmark-halo: #0E0B09D9;--lx-stage-landmark-idle: #FFFFFFCC;--lx-stage-landmark-tracking: #6FDCD5;--lx-stage-landmark-ready: #3CC873;--lx-stage-landmark-correct: #74DE9B;--lx-stage-landmark-retry: #FFAA2B;--lx-stage-landmark-reference: #FFA772CC;--lx-stage-guide-idle: #FFFFFFB3;--lx-stage-guide-ok: #74DE9B;--lx-stage-guide-warn: #FFC35C;--lx-stage-surface: #1A1511;--lx-stage-border: #3D352E;--lx-stage-glow-brand: #F05A0C4D;--lx-stage-glow-gold: #FACB1E59;--lx-stage-gold: #FACB1E;--lx-stage-trace: #FF8A45;--lx-league-bronze-fill: #B0703A;--lx-league-bronze-on-fill: #14110E;--lx-league-bronze-edge: #6B4A1F;--lx-league-prata-fill: #A7B2C2;--lx-league-prata-on-fill: #14110E;--lx-league-prata-edge: #6E7A8C;--lx-league-ouro-fill: #E0AE12;--lx-league-ouro-on-fill: #14110E;--lx-league-ouro-edge: #8A6A00;--lx-league-safira-fill: #3460E6;--lx-league-safira-on-fill: #FFFFFF;--lx-league-safira-edge: #1B2768;--lx-league-rubi-fill: #CC2B57;--lx-league-rubi-on-fill: #FFFFFF;--lx-league-rubi-edge: #7A1733;--lx-league-ametista-fill: #7B4FE0;--lx-league-ametista-on-fill: #FFFFFF;--lx-league-ametista-edge: #45288F;--lx-league-diamante-fill: #6FD9E8;--lx-league-diamante-on-fill: #14110E;--lx-league-diamante-edge: #1A7A88;--lx-brand-icon-bg: #1B1510;--lx-brand-icon-bg-dark: #0C0A08;--lx-brand-icon-mark: #FF7A2E;--lx-brand-icon-dot: #FFFFFF;--lx-brand-icon-skin: #A86F4C;--lx-font-family-display: Anybody, system-ui, -apple-system, Roboto, sans-serif;--lx-font-family-text: Figtree, system-ui, -apple-system, Roboto, sans-serif;--lx-font-weight-regular: 400;--lx-font-weight-semibold: 600;--lx-font-weight-bold: 700;--lx-font-weight-heavy: 800;--lx-font-weight-black: 900;--lx-font-stretch-normal: normal;--lx-font-stretch-semi: semi-expanded;--lx-font-stretch-wide: expanded;--lx-typography-display-xl: 900 expanded 2.5rem/1.05 Anybody, system-ui, -apple-system, Roboto, sans-serif;--lx-typography-display-xl-size: 2.5rem;--lx-typography-display-xl-weight: 900;--lx-typography-display-xl-line-height: 1.05;--lx-typography-display-xl-tracking: -.8px;--lx-typography-display-xl-stretch: expanded;--lx-typography-display: 900 semi-expanded 2.125rem/1.1 Anybody, system-ui, -apple-system, Roboto, sans-serif;--lx-typography-display-size: 2.125rem;--lx-typography-display-weight: 900;--lx-typography-display-line-height: 1.1;--lx-typography-display-tracking: -.5px;--lx-typography-display-stretch: semi-expanded;--lx-typography-headline: 900 semi-expanded 1.75rem/1.15 Anybody, system-ui, -apple-system, Roboto, sans-serif;--lx-typography-headline-size: 1.75rem;--lx-typography-headline-weight: 900;--lx-typography-headline-line-height: 1.15;--lx-typography-headline-tracking: -.3px;--lx-typography-headline-stretch: semi-expanded;--lx-typography-title: 800 semi-expanded 1.375rem/1.2 Anybody, system-ui, -apple-system, Roboto, sans-serif;--lx-typography-title-size: 1.375rem;--lx-typography-title-weight: 800;--lx-typography-title-line-height: 1.2;--lx-typography-title-tracking: 0px;--lx-typography-title-stretch: semi-expanded;--lx-typography-title-sm: 800 semi-expanded 1.125rem/1.3 Anybody, system-ui, -apple-system, Roboto, sans-serif;--lx-typography-title-sm-size: 1.125rem;--lx-typography-title-sm-weight: 800;--lx-typography-title-sm-line-height: 1.3;--lx-typography-title-sm-tracking: 0px;--lx-typography-title-sm-stretch: semi-expanded;--lx-typography-body-lg: 400 1.125rem/1.5 Figtree, system-ui, -apple-system, Roboto, sans-serif;--lx-typography-body-lg-size: 1.125rem;--lx-typography-body-lg-weight: 400;--lx-typography-body-lg-line-height: 1.5;--lx-typography-body-lg-tracking: 0px;--lx-typography-body-lg-stretch: normal;--lx-typography-body: 400 1rem/1.5 Figtree, system-ui, -apple-system, Roboto, sans-serif;--lx-typography-body-size: 1rem;--lx-typography-body-weight: 400;--lx-typography-body-line-height: 1.5;--lx-typography-body-tracking: 0px;--lx-typography-body-stretch: normal;--lx-typography-body-sm: 400 .875rem/1.45 Figtree, system-ui, -apple-system, Roboto, sans-serif;--lx-typography-body-sm-size: .875rem;--lx-typography-body-sm-weight: 400;--lx-typography-body-sm-line-height: 1.45;--lx-typography-body-sm-tracking: 0px;--lx-typography-body-sm-stretch: normal;--lx-typography-button: 800 semi-expanded 1.0625rem/1.25 Anybody, system-ui, -apple-system, Roboto, sans-serif;--lx-typography-button-size: 1.0625rem;--lx-typography-button-weight: 800;--lx-typography-button-line-height: 1.25;--lx-typography-button-tracking: 0px;--lx-typography-button-stretch: semi-expanded;--lx-typography-label: 700 1rem/1.25 Figtree, system-ui, -apple-system, Roboto, sans-serif;--lx-typography-label-size: 1rem;--lx-typography-label-weight: 700;--lx-typography-label-line-height: 1.25;--lx-typography-label-tracking: .2px;--lx-typography-label-stretch: normal;--lx-typography-label-sm: 700 .8125rem/1.25 Figtree, system-ui, -apple-system, Roboto, sans-serif;--lx-typography-label-sm-size: .8125rem;--lx-typography-label-sm-weight: 700;--lx-typography-label-sm-line-height: 1.25;--lx-typography-label-sm-tracking: .2px;--lx-typography-label-sm-stretch: normal;--lx-typography-caption: 600 .75rem/1.35 Figtree, system-ui, -apple-system, Roboto, sans-serif;--lx-typography-caption-size: .75rem;--lx-typography-caption-weight: 600;--lx-typography-caption-line-height: 1.35;--lx-typography-caption-tracking: .2px;--lx-typography-caption-stretch: normal;--lx-typography-numeric-xl: 900 expanded 3.25rem/1 Anybody, system-ui, -apple-system, Roboto, sans-serif;--lx-typography-numeric-xl-size: 3.25rem;--lx-typography-numeric-xl-weight: 900;--lx-typography-numeric-xl-line-height: 1;--lx-typography-numeric-xl-tracking: -1px;--lx-typography-numeric-xl-stretch: expanded;--lx-typography-numeric: 800 semi-expanded 1.25rem/1.2 Anybody, system-ui, -apple-system, Roboto, sans-serif;--lx-typography-numeric-size: 1.25rem;--lx-typography-numeric-weight: 800;--lx-typography-numeric-line-height: 1.2;--lx-typography-numeric-tracking: 0px;--lx-typography-numeric-stretch: semi-expanded;--lx-space-0: 0px;--lx-space-1: 4px;--lx-space-2: 8px;--lx-space-3: 12px;--lx-space-4: 16px;--lx-space-5: 20px;--lx-space-6: 24px;--lx-space-8: 32px;--lx-space-10: 40px;--lx-space-12: 48px;--lx-space-16: 64px;--lx-space-0-5: 2px;--lx-radius-xs: 6px;--lx-radius-sm: 10px;--lx-radius-md: 16px;--lx-radius-lg: 22px;--lx-radius-xl: 28px;--lx-radius-full: 999px;--lx-radius-button: 999px;--lx-radius-choice: 20px;--lx-border-width-thin: 1px;--lx-border-width-thick: 2px;--lx-border-width-selected: 3px;--lx-border-width-focus-ring: 3px;--lx-border-width-focus-offset: 2px;--lx-size-touch-min: 48px;--lx-size-touch-comfort: 56px;--lx-size-button-lg: 56px;--lx-size-button-md: 48px;--lx-size-button-sm: 40px;--lx-size-choice-min: 64px;--lx-size-tab-bar: 64px;--lx-size-top-bar: 56px;--lx-size-lesson-node: 64px;--lx-size-lesson-node-current: 76px;--lx-size-avatar: 40px;--lx-size-progress-lesson: 12px;--lx-size-progress-goal: 10px;--lx-size-confidence-bar: 8px;--lx-size-icon-sm: 16px;--lx-size-icon-md: 20px;--lx-size-icon-lg: 24px;--lx-size-icon-xl: 32px;--lx-size-icon-hero: 64px;--lx-size-content-max: 560px;--lx-layout-breakpoint-medium: 600px;--lx-layout-breakpoint-expanded: 840px;--lx-elevation-light-1: 0px 1px 2px 0px #0C101A0F, 0px 1px 3px 0px #0C101A1A;--lx-elevation-light-2: 0px 4px 12px -2px #0C101A1F;--lx-elevation-light-3: 0px 12px 32px -8px #0C101A3D;--lx-elevation-dark-1: 0px 1px 2px 0px #00000066;--lx-elevation-dark-2: 0px 4px 12px -2px #00000080;--lx-elevation-dark-3: 0px 12px 32px -8px #000000A6;--lx-opacity-disabled: .38;--lx-opacity-pressed-overlay: .12;--lx-opacity-hover-overlay: .08;--lx-motion-duration-instant: 80ms;--lx-motion-duration-fast: .15s;--lx-motion-duration-base: .25s;--lx-motion-duration-page: .3s;--lx-motion-duration-slow: .4s;--lx-motion-duration-emphasis: .6s;--lx-motion-duration-celebrate: .8s;--lx-motion-duration-ambient: 2.4s;--lx-motion-duration-orbit: 6s;--lx-motion-easing-standard: cubic-bezier(.2, 0, 0, 1);--lx-motion-easing-decelerate: cubic-bezier(0, 0, .2, 1);--lx-motion-easing-accelerate: cubic-bezier(.4, 0, 1, 1);--lx-motion-easing-overshoot: cubic-bezier(.34, 1.56, .64, 1);--lx-motion-easing-linear: cubic-bezier(0, 0, 1, 1);--lx-motion-spring-celebrate: .4s;--lx-motion-spring-unlock: .6s;--lx-motion-spring-crystallize: .2s;--lx-motion-stagger: 70ms;--lx-motion-auto-advance: 1.2s;--lx-z-index-base: 0;--lx-z-index-sticky: 10;--lx-z-index-nav: 100;--lx-z-index-sheet: 200;--lx-z-index-toast: 300;--lx-z-index-celebration: 400}:root{--lx-bg-canvas: #F7F5F2;--lx-bg-surface: #FFFFFF;--lx-bg-raised: #FFFFFF;--lx-bg-sunken: #EEEAE4;--lx-bg-inverse: #1B1510;--lx-bg-scrim: #0E0B098F;--lx-text-primary: #1B1510;--lx-text-secondary: #4A4037;--lx-text-tertiary: #62574C;--lx-text-disabled: #81776B;--lx-text-inverse: #F7F5F2;--lx-text-brand: #A83B00;--lx-border-subtle: #E4DED6;--lx-border-default: #CFC7BC;--lx-border-strong: #81776B;--lx-border-focus: #A83B00;--lx-action-primary-bg: #F05A0C;--lx-action-primary-bg-pressed: #E8560A;--lx-action-primary-base: #B8430A;--lx-action-primary-fg: #1B1510;--lx-action-secondary-bg: #FFFFFF;--lx-action-secondary-border: #81776B;--lx-action-secondary-fg: #A83B00;--lx-action-danger-bg: #B42A5E;--lx-action-danger-fg: #FFFFFF;--lx-action-disabled-bg: #E4DED6;--lx-action-disabled-fg: #81776B;--lx-feedback-success-strong: #14834A;--lx-feedback-success-on-strong: #FFFFFF;--lx-feedback-success-text: #126D39;--lx-feedback-success-soft: #D9F7E3;--lx-feedback-success-on-soft: #0F532C;--lx-feedback-error-strong: #B42A5E;--lx-feedback-error-on-strong: #FFFFFF;--lx-feedback-error-text: #8F1F49;--lx-feedback-error-soft: #FCE4EE;--lx-feedback-error-on-soft: #5E1230;--lx-feedback-warning-strong: #FFAA2B;--lx-feedback-warning-on-strong: #1B1510;--lx-feedback-warning-text: #8F5500;--lx-feedback-warning-soft: #FFEFD1;--lx-feedback-warning-on-soft: #663D00;--lx-feedback-info-strong: #A83B00;--lx-feedback-info-on-strong: #FFFFFF;--lx-feedback-info-text: #A83B00;--lx-feedback-info-soft: #FFE8D9;--lx-feedback-info-on-soft: #6B2600;--lx-game-track: #F2EFEA;--lx-game-progress: #E8560A;--lx-game-xp-fill: #A98500;--lx-game-xp-text: #7D6200;--lx-game-xp-soft: #FFF6CC;--lx-game-streak-fill: #E8560A;--lx-game-streak-text: #A33B00;--lx-game-streak-soft: #FFE8D9;--lx-game-hand-text: #0B6463;--lx-game-hand-soft: #D2F1EE;--lx-game-hand-fill: #0E7C7B;--lx-game-hand-on-fill: #FFFFFF;--lx-game-locked-bg: #EEEAE4;--lx-game-locked-fg: #62574C;--lx-game-trace-fill: #E8560A;--lx-game-trace-text: #A33B00;--lx-game-trace-soft: #FFE8D9;--lx-game-trace-on-soft: #6B2600;--lx-brand-ink: #1B1510;--lx-brand-mark: #E8560A;--lx-elevation-1: var(--lx-elevation-light-1);--lx-elevation-2: var(--lx-elevation-light-2);--lx-elevation-3: var(--lx-elevation-light-3);color-scheme:light}:root[data-theme=dark]{--lx-bg-canvas: #14110E;--lx-bg-surface: #1E1915;--lx-bg-raised: #241E19;--lx-bg-sunken: #0C0A08;--lx-bg-inverse: #F7F2EC;--lx-bg-scrim: #000000B3;--lx-text-primary: #F7F2EC;--lx-text-secondary: #BDB2A6;--lx-text-tertiary: #A09588;--lx-text-disabled: #62574C;--lx-text-inverse: #14110E;--lx-text-brand: #FF9A5C;--lx-border-subtle: #2B2520;--lx-border-default: #3D352E;--lx-border-strong: #8A7F73;--lx-border-focus: #FF9A5C;--lx-action-primary-bg: #FF7F33;--lx-action-primary-bg-pressed: #FF9A5C;--lx-action-primary-base: #B8430A;--lx-action-primary-fg: #1B1510;--lx-action-secondary-bg: #1E1915;--lx-action-secondary-border: #8A7F73;--lx-action-secondary-fg: #FF9A5C;--lx-action-danger-bg: #FF7BA6;--lx-action-danger-fg: #14110E;--lx-action-disabled-bg: #2B2520;--lx-action-disabled-fg: #62574C;--lx-feedback-success-strong: #3CC873;--lx-feedback-success-on-strong: #14110E;--lx-feedback-success-text: #74DE9B;--lx-feedback-success-soft: #0F532C;--lx-feedback-success-on-soft: #D9F7E3;--lx-feedback-error-strong: #FF7BA6;--lx-feedback-error-on-strong: #14110E;--lx-feedback-error-text: #FF9DBD;--lx-feedback-error-soft: #5A1530;--lx-feedback-error-on-soft: #FCE4EE;--lx-feedback-warning-strong: #FFAA2B;--lx-feedback-warning-on-strong: #14110E;--lx-feedback-warning-text: #FFC35C;--lx-feedback-warning-soft: #663D00;--lx-feedback-warning-on-soft: #FFEFD1;--lx-feedback-info-strong: #FF9A5C;--lx-feedback-info-on-strong: #14110E;--lx-feedback-info-text: #FF9A5C;--lx-feedback-info-soft: #4A2310;--lx-feedback-info-on-soft: #FFE8D9;--lx-game-track: #3D352E;--lx-game-progress: #FF8A45;--lx-game-xp-fill: #FACB1E;--lx-game-xp-text: #FFDB4D;--lx-game-xp-soft: #574500;--lx-game-streak-fill: #FF8A45;--lx-game-streak-text: #FFA772;--lx-game-streak-soft: #4A2310;--lx-game-hand-text: #6FDCD5;--lx-game-hand-soft: #0F3D3B;--lx-game-hand-fill: #3FC9C1;--lx-game-hand-on-fill: #14110E;--lx-game-locked-bg: #2B2520;--lx-game-locked-fg: #BDB2A6;--lx-game-trace-fill: #FF8A45;--lx-game-trace-text: #FFA772;--lx-game-trace-soft: #4A2310;--lx-game-trace-on-soft: #FFE8D9;--lx-brand-ink: #F7F2EC;--lx-brand-mark: #FF8A45;--lx-elevation-1: var(--lx-elevation-dark-1);--lx-elevation-2: var(--lx-elevation-dark-2);--lx-elevation-3: var(--lx-elevation-dark-3);color-scheme:dark}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--lx-bg-canvas: #14110E;--lx-bg-surface: #1E1915;--lx-bg-raised: #241E19;--lx-bg-sunken: #0C0A08;--lx-bg-inverse: #F7F2EC;--lx-bg-scrim: #000000B3;--lx-text-primary: #F7F2EC;--lx-text-secondary: #BDB2A6;--lx-text-tertiary: #A09588;--lx-text-disabled: #62574C;--lx-text-inverse: #14110E;--lx-text-brand: #FF9A5C;--lx-border-subtle: #2B2520;--lx-border-default: #3D352E;--lx-border-strong: #8A7F73;--lx-border-focus: #FF9A5C;--lx-action-primary-bg: #FF7F33;--lx-action-primary-bg-pressed: #FF9A5C;--lx-action-primary-base: #B8430A;--lx-action-primary-fg: #1B1510;--lx-action-secondary-bg: #1E1915;--lx-action-secondary-border: #8A7F73;--lx-action-secondary-fg: #FF9A5C;--lx-action-danger-bg: #FF7BA6;--lx-action-danger-fg: #14110E;--lx-action-disabled-bg: #2B2520;--lx-action-disabled-fg: #62574C;--lx-feedback-success-strong: #3CC873;--lx-feedback-success-on-strong: #14110E;--lx-feedback-success-text: #74DE9B;--lx-feedback-success-soft: #0F532C;--lx-feedback-success-on-soft: #D9F7E3;--lx-feedback-error-strong: #FF7BA6;--lx-feedback-error-on-strong: #14110E;--lx-feedback-error-text: #FF9DBD;--lx-feedback-error-soft: #5A1530;--lx-feedback-error-on-soft: #FCE4EE;--lx-feedback-warning-strong: #FFAA2B;--lx-feedback-warning-on-strong: #14110E;--lx-feedback-warning-text: #FFC35C;--lx-feedback-warning-soft: #663D00;--lx-feedback-warning-on-soft: #FFEFD1;--lx-feedback-info-strong: #FF9A5C;--lx-feedback-info-on-strong: #14110E;--lx-feedback-info-text: #FF9A5C;--lx-feedback-info-soft: #4A2310;--lx-feedback-info-on-soft: #FFE8D9;--lx-game-track: #3D352E;--lx-game-progress: #FF8A45;--lx-game-xp-fill: #FACB1E;--lx-game-xp-text: #FFDB4D;--lx-game-xp-soft: #574500;--lx-game-streak-fill: #FF8A45;--lx-game-streak-text: #FFA772;--lx-game-streak-soft: #4A2310;--lx-game-hand-text: #6FDCD5;--lx-game-hand-soft: #0F3D3B;--lx-game-hand-fill: #3FC9C1;--lx-game-hand-on-fill: #14110E;--lx-game-locked-bg: #2B2520;--lx-game-locked-fg: #BDB2A6;--lx-game-trace-fill: #FF8A45;--lx-game-trace-text: #FFA772;--lx-game-trace-soft: #4A2310;--lx-game-trace-on-soft: #FFE8D9;--lx-brand-ink: #F7F2EC;--lx-brand-mark: #FF8A45;--lx-elevation-1: var(--lx-elevation-dark-1);--lx-elevation-2: var(--lx-elevation-dark-2);--lx-elevation-3: var(--lx-elevation-dark-3);color-scheme:dark}}.lx-theme-dark{--lx-bg-canvas: #14110E;--lx-bg-surface: #1E1915;--lx-bg-raised: #241E19;--lx-bg-sunken: #0C0A08;--lx-bg-inverse: #F7F2EC;--lx-bg-scrim: #000000B3;--lx-text-primary: #F7F2EC;--lx-text-secondary: #BDB2A6;--lx-text-tertiary: #A09588;--lx-text-disabled: #62574C;--lx-text-inverse: #14110E;--lx-text-brand: #FF9A5C;--lx-border-subtle: #2B2520;--lx-border-default: #3D352E;--lx-border-strong: #8A7F73;--lx-border-focus: #FF9A5C;--lx-action-primary-bg: #FF7F33;--lx-action-primary-bg-pressed: #FF9A5C;--lx-action-primary-base: #B8430A;--lx-action-primary-fg: #1B1510;--lx-action-secondary-bg: #1E1915;--lx-action-secondary-border: #8A7F73;--lx-action-secondary-fg: #FF9A5C;--lx-action-danger-bg: #FF7BA6;--lx-action-danger-fg: #14110E;--lx-action-disabled-bg: #2B2520;--lx-action-disabled-fg: #62574C;--lx-feedback-success-strong: #3CC873;--lx-feedback-success-on-strong: #14110E;--lx-feedback-success-text: #74DE9B;--lx-feedback-success-soft: #0F532C;--lx-feedback-success-on-soft: #D9F7E3;--lx-feedback-error-strong: #FF7BA6;--lx-feedback-error-on-strong: #14110E;--lx-feedback-error-text: #FF9DBD;--lx-feedback-error-soft: #5A1530;--lx-feedback-error-on-soft: #FCE4EE;--lx-feedback-warning-strong: #FFAA2B;--lx-feedback-warning-on-strong: #14110E;--lx-feedback-warning-text: #FFC35C;--lx-feedback-warning-soft: #663D00;--lx-feedback-warning-on-soft: #FFEFD1;--lx-feedback-info-strong: #FF9A5C;--lx-feedback-info-on-strong: #14110E;--lx-feedback-info-text: #FF9A5C;--lx-feedback-info-soft: #4A2310;--lx-feedback-info-on-soft: #FFE8D9;--lx-game-track: #3D352E;--lx-game-progress: #FF8A45;--lx-game-xp-fill: #FACB1E;--lx-game-xp-text: #FFDB4D;--lx-game-xp-soft: #574500;--lx-game-streak-fill: #FF8A45;--lx-game-streak-text: #FFA772;--lx-game-streak-soft: #4A2310;--lx-game-hand-text: #6FDCD5;--lx-game-hand-soft: #0F3D3B;--lx-game-hand-fill: #3FC9C1;--lx-game-hand-on-fill: #14110E;--lx-game-locked-bg: #2B2520;--lx-game-locked-fg: #BDB2A6;--lx-game-trace-fill: #FF8A45;--lx-game-trace-text: #FFA772;--lx-game-trace-soft: #4A2310;--lx-game-trace-on-soft: #FFE8D9;--lx-brand-ink: #F7F2EC;--lx-brand-mark: #FF8A45;--lx-elevation-1: var(--lx-elevation-dark-1);--lx-elevation-2: var(--lx-elevation-dark-2);--lx-elevation-3: var(--lx-elevation-dark-3);color-scheme:dark}@font-face{font-family:Anybody;src:url(/fonts/Anybody-latin-wdth-wght.woff2) format("woff2-variations"),url(/fonts/Anybody-latin-wdth-wght.woff2) format("woff2");font-weight:100 900;font-stretch:50% 150%;font-style:normal;font-display:swap}@font-face{font-family:Figtree;src:url(/fonts/Figtree-latin-wght.woff2) format("woff2-variations"),url(/fonts/Figtree-latin-wght.woff2) format("woff2");font-weight:300 900;font-style:normal;font-display:swap}:root{--lx-motion-scale: 1;--lx-safe-top: env(safe-area-inset-top, 0px);--lx-safe-right: env(safe-area-inset-right, 0px);--lx-safe-bottom: env(safe-area-inset-bottom, 0px);--lx-safe-left: env(safe-area-inset-left, 0px);--lx-nav-offset: 0px;--lx-sidebar-w: 220px}@media (prefers-reduced-motion: reduce){:root{--lx-motion-scale: 0}}:root[data-reduced-motion=true]{--lx-motion-scale: 0}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body{min-height:100%;background:var(--lx-bg-canvas);color:var(--lx-text-primary);font:var(--lx-typography-body);letter-spacing:var(--lx-typography-body-tracking);-webkit-tap-highlight-color:transparent}body{overflow-x:hidden;overscroll-behavior-y:none}button,input,select,textarea{font-family:inherit;color:inherit}button{touch-action:manipulation}:focus-visible{outline:var(--lx-border-width-focus-ring) solid var(--lx-border-focus);outline-offset:var(--lx-border-width-focus-offset)}:focus:not(:focus-visible){outline:none}.icon{flex-shrink:0;vertical-align:-.25em}.icon--spin{animation:lx-spin var(--lx-motion-duration-celebrate) linear infinite}@keyframes lx-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.icon--spin{animation-duration:var(--lx-motion-duration-ambient)}}.tabular{font-variant-numeric:tabular-nums}.tone-streak{color:var(--lx-game-streak-fill)}.tone-xp{color:var(--lx-game-xp-fill)}.tone-hand{color:var(--lx-game-hand-fill)}.tone-brand{color:var(--lx-text-brand)}#app{min-height:100dvh;display:flex;flex-direction:column;padding-left:var(--lx-safe-left);padding-right:var(--lx-safe-right)}.app-loading{flex:1;display:flex;align-items:center;justify-content:center;color:var(--lx-text-secondary)}h1[tabindex="-1"]:focus{outline:none}.route-error{min-height:100dvh;flex-direction:column;gap:var(--lx-space-4);padding:calc(var(--lx-space-4) + var(--lx-safe-top)) var(--lx-space-4) calc(var(--lx-space-4) + var(--lx-safe-bottom));text-align:center;font:var(--lx-typography-title)}.route-error-btn{max-width:var(--lx-size-content-max)}.screen-skeleton{flex:1;display:flex;flex-direction:column;gap:var(--lx-space-4);width:100%;max-width:var(--lx-size-content-max);margin:0 auto;padding:calc(var(--lx-space-2) + var(--lx-safe-top)) var(--lx-space-4) var(--lx-space-4)}.skeleton-block{position:relative;overflow:hidden;background:var(--lx-bg-sunken);border-radius:var(--lx-radius-md)}.skeleton-block:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,var(--lx-bg-raised),transparent);opacity:.6;transform:translate(-100%);animation:lx-skeleton-shine calc(var(--lx-motion-duration-page) * 5) var(--lx-motion-easing-standard) infinite}@keyframes lx-skeleton-shine{to{transform:translate(100%)}}@media (prefers-reduced-motion: reduce){.skeleton-block:after{animation:none;display:none}}:root[data-reduced-motion=true] .skeleton-block:after{animation:none;display:none}.screen-skeleton-bar{height:var(--lx-size-top-bar)}.screen-skeleton-card{height:calc(var(--lx-size-top-bar) * 2);border-radius:var(--lx-radius-lg)}.screen-skeleton-row{display:flex;align-items:center;gap:var(--lx-space-4)}.screen-skeleton-node{flex-shrink:0;width:var(--lx-size-lesson-node);height:var(--lx-size-lesson-node);border-radius:var(--lx-radius-full)}.screen-skeleton-lines{flex:1;display:flex;flex-direction:column;gap:var(--lx-space-2)}.screen-skeleton-line{height:var(--lx-space-4);border-radius:var(--lx-radius-xs)}.screen-skeleton-line--short{width:60%}.toast{position:fixed;left:50%;bottom:calc(var(--lx-size-tab-bar) + var(--lx-safe-bottom) + var(--lx-space-4));z-index:var(--lx-z-index-toast);width:calc(100% - 2 * var(--lx-space-4));max-width:var(--lx-size-content-max);translate:-50% 0;padding:var(--lx-space-3) var(--lx-space-4);border-radius:var(--lx-radius-md);background:var(--lx-bg-inverse);color:var(--lx-text-inverse);font:var(--lx-typography-body-sm);box-shadow:var(--lx-elevation-2)}@media (min-width: 768px){.toast{left:calc(50% + var(--lx-sidebar-w) / 2);bottom:calc(var(--lx-safe-bottom) + var(--lx-space-6))}}.app-layout{display:flex;min-height:100dvh}.main-content{--lx-nav-offset: calc(var(--lx-size-tab-bar) + var(--lx-safe-bottom));flex:1;min-width:0;display:flex;flex-direction:column;min-height:100dvh;padding-bottom:var(--lx-nav-offset);overflow-x:clip}.lesson-screen{display:flex;flex-direction:column;flex:1;min-height:100dvh}.lesson-screen--stage{--lx-bg-canvas: var(--lx-stage-bg);background:var(--lx-bg-canvas);color:var(--lx-text-primary)}.lesson-screen--stage .lesson-topbar{background:var(--lx-stage-bg);border-bottom-color:var(--lx-border-subtle)}.lesson-screen--stage .cam-sign-prompt{color:var(--lx-stage-text-secondary)}.lesson-screen--stage .cam-sign-letter{color:var(--lx-stage-trace)}.lesson-screen--stage .cam-sign-letter--hand{color:var(--lx-game-hand-text)}.lesson-screen--stage .cam-sign-viewport-wrap{border:var(--lx-border-width-thin) solid var(--lx-border-subtle)}.lesson-exercise-wrap{display:flex;flex-direction:column;flex:1;overscroll-behavior:contain}.screen-center{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--lx-space-8) var(--lx-space-4)}.nav-sidebar{position:fixed;bottom:0;left:0;right:0;height:calc(var(--lx-size-tab-bar) + var(--lx-safe-bottom));padding:0 var(--lx-safe-right) var(--lx-safe-bottom) var(--lx-safe-left);display:flex;flex-direction:row;align-items:stretch;background:var(--lx-bg-surface);border-top:var(--lx-border-width-thin) solid var(--lx-border-subtle);box-shadow:var(--lx-elevation-2);z-index:var(--lx-z-index-nav)}.nav-logo{display:none}.nav-item{flex:1;min-width:var(--lx-size-touch-min);min-height:var(--lx-size-touch-min);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--lx-space-1);background:none;border:none;font:var(--lx-typography-label-sm);letter-spacing:var(--lx-typography-label-sm-tracking);color:var(--lx-text-secondary);cursor:pointer;padding:var(--lx-space-1) var(--lx-space-1) 0;transition:color var(--lx-motion-duration-fast) var(--lx-motion-easing-standard)}.nav-item-indicator{display:flex;align-items:center;justify-content:center;width:var(--lx-size-lesson-node);height:calc(var(--lx-size-icon-lg) + var(--lx-space-2));border-radius:var(--lx-radius-full);transition:background-color var(--lx-motion-duration-fast) var(--lx-motion-easing-standard)}.nav-item-icon{width:var(--lx-size-icon-lg);height:var(--lx-size-icon-lg)}.nav-item-label{line-height:1}.nav-item--active{color:var(--lx-text-brand)}.nav-item--active .nav-item-indicator{background:var(--lx-feedback-info-soft);color:var(--lx-feedback-info-on-soft)}@media (min-width: 768px){.main-content{--lx-nav-offset: 0px;padding-bottom:0;margin-left:var(--lx-sidebar-w)}.nav-sidebar{bottom:0;right:auto;top:0;width:var(--lx-sidebar-w);height:100dvh;padding:var(--lx-safe-top) 0 var(--lx-space-6) var(--lx-safe-left);flex-direction:column;align-items:stretch;border-top:none;border-right:var(--lx-border-width-thin) solid var(--lx-border-subtle);box-shadow:none;overflow:hidden}.nav-logo{display:flex;align-items:center;padding:var(--lx-space-5) var(--lx-space-5) var(--lx-space-4);border-bottom:var(--lx-border-width-thin) solid var(--lx-border-subtle);margin-bottom:var(--lx-space-2)}.nav-item{flex:none;flex-direction:row;gap:var(--lx-space-3);justify-content:flex-start;padding:var(--lx-space-1) var(--lx-space-4);font:var(--lx-typography-label);border-radius:0 var(--lx-radius-md) var(--lx-radius-md) 0;margin:var(--lx-space-0-5) var(--lx-space-2) var(--lx-space-0-5) 0}.nav-item-indicator{width:var(--lx-size-touch-min)}.nav-item--active{background:var(--lx-feedback-info-soft)}}.screen-content{width:100%;max-width:var(--lx-size-content-max);margin:0 auto;padding:0 var(--lx-space-4)}.screen-header{padding:calc(var(--lx-space-5) + var(--lx-safe-top)) var(--lx-space-4) var(--lx-space-4);border-bottom:var(--lx-border-width-thin) solid var(--lx-border-subtle);background:var(--lx-bg-surface)}@media (min-width: 768px){.screen-header{padding:var(--lx-space-8) var(--lx-space-8) var(--lx-space-5)}}.screen-title{font:var(--lx-typography-headline);letter-spacing:var(--lx-typography-headline-tracking);color:var(--lx-text-primary)}.screen-subtitle{margin-top:var(--lx-space-1);font:var(--lx-typography-body-sm);color:var(--lx-text-secondary)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.text-muted{color:var(--lx-text-secondary)}.brand-mark{flex-shrink:0;display:block}.brand-mark-trace{stroke:var(--lx-brand-mark)}.brand-mark-tip{fill:var(--lx-brand-mark);stroke:var(--lx-brand-mark)}.brand-mark-dot{fill:var(--lx-brand-ink)}.brand-mark--tile .brand-mark-tile{fill:var(--lx-brand-icon-bg)}.brand-mark--tile .brand-mark-trace{stroke:var(--lx-brand-icon-mark)}.brand-mark--tile .brand-mark-tip{fill:var(--lx-brand-icon-mark);stroke:var(--lx-brand-icon-mark)}.brand-mark--tile .brand-mark-dot{fill:var(--lx-brand-icon-dot)}.wordmark{display:inline-flex;align-items:center;gap:var(--lx-space-2);width:fit-content;line-height:1}.wordmark-logo{display:inline-flex;align-items:center;gap:calc(var(--wm) * .32)}.beta-badge{position:relative;flex-shrink:0;padding:var(--lx-space-0-5) var(--lx-space-2);border-radius:var(--lx-radius-full);background:var(--lx-game-hand-soft);color:var(--lx-game-hand-text);font:var(--lx-typography-label-sm);white-space:nowrap}.wordmark-text{font-family:var(--lx-font-family-display);font-weight:var(--lx-font-weight-black);font-stretch:var(--lx-font-stretch-wide);font-size:var(--wm);letter-spacing:-.01em;line-height:1;color:var(--lx-brand-ink)}.trace-stroke{stroke:var(--lx-game-trace-fill)}.trace-stroke--hand{stroke:var(--lx-game-hand-fill)}.trace-stroke--muted{stroke:var(--lx-border-strong)}.trace-stroke--stage{stroke:var(--lx-stage-trace)}.trace-stroke--soft{stroke-opacity:.7}.trace-tip--trace{fill:var(--lx-game-trace-fill)}.trace-tip--hand{fill:var(--lx-game-hand-fill)}.trace-tip--muted{fill:var(--lx-border-strong)}.trace-tip--stage{fill:var(--lx-stage-trace)}.trace-start{fill:var(--lx-text-primary)}.hand-sketch{display:block;overflow:visible}.hand-sketch-bone{stroke:var(--lx-text-primary);stroke-width:1.8;stroke-linecap:round}.hand-sketch-joint{fill:var(--lx-text-secondary)}.hand-sketch-joint.is-active{fill:var(--lx-game-trace-fill)}.trace-arrow-icon{flex-shrink:0}.trace-orbit{position:absolute;inset:calc(-1 * var(--lx-space-4));width:calc(100% + 2 * var(--lx-space-4));height:calc(100% + 2 * var(--lx-space-4));overflow:visible;pointer-events:none;animation:lx-spin var(--lx-motion-duration-orbit) linear infinite}@media (prefers-reduced-motion: reduce){.trace-orbit{animation:none}}:root[data-reduced-motion=true] .trace-orbit{animation:none}.trace-burst{display:block;width:100%;max-width:400px;height:auto;overflow:visible}.trace-burst-ray{transform-box:view-box;transform-origin:179px 96px;animation:lx-burst-ray var(--lx-motion-duration-emphasis) var(--lx-motion-easing-overshoot) both;animation-delay:calc(var(--i, 0) * var(--lx-motion-stagger) / 2)}@keyframes lx-burst-ray{0%{opacity:0;transform:scale(calc(1 - .45 * var(--lx-motion-scale, 1)))}to{opacity:1;transform:scale(1)}}.trace-burst-value{font-family:var(--lx-font-family-display);font-weight:var(--lx-font-weight-black);font-stretch:var(--lx-font-stretch-wide);font-size:var(--lx-typography-numeric-xl-size);fill:var(--lx-text-primary)}.trace-burst-unit{font-family:var(--lx-font-family-display);font-weight:var(--lx-font-weight-heavy);font-size:var(--lx-typography-body-size);letter-spacing:2px;fill:var(--lx-game-xp-text)}@media (prefers-reduced-motion: reduce){.trace-burst-ray{animation:none}}:root[data-reduced-motion=true] .trace-burst-ray{animation:none}.welcome-illustration{position:relative;width:100%;height:min(30dvh,240px);border-radius:var(--lx-radius-xl);background:var(--lx-game-trace-soft);overflow:hidden}.welcome-arcs{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.welcome-hand{position:absolute;inset:var(--lx-space-5) 16% var(--lx-space-5) 14%;width:70%;height:calc(100% - 2 * var(--lx-space-5))}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--lx-space-2);width:100%;min-height:var(--lx-size-button-lg);padding:0 var(--lx-space-6);border:none;border-radius:var(--lx-radius-button);font:var(--lx-typography-button);letter-spacing:var(--lx-typography-button-tracking);text-align:center;text-decoration:none;cursor:pointer;transition:transform var(--lx-motion-duration-instant) var(--lx-motion-easing-standard),box-shadow var(--lx-motion-duration-instant) var(--lx-motion-easing-standard),background-color var(--lx-motion-duration-fast) var(--lx-motion-easing-standard)}.btn .icon{width:var(--lx-size-icon-md);height:var(--lx-size-icon-md)}.btn-primary{background:var(--lx-action-primary-bg);color:var(--lx-action-primary-fg);box-shadow:0 3px 0 var(--lx-action-primary-base);margin-bottom:3px}.btn-primary:active:not(:disabled){background:var(--lx-action-primary-bg-pressed);box-shadow:0 1px 0 var(--lx-action-primary-base);transform:translateY(calc(2px * var(--lx-motion-scale, 1)))}.btn-secondary,.btn-ghost{background:var(--lx-action-secondary-bg);color:var(--lx-action-secondary-fg);border:var(--lx-border-width-thick) solid var(--lx-action-secondary-border);min-height:var(--lx-size-button-md)}.btn-secondary:active:not(:disabled),.btn-ghost:active:not(:disabled){transform:scale(calc(1 - .03 * var(--lx-motion-scale, 1)))}.btn-text,.btn-text-muted{background:none;border:none;width:auto;min-height:var(--lx-size-touch-min);padding:0 var(--lx-space-4);color:var(--lx-text-brand);font:var(--lx-typography-label);cursor:pointer}.btn-text:focus-visible{text-decoration:underline}.btn-text-muted{color:var(--lx-text-secondary);font-weight:var(--lx-font-weight-semibold);align-self:center}.btn-wrong,.btn-danger{background:var(--lx-action-danger-bg);color:var(--lx-action-danger-fg)}.btn:disabled,.btn[aria-disabled=true]{background:var(--lx-action-disabled-bg);color:var(--lx-action-disabled-fg);border-color:transparent;box-shadow:none;cursor:not-allowed;transform:none}.btn-sm{width:auto;min-height:var(--lx-size-button-sm);padding:0 var(--lx-space-4);font:var(--lx-typography-label-sm)}.btn-sm:after{content:"";position:absolute;inset:calc((var(--lx-size-button-sm) - var(--lx-size-touch-min)) / 2) 0}.btn-inline{width:auto}.card{background:var(--lx-bg-surface);border-radius:var(--lx-radius-lg);border:var(--lx-border-width-thin) solid var(--lx-border-default);padding:var(--lx-space-5)}.topbar-spacer{flex:1}.topbar-stat{display:flex;align-items:center;gap:var(--lx-space-1);font:var(--lx-typography-label);font-variant-numeric:tabular-nums}.back-btn{flex-shrink:0;width:var(--lx-size-touch-min);height:var(--lx-size-touch-min);background:none;border:none;color:var(--lx-text-primary);cursor:pointer;border-radius:var(--lx-radius-full);display:flex;align-items:center;justify-content:center;transition:background-color var(--lx-motion-duration-fast) var(--lx-motion-easing-standard)}.back-btn .icon{width:var(--lx-size-icon-lg);height:var(--lx-size-icon-lg)}.back-btn:active{background:var(--lx-bg-sunken)}@media (hover: hover){.back-btn:hover{background:var(--lx-bg-sunken)}}.lesson-topbar{display:flex;align-items:center;gap:var(--lx-space-2);min-height:calc(var(--lx-size-top-bar) + var(--lx-safe-top));padding:var(--lx-safe-top) var(--lx-space-4) 0 var(--lx-space-1);background:var(--lx-bg-surface);border-bottom:var(--lx-border-width-thin) solid var(--lx-border-subtle)}.lesson-topbar .back-btn{color:var(--lx-text-secondary)}.progress-bar-wrap{flex:1;height:var(--lx-size-progress-goal);background:var(--lx-game-track);border-radius:var(--lx-radius-full);overflow:hidden}.progress-bar-wrap--lesson{height:var(--lx-size-progress-lesson)}.progress-bar-wrap--goal{height:var(--lx-size-progress-goal)}.progress-bar-fill{height:100%;background:var(--lx-game-progress);border-radius:var(--lx-radius-full);transition:width var(--lx-motion-duration-slow) var(--lx-motion-easing-decelerate)}.progress-bar-fill--xp{background:var(--lx-game-xp-fill)}.progress-bar-wrap--lesson{position:relative;overflow:visible;margin-right:var(--lx-space-3)}.progress-bar-wrap--lesson .progress-bar-fill{position:relative;border-radius:var(--lx-radius-full) 0 0 var(--lx-radius-full)}.progress-bar-wrap--lesson .progress-bar-fill:after{content:"";position:absolute;right:calc(-1 * var(--lx-space-3));top:-5px;border-left:14px solid var(--lx-game-progress);border-top:11px solid transparent;border-bottom:11px solid transparent}.progress-label{font:var(--lx-typography-numeric);font-size:var(--lx-typography-label-size);font-variant-numeric:tabular-nums;color:var(--lx-text-secondary);min-width:var(--lx-space-10);text-align:right}.onboarding{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(var(--lx-space-8) + var(--lx-safe-top)) var(--lx-space-6) calc(var(--lx-space-8) + var(--lx-safe-bottom));gap:var(--lx-space-6);max-width:480px;margin:0 auto;width:100%}.onboarding-hero{align-self:stretch}.onboarding h1{align-self:stretch;font:var(--lx-typography-display-xl);letter-spacing:var(--lx-typography-display-xl-tracking);text-align:left;color:var(--lx-text-primary)}.onboarding p{align-self:stretch;color:var(--lx-text-secondary);text-align:left}.onboarding-brand{align-self:flex-start}.onboarding-field{width:100%}.onboarding-lang-flag{font-size:var(--lx-typography-title-size);line-height:1}.onboarding-choice-check{margin-left:auto;flex-shrink:0;width:var(--lx-size-icon-md);height:var(--lx-size-icon-md);color:var(--lx-border-focus)}.onboarding-dots{display:flex;gap:var(--lx-space-2);justify-content:center}.onboarding-dot{width:var(--lx-space-2);height:var(--lx-space-2);border-radius:var(--lx-radius-full);background:var(--lx-border-strong);transition:background-color var(--lx-motion-duration-base) var(--lx-motion-easing-standard),width var(--lx-motion-duration-base) var(--lx-motion-easing-standard)}.onboarding-dot--active{background:var(--lx-game-trace-fill);width:var(--lx-space-6)}.onboarding-step{display:flex;flex-direction:column;align-items:center;gap:var(--lx-space-4);width:100%;max-width:400px}.onboarding-step h2{align-self:stretch;font:var(--lx-typography-headline);letter-spacing:var(--lx-typography-headline-tracking);text-align:left;color:var(--lx-text-primary)}.onboarding-sub{font:var(--lx-typography-body)}.onboarding-disclaimer{font:var(--lx-typography-caption);color:var(--lx-text-tertiary)!important}.onboarding-step-icon{align-self:flex-start;color:var(--lx-game-trace-fill);line-height:1}.onboarding-step-icon .icon{width:var(--lx-size-icon-hero);height:var(--lx-size-icon-hero)}.onboarding-step-icon--hand{color:var(--lx-game-hand-fill)}.onboarding-choices{display:flex;flex-direction:column;gap:var(--lx-space-3);width:100%}.onboarding-choice{width:100%;min-height:var(--lx-size-touch-comfort);padding:var(--lx-space-3) var(--lx-space-4);border:var(--lx-border-width-thick) solid var(--lx-border-default);border-radius:var(--lx-radius-md);background:var(--lx-bg-surface);font:var(--lx-typography-label);font-weight:var(--lx-font-weight-semibold);color:var(--lx-text-primary);text-align:left;cursor:pointer;transition:transform var(--lx-motion-duration-fast) var(--lx-motion-easing-standard),border-color var(--lx-motion-duration-fast) var(--lx-motion-easing-standard),background-color var(--lx-motion-duration-fast) var(--lx-motion-easing-standard)}.onboarding-choice:active{transform:scale(calc(1 - .02 * var(--lx-motion-scale, 1)))}.onboarding-choice--selected{border-color:var(--lx-border-focus);box-shadow:inset 0 0 0 1px var(--lx-border-focus);background:var(--lx-feedback-info-soft);color:var(--lx-text-primary)}.onboarding-choice--goal{display:flex;align-items:center;gap:var(--lx-space-3)}.goal-icon{color:var(--lx-game-xp-fill);width:var(--lx-size-icon-lg);height:var(--lx-size-icon-lg)}.goal-label{font:var(--lx-typography-label);font-variant-numeric:tabular-nums}.goal-sub{font:var(--lx-typography-body-sm);color:var(--lx-text-secondary)}.goal-badge{margin-left:auto;background:var(--lx-action-primary-bg);color:var(--lx-action-primary-fg);font:var(--lx-typography-label-sm);padding:var(--lx-space-1) var(--lx-space-2);border-radius:var(--lx-radius-full);white-space:nowrap}.onboarding-input{width:100%;min-height:var(--lx-size-touch-comfort);padding:0 var(--lx-space-4);border:var(--lx-border-width-thick) solid var(--lx-border-strong);border-radius:var(--lx-radius-button);font:var(--lx-typography-body-lg);font-weight:var(--lx-font-weight-semibold);color:var(--lx-text-primary);background:var(--lx-bg-surface);transition:border-color var(--lx-motion-duration-fast) var(--lx-motion-easing-standard)}.onboarding-input::placeholder{color:var(--lx-text-tertiary)}.onboarding-input:focus{border-color:var(--lx-border-focus);outline:none}.onboarding-input:focus-visible{outline:var(--lx-border-width-focus-ring) solid var(--lx-border-focus);outline-offset:var(--lx-border-width-focus-offset)}.onboarding-privacy-card{background:var(--lx-game-hand-soft);border-radius:var(--lx-radius-lg);padding:var(--lx-space-4);display:flex;gap:var(--lx-space-3);align-items:flex-start;width:100%}.privacy-icon{color:var(--lx-game-hand-text);width:var(--lx-size-icon-lg);height:var(--lx-size-icon-lg);margin-top:var(--lx-space-0-5)}.onboarding-privacy-card p{font:var(--lx-typography-body-sm);color:var(--lx-text-primary);text-align:left}.onboarding-camera-actions{display:flex;flex-direction:column;gap:var(--lx-space-3);width:100%}.onboarding-camera{position:relative;width:100%;aspect-ratio:4 / 3;border-radius:var(--lx-radius-lg);overflow:hidden;background:var(--lx-stage-bg)}.onboarding-camera .camera-video,.onboarding-camera .camera-canvas{width:100%;height:100%;object-fit:cover}.onboarding .onboarding-camera-pill{position:absolute;left:var(--lx-space-3);right:var(--lx-space-3);bottom:var(--lx-space-3);display:flex;align-items:center;gap:var(--lx-space-2);padding:var(--lx-space-2) var(--lx-space-3);border-radius:var(--lx-radius-md);background:var(--lx-stage-pill);color:var(--lx-stage-text);font:var(--lx-typography-label-sm)}.onboarding-camera-pill .icon{flex-shrink:0;width:var(--lx-size-icon-md);height:var(--lx-size-icon-md)}.onboarding-camera-pill--ok .icon{color:var(--lx-stage-landmark-correct)}.onboarding .onboarding-camera-msg{display:flex;align-items:flex-start;gap:var(--lx-space-3);width:100%;font:var(--lx-typography-body-sm);color:var(--lx-text-secondary)}.onboarding-camera-msg .icon{flex-shrink:0;width:var(--lx-size-icon-lg);height:var(--lx-size-icon-lg)}.onboarding .onboarding-camera-msg--off{padding:var(--lx-space-4);border:var(--lx-border-width-thin) solid var(--lx-border-default);border-radius:var(--lx-radius-lg);background:var(--lx-bg-surface);color:var(--lx-text-primary)}.onboarding-camera-msg--off .icon{color:var(--lx-text-secondary)}.coursemap-topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--lx-space-2);min-height:calc(var(--lx-size-top-bar) + var(--lx-safe-top));padding:calc(var(--lx-safe-top) + var(--lx-space-3)) var(--lx-space-4) var(--lx-space-2);width:100%;max-width:var(--lx-size-content-max);margin:0 auto}.coursemap-hello{display:flex;flex-direction:column;gap:var(--lx-space-1);min-width:0}.coursemap-greeting{font:var(--lx-typography-body);color:var(--lx-text-secondary);min-width:0}.coursemap-greeting strong{color:var(--lx-text-primary);font-weight:var(--lx-font-weight-bold)}.coursemap-stats{display:flex;gap:var(--lx-space-2)}.topbar-stat--btn{min-height:var(--lx-size-touch-min);min-width:var(--lx-size-touch-min);padding:0 var(--lx-space-3);background:var(--lx-bg-surface);border:var(--lx-border-width-thin) solid var(--lx-border-subtle);border-radius:var(--lx-radius-full);cursor:pointer;justify-content:center;font:var(--lx-typography-numeric);font-variant-numeric:tabular-nums;color:var(--lx-text-primary)}.topbar-stat-icon{width:var(--lx-size-icon-md);height:var(--lx-size-icon-md)}.topbar-stat-icon--streak{color:var(--lx-game-streak-fill)}.topbar-stat-icon--xp{color:var(--lx-game-xp-fill)}.topbar-stat--btn:has(.topbar-stat-icon--streak){color:var(--lx-game-streak-text)}.topbar-stat--btn:has(.topbar-stat-icon--xp){color:var(--lx-game-xp-text)}@media (hover: hover){.topbar-stat--btn:hover{background:var(--lx-bg-sunken)}}.coursemap-body{flex:1;padding:var(--lx-space-2) var(--lx-space-4) var(--lx-space-4);display:flex;flex-direction:column;gap:var(--lx-space-4);width:100%;max-width:var(--lx-size-content-max);margin:0 auto}.prep-chip{position:absolute;left:50%;bottom:calc(100% + var(--lx-space-3));translate:-50% 0;margin:0;display:inline-flex;align-items:center;gap:var(--lx-space-1);padding:var(--lx-space-1) var(--lx-space-3);border-radius:var(--lx-radius-full);background:var(--lx-game-hand-soft);color:var(--lx-game-hand-text);box-shadow:var(--lx-elevation-2);font:var(--lx-typography-label-sm);letter-spacing:var(--lx-typography-label-sm-tracking);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;animation:lx-fade-in var(--lx-motion-duration-base) var(--lx-motion-easing-decelerate)}.prep-chip-icon{width:var(--lx-size-icon-sm);height:var(--lx-size-icon-sm)}@media (prefers-reduced-motion: reduce){.prep-chip{animation-duration:var(--lx-motion-duration-fast)}}:root[data-reduced-motion=true] .prep-chip{animation-duration:var(--lx-motion-duration-fast)}.coursemap-footnote{font:var(--lx-typography-caption);color:var(--lx-text-tertiary);text-align:center;padding:var(--lx-space-2) 0 var(--lx-space-6)}.xp-bar-card{background:var(--lx-bg-surface);border-radius:var(--lx-radius-lg);padding:var(--lx-space-4);border:var(--lx-border-width-thin) solid var(--lx-border-default)}.xp-bar-header{display:flex;align-items:center;justify-content:space-between;gap:var(--lx-space-2);margin-bottom:var(--lx-space-2);font:var(--lx-typography-label-sm);color:var(--lx-text-secondary)}.xp-bar-title,.xp-bar-done{display:inline-flex;align-items:center;gap:var(--lx-space-1)}.xp-bar-title{color:var(--lx-text-primary)}.xp-bar-icon{color:var(--lx-game-xp-fill)}.xp-bar-done{color:var(--lx-feedback-success-text)}.xp-bar-value{color:var(--lx-game-xp-text);font-variant-numeric:tabular-nums}.streak-risk-banner{background:var(--lx-feedback-warning-soft);border:var(--lx-border-width-thick) solid var(--lx-feedback-warning-strong);border-radius:var(--lx-radius-md);min-height:var(--lx-size-touch-min);padding:var(--lx-space-3) var(--lx-space-4);display:flex;align-items:center;gap:var(--lx-space-3);font:var(--lx-typography-body-sm);font-weight:var(--lx-font-weight-semibold);color:var(--lx-feedback-warning-on-soft);cursor:pointer;width:100%;text-align:left}.streak-risk-banner .icon{color:var(--lx-feedback-warning-text);width:var(--lx-size-icon-lg);height:var(--lx-size-icon-lg)}.unit-section{display:flex;flex-direction:column;gap:var(--lx-space-3)}.unit-header{position:sticky;top:var(--lx-safe-top);z-index:var(--lx-z-index-sticky);display:flex;align-items:flex-end;justify-content:space-between;gap:var(--lx-space-3);padding:var(--lx-space-3) var(--lx-space-4);background:var(--lx-bg-surface);border:var(--lx-border-width-thin) solid var(--lx-border-subtle);border-radius:var(--lx-radius-md);box-shadow:var(--lx-elevation-1)}.unit-header-text{min-width:0}.unit-badge{display:inline-block;margin-bottom:var(--lx-space-1);padding:2px var(--lx-space-2);border-radius:var(--lx-radius-full);background:var(--lx-game-hand-soft);font:var(--lx-typography-label-sm);letter-spacing:var(--lx-typography-label-sm-tracking);color:var(--lx-game-hand-text);text-transform:uppercase}.unit-title{font:var(--lx-typography-title);letter-spacing:var(--lx-typography-title-tracking);color:var(--lx-text-primary)}.unit-desc{font:var(--lx-typography-body-sm);color:var(--lx-text-secondary)}.unit-progress{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:var(--lx-space-1);width:96px}.unit-progress-label{font:var(--lx-typography-caption);color:var(--lx-text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.unit-progress-bar{width:100%;height:var(--lx-size-confidence-bar);border-radius:var(--lx-radius-full);background:var(--lx-game-track);overflow:hidden}.unit-progress-fill{height:100%;background:var(--lx-game-progress);border-radius:var(--lx-radius-full);transition:width var(--lx-motion-duration-slow) var(--lx-motion-easing-decelerate)}.lesson-trail{--trail-x: calc(var(--lx-space-2) + var(--lx-size-lesson-node-current) / 2);list-style:none;display:flex;flex-direction:column;gap:var(--lx-space-3);padding:var(--lx-space-1) 0 var(--lx-space-2)}.lesson-row{position:relative;display:flex;align-items:center;gap:var(--lx-space-4);min-height:calc(var(--lx-size-lesson-node-current) + var(--lx-space-1));padding:0 var(--lx-space-3) 0 var(--lx-space-2);border-radius:var(--lx-radius-md);cursor:pointer;transition:background-color var(--lx-motion-duration-fast) var(--lx-motion-easing-standard)}.lesson-row.locked{cursor:not-allowed}@media (hover: hover){.lesson-row:not(.locked):hover{background:var(--lx-bg-surface)}}.lesson-row:before,.lesson-row:after{content:"";position:absolute;left:calc(var(--trail-x) - 2px);width:4px;background:var(--lx-border-strong);z-index:0}.lesson-row:before{top:0;height:50%}.lesson-row:after{top:50%;bottom:calc(-1 * var(--lx-space-3))}.lesson-row:first-child:before,.lesson-row:last-child:after{display:none}.lesson-row.completed:before,.lesson-row.completed:after,.lesson-row.completed+.lesson-row:before{background:var(--lx-game-trace-fill);border-radius:var(--lx-radius-xs)}.lesson-row.locked:before,.lesson-row:has(+.lesson-row.locked):after{background:radial-gradient(circle,var(--lx-border-strong) 0 1.5px,transparent 2px) center top / 4px 10px repeat-y}.lesson-node{position:relative;z-index:1;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:var(--lx-size-lesson-node);height:var(--lx-size-lesson-node);margin:0 calc((var(--lx-size-lesson-node-current) - var(--lx-size-lesson-node)) / 2);border-radius:var(--lx-radius-full);background:var(--lx-action-primary-bg);color:var(--lx-action-primary-fg);box-shadow:0 3px 0 var(--lx-action-primary-base)}.lesson-row.completed .lesson-node{background:var(--lx-game-hand-fill);color:var(--lx-game-hand-on-fill);box-shadow:none}.lesson-row.locked .lesson-node{background:var(--lx-bg-surface);border:var(--lx-border-width-selected) solid var(--lx-game-locked-bg);color:var(--lx-game-locked-fg);box-shadow:none}.lesson-row.due_srs .lesson-node{background:var(--lx-game-hand-soft);color:var(--lx-game-hand-text);border:var(--lx-border-width-thick) solid var(--lx-game-hand-fill);box-shadow:none}.lesson-row.current{margin:var(--lx-space-3) 0}.lesson-row.current .lesson-node{width:var(--lx-size-lesson-node-current);height:var(--lx-size-lesson-node-current);margin:0;box-shadow:0 3px 0 var(--lx-action-primary-base)}.lesson-info{flex:1;min-width:0}.lesson-info h3{font:var(--lx-typography-title-sm);color:var(--lx-text-primary);overflow-wrap:anywhere}.lesson-info p{font:var(--lx-typography-body-sm);color:var(--lx-text-secondary)}.lesson-row.locked .lesson-info h3{color:var(--lx-text-secondary)}.lesson-row.locked .lesson-info p{color:var(--lx-text-tertiary)}.lesson-row.current .lesson-info h3{font-weight:var(--lx-font-weight-black)}.lesson-marks{display:flex;gap:var(--lx-space-1);margin-top:var(--lx-space-1)}.lesson-mark{width:var(--lx-space-3);height:var(--lx-space-1);border-radius:var(--lx-radius-full);background:var(--lx-game-track)}.lesson-mark--on{background:var(--lx-game-xp-fill)}.lesson-badge{flex-shrink:0;font:var(--lx-typography-label-sm);padding:var(--lx-space-1) var(--lx-space-3);border-radius:var(--lx-radius-full)}.lesson-badge.next{display:inline-flex;align-items:center;min-height:var(--lx-size-button-sm);padding:0 var(--lx-space-4);background:var(--lx-action-primary-bg);color:var(--lx-action-primary-fg);font:var(--lx-typography-button);font-size:var(--lx-typography-body-sm-size)}.lesson-badge.srs{background:var(--lx-game-hand-soft);color:var(--lx-game-hand-text)}.coursemap-dock{position:sticky;bottom:var(--lx-nav-offset);z-index:var(--lx-z-index-sticky)}.resume-banner{position:relative;background:var(--lx-stage-bg);color:var(--lx-stage-text);border-top:var(--lx-border-width-thin) solid var(--lx-border-subtle);box-shadow:var(--lx-elevation-2);overflow:hidden}.resume-banner-arc{position:absolute;right:var(--lx-space-12);top:var(--lx-space-1);width:120px;height:44px;opacity:.55;pointer-events:none}.resume-banner-content{position:relative;display:flex;align-items:center;gap:var(--lx-space-3);min-height:var(--lx-size-touch-comfort);padding:var(--lx-space-3) var(--lx-space-4);width:100%;max-width:var(--lx-size-content-max);margin:0 auto;background:none;border:none;font:var(--lx-typography-label);color:var(--lx-stage-text);cursor:pointer;text-align:left}.resume-banner-content .icon:first-child{color:var(--lx-stage-trace);width:var(--lx-size-icon-lg);height:var(--lx-size-icon-lg)}.resume-banner-content--goal .icon:first-child{color:var(--lx-stage-landmark-correct)}.resume-arrow{margin-left:auto;width:var(--lx-size-touch-min);height:var(--lx-size-touch-min);padding:var(--lx-space-3);border-radius:var(--lx-radius-full);background:var(--lx-action-primary-bg);color:var(--lx-action-primary-fg)}.exercise-screen{flex:1;display:flex;flex-direction:column;padding:var(--lx-space-4);gap:var(--lx-space-4);max-width:var(--lx-size-content-max);margin:0 auto;width:100%}.sign-card{flex:1;background:var(--lx-bg-surface);border-radius:var(--lx-radius-lg);border:var(--lx-border-width-thin) solid var(--lx-border-default);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--lx-space-4);padding:var(--lx-space-8) var(--lx-space-6)}.sign-gloss{font:var(--lx-typography-numeric-xl);font-weight:var(--lx-font-weight-heavy);letter-spacing:.04em;text-transform:uppercase;color:var(--lx-text-brand)}.sign-label{font:var(--lx-typography-label);color:var(--lx-text-secondary);text-transform:uppercase;letter-spacing:.04em}.sign-description{font:var(--lx-typography-body);color:var(--lx-text-secondary);text-align:center;max-width:280px}.sign-description--movement{font-weight:var(--lx-font-weight-bold)}.exercise-intro-footer{position:sticky;bottom:var(--lx-nav-offset);z-index:var(--lx-z-index-sticky);display:flex;flex-direction:column;margin:0 calc(-1 * var(--lx-space-4)) calc(-1 * var(--lx-space-4));padding:var(--lx-space-3) var(--lx-space-4) calc(var(--lx-space-4) + var(--lx-safe-bottom));background:var(--lx-bg-canvas);border-top:var(--lx-border-width-thin) solid var(--lx-border-subtle)}@media (max-height: 740px){.exercise-screen--intro{gap:var(--lx-space-3);padding-top:var(--lx-space-3)}.exercise-screen--intro .sign-card{gap:var(--lx-space-2);padding:var(--lx-space-4) var(--lx-space-4)}.exercise-screen--intro .sign-demo--intro .sign-demo-stage{height:min(30dvh,240px)}.exercise-screen--intro .sign-gloss{font:var(--lx-typography-display-xl);font-weight:var(--lx-font-weight-heavy)}}.sign-type-badge{font:var(--lx-typography-label-sm);padding:var(--lx-space-1) var(--lx-space-3);border-radius:var(--lx-radius-full);background:var(--lx-feedback-info-soft);color:var(--lx-feedback-info-on-soft)}.video-placeholder{width:140px;height:140px;border-radius:var(--lx-radius-lg);background:var(--lx-game-hand-soft);display:flex;align-items:center;justify-content:center;color:var(--lx-game-hand-text)}.video-placeholder .icon{width:var(--lx-size-icon-hero);height:var(--lx-size-icon-hero)}.exercise-prompt{font:var(--lx-typography-title);font-weight:var(--lx-font-weight-black);letter-spacing:var(--lx-typography-title-tracking);color:var(--lx-text-primary);text-align:left}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--lx-bg-scrim);display:flex;align-items:center;justify-content:center;padding:var(--lx-space-6);z-index:var(--lx-z-index-sheet)}.dialog-box{background:var(--lx-bg-raised);border-radius:var(--lx-radius-lg);padding:var(--lx-space-6);width:100%;max-width:360px;display:flex;flex-direction:column;align-items:center;gap:var(--lx-space-3);box-shadow:var(--lx-elevation-3);text-align:center}.dialog-icon{color:var(--lx-text-brand);line-height:1}.dialog-icon--warning{color:var(--lx-feedback-warning-text)}.dialog-title{font:var(--lx-typography-title);color:var(--lx-text-primary)}.dialog-message{font:var(--lx-typography-body);color:var(--lx-text-secondary)}.dialog-actions{display:flex;flex-direction:column-reverse;gap:var(--lx-space-3);width:100%;margin-top:var(--lx-space-2)}.mc-question-label{font:var(--lx-typography-label-sm);letter-spacing:.04em;color:var(--lx-text-secondary);text-transform:uppercase;margin-bottom:var(--lx-space-2)}.mc-question{background:var(--lx-bg-surface);border-radius:var(--lx-radius-lg);border:var(--lx-border-width-thin) solid var(--lx-border-default);padding:var(--lx-space-5);text-align:center}.mc-question p{font:var(--lx-typography-body-lg);color:var(--lx-text-primary)}.mc-question .mc-question-label{font:var(--lx-typography-label-sm);color:var(--lx-text-secondary)}.mc-choices,.mc-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--lx-space-3);width:100%}.mc-grid{max-width:400px;align-self:center}@media (max-width: 359px){.mc-choices,.mc-grid{grid-template-columns:1fr}}.mc-choice{position:relative;min-height:var(--lx-size-choice-min);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--lx-space-1) var(--lx-space-2);background:var(--lx-bg-surface);border:var(--lx-border-width-thick) solid var(--lx-border-default);border-radius:var(--lx-radius-choice);padding:var(--lx-space-3) var(--lx-space-2);font:var(--lx-typography-headline);font-weight:var(--lx-font-weight-heavy);letter-spacing:.04em;color:var(--lx-text-primary);cursor:pointer;text-align:center;transition:transform var(--lx-motion-duration-fast) var(--lx-motion-easing-standard),border-color var(--lx-motion-duration-fast) var(--lx-motion-easing-standard),background-color var(--lx-motion-duration-fast) var(--lx-motion-easing-standard),opacity var(--lx-motion-duration-fast) var(--lx-motion-easing-standard)}.mc-choice:active:not(:disabled){transform:scale(calc(1 - .02 * var(--lx-motion-scale, 1)));border-color:var(--lx-border-focus)}.mc-choice:disabled{cursor:default}.mc-choice-text{line-height:1}.mc-icon{width:var(--lx-size-icon-lg);height:var(--lx-size-icon-lg)}.mc-choice.selected-correct,.mc-choice.mc-choice--correct{border-color:var(--lx-feedback-success-strong);box-shadow:inset 0 0 0 1px var(--lx-feedback-success-strong);background:var(--lx-feedback-success-soft);color:var(--lx-feedback-success-on-soft);animation:lx-correct-pop var(--lx-motion-duration-base) var(--lx-motion-easing-overshoot)}.mc-choice.selected-correct .mc-icon,.mc-choice.mc-choice--correct .mc-icon{color:var(--lx-feedback-success-strong)}.mc-choice.selected-wrong,.mc-choice.mc-choice--wrong{border-color:var(--lx-feedback-error-strong);box-shadow:inset 0 0 0 1px var(--lx-feedback-error-strong);background:var(--lx-feedback-error-soft);color:var(--lx-feedback-error-on-soft);animation:lx-shake var(--lx-motion-duration-fast) var(--lx-motion-easing-standard)}.mc-choice.selected-wrong .mc-icon,.mc-choice.mc-choice--wrong .mc-icon{color:var(--lx-feedback-error-strong)}.mc-choice.reveal-correct{border-style:dashed;border-color:var(--lx-feedback-success-strong);background:var(--lx-bg-surface);color:var(--lx-text-primary)}.mc-choice.reveal-correct .mc-icon{color:var(--lx-feedback-success-strong)}.mc-choice-tag{flex-basis:100%;font:var(--lx-typography-caption);letter-spacing:0;color:var(--lx-feedback-success-text)}.mc-choice--dimmed{opacity:.6}@keyframes lx-correct-pop{0%{transform:scale(1)}45%{transform:scale(calc(1 + .04 * var(--lx-motion-scale, 1)))}to{transform:scale(1)}}@keyframes lx-shake{0%,to{transform:translate(0)}33%{transform:translate(calc(-1 * var(--lx-space-1) * var(--lx-motion-scale, 1)))}66%{transform:translate(calc(var(--lx-space-1) * var(--lx-motion-scale, 1)))}}.lesson-screen{--lx-feedback-safe: var(--lx-safe-bottom)}.main-content{--lx-feedback-safe: 0px}.feedback-bar{position:sticky;bottom:var(--lx-nav-offset);z-index:var(--lx-z-index-sticky);margin:auto calc(-1 * var(--lx-space-4)) calc(-1 * var(--lx-space-4));padding:var(--lx-space-4) var(--lx-space-4) calc(var(--lx-space-4) + var(--lx-feedback-safe, 0px));border-radius:var(--lx-radius-xl) var(--lx-radius-xl) 0 0;display:flex;flex-direction:column;gap:var(--lx-space-4);box-shadow:var(--lx-elevation-2);background:var(--lx-bg-raised);color:var(--lx-text-primary)}.feedback-bar--correct{background:var(--lx-feedback-success-soft);color:var(--lx-feedback-success-on-soft)}.feedback-bar--wrong{background:var(--lx-feedback-error-soft);color:var(--lx-feedback-error-on-soft)}.feedback-bar--retry{background:var(--lx-feedback-warning-soft);color:var(--lx-feedback-warning-on-soft)}.feedback-head{display:flex;align-items:flex-start;gap:var(--lx-space-3)}.feedback-icon{width:var(--lx-size-icon-xl);height:var(--lx-size-icon-xl)}.feedback-bar--correct .feedback-icon{color:var(--lx-feedback-success-strong)}.feedback-bar--wrong .feedback-icon{color:var(--lx-feedback-error-strong)}.feedback-bar--retry .feedback-icon{color:var(--lx-feedback-warning-text)}.feedback-text{flex:1;min-width:0}.feedback-title{font:var(--lx-typography-title);letter-spacing:var(--lx-typography-title-tracking)}.feedback-body{font:var(--lx-typography-body);margin-top:var(--lx-space-0-5)}.feedback-gloss{font-family:var(--lx-font-family-display);font-stretch:var(--lx-font-stretch-semi);font-weight:var(--lx-font-weight-heavy);letter-spacing:.04em;text-transform:uppercase}.feedback-next-btn{width:100%}@media (min-width: 768px){.feedback-bar{border-radius:var(--lx-radius-lg);margin:auto 0 0}}.completion-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(var(--lx-space-6) + var(--lx-safe-top)) var(--lx-space-4) calc(var(--lx-space-6) + var(--lx-safe-bottom));gap:var(--lx-space-4);text-align:center;max-width:var(--lx-size-content-max);margin:0 auto;width:100%}.completion-burst{position:relative;width:100%;display:flex;justify-content:center}.completion-burst-trophy{position:absolute;top:0;left:50%;translate:-50% -60%;color:var(--lx-game-xp-fill)}.completion-screen h1{align-self:stretch;font:var(--lx-typography-display);letter-spacing:var(--lx-typography-display-tracking);color:var(--lx-text-primary);text-align:left}.completion-sub{align-self:stretch;color:var(--lx-text-secondary);font:var(--lx-typography-body);text-align:left}.completion-total{font:var(--lx-typography-body-sm);color:var(--lx-text-secondary);font-variant-numeric:tabular-nums}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--lx-space-3);width:100%}.stat-item{display:flex;flex-direction:column;align-items:center;gap:var(--lx-space-1);background:var(--lx-bg-surface);border-radius:var(--lx-radius-lg);padding:var(--lx-space-4) var(--lx-space-2);border:var(--lx-border-width-thin) solid var(--lx-border-default)}.stat-value{font:var(--lx-typography-numeric);font-size:var(--lx-typography-title-size);font-weight:var(--lx-font-weight-black);font-variant-numeric:tabular-nums;color:var(--lx-text-primary);display:block}.stat-label{font:var(--lx-typography-caption);color:var(--lx-text-secondary);text-transform:uppercase;letter-spacing:.04em}.goal-met-banner{display:flex;align-items:center;justify-content:center;gap:var(--lx-space-2);background:var(--lx-feedback-success-soft);border-radius:var(--lx-radius-md);padding:var(--lx-space-3) var(--lx-space-5);color:var(--lx-feedback-success-on-soft);font:var(--lx-typography-label);width:100%}.signs-practiced-row{width:100%;text-align:left}.signs-practiced-label{font:var(--lx-typography-label);color:var(--lx-text-secondary);margin-bottom:var(--lx-space-2)}.signs-practiced-list{display:flex;gap:var(--lx-space-2);flex-wrap:wrap}.signs-practiced-chip{display:inline-flex;align-items:center;min-height:36px;background:var(--lx-game-trace-soft);color:var(--lx-game-trace-on-soft);border-radius:var(--lx-radius-full);padding:0 var(--lx-space-3);font:var(--lx-typography-label-sm);font-family:var(--lx-font-family-display);font-stretch:var(--lx-font-stretch-semi);font-weight:var(--lx-font-weight-heavy);font-size:var(--lx-typography-body-sm-size);letter-spacing:.04em;text-transform:uppercase}.achievement-unlocked-banner{background:var(--lx-game-xp-soft);border-radius:var(--lx-radius-md);padding:var(--lx-space-3) var(--lx-space-5);display:flex;flex-direction:column;gap:var(--lx-space-2);width:100%}.achievement-unlocked-item{display:flex;align-items:center;gap:var(--lx-space-3);color:var(--lx-game-xp-text);font:var(--lx-typography-label)}.achievement-unlocked-item .icon{color:var(--lx-game-xp-fill);width:var(--lx-size-icon-lg);height:var(--lx-size-icon-lg)}.completion-cta{margin-top:var(--lx-space-2)}.camera-screen{display:flex;flex-direction:column;min-height:100%}.camera-idle{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--lx-space-5);padding:var(--lx-space-10) var(--lx-space-6);text-align:center}.camera-idle p{color:var(--lx-text-secondary);max-width:360px}.camera-idle-icon{color:var(--lx-game-hand-fill);line-height:1}.camera-idle-icon .icon{width:var(--lx-size-icon-hero);height:var(--lx-size-icon-hero)}.camera-idle--error .camera-idle-icon{color:var(--lx-feedback-error-strong)}.camera-area{display:flex;flex-direction:column;flex:1}.camera-area--hidden{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}@media (min-width: 768px){.camera-area{flex-direction:row;align-items:flex-start;padding:var(--lx-space-6) var(--lx-space-8);gap:var(--lx-space-6)}}.camera-viewport{position:relative;flex:1;background:var(--lx-stage-bg);overflow:hidden}@media (min-width: 768px){.camera-viewport{border-radius:var(--lx-radius-lg);max-width:640px}}.camera-video{display:block;width:100%;height:auto;transform:scaleX(-1)}.camera-canvas{position:absolute;top:0;left:0;width:100%;height:100%;transform:scaleX(-1);pointer-events:none}.cam-guide{position:absolute;top:12%;right:22%;bottom:12%;left:22%;border:var(--lx-border-width-thick) dashed var(--lx-stage-guide-idle);border-radius:var(--lx-radius-xl);pointer-events:none;animation:lx-guide-breathe var(--lx-motion-duration-ambient) var(--lx-motion-easing-standard) infinite}.cam-guide--ok{border-style:solid;border-color:var(--lx-stage-guide-ok);animation:lx-guide-hide var(--lx-motion-duration-slow) var(--lx-motion-easing-accelerate) 1s forwards}@keyframes lx-guide-breathe{0%,to{opacity:1}50%{opacity:.55}}@keyframes lx-guide-hide{to{opacity:0}}@media (prefers-reduced-motion: reduce){.cam-guide{animation:none}.cam-guide--ok{animation:lx-guide-hide 1ms linear 1s forwards}}.recog-badge{position:absolute;top:var(--lx-space-3);left:50%;transform:translate(-50%);z-index:5;display:flex;flex-direction:column;align-items:center;gap:var(--lx-space-2);padding:var(--lx-space-2) var(--lx-space-3);border-radius:var(--lx-radius-lg);background:var(--lx-stage-pill);pointer-events:none;opacity:.7;transition:opacity var(--lx-motion-duration-fast) var(--lx-motion-easing-standard)}.recog-badge--on{opacity:1}.recog-badge-letter{display:flex;align-items:center;justify-content:center;min-width:var(--lx-size-touch-min);height:var(--lx-size-touch-min);font:var(--lx-typography-display);letter-spacing:.04em;color:var(--lx-stage-text)}.recog-badge--on .recog-badge-letter{animation:lx-recog-pop var(--lx-motion-duration-fast) var(--lx-motion-easing-overshoot)}.recog-badge-meter{width:72px;height:var(--lx-size-confidence-bar);border-radius:var(--lx-radius-full);background:color-mix(in srgb,var(--lx-stage-text) 20%,transparent);overflow:hidden}.recog-badge-meter>span{display:block;height:100%;background:var(--lx-stage-landmark-tracking);transition:width var(--lx-motion-duration-instant) linear}@keyframes lx-recog-pop{0%{transform:scale(calc(1 - .15 * var(--lx-motion-scale, 1)))}to{transform:scale(1)}}.gesture-panel{display:flex;flex-direction:column;gap:var(--lx-space-4);padding:var(--lx-space-4) var(--lx-space-5);background:var(--lx-bg-surface)}@media (min-width: 768px){.gesture-panel{width:280px;flex-shrink:0;border-radius:var(--lx-radius-lg);box-shadow:var(--lx-elevation-1);padding:var(--lx-space-5)}}.gesture-result{display:flex;flex-direction:column;align-items:center;gap:var(--lx-space-2);padding:var(--lx-space-4);border-radius:var(--lx-radius-lg);text-align:center}.gesture-result--found{background:var(--lx-feedback-info-soft);color:var(--lx-feedback-info-on-soft)}.gesture-result--searching{background:var(--lx-feedback-warning-soft);color:var(--lx-feedback-warning-on-soft)}.gesture-result--none{background:var(--lx-bg-sunken);color:var(--lx-text-secondary)}.gesture-letter{font:var(--lx-typography-numeric-xl);letter-spacing:.04em;color:var(--lx-text-brand)}.gesture-hint{font:var(--lx-typography-body-sm);color:var(--lx-text-secondary)}.gesture-searching-icon,.gesture-none-icon{width:var(--lx-size-icon-xl);height:var(--lx-size-icon-xl)}.gesture-result--searching .gesture-searching-icon{color:var(--lx-feedback-warning-text)}.gesture-result--none .gesture-none-icon{color:var(--lx-text-tertiary)}.gesture-result--searching p,.gesture-result--none p{font:var(--lx-typography-body-sm)}.gesture-bar{width:100%;height:var(--lx-size-confidence-bar);background:var(--lx-game-track);border-radius:var(--lx-radius-full);overflow:hidden}.gesture-bar-fill{height:100%;background:var(--lx-game-hand-fill);border-radius:var(--lx-radius-full);transition:width var(--lx-motion-duration-fast) var(--lx-motion-easing-standard)}.gesture-confidence{font:var(--lx-typography-label-sm);color:var(--lx-text-secondary);font-variant-numeric:tabular-nums}.gesture-help{border-top:var(--lx-border-width-thin) solid var(--lx-border-subtle);padding-top:var(--lx-space-3)}.gesture-help-title{font:var(--lx-typography-label-sm);color:var(--lx-text-secondary);margin-bottom:var(--lx-space-2)}.gesture-help-letters{display:flex;flex-wrap:wrap;gap:var(--lx-space-2)}.gesture-chip{display:inline-block;padding:var(--lx-space-1) var(--lx-space-3);background:var(--lx-bg-sunken);border-radius:var(--lx-radius-full);font:var(--lx-typography-label-sm);letter-spacing:.04em;color:var(--lx-text-secondary);transition:background-color var(--lx-motion-duration-fast) var(--lx-motion-easing-standard),color var(--lx-motion-duration-fast) var(--lx-motion-easing-standard)}.gesture-chip--active{background:var(--lx-action-primary-bg);color:var(--lx-action-primary-fg)}.cam-sign-layout{gap:var(--lx-space-4)}.cam-sign-target{text-align:center;padding:var(--lx-space-2) 0 var(--lx-space-1)}.cam-sign-prompt{font:var(--lx-typography-label-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--lx-text-secondary);margin-bottom:var(--lx-space-1)}.cam-sign-letter{font:var(--lx-typography-numeric-xl);letter-spacing:.04em;color:var(--lx-text-brand)}.cam-sign-letter--hand{color:var(--lx-game-hand-text)}.cam-sign-caption{font:var(--lx-typography-body-sm);color:var(--lx-text-secondary);margin:var(--lx-space-2) auto 0;max-width:340px}.cam-sign-viewport-wrap{position:relative;width:100%;max-width:480px;margin:0 auto;border-radius:var(--lx-radius-lg);overflow:hidden;background:var(--lx-stage-bg);color:var(--lx-stage-text);aspect-ratio:4/3}.cam-sign-viewport{position:relative;width:100%;height:100%}.cam-sign-viewport.hidden{opacity:0;pointer-events:none}.cam-sign-success-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:center;justify-content:center;background:var(--lx-stage-scrim);color:var(--lx-stage-text);padding:var(--lx-space-4)}.cam-sign-success-overlay>.icon{width:var(--lx-size-icon-hero);height:var(--lx-size-icon-hero);padding:var(--lx-space-3);border-radius:var(--lx-radius-full);background:var(--lx-stage-landmark-ready);color:var(--lx-stage-bg)}.cam-sign-success-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--lx-space-3);width:min(86%,320px);padding:var(--lx-space-6) var(--lx-space-5);background:var(--lx-stage-surface);color:var(--lx-stage-text);border:var(--lx-border-width-thin) solid var(--lx-stage-border);border-radius:var(--lx-radius-lg);box-shadow:var(--lx-elevation-3);text-align:center}.cam-sign-success-arcs{position:absolute;inset:calc(-1 * var(--lx-space-3));width:calc(100% + 2 * var(--lx-space-3));height:calc(100% + 2 * var(--lx-space-3));overflow:visible;pointer-events:none}.cam-sign-success-check{width:72px;height:72px;padding:var(--lx-space-4);color:var(--lx-stage-bg);background:var(--lx-stage-landmark-correct);border-radius:var(--lx-radius-full)}.cam-sign-success-title{font:var(--lx-typography-title);margin:0;color:var(--lx-stage-text)}.cam-sign-success-card .btn{width:100%}.cam-sign-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--lx-space-3);color:var(--lx-stage-text-secondary);background:var(--lx-stage-bg);text-align:center;padding:var(--lx-space-4)}.cam-sign-placeholder>.icon{width:var(--lx-size-icon-xl);height:var(--lx-size-icon-xl)}.cam-sign-placeholder p{font:var(--lx-typography-body-sm);color:var(--lx-stage-text-secondary)}.cam-sign-placeholder--error>.icon{color:var(--lx-stage-landmark-retry)}.cam-sign-feedback{position:absolute;bottom:var(--lx-space-2);left:var(--lx-space-2);right:var(--lx-space-2);display:flex;flex-direction:column;gap:var(--lx-space-2);align-items:center}.cam-sign-hint{display:inline-flex;align-items:center;gap:var(--lx-space-2);background:var(--lx-stage-pill);color:var(--lx-stage-text);font:var(--lx-typography-label-sm);padding:var(--lx-space-2) var(--lx-space-3);border-radius:var(--lx-radius-full);text-align:center}.cam-sign-hint .icon{width:var(--lx-size-icon-sm);height:var(--lx-size-icon-sm);color:var(--lx-stage-landmark-tracking)}.cam-sign-hint--wrong{box-shadow:inset 0 0 0 var(--lx-border-width-thick) var(--lx-stage-landmark-retry)}.cam-sign-hint--wrong .icon{color:var(--lx-stage-landmark-retry)}.cam-sign-hint--tracking{box-shadow:inset 0 0 0 var(--lx-border-width-thin) var(--lx-stage-landmark-tracking)}.cam-sign-bar{width:80%;background:color-mix(in srgb,var(--lx-stage-text) 20%,transparent)}.cam-sign-bar .gesture-bar-fill{background:var(--lx-stage-landmark-tracking)}.finger-status{display:flex;gap:var(--lx-space-1);align-items:flex-end;padding:var(--lx-space-1) var(--lx-space-2);border-radius:var(--lx-radius-sm);background:var(--lx-stage-pill)}.finger-pip{display:flex;flex-direction:column;align-items:center;gap:var(--lx-space-0-5);font:var(--lx-typography-caption);color:var(--lx-stage-text-secondary);line-height:1;min-width:var(--lx-space-4)}.finger-pip:before{content:"";display:block;width:var(--lx-space-2);height:var(--lx-space-5);border-radius:var(--lx-radius-full);background:color-mix(in srgb,var(--lx-stage-text) 25%,transparent);transition:background-color var(--lx-motion-duration-fast) var(--lx-motion-easing-standard),height var(--lx-motion-duration-fast) var(--lx-motion-easing-standard)}.finger-pip--up:before{background:var(--finger-color, var(--lx-stage-landmark-tracking));height:var(--lx-space-6)}.finger-pip--up{color:var(--lx-stage-text)}.cam-sign-skip{align-self:center}.cam-sign-unrecognizable{display:flex;flex-direction:column;align-items:center;gap:var(--lx-space-3);background:var(--lx-bg-surface);border:var(--lx-border-width-thin) solid var(--lx-border-default);border-radius:var(--lx-radius-lg);padding:var(--lx-space-5);text-align:center;color:var(--lx-game-hand-fill)}.cam-sign-unrecognizable>.icon{width:var(--lx-size-icon-xl);height:var(--lx-size-icon-xl)}.cam-sign-unrecognizable p{font:var(--lx-typography-body-sm);color:var(--lx-text-secondary);max-width:340px}.mirror-note{font:var(--lx-typography-body-sm);font-weight:var(--lx-font-weight-semibold);color:var(--lx-text-secondary);margin-top:var(--lx-space-1)}@media (min-width: 768px){.cam-sign-layout{flex-flow:row wrap;align-items:flex-start;gap:var(--lx-space-8)}.cam-sign-target{flex:0 0 220px;text-align:left;padding-top:var(--lx-space-5)}.cam-sign-viewport-wrap{flex:1 1 300px;min-width:0;max-width:480px;margin:0}.cam-sign-skip{flex:1 0 100%;align-self:flex-start}}.momento-zero-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--lx-bg-scrim);display:flex;align-items:center;justify-content:center;z-index:var(--lx-z-index-celebration);padding:var(--lx-space-6);animation:lx-fade-in var(--lx-motion-duration-page) var(--lx-motion-easing-decelerate)}.momento-zero-card{background:radial-gradient(100% 80% at 50% 0%,var(--lx-stage-glow-brand) 0%,transparent 70%),var(--lx-stage-bg);color:var(--lx-stage-text);border-radius:var(--lx-radius-xl);padding:var(--lx-space-10) var(--lx-space-8);max-width:360px;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--lx-space-4);box-shadow:var(--lx-elevation-3);animation:lx-pop-in var(--lx-motion-duration-slow) var(--lx-motion-easing-overshoot)}.momento-zero-icon{color:var(--lx-stage-landmark-tracking)}.momento-zero-title{font:var(--lx-typography-headline);font-weight:var(--lx-font-weight-black);color:var(--lx-stage-text)}.momento-zero-sub{font:var(--lx-typography-body);color:var(--lx-stage-text-secondary)}@keyframes lx-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lx-pop-in{0%{transform:scale(calc(1 - .3 * var(--lx-motion-scale, 1)));opacity:0}to{transform:scale(1);opacity:1}}.exercise-video-wrap{position:relative;align-self:center;height:min(45dvh,560px);aspect-ratio:9/16;max-width:100%;background:var(--lx-bg-sunken);border-radius:var(--lx-radius-lg);overflow:hidden;flex-shrink:0}.exercise-video{width:100%;height:100%;object-fit:cover;background:var(--lx-stage-bg)}.exercise-video-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--lx-space-3);padding-bottom:var(--lx-space-12)}.exercise-video-gloss{font:var(--lx-typography-numeric-xl);letter-spacing:.04em;color:var(--lx-text-brand)}.exercise-video-caption{font:var(--lx-typography-body-sm);color:var(--lx-text-secondary);text-align:center;padding:0 var(--lx-space-4)}.exercise-video-toggle,.exercise-video-replay{position:absolute;bottom:var(--lx-space-2);min-height:var(--lx-size-touch-min);border:none;border-radius:var(--lx-radius-full);background:var(--lx-stage-pill);color:var(--lx-stage-text);cursor:pointer;display:flex;align-items:center;justify-content:center}.exercise-video-toggle{left:var(--lx-space-2);width:var(--lx-size-touch-min)}.exercise-video-replay{right:var(--lx-space-2);gap:var(--lx-space-1);padding:0 var(--lx-space-4);font:var(--lx-typography-label-sm)}.sign-demo{display:flex;flex-direction:column;align-items:center;gap:var(--lx-space-2);width:100%}.sign-demo-stage{position:relative;height:min(40dvh,420px);aspect-ratio:3 / 4;max-width:100%;padding:var(--lx-space-2);border-radius:var(--lx-radius-lg);overflow:hidden;background:var(--lx-game-trace-soft);color:var(--lx-game-trace-on-soft)}.sign-demo-screen,.sign-demo-video{display:block;width:100%;height:100%;border-radius:var(--lx-radius-md)}.sign-demo-video{object-fit:cover;background:var(--lx-stage-bg)}.sign-demo--intro .sign-demo-stage{height:min(34dvh,360px)}.sign-demo--watch .sign-demo-stage{height:min(42dvh,520px)}.sign-demo-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--lx-space-3);padding:var(--lx-space-4);text-align:center;font:var(--lx-typography-body-sm);color:var(--lx-game-trace-on-soft)}.sign-demo-progress{width:70%;height:var(--lx-size-confidence-bar);border-radius:var(--lx-radius-full);background:var(--lx-bg-surface);overflow:hidden}.sign-demo-progress-fill{height:100%;border-radius:inherit;background:var(--lx-game-trace-fill);transition:width var(--lx-motion-duration-base) var(--lx-motion-easing-standard)}.sign-demo-controls{display:flex;justify-content:center;gap:var(--lx-space-2)}.sign-demo-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--lx-space-1);min-height:var(--lx-size-touch-min);min-width:var(--lx-size-touch-min);padding:0 var(--lx-space-4);border-radius:var(--lx-radius-full);border:var(--lx-border-width-thick) solid var(--lx-action-secondary-border);background:var(--lx-action-secondary-bg);color:var(--lx-action-secondary-fg);font:var(--lx-typography-label-sm);cursor:pointer;transition:transform var(--lx-motion-duration-instant) var(--lx-motion-easing-standard)}.sign-demo-btn:active:not(:disabled){transform:scale(calc(1 - .03 * var(--lx-motion-scale, 1)))}.sign-demo-btn--move{border-color:var(--lx-text-primary);background:var(--lx-text-primary);color:var(--lx-bg-canvas);font:var(--lx-typography-label)}.sign-demo-btn:disabled{background:var(--lx-action-disabled-bg);color:var(--lx-action-disabled-fg);border-color:transparent;cursor:not-allowed}.sign-demo-credit{font:var(--lx-typography-caption);color:var(--lx-text-secondary);text-align:center}.sign-demo-credit a{color:inherit;text-decoration:underline}.settings-credit a{color:var(--lx-text-brand)}.sign-demo-fail{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--lx-space-1) var(--lx-space-2);font:var(--lx-typography-body-sm);color:var(--lx-text-secondary);text-align:center}.sign-demo-retry{padding:0 var(--lx-space-2)}.vlibras-host{position:fixed;top:0;left:0;width:240px;height:320px;z-index:calc(var(--lx-z-index-sticky) - 1);border-radius:var(--lx-radius-md);overflow:hidden;opacity:0;pointer-events:none;transform:translate(-200vw);transition:opacity var(--lx-motion-duration-fast) var(--lx-motion-easing-standard)}.vlibras-host--visible{opacity:1}.vlibras-frame{display:block;width:100%;height:100%;border:0;background:transparent}@media (prefers-reduced-motion: reduce){.sign-demo-progress-fill{transition:none}}:root[data-reduced-motion=true] .sign-demo-progress-fill{transition:none}.cam-sign-demo-toggle{margin-top:var(--lx-space-3)}.cam-sign-viewport-wrap.hidden{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.cam-sign-demo{display:flex;flex-direction:column;align-items:center;gap:var(--lx-space-2);width:100%;max-width:480px;margin:0 auto}.cam-sign-demo-note{font:var(--lx-typography-body-sm);color:var(--lx-text-secondary);text-align:center}@media (min-width: 768px){.cam-sign-demo{flex:1 1 300px;min-width:0;margin:0}}.pairs-layout{display:flex;flex-direction:column;gap:var(--lx-space-5);flex:1}@media (min-width: 640px){.pairs-layout{flex-direction:row;align-items:flex-start}.pairs-descriptions{flex:1}.pairs-glosses{width:120px;flex-shrink:0}}.pairs-descriptions,.pairs-glosses{display:flex;flex-direction:column;gap:var(--lx-space-3)}.pair-card{min-height:var(--lx-size-choice-min);background:var(--lx-bg-surface);border:var(--lx-border-width-thick) solid var(--lx-border-default);border-radius:var(--lx-radius-md);padding:var(--lx-space-3) var(--lx-space-4);text-align:left;font:var(--lx-typography-body);color:var(--lx-text-primary);cursor:pointer;display:flex;align-items:center;gap:var(--lx-space-3);transition:border-color var(--lx-motion-duration-fast) var(--lx-motion-easing-standard),background-color var(--lx-motion-duration-fast) var(--lx-motion-easing-standard)}.pair-card--selected{border-color:var(--lx-border-focus);box-shadow:inset 0 0 0 1px var(--lx-border-focus);background:var(--lx-feedback-info-soft)}.pair-card--correct{border-color:var(--lx-feedback-success-strong);background:var(--lx-feedback-success-soft);color:var(--lx-feedback-success-on-soft);cursor:default}.pair-card--wrong{border-color:var(--lx-feedback-error-strong);background:var(--lx-feedback-error-soft);color:var(--lx-feedback-error-on-soft)}.pair-icon{width:var(--lx-size-icon-md);height:var(--lx-size-icon-md)}.pair-icon--ok{color:var(--lx-feedback-success-strong)}.pair-icon--err{color:var(--lx-feedback-error-strong)}.pairs-glosses .mc-choice{padding:var(--lx-space-3) var(--lx-space-2)}.order-hint{font:var(--lx-typography-body-sm);color:var(--lx-text-secondary);text-align:center}.order-list{list-style:none;display:flex;flex-direction:column;gap:var(--lx-space-2);width:100%;max-width:400px;align-self:center}.order-item{position:relative;display:flex;align-items:center;gap:var(--lx-space-3);min-height:var(--lx-size-touch-comfort);padding:var(--lx-space-1) var(--lx-space-1) var(--lx-space-1) var(--lx-space-4);background:var(--lx-bg-surface);border:var(--lx-border-width-thick) solid var(--lx-border-default);border-radius:var(--lx-radius-md);font:var(--lx-typography-body);font-weight:var(--lx-font-weight-semibold);cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.order-item:active{cursor:grabbing}.order-item--dragging{z-index:var(--lx-z-index-sticky);border-color:var(--lx-border-focus);background:var(--lx-bg-raised);box-shadow:var(--lx-elevation-3);cursor:grabbing}.order-item--correct{border-color:var(--lx-feedback-success-strong);background:var(--lx-feedback-success-soft);color:var(--lx-feedback-success-on-soft)}.order-item--wrong{border-color:var(--lx-feedback-error-strong);background:var(--lx-feedback-error-soft);color:var(--lx-feedback-error-on-soft)}.order-grip{flex:none;color:var(--lx-text-tertiary)}.order-text{flex:1;min-width:0;overflow-wrap:anywhere}.order-moves{flex:none;display:flex;gap:var(--lx-space-1)}.order-move{width:var(--lx-size-touch-min);height:var(--lx-size-touch-min);display:inline-flex;align-items:center;justify-content:center;border:var(--lx-border-width-thin) solid var(--lx-action-secondary-border);border-radius:var(--lx-radius-sm);background:var(--lx-action-secondary-bg);color:var(--lx-action-secondary-fg);cursor:pointer;touch-action:manipulation;transition:background var(--lx-motion-duration-fast) var(--lx-motion-easing-standard)}.order-move:disabled{border-color:var(--lx-border-subtle);background:transparent;color:var(--lx-text-disabled);cursor:default}.order-move:focus-visible{outline:var(--lx-border-width-focus-ring) solid var(--lx-border-focus);outline-offset:var(--lx-border-width-focus-offset)}.order-status-icon{margin-left:auto;margin-right:var(--lx-space-3)}.order-status-icon--ok{color:var(--lx-feedback-success-strong)}.order-status-icon--err{color:var(--lx-feedback-error-strong)}.order-correct-list{list-style:none;display:flex;flex-direction:column;gap:var(--lx-space-1);margin-top:var(--lx-space-2)}.order-correct-item{font:var(--lx-typography-body-sm)}.phrase-pt{background:var(--lx-bg-surface);border:var(--lx-border-width-thin) solid var(--lx-border-default);border-radius:var(--lx-radius-lg);padding:var(--lx-space-3) var(--lx-space-4);display:flex;flex-direction:column;gap:var(--lx-space-1)}.phrase-pt-label{font:var(--lx-typography-label-sm);color:var(--lx-text-secondary);text-transform:uppercase;letter-spacing:.04em}.phrase-pt-text{font:var(--lx-typography-headline);color:var(--lx-text-primary)}.phrase-answer{min-height:calc(var(--lx-size-touch-min) + 2 * var(--lx-space-3));display:flex;flex-wrap:wrap;align-content:flex-start;gap:var(--lx-space-2);padding:var(--lx-space-3);border:var(--lx-border-width-thick) dashed var(--lx-border-strong);border-radius:var(--lx-radius-md);background:var(--lx-bg-sunken)}.phrase-answer--correct{border-style:solid;border-color:var(--lx-feedback-success-strong);background:var(--lx-feedback-success-soft)}.phrase-answer--wrong{border-style:solid;border-color:var(--lx-feedback-error-strong);background:var(--lx-feedback-error-soft)}.phrase-answer-empty{align-self:center;font:var(--lx-typography-body-sm);color:var(--lx-text-secondary)}.phrase-bank{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--lx-space-2)}.phrase-tile{min-height:var(--lx-size-touch-min);min-width:var(--lx-size-touch-min);padding:var(--lx-space-2) var(--lx-space-3);background:var(--lx-bg-surface);border:var(--lx-border-width-thick) solid var(--lx-border-default);border-radius:var(--lx-radius-md);font:var(--lx-typography-label);font-weight:var(--lx-font-weight-heavy);letter-spacing:.04em;text-transform:uppercase;color:var(--lx-text-primary);cursor:pointer;transition:transform var(--lx-motion-duration-fast) var(--lx-motion-easing-standard),border-color var(--lx-motion-duration-fast) var(--lx-motion-easing-standard)}.phrase-tile:active:not(:disabled){transform:scale(calc(1 - .04 * var(--lx-motion-scale, 1)));border-color:var(--lx-border-focus)}.phrase-tile:disabled{cursor:default}.phrase-tile--placed{border-color:var(--lx-border-focus)}.phrase-tile--used{visibility:hidden}.phrase-note{display:flex;align-items:flex-start;gap:var(--lx-space-1);font:var(--lx-typography-caption);color:var(--lx-text-secondary)}.phrase-note-icon{flex-shrink:0;color:var(--lx-text-tertiary)}.phrase-correct{list-style:none;display:flex;flex-wrap:wrap;gap:var(--lx-space-1) var(--lx-space-3);margin-top:var(--lx-space-2)}.phrase-correct-item{font:var(--lx-typography-body);font-weight:var(--lx-font-weight-heavy)}.fingerspell-strip{display:flex;gap:var(--lx-space-2);flex-wrap:wrap;justify-content:center;margin:var(--lx-space-2) 0}.fingerspell-cell{width:var(--lx-space-10);height:var(--lx-space-12);border:var(--lx-border-width-thick) solid var(--lx-border-default);border-radius:var(--lx-radius-sm);display:flex;align-items:center;justify-content:center;font:var(--lx-typography-title);font-weight:var(--lx-font-weight-heavy);background:var(--lx-bg-surface);color:var(--lx-text-primary);transition:all var(--lx-motion-duration-base) var(--lx-motion-easing-standard)}.fingerspell-cell--current{border-color:var(--lx-game-hand-fill);background:var(--lx-game-hand-soft);color:var(--lx-game-hand-text);transform:scale(calc(1 + .1 * var(--lx-motion-scale, 1)))}.fingerspell-cell--done{border-color:var(--lx-feedback-success-strong);background:var(--lx-feedback-success-soft);color:var(--lx-feedback-success-on-soft)}ol.fingerspell-strip{list-style:none;padding:0}.fingerspell-cell{position:relative}.fingerspell-cell-check{position:absolute;top:calc(-1 * var(--lx-space-2));right:calc(-1 * var(--lx-space-2));width:var(--lx-size-icon-sm);height:var(--lx-size-icon-sm);padding:var(--lx-space-0-5);border-radius:var(--lx-radius-full);background:var(--lx-feedback-success-strong);color:var(--lx-feedback-success-on-strong);box-sizing:content-box}.fingerspell-progress{font:var(--lx-typography-label);color:var(--lx-text-primary);text-align:center}.wcv-word{font-weight:var(--lx-font-weight-heavy);letter-spacing:.04em;color:var(--lx-game-hand-text)}.wcv-stage{display:flex;flex-direction:column;align-items:center;gap:var(--lx-space-2);width:100%}.wcv-stage-title{font:var(--lx-typography-label-sm);color:var(--lx-text-secondary)}.sign-demo--choose .sign-demo-stage{height:min(30dvh,320px)}.wcv-stage-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--lx-space-2);width:100%;min-height:var(--lx-space-16);padding:var(--lx-space-4);border:var(--lx-border-width-thin) dashed var(--lx-border-default);border-radius:var(--lx-radius-lg);background:var(--lx-bg-sunken);color:var(--lx-text-secondary);font:var(--lx-typography-body-sm);text-align:center}.wcv-stage-text{width:100%;padding:var(--lx-space-4);border-radius:var(--lx-radius-lg);background:var(--lx-bg-sunken);font:var(--lx-typography-body);color:var(--lx-text-primary);text-align:center}.wcv-options{display:flex;flex-direction:column;gap:var(--lx-space-2);width:100%}.wcv-option{display:flex;align-items:center;gap:var(--lx-space-3);width:100%;min-height:var(--lx-size-touch-comfort);padding:var(--lx-space-2) var(--lx-space-3);background:var(--lx-bg-surface);border:var(--lx-border-width-thick) solid var(--lx-border-default);border-radius:var(--lx-radius-choice);color:var(--lx-text-primary);text-align:left;cursor:pointer;transition:transform var(--lx-motion-duration-fast) var(--lx-motion-easing-standard),border-color var(--lx-motion-duration-fast) var(--lx-motion-easing-standard),background-color var(--lx-motion-duration-fast) var(--lx-motion-easing-standard),opacity var(--lx-motion-duration-fast) var(--lx-motion-easing-standard)}.wcv-option:active:not([aria-disabled=true]){transform:scale(calc(1 - .02 * var(--lx-motion-scale, 1)))}.wcv-option[aria-disabled=true]{cursor:default}.wcv-option--selected{border-color:var(--lx-border-focus);box-shadow:inset 0 0 0 1px var(--lx-border-focus);background:var(--lx-feedback-info-soft)}.wcv-option--correct{border-color:var(--lx-feedback-success-strong);background:var(--lx-feedback-success-soft);animation:lx-correct-pop var(--lx-motion-duration-base) var(--lx-motion-easing-overshoot)}.wcv-option--reveal{border-style:dashed;border-color:var(--lx-feedback-success-strong)}.wcv-option--wrong{border-color:var(--lx-feedback-error-strong);background:var(--lx-feedback-error-soft);animation:lx-shake var(--lx-motion-duration-fast) var(--lx-motion-easing-standard)}.wcv-option--dimmed{opacity:.6}.wcv-badge{flex:none;display:inline-flex;align-items:center;justify-content:center;width:var(--lx-space-8);height:var(--lx-space-8);border-radius:var(--lx-radius-full);background:var(--lx-bg-sunken);font:var(--lx-typography-numeric);font-size:var(--lx-typography-label-size);color:var(--lx-text-primary)}.wcv-option--selected .wcv-badge{background:var(--lx-action-primary-bg);color:var(--lx-action-primary-fg)}.wcv-option--correct .wcv-badge,.wcv-option--reveal .wcv-badge{background:var(--lx-feedback-success-strong);color:var(--lx-feedback-success-on-strong)}.wcv-option--wrong .wcv-badge{background:var(--lx-feedback-error-strong);color:var(--lx-feedback-error-on-strong)}.wcv-pick-text{flex:1;display:flex;flex-direction:column;gap:var(--lx-space-1);min-width:0}.wcv-pick-label{font:var(--lx-typography-label);font-weight:var(--lx-font-weight-heavy)}.wcv-option--selected .wcv-pick-label{color:var(--lx-feedback-info-on-soft)}.wcv-option--correct .wcv-pick-label{color:var(--lx-feedback-success-on-soft)}.wcv-option--wrong .wcv-pick-label{color:var(--lx-feedback-error-on-soft)}.wcv-desc{font:var(--lx-typography-body-sm);color:var(--lx-text-secondary)}.wcv-tag{font:var(--lx-typography-caption);color:var(--lx-feedback-success-text)}.wcv-play{flex:none;width:var(--lx-size-icon-lg);height:var(--lx-size-icon-lg);color:var(--lx-text-secondary)}.wcv-option--selected .wcv-play{color:var(--lx-text-brand)}.wcv-check-bar{position:sticky;bottom:0;z-index:var(--lx-z-index-sticky);margin:auto calc(-1 * var(--lx-space-4)) calc(-1 * var(--lx-space-4));padding:var(--lx-space-3) var(--lx-space-4) calc(var(--lx-space-4) + var(--lx-feedback-safe, 0px));background:var(--lx-bg-canvas);border-top:var(--lx-border-width-thin) solid var(--lx-border-subtle)}@media (prefers-reduced-motion: reduce){.wcv-option--correct,.wcv-option--wrong{animation:none}}.practice-screen{display:flex;flex-direction:column;flex:1}.practice-header{display:flex;align-items:center;gap:var(--lx-space-3);min-height:calc(var(--lx-size-top-bar) + var(--lx-safe-top));padding:var(--lx-safe-top) var(--lx-space-4) 0;background:var(--lx-bg-surface);border-bottom:var(--lx-border-width-thin) solid var(--lx-border-subtle)}.practice-badge{font:var(--lx-typography-label-sm);padding:var(--lx-space-1) var(--lx-space-3);border-radius:var(--lx-radius-full);display:flex;align-items:center;gap:var(--lx-space-1);white-space:nowrap}.practice-badge .icon{width:var(--lx-size-icon-sm);height:var(--lx-size-icon-sm)}.practice-badge--review{background:var(--lx-game-hand-soft);color:var(--lx-game-hand-text)}.practice-badge--new{background:var(--lx-feedback-success-soft);color:var(--lx-feedback-success-on-soft)}.practice-empty,.practice-done{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--lx-space-4);padding:var(--lx-space-10) var(--lx-space-6);text-align:center;max-width:440px;margin:0 auto;width:100%}.practice-empty h2,.practice-done h2{font:var(--lx-typography-title);color:var(--lx-text-primary)}.practice-empty p,.practice-done p{font:var(--lx-typography-body);color:var(--lx-text-secondary)}.practice-empty-icon,.practice-done-icon{color:var(--lx-game-hand-fill);line-height:1}.practice-done-icon .icon{width:var(--lx-size-icon-hero);height:var(--lx-size-icon-hero)}.practice-done-icon{color:var(--lx-feedback-success-strong)}.practice-done-icon--low{color:var(--lx-text-brand)}.practice-done .btn{max-width:280px}.practice-done-score{font:var(--lx-typography-numeric)!important;color:var(--lx-text-primary)!important;font-variant-numeric:tabular-nums}.practice-list-body{padding:var(--lx-space-4);display:flex;flex-direction:column;gap:var(--lx-space-3);flex:1;max-width:var(--lx-size-content-max);width:100%;margin:0 auto}.srs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:var(--lx-space-3)}.srs-item-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--lx-space-2);padding:var(--lx-space-4) var(--lx-space-3);background:var(--lx-bg-surface);border-radius:var(--lx-radius-md);border:var(--lx-border-width-thin) solid var(--lx-border-default);text-align:center;min-width:0}.srs-item-gloss{font:var(--lx-typography-display);letter-spacing:.04em;color:var(--lx-text-primary)}.srs-badge{font:var(--lx-typography-caption);padding:var(--lx-space-0-5) var(--lx-space-2);border-radius:var(--lx-radius-full);white-space:nowrap}.srs-badge--new{background:var(--lx-feedback-success-soft);color:var(--lx-feedback-success-on-soft)}.srs-badge--review{background:var(--lx-game-hand-soft);color:var(--lx-game-hand-text)}.practice-start-btn{margin-top:var(--lx-space-1)}.free-practice-card{background:var(--lx-bg-surface);border:var(--lx-border-width-thin) solid var(--lx-border-default);border-radius:var(--lx-radius-lg);padding:var(--lx-space-4);display:flex;align-items:center;gap:var(--lx-space-4)}.free-practice-text{flex:1;min-width:0}.free-practice-card .btn{flex:0 0 auto;width:auto;white-space:nowrap}.free-practice-text h3{font:var(--lx-typography-title-sm);color:var(--lx-text-primary)}.free-practice-text p{font:var(--lx-typography-body-sm);color:var(--lx-text-secondary);margin-top:var(--lx-space-0-5)}.camera-access-card{background:var(--lx-game-hand-soft);border:var(--lx-border-width-thick) solid var(--lx-game-hand-fill);border-radius:var(--lx-radius-lg);min-height:var(--lx-size-touch-comfort);padding:var(--lx-space-4);display:flex;gap:var(--lx-space-3);align-items:center;cursor:pointer;width:100%;text-align:left;color:var(--lx-text-primary)}.camera-access-icon{width:var(--lx-size-icon-lg);height:var(--lx-size-icon-lg);color:var(--lx-game-hand-text)}.camera-access-title{font:var(--lx-typography-title-sm);color:var(--lx-text-primary)}.camera-access-desc{font:var(--lx-typography-body-sm);color:var(--lx-text-secondary)}.camera-access-arrow{color:var(--lx-game-hand-text);margin-left:auto}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:var(--lx-space-10);color:var(--lx-text-secondary)}.loading-spinner .icon{width:var(--lx-size-icon-xl);height:var(--lx-size-icon-xl)}.progress-screen{display:flex;flex-direction:column;padding-bottom:var(--lx-space-8)}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--lx-space-3);padding:var(--lx-space-5)}@media (min-width: 480px){.stats-grid{grid-template-columns:repeat(4,1fr)}}.stat-card{background:var(--lx-bg-surface);border-radius:var(--lx-radius-lg);border:var(--lx-border-width-thin) solid var(--lx-border-default);padding:var(--lx-space-4) var(--lx-space-3);display:flex;flex-direction:column;align-items:center;gap:var(--lx-space-2);text-align:center}.stat-icon .icon{width:var(--lx-size-icon-xl);height:var(--lx-size-icon-xl)}.stat-icon--streak{color:var(--lx-game-streak-fill)}.stat-icon--xp{color:var(--lx-game-xp-fill)}.stat-icon--hand{color:var(--lx-game-hand-fill)}.stat-icon--brand{color:var(--lx-text-brand)}.achievements-section{padding:0 var(--lx-space-5)}.section-title{font:var(--lx-typography-title);color:var(--lx-text-primary);display:flex;align-items:center;gap:var(--lx-space-2);margin-bottom:var(--lx-space-3)}.achievements-empty{color:var(--lx-text-secondary);font:var(--lx-typography-body-sm)}.achievements-list-full{list-style:none;display:flex;flex-direction:column;gap:var(--lx-space-2)}.achievement-item-full{display:flex;align-items:center;gap:var(--lx-space-3);background:var(--lx-game-xp-soft);border-radius:var(--lx-radius-md);padding:var(--lx-space-3) var(--lx-space-4);font:var(--lx-typography-label);color:var(--lx-game-xp-text)}.achievement-icon-gold{color:var(--lx-game-xp-fill)}.sub-screen{display:flex;flex-direction:column;min-height:100dvh;background:var(--lx-bg-canvas);padding-bottom:var(--lx-safe-bottom)}.sub-screen-bar{display:flex;align-items:center;gap:var(--lx-space-2);min-height:calc(var(--lx-size-top-bar) + var(--lx-safe-top));padding:var(--lx-safe-top) var(--lx-space-4) 0 var(--lx-space-1);background:var(--lx-bg-surface);border-bottom:var(--lx-border-width-thin) solid var(--lx-border-subtle);position:sticky;top:0;z-index:var(--lx-z-index-sticky)}.sub-screen-bar h1{font:var(--lx-typography-title);color:var(--lx-text-primary);flex:1;padding-block:var(--lx-space-2)}.streak-body{padding:var(--lx-space-5) var(--lx-space-4);display:flex;flex-direction:column;gap:var(--lx-space-4);max-width:480px;margin:0 auto;width:100%}.streak-hero{text-align:center;padding:var(--lx-space-8) var(--lx-space-5);border-radius:var(--lx-radius-lg);background:var(--lx-bg-surface);border:var(--lx-border-width-thin) solid var(--lx-border-default)}.streak-hero-icon{line-height:1}.streak-hero-icon .icon{width:var(--lx-size-icon-hero);height:var(--lx-size-icon-hero)}.streak-hero--active .streak-hero-icon{color:var(--lx-game-streak-fill)}.streak-hero--risk .streak-hero-icon{color:var(--lx-feedback-warning-strong);animation:lx-pulse-risk var(--lx-motion-duration-ambient) var(--lx-motion-easing-standard) infinite}.streak-hero--zero .streak-hero-icon{color:var(--lx-game-locked-fg)}.streak-hero-number{font:var(--lx-typography-numeric-xl);font-variant-numeric:tabular-nums;color:var(--lx-text-primary);margin-top:var(--lx-space-2)}.streak-hero-label{font:var(--lx-typography-body);font-weight:var(--lx-font-weight-semibold);color:var(--lx-text-secondary)}.streak-risk-msg{font:var(--lx-typography-body-sm);font-weight:var(--lx-font-weight-bold);color:var(--lx-feedback-warning-text);margin-top:var(--lx-space-2)}@keyframes lx-pulse-risk{0%,to{transform:scale(1)}50%{transform:scale(calc(1 + .08 * var(--lx-motion-scale, 1)))}}@media (prefers-reduced-motion: reduce){.streak-hero--risk .streak-hero-icon{animation:none}}.streak-heatmap-card,.streak-record-card,.streak-freeze-card,.streak-recovery-card{background:var(--lx-bg-surface);border-radius:var(--lx-radius-lg);border:var(--lx-border-width-thin) solid var(--lx-border-default);padding:var(--lx-space-4)}.streak-heatmap-title{font:var(--lx-typography-label-sm);color:var(--lx-text-secondary);margin-bottom:var(--lx-space-3)}.streak-heatmap-week-labels{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:var(--lx-space-2)}.heatmap-day-label{font:var(--lx-typography-caption);color:var(--lx-text-secondary);text-align:center}.streak-heatmap-row{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--lx-space-1);margin-bottom:var(--lx-space-1)}.heatmap-cell{aspect-ratio:1;border-radius:var(--lx-radius-xs);background:var(--lx-game-track);min-width:0}.heatmap-cell--studied{background:var(--lx-game-progress)}.heatmap-cell--today{box-shadow:0 0 0 var(--lx-border-width-thick) var(--lx-border-focus)}.streak-record-card,.streak-freeze-card{display:flex;align-items:center;gap:var(--lx-space-4)}.streak-record-icon{width:var(--lx-size-icon-lg);height:var(--lx-size-icon-lg);color:var(--lx-game-xp-fill)}.streak-record-label,.streak-freeze-label{font:var(--lx-typography-body-sm);color:var(--lx-text-secondary)}.streak-record-value,.streak-freeze-count{font:var(--lx-typography-numeric);font-variant-numeric:tabular-nums;color:var(--lx-text-primary)}.streak-freeze-card--highlighted{border:var(--lx-border-width-thick) solid var(--lx-feedback-warning-strong)}.streak-freeze-icon{width:var(--lx-size-icon-lg);height:var(--lx-size-icon-lg);color:var(--lx-feedback-info-strong)}.streak-freeze-btn{margin-left:auto}.streak-recovery-card{text-align:center;display:flex;flex-direction:column;gap:var(--lx-space-3)}.streak-recovery-card h3{font:var(--lx-typography-title)}.streak-recovery-card p{font:var(--lx-typography-body);color:var(--lx-text-secondary)}.ach-counter{font:var(--lx-typography-label);font-variant-numeric:tabular-nums;color:var(--lx-text-secondary);margin-left:auto}.ach-body{padding:var(--lx-space-4);display:flex;flex-direction:column;gap:var(--lx-space-2);max-width:var(--lx-size-content-max);width:100%;margin:0 auto}.ach-section-label{font:var(--lx-typography-label-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--lx-text-secondary);margin:var(--lx-space-3) 0 var(--lx-space-1)}.ach-tile{display:flex;align-items:center;gap:var(--lx-space-3);min-height:var(--lx-size-choice-min);padding:var(--lx-space-3) var(--lx-space-4);border-radius:var(--lx-radius-md);background:var(--lx-bg-surface);border:var(--lx-border-width-thin) solid var(--lx-border-default)}.ach-tile--locked{background:var(--lx-bg-canvas)}.ach-tile--locked .ach-tile-title{color:var(--lx-text-secondary)}.ach-tile-text{flex:1;min-width:0}.ach-tile-title{font:var(--lx-typography-title-sm);color:var(--lx-text-primary)}.ach-tile-desc{font:var(--lx-typography-body-sm);color:var(--lx-text-secondary);margin-top:var(--lx-space-0-5)}.ach-tile-badge{width:var(--lx-size-icon-lg);height:var(--lx-size-icon-lg);color:var(--lx-game-xp-fill)}.ach-tile-lock{width:var(--lx-size-icon-md);height:var(--lx-size-icon-md);color:var(--lx-game-locked-fg)}.ach-tile-icon--badge{width:var(--lx-size-touch-min);height:var(--lx-size-touch-min);border-radius:var(--lx-radius-md);display:flex;align-items:center;justify-content:center;font:var(--lx-typography-label-sm);font-weight:var(--lx-font-weight-black);letter-spacing:.04em;flex-shrink:0}.ach-tile-icon--earned{background:var(--lx-game-xp-soft);color:var(--lx-game-xp-text);border:var(--lx-border-width-thick) solid var(--lx-game-xp-fill)}.ach-tile-icon--locked{background:var(--lx-game-locked-bg);color:var(--lx-game-locked-fg);border:var(--lx-border-width-thick) dashed var(--lx-border-default)}.settings-body{padding:var(--lx-space-4);display:flex;flex-direction:column;gap:var(--lx-space-1);max-width:var(--lx-size-content-max);width:100%;margin:0 auto}.name-form{gap:var(--lx-space-3)}.name-form .text-muted{font:var(--lx-typography-body-sm)}.settings-group{margin-bottom:var(--lx-space-2);display:flex;flex-direction:column;gap:var(--lx-space-0-5)}.settings-group-label{font:var(--lx-typography-label-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--lx-text-secondary);padding:var(--lx-space-3) var(--lx-space-1) var(--lx-space-2)}.settings-item{display:flex;align-items:center;gap:var(--lx-space-3);padding:var(--lx-space-2) var(--lx-space-4);background:var(--lx-bg-surface);border-radius:var(--lx-radius-md);min-height:var(--lx-size-touch-comfort);color:var(--lx-text-primary)}.settings-item--btn{cursor:pointer;width:100%;border:none;text-align:left}@media (hover: hover){.settings-item--btn:hover{background:var(--lx-bg-sunken)}}.settings-item-icon{color:var(--lx-text-brand);width:var(--lx-size-icon-md);height:var(--lx-size-icon-md)}.settings-item-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--lx-space-0-5)}.settings-item-label{font:var(--lx-typography-label);font-weight:var(--lx-font-weight-semibold);color:var(--lx-text-primary)}.settings-item-value{font:var(--lx-typography-body-sm);color:var(--lx-text-secondary)}.settings-item-arrow{color:var(--lx-text-secondary)}.settings-item--select{flex-wrap:wrap;row-gap:var(--lx-space-2);padding-top:var(--lx-space-2);padding-bottom:var(--lx-space-2)}.settings-item--select .settings-item-text{flex:1 1 6rem}.settings-select{flex:0 1 auto;min-height:var(--lx-size-button-sm);max-width:100%;background:var(--lx-bg-sunken);border:var(--lx-border-width-thin) solid var(--lx-border-strong);border-radius:var(--lx-radius-sm);padding:0 var(--lx-space-2);font:var(--lx-typography-body-sm);color:var(--lx-text-primary)}.settings-delete-btn{margin-top:var(--lx-space-6);min-height:var(--lx-size-button-md);padding:0 var(--lx-space-4);width:100%;background:none;border:var(--lx-border-width-thick) solid var(--lx-action-danger-bg);border-radius:var(--lx-radius-md);color:var(--lx-feedback-error-text);font:var(--lx-typography-label);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--lx-space-2)}.settings-delete-confirm{margin-top:var(--lx-space-4);background:var(--lx-feedback-error-soft);color:var(--lx-feedback-error-on-soft);border-radius:var(--lx-radius-lg);padding:var(--lx-space-4);display:flex;flex-direction:column;gap:var(--lx-space-3)}.settings-delete-confirm p{font:var(--lx-typography-body)}.settings-delete-input{min-height:var(--lx-size-button-md);padding:0 var(--lx-space-4);border:var(--lx-border-width-thick) solid var(--lx-action-danger-bg);border-radius:var(--lx-radius-sm);font:var(--lx-typography-label);letter-spacing:.1em;background:var(--lx-bg-surface);color:var(--lx-text-primary)}.settings-delete-error{display:flex;align-items:flex-start;gap:var(--lx-space-2);padding:var(--lx-space-3);border-radius:var(--lx-radius-md);background:var(--lx-bg-surface);color:var(--lx-feedback-error-text);font:var(--lx-typography-body)}.settings-delete-error .icon{flex:none;width:var(--lx-size-icon-md);height:var(--lx-size-icon-md)}.settings-delete-actions{display:flex;gap:var(--lx-space-3)}.settings-delete-actions .btn{flex:1;min-height:var(--lx-size-button-md);padding:0 var(--lx-space-3)}.profile-screen{display:flex;flex-direction:column;min-height:100%;padding-bottom:var(--lx-space-6)}.profile-header{background:var(--lx-bg-surface);color:var(--lx-text-primary);padding:calc(var(--lx-space-8) + var(--lx-safe-top)) var(--lx-space-5) var(--lx-space-6);display:flex;flex-direction:column;align-items:center;gap:var(--lx-space-1);position:relative;border-bottom:var(--lx-border-width-thin) solid var(--lx-border-subtle)}.profile-settings-btn{position:absolute;top:calc(var(--lx-space-2) + var(--lx-safe-top));right:var(--lx-space-2);background:none;border:none;border-radius:var(--lx-radius-full);width:var(--lx-size-touch-min);height:var(--lx-size-touch-min);color:var(--lx-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center}.profile-settings-btn .icon{width:var(--lx-size-icon-lg);height:var(--lx-size-icon-lg)}.profile-avatar{width:var(--lx-size-lesson-node-current);height:var(--lx-size-lesson-node-current);border-radius:var(--lx-radius-full);background:var(--lx-action-primary-bg);display:flex;align-items:center;justify-content:center;font:var(--lx-typography-display);font-weight:var(--lx-font-weight-black);color:var(--lx-action-primary-fg);letter-spacing:.04em}.profile-name{font:var(--lx-typography-headline);color:var(--lx-text-primary);margin-top:var(--lx-space-1)}.profile-meta{font:var(--lx-typography-body-sm);color:var(--lx-text-secondary)}.profile-xp-bar-wrap{width:100%;max-width:280px;margin-top:var(--lx-space-2)}.profile-xp-bar{height:var(--lx-size-progress-goal);background:var(--lx-game-track);border-radius:var(--lx-radius-full);overflow:hidden;margin-bottom:var(--lx-space-1)}.profile-xp-bar-fill{height:100%;background:var(--lx-game-xp-fill);border-radius:var(--lx-radius-full);transition:width var(--lx-motion-duration-slow) var(--lx-motion-easing-decelerate)}.profile-xp-label{display:flex;justify-content:space-between;font:var(--lx-typography-caption);font-variant-numeric:tabular-nums;color:var(--lx-text-secondary)}.profile-stats-row{display:flex;padding:var(--lx-space-4) var(--lx-space-4) 0;gap:var(--lx-space-3);width:100%;max-width:var(--lx-size-content-max);margin:0 auto}.profile-stat-card{flex:1;min-width:0;background:var(--lx-bg-surface);border-radius:var(--lx-radius-lg);border:var(--lx-border-width-thin) solid var(--lx-border-default);padding:var(--lx-space-4) var(--lx-space-2);display:flex;flex-direction:column;align-items:center;gap:var(--lx-space-1);cursor:default;color:var(--lx-text-primary)}button.profile-stat-card{cursor:pointer}@media (hover: hover){button.profile-stat-card:hover{background:var(--lx-bg-sunken)}}.profile-stat-value{font:var(--lx-typography-numeric);font-weight:var(--lx-font-weight-black);font-variant-numeric:tabular-nums;color:var(--lx-text-primary)}.profile-stat-label{font:var(--lx-typography-caption);color:var(--lx-text-secondary)}.profile-card{margin:var(--lx-space-3) var(--lx-space-4) 0;background:var(--lx-bg-surface);border-radius:var(--lx-radius-lg);border:var(--lx-border-width-thin) solid var(--lx-border-default);padding:var(--lx-space-4);color:var(--lx-text-primary)}@media (min-width: 600px){.profile-card{width:calc(100% - 2 * var(--lx-space-4));max-width:calc(var(--lx-size-content-max) - 2 * var(--lx-space-4));margin-left:auto;margin-right:auto}}.profile-card--btn{width:calc(100% - 2 * var(--lx-space-4));text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:var(--lx-space-2);min-height:var(--lx-size-touch-comfort)}@media (hover: hover){.profile-card--btn:hover{background:var(--lx-bg-sunken)}}.profile-card-header{display:flex;justify-content:space-between;align-items:center;gap:var(--lx-space-2);margin-bottom:var(--lx-space-2);width:100%}.profile-card-title{display:inline-flex;align-items:center;gap:var(--lx-space-2);font:var(--lx-typography-title-sm);color:var(--lx-text-primary)}.profile-card-sub{font:var(--lx-typography-body-sm);font-variant-numeric:tabular-nums;color:var(--lx-text-secondary)}.profile-card-meta{font:var(--lx-typography-body-sm);color:var(--lx-text-secondary);margin-top:var(--lx-space-1)}.profile-goal-done{font:var(--lx-typography-label-sm);color:var(--lx-feedback-success-text);margin-top:var(--lx-space-1)}.profile-card-row{display:flex;align-items:center;gap:var(--lx-space-3);width:100%}.profile-card-row-icon{color:var(--lx-text-secondary)}.profile-card-row-arrow{color:var(--lx-text-secondary);margin-left:auto}.profile-ach-preview{display:flex;gap:var(--lx-space-2);flex-wrap:wrap}.profile-ach-badge{background:var(--lx-game-xp-soft);color:var(--lx-game-xp-text);padding:var(--lx-space-1) var(--lx-space-3);border-radius:var(--lx-radius-full);font:var(--lx-typography-label-sm)}.profile-card-footer{font:var(--lx-typography-label-sm);color:var(--lx-text-brand);display:flex;align-items:center;gap:var(--lx-space-1)}.social-screen{display:flex;flex-direction:column;flex:1}.social-coming-soon{padding:var(--lx-space-4);display:flex;flex-direction:column;gap:var(--lx-space-3);max-width:var(--lx-size-content-max);width:100%;margin:0 auto}.social-feature-card{background:var(--lx-bg-surface);border-radius:var(--lx-radius-lg);border:var(--lx-border-width-thin) solid var(--lx-border-default);padding:var(--lx-space-4);display:flex;gap:var(--lx-space-3);align-items:flex-start}.social-feature-card>div{flex:1;min-width:0}.social-feature-icon{width:var(--lx-size-icon-lg);height:var(--lx-size-icon-lg);color:var(--lx-text-brand)}.social-feature-title{font:var(--lx-typography-title-sm);color:var(--lx-text-primary)}.social-feature-desc{font:var(--lx-typography-body-sm);color:var(--lx-text-secondary);margin-top:var(--lx-space-0-5)}.social-early-access{text-align:center;font:var(--lx-typography-body-sm);color:var(--lx-text-secondary);padding:var(--lx-space-4)}.badge-soon{background:var(--lx-feedback-warning-soft);color:var(--lx-feedback-warning-on-soft);font:var(--lx-typography-caption);font-weight:var(--lx-font-weight-bold);padding:var(--lx-space-0-5) var(--lx-space-2);border-radius:var(--lx-radius-full);white-space:nowrap}.unit-completion-screen,.course-completion-screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(var(--lx-space-8) + var(--lx-safe-top)) var(--lx-space-6) calc(var(--lx-space-8) + var(--lx-safe-bottom));gap:var(--lx-space-6);background:radial-gradient(90% 60% at 50% 0%,var(--lx-stage-glow-gold) 0%,transparent 70%),var(--lx-stage-bg);color:var(--lx-stage-text);text-align:center}.course-completion-screen{gap:var(--lx-space-5);background:radial-gradient(90% 60% at 50% 0%,var(--lx-stage-glow-brand) 0%,transparent 70%),var(--lx-stage-bg)}.unit-completion-hero,.course-completion-hero{text-align:center}.unit-completion-icon,.course-completion-icon{display:inline-flex;color:var(--lx-stage-gold);line-height:1;animation:lx-pop-in var(--lx-motion-duration-emphasis) var(--lx-motion-easing-overshoot)}.unit-completion-icon .icon,.course-completion-icon .icon{width:96px;height:96px}.unit-completion-title,.course-completion-title{font:var(--lx-typography-display-xl);color:var(--lx-stage-text);margin-top:var(--lx-space-3)}.unit-completion-subtitle,.course-completion-subtitle{font:var(--lx-typography-body);color:var(--lx-stage-text-secondary);margin-top:var(--lx-space-1)}.unit-stats-row,.course-stats{display:flex;gap:var(--lx-space-3);flex-wrap:wrap;justify-content:center}.unit-stat,.course-stat{display:flex;flex-direction:column;align-items:center;gap:var(--lx-space-1);min-width:90px;background:color-mix(in srgb,var(--lx-stage-text) 8%,transparent);border:var(--lx-border-width-thin) solid color-mix(in srgb,var(--lx-stage-text) 16%,transparent);border-radius:var(--lx-radius-lg);padding:var(--lx-space-4) var(--lx-space-5)}.unit-stat-value,.course-stat-value{font:var(--lx-typography-numeric);font-weight:var(--lx-font-weight-black);font-variant-numeric:tabular-nums;color:var(--lx-stage-text)}.unit-stat-label,.course-stat-label{font:var(--lx-typography-caption);color:var(--lx-stage-text-secondary);text-align:center}.unit-next-preview{width:100%;max-width:400px;text-align:left}.unit-next-label,.course-next-title{font:var(--lx-typography-label-sm);color:var(--lx-stage-text-secondary);margin-bottom:var(--lx-space-2);text-transform:uppercase;letter-spacing:.04em}.unit-next-card,.course-next-item{background:color-mix(in srgb,var(--lx-stage-text) 8%,transparent);border:var(--lx-border-width-thin) solid color-mix(in srgb,var(--lx-stage-text) 16%,transparent);border-radius:var(--lx-radius-lg);padding:var(--lx-space-4);display:flex;gap:var(--lx-space-3);align-items:flex-start;text-align:left}.unit-next-icon,.course-next-icon{width:var(--lx-size-icon-lg);height:var(--lx-size-icon-lg);color:var(--lx-stage-landmark-tracking)}.unit-next-title,.course-next-item-title{font:var(--lx-typography-title-sm);color:var(--lx-stage-text)}.unit-next-desc,.course-next-item-desc{font:var(--lx-typography-body-sm);color:var(--lx-stage-text-secondary);margin-top:var(--lx-space-1)}.unit-completion-cta{width:100%;max-width:360px}.course-share-btn{width:100%;max-width:320px}.course-profile-btn{color:var(--lx-stage-landmark-tracking)}.course-next-steps{width:100%;max-width:400px;display:flex;flex-direction:column;gap:var(--lx-space-2);text-align:left}.course-next-item{align-items:center;cursor:pointer;width:100%;min-height:var(--lx-size-touch-comfort);color:var(--lx-stage-text)}.course-next-item>div{flex:1;min-width:0}.course-next-item--disabled{cursor:not-allowed}.course-next-arrow{color:var(--lx-stage-text-secondary);margin-left:auto}.streak-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:transparent;z-index:var(--lx-z-index-sheet);display:flex;align-items:flex-end;transition:background-color var(--lx-motion-duration-slow) var(--lx-motion-easing-standard)}.streak-sheet-backdrop--visible{background:var(--lx-bg-scrim)}.streak-sheet{width:100%;background:var(--lx-bg-raised);border-radius:var(--lx-radius-xl) var(--lx-radius-xl) 0 0;padding:var(--lx-space-3) var(--lx-space-6) calc(var(--lx-space-8) + var(--lx-safe-bottom));display:flex;flex-direction:column;align-items:center;gap:var(--lx-space-3);box-shadow:var(--lx-elevation-3);transform:translateY(100%);transition:transform var(--lx-motion-duration-slow) var(--lx-motion-easing-decelerate);max-width:480px;margin:0 auto}.streak-sheet--open{transform:translateY(0)}@media (prefers-reduced-motion: reduce){.streak-sheet{transition:none}}.streak-sheet-handle{width:var(--lx-space-8);height:var(--lx-space-1);border-radius:var(--lx-radius-full);background:var(--lx-border-strong);margin-bottom:var(--lx-space-2)}.streak-sheet-icon{line-height:1}.streak-sheet-icon .icon{width:var(--lx-size-icon-hero);height:var(--lx-size-icon-hero)}.streak-sheet-icon--broken{color:var(--lx-game-locked-fg)}.streak-sheet-icon--install{color:var(--lx-text-brand)}.install-steps{list-style:none;width:100%;display:flex;flex-direction:column;gap:var(--lx-space-2)}.install-step{display:flex;align-items:center;gap:var(--lx-space-3);min-height:var(--lx-size-touch-min);padding:var(--lx-space-2) var(--lx-space-4);border-radius:var(--lx-radius-md);background:var(--lx-bg-sunken);font:var(--lx-typography-body);color:var(--lx-text-primary)}.install-step-icon{display:inline-flex;flex:none;color:var(--lx-text-brand)}.install-step-icon .icon{width:var(--lx-size-icon-lg);height:var(--lx-size-icon-lg)}.install-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"icon text close" ". action .";align-items:center;gap:var(--lx-space-2);min-height:var(--lx-size-touch-min);padding:var(--lx-space-2) var(--lx-space-1) var(--lx-space-2) var(--lx-space-3);border:var(--lx-border-width-thin) solid var(--lx-border-subtle);border-radius:var(--lx-radius-md);background:var(--lx-bg-surface)}.install-banner-icon{grid-area:icon;display:inline-flex;flex:none;color:var(--lx-text-brand)}.install-banner-icon .icon{width:var(--lx-size-icon-lg);height:var(--lx-size-icon-lg)}.install-banner-text{grid-area:text;flex:1;min-width:0;display:flex;flex-direction:column}.install-banner-title{font:var(--lx-typography-body-sm);font-weight:var(--lx-font-weight-bold);color:var(--lx-text-primary)}.install-banner-sub{font:var(--lx-typography-caption);color:var(--lx-text-secondary)}.install-banner-action{grid-area:action;justify-self:start;max-width:100%;flex:none;margin-bottom:0;touch-action:manipulation}.install-banner-close{grid-area:close;color:var(--lx-text-secondary);touch-action:manipulation}.install-banner-close .icon{width:var(--lx-size-icon-md);height:var(--lx-size-icon-md)}@media (min-width: 560px){.install-banner{grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"icon text action close"}}.streak-sheet-title{font:var(--lx-typography-title);text-align:center;color:var(--lx-text-primary)}.streak-sheet-sub{font:var(--lx-typography-body);color:var(--lx-text-secondary);text-align:center}.streak-sheet-actions{width:100%;display:flex;flex-direction:column;gap:var(--lx-space-3);margin-top:var(--lx-space-2)}.auth-body{padding:var(--lx-space-5) var(--lx-space-4) var(--lx-space-8);display:flex;flex-direction:column;gap:var(--lx-space-4);max-width:var(--lx-size-content-max);width:100%;margin:0 auto}.auth-lead{font:var(--lx-typography-body);color:var(--lx-text-secondary)}.auth-divider{display:flex;align-items:center;gap:var(--lx-space-3);font:var(--lx-typography-label-sm);color:var(--lx-text-secondary)}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:var(--lx-border-width-thin);background:var(--lx-border-default)}.auth-form{display:flex;flex-direction:column;gap:var(--lx-space-4)}.auth-field{display:flex;flex-direction:column;gap:var(--lx-space-1)}.auth-label{font:var(--lx-typography-label);color:var(--lx-text-primary)}.auth-input{width:100%;min-height:var(--lx-size-touch-comfort);padding:0 var(--lx-space-4);border:var(--lx-border-width-thick) solid var(--lx-border-strong);border-radius:var(--lx-radius-md);font:var(--lx-typography-body-lg);color:var(--lx-text-primary);background:var(--lx-bg-surface);transition:border-color var(--lx-motion-duration-fast) var(--lx-motion-easing-standard)}.auth-input:focus{border-color:var(--lx-border-focus);outline:none}.auth-input:focus-visible{outline:var(--lx-border-width-focus-ring) solid var(--lx-border-focus);outline-offset:var(--lx-border-width-focus-offset)}.auth-input[aria-invalid=true]{border-color:var(--lx-feedback-error-strong)}.auth-input:disabled{background:var(--lx-bg-sunken);color:var(--lx-text-secondary)}.auth-input--code{font:var(--lx-typography-numeric);letter-spacing:.3em;text-align:center}.auth-password{position:relative}.auth-password .auth-input{padding-right:calc(var(--lx-size-touch-min) + var(--lx-space-2))}.auth-password-toggle{position:absolute;top:50%;right:var(--lx-space-1);transform:translateY(-50%);width:var(--lx-size-touch-min);height:var(--lx-size-touch-min);display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--lx-radius-full);background:transparent;color:var(--lx-text-secondary);cursor:pointer}.auth-password-toggle .icon{width:var(--lx-size-icon-md);height:var(--lx-size-icon-md)}.auth-password-toggle:focus-visible{outline:var(--lx-border-width-focus-ring) solid var(--lx-border-focus);outline-offset:calc(-1 * var(--lx-border-width-focus-ring))}.auth-hint{font:var(--lx-typography-body-sm);color:var(--lx-text-secondary)}.auth-forgot{align-self:flex-end;padding:0 var(--lx-space-1)}.auth-error{display:flex;align-items:flex-start;gap:var(--lx-space-2);width:100%;padding:var(--lx-space-3) var(--lx-space-4);border-radius:var(--lx-radius-md);background:var(--lx-feedback-error-soft);color:var(--lx-feedback-error-on-soft);font:var(--lx-typography-body);text-align:left}.auth-error .icon{flex:none;width:var(--lx-size-icon-md);height:var(--lx-size-icon-md)}.auth-error:focus{outline:none}.auth-error:focus-visible{outline:var(--lx-border-width-focus-ring) solid var(--lx-border-focus);outline-offset:var(--lx-border-width-focus-offset)}.auth-notice{display:flex;align-items:flex-start;gap:var(--lx-space-2);width:100%;padding:var(--lx-space-3) var(--lx-space-4);border-radius:var(--lx-radius-md);background:var(--lx-feedback-info-soft);color:var(--lx-feedback-info-on-soft);font:var(--lx-typography-body)}.auth-notice .icon{flex:none;width:var(--lx-size-icon-md);height:var(--lx-size-icon-md)}.auth-switch{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 var(--lx-space-1);font:var(--lx-typography-body);color:var(--lx-text-secondary)}.auth-switch .btn-text{padding:0 var(--lx-space-2)}.auth-card{display:flex;flex-direction:column;align-items:center;gap:var(--lx-space-3);padding:var(--lx-space-6) var(--lx-space-5);background:var(--lx-bg-surface);border:var(--lx-border-width-thin) solid var(--lx-border-default);border-radius:var(--lx-radius-lg);text-align:center}.auth-card-icon{color:var(--lx-text-brand)}.auth-card-title{font:var(--lx-typography-title);color:var(--lx-text-primary)}.auth-card-text{font:var(--lx-typography-body);color:var(--lx-text-secondary);overflow-wrap:anywhere}.auth-callback-title{font:var(--lx-typography-title);color:var(--lx-text-primary)}.auth-callback{min-height:100dvh;flex-direction:column;gap:var(--lx-space-4);padding:var(--lx-space-4);text-align:center}.profile-account{display:inline-flex;align-items:center;gap:var(--lx-space-1);max-width:100%;margin-top:var(--lx-space-1);padding:var(--lx-space-1) var(--lx-space-3);border-radius:var(--lx-radius-full);background:var(--lx-bg-sunken);color:var(--lx-text-secondary);font:var(--lx-typography-label-sm)}.profile-account span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-account .icon{flex:none}.profile-account--signed{background:var(--lx-feedback-success-soft);color:var(--lx-feedback-success-on-soft)}.account-banner{display:flex;flex-direction:column;gap:var(--lx-space-3)}.account-banner-head{display:flex;align-items:flex-start;gap:var(--lx-space-3)}.account-banner-icon{flex:none;width:var(--lx-size-icon-lg);height:var(--lx-size-icon-lg);color:var(--lx-text-brand)}.account-banner-text{display:flex;flex-direction:column;gap:var(--lx-space-1)}.account-banner-actions{display:flex;flex-direction:column;align-items:stretch;gap:var(--lx-space-1)}.account-banner-actions .btn-text{align-self:center}.settings-item-value--wrap{overflow-wrap:anywhere}.settings-item--btn:disabled{cursor:progress}.offline-progress{flex:none;width:100%;margin-top:var(--lx-space-1)}.legal-consent{font:var(--lx-typography-body-sm);color:var(--lx-text-secondary);text-align:center}.legal-consent a,.legal-doc a,.legal-related a{color:var(--lx-text-brand);font-weight:var(--lx-font-weight-semibold);text-decoration:underline;text-underline-offset:.15em;overflow-wrap:anywhere}.settings-item--link{text-decoration:none}.cam-stats-body{padding:var(--lx-space-4) var(--lx-space-4) var(--lx-space-10);display:flex;flex-direction:column;gap:var(--lx-space-4);max-width:var(--lx-size-content-max);width:100%;margin:0 auto}.cam-stats-intro{font:var(--lx-typography-body);color:var(--lx-text-secondary)}.cam-stats-empty{display:flex;flex-direction:column;align-items:center;gap:var(--lx-space-3);padding:var(--lx-space-8) var(--lx-space-4);text-align:center}.cam-stats-empty-icon{color:var(--lx-game-hand-fill)}.cam-stats-empty h2{font:var(--lx-typography-title);color:var(--lx-text-primary)}.cam-stats-empty p{font:var(--lx-typography-body);color:var(--lx-text-secondary)}.cam-stats-summary{display:flex;flex-wrap:wrap;gap:var(--lx-space-2);list-style:none}.cam-stats-chip{display:inline-flex;align-items:center;min-height:28px;padding:var(--lx-space-1) var(--lx-space-3);border-radius:var(--lx-radius-full);background:var(--lx-bg-sunken);color:var(--lx-text-secondary);font:var(--lx-typography-label-sm);font-variant-numeric:tabular-nums}.cam-stats-list-label{padding-bottom:0}.cam-stats-list{list-style:none;display:flex;flex-direction:column;gap:var(--lx-space-3)}.cam-stats-item{background:var(--lx-bg-surface);border:var(--lx-border-width-thin) solid var(--lx-border-subtle);border-radius:var(--lx-radius-lg);box-shadow:var(--lx-elevation-1);padding:var(--lx-space-4);display:flex;flex-direction:column;gap:var(--lx-space-3)}.cam-stats-head{display:flex;align-items:center;gap:var(--lx-space-3)}.cam-stats-gloss{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:var(--lx-size-touch-min);height:var(--lx-size-touch-min);padding:0 var(--lx-space-2);border-radius:var(--lx-radius-sm);background:var(--lx-game-hand-soft);color:var(--lx-game-hand-text);font:var(--lx-typography-title);letter-spacing:.02em}.cam-stats-gloss--word{font:var(--lx-typography-title-sm);max-width:50%;overflow-wrap:anywhere}.cam-stats-head-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--lx-space-0-5)}.cam-stats-kind{font:var(--lx-typography-label);font-weight:var(--lx-font-weight-semibold);color:var(--lx-text-primary)}.cam-stats-runs{font:var(--lx-typography-body-sm);color:var(--lx-text-secondary)}.cam-stats-level{flex:none;display:inline-flex;align-items:center;gap:var(--lx-space-1);padding:var(--lx-space-0-5) var(--lx-space-2);border-radius:var(--lx-radius-full);font:var(--lx-typography-caption);font-weight:var(--lx-font-weight-semibold);white-space:nowrap}.cam-stats-level .icon{width:var(--lx-size-icon-sm);height:var(--lx-size-icon-sm)}.cam-stats-level--hard{background:var(--lx-feedback-error-soft);color:var(--lx-feedback-error-on-soft)}.cam-stats-level--attention{background:var(--lx-feedback-warning-soft);color:var(--lx-feedback-warning-on-soft)}.cam-stats-level--ok{background:var(--lx-feedback-success-soft);color:var(--lx-feedback-success-on-soft)}.cam-stats-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:var(--lx-space-2) var(--lx-space-4)}.cam-stats-metric{display:flex;flex-direction:column;gap:var(--lx-space-0-5);min-width:0}.cam-stats-metric dt{font:var(--lx-typography-caption);color:var(--lx-text-secondary)}.cam-stats-metric dd{font:var(--lx-typography-body);font-weight:var(--lx-font-weight-semibold);color:var(--lx-text-primary)}.cam-stats-wrong{display:flex;flex-wrap:wrap;align-items:center;gap:var(--lx-space-2)}.cam-stats-wrong-label{font:var(--lx-typography-caption);color:var(--lx-text-secondary)}.cam-stats-wrong-list{display:flex;flex-wrap:wrap;gap:var(--lx-space-1);list-style:none}.cam-stats-wrong-chip{padding:var(--lx-space-0-5) var(--lx-space-2);border-radius:var(--lx-radius-sm);background:var(--lx-game-trace-soft);color:var(--lx-game-trace-on-soft);font:var(--lx-typography-label-sm);font-variant-numeric:tabular-nums}.cam-stats-actions{display:flex;flex-direction:column;gap:var(--lx-space-3);margin-top:var(--lx-space-2)}.cam-stats-clear{color:var(--lx-feedback-error-text);border-color:var(--lx-action-danger-bg)}.cam-stats-note{display:flex;align-items:flex-start;gap:var(--lx-space-2);font:var(--lx-typography-body-sm);color:var(--lx-text-secondary)}.cam-stats-note .icon{flex:none;width:var(--lx-size-icon-md);height:var(--lx-size-icon-md);color:var(--lx-game-hand-text)}.legal-body{padding:var(--lx-space-5) var(--lx-space-4) var(--lx-space-10);display:flex;flex-direction:column;gap:var(--lx-space-5);max-width:var(--lx-size-content-max);width:100%;margin:0 auto}.legal-meta{display:flex;flex-wrap:wrap;gap:var(--lx-space-2);list-style:none}.legal-chip{display:inline-flex;align-items:center;min-height:28px;padding:var(--lx-space-1) var(--lx-space-3);border-radius:var(--lx-radius-full);background:var(--lx-bg-sunken);color:var(--lx-text-secondary);font:var(--lx-typography-label-sm)}.legal-notice{display:flex;align-items:flex-start;gap:var(--lx-space-2);padding:var(--lx-space-3) var(--lx-space-4);border-radius:var(--lx-radius-md);background:var(--lx-feedback-info-soft);color:var(--lx-feedback-info-on-soft);font:var(--lx-typography-body)}.legal-notice .icon{flex:none;width:var(--lx-size-icon-md);height:var(--lx-size-icon-md)}.legal-toc{padding:var(--lx-space-3) var(--lx-space-4);background:var(--lx-bg-surface);border:var(--lx-border-width-thin) solid var(--lx-border-default);border-radius:var(--lx-radius-lg)}.legal-toc-title{font:var(--lx-typography-label-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--lx-text-secondary);padding:var(--lx-space-1) 0}.legal-toc ul{list-style:none;display:flex;flex-direction:column}.legal-toc a{display:flex;align-items:center;min-height:var(--lx-size-touch-min);color:var(--lx-text-primary);font:var(--lx-typography-body);text-decoration:none}.legal-toc a:hover,.legal-toc a:focus-visible{color:var(--lx-text-brand);text-decoration:underline}.legal-doc{display:flex;flex-direction:column;gap:var(--lx-space-3);font:var(--lx-typography-body);color:var(--lx-text-primary)}.legal-doc h2{margin-top:var(--lx-space-5);font:var(--lx-typography-title-sm);color:var(--lx-text-primary);scroll-margin-top:calc(var(--lx-size-top-bar) + var(--lx-safe-top) + var(--lx-space-4))}.legal-doc h2:focus{outline:none}.legal-doc h2:focus-visible{outline:var(--lx-border-width-focus-ring) solid var(--lx-border-focus);outline-offset:var(--lx-border-width-focus-offset)}.legal-doc h3{margin-top:var(--lx-space-2);font:var(--lx-typography-label);color:var(--lx-text-primary)}.legal-doc ul{display:flex;flex-direction:column;gap:var(--lx-space-2);padding-left:var(--lx-space-5)}.legal-doc strong{font-weight:var(--lx-font-weight-bold)}.legal-related{padding-top:var(--lx-space-4);border-top:var(--lx-border-width-thin) solid var(--lx-border-subtle);font:var(--lx-typography-body);color:var(--lx-text-secondary)}:root{--animate-duration: var(--lx-motion-duration-slow)}.animate__animated{animation-timing-function:var(--lx-motion-easing-decelerate)}.animate__faster{animation-duration:var(--lx-motion-duration-base)!important}.wow-glow{position:relative;isolation:isolate}.wow-glow:after{content:"";position:absolute;top:-18%;right:-18%;bottom:-18%;left:-18%;border-radius:var(--lx-radius-full);background:radial-gradient(circle,currentColor 0%,transparent 65%);opacity:.16;z-index:-1;animation:lx-glow-pulse var(--lx-motion-duration-ambient) var(--lx-motion-easing-standard) infinite}@keyframes lx-glow-pulse{0%,to{transform:scale(.9);opacity:.1}50%{transform:scale(1.1);opacity:.22}}.wow-float{animation:lx-float var(--lx-motion-duration-ambient) var(--lx-motion-easing-standard) infinite}@keyframes lx-float{0%,to{transform:translateY(0)}50%{transform:translateY(calc(-1 * var(--lx-space-2)))}}@media (prefers-reduced-motion: reduce){.wow-glow:after,.wow-float,.mc-choice.selected-correct,.mc-choice.mc-choice--correct,.mc-choice.selected-wrong,.mc-choice.mc-choice--wrong{animation:none!important}}:root[data-reduced-motion=true] .wow-glow:after,:root[data-reduced-motion=true] .wow-float,:root[data-reduced-motion=true] .lesson-row.current .lesson-node:after,:root[data-reduced-motion=true] .animate__animated{animation:none!important}.main-content{animation:lx-fade-in var(--lx-motion-duration-base) var(--lx-motion-easing-standard) both}@keyframes bounceIn{0%{opacity:0;transform:scale(calc(1 - .04 * var(--lx-motion-scale, 1)))}to{opacity:1;transform:scale(1)}}@keyframes zoomIn{0%{opacity:0;transform:scale(calc(1 - .04 * var(--lx-motion-scale, 1)))}to{opacity:1;transform:scale(1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(calc(var(--lx-space-3) * var(--lx-motion-scale, 1)))}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(calc(-1 * var(--lx-space-3) * var(--lx-motion-scale, 1)))}to{opacity:1;transform:translateY(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(calc(var(--lx-space-4) * var(--lx-motion-scale, 1)))}to{opacity:1;transform:translate(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(calc(-1 * var(--lx-space-4) * var(--lx-motion-scale, 1)))}to{opacity:1;transform:translate(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(calc(var(--lx-space-4) * var(--lx-motion-scale, 1)))}to{opacity:1;transform:translateY(0)}}@keyframes tada{0%{transform:scale(1)}50%{transform:scale(calc(1 + .04 * var(--lx-motion-scale, 1)))}to{transform:scale(1)}}@keyframes headShake{0%,to{transform:translate(0)}25%{transform:translate(calc(-1 * var(--lx-space-1) * var(--lx-motion-scale, 1)))}75%{transform:translate(calc(var(--lx-space-1) * var(--lx-motion-scale, 1)))}}
