.ruby-text[data-v-81074491]{display:inline;ruby-position:over}.ruby-text .rb[data-v-81074491]{display:ruby-base}.ruby-text rt[data-v-81074491]{font-size:var(--pinyin-rt-scale, .64em);font-weight:700;color:var(--text-2);letter-spacing:.02em;line-height:1.05;ruby-align:center}.pinyin-under[data-v-81074491],.pinyin-under .pu-base[data-v-81074491]{display:block}.pinyin-under .pu-pron[data-v-81074491]{display:block;margin-top:.12em;font-size:var(--pinyin-under-scale, .74em);font-weight:600;color:var(--text-2);letter-spacing:.02em;line-height:1.25}.tone-viz[data-v-5b887fb0]{display:flex;flex-direction:column;gap:8px}.tone-viz-label[data-v-5b887fb0]{margin:0;font-size:10.5px;color:var(--text-3);font-weight:700;letter-spacing:.04em;text-align:center}.tone-syl-row[data-v-5b887fb0]{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.tone-syl[data-v-5b887fb0]{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:52px}.tone-svg[data-v-5b887fb0]{width:56px;height:56px;background:var(--bg-3);border-radius:var(--r-sm);border:1px solid var(--border)}.tone-guide[data-v-5b887fb0]{stroke:#ffffff0a;stroke-width:.6;stroke-dasharray:2 2}.tone-path[data-v-5b887fb0]{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke:var(--text-3)}.tone-svg[data-tone="1"] .tone-path[data-v-5b887fb0]{stroke:#60a5fa;filter:drop-shadow(0 0 4px rgba(96,165,250,.4))}.tone-svg[data-tone="2"] .tone-path[data-v-5b887fb0]{stroke:#4ade80;filter:drop-shadow(0 0 4px rgba(74,222,128,.4))}.tone-svg[data-tone="3"] .tone-path[data-v-5b887fb0]{stroke:#facc15;filter:drop-shadow(0 0 4px rgba(250,204,21,.4))}.tone-svg[data-tone="4"] .tone-path[data-v-5b887fb0]{stroke:#f87171;filter:drop-shadow(0 0 4px rgba(248,113,113,.4))}.tone-svg[data-tone="5"] .tone-path[data-v-5b887fb0]{stroke:#c084fc;filter:drop-shadow(0 0 4px rgba(192,132,252,.4))}.tone-svg[data-tone="6"] .tone-path[data-v-5b887fb0]{stroke:#94a3b8}.tone-svg[data-tone="0"] .tone-path[data-v-5b887fb0]{stroke:var(--text-muted);stroke-width:3}.tone-syl-text[data-v-5b887fb0]{font-size:12px;font-weight:700;color:var(--text);font-style:italic}.tone-syl-num[data-v-5b887fb0]{font-size:9.5px;color:var(--text-3);font-weight:700}.tone-syl[data-tone="1"] .tone-syl-num[data-v-5b887fb0]{color:#60a5fa}.tone-syl[data-tone="2"] .tone-syl-num[data-v-5b887fb0]{color:#4ade80}.tone-syl[data-tone="3"] .tone-syl-num[data-v-5b887fb0]{color:#facc15}.tone-syl[data-tone="4"] .tone-syl-num[data-v-5b887fb0]{color:#f87171}.tone-syl[data-tone="5"] .tone-syl-num[data-v-5b887fb0]{color:#c084fc}.today-home[data-v-28e7c5ae]{display:flex;flex-direction:column;gap:14px}.today-head[data-v-28e7c5ae]{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.today-kicker[data-v-28e7c5ae]{margin:0;font-size:11px;font-weight:800;letter-spacing:.04em;color:var(--brand)}.today-title[data-v-28e7c5ae]{margin:2px 0 0;font-size:clamp(20px,5.5vw,24px);font-weight:900;letter-spacing:-.03em;color:var(--text)}.today-scenario-card[data-v-28e7c5ae]{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--r-lg);border:1px solid rgba(192,132,252,.35);background:linear-gradient(135deg,#c084fc1f,#a855f70a);text-align:left;color:var(--text)}.today-scenario-card.muted[data-v-28e7c5ae]{border-color:var(--border);background:var(--surface)}.today-scenario-card.continue[data-v-28e7c5ae]{border-color:#38bdf866;background:linear-gradient(135deg,#38bdf81f,#c084fc0d)}.ts-emoji[data-v-28e7c5ae]{font-size:26px;line-height:1;text-align:center}.ts-body[data-v-28e7c5ae]{display:flex;flex-direction:column;gap:2px;min-width:0}.ts-body strong[data-v-28e7c5ae]{font-size:13.5px;font-weight:800}.ts-body span[data-v-28e7c5ae]{font-size:12px;color:var(--text-3);font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-missions[data-v-28e7c5ae]{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:12px 12px 10px}.hm-head[data-v-28e7c5ae]{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.hm-head strong[data-v-28e7c5ae]{font-size:13px;font-weight:800}.hm-link[data-v-28e7c5ae]{font-size:11.5px;font-weight:700;color:var(--brand);background:transparent;border:none;cursor:pointer}.hm-row[data-v-28e7c5ae]{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.hm-row[data-v-28e7c5ae]::-webkit-scrollbar{display:none}.hm-card[data-v-28e7c5ae]{flex:0 0 auto;width:132px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border);text-align:left;color:var(--text)}.hm-card.done[data-v-28e7c5ae]{border-color:#a3e63559}.hm-emoji[data-v-28e7c5ae]{font-size:20px;line-height:1}.hm-title[data-v-28e7c5ae]{font-size:11.5px;font-weight:800;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hm-meta[data-v-28e7c5ae]{font-size:10px;font-weight:700;color:var(--brand)}.hm-bar[data-v-28e7c5ae]{width:100%;height:4px;border-radius:999px;background:var(--surface-3);overflow:hidden;margin-top:2px}.hm-bar>i[data-v-28e7c5ae]{display:block;height:100%;background:var(--brand)}.src-pill[data-v-28e7c5ae]{display:inline-block;margin-left:4px;padding:1px 7px;border-radius:999px;font-size:10px;font-weight:800;font-style:normal;background:#c084fc29;color:var(--brand)}.today-sub[data-v-28e7c5ae]{margin:-6px 0 0;font-size:12.5px;font-weight:600;color:var(--text-3)}.today-stat[data-v-28e7c5ae]{position:relative;display:inline-flex;align-items:center;gap:5px;margin:0;font-size:12px;font-weight:800;color:var(--text-2);padding:6px 12px 6px 10px;border-radius:var(--r-pill);background:linear-gradient(135deg,#fb923c29,#ea580c14);border:1px solid rgba(251,146,60,.35);white-space:nowrap;overflow:hidden;box-shadow:0 2px 10px #ea580c1f}.today-stat.pulse[data-v-28e7c5ae]{animation:stat-breathe-28e7c5ae 2.4s ease-in-out infinite}.today-stat[data-v-28e7c5ae]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.45) 50%,transparent 60%);transform:translate(-120%);animation:stat-shine-28e7c5ae 3.2s ease-in-out infinite;pointer-events:none}.stat-fire[data-v-28e7c5ae]{display:inline-block;font-size:13px;animation:fire-flicker-28e7c5ae 1.1s ease-in-out infinite;filter:drop-shadow(0 0 4px rgba(251,146,60,.65))}.stat-text[data-v-28e7c5ae]{position:relative;z-index:1}@keyframes stat-breathe-28e7c5ae{0%,to{transform:scale(1);box-shadow:0 2px 10px #ea580c1f}50%{transform:scale(1.04);box-shadow:0 4px 16px #ea580c38}}@keyframes stat-shine-28e7c5ae{0%,55%{transform:translate(-120%)}75%,to{transform:translate(120%)}}@keyframes fire-flicker-28e7c5ae{0%,to{transform:scale(1) rotate(-4deg)}40%{transform:scale(1.12) rotate(3deg)}70%{transform:scale(.96) rotate(-2deg)}}.mode-switch[data-v-28e7c5ae]{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0;padding:4px;border-radius:14px;background:var(--surface-2);border:1px solid var(--border)}.mode-btn[data-v-28e7c5ae]{position:relative;z-index:1;padding:11px 12px;border-radius:11px;font-size:14px;font-weight:800;color:var(--text-3);transition:color .2s ease}.mode-btn.on[data-v-28e7c5ae]{color:var(--on-brand)}.mode-glider[data-v-28e7c5ae]{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:11px;background:var(--brand);box-shadow:0 4px 14px #65a30d47;transition:transform .28s cubic-bezier(.34,1.4,.64,1);z-index:0}.mode-glider.sentence[data-v-28e7c5ae]{transform:translate(100%)}.hsk-block[data-v-28e7c5ae]{margin-top:2px}.hsk-row[data-v-28e7c5ae]{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:6px}.hsk-chip[data-v-28e7c5ae]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:0;padding:10px 2px 8px;border-radius:12px;background:var(--surface);border:1px solid var(--border);color:var(--text-3);transition:transform .18s cubic-bezier(.34,1.4,.64,1),border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}.hsk-num[data-v-28e7c5ae]{font-size:15px;font-weight:900;line-height:1.1;letter-spacing:-.02em;color:var(--text-2)}.hsk-unit[data-v-28e7c5ae]{font-size:10px;font-weight:700;opacity:.75}.hsk-chip[data-v-28e7c5ae]:active{transform:scale(.94)}.hsk-chip.on[data-v-28e7c5ae]{background:color-mix(in srgb,var(--brand-soft) 80%,var(--surface));border-color:color-mix(in srgb,var(--brand) 45%,var(--border));color:var(--brand-strong);box-shadow:0 4px 14px #65a30d2e;transform:translateY(-1px)}.hsk-chip.on .hsk-num[data-v-28e7c5ae]{color:var(--brand-strong)}.hsk-chip.on .hsk-unit[data-v-28e7c5ae]{opacity:1}.mod-panel[data-v-28e7c5ae]{padding:10px 12px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border)}.mod-panel-head[data-v-28e7c5ae]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.mod-panel-head h3[data-v-28e7c5ae]{margin:0;font-size:14px;font-weight:800}.mod-progress[data-v-28e7c5ae]{font-size:12px;font-weight:800;color:var(--text-3)}.progress-track[data-v-28e7c5ae]{height:5px;background:var(--surface);border-radius:var(--r-pill);overflow:hidden}.progress-track>span[data-v-28e7c5ae]{display:block;height:100%;background:linear-gradient(90deg,var(--brand-strong),var(--brand));border-radius:inherit;transition:width var(--t-slow)}.pick-hint[data-v-28e7c5ae]{margin:8px 0 0;text-align:center;font-size:13px;font-weight:700;color:var(--text-3)}.lesson-card[data-v-28e7c5ae]{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 16px 16px;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--border-strong);text-align:center}.lesson-card.speaking[data-v-28e7c5ae]{box-shadow:0 0 0 1px color-mix(in srgb,var(--brand) 30%,transparent)}.card-meta[data-v-28e7c5ae]{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:center;width:100%;min-height:18px}.level-pill[data-v-28e7c5ae]{font-size:11px;font-weight:800;padding:2px 8px;border-radius:var(--r-pill);background:var(--brand-soft);color:var(--brand-strong)}.play-badge[data-v-28e7c5ae]{font-size:11px;font-weight:800;color:var(--brand-strong);padding:2px 8px;border-radius:var(--r-pill);background:var(--brand-soft)}.play-badge.loading[data-v-28e7c5ae]{color:var(--text-3);background:var(--surface-2)}.target-block[data-v-28e7c5ae]{width:100%;background:transparent;border:0;padding:10px 4px;text-align:center;cursor:pointer}.target-block h2[data-v-28e7c5ae]{margin:0;font-size:clamp(24px,6.5vw,32px);font-weight:800;color:var(--text);line-height:1.35;word-break:keep-all}.pron-line[data-v-28e7c5ae]{margin:8px 0 0;font-size:13.5px;font-weight:700;color:var(--brand)}.tone-block[data-v-28e7c5ae]{width:100%;margin-top:4px}.meaning-zone[data-v-28e7c5ae]{width:100%;display:flex;flex-direction:column;align-items:center;gap:10px;margin:6px 0 4px;padding:4px 0 2px}.meaning-toggle[data-v-28e7c5ae]{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:8px 16px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);font-size:13px;font-weight:800;letter-spacing:-.01em;transition:transform .18s cubic-bezier(.34,1.4,.64,1),background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.meaning-toggle[data-v-28e7c5ae]:active{transform:scale(.96)}.meaning-toggle.open[data-v-28e7c5ae]{background:var(--brand-soft);border-color:color-mix(in srgb,var(--brand) 40%,var(--border));color:var(--brand-strong);box-shadow:0 4px 12px #65a30d26}.mt-chev[data-v-28e7c5ae]{font-size:10px;opacity:.7;transition:transform .2s ease}.meaning-toggle.open .mt-chev[data-v-28e7c5ae]{transform:rotate(0)}.meaning-panel[data-v-28e7c5ae]{width:100%;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,var(--brand-soft) 55%,var(--surface));border:1px solid color-mix(in srgb,var(--brand) 22%,var(--border));box-sizing:border-box}.meaning-line[data-v-28e7c5ae]{margin:0;font-size:15px;font-weight:700;color:var(--text);text-align:center;line-height:1.45}.example-line[data-v-28e7c5ae]{margin:8px 0 0;font-size:12.5px;color:var(--text-3);text-align:center;line-height:1.4}.meaning-enter-active[data-v-28e7c5ae],.meaning-leave-active[data-v-28e7c5ae]{transition:opacity .22s ease,transform .22s cubic-bezier(.34,1.2,.64,1)}.meaning-enter-from[data-v-28e7c5ae],.meaning-leave-to[data-v-28e7c5ae]{opacity:0;transform:translateY(-6px) scale(.98)}.speak-flow[data-v-28e7c5ae]{width:100%;display:flex;flex-direction:column;align-items:center;gap:0;margin-top:8px}.action-bar[data-v-28e7c5ae]{display:flex;align-items:center;justify-content:center;width:100%;min-height:80px;padding:6px 0 0;box-sizing:border-box}.act-trio[data-v-28e7c5ae]{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 auto}.act-listen[data-v-28e7c5ae],.act-next[data-v-28e7c5ae],.act-mic[data-v-28e7c5ae]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin:0;padding:0;line-height:0}.act-listen[data-v-28e7c5ae],.act-next[data-v-28e7c5ae]{width:56px;height:56px;border-radius:50%;border:1px solid var(--border)}.act-listen[data-v-28e7c5ae]{background:var(--brand);border-color:transparent;color:var(--on-brand);box-shadow:0 6px 16px #65a30d47}.act-next[data-v-28e7c5ae]{background:var(--surface);border-color:#65a30d66;color:var(--brand-strong)}.act-mic[data-v-28e7c5ae]{position:relative;width:72px;height:72px;border-radius:50%;background:linear-gradient(145deg,var(--brand-strong),var(--brand));color:var(--on-brand);border:0;box-shadow:0 8px 24px #65a30d59}.act-mic.listening[data-v-28e7c5ae]{background:linear-gradient(145deg,#f472b6,#ec4899)}.act-mic .orb-pulse[data-v-28e7c5ae]{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;border:2px solid rgba(244,114,182,.45);animation:orb-ring-28e7c5ae 1.4s ease-out infinite}@keyframes orb-ring-28e7c5ae{0%{transform:scale(.92);opacity:.8}to{transform:scale(1.25);opacity:0}}.action-meta[data-v-28e7c5ae]{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;width:100%;margin-top:16px}.meta-chip[data-v-28e7c5ae]{min-height:30px;padding:0 12px;border-radius:var(--r-pill);font-size:12px;font-weight:800;color:var(--text-3);background:var(--surface-2);border:1px solid var(--border)}.retry-inline[data-v-28e7c5ae]{margin-top:12px;width:100%}.mic-hint[data-v-28e7c5ae]{margin:16px 0 0;font-size:12.5px;font-weight:700;color:var(--text-3);text-align:center;width:100%}.result-card[data-v-28e7c5ae]{padding:12px 14px;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.transcript-line[data-v-28e7c5ae]{display:flex;gap:8px;align-items:flex-start}.transcript-line .dot[data-v-28e7c5ae]{width:8px;height:8px;margin-top:6px;border-radius:50%;background:#f472b6;flex-shrink:0}.transcript-line p[data-v-28e7c5ae]{margin:0;font-size:14.5px;font-weight:700;text-align:left}.score-row[data-v-28e7c5ae]{display:flex;justify-content:space-between;font-size:12.5px;font-weight:700;color:var(--text-3)}.score-row strong[data-v-28e7c5ae]{font-size:18px}.score-row strong.good[data-v-28e7c5ae]{color:var(--brand)}.score-row strong.okay[data-v-28e7c5ae]{color:#fbbf24}.score-row strong.low[data-v-28e7c5ae]{color:#f87171}.score-track[data-v-28e7c5ae]{height:7px;background:var(--surface-2);border-radius:var(--r-pill);overflow:hidden}.score-track>span[data-v-28e7c5ae]{display:block;height:100%;background:var(--brand);border-radius:inherit}.score-track>span.okay[data-v-28e7c5ae]{background:#fbbf24}.score-track>span.low[data-v-28e7c5ae]{background:#f87171}.score-msg[data-v-28e7c5ae]{margin:0;font-size:12px;color:var(--text-3)}.tone-block[data-v-28e7c5ae]{margin-top:10px;padding-top:10px;border-top:1px solid var(--line, rgba(128, 128, 128, .2));display:flex;flex-direction:column;gap:6px}.tone-block.pending[data-v-28e7c5ae]{flex-direction:row;align-items:center;gap:8px;font-size:12px;color:var(--text-3)}.tone-spinner[data-v-28e7c5ae]{width:12px;height:12px;border:2px solid var(--line, rgba(128, 128, 128, .35));border-top-color:var(--brand);border-radius:50%;animation:tone-spin-28e7c5ae .7s linear infinite;flex:none}@keyframes tone-spin-28e7c5ae{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.tone-spinner[data-v-28e7c5ae]{animation-duration:2.4s}}.tone-syllables[data-v-28e7c5ae]{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.tone-chip[data-v-28e7c5ae]{display:inline-flex;align-items:baseline;gap:3px;padding:3px 8px;border-radius:999px;font-size:13px;line-height:1.2;background:var(--surface-2, rgba(128, 128, 128, .12));border:1px solid transparent}.tone-chip .tone-num[data-v-28e7c5ae]{font-size:10px;color:var(--text-3)}.tone-chip .tone-mark[data-v-28e7c5ae]{font-size:15px;font-weight:700}.tone-chip .tone-got[data-v-28e7c5ae]{font-size:12px;opacity:.85}.tone-chip.ok[data-v-28e7c5ae]{border-color:var(--brand);color:var(--brand)}.tone-chip.warn[data-v-28e7c5ae]{border-color:#fbbf24;color:#fbbf24}.tone-chip.bad[data-v-28e7c5ae]{border-color:#f87171;color:#f87171}.tone-chip.skip[data-v-28e7c5ae]{opacity:.5}.tone-detail[data-v-28e7c5ae]{margin:0;font-size:12px;color:#f87171}.done-card[data-v-28e7c5ae],.empty-card[data-v-28e7c5ae]{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:28px 18px;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--border-strong)}.done-card>svg[data-v-28e7c5ae],.empty-card>svg[data-v-28e7c5ae]{color:var(--brand)}.done-card h3[data-v-28e7c5ae],.empty-card h3[data-v-28e7c5ae]{margin:0;font-size:17px;font-weight:800}.done-card p[data-v-28e7c5ae],.empty-card p[data-v-28e7c5ae]{margin:0;font-size:13px;color:var(--text-3)}.done-actions[data-v-28e7c5ae]{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.onboarding-banner[data-v-28e7c5ae]{display:flex;gap:12px;padding:14px;border-radius:var(--r-xl);background:var(--surface-2);border:1px solid var(--border)}.ob-icon[data-v-28e7c5ae]{font-size:28px}.ob-body[data-v-28e7c5ae]{flex:1;min-width:0}.ob-body h3[data-v-28e7c5ae]{margin:0 0 4px;font-size:15px;font-weight:800}.ob-body p[data-v-28e7c5ae]{margin:0 0 8px;font-size:12.5px;color:var(--text-3);line-height:1.4}.ob-actions[data-v-28e7c5ae]{display:flex;flex-wrap:wrap;gap:6px}@media(max-width:360px){.hsk-row[data-v-28e7c5ae]{gap:4px}.hsk-chip[data-v-28e7c5ae]{padding:8px 1px 6px}.hsk-num[data-v-28e7c5ae]{font-size:13px}}.grid-2-row[data-v-261f4717]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.select-sm[data-v-261f4717]{padding:8px 28px 8px 10px;font-size:12px}.mastered-pill[data-v-261f4717]{background:var(--brand-soft);color:var(--brand);padding:3px 8px;border-radius:var(--r-pill);font-size:10px;font-weight:800;letter-spacing:.04em}.tag-chip.curriculum[data-v-261f4717]{background:var(--brand-soft);color:var(--brand);font-weight:800;border:none}.expr-card .target[data-v-261f4717]{cursor:pointer;transition:color var(--t-base)}.expr-card .target[data-v-261f4717]:hover{color:var(--brand)}.expr-card .tags span[data-v-261f4717]{cursor:pointer;transition:all var(--t-base)}.expr-card .tags span[data-v-261f4717]:hover{background:var(--brand-soft);color:var(--brand)}.scope-row[data-v-261f4717]{display:flex;gap:7px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.scope-row[data-v-261f4717]::-webkit-scrollbar{display:none}.scope-chip[data-v-261f4717]{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;padding:7px 12px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);font-size:12.5px;font-weight:700;color:var(--text-2)}.scope-chip.active[data-v-261f4717]{border-color:#c084fc80;background:linear-gradient(135deg,#c084fc2e,#a855f70f);color:var(--text)}.scope-n[data-v-261f4717]{font-size:10px;font-weight:800;color:var(--text-muted);background:var(--surface-2);border-radius:var(--r-pill);padding:1px 6px}.scope-chip.active .scope-n[data-v-261f4717]{background:#c084fc38;color:var(--text-2)}.scope-hint[data-v-261f4717]{margin:-4px 2px 0;font-size:11.5px;color:var(--text-muted);line-height:1.4}.lib-level-row[data-v-261f4717]{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.lib-level-row[data-v-261f4717]::-webkit-scrollbar{display:none}.lib-lv[data-v-261f4717]{flex-shrink:0;padding:5px 10px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);font-size:11.5px;font-weight:700;color:var(--text-3)}.lib-lv.on[data-v-261f4717]{border-color:#c084fc80;background:#c084fc24;color:var(--text)}.src-pill[data-v-261f4717]{font-size:10px;font-weight:800;padding:2px 7px;border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-3)}.src-pill.db[data-v-261f4717]{color:#38bdf8;background:#38bdf81f}.example-plain[data-v-261f4717]{margin:0;font-size:12.5px;color:var(--text-3);line-height:1.4}.syl-score[data-v-7c8c25de]{display:flex;flex-direction:column;gap:10px;padding:14px;background:var(--bg-3);border:1px solid var(--border);border-radius:var(--r-md)}.syl-score-label[data-v-7c8c25de]{margin:0;font-size:11px;color:var(--text-3);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.syl-row[data-v-7c8c25de]{display:flex;flex-wrap:wrap;gap:4px;font-size:22px;font-weight:800;letter-spacing:.04em;line-height:1.4}.syl-piece[data-v-7c8c25de]{padding:2px 6px;border-radius:6px;transition:all var(--t-base);border:1px solid transparent;position:relative}.syl-piece[data-status=match][data-v-7c8c25de]{color:var(--brand);background:#a3e6351f;border-color:#a3e63540}.syl-piece[data-status=wrong][data-v-7c8c25de]{color:var(--danger);background:#ef44441f;border-color:#ef444440}.syl-piece[data-status=missing][data-v-7c8c25de]{color:var(--warning);background:#fbbf241f;border-color:#fbbf2440;text-decoration:line-through;opacity:.7}.syl-legend[data-v-7c8c25de]{display:flex;gap:12px;font-size:10.5px;color:var(--text-3);font-weight:600;padding-top:6px;border-top:1px solid var(--border)}.syl-legend span[data-v-7c8c25de]{display:inline-flex;align-items:center;gap:4px}.dot[data-v-7c8c25de]{width:8px;height:8px;border-radius:var(--r-pill)}.dot[data-status=match][data-v-7c8c25de]{background:var(--brand)}.dot[data-status=wrong][data-v-7c8c25de]{background:var(--danger)}.dot[data-status=missing][data-v-7c8c25de]{background:var(--warning)}.gym-banner[data-v-6a1f1303]{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:var(--r-md);background:linear-gradient(135deg,#a3e6351f,#38bdf814);border:1px solid rgba(163,230,53,.25)}.gym-banner strong[data-v-6a1f1303]{font-size:14px;font-weight:800}.gym-banner span[data-v-6a1f1303]{font-size:12px;color:var(--text-3)}.gym-banner em[data-v-6a1f1303]{font-style:normal;font-weight:700;color:var(--brand)}.due-hint[data-v-6a1f1303]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);font-size:12px;font-weight:650;color:var(--text-2)}.due-go[data-v-6a1f1303]{flex-shrink:0;padding:5px 10px;border-radius:var(--r-pill);border:1px solid rgba(163,230,53,.45);background:#a3e63524;font-size:11.5px;font-weight:800;color:var(--text)}.practice-stage[data-v-6a1f1303]{display:flex;flex-direction:column;gap:16px}.lesson-progress[data-v-6a1f1303]{display:flex;flex-direction:column;gap:8px}.progress-track[data-v-6a1f1303]{height:6px;background:var(--surface-2);border-radius:var(--r-pill);overflow:hidden}.progress-track span[data-v-6a1f1303]{display:block;height:100%;background:linear-gradient(90deg,var(--brand-strong),var(--brand));border-radius:inherit;box-shadow:0 0 10px var(--brand-glow);transition:width var(--t-slow)}.progress-meta[data-v-6a1f1303]{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--text-3);font-weight:700}.combo-pill[data-v-6a1f1303]{background:linear-gradient(135deg,#fb923c2e,#ef44441a);border:1px solid rgba(251,146,60,.3);color:#fb923c;padding:4px 10px;border-radius:var(--r-pill);font-size:11px;font-weight:800}.focus-pill[data-v-6a1f1303]{background:var(--brand-soft);border:1px solid rgba(163,230,53,.35);color:var(--brand-2);padding:4px 10px;border-radius:var(--r-pill);font-size:11px;font-weight:800}.focus-row[data-v-6a1f1303]{display:flex;gap:6px;flex-wrap:wrap}.focus-pill-btn[data-v-6a1f1303]{padding:8px 12px;border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--border);font-size:12px;font-weight:750;color:var(--text-3);min-height:36px}.focus-pill-btn.active[data-v-6a1f1303]{background:var(--brand-soft);border-color:#a3e63566;color:var(--brand-2)}.config-row[data-v-6a1f1303]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.select-compact[data-v-6a1f1303]{padding:9px 12px;font-size:12.5px;background:var(--surface)}.speed-row[data-v-6a1f1303]{display:flex;align-items:center;gap:8px;padding:0 4px;color:var(--text-3)}.speed-label[data-v-6a1f1303]{font-size:11px;font-weight:700;letter-spacing:.04em;margin-right:4px}.speed-pill[data-v-6a1f1303]{flex:1;padding:6px 10px;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--border);color:var(--text-3);font-size:12px;font-weight:700;transition:all var(--t-base)}.speed-pill.active[data-v-6a1f1303]{background:var(--brand);color:var(--on-brand);border-color:var(--brand);box-shadow:var(--glow-brand)}.lesson-card[data-v-6a1f1303]{position:relative;border-radius:var(--r-2xl);padding:26px 22px 22px;min-height:280px;display:flex;flex-direction:column;gap:14px;background:radial-gradient(620px 280px at 50% -30%,rgba(163,230,53,.16),transparent 60%),radial-gradient(400px 240px at 50% 130%,rgba(168,85,247,.1),transparent 70%),linear-gradient(160deg,var(--surface-2) 0%,var(--surface) 100%);border:1px solid var(--border-strong);overflow:hidden;transition:transform var(--t-slow)}.card-meta[data-v-6a1f1303]{display:flex;align-items:center;gap:8px}.play-btn[data-v-6a1f1303]{position:absolute;top:22px;right:22px;width:46px;height:46px;border-radius:var(--r-pill);display:inline-flex;align-items:center;justify-content:center;background:var(--surface-3);color:var(--brand);border:1px solid var(--border-strong);transition:all var(--t-base)}.play-btn[data-v-6a1f1303]:hover{background:var(--brand);color:var(--on-brand);box-shadow:var(--glow-brand);transform:scale(1.05)}.play-btn[data-v-6a1f1303]:active{transform:scale(.95)}.card-face[data-v-6a1f1303]{flex:1;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:20px 0 8px}.card-face .pron-line[data-v-6a1f1303]{margin:8px 0 0;font-size:15px;font-weight:600;color:var(--text-2);letter-spacing:.02em}.card-face h2[data-v-6a1f1303]{font-size:32px;font-weight:800;letter-spacing:-.02em;line-height:1.22;margin:0;color:var(--text);word-break:keep-all}.card-face .pron-large[data-v-6a1f1303]{margin-top:10px;color:var(--text-3);font-size:14px;font-style:italic}.card-face .example-large[data-v-6a1f1303]{margin-top:12px;color:var(--text-2);font-size:14px;line-height:1.5;font-style:italic}.flip-pill[data-v-6a1f1303]{align-self:center;display:inline-flex;align-items:center;gap:5px;padding:6px 12px;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--r-pill);color:var(--text-2);font-size:11.5px;font-weight:700;transition:all var(--t-base)}.flip-pill[data-v-6a1f1303]:hover{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.empty-state[data-v-6a1f1303]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--text-3);padding:40px 20px}.empty-state svg[data-v-6a1f1303]{color:var(--text-muted);margin-bottom:12px}.empty-state h3[data-v-6a1f1303]{margin:0 0 4px;color:var(--text-2);font-size:16px;font-weight:700}.empty-state p[data-v-6a1f1303]{margin:0;font-size:13px;line-height:1.5;max-width:280px}.complete-state svg[data-v-6a1f1303]{color:var(--brand)}.complete-state h3[data-v-6a1f1303]{color:var(--text)}.restart-btn[data-v-6a1f1303]{margin-top:18px;display:inline-flex;align-items:center;gap:6px}.quiz-block[data-v-6a1f1303]{display:flex;flex-direction:column;gap:12px}.quiz-header[data-v-6a1f1303]{display:flex;align-items:center;justify-content:space-between;gap:10px}.speed-timer[data-v-6a1f1303]{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;background:var(--brand-soft);border:1px solid rgba(163,230,53,.3);color:var(--brand);border-radius:var(--r-pill);font-size:12px;font-weight:800;font-variant-numeric:tabular-nums;transition:all var(--t-base)}.speed-timer.low[data-v-6a1f1303]{background:#fb923c29;border-color:#fb923c66;color:#fb923c;animation:pulse-warn-6a1f1303 .6s ease-in-out infinite}.speed-timer.expired[data-v-6a1f1303]{background:#ef444429;border-color:#ef444466;color:var(--danger)}@keyframes pulse-warn-6a1f1303{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.quiz-prompt[data-v-6a1f1303]{margin:0;font-size:13px;font-weight:700;color:var(--text-3);letter-spacing:.04em;text-transform:uppercase}.dictation-block[data-v-6a1f1303]{display:flex;flex-direction:column;gap:10px}.dictation-result[data-v-6a1f1303]{padding:14px 16px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border-strong);display:flex;flex-direction:column;gap:6px}.dictation-result.ok[data-v-6a1f1303]{border-color:var(--brand);background:#a3e6350f}.dictation-result.mid[data-v-6a1f1303]{border-color:#fbbf24;background:#fbbf240f}.dictation-result.bad[data-v-6a1f1303]{border-color:var(--danger);background:#ef44440d}.dictation-result .row1[data-v-6a1f1303]{display:flex;justify-content:space-between;align-items:baseline}.dictation-result .row1 span[data-v-6a1f1303]{font-size:12px;font-weight:700;color:var(--text-3)}.dictation-result .row1 strong[data-v-6a1f1303]{font-size:24px;font-weight:800}.dictation-result.ok .row1 strong[data-v-6a1f1303]{color:var(--brand)}.dictation-result.mid .row1 strong[data-v-6a1f1303]{color:#fbbf24}.dictation-result.bad .row1 strong[data-v-6a1f1303]{color:var(--danger)}.dictation-result .answer[data-v-6a1f1303]{margin:0;font-size:13px;color:var(--text-2)}.dictation-result .answer strong[data-v-6a1f1303]{color:var(--text);font-weight:800}.quiz-grid[data-v-6a1f1303]{display:grid;grid-template-columns:1fr;gap:10px}.quiz-choice[data-v-6a1f1303]{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:12px;padding:14px 16px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-lg);text-align:left;color:var(--text);font-size:14px;font-weight:700;transition:all var(--t-base)}.quiz-choice[data-v-6a1f1303]:hover:not(:disabled){background:var(--surface-2);border-color:var(--brand)}.quiz-choice[data-v-6a1f1303]:active:not(:disabled){transform:scale(.98)}.quiz-choice .quiz-num[data-v-6a1f1303]{width:28px;height:28px;border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-3);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800}.quiz-choice .quiz-text[data-v-6a1f1303]{flex:1;line-height:1.4}.quiz-choice.right[data-v-6a1f1303]{background:#a3e6351f;border-color:var(--brand);color:var(--brand)}.quiz-choice.right .quiz-num[data-v-6a1f1303]{background:var(--brand);color:var(--on-brand)}.quiz-choice.wrong[data-v-6a1f1303]{background:#ef44441a;border-color:var(--danger);color:var(--danger)}.quiz-choice.wrong .quiz-num[data-v-6a1f1303]{background:var(--danger);color:#fff}.quiz-choice.dim[data-v-6a1f1303]{opacity:.45}.quiz-choice .quiz-icon.ok[data-v-6a1f1303]{color:var(--brand)}.quiz-choice .quiz-icon.bad[data-v-6a1f1303]{color:var(--danger)}.mic-stage[data-v-6a1f1303]{display:flex;flex-direction:column;align-items:center;gap:12px;padding:6px 0}.mic-orb[data-v-6a1f1303]{position:relative;width:84px;height:84px;border-radius:var(--r-pill);display:inline-flex;align-items:center;justify-content:center;background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text-3);transition:all var(--t-base);flex-shrink:0}.mic-orb.ready[data-v-6a1f1303]{background:var(--brand);color:var(--on-brand);border-color:var(--brand);box-shadow:var(--glow-brand),0 8px 24px #0006}.mic-orb.ready[data-v-6a1f1303]:hover{transform:scale(1.06);box-shadow:0 0 40px #a3e63599,0 12px 32px #00000080}.mic-orb.ready[data-v-6a1f1303]:active{transform:scale(.96)}.mic-orb.listening[data-v-6a1f1303]{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border-color:#ef4444;box-shadow:0 0 40px #ef44448c,0 8px 24px #00000080}.orb-pulse[data-v-6a1f1303],.orb-pulse-2[data-v-6a1f1303]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;border:2px solid rgba(239,68,68,.6);animation:orb-pulse-6a1f1303 1.6s ease-out infinite;pointer-events:none}.orb-pulse-2[data-v-6a1f1303]{animation-delay:.6s}@keyframes orb-pulse-6a1f1303{0%{opacity:.8;transform:scale(.95)}to{opacity:0;transform:scale(1.4)}}.mic-hint[data-v-6a1f1303]{margin:0;font-size:13px;color:var(--text-3);font-weight:600}.record-bar[data-v-6a1f1303]{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;width:100%;margin-top:8px}.rec-btn[data-v-6a1f1303]{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:9px 10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-2);font-size:12px;font-weight:700;transition:all var(--t-base)}.rec-btn[data-v-6a1f1303]:hover:not(:disabled){background:var(--surface-2);color:var(--text);border-color:var(--border-strong)}.rec-btn[data-v-6a1f1303]:active:not(:disabled){transform:scale(.96)}.rec-btn.active[data-v-6a1f1303]{background:var(--danger);color:#fff;border-color:var(--danger);box-shadow:0 0 16px #ef444466}.result-card[data-v-6a1f1303]{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:18px;display:flex;flex-direction:column;gap:14px}.transcript-line[data-v-6a1f1303]{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:var(--bg-3);border-radius:var(--r-md);border-left:3px solid var(--brand)}.transcript-line .dot[data-v-6a1f1303]{width:8px;height:8px;border-radius:50%;background:var(--brand);margin-top:8px;flex-shrink:0;box-shadow:0 0 8px var(--brand-glow)}.transcript-line p[data-v-6a1f1303]{margin:0;font-size:14px;color:var(--text);line-height:1.55;word-break:break-word;flex:1}.score-block[data-v-6a1f1303]{display:flex;flex-direction:column;gap:10px}.score-row[data-v-6a1f1303]{display:flex;justify-content:space-between;align-items:baseline}.score-label[data-v-6a1f1303]{font-size:12px;color:var(--text-3);font-weight:700;letter-spacing:.04em}.score-row strong[data-v-6a1f1303]{font-size:28px;font-weight:800;letter-spacing:-.02em}.score-row strong.good[data-v-6a1f1303]{color:var(--brand)}.score-row strong.okay[data-v-6a1f1303]{color:#fbbf24}.score-row strong.low[data-v-6a1f1303]{color:var(--danger)}.score-track[data-v-6a1f1303]{height:8px;border-radius:var(--r-pill);background:var(--surface-2);overflow:hidden}.score-track span[data-v-6a1f1303]{display:block;height:100%;border-radius:inherit;transition:width var(--t-slow)}.score-track span.good[data-v-6a1f1303]{background:linear-gradient(90deg,var(--brand-strong),var(--brand));box-shadow:0 0 10px var(--brand-glow)}.score-track span.okay[data-v-6a1f1303]{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.score-track span.low[data-v-6a1f1303]{background:linear-gradient(90deg,#dc2626,#ef4444)}.score-msg[data-v-6a1f1303]{margin:0;font-size:12.5px;color:var(--text-3);line-height:1.5}.coach-trigger[data-v-6a1f1303]{border:1px solid rgba(192,132,252,.3);background:#c084fc0f;color:#c084fc;font-weight:700}.ai-loading-row[data-v-6a1f1303]{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;color:var(--text-3);font-size:12.5px}.dot-pulse[data-v-6a1f1303]{display:inline-flex;gap:5px}.dot-pulse span[data-v-6a1f1303]{width:6px;height:6px;border-radius:50%;background:#c084fc;animation:pulse-bounce-6a1f1303 1.2s ease-in-out infinite}.dot-pulse span[data-v-6a1f1303]:nth-child(2){animation-delay:.15s}.dot-pulse span[data-v-6a1f1303]:nth-child(3){animation-delay:.3s}@keyframes pulse-bounce-6a1f1303{0%,to{transform:scale(.8);opacity:.4}50%{transform:scale(1.1);opacity:1}}.coach-result[data-v-6a1f1303]{background:var(--bg-3);border:1px solid rgba(192,132,252,.2);border-radius:var(--r-md);padding:14px;display:flex;flex-direction:column;gap:10px}.coach-label[data-v-6a1f1303]{margin:0;font-size:11px;color:#c084fc;font-weight:800;letter-spacing:.04em}.coach-item[data-v-6a1f1303]{background:var(--surface-2);border-radius:var(--r-sm);padding:10px 12px;display:flex;flex-direction:column;gap:3px}.coach-target[data-v-6a1f1303]{margin:0;font-size:14.5px;font-weight:800;color:var(--text)}.coach-rom[data-v-6a1f1303]{margin:0;font-size:11.5px;color:var(--text-3);font-style:italic}.coach-ko[data-v-6a1f1303]{margin:0;font-size:13px;color:var(--text-2)}.coach-note[data-v-6a1f1303]{margin:0;font-size:11.5px;color:var(--text-3);padding-left:8px;border-left:2px solid var(--border-strong)}.practice-controls[data-v-6a1f1303]{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.practice-controls .btn[data-v-6a1f1303]{padding:11px 8px;font-size:12.5px;white-space:nowrap}.btn-master[data-v-6a1f1303]{background:linear-gradient(135deg,#c084fc2e,#a855f714);color:#c084fc;border:1px solid rgba(192,132,252,.3)}.btn-master[data-v-6a1f1303]:hover:not(:disabled){background:linear-gradient(135deg,#c084fc47,#a855f724);color:#d8b4fe}@media(max-width:380px){.practice-controls[data-v-6a1f1303]{grid-template-columns:1fr 1fr}}.scenario-stage[data-v-a07a86a7]{display:flex;flex-direction:column;gap:14px}.hint-card[data-v-a07a86a7]{display:flex;align-items:flex-start;gap:12px;background:linear-gradient(135deg,#c084fc1a,#a855f70a);border-color:#c084fc33}.hint-card h2[data-v-a07a86a7]{margin:0 0 4px;font-size:16px;font-weight:800}.hint-card p[data-v-a07a86a7]{margin:0;font-size:12.5px;color:var(--text-3);line-height:1.5}.progress-summary[data-v-a07a86a7]{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:12px 14px;display:flex;flex-direction:column;gap:8px}.ps-top[data-v-a07a86a7]{display:flex;justify-content:space-between;align-items:center}.ps-label[data-v-a07a86a7]{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--text-3)}.ps-count[data-v-a07a86a7]{font-size:13px;font-weight:800;color:var(--brand)}.ps-track[data-v-a07a86a7]{height:6px;background:var(--surface-2);border-radius:var(--r-pill);overflow:hidden}.ps-track>span[data-v-a07a86a7]{display:block;height:100%;background:linear-gradient(90deg,var(--brand-strong),var(--brand));box-shadow:0 0 8px var(--brand-glow);transition:width var(--t-slow)}.hsk-path-card[data-v-a07a86a7]{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:12px 14px;display:flex;flex-direction:column;gap:8px}.hsk-path-head[data-v-a07a86a7]{display:flex;align-items:center;justify-content:space-between;gap:8px}.hsk-path-head strong[data-v-a07a86a7]{font-size:13.5px;font-weight:800}.path-unlock-all[data-v-a07a86a7]{font-size:11px;font-weight:700;padding:4px 10px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface-2);color:var(--text-3)}.path-unlock-all.on[data-v-a07a86a7]{border-color:#a3e63573;background:#a3e6351f;color:var(--text)}.hsk-path-desc[data-v-a07a86a7]{margin:0;font-size:11.5px;color:var(--text-muted);line-height:1.4}.hsk-path-row[data-v-a07a86a7]{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}@media(min-width:420px){.hsk-path-row[data-v-a07a86a7]{grid-template-columns:repeat(5,1fr)}}@media(min-width:720px){.hsk-path-row[data-v-a07a86a7]{grid-template-columns:repeat(9,1fr)}}.hsk-path-node[data-v-a07a86a7]{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-2);color:var(--text-3);position:relative}.hsk-path-node.unlocked[data-v-a07a86a7]{color:var(--text);border-color:var(--border-strong)}.hsk-path-node.active[data-v-a07a86a7]{border-color:#c084fc8c;background:#c084fc1f}.hsk-path-node.locked[data-v-a07a86a7]{opacity:.55}.hsk-path-lv[data-v-a07a86a7]{font-size:12px;font-weight:800}.hsk-path-meta[data-v-a07a86a7]{font-size:9.5px;font-weight:700;color:var(--text-muted)}.hsk-path-lock[data-v-a07a86a7]{position:absolute;top:4px;right:4px;color:var(--text-muted)}.hsk-path-hint[data-v-a07a86a7]{margin:0;font-size:11.5px;font-weight:650;color:var(--brand);line-height:1.35}.chip.locked[data-v-a07a86a7]{opacity:.55}.mission-card[data-v-a07a86a7]{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:12px 14px}.mission-head[data-v-a07a86a7]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.mission-head strong[data-v-a07a86a7]{font-size:13.5px;font-weight:800}.mission-sub[data-v-a07a86a7]{font-size:11px;color:var(--text-muted);font-weight:600}.mission-list[data-v-a07a86a7]{display:flex;flex-direction:column;gap:8px}.mission-row[data-v-a07a86a7]{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center;padding:8px 10px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid transparent;width:100%;text-align:left;color:inherit;cursor:pointer}.mission-row.done[data-v-a07a86a7]{border-color:#a3e63559;background:#a3e63514}.mission-row.active[data-v-a07a86a7]{border-color:#c084fc80;background:#c084fc1a}.mission-emoji[data-v-a07a86a7]{font-size:18px;text-align:center}.mission-body[data-v-a07a86a7]{display:flex;flex-direction:column;gap:1px;min-width:0}.mission-body strong[data-v-a07a86a7]{font-size:12.5px;font-weight:800}.mission-body span[data-v-a07a86a7]{font-size:11px;color:var(--text-muted);font-weight:650}.mission-badge[data-v-a07a86a7]{font-size:10px;font-weight:800;padding:3px 8px;border-radius:var(--r-pill);background:#a3e63533;color:var(--text)}.mission-bar[data-v-a07a86a7]{width:48px;height:6px;border-radius:var(--r-pill);background:var(--surface-3);overflow:hidden}.mission-bar>i[data-v-a07a86a7]{display:block;height:100%;background:var(--brand)}.mission-more[data-v-a07a86a7]{width:100%;margin-top:2px;padding:8px;font-size:12px;font-weight:700;color:var(--brand);background:transparent;border:1px dashed var(--border);border-radius:var(--r-md)}.continue-card[data-v-a07a86a7]{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;text-align:left;border-radius:var(--r-lg);border:1px solid rgba(192,132,252,.35);background:linear-gradient(135deg,#c084fc24,#38bdf80f);color:var(--text)}.continue-emoji[data-v-a07a86a7]{font-size:26px;line-height:1}.continue-body[data-v-a07a86a7]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.continue-body strong[data-v-a07a86a7]{font-size:13px;font-weight:800}.continue-body span[data-v-a07a86a7]{font-size:12px;color:var(--text-3);font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.series-block[data-v-a07a86a7]{border-color:#38bdf859;background:linear-gradient(135deg,#38bdf814,#c084fc0d)}.series-card[data-v-a07a86a7]{border-color:#38bdf840}.bm-block[data-v-a07a86a7]{border-color:#facc1559}.series-tag[data-v-a07a86a7]{background:#38bdf826;color:#38bdf8}.region-tag[data-v-a07a86a7]{background:#fb923c26;color:#fb923c}.unlock-banner[data-v-a07a86a7]{margin:0;padding:8px 12px;border-radius:var(--r-md);background:#c084fc24;border:1px solid rgba(192,132,252,.35);font-size:12.5px;font-weight:800;color:#c084fc;text-align:center}.unlock-banner.mission[data-v-a07a86a7]{background:#a3e6351f;border-color:#a3e63559;color:var(--text)}.save-turn-cta[data-v-a07a86a7]{display:inline-flex;align-items:center;gap:5px;padding:6px 11px;border-radius:var(--r-pill);border:1px solid rgba(251,191,36,.45);background:#fbbf241f;color:#fbbf24;font-size:11.5px;font-weight:800;white-space:nowrap}.save-turn-cta.saved[data-v-a07a86a7]{background:#fbbf2438;border-color:#fbbf24}.reco-block[data-v-a07a86a7]{background:linear-gradient(135deg,#facc1514,#c084fc0f);border:1px solid rgba(250,204,21,.25);border-radius:var(--r-lg);padding:12px 12px 10px}.reco-head[data-v-a07a86a7]{display:flex;align-items:center;gap:6px;margin-bottom:10px;color:var(--text);font-size:13px}.reco-head strong[data-v-a07a86a7]{font-weight:800}.reco-sub[data-v-a07a86a7]{margin-left:auto;font-size:11px;color:var(--text-muted);font-weight:600}.reco-row[data-v-a07a86a7]{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.reco-row[data-v-a07a86a7]::-webkit-scrollbar{display:none}.reco-card[data-v-a07a86a7]{flex:0 0 auto;width:118px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);text-align:left;color:var(--text)}.reco-card[data-v-a07a86a7]:active{transform:scale(.97)}.reco-emoji[data-v-a07a86a7]{font-size:22px;line-height:1}.reco-title[data-v-a07a86a7]{font-size:12px;font-weight:800;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.reco-meta[data-v-a07a86a7]{font-size:10px;font-weight:700;color:var(--brand)}.filter-clear[data-v-a07a86a7]{margin-left:8px;font-size:11px;font-weight:700;color:var(--brand);background:transparent;border:none;text-decoration:underline;cursor:pointer}.virt-pad[data-v-a07a86a7]{width:100%;flex-shrink:0;pointer-events:none}.reco-link[data-v-a07a86a7]{background:transparent;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:2px;color:var(--brand);font-weight:700}.sort-row[data-v-a07a86a7]{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.sort-row[data-v-a07a86a7]::-webkit-scrollbar{display:none}.sort-pill[data-v-a07a86a7]{flex-shrink:0;padding:5px 11px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface-2);font-size:11.5px;font-weight:700;color:var(--text-3)}.sort-pill.active[data-v-a07a86a7]{background:#c084fc29;border-color:#c084fc73;color:var(--text)}.load-more[data-v-a07a86a7]{margin-top:4px}.roleplay-toggle[data-v-a07a86a7]{display:flex;align-items:center;gap:11px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);text-align:left;transition:all var(--t-base);color:var(--text-3)}.roleplay-toggle.on[data-v-a07a86a7]{background:linear-gradient(135deg,#c084fc24,#a855f70d);border-color:#c084fc73;color:#c084fc}.roleplay-toggle .rt-text[data-v-a07a86a7]{flex:1;display:flex;flex-direction:column;gap:1px}.roleplay-toggle .rt-text strong[data-v-a07a86a7]{font-size:13.5px;font-weight:800;color:var(--text)}.roleplay-toggle .rt-text span[data-v-a07a86a7]{font-size:11.5px;color:var(--text-3)}.rt-switch[data-v-a07a86a7]{width:40px;height:23px;border-radius:var(--r-pill);background:var(--surface-3);border:1px solid var(--border-strong);position:relative;flex-shrink:0;transition:all var(--t-base)}.roleplay-toggle.on .rt-switch[data-v-a07a86a7]{background:#a855f7;border-color:#a855f7}.rt-knob[data-v-a07a86a7]{position:absolute;top:2px;left:2px;width:17px;height:17px;border-radius:50%;background:#fff;transition:transform var(--t-base)}.roleplay-toggle.on .rt-knob[data-v-a07a86a7]{transform:translate(17px)}.search-bar[data-v-a07a86a7]{display:flex;align-items:center;gap:8px;padding:0 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-pill);color:var(--text-muted);transition:border-color var(--t-base)}.search-bar[data-v-a07a86a7]:focus-within{border-color:var(--brand);color:var(--brand)}.search-bar input[data-v-a07a86a7]{flex:1;border:none;background:transparent;padding:11px 0;font-size:14px;color:var(--text);outline:none}.search-bar input[data-v-a07a86a7]::placeholder{color:var(--text-muted)}.search-bar input[data-v-a07a86a7]::-webkit-search-cancel-button{display:none}.clear-btn[data-v-a07a86a7]{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:50%;background:var(--surface-2);color:var(--text-3);cursor:pointer;flex-shrink:0}.clear-btn[data-v-a07a86a7]:hover{background:var(--border-strong);color:var(--text)}.chip-row[data-v-a07a86a7]{display:flex;gap:7px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.chip-row[data-v-a07a86a7]::-webkit-scrollbar{display:none}.level-row[data-v-a07a86a7]{margin-top:-6px}.chip[data-v-a07a86a7]{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;padding:7px 13px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-pill);font-size:12.5px;font-weight:700;color:var(--text-2);white-space:nowrap;transition:all var(--t-base)}.chip[data-v-a07a86a7]:hover{border-color:var(--border-strong);background:var(--surface-2)}.chip[data-v-a07a86a7]:active{transform:scale(.96)}.chip.active[data-v-a07a86a7]{background:linear-gradient(135deg,#c084fc33,#a855f714);border-color:#c084fc80;color:var(--text)}.chip-emoji[data-v-a07a86a7]{font-size:14px;line-height:1}.chip-count[data-v-a07a86a7]{font-size:10px;font-weight:800;color:var(--text-muted);background:var(--surface-2);border-radius:var(--r-pill);padding:1px 6px}.chip.active .chip-count[data-v-a07a86a7]{background:#c084fc40;color:var(--text-2)}.chip-sm[data-v-a07a86a7]{padding:5px 11px;font-size:11.5px}.result-count[data-v-a07a86a7]{margin:-2px 0 0 2px;font-size:11px;font-weight:700;color:var(--text-muted);letter-spacing:.02em}.scenario-grid[data-v-a07a86a7]{display:flex;flex-direction:column;gap:8px}.scenario-tile[data-v-a07a86a7]{display:flex;flex-direction:column;gap:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);text-align:left;transition:all var(--t-base);overflow:hidden}.scenario-tile[data-v-a07a86a7]:hover{background:var(--surface-2);border-color:var(--border-strong)}.scenario-tile.done[data-v-a07a86a7]{border-color:#a3e6354d;background:linear-gradient(135deg,rgba(163,230,53,.06),transparent)}.scenario-tile.bookmarked[data-v-a07a86a7]{border-color:#facc1573}.scenario-main[data-v-a07a86a7]{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;padding:14px 16px;background:transparent;border:0;width:100%;text-align:left;color:inherit}.scenario-extra[data-v-a07a86a7]{display:flex;gap:6px;padding:0 12px 10px}.mini-act[data-v-a07a86a7]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:28px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface-2);color:var(--text-2)}.scenario-tile .emoji[data-v-a07a86a7]{font-size:32px;line-height:1}.scenario-tile .info strong[data-v-a07a86a7]{display:flex;align-items:center;gap:5px;font-size:15px;font-weight:800;color:var(--text);margin-bottom:2px}.scenario-tile .info strong .done-check[data-v-a07a86a7]{color:var(--brand)}.scenario-tile .info p[data-v-a07a86a7]{margin:0 0 4px;font-size:12.5px;color:var(--text-3)}.scenario-tile .info .meta[data-v-a07a86a7]{font-size:10.5px;color:var(--text-muted);font-weight:700;letter-spacing:.04em}.ess-tag[data-v-a07a86a7]{display:inline-block;margin-right:4px;padding:1px 6px;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-size:10px;font-weight:800}.best-score[data-v-a07a86a7]{color:var(--brand)}.player-header[data-v-a07a86a7]{display:flex;align-items:center;gap:10px}.player-header .header-info[data-v-a07a86a7]{display:flex;flex-direction:column;line-height:1.2;flex:1}.player-header strong[data-v-a07a86a7]{font-size:14.5px;font-weight:800;color:var(--text)}.player-header span[data-v-a07a86a7]{font-size:11px;color:var(--text-3);font-weight:700}.rp-badge[data-v-a07a86a7]{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;background:#c084fc24;border:1px solid rgba(192,132,252,.35);color:#c084fc;border-radius:var(--r-pill);font-size:10.5px;font-weight:800}.progress-track[data-v-a07a86a7]{height:5px;background:var(--surface-2);border-radius:var(--r-pill);overflow:hidden}.progress-track>span[data-v-a07a86a7]{display:block;height:100%;background:linear-gradient(90deg,var(--brand-strong),var(--brand));box-shadow:0 0 8px var(--brand-glow);transition:width var(--t-slow)}.done-card[data-v-a07a86a7]{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:28px 22px;border-radius:var(--r-2xl);background:radial-gradient(560px 240px at 50% -20%,rgba(163,230,53,.16),transparent 60%),linear-gradient(160deg,var(--surface-2),var(--surface));border:1px solid var(--border-strong)}.done-card>svg[data-v-a07a86a7]{color:var(--brand)}.done-card h3[data-v-a07a86a7]{margin:0;font-size:19px;font-weight:800;color:var(--text);word-break:keep-all}.done-stats[data-v-a07a86a7]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;margin-top:4px}.ds-item[data-v-a07a86a7]{display:flex;flex-direction:column;gap:3px;padding:12px 8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md)}.ds-item span[data-v-a07a86a7]{font-size:10.5px;color:var(--text-3);font-weight:700}.ds-item strong[data-v-a07a86a7]{font-size:19px;font-weight:800;color:var(--text)}.ds-item strong.good[data-v-a07a86a7]{color:var(--brand)}.ds-item strong.okay[data-v-a07a86a7]{color:#fbbf24}.ds-item strong.low[data-v-a07a86a7]{color:var(--danger)}.ds-item strong.xp[data-v-a07a86a7]{color:#c084fc}.ds-item strong.muted[data-v-a07a86a7]{color:var(--text-muted);font-size:14px}.first-clear[data-v-a07a86a7]{margin:0;font-size:13px;font-weight:800;color:var(--brand)}.save-all-btn[data-v-a07a86a7]{margin-top:4px;border:1px solid rgba(163,230,53,.3);color:var(--brand)}.save-all-btn[data-v-a07a86a7]:disabled{opacity:.7}.ai-chat-btn[data-v-a07a86a7]{border:1px solid rgba(192,132,252,.35);background:linear-gradient(135deg,#c084fc24,#a855f70d);color:#c084fc;font-weight:700}.ai-chat-btn[data-v-a07a86a7]:hover{background:linear-gradient(135deg,#c084fc38,#a855f71a)}.done-actions[data-v-a07a86a7]{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;margin-top:2px}.dialog-feed[data-v-a07a86a7]{display:flex;flex-direction:column;gap:8px}.bubble[data-v-a07a86a7]{position:relative;padding:14px 14px 12px;border-radius:var(--r-lg);background:var(--surface-2);border:1px solid var(--border);max-width:90%;display:flex;flex-direction:column;gap:4px}.bubble.partner[data-v-a07a86a7]{align-self:flex-start;border-top-left-radius:4px}.bubble.me[data-v-a07a86a7]{align-self:flex-end;background:linear-gradient(135deg,#a3e63529,#84cc160f);border-color:#a3e6354d;border-top-right-radius:4px}.bubble-actor[data-v-a07a86a7]{font-size:10.5px;color:var(--text-3);font-weight:800;letter-spacing:.04em;text-transform:uppercase}.bubble.me .bubble-actor[data-v-a07a86a7]{color:var(--brand)}.bubble-target[data-v-a07a86a7]{margin:0;font-size:16px;font-weight:800;color:var(--text);line-height:1.35;word-break:keep-all}.bubble-pron[data-v-a07a86a7]{margin:0;font-size:11.5px;color:var(--text-3);font-style:italic}.bubble-meaning[data-v-a07a86a7]{margin:0;font-size:12.5px;color:var(--text-2)}.bubble .play[data-v-a07a86a7]{position:absolute;top:8px;right:8px}.prompt-card[data-v-a07a86a7]{border:1px solid var(--border-strong);border-radius:var(--r-xl);padding:18px 20px;background:linear-gradient(160deg,var(--surface-2),var(--surface))}.prompt-card.me[data-v-a07a86a7]{background:linear-gradient(160deg,#a3e6351f,#84cc160a);border-color:#a3e63552}.prompt-top[data-v-a07a86a7]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.prompt-card .eyebrow[data-v-a07a86a7]{margin:0;font-size:11px;color:var(--text-3);font-weight:800;letter-spacing:.06em;text-transform:uppercase}.prompt-card.me .eyebrow[data-v-a07a86a7]{color:var(--brand)}.save-turn-btn[data-v-a07a86a7]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:1px solid var(--border);background:var(--surface-3);color:var(--text-3);transition:all var(--t-base)}.save-turn-btn[data-v-a07a86a7]:hover{color:#fbbf24;border-color:#fbbf24}.save-turn-btn.saved[data-v-a07a86a7]{color:#fbbf24;border-color:#fbbf2466;background:#fbbf241a}.prompt-card h3[data-v-a07a86a7]{margin:0;font-size:22px;font-weight:800;color:var(--text);letter-spacing:-.02em;line-height:1.3;word-break:keep-all}.prompt-card .prompt-pron[data-v-a07a86a7]{margin:6px 0 0;font-size:12.5px;color:var(--text-3);font-style:italic}.prompt-card .prompt-pron.hint[data-v-a07a86a7]{margin-top:10px;color:#c084fc;font-weight:700;font-style:normal}.prompt-card .prompt-meaning[data-v-a07a86a7]{margin:8px 0 0;font-size:13.5px;color:var(--text-2)}.rp-cue[data-v-a07a86a7]{display:flex;align-items:center;gap:6px;margin:0 0 8px;font-size:13px;font-weight:800;color:#c084fc}.rp-meaning[data-v-a07a86a7]{margin:0;font-size:19px;font-weight:800;color:var(--text);line-height:1.35;word-break:keep-all}.score-block[data-v-a07a86a7]{margin-top:14px;padding-top:14px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.score-row[data-v-a07a86a7]{display:flex;justify-content:space-between;align-items:baseline}.score-label[data-v-a07a86a7]{font-size:11.5px;color:var(--text-3);font-weight:700;letter-spacing:.04em}.score-row strong[data-v-a07a86a7]{font-size:22px;font-weight:800}.score-row strong.good[data-v-a07a86a7]{color:var(--brand)}.score-row strong.okay[data-v-a07a86a7]{color:#fbbf24}.score-row strong.low[data-v-a07a86a7]{color:var(--danger)}.score-track[data-v-a07a86a7]{height:7px;border-radius:var(--r-pill);background:var(--surface-2);overflow:hidden}.score-track span[data-v-a07a86a7]{display:block;height:100%;border-radius:inherit;transition:width var(--t-slow)}.score-track span.good[data-v-a07a86a7]{background:linear-gradient(90deg,var(--brand-strong),var(--brand));box-shadow:0 0 8px var(--brand-glow)}.score-track span.okay[data-v-a07a86a7]{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.score-track span.low[data-v-a07a86a7]{background:linear-gradient(90deg,#dc2626,#ef4444)}.actions-row[data-v-a07a86a7]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.actions-row.roleplay-actions[data-v-a07a86a7]{grid-template-columns:1fr 1fr 1fr 1fr}.actions-row .btn[data-v-a07a86a7]{padding:12px 8px;font-size:12.5px}.actions-row .btn-secondary.active[data-v-a07a86a7]{background:var(--danger);color:#fff;border-color:var(--danger);box-shadow:0 0 14px #ef444466}.transcript-line[data-v-a07a86a7]{padding:10px 12px;background:var(--bg-3);border:1px dashed var(--border-strong);border-radius:var(--r-md);font-size:13px;color:var(--text-2);line-height:1.5}@media(max-width:380px){.actions-row[data-v-a07a86a7],.actions-row.roleplay-actions[data-v-a07a86a7]{grid-template-columns:1fr 1fr}}.tone-stats[data-v-b98e39a2]{background:var(--surface, rgba(128, 128, 128, .08));border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:10px}.ts-head[data-v-b98e39a2]{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.ts-head h3[data-v-b98e39a2]{margin:2px 0 0;font-size:15px}.eyebrow[data-v-b98e39a2]{margin:0;font-size:11px;color:var(--text-3);letter-spacing:.04em}.ts-overall[data-v-b98e39a2]{font-size:24px;line-height:1;font-variant-numeric:tabular-nums}.ts-overall span[data-v-b98e39a2]{font-size:12px;margin-left:2px}.ts-overall.good[data-v-b98e39a2]{color:var(--brand)}.ts-overall.okay[data-v-b98e39a2]{color:#fbbf24}.ts-overall.low[data-v-b98e39a2]{color:#f87171}.ts-empty[data-v-b98e39a2]{margin:0;font-size:12px;color:var(--text-3);line-height:1.5}.ts-bars[data-v-b98e39a2]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.ts-bars li[data-v-b98e39a2]{display:grid;grid-template-columns:88px 1fr 30px 38px;align-items:center;gap:8px}.ts-bars li.weak .ts-name b[data-v-b98e39a2]{color:#f87171}.ts-name[data-v-b98e39a2]{display:flex;flex-direction:column;line-height:1.2}.ts-name b[data-v-b98e39a2]{font-size:13px}.ts-name em[data-v-b98e39a2]{font-style:normal;font-size:10px;color:var(--text-3)}.ts-track[data-v-b98e39a2]{height:7px;border-radius:99px;background:#80808038;overflow:hidden}.ts-fill[data-v-b98e39a2]{display:block;height:100%;border-radius:99px;background:var(--brand);transition:width .35s ease}.ts-fill.okay[data-v-b98e39a2]{background:#fbbf24}.ts-fill.low[data-v-b98e39a2]{background:#f87171}.ts-val[data-v-b98e39a2]{font-size:13px;text-align:right;font-variant-numeric:tabular-nums}.ts-n[data-v-b98e39a2]{font-size:10px;color:var(--text-3);text-align:right}.ts-confusion[data-v-b98e39a2]{list-style:none;margin:0;padding:8px 0 0;border-top:1px solid var(--line, rgba(128, 128, 128, .2));display:flex;flex-direction:column;gap:5px}.ts-confusion li[data-v-b98e39a2]{display:flex;align-items:center;gap:5px;font-size:12px}.ts-chip[data-v-b98e39a2]{padding:1px 7px;border-radius:99px;background:#80808029;font-size:11px}.ts-chip.bad[data-v-b98e39a2]{color:#f87171}.ts-arrow[data-v-b98e39a2]{color:var(--text-3)}.ts-note[data-v-b98e39a2]{color:var(--text-3);font-size:11px}.ts-local[data-v-b98e39a2]{margin:0;font-size:11px;color:var(--text-3)}@media(prefers-reduced-motion:reduce){.ts-fill[data-v-b98e39a2]{transition:none}}.more-hub[data-v-19947357]{gap:14px;padding-bottom:8px}.more-block[data-v-19947357]{margin-top:2px}.tone-drill-msg[data-v-19947357]{margin:-6px 0 0;font-size:12px;color:var(--text-3)}.more-title[data-v-19947357]{margin:0;font-size:22px;font-weight:800;letter-spacing:-.03em}.more-sub[data-v-19947357]{margin:0;color:var(--text-3);font-size:13px;line-height:1.45}.more-grid[data-v-19947357]{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.more-card[data-v-19947357]{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 14px 12px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border);text-align:left;min-height:88px;transition:transform var(--t-snap),border-color var(--t-base)}.more-card[data-v-19947357]:active{transform:scale(.97)}.more-card[data-v-19947357]:hover{border-color:var(--border-strong)}.mc-ico[data-v-19947357]{font-size:22px;line-height:1}.more-card strong[data-v-19947357]{font-size:14px;font-weight:800}.more-card em[data-v-19947357]{font-style:normal;font-size:11.5px;color:var(--text-3)}.offline-card[data-v-19947357]{margin-top:4px;padding:14px;border-radius:var(--r-lg);background:var(--surface-2);border:1px solid var(--border);display:flex;flex-direction:column;gap:10px}.off-top[data-v-19947357]{display:flex;gap:10px;align-items:flex-start}.off-top span[data-v-19947357]{font-size:22px}.off-top strong[data-v-19947357]{display:block;font-size:14px}.off-top p[data-v-19947357]{margin:4px 0 0;font-size:12px;color:var(--text-3);line-height:1.4}.off-status[data-v-19947357]{margin:0;font-size:12px;color:var(--text-3)}.off-status.ok[data-v-19947357]{color:var(--success);font-weight:700}.off-checklist[data-v-19947357]{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-3)}.off-checklist li.on[data-v-19947357]{color:var(--success);font-weight:700}.auth-screen[data-v-3a937dd0]{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:calc(var(--safe-top) + 24px) 20px calc(var(--safe-bottom) + 24px);background:radial-gradient(1200px 600px at 50% -10%,rgba(163,230,53,.12),transparent 60%),radial-gradient(800px 500px at 50% 110%,rgba(239,68,68,.08),transparent 60%),var(--bg)}.auth-card[data-v-3a937dd0]{width:100%;max-width:400px;display:flex;flex-direction:column}.auth-brand[data-v-3a937dd0]{text-align:center;margin-bottom:26px}.auth-logo[data-v-3a937dd0]{width:72px;height:72px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;font-size:38px;border-radius:var(--r-xl);background:linear-gradient(135deg,var(--surface-2),var(--surface));border:1px solid var(--border-strong);box-shadow:var(--glow-brand),var(--sh)}.auth-title[data-v-3a937dd0]{font-size:30px;font-weight:900;letter-spacing:-.01em;margin:0;color:var(--text)}.auth-zh[data-v-3a937dd0]{color:var(--zh)}.auth-tagline[data-v-3a937dd0]{margin:6px 0 0;font-size:13.5px;color:var(--text-3);font-weight:600}.auth-seg[data-v-3a937dd0]{grid-template-columns:repeat(2,1fr);margin-bottom:18px}.auth-form[data-v-3a937dd0]{display:flex;flex-direction:column;gap:13px}.opt[data-v-3a937dd0]{color:var(--text-muted);font-weight:600}.input-wrap[data-v-3a937dd0]{position:relative;display:flex;align-items:center}.input-icon[data-v-3a937dd0]{position:absolute;left:13px;color:var(--text-muted);pointer-events:none}.input.has-icon[data-v-3a937dd0]{padding-left:38px}.input.has-trail[data-v-3a937dd0]{padding-right:42px}.input-trail[data-v-3a937dd0]{position:absolute;right:6px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--text-3);border-radius:var(--r-sm)}.input-trail[data-v-3a937dd0]:hover{color:var(--text);background:var(--surface-2)}.auth-error[data-v-3a937dd0]{display:flex;align-items:center;gap:6px;margin:0;padding:9px 12px;font-size:12.5px;font-weight:600;color:var(--danger);background:#f871711a;border:1px solid rgba(248,113,113,.25);border-radius:var(--r-md)}.auth-submit[data-v-3a937dd0]{margin-top:4px;gap:8px}.spin[data-v-3a937dd0]{animation:auth-spin-3a937dd0 .8s linear infinite}@keyframes auth-spin-3a937dd0{to{transform:rotate(360deg)}}.auth-divider[data-v-3a937dd0]{display:flex;align-items:center;gap:12px;margin:18px 0 14px;color:var(--text-muted);font-size:11.5px;font-weight:700}.auth-divider[data-v-3a937dd0]:before,.auth-divider[data-v-3a937dd0]:after{content:"";flex:1;height:1px;background:var(--border)}.auth-social[data-v-3a937dd0]{display:flex;flex-direction:column;gap:8px}.social-btn[data-v-3a937dd0]{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;padding:12px 16px;border-radius:var(--r-md);font-size:14px;font-weight:700;border:1px solid var(--border-strong);transition:all var(--t-base);background:var(--surface);color:var(--text)}.social-btn[data-v-3a937dd0]:hover{transform:translateY(-1px);box-shadow:var(--sh)}.social-btn[data-v-3a937dd0]:active{transform:scale(.98)}.social-btn .social-ico[data-v-3a937dd0]{font-size:15px;font-weight:900;width:18px;text-align:center}.social-btn.google[data-v-3a937dd0]{background:#fff;color:#1f1f1f;border-color:#dadce0}.social-btn.google .social-ico[data-v-3a937dd0]{color:#4285f4}.social-btn.kakao[data-v-3a937dd0]{background:#fee500;color:#191600;border-color:#fee500}.social-btn.apple[data-v-3a937dd0]{background:#000;color:#fff;border-color:#000}.social-btn.apple .social-ico[data-v-3a937dd0]{font-size:17px;line-height:1}.social-notice[data-v-3a937dd0]{display:flex;align-items:center;gap:6px;margin:12px 0 0;padding:9px 12px;font-size:12.5px;font-weight:600;color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md)}.auth-guest[data-v-3a937dd0]{color:var(--text-2);margin-top:14px}.auth-foot[data-v-3a937dd0]{margin:20px 0 0;text-align:center;font-size:11.5px;line-height:1.6;color:var(--text-muted)}.auth-legal[data-v-3a937dd0]{margin:12px 0 0;text-align:center;font-size:11px;line-height:1.55;color:var(--text-muted)}.auth-legal a[data-v-3a937dd0]{color:var(--brand);text-decoration:underline}.auth-msg-enter-active[data-v-3a937dd0],.auth-msg-leave-active[data-v-3a937dd0]{transition:all var(--t-base)}.auth-msg-enter-from[data-v-3a937dd0],.auth-msg-leave-to[data-v-3a937dd0]{opacity:0;transform:translateY(-4px)}.ai-sheet[data-v-afaf6c91]{max-height:92vh;gap:14px}.ai-head[data-v-afaf6c91]{display:flex;align-items:center;justify-content:space-between;gap:12px}.ai-head .eyebrow[data-v-afaf6c91]{margin:0;color:var(--brand);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.ai-head h2[data-v-afaf6c91]{margin:4px 0 0;font-size:18px;font-weight:800}.ai-tabs[data-v-afaf6c91]{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;background:var(--surface-2);border-radius:var(--r-md);padding:4px}.ai-tabs.ai-tabs-grid[data-v-afaf6c91]{grid-template-columns:repeat(5,1fr)}.ai-tabs button[data-v-afaf6c91]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:7px 2px;border-radius:var(--r-sm);color:var(--text-3);font-size:10.5px;font-weight:700;transition:all var(--t-base)}.ai-tabs button.active[data-v-afaf6c91]{background:var(--brand);color:var(--on-brand);box-shadow:0 4px 14px #a3e6354d}.ai-tabs.ai-tabs-grid[data-v-afaf6c91]{grid-template-rows:1fr 1fr;grid-auto-flow:dense}@media(max-width:380px){.ai-tabs.ai-tabs-grid[data-v-afaf6c91]{grid-template-columns:repeat(3,1fr)}}.ai-pane[data-v-afaf6c91]{display:flex;flex-direction:column;gap:10px;min-height:340px}.ai-control-row[data-v-afaf6c91]{display:flex;gap:8px}.chat-history[data-v-afaf6c91]{flex:1;display:flex;flex-direction:column;gap:8px;background:var(--bg-3);border:1px solid var(--border);border-radius:var(--r-md);padding:14px;min-height:240px;max-height:360px;overflow-y:auto}.chat-msg[data-v-afaf6c91]{max-width:88%;padding:10px 12px;border-radius:var(--r-md);border:1px solid var(--border);display:flex;flex-direction:column;gap:3px}.chat-msg.user[data-v-afaf6c91]{align-self:flex-end;background:var(--brand-soft);border-color:#a3e63540}.chat-msg.assistant[data-v-afaf6c91]{align-self:flex-start;background:var(--surface-2)}.chat-msg.loading[data-v-afaf6c91]{padding:14px 16px}.chat-text[data-v-afaf6c91]{margin:0;font-size:14px;font-weight:600;color:var(--text);line-height:1.45}.chat-rom[data-v-afaf6c91]{margin:0;font-size:11.5px;color:var(--text-3);font-style:italic}.chat-ko[data-v-afaf6c91]{margin:3px 0 0;font-size:12px;color:var(--text-2);padding-top:3px;border-top:1px dashed var(--border)}.dot-pulse[data-v-afaf6c91]{display:inline-flex;gap:5px}.dot-pulse span[data-v-afaf6c91]{width:7px;height:7px;border-radius:50%;background:var(--text-3);animation:pulse-bounce-afaf6c91 1.2s ease-in-out infinite}.dot-pulse span[data-v-afaf6c91]:nth-child(2){animation-delay:.15s}.dot-pulse span[data-v-afaf6c91]:nth-child(3){animation-delay:.3s}@keyframes pulse-bounce-afaf6c91{0%,to{transform:scale(.8);opacity:.4}50%{transform:scale(1.1);opacity:1}}.chat-input-row[data-v-afaf6c91]{display:grid;grid-template-columns:1fr auto;gap:8px}.ai-result-list[data-v-afaf6c91]{display:flex;flex-direction:column;gap:10px}.ai-result-item[data-v-afaf6c91]{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:14px;display:flex;flex-direction:column;gap:5px}.ai-result-head[data-v-afaf6c91]{margin-bottom:4px}.ai-target[data-v-afaf6c91]{margin:0;font-size:16px;font-weight:800;color:var(--text);letter-spacing:-.01em}.ai-rom[data-v-afaf6c91]{margin:0;font-size:12px;color:var(--text-3);font-style:italic}.ai-ko[data-v-afaf6c91]{margin:0;font-size:13px;color:var(--text-2)}.ai-note[data-v-afaf6c91]{margin:0;font-size:11.5px;color:var(--text-3);padding-left:8px;border-left:2px solid var(--border-strong)}.ai-actions[data-v-afaf6c91]{display:flex;gap:6px;margin-top:6px}.tag-line[data-v-afaf6c91]{display:flex;flex-wrap:wrap;gap:4px}.tag-line span[data-v-afaf6c91]{font-size:11px;color:var(--text-3);padding:2px 7px;border-radius:var(--r-pill);background:var(--surface-2)}.story-result h3[data-v-afaf6c91]{margin:0 0 8px;font-size:16px;font-weight:800;color:var(--text)}.story-sentence[data-v-afaf6c91]{display:flex;flex-direction:column;gap:3px;padding:8px 0;border-bottom:1px dashed var(--border)}.story-sentence[data-v-afaf6c91]:last-child{border-bottom:0}.hint-line[data-v-afaf6c91]{margin:0;font-size:11.5px;color:var(--text-muted)}.quick-pick-row[data-v-afaf6c91]{display:flex;gap:6px;flex-wrap:wrap}.form-error[data-v-afaf6c91]{margin:0;color:var(--danger);font-size:12px}.empty-line[data-v-afaf6c91]{color:var(--text-muted);font-size:13px;padding:16px 0;text-align:center;margin:0}.ai-eyebrow[data-v-afaf6c91]{margin:0 0 6px;font-size:10.5px;color:var(--brand);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.grade-result[data-v-afaf6c91]{gap:12px}.grade-score-row[data-v-afaf6c91]{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center}.grade-score[data-v-afaf6c91]{display:flex;flex-direction:column;align-items:center;width:84px;height:84px;border-radius:50%;background:var(--surface-2);border:3px solid var(--brand);font-size:28px;font-weight:800;color:var(--text);justify-content:center}.grade-score span[data-v-afaf6c91]{font-size:11px;color:var(--text-3);font-weight:600}.grade-score.rank-s[data-v-afaf6c91]{border-color:#fde047;box-shadow:0 0 18px #fde04766}.grade-score.rank-a[data-v-afaf6c91]{border-color:#a3e635}.grade-score.rank-b[data-v-afaf6c91]{border-color:#60a5fa}.grade-score.rank-c[data-v-afaf6c91]{border-color:#fb923c}.grade-breakdown p[data-v-afaf6c91]{margin:0;font-size:12.5px;color:var(--text-2);padding:2px 0}.grade-breakdown strong[data-v-afaf6c91]{color:var(--text)}.grade-issues[data-v-afaf6c91],.grade-natural[data-v-afaf6c91]{padding:10px;background:var(--bg-3);border-radius:var(--r-sm);border-left:3px solid var(--brand)}.grade-issue p[data-v-afaf6c91]{margin:0;font-size:12.5px;line-height:1.5}.grade-issue[data-v-afaf6c91]{padding:6px 0;border-bottom:1px dashed var(--border)}.grade-issue[data-v-afaf6c91]:last-child{border-bottom:0}.chat-hint[data-v-afaf6c91]{margin:4px 0 0;font-size:11.5px;color:var(--text-3);padding-top:4px;border-top:1px dashed var(--border)}.ask-answer[data-v-afaf6c91]{font-size:14px;font-weight:600;line-height:1.55;white-space:pre-wrap}.ask-followups[data-v-afaf6c91]{display:flex;flex-direction:column;gap:6px}.ask-followups button[data-v-afaf6c91]{text-align:left}.joke-card[data-v-afaf6c91]{background:linear-gradient(135deg,#fbbf241a,#f59e0b0a);border-color:#fbbf2440}.ai-card-sheet[data-v-a6a5a313]{gap:14px;max-height:88vh}.ai-head[data-v-a6a5a313]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ai-head .eyebrow[data-v-a6a5a313]{margin:0;color:var(--brand);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.ai-head h2[data-v-a6a5a313]{margin:4px 0 2px;font-size:18px;font-weight:800}.card-meaning[data-v-a6a5a313]{margin:0;font-size:13px;color:var(--text-3)}.ai-tabs[data-v-a6a5a313]{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--surface-2);border-radius:var(--r-md);padding:4px}.ai-tabs button[data-v-a6a5a313]{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:10px;border-radius:var(--r-sm);color:var(--text-3);font-size:12px;font-weight:700;transition:all var(--t-base)}.ai-tabs button.active[data-v-a6a5a313]{background:var(--brand);color:var(--on-brand)}.ai-pane[data-v-a6a5a313]{display:flex;flex-direction:column;gap:10px;min-height:240px}.ai-loading[data-v-a6a5a313]{display:flex;align-items:center;gap:8px;padding:32px;justify-content:center;color:var(--text-3);font-size:13px}.dot-pulse[data-v-a6a5a313]{display:inline-flex;gap:5px}.dot-pulse span[data-v-a6a5a313]{width:7px;height:7px;border-radius:50%;background:var(--brand);animation:pulse-bounce-a6a5a313 1.2s ease-in-out infinite}.dot-pulse span[data-v-a6a5a313]:nth-child(2){animation-delay:.15s}.dot-pulse span[data-v-a6a5a313]:nth-child(3){animation-delay:.3s}@keyframes pulse-bounce-a6a5a313{0%,to{transform:scale(.8);opacity:.4}50%{transform:scale(1.1);opacity:1}}.ai-result-item[data-v-a6a5a313]{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:14px;display:flex;flex-direction:column;gap:5px}.ai-summary[data-v-a6a5a313]{margin:0;font-size:14px;font-weight:600;color:var(--text);line-height:1.55;padding-bottom:10px;border-bottom:1px solid var(--border)}.breakdown-list[data-v-a6a5a313]{display:flex;flex-direction:column;gap:10px}.breakdown-item[data-v-a6a5a313]{background:var(--surface-2);border-radius:var(--r-sm);padding:10px 12px;display:flex;flex-direction:column;gap:3px}.breakdown-item strong[data-v-a6a5a313]{font-size:14px;font-weight:700;color:var(--text)}.breakdown-item .role[data-v-a6a5a313]{font-size:10.5px;color:var(--brand);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.breakdown-item p[data-v-a6a5a313]{margin:2px 0 0;font-size:13px;color:var(--text-2);line-height:1.5}.tips-block[data-v-a6a5a313]{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border)}.tips-label[data-v-a6a5a313]{margin:0 0 6px;font-size:11.5px;color:var(--text-3);font-weight:700}.tips-block ul[data-v-a6a5a313]{margin:0;padding-left:18px}.tips-block li[data-v-a6a5a313]{font-size:12.5px;color:var(--text-2);line-height:1.55;margin-bottom:3px}.ai-result-list[data-v-a6a5a313]{display:flex;flex-direction:column;gap:8px}.ai-target[data-v-a6a5a313]{margin:0;font-size:16px;font-weight:800;color:var(--text)}.ai-rom[data-v-a6a5a313]{margin:0;font-size:12px;color:var(--text-3);font-style:italic}.ai-ko[data-v-a6a5a313]{margin:0;font-size:13px;color:var(--text-2)}.form-error[data-v-a6a5a313]{margin:0;color:var(--danger);font-size:12px}.seg[data-v-3f43b851]{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;background:var(--surface);padding:4px;border:1px solid var(--border);border-radius:var(--r-md)}.seg button[data-v-3f43b851]{padding:9px 8px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border-radius:calc(var(--r-md) - 4px);background:transparent;color:var(--text-3);font-size:12.5px;font-weight:700;transition:all var(--t-base)}.seg button.active[data-v-3f43b851]{background:var(--surface-2);color:var(--text);box-shadow:var(--sh-sm)}.seg button[data-v-3f43b851]:hover:not(.active){color:var(--text-2)}.seg-font[data-v-3f43b851]{grid-template-columns:repeat(4,1fr)}.seg-font button[data-v-3f43b851]:nth-child(1){font-size:12px}.seg-font button[data-v-3f43b851]:nth-child(2){font-size:14px}.seg-font button[data-v-3f43b851]:nth-child(3){font-size:16px}.seg-font button[data-v-3f43b851]:nth-child(4){font-size:18px}.seg-4[data-v-3f43b851]{grid-template-columns:repeat(4,1fr)}.seg-wrap[data-v-3f43b851]{display:flex;flex-wrap:wrap;gap:6px;grid-template-columns:none}.seg-wrap button[data-v-3f43b851]{flex:1 1 auto;min-width:4.2em}.voice-list[data-v-3f43b851]{display:flex;flex-direction:column;gap:6px;margin-top:8px;max-height:280px;overflow:auto;-webkit-overflow-scrolling:touch}.voice-card[data-v-3f43b851]{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 12px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-2);transition:border-color var(--t-base),background var(--t-base)}.voice-card.active[data-v-3f43b851]{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 1px var(--brand-soft)}.voice-emoji[data-v-3f43b851]{font-size:22px;line-height:1;width:28px;text-align:center}.voice-meta[data-v-3f43b851]{display:flex;flex-direction:column;gap:2px;min-width:0}.voice-meta strong[data-v-3f43b851]{font-size:13px;font-weight:800;color:var(--text);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.voice-meta small[data-v-3f43b851]{font-size:11px;color:var(--text-3);line-height:1.3}.rec-pill[data-v-3f43b851]{font-style:normal;font-size:10px;font-weight:800;padding:2px 7px;border-radius:999px;background:var(--brand-soft);color:var(--brand);letter-spacing:.02em}.sub-label[data-v-3f43b851]{margin:0 0 6px;font-size:11.5px;font-weight:700;color:var(--text-3)}.native-feat-list li[data-v-3f43b851]{display:flex;justify-content:space-between;gap:10px}.native-feat-list strong[data-v-3f43b851]{font-size:12px;color:var(--brand);font-weight:700}.action-row[data-v-3f43b851]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.action-row .btn[data-v-3f43b851]{cursor:pointer}.panel-list[data-v-3f43b851]{display:flex;flex-direction:column;gap:6px}.panel-row[data-v-3f43b851]{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:10px 12px;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);transition:border-color var(--t-base)}.panel-row[data-v-3f43b851]:hover{border-color:var(--border-strong)}.panel-name[data-v-3f43b851]{font-size:12.5px;font-weight:700;color:var(--text)}.panel-switch[data-v-3f43b851]{position:relative;flex-shrink:0;width:40px;height:23px;border-radius:var(--r-pill);background:var(--surface-3);transition:background var(--t-base)}.panel-switch.on[data-v-3f43b851]{background:var(--brand)}.panel-switch .knob[data-v-3f43b851]{position:absolute;top:2px;left:2px;width:19px;height:19px;border-radius:50%;background:#fff;box-shadow:var(--sh-sm);transition:transform var(--t-base)}.panel-switch.on .knob[data-v-3f43b851]{transform:translate(17px)}.kb-list[data-v-3f43b851]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.kb-list li[data-v-3f43b851]{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--text-2)}.kb-list kbd[data-v-3f43b851]{padding:4px 10px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm);font-family:SF Mono,Menlo,monospace;font-size:11.5px;font-weight:700;color:var(--text);min-width:56px;text-align:center}.ai-stats[data-v-3f43b851]{display:flex;flex-direction:column;gap:6px}.ai-stat-row[data-v-3f43b851]{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md)}.ai-stat-emoji[data-v-3f43b851]{font-size:16px;flex-shrink:0}.ai-stat-label[data-v-3f43b851]{flex:1;font-size:12.5px;font-weight:700;color:var(--text)}.ai-stat-count[data-v-3f43b851]{font-size:13px;font-weight:800;color:var(--brand);font-variant-numeric:tabular-nums}.ai-stat-count small[data-v-3f43b851]{font-size:10px;color:var(--text-3);font-weight:700;margin-left:2px}.acct-id[data-v-3f43b851]{display:flex;align-items:center;gap:11px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md)}.acct-avatar[data-v-3f43b851]{width:38px;height:38px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:var(--r-pill);background:linear-gradient(135deg,var(--brand),var(--brand-strong));color:var(--on-brand);font-weight:900;font-size:16px}.acct-meta[data-v-3f43b851]{flex:1;display:flex;flex-direction:column;min-width:0}.acct-name[data-v-3f43b851]{font-size:13.5px;font-weight:800;color:var(--text)}.acct-email[data-v-3f43b851]{font-size:11.5px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acct-tier[data-v-3f43b851]{flex-shrink:0;padding:3px 9px;border-radius:var(--r-pill);font-size:10px;font-weight:800;letter-spacing:.04em;background:var(--surface-3);color:var(--text-3)}.acct-tier.pro[data-v-3f43b851]{background:var(--brand-soft);color:var(--brand)}.acct-danger[data-v-3f43b851]{color:var(--danger)}.acct-danger[data-v-3f43b851]:hover:not(:disabled){background:#f871711f}.acct-sync[data-v-3f43b851]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}.acct-sync .spin[data-v-3f43b851]{animation:acct-spin-3f43b851 .8s linear infinite}@keyframes acct-spin-3f43b851{to{transform:rotate(360deg)}}.weekly-board[data-v-9f1138cd]{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.wb-title[data-v-9f1138cd]{margin:0 0 4px;font-size:13px;font-weight:800}.wb-row[data-v-9f1138cd]{display:flex;align-items:center;gap:8px;padding:8px 10px;margin-top:6px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border);font-size:13px}.wb-row.me[data-v-9f1138cd]{border-color:#a3e63566;background:var(--brand-soft)}.wb-rank[data-v-9f1138cd]{width:22px;font-weight:800;color:var(--text-3)}.wb-name[data-v-9f1138cd]{flex:1;font-weight:700}.wb-xp[data-v-9f1138cd]{font-weight:800;color:var(--brand)}.play-sheet[data-v-9f1138cd]{max-height:92vh;gap:14px}.play-head[data-v-9f1138cd]{display:flex;align-items:center;justify-content:space-between;gap:12px}.play-head .eyebrow[data-v-9f1138cd]{margin:0;color:var(--brand);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.play-head h2[data-v-9f1138cd]{margin:4px 0 0;font-size:18px;font-weight:800}.play-tabs[data-v-9f1138cd]{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;background:var(--surface-2);border-radius:var(--r-md);padding:3px}.play-tabs button[data-v-9f1138cd]{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px;border-radius:var(--r-sm);color:var(--text-3);font-size:10.5px;font-weight:700;transition:all var(--t-base)}.play-tabs button.active[data-v-9f1138cd]{background:var(--brand);color:var(--on-brand);box-shadow:0 4px 14px #a3e6354d}.pane[data-v-9f1138cd]{display:flex;flex-direction:column;gap:12px;min-height:320px}.league-card[data-v-9f1138cd]{display:flex;gap:14px;align-items:center;padding:18px;border-radius:var(--r-md);background:var(--surface-2);border:2px solid}.tier-icon[data-v-9f1138cd]{width:64px;height:64px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-size:36px}.tier-info p[data-v-9f1138cd]{margin:0}.tier-label[data-v-9f1138cd]{font-size:18px;font-weight:800;letter-spacing:-.01em}.tier-xp[data-v-9f1138cd]{font-size:13px;color:var(--text-2)}.next-tier[data-v-9f1138cd]{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:12px}.next-tier p[data-v-9f1138cd]{margin:0 0 6px;font-size:13px;color:var(--text-2)}.bar[data-v-9f1138cd]{width:100%;height:8px;border-radius:4px;background:var(--bg-3);overflow:hidden}.bar.tiny[data-v-9f1138cd]{height:6px}.bar-fill[data-v-9f1138cd]{height:100%;background:var(--brand);transition:width .4s}.tier-list[data-v-9f1138cd]{display:flex;flex-direction:column;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:8px}.tier-row[data-v-9f1138cd]{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:8px;padding:6px 8px;font-size:13px;color:var(--text-3)}.tier-row.achieved[data-v-9f1138cd]{color:var(--text)}.tier-row .ti[data-v-9f1138cd]{text-align:center}.missions-list[data-v-9f1138cd]{display:flex;flex-direction:column;gap:8px}.mission-row[data-v-9f1138cd]{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:center;padding:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md)}.mission-row.done[data-v-9f1138cd]{border-color:var(--brand);background:var(--brand-soft)}.m-icon[data-v-9f1138cd]{font-size:22px;text-align:center}.m-body p[data-v-9f1138cd]{margin:0}.m-label[data-v-9f1138cd]{font-size:13.5px;font-weight:700;color:var(--text)}.m-meta[data-v-9f1138cd]{font-size:11.5px;color:var(--text-3);margin-top:4px!important}.lucky-card[data-v-9f1138cd]{position:relative;padding:24px 18px;border-radius:var(--r-md);background:linear-gradient(135deg,#84cc162e,#22c55e14);border:1px solid rgba(132,204,22,.4);text-align:center}.lucky-glow[data-v-9f1138cd]{font-size:36px;display:block;filter:drop-shadow(0 0 14px rgba(132,204,22,.6))}.lucky-eyebrow[data-v-9f1138cd]{margin:8px 0 4px;font-size:11px;color:#84cc16;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.lucky-target[data-v-9f1138cd]{margin:0;font-size:24px;font-weight:800;color:var(--text)}.lucky-rom[data-v-9f1138cd]{margin:4px 0 0;font-size:13px;color:var(--text-3);font-style:italic}.lucky-meaning[data-v-9f1138cd]{margin:6px 0 0;font-size:14px;color:var(--text-2)}.lucky-status[data-v-9f1138cd]{margin:12px 0 0;font-size:12px;color:var(--text-3)}.lucky-status.used[data-v-9f1138cd]{color:var(--brand);font-weight:700}.shield-card[data-v-9f1138cd]{text-align:center;padding:20px 16px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md)}.shield-icon[data-v-9f1138cd]{font-size:48px}.shield-eyebrow[data-v-9f1138cd]{margin:8px 0 4px;font-size:11px;color:var(--brand);font-weight:800;letter-spacing:.1em;text-transform:uppercase}.shield-count[data-v-9f1138cd]{margin:0;font-size:28px;font-weight:800;color:var(--text)}.shield-count span[data-v-9f1138cd]{font-size:14px;color:var(--text-3);font-weight:600}.shield-desc[data-v-9f1138cd]{margin:8px 0 0;font-size:12.5px;color:var(--text-2)}.hint.center[data-v-9f1138cd]{text-align:center}.hint.ok[data-v-9f1138cd]{color:var(--brand);font-weight:700}.daily-controls[data-v-9f1138cd]{display:flex;gap:8px;align-items:center}.daily-card[data-v-9f1138cd]{padding:16px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);display:flex;flex-direction:column;gap:8px}.daily-eyebrow[data-v-9f1138cd]{margin:0;font-size:11px;color:var(--brand);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.daily-target[data-v-9f1138cd]{margin:0;font-size:22px;font-weight:800;color:var(--text)}.daily-rom[data-v-9f1138cd]{margin:0;font-size:12.5px;color:var(--text-3);font-style:italic}.daily-meaning[data-v-9f1138cd]{margin:0;font-size:14px;color:var(--text-2)}.daily-example[data-v-9f1138cd]{margin-top:4px;padding:10px;background:var(--bg-3);border-radius:var(--r-sm);border-left:3px solid var(--brand)}.daily-example p[data-v-9f1138cd]{margin:0;font-size:13px}.daily-why[data-v-9f1138cd]{margin:0;font-size:12.5px;color:var(--text-2);padding:8px 10px;background:var(--bg-3);border-radius:var(--r-sm)}.recap-grid[data-v-9f1138cd]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.recap-tile[data-v-9f1138cd]{padding:14px 8px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);text-align:center}.rt-num[data-v-9f1138cd]{margin:0;font-size:20px;font-weight:800;color:var(--text)}.rt-num span[data-v-9f1138cd]{font-size:11px;color:var(--text-3);margin-left:2px}.rt-label[data-v-9f1138cd]{margin:4px 0 0;font-size:11px;color:var(--text-3)}.recap-summary[data-v-9f1138cd]{padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md)}.recap-summary p[data-v-9f1138cd]{margin:0 0 4px;font-size:13px;color:var(--text-2)}.recap-summary p[data-v-9f1138cd]:last-child{margin:0}.recap-summary .ok[data-v-9f1138cd]{color:var(--brand);font-weight:700}.recap-share-card[data-v-9f1138cd]{padding:16px;border-radius:var(--r-lg);background:linear-gradient(145deg,#a3e63529,#3b82f61a);border:1px solid rgba(163,230,53,.35);text-align:center}.rsc-brand[data-v-9f1138cd]{margin:0 0 8px;font-size:12px;font-weight:800;letter-spacing:.06em;color:var(--brand);text-transform:uppercase}.rsc-line[data-v-9f1138cd]{margin:0 0 4px;font-size:13px;font-weight:700;color:var(--text);line-height:1.45}.rsc-tier[data-v-9f1138cd]{margin:8px 0 0;font-size:14px;font-weight:800;color:var(--text-2)}.recap-actions[data-v-9f1138cd]{display:flex;flex-direction:column;gap:8px}.usage-card[data-v-9f1138cd]{padding:16px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);text-align:center;display:flex;flex-direction:column;gap:10px}.usage-eyebrow[data-v-9f1138cd]{margin:0;font-size:11px;color:var(--brand);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.usage-num[data-v-9f1138cd]{margin:0;font-size:30px;font-weight:800;color:var(--text)}.usage-num span[data-v-9f1138cd]{font-size:14px;color:var(--text-3);font-weight:600}.usage-toggle[data-v-9f1138cd]{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md)}.usage-toggle p[data-v-9f1138cd]{margin:0;font-size:13px;font-weight:700;color:var(--text)}.empty-line[data-v-9f1138cd]{color:var(--text-muted);font-size:13px;padding:16px 0;text-align:center;margin:0}.form-error[data-v-9f1138cd]{margin:0;color:var(--danger);font-size:12px}.hint[data-v-9f1138cd]{margin:0;font-size:11.5px;color:var(--text-muted)}.confetti-root[data-v-f871d6f2]{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:90}.confetti-burst[data-v-f871d6f2]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:0;height:0}.confetti-burst i[data-v-f871d6f2]{position:absolute;display:block;width:var(--size);height:calc(var(--size) * .4);border-radius:1px;top:0;left:0;transform:translate(0) rotate(0);opacity:0;animation:confetti-pop-f871d6f2 1.4s cubic-bezier(.16,1,.3,1) forwards;animation-delay:var(--delay);box-shadow:0 0 6px #fff6}@keyframes confetti-pop-f871d6f2{0%{opacity:0;transform:translate(0) rotate(0) scale(.5)}20%{opacity:1}to{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--rot)) scale(1)}}.ai-explain[data-v-c2d5daee]{margin:10px 0;padding:10px 12px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border)}.ai-explain-body[data-v-c2d5daee]{margin:4px 0 0;font-size:13px;line-height:1.5;color:var(--text-2);white-space:pre-wrap}.detail-sheet[data-v-c2d5daee]{gap:14px}.topline[data-v-c2d5daee]{display:flex;align-items:center;gap:8px}.topline .level-pill[data-v-c2d5daee]{padding:3px 8px;border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-3);font-size:10.5px;font-weight:700;letter-spacing:.04em}.close-btn[data-v-c2d5daee]{margin-left:auto}.target[data-v-c2d5daee]{margin:0;font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1.25;color:var(--text)}.pron[data-v-c2d5daee]{margin:0;font-size:13px;color:var(--text-3);font-style:italic}.meaning[data-v-c2d5daee]{margin:0;font-size:16px;color:var(--text-2);line-height:1.5}.example[data-v-c2d5daee]{margin:0;font-size:13px;color:var(--text-3);font-style:italic;padding-left:12px;border-left:2px solid var(--border-strong)}.tag-row[data-v-c2d5daee]{display:flex;flex-wrap:wrap;gap:4px}.tag-row span[data-v-c2d5daee]{font-size:11.5px;color:var(--text-3);padding:3px 8px;background:var(--surface-2);border-radius:var(--r-pill)}.stat-grid-3[data-v-c2d5daee]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat-mini[data-v-c2d5daee]{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:10px 12px}.stat-mini .lbl[data-v-c2d5daee]{font-size:10.5px;color:var(--text-3);font-weight:700;letter-spacing:.04em;display:block;margin-bottom:3px}.stat-mini strong[data-v-c2d5daee]{font-size:16px;font-weight:800;color:var(--text)}.stat-line[data-v-c2d5daee]{display:inline-flex;align-items:center;gap:6px;color:var(--text-3);font-size:12.5px}.related[data-v-c2d5daee]{display:flex;flex-direction:column;gap:6px}.related .eyebrow[data-v-c2d5daee]{color:var(--text-3);font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin:6px 0 0}.related-row[data-v-c2d5daee]{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;transition:all var(--t-base)}.related-row[data-v-c2d5daee]:hover{border-color:var(--border-strong);background:var(--surface-2)}.related-row .related-main[data-v-c2d5daee]{flex:1;min-width:0}.related-row strong[data-v-c2d5daee]{display:block;font-size:13.5px;color:var(--text);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.related-row p[data-v-c2d5daee]{margin:0;font-size:11.5px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions[data-v-c2d5daee]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.actions .btn[data-v-c2d5daee]{padding:11px 12px;font-size:13px}.btn-master[data-v-c2d5daee]{background:linear-gradient(135deg,#c084fc2e,#a855f714);color:#c084fc;border:1px solid rgba(192,132,252,.3)}.btn-ghost.danger[data-v-c2d5daee]{color:var(--danger)}.field[data-v-c2d5daee]{display:flex;flex-direction:column;gap:4px}.field span[data-v-c2d5daee]{font-size:11px;font-weight:700;color:var(--text-3);letter-spacing:.04em}.edit-mode[data-v-c2d5daee]{display:flex;flex-direction:column;gap:10px}.ocr-sheet[data-v-5a1ade9d]{max-height:85vh;overflow:auto}.preview[data-v-5a1ade9d]{margin:12px 0;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border)}.preview img[data-v-5a1ade9d]{width:100%;display:block;max-height:200px;object-fit:cover}.list[data-v-5a1ade9d]{display:flex;flex-direction:column;gap:8px;margin-top:12px}.row[data-v-5a1ade9d]{display:flex;align-items:center;gap:10px;padding:12px;background:var(--surface-2);border-radius:var(--r-md);border:1px solid var(--border)}.row-main[data-v-5a1ade9d]{flex:1;min-width:0}.row-main strong[data-v-5a1ade9d]{font-size:16px}.row-main p[data-v-5a1ade9d]{margin:2px 0 0;font-size:12px;color:var(--text-3)}.danger[data-v-5a1ade9d]{color:#f87171}.pro-sheet[data-v-ace2d376]{max-height:85vh;overflow:auto}.pro-on[data-v-ace2d376]{padding:14px;border-radius:var(--r-lg);background:var(--brand-soft);border:1px solid rgba(163,230,53,.3);margin:12px 0}.pro-list[data-v-ace2d376]{display:flex;flex-direction:column;gap:10px;margin:14px 0}.pro-card[data-v-ace2d376]{text-align:left;padding:14px 16px;border-radius:var(--r-lg);background:var(--surface-2);border:1px solid var(--border);color:var(--text)}.pro-card .price[data-v-ace2d376]{display:block;margin-top:4px;color:var(--brand);font-weight:800;font-size:16px}.pro-card p[data-v-ace2d376]{margin:6px 0 0;font-size:12px;color:var(--text-3)}.actions[data-v-ace2d376]{display:flex;flex-direction:column;gap:8px;margin-top:12px}.danger[data-v-ace2d376]{color:#f87171}.legal[data-v-ace2d376]{margin:12px 0;padding:10px 12px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);font-size:11px;line-height:1.55;color:var(--text-3)}.legal a[data-v-ace2d376]{color:var(--brand);text-decoration:underline}.legal .ids[data-v-ace2d376]{margin-top:6px;opacity:.75;word-break:break-all}.bio-gate[data-v-b865e7a4]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:24px}.bio-card[data-v-b865e7a4]{width:min(340px,100%);text-align:center;padding:28px 22px;border-radius:var(--r-2xl);border:1px solid var(--border-strong);background:var(--surface)}.bio-ico[data-v-b865e7a4]{font-size:40px;margin-bottom:8px}.bio-card h2[data-v-b865e7a4]{margin:0 0 8px;font-size:18px}.bio-card p[data-v-b865e7a4]{margin:0 0 16px;color:var(--text-3);font-size:13px}.err[data-v-b865e7a4]{color:#f87171!important;font-size:12px!important;margin-top:10px!important}.sync-conflict-sheet[data-v-eea7e658]{gap:12px}.conflict-tips[data-v-eea7e658]{margin:0;padding:0 0 0 18px;color:var(--text-2);font-size:13px;line-height:1.55}.conflict-tips li[data-v-eea7e658]{margin-bottom:6px}.conflict-actions[data-v-eea7e658]{display:flex;flex-direction:column;gap:8px;margin-top:4px}.tool-overlay[data-v-d84a2340]{position:fixed;left:0;right:0;top:0;bottom:calc(var(--nav-h, 56px) + env(safe-area-inset-bottom,0px));z-index:40;display:flex;flex-direction:column;background:var(--bg, var(--surface));border-top:1px solid var(--border)}.tool-overlay-bar[data-v-d84a2340]{display:flex;align-items:center;gap:8px;padding:10px 12px;padding-top:calc(10px + env(safe-area-inset-top,0px));border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.tool-overlay-bar strong[data-v-d84a2340]{flex:1;text-align:center;font-size:15px;font-weight:800}.tool-back[data-v-d84a2340]{border:0;background:var(--surface-2);border-radius:var(--r-pill);padding:6px 12px;font-size:13px;font-weight:700;color:var(--text-2);cursor:pointer}.tool-bar-spacer[data-v-d84a2340]{width:64px}.tool-overlay-body[data-v-d84a2340]{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;padding:0 0 12px}.force-update-mask[data-v-d84a2340]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#000000b8;display:flex;align-items:center;justify-content:center;padding:24px}.force-update-card[data-v-d84a2340]{width:min(360px,100%);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-2xl);padding:24px;text-align:center}.force-update-card h2[data-v-d84a2340]{margin:0 0 8px;font-size:18px}.force-update-card p[data-v-d84a2340]{margin:0 0 8px;color:var(--text-2);font-size:13px;line-height:1.5}.header-more-wrap[data-v-d84a2340]{position:relative}.header-menu[data-v-d84a2340]{position:absolute;top:calc(100% + 6px);right:0;z-index:45;min-width:168px;padding:6px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--sh-lg);display:flex;flex-direction:column;gap:2px}.header-menu button[data-v-d84a2340]{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border-radius:var(--r-sm);font-size:13px;font-weight:650;color:var(--text-2);text-align:left}.header-menu button[data-v-d84a2340]:hover{background:var(--surface-2);color:var(--text)}.storage-warn[data-v-d84a2340]{margin:8px 0 0;padding:8px 12px;border-radius:var(--r-sm);background:#f871711f;border:1px solid rgba(248,113,113,.35);color:var(--danger);font-size:12px;line-height:1.4;font-weight:650}.badge-toast[data-v-d84a2340]{position:fixed;top:calc(var(--safe-top) + 16px);left:50%;transform:translate(-50%);z-index:60;display:flex;align-items:center;gap:12px;padding:12px 18px 12px 12px;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-strong) 100%);color:var(--on-brand);border-radius:var(--r-pill);box-shadow:var(--glow-brand),var(--sh-lg);max-width:calc(100% - 24px)}.badge-toast-icon[data-v-d84a2340]{width:36px;height:36px;border-radius:var(--r-pill);background:#0a0a0f2e;display:flex;align-items:center;justify-content:center;font-size:20px}.badge-toast-info[data-v-d84a2340]{display:flex;flex-direction:column;line-height:1.15}.badge-toast-info span[data-v-d84a2340]{font-size:10.5px;font-weight:700;letter-spacing:.04em;opacity:.7}.badge-toast-info strong[data-v-d84a2340]{font-size:14px;font-weight:800}.badge-toast-enter-active[data-v-d84a2340],.badge-toast-leave-active[data-v-d84a2340]{transition:all .4s cubic-bezier(.4,0,.2,1)}.badge-toast-enter-from[data-v-d84a2340],.badge-toast-leave-to[data-v-d84a2340]{opacity:0;transform:translate(-50%,-16px)}.lucky-toast[data-v-d84a2340]{background:linear-gradient(135deg,#84cc16,#16a34a)}.offline-chip[data-v-d84a2340]{color:#f87171;background:#f871711f;border:1px solid rgba(248,113,113,.3)}*{box-sizing:border-box}:root,:root[data-theme=dark]{color-scheme:dark;--font-scale: 1;--bg: #07070b;--bg-2: #0c0c12;--bg-3: #11111a;--surface: #16161f;--surface-2: #1d1d28;--surface-3: #262631;--surface-glass: rgba(28, 28, 40, .72);--border: rgba(255, 255, 255, .07);--border-strong: rgba(255, 255, 255, .14);--text: #f4f4f5;--text-2: #c5c5cf;--text-3: #8d8d99;--text-muted: #5b5b66;--brand: #a3e635;--brand-2: #bef264;--brand-strong: #84cc16;--brand-soft: rgba(163, 230, 53, .14);--brand-glow: rgba(163, 230, 53, .42);--on-brand: #0a0a0f;--zh: #ef4444;--zh-soft: rgba(239, 68, 68, .16);--all: #94a3b8;--all-soft: rgba(148, 163, 184, .16);--danger: #f87171;--warning: #fbbf24;--success: #4ade80;--r-xs: 8px;--r-sm: 12px;--r-md: 16px;--r-lg: 20px;--r-xl: 24px;--r-2xl: 32px;--r-pill: 9999px;--sh-sm: 0 1px 3px rgba(0, 0, 0, .4);--sh: 0 8px 24px rgba(0, 0, 0, .45);--sh-lg: 0 24px 60px rgba(0, 0, 0, .55);--glow-brand: 0 0 28px rgba(163, 230, 53, .32);--t-snap: .12s cubic-bezier(.4, 0, .2, 1);--t-base: .22s cubic-bezier(.4, 0, .2, 1);--t-slow: .4s cubic-bezier(.4, 0, .2, 1);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--nav-h: 60px;--header-h: 56px;--max-w: 720px;--page-x: clamp(14px, 4.2vw, 20px);font-family:Pretendard,Inter,SF Pro Display,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-feature-settings:"cv11","ss01","ss03";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;letter-spacing:-.01em}:root[data-theme=light]{color-scheme:light;--bg: #ffffff;--bg-2: #ffffff;--bg-3: #f3f4f6;--surface: #ffffff;--surface-2: #f4f5f7;--surface-3: #e9eaee;--surface-glass: #ffffff;--border: rgba(15, 23, 42, .07);--border-strong: rgba(15, 23, 42, .14);--text: #0f172a;--text-2: #334155;--text-3: #64748b;--text-muted: #94a3b8;--brand: #65a30d;--brand-2: #84cc16;--brand-strong: #4d7c0f;--brand-soft: rgba(101, 163, 13, .14);--brand-glow: rgba(101, 163, 13, .3);--on-brand: #ffffff;--sh-sm: 0 1px 3px rgba(15, 23, 42, .08);--sh: 0 8px 24px rgba(15, 23, 42, .1);--sh-lg: 0 24px 60px rgba(15, 23, 42, .16);--glow-brand: 0 0 20px rgba(101, 163, 13, .22)}html,body{margin:0;padding:0;color:var(--text);min-height:100vh;min-height:100dvh;overflow-x:hidden;font-size:calc(16px * var(--font-scale, 1));background:var(--bg)!important;background-color:var(--bg)!important;background-image:none!important}html:before{content:"";position:fixed;top:0;left:0;right:0;height:max(env(safe-area-inset-top,0px),0px);background:var(--bg);background-color:var(--bg);z-index:100000;pointer-events:none}html[data-theme=light],html[data-theme=light] body,html[data-theme=light] #app{background:#fff!important;background-color:#fff!important;background-image:none!important}html[data-theme=light]:before{background:#fff!important;background-color:#fff!important}#app{min-height:100vh;min-height:100dvh;background:var(--bg);background-color:var(--bg)}button{font:inherit;cursor:pointer;border:0;background:none;color:inherit;padding:0}button:disabled{cursor:not-allowed;opacity:.45}input,select,textarea{font:inherit;color:inherit}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}a{color:inherit;text-decoration:none}::selection{background:var(--brand);color:var(--on-brand)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:var(--r-pill)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{min-height:100dvh;display:flex;flex-direction:column;position:relative;max-width:var(--max-w);margin:0 auto;padding-bottom:calc(var(--nav-h) + var(--safe-bottom) + 6px);background:var(--bg)}.app-header{position:sticky;top:0;z-index:30;padding:calc(var(--safe-top) + 8px) var(--page-x) 10px;margin:0;background:var(--bg);background-color:var(--bg);border-bottom:1px solid color-mix(in srgb,var(--border) 40%,transparent);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}html[data-theme=light] .app-header,html[data-theme=light] .app-shell,html[data-theme=light] .bottom-nav{background:#fff!important;background-color:#fff!important}.app-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.app-header-greeting{display:flex;flex-direction:column;min-width:0;gap:2px}.app-header-greeting .brand-title{margin:0;font-size:clamp(20px,5.5vw,24px);font-weight:900;color:var(--text);letter-spacing:-.03em;line-height:1.15}.app-header-greeting .brand-title .zh{color:var(--brand);font-weight:900}.app-header-greeting .daily-line{margin:0;font-size:clamp(12px,3.4vw,13.5px);font-weight:650;color:var(--text-3);letter-spacing:-.01em;line-height:1.35}.app-header-greeting .eyebrow{color:var(--text-3);font-size:12px;font-weight:600;letter-spacing:.02em}.app-header-greeting h1{margin:2px 0 0;font-size:22px;font-weight:800;color:var(--text);letter-spacing:-.02em}.app-header-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.streak-chip{display:inline-flex;align-items:center;gap:5px;padding:7px 11px;border-radius:var(--r-pill);background:linear-gradient(135deg,#fb923c2e,#ef44441f);border:1px solid rgba(251,146,60,.28);color:#fdba74;font-size:12px;font-weight:700}.icon-btn{width:40px;height:40px;min-width:40px;min-height:40px;border-radius:var(--r-md);display:inline-flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--border);color:var(--text-2);transition:transform var(--t-snap),background var(--t-base),color var(--t-base)}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn:active{transform:scale(.92)}.icon-btn.ghost{background:transparent;border-color:transparent}.icon-btn.danger{color:var(--danger)}.icon-btn input[type=file]{display:none}.view{flex:1;padding:4px var(--page-x) 10px;display:flex;flex-direction:column;gap:clamp(12px,3.2vw,16px);width:100%;box-sizing:border-box;min-width:0}.view-enter-active,.view-leave-active{transition:opacity .2s ease,transform .25s cubic-bezier(.4,0,.2,1)}.view-enter-from{opacity:0;transform:translateY(8px)}.view-leave-to{opacity:0;transform:translateY(-4px)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:20px;position:relative}.card.glass{background:var(--surface-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.card.elevated{background:var(--surface-2)}.card.padded-lg{padding:24px}.card.padded-sm{padding:14px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-head .eyebrow{color:var(--text-3);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.section-head h2{margin:2px 0 0;font-size:18px;font-weight:800;color:var(--text);letter-spacing:-.01em}.section-head h3{margin:2px 0 0;font-size:15px;font-weight:700;color:var(--text)}.text-link{color:var(--text-3);font-size:12.5px;font-weight:700;padding:6px 10px;border-radius:var(--r-sm);transition:all var(--t-base)}.text-link:hover{color:var(--text);background:var(--surface-2)}.hero{position:relative;border-radius:var(--r-2xl);padding:28px 22px;background:radial-gradient(800px 240px at 90% -50%,rgba(163,230,53,.4),transparent 60%),radial-gradient(500px 240px at 0% 110%,rgba(168,85,247,.3),transparent 60%),linear-gradient(135deg,#131321,#0d0d18);overflow:hidden;border:1px solid var(--border)}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 0%,rgba(163,230,53,.12),transparent 50%);pointer-events:none}.hero-eyebrow{color:var(--brand);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.hero h2{margin:8px 0 6px;font-size:24px;font-weight:800;color:var(--text);letter-spacing:-.02em;line-height:1.25}.hero p{margin:0 0 18px;font-size:13px;color:var(--text-3);line-height:1.55}.hero .stat-row{display:flex;gap:18px;margin-bottom:18px;font-size:12px;color:var(--text-3)}.hero .stat-row strong{display:block;color:var(--text);font-size:18px;font-weight:800;margin-bottom:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:12px 18px;border-radius:var(--r-md);font-size:14px;font-weight:700;letter-spacing:-.01em;transition:all var(--t-snap);white-space:nowrap}.btn:active:not(:disabled){transform:scale(.97)}.btn-brand{background:var(--brand);color:var(--on-brand);box-shadow:var(--glow-brand)}.btn-brand:hover:not(:disabled){background:var(--brand-2)}.btn-secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--surface-3)}.btn-ghost{background:transparent;color:var(--text-2)}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn-block{width:100%}.btn-sm{padding:9px 14px;font-size:13px}.btn-lg{padding:14px 22px;font-size:15px}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px 18px;position:relative;overflow:hidden}.stat-card .label{display:flex;align-items:center;gap:6px;color:var(--text-3);font-size:11px;font-weight:700;letter-spacing:.04em;margin-bottom:8px}.stat-card .value{font-size:26px;font-weight:800;color:var(--text);letter-spacing:-.02em;line-height:1}.stat-card .sub{margin-top:4px;font-size:11.5px;color:var(--text-muted)}.stat-card.brand{background:linear-gradient(135deg,#a3e6351a,#a3e63505);border-color:#a3e63533}.stat-card.brand .value{color:var(--brand)}.stat-card.zh .value{color:var(--zh)}.progress-ring{width:64px;height:64px;position:relative;flex-shrink:0}.progress-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.progress-ring circle{fill:none;stroke-width:6}.progress-ring .track{stroke:var(--surface-2)}.progress-ring .fill{stroke:var(--brand);stroke-linecap:round;transition:stroke-dasharray var(--t-slow);filter:drop-shadow(0 0 6px var(--brand-glow))}.progress-ring .label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:var(--text)}.lang-pill{display:inline-flex;align-items:center;padding:3px 8px;border-radius:var(--r-pill);font-size:10px;font-weight:800;letter-spacing:.04em;background:var(--all-soft);color:var(--all)}.lang-pill.zh{background:var(--zh-soft);color:var(--zh)}.lang-pill.all{background:var(--all-soft);color:var(--all)}.type-pill{display:inline-flex;padding:3px 8px;border-radius:var(--r-pill);font-size:10px;font-weight:700;background:var(--surface-2);color:var(--text-3)}.row{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--surface-2);border-radius:var(--r-md);border:1px solid var(--border);transition:all var(--t-base)}.row:hover{background:var(--surface-3)}.row .row-main{flex:1;min-width:0}.row .row-main strong{display:block;font-size:14px;font-weight:700;color:var(--text);margin-bottom:2px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .row-main p{margin:0;font-size:12px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .row-actions{display:flex;gap:4px;flex-shrink:0}.expr-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:18px;display:flex;flex-direction:column;gap:8px;transition:all var(--t-base)}.expr-card:hover{border-color:var(--border-strong);transform:translateY(-1px)}.expr-card .topline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.expr-card .topline .spacer{flex:1}.expr-card .target{font-size:18px;font-weight:800;color:var(--text);margin:0;line-height:1.35;letter-spacing:-.01em}.expr-card .pronunciation{font-size:12px;color:var(--text-3);margin:0;font-style:italic}.expr-card .meaning{font-size:14px;color:var(--text-2);margin:0;line-height:1.5}.expr-card .example{font-size:12.5px;color:var(--text-muted);margin:0;font-style:italic;padding-left:10px;border-left:2px solid var(--border-strong)}.expr-card .tags{display:flex;flex-wrap:wrap;gap:4px}.expr-card .tags span{font-size:11px;color:var(--text-3);padding:2px 7px;border-radius:var(--r-pill);background:var(--surface-2)}.expr-card .footer{margin-top:4px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:10px;border-top:1px solid var(--border)}.expr-card .footer .stage{font-size:11px;color:var(--text-3);font-weight:600}.expr-card .footer .actions{display:flex;gap:2px}.star-btn{background:transparent;border:0;padding:4px;color:var(--text-muted);transition:color var(--t-base),transform var(--t-snap)}.star-btn.active{color:#facc15}.star-btn:active{transform:scale(.85)}.input,.select,.textarea{width:100%;padding:12px 14px;font-size:14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text);transition:all var(--t-base)}.input::placeholder,.textarea::placeholder{color:var(--text-muted)}.input:focus,.select:focus,.textarea:focus{border-color:var(--brand);background:var(--surface-3);outline:none;box-shadow:0 0 0 3px var(--brand-soft)}.textarea{resize:vertical;min-height:80px;line-height:1.5}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238d8d99' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:12px;padding-right:36px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:11.5px;color:var(--text-3);font-weight:700;letter-spacing:.02em}.search-input{position:relative}.search-input input{padding-left:42px;background:var(--surface)}.search-input svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-3);pointer-events:none}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quick-grid .input,.quick-grid .select{padding:10px 12px;font-size:13.5px}.quick-grid .full{grid-column:span 2}.quick-grid .btn{grid-column:span 2;padding:11px}.full-form{display:flex;flex-direction:column;gap:10px}.full-form .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.full-form .grid-4{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:8px}@media(max-width:480px){.full-form .grid-4{grid-template-columns:1fr 1fr}}.practice-stage{display:flex;flex-direction:column;gap:16px}.flashcard{position:relative;border-radius:var(--r-2xl);padding:32px 24px;min-height:280px;display:flex;flex-direction:column;background:radial-gradient(600px 240px at 50% -40%,rgba(163,230,53,.18),transparent 60%),linear-gradient(160deg,var(--surface-2) 0%,var(--surface) 100%);border:1px solid var(--border-strong);overflow:hidden;transition:transform var(--t-slow)}.flashcard.flipped{transform:rotateY(0)}.flashcard .meta{display:flex;align-items:center;gap:8px;margin-bottom:auto}.flashcard .meta .meta-text{color:var(--text-3);font-size:11.5px;font-weight:700}.flashcard .speak-btn{width:44px;height:44px;border-radius:var(--r-pill);display:inline-flex;align-items:center;justify-content:center;background:var(--surface-3);color:var(--brand);border:1px solid var(--border-strong);margin-left:auto;transition:all var(--t-base)}.flashcard .speak-btn:hover{background:var(--brand);color:var(--on-brand);box-shadow:var(--glow-brand)}.flashcard .face{flex:1;display:flex;flex-direction:column;justify-content:center;padding:20px 0 16px;text-align:center}.flashcard h2{font-size:32px;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin:0;color:var(--text);word-break:keep-all}.flashcard .pron-large{margin-top:10px;color:var(--text-3);font-size:14px;font-style:italic}.flashcard .example-large{margin-top:12px;color:var(--text-2);font-size:14px;line-height:1.5;font-style:italic}.flashcard .flip-btn{align-self:center;margin-top:auto}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--text-3);padding:40px 20px}.empty-state svg{color:var(--text-muted);margin-bottom:12px}.empty-state h3{margin:0 0 4px;color:var(--text-2);font-size:16px;font-weight:700}.empty-state p{margin:0;font-size:13px;line-height:1.5;max-width:280px}.coach-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:18px 18px 20px;display:flex;flex-direction:column;gap:14px}.mic-button{position:relative;width:100%;padding:16px;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-lg);color:var(--text);font-size:14px;font-weight:700;transition:all var(--t-base)}.mic-button.listening{background:linear-gradient(135deg,#ef44442e,#ef44440d);border-color:var(--danger);color:var(--danger)}.mic-button.listening:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:inherit;border:2px solid var(--danger);animation:pulse-ring 1.4s ease-out infinite}@keyframes pulse-ring{0%{opacity:.8;transform:scale(.96)}to{opacity:0;transform:scale(1.06)}}.transcript-box{background:var(--bg-3);border:1px dashed var(--border-strong);border-radius:var(--r-md);padding:14px;font-size:13.5px;color:var(--text-2);min-height:64px;line-height:1.55;word-break:break-word}.transcript-box.listening{border-color:var(--danger);border-style:solid;background:#ef44440a}.score-card{background:var(--bg-3);border-radius:var(--r-md);padding:14px;border:1px solid var(--border)}.score-card .row1{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:12px;color:var(--text-3);font-weight:700}.score-card strong{color:var(--brand);font-size:18px;font-weight:800}.score-card .track{height:6px;border-radius:var(--r-pill);background:var(--surface-3);overflow:hidden;margin-bottom:8px}.score-card .track span{display:block;height:100%;background:linear-gradient(90deg,var(--brand-strong),var(--brand));border-radius:inherit;transition:width var(--t-slow);box-shadow:0 0 12px var(--brand-glow)}.score-card p{margin:0;font-size:12.5px;color:var(--text-3);line-height:1.4}.practice-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}.note-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:18px;display:flex;flex-direction:column;gap:8px}.note-card .topline{display:flex;align-items:center;gap:8px}.note-card .topline .date{color:var(--text-3);font-size:11.5px;flex:1}.note-card h3{margin:0;font-size:15px;font-weight:700;color:var(--text)}.note-card p{margin:0;font-size:13px;line-height:1.65;color:var(--text-2);white-space:pre-wrap}.task-row{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);cursor:pointer;transition:all var(--t-base)}.task-row:hover{background:var(--surface-2)}.task-row.done{opacity:.55}.task-row.done .info strong{text-decoration:line-through}.task-row .info{flex:1;min-width:0}.task-row .info strong{display:block;font-size:14px;font-weight:600;color:var(--text);margin-bottom:2px}.task-row .info span{font-size:11.5px;color:var(--text-3)}.task-row .check{width:22px;height:22px;border-radius:var(--r-xs);border:2px solid var(--border-strong);background:var(--bg-3);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--t-base)}.task-row.done .check{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.task-row input[type=checkbox]{display:none}.progress-line{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:12px;color:var(--text-3);font-weight:700}.progress-line strong{color:var(--brand);font-size:18px;font-weight:800}.progress-bar{height:8px;border-radius:var(--r-pill);background:var(--surface-2);overflow:hidden}.progress-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--brand-strong),var(--brand));border-radius:inherit;transition:width var(--t-slow);box-shadow:0 0 10px var(--brand-glow)}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:var(--max-w);z-index:40;padding:0 6px max(2px,var(--safe-bottom));background:linear-gradient(0deg,var(--bg) 70%,color-mix(in srgb,var(--bg) 85%,transparent) 100%);border-top:none;box-sizing:border-box}.bottom-nav-inner{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;min-width:0;width:100%;box-sizing:border-box;background:var(--surface-glass);border:1px solid var(--border);border-radius:18px 18px 12px 12px;padding:4px 3px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--sh-lg)}.bottom-nav button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;max-width:100%;width:100%;box-sizing:border-box;overflow:hidden;padding:8px 1px;min-height:48px;border-radius:var(--r-md);color:var(--text-3);font-size:clamp(10px,2.7vw,11.5px);font-weight:700;letter-spacing:-.02em;line-height:1.05;transition:background var(--t-base),color var(--t-base),box-shadow var(--t-base)}.bottom-nav button>svg,.bottom-nav button>:first-child{width:20px;height:20px;flex-shrink:0}.bottom-nav button>span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 2px}.bottom-nav button.active{background:var(--brand);color:var(--on-brand);box-shadow:var(--glow-brand);transform:none}.bottom-nav button:active:not(.active){background:var(--surface-2);transform:scale(.97)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;animation:fade-in .2s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{transform:translate(-50%,100%)}to{transform:translate(-50%)}}.sheet{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:var(--max-w);max-height:85vh;z-index:51;background:var(--bg-2);border-top-left-radius:var(--r-2xl);border-top-right-radius:var(--r-2xl);border-top:1px solid var(--border-strong);padding:14px 20px calc(28px + var(--safe-bottom));display:flex;flex-direction:column;gap:16px;animation:slide-up .3s cubic-bezier(.4,0,.2,1);overflow-y:auto}.sheet:before{content:"";display:block;width:36px;height:4px;background:var(--surface-3);border-radius:var(--r-pill);margin:4px auto 6px}.sheet h2{margin:0 0 4px;font-size:18px;font-weight:800}.sheet .group{display:flex;flex-direction:column;gap:8px}.sheet .group-label{color:var(--text-3);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.sheet .pill-row{display:flex;flex-wrap:wrap;gap:6px}.sheet .pill-row button{padding:8px 14px;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--border);color:var(--text-3);font-size:12.5px;font-weight:700;transition:all var(--t-base)}.sheet .pill-row button.active{background:var(--brand);color:var(--on-brand);border-color:var(--brand);box-shadow:var(--glow-brand)}.fab{position:fixed;bottom:calc(var(--nav-h) + 18px + var(--safe-bottom));right:max(20px,calc(50% - var(--max-w) / 2 + 20px));z-index:35;width:56px;height:56px;border-radius:var(--r-pill);background:var(--brand);color:var(--on-brand);display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--glow-brand),var(--sh-lg);transition:transform var(--t-snap)}.fab:active{transform:scale(.92)}.empty-line{color:var(--text-muted);font-size:13px;padding:16px 0;text-align:center;margin:0}.empty-line.padded{padding:32px 0}.status-line{font-size:12px;color:var(--text-3);margin:0}.flex-1{flex:1}.row-flex{display:flex;align-items:center;gap:8px}.gap-sm{gap:6px}.gap-md{gap:12px}.gap-lg{gap:16px}.list{display:flex;flex-direction:column;gap:10px}.divider{height:1px;background:var(--border);margin:8px 0}@media(min-width:720px){.stat-grid{grid-template-columns:repeat(4,1fr)}.practice-controls{grid-template-columns:1fr 1fr 1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
