.modal-overlay[data-v-60971b55]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-bg);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center;z-index:30;overscroll-behavior:contain}.modal-sheet[data-v-60971b55]{width:100%;max-width:480px;max-height:calc(88vh / var(--app-zoom));display:flex;flex-direction:column;overflow:hidden;background:var(--color-surface);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;padding:16px 18px 0;box-sizing:border-box}.modal-overlay-enter-active[data-v-60971b55]{transition:opacity .2s ease}.modal-overlay-leave-active[data-v-60971b55]{transition:opacity .18s ease}.modal-overlay-enter-active .modal-sheet[data-v-60971b55]{transition:transform .26s cubic-bezier(.32,.72,0,1)}.modal-overlay-leave-active .modal-sheet[data-v-60971b55]{transition:transform .18s ease}.modal-overlay-enter-from[data-v-60971b55],.modal-overlay-leave-to[data-v-60971b55]{opacity:0}.modal-overlay-enter-from .modal-sheet[data-v-60971b55],.modal-overlay-leave-to .modal-sheet[data-v-60971b55]{transform:translateY(100%)}.modal-header[data-v-60971b55]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-shrink:0}.modal-header h2[data-v-60971b55]{margin:0;font-size:17px}.modal-body[data-v-60971b55]{display:flex;flex-direction:column;gap:10px;min-width:0;min-height:0;flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;margin:0 -18px;padding:0 18px calc(18px + env(safe-area-inset-bottom))}.modal-body.has-footer[data-v-60971b55]{padding-bottom:12px}.modal-footer[data-v-60971b55]{flex-shrink:0;margin:0 -18px;padding:10px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:var(--color-surface)}@media (min-width: 900px){.modal-overlay[data-v-60971b55]{align-items:center;padding:24px}.modal-sheet[data-v-60971b55]{max-height:calc(85vh / var(--app-zoom));border-radius:var(--radius-sheet);padding:20px 24px 0;box-shadow:0 20px 60px #00000040}.modal-body[data-v-60971b55]{margin:0 -24px;padding:0 24px 24px}.modal-body.has-footer[data-v-60971b55]{padding-bottom:14px}.modal-footer[data-v-60971b55]{margin:0 -24px;padding:12px 24px 20px}.modal-overlay-enter-from .modal-sheet[data-v-60971b55],.modal-overlay-leave-to .modal-sheet[data-v-60971b55]{transform:scale(.96) translateY(12px)}}.faq-item[data-v-ae8dc374]{border-bottom:1px solid var(--color-border);padding:10px 0}.faq-item[data-v-ae8dc374]:last-child{border-bottom:none}.faq-item summary[data-v-ae8dc374]{font-weight:600;cursor:pointer;color:var(--color-text)}.faq-item p[data-v-ae8dc374]{margin:8px 0 0;font-size:13px;color:var(--color-muted);line-height:1.6}.flag-icon[data-v-44b5eb07]{flex-shrink:0;border-radius:2px;box-shadow:0 0 0 1px #00000014}.filter-pill[data-v-e426c423]{position:relative;flex:0 0 auto;display:flex;align-items:center}.lang-menu-backdrop[data-v-e426c423]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:transparent}.lang-menu-panel[data-v-e426c423]{position:absolute;top:calc(100% + 6px);right:0;z-index:31;min-width:168px;max-height:300px;overflow-y:auto;padding:6px;display:flex;flex-direction:column;gap:2px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-card);transform-origin:top right}.lang-menu-enter-active[data-v-e426c423],.lang-menu-leave-active[data-v-e426c423]{transition:opacity .14s ease,transform .14s ease}.lang-menu-enter-from[data-v-e426c423],.lang-menu-leave-to[data-v-e426c423]{opacity:0;transform:scale(.96) translateY(-4px)}.lang-menu-item[data-v-e426c423]{display:flex;align-items:center;padding:9px 12px;border:none;background:none;border-radius:var(--radius-sm);font-size:14px;font-family:var(--font-sans);color:var(--color-text);text-align:left;cursor:pointer}.lang-menu-item.active[data-v-e426c423]{background:var(--color-primary-soft);color:var(--color-primary);font-weight:600}.confirm-message[data-v-50ce2cab]{margin:0;font-size:14px;color:var(--color-text);line-height:1.6}.confirm-actions[data-v-50ce2cab]{display:flex;gap:10px;margin-top:8px}.top-bar[data-v-fe191c80]{position:absolute;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 20px;background:var(--color-bg);transform:translateY(0);transition:transform .45s cubic-bezier(.16,1,.3,1)}.top-bar.hidden[data-v-fe191c80]{transform:translateY(-100%)}.top-user[data-v-fe191c80]{display:flex;align-items:center;gap:10px;min-width:0}.avatar-sm[data-v-fe191c80]{width:38px;height:38px;flex-shrink:0;border-radius:var(--radius-avatar);object-fit:cover;background:var(--color-primary-soft)}.top-user-text[data-v-fe191c80]{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}.eyebrow[data-v-fe191c80]{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted)}.username[data-v-fe191c80]{font-size:15px}.login-cta[data-v-fe191c80]{display:flex;align-items:center;gap:8px;min-width:0;padding:8px 12px;border-radius:999px;background:var(--color-primary-soft);color:var(--color-primary);font-size:13px;font-weight:700;text-decoration:none;overflow-wrap:anywhere}.login-cta-icon[data-v-fe191c80]{display:flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;border-radius:50%;background:var(--color-surface)}.top-actions[data-v-fe191c80]{display:flex;gap:6px;flex-shrink:0}.menu-dot[data-v-fe191c80]{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 0 2px var(--color-surface)}.menu-dot-offline[data-v-fe191c80]{background:var(--color-muted)}.top-actions .icon-btn[data-v-fe191c80]{background:var(--color-surface);border:1px solid var(--color-border)}.spinning>svg[data-v-fe191c80]{animation:spin-fe191c80 .8s linear infinite}@keyframes spin-fe191c80{to{transform:rotate(360deg)}}.top-menu-backdrop[data-v-fe191c80]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000052;z-index:100}.top-menu-drawer[data-v-fe191c80]{position:fixed;top:0;right:0;bottom:0;width:min(78vw,300px);background:var(--color-bg);box-shadow:-8px 0 24px #0000001f;z-index:101;display:flex;flex-direction:column;padding:16px 12px;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom));gap:4px}.top-menu-header[data-v-fe191c80]{display:flex;align-items:center;justify-content:space-between;padding:4px 8px 12px}.top-menu-header strong[data-v-fe191c80]{font-size:15px}.top-menu-item[data-v-fe191c80]{display:flex;align-items:center;gap:14px;padding:13px 12px;border:none;border-radius:var(--radius-md);background:none;color:var(--color-text);font-size:14px;font-weight:600;text-align:left;cursor:pointer;width:100%}.top-menu-item[data-v-fe191c80]:active{background:var(--color-primary-soft)}.top-menu-item-text[data-v-fe191c80]{display:flex;flex-direction:column;gap:2px;min-width:0}.top-menu-sub[data-v-fe191c80]{font-size:11px;font-weight:500;color:var(--color-muted)}.top-menu-sub-warn[data-v-fe191c80]{color:var(--color-primary)}.top-menu-divider[data-v-fe191c80]{height:1px;background:var(--color-border);margin:6px 8px}.top-menu-item-danger[data-v-fe191c80]{color:var(--color-danger)}.top-menu-item-danger[data-v-fe191c80]:active{background:color-mix(in srgb,var(--color-danger) 12%,transparent)}.menu-fade-enter-active[data-v-fe191c80]{transition:opacity .28s ease}.menu-fade-leave-active[data-v-fe191c80]{transition:opacity .2s ease}.menu-fade-enter-from[data-v-fe191c80],.menu-fade-leave-to[data-v-fe191c80]{opacity:0}.menu-slide-enter-active[data-v-fe191c80]{transition:transform .32s cubic-bezier(.16,1,.3,1)}.menu-slide-leave-active[data-v-fe191c80]{transition:transform .22s cubic-bezier(.4,0,1,1)}.menu-slide-enter-from[data-v-fe191c80],.menu-slide-leave-to[data-v-fe191c80]{transform:translate(100%)}.toast-stack[data-v-7d46d867]{position:fixed;left:16px;right:16px;bottom:calc(76px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:8px;align-items:center;z-index:40;pointer-events:none}.toast-item[data-v-7d46d867]{pointer-events:auto;display:flex;align-items:center;gap:10px;max-width:420px;width:100%;padding:12px 14px;background:#111827;color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-card);font-size:14px}.toast-message[data-v-7d46d867]{flex:1;min-width:0;overflow-wrap:anywhere}.toast-action[data-v-7d46d867]{flex-shrink:0;border:none;background:none;color:var(--color-primary-light, #a5b4fc);font-weight:700;cursor:pointer;padding:4px}.toast-close[data-v-7d46d867]{flex-shrink:0;display:flex;align-items:center;justify-content:center;border:none;background:none;color:#ffffffb3;cursor:pointer;padding:4px}.toast-enter-active[data-v-7d46d867],.toast-leave-active[data-v-7d46d867]{transition:transform .18s ease,opacity .18s ease}.toast-enter-from[data-v-7d46d867]{transform:translateY(12px);opacity:0}.toast-leave-to[data-v-7d46d867]{transform:translateY(8px);opacity:0}@media (min-width: 900px){.toast-stack[data-v-7d46d867]{left:auto;right:24px;bottom:24px;width:340px}}.hover-tip[data-v-24f9160d]{position:fixed;z-index:200;max-width:220px;padding:6px 10px;border-radius:var(--radius-button);background:var(--color-text);color:var(--color-bg);font-size:12px;font-weight:600;line-height:1.35;box-shadow:0 6px 18px #0000002e;pointer-events:none;white-space:normal;overflow-wrap:anywhere}.tip-fade-enter-active[data-v-24f9160d]{transition:opacity .12s ease,transform .12s ease}.tip-fade-leave-active[data-v-24f9160d]{transition:opacity .1s ease}.tip-fade-enter-from[data-v-24f9160d]{opacity:0;transform:translateY(-2px)}.tip-fade-enter-from.hover-tip-above[data-v-24f9160d]{transform:translateY(2px)}.tip-fade-leave-to[data-v-24f9160d]{opacity:0}.field-label[data-v-54d005d7]{font-size:12px;font-weight:600;color:var(--color-muted);margin-top:4px}.chip-row[data-v-54d005d7]{display:flex;flex-wrap:wrap;gap:8px}.chip-btn[data-v-54d005d7]{padding:8px 16px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-weight:600;font-size:13px;cursor:pointer}.chip-btn.active[data-v-54d005d7]{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.app-shell[data-v-28958883]{display:flex;flex-direction:column;height:calc(100dvh / var(--app-zoom));overflow:hidden}.app-main[data-v-28958883]{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;position:relative}.app-content[data-v-28958883]{position:relative;flex:1;min-width:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding-top:var(--topbar-h, 0px)}.slide-left-enter-active[data-v-28958883],.slide-right-enter-active[data-v-28958883],.fade-enter-active[data-v-28958883]{transition:transform .26s cubic-bezier(.22,1,.36,1),opacity .22s ease;position:absolute;top:0;right:0;bottom:0;left:0}.slide-left-leave-active[data-v-28958883],.slide-right-leave-active[data-v-28958883],.fade-leave-active[data-v-28958883]{transition:transform .2s cubic-bezier(.4,0,1,1),opacity .16s ease;position:absolute;top:0;right:0;bottom:0;left:0}.slide-left-enter-from[data-v-28958883]{transform:translate(24px);opacity:0}.slide-left-leave-to[data-v-28958883],.slide-right-enter-from[data-v-28958883]{transform:translate(-24px);opacity:0}.slide-right-leave-to[data-v-28958883]{transform:translate(24px);opacity:0}.fade-enter-from[data-v-28958883],.fade-leave-to[data-v-28958883]{opacity:0}.side-nav[data-v-28958883]{display:none}.tab-bar[data-v-28958883]{position:relative;z-index:20;display:flex;border-top:1px solid var(--color-border, #eee);padding-bottom:env(safe-area-inset-bottom);background:var(--color-surface, #fff)}.tab-item[data-v-28958883]{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;font-size:12px;color:var(--color-muted);text-decoration:none}.tab-item.active[data-v-28958883]{color:var(--color-primary);font-weight:600}.tab-icon[data-v-28958883]{width:22px;height:22px;transition:transform .15s ease}.tab-item.active .tab-icon[data-v-28958883]{transform:translateY(-2px)}.tab-add-btn[data-v-28958883]{flex:0 0 auto;align-self:center;width:48px;height:48px;margin:-14px 8px 0;border:none;border-radius:50%;background:var(--color-primary-gradient);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-fab);cursor:pointer}.tab-add-btn[data-v-28958883]:active{transform:scale(.92)}@media (min-width: 900px){.app-shell[data-v-28958883]{flex-direction:row}.side-nav[data-v-28958883]{display:flex;flex-direction:column;gap:4px;width:260px;flex-shrink:0;padding:24px 16px;border-right:1px solid var(--color-border, #eee);background:var(--color-surface, #fff);overflow-y:auto;overscroll-behavior-y:contain}.side-logo[data-v-28958883]{padding:8px 14px 24px;font-size:22px;font-weight:800;color:var(--color-primary, #5b5fef)}.side-nav-item[data-v-28958883]{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:var(--radius-button);color:var(--color-text, #333);font-weight:700;font-size:15px;text-decoration:none}.side-nav-item[data-v-28958883]:hover{background:var(--color-border, #eee)}.side-nav-item.active[data-v-28958883]{background:var(--color-primary-soft, #eef0ff);color:var(--color-primary, #5b5fef)}.side-nav-item-row[data-v-28958883]{display:flex;align-items:center;gap:4px;padding-right:6px;border-radius:var(--radius-button)}.side-nav-item-row[data-v-28958883]:hover{background:var(--color-border, #eee)}.side-nav-item-row.active[data-v-28958883],.side-nav-item-row.active[data-v-28958883]:hover{background:var(--color-primary-soft, #eef0ff)}.side-nav-item-row .side-nav-item-plain[data-v-28958883]{flex:1;min-width:0}.side-nav-item-row .side-nav-item-plain[data-v-28958883]:hover{background:transparent}.side-nav-item-row.active .side-nav-item-plain[data-v-28958883]{color:var(--color-primary, #5b5fef)}.side-nav-item-add[data-v-28958883]{flex-shrink:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:transparent;color:var(--color-primary);cursor:pointer}.side-nav-item-add[data-v-28958883]:hover{background:var(--color-surface, #fff)}.side-nav-item-add[data-v-28958883]:active{transform:scale(.9)}.app-main[data-v-28958883]{max-width:760px;width:100%;margin:0 auto}.app-main-wide[data-v-28958883]{max-width:none}.tab-bar[data-v-28958883]{display:none}}.app-mascot[data-v-cf5e82f8]{flex-shrink:0}.animated-icon[data-v-70e1a0b5]{flex-shrink:0;display:block}.base-card[data-v-1a4f7d57]{padding:16px}.streak-summary[data-v-c0f11e92]{display:flex;gap:10px}.streak-summary-item[data-v-c0f11e92]{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px;border-radius:var(--radius-md);background:var(--color-primary-soft)}.streak-summary-item strong[data-v-c0f11e92]{font-size:24px;color:var(--color-primary)}.streak-summary-item span[data-v-c0f11e92]{font-size:12px;color:var(--color-muted)}.summary-icon-slot[data-v-c0f11e92]{display:flex;align-items:center;justify-content:center;height:28px}.streak-summary-current[data-v-c0f11e92]{position:relative}.streak-summary-freeze[data-v-c0f11e92]{background:var(--color-info-soft)}.streak-summary-freeze strong[data-v-c0f11e92]{color:var(--color-info)}.freeze-hint[data-v-c0f11e92]{margin:2px 0 0;font-size:12px;color:var(--color-muted);text-align:center}.calendar-header[data-v-c0f11e92]{display:flex;align-items:center;justify-content:space-between;margin-top:6px}.calendar-weekdays[data-v-c0f11e92],.calendar-grid[data-v-c0f11e92]{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-weekdays span[data-v-c0f11e92]{text-align:center;font-size:11px;color:var(--color-muted);font-weight:600}.calendar-cell[data-v-c0f11e92]{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-size:13px;color:var(--color-text)}.calendar-cell.active[data-v-c0f11e92]{background:var(--color-primary);color:#fff;font-weight:700}.calendar-cell.frozen[data-v-c0f11e92]{background:var(--color-info);color:#fff;font-weight:700}.mode-chips[data-v-94d2f4af]{display:flex;gap:6px}.mode-chips button[data-v-94d2f4af]{flex:1;border:none;background:var(--color-border);color:var(--color-muted);padding:8px 12px;border-radius:var(--radius-sm);font-weight:600;cursor:pointer}.mode-chips button.active[data-v-94d2f4af]{background:var(--color-primary);color:#fff}.line-chart[data-v-94d2f4af]{display:flex;flex-direction:column;gap:8px;padding-top:8px}.line-chart-svg[data-v-94d2f4af]{width:100%;height:120px;overflow:visible}.line-stroke[data-v-94d2f4af]{stroke:var(--color-primary);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.line-dot[data-v-94d2f4af]{fill:var(--color-surface);stroke:var(--color-primary);stroke-width:2.5}.line-dot-current[data-v-94d2f4af]{fill:var(--color-primary);stroke:var(--color-surface)}.chart-labels-row[data-v-94d2f4af]{position:relative;height:22px}.chart-label-col[data-v-94d2f4af]{position:absolute;transform:translate(-50%)}.chart-value[data-v-94d2f4af]{display:inline-block;font-size:11px;font-weight:700;color:var(--color-primary-dark);background:var(--color-primary-soft);border-radius:999px;padding:2px 7px;white-space:nowrap}.chart-xlabels-row[data-v-94d2f4af]{position:relative;height:30px}.chart-xlabel[data-v-94d2f4af]{position:absolute;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:1px;white-space:nowrap}.chart-xlabel strong[data-v-94d2f4af]{font-size:11.5px;font-weight:700;color:var(--color-text)}.chart-xlabel span[data-v-94d2f4af]{font-size:10.5px;color:var(--color-muted)}.agg-list[data-v-94d2f4af]{display:flex;flex-direction:column;gap:8px;padding-top:4px}.agg-block[data-v-94d2f4af]{position:relative;overflow:hidden;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface)}.agg-block.current[data-v-94d2f4af]{border-color:var(--color-primary)}.agg-block-fill[data-v-94d2f4af]{position:absolute;top:0;right:0;bottom:0;left:0;width:0;background:var(--color-primary-soft);transition:width .4s ease}.agg-block-content[data-v-94d2f4af]{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px}.agg-label[data-v-94d2f4af]{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--color-text)}.agg-current-badge[data-v-94d2f4af]{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#fff;background:var(--color-primary);padding:2px 7px;border-radius:999px}.agg-value[data-v-94d2f4af]{font-size:14px;font-weight:700;color:var(--color-primary-dark);white-space:nowrap}.mode-fade-enter-active[data-v-94d2f4af]{transition:opacity .22s ease}.mode-fade-leave-active[data-v-94d2f4af]{transition:opacity .15s ease}.mode-fade-enter-from[data-v-94d2f4af],.mode-fade-leave-to[data-v-94d2f4af]{opacity:0}.dashboard[data-v-2f0c3029]{padding:20px;display:flex;flex-direction:column;gap:18px;min-width:0}.top-bar[data-v-2f0c3029]{display:flex;align-items:center;justify-content:space-between;gap:8px}.hero-banner[data-v-2f0c3029]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:22px;border-radius:var(--radius-hero);background:var(--color-primary-gradient);box-shadow:var(--shadow-primary-card);color:#fff;overflow:hidden}.hero-text[data-v-2f0c3029]{min-width:0}.hero-text h2[data-v-2f0c3029]{margin:0 0 6px;color:#fff;font-size:20px}.hero-text p[data-v-2f0c3029]{margin:0 0 14px;font-size:13px;opacity:.85;max-width:220px}.hero-cta[data-v-2f0c3029]{display:inline-block;padding:10px 18px;border-radius:var(--radius-button);background:var(--color-surface);color:var(--color-primary);font-weight:700;font-size:14px;text-decoration:none}.hero-mascot[data-v-2f0c3029]{flex-shrink:0;filter:drop-shadow(0 6px 10px rgba(0,0,0,.15))}.onboarding-card[data-v-2f0c3029]{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:24px 20px}.onboarding-card p[data-v-2f0c3029]{margin:0;color:var(--color-muted);font-size:14px}.stat-banners[data-v-2f0c3029]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat-banner[data-v-2f0c3029]{display:flex;flex-direction:column;gap:10px;padding:14px;border:none;border-radius:var(--radius-lg);cursor:pointer;text-align:left;font-family:inherit;min-width:0;animation:banner-pop-2f0c3029 .5s cubic-bezier(.34,1.56,.64,1);transition:transform .12s ease}.stat-banner[data-v-2f0c3029]:active{transform:scale(.97)}.banner-streak[data-v-2f0c3029]{background:var(--color-accent-orange-soft)}.banner-usage[data-v-2f0c3029]{background:var(--color-info-soft)}@keyframes banner-pop-2f0c3029{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.stat-banner-top[data-v-2f0c3029]{display:flex;align-items:center;gap:10px}.stat-banner-nums[data-v-2f0c3029]{display:flex;flex-direction:column;min-width:0}.stat-banner-nums strong[data-v-2f0c3029]{font-size:26px;line-height:1.15;color:var(--color-text)}.stat-banner-nums span[data-v-2f0c3029]{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted)}.banner-streak .stat-banner-nums strong[data-v-2f0c3029]{color:var(--color-accent-orange)}.banner-usage .stat-banner-nums strong[data-v-2f0c3029]{color:var(--color-info)}.banner-week-row[data-v-2f0c3029]{display:flex;gap:4px}.banner-week-dot[data-v-2f0c3029]{flex:1;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:50%;background:color-mix(in srgb,var(--color-text) 8%,transparent);color:var(--color-muted)}.banner-week-dot.active[data-v-2f0c3029]{background:var(--color-accent-orange);color:#fff}.banner-week-dot.frozen[data-v-2f0c3029]{background:color-mix(in srgb,var(--color-info) 30%,transparent);color:var(--color-info)}.banner-progress-track[data-v-2f0c3029]{margin-top:auto;height:6px;border-radius:999px;background:color-mix(in srgb,var(--color-text) 10%,transparent);overflow:hidden}.banner-progress-fill[data-v-2f0c3029]{height:100%;border-radius:999px;background:var(--color-info);transition:width .5s ease}.goal-status-text[data-v-2f0c3029]{display:flex;align-items:center;justify-content:center;gap:6px;margin:0;font-size:13px;font-weight:700;color:var(--color-info)}.goal-status-done[data-v-2f0c3029]{color:var(--color-secondary)}.word-of-day-card[data-v-2f0c3029]{display:flex;flex-direction:column;gap:4px;cursor:pointer}.wod-header[data-v-2f0c3029]{display:flex;align-items:center;justify-content:space-between}.wod-label[data-v-2f0c3029]{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted)}.wod-term[data-v-2f0c3029]{font-size:20px;overflow-wrap:anywhere}.wod-meaning[data-v-2f0c3029]{margin:4px 0 0;font-size:15px;overflow-wrap:anywhere}.wod-hint[data-v-2f0c3029]{font-size:12px;color:var(--color-primary);font-weight:600}.section-header[data-v-2f0c3029]{display:flex;align-items:center;justify-content:space-between}.section-header h3[data-v-2f0c3029]{margin:0;font-size:16px}.quick-grid[data-v-2f0c3029]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.quick-card[data-v-2f0c3029]{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:16px;border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);text-decoration:none;color:var(--color-text);min-width:0}.quick-icon[data-v-2f0c3029]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md)}.quick-icon-dictionary[data-v-2f0c3029]{background:var(--color-info-soft);color:var(--color-info)}.quick-icon-practice[data-v-2f0c3029]{background:var(--color-primary-soft);color:var(--color-primary)}.quick-icon-accent[data-v-2f0c3029]{background:var(--color-secondary-soft);color:var(--color-secondary)}.quick-sub[data-v-2f0c3029]{font-size:12px;color:var(--color-muted)}.library-card[data-v-2f0c3029]{display:flex;align-items:center;gap:12px;padding:16px;border-radius:var(--radius-lg);background:var(--color-secondary-soft);border:1px solid var(--color-secondary);text-decoration:none;color:var(--color-text);min-width:0}.library-text[data-v-2f0c3029]{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.library-chevron[data-v-2f0c3029]{transform:scaleX(-1);color:var(--color-secondary);flex-shrink:0}.today-list[data-v-2f0c3029]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.today-item[data-v-2f0c3029]{display:flex;flex-direction:column;gap:2px;padding:12px 14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:0;overflow-wrap:anywhere}.today-actions[data-v-2f0c3029]{display:flex;gap:8px}.today-action-btn[data-v-2f0c3029]{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:5px;padding:9px 6px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:12px;font-weight:700;text-decoration:none;cursor:pointer;white-space:nowrap}.today-action-btn span[data-v-2f0c3029]{overflow:hidden;text-overflow:ellipsis}.empty-today[data-v-2f0c3029]{padding:16px;border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center;color:var(--color-muted);font-size:14px}.empty-today p[data-v-2f0c3029]{margin:0}.quick-term-row[data-v-f32c0a32]{display:flex;align-items:center;gap:8px}.quick-term-input[data-v-f32c0a32]{flex:1;min-width:0;font-size:16px;font-weight:600}.auto-fill-btn[data-v-f32c0a32]{display:inline-flex;align-items:center;justify-content:center;gap:4px;flex-shrink:0;width:34px;height:34px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-primary);font-size:13px;font-weight:600;cursor:pointer}.auto-fill-btn[data-v-f32c0a32]:disabled{opacity:.5;cursor:not-allowed}.dict-row[data-v-f32c0a32]{display:flex;flex-wrap:nowrap;gap:6px;margin-top:-4px;overflow-x:auto;padding-bottom:2px}.dict-chip[data-v-f32c0a32]{flex-shrink:0;white-space:nowrap;border:1px solid var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary);font-size:12px;font-weight:700;padding:5px 12px;border-radius:999px;cursor:pointer}.hint[data-v-f32c0a32]{margin:0;font-size:12px;color:var(--color-muted)}.field-label[data-v-f32c0a32]{font-size:12px;font-weight:600;color:var(--color-muted);margin-top:4px}.pos-chips[data-v-f32c0a32]{display:flex;flex-wrap:wrap;gap:6px}.pos-chip[data-v-f32c0a32]{padding:6px 12px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:13px;cursor:pointer}.pos-chip.active[data-v-f32c0a32]{background:var(--color-primary);border-color:var(--color-primary);color:#fff;font-weight:600}.input-error[data-v-f32c0a32]{border-color:var(--color-danger);box-shadow:0 0 0 3px var(--color-danger-soft)}.field-error[data-v-f32c0a32]{margin:0;font-size:12px;font-weight:600;color:var(--color-danger)}.thumb-preview[data-v-f32c0a32]{width:72px;height:72px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.form-actions[data-v-f32c0a32]{display:flex;flex-direction:column;gap:8px}.hw-hint[data-v-dd149862]{margin:0;font-size:13px;color:var(--color-muted)}.hw-canvas[data-v-dd149862]{width:100%;aspect-ratio:1;max-height:55vh;touch-action:none;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-input);cursor:crosshair}.hw-actions[data-v-dd149862]{display:flex;gap:8px}.hw-result-area[data-v-dd149862]{min-height:96px;overflow-y:auto}.hw-status[data-v-dd149862]{margin:0;font-size:13px;color:var(--color-muted);text-align:center}.hw-status-error[data-v-dd149862]{color:var(--color-danger)}.hw-candidates[data-v-dd149862]{display:flex;flex-wrap:wrap;gap:8px}.hw-candidate[data-v-dd149862]{min-width:44px;padding:8px 12px;font-size:20px;border:1px solid var(--color-border);border-radius:var(--radius-button);background:var(--color-surface);color:var(--color-text);cursor:pointer}.hw-candidate[data-v-dd149862]:active{transform:scale(.94);background:var(--color-primary-soft)}.guide-section+.guide-section[data-v-31aefb9a]{margin-top:14px}.guide-section h4[data-v-31aefb9a]{margin:0 0 4px;font-size:14px;color:var(--color-text)}.guide-section p[data-v-31aefb9a]{margin:0;font-size:13px;color:var(--color-muted);line-height:1.6}.field-label[data-v-8b92b6e8]{font-size:12px;font-weight:600;color:var(--color-muted);margin-top:4px}.setup-header[data-v-8b92b6e8]{display:flex;align-items:center;justify-content:space-between}.setup-header .field-label[data-v-8b92b6e8]{margin-top:0}.field-group[data-v-8b92b6e8]{display:flex;flex-direction:column;gap:4px;min-width:0}.required-box[data-v-8b92b6e8]{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-bg)}.required-box>.field-label[data-v-8b92b6e8]:first-child{margin-top:0}.accordion-toggle[data-v-8b92b6e8]{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);color:var(--color-text);font-family:var(--font-sans);font-weight:600;font-size:14px;cursor:pointer}.accordion-chevron[data-v-8b92b6e8]{transition:transform .2s ease;color:var(--color-muted)}.accordion-chevron.open[data-v-8b92b6e8]{transform:rotate(180deg)}.accordion-collapse[data-v-8b92b6e8]{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease}.accordion-collapse.open[data-v-8b92b6e8]{grid-template-rows:1fr}.accordion-inner[data-v-8b92b6e8]{min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:10px;padding-top:12px}.term-row[data-v-8b92b6e8]{display:flex;gap:8px;min-width:0}.term-row .input[data-v-8b92b6e8]{flex:1;min-width:0}.auto-fill-btn[data-v-8b92b6e8]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:42px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-primary);font-size:13px;font-weight:600;cursor:pointer}.auto-fill-btn[data-v-8b92b6e8]:disabled{opacity:.5;cursor:not-allowed}.dict-row[data-v-8b92b6e8]{display:flex;flex-wrap:nowrap;gap:6px;margin-top:-4px;overflow-x:auto;padding-bottom:2px}.dict-chip[data-v-8b92b6e8]{flex-shrink:0;white-space:nowrap;border:1px solid var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary);font-size:12px;font-weight:700;padding:5px 12px;border-radius:999px;cursor:pointer}.hint[data-v-8b92b6e8]{margin:0;font-size:12px;color:var(--color-muted)}.pos-chips[data-v-8b92b6e8]{display:flex;flex-wrap:wrap;gap:6px}.pos-chip[data-v-8b92b6e8]{padding:6px 12px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:13px;cursor:pointer}.pos-chip.active[data-v-8b92b6e8]{background:var(--color-primary);border-color:var(--color-primary);color:#fff;font-weight:600}.thumb-preview[data-v-8b92b6e8]{width:72px;height:72px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.topic-suggestion[data-v-8b92b6e8]{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--color-secondary-soft);color:var(--color-secondary-dark);font-size:13px}.topic-suggestion-btn[data-v-8b92b6e8]{padding:4px 10px;border:none;border-radius:999px;background:#ffffffb3;color:inherit;font-weight:600;font-size:12px;cursor:pointer}.topic-suggestion-btn-ghost[data-v-8b92b6e8]{background:transparent;text-decoration:underline}.examples-header[data-v-8b92b6e8]{display:flex;align-items:center;justify-content:space-between}.sparkle-btn[data-v-8b92b6e8]{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-primary-soft);color:var(--color-primary);cursor:pointer}.sparkle-btn[data-v-8b92b6e8]:disabled{opacity:.5;cursor:not-allowed}.example-group[data-v-8b92b6e8]{display:flex;flex-direction:column;gap:4px}.example-row[data-v-8b92b6e8]{display:flex;gap:8px;align-items:center}.example-row .input[data-v-8b92b6e8]{flex:1;min-width:0}.example-translation[data-v-8b92b6e8]{font-size:13px;color:var(--color-muted)}.add-example[data-v-8b92b6e8]{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;background:none;border:none;color:var(--color-primary);font-weight:600;font-size:13px;cursor:pointer;padding:4px 0}.form-actions[data-v-8b92b6e8]{display:flex;flex-direction:column;gap:8px}.suggestions[data-v-8b92b6e8]{display:flex;flex-direction:column;gap:6px}.suggestion-chips[data-v-8b92b6e8]{display:flex;flex-wrap:wrap;gap:6px}.suggestion-chip[data-v-8b92b6e8]{display:inline-flex;align-items:center;gap:4px;padding:6px 6px 6px 10px;border-radius:999px;background:var(--color-secondary-soft);color:var(--color-secondary-dark);font-size:13px;font-weight:600}.chip-add[data-v-8b92b6e8],.chip-dismiss[data-v-8b92b6e8]{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:50%;background:#ffffffb3;color:inherit;cursor:pointer}@keyframes needs-fill-pulse-8b92b6e8{0%,to{box-shadow:0 0 0 3px var(--color-warning-soft)}50%{box-shadow:0 0 0 6px var(--color-warning-soft)}}.needs-fill[data-v-8b92b6e8]{border-color:var(--color-warning);box-shadow:0 0 0 3px var(--color-warning-soft);animation:needs-fill-pulse-8b92b6e8 1.6s ease-in-out 2}.needs-fill-group[data-v-8b92b6e8]{outline:2px solid var(--color-warning);outline-offset:5px;border-radius:var(--radius-input);animation:needs-fill-pulse-8b92b6e8 1.6s ease-in-out 2}.missing-hint[data-v-8b92b6e8]{display:flex;align-items:center;gap:6px;margin:0;padding:8px 10px;border-radius:var(--radius-input);background:var(--color-warning-soft);color:var(--color-text);font-size:12px;font-weight:600}.field-narrow[data-v-8b92b6e8]{max-width:220px}.field-row[data-v-8b92b6e8]{display:flex;gap:10px;flex-wrap:wrap}.field-row .field-group[data-v-8b92b6e8]{flex:1 1 150px;min-width:0}.input-error[data-v-8b92b6e8]{border-color:var(--color-danger);box-shadow:0 0 0 3px var(--color-danger-soft)}.field-error[data-v-8b92b6e8]{margin:0;font-size:12px;font-weight:600;color:var(--color-danger)}.draft-hint-footer[data-v-8b92b6e8]{margin-bottom:8px}.draft-hint[data-v-8b92b6e8]{margin:0;font-size:12px;color:var(--color-muted)}.field-label[data-v-9cd81049]{font-size:12px;font-weight:600;color:var(--color-muted);margin-top:4px}.hidden-input[data-v-9cd81049]{display:none}.hint[data-v-9cd81049]{margin:0;font-size:12px;color:var(--color-muted)}.error-text[data-v-9cd81049]{margin:0;font-size:13px;color:var(--color-danger)}.setup-header[data-v-9cd81049]{display:flex;align-items:center;gap:10px}.setup-header .setup-mode-toggle[data-v-9cd81049]{flex:1}.setup-mode-toggle[data-v-9cd81049]{display:flex;gap:6px;background:var(--color-border);padding:4px;border-radius:var(--radius-sm)}.setup-mode-toggle button[data-v-9cd81049]{flex:1;border:none;background:transparent;color:var(--color-muted);padding:8px 12px;border-radius:var(--radius-sm);font-weight:600;font-size:13px;cursor:pointer}.setup-mode-toggle button.active[data-v-9cd81049]{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-card)}.summary-row[data-v-9cd81049]{display:flex;flex-wrap:wrap;gap:6px}.summary-chip[data-v-9cd81049]{font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--color-primary-soft);color:var(--color-primary)}.summary-draft[data-v-9cd81049]{background:var(--color-accent-orange-soft);color:var(--color-accent-orange)}.summary-dupe[data-v-9cd81049]{background:var(--color-danger-soft);color:var(--color-danger)}.summary-warn[data-v-9cd81049]{background:var(--color-accent-pink-soft);color:var(--color-accent-pink)}.preview-list[data-v-9cd81049]{display:flex;flex-direction:column;gap:8px;max-height:45vh;overflow-y:auto}.preview-row[data-v-9cd81049]{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer}.preview-row input[type=checkbox][data-v-9cd81049]{margin-top:3px;width:18px;height:18px;flex-shrink:0}.preview-info[data-v-9cd81049]{display:flex;flex-direction:column;gap:2px;min-width:0}.preview-title[data-v-9cd81049]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.preview-title strong[data-v-9cd81049]{overflow-wrap:anywhere}.flag[data-v-9cd81049]{font-size:13px}.badge[data-v-9cd81049]{font-size:10px;font-weight:700;text-transform:uppercase;padding:2px 6px;border-radius:999px}.badge-draft[data-v-9cd81049]{color:var(--color-accent-orange);background:var(--color-accent-orange-soft)}.badge-dupe[data-v-9cd81049]{color:var(--color-danger);background:var(--color-danger-soft)}.preview-meaning[data-v-9cd81049]{font-size:13px;color:var(--color-muted);overflow-wrap:anywhere}.preview-warn[data-v-9cd81049]{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--color-accent-pink)}.preview-actions[data-v-9cd81049]{display:flex;gap:10px;align-items:center}.hold-btn[data-v-68dd3e20]{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;overflow:hidden;padding:12px 20px;border:none;border-radius:var(--radius-md);background:var(--color-danger);color:#fff;font-size:15px;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none}.hold-btn[data-v-68dd3e20]:disabled{opacity:.5;cursor:not-allowed}.hold-progress[data-v-68dd3e20]{position:absolute;top:0;right:0;bottom:0;left:0;width:0;background:#ffffff59;transition:width .05s linear}.hold-label[data-v-68dd3e20]{position:relative;display:inline-flex;align-items:center;gap:6px;pointer-events:none}.preview-header[data-v-49e81a46]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.preview-header h2[data-v-49e81a46]{margin:0;font-size:20px;overflow-wrap:anywhere}.draft-tag[data-v-49e81a46]{font-size:10px;font-weight:700;text-transform:uppercase;color:var(--color-accent-orange);background:var(--color-accent-orange-soft);padding:2px 6px;border-radius:999px}.preview-image[data-v-49e81a46]{width:100%;max-height:200px;object-fit:cover;border-radius:var(--radius-md)}.pos-row[data-v-49e81a46]{display:flex;flex-wrap:wrap;gap:6px}.pos-badge[data-v-49e81a46]{font-size:11px;font-weight:700;color:var(--color-primary);background:var(--color-primary-soft);padding:3px 8px;border-radius:999px}.preview-phonetic[data-v-49e81a46]{margin:0;color:var(--color-muted);font-size:14px}.preview-meaning[data-v-49e81a46]{margin:0;font-size:16px;line-height:1.5;overflow-wrap:anywhere}.preview-examples[data-v-49e81a46]{display:flex;flex-direction:column;gap:6px;margin:0}.preview-examples p[data-v-49e81a46]{margin:0;font-style:italic;color:var(--color-muted);font-size:14px;overflow-wrap:anywhere}.preview-topic[data-v-49e81a46]{margin:0;font-size:13px;color:var(--color-muted)}.preview-actions[data-v-49e81a46]{margin-top:8px;display:flex;flex-direction:column;gap:8px}.rich-clamp[data-v-49e81a46]{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.rich-clamp[data-v-49e81a46] p{margin:0 0 4px}.rich-clamp[data-v-49e81a46] table{display:none}.rich-clamp[data-v-49e81a46] h2,.rich-clamp[data-v-49e81a46] h3{font-size:inherit;font-weight:700;margin:0 0 4px;display:inline}.preview-example-vi[data-v-49e81a46]{color:var(--color-muted);font-style:normal}.dictionary[data-v-a7e004c5]{padding:20px 20px 90px;display:flex;flex-direction:column;gap:14px;min-width:0;position:relative}.dictionary-sticky-header[data-v-a7e004c5]{position:absolute;top:var(--topbar-h, 0px);left:0;right:0;z-index:25;background:var(--color-bg);display:flex;flex-direction:column;gap:8px;padding:4px 20px 10px;transform:translateY(calc(-1 * var(--topbar-hidden, 0) * var(--topbar-h, 0px)));transition:transform .45s cubic-bezier(.16,1,.3,1)}.dictionary-header[data-v-a7e004c5]{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.dictionary-header h1[data-v-a7e004c5]{margin:0;font-size:18px;line-height:1.3}.header-actions[data-v-a7e004c5]{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.icon-chip-active[data-v-a7e004c5]{background:var(--color-primary);color:#fff}.draft-chip[data-v-a7e004c5]{width:auto;padding:0 10px;gap:4px;font-size:12px;font-weight:700}.mode-toggle[data-v-a7e004c5]{position:relative;display:flex;gap:6px;width:100%;background:var(--color-border);padding:4px;border-radius:var(--radius-md)}.mode-toggle-thumb[data-v-a7e004c5]{position:absolute;top:4px;left:4px;width:calc(50% - 6px);height:calc(100% - 8px);background:var(--color-surface);border-radius:16px;box-shadow:var(--shadow-card);transition:transform .28s cubic-bezier(.34,1.56,.64,1);z-index:0}.mode-toggle-thumb.thumb-grammar[data-v-a7e004c5]{transform:translate(calc(100% + 6px))}.mode-toggle button[data-v-a7e004c5]{position:relative;z-index:1;flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;background:transparent;padding:9px 14px;border-radius:var(--radius-sm);cursor:pointer;font-weight:700;font-size:14px;color:var(--color-muted);transition:color .2s ease}.mode-toggle button.active[data-v-a7e004c5]{color:var(--color-primary)}.toolbar[data-v-a7e004c5]{display:flex;align-items:center;gap:8px;min-width:0}.search-box[data-v-a7e004c5]{position:relative;flex:1;min-width:0}.search-icon[data-v-a7e004c5]{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-muted);pointer-events:none}.search-input[data-v-a7e004c5]{width:100%;padding-left:38px}.filter-pill[data-v-a7e004c5]{position:relative;flex:0 0 auto;display:flex;align-items:center}.lang-menu-backdrop[data-v-a7e004c5]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:transparent}.lang-menu-panel[data-v-a7e004c5]{position:absolute;top:calc(100% + 6px);right:0;z-index:31;min-width:168px;max-height:300px;overflow-y:auto;padding:6px;display:flex;flex-direction:column;gap:2px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-card);transform-origin:top right}.lang-menu-enter-active[data-v-a7e004c5],.lang-menu-leave-active[data-v-a7e004c5]{transition:opacity .14s ease,transform .14s ease}.lang-menu-enter-from[data-v-a7e004c5],.lang-menu-leave-to[data-v-a7e004c5]{opacity:0;transform:scale(.96) translateY(-4px)}.lang-menu-item[data-v-a7e004c5]{display:flex;align-items:center;padding:9px 12px;border:none;background:none;border-radius:var(--radius-sm);font-size:14px;font-family:var(--font-sans);color:var(--color-text);text-align:left;cursor:pointer}.lang-menu-item.active[data-v-a7e004c5]{background:var(--color-primary-soft);color:var(--color-primary);font-weight:600}.bulk-filter-panel[data-v-a7e004c5]{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border)}.bulk-filter-row[data-v-a7e004c5]{display:flex;gap:8px}.bulk-filter-select[data-v-a7e004c5],.bulk-filter-date[data-v-a7e004c5]{flex:1;min-width:0;font-size:13px}.bulk-filter-date-sep[data-v-a7e004c5]{align-self:center;color:var(--color-muted)}.bulk-filter-actions[data-v-a7e004c5]{display:flex;align-items:center;gap:10px}.bulk-filter-actions .btn[data-v-a7e004c5]{flex:1}.bulk-filter-clear[data-v-a7e004c5]{flex-shrink:0;border:none;background:none;color:var(--color-danger);font-size:13px;font-weight:600;cursor:pointer;padding:0}.leech-chip[data-v-a7e004c5]{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--color-accent-orange);background:var(--color-accent-orange-soft);color:var(--color-accent-orange);padding:6px 12px;border-radius:999px;font-size:12px;font-weight:700;cursor:pointer}.leech-chip.active[data-v-a7e004c5]{background:var(--color-accent-orange);color:#fff}.hint[data-v-a7e004c5]{margin:0;font-size:13px;color:var(--color-muted)}.item-list[data-v-a7e004c5]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.item-row[data-v-a7e004c5]{position:relative;overflow:hidden;display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;min-width:0;-webkit-user-select:none;user-select:none;touch-action:pan-y}.hold-fill[data-v-a7e004c5]{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-primary-soft);transition:width .05s linear;z-index:0;pointer-events:none}.item-row[data-v-a7e004c5]>*:not(.hold-fill){position:relative;z-index:1}.static-chip[data-v-a7e004c5]{cursor:default}.select-box[data-v-a7e004c5]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;border-radius:6px;border:2px solid var(--color-border);background:var(--color-surface);color:#fff;cursor:pointer}.select-box.checked[data-v-a7e004c5]{background:var(--color-primary);border-color:var(--color-primary)}.item-main[data-v-a7e004c5]{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0;overflow:hidden}.item-main strong[data-v-a7e004c5]{overflow-wrap:anywhere}.item-title-row[data-v-a7e004c5]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.srs-dot[data-v-a7e004c5]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.srs-dot-leech[data-v-a7e004c5]{background:var(--color-danger)}.srs-dot-learning[data-v-a7e004c5]{background:var(--color-accent-orange)}.srs-dot-strong[data-v-a7e004c5]{background:var(--color-secondary)}.pos-badge[data-v-a7e004c5]{font-size:10px;font-weight:700;color:var(--color-primary);background:var(--color-primary-soft);padding:2px 6px;border-radius:999px}.draft-tag[data-v-a7e004c5]{font-size:10px;font-weight:700;text-transform:uppercase;color:var(--color-accent-orange);background:var(--color-accent-orange-soft);padding:2px 6px;border-radius:999px}.muted-text[data-v-a7e004c5]{color:var(--color-muted);font-size:13px}.item-meaning[data-v-a7e004c5]{color:var(--color-text);font-size:14px;overflow-wrap:anywhere}.item-actions[data-v-a7e004c5]{display:flex;gap:6px;flex-shrink:0}.item-row>.item-actions-overlay[data-v-a7e004c5]{position:absolute;top:0;bottom:0;right:0;z-index:21;display:flex;align-items:center;gap:6px;padding:0 12px 0 20px;background:var(--color-surface);border-radius:0 var(--radius-md) var(--radius-md) 0;box-shadow:-8px 0 14px -6px #0000002e}.tray-slide-enter-active[data-v-a7e004c5],.tray-slide-leave-active[data-v-a7e004c5]{transition:transform .18s ease,opacity .18s ease}.tray-slide-enter-from[data-v-a7e004c5],.tray-slide-leave-to[data-v-a7e004c5]{transform:translate(14px);opacity:0}.item-actions-backdrop[data-v-a7e004c5]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:transparent}.load-more-sentinel[data-v-a7e004c5]{height:1px}.scroll-top-fab[data-v-a7e004c5]{position:fixed;right:20px;bottom:calc(68px + env(safe-area-inset-bottom));width:34px;height:34px;border-radius:var(--radius-avatar);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-muted);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-card);cursor:pointer;z-index:15;transition:transform .12s ease}.scroll-top-fab[data-v-a7e004c5]:active{transform:scale(.95)}.bulk-bar[data-v-a7e004c5]{position:fixed;left:16px;right:16px;bottom:calc(68px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;background:#111827;color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-card);z-index:16}.lang-gate[data-v-a7e004c5]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:31;background:var(--color-bg);overflow-y:auto;padding:calc(24px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:10px}.lang-gate-title[data-v-a7e004c5]{margin:0;font-size:22px}.lang-gate-hint[data-v-a7e004c5]{margin:0 0 6px;font-size:13px;color:var(--color-muted)}.lang-gate-grid[data-v-a7e004c5]{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:12px}.lang-gate-card[data-v-a7e004c5],.lang-gate-all[data-v-a7e004c5]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 10px;min-height:116px;justify-content:center;border:none;border-radius:var(--radius-card);background:var(--color-surface);color:var(--color-text);cursor:pointer;box-shadow:0 2px 10px #0000000d,0 8px 24px #0000000a;transition:transform .14s ease,box-shadow .18s ease}@media (hover: hover){.lang-gate-card[data-v-a7e004c5]:hover,.lang-gate-all[data-v-a7e004c5]:hover{transform:translateY(-2px);box-shadow:0 4px 14px #00000012,0 14px 32px #00000012}}.lang-gate-card[data-v-a7e004c5]:active,.lang-gate-all[data-v-a7e004c5]:active{transform:scale(.97);box-shadow:0 1px 6px #0000000f}.lang-gate-card strong[data-v-a7e004c5],.lang-gate-all strong[data-v-a7e004c5]{font-size:13.5px;font-weight:700;text-align:center;line-height:1.25}.lang-gate-card span[data-v-a7e004c5],.lang-gate-all span[data-v-a7e004c5]{font-size:11px;font-weight:700;color:var(--color-primary);background:var(--color-primary-soft);padding:2px 9px;border-radius:999px}.lang-gate-card[data-v-a7e004c5] svg,.lang-gate-card[data-v-a7e004c5] img{border-radius:4px;box-shadow:0 1px 4px #00000029}.lang-gate-all[data-v-a7e004c5]{flex-direction:row;gap:10px;min-height:0;padding:16px;color:var(--color-primary)}.lang-gate-all strong[data-v-a7e004c5]{flex:1;text-align:left}.lang-gate-enter-active[data-v-a7e004c5],.lang-gate-leave-active[data-v-a7e004c5]{transition:opacity .18s ease}.lang-gate-enter-from[data-v-a7e004c5],.lang-gate-leave-to[data-v-a7e004c5]{opacity:0}.add-menu-item[data-v-a7e004c5]:disabled{opacity:.45;cursor:not-allowed}.add-menu-item[data-v-a7e004c5]{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border:none;background:none;border-radius:var(--radius-md);color:var(--color-text);text-align:left;cursor:pointer}.add-menu-item[data-v-a7e004c5]:active{background:var(--color-primary-soft)}.add-menu-item strong[data-v-a7e004c5]{display:block;font-size:15px}.add-menu-item p[data-v-a7e004c5]{margin:2px 0 0;font-size:12px;color:var(--color-muted)}.color-icon[data-v-8b342571]{flex-shrink:0;display:block}.game-setup[data-v-ea320e02]{display:flex;flex-direction:column;gap:10px;width:100%}.setup-header[data-v-ea320e02]{display:flex;align-items:center;justify-content:space-between}.setup-icon[data-v-ea320e02]{width:40px;height:40px}.field-label[data-v-ea320e02]{font-size:12px;font-weight:600;color:var(--color-muted);margin-top:4px}.fixed-count[data-v-ea320e02]{font-size:13px;color:var(--color-muted)}.direction-toggle[data-v-ea320e02]{display:flex;gap:6px}.direction-toggle button[data-v-ea320e02]{flex:1;padding:8px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);font-size:13px;font-weight:600;color:var(--color-muted);cursor:pointer}.direction-toggle button.active[data-v-ea320e02]{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-soft)}.insufficient-pool[data-v-ea320e02]{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:18px 16px;border-radius:var(--radius-lg);background:var(--color-accent-orange-soft);color:var(--color-accent-orange);font-size:13px;animation:setup-card-pop-ea320e02 .4s cubic-bezier(.34,1.56,.64,1)}.insufficient-pool p[data-v-ea320e02]{margin:0;line-height:1.4}@keyframes setup-card-pop-ea320e02{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.count-picker[data-v-ea320e02]{display:flex;align-items:center;gap:12px}.count-picker input[type=range][data-v-ea320e02]{flex:1}.count-value[data-v-ea320e02]{font-size:13px;font-weight:700;color:var(--color-primary);min-width:52px;text-align:right}.empty-state[data-v-ea320e02]{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:24px 20px;border-radius:var(--radius-lg);background:var(--color-accent-orange-soft);color:var(--color-muted);animation:setup-card-pop-ea320e02 .4s cubic-bezier(.34,1.56,.64,1)}.preferred-lang-hint[data-v-ea320e02]{margin:0;padding:10px 12px;border-radius:var(--radius-md);background:var(--color-info-soft);color:var(--color-info);font-size:13px;line-height:1.4}.language-grid[data-v-ea320e02]{display:flex;flex-direction:column;gap:8px}.language-option[data-v-ea320e02]{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-weight:600;font-size:14px;cursor:pointer}.back-link[data-v-ea320e02]{align-self:flex-start;border:none;background:none;color:var(--color-primary);font-weight:600;font-size:13px;cursor:pointer;padding:0}.game-end-card[data-v-abcdaf8d]{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:28px 20px;border-radius:var(--radius-hero);background:var(--color-primary-gradient);box-shadow:var(--shadow-primary-card);color:#fff;overflow:hidden;animation:game-end-pop-abcdaf8d .5s cubic-bezier(.34,1.56,.64,1)}@keyframes game-end-pop-abcdaf8d{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.game-end-mascot[data-v-abcdaf8d]{filter:drop-shadow(0 6px 10px rgba(0,0,0,.15))}.game-end-message[data-v-abcdaf8d]{margin:0;font-size:15px;opacity:.92;max-width:260px}.game-end-score[data-v-abcdaf8d]{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--radius-button);background:#ffffff29}.game-end-score strong[data-v-abcdaf8d]{font-size:20px;font-weight:800}.end-actions[data-v-abcdaf8d]{display:flex;gap:10px;margin-top:4px}.end-actions .btn-primary[data-v-abcdaf8d]{background:#fff;color:var(--color-primary)}.end-actions .btn-ghost[data-v-abcdaf8d]{background:#ffffff29;color:#fff}.audio-player[data-v-7cc70d75]{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border-radius:999px;background:var(--color-primary-soft)}.audio-player-toggle[data-v-7cc70d75]{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;border:none;border-radius:50%;background:var(--color-primary);color:#fff;cursor:pointer}.audio-player-seek[data-v-7cc70d75]{flex:1;min-width:0;height:4px}.audio-player-seek[data-v-7cc70d75]::-webkit-slider-thumb{width:14px;height:14px}.audio-player-seek[data-v-7cc70d75]::-moz-range-thumb{width:14px;height:14px}.audio-player-time[data-v-7cc70d75]{flex-shrink:0;font-size:11px;font-weight:700;color:var(--color-primary);font-variant-numeric:tabular-nums}.audio-player-native[data-v-7cc70d75]{display:none}.articles[data-v-5df27b68]{display:flex;flex-direction:column;gap:14px}.articles-header[data-v-5df27b68]{display:flex;align-items:center;justify-content:space-between}.header-actions[data-v-5df27b68]{display:flex;gap:8px}.back-link[data-v-5df27b68]{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--color-primary);font-size:15px;font-weight:600;cursor:pointer;padding:0}.article-list[data-v-5df27b68]{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}.article-item[data-v-5df27b68]{display:flex;align-items:center;gap:12px;padding:14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer}.article-thumb[data-v-5df27b68]{width:48px;height:48px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0}.article-item-text[data-v-5df27b68]{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.article-lang[data-v-5df27b68]{color:var(--color-muted);font-size:12px;text-transform:uppercase}.title-input[data-v-5df27b68]{font-size:17px;font-weight:600}.thumb-preview[data-v-5df27b68]{width:72px;height:72px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.mode-toggle[data-v-5df27b68]{display:flex;gap:6px;background:var(--color-border);padding:4px;border-radius:var(--radius-md);width:fit-content}.mode-toggle button[data-v-5df27b68]{border:none;background:transparent;padding:8px 16px;border-radius:16px;cursor:pointer;font-weight:600;color:var(--color-muted)}.mode-toggle button.active[data-v-5df27b68]{background:var(--color-surface);color:var(--color-primary-dark)}.edit-content[data-v-5df27b68]{display:flex;flex-direction:column;gap:8px}.note-textarea[data-v-5df27b68]{min-height:120px;font-family:var(--font-sans);line-height:1.6}.reading-pane[data-v-5df27b68]{line-height:2;overflow-wrap:anywhere}.read-token[data-v-5df27b68]{border-radius:4px;-webkit-user-select:none;user-select:none}.read-token[data-v-5df27b68]:active{background:#ff9f4540}.edit-link[data-v-5df27b68]{display:block;margin-top:12px;background:none;border:none;color:var(--color-primary);font-weight:600;cursor:pointer;padding:0}.note-mode[data-v-5df27b68]{display:flex;flex-direction:column;gap:10px}.note-preview[data-v-5df27b68]{min-height:120px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.note-preview[data-v-5df27b68] .placeholder{color:var(--color-muted)}.article-read-title[data-v-5df27b68]{margin:0;font-size:21px;line-height:1.35;overflow-wrap:anywhere}.article-read-thumb[data-v-5df27b68]{width:100%;max-height:240px;object-fit:cover;border-radius:var(--radius-md)}.article-read-content[data-v-5df27b68]{padding:0}.article-note-box[data-v-5df27b68]{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-text) 5%,var(--color-surface));line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.article-note-label[data-v-5df27b68]{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted)}.word-popup[data-v-5df27b68]{position:fixed;left:16px;right:16px;bottom:84px;background:var(--color-primary-dark);color:#fff;padding:14px 16px;border-radius:var(--radius-md);box-shadow:var(--shadow-card);z-index:20}.word-popup strong[data-v-5df27b68]{display:block;margin-bottom:4px}.word-popup p[data-v-5df27b68]{margin:0;font-size:14px;opacity:.9}.youtube-player-wrap[data-v-e8855452]{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:var(--radius-md);overflow:hidden;background:#000}.youtube-player-wrap[data-v-e8855452] iframe{width:100%;height:100%;display:block}.script-textarea[data-v-00b3c21a]{resize:vertical;font-family:inherit;min-height:120px}.setup-header[data-v-00b3c21a]{display:flex;align-items:center;justify-content:space-between}.setup-header .field-label[data-v-00b3c21a]{margin-top:0}.checkbox-row[data-v-00b3c21a]{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--color-text);cursor:pointer}.checkbox-row input[type=checkbox][data-v-00b3c21a]{width:18px;height:18px;flex-shrink:0}.video-shadow-game[data-v-3f1fe2ce]{padding:20px;display:flex;flex-direction:column;gap:14px;min-width:0}.video-list-header[data-v-3f1fe2ce]{display:flex;align-items:center;justify-content:space-between;gap:10px}.back-link[data-v-3f1fe2ce]{display:inline-flex;align-items:center;gap:4px;border:none;background:none;color:var(--color-primary);font-weight:700;cursor:pointer;padding:0}.empty-state[data-v-3f1fe2ce]{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:24px 0;color:var(--color-muted)}.video-section-title[data-v-3f1fe2ce]{margin:4px 0 0;font-size:13px;font-weight:700;color:var(--color-muted);text-transform:uppercase;letter-spacing:.03em}.video-list[data-v-3f1fe2ce]{display:flex;flex-direction:column;gap:10px}.video-list-item[data-v-3f1fe2ce]{display:flex;align-items:center;gap:12px;cursor:pointer}.video-thumb[data-v-3f1fe2ce]{width:72px;height:40px;object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0}.video-list-info[data-v-3f1fe2ce]{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.video-list-info strong[data-v-3f1fe2ce]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-list-meta[data-v-3f1fe2ce]{font-size:12px;color:var(--color-muted)}.shadow-stage[data-v-3f1fe2ce]{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.queue-info-row[data-v-3f1fe2ce]{display:flex;align-items:center;justify-content:space-between;width:100%}.queue-info[data-v-3f1fe2ce]{margin:0;font-size:13px;color:var(--color-muted)}.finish-link[data-v-3f1fe2ce]{border:none;background:none;color:var(--color-primary);font-size:13px;font-weight:700;cursor:pointer;padding:0}.game-end-card[data-v-3f1fe2ce]{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:28px 20px;width:100%;border-radius:var(--radius-hero);background:var(--color-primary-gradient);box-shadow:var(--shadow-primary-card);color:#fff;overflow:hidden;animation:game-end-pop-3f1fe2ce .5s cubic-bezier(.34,1.56,.64,1)}@keyframes game-end-pop-3f1fe2ce{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.game-end-mascot[data-v-3f1fe2ce]{filter:drop-shadow(0 6px 10px rgba(0,0,0,.15))}.game-end-message[data-v-3f1fe2ce]{margin:0;font-size:15px;opacity:.92;max-width:260px}.game-end-score[data-v-3f1fe2ce]{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--radius-button);background:#ffffff29}.game-end-score strong[data-v-3f1fe2ce]{font-size:20px;font-weight:800}.game-end-score span[data-v-3f1fe2ce]{font-size:13px;opacity:.85}.end-actions[data-v-3f1fe2ce]{width:100%;margin-top:4px}.end-actions .btn-ghost[data-v-3f1fe2ce]{background:#ffffff29;color:#fff}.shadow-term[data-v-3f1fe2ce]{display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center;width:100%}.shadow-term strong[data-v-3f1fe2ce]{font-size:20px}.shadow-note[data-v-3f1fe2ce]{font-size:12px;color:var(--color-muted);text-align:center}.listen-play[data-v-3f1fe2ce],.record-btn[data-v-3f1fe2ce]{display:inline-flex;align-items:center;gap:8px;padding:14px 22px;border-radius:999px;border:none;background:var(--color-primary-soft);color:var(--color-primary);font-weight:700;cursor:pointer}.listen-play-row[data-v-3f1fe2ce]{display:flex;align-items:center;justify-content:center;gap:8px;width:100%}.listen-play-slow[data-v-3f1fe2ce]{padding:14px}.segment-nav-row[data-v-3f1fe2ce]{display:flex;gap:8px;width:100%}.segment-nav-row .btn[data-v-3f1fe2ce]{flex:1}.record-btn.recording[data-v-3f1fe2ce]{background:var(--color-danger-soft);color:var(--color-danger)}.record-btn.scoring[data-v-3f1fe2ce]{background:var(--color-border);color:var(--color-muted);cursor:default}.record-pulse[data-v-3f1fe2ce]{width:10px;height:10px;border-radius:50%;background:var(--color-danger);animation:video-record-pulse-anim-3f1fe2ce 1.1s ease-in-out infinite}@keyframes video-record-pulse-anim-3f1fe2ce{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.5}}.playback[data-v-3f1fe2ce]{width:100%}.shadow-score[data-v-3f1fe2ce]{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.shadow-score-item[data-v-3f1fe2ce]{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 14px;border-radius:12px;background:var(--color-primary-soft);min-width:72px}.shadow-score-item strong[data-v-3f1fe2ce]{font-size:20px;color:var(--color-primary)}.shadow-score-item span[data-v-3f1fe2ce]{font-size:11px;color:var(--color-muted)}.shadow-aligned[data-v-3f1fe2ce]{margin:0;font-size:15px;text-align:center;line-height:1.8}.shadow-aligned[data-v-3f1fe2ce] .shadow-word-correct{color:var(--color-secondary);font-weight:700}.shadow-aligned[data-v-3f1fe2ce] .shadow-word-wrong{color:var(--color-danger);font-weight:700;text-decoration:underline wavy}.shadow-aligned[data-v-3f1fe2ce] .shadow-word-missing{color:var(--color-muted);text-decoration:line-through}.practice[data-v-13b4833c]{padding:20px;display:flex;flex-direction:column;gap:14px;min-width:0}.due-banner[data-v-13b4833c]{display:flex;align-items:center;gap:10px;border:1px solid var(--color-accent-orange);background:var(--color-accent-orange-soft);color:var(--color-accent-orange);padding:12px 14px;border-radius:var(--radius-md);font-weight:700;font-size:14px;cursor:pointer;text-align:left}.due-banner span[data-v-13b4833c]{flex:1;min-width:0}.due-banner-chevron[data-v-13b4833c]{transform:scaleX(-1);flex-shrink:0}.hero-card[data-v-13b4833c]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:22px;border:none;border-radius:var(--radius-hero);background:var(--color-primary-gradient);box-shadow:var(--shadow-primary-card);color:#fff;cursor:pointer;text-align:left;transition:transform .12s ease}.hero-card[data-v-13b4833c]:active{transform:scale(.98)}.hero-text[data-v-13b4833c]{display:flex;flex-direction:column;gap:6px;min-width:0}.hero-text strong[data-v-13b4833c]{font-size:18px}.hero-text span[data-v-13b4833c]{font-size:13px;opacity:.85}.hero-icon[data-v-13b4833c]{display:flex;align-items:center;justify-content:center;width:48px;height:48px;flex-shrink:0;border-radius:var(--radius-md);background:#fff3}.shortcut-grid[data-v-13b4833c]{display:grid;grid-template-columns:repeat(4,1fr);justify-items:center;gap:18px 6px}.game-shortcut[data-v-13b4833c]{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;max-width:76px;border:none;background:none;padding:0;cursor:pointer;transition:transform .12s ease}.game-shortcut[data-v-13b4833c]:active{transform:scale(.93)}.game-shortcut.is-disabled[data-v-13b4833c]{opacity:.5;cursor:default}.game-shortcut.is-disabled[data-v-13b4833c]:active{transform:none}.game-shortcut-icon[data-v-13b4833c]{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:22%;color:#fff;overflow:hidden;box-shadow:var(--shadow-card);background:var(--shortcut-tint)}.game-shortcut-img[data-v-13b4833c]{width:100%;height:100%;object-fit:cover}.game-shortcut-icon.has-image[data-v-13b4833c]{background:none}.game-shortcut-label[data-v-13b4833c]{font-size:11.5px;font-weight:600;color:var(--color-text);text-align:center;overflow-wrap:anywhere;line-height:1.25}.tint-purple[data-v-13b4833c]{--shortcut-tint: var(--color-accent-purple)}.tint-pink[data-v-13b4833c]{--shortcut-tint: var(--color-accent-pink)}.tint-green[data-v-13b4833c]{--shortcut-tint: var(--color-secondary)}.tint-orange[data-v-13b4833c]{--shortcut-tint: var(--color-accent-orange)}.tint-blue[data-v-13b4833c]{--shortcut-tint: var(--color-info)}.back-link[data-v-13b4833c]{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;background:none;border:none;color:var(--color-primary);font-size:15px;font-weight:600;cursor:pointer;padding:0}.queue-info[data-v-13b4833c]{color:var(--color-muted);font-size:14px}.card-stage[data-v-13b4833c]{display:flex;flex-direction:column;align-items:center;gap:16px}.flashcard[data-v-13b4833c]{width:100%;max-width:340px;height:200px;perspective:1000px;cursor:pointer;position:relative}.flashcard-face[data-v-13b4833c]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border-radius:var(--radius-lg);backface-visibility:hidden;transition:transform .4s ease;padding:20px;text-align:center;overflow-wrap:anywhere}.flashcard-front[data-v-13b4833c]{background:var(--color-surface);border:1px solid var(--color-border);font-size:24px;font-weight:700}.flashcard-back[data-v-13b4833c]{background:var(--color-primary);color:#fff;font-size:18px;transform:rotateY(180deg)}.flashcard.flipped .flashcard-front[data-v-13b4833c]{transform:rotateY(180deg)}.flashcard.flipped .flashcard-back[data-v-13b4833c]{transform:rotateY(0)}.flashcard-face small[data-v-13b4833c]{opacity:.8;font-weight:400}.tap-hint[data-v-13b4833c]{color:var(--color-muted);font-size:13px;text-align:center}.rating-row[data-v-13b4833c]{display:flex;gap:10px}.listen-stage[data-v-13b4833c],.shadow-stage[data-v-13b4833c],.sentence-stage[data-v-13b4833c],.blank-stage[data-v-13b4833c]{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.listen-stage .input[data-v-13b4833c],.blank-stage .input[data-v-13b4833c]{width:100%}.listen-play[data-v-13b4833c],.record-btn[data-v-13b4833c]{display:inline-flex;align-items:center;gap:8px;padding:14px 22px;border-radius:999px;border:none;background:var(--color-primary-soft);color:var(--color-primary);font-weight:700;cursor:pointer}.listen-play-row[data-v-13b4833c]{display:flex;align-items:center;gap:8px}.listen-play-slow[data-v-13b4833c]{padding:14px}.record-btn.recording[data-v-13b4833c]{background:var(--color-danger-soft);color:var(--color-danger)}.record-btn.scoring[data-v-13b4833c]{background:var(--color-border);color:var(--color-muted);cursor:default}.record-pulse[data-v-13b4833c]{width:10px;height:10px;border-radius:50%;background:var(--color-danger);animation:record-pulse-anim-13b4833c 1.1s ease-in-out infinite}@keyframes record-pulse-anim-13b4833c{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.5}}.playback[data-v-13b4833c]{width:100%}.shadow-term[data-v-13b4833c]{display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center;width:100%}.shadow-term strong[data-v-13b4833c]{font-size:22px}.shadow-example[data-v-13b4833c]{font-size:13px;color:var(--color-muted)}.shadow-note[data-v-13b4833c]{font-size:12px;color:var(--color-muted);text-align:center}.shadow-score[data-v-13b4833c]{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.shadow-score-item[data-v-13b4833c]{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 14px;border-radius:12px;background:var(--color-primary-soft);min-width:72px}.shadow-score-item strong[data-v-13b4833c]{font-size:20px;color:var(--color-primary)}.shadow-score-item span[data-v-13b4833c]{font-size:11px;color:var(--color-muted)}.shadow-aligned[data-v-13b4833c]{margin:0;font-size:15px;text-align:center;line-height:1.8}.shadow-aligned[data-v-13b4833c] .shadow-word-correct{color:var(--color-secondary);font-weight:700}.shadow-aligned[data-v-13b4833c] .shadow-word-wrong{color:var(--color-danger);font-weight:700;text-decoration:underline wavy}.shadow-aligned[data-v-13b4833c] .shadow-word-missing{color:var(--color-muted);text-decoration:line-through}.answer-area[data-v-13b4833c]{min-height:56px;width:100%;display:flex;flex-wrap:wrap;gap:8px;padding:10px;border:1px dashed var(--color-border);border-radius:var(--radius-md);align-items:flex-start}.answer-placeholder[data-v-13b4833c]{font-size:13px;color:var(--color-muted);padding:6px}.token-pool[data-v-13b4833c]{width:100%;display:flex;flex-wrap:wrap;gap:8px}.sentence-token[data-v-13b4833c]{padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);font-size:14px;cursor:pointer}.sentence-token.chosen[data-v-13b4833c]{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.hint-toggle[data-v-13b4833c]{align-self:center;border:none;background:none;color:var(--color-primary);font-weight:600;font-size:13px;cursor:pointer;padding:4px 0}.sentence-hint[data-v-13b4833c]{font-size:13px;color:var(--color-muted);text-align:center}.writing-game[data-v-13b4833c]{display:flex;flex-direction:column;gap:12px;width:100%}.field-label[data-v-13b4833c]{font-size:12px;font-weight:600;color:var(--color-muted);margin-top:4px}.setup-header[data-v-13b4833c]{display:flex;align-items:center;justify-content:space-between}.setup-header .field-label[data-v-13b4833c]{margin-top:0}.writing-prompt[data-v-13b4833c]{display:flex;flex-direction:column;gap:8px}.prompt-chips[data-v-13b4833c]{display:flex;flex-wrap:wrap;gap:6px}.prompt-chip[data-v-13b4833c]{padding:6px 12px;border-radius:999px;background:var(--color-primary-soft);color:var(--color-primary);font-size:13px;font-weight:600}.writing-toolbar[data-v-13b4833c]{display:flex;flex-wrap:wrap;gap:8px}.save-article-thumb-preview[data-v-13b4833c]{width:100%;max-height:160px;object-fit:cover;border-radius:var(--radius-input)}.writing-textarea[data-v-13b4833c]{min-height:120px;font-family:var(--font-sans);line-height:1.6}.writing-result[data-v-13b4833c] p,.writing-result div[data-v-13b4833c]{line-height:1.9;overflow-wrap:anywhere}.legend[data-v-13b4833c]{display:flex;gap:16px;margin-top:12px;font-size:12px;color:var(--color-muted);flex-wrap:wrap}.legend-item[data-v-13b4833c]{display:inline-flex;align-items:center;gap:6px}.dot[data-v-13b4833c]{width:10px;height:10px;border-radius:50%;display:inline-block}.dot-red[data-v-13b4833c]{background:var(--color-danger)}.dot-yellow[data-v-13b4833c]{background:#ffc542}.match-stage[data-v-13b4833c]{display:flex;flex-direction:column;gap:14px}.match-term[data-v-13b4833c]{text-align:center;font-size:22px;font-weight:700;overflow-wrap:anywhere}.match-options[data-v-13b4833c]{display:flex;flex-direction:column;gap:8px}.match-option[data-v-13b4833c]{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;font-size:14px;overflow-wrap:anywhere}.match-option.correct[data-v-13b4833c]{border-color:var(--color-secondary);background:var(--color-secondary-soft)}.match-option.wrong[data-v-13b4833c]{border-color:var(--color-danger);background:var(--color-danger-soft)}.match-option[data-v-13b4833c]:disabled{cursor:default}.picture-stage[data-v-13b4833c]{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.picture-stage .input[data-v-13b4833c]{width:100%}.picture-frame[data-v-13b4833c]{width:100%;max-width:260px;aspect-ratio:1;border-radius:var(--radius-lg);overflow:hidden;background:var(--color-border);display:flex;align-items:center;justify-content:center}.picture-frame img[data-v-13b4833c]{width:100%;height:100%;object-fit:cover}.picture-broken[data-v-13b4833c]{color:var(--color-muted)}.blank-sentence[data-v-13b4833c]{font-size:16px;line-height:1.7;overflow-wrap:anywhere;width:100%;text-align:center}.feedback[data-v-13b4833c]{display:flex;align-items:center;gap:6px;margin:0;font-weight:600}.feedback-correct[data-v-13b4833c]{color:var(--color-secondary)}.feedback-wrong[data-v-13b4833c]{color:var(--color-danger)}.hint[data-v-13b4833c]{font-size:13px;color:var(--color-muted);margin:0}.achievement-count[data-v-44a34e7d]{margin:0 0 10px;font-size:12px;font-weight:700;color:var(--color-muted);text-align:center}.achievement-grid[data-v-44a34e7d]{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.achievement-card[data-v-44a34e7d]{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:14px 10px;border-radius:var(--radius-md);background:var(--color-primary-soft);border:1px solid var(--color-primary)}.achievement-progress[data-v-44a34e7d]{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;margin-top:2px}.achievement-progress-track[data-v-44a34e7d]{width:100%;height:4px;border-radius:999px;background:var(--color-surface);overflow:hidden}.achievement-progress-fill[data-v-44a34e7d]{height:100%;border-radius:999px;background:var(--color-muted);transition:width .4s ease}.achievement-progress-label[data-v-44a34e7d]{font-size:10px;font-weight:700;color:var(--color-muted)}.achievement-card.locked[data-v-44a34e7d]{background:var(--color-border);border-color:var(--color-border);opacity:.6}.achievement-icon[data-v-44a34e7d]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--color-surface);color:var(--color-primary)}.achievement-card.locked .achievement-icon[data-v-44a34e7d]{color:var(--color-muted)}.achievement-card strong[data-v-44a34e7d]{font-size:13px}.achievement-desc[data-v-44a34e7d]{font-size:11px;color:var(--color-muted)}.profile[data-v-f2d0db42]{padding:20px;display:flex;flex-direction:column;gap:14px;min-width:0}.guest-card[data-v-f2d0db42]{display:flex;gap:12px;align-items:flex-start}.guest-avatar[data-v-f2d0db42]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border-radius:50%;background:var(--color-border);color:var(--color-muted)}.guest-card p[data-v-f2d0db42]{margin:4px 0 0;font-size:13px;color:var(--color-muted)}.auth-card[data-v-f2d0db42]{display:flex;flex-direction:column;gap:10px}.otp-input[data-v-f2d0db42]{align-self:center;width:200px;max-width:100%;text-align:center;font-size:22px;font-weight:700;letter-spacing:10px;padding-right:4px}.mode-toggle[data-v-f2d0db42]{display:flex;gap:6px;background:var(--color-border);padding:4px;border-radius:var(--radius-md);width:fit-content}.mode-toggle button[data-v-f2d0db42]{border:none;background:transparent;padding:8px 16px;border-radius:16px;cursor:pointer;font-weight:600;color:var(--color-muted)}.mode-toggle button.active[data-v-f2d0db42]{background:var(--color-surface);color:var(--color-primary)}.error-text[data-v-f2d0db42]{margin:0;font-size:13px;color:var(--color-danger)}.resend-link[data-v-f2d0db42]{align-self:center;background:none;border:none;color:var(--color-primary);font-size:13px;font-weight:600;cursor:pointer;padding:4px 0}.resend-link[data-v-f2d0db42]:disabled{color:var(--color-muted);cursor:default}.forgot-link[data-v-f2d0db42]{align-self:flex-end}.google-btn-container[data-v-f2d0db42]{display:flex;justify-content:center;width:100%;min-height:44px;border-radius:var(--radius-button);overflow:hidden}.google-btn-container.is-busy[data-v-f2d0db42]{pointer-events:none;opacity:.5}.or-divider[data-v-f2d0db42]{display:flex;align-items:center;gap:10px;color:var(--color-muted);font-size:12px}.or-divider[data-v-f2d0db42]:before,.or-divider[data-v-f2d0db42]:after{content:"";flex:1;height:1px;background:var(--color-border)}.profile-hero[data-v-f2d0db42]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 0 4px;text-align:center}.avatar-lg[data-v-f2d0db42]{display:flex;align-items:center;justify-content:center;width:96px;height:96px;border-radius:var(--radius-avatar);background:var(--color-primary-soft);border:3px solid var(--color-surface);box-shadow:var(--shadow-card);overflow:hidden}.avatar-lg-img[data-v-f2d0db42]{width:100%;height:100%;object-fit:cover}.profile-name[data-v-f2d0db42]{font-size:19px}.badge-row[data-v-f2d0db42]{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.pill[data-v-f2d0db42]{font-size:12px;font-weight:700;padding:5px 12px;border-radius:999px}.pill-primary[data-v-f2d0db42]{background:var(--color-primary-soft);color:var(--color-primary)}.pill-danger[data-v-f2d0db42]{background:var(--color-danger-soft);color:var(--color-danger)}.avatar-picker[data-v-f2d0db42]{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.avatar-picker-item[data-v-f2d0db42]{padding:3px;border:2px solid transparent;border-radius:var(--radius-avatar);background:transparent;cursor:pointer;transition:transform .12s ease,border-color .15s ease}.avatar-picker-item img[data-v-f2d0db42]{display:block;width:100%;aspect-ratio:1;border-radius:var(--radius-avatar);object-fit:cover;background:var(--color-primary-soft)}.avatar-picker-item.selected[data-v-f2d0db42]{border-color:var(--color-primary)}.avatar-picker-item[data-v-f2d0db42]:active{transform:scale(.9)}.stat-section[data-v-f2d0db42]{display:flex;flex-direction:column;gap:10px}.stat-card-streak[data-v-f2d0db42]{display:flex;flex-direction:column;gap:12px;text-align:left}.streak-week-row[data-v-f2d0db42]{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.streak-week-day[data-v-f2d0db42]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 2px;border-radius:var(--radius-sm);min-width:0}.streak-week-day.today[data-v-f2d0db42]{background:var(--color-primary-soft)}.week-day-label[data-v-f2d0db42]{font-size:10px;font-weight:700;letter-spacing:.02em;color:var(--color-muted);text-transform:uppercase}.week-day-date[data-v-f2d0db42]{font-size:11px;font-weight:600;color:var(--color-text)}.week-day-icon[data-v-f2d0db42]{width:26px;height:26px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-border);color:var(--color-muted)}.week-day-icon.active[data-v-f2d0db42]{background:var(--color-accent-orange);color:#fff}.week-day-icon.frozen[data-v-f2d0db42]{background:var(--color-info-soft);color:var(--color-info)}.week-day-dot[data-v-f2d0db42]{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.5}.stat-grid[data-v-f2d0db42]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.stat-card[data-v-f2d0db42]{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;min-width:0}.stat-card-clickable[data-v-f2d0db42]{cursor:pointer}.stat-card strong[data-v-f2d0db42]{font-size:22px}.stat-label[data-v-f2d0db42]{font-size:12px;color:var(--color-muted);min-width:0}.field-label[data-v-f2d0db42]{font-size:12px;font-weight:600;color:var(--color-muted);margin-top:4px}.chip-row[data-v-f2d0db42]{display:flex;flex-wrap:wrap;gap:8px}.chip-btn[data-v-f2d0db42]{padding:8px 16px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-weight:600;font-size:13px;cursor:pointer}.chip-btn.active[data-v-f2d0db42]{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.action-list[data-v-f2d0db42]{display:flex;flex-direction:column;gap:8px}.toggle-sub[data-v-f2d0db42]{display:block;margin-top:2px;font-size:12px;font-weight:400;color:var(--color-muted)}.toggle-row[data-v-f2d0db42]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;font-size:14px;color:var(--color-text)}.toggle-switch[data-v-f2d0db42]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:42px;height:24px;border-radius:999px;background:var(--color-border);position:relative;cursor:pointer;flex-shrink:0;transition:background .15s ease}.toggle-switch[data-v-f2d0db42]:before{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .15s ease;box-shadow:0 1px 3px #00000040}.toggle-switch[data-v-f2d0db42]:checked{background:var(--color-primary)}.toggle-switch[data-v-f2d0db42]:checked:before{transform:translate(18px)}.action-row[data-v-f2d0db42]{display:flex;align-items:center;gap:12px;width:100%;padding:14px;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-md);font-weight:600;color:var(--color-text);cursor:pointer;text-align:left}.action-icon[data-v-f2d0db42]{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border-radius:var(--radius-sm);background:var(--color-primary-soft);color:var(--color-primary)}.action-row span[data-v-f2d0db42]:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}.action-chevron[data-v-f2d0db42]{color:var(--color-muted);flex-shrink:0}.hidden-input[data-v-f2d0db42]{display:none}.hint[data-v-f2d0db42]{margin:0;font-size:13px;color:var(--color-muted)}.pin-note[data-v-5edd4f6d]{position:absolute;border-radius:var(--radius-md);box-shadow:var(--shadow-card);color:#1e293b;touch-action:none}.pin-note.dragging[data-v-5edd4f6d]{box-shadow:0 12px 28px #00000040;z-index:20}.pin-note.stacked[data-v-5edd4f6d]{position:relative;width:100%;min-height:160px}.pin-note-body[data-v-5edd4f6d]{position:absolute;top:0;right:0;bottom:0;left:0;padding:10px;display:flex;flex-direction:column;gap:6px;overflow-y:auto}.pin-note.stacked .pin-note-body[data-v-5edd4f6d]{position:static;height:100%;padding-bottom:20px}.pin-note-header[data-v-5edd4f6d]{display:flex;align-items:center;justify-content:space-between;gap:4px}.pin-grip[data-v-5edd4f6d]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:#0000000f;border-radius:50%;color:#1e293b;cursor:grab;touch-action:none}.pin-grip[data-v-5edd4f6d]:active{cursor:grabbing}.pin-grip-disabled[data-v-5edd4f6d]{cursor:default;opacity:.5}.pin-header-actions[data-v-5edd4f6d]{display:flex;gap:2px}.pin-icon-btn[data-v-5edd4f6d]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:none;color:#1e293b;opacity:.7;cursor:pointer;border-radius:8px}.pin-icon-btn[data-v-5edd4f6d]:active{opacity:1;background:#00000014}.pin-icon-danger[data-v-5edd4f6d]:active{color:#be123c}.pin-color-row[data-v-5edd4f6d],.pin-convert-row[data-v-5edd4f6d]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pin-color-swatch[data-v-5edd4f6d]{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer}.pin-color-swatch.active[data-v-5edd4f6d]{border-color:#1e293b}.pin-convert-btn[data-v-5edd4f6d]{display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(30,41,59,.25);background:#ffffff80;color:#1e293b;font-size:11px;font-weight:600;padding:4px 8px;border-radius:999px;cursor:pointer}.pin-textarea[data-v-5edd4f6d]{flex:1;min-height:40px;width:100%;border:none;background:transparent;resize:none;color:#1e293b;font-size:13px;font-family:var(--font-sans)}.pin-textarea[data-v-5edd4f6d]::placeholder{color:#1e293b80}.pin-textarea[data-v-5edd4f6d]:focus{outline:none}.pin-audio-row[data-v-5edd4f6d]{display:flex;align-items:center;gap:6px}.pin-audio-wrap[data-v-5edd4f6d]{flex:1;min-width:0;padding:4px 8px;border-radius:999px;background:#ffffff73;border:1px solid rgba(30,41,59,.15);box-shadow:inset 0 1px 2px #1e293b14}.pin-audio-player[data-v-5edd4f6d]{width:100%;display:block}.pin-audio-wrap[data-v-5edd4f6d] .audio-player{background:none;padding:0}.pin-media-actions[data-v-5edd4f6d]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pin-lang-toggle[data-v-5edd4f6d]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid rgba(30,41,59,.3);border-radius:50%;background:none;color:#1e293b;font-size:10px;font-weight:700;padding:0;cursor:pointer}.pin-lang-toggle[data-v-5edd4f6d]:disabled{opacity:.4}.pin-media-btn[data-v-5edd4f6d]{display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(30,41,59,.3);background:none;color:#1e293b;font-size:12px;padding:6px 10px;border-radius:999px;cursor:pointer}.pin-media-btn.active[data-v-5edd4f6d]{background:#e11d48;border-color:#e11d48;color:#fff}.pin-rotate-handle[data-v-5edd4f6d]{position:absolute;top:-14px;left:50%;transform:translate(-50%);width:24px;height:24px;border-radius:50%;background:var(--color-surface);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;color:var(--color-text);cursor:grab;touch-action:none;z-index:5;box-shadow:var(--shadow-card)}.pin-resize-handle[data-v-5edd4f6d]{position:absolute;bottom:2px;right:2px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;color:#1e293b80;cursor:nwse-resize;touch-action:none}.pin-resize-handle-stacked[data-v-5edd4f6d]{position:absolute;left:0;right:0;bottom:0;height:20px;display:flex;align-items:center;justify-content:center;cursor:ns-resize;touch-action:none}.pin-resize-bar[data-v-5edd4f6d]{width:36px;height:4px;border-radius:999px;background:#1e293b40}.field-label[data-v-07d42f38]{font-size:12px;font-weight:600;color:var(--color-muted);margin-top:4px}.form-actions[data-v-07d42f38]{display:flex;flex-direction:column;gap:8px}.structure-row[data-v-07d42f38]{display:flex;gap:8px;align-items:center}.structure-row .input[data-v-07d42f38]{flex:1;min-width:0}.add-structure[data-v-07d42f38]{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;background:none;border:none;color:var(--color-primary);font-weight:600;font-size:13px;cursor:pointer;padding:4px 0}.icon-btn[data-v-07d42f38]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-sm);background:var(--color-border);color:var(--color-text);cursor:pointer}.icon-btn-danger[data-v-07d42f38]{color:var(--color-danger)}.exercise-header[data-v-07d42f38]{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.exercise-list[data-v-07d42f38]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.exercise-item[data-v-07d42f38]{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.exercise-type-tag[data-v-07d42f38]{flex-shrink:0;font-size:10px;font-weight:700;text-transform:uppercase;color:var(--color-primary);background:var(--color-primary-soft);padding:2px 6px;border-radius:999px}.exercise-question[data-v-07d42f38]{flex:1;min-width:0;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exercise-form[data-v-07d42f38]{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.exercise-type-toggle[data-v-07d42f38]{display:flex;gap:6px}.exercise-type-toggle button[data-v-07d42f38]{flex:1;border:none;background:var(--color-border);color:var(--color-muted);padding:6px 10px;border-radius:var(--radius-sm);font-weight:600;font-size:13px;cursor:pointer}.exercise-type-toggle button.active[data-v-07d42f38]{background:var(--color-primary);color:#fff}.choice-row[data-v-07d42f38]{display:flex;gap:8px;align-items:center}.choice-row .input[data-v-07d42f38]{flex:1;min-width:0}.exercise-form-actions[data-v-07d42f38]{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.pinboard[data-v-dd3743a5]{padding:20px;display:flex;flex-direction:column;gap:14px;min-width:0;height:100%}.pinboard-header[data-v-dd3743a5]{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}.pinboard-title-row[data-v-dd3743a5]{display:flex;align-items:center;gap:6px}.pinboard-subtitle[data-v-dd3743a5]{margin:2px 0 0;font-size:13px;color:var(--color-muted)}.board-frame[data-v-dd3743a5]{flex:1;min-height:420px;display:flex;flex-direction:column;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border);background:var(--color-surface)}.board-tabs[data-v-dd3743a5]{display:flex;align-items:flex-end;gap:4px;padding:8px 8px 0;flex-wrap:wrap;background:var(--color-bg)}.board-tab[data-v-dd3743a5]{position:relative;display:flex;align-items:center;gap:4px;padding:8px 6px 8px 8px;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:var(--color-border);color:var(--color-muted);font-size:13px;max-width:160px;overflow:hidden}.board-tab.active[data-v-dd3743a5]{background:var(--color-surface);color:var(--color-text);font-weight:700}.board-tab-color[data-v-dd3743a5]{position:absolute;left:0;right:0;bottom:0;width:auto;height:3px;border-radius:0;border:none;padding:0;cursor:pointer}.board-tab-name[data-v-dd3743a5]{background:none;border:none;color:inherit;font-weight:inherit;font-size:13px;cursor:pointer;padding:0;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-tab-rename[data-v-dd3743a5]{border:none;border-bottom:1px solid var(--color-primary);background:transparent;color:var(--color-text);font-size:13px;outline:none;width:90px}.board-tab-new[data-v-dd3743a5]{padding:6px 8px;border-radius:var(--radius-sm);background:var(--color-border)}.board-tab-close[data-v-dd3743a5]{display:flex;align-items:center;justify-content:center;border:none;background:none;color:var(--color-muted);cursor:pointer;padding:2px}.board-tab-close[data-v-dd3743a5]:hover{color:var(--color-danger)}.board-tab-add[data-v-dd3743a5]{display:flex;align-items:center;justify-content:center;width:26px;height:26px;margin-bottom:4px;border:none;border-radius:50%;background:none;color:var(--color-muted);cursor:pointer}.board-tab-add[data-v-dd3743a5]:hover{background:var(--color-border);color:var(--color-text)}.board-canvas[data-v-dd3743a5]{position:relative;flex:1;min-height:400px;background-image:radial-gradient(rgba(15,23,42,.08) 1px,transparent 1px);background-size:22px 22px;overflow:auto}.board-canvas-mobile[data-v-dd3743a5]{display:flex;flex-direction:column;gap:10px;padding:12px;background-image:none;background:var(--color-bg)}.board-empty[data-v-dd3743a5]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--color-muted);text-align:center;padding:20px}.board-canvas-mobile .board-empty[data-v-dd3743a5]{position:static;flex:1}.convert-reference-panel[data-v-dd3743a5]{position:fixed;top:50%;right:24px;transform:translateY(-50%);width:260px;max-height:60vh;overflow-y:auto;padding:14px 16px;border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card);z-index:35}.convert-reference-label[data-v-dd3743a5]{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted)}.convert-reference-panel p[data-v-dd3743a5]{margin:6px 0 0;font-size:14px;color:var(--color-text);overflow-wrap:anywhere;white-space:pre-wrap}@media (max-width: 900px){.convert-reference-panel[data-v-dd3743a5]{display:none}}.links[data-v-0a64c887]{padding:20px 20px 90px;display:flex;flex-direction:column;gap:12px;min-width:0}.links-header[data-v-0a64c887]{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.links-header h1[data-v-0a64c887]{margin:0;font-size:18px}.links-actions[data-v-0a64c887]{display:flex;gap:6px}.back-link[data-v-0a64c887]{display:flex;align-items:center;gap:2px;align-self:flex-start;border:none;background:none;color:var(--color-primary);font-weight:600;font-size:13px;cursor:pointer;padding:0;width:100%}.shortcut-grid[data-v-0a64c887]{display:grid;grid-template-columns:repeat(4,1fr);justify-items:center;gap:18px 6px;touch-action:pan-y}.shortcut-tile[data-v-0a64c887]{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;max-width:76px;cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:none;transition:opacity .15s ease}.shortcut-tile.dragging[data-v-0a64c887]{opacity:.4}.shortcut-tile.drop-target .shortcut-icon[data-v-0a64c887]{transform:scale(1.12);box-shadow:0 0 0 3px var(--color-primary)}.folder-swap-enter-active[data-v-0a64c887]{transition:opacity .22s ease,transform .22s cubic-bezier(.16,1,.3,1)}.folder-swap-leave-active[data-v-0a64c887]{transition:opacity .15s ease,transform .15s cubic-bezier(.4,0,1,1)}.folder-swap-enter-from[data-v-0a64c887]{opacity:0;transform:scale(.95)}.folder-swap-leave-to[data-v-0a64c887]{opacity:0;transform:scale(1.03)}.shortcut-icon-wrap[data-v-0a64c887]{position:relative;width:56px;height:56px}.shortcut-icon[data-v-0a64c887]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:22%;background:var(--color-surface);border:1px solid var(--color-border);overflow:hidden;box-shadow:var(--shadow-card);transition:transform .12s ease,box-shadow .12s ease}.shortcut-icon.has-color[data-v-0a64c887]{border:none;color:#fff}.shortcut-favicon[data-v-0a64c887]{width:28px;height:28px;object-fit:contain}.shortcut-label[data-v-0a64c887]{font-size:11.5px;font-weight:600;color:var(--color-text);text-align:center;overflow-wrap:anywhere;line-height:1.25}.shortcut-delete[data-v-0a64c887]{position:absolute;top:-4px;left:-4px;width:18px;height:18px;border-radius:50%;border:2px solid var(--color-surface);background:var(--color-danger);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.folder-preview[data-v-0a64c887]{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;width:32px;height:32px}.folder-preview-cell[data-v-0a64c887]{display:flex;align-items:center;justify-content:center;background:#ffffff40;border-radius:4px;overflow:hidden}.folder-preview-cell img[data-v-0a64c887]{width:12px;height:12px;object-fit:contain}.empty-state[data-v-0a64c887]{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:40px 20px;color:var(--color-muted)}.static-chip[data-v-0a64c887]{cursor:default}.add-menu-item[data-v-0a64c887]{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border:none;background:none;border-radius:var(--radius-md);color:var(--color-text);text-align:left;cursor:pointer}.add-menu-item[data-v-0a64c887]:active{background:var(--color-primary-soft)}.add-menu-item strong[data-v-0a64c887]{display:block;font-size:15px}.add-menu-item p[data-v-0a64c887]{margin:2px 0 0;font-size:12px;color:var(--color-muted)}.sheet-form[data-v-0a64c887]{display:flex;flex-direction:column;gap:8px}.field-label[data-v-0a64c887]{font-size:12px;font-weight:600;color:var(--color-muted);margin-top:4px}.icon-picker[data-v-0a64c887]{display:flex;flex-wrap:wrap;gap:8px}.icon-picker-option[data-v-0a64c887]{width:40px;height:40px;border-radius:var(--radius-icon);border:2px solid var(--color-border);background:var(--color-surface);color:var(--color-text);display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden}.icon-picker-option img[data-v-0a64c887]{width:20px;height:20px;object-fit:contain}.icon-picker-option.active[data-v-0a64c887]{border-color:var(--color-primary);background:var(--color-primary-soft)}.hidden-file-input[data-v-0a64c887]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;overflow:hidden}.color-picker[data-v-0a64c887]{display:flex;flex-wrap:wrap;gap:8px}.color-swatch[data-v-0a64c887]{width:32px;height:32px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.color-swatch.active[data-v-0a64c887]{border-color:var(--color-text)}.admin[data-v-a2bba337]{padding:20px;display:flex;flex-direction:column;gap:16px;min-width:0}.admin h1[data-v-a2bba337]{margin:0;font-size:20px}.admin-section[data-v-a2bba337]{display:flex;flex-direction:column;gap:10px}.admin-section-header[data-v-a2bba337]{display:flex;align-items:center;justify-content:space-between}.admin-section h2[data-v-a2bba337]{margin:0;font-size:16px}.admin-subheading[data-v-a2bba337]{margin:8px 0 0;font-size:13px;font-weight:700;color:var(--color-muted);text-transform:uppercase;letter-spacing:.03em}.stat-line[data-v-a2bba337]{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px}.stat-line span[data-v-a2bba337]{color:var(--color-muted)}.stat-ok[data-v-a2bba337]{color:var(--color-secondary)}.stat-error[data-v-a2bba337]{color:var(--color-danger)}.spinning[data-v-a2bba337]{animation:admin-spin-a2bba337 .8s linear infinite}@keyframes admin-spin-a2bba337{to{transform:rotate(360deg)}}.admin-hint[data-v-a2bba337]{margin:0;font-size:12px;color:var(--color-muted)}.settings-row[data-v-a2bba337]{display:flex;gap:10px;flex-wrap:wrap}.settings-row-wrap .settings-field[data-v-a2bba337]{flex:1 1 calc(50% - 5px);min-width:130px}.settings-field[data-v-a2bba337]{display:flex;flex-direction:column;gap:4px;flex:1;font-size:12px;font-weight:600;color:var(--color-muted)}.settings-field .input[data-v-a2bba337]{font-size:14px;padding:8px 10px}.dict-lang-select[data-v-a2bba337]{max-width:220px}.dict-row-admin[data-v-a2bba337]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--color-border)}.dict-row-info[data-v-a2bba337]{display:flex;flex-direction:column;gap:2px;min-width:0}.dict-row-url[data-v-a2bba337]{font-size:11px;color:var(--color-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dict-row-actions[data-v-a2bba337]{display:flex;gap:4px;flex-shrink:0}.dict-edit-fields[data-v-a2bba337]{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.dict-edit-fields .input[data-v-a2bba337]{font-size:13px;padding:8px 10px}.user-row[data-v-a2bba337]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--color-border)}.user-row[data-v-a2bba337]:first-of-type{border-top:none}.user-row-info[data-v-a2bba337]{display:flex;flex-direction:column;gap:2px;min-width:0}.user-row-info strong[data-v-a2bba337]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-row-sub[data-v-a2bba337]{font-size:12px;color:var(--color-muted)}.user-row-actions[data-v-a2bba337]{display:flex;gap:6px;flex-shrink:0}.error-text[data-v-a2bba337]{margin:0;font-size:13px;color:var(--color-danger)}:root{--color-primary: #f7931e;--color-primary-dark: #e0790f;--color-primary-soft: #ffecd1;--color-primary-gradient: linear-gradient(135deg, #f7931e, #ffa733);--color-secondary: #48bb78;--color-secondary-dark: #2f9d5e;--color-secondary-soft: #e1f5e9;--color-danger: #e53e3e;--color-danger-soft: #fbe3e3;--color-warning: #f6c343;--color-warning-soft: #fdf1d6;--color-info: #4da8da;--color-info-soft: #e4f3fa;--color-accent-pink: #fa7268;--color-accent-pink-soft: #fee6e3;--color-accent-orange: #ffa733;--color-accent-orange-soft: #fff1e3;--color-accent-purple: #5b68e4;--color-accent-purple-soft: #e8e9fb;--color-capybara: #6a4533;--color-capybara-dark: #3d2619;--color-bg: #fffcf7;--color-surface: #ffffff;--color-text: #3d2619;--color-muted: #8a7362;--color-placeholder: #b5a392;--color-border: #f5e8d6;--overlay-bg: rgba(61, 38, 25, .45);--select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a7362' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");--radius-input: 12px;--radius-button: 12px;--radius-icon: 12px;--radius-card: 20px;--radius-hero: 24px;--radius-sheet: 28px;--radius-avatar: 50%;--radius-sm: var(--radius-button);--radius-md: var(--radius-card);--radius-lg: var(--radius-hero);--shadow-card: 0 4px 15px rgba(0, 0, 0, .03);--shadow-primary-card: 0 12px 25px rgba(247, 147, 30, .25);--shadow-fab: 0 10px 25px rgba(247, 147, 30, .4);--font-sans: "Be Vietnam Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--app-zoom: 1}:root[data-theme=dark]{--color-primary: #e78932;--color-primary-dark: #f7931e;--color-primary-soft: #4a2f12;--color-secondary: #6fe0a0;--color-secondary-dark: #48bb78;--color-secondary-soft: #1f4030;--color-danger: #cf4a40;--color-danger-soft: #4a211e;--color-warning: #ffd873;--color-warning-soft: #4a3812;--color-info: #8ac7e8;--color-info-soft: #1e3a47;--color-accent-pink: #ff9c93;--color-accent-pink-soft: #4a2420;--color-accent-orange: #ff8600;--color-accent-orange-soft: #4a2f12;--color-accent-purple: #8e97f0;--color-accent-purple-soft: #2a2d5c;--color-capybara: #b98a6a;--color-capybara-dark: #6a4533;--color-bg: #201510;--color-surface: #2c1f17;--color-text: #fff3e2;--color-muted: #c2ac98;--color-placeholder: #8a7362;--color-border: #4a382c;--overlay-bg: rgba(8, 5, 3, .72);--select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c2ac98' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")}*{box-sizing:border-box}html{zoom:var(--app-zoom)}html,body{margin:0;padding:0;width:100%;overflow-x:hidden;overscroll-behavior:none;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);line-height:1.5;-webkit-tap-highlight-color:transparent}#app{overflow-x:hidden}button,a,[role=button]{touch-action:manipulation}button,a,[role=button],input,textarea,select,.card-tappable{outline:none}button:focus-visible,a:focus-visible,[role=button]:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,.card-tappable:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}img,svg{max-width:100%}*{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent;margin:14px 0}*::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:999px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background-color:var(--color-muted)}input,textarea,select{max-width:100%;font-size:16px}textarea{display:block;width:100%;resize:none;overflow:hidden;box-sizing:border-box}h1,h2,h3{color:var(--color-text);font-weight:700}a{color:inherit}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.card-tappable:active{transform:scale(.98)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:12px 20px;border-radius:var(--radius-button);border:none;font-size:15px;font-weight:600;cursor:pointer;transition:transform .12s ease,opacity .15s ease}.btn:active{transform:scale(.95)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-secondary{background:var(--color-secondary);color:#fff}.btn-ghost{background:transparent;color:var(--color-primary)}.btn-danger{background:var(--color-danger);color:#fff}.btn-block{width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border:none;border-radius:var(--radius-icon);background:transparent;color:var(--color-text);cursor:pointer;transition:transform .12s ease,background-color .15s ease;position:relative}.icon-btn:active{transform:scale(.85);background:var(--color-border)}@media (hover: hover){.icon-btn:hover{background:var(--color-primary-soft)}}.icon-btn-danger{color:var(--color-danger)}.input{padding:12px 14px;border-radius:var(--radius-input);border:1px solid var(--color-border);font-size:15px;font-family:var(--font-sans);background:var(--color-surface);color:var(--color-text)}.input:focus{outline:none;border-color:var(--color-primary)}select.input{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:38px;background-image:var(--select-chevron);background-repeat:no-repeat;background-position:right 12px center;background-size:16px;cursor:pointer}select.input::-ms-expand{display:none}input[type=range]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;height:6px;border-radius:999px;background:linear-gradient(to right,var(--color-primary) var(--range-progress, 50%),var(--color-border) var(--range-progress, 50%));outline:none;cursor:pointer}input[type=range]::-webkit-slider-thumb{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--color-primary);border:3px solid var(--color-surface);box-shadow:var(--shadow-card);cursor:pointer;transition:transform .12s ease}input[type=range]::-moz-range-track{height:6px;border-radius:999px;background:var(--color-border)}input[type=range]::-moz-range-progress{height:6px;border-radius:999px;background:var(--color-primary)}input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--color-primary);border:3px solid var(--color-surface);box-shadow:var(--shadow-card);cursor:pointer;transition:transform .12s ease}input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15)}input[type=range]:active::-moz-range-thumb{transform:scale(1.15)}.grammar-error{border-bottom:2px solid;border-radius:2px;cursor:help}.grammar-error-red{background:#e8604c24;border-color:var(--color-danger)}.grammar-error-yellow{background:#d9770629;border-color:var(--color-warning)}.grammar-highlight{background:var(--color-secondary-soft);color:var(--color-secondary-dark);border-radius:4px;padding:0 2px;font-weight:600}.icon-chip{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border:none;border-radius:var(--radius-icon);cursor:pointer;transition:transform .12s ease;position:relative}.icon-chip-primary{background:var(--color-primary-soft);color:var(--color-primary)}.icon-chip-danger{background:var(--color-danger-soft);color:var(--color-danger)}.icon-chip-ghost{background:transparent;color:var(--color-muted)}.icon-chip:active{transform:scale(.85);opacity:.8}.guide-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;border:none;border-radius:50%;background:transparent;color:var(--color-muted);cursor:pointer;position:relative}.guide-btn:active{transform:scale(.85);opacity:.8}.icon-btn:before,.icon-chip:before,.guide-btn:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:max(44px,100%);height:max(44px,100%)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:40px 20px;color:var(--color-muted)}
