.app-modal[data-v-0a09baad]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:var(--color-overlay);contain:layout style}.app-modal__content[data-v-0a09baad]{background:var(--color-bg-card);border-radius:var(--radius-3xl);border:4px solid #ffffff;width:90%;max-width:480px;max-height:120vh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;box-shadow:0 20px 60px #00000026;will-change:transform,opacity}@media(max-width:767px){.app-modal__content[data-v-0a09baad]{max-height:85vh;display:flex;flex-direction:column;overflow-y:hidden;box-shadow:0 8px 24px #0000001f}}.app-modal__content[data-v-0a09baad]{scrollbar-width:thin;scrollbar-color:transparent transparent}.app-modal__content[data-v-0a09baad]:hover{scrollbar-color:rgba(0,0,0,.1) transparent}.app-modal__content[data-v-0a09baad]::-webkit-scrollbar{width:4px}.app-modal__content[data-v-0a09baad]::-webkit-scrollbar-track{background:transparent}.app-modal__content[data-v-0a09baad]::-webkit-scrollbar-thumb{background:transparent;border-radius:4px}.app-modal__content[data-v-0a09baad]:hover::-webkit-scrollbar-thumb{background:#00000014}.app-modal__content[data-v-0a09baad]::-webkit-scrollbar-thumb:hover{background:#00000026}.app-modal__content--wide[data-v-0a09baad]{max-width:860px;height:90vh;overflow-y:hidden;display:flex;flex-direction:column}.app-modal__header[data-v-0a09baad]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xl) var(--space-xl) var(--space-md)}.app-modal__header h3[data-v-0a09baad]{font-size:22px;font-weight:900;color:var(--color-text)}@media(max-width:767px){.app-modal__header[data-v-0a09baad]{padding:var(--space-md) var(--space-md) var(--space-sm);flex-shrink:0}.app-modal__header h3[data-v-0a09baad]{font-size:18px}}.app-modal__close[data-v-0a09baad]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-full);font-size:18px;color:var(--color-text-muted);cursor:pointer;background:#f1f5f9;border:2px solid #e2e8f0;transition:background-color .15s,border-color .15s,color .15s,transform .25s var(--ease-bounce)}.app-modal__close[data-v-0a09baad]:hover{background:var(--color-danger-light);border-color:var(--color-danger);color:var(--color-danger);transform:rotate(90deg) scale(1.1)}@media(max-width:767px){.app-modal__close[data-v-0a09baad]{width:32px;height:32px;font-size:16px}}.app-modal__body[data-v-0a09baad]{padding:0 var(--space-xl) var(--space-xl)}@media(max-width:767px){.app-modal__body[data-v-0a09baad]{padding:0 var(--space-md) var(--space-md);flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;min-height:0}}.app-modal__content--wide .app-modal__body[data-v-0a09baad]{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;min-height:0;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.08) transparent}.app-modal__footer[data-v-0a09baad]{padding:var(--space-md) var(--space-xl) var(--space-xl);border-top:2px solid #f1f5f9;flex-shrink:0;display:flex;justify-content:flex-end;gap:var(--space-sm)}@media(max-width:767px){.app-modal__footer[data-v-0a09baad]{padding:var(--space-sm) var(--space-md) var(--space-md)}}.modal-enter-active .app-modal__content[data-v-0a09baad]{transition:opacity .12s ease-out,transform .18s ease-out}@media(max-width:767px){.modal-enter-active .app-modal__content[data-v-0a09baad]{transition:none}}.modal-enter-from .app-modal__content[data-v-0a09baad]{opacity:0;transform:translateY(-8px)}.modal-leave-active[data-v-0a09baad],.modal-leave-active .app-modal__content[data-v-0a09baad]{transition:opacity .1s ease-out}@media(max-width:767px){.modal-leave-active[data-v-0a09baad],.modal-leave-active .app-modal__content[data-v-0a09baad]{transition:none}}.modal-leave-to[data-v-0a09baad]{opacity:0}.modal-instant-enter-active[data-v-0a09baad],.modal-instant-leave-active[data-v-0a09baad],.modal-instant-enter-active .app-modal__content[data-v-0a09baad],.modal-instant-leave-active .app-modal__content[data-v-0a09baad]{transition:none!important}.modal-instant-enter-from[data-v-0a09baad],.modal-instant-leave-to[data-v-0a09baad]{opacity:1!important}.modal-instant-enter-from .app-modal__content[data-v-0a09baad],.modal-instant-leave-to .app-modal__content[data-v-0a09baad]{opacity:1!important;transform:none!important}.dev-overlay[data-v-f7ee44d8]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;display:flex;align-items:center;justify-content:center;background:var(--color-overlay)}.dev-panel[data-v-f7ee44d8]{width:320px;max-width:calc(100vw - 32px);background:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:0 20px 60px #0003;overflow:hidden}.dev-panel__header[data-v-f7ee44d8]{display:flex;align-items:center;gap:8px;padding:16px 20px;font-size:15px;font-weight:900;color:var(--color-text);border-bottom:1px solid var(--color-border-light)}.dev-panel__header-icon[data-v-f7ee44d8]{font-size:18px;color:var(--color-primary)}.dev-panel__close[data-v-f7ee44d8]{margin-left:auto;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-full);border:none;background:transparent;color:var(--color-text-muted);font-size:18px;cursor:pointer;transition:all .15s}.dev-panel__close[data-v-f7ee44d8]:hover{background:var(--color-bg-hover);color:var(--color-text)}.dev-panel__body[data-v-f7ee44d8]{padding:8px}.dev-panel__item[data-v-f7ee44d8]{display:flex;align-items:center;gap:12px;padding:12px;border-radius:var(--radius-lg);text-decoration:none;cursor:pointer;transition:background .15s;border:none;background:transparent;width:100%;text-align:left}.dev-panel__item[data-v-f7ee44d8]:hover{background:var(--color-primary-light)}.dev-panel__icon[data-v-f7ee44d8]{font-size:20px;color:var(--color-primary);flex-shrink:0}.dev-panel__text[data-v-f7ee44d8]{display:flex;flex-direction:column;gap:2px}.dev-panel__label[data-v-f7ee44d8]{font-size:14px;font-weight:800;color:var(--color-text)}.dev-panel__desc[data-v-f7ee44d8]{font-size:12px;color:var(--color-text-muted)}.dev-overlay-enter-active[data-v-f7ee44d8]{transition:opacity .15s}.dev-overlay-enter-active .dev-panel[data-v-f7ee44d8]{transition:opacity .15s,transform .15s var(--ease-bounce)}.dev-overlay-leave-active[data-v-f7ee44d8]{transition:opacity .1s}.dev-overlay-leave-active .dev-panel[data-v-f7ee44d8]{transition:opacity .1s,transform .1s}.dev-overlay-enter-from[data-v-f7ee44d8],.dev-overlay-leave-to[data-v-f7ee44d8]{opacity:0}.dev-overlay-enter-from .dev-panel[data-v-f7ee44d8],.dev-overlay-leave-to .dev-panel[data-v-f7ee44d8]{opacity:0;transform:translateY(-8px)}.breed-sort[data-v-f7ee44d8]{display:flex;flex-direction:column;gap:4px;max-height:60vh;overflow-y:auto}.breed-sort__item[data-v-f7ee44d8]{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-md);border:2px solid transparent;background:var(--color-bg);cursor:grab;transition:background-color .15s,border-color .15s,opacity .15s;user-select:none}.breed-sort__item[data-v-f7ee44d8]:hover{background:var(--color-primary-light)}.breed-sort__item--dragging[data-v-f7ee44d8]{opacity:.4}.breed-sort__item--over[data-v-f7ee44d8]{border-color:var(--color-primary);background:var(--color-primary-tint-strong)}.breed-sort__drag[data-v-f7ee44d8]{font-size:18px;color:var(--color-text-muted);flex-shrink:0;cursor:grab}.breed-sort__index[data-v-f7ee44d8]{font-size:12px;font-weight:900;color:var(--color-text-muted);width:22px;text-align:center;flex-shrink:0}.breed-sort__img[data-v-f7ee44d8]{width:36px;height:36px;object-fit:contain;flex-shrink:0;border-radius:var(--radius-sm)}.breed-sort__name[data-v-f7ee44d8]{font-size:14px;font-weight:800;color:var(--color-text);flex:1}.demo-setup[data-v-f7ee44d8]{display:flex;flex-direction:column;gap:var(--space-md)}.demo-setup__tabs[data-v-f7ee44d8]{display:flex;gap:4px;background:var(--color-bg);border-radius:var(--radius-lg);padding:3px}.demo-setup__tab[data-v-f7ee44d8]{flex:1;padding:6px 0;border:none;background:transparent;border-radius:var(--radius-md);font-size:13px;font-weight:800;color:var(--color-text-muted);cursor:pointer;transition:all .15s}.demo-setup__tab--active[data-v-f7ee44d8]{background:var(--color-bg-card);color:var(--color-primary);box-shadow:0 1px 3px #00000014}.demo-setup__quick[data-v-f7ee44d8]{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) 0}.demo-setup__hint[data-v-f7ee44d8]{font-size:12px;color:var(--color-text-muted);text-align:center;line-height:1.6}.demo-setup__row[data-v-f7ee44d8]{display:flex;align-items:center;gap:var(--space-sm)}.demo-setup__label[data-v-f7ee44d8]{font-size:14px;font-weight:800;color:var(--color-text);white-space:nowrap}.demo-setup__check-label[data-v-f7ee44d8]{font-size:14px;font-weight:700;color:var(--color-text);display:flex;align-items:center;gap:var(--space-xs);cursor:pointer}.demo-setup__checkbox[data-v-f7ee44d8]{accent-color:var(--color-primary)}.demo-setup__input[data-v-f7ee44d8]{flex:1;padding:6px 10px;border:2px solid var(--color-border);border-radius:var(--radius-lg);font-size:14px;color:var(--color-text);background:var(--color-bg);transition:border-color .15s}.demo-setup__input[data-v-f7ee44d8]:focus{outline:none;border-color:var(--color-primary)}.demo-setup__input--sm[data-v-f7ee44d8]{flex:none;width:64px;text-align:center}.demo-setup__input--lg[data-v-f7ee44d8]{flex:none;width:80px;text-align:center;font-size:18px;font-weight:800;padding:8px 12px}.demo-setup__select[data-v-f7ee44d8]{flex:1;padding:6px 10px;border:2px solid var(--color-border);border-radius:var(--radius-lg);font-size:13px;color:var(--color-text);background:var(--color-bg);cursor:pointer}.demo-setup__select[data-v-f7ee44d8]:focus{outline:none;border-color:var(--color-primary)}.demo-setup__select[data-v-f7ee44d8]:disabled{opacity:.5;cursor:not-allowed}.demo-setup__section-header[data-v-f7ee44d8]{display:flex;align-items:center;justify-content:space-between}.demo-setup__add-btn[data-v-f7ee44d8]{display:flex;align-items:center;gap:2px;padding:4px 10px;border:2px solid var(--color-primary);border-radius:var(--radius-lg);font-size:12px;font-weight:800;color:var(--color-primary);background:transparent;cursor:pointer;transition:all .15s}.demo-setup__add-btn[data-v-f7ee44d8]:hover{background:var(--color-primary);color:#fff}.demo-setup__group[data-v-f7ee44d8]{background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-sm) var(--space-md)}.demo-setup__group-header[data-v-f7ee44d8]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xs)}.demo-setup__group-tag[data-v-f7ee44d8]{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-full);background:var(--color-primary);color:#fff;font-size:12px;font-weight:900}.demo-setup__remove-btn[data-v-f7ee44d8]{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-full);font-size:14px;transition:all .15s}.demo-setup__remove-btn[data-v-f7ee44d8]:hover{background:var(--color-danger-light);color:var(--color-danger)}.demo-setup__group-body[data-v-f7ee44d8]{display:flex;gap:var(--space-sm);align-items:flex-end}.demo-setup__field[data-v-f7ee44d8]{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.demo-setup__field label[data-v-f7ee44d8]{font-size:11px;font-weight:700;color:var(--color-text-muted)}.demo-setup__field--count[data-v-f7ee44d8]{flex:0 0 64px}.demo-setup__summary[data-v-f7ee44d8]{padding:var(--space-xs) var(--space-md);background:var(--color-primary-light);border-radius:var(--radius-lg);font-size:14px;color:var(--color-primary);font-weight:800;text-align:center}.demo-setup__summary strong[data-v-f7ee44d8]{font-size:18px}.bottom-nav[data-v-cb0edeb5]{display:flex;align-items:center;justify-content:space-around;height:56px;background:var(--color-bg-card);border-top:1px solid var(--color-border);position:fixed;bottom:0;left:0;right:0;z-index:90;padding-bottom:0;padding-bottom:calc(0px + env(safe-area-inset-bottom))}.bottom-nav__item[data-v-cb0edeb5]{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1;padding:6px 0;color:var(--color-text-muted);text-decoration:none;font-size:10px;font-weight:800;transition:color .2s}.bottom-nav__item--active[data-v-cb0edeb5]{color:var(--color-primary)}.bottom-nav__item--active .bottom-nav__icon[data-v-cb0edeb5]{transform:scale(1.15)}.bottom-nav__icon[data-v-cb0edeb5]{font-size:22px;transition:transform .2s var(--ease-bounce)}.bottom-nav__label[data-v-cb0edeb5]{line-height:1;letter-spacing:.02em}.app-loading[data-v-5f90fff3]{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--space-md);padding:60px 20px}.app-loading__spinner[data-v-5f90fff3]{font-size:42px;color:var(--color-primary);animation:spin-5f90fff3 .8s linear infinite;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}.app-loading__text[data-v-5f90fff3]{font-size:15px;font-weight:900;color:var(--color-text-muted)}@keyframes spin-5f90fff3{to{transform:rotate(360deg)}}.cs[data-v-1a4e078f]{position:relative;z-index:210;padding:0 var(--space-sm)}.cs--collapsed[data-v-1a4e078f]{display:flex;justify-content:center;padding:0 6px}.cs__mini[data-v-1a4e078f]{width:40px;height:40px;border-radius:var(--radius-lg);background:#fff9;border:2px solid rgba(255,255,255,.8);font-size:16px;font-weight:900;color:var(--color-primary);cursor:default;display:flex;align-items:center;justify-content:center;transition:all .2s var(--ease-bounce)}.cs:hover .cs__mini[data-v-1a4e078f]{background:#ffffffe6;box-shadow:0 2px 8px #6366f126}.cs__trigger[data-v-1a4e078f]{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border-radius:var(--radius-xl);background:#ffffff80;border:2px solid rgba(255,255,255,.7);cursor:default;transition:all .2s var(--ease-bounce)}.cs:hover .cs__trigger[data-v-1a4e078f]{background:#fffc;border-color:var(--color-primary-light);box-shadow:0 2px 8px #6366f11a}.cs__icon[data-v-1a4e078f]{font-size:18px;color:var(--color-primary);flex-shrink:0;opacity:.8}.cs__name[data-v-1a4e078f]{flex:1;font-size:14px;font-weight:900;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.cs__arrow[data-v-1a4e078f]{font-size:16px;color:var(--color-text-muted);flex-shrink:0}.cs__panel[data-v-1a4e078f]{position:absolute;right:0;top:calc(100% + 6px);min-width:180px;background:#fff;border-radius:var(--radius-xl);border:2px solid #e8ecf1;box-shadow:0 12px 36px #0000001f;overflow:hidden;z-index:210;padding:8px 6px}.cs--collapsed .cs__panel[data-v-1a4e078f]{left:-20px;right:auto;width:200px}.cs__others-label[data-v-1a4e078f]{font-size:10px;font-weight:800;color:var(--color-text-muted);letter-spacing:.05em;padding:0 8px 4px}.cs__class-item[data-v-1a4e078f]{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:var(--radius-lg);cursor:pointer;transition:all .15s}.cs__class-item[data-v-1a4e078f]:hover:not(.cs__class-item--current){background:#f8fafc}.cs__class-item--current[data-v-1a4e078f]{cursor:default;background:var(--color-primary-light)}.cs__class-item--pending[data-v-1a4e078f]{background:#6366f114;cursor:progress}.cs__class-check[data-v-1a4e078f]{font-size:16px;color:var(--color-primary);flex-shrink:0}.cs__class-check--loading[data-v-1a4e078f]{animation:spin 1s linear infinite}.cs__class-icon[data-v-1a4e078f]{font-size:16px;color:var(--color-text-muted);flex-shrink:0}.cs__class-name[data-v-1a4e078f]{flex:1;font-size:13px;font-weight:800;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cs__class-item--current .cs__class-name[data-v-1a4e078f]{color:var(--color-primary)}.cs__class-pending[data-v-1a4e078f]{margin-left:auto;font-size:12px;font-weight:800;color:var(--color-primary)}.cs-pop-enter-active[data-v-1a4e078f],.cs-pop-leave-active[data-v-1a4e078f]{transition:opacity .15s,transform .2s var(--ease-bounce)}.cs-pop-enter-from[data-v-1a4e078f],.cs-pop-leave-to[data-v-1a4e078f]{opacity:0;transform:translateY(-6px) scale(.95)}.cs__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.app-empty[data-v-d43054db]{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--space-md);padding:60px 20px;text-align:center}.app-empty__icon-wrap[data-v-d43054db]{width:80px;height:80px;background:linear-gradient(135deg,#fde68a,#fbbf24);border-radius:20px;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-sm)}.app-empty__icon[data-v-d43054db]{font-size:40px;color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.app-empty__text[data-v-d43054db]{font-size:18px;font-weight:900;color:var(--color-text)}.app-empty__hint[data-v-d43054db]{font-size:14px;font-weight:600;color:var(--color-text-muted)}.changelog-modal[data-v-1660dad0]{display:flex;flex-direction:column;gap:var(--space-sm)}.changelog-modal__header[data-v-1660dad0]{display:flex;align-items:center;gap:var(--space-sm);min-width:0}.changelog-modal__back[data-v-1660dad0]{display:inline-flex;align-items:center;gap:4px;padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-bg-card);color:var(--color-text-secondary);font-size:13px;font-weight:800;flex-shrink:0;transition:color .15s ease,border-color .15s ease,background .15s ease}.changelog-modal__back[data-v-1660dad0]:hover{color:var(--color-primary);border-color:var(--color-border-active);background:var(--color-primary-light)}.changelog-modal__back-icon[data-v-1660dad0]{font-size:16px}.changelog-modal__title[data-v-1660dad0]{margin:0;min-width:0;font-size:20px;font-weight:900;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:767px){.changelog-modal__title[data-v-1660dad0]{font-size:17px}}.changelog-modal__list[data-v-1660dad0]{display:flex;flex-direction:column;gap:16px;padding:4px 2px 2px}.changelog-modal__item[data-v-1660dad0]{position:relative;display:flex;align-items:center;gap:var(--space-md);width:100%;padding:18px 18px 16px;text-align:left;background:linear-gradient(145deg,#fffdfb,#fff8f4 42%,#fff);border:1px solid rgba(226,232,240,.92);border-radius:24px;box-shadow:0 14px 34px #0f172a0f,inset 0 1px #ffffffeb;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.changelog-modal__item[data-v-1660dad0]:hover{border-color:#94a3b87a;box-shadow:0 18px 42px #0f172a17,inset 0 1px #fffffff5;transform:translateY(-2px)}.changelog-modal__item[data-v-1660dad0]:active{transform:none}.changelog-modal__item--unread[data-v-1660dad0]{background:linear-gradient(145deg,#fff8fa,#fff2f1 38%,#fff);border-color:#ff4d5e2e;box-shadow:0 16px 38px #ff4d5e14,inset 0 1px #fffffff5}.changelog-modal__item-main[data-v-1660dad0]{min-width:0;flex:1}.changelog-modal__item-meta[data-v-1660dad0]{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:6px}.changelog-modal__item-version[data-v-1660dad0]{color:#10b981;font-size:13px;font-weight:900}.changelog-modal__item-date[data-v-1660dad0]{color:var(--color-text-muted);font-size:12px;font-weight:700}.changelog-modal__item-status[data-v-1660dad0]{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:22px;padding:0 10px;border-radius:var(--radius-full);font-size:11px;font-weight:900;line-height:1}.changelog-modal__item-status--unread[data-v-1660dad0]{background:#ff4d5e;color:#fff;box-shadow:0 6px 16px #ff4d5e38}.changelog-modal__item-status--read[data-v-1660dad0]{background:#e2e8f0;color:#64748b}.changelog-modal__item-title[data-v-1660dad0]{margin-bottom:6px;color:var(--color-text);font-size:16px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.changelog-modal__item-summary[data-v-1660dad0]{margin:0;color:var(--color-text-secondary);font-size:13px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.changelog-modal__item-arrow[data-v-1660dad0]{font-size:20px;color:#94a3b8;flex-shrink:0}.changelog-modal__detail[data-v-1660dad0]{display:flex;flex-direction:column;gap:var(--space-md)}.changelog-modal__detail-meta[data-v-1660dad0]{margin:0;color:var(--color-text-muted);font-size:13px;font-weight:700}.changelog-modal__detail-body[data-v-1660dad0]{display:flex;flex-direction:column;gap:var(--space-sm)}.changelog-modal__download-btn[data-v-1660dad0]{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin-top:var(--space-sm);padding:10px 16px;border:none;border-radius:var(--radius-full);background:var(--gradient-button);color:#fff;font-size:14px;font-weight:900;cursor:pointer}.changelog-modal__download-icon[data-v-1660dad0]{font-size:18px}.changelog-modal__paragraph[data-v-1660dad0]{margin:0;color:var(--color-text);font-size:14px;line-height:1.8;white-space:pre-wrap}.changelog-modal__images[data-v-1660dad0]{display:flex;flex-direction:column;gap:var(--space-sm)}.changelog-modal__image[data-v-1660dad0]{display:block;width:100%;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-bg-card)}.changelog-modal__content{max-height:80vh!important;display:flex!important;flex-direction:column!important;overflow-y:hidden!important}.changelog-modal__content .app-modal__body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;min-height:0}.changelog-modal__content{max-width:520px}.top-nav[data-v-1b5c9089]{display:flex;align-items:center;height:var(--header-height);padding:0 var(--space-md);background:var(--color-sidebar-bg);backdrop-filter:blur(16px);border-bottom:1px solid var(--color-nav-border, rgba(0, 0, 0, .06));box-shadow:0 2px 8px #00000014;position:sticky;top:0;z-index:100;flex-shrink:0}@media(max-width:767px){.top-nav[data-v-1b5c9089]{height:48px;padding:0 var(--space-sm);background:var(--gradient-header);box-shadow:0 2px 8px #0000001f;gap:var(--space-xs)}}.top-nav__left[data-v-1b5c9089]{flex:1;display:flex;align-items:center;min-width:0}.top-nav__center[data-v-1b5c9089]{flex:0 0 auto}.top-nav__right[data-v-1b5c9089]{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:var(--space-sm)}.top-nav__brand[data-v-1b5c9089]{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}@media(max-width:767px){.top-nav__brand[data-v-1b5c9089]{min-width:0;flex:1 1 auto;gap:6px}}.top-nav__logo-badge[data-v-1b5c9089]{width:36px;height:36px;background:var(--color-accent);border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #fbbf244d;transform:rotate(12deg);transition:transform .3s var(--ease-bounce);flex-shrink:0}.top-nav__brand:hover .top-nav__logo-badge[data-v-1b5c9089]{transform:rotate(0) scale(1.05)}@media(max-width:767px){.top-nav__logo-badge[data-v-1b5c9089]{width:32px;height:32px;border-radius:10px;box-shadow:0 2px 8px #fbbf244d}}.top-nav__logo-icon[data-v-1b5c9089]{font-size:20px;color:#fff}@media(max-width:767px){.top-nav__logo-icon[data-v-1b5c9089]{font-size:18px}}.top-nav__title[data-v-1b5c9089]{font-size:18px;font-weight:900;color:var(--color-text);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.02em}@media(max-width:767px){.top-nav__title[data-v-1b5c9089]{font-size:15px;color:#fff}}.top-nav__notice[data-v-1b5c9089]{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:0;border-radius:var(--radius-full);background:transparent;color:var(--color-text-secondary);cursor:pointer;flex-shrink:0;transition:background .15s ease,color .15s ease,transform .15s ease}.top-nav__notice[data-v-1b5c9089]:hover{background:#fff9;color:var(--color-primary);transform:translateY(-1px)}.top-nav__notice[data-v-1b5c9089]:active{transform:none}.top-nav__notice--has-unread[data-v-1b5c9089]{width:auto;min-width:36px;max-width:190px;gap:6px;padding:0 10px;border-radius:var(--radius-full);background:#ffffffb8}.top-nav__notice--mobile[data-v-1b5c9089]{width:32px;height:32px;color:#ffffffeb;background:#ffffff1f}.top-nav__notice--mobile[data-v-1b5c9089]:hover{color:#fff;background:#fff3}.top-nav__notice--mobile.top-nav__notice--has-unread[data-v-1b5c9089]{width:auto;min-width:32px;max-width:156px;padding:0 8px;gap:5px}.top-nav__notice-icon[data-v-1b5c9089]{font-size:18px}.top-nav__notice-badge[data-v-1b5c9089]{display:inline-flex;align-items:center;justify-content:center;min-width:44px;max-width:134px;height:22px;padding:0 10px;overflow:hidden;border-radius:var(--radius-full);background:#ff4d5e;color:#fff;font-size:11px;font-weight:900;line-height:1;white-space:nowrap;text-overflow:ellipsis;box-shadow:0 8px 18px #ff4d5e3d;animation:top-nav-notice-bob-1b5c9089 2.2s ease-in-out infinite}.top-nav__notice--mobile .top-nav__notice-badge[data-v-1b5c9089]{max-width:110px;height:20px;padding:0 8px;font-size:10px;box-shadow:0 6px 16px #ff4d5e33}@keyframes top-nav-notice-bob-1b5c9089{0%,72%,to{transform:translateY(0) scale(1)}12%{transform:translateY(-1px) scale(1.03)}24%{transform:translateY(0) scale(1)}36%{transform:translateY(-2px) scale(1.04)}48%{transform:translateY(0) scale(1)}}.top-nav__trial[data-v-1b5c9089]{display:inline-flex;align-items:center;gap:4px;margin-left:var(--space-sm);padding:3px 10px;border-radius:var(--radius-lg);background:#f59e0b1f;font-size:12px;font-weight:700;color:#d97706;white-space:nowrap;flex-shrink:0}.top-nav__trial--mobile[data-v-1b5c9089]{margin-left:0;padding:2px 6px;font-size:10px;background:#fff3;color:#fff}.top-nav__trial-icon[data-v-1b5c9089]{font-size:14px;flex-shrink:0}.top-nav__trial--mobile .top-nav__trial-icon[data-v-1b5c9089]{font-size:12px}.top-nav__links[data-v-1b5c9089]{display:flex;align-items:center;gap:4px}.top-nav__link[data-v-1b5c9089]{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius-xl);font-size:14px;font-weight:900;color:var(--color-text-secondary);text-decoration:none;border:2px solid transparent;transition:all .2s var(--ease-bounce);white-space:nowrap}.top-nav__link[data-v-1b5c9089]:hover:not(.top-nav__link--active){transform:translateY(-2px);background:#fff9;color:var(--color-primary)}.top-nav__link--active[data-v-1b5c9089]{background:#ffffffe6;color:var(--color-primary);border:2px dashed var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light),0 4px 12px #6366f133}@media(min-width:768px)and (max-width:1023px){.top-nav__link[data-v-1b5c9089]{padding:8px 10px}}.top-nav__link-icon[data-v-1b5c9089]{font-size:20px;flex-shrink:0;transition:transform .2s var(--ease-default);opacity:.9}.top-nav__link--active .top-nav__link-icon[data-v-1b5c9089]{opacity:1;transform:scale(1.1)}.top-nav__link-text[data-v-1b5c9089]{letter-spacing:.02em}@media(min-width:768px)and (max-width:1023px){.top-nav__link-text[data-v-1b5c9089]{display:none}}.top-nav__settings[data-v-1b5c9089]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-full);color:var(--color-text-secondary);text-decoration:none;transition:all .2s var(--ease-bounce);flex-shrink:0}.top-nav__settings[data-v-1b5c9089]:hover:not(.top-nav__settings--active){background:#fff9;color:var(--color-primary);transform:rotate(30deg)}.top-nav__settings--active[data-v-1b5c9089]{background:#ffffffe6;color:var(--color-primary)}.top-nav__settings-icon[data-v-1b5c9089]{font-size:22px}.top-nav__mobile-class[data-v-1b5c9089]{display:flex;align-items:center;gap:4px;margin-left:auto;padding:6px 10px;border-radius:var(--radius-lg);background:#fff3;cursor:pointer;transition:background .15s;max-width:50%}.top-nav__mobile-class[data-v-1b5c9089]:active{background:#ffffff4d}.top-nav__mobile-class-icon[data-v-1b5c9089]{font-size:16px;color:#fff;opacity:.9;flex-shrink:0}.top-nav__mobile-class-name[data-v-1b5c9089]{font-size:13px;font-weight:800;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-nav__mobile-class-arrow[data-v-1b5c9089]{font-size:16px;color:#fff;opacity:.8;flex-shrink:0;transition:transform .2s}.top-nav__mobile-class-arrow--open[data-v-1b5c9089]{transform:rotate(180deg)}.top-nav__class-panel[data-v-1b5c9089]{position:absolute;top:100%;right:var(--space-sm);left:var(--space-sm);background:var(--color-bg-card);border-radius:0 0 var(--radius-xl) var(--radius-xl);box-shadow:0 12px 36px #00000026;padding:6px;z-index:110;max-height:240px;overflow-y:auto}.top-nav__class-item[data-v-1b5c9089]{display:flex;align-items:center;gap:6px;padding:10px 12px;border-radius:var(--radius-lg);font-size:14px;font-weight:800;color:var(--color-text);cursor:pointer;transition:all .15s}.top-nav__class-item[data-v-1b5c9089]:active{background:var(--color-primary-light)}.top-nav__class-item--active[data-v-1b5c9089]{color:var(--color-primary);background:var(--color-primary-light);cursor:default}.top-nav__class-item--pending[data-v-1b5c9089]{color:var(--color-primary);background:#6366f114;cursor:progress}.top-nav__class-check[data-v-1b5c9089]{font-size:16px;color:var(--color-primary);flex-shrink:0}.top-nav__class-check--loading[data-v-1b5c9089]{animation:spin 1s linear infinite}.top-nav__class-pending[data-v-1b5c9089]{margin-left:auto;font-size:12px;font-weight:800;color:var(--color-primary)}.top-nav__overlay[data-v-1b5c9089]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99;background:#0003}.cs-drop-enter-active[data-v-1b5c9089],.cs-drop-leave-active[data-v-1b5c9089]{transition:opacity .15s,transform .2s var(--ease-bounce)}.cs-drop-enter-from[data-v-1b5c9089],.cs-drop-leave-to[data-v-1b5c9089]{opacity:0;transform:translateY(-8px)}.fade-enter-active[data-v-1b5c9089],.fade-leave-active[data-v-1b5c9089]{transition:opacity .15s}.fade-enter-from[data-v-1b5c9089],.fade-leave-to[data-v-1b5c9089]{opacity:0}.app-toast[data-v-6b0ef3a4]{position:fixed;top:0;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:0 0 12px 12px;z-index:9999;pointer-events:none;max-width:88vw;box-shadow:0 4px 16px #0000001f}.app-toast--success[data-v-6b0ef3a4]{background:#22c55e}.app-toast--error[data-v-6b0ef3a4]{background:#ef4444}.app-toast--warning[data-v-6b0ef3a4]{background:#f59e0b}.app-toast__icon[data-v-6b0ef3a4]{font-size:20px;color:#fff;flex-shrink:0}.app-toast__msg[data-v-6b0ef3a4]{font-size:14px;font-weight:600;color:#fff;line-height:1.4;word-break:break-word}.init-recovery[data-v-858b15b2]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:24px}.init-recovery__mask[data-v-858b15b2]{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff85;backdrop-filter:blur(4px)}.init-recovery__panel[data-v-858b15b2]{position:relative;z-index:1;display:flex;align-items:center;gap:var(--space-md);width:min(560px,100%);padding:var(--space-lg);border-radius:var(--radius-2xl);border:1px solid var(--color-warning);background:linear-gradient(135deg,var(--color-warning-light),rgba(255,255,255,.98));box-shadow:0 18px 40px #00000024}@media(max-width:767px){.init-recovery__panel[data-v-858b15b2]{flex-direction:column;text-align:center}}.init-recovery__icon[data-v-858b15b2]{width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:16px;background:#ffffffeb;color:var(--color-warning);font-size:28px;flex-shrink:0}.init-recovery__content[data-v-858b15b2]{flex:1;min-width:0}.init-recovery__title[data-v-858b15b2]{font-size:18px;font-weight:900;color:var(--color-text)}.init-recovery__hint[data-v-858b15b2]{margin-top:6px;font-size:13px;font-weight:600;line-height:1.6;color:var(--color-text-muted)}.init-recovery__btn[data-v-858b15b2]{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:124px;height:42px;padding:0 16px;border:none;border-radius:var(--radius-lg);background:var(--gradient-button);color:#fff;font-size:13px;font-weight:800;cursor:pointer;flex-shrink:0}.init-recovery__btn[data-v-858b15b2]:disabled{opacity:.6;cursor:not-allowed}.float-timer[data-v-3cdcddd7]{position:fixed;bottom:var(--space-xl);right:var(--space-xl);z-index:500;display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--color-bg-card, #fff);border:3px solid var(--color-primary);border-radius:var(--radius-full);box-shadow:0 8px 32px #00000026;cursor:pointer;transition:all .2s var(--ease-bounce);user-select:none}.float-timer[data-v-3cdcddd7]:hover{transform:translateY(-2px);box-shadow:0 12px 40px #0003}.float-timer[data-v-3cdcddd7]:active{transform:scale(.96)}.float-timer__dot[data-v-3cdcddd7]{width:8px;height:8px;border-radius:50%;background:var(--color-text-muted);flex-shrink:0}.float-timer__dot--running[data-v-3cdcddd7]{background:var(--color-success, #10B981);animation:float-pulse-3cdcddd7 1.2s ease-in-out infinite}.float-timer__icon[data-v-3cdcddd7]{font-size:18px;color:var(--color-primary);flex-shrink:0}.float-timer__time[data-v-3cdcddd7]{font-size:18px;font-weight:900;color:var(--color-text);font-variant-numeric:tabular-nums;letter-spacing:1px;min-width:56px}.float-timer__close[data-v-3cdcddd7]{width:24px;height:24px;border-radius:50%;border:none;background:none;color:var(--color-text-muted);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;margin-left:4px}.float-timer__close[data-v-3cdcddd7]:hover{background:var(--color-danger-light);color:var(--color-danger)}@keyframes float-pulse-3cdcddd7{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.float-timer-enter-active[data-v-3cdcddd7]{animation:float-timer-in-3cdcddd7 .3s var(--ease-bounce)}.float-timer-leave-active[data-v-3cdcddd7]{animation:float-timer-in-3cdcddd7 .2s ease-in reverse}@keyframes float-timer-in-3cdcddd7{0%{opacity:0;transform:translateY(20px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:768px){.float-timer[data-v-3cdcddd7]{bottom:var(--space-md);right:var(--space-md);padding:8px 12px}.float-timer__time[data-v-3cdcddd7]{font-size:15px}}.app-login[data-v-80eb0706]{height:100vh;height:100dvh;overflow-y:auto;overscroll-behavior:contain;background:var(--bg-gradient)}.app-layout[data-v-80eb0706]{display:flex;flex-direction:column;height:100vh;height:100dvh;background:var(--bg-gradient);position:relative;overflow:hidden}.app-layout__orb[data-v-80eb0706]{position:fixed;border-radius:999px;pointer-events:none;z-index:0;animation:wb-float 8s ease-in-out infinite}[data-modal-open] .app-layout__orb[data-v-80eb0706]{animation-play-state:paused}.app-layout__orb--1[data-v-80eb0706]{width:340px;height:340px;top:-80px;right:-60px;background:radial-gradient(circle,var(--orb-1),transparent 70%);animation-delay:0s}.app-layout__orb--2[data-v-80eb0706]{width:280px;height:280px;bottom:-60px;left:-40px;background:radial-gradient(circle,var(--orb-2),transparent 70%);animation-delay:2s}.app-layout__orb--3[data-v-80eb0706]{width:200px;height:200px;top:30%;left:60px;background:radial-gradient(circle,var(--orb-3),transparent 70%);animation-delay:4s}.app-layout__content[data-v-80eb0706]{flex:1;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;padding:var(--space-md) var(--space-lg);position:relative;z-index:1}@media(max-width:767px){.app-layout__content[data-v-80eb0706]{padding:var(--space-sm);padding-bottom:calc(var(--space-sm) + 56px + env(safe-area-inset-bottom))}}.app-bootstrap-hint[data-v-80eb0706]{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:1150;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--radius-full);border:1px solid rgba(99,102,241,.16);background:#fffffff0;box-shadow:0 10px 24px #0f172a1f;color:var(--color-text-secondary);font-size:13px;font-weight:800;backdrop-filter:blur(8px);pointer-events:none}.app-bootstrap-hint--layout[data-v-80eb0706]{top:calc(var(--space-md) + 4px)}@media(max-width:767px){.app-bootstrap-hint--layout[data-v-80eb0706]{top:calc(var(--space-sm) + 4px)}}.app-bootstrap-hint__icon[data-v-80eb0706]{font-size:16px;color:var(--color-primary);animation:spin-80eb0706 .8s linear infinite}@media(max-width:767px){.app-bootstrap-hint[data-v-80eb0706]{top:12px;width:calc(100% - 24px);justify-content:center;text-align:center}}.app-action-slow-overlay[data-v-80eb0706]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1300;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a47;backdrop-filter:blur(4px)}.app-action-slow-overlay__panel[data-v-80eb0706]{width:min(320px,100vw - 32px);border-radius:8px;border:1px solid rgba(255,255,255,.72);background:#fffffff5;box-shadow:0 20px 48px #0f172a2e}@keyframes spin-80eb0706{to{transform:rotate(360deg)}}:root{--color-success: #22C55E;--color-success-light: #DCFCE7;--color-warning: #F59E0B;--color-warning-light: #FEF3C7;--color-danger: #EF4444;--color-danger-light: #FEE2E2;--color-food: #F97316;--color-trophy-gold: #F59E0B;--color-trophy-silver: #94A3B8;--color-trophy-bronze: #D97706;--color-overlay: rgba(15, 23, 42, .85);--color-food-bg: rgba(249, 115, 22, .12);--color-food-bg-strong: rgba(249, 115, 22, .2);--color-danger-bg: rgba(239, 68, 68, .15);--color-trophy-gold-40: rgba(245, 158, 11, .4);--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px;--radius-2xl: 28px;--radius-3xl: 40px;--radius-full: 9999px;--header-height: 52px;--ease-default: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.175, .885, .32, 1.275)}[data-theme=forest]{--color-primary: #10B981;--color-primary-light: #D1FAE5;--color-primary-dark: #047857;--color-accent: #FBBF24;--color-accent-light: #FEF3C7;--color-highlight: #FBBF24;--color-bg: #ECFDF5;--color-bg-card: #FFFFFF;--color-bg-nav: #FFFFFF;--color-sidebar-bg: rgba(16, 185, 129, .22);--color-sidebar-active: #D1FAE5;--color-nav-border: rgba(4, 120, 87, .12);--color-text: #1E293B;--color-text-secondary: #475569;--color-text-muted: #94A3B8;--color-border: #E2E8F0;--color-border-active: #10B981;--color-input-bg: #F5FDF9;--gradient-button: linear-gradient(135deg, #10B981, #059669);--gradient-progress: linear-gradient(90deg, #10B981, #34D399);--gradient-header: linear-gradient(135deg, #065F46, #047857);--bg-gradient: linear-gradient(160deg, #f7fdf9 0%, #dbeafe 30%, #fef3c7 60%, #fce7f3 100%);--orb-1: rgba(52, 211, 153, .25);--orb-2: rgba(147, 197, 253, .25);--orb-3: rgba(251, 191, 36, .2);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 20px rgba(0, 0, 0, .1);--shadow-xl: 0 15px 40px rgba(0, 0, 0, .15);--shadow-card: 0 2px 6px rgba(0, 0, 0, .06), 0 8px 24px rgba(0, 0, 0, .05);--shadow-card-hover: 0 4px 12px rgba(0, 0, 0, .08), 0 16px 40px rgba(0, 0, 0, .1);--shadow-btn: 0 4px 16px rgba(16, 185, 129, .3);--shadow-btn-hover: 0 6px 20px rgba(16, 185, 129, .4);--color-card-border: rgba(16, 185, 129, .12);--color-card-border-hover: rgba(16, 185, 129, .35);--color-track-bg: rgba(16, 185, 129, .08);--color-primary-shadow-25: rgba(16, 185, 129, .25);--color-primary-shadow-18: rgba(16, 185, 129, .18);--color-primary-tint: #E8FDF2;--color-primary-tint-strong: #DFFBED;--color-egg-gradient-end: #ECF9E8}[data-theme=starry]{--color-primary: #6366F1;--color-primary-light: #E0E7FF;--color-primary-dark: #4338CA;--color-accent: #F59E0B;--color-accent-light: #FEF3C7;--color-highlight: #FBBF24;--color-bg: #EEF2FF;--color-bg-card: #FFFFFF;--color-bg-nav: #FFFFFF;--color-sidebar-bg: rgba(99, 102, 241, .22);--color-sidebar-active: #E0E7FF;--color-nav-border: rgba(67, 56, 202, .12);--color-text: #1E293B;--color-text-secondary: #475569;--color-text-muted: #94A3B8;--color-border: #E0E4F0;--color-border-active: #6366F1;--color-input-bg: #F8F9FF;--gradient-button: linear-gradient(135deg, #6366F1, #4F46E5);--gradient-progress: linear-gradient(90deg, #6366F1, #818CF8);--gradient-header: linear-gradient(135deg, #3730A3, #4338CA);--bg-gradient: linear-gradient(160deg, #f8f9ff 0%, #ede9fe 30%, #dbeafe 60%, #fef3c7 100%);--orb-1: rgba(129, 140, 248, .25);--orb-2: rgba(196, 181, 253, .25);--orb-3: rgba(251, 191, 36, .2);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 20px rgba(0, 0, 0, .1);--shadow-xl: 0 15px 40px rgba(0, 0, 0, .15);--shadow-card: 0 2px 6px rgba(0, 0, 0, .06), 0 8px 24px rgba(0, 0, 0, .05);--shadow-card-hover: 0 4px 12px rgba(0, 0, 0, .08), 0 16px 40px rgba(0, 0, 0, .1);--shadow-btn: 0 4px 16px rgba(99, 102, 241, .3);--shadow-btn-hover: 0 6px 20px rgba(99, 102, 241, .4);--color-card-border: rgba(99, 102, 241, .12);--color-card-border-hover: rgba(99, 102, 241, .35);--color-track-bg: rgba(99, 102, 241, .08);--color-primary-shadow-25: rgba(99, 102, 241, .25);--color-primary-shadow-18: rgba(99, 102, 241, .18);--color-primary-tint: #F0F3FF;--color-primary-tint-strong: #ECEFFF;--color-egg-gradient-end: #F2EFFA}[data-theme=milk-tea]{--color-primary: #D4A574;--color-primary-light: #FFF5EB;--color-primary-dark: #A67B5B;--color-accent: #8B5CF6;--color-accent-light: #EDE9FE;--color-highlight: #F59E0B;--color-bg: #FFF8F0;--color-bg-card: #FFFFFF;--color-bg-nav: #FFFFFF;--color-sidebar-bg: rgba(212, 165, 116, .22);--color-sidebar-active: #FFF5EB;--color-nav-border: rgba(166, 123, 91, .12);--color-text: #1E293B;--color-text-secondary: #475569;--color-text-muted: #94A3B8;--color-border: #F0E6D8;--color-border-active: #D4A574;--color-input-bg: #FFFCF7;--gradient-button: linear-gradient(135deg, #D4A574, #C08B5C);--gradient-progress: linear-gradient(90deg, #D4A574, #E2BD96);--gradient-header: linear-gradient(135deg, #7C5A3C, #A67B5B);--bg-gradient: linear-gradient(160deg, #fffdf9 0%, #fef3c7 30%, #fce7f3 60%, #ede9fe 100%);--orb-1: rgba(212, 165, 116, .25);--orb-2: rgba(251, 191, 36, .2);--orb-3: rgba(196, 181, 253, .2);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 20px rgba(0, 0, 0, .1);--shadow-xl: 0 15px 40px rgba(0, 0, 0, .15);--shadow-card: 0 2px 6px rgba(0, 0, 0, .06), 0 8px 24px rgba(0, 0, 0, .05);--shadow-card-hover: 0 4px 12px rgba(0, 0, 0, .08), 0 16px 40px rgba(0, 0, 0, .1);--shadow-btn: 0 4px 16px rgba(212, 165, 116, .3);--shadow-btn-hover: 0 6px 20px rgba(212, 165, 116, .4);--color-card-border: rgba(212, 165, 116, .12);--color-card-border-hover: rgba(212, 165, 116, .35);--color-track-bg: rgba(212, 165, 116, .08);--color-primary-shadow-25: rgba(212, 165, 116, .25);--color-primary-shadow-18: rgba(212, 165, 116, .18);--color-primary-tint: #FFFAF5;--color-primary-tint-strong: #FFF8F1;--color-egg-gradient-end: #FFF6E7}[data-theme=candy]{--color-primary: #F97316;--color-primary-light: #FFF7ED;--color-primary-dark: #C2410C;--color-accent: #3B82F6;--color-accent-light: #DBEAFE;--color-highlight: #FBBF24;--color-bg: #FFF7ED;--color-bg-card: #FFFFFF;--color-bg-nav: #FFFFFF;--color-sidebar-bg: rgba(249, 115, 22, .22);--color-sidebar-active: #FFEDD5;--color-nav-border: rgba(194, 65, 12, .12);--color-text: #1E293B;--color-text-secondary: #475569;--color-text-muted: #94A3B8;--color-border: #F3E8D8;--color-border-active: #F97316;--color-input-bg: #FFFCF7;--gradient-button: linear-gradient(135deg, #F97316, #EA580C);--gradient-progress: linear-gradient(90deg, #F97316, #FB923C);--gradient-header: linear-gradient(135deg, #9A3412, #C2410C);--bg-gradient: linear-gradient(160deg, #fffdf7 0%, #ffedd5 30%, #fce7f3 60%, #dbeafe 100%);--orb-1: rgba(251, 146, 60, .25);--orb-2: rgba(251, 191, 36, .25);--orb-3: rgba(147, 197, 253, .2);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 20px rgba(0, 0, 0, .1);--shadow-xl: 0 15px 40px rgba(0, 0, 0, .15);--shadow-card: 0 2px 6px rgba(0, 0, 0, .06), 0 8px 24px rgba(0, 0, 0, .05);--shadow-card-hover: 0 4px 12px rgba(0, 0, 0, .08), 0 16px 40px rgba(0, 0, 0, .1);--shadow-btn: 0 4px 16px rgba(249, 115, 22, .3);--shadow-btn-hover: 0 6px 20px rgba(249, 115, 22, .4);--color-card-border: rgba(249, 115, 22, .12);--color-card-border-hover: rgba(249, 115, 22, .35);--color-track-bg: rgba(249, 115, 22, .08);--color-primary-shadow-25: rgba(249, 115, 22, .25);--color-primary-shadow-18: rgba(249, 115, 22, .18);--color-primary-tint: #FFFBF6;--color-primary-tint-strong: #FFF9F3;--color-egg-gradient-end: #FFF7E6}[data-theme=sakura]{--color-primary: #EC4899;--color-primary-light: #FCE7F3;--color-primary-dark: #BE185D;--color-accent: #8B5CF6;--color-accent-light: #F5F3FF;--color-highlight: #F59E0B;--color-bg: #FDF2F8;--color-bg-card: #FFFFFF;--color-bg-nav: #FFFFFF;--color-sidebar-bg: rgba(236, 72, 153, .22);--color-nav-border: rgba(190, 24, 93, .12);--color-sidebar-active: #FCE7F3;--color-text: #1E293B;--color-text-secondary: #475569;--color-text-muted: #94A3B8;--color-border: #F4EAF0;--color-border-active: #EC4899;--color-input-bg: #FFF8FC;--gradient-button: linear-gradient(135deg, #EC4899, #DB2777);--gradient-progress: linear-gradient(90deg, #EC4899, #F472B6);--gradient-header: linear-gradient(135deg, #9D174D, #BE185D);--bg-gradient: linear-gradient(160deg, #fef7ff 0%, #ede9fe 30%, #dbeafe 60%, #fef3c7 100%);--orb-1: rgba(244, 114, 182, .25);--orb-2: rgba(196, 181, 253, .25);--orb-3: rgba(251, 191, 36, .2);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 20px rgba(0, 0, 0, .1);--shadow-xl: 0 15px 40px rgba(0, 0, 0, .15);--shadow-card: 0 2px 6px rgba(0, 0, 0, .06), 0 8px 24px rgba(0, 0, 0, .05);--shadow-card-hover: 0 4px 12px rgba(0, 0, 0, .08), 0 16px 40px rgba(0, 0, 0, .1);--shadow-btn: 0 4px 16px rgba(236, 72, 153, .3);--shadow-btn-hover: 0 6px 20px rgba(236, 72, 153, .4);--color-card-border: rgba(236, 72, 153, .12);--color-card-border-hover: rgba(236, 72, 153, .35);--color-track-bg: rgba(236, 72, 153, .08);--color-primary-shadow-25: rgba(236, 72, 153, .25);--color-primary-shadow-18: rgba(236, 72, 153, .18);--color-primary-tint: #FEF3F9;--color-primary-tint-strong: #FDEEF7;--color-egg-gradient-end: #FCEEF2}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}html{font-family:var(--font-family);font-size:16px;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}body{line-height:1.5}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer;border:none;background:none;font:inherit;color:inherit}input,textarea{font:inherit;color:inherit;border:none;outline:none;background:none}input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none}ul,ol{list-style:none}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-thumb{background:#00000014;border-radius:4px;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:#0000002e}::-webkit-scrollbar-track{background:transparent}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}::selection{background:var(--color-primary-light);color:var(--color-text)}#nprogress .bar{background:var(--color-primary)}#nprogress .peg{box-shadow:0 0 10px var(--color-primary),0 0 5px var(--color-primary)}button:focus,button:focus-visible,[role=button]:focus,[role=button]:focus-visible{outline:none}.icon-xs{font-size:14px;width:14px;height:14px}.icon-sm{font-size:16px;width:16px;height:16px}.icon-md{font-size:20px;width:20px;height:20px}.icon-lg{font-size:24px;width:24px;height:24px}.icon-xl{font-size:32px;width:32px;height:32px}.floating-card{background:#fff;border-radius:var(--radius-2xl);box-shadow:var(--shadow-card);border:3px solid #ffffff;transition:transform .3s var(--ease-bounce)}.floating-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;padding:0 18px;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:900;cursor:pointer;white-space:nowrap;transition:filter .15s,transform .15s,background-color .15s,color .15s,border-color .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--gradient-button);color:#fff}.btn--primary:not(:disabled):hover{filter:brightness(1.08)}.btn--primary:not(:disabled):active{transform:scale(.96)}.btn--danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn--danger:not(:disabled):hover{filter:brightness(1.08)}.btn--danger:not(:disabled):active{transform:scale(.96)}.btn--secondary{background:#f1f5f9;color:#64748b}.btn--secondary:not(:disabled):hover{background:#e2e8f0;color:#475569}.btn--secondary:not(:disabled):active{transform:scale(.96)}.btn--ghost{background:var(--color-bg-card);color:var(--color-text-secondary);border:2px solid var(--color-border)}.btn--ghost:not(:disabled):hover{border-color:var(--color-primary);color:var(--color-primary)}.btn--ghost:not(:disabled):active{transform:scale(.96)}.btn--active{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.btn--sm{height:36px;padding:0 12px;font-size:13px;gap:4px}.btn--lg{height:48px;padding:0 32px;font-size:16px;border-radius:16px;gap:8px}.cgs-checkbox{appearance:none;-webkit-appearance:none;width:22px;height:22px;border:2.5px solid #e2e8f0;border-radius:8px;background:#f8fafc;cursor:pointer;transition:border-color .2s,background-color .2s,transform .2s var(--ease-bounce);position:relative;flex-shrink:0}.cgs-checkbox:hover{border-color:#fb923c;background:#fff7ed;transform:scale(1.1)}.cgs-checkbox:checked{background:linear-gradient(135deg,#f97316,#fb923c);border-color:#f97316;box-shadow:0 2px 8px #f973164d}.cgs-checkbox:checked:after{content:"";position:absolute;left:6px;top:2.5px;width:6px;height:10px;border:solid white;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}.cgs-checkbox:active{transform:scale(.9)}.privacy-mode .student-score{filter:blur(4px)}.scroll-gpu{-webkit-overflow-scrolling:touch;transform:translateZ(0)}.fade-enter-active,.fade-leave-active{transition:opacity .25s var(--ease-default)}.fade-enter-from,.fade-leave-to{opacity:0}.modal-enter-active{transition:opacity .15s ease-out}.modal-leave-active{transition:opacity .1s ease-out}.modal-enter-from,.modal-leave-to{opacity:0}.modal-enter-active,.modal-leave-active,.modal-instant-enter-active,.modal-instant-leave-active,.sm-overlay-enter-active,.sm-overlay-leave-active,.sc-overlay-enter-active,.sc-overlay-leave-active,.picker-fade-enter-active,.picker-fade-leave-active,.dev-overlay-enter-active,.dev-overlay-leave-active,.sw-confirm-enter-active,.sw-confirm-leave-active,.cd-confirm-enter-active,.cd-confirm-leave-active,.wl-fade-enter-active,.wl-fade-leave-active,.wl-panel-enter-active,.wl-panel-leave-active,.qs-fade-enter-active,.qs-fade-leave-active{transition:none!important;animation:none!important}.modal-enter-from,.modal-leave-to,.modal-instant-enter-from,.modal-instant-leave-to,.sm-overlay-enter-from,.sm-overlay-leave-to,.sc-overlay-enter-from,.sc-overlay-leave-to,.picker-fade-enter-from,.picker-fade-leave-to,.dev-overlay-enter-from,.dev-overlay-leave-to,.sw-confirm-enter-from,.sw-confirm-leave-to,.cd-confirm-enter-from,.cd-confirm-leave-to,.wl-fade-enter-from,.wl-fade-leave-to,.wl-panel-enter-from,.wl-panel-leave-to,.qs-fade-enter-from,.qs-fade-leave-to{opacity:1!important;transform:none!important}.modal-enter-active .app-modal__content,.modal-leave-active .app-modal__content,.modal-enter-from .app-modal__content,.modal-leave-to .app-modal__content,.modal-instant-enter-active .app-modal__content,.modal-instant-leave-active .app-modal__content,.modal-instant-enter-from .app-modal__content,.modal-instant-leave-to .app-modal__content,.sc-overlay-enter-active .sc-panel,.sc-overlay-leave-active .sc-panel,.sc-overlay-enter-from .sc-panel,.sc-overlay-leave-to .sc-panel,.dev-overlay-enter-active .dev-panel,.dev-overlay-leave-active .dev-panel,.dev-overlay-enter-from .dev-panel,.dev-overlay-leave-to .dev-panel{transition:none!important;animation:none!important;opacity:1!important;transform:none!important}.slide-left-enter-active,.slide-left-leave-active,.slide-right-enter-active,.slide-right-leave-active{transition:transform .3s var(--ease-default)}.slide-left-enter-from{transform:translate(100%)}.slide-left-leave-to,.slide-right-enter-from{transform:translate(-30%)}.slide-right-leave-to{transform:translate(100%)}.list-enter-active,.list-leave-active{transition:opacity .2s,transform .2s}.list-enter-from{opacity:0;transform:translateY(8px)}.list-leave-to{opacity:0;transform:translateY(-8px)}.list-move{transition:transform .3s var(--ease-default)}.scale-enter-active{transition:opacity .2s,transform .3s var(--ease-bounce)}.scale-leave-active{transition:opacity .15s,transform .15s}.scale-enter-from{opacity:0;transform:scale(.3)}.scale-leave-to{opacity:0;transform:scale(.85)}@keyframes card-in{0%{opacity:0;transform:translateY(30px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes bounce-in{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05);opacity:1}70%{transform:scale(.9)}to{transform:scale(1)}}.animate-bounce-in{animation:bounce-in .5s var(--ease-bounce) both}@keyframes pop-in{0%{transform:scale(0);opacity:0}70%{transform:scale(1.1);opacity:1}to{transform:scale(1)}}.animate-pop-in{animation:pop-in .4s var(--ease-bounce) both}@keyframes floating{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-floating{animation:floating 3s ease-in-out infinite}@keyframes wb-float{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-20px) scale(1.05)}}.score-float{--score-float-pill-bg: rgba(255, 255, 255, .95);--score-float-pill-border: rgba(16, 185, 129, .22);--score-float-pill-shadow: 0 18px 42px rgba(15, 23, 42, .18);--score-float-pill-text: #065f46;--score-float-value-bg: rgba(16, 185, 129, .14);--score-float-value-text: #059669;position:fixed;z-index:9999;pointer-events:none;transform:translate(-50%)}.score-float--bonus{--score-float-pill-border: rgba(16, 185, 129, .24);--score-float-pill-text: #065f46;--score-float-value-bg: rgba(16, 185, 129, .14);--score-float-value-text: #059669}.score-float--penalty{--score-float-pill-border: rgba(239, 68, 68, .24);--score-float-pill-text: #7f1d1d;--score-float-value-bg: rgba(239, 68, 68, .13);--score-float-value-text: #dc2626}.score-float__pill{position:relative;display:inline-flex;align-items:center;gap:10px;min-width:164px;max-width:min(72vw,280px);padding:12px 14px;border:1.5px solid var(--score-float-pill-border);border-radius:999px;background:linear-gradient(135deg,#fffffffa,#ffffffdb),var(--score-float-pill-bg);box-shadow:var(--score-float-pill-shadow);backdrop-filter:blur(10px)}.score-float__icon{flex-shrink:0;filter:drop-shadow(0 3px 8px rgba(15,23,42,.14))}.score-float__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:900;letter-spacing:.01em;color:var(--score-float-pill-text)}.score-float__value{flex-shrink:0;padding:5px 10px;border-radius:999px;background:var(--score-float-value-bg);font-size:16px;font-weight:900;line-height:1;color:var(--score-float-value-text)}@keyframes sticker-wiggle{0%,to{transform:rotate(-1deg)}50%{transform:rotate(1deg)}}.animate-sticker{animation:sticker-wiggle 2s ease-in-out infinite}@keyframes slide-out-right{to{transform:translate(100%);opacity:0}}@keyframes slide-out-left{to{transform:translate(-100%);opacity:0}}.animate-slide-right{animation:slide-out-right .3s ease-in forwards}.animate-slide-left{animation:slide-out-left .3s ease-in forwards}@keyframes gift-unwrap{0%{transform:scale(.5) rotate(-10deg);opacity:0}50%{transform:scale(1.1) rotate(5deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.animate-gift-unwrap{animation:gift-unwrap .6s var(--ease-bounce) both}@keyframes badge-earned{0%{transform:scale(0) rotate(-180deg)}60%{transform:scale(1.2) rotate(10deg)}to{transform:scale(1) rotate(0)}}.animate-badge-earned{animation:badge-earned .8s var(--ease-bounce) both}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-2deg)}75%{transform:rotate(2deg)}}.animate-wiggle{animation:wiggle .4s ease-in-out}@keyframes winner-reveal{0%{transform:scale(.3) rotate(-10deg);opacity:0}50%{transform:scale(1.15) rotate(3deg);opacity:1}70%{transform:scale(.95) rotate(-1deg)}to{transform:scale(1) rotate(0)}}.animate-winner{animation:winner-reveal .6s var(--ease-bounce) both}@keyframes shine-sweep{0%{transform:translate(-100%,-100%) rotate(0)}20%,to{transform:translate(100%,100%) rotate(0)}}@keyframes twinkle{0%,to{opacity:.2;transform:scale(.8)}50%{opacity:.8;transform:scale(1.2)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #fbbf244d}50%{box-shadow:0 0 40px #fbbf2499,0 0 60px #fbbf2433}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes float-badge{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(3deg)}}@keyframes wb-shimmer{0%{left:-100%}to{left:200%}}@keyframes crown-wiggle{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.1) rotate(15deg)}}@media(max-width:767px){.fade-enter-active,.fade-leave-active,.modal-enter-active,.modal-leave-active,.scale-enter-active,.scale-leave-active,.list-enter-active,.list-leave-active,.slide-left-enter-active,.slide-left-leave-active,.slide-right-enter-active,.slide-right-leave-active,.toast-enter-active,.toast-leave-active,.snackbar-enter-active,.snackbar-leave-active,.float-timer-enter-active,.float-timer-leave-active,.cs-drop-enter-active,.cs-drop-leave-active,.cs-pop-enter-active,.cs-pop-leave-active,.field-error-enter-active,.field-error-leave-active,.field-expand-enter-active,.field-expand-leave-active,.level-up-enter-active,.level-up-leave-active,.sm-overlay-enter-active,.sm-overlay-leave-active,.slide-down-enter-active,.slide-down-leave-active,.sc-overlay-enter-active,.sc-overlay-leave-active,.picker-fade-enter-active,.picker-fade-leave-active,.sw-confirm-enter-active,.sw-confirm-leave-active,.wl-fade-enter-active,.wl-fade-leave-active,.wl-panel-enter-active,.wl-panel-leave-active,.qs-fade-enter-active,.qs-fade-leave-active,.dev-menu-enter-active,.dev-menu-leave-active{transition:none!important;animation:none!important}}
