.app-header[data-v-6349a9f6]{margin-bottom:1.5rem;border-bottom:1px solid var(--color-border-subtle)}.navbar[data-v-6349a9f6]{display:flex;justify-content:space-between;align-items:center;padding:.6rem 0 .75rem}.brand[data-v-6349a9f6]{display:flex;align-items:center;gap:8px}.brand-icon[data-v-6349a9f6]{color:#f59e0b;flex-shrink:0}.brand-name[data-v-6349a9f6]{font-family:var(--font-mono, monospace);font-size:17px;font-weight:700;color:var(--color-text);letter-spacing:-.02em}.brand-accent[data-v-6349a9f6]{color:#f59e0b}.navbar-right[data-v-6349a9f6]{display:flex;align-items:center;gap:12px}.theme-toggle[data-v-6349a9f6]{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-6349a9f6]:hover{color:var(--color-text)}.auth-widget[data-v-6349a9f6]{display:flex;align-items:center;gap:8px}.auth-avatar[data-v-6349a9f6]{width:28px;height:28px;border-radius:50%;background:#f59e0b18;border:1.5px solid #f59e0b40;color:#f59e0b;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-6349a9f6]{font-size:13px;color:var(--color-text-tertiary);white-space:nowrap;max-width:110px;overflow:hidden;text-overflow:ellipsis}.auth-logout-btn[data-v-6349a9f6]{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-muted);transition:color .15s,border-color .15s;white-space:nowrap}.auth-logout-btn[data-v-6349a9f6]:hover{color:var(--color-error);border-color:var(--color-error)}.auth-signin-btn[data-v-6349a9f6]{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-6349a9f6]:hover{color:var(--color-text);border-color:var(--color-text-tertiary);background:var(--color-bg-card)}.main-nav[data-v-6349a9f6]{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:-1px}.main-nav-tabs[data-v-6349a9f6]{display:flex}.main-tab[data-v-6349a9f6]{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-6349a9f6]:first-child{padding-left:0}.main-tab[data-v-6349a9f6]:hover{color:var(--color-text)}.main-tab.active[data-v-6349a9f6]{color:var(--color-accent);border-bottom-color:var(--color-accent);font-weight:600}.side-nav[data-v-6349a9f6]{display:flex;align-items:center;gap:2px;padding-bottom:6px}.side-btn[data-v-6349a9f6]{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-6349a9f6]:hover{color:var(--color-text-secondary);background:var(--color-bg-card)}.side-btn.active[data-v-6349a9f6]{color:var(--color-accent);background:var(--color-bg-card)}.side-btn svg[data-v-6349a9f6]{flex-shrink:0}.practice-sub-nav[data-v-6349a9f6]{display:flex;gap:0;padding:2px 0 0}.practice-tab[data-v-6349a9f6]{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-6349a9f6]:first-child{padding-left:0}.practice-tab[data-v-6349a9f6]:hover{color:var(--color-text-secondary)}.practice-tab.active[data-v-6349a9f6]{color:var(--color-accent);border-bottom-color:var(--color-accent);font-weight:600}.lesson-section[data-v-4fd11af8]{margin-bottom:1.5rem}.lesson-section-head[data-v-4fd11af8]{display:flex;align-items:center;gap:10px;margin-bottom:.625rem}.lesson-section-title[data-v-4fd11af8]{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-4fd11af8]{flex:1;height:1px;background:var(--color-border-secondary, #334155)}.lesson-section-progress[data-v-4fd11af8]{font-size:11px;color:var(--color-text-tertiary, #64748b);white-space:nowrap;font-variant-numeric:tabular-nums}.lesson-section-progress.has-progress[data-v-4fd11af8]{color:#f59e0b}.lesson-grid[data-v-4fd11af8]{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}.lesson-card[data-v-4fd11af8]{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-4fd11af8]:hover{border-color:#f59e0b80}.lesson-card--done[data-v-4fd11af8]{border-color:#22c55e22}.lesson-card--done[data-v-4fd11af8]:hover{border-color:#22c55e55}.lesson-card-top[data-v-4fd11af8]{display:flex;align-items:center;gap:8px}.lesson-count[data-v-4fd11af8]{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-4fd11af8]{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-4fd11af8]{display:flex;flex-wrap:wrap;gap:3px;min-height:18px}.lesson-key-chip[data-v-4fd11af8]{padding:1px 5px;border-radius:3px;border:1px solid;font-size:10px;font-weight:600}.lesson-card-stats[data-v-4fd11af8]{display:flex;gap:8px;padding-top:6px;border-top:1px solid var(--color-border-secondary, #334155);margin-top:auto}.lesson-stat[data-v-4fd11af8]{font-size:12px;font-weight:600;color:var(--color-text-primary, #e2e8f0);font-variant-numeric:tabular-nums}.lesson-stat em[data-v-4fd11af8]{font-style:normal;font-size:9px;color:var(--color-text-tertiary, #64748b);margin-left:1px}.lesson-card-empty[data-v-4fd11af8]{font-size:10px;color:var(--color-text-tertiary, #64748b);padding-top:6px;border-top:1px solid var(--color-border-secondary, #334155);margin-top:auto}.course-header[data-v-eaf9f663]{margin-bottom:20px}.course-header-top[data-v-eaf9f663]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.course-header-title[data-v-eaf9f663]{font-size:18px;font-weight:700;color:var(--color-text);margin-bottom:4px}.course-header-sub[data-v-eaf9f663]{font-size:12px;color:var(--color-text-tertiary);line-height:1.5}.course-total-badge[data-v-eaf9f663]{display:flex;align-items:baseline;gap:2px;flex-shrink:0}.course-total-num[data-v-eaf9f663]{font-size:28px;font-weight:800;color:var(--color-success);font-variant-numeric:tabular-nums;line-height:1}.course-total-sep[data-v-eaf9f663]{font-size:16px;color:var(--color-border)}.course-total-max[data-v-eaf9f663]{font-size:14px;color:var(--color-text-muted)}.course-global-bar[data-v-eaf9f663]{height:5px;background:var(--color-bg-card);border-radius:99px;overflow:hidden}.course-global-fill[data-v-eaf9f663]{height:100%;background:linear-gradient(90deg,#16a34a,#4ade80);border-radius:99px;transition:width .4s ease}.course-phases[data-v-eaf9f663]{display:flex;flex-direction:column;gap:12px}.course-phase[data-v-eaf9f663]{border:1px solid var(--color-border-subtle);border-radius:12px;overflow:hidden;background:var(--color-bg)}.course-phase-head[data-v-eaf9f663]{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-eaf9f663]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.course-phase-num[data-v-eaf9f663]{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-eaf9f663]{font-size:13px;font-weight:600;color:var(--color-text)}.course-phase-desc[data-v-eaf9f663]{font-size:11px;color:var(--color-text-muted)}.course-phase-badge[data-v-eaf9f663]{font-size:12px;font-weight:600;color:var(--color-text-muted);flex-shrink:0}.course-phase-badge--done[data-v-eaf9f663]{color:#4ade80}.course-steps[data-v-eaf9f663]{display:flex;flex-direction:column;gap:0}.course-step[data-v-eaf9f663]{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-eaf9f663]:last-child{border-bottom:none}.course-step--available[data-v-eaf9f663]:hover{background:var(--color-bg-hover)}.course-step--locked[data-v-eaf9f663]{opacity:.38;cursor:default}.course-step--done[data-v-eaf9f663]{background:color-mix(in srgb,var(--color-success) 8%,transparent)}.course-step--failed[data-v-eaf9f663]{background:color-mix(in srgb,var(--color-error) 8%,transparent)}.course-step-num[data-v-eaf9f663]{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-eaf9f663]{background:#14532d;color:#4ade80;border-color:#16a34a}.course-step-num--failed[data-v-eaf9f663]{background:#3b1100;color:#f87171;border-color:#ef4444}.course-step-num--locked[data-v-eaf9f663]{background:var(--color-bg);color:var(--color-border-subtle);border-color:var(--color-border-subtle)}.course-step-num--available[data-v-eaf9f663]{background:var(--color-bg-card);color:var(--color-accent);border-color:var(--color-accent)}.course-step-body[data-v-eaf9f663]{flex:1;min-width:0}.course-step-title[data-v-eaf9f663]{font-size:13px;font-weight:600;color:var(--color-text);margin-bottom:2px}.course-step-desc[data-v-eaf9f663]{font-size:11px;color:var(--color-text-tertiary);line-height:1.4}.course-step--locked .course-step-title[data-v-eaf9f663],.course-step--locked .course-step-desc[data-v-eaf9f663]{color:var(--color-border-subtle)}.course-step-keys[data-v-eaf9f663]{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.course-step-right[data-v-eaf9f663]{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;min-width:60px;gap:1px}.csr-cpm[data-v-eaf9f663]{font-size:16px;font-weight:700;color:var(--color-success);font-variant-numeric:tabular-nums;line-height:1}.csr-unit[data-v-eaf9f663]{font-size:10px;color:var(--color-text-tertiary);font-style:normal}.csr-acc-val[data-v-eaf9f663]{font-size:14px;font-weight:700;color:var(--color-accent);font-variant-numeric:tabular-nums}.csr-acc-req[data-v-eaf9f663]{font-size:10px;color:var(--color-text-secondary)}.csr-retry[data-v-eaf9f663]{font-size:11px;color:var(--color-error);font-weight:600;margin-top:2px}.csr-min-acc[data-v-eaf9f663]{font-size:10px;color:var(--color-text-muted)}.csr-start[data-v-eaf9f663]{font-size:11px;color:var(--color-accent);font-weight:600;margin-top:2px}.keyboard[data-v-4f9ffb0b]{margin-top:1.5rem;display:flex;flex-direction:column;align-items:center;gap:4px}.kb-row[data-v-4f9ffb0b]{display:flex;gap:4px}.kb-key[data-v-4f9ffb0b]{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-4f9ffb0b]{width:56px;font-size:15px}.kb-space[data-v-4f9ffb0b]{width:210px;height:32px;font-size:10px;font-weight:400;letter-spacing:.06em}.kb-row-space[data-v-4f9ffb0b]{margin-top:2px}.kb-legend[data-v-4f9ffb0b]{display:flex;align-items:center;gap:5px;margin-top:8px}.kb-legend-dot[data-v-4f9ffb0b]{width:8px;height:8px;border-radius:50%;flex-shrink:0;opacity:.7}.kb-legend-sep[data-v-4f9ffb0b]{font-size:12px;color:var(--color-text-tertiary, #64748b);margin:0 2px}.kb-legend-text[data-v-4f9ffb0b]{font-size:11px;color:var(--color-text-secondary, #94a3b8);min-width:130px}.kb-layout-toggle[data-v-4f9ffb0b]{display:flex;gap:1px;background:var(--color-bg-card);border-radius:7px;padding:2px;margin-bottom:8px}.kb-layout-btn[data-v-4f9ffb0b]{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-4f9ffb0b]:hover{color:var(--color-text-secondary)}.kb-layout-btn.active[data-v-4f9ffb0b]{background:var(--color-border);color:var(--color-text);font-weight:600}.lesson-breadcrumb[data-v-831686d1]{display:flex;align-items:center;gap:12px;margin-bottom:1rem}.back-btn[data-v-831686d1]{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-831686d1]:hover{background:var(--color-background-secondary, #1e293b);color:var(--color-text-primary, #e2e8f0)}.lesson-active-name[data-v-831686d1]{font-size:13px;color:var(--color-text-secondary, #94a3b8)}.stats[data-v-831686d1]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:1rem}.stat-card[data-v-831686d1]{background:var(--color-background-secondary, #1e293b);border-radius:var(--border-radius-md, 8px);padding:.6rem .5rem;text-align:center}.stat-label[data-v-831686d1]{font-size:10px;color:var(--color-text-secondary, #94a3b8);text-transform:uppercase;letter-spacing:.07em;margin-bottom:3px}.stat-value[data-v-831686d1]{font-size:20px;font-weight:500;color:var(--color-text-primary, #e2e8f0);font-variant-numeric:tabular-nums}.progress-wrap[data-v-831686d1]{height:2px;background:var(--color-border-tertiary, #1e293b);border-radius:1px;margin-bottom:1rem;overflow:hidden}.progress-bar[data-v-831686d1]{height:100%;background:#f59e0b;border-radius:1px;transition:width .1s linear}.tbox-wrap[data-v-831686d1]{position:relative}.reset-inline-btn[data-v-831686d1]{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-831686d1]:hover{background:var(--color-background-tertiary, #334155);color:var(--color-text-primary, #e2e8f0)}.tbox[data-v-831686d1]{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-831686d1]{position:relative}.text-viewport.roll[data-v-831686d1]{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-831686d1]{-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-831686d1]{transition:transform .16s ease-out;will-change:transform}.text-area[data-v-831686d1]{position:relative;font-family:var(--font-mono, monospace);font-size:17px;line-height:2;letter-spacing:.02em;overflow-wrap:break-word}.cur[data-v-831686d1]{color:var(--color-text-primary, #e2e8f0);border-bottom:2.5px solid #f59e0b;animation:blink-831686d1 1s step-end infinite}.char-anchor[data-v-831686d1]{display:inline-block;position:relative;width:0;overflow:visible;vertical-align:baseline}@keyframes blink-831686d1{0%,to{border-color:#f59e0b}50%{border-color:transparent}}.wrong-flash[data-v-831686d1]{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-831686d1 .4s ease-out forwards}@keyframes wrong-pop-831686d1{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-831686d1]{animation:shake-831686d1 .28s ease}@keyframes shake-831686d1{0%,to{transform:translate(0)}20%{transform:translate(-5px)}60%{transform:translate(5px)}80%{transform:translate(-3px)}}.idle-hint[data-v-831686d1]{position:absolute;bottom:.75rem;right:1rem;font-size:12px;color:var(--color-text-tertiary, #64748b);pointer-events:none}.text-counter[data-v-831686d1]{margin-top:.5rem;font-size:11px;color:var(--color-text-tertiary, #64748b);text-align:right}.drill-badge[data-v-831686d1]{color:#38bdf8;font-weight:600}.result-card[data-v-5f766493]{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-5f766493]{font-size:11px;color:var(--color-text-secondary, #94a3b8);text-transform:uppercase;letter-spacing:.07em;margin-bottom:.5rem}.result-wpm[data-v-5f766493]{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[data-v-5f766493]{font-size:13px;color:var(--color-text-tertiary, #64748b);margin-bottom:.5rem}.result-best[data-v-5f766493]{font-size:12px;color:var(--color-text-tertiary, #64748b);margin-bottom:1.25rem}.result-best-new[data-v-5f766493]{color:var(--color-success);font-weight:600}.result-delta[data-v-5f766493]{font-size:12px;color:var(--color-text-tertiary, #64748b);margin-bottom:1.25rem;font-variant-numeric:tabular-nums}.result-delta--up[data-v-5f766493]{color:var(--color-success);font-weight:600}.result-delta--down[data-v-5f766493]{color:var(--color-error)}.result-row[data-v-5f766493]{display:flex;justify-content:center;gap:2.5rem;margin-bottom:2rem}.result-item-label[data-v-5f766493]{font-size:10px;color:var(--color-text-secondary, #94a3b8);text-transform:uppercase;letter-spacing:.07em;margin-bottom:2px}.result-item-value[data-v-5f766493]{font-size:24px;font-weight:500;color:var(--color-text-primary, #e2e8f0)}.result-quick-tip[data-v-5f766493]{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-5f766493]{margin-bottom:1.25rem}.result-error-pairs-label[data-v-5f766493]{font-size:10px;color:var(--color-text-tertiary, #64748b);text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px}.result-error-pairs-chips[data-v-5f766493]{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.result-error-chip[data-v-5f766493]{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-5f766493]{font-size:10px;color:var(--color-text-tertiary, #64748b);font-weight:400}.result-actions[data-v-5f766493]{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.restart-btn[data-v-5f766493],.next-btn[data-v-5f766493],.text-btn[data-v-5f766493]{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-5f766493]{background:transparent;border:.5px solid var(--color-border-secondary, #334155);color:var(--color-text-primary, #e2e8f0)}.restart-btn[data-v-5f766493]:hover{background:var(--color-background-tertiary, #334155)}.next-btn[data-v-5f766493]{background:#f59e0b;border:none;color:#0f172a;font-weight:600}.next-btn[data-v-5f766493]:hover{background:#fbbf24}.text-btn[data-v-5f766493]{background:transparent;border:.5px solid var(--color-border-secondary, #334155);color:var(--color-text-secondary, #94a3b8);font-size:13px}.text-btn[data-v-5f766493]:hover{color:var(--color-text-primary, #e2e8f0)}.course-result-badge[data-v-5f766493]{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-5f766493]{background:#052e16;border-color:#16a34a;color:#4ade80}.course-result-badge--fail[data-v-5f766493]{background:#1c0a00;border-color:#b45309;color:#fbbf24}.crb-icon[data-v-5f766493]{font-size:18px;font-weight:700;flex-shrink:0}.crb-text[data-v-5f766493]{font-size:13px;line-height:1.4}.coach-wrap[data-v-53fa9cb2]{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-53fa9cb2]{display:flex;align-items:center;gap:8px;margin-bottom:.875rem}.coach-title[data-v-53fa9cb2]{font-size:12px;font-weight:600;color:#f59e0b;text-transform:uppercase;letter-spacing:.08em}.coach-model-badge[data-v-53fa9cb2]{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-53fa9cb2]{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-53fa9cb2]:hover{color:var(--color-text-secondary, #94a3b8)}.coach-loading[data-v-53fa9cb2]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-tertiary, #64748b)}.coach-spinner[data-v-53fa9cb2]{display:inline-block;width:14px;height:14px;border:2px solid #f59e0b40;border-top-color:#f59e0b;border-radius:50%;animation:spin-53fa9cb2 .7s linear infinite;flex-shrink:0}@keyframes spin-53fa9cb2{to{transform:rotate(360deg)}}.coach-error[data-v-53fa9cb2]{font-size:13px;color:var(--color-error);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.coach-retry[data-v-53fa9cb2]{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-53fa9cb2]:hover{color:var(--color-text-primary, #e2e8f0)}.coach-motivation[data-v-53fa9cb2]{font-size:14px;color:var(--color-text-primary, #e2e8f0);line-height:1.65;margin:0 0 1rem}.coach-section-label[data-v-53fa9cb2]{font-size:10px;color:var(--color-text-tertiary, #64748b);text-transform:uppercase;letter-spacing:.07em;margin-bottom:.35rem}.coach-plan-block[data-v-53fa9cb2]{background:var(--color-bg);border-radius:8px;padding:.75rem 1rem;margin-bottom:.75rem}.coach-plan-text[data-v-53fa9cb2]{font-size:13px;color:var(--color-text-secondary, #94a3b8);line-height:1.55;margin:0}.coach-forecast[data-v-53fa9cb2]{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-accent);margin-bottom:1rem}.coach-forecast-icon[data-v-53fa9cb2]{font-size:9px;opacity:.7}.coach-sparkline[data-v-53fa9cb2]{margin-bottom:1rem}.sparkline-svg[data-v-53fa9cb2]{width:100%;height:32px;display:block;overflow:visible}.sparkline-labels[data-v-53fa9cb2]{display:flex;justify-content:space-between;align-items:center;margin-top:3px}.sparkline-bound[data-v-53fa9cb2]{font-size:10px;color:var(--color-text-tertiary, #64748b);font-variant-numeric:tabular-nums}.sparkline-current[data-v-53fa9cb2]{font-size:11px;color:var(--color-accent);font-weight:600;font-variant-numeric:tabular-nums}.coach-drill[data-v-53fa9cb2]{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-53fa9cb2]{font-family:var(--font-mono, monospace);font-size:15px;color:#38bdf8;line-height:1.6}.coach-drill-btn[data-v-53fa9cb2]{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-53fa9cb2]:hover{background:#38bdf830}.coach-drill-hint[data-v-53fa9cb2]{font-size:10px;font-weight:400;color:var(--color-text-tertiary);margin-left:6px;text-transform:none;letter-spacing:0}.coach-practice[data-v-53fa9cb2]{background:var(--color-bg);border-radius:8px;padding:1rem}.coach-practice-text[data-v-53fa9cb2]{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-53fa9cb2]{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-53fa9cb2]: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}.auth-overlay[data-v-1890a5e7]{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-1890a5e7]{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-1890a5e7]{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-1890a5e7]:hover{color:var(--color-text)}.auth-tabs[data-v-1890a5e7]{display:flex;gap:4px;margin-bottom:1.25rem;background:var(--color-bg);border-radius:8px;padding:3px}.auth-tabs button[data-v-1890a5e7]{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-1890a5e7]{background:var(--color-bg-card);color:var(--color-text)}.auth-oauth[data-v-1890a5e7]{display:flex;flex-direction:column;gap:8px;margin-bottom:.75rem}.oauth-btn[data-v-1890a5e7]{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-1890a5e7]:hover{filter:brightness(1.1)}.oauth-google[data-v-1890a5e7]{background:#fff;color:#444;border:1px solid #ddd!important}.oauth-yandex[data-v-1890a5e7]{background:#fc3f1d;color:#fff}.oauth-vk[data-v-1890a5e7]{background:#07f;color:#fff}.oauth-ldap[data-v-1890a5e7]{background:var(--color-border);color:var(--color-text);border:1px solid var(--color-text-muted)!important}.auth-divider[data-v-1890a5e7]{display:flex;align-items:center;gap:.5rem;margin:.75rem 0;color:var(--color-text-muted);font-size:12px}.auth-divider[data-v-1890a5e7]:before,.auth-divider[data-v-1890a5e7]:after{content:"";flex:1;height:1px;background:var(--color-border)}form[data-v-1890a5e7]{display:flex;flex-direction:column;gap:.35rem}label[data-v-1890a5e7]{font-size:12px;color:var(--color-text-secondary);margin-top:.5rem}.auth-opt[data-v-1890a5e7]{color:var(--color-text-muted)}input[data-v-1890a5e7]{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-1890a5e7]:focus{border-color:var(--color-accent)}.auth-error[data-v-1890a5e7]{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-1890a5e7]{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-1890a5e7]{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-1890a5e7]{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-1890a5e7]:hover:not(:disabled){background:#fbbf24}.auth-submit[data-v-1890a5e7]:disabled{opacity:.5;cursor:not-allowed}.auth-back-row[data-v-1890a5e7]{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}.auth-back[data-v-1890a5e7]{background:none;border:none;color:var(--color-text-tertiary);font-size:13px;font-family:inherit;cursor:pointer;padding:0}.auth-back[data-v-1890a5e7]:hover{color:var(--color-text)}.auth-back-title[data-v-1890a5e7]{font-size:15px;font-weight:600;color:var(--color-text)}.auth-verify-icon[data-v-1890a5e7]{font-size:2.5rem;text-align:center;margin-bottom:.75rem}.auth-verify-title[data-v-1890a5e7]{text-align:center;font-size:18px;color:var(--color-text);margin:0 0 .5rem}.auth-verify-sub[data-v-1890a5e7]{text-align:center;font-size:13px;color:var(--color-text-secondary);line-height:1.5;margin-bottom:1.25rem}.auth-info[data-v-1890a5e7]{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-1890a5e7]{color:var(--color-text-muted);font-size:13px;text-align:center;padding:1rem 0}.auth-retry-btn[data-v-1890a5e7]{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-1890a5e7]:hover{color:var(--color-text);border-color:var(--color-text-tertiary)}.auth-consent[data-v-1890a5e7]{display:flex;align-items:flex-start;gap:8px;margin-top:.75rem;cursor:pointer}.auth-consent input[type=checkbox][data-v-1890a5e7]{margin-top:2px;flex-shrink:0;accent-color:#f59e0b;width:14px;height:14px;cursor:pointer}.auth-consent span[data-v-1890a5e7]{font-size:12px;color:var(--color-text-tertiary);line-height:1.5}.auth-policy-link[data-v-1890a5e7]{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-1890a5e7]:hover{color:var(--color-accent);filter:brightness(1.2)}.auth-forgot-row[data-v-1890a5e7]{display:flex;justify-content:flex-end;margin-top:.2rem}.auth-forgot-link[data-v-1890a5e7]{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-1890a5e7]:hover{color:var(--color-text-secondary)}.auth-hint[data-v-1890a5e7]{font-size:13px;color:var(--color-text-secondary);margin:0 0 .75rem;line-height:1.5}.lb[data-v-187ab1e5]{padding:1rem 0}.lb-toolbar[data-v-187ab1e5]{margin-bottom:1.25rem}.lb-tabs[data-v-187ab1e5]{display:flex;gap:4px}.lb-tab[data-v-187ab1e5]{padding:.3rem .9rem;font-size:13px;font-family:inherit;cursor:pointer;border-radius:20px;border:.5px solid var(--color-border-secondary, #334155);background:transparent;color:var(--color-text-secondary, #94a3b8);transition:background .12s,color .12s}.lb-tab.active[data-v-187ab1e5]{background:#f59e0b;border-color:#f59e0b;color:#0f172a;font-weight:600}.lb-empty[data-v-187ab1e5]{text-align:center;color:var(--color-text-tertiary, #64748b);padding:2rem 0;font-size:14px}.lb-table[data-v-187ab1e5]{width:100%;border-collapse:collapse;font-size:14px}.lb-table th[data-v-187ab1e5]{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-187ab1e5]{padding:.6rem .75rem;border-top:1px solid var(--color-border-primary, #1e293b);color:var(--color-text-primary, #e2e8f0)}.lb-me td[data-v-187ab1e5]{background:color-mix(in srgb,var(--color-accent) 6%,transparent)}.lb-rank[data-v-187ab1e5]{color:var(--color-text-tertiary, #64748b);font-size:13px;width:36px}.lb-medal[data-v-187ab1e5]{font-size:18px}.lb-name[data-v-187ab1e5]{font-weight:500}.lb-you[data-v-187ab1e5]{color:var(--color-accent);font-size:12px;font-weight:400}.lb-num[data-v-187ab1e5]{font-variant-numeric:tabular-nums;color:var(--color-text-secondary, #94a3b8);text-align:right!important}.lb-date[data-v-187ab1e5]{color:var(--color-text-tertiary, #64748b);font-size:12px}.hist[data-v-6667737e]{padding:1rem 0}.hist-gate[data-v-6667737e]{text-align:center;padding:3rem 1rem;color:var(--color-text-secondary, #94a3b8)}.hist-gate p[data-v-6667737e]{margin-bottom:1rem;font-size:14px}.hist-login-btn[data-v-6667737e]{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-6667737e]:hover{background:#fbbf24}.hist-empty[data-v-6667737e]{text-align:center;color:var(--color-text-tertiary, #64748b);padding:2rem 0;font-size:14px}.hist-chart-wrap[data-v-6667737e]{margin-bottom:1.5rem;background:var(--color-background-secondary, #1e293b);border-radius:10px;padding:1rem}.hist-chart-label[data-v-6667737e]{font-size:11px;color:var(--color-text-tertiary, #64748b);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.06em}.hist-chart[data-v-6667737e]{width:100%;height:60px;display:block}.hist-chart-axis[data-v-6667737e]{display:flex;justify-content:space-between;font-size:10px;color:var(--color-text-tertiary, #64748b);margin-top:.25rem}.hist-summary[data-v-6667737e]{display:flex;gap:2rem;margin-bottom:1.5rem}.hist-stat[data-v-6667737e]{display:flex;flex-direction:column;gap:2px}.hist-stat-val[data-v-6667737e]{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-6667737e]{font-size:11px;color:var(--color-text-tertiary, #64748b)}.hist-table[data-v-6667737e]{width:100%;border-collapse:collapse;font-size:13px}.hist-table th[data-v-6667737e]{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-6667737e]{padding:.5rem .75rem;border-top:1px solid var(--color-border-primary, #1e293b);color:var(--color-text-secondary, #94a3b8)}.hist-mode[data-v-6667737e]{color:var(--color-text-primary, #e2e8f0);font-weight:500}.hist-num[data-v-6667737e]{font-variant-numeric:tabular-nums;text-align:right}.hist-date[data-v-6667737e]{font-size:12px;color:var(--color-text-tertiary, #64748b)}.profile[data-v-d418ca2a]{max-width:620px;margin:0 auto;padding:1.5rem 1rem 3rem;display:flex;flex-direction:column;gap:2rem}.profile-empty[data-v-d418ca2a]{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-d418ca2a]{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-d418ca2a]:hover{border-color:var(--color-text-muted);color:var(--color-text)}.profile-hero[data-v-d418ca2a]{display:flex;align-items:center;gap:1.25rem}.profile-avatar[data-v-d418ca2a]{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-d418ca2a]{flex:1;min-width:0}.profile-name-row[data-v-d418ca2a]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.2rem}.profile-name[data-v-d418ca2a]{font-size:1.1rem;font-weight:600;color:var(--color-text)}.profile-name-input[data-v-d418ca2a]{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-d418ca2a]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.2rem}.profile-username[data-v-d418ca2a]{font-size:13px;color:var(--color-accent);font-family:var(--font-mono, monospace)}.profile-username-hint[data-v-d418ca2a]{font-size:11px;color:var(--color-text-muted);margin-bottom:.3rem}.profile-username-error[data-v-d418ca2a]{margin-bottom:.3rem;align-self:flex-start}.profile-email[data-v-d418ca2a]{font-size:13px;color:var(--color-text-tertiary)}.profile-meta[data-v-d418ca2a]{font-size:12px;color:var(--color-text-muted);margin-top:2px}.profile-stats[data-v-d418ca2a]{display:flex;gap:.75rem}.profile-stat[data-v-d418ca2a]{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-d418ca2a]{font-size:1.6rem;font-weight:700;color:var(--color-accent);line-height:1}.profile-stat-lbl[data-v-d418ca2a]{font-size:11px;color:var(--color-text-tertiary);margin-top:4px}.profile-hint[data-v-d418ca2a]{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-d418ca2a]{color:var(--color-text)}.profile-section-title[data-v-d418ca2a]{font-size:11px;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.65rem}.profile-bests[data-v-d418ca2a]{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.6rem}.profile-best-card[data-v-d418ca2a]{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-d418ca2a]{font-size:11px;color:var(--color-text-tertiary);margin-bottom:.4rem}.profile-best-wpm[data-v-d418ca2a]{font-size:1.35rem;font-weight:700;color:var(--color-text);line-height:1}.profile-best-wpm span[data-v-d418ca2a]{font-size:11px;color:var(--color-text-tertiary);font-weight:400}.profile-best-acc[data-v-d418ca2a]{font-size:11px;color:var(--color-text-secondary);margin-top:3px}.profile-best-empty[data-v-d418ca2a]{font-size:12px;color:var(--color-border);margin-top:.4rem}.profile-providers[data-v-d418ca2a]{display:flex;flex-direction:column;gap:.5rem}.profile-provider[data-v-d418ca2a]{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-d418ca2a]{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-d418ca2a]{background:#fff;color:#444;border:1px solid #ddd}.provider-yandex[data-v-d418ca2a]{background:#fc3f1d;color:#fff}.provider-vk[data-v-d418ca2a]{background:#07f;color:#fff}.provider-name[data-v-d418ca2a]{font-size:14px;color:var(--color-text);flex:1}.provider-status[data-v-d418ca2a]{font-size:12px;color:var(--color-text-muted)}.profile-provider.linked .provider-status[data-v-d418ca2a]{color:var(--color-success)}.provider-link[data-v-d418ca2a]{font-size:12px;color:var(--color-accent);text-decoration:none}.provider-link[data-v-d418ca2a]:hover{text-decoration:underline}.profile-password-form[data-v-d418ca2a]{display:flex;flex-direction:column;gap:.5rem;max-width:340px}.profile-password-form input[data-v-d418ca2a]{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-d418ca2a]:focus{border-color:var(--color-accent)}.profile-btn-ghost[data-v-d418ca2a]{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-d418ca2a]:hover{color:var(--color-text);border-color:var(--color-text-tertiary)}.profile-btn-save[data-v-d418ca2a]{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-d418ca2a]:disabled{opacity:.5}.profile-btn-primary[data-v-d418ca2a]{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-d418ca2a]:hover:not(:disabled){background:#fbbf24}.profile-btn-primary[data-v-d418ca2a]:disabled{opacity:.5;cursor:not-allowed}.profile-error[data-v-d418ca2a]{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-d418ca2a]{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-d418ca2a]{display:flex;align-items:center;justify-content:space-between}.profile-settings-label[data-v-d418ca2a]{font-size:13px;color:var(--color-text-secondary)}.profile-lang-switcher[data-v-d418ca2a]{display:flex;border:.5px solid var(--color-border);border-radius:6px;overflow:hidden}.profile-lang-switcher button[data-v-d418ca2a]{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-d418ca2a]:hover{color:var(--color-text-secondary)}.profile-lang-switcher button.active[data-v-d418ca2a]{background:var(--color-bg-hover);color:var(--color-accent)}.profile-footer[data-v-d418ca2a]{display:flex}.profile-privacy-link[data-v-d418ca2a]{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-d418ca2a]:hover{color:var(--color-text-secondary)}.profile-danger-zone[data-v-d418ca2a]{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-d418ca2a]{display:flex;align-items:center;gap:.5rem;font-size:13px;font-weight:600;color:var(--color-error)}.profile-danger-desc[data-v-d418ca2a]{font-size:13px;color:var(--color-text-tertiary);margin:0;line-height:1.5}.profile-danger-prompt[data-v-d418ca2a]{font-size:13px;color:var(--color-error);margin:0}.profile-danger-prompt strong[data-v-d418ca2a]{color:var(--color-error)}.profile-danger-input[data-v-d418ca2a]{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-d418ca2a]:focus{border-color:var(--color-error)}.profile-danger-actions[data-v-d418ca2a]{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.profile-btn-danger[data-v-d418ca2a]{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-d418ca2a]:hover:not(:disabled){background:#991b1b}.profile-btn-danger[data-v-d418ca2a]:disabled{opacity:.4;cursor:not-allowed}@media (max-width: 480px){.profile-stats[data-v-d418ca2a]{flex-direction:column}}.consent-bar[data-v-1f811838]{position:fixed;bottom:0;left:0;right:0;z-index:900;background:var(--color-bg);border-top:1px solid var(--color-border);padding:1rem 1.5rem;display:flex;align-items:flex-start;gap:1.5rem;box-shadow:0 -4px 24px #0006}.consent-content[data-v-1f811838]{flex:1;min-width:0}.consent-text[data-v-1f811838]{font-size:13px;color:var(--color-text-secondary);line-height:1.55}.consent-text strong[data-v-1f811838]{display:block;color:var(--color-text);font-size:14px;margin-bottom:3px}.consent-details-toggle[data-v-1f811838]{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-1f811838]{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.consent-category[data-v-1f811838]{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-1f811838]{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-1f811838]{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-1f811838]{background:#1e3a2e;color:#4ade80}.consent-category-badge--optional[data-v-1f811838]{background:#1c1f2e;color:#f59e0b}.consent-actions[data-v-1f811838]{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.consent-btn[data-v-1f811838]{padding:.45rem 1rem;border-radius:7px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;border:none;white-space:nowrap;transition:background .15s,opacity .15s}.consent-btn--primary[data-v-1f811838]{background:#f59e0b;color:#0f172a}.consent-btn--primary[data-v-1f811838]:hover{background:#fbbf24}.consent-btn--secondary[data-v-1f811838]{background:var(--color-bg-card);color:var(--color-text-secondary);border:1px solid var(--color-border)}.consent-btn--secondary[data-v-1f811838]:hover{color:var(--color-text)}.consent-slide-enter-active[data-v-1f811838],.consent-slide-leave-active[data-v-1f811838]{transition:transform .3s ease,opacity .3s ease}.consent-slide-enter-from[data-v-1f811838],.consent-slide-leave-to[data-v-1f811838]{transform:translateY(100%);opacity:0}.consent-expand-enter-active[data-v-1f811838],.consent-expand-leave-active[data-v-1f811838]{transition:opacity .2s ease}.consent-expand-enter-from[data-v-1f811838],.consent-expand-leave-to[data-v-1f811838]{opacity:0}.trainer[data-v-4835eb93]{font-family:var(--font-sans, system-ui, sans-serif);-webkit-user-select:none;user-select:none}.content-layout[data-v-4835eb93]{display:flex;gap:12px;align-items:flex-start}.lang-sidebar[data-v-4835eb93]{display:flex;flex-direction:column;gap:4px;padding-top:6px;flex-shrink:0}.lang-sidebar-btn[data-v-4835eb93]{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-4835eb93]:hover{color:var(--color-text-secondary);border-color:var(--color-text-muted)}.lang-sidebar-btn.active[data-v-4835eb93]{background:var(--color-bg-card);color:var(--color-accent);border-color:var(--color-accent)}.content-main[data-v-4835eb93]{flex:1;min-width:0}.mistakes-empty[data-v-4835eb93]{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-4835eb93]{font-size:15px;font-weight:600;color:var(--color-text);margin:0 0 8px}.mistakes-empty-desc[data-v-4835eb93]{font-size:13px;color:var(--color-text-muted);line-height:1.5;margin:0;max-width:420px;margin-inline:auto}.ai-teaser[data-v-4835eb93]{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-4835eb93]:hover{border-color:var(--color-accent);background:var(--color-bg-hover)}.ai-teaser-icon[data-v-4835eb93]{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-4835eb93]{flex:1;min-width:0}.ai-teaser-text strong[data-v-4835eb93]{display:block;font-size:13px;color:var(--color-text);margin-bottom:2px}.ai-teaser-text span[data-v-4835eb93]{font-size:12px;color:var(--color-text-muted);line-height:1.4}.ai-teaser-btn[data-v-4835eb93]{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-4835eb93]:hover{background:#fbbf24}.flash-message[data-v-4835eb93]{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-4835eb93 .2s ease}.flash-success[data-v-4835eb93]{background:#166534;color:#bbf7d0;border:1px solid var(--color-success)}.flash-error[data-v-4835eb93]{background:#7f1d1d;color:#fecaca;border:1px solid var(--color-error)}@keyframes flash-in-4835eb93{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}
