:root{color-scheme:dark;--brand: #6c63ff;--brand-500: var(--brand);--brand-400: color-mix(in srgb, var(--brand) 90%, #ffffff 10%);--brand-300: color-mix(in srgb, var(--brand) 78%, #ffffff 22%);--brand-200: color-mix(in srgb, var(--brand) 65%, #ffffff 35%);--brand-100: color-mix(in srgb, var(--brand) 35%, #ffffff 65%);--accent: #ff5c5c;--accent-hover: color-mix(in srgb, var(--accent) 94%, #000000 6%);--accent-active: color-mix(in srgb, var(--accent) 88%, #000000 12%);--bg: #0b0d12;--bg-ink: #ededef;--surface-1: #1c1c1e;--surface-2: #232326;--card-bg-dark: color-mix( in srgb, var(--surface-1) 90%, rgba(6, 9, 16, .45) 10% );--card-elevated-dark: color-mix( in srgb, var(--surface-2) 82%, rgba(6, 9, 16, .68) 18% );--surface: var(--surface-1);--surface-ink: var(--bg-ink);--surface-elevated: color-mix( in srgb, var(--surface-2) 88%, color-mix(in srgb, var(--bg-ink) 34%, transparent) 12% );--surface-elevated-border: color-mix( in srgb, var(--surface-2) 42%, transparent );--muted-base: #d5d5da;--muted: color-mix(in srgb, var(--bg-ink) 68%, var(--muted-base) 32%);--text: #ededef;--text-subtle: #b3b3b6;--text-secondary-dark: color-mix( in srgb, var(--text) 78%, rgba(255, 255, 255, .26) 22% );--text-secondary: var(--text-secondary-dark);--text-on-accent: #0e0e10;--ring: color-mix(in srgb, var(--brand) 55%, transparent);--danger: var(--accent);--success-500: #30d158;--danger-500: var(--danger);--cal-done-bg: color-mix(in oklab, var(--success-500) 18%, transparent);--cal-done-ring: var(--success-500);--cal-missed-bg: color-mix(in oklab, var(--danger-500) 16%, transparent);--cal-missed-ring: var(--danger-500);--cal-today-ring: color-mix(in oklab, var(--brand-500) 70%, transparent);--cal-hover-bg: color-mix(in oklab, var(--surface-2) 32%, transparent);--warning: #f8a72b;--shadow-soft: 0 18px 42px rgba(8, 10, 16, .36);--shadow-card: 0 24px 48px rgba(8, 10, 16, .45);--shadow-elevated: 0 32px 68px rgba(8, 10, 16, .52);--radius-sm: 12px;--radius-md: 16px;--radius-lg: 16px;--radius-full: 999px;--answer-bg: var(--surface-elevated);--answer-text: var(--text);--answer-border: var(--surface-elevated-border);--answer-shadow-hover: 0 16px 32px rgba(108, 99, 255, .18);--choice-bg: #1c1c1e;--choice-text: #f5f6fb;--choice-border: color-mix(in srgb, var(--brand) 34%, transparent);--choice-bg-selected: color-mix(in srgb, var(--brand) 26%, #1c1c1e 74%);--choice-text-selected: var(--choice-text);--choice-indicator-bg: color-mix(in srgb, var(--brand) 22%, transparent);--choice-indicator-bg-active: color-mix(in srgb, var(--brand) 44%, transparent);--choice-indicator-border: color-mix(in srgb, var(--brand) 85%, transparent);--choice-indicator-fg: var(--bg-ink);--choice-focus-ring: color-mix(in srgb, var(--brand) 55%, transparent);--skeleton-dark-start: color-mix( in srgb, var(--profile-card-bg) 92%, rgba(0, 0, 0, .78) 8% );--skeleton-dark-end: color-mix( in srgb, var(--profile-card-bg) 86%, rgba(0, 0, 0, .88) 14% );--skeleton-start: var(--skeleton-dark-start);--skeleton-end: var(--skeleton-dark-end);--skeleton-base: linear-gradient(90deg, var(--skeleton-start) 0%, var(--skeleton-end) 100%);--skeleton-highlight: color-mix(in srgb, rgba(255, 255, 255, .32) 18%, transparent);--space-2xs: 4px;--space-xs: 8px;--space-sm: 12px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--font-family-base: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--transition-base: .18s ease;--max-card-width: 440px;--layout-padding: 16px;--vh: 1vh;--app-height: calc(var(--vh, 1vh) * 100);--viewport-inline: 100%;--app-shell-max-width: 100%;--app-shell-gutter: 0px;--safe-area-top-env: env(safe-area-inset-top, 0px);--safe-area-right-env: env(safe-area-inset-right, 0px);--safe-area-bottom-env: env(safe-area-inset-bottom, 0px);--safe-area-left-env: env(safe-area-inset-left, 0px);--safe-area-top-tg: 0px;--safe-area-right-tg: 0px;--safe-area-bottom-tg: 0px;--safe-area-left-tg: 0px;--safe-top: max(var(--safe-area-top-env), var(--safe-area-top-tg));--safe-bottom: max(var(--safe-area-bottom-env), var(--safe-area-bottom-tg));--safe-left-env: env(safe-area-inset-left, 0px);--safe-right-env: env(safe-area-inset-right, 0px);--safe-left: max(var(--safe-left-env), var(--safe-area-left-tg));--safe-right: max(var(--safe-right-env), var(--safe-area-right-tg));--safe-area-top: var(--safe-top);--safe-area-right: var(--safe-right);--safe-area-bottom: var(--safe-bottom);--safe-area-left: var(--safe-left);--page-gutter: 12px;--page-gutter-inline-start: max( var(--page-gutter), env(safe-area-inset-left, 0px), var(--safe-area-left-tg) );--page-gutter-inline-end: max( var(--page-gutter), env(safe-area-inset-right, 0px), var(--safe-area-right-tg) );--page-inline-start: var(--page-gutter-inline-start);--page-inline-end: var(--page-gutter-inline-end);--page-max-width: 100%;--profile-page-max-width: 100%;--profile-page-margin-inline: 0;--profile-card-bg: color-mix( in srgb, var(--surface-2) 86%, rgba(10, 12, 18, .78) 14% );--profile-card-border: color-mix( in srgb, rgba(255, 255, 255, .18) 18%, transparent );--profile-card-divider: color-mix( in srgb, rgba(255, 255, 255, .22) 14%, transparent );--profile-card-shadow: 0 18px 42px rgba(6, 8, 16, .48);--home-hero-background: linear-gradient( 180deg, color-mix(in srgb, var(--brand) 26%, rgba(10, 14, 24, .9)) 0%, color-mix(in srgb, var(--card-elevated-dark) 94%, transparent) 100% );--home-hero-border: color-mix(in srgb, var(--border) 70%, transparent);--home-hero-shadow: var(--shadow-md);--chip-bg: color-mix(in srgb, var(--surface-2) 88%, transparent);--chip-border: color-mix(in srgb, var(--border) 92%, transparent);--chip-text: color-mix(in srgb, var(--text) 96%, transparent);--chip-text-subtle: color-mix(in srgb, var(--text) 78%, transparent);--chip-bg-active: color-mix(in srgb, var(--brand) 26%, transparent);--chip-text-active: var(--text);--primary: var(--brand);--primary-600: color-mix(in srgb, var(--brand) 82%, #000000 18%);--primary-500: var(--brand-500);--primary-400: color-mix(in srgb, var(--brand) 88%, #ffffff 12%);--primary-300: color-mix(in srgb, var(--brand) 75%, #ffffff 25%);--primary-100: color-mix(in srgb, var(--brand) 24%, #ffffff 76%);--bg-0: var(--bg);--bg-1: var(--surface);--text-0: var(--text);--text-1: var(--muted);--brand-600: var(--primary-600);--border: rgba(255, 255, 255, .08);--card-border: rgba(255, 255, 255, .08);--header-gradient: linear-gradient( 180deg, color-mix(in srgb, var(--brand) 42%, transparent) 0%, transparent 100% );--card-backdrop: rgba(15, 17, 21, .82);--surface-color: color-mix(in srgb, var(--surface-ink) 6%, transparent);--shadow-sm: 0 8px 20px rgba(8, 10, 16, .32);--shadow-md: 0 18px 42px rgba(8, 10, 16, .4);--shadow-lg: 0 32px 70px rgba(8, 10, 16, .55);--empty-illustration-stop-1: color-mix(in srgb, var(--brand) 55%, transparent);--empty-illustration-stop-2: color-mix(in srgb, var(--brand) 14%, transparent);--empty-illustration-highlight-1: color-mix(in srgb, var(--brand) 70%, transparent);--empty-illustration-highlight-2: color-mix(in srgb, var(--brand) 24%, transparent);--empty-illustration-bar: rgba(255, 255, 255, .12);--empty-illustration-accent: color-mix(in srgb, var(--accent) 86%, transparent);--empty-illustration-accent-contrast: rgba(8, 11, 16, .92)}html,body,#root{height:100%}html,body,#root,.app-shell,.app-main{width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding-inline:0;overflow-x:hidden}main,.app,.page{width:100%}.page{overflow-x:hidden}:root[data-theme=dark]{color-scheme:dark}@media (max-width: 767.98px){:root{--max-card-width: 100%}}:root[data-theme=light]{color-scheme:light;--bg: #f2f2f7;--bg-ink: #1c1c1e;--surface-1: #ffffff;--surface: var(--surface-1);--surface-2: #f6f6fb;--surface-ink: var(--bg-ink);--surface-elevated: color-mix( in srgb, var(--surface) 92%, color-mix(in srgb, var(--bg-ink) 32%, transparent) 8% );--surface-elevated-border: color-mix( in srgb, var(--surface-elevated) 22%, color-mix(in srgb, var(--bg-ink) 38%, transparent) 78% );--muted-base: #9a9aa4;--muted: color-mix(in srgb, var(--bg-ink) 68%, var(--muted-base) 32%);--text: var(--bg-ink);--text-subtle: color-mix(in srgb, var(--bg-ink) 65%, transparent);--text-on-accent: #ffffff;--ring: color-mix(in srgb, var(--brand) 55%, transparent);--cal-done-bg: color-mix(in oklab, var(--success-500) 30%, transparent);--cal-missed-bg: color-mix(in oklab, var(--danger-500) 30%, transparent);--cal-today-ring: color-mix(in oklab, var(--brand-500) 68%, transparent);--cal-hover-bg: color-mix(in oklab, var(--surface) 28%, transparent);--answer-bg: var(--surface-elevated);--answer-text: var(--text);--answer-border: var(--surface-elevated-border);--answer-shadow-hover: 0 16px 28px rgba(108, 99, 255, .12);--choice-bg: #ffffff;--choice-text: #1c1c1e;--choice-border: color-mix(in srgb, var(--brand) 36%, #1c1c1e 64%);--choice-bg-selected: color-mix(in srgb, var(--brand) 18%, #ffffff 82%);--choice-text-selected: var(--bg-ink);--choice-indicator-bg: color-mix(in srgb, var(--brand) 26%, #ffffff 74%);--choice-indicator-bg-active: color-mix(in srgb, var(--brand) 52%, #ffffff 48%);--choice-indicator-border: color-mix(in srgb, var(--brand) 80%, transparent);--choice-indicator-fg: #ffffff;--choice-focus-ring: color-mix(in srgb, var(--brand) 65%, transparent);--border: rgba(28, 28, 30, .08);--card-border: rgba(28, 28, 30, .08);--card-backdrop: rgba(255, 255, 255, .86);--surface-color: color-mix(in srgb, var(--surface-ink) 6%, transparent);--shadow-soft: 0 16px 36px rgba(28, 28, 30, .12);--shadow-card: 0 22px 44px rgba(28, 28, 30, .16);--shadow-elevated: 0 30px 60px rgba(28, 28, 30, .18);--shadow-sm: 0 8px 20px rgba(28, 28, 30, .14);--shadow-md: 0 18px 42px rgba(28, 28, 30, .16);--shadow-lg: 0 32px 70px rgba(28, 28, 30, .22);--empty-illustration-stop-1: color-mix(in srgb, var(--brand) 40%, transparent);--empty-illustration-stop-2: color-mix(in srgb, var(--brand) 12%, transparent);--empty-illustration-highlight-1: color-mix(in srgb, var(--brand) 60%, transparent);--empty-illustration-highlight-2: color-mix(in srgb, var(--brand) 20%, transparent);--empty-illustration-bar: rgba(28, 28, 30, .08);--empty-illustration-accent: color-mix(in srgb, var(--accent) 88%, transparent);--empty-illustration-accent-contrast: rgba(255, 255, 255, .95);--bg-0: var(--bg);--bg-1: var(--surface);--text-0: var(--text);--text-1: var(--muted);--brand-600: var(--primary-600);--card-bg-dark: color-mix(in srgb, var(--surface) 98%, transparent);--card-elevated-dark: color-mix(in srgb, var(--surface) 96%, transparent);--text-secondary-dark: color-mix(in srgb, var(--text) 64%, transparent);--text-secondary: color-mix(in srgb, var(--text) 64%, transparent);--skeleton-start: color-mix(in srgb, var(--surface) 92%, rgba(0, 0, 0, .04) 8%);--skeleton-end: color-mix(in srgb, var(--surface) 88%, rgba(0, 0, 0, .08) 12%);--skeleton-base: linear-gradient(90deg, var(--skeleton-start) 0%, var(--skeleton-end) 100%);--skeleton-highlight: color-mix(in srgb, rgba(255, 255, 255, .6) 45%, transparent);--profile-card-bg: color-mix(in srgb, var(--surface) 98%, transparent);--profile-card-border: color-mix(in srgb, var(--border) 82%, transparent);--profile-card-divider: color-mix(in srgb, var(--border) 72%, transparent);--profile-card-shadow: var(--shadow-soft);--home-hero-background: linear-gradient( 180deg, color-mix(in srgb, var(--brand) 18%, rgba(255, 255, 255, .86)) 0%, color-mix(in srgb, var(--surface) 96%, transparent) 100% );--home-hero-border: color-mix(in srgb, var(--border) 78%, transparent);--home-hero-shadow: var(--shadow-soft);--chip-bg: color-mix(in srgb, #ffffff 94%, rgba(28, 28, 30, .06));--chip-border: color-mix(in srgb, var(--border) 94%, transparent);--chip-text: color-mix(in srgb, var(--text) 94%, transparent);--chip-text-subtle: color-mix(in srgb, var(--text) 76%, transparent);--chip-bg-active: color-mix(in srgb, var(--brand) 32%, transparent);--chip-text-active: var(--text-on-accent)}@media (prefers-color-scheme: light){:root:not([data-theme]){color-scheme:light;--bg: #f2f2f7;--bg-ink: #1c1c1e;--surface: #ffffff;--surface-2: #f6f6fb;--surface-ink: var(--bg-ink);--surface-elevated: color-mix( in srgb, var(--surface) 92%, color-mix(in srgb, var(--bg-ink) 32%, transparent) 8% );--surface-elevated-border: color-mix( in srgb, var(--surface-elevated) 22%, color-mix(in srgb, var(--bg-ink) 38%, transparent) 78% );--muted-base: #9a9aa4;--muted: color-mix(in srgb, var(--bg-ink) 68%, var(--muted-base) 32%);--text: var(--bg-ink);--text-subtle: color-mix(in srgb, var(--bg-ink) 65%, transparent);--ring: color-mix(in srgb, var(--brand) 55%, transparent);--cal-done-bg: color-mix(in oklab, var(--success-500) 30%, transparent);--cal-missed-bg: color-mix(in oklab, var(--danger-500) 30%, transparent);--cal-today-ring: color-mix(in oklab, var(--brand-500) 68%, transparent);--cal-hover-bg: color-mix(in oklab, var(--surface) 28%, transparent);--answer-bg: var(--surface-elevated);--answer-text: var(--text);--answer-border: var(--surface-elevated-border);--answer-shadow-hover: 0 16px 28px rgba(108, 99, 255, .12);--choice-bg: #ffffff;--choice-text: #1c1c1e;--choice-border: color-mix(in srgb, var(--brand) 36%, #1c1c1e 64%);--choice-bg-selected: color-mix(in srgb, var(--brand) 18%, #ffffff 82%);--choice-text-selected: var(--bg-ink);--choice-indicator-bg: color-mix(in srgb, var(--brand) 26%, #ffffff 74%);--choice-indicator-bg-active: color-mix(in srgb, var(--brand) 52%, #ffffff 48%);--choice-indicator-border: color-mix(in srgb, var(--brand) 80%, transparent);--choice-indicator-fg: #ffffff;--choice-focus-ring: color-mix(in srgb, var(--brand) 65%, transparent);--border: rgba(28, 28, 30, .08);--card-border: rgba(28, 28, 30, .08);--card-backdrop: rgba(255, 255, 255, .86);--surface-color: color-mix(in srgb, var(--surface-ink) 6%, transparent);--shadow-soft: 0 16px 36px rgba(28, 28, 30, .12);--shadow-card: 0 22px 44px rgba(28, 28, 30, .16);--shadow-elevated: 0 30px 60px rgba(28, 28, 30, .18);--shadow-sm: 0 8px 20px rgba(28, 28, 30, .14);--shadow-md: 0 18px 42px rgba(28, 28, 30, .16);--shadow-lg: 0 32px 70px rgba(28, 28, 30, .22);--empty-illustration-stop-1: color-mix(in srgb, var(--brand) 40%, transparent);--empty-illustration-stop-2: color-mix(in srgb, var(--brand) 12%, transparent);--empty-illustration-highlight-1: color-mix(in srgb, var(--brand) 60%, transparent);--empty-illustration-highlight-2: color-mix(in srgb, var(--brand) 20%, transparent);--empty-illustration-bar: rgba(28, 28, 30, .08);--empty-illustration-accent: color-mix(in srgb, var(--accent) 88%, transparent);--empty-illustration-accent-contrast: rgba(255, 255, 255, .95);--bg-0: var(--bg);--bg-1: var(--surface);--text-0: var(--text);--text-1: var(--muted);--brand-600: var(--primary-600);--card-bg-dark: color-mix(in srgb, var(--surface) 98%, transparent);--card-elevated-dark: color-mix(in srgb, var(--surface) 96%, transparent);--text-secondary-dark: color-mix(in srgb, var(--text) 64%, transparent);--text-secondary: color-mix(in srgb, var(--text) 64%, transparent);--skeleton-start: color-mix(in srgb, var(--surface) 92%, rgba(0, 0, 0, .04) 8%);--skeleton-end: color-mix(in srgb, var(--surface) 88%, rgba(0, 0, 0, .08) 12%);--skeleton-base: linear-gradient(90deg, var(--skeleton-start) 0%, var(--skeleton-end) 100%);--skeleton-highlight: color-mix(in srgb, rgba(255, 255, 255, .6) 45%, transparent);--profile-card-bg: color-mix(in srgb, var(--surface) 98%, transparent);--profile-card-border: color-mix(in srgb, var(--border) 82%, transparent);--profile-card-divider: color-mix(in srgb, var(--border) 72%, transparent);--profile-card-shadow: var(--shadow-soft);--home-hero-background: linear-gradient( 180deg, color-mix(in srgb, var(--brand) 18%, rgba(255, 255, 255, .86)) 0%, color-mix(in srgb, var(--surface) 96%, transparent) 100% );--home-hero-border: color-mix(in srgb, var(--border) 78%, transparent);--home-hero-shadow: var(--shadow-soft);--chip-bg: color-mix(in srgb, #ffffff 94%, rgba(28, 28, 30, .06));--chip-border: color-mix(in srgb, var(--border) 94%, transparent);--chip-text: color-mix(in srgb, var(--text) 94%, transparent);--chip-text-subtle: color-mix(in srgb, var(--text) 76%, transparent);--chip-bg-active: color-mix(in srgb, var(--brand) 32%, transparent);--chip-text-active: var(--text-on-accent)}.lesson-card__badge{background:color-mix(in oklab,var(--brand-500) 22%,transparent);color:color-mix(in srgb,var(--bg-ink) 78%,transparent)}.lesson-card__tags li{background:color-mix(in srgb,var(--surface) 88%,rgba(28,28,30,.06))}}@supports (height: 100svh){:root{--app-height: 100svh}}@supports (width: 100svw){:root{--viewport-inline: min(100svw, 100%);--app-shell-max-width: min(100svw, 100%)}}@supports (width: 100dvw){:root{--viewport-inline: min(100dvw, 100%)}}@supports (height: 100dvh){:root{--app-height: 100dvh}}html,body,#root,.app-shell,.app-main{min-height:100vh}@supports (height: 100dvh){html,body,#root,.app-shell,.app-main{min-height:100dvh}}@supports (height: 100svh){html,body,#root,.app-shell,.app-main{min-height:100svh}}*,*:before,*:after{box-sizing:border-box}html{min-height:100%;max-width:100%;background:var(--bg-0);overflow-x:hidden;overscroll-behavior:none;-webkit-text-size-adjust:100%;scrollbar-gutter:stable both-edges}body{margin:0;min-height:100%;min-height:var(--app-height);display:flex;justify-content:center;align-items:stretch;width:100%;max-width:100%;background:var(--bg-0);color:var(--text-0);font-family:var(--font-family-base);font-size:clamp(16px,1.6vw,18px);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;overflow-y:hidden;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}@supports (overflow-x: clip){html,body,#root,.app-shell,.app-main{overflow-x:clip}}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-base);font-weight:600;color:var(--text);margin:0 0 .65em}h1{font-size:clamp(1.75rem,4vw,2.25rem);line-height:1.2}h2{font-size:clamp(1.375rem,3.5vw,1.875rem);line-height:1.3}h3{font-size:clamp(1.125rem,3vw,1.5rem);line-height:1.35}h4{font-size:clamp(1rem,2.4vw,1.25rem);line-height:1.4}:where(h1,h2,h3,h4,h5,h6,p){overflow-wrap:anywhere;hyphens:auto;text-wrap:balance}a{overflow-wrap:anywhere}#root{flex:1;display:flex;justify-content:center;align-items:stretch;width:100%;max-width:100%;min-height:var(--app-height);overflow:hidden}@supports (min-height: max(100%,100%)){#root{min-height:max(100%,var(--app-height))}}img,picture,video,canvas,iframe{max-width:100%;display:block}img,picture,video,canvas{height:auto}a{color:var(--brand);-webkit-tap-highlight-color:transparent}a[href]{touch-action:manipulation}a:hover{text-decoration:underline}button,input,select,textarea{font-family:inherit;font-size:1rem}button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.75rem 1.25rem;border-radius:var(--radius-md);border:1px solid transparent;background:var(--accent);color:var(--text-on-accent);font-weight:600;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform var(--transition-base),box-shadow var(--transition-base),background var(--transition-base),color var(--transition-base);box-shadow:0 18px 36px color-mix(in srgb,var(--accent) 28%,transparent)}button:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--surface) 60%,transparent),0 0 0 4px color-mix(in srgb,var(--ring) 70%,transparent)}button:hover:not([disabled]){transform:translateY(-1px);background:var(--accent-hover);box-shadow:0 22px 44px color-mix(in srgb,var(--accent) 32%,transparent)}button:active:not([disabled]){transform:scale(.98);background:var(--accent-active)}button[disabled]{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none;background:color-mix(in srgb,var(--accent) 55%,transparent)}button[aria-busy=true]{pointer-events:none}.button-spinner{width:18px;height:18px;border-radius:999px;border:2px solid rgba(248,250,252,.55);border-top-color:transparent;animation:button-spin .8s linear infinite}.field-error{margin-top:.4rem;font-size:.75rem;color:var(--danger)}.field-hint{margin-top:.5rem;color:var(--muted);font-size:.85rem}.link-button{background:transparent;border:none;color:var(--text-1);min-height:auto;padding:0;font-size:.85rem;font-weight:500;text-decoration:underline}.link-button:hover{background:transparent;box-shadow:none;transform:none;color:var(--text-0)}.link-button:active{transform:none}label{display:block;margin-bottom:.4rem;font-size:.875rem;font-weight:500;color:var(--muted)}input,select,textarea{width:100%;min-height:48px;padding:.65rem .85rem;border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--border) 70%,transparent);background:color-mix(in srgb,var(--surface) 94%,transparent);color:var(--text);transition:border-color var(--transition-base),box-shadow var(--transition-base),background var(--transition-base);box-sizing:border-box}input:focus,select:focus,textarea:focus{outline:none;border-color:color-mix(in srgb,var(--ring) 80%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--surface) 55%,transparent),0 0 0 4px color-mix(in srgb,var(--ring) 65%,transparent)}input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--muted) 70%,transparent)}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:color-mix(in srgb,var(--danger) 90%,transparent);box-shadow:none}input[disabled],select[disabled],textarea[disabled]{opacity:.7;cursor:not-allowed}input[type=checkbox]{width:1.15rem;height:1.15rem;min-height:auto;margin:0;padding:0;border-radius:6px;accent-color:var(--primary)}.loading{min-height:calc(var(--vh) * 60);display:grid;place-items:center;padding:2rem;color:var(--text-0)}.toasts{position:fixed;top:calc(var(--safe-top) + clamp(16px,calc(var(--vh) * 5),32px));left:50%;transform:translate(-50%);display:grid;gap:.75rem;width:min(var(--app-shell-max-width),calc(100% - (var(--page-inline-start) + var(--page-inline-end))));z-index:9999}.toast{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--border) 70%,transparent);background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--text);box-shadow:var(--shadow-md);font-size:.95rem;transition:transform var(--transition-base),opacity var(--transition-base)}.toast[data-enter]{opacity:0;transform:translateY(-12px) scale(.98)}.toast--success{border-color:color-mix(in srgb,var(--primary) 70%,transparent)}.toast--error{border-color:color-mix(in srgb,var(--danger) 70%,transparent)}.toast--info{border-color:color-mix(in srgb,var(--border) 80%,transparent)}.toast--warning{border-color:color-mix(in srgb,var(--warning) 70%,transparent)}.toast__icon{width:32px;height:32px;border-radius:999px;display:grid;place-items:center;font-weight:700;font-size:.85rem;background:color-mix(in srgb,var(--surface) 80%,transparent);color:var(--text)}.toast--success .toast__icon{background:color-mix(in srgb,var(--primary) 28%,transparent)}.toast--error .toast__icon{background:color-mix(in srgb,var(--danger) 28%,transparent)}.toast--warning .toast__icon{background:color-mix(in srgb,var(--warning) 28%,transparent)}.toast__content{display:block;line-height:1.4}.toast__action{background:transparent;border:1px solid color-mix(in srgb,var(--border) 75%,transparent);color:var(--text);padding:.35rem .75rem;border-radius:calc(var(--radius-md) - 6px);font-size:.85rem}.toast__action:hover{background:color-mix(in srgb,var(--surface) 80%,transparent)}.toast__dismiss{background:transparent;border:none;color:color-mix(in srgb,var(--muted) 80%,transparent);padding:.25rem;border-radius:999px;min-height:auto}.toast__dismiss:hover{background:color-mix(in srgb,var(--surface) 80%,transparent);color:var(--text)}.badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;padding:.25rem .75rem;border-radius:999px;background:#ffffff14;color:inherit}.badge.pending{background:#ffc10733;color:#ffecb3}.badge.approved{background:#4caf5033;color:#c8f0d0}.badge.rejected{background:#f4433633;color:#ffb3b3}.table-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-md)}.table{width:100%;border-collapse:collapse;min-width:min(720px,100%);color:inherit}.table th,.table td{padding:.75rem .85rem;border-top:1px solid var(--border);text-align:left}.table th{background:var(--bg-1);position:sticky;top:0;z-index:1}.app-shell{flex:1;inline-size:100%;max-inline-size:none;min-width:0;min-height:var(--app-height);margin:0;padding-block:0;padding-inline:0;display:grid;grid-template-rows:auto 1fr auto;position:relative;box-sizing:border-box;gap:0;overflow-x:hidden}.app,.screen,.page,.home-screen,.content{inline-size:100%;max-inline-size:none;margin:0;padding-inline:var(--page-inline-start) var(--page-inline-end);box-sizing:border-box}.full-bleed{margin-inline-start:calc(-1 * var(--page-inline-start));margin-inline-end:calc(-1 * var(--page-inline-end));padding-inline:var(--page-inline-start) var(--page-inline-end)}.edge-to-edge{inline-size:100%;max-inline-size:none;margin-inline:calc(-1 * var(--page-inline-start)) calc(-1 * var(--page-inline-end));padding-inline:var(--page-inline-start) var(--page-inline-end);box-sizing:border-box;display:block}html[data-overflow-debug] [data-overflow-debug=true]{outline:2px solid color-mix(in srgb,var(--danger) 85%,transparent);outline-offset:2px}.telegram-banner{background:color-mix(in srgb,var(--bg-1) 92%,transparent);border-bottom:1px solid color-mix(in srgb,var(--border) 65%,transparent);padding:.5rem 0;display:flex;align-items:center;flex-direction:column;gap:.35rem;justify-content:center}.telegram-banner__link{display:inline-flex;align-items:center;gap:.75rem;padding:.5rem 1.5rem;min-height:48px;border-radius:999px;background:var(--brand);color:var(--text-0);text-decoration:none;font-weight:600;letter-spacing:.01em;box-shadow:0 4px 12px #5b8cff59;transition:transform .2s ease,box-shadow .2s ease}.telegram-banner__link:hover,.telegram-banner__link:focus{transform:translateY(-1px);box-shadow:0 6px 18px #5b8cff73}.telegram-banner__link:focus-visible{outline:2px solid rgba(255,255,255,.8);outline-offset:3px}.telegram-banner__link:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.telegram-banner__hint{margin:0;font-size:.8rem;color:var(--text-2);text-align:center;max-width:min(90vw,640px)}.telegram-banner__emoji{font-size:1.5rem;line-height:1}.app-header{display:flex;flex-wrap:nowrap;align-items:center;gap:clamp(.5rem,3vw,1rem);min-width:0;width:100%;padding:calc(.75rem + var(--safe-top)) 0 .75rem;padding-inline:calc(var(--safe-area-left) + clamp(8px,3vw,18px)) calc(var(--safe-area-right) + clamp(8px,3vw,18px));position:sticky;top:0;z-index:100;background:var(--header-gradient);backdrop-filter:blur(16px);border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.dashboard{padding-inline:var(--page-inline-start) var(--page-inline-end)}.app-logo{justify-self:start;flex:0 0 auto}.app-header__nav-scroll{display:flex;align-items:center;min-width:0;margin:0;flex:1 1 auto;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch}.app-header__nav-scroll::-webkit-scrollbar{display:none}.app-logo{font-size:1.25rem;font-weight:700;letter-spacing:.01em;background:transparent;color:var(--text-0);border:none;padding:.25rem 0}.app-header__nav{display:flex;flex-wrap:nowrap;align-items:center;gap:clamp(.5rem,3vw,.75rem);min-height:44px;padding:.25rem 0;min-width:max-content}.app-header__nav-link{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:44px;min-width:0;padding:.35rem clamp(.9rem,2.6vw,1.2rem);border-radius:999px;color:var(--chip-text-subtle);text-decoration:none;font-weight:500;background:var(--chip-bg);touch-action:manipulation;position:relative;white-space:nowrap;line-height:1.2}.app-header__nav-link.is-active{background:var(--chip-bg-active);color:var(--chip-text-active)}.app-header__profile{width:44px;height:44px;border-radius:50%;border:1px solid color-mix(in srgb,var(--border) 70%,transparent);background:color-mix(in srgb,var(--bg-1) 85%,transparent);color:var(--text-0);font-weight:600;display:inline-flex;align-items:center;justify-content:center;text-transform:uppercase;position:relative;overflow:hidden;justify-self:end;flex:0 0 44px}.app-header__profile svg{width:22px;height:22px;color:var(--text-0)}.app-main{inline-size:100%;max-inline-size:none;min-height:0;min-width:0;margin:0;padding-block:0 calc(3rem + var(--safe-bottom));padding-inline:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-gutter:stable both-edges}.page-container{inline-size:100%;max-inline-size:none;margin:0;padding-inline:var(--page-inline-start) var(--page-inline-end);box-sizing:border-box;min-width:0}@media (min-width: 768px){.page-container{max-inline-size:none;padding-inline:var(--page-inline-start) var(--page-inline-end)}}.app-footer{padding:1.5rem 0 calc(1.5rem + var(--safe-bottom));padding-inline:var(--page-inline-start) var(--page-inline-end);background:color-mix(in srgb,var(--bg-0) 92%,transparent);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;text-align:center}.app-footer--notice{padding:1rem 0 calc(1rem + var(--safe-bottom))}.app-footer__links{width:min(var(--app-shell-max-width),100%);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem 1rem;font-size:.85rem;color:var(--text-1)}.app-footer__links a{color:inherit;text-decoration:underline;text-underline-offset:.18em}.app-footer__links a:hover,.app-footer__links a:focus-visible{color:var(--brand)}.app-footer__spacer{width:min(var(--app-shell-max-width),100%);min-block-size:clamp(48px,calc(var(--vh) * 9),64px);border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--profile-card-border) 88%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--profile-card-bg) 92%,transparent),color-mix(in srgb,var(--profile-card-bg) 70%,transparent));box-shadow:0 -20px 48px #080a106b;pointer-events:none}.app-footer--notice .app-footer__spacer{display:none}.app-footer__notice{margin:0;font-size:.85rem;color:var(--text-1);line-height:1.4;max-width:min(360px,90%)}.home-screen{width:100%;margin:0;padding:1.5rem 0 3.5rem;display:grid;gap:1.5rem}.home-hero{display:grid;grid-template-columns:auto 1fr;gap:1.25rem;padding:1.75rem 0;padding-inline:var(--page-inline-start) var(--page-inline-end);border-radius:var(--radius-lg);background:linear-gradient(180deg,#1b2565e0,#0c111be0);border:1px solid color-mix(in srgb,var(--border) 60%,transparent);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.home-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#5b8cff2e,#0c111b00);pointer-events:none}.home-hero__content{position:relative;display:grid;gap:.75rem;z-index:1}.home-hero__title{margin:0;font-size:1.875rem;line-height:1.2;font-weight:700;color:var(--text-0)}.home-hero__subtitle{margin:0;color:var(--text-1);font-size:1rem}.home-hero__progress{width:100%;height:6px;background:color-mix(in srgb,var(--bg-1) 65%,transparent);border-radius:999px;overflow:hidden}.home-hero__progress-bar{height:100%;border-radius:inherit;background:var(--brand);transition:width var(--transition-base)}.home-hero__progress-label{margin:0;font-size:.85rem;color:color-mix(in srgb,var(--brand) 60%,var(--text-0) 40%)}.home-hero__cta{width:100%;box-shadow:var(--shadow-sm)}.home-hero__media{position:relative;z-index:1;width:112px;align-self:end}.home-hero__media img{display:block;width:100%;height:auto}.home-section{display:grid;gap:.75rem}.home-section__title{margin:0;font-size:1.25rem;font-weight:600}.home-quick-actions{display:grid;gap:.75rem}.home-quick-actions__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.home-action{display:grid;gap:.25rem;align-items:start;padding:1rem;border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-1) 85%,transparent);border:1px solid color-mix(in srgb,var(--border) 60%,transparent);color:var(--text-0);text-align:left;min-height:112px;transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.home-action:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:var(--brand)}.home-action__icon{width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--brand) 12%,transparent);display:inline-flex;align-items:center;justify-content:center;font-size:1.25rem}.home-action__label{font-size:1rem;font-weight:600}.home-action__description{font-size:.85rem;color:var(--text-1);margin:0}.home-current{display:grid;gap:.75rem}.home-card{background:color-mix(in srgb,var(--bg-1) 90%,transparent);border:1px solid color-mix(in srgb,var(--border) 60%,transparent);border-radius:var(--radius-lg);padding:1.25rem 1.35rem;box-shadow:var(--shadow-sm);display:grid;gap:.75rem}.home-card__body{color:var(--text-1);font-size:.95rem;margin:0}.home-card__cta{justify-self:start;min-height:44px;padding-inline:1rem;font-size:.95rem;background:transparent;color:var(--brand);border:1px solid color-mix(in srgb,var(--brand) 55%,transparent)}.home-card__cta:hover{box-shadow:none;background:color-mix(in srgb,var(--brand) 12%,transparent)}.home-card__actions{display:flex;flex-wrap:wrap;gap:.5rem}.home-card__loading{display:grid;gap:.5rem}.home-tip{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:center;padding:1rem 1.25rem;border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--border) 60%,transparent);background:color-mix(in srgb,var(--bg-1) 85%,transparent)}.home-tip__text{margin:0;color:var(--text-1);font-size:.95rem;line-height:1.45}.home-tip__mascot{width:56px;height:56px}@media (max-width: 380px){.home-hero{grid-template-columns:1fr;text-align:center}.home-hero__media{justify-self:center;margin-bottom:.5rem}.home-hero__content{align-items:center}.home-hero__title{font-size:1.65rem}.onboarding-header{grid-template-columns:1fr;text-align:center}.onboarding-header__media{justify-self:center}}@media (min-width: 768px){.home-screen{padding:2rem 0 4rem}.home-quick-actions__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.pwa-install{position:fixed;left:50%;bottom:calc(1rem + var(--safe-bottom));transform:translate(-50%);width:min(var(--app-shell-max-width),calc(100% - (var(--page-inline-start) + var(--page-inline-end))));display:flex;justify-content:center;padding-block:0;padding-inline:max(0px,var(--safe-left)) max(0px,var(--safe-right));z-index:120}.pwa-install__button{width:100%}.main-screen{max-width:720px;margin:0 auto;padding:1.25rem 0 2rem;display:grid;gap:1.25rem}.main-screen__title{margin:0;font-size:1.65rem;font-weight:700}.main-screen__actions{display:grid;gap:.75rem}.main-screen__reset{opacity:.75}.main-screen__greeting{margin:0;opacity:.75}.main-skeleton{display:grid;gap:.75rem}.static-page,.page,.request-access,.contact-card,.card{max-width:720px;margin:0 auto;padding:1rem;display:grid;gap:1.25rem;box-sizing:border-box}.static-page__header{display:grid;gap:.5rem}.static-page__eyebrow{text-transform:uppercase;font-size:.75rem;letter-spacing:.12em;color:var(--text-1);margin:0}.static-page__lead,.contact-hint,.request-access__disclaimer{color:var(--text-1);margin:0}.contact-card{background:var(--bg-1);border-radius:var(--radius-md);border:1px solid var(--border);padding:1.25rem}.contact-card__item{display:grid;gap:.35rem;margin-bottom:1.25rem}.contact-card__item:last-child{margin-bottom:0}.contact-link{font-weight:600;color:var(--brand)}.contact-cta,.request-access__section{display:grid;gap:.65rem;align-items:flex-start}.request-access__form{display:grid;gap:.75rem}.request-access__field,.field{display:grid;gap:.35rem}.markdown{line-height:1.7}.markdown h1,.markdown h2,.markdown h3{margin-top:1.5rem;margin-bottom:.75rem}.markdown p{margin:.75rem 0}.markdown ul{padding-left:1.25rem}.contact-card,.card{background:var(--bg-1);border-radius:var(--radius-md);border:1px solid var(--border);padding:1.25rem 1.5rem;box-shadow:0 24px 60px #00000040}.request-access__error{background:#f4433633;border:1px solid rgba(244,67,54,.4);color:#ffcdd2;padding:.75rem 1rem;border-radius:var(--radius-md)}.ui-skeleton{position:relative;display:block;overflow:hidden;border-radius:var(--radius-md);background:var(--skeleton-base);min-height:.5rem}.ui-skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--skeleton-highlight),transparent);animation:skeleton-shimmer 1.1s ease-in-out infinite}@keyframes skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (prefers-reduced-motion: reduce){button{transition:none}button:hover:not([disabled]),button:active:not([disabled]){transform:none;box-shadow:none}.ui-skeleton:after{animation:none;opacity:.35}}.home-empty{display:grid;justify-items:center;text-align:center;gap:.75rem;color:var(--text-1)}.home-empty img{width:88px;height:auto}.home-empty .home-card__cta{justify-self:center}.onboarding-page{width:min(420px,100%);margin:0 auto;padding:1.5rem 0 3rem;display:grid;gap:1.5rem}.onboarding-header{display:grid;grid-template-columns:auto 1fr;gap:.85rem;align-items:center}.onboarding-header__media{width:72px;height:auto}.onboarding-header__title{margin:0;font-size:1.75rem;line-height:1.2;font-weight:700}.onboarding-header__hint{margin:0;color:var(--text-1);font-size:.95rem}.onboarding-card{background:color-mix(in srgb,var(--bg-1) 92%,transparent);border:1px solid color-mix(in srgb,var(--border) 60%,transparent);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm);display:grid;gap:1rem}.onboarding-telegram-login{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border-muted, rgba(0, 0, 0, .08))}.onboarding-telegram-login__title{margin:0 0 .5rem;font-size:1.125rem}.onboarding-telegram-login__description{margin:0 0 .75rem;color:var(--text-2)}.onboarding-telegram-login__widget{display:inline-block}.onboarding-telegram-login__status{margin-top:.75rem}.onboarding-card--skeleton{pointer-events:none;gap:var(--space-lg)}.onboarding-skeleton{display:grid;gap:var(--space-md)}.onboarding-skeleton__header{display:grid;gap:var(--space-xs)}.onboarding-skeleton__fields{display:grid;gap:var(--space-sm)}.onboarding-card h2{margin:0;font-size:1.25rem;font-weight:600}.onboarding-card__form{display:grid;gap:1rem}.onboarding-field{display:grid;gap:.4rem}.onboarding-field label{font-size:.95rem;font-weight:500}.onboarding-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.95rem;color:var(--text-1);white-space:normal;flex-wrap:wrap}.onboarding-checkbox input[type=checkbox]{width:20px;height:20px;margin:0;accent-color:var(--brand)}.onboarding-toast{padding:.75rem 1rem;border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--danger) 55%,transparent);background:color-mix(in srgb,var(--danger) 22%,transparent);color:#ffcece;font-size:.95rem}.onboarding-hint{font-size:.9rem;color:var(--text-1);margin:0}.onboarding-meta{display:grid;gap:.6rem}.onboarding-banners{display:grid;gap:.5rem}.onboarding-cta{justify-self:start;min-height:44px;padding-inline:1rem;border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--brand) 55%,transparent);background:transparent;color:var(--brand)}.onboarding-cta:hover{box-shadow:none;background:color-mix(in srgb,var(--brand) 12%,transparent)}.onboarding-banner{padding:.65rem .85rem;border-radius:var(--radius-md);border:1px solid transparent;font-size:.9rem;line-height:1.4}.onboarding-banner--info{background:color-mix(in srgb,var(--brand) 14%,transparent);border-color:color-mix(in srgb,var(--brand) 45%,transparent);color:color-mix(in srgb,var(--text-0) 82%,var(--brand) 18%)}.onboarding-banner--warn{background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:color-mix(in srgb,var(--accent) 55%,transparent);color:#ffe5a3}.onboarding-submit{width:100%}.about-page{width:min(420px,100%);margin:0 auto;padding:1.5rem 0 3rem;display:grid;gap:1.5rem}.about-hero{display:grid;gap:.5rem}.about-hero h1{margin:0;font-size:1.75rem;font-weight:700}.about-hero p{margin:0;color:var(--text-1)}.about-blocks{display:grid;gap:1rem}.about-card{background:color-mix(in srgb,var(--bg-1) 92%,transparent);border:1px solid color-mix(in srgb,var(--border) 60%,transparent);border-radius:var(--radius-lg);padding:1.25rem 1.35rem;box-shadow:var(--shadow-sm);display:grid;gap:.5rem}.about-card__icon{width:44px;height:44px;border-radius:14px;background:color-mix(in srgb,var(--brand) 14%,transparent);display:inline-flex;align-items:center;justify-content:center;font-size:1.35rem}.about-card__title{margin:0;font-size:1.1rem;font-weight:600}.about-card__text{margin:0;color:var(--text-1);line-height:1.5}.about-cta{width:100%;min-height:48px;border-radius:var(--radius-md);border:none;background:var(--brand);color:var(--text-0);font-weight:600;box-shadow:var(--shadow-sm)}.about-cta:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.about-note{margin:0;font-size:.9rem;color:var(--text-1);text-align:center}.ui-card{position:relative;background:color-mix(in srgb,var(--surface) 96%,transparent);border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--border) 80%,transparent);box-shadow:var(--shadow-card);padding:clamp(20px,5vw,28px);width:100%;max-width:var(--max-card-width);backdrop-filter:blur(14px)}.ui-card__title{margin:0 0 1.25rem;font-size:clamp(1.05rem,2.6vw,1.35rem);font-weight:600;color:var(--text)}.ui-card__section{display:grid;gap:1rem}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:48px;padding:.85rem 1.6rem;border-radius:999px;border:1px solid transparent;background:var(--accent);color:var(--text-on-accent);font-weight:600;font-size:1rem;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform var(--transition-base),box-shadow var(--transition-base),background var(--transition-base),color var(--transition-base);box-shadow:0 20px 42px color-mix(in srgb,var(--accent) 30%,transparent)}.ui-button>span:last-child{min-width:0;line-height:1.3;text-align:center;white-space:normal}.ui-button:hover:not([disabled]){transform:translateY(-1px);background:var(--accent-hover);box-shadow:0 24px 48px color-mix(in srgb,var(--accent) 34%,transparent)}.ui-button:active:not([disabled]){transform:translateY(0);background:var(--accent-active)}.ui-button[disabled]{opacity:.6;cursor:not-allowed;box-shadow:none;background:color-mix(in srgb,var(--accent) 55%,transparent)}.ui-button[data-status=loading]{pointer-events:none}.ui-button[data-status=success]{background:linear-gradient(135deg,#5bbafaf2,#78daaaf2)}.ui-button[data-status=error]{background:color-mix(in srgb,var(--danger) 88%,rgba(0,0,0,.15))}.ui-button--secondary{background:transparent;color:var(--brand);border-color:color-mix(in srgb,var(--brand) 60%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand) 65%,transparent)}.ui-button--secondary:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--brand) 14%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand) 70%,transparent),0 12px 30px color-mix(in srgb,var(--brand) 18%,transparent)}.ui-button--danger{background:linear-gradient(135deg,color-mix(in srgb,var(--danger) 92%,transparent),color-mix(in srgb,var(--danger) 78%,rgba(0,0,0,.3)));color:#fff;box-shadow:0 14px 32px #ff6b6b47}.ui-button--danger:hover:not([disabled]){box-shadow:0 16px 36px #ff6b6b52}.ui-button__icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center}.ui-spinner{width:18px;height:18px;border-radius:999px;border:2px solid color-mix(in srgb,var(--text) 68%,transparent);border-top-color:transparent;animation:button-spin .8s linear infinite}.ui-field{display:grid;gap:.45rem}.ui-field label{margin:0;font-size:.9rem;font-weight:600;color:color-mix(in srgb,var(--text) 80%,var(--muted) 20%)}.ui-field--error label{color:color-mix(in srgb,var(--danger) 80%,var(--text) 20%)}.ui-input{width:100%;min-height:48px;padding:.75rem 1rem;border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--border) 70%,transparent);background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--text);transition:border-color var(--transition-base),box-shadow var(--transition-base),background var(--transition-base);box-sizing:border-box;resize:vertical}.ui-input:focus-visible{outline:none;border-color:color-mix(in srgb,var(--ring) 80%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--surface) 55%,transparent),0 0 0 4px color-mix(in srgb,var(--ring) 60%,transparent)}.ui-input::placeholder{color:color-mix(in srgb,var(--muted) 70%,transparent)}.ui-input--error{border-color:color-mix(in srgb,var(--danger) 65%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--danger) 35%,transparent)}.ui-select{position:relative}.ui-select select{appearance:none;background:color-mix(in srgb,var(--surface) 92%,transparent);border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--border) 70%,transparent);color:var(--text);padding:.75rem 2.75rem .75rem 1rem;width:100%;min-height:48px;box-sizing:border-box}.ui-select select:focus-visible{outline:none;border-color:color-mix(in srgb,var(--ring) 80%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--surface) 55%,transparent),0 0 0 4px color-mix(in srgb,var(--ring) 60%,transparent)}.ui-select__icon{position:absolute;right:1rem;top:50%;transform:translateY(-50%);pointer-events:none;color:color-mix(in srgb,var(--muted) 75%,transparent)}.ui-checkbox{display:flex;align-items:center;gap:.75rem}.ui-checkbox label{margin:0;color:var(--text);font-size:.95rem;line-height:1.4;display:inline-flex;align-items:center;gap:.5rem;padding:.4rem 0}.ui-checkbox--error label{color:color-mix(in srgb,var(--danger) 80%,var(--text) 20%)}.ui-checkbox small{display:block;margin-top:.25rem;color:var(--muted);font-size:.8rem}.ui-checkbox input[type=checkbox]{margin-top:0;width:18px;height:18px;accent-color:var(--primary)}@media (max-width: 640px){.ui-checkbox label{font-size:1rem;line-height:1.5;padding:.6rem 0}}.ui-empty-state{width:min(480px,100%);margin:0 auto;padding:clamp(1.5rem,6vw,2.75rem) clamp(1.25rem,5vw,2.25rem);border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--border) 85%,transparent);background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:var(--shadow-soft);display:grid;gap:var(--space-md);justify-items:center;text-align:center}.ui-empty-state[data-tone=info]{border-color:color-mix(in srgb,var(--ring) 40%,transparent);background:color-mix(in srgb,var(--surface-2) 88%,transparent)}.ui-empty-state__illustration{width:min(200px,80%);display:grid;place-items:center}.ui-empty-state__content{display:grid;gap:var(--space-xs)}.ui-empty-state__title{margin:0;font-size:clamp(1.15rem,3vw,1.35rem);font-weight:600}.ui-empty-state__body{margin:0;color:var(--muted);font-size:clamp(.95rem,2.4vw,1.05rem);line-height:1.6}.ui-empty-state__actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);width:100%;justify-content:center}.ui-empty-state__actions>.ui-button{flex:1 1 160px;min-width:140px}.ui-empty-state__footer{width:100%;color:var(--muted);font-size:.9rem;display:grid;gap:var(--space-xs);text-align:left}.ui-empty-state__art{width:100%;height:auto;filter:drop-shadow(0 18px 36px rgba(3,7,16,.28))}.ui-empty-state__art[data-variant=progress]{--empty-illustration-accent: rgba(120, 218, 170, .9);--empty-illustration-highlight-1: color-mix(in srgb, var(--primary) 55%, transparent);--empty-illustration-highlight-2: color-mix(in srgb, var(--primary) 22%, transparent)}.ui-empty-state__art[data-variant=info]{--empty-illustration-accent: color-mix(in srgb, var(--ring) 85%, transparent);--empty-illustration-highlight-1: color-mix(in srgb, var(--ring) 55%, transparent);--empty-illustration-highlight-2: color-mix(in srgb, var(--ring) 18%, transparent)}@media (max-width: 520px){.ui-empty-state{padding:1.75rem 1.25rem 2.25rem}.ui-empty-state__actions{flex-direction:column}.ui-empty-state__actions>.ui-button{width:100%}}.audio-player{border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--border) 75%,transparent);background:color-mix(in srgb,var(--surface) 94%,transparent);padding:1rem 1.25rem;display:grid;gap:.85rem;width:100%;max-width:100%;min-width:0}.audio-player__header{display:flex;align-items:center;gap:.85rem}.audio-player__play{width:54px;height:54px;min-height:auto;padding:0;border-radius:999px;border:none;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 85%,transparent),color-mix(in srgb,var(--primary-600) 90%,transparent));color:var(--text);font-size:1.05rem;box-shadow:0 12px 28px #5b7cfa52}.audio-player__play span{display:block;transform:translate(1px)}.audio-player__meta{display:grid;gap:.25rem;min-width:0}.audio-player__title{margin:0;font-size:1rem;font-weight:600;color:var(--text);word-break:break-word}.audio-player__description{margin:0;color:var(--muted);font-size:.9rem;word-break:break-word}.audio-player__progress{display:grid;gap:.35rem}.audio-player__bar{position:relative;height:6px;border-radius:999px;background:color-mix(in srgb,var(--surface) 80%,transparent);overflow:hidden}.audio-player__bar-fill{position:absolute;inset:0;background:linear-gradient(90deg,var(--brand),var(--brand-600));transition:width var(--transition-base)}.audio-player__time{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--muted)}.audio-player__hint{margin:0;font-size:.8rem;color:var(--muted)}.audio-player audio{display:none}.landing{position:relative;width:100%;min-height:var(--app-height);overflow:hidden;background:radial-gradient(120% 120% at 50% -10%,#5b7cfa4d,#0d111600 65%) no-repeat,var(--bg);color:var(--text);padding:clamp(56px,calc(var(--vh) * 12),96px) 0 calc(clamp(64px,calc(var(--vh) * 18),128px) + var(--safe-bottom));display:flex;justify-content:center}.landing:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0f1520eb,#0d1116f5 60%,#0d1116);mask-image:linear-gradient(180deg,#ffffffe6,#fff6 45%,#fff0 85%);pointer-events:none}.landing__inner{position:relative;z-index:1;width:100%;display:grid;gap:clamp(24px,6vw,32px);min-width:0}.landing__top{display:flex;align-items:flex-start;gap:1.25rem;flex-wrap:wrap;min-width:0}.landing__hero{display:flex;align-items:flex-start;gap:1.1rem;animation:fade-up .2s ease-out both;min-width:0;overflow:hidden}.landing__hero>*{min-width:0}.landing__hero-media{width:56px;height:56px;border-radius:18px;background:color-mix(in srgb,var(--surface-2) 86%,transparent);display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-soft);transform-origin:center;animation:hero-pop .26s ease-out .12s both;overflow:hidden;flex-shrink:0}.landing__hero-media img{width:36px;height:36px}.landing--variant-b:before{background:radial-gradient(120% 120% at 0% 0%,#2563eb2e,#2563eb00 60%),linear-gradient(180deg,#f3f8fff5,#ecf4fff0 48%,#e6f0ffeb);mask-image:none;opacity:1}.landing--variant-b .landing__hero-title{color:#0f172a}.landing--variant-b .landing__hero-subtitle{color:#1e3a8a}.landing__hero--variant-b{align-items:center}.landing__hero--variant-b .landing__hero-media{width:64px;height:64px;border-radius:22px;background:linear-gradient(135deg,#fffffff2,#e5efffeb);border:1px solid rgba(37,99,235,.16);box-shadow:0 18px 36px #0f172a29}.landing__hero--variant-b .landing__hero-media img{width:44px;height:44px}.landing--variant-b .landing__cta-primary{background:linear-gradient(135deg,#2563eb,#3b82f6);color:#f8fafc}.landing--variant-b .landing__cta-link{color:#2563eb}.landing--variant-b .landing__cta-link:hover,.landing--variant-b .landing__cta-link:focus-visible{color:#1d4ed8}.landing--variant-b .landing__cta-secondary{color:#1e3a8ad9}.landing--variant-b .landing__cta-secondary:hover,.landing--variant-b .landing__cta-secondary:focus-visible{color:#1e3a8a}.landing--variant-b .landing__cta-pro{border-color:#3b82f659;background:#3b82f62e;color:#1e3a8a}.landing--variant-b .landing__cta-pro:hover,.landing--variant-b .landing__cta-pro:focus-visible{background:#3b82f642;border-color:#2563eb73}.landing__hero-title{margin:0;font-size:clamp(1.75rem,6vw,2.25rem);font-weight:600;line-height:1.25;word-break:break-word;overflow-wrap:anywhere}.landing__hero-subtitle{margin:.4rem 0 0;color:var(--muted);font-size:clamp(1rem,3vw,1.1rem);max-width:36ch;word-break:break-word;overflow-wrap:anywhere}.landing__cta-primary{margin-top:1rem;display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.5rem;border:none;border-radius:999px;background:var(--accent);color:#fff;font-weight:600;font-size:1rem;box-shadow:0 18px 38px color-mix(in srgb,var(--accent) 30%,transparent);cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.landing__cta-primary:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:3px}.landing__cta-primary:hover:not([disabled]){transform:translateY(-1px);background:var(--accent-hover);box-shadow:0 22px 44px color-mix(in srgb,var(--accent) 32%,transparent)}.landing__cta-primary[disabled]{opacity:.65;cursor:not-allowed}.landing__card{animation:fade-up .2s ease-out 60ms both}.landing__cta-secondary{margin-top:1.25rem;display:inline-flex;align-items:center;gap:.4rem;color:var(--muted);font-weight:500;text-decoration:none;background:transparent;border:none;padding:0;cursor:pointer}.landing__cta-secondary:hover{color:var(--text)}.landing__cta-secondary[disabled]{opacity:.5;cursor:not-allowed}.landing__cta-pro{margin-top:1.25rem;display:inline-flex;align-items:center;gap:.35rem;padding:.8rem 1.4rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--brand) 55%,transparent);background:color-mix(in srgb,var(--brand) 14%,transparent);color:color-mix(in srgb,var(--brand) 82%,var(--text) 18%);font-weight:600;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}.landing__cta-pro:hover,.landing__cta-pro:focus-visible{background:color-mix(in srgb,var(--brand) 22%,transparent);border-color:color-mix(in srgb,var(--brand) 65%,transparent);transform:translateY(-1px)}.landing__cta-container{margin-top:1rem;display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.landing__cta-container .landing__cta-primary{margin-top:0}.landing__cta-review{display:inline-flex;align-items:center;gap:.4rem;padding:.75rem 1.25rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--border) 70%,transparent);background:transparent;color:var(--text);font-weight:600;cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast)}.landing__cta-review:hover,.landing__cta-review:focus-visible{color:var(--primary-600);border-color:color-mix(in srgb,var(--primary) 40%,transparent)}.landing__footer{margin-top:clamp(40px,calc(var(--vh) * 10),72px);display:flex;justify-content:center}.landing__footer--spacer{inline-size:min(520px,100%);min-block-size:clamp(60px,calc(var(--vh) * 12),90px);border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--profile-card-border) 82%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--profile-card-bg) 92%,transparent),color-mix(in srgb,var(--profile-card-bg) 68%,transparent));box-shadow:0 -22px 56px #080a1073;pointer-events:none}.demo-screen{width:min(480px,100%);margin:0 auto;padding:clamp(24px,calc(var(--vh) * 9),40px) 0 clamp(56px,calc(var(--vh) * 14),72px);display:grid;gap:1.6rem}.demo-screen__intro{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.85rem;padding:1.2rem 1.35rem;border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--border) 75%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 24%,transparent),color-mix(in srgb,var(--surface) 92%,transparent));box-shadow:var(--shadow-sm)}.demo-screen__intro img{width:52px;height:52px;border-radius:16px;background:color-mix(in srgb,var(--surface) 80%,transparent);padding:4px}.demo-screen__intro h1{margin:0;font-size:1.55rem;font-weight:700;color:var(--text)}.demo-screen__intro p{margin:.35rem 0 0;color:var(--muted);font-size:.95rem}.demo-screen__progress{display:grid;gap:.4rem;padding:0 .25rem}.demo-screen__progress p{margin:0;font-size:.9rem;color:color-mix(in srgb,var(--text) 80%,var(--muted) 20%)}.demo-progress{width:100%;height:6px;border-radius:999px;background:color-mix(in srgb,var(--surface) 80%,transparent);overflow:hidden}.demo-progress__fill{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--brand-600));transition:width var(--transition-base)}.demo-card{display:grid;gap:1.25rem}.demo-fieldset{display:grid;gap:.9rem}.demo-fieldset__label{margin:0;font-size:1rem;font-weight:600;color:var(--text)}.demo-options{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}.demo-option{display:flex;gap:.75rem;align-items:flex-start;padding:.85rem 1rem;border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--border) 70%,transparent);background:color-mix(in srgb,var(--surface) 94%,transparent);transition:border-color var(--transition-base),box-shadow var(--transition-base),background var(--transition-base),transform var(--transition-base);cursor:pointer}.demo-option input{margin-top:.3rem;flex-shrink:0;accent-color:var(--primary)}.demo-option span{flex:1;font-size:.95rem;line-height:1.5;color:var(--text)}.demo-option input:checked+span{font-weight:600}.demo-option:hover{border-color:color-mix(in srgb,var(--ring) 65%,transparent);background:color-mix(in srgb,var(--surface) 84%,transparent);transform:translateY(-1px)}.demo-option:focus-within{border-color:color-mix(in srgb,var(--ring) 75%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--surface) 55%,transparent),0 0 0 4px color-mix(in srgb,var(--ring) 55%,transparent)}@supports selector(.demo-option:has(input:checked)){.demo-option:has(input:checked){border-color:color-mix(in srgb,var(--ring) 75%,transparent);background:color-mix(in srgb,var(--primary) 18%,var(--surface) 92%);box-shadow:0 12px 28px #5b7cfa2e}}.demo-screen__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:center}.demo-screen__actions>span{display:block;visibility:hidden}.demo-screen__actions .ui-button{width:100%}.demo-screen__result{display:grid;gap:.75rem}.demo-screen__result .ui-button{width:100%}.demo-seed__progress{margin:.35rem 0 0;font-weight:600;font-size:.95rem;color:color-mix(in srgb,var(--text) 85%,var(--muted) 15%)}.demo-seed__layout{display:grid;gap:1rem}.demo-seed__card{display:grid;gap:.9rem}.demo-seed__card-header{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.demo-seed__card-header h2{margin:0;font-size:1.1rem;font-weight:600;color:var(--text)}.demo-seed__card-body{display:grid;gap:.85rem}.demo-seed__status{display:inline-flex;align-items:center;padding:.25rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;background:color-mix(in srgb,var(--surface) 82%,transparent);color:color-mix(in srgb,var(--text) 70%,var(--muted) 30%)}.demo-seed__type{margin:0;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.demo-seed__content-body{display:grid;gap:.7rem;font-size:.95rem;line-height:1.6;color:var(--text)}.demo-seed__content-headline{margin:0;font-size:1.05rem;font-weight:600}.demo-seed__content-question{margin:0;font-weight:600;color:color-mix(in srgb,var(--text) 85%,var(--muted) 15%)}.demo-seed__content-note{margin:0;font-size:.9rem;color:var(--muted)}.demo-seed__quote{margin:0;padding:.85rem 1rem;border-radius:var(--radius-md);border-left:3px solid color-mix(in srgb,var(--primary) 75%,transparent);background:color-mix(in srgb,var(--surface) 92%,transparent);font-style:italic}.demo-seed__options{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.demo-seed__option{padding:.65rem .8rem;border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--border) 70%,transparent);background:color-mix(in srgb,var(--surface) 94%,transparent);font-size:.95rem}.demo-seed__catalog{display:grid;gap:.8rem}.demo-seed__catalog-title{margin:0;font-size:1.15rem;font-weight:700;color:var(--text)}.demo-seed__catalog-subtitle{margin:0;font-size:.95rem;color:var(--muted)}.demo-seed__list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.demo-seed__lesson-button{width:100%;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--border) 72%,transparent);background:color-mix(in srgb,var(--surface) 94%,transparent);transition:border-color var(--transition-base),box-shadow var(--transition-base),background var(--transition-base),transform var(--transition-base);cursor:pointer;text-align:left}.demo-seed__lesson-button:hover{border-color:color-mix(in srgb,var(--ring) 65%,transparent);background:color-mix(in srgb,var(--surface) 88%,transparent);transform:translateY(-1px)}.demo-seed__lesson-button:focus-visible{outline:none;border-color:color-mix(in srgb,var(--ring) 80%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--surface) 60%,transparent),0 0 0 4px color-mix(in srgb,var(--ring) 50%,transparent)}.demo-seed__lesson-button--active{border-color:color-mix(in srgb,var(--primary) 70%,transparent);background:color-mix(in srgb,var(--primary) 16%,var(--surface) 88%);box-shadow:0 14px 32px #355aff2e}.demo-seed__lesson-order{font-weight:600;color:color-mix(in srgb,var(--muted) 80%,var(--text) 20%)}.demo-seed__lesson-text{display:grid;gap:.2rem;flex:1;min-inline-size:0}.demo-seed__lesson-title{font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.demo-seed__lesson-meta{font-size:.8rem;color:var(--muted)}.demo-seed__lesson-status{font-size:.82rem;font-weight:600;color:color-mix(in srgb,var(--text) 65%,var(--muted) 35%)}.demo-seed__lesson.demo-seed__lesson--completed .demo-seed__lesson-status{color:color-mix(in srgb,var(--primary) 70%,var(--text) 30%)}.demo-seed__lesson.demo-seed__lesson--locked .demo-seed__lesson-status{color:color-mix(in srgb,var(--muted) 80%,var(--text) 20%)}.demo-seed__next-title{margin:0;font-size:1rem;font-weight:600;color:var(--text)}.demo-seed__next-meta{margin:0;font-size:.85rem;color:var(--muted)}@media (min-width: 720px){.demo-screen{width:min(720px,100%)}.demo-seed__layout{grid-template-columns:repeat(2,minmax(0,1fr))}}.demo-review{display:grid;gap:1rem;margin-top:.5rem}.demo-review h3{margin:0 0 .35rem;font-size:.95rem;font-weight:600;color:var(--muted)}.demo-review p{margin:0;color:var(--text);font-size:1rem;line-height:1.5;word-break:break-word;white-space:pre-wrap}.landing__cta-link{display:inline-flex;align-items:center;gap:.35rem;margin-top:1rem;font-weight:600;color:var(--primary-300);text-decoration:none;transition:color var(--transition-fast)}.landing__cta-link:hover,.landing__cta-link:focus-visible{color:var(--primary-100);text-decoration:underline}.app-shell--home{grid-template-rows:1fr auto}.app-shell--home .app-header,.app-shell--home .app-footer,.app-shell--home .pwa-install{display:none}.app-shell--home .app-main{padding:calc(var(--safe-top) + 1rem) 0 calc(2rem + var(--safe-bottom))}.lang-theme{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:stretch;gap:.75rem;max-width:100%;width:100%;min-width:0}.lang-theme__group{min-width:0;width:100%}@media (max-width: 379.98px){.lang-theme{grid-template-columns:1fr}}.lang-toggle,.theme-toggle{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:center;border-radius:999px;padding:4px;background:var(--chip-bg);border:1px solid var(--chip-border);gap:4px;width:100%;min-width:0}.lang-toggle__button,.theme-toggle__button{border:none;background:transparent;color:var(--chip-text-subtle);font-size:.85rem;font-weight:600;padding:.45rem .75rem;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;box-shadow:none;transition:background var(--transition-base),color var(--transition-base),box-shadow var(--transition-base);flex:1 1 clamp(112px,40vw,220px);min-width:0;max-width:100%;min-height:40px;text-align:center;text-wrap:balance;white-space:normal;overflow-wrap:anywhere;hyphens:auto;line-height:1.2;box-sizing:border-box}.lang-toggle__button[aria-checked=true],.theme-toggle__button[aria-checked=true]{background:var(--chip-bg-active);color:var(--chip-text-active);box-shadow:0 8px 20px color-mix(in srgb,var(--brand) 18%,transparent)}@media (max-width: 359.98px){.lang-toggle__button,.theme-toggle__button{font-size:.9em}}.lang-toggle__button:focus-visible,.theme-toggle__button:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb,var(--surface) 60%,transparent),0 0 0 4px color-mix(in srgb,var(--ring) 65%,transparent)}.theme-toggle__label{display:block;white-space:normal;text-wrap:balance;overflow-wrap:anywhere}.app-header__controls{display:flex;gap:clamp(.5rem,3vw,.75rem);align-items:center;min-width:0;flex:0 0 auto;width:auto;margin-left:clamp(.5rem,3vw,1.25rem);justify-content:flex-end}.app-header__repeat-mistakes,.app-header__today{min-height:40px;padding-inline:1rem;font-size:.85rem}.app-header__status{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem;font-size:.78rem;color:var(--muted);line-height:1.2;white-space:nowrap}.app-header__status span{white-space:nowrap}.app-header__pro{display:inline-flex;align-items:center;justify-content:center;padding:.1rem .45rem;border-radius:999px;background:color-mix(in srgb,var(--brand) 18%,transparent);color:var(--brand);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.app-header__controls>*{min-width:0;flex:0 0 auto}@media (min-width: 768px){.app-header__profile{margin-left:0}}.onboarding-status{margin-top:.75rem;font-size:.85rem;color:var(--muted)}.onboarding-status__meta{margin-top:.35rem;font-size:.75rem;color:#fff9}.onboarding-status__details{margin-top:.75rem;font-size:.8rem;color:#ffffffb3}.onboarding-status__details summary{cursor:pointer;outline:none}.onboarding-status__details[open] summary{color:var(--text)}.onboarding-status__details dl{margin:.5rem 0 0;display:grid;gap:.35rem}.onboarding-status__details dl div{display:flex;justify-content:space-between;gap:.75rem;font-variant-numeric:tabular-nums}.onboarding-status__details dt{margin:0;color:#fff9}.onboarding-status__details dd{margin:0;color:var(--text);text-align:right;word-break:break-word}.onboarding-status__description{margin-top:.35rem;font-size:.8rem;color:var(--muted)}.onboarding-status--error{color:var(--danger)}.onboarding-status--success{color:color-mix(in srgb,var(--primary) 75%,transparent)}.onboarding-error-actions{margin-top:.75rem;display:flex;flex-wrap:wrap;gap:.5rem}.system-banner{padding:1rem 1.25rem;border-radius:var(--radius-md);display:grid;gap:.75rem;border:1px solid color-mix(in srgb,var(--border) 80%,transparent);background:color-mix(in srgb,var(--surface) 90%,transparent);color:var(--text)}.system-banner__title{margin:0;font-weight:600}.system-banner__body{margin:0;color:var(--text)}.system-banner__actions{display:flex;flex-wrap:wrap;gap:.5rem}.system-banner--danger{background:color-mix(in srgb,var(--danger) 18%,transparent);border-color:color-mix(in srgb,var(--danger) 45%,transparent)}.system-banner--warning{background:color-mix(in srgb,#facc15 22%,transparent);border-color:color-mix(in srgb,#facc15 45%,transparent);color:var(--text)}.onboarding-fallback{margin-top:1rem}.onboarding-fallback__title{margin:0;font-size:1rem;font-weight:600}.onboarding-fallback__message{margin:0}.onboarding-fallback__actions{display:flex;flex-wrap:wrap;gap:.5rem}.onboarding-diag{margin-top:1.5rem;padding:1rem;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#ffffff05;display:grid;gap:.75rem}.onboarding-diag__list,.diag-list{display:grid;gap:.5rem}.onboarding-diag__list div,.diag-list div{display:flex;justify-content:space-between;gap:1rem;font-size:.95rem}.onboarding-diag__list dt,.diag-list dt{color:#ffffffb3}.onboarding-diag__actions,.diag-actions{display:flex;flex-wrap:wrap;gap:.5rem}.onboarding-diag__status,.diag-status{font-size:.9rem;color:#fffc}.diag-page{display:flex;justify-content:center;padding:2rem 1rem}.diag-section{margin-top:1.5rem;display:grid;gap:.75rem}.diag-hint{font-size:.85rem;color:#fff9}.diag-snippet{border:1px solid rgba(148,163,184,.25);border-radius:10px;padding:.75rem;background:#0f172a59}.diag-snippet__meta{margin:0 0 8px;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.diag-snippet__endpoint{font-size:.78rem;color:#e2e8f0cc}.diag-snippet__request-id{margin:0 0 8px;font-size:.82rem;color:#e2e8f0e6}.diag-chip{display:inline-flex;align-items:center;border-radius:999px;padding:.1rem .45rem;font-size:.72rem;font-weight:700;text-transform:lowercase}.diag-chip--ok{background:#16a34a33;color:#86efac}.diag-chip--error{background:#dc26262e;color:#fca5a5}.diag-chip--empty{background:#f59e0b33;color:#fcd34d}.diag-snippet__json{margin:0 0 8px;white-space:pre-wrap;word-break:break-word;max-height:260px;overflow:auto;padding:.65rem;border-radius:8px;border:1px solid rgba(148,163,184,.28);background:#0f172ab3;font-size:.78rem;line-height:1.35}.onboarding-demo{margin-top:1rem;width:100%}@media (min-width: 768px){:root{--layout-padding: 24px;--app-shell-max-width: min(768px, 100%);--app-shell-gutter: clamp(20px, 4vw, 32px);--page-max-width: min(960px, 100%);--profile-page-max-width: min(960px, 100%);--profile-page-margin-inline: auto}}@media (min-width: 1024px){:root{--app-shell-max-width: min(1180px, 100%);--app-shell-gutter: clamp(24px, 4vw, 40px);--page-max-width: min(1280px, 100%)}.landing__hero-title{font-size:2.4rem}}@keyframes button-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-pop{0%{opacity:0;transform:scale(.9)}60%{opacity:1;transform:scale(1.08)}to{transform:scale(1)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.dev-panel{position:fixed;right:1rem;bottom:1rem;z-index:1500}.dev-panel--debug{right:1rem;bottom:4.5rem;max-width:min(92vw,420px);display:grid;gap:.4rem;padding:.8rem;border-radius:.75rem;background:#0f172af2;color:#f8fafc;font-size:.8rem;box-shadow:0 12px 28px #0f172a59}.dev-panel__payload{margin:0;max-height:180px;overflow:auto;white-space:pre-wrap;word-break:break-word;padding:.45rem;border-radius:.5rem;background:#1e293be6}.dev-panel__button{border:none;border-radius:.75rem;background:#3b82f6e6;color:#fff;padding:.55rem 1.1rem;font-weight:600;cursor:pointer;box-shadow:0 12px 24px #2563eb4d;transition:transform .2s ease,box-shadow .2s ease}.dev-panel__button:hover,.dev-panel__button:focus-visible{transform:translateY(-1px);box-shadow:0 14px 30px #2563eb59}.dev-panel__button[disabled]{opacity:.6;cursor:progress;box-shadow:none;transform:none}.landing__access-banner{margin-bottom:1rem}.ui-progress{display:grid;gap:.35rem}.ui-progress__bar{height:8px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--bg-ink) 12%,transparent);overflow:hidden}.ui-progress__fill{display:block;height:100%;background:var(--brand);border-radius:inherit;transition:width var(--transition-fast)}.ui-progress__text{font-size:.85rem;opacity:.75}.packs-page{padding:clamp(24px,calc(var(--vh) * 7),48px) 0 calc(clamp(64px,calc(var(--vh) * 12),96px) + var(--safe-bottom));display:grid;gap:1.75rem;min-width:0}.packs-page__header{display:grid;gap:1rem;min-width:0}.packs-page__title{margin:0;font-size:2rem;font-weight:700}.packs-page__grid,.packs-page__grid--skeleton{display:grid;gap:1.25rem;min-width:0}.packs-page__state{background:#ffffff0f;border-radius:var(--radius-lg);padding:1.5rem;text-align:center;display:grid;gap:1rem}.packs-page__state-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.packs-page__details{margin-top:.5rem;font-size:.85rem;color:#ffffffb3}.packs-page__details summary{cursor:pointer;outline:none}.packs-page__details[open] summary{color:var(--text)}.packs-page__details dl{margin:.5rem 0 0;display:grid;gap:.35rem}.packs-page__details dl div{display:flex;justify-content:space-between;gap:.75rem;font-variant-numeric:tabular-nums}.packs-page__details dt{margin:0;color:#fff9}.packs-page__details dd{margin:0;color:var(--text);text-align:right;word-break:break-word}.packs-page__link{color:var(--primary-300);font-weight:600;text-decoration:none}.packs-page__link:hover,.packs-page__link:focus-visible{text-decoration:underline}.packs-page__promo{margin-block:clamp(16px,4vw,24px)}.packs-page__load-more{justify-self:center}.packs-page__hint{margin:0;font-size:.9rem;opacity:.75}.pack-card{background:#ffffff0a;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.08);padding:1.25rem;display:grid;gap:.75rem}.pack-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.ai-tutor-card{display:grid;gap:.75rem;padding:clamp(20px,4vw,28px);border-radius:var(--radius-lg);border:1px solid var(--surface-elevated-border);background:var(--surface);color:inherit;text-decoration:none;transition:border-color var(--transition-base),background var(--transition-base),color var(--transition-base),box-shadow var(--transition-base);min-width:0}.ai-tutor-card:hover,.ai-tutor-card:focus-visible{border-color:color-mix(in srgb,var(--brand) 55%,var(--surface-elevated-border));background:color-mix(in srgb,var(--brand) 8%,transparent);color:var(--text);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent)}.ai-tutor-card__badge{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .75rem;border-radius:var(--radius-full);border:1px solid color-mix(in srgb,var(--brand) 45%,transparent);background:color-mix(in srgb,var(--brand) 14%,transparent);color:var(--brand-200);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;width:fit-content}.ai-tutor-card__title{font-size:clamp(1.15rem,3vw,1.4rem);font-weight:700;line-height:1.3;margin:0}.ai-tutor-card__features{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.ai-tutor-card__features li{position:relative;padding-inline-start:1.4rem;font-size:.95rem;line-height:1.45;color:color-mix(in srgb,var(--text) 72%,transparent)}.ai-tutor-card__features li:before{content:"";position:absolute;inset-inline-start:0;inset-block-start:.45rem;width:.6rem;height:.6rem;border-radius:50%;border:2px solid var(--brand)}.ai-tutor-card__cta{display:inline-flex;align-items:center;gap:.35rem;font-weight:600;color:var(--brand)}.ai-tutor-card__cta:after{content:"→";font-size:1rem}.packs-page__ai-card{min-height:100%}.pack-card__title{margin:0;font-size:1.1rem;font-weight:600}.pack-card__badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;padding:.25rem .55rem;border-radius:var(--radius-full);background:#ffd7401f;color:#ffd740}.pack-card__description{margin:0;opacity:.8;line-height:1.5}.pack-card__meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.85rem;opacity:.75}.lesson-card__badge{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:var(--radius-full);background:color-mix(in oklab,var(--brand-500) 18%,transparent);color:color-mix(in oklab,var(--brand-100) 85%,var(--text));font-size:.75rem;font-weight:600;letter-spacing:.01em;text-transform:uppercase}.lesson-card__meta-item{display:inline-flex;align-items:center;gap:.35rem}.lesson-card__tags{display:flex;flex-wrap:wrap;gap:.35rem .5rem;list-style:none;padding:0;margin:0;font-size:.75rem;opacity:.7}.lesson-card__tags li{padding:.15rem .55rem;border-radius:var(--radius-full);background:color-mix(in oklab,var(--surface-2) 65%,transparent)}.pack-card__actions{display:flex;flex-wrap:wrap;gap:.75rem}.packs-page__skeleton-card{border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--border) 65%,transparent);padding:1.25rem;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--border) 45%,transparent);display:grid;gap:var(--space-sm)}.packs-page__skeleton-actions{display:flex;gap:var(--space-sm)}.packs-page__skeleton-actions .ui-skeleton{flex:1}.packs-page__empty{margin:clamp(var(--space-lg),calc(var(--vh) * 6),56px) auto 0}.pack-page{max-width:960px;margin:0 auto;padding:1.5rem 1rem 3rem;display:grid;gap:1.75rem}.pack-page__hero{display:grid;gap:1.5rem;align-items:center;background:#ffffff0a;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.08);padding:1.5rem;overflow:hidden;min-width:0}.pack-page__mascot{width:96px;height:96px;border-radius:50%;background:#ffffff1a;display:grid;place-items:center}.pack-page__mascot img{width:64px;height:64px}.pack-page__summary{display:grid;gap:.75rem}.pack-page__title{margin:0;font-size:2rem;font-weight:700}.pack-page__subtitle{margin:0;font-size:1rem;font-weight:600;opacity:.75}.pack-page__description{margin:0;opacity:.85;line-height:1.6}.pack-page__meta{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.9rem;opacity:.75}.pack-page__progress{max-width:360px}.pack-page__actions{display:flex;flex-wrap:wrap;gap:.75rem}.pack-page__next-action-hint{margin:0;width:100%;font-size:.85rem;color:#ffffffb8}.pack-page__lessons{padding:0}.pack-page__lesson-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.pack-page__lesson-button{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.85rem 1rem;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-md);color:inherit;text-align:left}.pack-page__lesson-button:hover:not([disabled]),.pack-page__lesson-button:focus-visible:not([disabled]){border-color:#ffffff2e;background:#ffffff0f}.pack-page__lesson-button[disabled]{opacity:.6;cursor:not-allowed}.pack-page__lesson-status{font-size:1.1rem}.pack-page__lesson-content{display:grid;gap:.25rem}.pack-page__lesson-title{font-weight:600}.pack-page__lesson-subtitle{font-size:.85rem;opacity:.75}.pack-page__lesson-meta{display:grid;gap:.25rem;justify-items:end;font-size:.85rem;opacity:.75}.pack-page__lesson-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.1rem .45rem;border-radius:999px;background:#facc1529;color:#facc15;font-size:.7rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.pack-page__lessons-empty{margin:0;opacity:.8}.pack-page--loading,.pack-page--error{max-width:960px;margin:0 auto;padding:2rem 1rem;display:grid;place-items:center;gap:1rem;text-align:center}.pack-page__skeleton{width:100%;height:200px;border-radius:var(--radius-lg);background:var(--surface-color)}@media (min-width: 640px){.packs-page__grid,.packs-page__grid--skeleton{grid-template-columns:repeat(2,minmax(0,1fr))}.pack-page__hero{grid-template-columns:auto 1fr;gap:2rem}}@media (min-width: 960px){.packs-page__grid,.packs-page__grid--skeleton{grid-template-columns:repeat(3,minmax(0,1fr))}.pack-card{padding:1.5rem}}.landing__support-card{display:grid;gap:10px;margin-top:18px;padding:16px;border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:22px;background:color-mix(in srgb,var(--accent) 9%,transparent);color:var(--text)}.landing__support-card h2,.landing__support-card p{margin:0}.landing__support-card p{color:var(--text-secondary);line-height:1.5}.landing__support-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-block-size:44px;padding:0 18px;border-radius:999px;background:var(--accent);color:var(--accent-contrast, #fff);font-weight:700;text-decoration:none}html[data-public-route=true],body[data-public-route=true],html[data-public-route=true] #root{min-height:100%;height:auto;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:auto}body[data-public-route=true]{display:block}
