.mascot{display:block;margin:0 auto;user-select:none;-webkit-user-drag:none;filter:var(--mascot-figure)}.mascot--idle{animation:mascot-idle 2.6s ease-in-out infinite}@keyframes mascot-idle{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.mascot--correct{animation:mascot-correct var(--dur-4) var(--ease-spring)}@keyframes mascot-correct{0%{transform:translateY(0) scale(1)}40%{transform:translateY(-22px) scale(1.08)}to{transform:translateY(0) scale(1)}}.mascot--wrong{animation:mascot-wrong var(--dur-4) ease-in-out}@keyframes mascot-wrong{0%,to{transform:translate(0) rotate(0)}20%{transform:translate(-8px) rotate(-6deg)}40%{transform:translate(7px) rotate(5deg)}60%{transform:translate(-5px) rotate(-3deg)}80%{transform:translate(3px) rotate(2deg)}}.mascot--celebrate{animation:mascot-celebrate .9s ease-in-out infinite}@keyframes mascot-celebrate{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-16px) rotate(-8deg)}50%{transform:translateY(0) rotate(0)}75%{transform:translateY(-16px) rotate(8deg)}}@media (prefers-reduced-motion: reduce){.mascot--idle,.mascot--correct,.mascot--wrong,.mascot--celebrate{animation:none}}.mascot--anim{animation:none!important;object-fit:contain}.question-image-wrap{position:relative;display:flex;justify-content:center;margin:4px 0 20px}.question-image{max-width:220px;width:100%;height:auto;filter:drop-shadow(var(--shadow-sign))}.question-image.skeleton{aspect-ratio:960 / 524;height:auto}.question-image-wrap--embedded{position:relative;display:flex;justify-content:center;margin:0;line-height:0}.question-image--embedded{width:100%;height:auto;display:block}.question-image--embedded.skeleton{aspect-ratio:960 / 524;height:auto}.question-image:active{transform:scale(.955);filter:drop-shadow(var(--shadow-sign-press))}.question-image--embedded:active{transform:scale(.985);filter:brightness(.93)}.question-image.skeleton:active,.question-image--embedded.skeleton:active{transform:none;filter:none}@media (prefers-reduced-motion: reduce){.question-image:active,.question-image--embedded:active{transform:none}.image-lightbox{animation-name:fade-in}}.image-lightbox{max-width:92vw;max-height:85vh;width:auto;height:auto;border-radius:var(--radius-lg);filter:var(--shadow-lightbox);animation:pop-in var(--dur-3) var(--ease-spring)}.confetti-wrap{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:var(--z-raised);perspective:600px}.confetti-piece{position:absolute;top:-10px;border-radius:2px;opacity:0;animation-name:confetti-fall;animation-timing-function:cubic-bezier(.35,0,.65,1);animation-fill-mode:forwards}.confetti-piece:nth-child(3n){border-radius:50%}@keyframes confetti-fall{0%{transform:translate(0) rotate3d(1,0,.35,0);opacity:0}1%{opacity:1}22%{transform:translate(calc(var(--drift) * .55),58px) rotate3d(1,0,.35,calc(var(--rotate) * .8))}45%{transform:translate(calc(var(--drift) * -.25),118px) rotate3d(1,0,.35,calc(var(--rotate) * 1.7))}68%{transform:translate(calc(var(--drift) * .9),180px) rotate3d(1,0,.35,calc(var(--rotate) * 2.5))}78%{opacity:1}to{transform:translate(var(--drift),260px) rotate3d(1,0,.35,calc(var(--rotate) * 3.2));opacity:0}}@media (prefers-reduced-motion: reduce){.confetti-wrap{display:none}}.explanation-audio{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:10px;padding:7px 14px;min-height:44px;min-width:128px;max-width:100%;border:1.5px solid var(--border-subtle);border-radius:999px;background:var(--tg-bg);color:var(--tg-text);font:inherit;font-size:var(--fs-caption);font-weight:var(--fw-semibold);line-height:var(--lh-snug);text-align:center;cursor:pointer;box-shadow:var(--shadow-soft);transition:transform var(--dur-2) var(--ease-press),border-color var(--dur-2) ease}.explanation-audio:active:not(:disabled){transform:scale(.93)}.explanation-audio--playing{border-color:var(--tg-button);box-shadow:0 0 0 2px color-mix(in srgb,var(--tg-button) 22%,transparent),var(--shadow-soft)}.explanation-audio--locked{border-style:dashed;color:color-mix(in srgb,var(--tg-text) 72%,transparent)}.explanation-audio__icon{font-size:var(--fs-body-sm);line-height:1;flex-shrink:0}.explanation-audio__progress{height:4px;margin-top:8px;border-radius:999px;background:color-mix(in srgb,var(--tg-text) 16%,transparent);overflow:hidden;width:128px;max-width:100%}.explanation-audio__progress-bar{height:100%;width:0;border-radius:999px;background:var(--tg-button);transition:width var(--dur-3) linear}.explanation-audio__note{margin-top:8px;font-size:var(--fs-caption);color:var(--tg-hint)}@media (prefers-reduced-motion: reduce){.explanation-audio,.explanation-audio__progress-bar{transition:none}}.avatar-wrap{position:relative;display:inline-flex;align-items:flex-end;justify-content:center;border-radius:var(--radius-md, 16px);background:linear-gradient(180deg,color-mix(in srgb,var(--tg-secondary-bg) 88%,white 12%) 0%,var(--tg-secondary-bg) 58%,color-mix(in srgb,var(--tg-secondary-bg) 90%,black 10%) 100%);box-shadow:inset 0 1px color-mix(in srgb,white 32%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--tg-hint) 22%,transparent),var(--shadow-soft);flex-shrink:0}.avatar-img{width:100%;height:100%;border-radius:inherit;object-fit:contain;object-position:bottom;transition:filter var(--dur-3) ease,opacity var(--dur-3) ease}.avatar-accessory{position:absolute;top:-2px;right:-4px;line-height:1;filter:var(--shadow-accessory)}.avatar-lock{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.2em;filter:var(--shadow-accessory)}.avatar-ring{box-shadow:inset 0 1px color-mix(in srgb,white 32%,transparent),0 0 0 3px var(--tg-link),0 0 12px color-mix(in srgb,var(--tg-link) 45%,transparent)}:root{--brand-50: #eff7ff;--brand-100: #dceeff;--brand-200: #bddeff;--brand-300: #8fc8ff;--brand-400: #57a6ed;--brand-500: #2481cc;--brand-600: #0069af;--brand-700: #00528b;--brand-800: #003d69;--brand-900: #002c4e;--brand-950: #001e37;--neutral-0: #ffffff;--neutral-50: #f9fafc;--neutral-100: #f0f3f6;--neutral-200: #e2e6eb;--neutral-300: #cfd4da;--neutral-400: #a5acb4;--neutral-500: #808890;--neutral-600: #5d656d;--neutral-700: #3e4750;--neutral-800: #222e3c;--neutral-900: #17212b;--neutral-950: #0c131b;--success-50: #ebfce6;--success-100: #d7f6cc;--success-200: #b4ed9f;--success-300: #84dd61;--success-400: #51bd00;--success-500: #3d9300;--success-600: #317800;--success-700: #255f00;--success-800: #1a4700;--success-900: #113400;--success-950: #092300;--danger-50: #fff2f1;--danger-100: #ffe4e1;--danger-200: #ffccc7;--danger-300: #ffa8a0;--danger-400: #ff6862;--danger-500: #e22530;--danger-600: #c0001e;--danger-700: #980015;--danger-800: #74000e;--danger-900: #560007;--danger-950: #3e0004;--warning-50: #fff4e7;--warning-100: #ffe7ca;--warning-200: #ffd199;--warning-300: #fab250;--warning-400: #d98e00;--warning-500: #aa6e00;--warning-600: #8b5900;--warning-700: #6e4500;--warning-800: #533300;--warning-900: #3d2400;--warning-950: #2a1800;--bg-page: var(--neutral-0);--bg-surface: var(--neutral-100);--bg-sunken: var(--neutral-50);--bg-elevated: var(--neutral-0);--bg-inverse: var(--neutral-900);--fg-primary: var(--neutral-900);--fg-secondary: var(--neutral-600);--fg-disabled: var(--neutral-400);--fg-on-accent: var(--neutral-0);--fg-on-inverse: var(--neutral-50);--line-hairline: var(--neutral-200);--line-control: var(--neutral-500);--line-strong: var(--neutral-700);--accent: var(--brand-600);--accent-hover: var(--brand-700);--accent-pressed: var(--brand-800);--accent-bright: var(--brand-500);--accent-fg: var(--brand-600);--accent-tint: var(--brand-50);--accent-on-tint: var(--brand-700);--accent-border: var(--brand-200);--success: var(--success-400);--success-fg: var(--success-700);--success-tint: var(--success-50);--success-on-tint: var(--success-700);--success-border: var(--success-200);--danger: var(--danger-400);--danger-fg: var(--danger-700);--danger-tint: var(--danger-50);--danger-on-tint: var(--danger-700);--danger-border: var(--danger-200);--warn: var(--warning-400);--warn-fg: var(--warning-700);--warn-tint: var(--warning-50);--warn-on-tint: var(--warning-700);--warn-border: var(--warning-200);--info-fg: var(--brand-700);--info-tint: var(--brand-50);--info-border: var(--brand-200);--fs-micro: 11px;--fs-label: 12px;--fs-caption: 13px;--fs-body-sm: 15px;--fs-body: 16px;--fs-title-sm: 18px;--fs-title: 20px;--fs-hero: 22px;--fs-title-lg: 24px;--fs-display-sm: 28px;--fs-display: 34px;--fs-display-lg: 44px;--lh-tight: 1.15;--lh-snug: 1.3;--lh-normal: 1.45;--lh-relaxed: 1.6;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-heavy: 800;--ls-tight: -.015em;--ls-normal: 0;--ls-wide: .03em;--space-0: 0;--space-px: 1px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-9: 48px;--space-10: 64px;--space-11: 80px;--gutter: var(--space-4);--card-pad: var(--space-4);--card-pad-sm: var(--space-3);--stack: var(--space-3);--section: var(--space-6);--radius-2xs: 4px;--radius-xs: 8px;--radius-sm: 12px;--radius-md: 16px;--radius-lg: 20px;--radius-xl: 24px;--radius-2xl: 28px;--radius-pill: 999px;--radius-full: 50%;--elev-1: 0 1px 2px rgba(12, 19, 27, .06), 0 1px 1px rgba(12, 19, 27, .04);--elev-2: 0 2px 6px rgba(12, 19, 27, .08), 0 1px 2px rgba(12, 19, 27, .05);--elev-3: 0 6px 16px rgba(12, 19, 27, .1), 0 2px 4px rgba(12, 19, 27, .06);--elev-4: 0 16px 40px rgba(12, 19, 27, .16), 0 4px 10px rgba(12, 19, 27, .08);--ring: 0 0 0 3px color-mix(in srgb, var(--accent-bright) 38%, transparent);--ring-danger: 0 0 0 3px color-mix(in srgb, var(--danger) 36%, transparent);--dur-1: .12s;--dur-2: .16s;--dur-3: .22s;--dur-4: .32s;--dur-celebrate: .64s;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in: cubic-bezier(.64, 0, .78, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-press: cubic-bezier(.34, 1.4, .64, 1);--z-base: 0;--z-raised: 1;--z-sticky: 10;--z-header: 20;--z-nav: 30;--z-overlay: 100;--z-sheet: 110;--z-modal: 120;--z-toast: 130;--z-tooltip: 140;--tap-min: 44px;--content-max: 640px;--nav-h: 56px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}html[data-theme=dark]{--bg-page: var(--neutral-900);--bg-surface: var(--neutral-800);--bg-sunken: var(--neutral-950);--bg-elevated: var(--neutral-800);--bg-inverse: var(--neutral-100);--fg-primary: var(--neutral-100);--fg-secondary: var(--neutral-400);--fg-disabled: var(--neutral-600);--fg-on-accent: var(--neutral-0);--fg-on-inverse: var(--neutral-900);--line-hairline: var(--neutral-700);--line-control: var(--neutral-500);--line-strong: var(--neutral-400);--accent: var(--brand-600);--accent-hover: var(--brand-700);--accent-pressed: var(--brand-800);--accent-bright: var(--brand-400);--accent-fg: var(--brand-300);--accent-tint: var(--brand-950);--accent-on-tint: var(--brand-200);--accent-border: var(--brand-800);--success: var(--success-400);--success-fg: var(--success-300);--success-tint: var(--success-950);--success-on-tint: var(--success-300);--success-border: var(--success-800);--danger: var(--danger-400);--danger-fg: var(--danger-300);--danger-tint: var(--danger-950);--danger-on-tint: var(--danger-300);--danger-border: var(--danger-800);--warn: var(--warning-400);--warn-fg: var(--warning-300);--warn-tint: var(--warning-950);--warn-on-tint: var(--warning-300);--warn-border: var(--warning-800);--info-fg: var(--brand-300);--info-tint: var(--brand-950);--info-border: var(--brand-800);--elev-1: 0 1px 2px rgba(0, 0, 0, .35), 0 1px 1px rgba(0, 0, 0, .25);--elev-2: 0 2px 6px rgba(0, 0, 0, .4), 0 1px 2px rgba(0, 0, 0, .3);--elev-3: 0 6px 16px rgba(0, 0, 0, .5), 0 2px 4px rgba(0, 0, 0, .35);--elev-4: 0 16px 40px rgba(0, 0, 0, .62), 0 4px 10px rgba(0, 0, 0, .4)}html[data-theme=light]{color-scheme:light}html[data-theme=dark]{color-scheme:dark}@media (prefers-reduced-motion: reduce){:root{--dur-1: 1ms;--dur-2: 1ms;--dur-3: 1ms;--dur-4: 1ms;--dur-celebrate: 1ms}}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);position:relative;min-height:var(--tap-min);padding:var(--space-3) var(--space-5);border:none;border-radius:var(--radius-md);font-family:inherit;font-size:var(--fs-body);font-weight:var(--fw-semibold);line-height:var(--lh-snug);text-wrap:balance;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;transition:transform var(--dur-2) var(--ease-press)}.ui-btn--block{width:100%}.ui-btn--sm{font-size:var(--fs-caption);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm)}.ui-btn--lg{font-size:var(--fs-title-sm);padding:var(--space-4) var(--space-6);min-height:56px}.ui-btn--primary{background:var(--accent);color:var(--fg-on-accent);box-shadow:0 4px 0 var(--accent-pressed),var(--elev-1)}.ui-btn--primary:active:not(:disabled){background:var(--accent-hover);box-shadow:0 1px 0 var(--accent-pressed);transform:translateY(3px)}.ui-btn--secondary{background:var(--bg-surface);color:var(--fg-primary);box-shadow:inset 0 0 0 1px var(--line-control),0 4px 0 var(--line-control),var(--elev-1)}.ui-btn--secondary:active:not(:disabled){background:color-mix(in srgb,var(--bg-surface) 92%,var(--fg-primary));box-shadow:inset 0 0 0 1px var(--line-control),0 1px 0 var(--line-control);transform:translateY(3px)}.ui-btn--danger{background:var(--danger-600);color:var(--fg-on-accent);box-shadow:0 4px 0 var(--danger-800),var(--elev-1)}.ui-btn--danger:active:not(:disabled){background:var(--danger-700);box-shadow:0 1px 0 var(--danger-800);transform:translateY(3px)}.ui-btn--success{background:var(--success-600);color:var(--fg-on-accent);box-shadow:0 4px 0 var(--success-800),var(--elev-1)}.ui-btn--success:active:not(:disabled){background:var(--success-700);box-shadow:0 1px 0 var(--success-800);transform:translateY(3px)}.ui-btn--ghost{background:transparent;color:var(--fg-secondary);box-shadow:none}.ui-btn--ghost:active:not(:disabled){background:color-mix(in srgb,var(--fg-primary) 8%,transparent);transform:scale(.97)}.ui-btn:disabled{opacity:.5;box-shadow:none;cursor:default}.ui-btn--loading{cursor:progress;opacity:1}.ui-btn--loading .ui-btn__label{visibility:hidden}.ui-btn__spinner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.ui-btn__spinner:after{content:"";width:18px;height:18px;border-radius:var(--radius-full);border:2px solid currentColor;border-top-color:transparent;animation:ui-btn-spin .72s linear infinite}@keyframes ui-btn-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.btn-secondary--busy:disabled{animation:ui-btn-pulse 1.6s ease-in-out infinite}.ui-btn__spinner:after{animation:ui-btn-pulse 1.2s ease-in-out infinite}@keyframes ui-btn-pulse{0%,to{opacity:.35}50%{opacity:1}}}.ui-btn__icon{display:inline-flex;flex-shrink:0;margin-left:-2px}.ui-btn__icon svg{display:block;width:20px;height:20px}.ui-btn-row{display:flex;flex-wrap:wrap;align-items:stretch;gap:var(--space-2)}.ui-btn-row>.ui-btn{flex:1 1 0;min-width:0}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);position:relative;min-height:var(--tap-min);padding:var(--space-3) var(--space-5);border:none;border-radius:var(--radius-md);font-family:inherit;font-size:var(--fs-body);font-weight:var(--fw-semibold);line-height:var(--lh-snug);text-wrap:balance;cursor:pointer;transition:transform var(--dur-2) var(--ease-press)}.btn-primary{width:100%;background:var(--accent);color:var(--fg-on-accent);font-weight:var(--fw-bold);box-shadow:0 4px 0 var(--accent-pressed),var(--elev-1)}.btn-primary:active:not(:disabled){background:var(--accent-hover);box-shadow:0 1px 0 var(--accent-pressed);transform:translateY(3px)}.btn-secondary{background:var(--bg-surface);color:var(--fg-primary);box-shadow:inset 0 0 0 1px var(--line-control),0 4px 0 var(--line-control),var(--elev-1)}.btn-secondary:active:not(:disabled){background:color-mix(in srgb,var(--bg-surface) 92%,var(--fg-primary));box-shadow:inset 0 0 0 1px var(--line-control),0 1px 0 var(--line-control);transform:translateY(3px)}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;box-shadow:none}.btn-primary.btn-danger{background:var(--danger-600);box-shadow:0 4px 0 var(--danger-800),var(--elev-1)}.btn-primary.btn-danger:active:not(:disabled){background:var(--danger-700);box-shadow:0 1px 0 var(--danger-800)}.btn-primary.btn-success{background:var(--success-600);box-shadow:0 4px 0 var(--success-800),var(--elev-1)}.btn-secondary--copied{background:var(--success-600);color:var(--fg-on-accent)}.btn-secondary--busy:disabled{opacity:1;box-shadow:inset 0 0 0 1px var(--line-control),0 4px 0 var(--line-control),var(--elev-1);animation:spinner-pulse 1.2s ease-in-out infinite}.btn-secondary--quiet{font-size:var(--fs-caption);color:var(--fg-secondary)}.btn-compact{font-size:var(--fs-caption);padding:var(--space-2) var(--space-4);min-height:var(--tap-min)}.vote-btn{padding:var(--space-2) var(--space-4);font-size:var(--fs-body);min-height:var(--tap-min)}.btn-secondary.vote-btn--chosen,.btn-secondary.vote-btn--chosen:disabled{opacity:1;background:var(--accent-tint);color:var(--accent-on-tint);box-shadow:0 0 0 2px var(--accent-bright),var(--elev-1)}.btn-secondary.vote-btn--muted,.btn-secondary.vote-btn--muted:disabled{opacity:.35}.button-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.button-row>.btn-primary,.button-row>.btn-secondary{flex:1 1 0}.card,.ui-card{background:var(--bg-surface);color:var(--fg-primary);border-radius:var(--radius-lg);padding:var(--card-pad);margin-bottom:var(--space-3);box-shadow:var(--elev-2);transition:transform var(--dur-2) var(--ease-press)}button.card:active:not(:disabled),button.ui-card:active:not(:disabled),.ui-card--tappable:active{transform:scale(.98);box-shadow:var(--elev-1)}button.card,button.ui-card{width:100%;text-align:left;border:none;font:inherit;color:inherit;cursor:pointer}.card-title,.ui-card__title{font-size:var(--fs-body);font-weight:var(--fw-heavy);line-height:var(--lh-snug);margin-bottom:var(--space-2);text-wrap:pretty}.card-desc,.ui-card__desc{font-size:var(--fs-caption);line-height:var(--lh-normal);color:var(--fg-secondary);margin-bottom:var(--space-3)}.card-desc:last-child,.ui-card__desc:last-child{margin-bottom:0}.card--locked,.ui-card--locked{box-shadow:inset 0 0 0 1px var(--line-hairline);color:var(--fg-secondary)}.card--locked .card-desc,.ui-card--locked .ui-card__desc{color:var(--fg-secondary)}.ui-card--compact{padding:var(--card-pad-sm);margin-bottom:var(--space-2)}.ui-card--roomy{padding:var(--space-5)}.ui-card--flat{box-shadow:none}.ui-surface{background:var(--bg-surface);border-radius:var(--radius-md)}.ui-surface--sunken{background:var(--bg-sunken)}.ui-surface--tint{background:var(--accent-tint);color:var(--accent-on-tint)}.chip,.ui-chip{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);min-height:var(--tap-min);padding:var(--space-2) var(--space-4);border:1.5px solid var(--line-control);border-radius:var(--radius-pill);background:var(--bg-surface);color:var(--fg-primary);font-family:inherit;font-size:var(--fs-caption);font-weight:var(--fw-semibold);line-height:var(--lh-snug);white-space:nowrap;cursor:pointer;transition:transform var(--dur-2) var(--ease-press)}.chip--active,.ui-chip--active{background:var(--accent);color:var(--fg-on-accent);border-color:var(--accent);box-shadow:var(--elev-2)}.chip:active:not(:disabled),.ui-chip:active:not(:disabled){transform:scale(.93)}.chip--active:active:not(:disabled),.ui-chip--active:active:not(:disabled){box-shadow:var(--elev-1)}.chip:focus-visible,.ui-chip:focus-visible{outline:none;box-shadow:var(--ring)}.chip:disabled,.ui-chip:disabled{opacity:.45;cursor:default}.chip-skeleton{min-height:var(--tap-min);border-radius:var(--radius-pill);flex-shrink:0}.chip-strip,.ui-chip-strip{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain;gap:var(--space-2);padding-bottom:var(--space-1);margin-bottom:var(--space-4);background-color:var(--bg-page);background-image:linear-gradient(to right,var(--bg-page) 45%,transparent),linear-gradient(to left,var(--bg-page) 45%,transparent),radial-gradient(farthest-side at 0 50%,color-mix(in srgb,var(--fg-primary) 40%,transparent),transparent),radial-gradient(farthest-side at 100% 50%,color-mix(in srgb,var(--fg-primary) 40%,transparent),transparent);background-position:left center,right center,left center,right center;background-size:26px 100%,26px 100%,14px 100%,14px 100%;background-repeat:no-repeat;background-attachment:local,local,scroll,scroll}.chip-strip::-webkit-scrollbar,.ui-chip-strip::-webkit-scrollbar{display:none}.ui-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--fs-caption);font-weight:var(--fw-semibold);line-height:var(--lh-snug);white-space:nowrap;background:var(--bg-sunken);color:var(--fg-secondary);box-shadow:inset 0 0 0 1px var(--line-hairline)}.ui-badge--accent{background:var(--accent-tint);color:var(--accent-on-tint);box-shadow:inset 0 0 0 1px var(--accent-border)}.ui-badge--success{background:var(--success-tint);color:var(--success-on-tint);box-shadow:inset 0 0 0 1px var(--success-border)}.ui-badge--warn{background:var(--warn-tint);color:var(--warn-on-tint);box-shadow:inset 0 0 0 1px var(--warn-border)}.ui-badge--danger{background:var(--danger-tint);color:var(--danger-on-tint);box-shadow:inset 0 0 0 1px var(--danger-border)}.ui-badge--solid{background:var(--danger-600);color:var(--fg-on-accent);box-shadow:none}.ui-badge--count{min-width:20px;height:20px;padding:0 var(--space-1);justify-content:center;font-size:var(--fs-micro);font-weight:var(--fw-bold)}.alert-badge{display:inline-flex;align-items:center;border-radius:var(--radius-pill);padding:2px var(--space-2);font-size:var(--fs-caption);font-weight:var(--fw-semibold);line-height:var(--lh-snug);background:var(--danger-600);color:var(--fg-on-accent)}.empty-state,.ui-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;height:auto;gap:var(--space-3);padding:var(--space-7) var(--space-5);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--fg-primary) 6%,transparent);box-shadow:inset 0 0 0 1px var(--line-hairline);animation:empty-state-in var(--dur-4) var(--ease-out) backwards}.empty-state__icon,.ui-empty__icon{position:relative;display:flex;align-items:center;justify-content:center;animation:empty-state-pop var(--dur-4) var(--ease-spring) backwards}.empty-state__icon:before,.ui-empty__icon:before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:132px;height:132px;border-radius:var(--radius-full);background:radial-gradient(circle,color-mix(in srgb,var(--ui-empty-tone, var(--accent-bright)) 20%,transparent) 0%,transparent 68%);pointer-events:none}.empty-state__icon>*,.ui-empty__icon>*{position:relative}.empty-state__emoji,.ui-empty__emoji{font-size:48px;line-height:1}.ui-empty__art{display:block;width:72px;height:72px;color:var(--ui-empty-tone, var(--accent-bright))}.ui-empty__art [stroke]{stroke:currentColor}.ui-empty--success{--ui-empty-tone: var(--success-400)}.ui-empty--warn{--ui-empty-tone: var(--warning-400)}.ui-empty--danger{--ui-empty-tone: var(--danger-400)}.empty-state__title,.ui-empty__title{font-size:var(--fs-title-sm);font-weight:var(--fw-heavy);line-height:var(--lh-snug);text-wrap:balance;animation:empty-state-rise var(--dur-4) var(--ease-out) 80ms backwards}.empty-state__desc,.ui-empty__desc{font-size:var(--fs-body);color:var(--fg-secondary);line-height:var(--lh-normal);text-wrap:balance;max-width:34ch;animation:empty-state-rise var(--dur-4) var(--ease-out) .14s backwards}.empty-state__action,.ui-empty__action{animation:empty-state-rise var(--dur-4) var(--ease-out) .2s backwards}.empty-state .btn-primary,.empty-state .btn-secondary,.ui-empty .ui-btn{width:auto;min-width:192px;max-width:100%;padding-left:var(--space-6);padding-right:var(--space-6)}@keyframes empty-state-in{0%{opacity:0;transform:scale(.97)}}@keyframes empty-state-pop{0%{opacity:0;transform:scale(.6)}}@keyframes empty-state-rise{0%{opacity:0;transform:translateY(10px)}}@media (prefers-reduced-motion: reduce){.empty-state,.empty-state__icon,.empty-state__title,.empty-state__desc,.empty-state__action,.ui-empty,.ui-empty__icon,.ui-empty__title,.ui-empty__desc,.ui-empty__action{animation:none}}.search-input,.form-field,.ui-input{width:100%;box-sizing:border-box;min-height:var(--tap-min);padding:var(--space-3);border-radius:var(--radius-sm);border:1.5px solid var(--line-control);background:var(--bg-page);color:var(--fg-primary);font-family:inherit;font-size:var(--fs-body);line-height:var(--lh-snug)}.search-input{margin-bottom:var(--space-4)}.form-field,.ui-input{margin-bottom:var(--space-3)}.form-field:last-child,.ui-input:last-child{margin-bottom:0}.ui-field .ui-input{margin-bottom:0}.search-input:focus,.form-field:focus,.ui-input:focus{outline:none;border-color:var(--accent-bright);box-shadow:var(--ring)}.search-input::placeholder,.form-field::placeholder,.ui-input::placeholder{color:var(--fg-secondary);opacity:1}.ui-input:disabled,.form-field:disabled,.search-input:disabled{opacity:.6;cursor:default}.ui-input--invalid,.ui-input[aria-invalid=true]{border-color:var(--danger-600)}.ui-input--invalid:focus,.ui-input[aria-invalid=true]:focus{border-color:var(--danger-600);box-shadow:var(--ring-danger)}textarea.ui-input,textarea.form-field{min-height:calc(var(--fs-body) * var(--lh-normal) * 3 + var(--space-6));line-height:var(--lh-normal);resize:vertical}select.form-field,select.ui-input{height:var(--tap-min)}.ui-field{display:block;margin-bottom:var(--space-4)}.form-label,.ui-field__label{display:block;margin-bottom:var(--space-2);font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--fg-secondary);line-height:var(--lh-snug)}.ui-field__hint{margin-top:var(--space-2);font-size:var(--fs-caption);line-height:var(--lh-normal);color:var(--fg-secondary)}.ui-field__error{margin-top:var(--space-2);font-size:var(--fs-caption);line-height:var(--lh-normal);color:var(--danger-fg);font-weight:var(--fw-medium)}.ui-search{position:relative}.ui-search__icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);display:flex;pointer-events:none;color:var(--fg-secondary)}.ui-search__icon svg{display:block;width:20px;height:20px}.ui-search .ui-input{padding-left:calc(var(--space-3) + 20px + var(--space-2))}.ui-search__clear{position:absolute;right:0;top:50%;transform:translateY(-50%);width:var(--tap-min);height:var(--tap-min);display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--fg-secondary);cursor:pointer;border-radius:var(--radius-full)}.ui-search__clear:active{transform:translateY(-50%) scale(.9)}.ui-search:has(.ui-search__clear) .ui-input{padding-right:var(--tap-min)}.modal-overlay,.ui-overlay{position:fixed;inset:0;z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;background:#0000009e;padding:max(var(--space-6),var(--safe-top)) var(--space-6) max(var(--space-6),var(--safe-bottom)) var(--space-6);animation:ui-overlay-in var(--dur-3) var(--ease-out)}@keyframes ui-overlay-in{0%{opacity:0}}.modal-box,.ui-modal{position:relative;width:100%;max-width:340px;max-height:100%;overflow-y:auto;overscroll-behavior:contain;background:var(--bg-elevated);color:var(--fg-primary);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--elev-4),0 0 0 1px var(--line-hairline);animation:ui-modal-in var(--dur-4) var(--ease-spring)}@keyframes ui-modal-in{0%{transform:translateY(14px) scale(.94);opacity:0}}.ui-sheet-overlay{align-items:flex-end;padding:0}.ui-sheet{width:100%;max-width:var(--content-max);max-height:88vh;overflow-y:auto;overscroll-behavior:contain;background:var(--bg-elevated);color:var(--fg-primary);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;padding:var(--space-3) var(--space-4) calc(var(--space-6) + var(--safe-bottom));box-shadow:var(--elev-4);animation:ui-sheet-in var(--dur-4) var(--ease-out)}@keyframes ui-sheet-in{0%{transform:translateY(24px);opacity:0}}.ui-sheet__handle{width:36px;height:4px;margin:0 auto var(--space-4);border-radius:var(--radius-pill);background:var(--line-hairline)}.modal-box--auto{height:auto}.modal-title,.ui-modal__title{font-size:var(--fs-body);font-weight:var(--fw-bold);line-height:var(--lh-normal);text-align:center;margin-bottom:var(--space-5);text-wrap:balance}.modal-title--subject{font-size:var(--fs-title-sm);font-weight:var(--fw-heavy);margin-bottom:0;overflow-wrap:anywhere}.ui-modal__close{position:absolute;top:var(--space-2);right:var(--space-2);width:var(--tap-min);height:var(--tap-min);display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--fg-secondary);border-radius:var(--radius-full);cursor:pointer}.ui-modal__close:active{transform:scale(.9)}@media (prefers-reduced-motion: reduce){.modal-box,.ui-modal,.ui-sheet{animation-name:ui-overlay-in}}.progress-track,.ui-bar{width:100%;height:14px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--fg-primary) 14%,transparent);overflow:hidden;position:relative;box-shadow:inset 0 1px 2px var(--progress-groove)}.progress-track--thin,.ui-bar--thin{height:8px}.progress-fill,.ui-bar__fill{height:100%;border-radius:var(--radius-pill);position:relative;transition:width .7s var(--ease-out);transform-origin:left center;animation:ui-bar-fill .7s var(--ease-out) both}.progress-fill:after,.ui-bar__fill:after{content:"";position:absolute;left:3px;right:3px;top:16%;height:28%;border-radius:var(--radius-pill);background:linear-gradient(to bottom,#ffffff73,#ffffff1f);pointer-events:none}@keyframes ui-bar-fill{0%{transform:scaleX(0)}}.ui-bar__marker{position:absolute;top:0;bottom:0;width:2px;background:var(--fg-primary);opacity:.6}.ui-ring{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.ui-ring__svg{display:block;transform:rotate(-90deg)}.ui-ring__track{fill:none;stroke:color-mix(in srgb,var(--fg-primary) 14%,transparent)}.ui-ring__value{fill:none;stroke:var(--ui-ring-color, var(--accent-bright));stroke-linecap:round;transition:stroke-dashoffset .7s var(--ease-out)}.ui-ring--success .ui-ring__value{stroke:var(--success-400)}.ui-ring--warn .ui-ring__value{stroke:var(--warning-400)}.ui-ring--danger .ui-ring__value{stroke:var(--danger-400)}.ui-ring--live .ui-ring__value{animation:ui-ring-breathe 2.4s ease-in-out infinite}@keyframes ui-ring-breathe{0%,to{opacity:1}50%{opacity:.72}}.ui-ring__center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;padding:18%}.ui-ring__number{font-size:calc(var(--ring-size, 96px) * .24);font-weight:var(--fw-heavy);line-height:var(--lh-tight);letter-spacing:var(--ls-tight);color:var(--fg-primary);font-variant-numeric:tabular-nums}.ui-ring__label{font-size:var(--fs-micro);font-weight:var(--fw-medium);line-height:var(--lh-snug);color:var(--fg-secondary);white-space:nowrap}@media (prefers-reduced-motion: reduce){.progress-fill,.ui-bar__fill{animation:none;transition:none}.ui-ring__value{transition:none}.ui-ring--live .ui-ring__value{animation:none}}.skeleton,.ui-sk{position:relative;overflow:hidden;background:color-mix(in srgb,var(--fg-primary) 12%,transparent);border-radius:var(--radius-lg);opacity:max(.62,calc(1 - var(--skeleton-i, 0) * .05))}.skeleton:after,.ui-sk:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--fg-primary) 10%,transparent),transparent);animation:skeleton-shimmer 1.3s infinite;animation-delay:calc(var(--skeleton-i, 0) * -.11s)}@keyframes skeleton-shimmer{to{transform:translate(100%)}}.ui-sk--text{height:calc(var(--fs-body) * var(--lh-normal));border-radius:var(--radius-2xs)}.ui-sk--text-sm{height:calc(var(--fs-caption) * var(--lh-normal));border-radius:var(--radius-2xs)}.ui-sk--title{height:calc(var(--fs-title-sm) * var(--lh-snug));border-radius:var(--radius-2xs)}.ui-sk--circle{border-radius:var(--radius-full)}.ui-sk-lines{display:flex;flex-direction:column;gap:var(--space-2)}.ui-sk-lines>.ui-sk:last-child{width:62%}.ui-sk-card{background:var(--bg-surface);border-radius:var(--radius-lg);padding:var(--card-pad);margin-bottom:var(--space-3)}.ui-sk-card__head{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.ui-sk-list{animation:none}@media (prefers-reduced-motion: reduce){.skeleton:after,.ui-sk:after{animation:none}}.ui-toasts{--toast-bottom: calc(var(--nav-h) + var(--safe-bottom) + var(--space-3));position:fixed;left:var(--space-4);right:var(--space-4);bottom:var(--toast-bottom);z-index:var(--z-toast);display:flex;flex-direction:column;align-items:center;gap:var(--space-2);pointer-events:none}:root{--toast-bg: var(--neutral-900);--toast-fg: var(--neutral-50);--toast-edge: transparent}html[data-theme=dark]{--toast-bg: var(--neutral-700);--toast-fg: var(--neutral-50);--toast-edge: var(--neutral-500)}.ui-toast{pointer-events:auto;max-width:min(100%,420px);display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);box-shadow:var(--elev-3),inset 0 0 0 1px var(--toast-edge);background:var(--toast-bg);color:var(--toast-fg);font-size:var(--fs-body-sm);font-weight:var(--fw-medium);line-height:var(--lh-normal);text-wrap:pretty;animation:ui-toast-in var(--dur-3) var(--ease-out)}.ui-toast--leaving{animation:ui-toast-out var(--dur-2) var(--ease-in) forwards}@keyframes ui-toast-in{0%{transform:translateY(12px) scale(.96);opacity:0}}@keyframes ui-toast-out{to{transform:translateY(8px) scale(.96);opacity:0}}.ui-toast--success .ui-toast__icon{color:var(--success-300)}.ui-toast--danger .ui-toast__icon{color:var(--danger-300)}.ui-toast--warn .ui-toast__icon{color:var(--warning-300)}.ui-toast__icon{flex-shrink:0;display:flex;margin-top:1px}.ui-toast__icon svg{display:block;width:20px;height:20px}.ui-toast__text{min-width:0;flex:1}.ui-toast__action{position:relative;flex-shrink:0;align-self:center;min-height:32px;padding:0 var(--space-2);border:none;border-radius:var(--radius-xs);background:color-mix(in srgb,currentColor 16%,transparent);color:inherit;font:inherit;font-weight:var(--fw-semibold);cursor:pointer}.ui-toast__action:before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,var(--tap-min));height:var(--tap-min)}.ui-toast__action:active{transform:scale(.95)}@media (prefers-reduced-motion: reduce){.ui-toast,.ui-toast--leaving{animation-name:ui-toast-fade}@keyframes ui-toast-fade{0%{opacity:0}}}:root{--tg-bg: var(--bg-page);--tg-text: var(--fg-primary);--tg-hint: var(--fg-secondary);--tg-link: var(--accent-fg);--tg-button: var(--accent);--tg-button-text: var(--fg-on-accent);--tg-secondary-bg: var(--bg-surface);--color-correct: #58cc02;--color-correct-dark: #4aa802;--color-wrong: #ff6b6b;--color-wrong-dark: #e85555;--color-xp: #ffc800;--color-streak: #ff9600;--color-gold: #ffb300;--color-confetti-pink: #ff6bcb;--color-silver: #c3ccd6;--color-bronze: #cd8544;--color-primary: var(--tg-button);--color-success: var(--color-correct);--color-success-text: var(--feedback-correct-text);--color-danger: var(--color-wrong);--color-danger-text: var(--feedback-wrong-text);--surface: var(--tg-bg);--surface-raised: var(--tg-secondary-bg);--border: var(--border-subtle);--text-primary: var(--tg-text);--text-secondary: var(--tg-hint);--accent-signs: #9c4221;--accent-basics: #4a5568;--accent-signals: #dd6b20;--accent-maneuvers: #3c5a76;--accent-crossings: #6b3fa0;--accent-zones: #0f766e;--accent-participants: #5a67d8;--accent-safety: #b7791f;--accent-exam: #6b46c1;--accent-car-knowledge: #c05621;--exam-accent: #4ec6e0;--exam-accent-bg: #d8f2fa;--exam-accent-text: #177087;--exam-accent-ring: #1f8fae;--border-subtle: color-mix(in srgb, var(--tg-hint) 55%, transparent);--switch-track: #c6c6c6;--switch-groove: rgba(0, 0, 0, .12);--switch-knob-shadow: rgba(0, 0, 0, .25);--segmented-groove: rgba(0, 0, 0, .1);--switch-on: color-mix(in srgb, var(--color-correct) 60%, var(--tg-text));--progress-groove: rgba(0, 0, 0, .13);--feedback-correct-text: #276b00;--feedback-wrong-text: #b71c1c;--penalty-points-text: #7a5600;--xp-text: #8c5d00;--penalty-points-mix: 34%;--topic-percent-mix: 30%;--readiness-delta-mix: 30%;--readiness-delta-down-mix: 22%;--check-ok-mix: 30%;--check-fail-mix: 22%;--error-panel-mix: 22%;--question-tint-mix: 18%;--question-done-mix: 18%;--app-zoom: 1;--radius-card: var(--radius-lg);--shadow-soft: var(--elev-2);--shadow-card: var(--elev-2);--modal-hairline: rgba(0, 0, 0, .05);--shadow-sign: 0 3px 6px rgba(0, 0, 0, .16);--shadow-sign-press: 0 1px 3px rgba(0, 0, 0, .22);--shadow-app-column: 0 0 40px rgba(0, 0, 0, .15);--mascot-figure: drop-shadow(0 5px 8px rgba(0, 0, 0, .18));--shadow-accessory: drop-shadow(0 1px 1px rgba(0, 0, 0, .35));--shadow-badge: drop-shadow(0 2px 3px rgba(0, 0, 0, .3));--shadow-lightbox: drop-shadow(0 8px 30px rgba(0, 0, 0, .4))}@media (prefers-color-scheme: dark){:root{--tg-bg: var(--neutral-900);--tg-text: var(--neutral-100);--tg-hint: var(--neutral-400);--tg-link: var(--brand-300);--tg-button: var(--brand-600);--tg-button-text: var(--neutral-0);--tg-secondary-bg: var(--neutral-800);--border-subtle: color-mix(in srgb, var(--tg-hint) 40%, transparent);--switch-on: var(--color-correct);--modal-hairline: rgba(255, 255, 255, .18);--shadow-sign: 0 3px 6px rgba(0, 0, 0, .8);--shadow-sign-press: 0 1px 3px rgba(0, 0, 0, .95);--shadow-app-column: 0 0 40px rgba(0, 0, 0, .75);--mascot-figure: drop-shadow(0 0 3px rgba(255, 255, 255, .45)) drop-shadow(0 5px 8px rgba(0, 0, 0, .5));--shadow-accessory: drop-shadow(0 0 2px rgba(255, 255, 255, .45)) drop-shadow(0 1px 1px rgba(0, 0, 0, .6));--shadow-badge: drop-shadow(0 0 3px rgba(255, 255, 255, .45)) drop-shadow(0 2px 3px rgba(0, 0, 0, .55));--shadow-lightbox: drop-shadow(0 0 10px rgba(255, 255, 255, .45)) drop-shadow(0 8px 30px rgba(0, 0, 0, .55));--switch-track: #45525f;--switch-groove: rgba(0, 0, 0, .2);--switch-knob-shadow: rgba(0, 0, 0, .45);--segmented-groove: rgba(0, 0, 0, .4);--progress-groove: rgba(0, 0, 0, .35);--feedback-correct-text: #7ee02e;--feedback-wrong-text: #ff9494;--penalty-points-text: #ffd166;--xp-text: #ffd166;--penalty-points-mix: 20%;--topic-percent-mix: 14%;--readiness-delta-mix: 14%;--readiness-delta-down-mix: 14%;--check-ok-mix: 14%;--check-fail-mix: 14%;--error-panel-mix: 14%;--question-tint-mix: 10%;--question-done-mix: 14%}}html[data-theme=light]{--tg-bg: var(--bg-page);--tg-text: var(--fg-primary);--tg-hint: var(--fg-secondary);--tg-link: var(--accent-fg);--tg-button: var(--accent);--tg-button-text: var(--fg-on-accent);--tg-secondary-bg: var(--bg-surface);color-scheme:light;--border-subtle: color-mix(in srgb, var(--tg-hint) 38%, transparent);--switch-on: color-mix(in srgb, var(--color-correct) 60%, var(--tg-text));--modal-hairline: rgba(0, 0, 0, .05);--shadow-sign: 0 3px 6px rgba(0, 0, 0, .16);--shadow-sign-press: 0 1px 3px rgba(0, 0, 0, .22);--shadow-app-column: 0 0 40px rgba(0, 0, 0, .15);--mascot-figure: drop-shadow(0 5px 8px rgba(0, 0, 0, .18));--shadow-accessory: drop-shadow(0 1px 1px rgba(0, 0, 0, .35));--shadow-badge: drop-shadow(0 2px 3px rgba(0, 0, 0, .3));--shadow-lightbox: drop-shadow(0 8px 30px rgba(0, 0, 0, .4));--switch-track: #c6c6c6;--switch-groove: rgba(0, 0, 0, .12);--switch-knob-shadow: rgba(0, 0, 0, .25);--segmented-groove: rgba(0, 0, 0, .1);--progress-groove: rgba(0, 0, 0, .13);--feedback-correct-text: #276b00;--feedback-wrong-text: #b71c1c;--penalty-points-text: #7a5600;--xp-text: #8c5d00;--penalty-points-mix: 34%;--topic-percent-mix: 30%;--readiness-delta-mix: 30%;--readiness-delta-down-mix: 22%;--check-ok-mix: 30%;--check-fail-mix: 22%;--error-panel-mix: 22%;--question-tint-mix: 18%;--question-done-mix: 18%;--color-primary-text: #0c4a72;--color-primary-bg: #dceefc;--nav-pill-bg: var(--color-primary-bg);--color-success-bg: #e3f6d1;--accent-signs: #9c4221;--accent-crossings: #6b3fa0;--accent-zones: #0f766e;--accent-maneuvers: #3c5a76;--accent-signs-bg: #f3e3da;--accent-basics-bg: #e6e9ed;--accent-signals-bg: #fce8d5;--accent-maneuvers-bg: #dbe4ec;--accent-crossings-bg: #ece2f5;--accent-zones-bg: #d8f0ec;--accent-participants-bg: #e5e8fa;--accent-safety-bg: #f5ead2;--accent-exam-bg: #eae3f7;--accent-car-knowledge-bg: #f7e4d8;--accent-signs-text: #9c4221;--accent-basics-text: #4a5568;--accent-signals-text: #a85118;--accent-maneuvers-text: #3c5a76;--accent-crossings-text: #6b3fa0;--accent-zones-text: #0f766e;--accent-participants-text: #535fc7;--accent-safety-text: #8f5e18;--accent-exam-text: #6b46c1;--accent-car-knowledge-text: #a94c1d;--sign-cat-red: #c81e1e;--sign-cat-blue: #1560bd;--sign-cat-gold: #8f5e18}html[data-theme=dark]{--tg-bg: var(--bg-page);--tg-text: var(--fg-primary);--tg-hint: var(--fg-secondary);--tg-link: var(--accent-fg);--tg-button: var(--accent);--tg-button-text: var(--fg-on-accent);--tg-secondary-bg: var(--bg-surface);color-scheme:dark;--border-subtle: color-mix(in srgb, var(--tg-hint) 40%, transparent);--switch-on: var(--color-correct);--modal-hairline: rgba(255, 255, 255, .18);--shadow-sign: 0 3px 6px rgba(0, 0, 0, .8);--shadow-sign-press: 0 1px 3px rgba(0, 0, 0, .95);--shadow-app-column: 0 0 40px rgba(0, 0, 0, .75);--mascot-figure: drop-shadow(0 0 3px rgba(255, 255, 255, .45)) drop-shadow(0 5px 8px rgba(0, 0, 0, .5));--shadow-accessory: drop-shadow(0 0 2px rgba(255, 255, 255, .45)) drop-shadow(0 1px 1px rgba(0, 0, 0, .6));--shadow-badge: drop-shadow(0 0 3px rgba(255, 255, 255, .45)) drop-shadow(0 2px 3px rgba(0, 0, 0, .55));--shadow-lightbox: drop-shadow(0 0 10px rgba(255, 255, 255, .45)) drop-shadow(0 8px 30px rgba(0, 0, 0, .55));--switch-track: #45525f;--switch-groove: rgba(0, 0, 0, .2);--switch-knob-shadow: rgba(0, 0, 0, .45);--segmented-groove: rgba(0, 0, 0, .4);--progress-groove: rgba(0, 0, 0, .35);--feedback-correct-text: #7ee02e;--feedback-wrong-text: #ff9494;--penalty-points-text: #ffd166;--xp-text: #ffd166;--penalty-points-mix: 20%;--topic-percent-mix: 14%;--readiness-delta-mix: 14%;--readiness-delta-down-mix: 14%;--check-ok-mix: 14%;--check-fail-mix: 14%;--error-panel-mix: 14%;--question-tint-mix: 10%;--question-done-mix: 14%;--color-primary-text: #7cc5f0;--color-primary-bg: #1c3347;--nav-pill-bg: color-mix(in srgb, var(--tg-button) 45%, var(--tg-bg));--color-success-bg: #1f3505;--accent-signs: #c2703a;--accent-crossings: #9f7aea;--accent-zones: #2dd4bf;--accent-maneuvers: #6b8caf;--accent-basics: #718096;--accent-signals: #ed8936;--accent-participants: #7f9cf5;--accent-safety: #d69e2e;--accent-exam: #8a63d2;--accent-car-knowledge: #dd7b47;--accent-signs-bg: #3d2c22;--accent-basics-bg: #2c3038;--accent-signals-bg: #3d2f1c;--accent-maneuvers-bg: #253440;--accent-crossings-bg: #34293f;--accent-zones-bg: #1c3733;--accent-participants-bg: #2b2f47;--accent-safety-bg: #3a3320;--accent-exam-bg: #362a4a;--accent-car-knowledge-bg: #3d2a1c;--accent-signs-text: #cc875a;--accent-basics-text: #8d99ab;--accent-signals-text: #ed8936;--accent-maneuvers-text: #839ebc;--accent-crossings-text: #a582eb;--accent-zones-text: #2dd4bf;--accent-participants-text: #7f9cf5;--accent-safety-text: #d69e2e;--accent-exam-text: #a688dd;--accent-car-knowledge-text: #dd7b47;--sign-cat-red: #ff6b6b;--sign-cat-blue: #6fa8dc;--sign-cat-gold: #f7c600}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--tg-bg);color:var(--tg-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-tap-highlight-color:transparent}@media (min-width: 640px) and (pointer: fine){body{background:var(--tg-secondary-bg)}#root{max-width:480px;margin:0 auto;min-height:100%;background:var(--tg-bg);box-shadow:var(--shadow-app-column)}}@media (min-width: 640px) and (pointer: fine) and (any-pointer: coarse){body{background:var(--tg-bg)}#root{max-width:none;margin:0;box-shadow:none}}::selection{background:color-mix(in srgb,var(--tg-link) 30%,transparent);color:var(--tg-text)}button{font-family:inherit;font-size:inherit;cursor:pointer;color:inherit;background:none;border:none;user-select:none;-webkit-user-select:none;transition:transform var(--dur-2) var(--ease-press),opacity var(--dur-1) ease}.knowledge-body,.sign-card__body{user-select:text;-webkit-user-select:text}button:active:not(:disabled){transform:scale(.96)}@media (hover: hover) and (pointer: fine){button:hover:not(:active):not(:disabled){transform:translateY(-1px)}}button:focus-visible{outline:3px solid var(--tg-link);outline-offset:2px}.app-shell{display:flex;flex-direction:column;height:100vh;height:100dvh;height:var(--app-vh, 100dvh);transition:height var(--dur-3) ease-out;padding-top:calc(env(safe-area-inset-top) + var(--tg-content-safe-area-top, 0px));box-sizing:border-box}.app-content{flex:1;min-height:0;overflow-y:auto;zoom:var(--app-zoom);padding:16px}.app-content,.modal-box,.mentor-input{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--tg-text) 26%,transparent) transparent}.premium-status-card--tappable{text-align:left;color:var(--tg-text);border:none;background:var(--tg-secondary-bg)}.premium-status-card__chevron{font-size:22px;line-height:1;color:var(--fg-secondary);padding-left:var(--space-2);flex-shrink:0}.premium-compare-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid color-mix(in srgb,var(--tg-hint) 15%,transparent);font-size:var(--fs-caption);flex-wrap:wrap}.premium-compare-row:last-of-type{border-bottom:none}.premium-compare-row__label{flex:1 1 auto;min-width:min-content}.premium-compare-row__values{display:flex;align-items:baseline;gap:var(--space-1);white-space:nowrap;flex-shrink:0;margin-left:auto}.premium-compare-row__free,.premium-compare-row__arrow{color:var(--tg-hint)}.premium-compare-row__premium{color:var(--color-primary-text);font-weight:var(--fw-heavy)}.payment-step{margin-top:var(--space-3)}.payment-step__label{font-weight:var(--fw-bold);margin-bottom:var(--space-2)}.plan-goal{margin-bottom:var(--space-3)}.plan-goal:last-child{margin-bottom:0}.plan-goal__head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-1)}.plan-goal__overflow{margin:var(--space-1) 0 0;font-size:var(--fs-micro)}.tariff-card{position:relative;border:1.5px solid var(--border-subtle);padding:var(--space-4)}.tariff-card--featured{border-color:var(--accent);border-width:2px;box-shadow:var(--elev-3),0 0 0 4px var(--accent-tint)}.tariff-card__badge{display:inline-block;margin-bottom:var(--space-2);color:var(--color-primary-text);background:var(--color-primary-bg);font-size:var(--fs-micro);font-weight:var(--fw-heavy);letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px}.tariff-card__term{font-size:var(--fs-caption);font-weight:var(--fw-bold);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--fg-secondary);margin-bottom:var(--space-2)}.tariff-card__price{display:flex;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-1)}.tariff-card__amount{font-size:var(--fs-display-sm);line-height:var(--lh-tight)}.tariff-card__currency{font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--tg-hint)}.tariff-card__per-month{font-size:var(--fs-body);line-height:var(--lh-normal);color:var(--fg-primary);margin-bottom:var(--space-4)}.tariff-card__save{display:inline-block;margin-left:var(--space-2);padding:2px var(--space-2);border-radius:var(--radius-pill);background:var(--color-success-bg);color:var(--feedback-correct-text);font-size:var(--fs-caption);font-weight:var(--fw-heavy);white-space:nowrap}.tariff-card__sep{height:1px;background:var(--border-subtle);margin:0 calc(-1 * var(--space-4)) var(--space-4)}.tariff-card .btn-secondary{background:var(--tg-bg)}.partner-apply-requirement{background:color-mix(in srgb,var(--color-xp) 14%,var(--tg-secondary-bg));border-left:3px solid var(--color-streak);border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:var(--stack)}.partner-apply-requirement__title{font-size:var(--fs-body);font-weight:var(--fw-heavy);line-height:var(--lh-snug);margin-bottom:var(--space-1);color:var(--fg-primary)}.partner-apply-requirement__body{font-size:var(--fs-caption);line-height:var(--lh-normal);color:var(--fg-primary)}.partner-apply-requirement__body strong{color:color-mix(in srgb,var(--color-streak) 45%,var(--tg-text))}.action-tile{display:flex;align-items:center;gap:var(--space-3);width:100%;border:none;border-left:4px solid var(--tile-accent);text-align:left;background:var(--surface-raised);color:var(--text-primary)}.action-tile>strong{flex:1;min-width:0;line-height:var(--lh-snug)}.action-tile__icon{width:40px;height:40px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:var(--fs-title);background:var(--tile-accent-bg)}.smart-review-card{background:var(--color-primary-bg);box-shadow:var(--shadow-soft)}.smart-review-card .card-title{color:var(--color-primary-text)}.smart-review-card__desc{color:var(--color-primary-text);opacity:.85}.plan-upsell-topics{margin:var(--space-3) 0;border-top:1px solid var(--color-primary-text);border-top-color:color-mix(in srgb,var(--color-primary-text) 20%,transparent)}.plan-upsell-topic-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid color-mix(in srgb,var(--color-primary-text) 12%,transparent)}.plan-upsell-topic-row:last-child{border-bottom:none}.plan-upsell-topic-row__name{color:var(--color-primary-text);opacity:.75;font-size:var(--fs-caption);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.plan-upsell-topic-row__lock{flex-shrink:0;font-size:var(--fs-caption);opacity:.7}.plan-upsell-benefits{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.plan-upsell-benefit{display:flex;align-items:center;gap:var(--space-2);color:var(--color-primary-text);font-size:var(--fs-caption)}.action-tile:after{content:"›";flex-shrink:0;margin-left:auto;font-size:22px;line-height:1;opacity:.55;transition:transform var(--dur-2) var(--ease-press)}button.action-tile:active:not(:disabled):after{transform:translate(3px)}.offline-badge,.srs-note{display:inline-flex;align-items:center;border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--tg-hint);background:var(--tg-secondary-bg);box-shadow:inset 0 0 0 1px var(--border-subtle)}.switch-toggle{appearance:none;-webkit-appearance:none;flex-shrink:0;position:relative;width:50px;height:30px;margin:0;border-radius:999px;background:var(--switch-track);box-shadow:inset 0 2px 4px var(--switch-groove);cursor:pointer}.switch-toggle:before{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:var(--radius-full);background:var(--neutral-0);box-shadow:0 2px 4px var(--switch-knob-shadow);transition:transform var(--dur-4) var(--ease-press),width var(--dur-2) ease}.switch-toggle:checked{background:var(--switch-on)}.switch-toggle:checked:before{transform:translate(20px)}.switch-toggle:active:not(:disabled):before{width:28px}.switch-toggle:checked:active:not(:disabled):before{transform:translate(16px)}.switch-toggle:disabled{opacity:.5;cursor:default}.switch-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--tg-link) 25%,transparent),inset 0 2px 4px var(--switch-groove)}input:not([type=checkbox]):not([type=radio]):not([type=file]):focus,textarea:not(.mentor-input):focus,select:focus{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--tg-link) 25%,transparent)}.mentor-input:disabled{opacity:.65;cursor:default}.attach-form__preview{position:relative;display:block;margin-bottom:var(--space-2)}.attach-form__actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.media-preview{display:block;width:100%;height:160px;object-fit:contain;background:var(--bg-surface);border-radius:var(--radius-sm);box-shadow:0 0 0 1px color-mix(in srgb,var(--tg-text) 50%,transparent);animation:question-card-in var(--dur-4) var(--ease-out) both}@keyframes question-card-in{0%{opacity:0;transform:translate(14px)}}.media-preview~.media-preview-remove{animation:list-item-in var(--dur-4) var(--ease-out) both}@media (prefers-reduced-motion: reduce){.media-preview,.media-preview~.media-preview-remove{animation:none}}.media-preview-remove{position:absolute;top:var(--space-2);right:var(--space-2);width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-caption);line-height:1;border-radius:999px;box-shadow:0 0 0 2px var(--tg-secondary-bg)}.media-preview-remove:before{content:"";position:absolute;left:50%;top:50%;width:44px;height:44px;transform:translate(-50%,-50%)}.online-dot{position:absolute;bottom:-1px;right:-1px;width:12px;height:12px;border-radius:var(--radius-full);border:2px solid var(--tg-secondary-bg);box-sizing:content-box}.duel-row .online-dot,.modal-box .online-dot{border-color:var(--tg-bg)}.online-dot--on{background:color-mix(in srgb,var(--color-correct) 60%,var(--tg-text))}.online-dot--on:after{content:"";position:absolute;inset:0;border-radius:var(--radius-full);border:2px solid color-mix(in srgb,var(--color-correct) 55%,transparent);animation:online-dot-pulse 2.4s ease-out infinite;pointer-events:none}@keyframes online-dot-pulse{0%{transform:scale(1);opacity:.9}70%{transform:scale(1.9);opacity:0}to{transform:scale(1.9);opacity:0}}@media (prefers-reduced-motion: reduce){.online-dot--on:after{animation:none;opacity:0}}.online-dot--off{background:var(--tg-hint)}.error-text{color:var(--feedback-wrong-text);font-weight:var(--fw-semibold);font-size:var(--fs-body);line-height:var(--lh-normal);text-wrap:pretty;margin-block:var(--space-2);animation:fade-in var(--dur-3) ease}.error-text--center{text-align:center}.login-screen{gap:var(--space-4);padding:var(--space-6);text-align:center}div.error-text{background:color-mix(in srgb,var(--color-wrong) var(--error-panel-mix),transparent);padding:10px 12px;border-radius:var(--radius-sm)}.quiet-note{padding:10px 12px;border-radius:var(--radius-sm);background:var(--tg-bg);box-shadow:inset 0 0 0 1px var(--border-subtle);font-size:var(--fs-caption);line-height:var(--lh-normal);color:var(--tg-hint);text-align:center;text-wrap:pretty}.segmented{display:flex;gap:var(--space-1);padding:4px;background:var(--tg-secondary-bg);border-radius:var(--radius-md);box-shadow:inset 0 1px 3px var(--segmented-groove)}.segmented-btn{flex:1;min-width:0;padding:var(--space-3);border:none;border-radius:calc(var(--radius-md) - var(--space-1));background:transparent;color:color-mix(in srgb,var(--tg-text) 70%,transparent);font-size:var(--fs-body-sm);font-weight:var(--fw-semibold);overflow-wrap:anywhere;min-height:44px;transition:transform var(--dur-2) var(--ease-press)}.segmented-btn--active{background:var(--tg-button);color:var(--tg-button-text);font-weight:var(--fw-bold);box-shadow:0 2px 6px color-mix(in srgb,var(--tg-button) 40%,transparent)}.segmented-btn:active:not(:disabled){transform:scale(.95)}.segmented-btn--active:active:not(:disabled){transform:scale(.96);box-shadow:0 1px 3px color-mix(in srgb,var(--tg-button) 35%,transparent)}.segmented-btn:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--tg-link) 25%,transparent)}.segmented--compact{padding:var(--space-1);gap:var(--space-1);background:var(--bg-page);border-radius:var(--radius-sm)}.segmented--compact .segmented-btn{padding:8px 6px;min-height:0;font-size:var(--fs-caption);border-radius:calc(var(--radius-sm) - 3px);overflow-wrap:break-word;min-width:min-content}.settings-row>.segmented--compact{flex:1 1 100%}.segmented-btn:disabled{opacity:.65}.stat-number{font-weight:var(--fw-heavy);font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1}.stat-number--lg{font-size:var(--fs-display)}.stat-number--xl{font-size:var(--fs-display-lg)}.stat-number--sm{font-size:var(--fs-title-sm)}.topic-percent{flex-shrink:0;margin-left:10px;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--color-correct) var(--topic-percent-mix),var(--tg-secondary-bg));color:var(--feedback-correct-text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-correct) 45%,transparent)}.topic-percent--zero{background:transparent;color:color-mix(in srgb,var(--tg-text) 66%,transparent);box-shadow:inset 0 0 0 1px var(--border-subtle)}.topic-row__title{font-size:var(--fs-body);font-weight:var(--fw-semibold);line-height:var(--lh-snug);text-wrap:pretty}.topic-unverified-mark{margin-left:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:999px;background:color-mix(in srgb,var(--tg-text) 14%,transparent);cursor:pointer}.topic-row__hint{font-size:var(--fs-caption);color:var(--tg-hint);line-height:var(--lh-normal);text-wrap:pretty}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.stat-tile{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-3) var(--space-2);background:var(--tg-bg);border-radius:var(--radius-md);box-shadow:var(--shadow-soft),inset 0 0 0 1px var(--modal-hairline)}.stat-tile-icon{font-size:var(--fs-title-sm);line-height:1}.stat-tile-value{font-size:var(--fs-title-lg);color:var(--fg-primary)}.stat-tile-value--accent{color:var(--feedback-correct-text)}.stat-tile-label{font-size:var(--fs-caption);line-height:var(--lh-snug);text-align:center;color:color-mix(in srgb,var(--tg-text) 66%,transparent)}.text-hero{margin:0;font-size:var(--fs-hero);font-weight:var(--fw-heavy);line-height:var(--lh-snug);overflow-wrap:anywhere;text-wrap:balance}h2,h3{font-weight:var(--fw-heavy);line-height:var(--lh-snug);margin:var(--space-5) 0 var(--stack)}h2{font-size:var(--fs-hero)}h3{font-size:var(--fs-title-sm)}h2:first-child,h3:first-child{margin-top:0}.bottom-nav{position:relative;flex-shrink:0;display:flex;background:var(--tg-bg);border-top:1px solid color-mix(in srgb,var(--tg-text) 14%,transparent);padding-bottom:env(safe-area-inset-bottom)}.bottom-nav-collapse{display:grid;grid-template-rows:1fr;transition:grid-template-rows var(--dur-3) ease-out;flex-shrink:0}.bottom-nav-collapse.collapsed{grid-template-rows:0fr}.bottom-nav-collapse-inner{overflow:hidden;min-height:0}.bottom-nav-item{position:relative;z-index:var(--z-raised);flex:1;min-width:0;min-height:44px;background:none;border:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 0;font-size:var(--fs-label);font-weight:var(--fw-medium);color:color-mix(in srgb,var(--tg-text) 66%,transparent);transition:transform var(--dur-2) var(--ease-press)}.bottom-nav-item>span:not(.bottom-nav-icon){max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bottom-nav-item.active{color:color-mix(in srgb,var(--color-primary) 45%,var(--tg-text));font-weight:var(--fw-semibold)}.bottom-nav-item:active{transform:scale(.92)}.bottom-nav-icon{display:flex;line-height:1;transition:transform var(--dur-4) var(--ease-spring)}.bottom-nav-item.active .bottom-nav-icon{transform:translateY(-1px) scale(1.08)}.bottom-nav-pill-track{position:absolute;top:0;bottom:env(safe-area-inset-bottom);left:0;z-index:var(--z-base);pointer-events:none;transition:transform var(--dur-4) cubic-bezier(.4,0,.2,1)}@media (prefers-reduced-motion: reduce){.bottom-nav-pill-track{transition:none}}.bottom-nav-pill{position:absolute;inset:0 6px;border-radius:var(--radius-sm);background:var(--nav-pill-bg)}.input-bar-slot:empty{display:none}.input-bar-slot{flex-shrink:0;padding:6px 16px;padding-bottom:calc(6px + env(safe-area-inset-bottom))}.spinner{width:32px;height:32px;border:3px solid color-mix(in srgb,var(--tg-text) 18%,transparent);border-top-color:var(--tg-button);border-right-color:var(--tg-button);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation:spinner-pulse 1.2s ease-in-out infinite}}@keyframes spinner-pulse{0%,to{opacity:1}50%{opacity:.45}}.center-screen{display:flex;flex-direction:column;align-items:center;justify-content:safe center;height:100%;text-align:center;gap:var(--space-4);padding:24px}.loader{animation:fade-in var(--dur-3) ease .18s both}.loader__text{font-size:var(--fs-caption);color:var(--tg-hint)}@media (prefers-reduced-motion: reduce){.loader{animation:none}}.icon-btn{background:none;border:none;font-size:var(--fs-title);line-height:1;padding:var(--space-2) var(--space-3);color:color-mix(in srgb,var(--tg-text) 66%,transparent);border-radius:var(--radius-sm);min-width:44px;position:relative}.icon-btn--exit{display:inline-flex;align-items:center;justify-content:center}.icon-btn:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:max(100%,44px);height:max(100%,44px)}.avtodrom-pedal{width:64px;height:64px;border-radius:50%;border:none;font-size:var(--fs-title-lg);background:#ffffffd9;box-shadow:0 2px 8px #00000040;touch-action:none;user-select:none;-webkit-user-select:none}.avtodrom-pedal--gas{background:#78dc8ce6}.avtodrom-pedal--brake{background:#e66e6ee6}.icon-btn:active:not(:disabled){background:color-mix(in srgb,var(--tg-text) 14%,transparent);color:var(--tg-text)}.profile-settings-gear{font-size:var(--fs-display-sm);transform-origin:50% 50%;animation:profile-settings-gear-wink 4s ease-in-out infinite}@keyframes profile-settings-gear-wink{0%,90%,to{transform:rotate(0) scale(1)}92%{transform:rotate(-16deg) scale(1.18)}95%{transform:rotate(14deg) scale(1.18)}98%{transform:rotate(0) scale(1)}}.section-heading-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin:var(--space-5) 0 var(--space-3)}.section-heading-row>:is(h2,h3){font-size:var(--fs-title-sm)}.profile-settings-gear:active:not(:disabled){animation:none;transform:scale(.88)}@media (prefers-reduced-motion: reduce){.profile-settings-gear{animation:none}}.screen-topbar{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.screen-topbar__title{margin:0;font-size:var(--fs-title-sm);font-weight:var(--fw-heavy);line-height:var(--lh-snug);text-align:center;min-width:0;overflow-wrap:anywhere;text-wrap:balance}.mentor-input-bar{display:flex;align-items:flex-end;gap:var(--space-1);width:100%;padding:var(--space-1) var(--space-1) var(--space-1) var(--space-4);border-radius:var(--radius-xl);border:2px solid transparent;background:var(--tg-secondary-bg);box-shadow:var(--shadow-soft);transition:border-color var(--dur-2) ease}.mentor-input-bar:focus-within{border-color:var(--tg-link);box-shadow:0 0 0 3px color-mix(in srgb,var(--tg-link) 18%,transparent),var(--shadow-soft)}.mentor-input{flex:1;min-width:0;width:100%;max-height:120px;padding:var(--space-3) var(--space-1);border:none;background:transparent;color:var(--tg-text);font-size:var(--fs-body);font-family:inherit;line-height:var(--lh-normal);resize:none;overflow-y:auto;overscroll-behavior-y:contain}.mentor-input:focus{outline:none}.mentor-input::placeholder{color:var(--fg-secondary);opacity:1}.mentor-send-btn{flex-shrink:0;width:44px;height:44px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--fs-title-sm);background:var(--tg-button);color:var(--tg-button-text);box-shadow:0 3px 8px color-mix(in srgb,var(--tg-button) 40%,transparent);transition:transform var(--dur-2) var(--ease-press),opacity var(--dur-1) ease}.mentor-send-btn:active:not(:disabled){transform:scale(.9);box-shadow:0 1px 3px color-mix(in srgb,var(--tg-button) 35%,transparent)}.mentor-send-btn:disabled{opacity:.35;box-shadow:none}.chat-bubble{width:fit-content;max-width:85%;overflow-wrap:anywhere;line-height:var(--lh-normal);text-wrap:pretty;animation:chat-bubble-in var(--dur-4) var(--ease-out) backwards}.chat-bubble--user{margin-left:auto;background:color-mix(in srgb,var(--tg-link) 32%,var(--tg-bg));border-bottom-right-radius:var(--radius-xs)}.chat-bubble--bot{margin-right:auto;background:var(--tg-secondary-bg);border-bottom-left-radius:var(--radius-xs)}.chat-bubble--found,.chat-bubble--breakdown,.chat-bubble--none{border-left:3px solid var(--mentor-accent)}.chat-bubble--found{--mentor-accent: var(--feedback-correct-text)}.chat-bubble--breakdown{--mentor-accent: var(--tg-link)}.chat-bubble--none{--mentor-accent: color-mix(in srgb, var(--tg-hint) 65%, var(--tg-text))}@keyframes chat-bubble-in{0%{opacity:0;transform:translateY(8px) scale(.98)}}.mentor-typing{display:flex;align-items:center;gap:var(--space-2);color:color-mix(in srgb,var(--tg-hint) 60%,var(--tg-text))}.mentor-typing__dots{display:inline-flex;align-items:center;gap:var(--space-1);flex-shrink:0}.mentor-typing__dots i{width:8px;height:8px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--tg-link) 65%,var(--tg-hint));animation:mentor-typing-dot 1.05s ease-in-out infinite}.mentor-typing__dots i:nth-child(2){animation-delay:.15s}.mentor-typing__dots i:nth-child(3){animation-delay:.3s}.mentor-answer-in{animation:mentor-answer-in var(--dur-4) var(--ease-out) backwards}@keyframes mentor-answer-in{0%{opacity:0;transform:translateY(10px) scale(.98)}}@media (prefers-reduced-motion: reduce){.mentor-answer-in{animation-name:fade-in}}.mentor-answer-card{border-left:4px solid var(--mentor-accent);box-shadow:var(--shadow-card),inset 12px 0 16px -16px var(--mentor-accent);overflow-wrap:anywhere;line-height:var(--lh-normal)}.mentor-answer-card--found{--mentor-accent: var(--feedback-correct-text)}.mentor-answer-card--none{--mentor-accent: color-mix(in srgb, var(--tg-hint) 65%, var(--tg-text))}.mentor-answer-card--error{--mentor-accent: var(--feedback-wrong-text)}.mentor-breakdown-card{--mentor-accent: var(--tg-link);border-left:4px solid var(--mentor-accent);box-shadow:var(--shadow-card),inset 12px 0 16px -16px var(--mentor-accent);line-height:var(--lh-normal);overflow-wrap:anywhere}.u-mentor-wide-action{width:100%;margin-top:var(--space-3);font-size:var(--fs-caption)}.u-mentor-gap,.ad-upsell__actions{margin-top:var(--space-3)}.ad-upsell__unavailable{flex:1;min-width:0;text-align:center;margin-block:0}.mentor-limit{margin:var(--space-1) 0;font-size:var(--fs-caption);line-height:var(--lh-snug);color:var(--tg-hint);text-align:center;text-wrap:pretty}.mentor-limit--reached{color:var(--xp-text);font-weight:var(--fw-semibold)}.mentor-meta{margin-top:var(--space-2);font-size:var(--fs-caption);color:var(--tg-hint)}.mentor-la-lead{font-weight:var(--fw-semibold);line-height:var(--lh-normal);text-wrap:pretty}.mentor-la-block-title{font-size:var(--fs-caption);font-weight:var(--fw-bold);line-height:var(--lh-normal);color:var(--fg-primary);text-transform:uppercase;letter-spacing:var(--ls-wide);margin-top:var(--space-4);margin-bottom:var(--space-2);text-wrap:pretty}.mentor-la-block-title:first-child{margin-top:0}.mentor-la-item{border-left:2px solid var(--tg-secondary-bg);padding-left:var(--space-3);margin-bottom:var(--space-3);line-height:var(--lh-normal);overflow-wrap:anywhere}.mentor-la-item:last-child{margin-bottom:0}.mentor-la-item-head{font-weight:var(--fw-semibold)}.mentor-la-sub{font-size:var(--fs-caption);color:var(--tg-hint);line-height:var(--lh-normal);margin-top:4px}.mentor-la-amount{font-weight:var(--fw-bold);font-size:var(--fs-body);margin-top:var(--space-1)}.mentor-la-list{margin:0;padding-left:20px;line-height:var(--lh-normal)}.mentor-la-p{margin:0 0 var(--space-3);line-height:var(--lh-normal);overflow-wrap:anywhere}.mentor-la-p:last-child{margin-bottom:0}.mentor-la-list li{margin-bottom:var(--space-2);overflow-wrap:anywhere}.mentor-la-warn{font-size:var(--fs-caption);line-height:var(--lh-normal);color:var(--tg-hint);background:var(--tg-secondary-bg);border-radius:var(--radius-xs);padding:var(--space-2) var(--space-3);margin-top:10px}.mentor-la-disclaimer{font-size:var(--fs-caption);color:var(--tg-hint);line-height:var(--lh-normal);margin-top:var(--space-4);text-wrap:pretty}.share-feedback{font-size:var(--fs-caption);line-height:var(--lh-normal);text-wrap:pretty;border-left:4px solid var(--share-accent);box-shadow:var(--shadow-card),inset 12px 0 16px -16px var(--share-accent);animation:fade-in var(--dur-3) ease}.share-feedback--ok{--share-accent: var(--feedback-correct-text)}.share-feedback--error{--share-accent: var(--feedback-wrong-text)}@keyframes mentor-typing-dot{0%,60%,to{opacity:.35;transform:translateY(0) scale(.85)}30%{opacity:1;transform:translateY(-3px) scale(1)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-pop-in{0%{transform:translateY(14px) scale(.94);opacity:0}to{transform:none;opacity:1}}@keyframes pop-in{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.answer-option{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;text-align:left;border:2px solid transparent;transition:transform var(--dur-2) var(--ease-press);line-height:var(--lh-normal);text-wrap:pretty}.answer-option--terminal{background:var(--tg-bg);border:1.5px solid var(--border-subtle);border-radius:var(--radius-sm);padding:0;overflow:hidden;box-shadow:0 3px 0 var(--border-subtle);margin-bottom:var(--space-3)}.answer-option--terminal:not(:disabled):active{transform:translateY(3px);box-shadow:0 0 0 var(--border-subtle);background:color-mix(in srgb,var(--tg-link) 7%,var(--tg-bg))}.answer-option--selected{border-color:var(--tg-link)}.answer-option--correct{background:color-mix(in srgb,var(--color-correct) 20%,var(--tg-secondary-bg))!important;border-color:var(--feedback-correct-text);animation:bounce-correct var(--dur-4) ease}.answer-option--wrong{background:color-mix(in srgb,var(--color-wrong) 18%,var(--tg-secondary-bg))!important;border-color:var(--feedback-wrong-text);animation:shake-wrong var(--dur-4) ease}.answer-option-icon{font-weight:var(--fw-heavy);flex-shrink:0;font-size:var(--fs-body-sm);animation:answer-icon-pop var(--dur-4) var(--ease-spring) both}@keyframes answer-icon-pop{0%{transform:scale(.3);opacity:0}60%{transform:scale(1.18);opacity:1}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion: reduce){.answer-option-icon{animation:none}}.answer-option-icon--correct{color:var(--feedback-correct-text)}.answer-option-icon--wrong{color:var(--feedback-wrong-text)}.answer-option--terminal.answer-option--selected{box-shadow:0 3px color-mix(in srgb,var(--tg-link) 65%,transparent)}.answer-option--terminal.answer-option--correct{box-shadow:0 3px color-mix(in srgb,var(--color-correct) 70%,transparent)}.answer-option--terminal.answer-option--wrong{box-shadow:0 3px color-mix(in srgb,var(--color-wrong) 70%,transparent)}.answer-feedback{border-left:5px solid var(--feedback-accent);background:color-mix(in srgb,var(--feedback-accent) 12%,var(--tg-secondary-bg));box-shadow:var(--shadow-card),0 0 0 1px color-mix(in srgb,var(--feedback-accent) 28%,transparent);animation:answer-feedback-in var(--dur-4) var(--ease-out)}.answer-feedback--correct{--feedback-accent: var(--color-correct);--feedback-title: var(--feedback-correct-text);--feedback-glyph: "✓";--feedback-glyph-mix: 62%}.answer-feedback--wrong{--feedback-accent: var(--color-wrong);--feedback-title: var(--feedback-wrong-text);--feedback-glyph: "✕";--feedback-glyph-mix: 72%}.answer-feedback__text{font-size:var(--fs-body);line-height:var(--lh-normal)}.premium-gate{display:flex;align-items:center;gap:var(--space-3);width:100%;margin-top:var(--space-3);padding:var(--space-3) var(--space-4);min-height:var(--tap-min);border:1.5px solid color-mix(in srgb,var(--color-primary-text) 60%,transparent);border-radius:var(--radius-md);background:var(--tg-bg);color:var(--tg-text);text-align:left;font-family:inherit;cursor:pointer;box-shadow:var(--shadow-soft)}.premium-gate__icon{flex-shrink:0;width:36px;height:36px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;background:var(--color-primary-bg);color:var(--color-primary-text)}.premium-gate__text{flex:1;min-width:0}.premium-gate__title{display:block;font-size:var(--fs-body);font-weight:var(--fw-bold);line-height:var(--lh-snug);color:var(--color-primary-text)}.premium-gate__sub{display:block;margin-top:var(--space-1);font-size:var(--fs-caption);line-height:var(--lh-snug);color:var(--fg-secondary)}.premium-gate__chevron{flex-shrink:0;font-size:22px;line-height:1;color:var(--color-primary-text);opacity:.7;transition:transform var(--dur-2) var(--ease-press)}.premium-gate:active:not(:disabled) .premium-gate__chevron{transform:translate(3px)}.answer-explanation-full{margin-top:8px;padding-top:8px;border-top:1px solid color-mix(in srgb,var(--feedback-accent) 25%,transparent)}.answer-explanation-full__source{margin-top:var(--space-2);font-size:var(--fs-caption);opacity:.75;margin-bottom:var(--space-2)}.answer-explanation-full__options{margin-top:var(--space-2);display:flex;flex-direction:column;gap:var(--space-1)}.answer-explanation-full__option{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--fs-caption);opacity:.75;line-height:var(--lh-normal)}.answer-explanation-full__option--correct{opacity:1;color:var(--feedback-correct-text);font-weight:var(--fw-semibold)}.answer-feedback__verdict{margin-bottom:var(--space-1)}.answer-feedback>div:first-child{display:flex;align-items:center;gap:var(--space-2);color:var(--feedback-title);font-size:var(--fs-title-sm);font-weight:var(--fw-heavy);line-height:var(--lh-snug)}.answer-feedback>div:first-child:before{content:var(--feedback-glyph);flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:color-mix(in srgb,var(--feedback-accent) var(--feedback-glyph-mix, 72%),black);color:var(--neutral-0);font-size:var(--fs-caption);font-weight:var(--fw-heavy);line-height:1;animation:feedback-glyph-pop var(--dur-4) var(--ease-spring) .06s backwards}@keyframes answer-feedback-in{0%{opacity:0;transform:translateY(10px) scale(.985)}}@keyframes feedback-glyph-pop{0%{transform:scale(.2);opacity:0}}.answer-next-in{animation:answer-feedback-in var(--dur-4) var(--ease-out) .12s backwards}@media (prefers-reduced-motion: reduce){.answer-next-in{animation:none}}.question-progress-bar{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain;width:100%;min-width:0;max-width:100%;gap:var(--space-2);border:1.5px solid var(--exam-accent-ring);border-radius:var(--radius-lg);padding:6px 14px 6px 6px;margin-bottom:var(--space-3);box-sizing:border-box;background-color:var(--tg-bg);background-image:linear-gradient(to right,var(--tg-bg) 45%,transparent),linear-gradient(to left,var(--tg-bg) 45%,transparent),radial-gradient(farthest-side at 0 50%,var(--exam-accent-ring),transparent),radial-gradient(farthest-side at 100% 50%,var(--exam-accent-ring),transparent);background-position:left center,right center,left center,right center;background-size:26px 100%,26px 100%,15px 100%,15px 100%;background-repeat:no-repeat;background-attachment:local,local,scroll,scroll;background-clip:padding-box}.question-progress-bar::-webkit-scrollbar{display:none}.question-progress-number{flex:0 0 auto;min-width:30px;height:30px;display:flex;align-items:center;justify-content:center;padding:0 8px;border-radius:999px;font-size:var(--fs-caption);font-weight:var(--fw-bold);color:color-mix(in srgb,var(--tg-text) 65%,transparent);white-space:nowrap}.question-progress-number--done{background:color-mix(in srgb,var(--exam-accent) var(--question-done-mix),var(--tg-bg));color:var(--tg-text)}.question-progress-number--correct,.question-progress-number--wrong{position:relative}.question-progress-number--correct{color:var(--feedback-correct-text)}.question-progress-number--wrong{color:var(--feedback-wrong-text)}.question-progress-number--correct:after,.question-progress-number--wrong:after{content:"";position:absolute;bottom:3px;left:50%;transform:translate(-50%);background:currentColor}.question-progress-number--correct:after{width:4px;height:4px;border-radius:var(--radius-full)}.question-progress-number--wrong:after{width:8px;height:2px;border-radius:var(--radius-full)}.question-progress-number--active:after{display:none}.question-progress-number--active{background:var(--exam-accent-bg);color:var(--exam-accent-text);box-shadow:0 0 0 2px var(--exam-accent-ring),0 1px 4px color-mix(in srgb,var(--exam-accent) 55%,transparent);animation:question-number-pop var(--dur-4) var(--ease-press) backwards}@keyframes question-number-pop{0%{transform:scale(.74)}to{transform:scale(1)}}@media (prefers-reduced-motion: reduce){.question-progress-number--active{animation-name:none}}.question-card{border:1.5px solid var(--exam-accent-ring);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:var(--space-3);background:var(--bg-page);box-shadow:0 0 0 3px color-mix(in srgb,var(--exam-accent) 18%,transparent),var(--shadow-card);animation:list-item-in var(--dur-4) var(--ease-out) both}@media (prefers-reduced-motion: reduce){.question-card{animation:none}}.question-card-text{padding:var(--space-4) var(--space-5);font-weight:var(--fw-bold);font-size:var(--fs-body);line-height:var(--lh-normal);text-align:center;text-wrap:pretty;background:color-mix(in srgb,var(--exam-accent) var(--question-tint-mix),var(--tg-bg))}.question-card-text:not(:last-child){border-bottom:1.5px solid color-mix(in srgb,var(--exam-accent) 42%,transparent)}.answer-option--terminal .answer-option-fkey{flex-shrink:0;width:var(--tap-min);align-self:stretch;display:flex;align-items:center;justify-content:center;padding:var(--space-4) var(--space-1);font-weight:var(--fw-bold);font-size:var(--fs-caption);color:var(--fg-secondary);border-right:1.5px solid var(--border-subtle);background:var(--bg-page)}.answer-option--terminal .answer-option-text{flex:1;padding:var(--space-4);font-size:var(--fs-body);font-weight:var(--fw-medium)}.answer-option--terminal .answer-option-icon{padding-right:var(--space-4)}.answer-option-icon--pending{width:18px;height:18px;border-radius:var(--radius-full);border:2px solid color-mix(in srgb,var(--fg-primary) 25%,transparent);border-top-color:var(--accent-bright);animation:ans-pending-appear var(--dur-1) var(--ease-out) .3s both,ans-pending-spin .72s linear infinite}@keyframes ans-pending-appear{0%{opacity:0}}@keyframes ans-pending-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.answer-option-icon--pending{animation:ans-pending-appear var(--dur-1) var(--ease-out) .3s both;border-top-color:var(--accent-bright)}}@keyframes bounce-correct{0%{transform:scale(1)}30%{transform:scale(1.035)}60%{transform:scale(.99)}to{transform:scale(1)}}@keyframes shake-wrong{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(5px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}@media (prefers-reduced-motion: reduce){.answer-option--correct,.answer-option--wrong,.exam-intro-emoji,.league-emoji,.tab-fade-enter,.segmented-panel-in{animation:none}}.exam-intro-emoji{display:inline-block;animation:exam-emoji-bob 2.6s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.exam-intro-emoji,.league-emoji{animation:none}}@keyframes exam-emoji-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.hero-skeleton-circle{display:inline-block;vertical-align:middle;width:64px;height:64px;border-radius:var(--radius-full)}.hero-skeleton-bar{width:var(--bar-w, 50%);border-radius:var(--radius-sm);color:transparent}.league-emoji{display:inline-block;font-size:56px;animation:pop-in .42s var(--ease-spring) both,exam-emoji-bob 2.6s ease-in-out .42s infinite}.login-caption{font-size:var(--fs-caption);color:var(--fg-secondary);line-height:var(--lh-snug);text-wrap:balance}.login-subtitle{max-width:300px;color:var(--fg-secondary);line-height:var(--lh-normal);min-height:2.9em}.login-hero{display:inline-block;font-size:56px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.22));animation:login-hero-in .72s var(--ease-out) both,login-hero-bob 3s ease-in-out .72s infinite}@keyframes login-hero-in{0%{opacity:0;transform:translate(-96px) rotate(-9deg) scale(.82)}55%{opacity:1}72%{transform:translate(6px) rotate(2deg) scale(1.04)}to{opacity:1;transform:translate(0) rotate(0) scale(1)}}@keyframes login-hero-bob{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(-1.5deg)}}@media (prefers-reduced-motion: reduce){.login-hero{animation:none}}.tab-fade-enter{height:100%;animation:tab-fade-in var(--dur-3) ease;padding-bottom:1px}@keyframes tab-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.segmented-panel-in{animation:tab-fade-in var(--dur-3) ease}.segmented-panel-in .list-stagger-item{animation:none}.list-stagger-item{animation:list-item-in var(--dur-4) var(--ease-out) backwards;animation-delay:calc(var(--stagger-i, 0) * 35ms)}@keyframes list-item-in{0%{opacity:0;transform:translateY(10px)}}.screen-hero{height:auto;padding-bottom:var(--space-3)}.screen-hero--anchored{position:relative}.mentor-la-section{margin-top:var(--space-4)}.result-hero>*:not(.confetti-wrap):not(.mascot){animation-name:result-rise;animation-duration:var(--dur-4);animation-timing-function:var(--ease-out);animation-fill-mode:backwards}.result-hero>*:nth-child(1){animation-delay:60ms}.result-hero>*:nth-child(2){animation-delay:.15s}.result-hero>*:nth-child(3){animation-delay:.24s}.result-hero>*:nth-child(4){animation-delay:.33s}.result-hero>*:nth-child(5){animation-delay:.42s}.result-hero>*:nth-child(n+6){animation-delay:.51s}.result-hero>.mascot,.result-hero>.confetti-wrap{animation-delay:0s}@keyframes result-rise{0%{opacity:0;transform:translateY(14px) scale(.96)}}@media (prefers-reduced-motion: reduce){.result-hero>*{animation-name:none}}.result-verdict{font-size:var(--fs-display-sm);font-weight:var(--fw-heavy);line-height:var(--lh-snug);text-wrap:balance}.result-verdict--pass{color:var(--feedback-correct-text)}.result-verdict--fail{color:var(--feedback-wrong-text)}.caption{font-size:var(--fs-caption);line-height:var(--lh-normal);color:var(--fg-secondary);text-wrap:pretty}.text-secondary{color:var(--fg-secondary)}.hero-caption{font-size:var(--fs-caption);line-height:var(--lh-snug);color:var(--fg-secondary);text-align:center;text-wrap:pretty}.readiness-delta{flex-shrink:0;padding:3px 9px;border-radius:999px;font-size:var(--fs-body);font-weight:var(--fw-bold);line-height:var(--lh-snug);background:color-mix(in srgb,var(--color-correct) var(--readiness-delta-mix),var(--tg-secondary-bg));color:var(--feedback-correct-text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-correct) 45%,transparent)}.readiness-delta--down{background:color-mix(in srgb,var(--color-wrong) var(--readiness-delta-down-mix),var(--tg-secondary-bg));color:var(--feedback-wrong-text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-wrong) 45%,transparent)}.readiness-headline{display:flex;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-2)}.readiness-chart-block{margin-top:var(--space-3)}.readiness-forecast{margin-top:8px;font-size:var(--fs-caption);line-height:var(--lh-snug);color:color-mix(in srgb,var(--tg-text) 66%,transparent)}.referral-count{display:inline-block;padding:1px 9px;border-radius:999px;background:color-mix(in srgb,var(--tg-link) 16%,var(--tg-secondary-bg));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tg-link) 40%,transparent);font-weight:var(--fw-bold)}.referral-link{font-size:var(--fs-caption);line-height:var(--lh-normal);word-break:break-all;background:var(--tg-bg);border-radius:var(--radius-sm);box-shadow:var(--shadow-soft),inset 0 0 0 1px color-mix(in srgb,var(--tg-text) 14%,transparent);padding:9px 11px;margin-bottom:var(--stack)}.readiness-chart-label{font-size:var(--fs-caption);color:var(--tg-hint);margin-bottom:var(--space-1)}.readiness-part__head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-1);font-size:var(--fs-caption);line-height:var(--lh-snug)}.readiness-part__hint{margin-top:4px;font-size:var(--fs-caption);line-height:var(--lh-normal);color:var(--tg-hint)}.readiness-chart{display:flex;align-items:flex-end;gap:3px;height:36px;padding-bottom:3px;border-bottom:1px solid color-mix(in srgb,var(--tg-hint) 30%,transparent)}.readiness-bar{flex:1;min-width:4px;cursor:pointer;border-radius:4px 4px 2px 2px;background:linear-gradient(180deg,var(--color-correct),var(--color-correct-dark));opacity:.65;transform-origin:bottom;animation:readiness-bar-grow var(--dur-4) var(--ease-out) backwards;animation-delay:calc(var(--stagger-i, 0) * 45ms)}.readiness-bar:last-child{opacity:1;box-shadow:0 2px 6px color-mix(in srgb,var(--color-correct) 45%,transparent)}.readiness-bar--active{opacity:1;box-shadow:0 0 0 2px var(--tg-bg),0 0 0 4px var(--color-correct),0 2px 6px color-mix(in srgb,var(--color-correct) 45%,transparent)}@keyframes readiness-bar-grow{0%{opacity:0;transform:scaleY(.05)}}.rank-badge{width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-size:var(--fs-caption);background:color-mix(in srgb,var(--tg-hint) 22%,transparent);color:var(--tg-text)}.rank-badge--gold,.rank-badge--silver,.rank-badge--bronze{box-shadow:0 2px 7px color-mix(in srgb,var(--rank-medal) 45%,transparent);background:linear-gradient(150deg,color-mix(in srgb,var(--rank-medal) 62%,white),var(--rank-medal) 55%,color-mix(in srgb,var(--rank-medal) 88%,black));color:color-mix(in srgb,var(--rank-medal) 24%,black)}.rank-badge--gold{--rank-medal: var(--color-gold);width:32px;height:32px;font-size:var(--fs-body-sm)}.rank-badge--silver{--rank-medal: var(--color-silver)}.rank-badge--bronze{--rank-medal: var(--color-bronze)}.rating-row{display:flex;align-items:center;gap:var(--space-3);width:100%;text-align:left;border:2px solid transparent}.rating-row--me{border-color:var(--accent-bright);background:var(--accent-tint);box-shadow:var(--elev-2),0 0 0 3px color-mix(in srgb,var(--accent-bright) 28%,transparent)}.rating-row__person{flex:1;min-width:0}.rating-row__person>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.accordion-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);width:calc(100% + 16px);margin:0 -8px 2px;padding:8px;min-height:44px;border-radius:var(--radius-md);text-align:left;background:transparent;transition:background var(--dur-2) ease,transform var(--dur-2) var(--ease-press)}.accordion-header:active:not(:disabled){transform:scale(.985);background:color-mix(in srgb,var(--tg-link) 9%,transparent)}.accordion-count{display:inline-flex;align-items:center;gap:var(--space-2);flex-shrink:0;padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--tg-text);background:color-mix(in srgb,var(--tg-hint) 18%,transparent)}.accordion-chevron{display:block;font-size:var(--fs-micro);line-height:1;opacity:.7;transition:transform var(--dur-4) var(--ease-press)}.accordion-header[aria-expanded=true] .accordion-chevron{transform:rotate(180deg)}.knowledge-card{position:relative;overflow:hidden}.knowledge-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.knowledge-card-title{font-weight:var(--fw-semibold);font-size:var(--fs-body);line-height:var(--lh-snug);text-wrap:pretty}.knowledge-chevron{flex-shrink:0;font-size:var(--fs-micro);line-height:1;opacity:.7;transition:transform var(--dur-4) var(--ease-press)}.knowledge-card[aria-expanded=true] .knowledge-chevron,.mentor-suggestion[aria-expanded=true] .knowledge-chevron{transform:rotate(180deg)}.mentor-suggestion{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;text-align:left;font-size:var(--fs-caption)}.mentor-suggestions{margin-top:var(--space-3)}.mentor-suggestions__item{margin-bottom:var(--space-2)}.mentor-suggestions__item:last-child{margin-bottom:0}.mentor-intro{font-size:var(--fs-caption);font-weight:var(--fw-semibold);line-height:var(--lh-normal);text-wrap:pretty;margin-bottom:var(--space-2)}.mentor-suggestion__text{min-width:0;line-height:var(--lh-normal)}.mentor-suggestion__body{font-size:var(--fs-body);line-height:var(--lh-relaxed);margin-top:var(--space-2);padding:var(--space-1) var(--space-1) var(--space-1) var(--space-3);border-left:3px solid var(--tg-button);animation:knowledge-body-in var(--dur-4) var(--ease-out) both}.knowledge-card[aria-expanded=true]{background:color-mix(in srgb,var(--tg-button) 7%,var(--tg-secondary-bg))}.knowledge-card[aria-expanded=true]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--tg-button)}.knowledge-body,.sign-card__body{font-size:var(--fs-body);line-height:var(--lh-relaxed);margin-top:var(--space-2);text-align:left;max-width:60ch;margin-inline:auto;text-wrap:pretty}.knowledge-body{animation:knowledge-body-in var(--dur-4) var(--ease-out) both}.knowledge-body strong{background:color-mix(in srgb,var(--color-xp) 30%,transparent);border-radius:var(--radius-2xs);padding:0 3px;margin:0 -1px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.sign-card__name{font-size:var(--fs-body);font-weight:var(--fw-semibold);line-height:var(--lh-normal);text-wrap:pretty}@keyframes knowledge-body-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.sign-card{position:relative;overflow:hidden}.sign-card[aria-expanded=true]{background:color-mix(in srgb,var(--tg-button) 7%,var(--tg-secondary-bg))}.sign-card[aria-expanded=true]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--tg-button)}.sign-card:after{content:"▾";align-self:center;flex-shrink:0;font-size:var(--fs-micro);line-height:1;opacity:.6;transition:transform var(--dur-4) var(--ease-press)}.sign-card[aria-expanded=true]:after{transform:rotate(180deg)}.sign-card__body{animation:knowledge-body-in var(--dur-4) var(--ease-out) both}.sign-card__figure{animation:sign-figure-in var(--dur-4) var(--ease-out) both}@keyframes sign-figure-in{0%{opacity:.4;transform:scale(.88)}to{opacity:1;transform:scale(1)}}.lang-option{display:flex;align-items:center;gap:var(--space-4);width:100%;max-width:360px;padding:var(--space-4);border:none;text-align:left;background:var(--tg-secondary-bg);color:var(--tg-text);border-radius:var(--radius-lg);font-size:var(--fs-body);font-weight:var(--fw-bold);box-shadow:0 4px color-mix(in srgb,var(--tg-hint) 26%,transparent),var(--shadow-card);transition:transform var(--dur-2) var(--ease-press)}.lang-option:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px color-mix(in srgb,var(--tg-hint) 26%,transparent)}.lang-option:disabled{opacity:.55}.lang-option-flag{flex-shrink:0;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--fs-title-lg);line-height:1;background:color-mix(in srgb,var(--tg-button) 14%,transparent)}.lang-option-label{flex:1;min-width:0}.lang-option-chevron{flex-shrink:0;font-size:18px;line-height:1;opacity:.55;transition:transform var(--dur-2) var(--ease-press)}.lang-option:active:not(:disabled) .lang-option-chevron{transform:translate(3px)}.session-topbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.pill-note{text-align:center;margin-bottom:var(--space-2)}.exam-hud{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3)}.exam-lives{display:flex;align-items:center;gap:var(--space-2)}.exam-lives-label{font-size:var(--fs-caption);color:color-mix(in srgb,var(--tg-text) 66%,transparent)}.exam-life{width:15px;height:15px;border-radius:50%;border:2px solid color-mix(in srgb,var(--tg-text) 50%,transparent);background:transparent}.exam-life--spent{border-color:var(--color-wrong-dark);background:var(--color-wrong);box-shadow:0 2px 6px color-mix(in srgb,var(--color-wrong) 45%,transparent);animation:exam-life-lost var(--dur-4) var(--ease-out)}@keyframes exam-life-lost{0%{transform:scale(.55)}55%{transform:scale(1.3)}to{transform:scale(1)}}.exam-timer{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);font-size:var(--fs-body);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;background:var(--tg-secondary-bg);color:var(--tg-text);box-shadow:var(--shadow-soft)}.exam-timer--warning{background:var(--warn-tint);color:var(--warn-on-tint);box-shadow:inset 0 0 0 1px var(--warn-border)}.exam-timer--danger{background:var(--danger-tint);color:var(--danger-on-tint);box-shadow:inset 0 0 0 1px var(--danger-border)}.duel-row{background:var(--tg-bg);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-3);box-shadow:var(--shadow-soft),inset 0 0 0 1px var(--modal-hairline)}.duel-row__head{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-2)}.duel-row__status{flex-shrink:0;margin-left:auto;font-size:var(--fs-caption);line-height:var(--lh-snug);color:var(--fg-secondary)}.duel-row__name{min-width:0;font-size:var(--fs-body);font-weight:var(--fw-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.duel-score-row{display:flex;align-items:center;justify-content:center;gap:var(--space-6);width:100%}.duel-score-row--compact{gap:var(--space-4);margin-bottom:var(--space-2)}.duel-row__who{display:flex;align-items:center;gap:var(--space-2);min-width:0}.duel-row__actions{display:flex;gap:var(--space-2)}.duel-tiebreak-note{margin-top:calc(-1 * var(--space-2));margin-bottom:var(--space-2)}.duel-review{align-self:stretch;width:100%;text-align:start;margin-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.duel-review h3{margin:0}.duel-score-col{flex:1 1 0;min-width:0;text-align:center}.mini-profile-head{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.mini-profile-row{margin-bottom:var(--space-2)}.mini-profile-row--last{margin-bottom:0}.mini-profile-skeleton__avatar{width:64px;height:64px;border-radius:var(--radius-full)}.duel-score-name{font-size:var(--fs-caption);line-height:var(--lh-snug);color:var(--fg-secondary);overflow-wrap:anywhere}.duel-wait-avatar{margin-bottom:var(--space-3)}.duel-wait-avatar .online-dot{width:18px;height:18px;bottom:2px;right:2px}.duel-wait-name{font-size:var(--fs-body);font-weight:var(--fw-semibold);line-height:var(--lh-snug);margin-bottom:var(--space-2);overflow-wrap:anywhere;text-wrap:balance}.fine-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);line-height:var(--lh-normal);overflow-wrap:anywhere;background:var(--tg-bg);border-radius:var(--radius-md);padding:12px;margin-bottom:var(--stack);box-shadow:var(--shadow-soft),inset 0 0 0 1px var(--modal-hairline)}.fine-row__meta{min-width:0;font-size:var(--fs-caption);color:var(--tg-hint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exam-review-list{padding:4px 16px}.exam-review-list__row{padding:10px 0;border-bottom:1px solid var(--tg-secondary-bg);font-size:var(--fs-body);line-height:var(--lh-normal)}.exam-review-list__row:last-child{border-bottom:none}.mistake-card{position:relative;border-left:4px solid var(--color-wrong);padding-left:48px;background:color-mix(in srgb,var(--color-wrong) 9%,var(--tg-secondary-bg));box-shadow:var(--shadow-card),0 0 0 1px color-mix(in srgb,var(--color-wrong) 20%,transparent)}.mistake-card:before{content:"✕";position:absolute;left:14px;top:16px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:color-mix(in srgb,var(--color-wrong) 72%,black);color:var(--neutral-0);font-size:var(--fs-micro);font-weight:var(--fw-heavy);line-height:1;animation:feedback-glyph-pop var(--dur-4) var(--ease-spring) calc(var(--stagger-i, 0) * 35ms + .12s) backwards}.mistake-card__question{font-size:var(--fs-body);font-weight:var(--fw-semibold);line-height:var(--lh-normal);text-wrap:pretty}.mistake-card>div:last-child:not(:first-child),.mistake-card__explanation{margin-top:var(--space-1);color:color-mix(in srgb,var(--tg-text) 78%,transparent);font-size:var(--fs-body);line-height:var(--lh-normal)}.mastered-toast{display:inline-flex;align-items:center;margin-top:8px;padding:6px 12px;border-radius:999px;background:var(--tg-bg);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--feedback-correct-text) 45%,transparent);font-size:var(--fs-caption);font-weight:var(--fw-bold);line-height:var(--lh-snug);color:var(--feedback-correct-text);animation:pop-in var(--dur-4) var(--ease-spring) .12s backwards}@media (prefers-reduced-motion: reduce){.mastered-toast,.mistake-card:before,.list-stagger-item,.readiness-bar,.exam-life--spent,.exam-timer--warning,.chat-bubble,.answer-feedback,.answer-feedback>div:first-child:before,.knowledge-body,.sign-card__body,.mentor-suggestion__body,.sign-card__figure,.mentor-typing__dots i{animation:none}.switch-toggle,.switch-toggle:before,.segmented-btn,.accordion-header,.accordion-chevron,.knowledge-chevron,.sign-card:after,.lang-option,.lang-option-chevron,.chip{transition:none}}.brv-note{display:inline-flex;align-items:baseline;gap:var(--space-1);margin-bottom:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);background:var(--tg-secondary-bg);box-shadow:inset 0 0 0 1px var(--border-subtle);font-size:var(--fs-caption)}.brv-note__value{font-weight:var(--fw-bold);font-variant-numeric:tabular-nums}.penalty-note-card{background:color-mix(in srgb,var(--color-xp) 12%,var(--tg-secondary-bg));font-size:var(--fs-caption);line-height:var(--lh-normal)}.about-source{font-size:var(--fs-caption);line-height:var(--lh-normal);color:var(--tg-hint);text-align:center}.penalty-title{font-size:var(--fs-body);font-weight:var(--fw-semibold);line-height:var(--lh-snug);text-wrap:pretty}.penalty-article{font-size:var(--fs-caption);line-height:var(--lh-normal);color:var(--fg-secondary);margin-top:var(--space-1)}.penalty-badges{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.penalty-extra{font-size:var(--fs-caption);line-height:var(--lh-normal);color:var(--fg-secondary);margin-top:var(--space-2)}.penalty-badge{display:inline-flex;align-items:baseline;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);font-size:var(--fs-body);font-weight:var(--fw-bold);line-height:var(--lh-snug)}.penalty-badge-sub{font-size:var(--fs-caption);font-weight:var(--fw-medium);opacity:.85}.penalty-badge--fine{background:color-mix(in srgb,var(--color-wrong) 16%,var(--tg-secondary-bg));color:var(--feedback-wrong-text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-wrong) 38%,transparent)}.penalty-badge--points{background:color-mix(in srgb,var(--color-xp) var(--penalty-points-mix),var(--tg-secondary-bg));color:var(--penalty-points-text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-xp) 42%,transparent)}.penalty-badge--muted{background:transparent;color:var(--tg-hint);font-size:var(--fs-caption);font-weight:var(--fw-medium);box-shadow:inset 0 0 0 1px var(--border-subtle)}.settings-row{position:relative;display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;row-gap:var(--space-2);min-height:44px;padding:var(--space-2);margin:0 calc(-1 * var(--space-2));border-radius:var(--radius-md)}.settings-row:first-child{margin-top:calc(-1 * var(--space-2))}.settings-row:last-child{margin-bottom:calc(-1 * var(--space-2))}.settings-row:not(:last-child):after{content:"";position:absolute;left:8px;right:8px;bottom:0;height:1px;background:color-mix(in srgb,var(--tg-text) 14%,transparent)}label.settings-row{cursor:pointer}label.settings-row:active{background:color-mix(in srgb,var(--tg-text) 10%,transparent)}@media (hover: hover) and (pointer: fine){label.settings-row:hover:not(:active){background:color-mix(in srgb,var(--tg-text) 5%,transparent)}}.settings-row--stack{flex-direction:column;align-items:stretch;gap:var(--space-2)}.settings-row__label,.settings-row>span{line-height:var(--lh-snug);text-wrap:pretty}.onboarding-icon{position:absolute;bottom:-6px;right:-10px;font-size:var(--fs-display);filter:var(--shadow-badge);animation:pop-in var(--dur-4) var(--ease-spring) .18s backwards}@media (prefers-reduced-motion: reduce){.onboarding-icon{animation:none}}.onboarding-dots{display:flex;align-items:center;gap:var(--space-2)}.onboarding-dot{width:8px;height:8px;border-radius:999px;background:color-mix(in srgb,var(--tg-text) 50%,transparent);transition:width var(--dur-4) var(--ease-press)}.onboarding-dot--done{background:color-mix(in srgb,var(--tg-link) 85%,transparent)}.onboarding-dot--active{width:22px;background:var(--tg-link);box-shadow:0 0 0 3px color-mix(in srgb,var(--tg-link) 20%,transparent)}@media (prefers-reduced-motion: reduce){.onboarding-dot{transition:none}}.onboarding-skip{font-size:var(--fs-caption);font-weight:var(--fw-semibold);padding:var(--space-2) var(--space-3)}.onboarding-desc{font-size:var(--fs-body);line-height:var(--lh-normal);color:var(--fg-secondary);max-width:300px;text-wrap:balance}.check-row{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-caption);line-height:var(--lh-snug);margin:3px -8px;padding:6px 8px;border-radius:var(--radius-sm)}.check-row--ok{background:color-mix(in srgb,var(--color-correct) var(--check-ok-mix),transparent)}.check-row--fail{background:color-mix(in srgb,var(--color-wrong) var(--check-fail-mix),transparent);color:var(--feedback-wrong-text)}.check-row__mark{flex-shrink:0;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:var(--fs-micro);font-weight:var(--fw-bold);line-height:1;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,currentColor 60%,transparent)}.check-row--ok .check-row__mark{color:var(--feedback-correct-text)}.check-row--pending .check-row__mark{color:var(--tg-hint)}.check-row--ok .check-row__mark{animation:check-mark-pop var(--dur-4) var(--ease-spring)}@keyframes check-mark-pop{0%{transform:none}45%{transform:scale(1.18)}to{transform:none}}@media (prefers-reduced-motion: reduce){.check-row--ok .check-row__mark{animation:none}}.roadmap-total-badge--loading{width:72px}.roadmap-total-badge{display:flex;align-items:center;gap:var(--space-1);padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--color-xp) 20%,transparent);color:var(--xp-text);font-size:var(--fs-caption);font-weight:var(--fw-bold)}.roadmap-module{margin-bottom:var(--space-5)}.roadmap-module__banner{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--card-pad);border:none;border-left:4px solid var(--module-accent);border-radius:var(--radius-card);background:var(--surface-raised);color:var(--text-primary);text-align:left;font:inherit;cursor:pointer;box-shadow:var(--shadow-card);margin-bottom:var(--space-5);transition:transform var(--dur-1) ease,box-shadow var(--dur-1) ease}.roadmap-module__banner:active{transform:scale(.98);box-shadow:var(--shadow-soft)}.roadmap-module__chevron{flex-shrink:0;font-size:var(--fs-caption);opacity:.75;transition:transform var(--dur-4) var(--ease-press)}.roadmap-module__banner[aria-expanded=true] .roadmap-module__chevron{transform:rotate(180deg)}@media (prefers-reduced-motion: reduce){.roadmap-module__chevron{transition:none}}.roadmap-module__icon{width:44px;height:44px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:var(--fs-title-sm);background:var(--module-accent-bg)}.roadmap-module__text{flex:1;min-width:0}.roadmap-module__eyebrow{font-size:var(--fs-caption);font-weight:var(--fw-bold);letter-spacing:.04em;opacity:.85;text-transform:uppercase}.roadmap-module__title{font-size:var(--fs-body);font-weight:var(--fw-heavy);line-height:var(--lh-snug);overflow-wrap:anywhere}.roadmap-module__progress{flex-shrink:0}.roadmap-module__progress-fraction{font-size:10px;font-weight:var(--fw-heavy);line-height:var(--lh-tight);color:var(--fg-secondary);font-variant-numeric:tabular-nums}.roadmap-module__progress--partial .roadmap-module__progress-fraction,.roadmap-module__progress--done .roadmap-module__progress-fraction{color:var(--fg-primary)}.roadmap-module__progress--partial{background:var(--module-accent-bg);color:var(--module-accent-text)}.roadmap-module__progress--done{background:var(--color-success-bg);color:var(--color-success-text)}.roadmap-path{position:relative;--roadmap-amplitude: min(72px, 20vw);padding:8px 0 4px}.roadmap-path__svg{position:absolute;top:0;left:0;width:100%;pointer-events:none;z-index:var(--z-base)}.roadmap-path__line{stroke-width:4px;stroke-linecap:round;stroke-dasharray:2 14;opacity:.45}.roadmap-node-row{position:relative;z-index:var(--z-raised);display:flex;flex-direction:column;align-items:center;left:var(--offset);padding:10px 0 20px;width:fit-content;margin:0 auto}@keyframes roadmap-node-pop-in{0%{transform:scale(.3);opacity:0}60%{transform:scale(1.08);opacity:1}to{transform:scale(1)}}.roadmap-node{position:relative;width:64px;height:64px;box-sizing:border-box;border-radius:50%;border:2px solid var(--border);background:var(--surface-raised);color:var(--text-primary);display:flex;align-items:center;justify-content:center;font-size:var(--fs-title-lg);font-weight:var(--fw-heavy);box-shadow:none;transition:transform var(--dur-2) var(--ease-press),box-shadow var(--dur-2) ease,background var(--dur-2) ease,border-color var(--dur-2) ease;animation:roadmap-node-pop-in var(--dur-4) var(--ease-spring) backwards;animation-delay:calc(var(--stagger-i, 0) * 45ms)}.roadmap-node--locked .roadmap-node__glyph,.roadmap-node--locked .roadmap-node__sign{opacity:.55}.roadmap-node--available,.roadmap-node--inprogress{background:var(--surface);border-color:var(--roadmap-accent)}.roadmap-node--done{background:var(--color-success);border-color:var(--color-success);color:var(--success-950)}.roadmap-node:active:not(:disabled){transform:scale(.92)}.roadmap-node__glyph{line-height:1}.roadmap-node__sign{display:flex;align-items:center;justify-content:center;width:55%;height:55%}.roadmap-node__sign svg{width:100%;height:100%;display:block}.roadmap-node__label{position:relative;z-index:var(--z-raised);margin-top:6px;overflow-wrap:break-word;max-width:104px;text-align:center;font-size:var(--fs-caption);font-weight:var(--fw-semibold);line-height:var(--lh-snug);color:var(--tg-text)}.roadmap-node__unverified{margin-left:3px;cursor:default}.roadmap-node--open{box-shadow:0 0 0 4px color-mix(in srgb,var(--roadmap-accent) 30%,transparent)}.roadmap-node-circle{position:relative;width:72px;height:72px;display:flex;align-items:center;justify-content:center}.roadmap-node-ring{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;transform:rotate(-90deg)}.roadmap-node-ring__track{fill:none;stroke:var(--border);stroke-width:4px}.roadmap-node-ring__fill{fill:none;stroke-width:4px;stroke-linecap:round;transition:stroke-dashoffset var(--dur-4) ease}.roadmap-node-bubble{position:relative;margin-top:10px;padding:10px 14px;border-radius:var(--radius-md);background:var(--tg-secondary-bg);border:2px solid var(--roadmap-accent);box-shadow:var(--shadow-soft);text-align:center;max-width:220px}.roadmap-node-bubble:before{content:"";position:absolute;top:-9px;left:50%;transform:translate(-50%) rotate(45deg);width:14px;height:14px;background:var(--tg-secondary-bg);border-left:2px solid var(--roadmap-accent);border-top:2px solid var(--roadmap-accent);border-radius:3px 0 0}.roadmap-node-bubble__title{font-size:var(--fs-body);font-weight:var(--fw-bold);color:var(--tg-text);margin-bottom:var(--space-2)}.roadmap-node-bubble__hint{font-size:var(--fs-caption);font-weight:var(--fw-bold);color:var(--roadmap-accent);margin-bottom:var(--space-2)}.roadmap-node-bubble__btn{width:100%;padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-sm);background:var(--roadmap-accent);color:var(--neutral-0);font-size:var(--fs-body);font-weight:var(--fw-bold);box-shadow:0 3px color-mix(in srgb,var(--roadmap-accent) 60%,black);transition:transform var(--dur-1) ease}.roadmap-node-bubble__btn:active{transform:translateY(2px);box-shadow:0 1px color-mix(in srgb,var(--roadmap-accent) 60%,black)}@media (prefers-reduced-motion: reduce){.roadmap-node{transition:none;animation:none}.roadmap-node-ring__fill,.roadmap-node-bubble__btn,.roadmap-module__banner{transition:none}}.roadmap-list-end-spacer{height:24px}.u-flow>*+*{margin-top:var(--flow-gap, var(--space-3))}.u-flow--tight{--flow-gap: var(--space-2)}.u-flow--section{--flow-gap: var(--space-6)}.u-row{display:flex;align-items:center;gap:var(--space-2)}.u-row--between{justify-content:space-between}.u-row--wrap{flex-wrap:wrap}.u-grow{flex:1;min-width:0}.u-full{width:100%}.u-tight{margin-block:0}.u-anchor{position:relative}.u-noshrink{flex-shrink:0}.u-text-center{text-align:center}.u-text-left{text-align:left}.fb--correct .g{transform-box:view-box;transform-origin:12px 12px}.fb--correct .p-ring,.fb--correct .p-tick{transform-box:view-box;transform-origin:12px 12px;stroke-dashoffset:1}@keyframes fb-correct-ring{0%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:1}7.1429%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:1}14.2857%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:.864}21.4286%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:.519}28.5714%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:.281}35.7143%{transform:translate(0) scale(1.0385);opacity:1;stroke-dashoffset:.13}42.8571%{transform:translate(0) scale(1.0776);opacity:1;stroke-dashoffset:.046}50%{transform:translate(0) scale(1.0982);opacity:1;stroke-dashoffset:.009}57.1429%{transform:translate(0) scale(1.0954);opacity:1;stroke-dashoffset:0}64.2857%{transform:translate(0) scale(1.0698);opacity:1;stroke-dashoffset:0}71.4286%{transform:translate(0) scale(1.0275);opacity:1;stroke-dashoffset:0}78.5714%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:0}85.7143%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:0}92.8571%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:0}to{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:0}}@keyframes fb-correct-tick{0%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:1}7.1429%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:1}14.2857%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:1}21.4286%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:1}28.5714%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:1}35.7143%{transform:translate(0) scale(1.0385);opacity:1;stroke-dashoffset:1}42.8571%{transform:translate(0) scale(1.0776);opacity:1;stroke-dashoffset:.586}50%{transform:translate(0) scale(1.0982);opacity:1;stroke-dashoffset:.296}57.1429%{transform:translate(0) scale(1.0954);opacity:1;stroke-dashoffset:.122}64.2857%{transform:translate(0) scale(1.0698);opacity:1;stroke-dashoffset:.035}71.4286%{transform:translate(0) scale(1.0275);opacity:1;stroke-dashoffset:.004}78.5714%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:0}85.7143%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:0}92.8571%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:0}to{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:0}}.fb--correct.is-play .p-ring{animation:fb-correct-ring .5s linear both}.fb--correct.is-play .p-tick{animation:fb-correct-tick .5s linear both}.fb--wrong .g{transform-box:view-box;transform-origin:12px 12px}.fb--wrong .p-ring,.fb--wrong .p-bar1,.fb--wrong .p-bar2{transform-box:view-box;transform-origin:12px 12px;stroke-dashoffset:1}@keyframes fb-wrong-ring{0%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:1}7.1429%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:1}14.2857%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:.864}21.4286%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:.519}28.5714%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:.281}35.7143%{transform:translate(0) scale(1.0063);opacity:1;stroke-dashoffset:.13}42.8571%{transform:translate(0) scale(1.0298);opacity:1;stroke-dashoffset:.046}50%{transform:translate(0) scale(1.0434);opacity:1;stroke-dashoffset:.009}57.1429%{transform:translate(0) scale(1.0427);opacity:1;stroke-dashoffset:0}64.2857%{transform:translate(0) scale(1.0279);opacity:1;stroke-dashoffset:0}71.4286%{transform:translate(0) scale(1.0038);opacity:1;stroke-dashoffset:0}78.5714%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:0}85.7143%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:0}92.8571%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:0}to{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:0}}@keyframes fb-wrong-bar1{0%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:1}7.1429%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:1}14.2857%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:1}21.4286%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:1}28.5714%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:1}35.7143%{transform:translate(0) scale(1.0063);opacity:1;stroke-dashoffset:1}42.8571%{transform:translate(0) scale(1.0298);opacity:1;stroke-dashoffset:.485}50%{transform:translate(0) scale(1.0434);opacity:1;stroke-dashoffset:.178}57.1429%{transform:translate(0) scale(1.0427);opacity:1;stroke-dashoffset:.039}64.2857%{transform:translate(0) scale(1.0279);opacity:1;stroke-dashoffset:.002}71.4286%{transform:translate(0) scale(1.0038);opacity:1;stroke-dashoffset:0}78.5714%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:0}85.7143%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:0}92.8571%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:0}to{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:0}}@keyframes fb-wrong-bar2{0%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:1}7.1429%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:1}14.2857%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:1}21.4286%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:1}28.5714%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:1}35.7143%{transform:translate(0) scale(1.0063);opacity:1;stroke-dashoffset:1}42.8571%{transform:translate(0) scale(1.0298);opacity:1;stroke-dashoffset:1}50%{transform:translate(0) scale(1.0434);opacity:1;stroke-dashoffset:1}57.1429%{transform:translate(0) scale(1.0427);opacity:1;stroke-dashoffset:.469}64.2857%{transform:translate(0) scale(1.0279);opacity:1;stroke-dashoffset:.17}71.4286%{transform:translate(0) scale(1.0038);opacity:1;stroke-dashoffset:.036}78.5714%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:.001}85.7143%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:0}92.8571%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:0}to{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:0}}.fb--wrong.is-play .p-ring{animation:fb-wrong-ring .5s linear both}.fb--wrong.is-play .p-bar1{animation:fb-wrong-bar1 .5s linear both}.fb--wrong.is-play .p-bar2{animation:fb-wrong-bar2 .5s linear both}.fb--reveal .g{transform-box:view-box;transform-origin:12px 12px}.fb--reveal .p-ring,.fb--reveal .p-tick{transform-box:view-box;transform-origin:12px 12px;stroke-dashoffset:1}@keyframes fb-reveal-ring{0%{transform:translate(0) scale(1);opacity:0;stroke-dashoffset:1}7.1429%{transform:translate(0) scale(1.0176);opacity:.405;stroke-dashoffset:.659}14.2857%{transform:translate(0) scale(1.0329);opacity:.682;stroke-dashoffset:.406}21.4286%{transform:translate(0) scale(1.044);opacity:.856;stroke-dashoffset:.227}28.5714%{transform:translate(0) scale(1.0495);opacity:.951;stroke-dashoffset:.111}35.7143%{transform:translate(0) scale(1.0487);opacity:.991;stroke-dashoffset:.043}42.8571%{transform:translate(0) scale(1.0417);opacity:1;stroke-dashoffset:.011}50%{transform:translate(0) scale(1.0294);opacity:1;stroke-dashoffset:.001}57.1429%{transform:translate(0) scale(1.0133);opacity:1;stroke-dashoffset:0}64.2857%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:0}71.4286%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:0}78.5714%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:0}85.7143%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:0}92.8571%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:0}to{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:0}}@keyframes fb-reveal-tick{0%{transform:translate(0) scale(1);opacity:0;stroke-dashoffset:1}7.1429%{transform:translate(0) scale(1.0176);opacity:.405;stroke-dashoffset:.911}14.2857%{transform:translate(0) scale(1.0329);opacity:.682;stroke-dashoffset:.652}21.4286%{transform:translate(0) scale(1.044);opacity:.856;stroke-dashoffset:.448}28.5714%{transform:translate(0) scale(1.0495);opacity:.951;stroke-dashoffset:.292}35.7143%{transform:translate(0) scale(1.0487);opacity:.991;stroke-dashoffset:.177}42.8571%{transform:translate(0) scale(1.0417);opacity:1;stroke-dashoffset:.097}50%{transform:translate(0) scale(1.0294);opacity:1;stroke-dashoffset:.046}57.1429%{transform:translate(0) scale(1.0133);opacity:1;stroke-dashoffset:.017}64.2857%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:.004}71.4286%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:0}78.5714%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:0}85.7143%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:0}92.8571%{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:0}to{transform:translate(0) scale(1);opacity:1;stroke-dashoffset:0}}.fb--reveal.is-play .p-ring{animation:fb-reveal-ring .5s linear both}.fb--reveal.is-play .p-tick{animation:fb-reveal-tick .5s linear both}@media (prefers-reduced-motion: reduce){.fb.is-play *{animation:none!important;stroke-dashoffset:0!important}}.answer-option-icon .fb,.answer-option .fb{display:block;flex:0 0 auto}.answer-option--wrong{animation:opt-shake var(--dur-4) cubic-bezier(.36,.07,.19,.97) both}@keyframes opt-shake{0%{transform:translate(0)}18%{transform:translate(-5px)}38%{transform:translate(4px)}58%{transform:translate(-2.5px)}78%{transform:translate(1.5px)}to{transform:translate(0)}}@media (prefers-reduced-motion: reduce){.answer-option--wrong{animation:none}}.bottom-nav-icon{transform-origin:50% 85%}.bottom-nav-item.active .bottom-nav-icon{animation:bn-pop var(--dur-4) cubic-bezier(.2,1.25,.4,1) both}.bottom-nav-item.active[data-tab=tests] .bottom-nav-icon{animation-name:bn-jump}.bottom-nav-item.active[data-tab=rating] .bottom-nav-icon,.bottom-nav-item.active[data-tab=penalties] .bottom-nav-icon{animation-name:bn-tilt;animation-duration:var(--dur-4)}.bottom-nav-item.active[data-tab=ai] .bottom-nav-icon{animation-name:bn-nod}@keyframes bn-pop{0%{transform:scale(1)}45%{transform:scale(1.14) translateY(-1.5px)}to{transform:scale(1)}}@keyframes bn-jump{0%{transform:translateY(0) scale(1)}30%{transform:translateY(-3.5px) scale(1.06,1.1)}60%{transform:translateY(.8px) scale(1.06,.94)}to{transform:translateY(0) scale(1)}}@keyframes bn-tilt{0%{transform:rotate(0)}22%{transform:rotate(-9deg)}48%{transform:rotate(6deg)}72%{transform:rotate(-3deg)}to{transform:rotate(0)}}@keyframes bn-nod{0%{transform:rotate(0) scale(1)}30%{transform:rotate(-7deg) scale(1.06)}62%{transform:rotate(4deg) scale(1.03)}to{transform:rotate(0) scale(1)}}@media (prefers-reduced-motion: reduce){.bottom-nav-item.active .bottom-nav-icon{animation:none}}.exam-timer--last{animation:exam-breathe 1s ease-in-out infinite;will-change:transform}@keyframes exam-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@media (prefers-reduced-motion: reduce){.exam-timer--last{animation:none}}.answer-feedback__verdict .mascot{flex:0 0 auto;order:1;margin:0 0 0 auto;pointer-events:none}@media (max-width: 360px){.answer-feedback__verdict .mascot{width:42px!important;height:42px!important}}
