.app-header[data-v-28d8022b]{margin-bottom:1.5rem;border-bottom:1px solid var(--color-border-subtle)}.navbar[data-v-28d8022b]{display:flex;justify-content:space-between;align-items:center;padding:.6rem 0 .75rem}.brand[data-v-28d8022b]{display:flex;align-items:center;gap:8px;min-width:0}.brand-icon[data-v-28d8022b]{color:var(--color-accent);flex-shrink:0}.brand-name[data-v-28d8022b]{font-family:var(--font-mono, monospace);font-size:17px;font-weight:700;color:var(--color-text);letter-spacing:-.02em}.brand-accent[data-v-28d8022b]{color:var(--color-accent)}.brand-tagline[data-v-28d8022b]{font-size:12px;color:var(--color-text-tertiary);padding-left:10px;border-left:1px solid var(--color-border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}@media (max-width: 640px){.brand-tagline[data-v-28d8022b]{display:none}}.navbar-right[data-v-28d8022b]{display:flex;align-items:center;gap:12px}.theme-toggle[data-v-28d8022b]{background:none;border:none;cursor:pointer;color:var(--color-text-secondary);padding:4px;border-radius:6px;display:flex;align-items:center;transition:color .15s}.theme-toggle[data-v-28d8022b]:hover{color:var(--color-text)}.auth-widget[data-v-28d8022b]{display:flex;align-items:center;gap:8px}.auth-avatar[data-v-28d8022b]{width:28px;height:28px;border-radius:50%;background:color-mix(in srgb,var(--color-accent) 10%,transparent);border:1.5px solid color-mix(in srgb,var(--color-accent) 25%,transparent);color:var(--color-accent);font-size:12px;font-weight:700;font-family:var(--font-mono, monospace);display:flex;align-items:center;justify-content:center;flex-shrink:0}.auth-display-name[data-v-28d8022b]{font-size:13px;color:var(--color-text-tertiary);white-space:nowrap;max-width:110px;overflow:hidden;text-overflow:ellipsis}.auth-logout-btn[data-v-28d8022b]{padding:3px 10px;font-size:11px;font-family:inherit;cursor:pointer;border-radius:6px;background:transparent;border:.5px solid var(--color-border);color:var(--color-text-secondary);transition:color .15s,border-color .15s;white-space:nowrap}.auth-logout-btn[data-v-28d8022b]:hover{color:var(--color-error);border-color:var(--color-error)}.auth-signin-btn[data-v-28d8022b]{padding:5px 14px;font-size:13px;font-family:inherit;font-weight:500;cursor:pointer;border-radius:7px;background:transparent;border:.5px solid var(--color-border);color:var(--color-text-secondary);transition:color .15s,border-color .15s,background .15s;white-space:nowrap}.auth-signin-btn[data-v-28d8022b]:hover{color:var(--color-text);border-color:var(--color-text-tertiary);background:var(--color-bg-card)}.main-nav[data-v-28d8022b]{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:-1px}.main-nav-tabs[data-v-28d8022b]{display:flex}.main-tab[data-v-28d8022b]{padding:8px 16px;font-size:14px;font-weight:500;font-family:inherit;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--color-text-tertiary);cursor:pointer;transition:color .12s,border-color .15s}.main-tab[data-v-28d8022b]:first-child{padding-left:0}.main-tab[data-v-28d8022b]:hover{color:var(--color-text)}.main-tab.active[data-v-28d8022b]{color:var(--color-accent);border-bottom-color:var(--color-accent);font-weight:600}.side-nav[data-v-28d8022b]{display:flex;align-items:center;gap:2px;padding-bottom:6px}.side-btn[data-v-28d8022b]{display:flex;align-items:center;gap:5px;padding:4px 9px;font-size:12px;font-weight:500;font-family:inherit;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;border-radius:6px;transition:color .12s,background .12s;white-space:nowrap}.side-btn[data-v-28d8022b]:hover{color:var(--color-text-secondary);background:var(--color-bg-card)}.side-btn.active[data-v-28d8022b]{color:var(--color-accent);background:var(--color-bg-card)}.side-btn svg[data-v-28d8022b]{flex-shrink:0}.practice-sub-nav[data-v-28d8022b]{display:flex;gap:0;padding:2px 0 0}.practice-tab[data-v-28d8022b]{padding:5px 14px;font-size:12px;font-weight:500;font-family:inherit;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:color .12s,border-color .15s;margin-bottom:-1px}.practice-tab[data-v-28d8022b]:first-child{padding-left:0}.practice-tab[data-v-28d8022b]:hover{color:var(--color-text-secondary)}.practice-tab.active[data-v-28d8022b]{color:var(--color-accent);border-bottom-color:var(--color-accent);font-weight:600}.lesson-section[data-v-4b1bdbba]{margin-bottom:1.5rem}.lesson-section-head[data-v-4b1bdbba]{display:flex;align-items:center;gap:10px;margin-bottom:.625rem}.lesson-section-title[data-v-4b1bdbba]{font-size:11px;font-weight:700;color:var(--color-text-secondary, #94a3b8);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.lesson-section-line[data-v-4b1bdbba]{flex:1;height:1px;background:var(--color-border-secondary, #334155)}.lesson-section-progress[data-v-4b1bdbba]{font-size:11px;color:var(--color-text-tertiary, #64748b);white-space:nowrap;font-variant-numeric:tabular-nums}.lesson-section-progress.has-progress[data-v-4b1bdbba]{color:#f59e0b}.lesson-grid[data-v-4b1bdbba]{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}.lesson-card[data-v-4b1bdbba]{display:flex;flex-direction:column;gap:7px;padding:11px 12px;border-radius:9px;border:1px solid var(--color-border-secondary, #334155);background:var(--color-background-secondary, #1e293b);cursor:pointer;transition:border-color .12s,background .12s}.lesson-card[data-v-4b1bdbba]:hover{border-color:#f59e0b80}.lesson-card--done[data-v-4b1bdbba]{border-color:#22c55e22}.lesson-card--done[data-v-4b1bdbba]:hover{border-color:#22c55e55}.lesson-card-top[data-v-4b1bdbba]{display:flex;align-items:center;gap:8px}.lesson-count[data-v-4b1bdbba]{flex-shrink:0;margin-left:auto;padding:1px 7px;border-radius:9px;background:#f59e0b18;border:1px solid #f59e0b55;color:#f59e0b;font-size:10px;font-weight:600;font-variant-numeric:tabular-nums}.lesson-card-name[data-v-4b1bdbba]{font-size:13px;font-weight:600;color:var(--color-text-primary, #e2e8f0);font-family:var(--font-mono, monospace);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-keys[data-v-4b1bdbba]{display:flex;flex-wrap:wrap;gap:3px;min-height:18px}.lesson-key-chip[data-v-4b1bdbba]{padding:1px 5px;border-radius:3px;border:1px solid;font-size:10px;font-weight:600}.lesson-card-stats[data-v-4b1bdbba]{display:flex;gap:8px;padding-top:6px;border-top:1px solid var(--color-border-secondary, #334155);margin-top:auto}.lesson-stat[data-v-4b1bdbba]{font-size:12px;font-weight:600;color:var(--color-text-primary, #e2e8f0);font-variant-numeric:tabular-nums}.lesson-stat em[data-v-4b1bdbba]{font-style:normal;font-size:9px;color:var(--color-text-tertiary, #64748b);margin-left:1px}.lesson-card-empty[data-v-4b1bdbba]{font-size:10px;font-weight:600;color:var(--color-accent, #f59e0b);padding-top:6px;border-top:1px solid var(--color-border-secondary, #334155);margin-top:auto}.course-header[data-v-293bf4ea]{margin-bottom:20px}.course-header-top[data-v-293bf4ea]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.course-header-title[data-v-293bf4ea]{font-size:18px;font-weight:700;color:var(--color-text);margin-bottom:4px}.course-header-sub[data-v-293bf4ea]{font-size:12px;color:var(--color-text-tertiary);line-height:1.5}.course-total-badge[data-v-293bf4ea]{display:flex;align-items:baseline;gap:2px;flex-shrink:0}.course-total-num[data-v-293bf4ea]{font-size:28px;font-weight:800;color:var(--color-success);font-variant-numeric:tabular-nums;line-height:1}.course-total-sep[data-v-293bf4ea]{font-size:16px;color:var(--color-border)}.course-total-max[data-v-293bf4ea]{font-size:14px;color:var(--color-text-muted)}.course-global-bar[data-v-293bf4ea]{height:5px;background:var(--color-bg-card);border-radius:99px;overflow:hidden}.course-global-fill[data-v-293bf4ea]{height:100%;background:linear-gradient(90deg,#16a34a,#4ade80);border-radius:99px;transition:width .4s ease}.course-phases[data-v-293bf4ea]{display:flex;flex-direction:column;gap:12px}.course-phase[data-v-293bf4ea]{border:1px solid var(--color-border-subtle);border-radius:12px;overflow:hidden;background:var(--color-bg)}.course-phase-head[data-v-293bf4ea]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:var(--color-bg);border-bottom:1px solid var(--color-border-subtle)}.course-phase-info[data-v-293bf4ea]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.course-phase-num[data-v-293bf4ea]{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#f59e0b;background:#f59e0b18;border:1px solid #f59e0b30;border-radius:4px;padding:1px 6px;flex-shrink:0}.course-phase-title[data-v-293bf4ea]{font-size:13px;font-weight:600;color:var(--color-text)}.course-phase-desc[data-v-293bf4ea]{font-size:11px;color:var(--color-text-muted)}.course-phase-badge[data-v-293bf4ea]{font-size:12px;font-weight:600;color:var(--color-text-muted);flex-shrink:0}.course-phase-badge--done[data-v-293bf4ea]{color:#4ade80}.course-steps[data-v-293bf4ea]{display:flex;flex-direction:column;gap:0}.course-step[data-v-293bf4ea]{display:flex;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid var(--color-border-subtle);cursor:pointer;transition:background .12s}.course-step[data-v-293bf4ea]:last-child{border-bottom:none}.course-step--available[data-v-293bf4ea]:hover{background:var(--color-bg-hover)}.course-step--locked[data-v-293bf4ea]{cursor:default}.course-step--done[data-v-293bf4ea]{background:color-mix(in srgb,var(--color-success) 8%,transparent)}.course-step--failed[data-v-293bf4ea]{background:color-mix(in srgb,var(--color-error) 8%,transparent)}.course-step-num[data-v-293bf4ea]{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;background:var(--color-bg-card);color:var(--color-text-tertiary);border:2px solid var(--color-border)}.course-step-num--done[data-v-293bf4ea]{background:#14532d;color:#4ade80;border-color:#16a34a}.course-step-num--failed[data-v-293bf4ea]{background:#3b1100;color:#f87171;border-color:#ef4444}.course-step-num--locked[data-v-293bf4ea]{background:var(--color-bg);color:var(--color-border-subtle);border-color:var(--color-border-subtle)}.course-step-num--available[data-v-293bf4ea]{background:var(--color-bg-card);color:var(--color-accent);border-color:var(--color-accent)}.course-step-body[data-v-293bf4ea]{flex:1;min-width:0}.course-step-title[data-v-293bf4ea]{font-size:13px;font-weight:600;color:var(--color-text);margin-bottom:2px}.course-step-desc[data-v-293bf4ea]{font-size:11px;color:var(--color-text-tertiary);line-height:1.4}.course-step--locked .course-step-title[data-v-293bf4ea],.course-step--locked .course-step-desc[data-v-293bf4ea]{color:var(--color-text-tertiary)}.course-step-keys[data-v-293bf4ea]{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.course-step-right[data-v-293bf4ea]{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;min-width:60px;gap:1px}.csr-cpm[data-v-293bf4ea]{font-size:16px;font-weight:700;color:var(--color-success);font-variant-numeric:tabular-nums;line-height:1}.csr-unit[data-v-293bf4ea]{font-size:10px;color:var(--color-text-tertiary);font-style:normal}.csr-acc-val[data-v-293bf4ea]{font-size:14px;font-weight:700;color:var(--color-accent);font-variant-numeric:tabular-nums}.csr-acc-req[data-v-293bf4ea]{font-size:10px;color:var(--color-text-secondary)}.csr-retry[data-v-293bf4ea]{font-size:11px;color:var(--color-error);font-weight:600;margin-top:2px}.csr-min-acc[data-v-293bf4ea]{font-size:10px;color:var(--color-text-muted)}.csr-start[data-v-293bf4ea]{font-size:11px;color:var(--color-accent);font-weight:600;margin-top:2px}.hand[data-v-9c14f30a]{position:absolute;top:-10%;height:130%;width:46%;pointer-events:none}.hand svg[data-v-9c14f30a]{width:100%;height:100%;display:block}.hand.left[data-v-9c14f30a]{left:0}.hand.right[data-v-9c14f30a]{right:0;transform:scaleX(-1)}.hand-palm[data-v-9c14f30a]{fill:var(--color-text-tertiary, #64748b);opacity:.16}.hand-finger[data-v-9c14f30a]{transition:fill .1s,filter .1s}.hand-finger-dot[data-v-9c14f30a]{stroke:#fff;stroke-width:2;filter:drop-shadow(0 0 4px rgba(0,0,0,.5))}.keyboard[data-v-d14df9ca]{margin-top:1.5rem;display:flex;flex-direction:column;align-items:center;gap:4px}.kb-rows[data-v-d14df9ca]{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px}.kb-row[data-v-d14df9ca]{display:flex;gap:4px}.kb-key[data-v-d14df9ca]{width:36px;height:36px;border-radius:6px;border:1px solid transparent;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;font-family:var(--font-sans, system-ui, sans-serif);transition:background-color .07s,border-color .07s,box-shadow .07s,color .07s;cursor:default;flex-shrink:0}.kb-wide[data-v-d14df9ca]{width:56px;font-size:15px}.kb-space[data-v-d14df9ca]{width:210px;height:32px;font-size:10px;font-weight:400;letter-spacing:.06em}.kb-row-space[data-v-d14df9ca]{margin-top:2px}.kb-legend[data-v-d14df9ca]{display:flex;align-items:center;gap:5px;margin-top:8px}.kb-legend-dot[data-v-d14df9ca]{width:8px;height:8px;border-radius:50%;flex-shrink:0;opacity:.7}.kb-legend-sep[data-v-d14df9ca]{font-size:12px;color:var(--color-text-tertiary, #64748b);margin:0 2px}.kb-legend-text[data-v-d14df9ca]{font-size:11px;color:var(--color-text-secondary, #94a3b8);min-width:130px}.kb-controls[data-v-d14df9ca]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.kb-layout-toggle[data-v-d14df9ca]{display:flex;gap:1px;background:var(--color-bg-card);border-radius:7px;padding:2px}.kb-hint-toggle[data-v-d14df9ca]{padding:4px 10px;font-size:11px;font-family:inherit;font-weight:500;border-radius:6px;border:.5px solid var(--color-border);background:transparent;color:var(--color-text-muted);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.kb-hint-toggle[data-v-d14df9ca]:hover:not(.disabled){color:var(--color-text-secondary);border-color:var(--color-text-tertiary)}.kb-hint-toggle.active[data-v-d14df9ca]{color:var(--color-accent);border-color:var(--color-accent)}.kb-hint-toggle.disabled[data-v-d14df9ca]{cursor:not-allowed;opacity:.7}.kb-layout-btn[data-v-d14df9ca]{padding:3px 10px;font-size:11px;font-family:inherit;font-weight:500;border-radius:5px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:background .12s,color .12s}.kb-layout-btn[data-v-d14df9ca]:hover{color:var(--color-text-secondary)}.kb-layout-btn.active[data-v-d14df9ca]{background:var(--color-border);color:var(--color-text);font-weight:600}.lesson-breadcrumb[data-v-fded4574]{display:flex;align-items:center;gap:12px;margin-bottom:1rem}.back-btn[data-v-fded4574]{padding:4px 10px;font-size:12px;font-family:inherit;border-radius:6px;border:1px solid var(--color-border-secondary, #334155);background:transparent;color:var(--color-text-secondary, #94a3b8);cursor:pointer;transition:background .12s,color .12s;white-space:nowrap}.back-btn[data-v-fded4574]:hover{background:var(--color-background-secondary, #1e293b);color:var(--color-text-primary, #e2e8f0)}.lesson-active-name[data-v-fded4574]{font-size:13px;color:var(--color-text-secondary, #94a3b8)}.stats[data-v-fded4574]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:1rem}.stat-card[data-v-fded4574]{background:var(--color-background-secondary, #1e293b);border-radius:var(--border-radius-md, 8px);padding:.6rem .5rem;text-align:center}.stat-card[data-v-fded4574]:first-child{background:color-mix(in srgb,#f59e0b 10%,var(--color-background-secondary, #1e293b));border:1px solid color-mix(in srgb,#f59e0b 30%,transparent)}.stat-label[data-v-fded4574]{font-size:10px;color:var(--color-text-secondary, #94a3b8);text-transform:uppercase;letter-spacing:.07em;margin-bottom:3px}.stat-value[data-v-fded4574]{font-size:20px;font-weight:500;color:var(--color-text-primary, #e2e8f0);font-variant-numeric:tabular-nums}.stat-card:first-child .stat-value[data-v-fded4574]{font-size:24px;font-weight:700;color:#f59e0b}.progress-wrap[data-v-fded4574]{height:2px;background:var(--color-border-tertiary, #1e293b);border-radius:1px;margin-bottom:1rem;overflow:hidden}.progress-bar[data-v-fded4574]{height:100%;background:#f59e0b;border-radius:1px;transition:width .1s linear}.tbox-wrap[data-v-fded4574]{position:relative}.reset-inline-btn[data-v-fded4574]{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:6px;border:none;background:transparent;color:var(--color-text-tertiary, #64748b);font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;z-index:1}.reset-inline-btn[data-v-fded4574]:hover{background:var(--color-background-tertiary, #334155);color:var(--color-text-primary, #e2e8f0)}.tbox[data-v-fded4574]{outline:none;cursor:text;background:var(--color-background-secondary, #1e293b);border:.5px solid var(--color-border-tertiary, #1e293b);border-radius:var(--border-radius-lg, 12px);padding:1.5rem;min-height:100px;position:relative}.text-viewport[data-v-fded4574]{position:relative}.text-viewport.roll[data-v-fded4574]{height:170px;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 82%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0,#000 82%,transparent 100%)}.text-viewport.roll.scrolled[data-v-fded4574]{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 18%,#000 82%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 18%,#000 82%,transparent 100%)}.text-viewport.roll .text-area[data-v-fded4574]{transition:transform .16s ease-out;will-change:transform}.text-area[data-v-fded4574]{position:relative;font-family:var(--font-mono, monospace);font-size:17px;line-height:2;letter-spacing:.02em;overflow-wrap:break-word}.cur[data-v-fded4574]{color:var(--color-text-primary, #e2e8f0);border-bottom:2.5px solid #f59e0b;animation:blink-fded4574 1s step-end infinite}.char-anchor[data-v-fded4574]{display:inline-block;position:relative;width:0;overflow:visible;vertical-align:baseline}@keyframes blink-fded4574{0%,to{border-color:#f59e0b}50%{border-color:transparent}}.wrong-flash[data-v-fded4574]{position:absolute;left:0;bottom:1.5em;transform:translate(-50%);padding:1px 5px;border-radius:4px;background:#ef4444cc;border:1px solid #ef4444;color:#fff;font-size:.8em;line-height:1.6;pointer-events:none;white-space:nowrap;animation:wrong-pop-fded4574 .4s ease-out forwards}@keyframes wrong-pop-fded4574{0%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}15%{opacity:1;transform:translate(-50%) translateY(-2px) scale(1.1)}to{opacity:0;transform:translate(-50%) translateY(-6px) scale(.9)}}.shake[data-v-fded4574]{animation:shake-fded4574 .28s ease}@keyframes shake-fded4574{0%,to{transform:translate(0)}20%{transform:translate(-5px)}60%{transform:translate(5px)}80%{transform:translate(-3px)}}.idle-hint[data-v-fded4574]{position:absolute;left:1.5rem;top:.4rem;padding:1px 6px;border-radius:4px;background:var(--color-background-tertiary, #334155);color:var(--color-text-secondary, #94a3b8);font-size:11px;white-space:nowrap;pointer-events:none}.text-counter[data-v-fded4574]{margin-top:.5rem;font-size:11px;color:var(--color-text-tertiary, #64748b);text-align:right}.drill-badge[data-v-fded4574]{color:#38bdf8;font-weight:600}.result-card[data-v-de199a65]{background:var(--color-background-secondary, #1e293b);border:.5px solid var(--color-border-tertiary, #1e293b);border-radius:var(--border-radius-lg, 12px);padding:2rem 1.5rem;text-align:center}.result-subtitle[data-v-de199a65]{font-size:11px;color:var(--color-text-secondary, #94a3b8);text-transform:uppercase;letter-spacing:.07em;margin-bottom:.5rem}.result-wpm[data-v-de199a65]{font-size:56px;font-weight:500;line-height:1;color:var(--color-text-primary, #e2e8f0);font-variant-numeric:tabular-nums;margin-bottom:.2rem}.result-unit-pct[data-v-de199a65]{font-size:28px;font-weight:400;color:var(--color-text-tertiary, #64748b)}.result-unit[data-v-de199a65]{font-size:13px;color:var(--color-text-tertiary, #64748b);margin-bottom:.5rem}.result-meta-time[data-v-de199a65]{font-size:13px;color:var(--color-text-tertiary, #64748b);margin-bottom:1.25rem}.result-best[data-v-de199a65]{font-size:12px;color:var(--color-text-tertiary, #64748b);margin-bottom:1.25rem}.result-best-new[data-v-de199a65]{color:var(--color-success);font-weight:600}.result-delta[data-v-de199a65]{font-size:12px;color:var(--color-text-tertiary, #64748b);margin-bottom:1.25rem;font-variant-numeric:tabular-nums}.result-delta--up[data-v-de199a65]{color:var(--color-success);font-weight:600}.result-delta--down[data-v-de199a65]{color:var(--color-error)}.result-row[data-v-de199a65]{display:flex;justify-content:center;gap:2.5rem;margin-bottom:2rem}.result-item-label[data-v-de199a65]{font-size:10px;color:var(--color-text-secondary, #94a3b8);text-transform:uppercase;letter-spacing:.07em;margin-bottom:2px}.result-item-value[data-v-de199a65]{font-size:24px;font-weight:500;color:var(--color-text-primary, #e2e8f0)}.result-quick-tip[data-v-de199a65]{font-size:13px;color:var(--color-text-secondary, #94a3b8);line-height:1.5;margin-bottom:1rem;padding:.5rem .75rem;background:var(--color-background-tertiary, #334155);border-radius:6px;border-left:2px solid #f59e0b;text-align:left}.result-error-pairs[data-v-de199a65]{margin-bottom:1.25rem}.result-error-pairs-label[data-v-de199a65]{font-size:10px;color:var(--color-text-tertiary, #64748b);text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px}.result-error-pairs-chips[data-v-de199a65]{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.result-error-chip[data-v-de199a65]{font-family:var(--font-mono, monospace);font-size:12px;font-weight:600;color:var(--color-error);background:color-mix(in srgb,var(--color-error) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-error) 25%,transparent);border-radius:5px;padding:2px 8px;display:flex;align-items:center;gap:4px}.result-error-chip-count[data-v-de199a65]{font-size:10px;color:var(--color-text-tertiary, #64748b);font-weight:400}.result-actions[data-v-de199a65]{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.restart-btn[data-v-de199a65],.next-btn[data-v-de199a65],.text-btn[data-v-de199a65]{padding:.5rem 1.5rem;font-size:14px;cursor:pointer;border-radius:var(--border-radius-md, 8px);font-family:inherit;transition:background .15s,color .15s}.restart-btn[data-v-de199a65]{background:transparent;border:.5px solid var(--color-border-secondary, #334155);color:var(--color-text-primary, #e2e8f0)}.restart-btn[data-v-de199a65]:hover{background:var(--color-background-tertiary, #334155)}.next-btn[data-v-de199a65]{background:#f59e0b;border:none;color:#0f172a;font-weight:600}.next-btn[data-v-de199a65]:hover{background:#fbbf24}.text-btn[data-v-de199a65]{background:transparent;border:.5px solid var(--color-border-secondary, #334155);color:var(--color-text-secondary, #94a3b8);font-size:13px}.text-btn[data-v-de199a65]:hover{color:var(--color-text-primary, #e2e8f0)}.course-result-badge[data-v-de199a65]{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:8px;border:1px solid;margin:8px 0;font-size:13px}.course-result-badge--pass[data-v-de199a65]{background:#052e16;border-color:#16a34a;color:#4ade80}.course-result-badge--fail[data-v-de199a65]{background:#1c0a00;border-color:#b45309;color:#fbbf24}.crb-icon[data-v-de199a65]{font-size:18px;font-weight:700;flex-shrink:0}.crb-text[data-v-de199a65]{font-size:13px;line-height:1.4}.coach-wrap[data-v-4ac9211f]{margin-top:1rem;background:var(--color-background-secondary, #1e293b);border:.5px solid var(--color-border-secondary, #334155);border-left:2px solid #f59e0b;border-radius:var(--border-radius-lg, 12px);padding:1.25rem 1.5rem}.coach-header[data-v-4ac9211f]{display:flex;align-items:center;gap:8px;margin-bottom:.875rem}.coach-title[data-v-4ac9211f]{font-size:12px;font-weight:600;color:#f59e0b;text-transform:uppercase;letter-spacing:.08em}.coach-model-badge[data-v-4ac9211f]{font-size:11px;font-family:var(--font-mono, monospace);color:var(--color-text-tertiary, #64748b);background:var(--color-bg);padding:1px 6px;border-radius:4px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coach-clear-key[data-v-4ac9211f]{font-size:11px;color:var(--color-text-tertiary, #64748b);background:none;border:none;cursor:pointer;font-family:inherit;padding:0;flex-shrink:0}.coach-clear-key[data-v-4ac9211f]:hover{color:var(--color-text-secondary, #94a3b8)}.coach-loading[data-v-4ac9211f]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-tertiary, #64748b)}.coach-spinner[data-v-4ac9211f]{display:inline-block;width:14px;height:14px;border:2px solid #f59e0b40;border-top-color:#f59e0b;border-radius:50%;animation:spin-4ac9211f .7s linear infinite;flex-shrink:0}@keyframes spin-4ac9211f{to{transform:rotate(360deg)}}.coach-error[data-v-4ac9211f]{font-size:13px;color:var(--color-error);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.coach-retry[data-v-4ac9211f]{font-size:12px;color:var(--color-text-secondary, #94a3b8);background:none;border:1px solid var(--color-border-secondary, #334155);border-radius:4px;padding:2px 8px;cursor:pointer;font-family:inherit}.coach-retry[data-v-4ac9211f]:hover{color:var(--color-text-primary, #e2e8f0)}.coach-motivation[data-v-4ac9211f]{font-size:14px;color:var(--color-text-primary, #e2e8f0);line-height:1.65;margin:0 0 1rem}.coach-section-label[data-v-4ac9211f]{font-size:10px;color:var(--color-text-tertiary, #64748b);text-transform:uppercase;letter-spacing:.07em;margin-bottom:.35rem}.coach-plan-block[data-v-4ac9211f]{background:var(--color-bg);border-radius:8px;padding:.75rem 1rem;margin-bottom:.75rem}.coach-plan-text[data-v-4ac9211f]{font-size:13px;color:var(--color-text-secondary, #94a3b8);line-height:1.55;margin:0}.coach-forecast[data-v-4ac9211f]{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-accent);margin-bottom:1rem}.coach-forecast-icon[data-v-4ac9211f]{font-size:9px;opacity:.7}.coach-sparkline[data-v-4ac9211f]{margin-bottom:1rem}.sparkline-svg[data-v-4ac9211f]{width:100%;height:32px;display:block;overflow:visible}.sparkline-labels[data-v-4ac9211f]{display:flex;justify-content:space-between;align-items:center;margin-top:3px}.sparkline-bound[data-v-4ac9211f]{font-size:10px;color:var(--color-text-tertiary, #64748b);font-variant-numeric:tabular-nums}.sparkline-current[data-v-4ac9211f]{font-size:11px;color:var(--color-accent);font-weight:600;font-variant-numeric:tabular-nums}.coach-drill[data-v-4ac9211f]{background:var(--color-bg);border-radius:8px;border-left:2px solid #38bdf8;padding:.75rem 1rem;margin-bottom:.75rem;display:flex;flex-direction:column;gap:.5rem}.coach-drill-text[data-v-4ac9211f]{font-family:var(--font-mono, monospace);font-size:15px;color:#38bdf8;line-height:1.6}.coach-drill-btn[data-v-4ac9211f]{align-self:flex-start;padding:4px 12px;font-size:12px;font-family:inherit;border-radius:5px;background:#38bdf818;color:#38bdf8;font-weight:600;cursor:pointer;border:1px solid #38bdf840;transition:background .12s}.coach-drill-btn[data-v-4ac9211f]:hover{background:#38bdf830}.coach-drill-hint[data-v-4ac9211f]{font-size:10px;font-weight:400;color:var(--color-text-tertiary);margin-left:6px;text-transform:none;letter-spacing:0}.coach-practice[data-v-4ac9211f]{background:var(--color-bg);border-radius:8px;padding:1rem}.coach-practice-text[data-v-4ac9211f]{font-family:var(--font-mono, monospace);font-size:15px;color:var(--color-text-secondary, #94a3b8);line-height:1.6;margin-bottom:.875rem}.coach-practice-btn[data-v-4ac9211f]{padding:6px 16px;font-size:13px;font-family:inherit;border-radius:6px;border:none;background:#f59e0b;color:#0f172a;font-weight:600;cursor:pointer;transition:background .12s}.coach-practice-btn[data-v-4ac9211f]:hover{background:#fbbf24}.pp-overlay[data-v-2290b2a8]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem}.pp-modal[data-v-2290b2a8]{background:#1e293b;border:1px solid #334155;border-radius:14px;width:100%;max-width:560px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.pp-header[data-v-2290b2a8]{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem 1rem;border-bottom:1px solid #334155;flex-shrink:0}.pp-title[data-v-2290b2a8]{font-size:16px;font-weight:700;color:#e2e8f0;margin:0}.pp-close[data-v-2290b2a8]{background:none;border:none;color:#64748b;font-size:16px;cursor:pointer;padding:4px 6px;border-radius:4px;line-height:1}.pp-close[data-v-2290b2a8]:hover{color:#e2e8f0}.pp-body[data-v-2290b2a8]{overflow-y:auto;padding:1.25rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:1.25rem;font-size:13px;color:#94a3b8;line-height:1.65}.pp-updated[data-v-2290b2a8]{font-size:11px;color:#475569;margin:0}section[data-v-2290b2a8]{display:flex;flex-direction:column;gap:.5rem}h3[data-v-2290b2a8]{font-size:13px;font-weight:700;color:#e2e8f0;margin:0}p[data-v-2290b2a8]{margin:0}ul[data-v-2290b2a8]{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.3rem}strong[data-v-2290b2a8]{color:#cbd5e1}.password-input[data-v-f3214963]{position:relative}.password-input input[data-v-f3214963]{width:100%;background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:7px;color:var(--color-text);font-size:14px;font-family:inherit;padding:.5rem 2.2rem .5rem .75rem;outline:none;transition:border-color .15s}.password-input input[data-v-f3214963]:focus{border-color:var(--color-accent)}.password-toggle[data-v-f3214963]{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--color-text-tertiary);padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:color .15s}.password-toggle[data-v-f3214963]:hover{color:var(--color-text-secondary)}.auth-overlay[data-v-ebfb94d2]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.auth-modal[data-v-ebfb94d2]{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;padding:2rem 2rem 1.75rem;width:100%;max-width:360px;position:relative}.auth-close[data-v-ebfb94d2]{position:absolute;top:.75rem;right:.75rem;background:none;border:none;color:var(--color-text-tertiary);font-size:16px;cursor:pointer;padding:4px 6px;border-radius:4px;line-height:1}.auth-close[data-v-ebfb94d2]:hover{color:var(--color-text)}.auth-tabs[data-v-ebfb94d2]{display:flex;gap:4px;margin-bottom:1.25rem;background:var(--color-bg);border-radius:8px;padding:3px}.auth-tabs button[data-v-ebfb94d2]{flex:1;padding:.4rem;border:none;border-radius:6px;background:transparent;color:var(--color-text-tertiary);font-size:14px;font-family:inherit;cursor:pointer;transition:background .15s,color .15s}.auth-tabs button.active[data-v-ebfb94d2]{background:var(--color-bg-card);color:var(--color-text)}.auth-oauth[data-v-ebfb94d2]{display:flex;flex-direction:column;gap:8px;margin-bottom:.75rem}.oauth-btn[data-v-ebfb94d2]{display:flex;align-items:center;gap:8px;padding:.5rem .75rem;border-radius:8px;font-size:13px;font-weight:500;text-decoration:none;transition:filter .15s;cursor:pointer;border:none}.oauth-btn[data-v-ebfb94d2]:hover{filter:brightness(1.1)}.oauth-google[data-v-ebfb94d2]{background:#fff;color:#444;border:1px solid #ddd!important}.oauth-yandex[data-v-ebfb94d2]{background:#fc3f1d;color:#fff}.oauth-vk[data-v-ebfb94d2]{background:#07f;color:#fff}.oauth-ldap[data-v-ebfb94d2]{background:var(--color-border);color:var(--color-text);border:1px solid var(--color-text-muted)!important}.auth-divider[data-v-ebfb94d2]{display:flex;align-items:center;gap:.5rem;margin:.75rem 0;color:var(--color-text-muted);font-size:12px}.auth-divider[data-v-ebfb94d2]:before,.auth-divider[data-v-ebfb94d2]:after{content:"";flex:1;height:1px;background:var(--color-border)}form[data-v-ebfb94d2]{display:flex;flex-direction:column;gap:.35rem}label[data-v-ebfb94d2]{font-size:12px;color:var(--color-text-secondary);margin-top:.5rem}.auth-opt[data-v-ebfb94d2]{color:var(--color-text-muted)}input[data-v-ebfb94d2]{background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:7px;color:var(--color-text);font-size:14px;font-family:inherit;padding:.5rem .75rem;outline:none;transition:border-color .15s}input[data-v-ebfb94d2]:focus{border-color:var(--color-accent)}.auth-error[data-v-ebfb94d2]{font-size:13px;color:var(--color-error);padding:.4rem .75rem;background:color-mix(in srgb,var(--color-error) 10%,transparent);border-radius:6px;margin-top:.25rem}.auth-warn[data-v-ebfb94d2]{font-size:13px;color:#fbbf24;padding:.4rem .75rem;background:#fbbf2415;border-radius:6px;margin-top:.25rem;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.resend-inline[data-v-ebfb94d2]{background:none;border:none;color:var(--color-accent);font-size:13px;font-family:inherit;cursor:pointer;text-decoration:underline;padding:0}.auth-submit[data-v-ebfb94d2]{margin-top:1rem;padding:.55rem;width:100%;background:#f59e0b;border:none;border-radius:8px;color:#0f172a;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s}.auth-submit[data-v-ebfb94d2]:hover:not(:disabled){background:#fbbf24}.auth-submit[data-v-ebfb94d2]:disabled{opacity:.5;cursor:not-allowed}.auth-back-row[data-v-ebfb94d2]{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}.auth-back[data-v-ebfb94d2]{background:none;border:none;color:var(--color-text-tertiary);font-size:13px;font-family:inherit;cursor:pointer;padding:0}.auth-back[data-v-ebfb94d2]:hover{color:var(--color-text)}.auth-back-title[data-v-ebfb94d2]{font-size:15px;font-weight:600;color:var(--color-text)}.auth-verify-icon[data-v-ebfb94d2]{font-size:2.5rem;text-align:center;margin-bottom:.75rem}.auth-verify-title[data-v-ebfb94d2]{text-align:center;font-size:18px;color:var(--color-text);margin:0 0 .5rem}.auth-verify-sub[data-v-ebfb94d2]{text-align:center;font-size:13px;color:var(--color-text-secondary);line-height:1.5;margin-bottom:1.25rem}.auth-info[data-v-ebfb94d2]{font-size:13px;color:var(--color-success);padding:.4rem .75rem;background:color-mix(in srgb,var(--color-success) 10%,transparent);border-radius:6px;margin-bottom:.5rem;text-align:center}.auth-empty[data-v-ebfb94d2]{color:var(--color-text-muted);font-size:13px;text-align:center;padding:1rem 0}.auth-retry-btn[data-v-ebfb94d2]{display:block;margin:.6rem auto 0;padding:.35rem .9rem;font-size:12px;font-family:inherit;cursor:pointer;border-radius:6px;background:transparent;border:.5px solid var(--color-border);color:var(--color-text-secondary);transition:color .15s,border-color .15s}.auth-retry-btn[data-v-ebfb94d2]:hover{color:var(--color-text);border-color:var(--color-text-tertiary)}.auth-consent[data-v-ebfb94d2]{display:flex;align-items:flex-start;gap:8px;margin-top:.75rem;cursor:pointer}.auth-consent input[type=checkbox][data-v-ebfb94d2]{margin-top:2px;flex-shrink:0;accent-color:#f59e0b;width:14px;height:14px;cursor:pointer}.auth-consent span[data-v-ebfb94d2]{font-size:12px;color:var(--color-text-tertiary);line-height:1.5}.auth-policy-link[data-v-ebfb94d2]{background:none;border:none;padding:0;color:var(--color-accent);font-size:12px;font-family:inherit;cursor:pointer;text-decoration:underline}.auth-policy-link[data-v-ebfb94d2]:hover{color:var(--color-accent);filter:brightness(1.2)}.auth-forgot-row[data-v-ebfb94d2]{display:flex;justify-content:flex-end;margin-top:.2rem}.auth-forgot-link[data-v-ebfb94d2]{background:none;border:none;padding:0;color:var(--color-text-tertiary);font-size:12px;font-family:inherit;cursor:pointer;text-decoration:underline}.auth-forgot-link[data-v-ebfb94d2]:hover{color:var(--color-text-secondary)}.auth-hint[data-v-ebfb94d2]{font-size:13px;color:var(--color-text-secondary);margin:0 0 .75rem;line-height:1.5}.auth-field-hint[data-v-ebfb94d2]{font-size:11px;color:var(--color-text-muted);margin:.2rem 0 0}.auth-consent-hint[data-v-ebfb94d2]{color:var(--color-error);margin-top:.4rem}.pill-tabs[data-v-d16d8c90]{display:flex;gap:4px;flex-wrap:wrap}.pill-tab[data-v-d16d8c90]{padding:.3rem .9rem;font-size:13px;font-family:inherit;cursor:pointer;border-radius:20px;border:.5px solid var(--color-border);background:transparent;color:var(--color-text-secondary);transition:background .12s,color .12s;white-space:nowrap}.pill-tab[data-v-d16d8c90]:hover:not(.active):not(.disabled){color:var(--color-text)}.pill-tab.active[data-v-d16d8c90]{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-text);font-weight:600}.pill-tab.disabled[data-v-d16d8c90]{cursor:not-allowed;opacity:.45}.lb[data-v-d581a5f2]{padding:1rem 0}.lb-toolbar[data-v-d581a5f2]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;gap:12px;flex-wrap:wrap}.lb-empty[data-v-d581a5f2]{text-align:center;color:var(--color-text-tertiary, #64748b);padding:2rem 0;font-size:14px}.lb-table[data-v-d581a5f2]{width:100%;border-collapse:collapse;font-size:14px}.lb-table th[data-v-d581a5f2]{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-tertiary, #64748b);padding:0 .75rem .5rem;font-weight:600}.lb-table td[data-v-d581a5f2]{padding:.6rem .75rem;border-top:1px solid var(--color-border-primary, #1e293b);color:var(--color-text-primary, #e2e8f0)}.lb-me td[data-v-d581a5f2]{background:color-mix(in srgb,var(--color-accent) 6%,transparent)}.lb-rank[data-v-d581a5f2]{color:var(--color-text-tertiary, #64748b);font-size:13px;width:36px}.lb-medal[data-v-d581a5f2]{font-size:18px}.lb-name[data-v-d581a5f2]{font-weight:500}.lb-you[data-v-d581a5f2]{color:var(--color-accent);font-size:12px;font-weight:400}.lb-num[data-v-d581a5f2]{font-variant-numeric:tabular-nums;color:var(--color-text-secondary, #94a3b8);text-align:right!important}.lb-date[data-v-d581a5f2]{color:var(--color-text-tertiary, #64748b);font-size:12px}.lb-own-wrap[data-v-d581a5f2]{margin-top:.25rem}.lb-own-gap[data-v-d581a5f2]{text-align:center;color:var(--color-text-tertiary, #64748b);font-size:12px;letter-spacing:.2em;padding:.2rem 0}.lb-own-table[data-v-d581a5f2]{margin-top:.1rem}.lb-own-table td[data-v-d581a5f2]{border-top:1px solid var(--color-border-primary, #1e293b)}.hist[data-v-626d4e64]{padding:1rem 0}.hist-gate[data-v-626d4e64]{text-align:center;padding:3rem 1rem;color:var(--color-text-secondary, #94a3b8)}.hist-gate p[data-v-626d4e64]{margin-bottom:1rem;font-size:14px}.hist-login-btn[data-v-626d4e64]{padding:.45rem 1.25rem;background:#f59e0b;border:none;border-radius:8px;color:#0f172a;font-weight:600;font-family:inherit;font-size:14px;cursor:pointer}.hist-login-btn[data-v-626d4e64]:hover{background:#fbbf24}.hist-empty[data-v-626d4e64]{text-align:center;color:var(--color-text-tertiary, #64748b);padding:2rem 0;font-size:14px}.hist-mode-tabs[data-v-626d4e64]{margin-bottom:1rem}.hist-chart-empty[data-v-626d4e64]{height:60px;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary, #64748b);font-size:13px}.hist-chart-wrap[data-v-626d4e64]{margin-bottom:1.5rem;background:var(--color-background-secondary, #1e293b);border-radius:10px;padding:1rem}.hist-chart-label[data-v-626d4e64]{font-size:11px;color:var(--color-text-tertiary, #64748b);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.06em}.hist-chart[data-v-626d4e64]{width:100%;height:60px;display:block}.hist-chart-axis[data-v-626d4e64]{display:flex;justify-content:space-between;font-size:10px;color:var(--color-text-tertiary, #64748b);margin-top:.25rem}.hist-summary[data-v-626d4e64]{display:flex;gap:2rem;margin-bottom:1.5rem}.hist-stat[data-v-626d4e64]{display:flex;flex-direction:column;gap:2px}.hist-stat-val[data-v-626d4e64]{font-size:28px;font-weight:600;color:var(--color-text-primary, #e2e8f0);font-variant-numeric:tabular-nums;line-height:1}.hist-stat-unit[data-v-626d4e64]{font-size:11px;color:var(--color-text-tertiary, #64748b)}.hist-table[data-v-626d4e64]{width:100%;border-collapse:collapse;font-size:13px}.hist-table th[data-v-626d4e64]{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-tertiary, #64748b);padding:0 .75rem .5rem;font-weight:600}.hist-table td[data-v-626d4e64]{padding:.5rem .75rem;border-top:1px solid var(--color-border-primary, #1e293b);color:var(--color-text-secondary, #94a3b8)}.hist-mode[data-v-626d4e64]{color:var(--color-text-primary, #e2e8f0);font-weight:500}.hist-num[data-v-626d4e64]{font-variant-numeric:tabular-nums;text-align:right}.hist-date[data-v-626d4e64]{font-size:12px;color:var(--color-text-tertiary, #64748b)}.profile[data-v-3a36e29c]{max-width:620px;margin:0 auto;padding:1.5rem 1rem 3rem;display:flex;flex-direction:column;gap:2rem}.profile-empty[data-v-3a36e29c]{color:var(--color-text-tertiary);text-align:center;padding:3rem 0;display:flex;flex-direction:column;align-items:center;gap:1rem}.profile-retry-btn[data-v-3a36e29c]{padding:.35rem 1rem;background:none;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-secondary);font-size:13px;font-family:inherit;cursor:pointer}.profile-retry-btn[data-v-3a36e29c]:hover{border-color:var(--color-text-muted);color:var(--color-text)}.profile-hero[data-v-3a36e29c]{display:flex;align-items:center;gap:1.25rem}.profile-avatar[data-v-3a36e29c]{width:60px;height:60px;border-radius:50%;background:#f59e0b;color:#0f172a;font-size:1.4rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-hero-info[data-v-3a36e29c]{flex:1;min-width:0}.profile-name-row[data-v-3a36e29c]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.2rem}.profile-name[data-v-3a36e29c]{font-size:1.1rem;font-weight:600;color:var(--color-text)}.profile-name-input[data-v-3a36e29c]{background:var(--color-bg-input);border:1px solid var(--color-accent);border-radius:6px;color:var(--color-text);font-size:1rem;font-family:inherit;padding:.3rem .6rem;outline:none;width:180px}.profile-username-row[data-v-3a36e29c]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.2rem}.profile-username[data-v-3a36e29c]{font-size:13px;color:var(--color-accent);font-family:var(--font-mono, monospace)}.profile-username-hint[data-v-3a36e29c]{font-size:11px;color:var(--color-text-muted);margin-bottom:.3rem}.profile-username-error[data-v-3a36e29c]{margin-bottom:.3rem;align-self:flex-start}.profile-email-row[data-v-3a36e29c]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.2rem}.profile-email[data-v-3a36e29c]{font-size:13px;color:var(--color-text-tertiary)}.profile-email-pending[data-v-3a36e29c]{font-size:12px;color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 10%,transparent);border-radius:6px;padding:.3rem .6rem;margin-bottom:.3rem}.profile-meta[data-v-3a36e29c]{font-size:12px;color:var(--color-text-muted);margin-top:2px}.profile-stats[data-v-3a36e29c]{display:flex;gap:.75rem}.profile-stat[data-v-3a36e29c]{flex:1;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:10px;padding:.9rem;text-align:center}.profile-stat-val[data-v-3a36e29c]{font-size:1.6rem;font-weight:700;color:var(--color-accent);line-height:1}.profile-stat-lbl[data-v-3a36e29c]{font-size:11px;color:var(--color-text-tertiary);margin-top:4px}.profile-hint[data-v-3a36e29c]{background:var(--color-bg-card);border:1px solid var(--color-border);border-left:3px solid var(--color-accent);border-radius:8px;padding:.85rem 1rem;font-size:13px;color:var(--color-text-secondary);line-height:1.55}.profile-hint strong[data-v-3a36e29c]{color:var(--color-text)}.profile-section-title[data-v-3a36e29c]{font-size:11px;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.65rem}.profile-bests[data-v-3a36e29c]{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.6rem}.profile-best-card[data-v-3a36e29c]{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:10px;padding:.8rem .7rem;text-align:center}.profile-best-mode[data-v-3a36e29c]{font-size:11px;color:var(--color-text-tertiary);margin-bottom:.4rem}.profile-best-wpm[data-v-3a36e29c]{font-size:1.35rem;font-weight:700;color:var(--color-text);line-height:1}.profile-best-wpm span[data-v-3a36e29c]{font-size:11px;color:var(--color-text-tertiary);font-weight:400}.profile-best-acc[data-v-3a36e29c]{font-size:11px;color:var(--color-text-secondary);margin-top:3px}.profile-best-empty[data-v-3a36e29c]{font-size:12px;color:var(--color-text-tertiary);margin-top:.4rem}.profile-providers[data-v-3a36e29c]{display:flex;flex-direction:column;gap:.5rem}.profile-provider[data-v-3a36e29c]{display:flex;align-items:center;gap:.75rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:10px;padding:.65rem 1rem}.provider-icon[data-v-3a36e29c]{width:26px;height:26px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.provider-google[data-v-3a36e29c]{background:#fff;color:#444;border:1px solid #ddd}.provider-yandex[data-v-3a36e29c]{background:#fc3f1d;color:#fff}.provider-vk[data-v-3a36e29c]{background:#07f;color:#fff}.provider-name[data-v-3a36e29c]{font-size:14px;color:var(--color-text);flex:1}.provider-status[data-v-3a36e29c]{font-size:12px;color:var(--color-text-muted)}.profile-provider.linked .provider-status[data-v-3a36e29c]{color:var(--color-success)}.provider-link[data-v-3a36e29c]{font-size:12px;color:var(--color-accent);text-decoration:none}.provider-link[data-v-3a36e29c]:hover{text-decoration:underline}.profile-password-form[data-v-3a36e29c]{display:flex;flex-direction:column;gap:.5rem;max-width:340px}.profile-password-form input[data-v-3a36e29c]{background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:7px;color:var(--color-text);font-size:14px;font-family:inherit;padding:.5rem .75rem;outline:none;transition:border-color .15s}.profile-password-form input[data-v-3a36e29c]:focus{border-color:var(--color-accent)}.profile-btn-ghost[data-v-3a36e29c]{background:none;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-tertiary);font-size:12px;font-family:inherit;padding:3px 9px;cursor:pointer;transition:color .15s,border-color .15s}.profile-btn-ghost[data-v-3a36e29c]:hover{color:var(--color-text);border-color:var(--color-text-tertiary)}.profile-btn-save[data-v-3a36e29c]{background:#f59e0b;border:none;border-radius:6px;color:#0f172a;font-size:12px;font-family:inherit;font-weight:600;padding:3px 10px;cursor:pointer}.profile-btn-save[data-v-3a36e29c]:disabled{opacity:.5}.profile-btn-primary[data-v-3a36e29c]{margin-top:.25rem;padding:.5rem 1.25rem;background:#f59e0b;border:none;border-radius:8px;color:#0f172a;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;align-self:flex-start;transition:background .15s}.profile-btn-primary[data-v-3a36e29c]:hover:not(:disabled){background:#fbbf24}.profile-btn-primary[data-v-3a36e29c]:disabled{opacity:.5;cursor:not-allowed}.profile-error[data-v-3a36e29c]{font-size:13px;color:var(--color-error);padding:.35rem .7rem;background:color-mix(in srgb,var(--color-error) 10%,transparent);border-radius:6px}.profile-success[data-v-3a36e29c]{font-size:13px;color:var(--color-success);padding:.35rem .7rem;background:color-mix(in srgb,var(--color-success) 10%,transparent);border-radius:6px}.profile-settings-row[data-v-3a36e29c]{display:flex;align-items:center;justify-content:space-between}.profile-settings-label[data-v-3a36e29c]{font-size:13px;color:var(--color-text-secondary)}.profile-lang-switcher[data-v-3a36e29c]{display:flex;border:.5px solid var(--color-border);border-radius:6px;overflow:hidden}.profile-lang-switcher button[data-v-3a36e29c]{padding:4px 12px;font-size:11px;font-weight:600;font-family:var(--font-mono, monospace);border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:color .12s,background .12s;letter-spacing:.04em}.profile-lang-switcher button[data-v-3a36e29c]:hover{color:var(--color-text-secondary)}.profile-lang-switcher button.active[data-v-3a36e29c]{background:var(--color-bg-hover);color:var(--color-accent)}.profile-footer[data-v-3a36e29c]{display:flex}.profile-privacy-link[data-v-3a36e29c]{background:none;border:none;padding:0;color:var(--color-text-muted);font-size:12px;font-family:inherit;cursor:pointer;text-decoration:underline;transition:color .15s}.profile-privacy-link[data-v-3a36e29c]:hover{color:var(--color-text-secondary)}.profile-danger-zone[data-v-3a36e29c]{border:1px solid #450a0a;border-radius:12px;padding:1.25rem;background:color-mix(in srgb,var(--color-error) 5%,var(--color-bg));display:flex;flex-direction:column;gap:.75rem}.profile-danger-header[data-v-3a36e29c]{display:flex;align-items:center;gap:.5rem;font-size:13px;font-weight:600;color:var(--color-error)}.profile-danger-desc[data-v-3a36e29c]{font-size:13px;color:var(--color-text-tertiary);margin:0;line-height:1.5}.profile-danger-prompt[data-v-3a36e29c]{font-size:13px;color:var(--color-error);margin:0}.profile-danger-prompt strong[data-v-3a36e29c]{color:var(--color-error)}.profile-danger-input[data-v-3a36e29c]{background:var(--color-bg-input);border:1px solid #7f1d1d;border-radius:7px;color:var(--color-text);font-size:14px;font-family:inherit;padding:.5rem .75rem;outline:none;transition:border-color .15s;max-width:200px}.profile-danger-input[data-v-3a36e29c]:focus{border-color:var(--color-error)}.profile-danger-actions[data-v-3a36e29c]{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.profile-btn-danger[data-v-3a36e29c]{padding:.45rem 1rem;background:#7f1d1d;border:1px solid #991b1b;border-radius:8px;color:#fca5a5;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s}.profile-btn-danger[data-v-3a36e29c]:hover:not(:disabled){background:#991b1b}.profile-btn-danger[data-v-3a36e29c]:disabled{opacity:.4;cursor:not-allowed}@media (max-width: 480px){.profile-stats[data-v-3a36e29c]{flex-direction:column}}.vp[data-v-20f002c8]{max-width:480px;margin:0 auto;padding:1.5rem 1rem 3rem;display:flex;flex-direction:column;gap:1.25rem}.vp-header[data-v-20f002c8]{display:flex;flex-direction:column;gap:.75rem;align-items:center}.vp-title[data-v-20f002c8]{font-size:1.2rem;font-weight:700;color:var(--color-text);margin:0}.vp-switchers[data-v-20f002c8]{display:flex;gap:1.25rem;flex-wrap:wrap;justify-content:center}.vp-switcher[data-v-20f002c8]{display:flex;align-items:center;gap:6px}.vp-switcher-label[data-v-20f002c8]{font-size:11px;color:var(--color-text-tertiary)}.vp-btn-group[data-v-20f002c8]{display:flex;gap:4px}.vp-switch-btn[data-v-20f002c8]{padding:4px 10px;font-size:12px;font-weight:600;font-family:var(--font-mono, monospace);border:.5px solid var(--color-border);border-radius:6px;background:transparent;color:var(--color-text-muted);cursor:pointer}.vp-switch-btn.active[data-v-20f002c8]{background:var(--color-bg-hover);color:var(--color-accent);border-color:var(--color-accent)}.vp-progress-bar[data-v-20f002c8]{display:flex;align-items:center;gap:10px}.vp-progress-track[data-v-20f002c8]{flex:1;height:6px;background:var(--color-border);border-radius:3px;overflow:hidden}.vp-progress-fill[data-v-20f002c8]{height:100%;background:var(--color-accent);border-radius:3px;transition:width .2s}.vp-progress-label[data-v-20f002c8]{font-size:11px;color:var(--color-text-tertiary);white-space:nowrap}.vp-login-hint[data-v-20f002c8],.vp-empty[data-v-20f002c8]{text-align:center;font-size:13px;color:var(--color-text-tertiary);padding:.75rem;background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:8px}.vp-card[data-v-20f002c8]{background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:14px;padding:2rem 1.5rem;display:flex;flex-direction:column;align-items:center;gap:1rem;outline:none}.vp-card.shake[data-v-20f002c8]{animation:vp-shake-20f002c8 .28s ease}@keyframes vp-shake-20f002c8{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(3px)}30%,50%,70%{transform:translate(-5px)}40%,60%{transform:translate(5px)}}.vp-image[data-v-20f002c8]{width:96px;height:96px;border-radius:12px;background:var(--color-bg-hover);display:flex;align-items:center;justify-content:center;overflow:hidden}.vp-image img[data-v-20f002c8]{width:100%;height:100%;object-fit:cover}.vp-image-placeholder[data-v-20f002c8]{font-size:2.2rem;opacity:.5}.vp-word[data-v-20f002c8]{font-family:var(--font-mono, monospace);font-size:1.4rem;font-weight:600;letter-spacing:.02em}.vp-char[data-v-20f002c8]{color:var(--color-text-tertiary, #64748b)}.vp-char.correct[data-v-20f002c8]{color:#4ade80}.vp-char.current[data-v-20f002c8]{color:var(--color-text);border-bottom:2px solid var(--color-accent)}.vp-translation[data-v-20f002c8]{font-size:2.2rem;font-weight:700;color:var(--color-text)}.vp-progress[data-v-20f002c8]{font-size:12px;color:var(--color-text-muted)}.admin[data-v-64817ab6]{padding:1rem 0 3rem;display:flex;flex-direction:column;gap:1.25rem}.admin-toolbar[data-v-64817ab6]{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.admin-title[data-v-64817ab6]{font-size:1.1rem;font-weight:600;color:var(--color-text);margin:0}.admin-search input[data-v-64817ab6]{background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:7px;color:var(--color-text);font-size:13px;font-family:inherit;padding:.4rem .75rem;outline:none;width:240px;transition:border-color .15s}.admin-search input[data-v-64817ab6]:focus{border-color:var(--color-accent)}.admin-error[data-v-64817ab6]{font-size:13px;color:var(--color-error);padding:.5rem .8rem;background:color-mix(in srgb,var(--color-error) 10%,transparent);border-radius:6px}.admin-empty[data-v-64817ab6]{color:var(--color-text-tertiary);text-align:center;padding:3rem 0;display:flex;flex-direction:column;align-items:center;gap:1rem}.admin-retry-btn[data-v-64817ab6]{padding:.35rem 1rem;background:none;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-secondary);font-size:13px;font-family:inherit;cursor:pointer}.admin-retry-btn[data-v-64817ab6]:hover{border-color:var(--color-text-muted);color:var(--color-text)}.admin-table-wrap[data-v-64817ab6]{overflow-x:auto}.admin-table[data-v-64817ab6]{width:100%;border-collapse:collapse;font-size:13px}.admin-table th[data-v-64817ab6]{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-tertiary);padding:0 .75rem .5rem;font-weight:600;white-space:nowrap}.admin-table td[data-v-64817ab6]{padding:.6rem .75rem;border-top:1px solid var(--color-border);color:var(--color-text);vertical-align:middle}.admin-banned-row td[data-v-64817ab6]{background:color-mix(in srgb,var(--color-error) 5%,transparent)}.admin-num[data-v-64817ab6]{font-variant-numeric:tabular-nums;color:var(--color-text-tertiary)}.admin-user-cell[data-v-64817ab6]{display:flex;flex-direction:column;gap:1px}.admin-username[data-v-64817ab6]{font-family:var(--font-mono, monospace);font-size:13px;color:var(--color-text)}.admin-email[data-v-64817ab6]{font-size:11px;color:var(--color-text-tertiary)}.admin-role-badge[data-v-64817ab6],.admin-status-badge[data-v-64817ab6]{display:inline-block;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:600;border:.5px solid var(--color-border);color:var(--color-text-tertiary);white-space:nowrap}.admin-role-admin[data-v-64817ab6]{color:#f59e0b;border-color:#f59e0b40;background:#f59e0b18}.admin-status-banned[data-v-64817ab6]{color:var(--color-error);border-color:color-mix(in srgb,var(--color-error) 40%,transparent);background:color-mix(in srgb,var(--color-error) 10%,transparent)}.admin-date[data-v-64817ab6]{color:var(--color-text-tertiary);font-size:12px;white-space:nowrap}.admin-actions-col[data-v-64817ab6],.admin-actions[data-v-64817ab6]{text-align:right}.admin-self-note[data-v-64817ab6]{font-size:11px;color:var(--color-text-muted);font-style:italic}.admin-menu[data-v-64817ab6]{position:relative;display:inline-block}.admin-menu-btn[data-v-64817ab6]{width:30px;height:30px;font-size:16px;line-height:1;font-family:inherit;cursor:pointer;border-radius:6px;background:transparent;border:.5px solid var(--color-border);color:var(--color-text-tertiary);transition:color .15s,border-color .15s,background .15s}.admin-menu-btn[data-v-64817ab6]:hover,.admin-menu-btn.active[data-v-64817ab6]{color:var(--color-text);border-color:var(--color-text-tertiary);background:var(--color-bg-hover)}.admin-menu-backdrop[data-v-64817ab6]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900}.admin-menu-dropdown[data-v-64817ab6]{position:absolute;top:calc(100% + 4px);right:0;z-index:950;display:flex;flex-direction:column;min-width:160px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;padding:4px;box-shadow:0 8px 24px #0000004d}.admin-menu-item[data-v-64817ab6]{padding:7px 10px;font-size:13px;font-family:inherit;text-align:left;cursor:pointer;border-radius:5px;background:transparent;border:none;color:var(--color-text);transition:background .12s;white-space:nowrap}.admin-menu-item[data-v-64817ab6]:hover:not(:disabled){background:var(--color-bg-hover)}.admin-menu-item[data-v-64817ab6]:disabled{opacity:.5;cursor:not-allowed}.admin-menu-item-danger[data-v-64817ab6]{color:#dc2626;font-weight:600}.admin-menu-item-danger[data-v-64817ab6]:hover:not(:disabled){background:color-mix(in srgb,#dc2626 12%,transparent)}.admin-pagination[data-v-64817ab6]{display:flex;align-items:center;justify-content:center;gap:12px}.admin-page-btn[data-v-64817ab6]{padding:4px 12px;font-size:12px;font-family:inherit;cursor:pointer;border-radius:6px;background:transparent;border:.5px solid var(--color-border);color:var(--color-text-secondary)}.admin-page-btn[data-v-64817ab6]:hover:not(:disabled){border-color:var(--color-text-tertiary);color:var(--color-text)}.admin-page-btn[data-v-64817ab6]:disabled{opacity:.4;cursor:not-allowed}.admin-page-info[data-v-64817ab6]{font-size:12px;color:var(--color-text-tertiary)}.admin-modal-overlay[data-v-64817ab6]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.admin-modal[data-v-64817ab6]{background:var(--color-bg-card);border:1px solid #dc2626;border-radius:12px;padding:1.5rem 1.5rem 1.25rem;width:100%;max-width:380px}.admin-modal-title[data-v-64817ab6]{font-size:15px;font-weight:700;color:#dc2626;margin-bottom:.6rem}.admin-modal-body[data-v-64817ab6]{font-size:14px;color:var(--color-text-secondary);margin:0 0 1rem;line-height:1.5}.admin-modal-actions[data-v-64817ab6]{display:flex;justify-content:flex-end;gap:8px}.admin-modal-cancel[data-v-64817ab6]{padding:.45rem 1rem;background:transparent;border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-secondary);font-size:13px;font-family:inherit;cursor:pointer}.admin-modal-cancel[data-v-64817ab6]:hover{border-color:var(--color-text-tertiary);color:var(--color-text)}.admin-modal-confirm[data-v-64817ab6]{padding:.45rem 1.1rem;background:#dc2626;border:1px solid #dc2626;border-radius:8px;color:#fff;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s}.admin-modal-confirm[data-v-64817ab6]:hover:not(:disabled){background:#b91c1c}.admin-modal-confirm[data-v-64817ab6]:disabled{opacity:.5;cursor:not-allowed}.trend-chart[data-v-21b5355d]{position:relative}.trend-chart-svg[data-v-21b5355d]{width:100%;height:120px;display:block;overflow:visible;cursor:crosshair}.trend-chart-line[data-v-21b5355d]{fill:none;stroke:var(--color-accent, #f59e0b);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.trend-chart-area[data-v-21b5355d]{fill:var(--color-accent, #f59e0b);opacity:.1;stroke:none}.trend-chart-crosshair[data-v-21b5355d]{stroke:var(--color-border);stroke-width:1}.trend-chart-hover-dot[data-v-21b5355d],.trend-chart-end-dot[data-v-21b5355d]{fill:var(--color-accent, #f59e0b);stroke:var(--color-bg-card);stroke-width:2}.trend-chart-hit[data-v-21b5355d]{pointer-events:all}.trend-chart-gridline[data-v-21b5355d]{stroke:var(--color-border);stroke-width:1;opacity:.6}.trend-chart-gridline-label[data-v-21b5355d]{font-size:9px;fill:var(--color-text-tertiary);font-family:var(--font-mono, monospace)}.trend-chart-endlabel[data-v-21b5355d]{position:absolute;top:-1.4rem;right:0;font-size:12px;font-weight:600;color:var(--color-text)}.trend-chart-endlabel-tag[data-v-21b5355d]{font-size:10px;font-weight:500;color:var(--color-text-tertiary)}.trend-chart-tooltip[data-v-21b5355d]{position:absolute;top:4px;transform:translate(-50%);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:6px;padding:3px 8px;font-size:11px;text-align:center;white-space:nowrap;pointer-events:none;box-shadow:0 2px 8px #00000040}.trend-chart-tooltip-value[data-v-21b5355d]{font-weight:700;color:var(--color-text)}.trend-chart-tooltip-date[data-v-21b5355d]{color:var(--color-text-tertiary)}.trend-chart-axis[data-v-21b5355d]{display:flex;justify-content:space-between;font-size:11px;color:var(--color-text-tertiary);margin-top:4px}.astats[data-v-2a98bce7]{padding:1rem 0 3rem;display:flex;flex-direction:column;gap:1.5rem}.astats-toolbar[data-v-2a98bce7]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.astats-period-hint[data-v-2a98bce7]{font-size:11px;color:var(--color-text-muted)}.astats-empty[data-v-2a98bce7],.astats-empty-inline[data-v-2a98bce7]{color:var(--color-text-tertiary);text-align:center;padding:2rem 0}.astats-empty[data-v-2a98bce7]{display:flex;flex-direction:column;align-items:center;gap:1rem}.astats-retry-btn[data-v-2a98bce7]{padding:.35rem 1rem;background:none;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-secondary);font-size:13px;font-family:inherit;cursor:pointer}.astats-retry-btn[data-v-2a98bce7]:hover{border-color:var(--color-text-muted);color:var(--color-text)}.astats-tiles[data-v-2a98bce7]{display:flex;gap:.75rem;flex-wrap:wrap}.astats-tile[data-v-2a98bce7]{flex:1;min-width:130px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:10px;padding:.9rem;text-align:center}.astats-tile-val[data-v-2a98bce7]{font-size:1.6rem;font-weight:700;color:var(--color-text);line-height:1}.astats-tile-lbl[data-v-2a98bce7]{font-size:11px;color:var(--color-text-tertiary);margin-top:4px}.astats-live-badge[data-v-2a98bce7]{display:inline-block;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-success);border:.5px solid color-mix(in srgb,var(--color-success) 40%,transparent);background:color-mix(in srgb,var(--color-success) 12%,transparent);border-radius:3px;padding:0 4px;vertical-align:1px}.astats-section[data-v-2a98bce7]{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:10px;padding:1rem 1.1rem .8rem}.astats-section-title[data-v-2a98bce7]{font-size:11px;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.9rem}.astats-bars[data-v-2a98bce7]{display:flex;flex-direction:column;gap:.55rem}.astats-bar-row[data-v-2a98bce7]{display:grid;grid-template-columns:90px 1fr 40px;align-items:center;gap:10px}.astats-bar-label[data-v-2a98bce7]{font-size:12px;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.astats-bar-track[data-v-2a98bce7]{height:10px;background:var(--color-border);border-radius:5px;overflow:hidden}.astats-bar-fill[data-v-2a98bce7]{height:100%;background:var(--color-accent, #f59e0b);border-radius:5px;transition:width .2s}.astats-bar-value[data-v-2a98bce7]{font-size:12px;color:var(--color-text);text-align:right;font-variant-numeric:tabular-nums}@media (max-width: 480px){.astats-tiles[data-v-2a98bce7]{flex-direction:column}.astats-bar-row[data-v-2a98bce7]{grid-template-columns:70px 1fr 32px}}.admin-page[data-v-a93ed58f]{display:flex;flex-direction:column}.admin-tabs[data-v-a93ed58f]{display:flex;gap:0;border-bottom:1px solid var(--color-border-subtle, var(--color-border));padding-top:.5rem}.admin-tab[data-v-a93ed58f]{padding:8px 16px;font-size:14px;font-weight:500;font-family:inherit;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--color-text-tertiary);cursor:pointer;transition:color .12s,border-color .15s;margin-bottom:-1px}.admin-tab[data-v-a93ed58f]:first-child{padding-left:0}.admin-tab[data-v-a93ed58f]:hover{color:var(--color-text)}.admin-tab.active[data-v-a93ed58f]{color:var(--color-accent);border-bottom-color:var(--color-accent);font-weight:600}.consent-bar[data-v-1badbc7b]{position:fixed;bottom:0;left:0;right:0;z-index:900;background:var(--color-bg);border-top:1px solid var(--color-border);padding:.6rem 1.5rem;display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1.5rem;box-shadow:0 -4px 24px #0006}.consent-content[data-v-1badbc7b]{flex:1;min-width:220px}.consent-text[data-v-1badbc7b]{font-size:12.5px;color:var(--color-text-secondary);line-height:1.5}.consent-text strong[data-v-1badbc7b]{color:var(--color-text)}.consent-details-toggle[data-v-1badbc7b]{background:none;border:none;color:var(--color-accent);font-size:12px;font-family:inherit;cursor:pointer;padding:0;margin-left:4px;text-decoration:underline}.consent-details[data-v-1badbc7b]{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.consent-category[data-v-1badbc7b]{font-size:12px;color:var(--color-text-tertiary);line-height:1.5;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.consent-category code[data-v-1badbc7b]{font-family:var(--font-mono);font-size:11px;color:var(--color-text-secondary);background:var(--color-bg-card);padding:1px 4px;border-radius:3px}.consent-category-badge[data-v-1badbc7b]{font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;white-space:nowrap;flex-shrink:0;letter-spacing:.03em;text-transform:uppercase}.consent-category-badge--required[data-v-1badbc7b]{background:#1e3a2e;color:#4ade80}.consent-category-badge--optional[data-v-1badbc7b]{background:#1c1f2e;color:#f59e0b}.consent-actions[data-v-1badbc7b]{display:flex;flex-direction:row;gap:8px;flex-shrink:0}.consent-btn[data-v-1badbc7b]{padding:.4rem .85rem;border-radius:7px;font-size:12.5px;font-weight:600;font-family:inherit;cursor:pointer;border:none;white-space:nowrap;transition:background .15s,opacity .15s}.consent-btn--primary[data-v-1badbc7b]{background:#f59e0b;color:#0f172a}.consent-btn--primary[data-v-1badbc7b]:hover{background:#fbbf24}.consent-btn--secondary[data-v-1badbc7b]{background:var(--color-bg-card);color:var(--color-text-secondary);border:1px solid var(--color-border)}.consent-btn--secondary[data-v-1badbc7b]:hover{color:var(--color-text)}.consent-slide-enter-active[data-v-1badbc7b],.consent-slide-leave-active[data-v-1badbc7b]{transition:transform .3s ease,opacity .3s ease}.consent-slide-enter-from[data-v-1badbc7b],.consent-slide-leave-to[data-v-1badbc7b]{transform:translateY(100%);opacity:0}.consent-expand-enter-active[data-v-1badbc7b],.consent-expand-leave-active[data-v-1badbc7b]{transition:opacity .2s ease}.consent-expand-enter-from[data-v-1badbc7b],.consent-expand-leave-to[data-v-1badbc7b]{opacity:0}.trainer[data-v-3ca72b99]{font-family:var(--font-sans, system-ui, sans-serif);-webkit-user-select:none;user-select:none}.content-layout[data-v-3ca72b99]{display:flex;gap:12px;align-items:flex-start}.lang-sidebar[data-v-3ca72b99]{display:flex;flex-direction:column;gap:4px;padding-top:6px;flex-shrink:0}.lang-sidebar-btn[data-v-3ca72b99]{width:34px;padding:5px 0;font-size:10px;font-weight:700;font-family:var(--font-mono, monospace);letter-spacing:.05em;border:.5px solid var(--color-border);border-radius:5px;background:transparent;color:var(--color-text-muted);cursor:pointer;text-align:center;transition:color .12s,background .12s,border-color .12s}.lang-sidebar-btn[data-v-3ca72b99]:hover{color:var(--color-text-secondary);border-color:var(--color-text-muted)}.lang-sidebar-btn.active[data-v-3ca72b99]{background:var(--color-bg-card);color:var(--color-accent);border-color:var(--color-accent)}.content-main[data-v-3ca72b99]{flex:1;min-width:0}.mistakes-empty[data-v-3ca72b99]{background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:12px;padding:2.5rem 1.5rem;text-align:center}.mistakes-empty-title[data-v-3ca72b99]{font-size:15px;font-weight:600;color:var(--color-text);margin:0 0 8px}.mistakes-empty-desc[data-v-3ca72b99]{font-size:13px;color:var(--color-text-muted);line-height:1.5;margin:0;max-width:420px;margin-inline:auto}.ai-teaser[data-v-3ca72b99]{display:flex;align-items:center;gap:14px;padding:14px 18px;background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:12px;margin-top:1rem;cursor:pointer;transition:border-color .15s,background .15s}.ai-teaser[data-v-3ca72b99]:hover{border-color:var(--color-accent);background:var(--color-bg-hover)}.ai-teaser-icon[data-v-3ca72b99]{width:36px;height:36px;border-radius:50%;background:#f59e0b15;border:1px solid #f59e0b30;color:#f59e0b;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ai-teaser-text[data-v-3ca72b99]{flex:1;min-width:0}.ai-teaser-text strong[data-v-3ca72b99]{display:block;font-size:13px;color:var(--color-text);margin-bottom:2px}.ai-teaser-text span[data-v-3ca72b99]{font-size:12px;color:var(--color-text-muted);line-height:1.4}.ai-teaser-btn[data-v-3ca72b99]{padding:6px 14px;font-size:13px;font-weight:600;font-family:inherit;border:none;border-radius:7px;background:#f59e0b;color:#0f172a;cursor:pointer;white-space:nowrap;transition:background .15s;flex-shrink:0}.ai-teaser-btn[data-v-3ca72b99]:hover{background:#fbbf24}.flash-message[data-v-3ca72b99]{position:fixed;top:1rem;left:50%;transform:translate(-50%);padding:.6rem 1.25rem;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;z-index:2000;animation:flash-in-3ca72b99 .2s ease}.flash-success[data-v-3ca72b99]{background:#166534;color:#bbf7d0;border:1px solid var(--color-success)}.flash-error[data-v-3ca72b99]{background:#7f1d1d;color:#fecaca;border:1px solid var(--color-error)}@keyframes flash-in-3ca72b99{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}
