.theme-toggle[data-v-d7aa2cb6]{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border:1px solid var(--border);border-radius:12px;color:var(--primary);background:var(--surface);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.theme-toggle[data-v-d7aa2cb6]:hover{transform:translateY(-1px);border-color:var(--primary-border);background:var(--primary-soft)}.theme-icon[data-v-d7aa2cb6]{font-size:1.28rem;line-height:1}.auth-page[data-v-c471a446]{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;color:var(--text);background:var(--bg)}.auth-header[data-v-c471a446]{min-height:84px;display:flex;align-items:center;justify-content:space-between;padding:1rem clamp(1.25rem,4vw,3.3rem)}.brand[data-v-c471a446]{display:flex;align-items:center;gap:.75rem;color:var(--primary);text-decoration:none;font-size:clamp(1.15rem,2vw,1.55rem);font-weight:800}.auth-main[data-v-c471a446]{flex:1;display:grid;place-items:center;width:100%;padding:2rem clamp(1rem,4vw,3rem) 4rem}.auth-shell[data-v-c471a446]{width:min(1040px,100%);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);overflow:hidden;border:1px solid var(--border);border-radius:28px;background:var(--surface);box-shadow:var(--shadow)}.auth-intro[data-v-c471a446]{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;min-height:610px;padding:clamp(2.5rem,6vw,5rem);color:#fff;background:linear-gradient(145deg,#7376f4,#5d5fdb 58%,#4f51c8)}.auth-intro[data-v-c471a446]:before,.auth-intro[data-v-c471a446]:after{content:"";position:absolute;border-radius:999px;border:1px solid rgba(255,255,255,.16)}.auth-intro[data-v-c471a446]:before{width:360px;height:360px;right:-170px;top:-100px}.auth-intro[data-v-c471a446]:after{width:260px;height:260px;left:-120px;bottom:-120px}.eyebrow[data-v-c471a446]{position:relative;z-index:1;width:fit-content;padding:.4rem .7rem;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:#ffffff1a;font-size:.72rem;font-weight:750;letter-spacing:.14em}.auth-intro h1[data-v-c471a446]{position:relative;z-index:1;margin:1.6rem 0 1.3rem;font-size:clamp(2.25rem,4.5vw,3.8rem);line-height:1.16;letter-spacing:-.045em}.auth-intro p[data-v-c471a446]{position:relative;z-index:1;max-width:440px;margin:0;color:#ffffffc7;line-height:1.8}.feature-list[data-v-c471a446]{position:relative;z-index:1;display:grid;gap:.85rem;margin-top:2.2rem;color:#ffffffe6;font-size:.9rem}.feature-list span[data-v-c471a446]{display:flex;align-items:center;gap:.7rem}.feature-list i[data-v-c471a446]{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#ffffff24;font-style:normal;font-size:.67rem;font-weight:800}.auth-card[data-v-c471a446]{display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,5vw,4.2rem)}.form-heading>span[data-v-c471a446]{color:var(--primary);font-size:.78rem;font-weight:800;letter-spacing:.12em}.form-heading h2[data-v-c471a446]{margin:.7rem 0 .45rem;font-size:clamp(2rem,4vw,2.65rem);letter-spacing:-.035em}.form-heading p[data-v-c471a446]{margin:0 0 2.1rem;color:var(--muted)}form[data-v-c471a446]{display:grid;gap:1.15rem}label[data-v-c471a446]{display:grid;gap:.5rem;color:var(--text-soft);font-size:.86rem;font-weight:650}.field[data-v-c471a446]{min-height:50px;display:flex;align-items:center;gap:.65rem;padding:0 .9rem;border:1px solid var(--border);border-radius:12px;color:var(--muted);background:var(--surface-muted);transition:border-color .18s ease,box-shadow .18s ease}.field[data-v-c471a446]:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 13%,transparent)}.field input[data-v-c471a446]{min-width:0;flex:1;border:0;outline:0;color:var(--text);background:transparent}.field input[data-v-c471a446]::placeholder{color:var(--muted)}.field-action[data-v-c471a446]{border:0;padding:.35rem;color:var(--primary);background:none;cursor:pointer;font-size:.78rem}.captcha-field[data-v-c471a446]{display:grid;grid-template-columns:minmax(0,1fr) 116px;gap:.65rem}.captcha[data-v-c471a446]{min-height:50px;overflow:hidden;display:grid;place-items:center;border:1px solid var(--border);border-radius:12px;color:var(--primary);background:var(--surface-muted);cursor:pointer}.captcha img[data-v-c471a446]{width:100%;height:48px;object-fit:cover}.captcha span[data-v-c471a446]{font-size:.78rem}.form-message[data-v-c471a446]{margin:-.25rem 0 0;padding:.7rem .8rem;border-radius:9px;font-size:.82rem}.form-message.error[data-v-c471a446]{color:var(--danger);background:var(--danger-soft)}.form-message.success[data-v-c471a446]{color:var(--green);background:var(--green-soft)}.submit-button[data-v-c471a446]{min-height:52px;display:flex;align-items:center;justify-content:space-between;margin-top:.35rem;padding:0 1.2rem;border:0;border-radius:12px;color:#fff;background:var(--brand-gradient);box-shadow:0 12px 24px #5657d338;cursor:pointer;font-weight:750}.submit-button[data-v-c471a446]:hover{filter:brightness(1.04);transform:translateY(-1px)}.switch-auth[data-v-c471a446]{margin:1.5rem 0 0;color:var(--muted);text-align:center;font-size:.88rem}.switch-auth a[data-v-c471a446]{color:var(--primary);text-decoration:none;font-weight:700}@media (max-width:800px){.auth-main[data-v-c471a446]{align-items:start;padding-top:1rem}.auth-shell[data-v-c471a446]{grid-template-columns:1fr;border-radius:22px}.auth-intro[data-v-c471a446]{min-height:auto;padding:2rem}.auth-intro h1[data-v-c471a446]{font-size:2.1rem}.feature-list[data-v-c471a446]{display:none}.auth-card[data-v-c471a446]{padding:2rem}}@media (max-width:480px){.auth-header[data-v-c471a446]{min-height:70px}.brand span[data-v-c471a446]:last-child{display:none}.auth-main[data-v-c471a446]{padding-inline:.8rem}.auth-shell[data-v-c471a446]{border-radius:18px}.auth-intro[data-v-c471a446]{padding:1.5rem}.auth-intro h1[data-v-c471a446]{margin-block:1rem;font-size:1.75rem}.auth-intro p[data-v-c471a446]{font-size:.86rem}.auth-card[data-v-c471a446]{padding:1.5rem}.captcha-field[data-v-c471a446]{grid-template-columns:minmax(0,1fr) 102px}}.auth-page[data-v-b649ac0c]{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;color:var(--text);background:var(--bg)}.auth-header[data-v-b649ac0c]{min-height:84px;display:flex;align-items:center;justify-content:space-between;padding:1rem clamp(1.25rem,4vw,3.3rem)}.brand[data-v-b649ac0c]{display:flex;align-items:center;gap:.75rem;color:var(--primary);text-decoration:none;font-size:clamp(1.15rem,2vw,1.55rem);font-weight:800}.auth-main[data-v-b649ac0c]{flex:1;display:grid;place-items:center;width:100%;padding:2rem clamp(1rem,4vw,3rem) 4rem}.auth-shell[data-v-b649ac0c]{width:min(1040px,100%);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);overflow:hidden;border:1px solid var(--border);border-radius:28px;background:var(--surface);box-shadow:var(--shadow)}.auth-intro[data-v-b649ac0c]{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;min-height:610px;padding:clamp(2.5rem,6vw,5rem);color:#fff;background:linear-gradient(145deg,#7376f4,#5d5fdb 58%,#4f51c8)}.auth-intro[data-v-b649ac0c]:before,.auth-intro[data-v-b649ac0c]:after{content:"";position:absolute;border-radius:999px;border:1px solid rgba(255,255,255,.16)}.auth-intro[data-v-b649ac0c]:before{width:360px;height:360px;right:-170px;top:-100px}.auth-intro[data-v-b649ac0c]:after{width:260px;height:260px;left:-120px;bottom:-120px}.eyebrow[data-v-b649ac0c]{position:relative;z-index:1;width:fit-content;padding:.4rem .7rem;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:#ffffff1a;font-size:.72rem;font-weight:750;letter-spacing:.14em}.auth-intro h1[data-v-b649ac0c]{position:relative;z-index:1;margin:1.6rem 0 1.3rem;font-size:clamp(2.25rem,4.5vw,3.8rem);line-height:1.16;letter-spacing:-.045em}.auth-intro p[data-v-b649ac0c]{position:relative;z-index:1;max-width:440px;margin:0;color:#ffffffc7;line-height:1.8}.feature-list[data-v-b649ac0c]{position:relative;z-index:1;display:grid;gap:.8rem;margin-top:2.2rem;color:#ffffffe6;font-size:.9rem}.feature-list span[data-v-b649ac0c]{display:flex;align-items:center;gap:.6rem}.feature-list i[data-v-b649ac0c]{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#ffffff29;font-style:normal}.auth-card[data-v-b649ac0c]{display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,5vw,4.2rem)}.form-heading>span[data-v-b649ac0c]{color:var(--primary);font-size:.78rem;font-weight:800;letter-spacing:.12em}.form-heading h2[data-v-b649ac0c]{margin:.7rem 0 .45rem;font-size:clamp(2rem,4vw,2.65rem);letter-spacing:-.035em}.form-heading p[data-v-b649ac0c]{margin:0 0 2.1rem;color:var(--muted)}form[data-v-b649ac0c]{display:grid;gap:1.15rem}label[data-v-b649ac0c]{display:grid;gap:.5rem;color:var(--text-soft);font-size:.86rem;font-weight:650}.field[data-v-b649ac0c]{min-height:50px;display:flex;align-items:center;gap:.65rem;padding:0 .9rem;border:1px solid var(--border);border-radius:12px;color:var(--muted);background:var(--surface-muted);transition:border-color .18s ease,box-shadow .18s ease}.field[data-v-b649ac0c]:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 13%,transparent)}.field input[data-v-b649ac0c]{min-width:0;flex:1;border:0;outline:0;color:var(--text);background:transparent}.field input[data-v-b649ac0c]::placeholder{color:var(--muted)}.field-action[data-v-b649ac0c]{border:0;padding:.35rem;color:var(--primary);background:none;cursor:pointer;font-size:.78rem}.captcha-field[data-v-b649ac0c]{display:grid;grid-template-columns:minmax(0,1fr) 116px;gap:.65rem}.captcha[data-v-b649ac0c]{min-height:50px;overflow:hidden;display:grid;place-items:center;border:1px solid var(--border);border-radius:12px;color:var(--primary);background:var(--surface-muted);cursor:pointer;transition:border-color .16s ease,transform .1s ease}.captcha[data-v-b649ac0c]:hover:not(:disabled){border-color:var(--primary)}.captcha[data-v-b649ac0c]:active:not(:disabled){transform:scale(.97)}.captcha[data-v-b649ac0c]:disabled{cursor:wait;opacity:.72}.captcha img[data-v-b649ac0c]{width:100%;height:48px;object-fit:cover}.captcha span[data-v-b649ac0c]{font-size:.78rem}.form-message[data-v-b649ac0c]{margin:-.25rem 0 0;padding:.7rem .8rem;border-radius:9px;font-size:.82rem}.form-message.error[data-v-b649ac0c]{color:var(--danger);background:var(--danger-soft)}.form-message.pending[data-v-b649ac0c]{color:var(--primary);background:var(--primary-soft)}.submit-button[data-v-b649ac0c]{min-height:52px;display:flex;align-items:center;justify-content:space-between;margin-top:.35rem;padding:0 1.2rem;border:0;border-radius:12px;color:#fff;background:var(--brand-gradient);box-shadow:0 12px 24px #5657d338;cursor:pointer;font-weight:750;transition:filter .16s ease,transform .1s ease,box-shadow .16s ease,opacity .16s ease}.submit-button[data-v-b649ac0c]:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 15px 28px #5657d347}.submit-button[data-v-b649ac0c]:active:not(:disabled){transform:translateY(1px) scale(.985);box-shadow:0 6px 13px #5657d333}.submit-button[data-v-b649ac0c]:disabled{cursor:wait;opacity:.82}.button-label[data-v-b649ac0c]{display:inline-flex;align-items:center;gap:.6rem}.spinner[data-v-b649ac0c]{width:17px;height:17px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin-b649ac0c .75s linear infinite}@keyframes spin-b649ac0c{to{transform:rotate(360deg)}}.switch-auth[data-v-b649ac0c]{margin:1.5rem 0 0;color:var(--muted);text-align:center;font-size:.88rem}.switch-auth a[data-v-b649ac0c]{color:var(--primary);text-decoration:none;font-weight:700}@media (max-width:800px){.auth-main[data-v-b649ac0c]{align-items:start;padding-top:1rem}.auth-shell[data-v-b649ac0c]{grid-template-columns:1fr;border-radius:22px}.auth-intro[data-v-b649ac0c]{min-height:auto;padding:2rem}.auth-intro h1[data-v-b649ac0c]{font-size:2.1rem}.feature-list[data-v-b649ac0c]{display:none}.auth-card[data-v-b649ac0c]{padding:2rem}}@media (max-width:480px){.auth-header[data-v-b649ac0c]{min-height:70px}.brand span[data-v-b649ac0c]:last-child{display:none}.auth-main[data-v-b649ac0c]{padding-inline:.8rem}.auth-shell[data-v-b649ac0c]{border-radius:18px}.auth-intro[data-v-b649ac0c]{padding:1.5rem}.auth-intro h1[data-v-b649ac0c]{margin-block:1rem;font-size:1.75rem}.auth-intro p[data-v-b649ac0c]{font-size:.86rem}.auth-card[data-v-b649ac0c]{padding:1.5rem}.captcha-field[data-v-b649ac0c]{grid-template-columns:minmax(0,1fr) 102px}}.home-page[data-v-a7761319]{min-height:100vh;background:var(--bg);color:var(--text)}header[data-v-a7761319]{min-height:92px;display:flex;align-items:center;justify-content:space-between;padding:1rem clamp(1.4rem,3vw,3.3rem)}.brand[data-v-a7761319]{display:flex;align-items:center;gap:.75rem;color:var(--primary);text-decoration:none}.brand strong[data-v-a7761319]{font-size:1.45rem}nav[data-v-a7761319]{display:flex;align-items:center;gap:1.2rem}nav a[data-v-a7761319]{color:var(--muted);text-decoration:none}nav a[data-v-a7761319]:hover{color:var(--primary)}.login-entry[data-v-a7761319]{padding:.65rem 1rem;border:1px solid var(--border);border-radius:10px;background:var(--surface);font-weight:700;transition:border-color .16s ease,color .16s ease,transform .1s ease}.login-entry[data-v-a7761319]:hover{border-color:var(--primary)}.login-entry[data-v-a7761319]:active{transform:scale(.97)}.home[data-v-a7761319]{width:min(1100px,calc(100% - 3rem));min-height:calc(100vh - 80px);margin:auto;display:flex;flex-direction:column;justify-content:center;padding-bottom:5rem}.eyebrow[data-v-a7761319]{color:var(--primary);font-size:.78rem;font-weight:800;letter-spacing:.15em}h1[data-v-a7761319]{font-size:clamp(4rem,10vw,8.5rem);line-height:1.1;margin:.9rem 0 2rem;letter-spacing:-.045em}p[data-v-a7761319]{color:var(--muted);max-width:600px;font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.8;margin:0 0 2.5rem}.actions[data-v-a7761319]{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.actions a[data-v-a7761319]{text-decoration:none;border-radius:11px;padding:1rem 1.25rem}.primary[data-v-a7761319]{background:var(--brand-gradient);color:#fff;font-weight:750;box-shadow:0 12px 24px #5657d333}@media (max-width:700px){header[data-v-a7761319]{min-height:72px;padding:.65rem 1rem}.brand strong[data-v-a7761319]{display:none}nav[data-v-a7761319]{gap:.55rem}.home[data-v-a7761319]{min-height:calc(100vh - 72px)}}.catalog-page[data-v-4a2f7564]{min-height:100vh;min-height:100dvh;background:var(--bg);color:var(--text)}.catalog-header[data-v-4a2f7564]{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem clamp(1.4rem,3vw,3.3rem)}.brand[data-v-4a2f7564]{display:flex;align-items:center;gap:.75rem;color:var(--primary);text-decoration:none;font-size:clamp(1.2rem,2vw,1.65rem);font-weight:800;white-space:nowrap}nav[data-v-4a2f7564]{min-height:58px;display:flex;align-items:center;gap:.55rem;padding:.45rem .55rem .45rem 1.15rem;border:1px solid color-mix(in srgb,var(--border) 55%,transparent);border-radius:17px;background:var(--surface-glass);box-shadow:var(--shadow-sm)}.nav-link[data-v-4a2f7564]{min-height:42px;display:inline-flex;align-items:center;gap:.35rem;padding:0 .7rem;border:0;border-radius:10px;color:var(--muted);text-decoration:none;background:none;font:inherit;cursor:pointer}.nav-link[data-v-4a2f7564]:hover{color:var(--primary);background:var(--primary-soft)}.nav-link span[data-v-4a2f7564]{min-width:22px;min-height:22px;display:grid;place-items:center;border-radius:999px;color:var(--primary);background:var(--primary-soft);font-size:.72rem;font-weight:750}.catalog-main[data-v-4a2f7564]{width:min(1180px,calc(100% - 3rem));margin:0 auto;padding:3.5rem 0 6rem}.catalog-heading[data-v-4a2f7564]{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:4rem}.eyebrow[data-v-4a2f7564]{color:var(--primary);font-size:.75rem;font-weight:800;letter-spacing:.14em}h1[data-v-4a2f7564]{font-size:clamp(2.8rem,6vw,5rem);margin:.75rem 0 .8rem;line-height:1;letter-spacing:-.05em}.catalog-heading p[data-v-4a2f7564]{max-width:580px;color:var(--muted);margin:0;line-height:1.7}.points[data-v-4a2f7564]{min-width:150px;display:grid;grid-template-columns:1fr auto;align-items:end;padding:1rem 1.15rem;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-sm)}.points small[data-v-4a2f7564]{grid-column:1/-1;margin-bottom:.3rem;color:var(--muted)}.points strong[data-v-4a2f7564]{color:var(--primary);font-size:2rem;line-height:1}.points span[data-v-4a2f7564]{color:var(--muted);font-size:.7rem}.catalog-section[data-v-4a2f7564]{margin:0 0 3.5rem}.section-heading[data-v-4a2f7564]{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}.section-heading>div[data-v-4a2f7564]{display:flex;align-items:baseline;gap:1rem}.section-heading small[data-v-4a2f7564]{color:var(--muted)}h2[data-v-4a2f7564]{font-size:1.35rem;margin:0}.section-heading span[data-v-4a2f7564]{color:var(--muted);font-size:.85rem}h3[data-v-4a2f7564]{font-size:1rem;color:var(--text-soft);font-weight:650;margin:.2rem 0 1rem}.dictionary-grid[data-v-4a2f7564]{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:1rem}.dictionary-card[data-v-4a2f7564]{position:relative;min-height:160px;display:flex;flex-direction:column;align-items:flex-start;gap:.65rem;overflow:hidden;padding:1.25rem;text-align:left;border:1px solid var(--border);border-radius:16px;color:var(--text);background:var(--surface);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.dictionary-card[data-v-4a2f7564]:after{content:"→";position:absolute;right:1.1rem;bottom:1.05rem;color:var(--primary);opacity:0;transform:translate(-6px);transition:.18s ease}.dictionary-card[data-v-4a2f7564]:hover,.dictionary-card.selected[data-v-4a2f7564]{transform:translateY(-3px);border-color:var(--primary-border);box-shadow:var(--shadow)}.dictionary-card.selected[data-v-4a2f7564]{background:linear-gradient(145deg,var(--primary-soft),var(--surface))}.dictionary-card[data-v-4a2f7564]:hover:after,.dictionary-card.selected[data-v-4a2f7564]:after{opacity:1;transform:translate(0)}.dictionary-card strong[data-v-4a2f7564]{padding-right:1.3rem;font-size:1.06rem;line-height:1.4}.dictionary-card span[data-v-4a2f7564]{color:var(--muted);font-size:.8rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dictionary-card small[data-v-4a2f7564]{margin-top:auto;color:var(--primary);font-weight:700}.selected-lessons[data-v-4a2f7564]{margin-top:1.3rem;padding:1.3rem 1.4rem;border:1px solid var(--primary-border);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-sm)}.chapter-grid[data-v-4a2f7564]{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0 1rem;max-height:520px;overflow:auto}.course-list[data-v-4a2f7564]{display:grid;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow-sm)}.selected-lessons .course-list[data-v-4a2f7564]{border:0;border-radius:0;box-shadow:none}.course-row[data-v-4a2f7564]{display:grid;grid-template-columns:60px 1fr auto 30px;gap:1rem;align-items:center;width:100%;text-align:left;padding:1.2rem .9rem;background:none;border:0;border-bottom:1px solid var(--border);color:var(--text);cursor:pointer;font:inherit}.course-row[data-v-4a2f7564]:last-child{border-bottom:0}.course-row[data-v-4a2f7564]:hover{background:var(--primary-soft)}.course-row[data-v-4a2f7564]:disabled{opacity:.5;cursor:wait}.row-number[data-v-4a2f7564]{color:var(--primary);font-weight:700}.row-title[data-v-4a2f7564]{font-size:1.05rem}.row-title small[data-v-4a2f7564]{display:block;color:var(--muted);font-size:.82rem;margin-top:.3rem}.row-meta[data-v-4a2f7564]{color:var(--muted)}.row-arrow[data-v-4a2f7564]{color:var(--primary);font-size:1.35rem}.empty[data-v-4a2f7564]{color:var(--muted);padding:1.6rem .8rem;border-bottom:1px solid var(--border)}.message[data-v-4a2f7564]{color:var(--amber)}.review-callout[data-v-4a2f7564]{display:flex;justify-content:space-between;align-items:center;gap:1rem;border:1px solid var(--primary-border);border-radius:16px;padding:1.5rem 1.7rem;background:var(--primary-soft)}.review-callout p[data-v-4a2f7564]{color:var(--muted);margin:.4rem 0 0}.review-callout button[data-v-4a2f7564]{border:0;border-radius:10px;padding:.85rem 1.1rem;color:#fff;background:var(--brand-gradient);font:inherit;font-weight:700;cursor:pointer}@media (max-width:700px){.catalog-header[data-v-4a2f7564]{min-height:72px;padding:.65rem 1rem}.brand span[data-v-4a2f7564]:last-child{display:none}nav[data-v-4a2f7564]{min-height:48px;gap:.1rem;padding:.25rem}.nav-link[data-v-4a2f7564]{padding-inline:.55rem}.logout[data-v-4a2f7564]{display:none}.catalog-main[data-v-4a2f7564]{width:min(100% - 2rem,1180px);padding-top:2.2rem}.catalog-heading[data-v-4a2f7564]{align-items:flex-start;flex-direction:column;gap:1.3rem;margin-bottom:2.8rem}.points[data-v-4a2f7564]{width:100%}.section-heading>div[data-v-4a2f7564]{display:grid;gap:.25rem}.dictionary-grid[data-v-4a2f7564]{grid-template-columns:1fr}.dictionary-card[data-v-4a2f7564]{min-height:135px}.course-row[data-v-4a2f7564]{grid-template-columns:35px 1fr auto 15px;gap:.55rem}.row-title[data-v-4a2f7564]{font-size:.98rem}.review-callout[data-v-4a2f7564]{align-items:flex-start;flex-direction:column}}.practice-card[data-v-e2804cf2]{width:min(100%,960px);text-align:center;cursor:text}.stage-pill[data-v-e2804cf2]{display:inline-flex;align-items:center;min-height:30px;padding:.25rem .8rem;margin-bottom:2rem;border-radius:999px;color:var(--primary);background:var(--primary-soft);font-size:.82rem;font-weight:650;letter-spacing:.04em}form[data-v-e2804cf2]{display:grid;justify-items:center}.typing-surface[data-v-e2804cf2]{position:relative;max-width:100%;min-height:118px;display:grid;place-items:center;padding:.25rem 2rem}.typing-surface input[data-v-e2804cf2],.typing-surface textarea[data-v-e2804cf2]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;width:100%;height:100%;resize:none;border:0;outline:0;background:transparent;color:transparent;caret-color:transparent;opacity:.02;cursor:text}.word[data-v-e2804cf2]{display:flex;justify-content:center;flex-wrap:wrap;max-width:100%;color:var(--text-soft);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:clamp(3.7rem,7vw,6.6rem);font-weight:400;line-height:1.15;letter-spacing:.12em;overflow-wrap:anywhere}.sentence .word[data-v-e2804cf2]{font-size:clamp(2rem,4.3vw,4.2rem);letter-spacing:.04em}.word span[data-v-e2804cf2]{position:relative;transition:color .12s ease,transform .12s ease}.word .waiting[data-v-e2804cf2]{color:var(--text-soft)}.word .current[data-v-e2804cf2]:after{content:"";position:absolute;left:.05em;right:.16em;bottom:-.08em;height:4px;border-radius:4px;background:var(--primary);animation:pulse-e2804cf2 1.1s ease-in-out infinite}.word .correct[data-v-e2804cf2]{color:var(--green)}.word .wrong[data-v-e2804cf2]{color:var(--danger)}.word .extra[data-v-e2804cf2]{text-decoration:line-through}.ipa[data-v-e2804cf2]{min-height:1.5rem;margin:.8rem 0 0;color:var(--muted);font-size:1.05rem}.translation[data-v-e2804cf2]{min-height:1.8rem;margin:1.15rem 0 0;color:var(--text);font-size:1.25rem}.typing-status[data-v-e2804cf2]{min-height:1.5rem;margin:1.25rem 0 0;color:var(--muted);font-size:.9rem}.typing-status.error[data-v-e2804cf2]{color:var(--danger);font-weight:600}.typing-status.success[data-v-e2804cf2]{color:var(--green);font-weight:650}.mobile-submit[data-v-e2804cf2]{display:none;margin-top:1rem;min-height:46px;padding:.6rem 1.2rem;border:0;border-radius:10px;color:#fff;background:var(--primary);font-weight:700}.sr-only[data-v-e2804cf2]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes pulse-e2804cf2{50%{opacity:.28}}@media (max-width: 760px){.stage-pill[data-v-e2804cf2]{margin-bottom:1.1rem}.typing-surface[data-v-e2804cf2]{min-height:90px;padding-inline:.2rem}.word[data-v-e2804cf2]{font-size:clamp(2.7rem,13vw,4.2rem);letter-spacing:.08em}.sentence .word[data-v-e2804cf2]{font-size:clamp(1.55rem,7vw,2.5rem)}.ipa[data-v-e2804cf2]{margin-top:.45rem}.translation[data-v-e2804cf2]{margin-top:.75rem;font-size:1.08rem}.typing-status[data-v-e2804cf2]{margin-top:.9rem}.mobile-submit[data-v-e2804cf2]{display:inline-flex;align-items:center;justify-content:center}}@media (prefers-reduced-motion: reduce){.word .current[data-v-e2804cf2]:after{animation:none}}.practice-page[data-v-e3cf5579]{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;color:var(--text);background:var(--bg)}.practice-header[data-v-e3cf5579]{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem clamp(1.4rem,3vw,3.3rem)}.brand[data-v-e3cf5579]{display:flex;align-items:center;gap:.75rem;color:var(--primary);text-decoration:none;font-size:clamp(1.2rem,2vw,1.65rem);font-weight:800;white-space:nowrap}.brand-mark[data-v-e3cf5579]{background:var(--brand-gradient)}.practice-tools[data-v-e3cf5579]{min-height:58px;display:flex;align-items:center;gap:.65rem;padding:.55rem .8rem .55rem 1.3rem;border:1px solid color-mix(in srgb,var(--border) 55%,transparent);border-radius:17px;background:var(--surface-glass);box-shadow:var(--shadow)}.course-name[data-v-e3cf5579]{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}.position[data-v-e3cf5579]{color:var(--muted);font-size:.9rem;white-space:nowrap}.practice-tools button[data-v-e3cf5579]{width:42px;height:42px;border:0;border-radius:10px;color:var(--primary);background:transparent;box-shadow:none;font-size:1.2rem;cursor:pointer}.practice-tools button[data-v-e3cf5579]:hover:not(:disabled){background:var(--primary-soft)}.practice-tools button.active[data-v-e3cf5579]{color:#fff;background:var(--primary)}button[data-v-e3cf5579]:disabled{opacity:.38;cursor:not-allowed}.banner[data-v-e3cf5579]{margin:0;padding:.6rem 2rem;text-align:center;color:var(--primary);background:var(--primary-soft);font-size:.88rem}.banner.error[data-v-e3cf5579]{color:var(--danger);background:var(--danger-soft)}.banner.notice[data-v-e3cf5579]{color:var(--green);background:var(--green-soft)}.practice-main[data-v-e3cf5579]{flex:1;width:min(100%,1120px);margin:0 auto;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:clamp(1.6rem,4vh,3.2rem);padding:2rem clamp(1.2rem,4vw,3rem)}.progress-track[data-v-e3cf5579]{width:min(62%,580px);height:11px;overflow:hidden;border-radius:999px;background:var(--primary-soft)}.progress-track i[data-v-e3cf5579]{display:block;height:100%;border-radius:inherit;background:var(--brand-gradient);transition:width .25s ease}.stats[data-v-e3cf5579]{width:min(100%,930px);display:grid;grid-template-columns:repeat(5,1fr);padding:1.7rem 1.5rem;border:1px solid color-mix(in srgb,var(--border) 50%,transparent);border-radius:18px;background:var(--surface-glass);box-shadow:var(--shadow)}.stats div[data-v-e3cf5579]{display:grid;place-items:center;gap:.7rem}.stats div+div[data-v-e3cf5579]{border-left:1px solid var(--border)}.stats strong[data-v-e3cf5579]{color:var(--text-soft);font-size:1.25rem}.stats span[data-v-e3cf5579]{color:var(--muted);font-size:.82rem}.feedback-detail[data-v-e3cf5579]{width:min(100%,780px);display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.65rem 1rem;padding:.8rem 1rem;border-radius:12px;color:var(--danger);background:var(--danger-soft);font-size:.87rem}.feedback-detail button[data-v-e3cf5579]{border:1px solid color-mix(in srgb,var(--danger) 45%,var(--border));border-radius:8px;padding:.4rem .7rem;color:var(--danger);background:var(--surface);cursor:pointer}.practice-footer[data-v-e3cf5579]{min-height:58px;display:grid;place-items:center;padding:.8rem 1rem;color:var(--muted);font-size:.78rem;text-align:center}.loading[data-v-e3cf5579]{flex:1;display:grid;place-content:center;color:var(--muted)}@media (max-width: 760px){.practice-header[data-v-e3cf5579]{min-height:72px;padding:.65rem 1rem}.brand span[data-v-e3cf5579]:last-child,.course-name[data-v-e3cf5579],.position[data-v-e3cf5579]{display:none}.brand-mark[data-v-e3cf5579]{width:38px;height:38px}.practice-tools[data-v-e3cf5579]{min-height:48px;gap:.05rem;padding:.25rem;border-radius:13px}.practice-tools button[data-v-e3cf5579]{width:37px;height:39px}.practice-main[data-v-e3cf5579]{justify-content:flex-start;gap:1.35rem;padding:2rem 1rem 1rem}.progress-track[data-v-e3cf5579]{width:82%;height:9px}.stats[data-v-e3cf5579]{padding:1rem .25rem;border-radius:14px}.stats strong[data-v-e3cf5579]{font-size:.96rem}.stats span[data-v-e3cf5579]{font-size:.68rem}.feedback-detail[data-v-e3cf5579]{align-items:flex-start;flex-direction:column}.practice-footer[data-v-e3cf5579]{min-height:48px}}.results-page[data-v-8bf4af82]{min-height:100vh;background:var(--bg);color:var(--text)}header[data-v-8bf4af82]{min-height:92px;padding:1rem clamp(1.4rem,3vw,3.3rem);display:flex;align-items:center;justify-content:space-between;color:var(--muted)}header>div[data-v-8bf4af82],header a[data-v-8bf4af82]{display:flex;align-items:center;gap:.75rem}header a[data-v-8bf4af82]{color:var(--primary);font-size:1.3rem;font-weight:800;text-decoration:none}main[data-v-8bf4af82]{width:min(850px,calc(100% - 3rem));margin:0 auto;padding:4rem 0}h1[data-v-8bf4af82]{font-size:clamp(2.7rem,6vw,4.5rem);margin:0}.subtitle[data-v-8bf4af82]{color:var(--muted)}.score[data-v-8bf4af82]{margin:3rem 0;font-size:clamp(5rem,15vw,9rem);font-weight:720;color:var(--mint);line-height:1}.score small[data-v-8bf4af82]{display:block;font-size:.95rem;font-weight:450;color:var(--muted);margin-top:.7rem}dl[data-v-8bf4af82]{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:0 0 2rem}dl div[data-v-8bf4af82]{padding:1.5rem .5rem}dt[data-v-8bf4af82]{color:var(--muted);font-size:.9rem}dd[data-v-8bf4af82]{margin:.55rem 0 0;font-size:1.5rem}.actions[data-v-8bf4af82]{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center}.actions a[data-v-8bf4af82],.actions button[data-v-8bf4af82]{padding:.85rem 1.2rem;border-radius:9px;font:inherit;cursor:pointer;text-decoration:none}.actions a[data-v-8bf4af82],.actions button.quiet[data-v-8bf4af82]{color:var(--text);border:1px solid var(--border);background:var(--surface)}.actions button[data-v-8bf4af82]{border:0;color:#fff;background:var(--brand-gradient);font-weight:700}@media (max-width:650px){header a span[data-v-8bf4af82]:last-child,header>div>span[data-v-8bf4af82]{display:none}dl[data-v-8bf4af82]{grid-template-columns:repeat(2,1fr)}.actions[data-v-8bf4af82]{flex-wrap:wrap}}.review-page[data-v-6392cfc4]{min-height:100vh;background:var(--bg);color:var(--text)}header[data-v-6392cfc4]{min-height:92px;padding:1rem clamp(1.4rem,3vw,3.3rem);display:flex;align-items:center;justify-content:space-between}header a[data-v-6392cfc4]{color:var(--primary);text-decoration:none;font-weight:700}header>div[data-v-6392cfc4]{display:flex;align-items:center;gap:1rem}main[data-v-6392cfc4]{width:min(950px,calc(100% - 3rem));margin:0 auto;padding:3.5rem 0}.heading[data-v-6392cfc4]{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:2rem}h1[data-v-6392cfc4]{font-size:clamp(2.5rem,5vw,4rem);margin:0}.heading p[data-v-6392cfc4],.empty[data-v-6392cfc4]{color:var(--muted)}.heading button[data-v-6392cfc4]{color:#fff;background:var(--brand-gradient);border:0;border-radius:9px;padding:.8rem 1rem;font:inherit;font-weight:700;cursor:pointer;white-space:nowrap}ul[data-v-6392cfc4]{list-style:none;padding:0;margin:0}li[data-v-6392cfc4]{display:flex;align-items:center;gap:1rem;border-bottom:1px solid var(--border);padding:1.3rem .5rem}.kind[data-v-6392cfc4]{color:var(--mint);font-size:.85rem;width:3rem}li strong[data-v-6392cfc4]{flex:1;font-size:1.1rem}li button[data-v-6392cfc4]{border:1px solid var(--border);border-radius:8px;color:var(--muted);background:none;padding:.55rem .75rem;cursor:pointer}@media (max-width:600px){.heading[data-v-6392cfc4]{align-items:flex-start;flex-direction:column}li[data-v-6392cfc4]{flex-wrap:wrap}li button[data-v-6392cfc4]{margin-left:4rem}}:root{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,Noto Sans CJK SC,Microsoft YaHei,sans-serif;color:#252938;background:#f8f8fd;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #f8f8fd;--surface: #ffffff;--surface-muted: #f2f3fb;--surface-glass: rgba(255,255,255,.9);--border: #e6e8f2;--primary-border: #cfd0ff;--text: #252938;--text-soft: #565d70;--muted: #858b9c;--primary: #6264e8;--primary-strong: #5355d7;--primary-soft: #efefff;--green: #28a879;--green-soft: #eafaf3;--danger: #d74459;--danger-soft: #fff0f2;--amber: #d98724;--mint: #6264e8;--shadow-sm: 0 8px 24px rgba(72,75,137,.08);--shadow: 0 18px 44px rgba(72,75,137,.11);--brand-gradient: linear-gradient(145deg, #8e91ff, #5c5fde)}:root[data-theme=dark]{color:#f2f3fb;background:#12131f;--bg: #12131f;--surface: #1b1d2c;--surface-muted: #232538;--surface-glass: rgba(27,29,44,.92);--border: #303348;--primary-border: #565995;--text: #f2f3fb;--text-soft: #c5c8d8;--muted: #9b9fb2;--primary: #9698ff;--primary-strong: #aaacff;--primary-soft: #292b4a;--green: #58d0a1;--green-soft: #17382f;--danger: #ff7d8e;--danger-soft: #41242d;--amber: #f2b65f;--mint: #9698ff;--shadow-sm: 0 8px 24px rgba(0,0,0,.18);--shadow: 0 18px 48px rgba(0,0,0,.28);--brand-gradient: linear-gradient(145deg, #9295ff, #6265df)}*{box-sizing:border-box}html{min-width:320px;background:var(--bg)}body{margin:0;min-width:320px;min-height:100vh;color:var(--text);background:var(--bg);transition:color .2s ease,background .2s ease}button,input,textarea{font:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 40%,transparent);outline-offset:3px}::selection{color:var(--text);background:color-mix(in srgb,var(--primary) 30%,transparent)}.brand-mark{width:42px;height:42px;display:grid;flex:0 0 42px;place-items:center;border-radius:12px;color:#fff;background:var(--brand-gradient);box-shadow:0 10px 22px #5657d33d}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
