.app-nav[data-v-d8dec296]{position:fixed;left:50%;transform:translate(-50%);bottom:0;z-index:60;width:100%;max-width:var(--page-max-width);padding:8px 8px calc(8px + var(--safe-bottom));background:linear-gradient(180deg,#121c34fa,#0c1428fe);border-top:1px solid rgba(255,107,157,.12);box-shadow:0 -4px 24px #0006;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.app-nav-inner[data-v-d8dec296]{display:grid;grid-template-columns:repeat(4,1fr);gap:4px 2px}.app-nav-item[data-v-d8dec296]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px 4px;min-height:56px;font-size:.7rem;color:var(--muted);text-decoration:none;border:none;border-radius:var(--radius);background:transparent;cursor:pointer;font-family:inherit;transition:all var(--transition-fast);position:relative}.app-nav-icon[data-v-d8dec296]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;opacity:.65;transition:all var(--transition-fast)}.app-nav-label[data-v-d8dec296]{line-height:1.2;letter-spacing:.02em;white-space:nowrap;font-weight:500}.app-nav-item[data-v-d8dec296]:hover{color:var(--text);background:#ffffff08}.app-nav-item:hover .app-nav-icon[data-v-d8dec296]{opacity:.85}.app-nav-item.active[data-v-d8dec296]{color:var(--accent);background:linear-gradient(135deg,#ff6b9d1f,#ff6b9d0a)}.app-nav-item.active[data-v-d8dec296]:before{content:"";position:absolute;top:2px;left:50%;transform:translate(-50%);width:20px;height:2px;background:var(--accent);border-radius:1px}.app-nav-item.active .app-nav-icon[data-v-d8dec296]{opacity:1;filter:drop-shadow(0 0 6px rgba(255,107,157,.4))}.app-nav-item.active .app-nav-label[data-v-d8dec296]{font-weight:700}.app-nav-sound[data-v-d8dec296]{opacity:.7}.app-nav-sound[data-v-d8dec296]:hover{opacity:1}.app-nav-sound.muted .app-nav-icon[data-v-d8dec296]{opacity:.4}.beian-row[data-v-3b3feb3d]{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px}.sep[data-v-3b3feb3d]{opacity:.5}.gongan-link[data-v-3b3feb3d]{display:inline-flex;align-items:center;gap:4px}.ghs-icon[data-v-3b3feb3d]{vertical-align:middle}.admin-link[data-v-3b3feb3d]{opacity:.55;font-size:.8125rem}.page-fade-enter-active,.page-fade-leave-active{transition:opacity .2s ease,transform .2s ease}.page-fade-enter-from{opacity:0;transform:translateY(8px)}.page-fade-leave-to{opacity:0;transform:translateY(-4px)}.toast-list-enter-active,.toast-list-leave-active{transition:all .25s ease}.toast-list-enter-from{opacity:0;transform:translateY(-12px) scale(.95)}.toast-list-leave-to{opacity:0;transform:translateY(-8px) scale(.95)}.birth-date-picker[data-v-e8097e1e]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.birth-part[data-v-e8097e1e]{display:flex;flex-direction:column;gap:6px;min-width:0}.birth-part-label[data-v-e8097e1e]{font-size:.75rem;color:var(--muted, #9aa3b5);font-weight:600}.birth-select[data-v-e8097e1e]{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--border, #2a3550);background:var(--input-bg, #0f1a30);color:var(--text, #e8eaf0);font-size:.9375rem;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.birth-select[data-v-e8097e1e]:disabled{opacity:.55;cursor:not-allowed}.birth-selected[data-v-e8097e1e]{margin:10px 0 0;font-size:.8125rem;color:var(--accent, #ff6b9d)}.birth-limit[data-v-e8097e1e]{margin:8px 0 0;font-size:.75rem;color:var(--muted, #9aa3b5)}.birth-error[data-v-e8097e1e]{margin:8px 0 0;font-size:.8125rem;color:#ff6b6b}.auth-card[data-v-4a952410]{max-width:420px;margin:0 auto}.disclaimer-bar[data-v-4a952410]{display:flex;align-items:flex-start;gap:8px;font-size:.8125rem;line-height:1.5;color:var(--muted);margin:12px 0 16px;padding:12px;background:#64b5f60f;border-radius:10px;border-left:3px solid var(--info)}.disclaimer-icon[data-v-4a952410]{flex-shrink:0;margin-top:1px}.sms-row[data-v-4a952410]{display:flex;gap:8px;align-items:center}.sms-row .sms-input[data-v-4a952410]{flex:1}.sms-btn[data-v-4a952410]{flex-shrink:0;font-size:.875rem;padding:12px 16px;white-space:nowrap}.field-hint[data-v-4a952410]{margin:-4px 0 8px;font-size:.75rem;color:var(--muted-light)}.legal-version[data-v-4a952410]{margin-top:12px;font-size:.7rem;color:var(--muted-light);text-align:center}.switch-auth[data-v-4a952410]{margin-top:20px;font-size:.875rem;text-align:center;color:var(--muted)}.switch-auth a[data-v-4a952410]{font-weight:600}.auth-card[data-v-c194b39f]{max-width:420px;margin:0 auto}.sms-row[data-v-c194b39f]{display:flex;gap:8px;align-items:center}.sms-row .sms-input[data-v-c194b39f]{flex:1}.sms-btn[data-v-c194b39f]{flex-shrink:0;font-size:.875rem;padding:12px 16px;white-space:nowrap}.switch-auth[data-v-c194b39f]{margin-top:20px;font-size:.875rem;text-align:center;color:var(--muted)}.switch-auth a[data-v-c194b39f]{font-weight:600}.legal-links[data-v-c194b39f]{margin-top:16px;font-size:.75rem;color:var(--muted);text-align:center;line-height:1.6}.char-skeleton[data-v-64f38438]{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.char-skeleton-card[data-v-64f38438]{height:72px;border-radius:12px}.char-grid[data-v-64f38438]{display:flex;flex-direction:column;gap:10px}.char-card[data-v-64f38438]{display:flex;align-items:center;gap:12px;text-align:left;background:var(--card-active);border:1px solid var(--border);border-radius:14px;padding:14px 16px;color:inherit;cursor:pointer;font-family:inherit;position:relative;overflow:hidden;transition:all var(--transition-fast)}.char-card[data-v-64f38438]:hover{border-color:var(--muted-light);background:#19283ce6;transform:translate(2px)}.char-card[data-v-64f38438]:active{transform:scale(.98)}.char-card.active[data-v-64f38438]{border-color:var(--accent);background:linear-gradient(135deg,#ff6b9d0f,#ff6b9d03);box-shadow:0 0 0 1px var(--accent-glow)}.char-card.locked[data-v-64f38438]{opacity:.65}.char-card.locked[data-v-64f38438]:hover{opacity:.8}.portrait-preview[data-v-64f38438]{position:absolute;right:0;top:0;width:100px;height:100%;object-fit:cover;object-position:50% 6%;opacity:.2;pointer-events:none;z-index:0;mask-image:linear-gradient(to left,#000 45%,transparent);-webkit-mask-image:linear-gradient(to left,#000 45%,transparent)}.char-avatar-img[data-v-64f38438],.char-avatar-fallback[data-v-64f38438]{width:48px;height:48px;border-radius:50%;flex-shrink:0;z-index:1}.char-avatar-img[data-v-64f38438]{object-fit:cover;object-position:top center;border:2px solid var(--border-light)}.char-avatar-fallback[data-v-64f38438]{background:linear-gradient(135deg,var(--accent),#c44569);display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;color:#fff}.char-body[data-v-64f38438]{flex:1;min-width:0;z-index:1}.char-name[data-v-64f38438]{font-weight:600;font-size:.95rem;margin-bottom:3px}.char-kw[data-v-64f38438]{font-size:.75rem;color:var(--muted);line-height:1.4}.char-action[data-v-64f38438]{z-index:1}.char-badge[data-v-64f38438]{display:inline-flex;align-items:center;padding:4px 12px;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap}.active-badge[data-v-64f38438]{background:var(--accent);color:#fff;box-shadow:0 2px 8px var(--accent-glow)}.price-badge[data-v-64f38438]{background:var(--border);color:var(--accent-text)}.select-badge[data-v-64f38438]{background:#ffffff0a;color:var(--muted);border:1px solid var(--border)}.pay-overlay[data-v-64f38438]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:200;padding:16px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.pay-modal[data-v-64f38438]{max-width:320px;width:100%;text-align:center;padding:28px 24px}.qr-wrapper[data-v-64f38438]{width:220px;height:220px;margin:16px auto;border-radius:12px;overflow:hidden;background:var(--card-active);display:flex;align-items:center;justify-content:center}.qr[data-v-64f38438]{width:100%;height:100%;display:block}.qr-loading[data-v-64f38438]{color:var(--muted);font-size:.875rem}.pay-hint[data-v-64f38438]{font-size:.8125rem;color:var(--muted);margin-bottom:16px}.overlay-in-enter-active[data-v-64f38438],.overlay-in-leave-active[data-v-64f38438]{transition:opacity .2s ease}.overlay-in-enter-from[data-v-64f38438],.overlay-in-leave-to[data-v-64f38438]{opacity:0}.msg-row[data-v-1c949cee]{display:flex;align-items:flex-start;gap:8px;margin-bottom:4px;animation:msg-in-1c949cee .3s ease backwards}@keyframes msg-in-1c949cee{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.msg-row.user[data-v-1c949cee]{flex-direction:row-reverse}.msg-row.is-streaming[data-v-1c949cee]{animation:none}.msg-avatar-slot[data-v-1c949cee]{flex-shrink:0;width:36px}.msg-avatar[data-v-1c949cee]{width:36px;height:36px;border-radius:var(--radius-sm);object-fit:cover;display:block;background:var(--card-active);box-shadow:var(--shadow-sm)}.msg-avatar-fallback[data-v-1c949cee]{display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--accent),#c44569)}.msg-row.assistant .msg-avatar-fallback[data-v-1c949cee]{background:linear-gradient(135deg,#4a6fa5,#2a4a7a)}.msg-body[data-v-1c949cee]{max-width:calc(100% - 44px);min-width:0}.msg-time[data-v-1c949cee]{font-size:.65rem;color:var(--muted-light);margin-bottom:3px;text-align:center}.msg-row.user .msg-time[data-v-1c949cee]{text-align:right}.msg-row.assistant .msg-time[data-v-1c949cee]{text-align:left}.bubble-wrap[data-v-1c949cee]{display:flex;align-items:flex-end;gap:4px}.msg-row.user .bubble-wrap[data-v-1c949cee]{flex-direction:row-reverse}.bubble[data-v-1c949cee]{padding:10px 14px;border-radius:16px;font-size:.9375rem;line-height:1.55;white-space:pre-wrap;word-break:break-word;position:relative;transition:box-shadow var(--transition-fast)}.msg-row.user .bubble[data-v-1c949cee]{background:linear-gradient(135deg,var(--accent),#ff4785);color:#fff;border-bottom-right-radius:4px;box-shadow:0 2px 8px #ff6b9d33}.msg-row.assistant .bubble[data-v-1c949cee]{background:#0f1a30e6;border:1px solid var(--border);color:#e8e8f0;border-bottom-left-radius:4px}.msg-row.is-streaming .bubble[data-v-1c949cee]{border-color:#ff6b9d40}.msg-row.is-streaming .bubble[data-v-1c949cee]:after{content:"";display:inline-block;width:2px;height:1em;margin-left:1px;background:var(--accent);vertical-align:text-bottom;animation:cursor-blink-1c949cee .8s infinite;border-radius:1px}@keyframes cursor-blink-1c949cee{0%,to{opacity:1}50%{opacity:0}}.chat-page[data-v-ea525ad8]{display:flex;flex-direction:column;max-width:480px;margin:0 auto;padding:8px 12px 12px;height:calc(100dvh - var(--app-nav-height));max-height:calc(100dvh - var(--app-nav-height));overflow:hidden;position:relative}.chat-page.has-portrait .chat-header[data-v-ea525ad8],.chat-page.has-portrait .chat-main[data-v-ea525ad8],.chat-page.has-portrait .composer[data-v-ea525ad8],.chat-page.has-portrait .proactive-hint[data-v-ea525ad8],.chat-page.has-portrait .memory-hint[data-v-ea525ad8],.chat-page.has-portrait .first-meet-offer[data-v-ea525ad8]{position:relative;z-index:1}.chat-portrait[data-v-ea525ad8]{position:fixed;right:0;top:0;width:min(42vw,280px);height:100%;background-size:cover;background-position:50% 8%;opacity:.28;pointer-events:none;z-index:0;mask-image:linear-gradient(to left,#000 55%,transparent);-webkit-mask-image:linear-gradient(to left,#000 55%,transparent)}.chat-header[data-v-ea525ad8]{flex-shrink:0;padding:10px 14px;margin-bottom:6px;background:#16213ed9;border-radius:14px;border:1px solid var(--border-light);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.chat-header-main[data-v-ea525ad8]{display:flex;align-items:center;gap:10px;min-width:0}.chat-header-avatar[data-v-ea525ad8]{width:40px;height:40px;border-radius:50%;object-fit:cover;object-position:top center;flex-shrink:0;border:2px solid rgba(255,107,157,.4);background:#1a1a2e}.chat-header-info[data-v-ea525ad8]{min-width:0;flex:1}.chat-header-info strong[data-v-ea525ad8]{display:block;font-size:.95rem;font-weight:600}.chat-header-role[data-v-ea525ad8]{display:block;margin-top:1px;font-size:.68rem;color:var(--muted);font-weight:400}.chat-header-sub[data-v-ea525ad8]{display:flex;flex-direction:column;gap:2px;margin-top:3px}.affinity-line[data-v-ea525ad8]{font-size:.7rem;color:var(--accent-text);display:flex;align-items:center;gap:4px}.affinity-heart[data-v-ea525ad8]{font-size:.75rem}.quota-line[data-v-ea525ad8]{font-size:.68rem;color:var(--muted)}.composer-typing[data-v-ea525ad8]{display:flex;align-items:center;gap:6px;padding:0 4px 8px;font-size:.75rem;color:var(--muted)}.typing-dots[data-v-ea525ad8]{display:flex;gap:3px}.typing-dots .dot[data-v-ea525ad8]{width:5px;height:5px;border-radius:50%;background:var(--accent);animation:dot-bounce-ea525ad8 1.4s infinite ease-in-out both}.typing-dots .dot[data-v-ea525ad8]:nth-child(1){animation-delay:-.32s}.typing-dots .dot[data-v-ea525ad8]:nth-child(2){animation-delay:-.16s}.typing-dots .dot[data-v-ea525ad8]:nth-child(3){animation-delay:0s}@keyframes dot-bounce-ea525ad8{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.chat-main[data-v-ea525ad8]{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.chat-hints[data-v-ea525ad8]{flex-shrink:0}.proactive-hint[data-v-ea525ad8]{display:flex;align-items:center;gap:8px;padding:10px 12px;margin-bottom:4px;background:linear-gradient(135deg,#ff6b9d14,#ff6b9d05);border:1px solid rgba(255,107,157,.15);border-radius:12px;font-size:.8125rem}.proactive-badge[data-v-ea525ad8]{font-size:.7rem;padding:2px 8px;border-radius:10px;background:var(--accent-light);color:var(--accent);white-space:nowrap;flex-shrink:0}.proactive-text[data-v-ea525ad8]{flex:1;min-width:0;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memory-hint[data-v-ea525ad8]{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:4px;background:#16213eb3;border:1px solid var(--border-light);border-radius:10px;font-size:.75rem;cursor:pointer;transition:all var(--transition-fast)}.memory-hint[data-v-ea525ad8]:hover{background:#16213ee6;border-color:var(--border)}.memory-icon[data-v-ea525ad8]{flex-shrink:0;font-size:.9rem}.memory-text[data-v-ea525ad8]{flex:1;min-width:0;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4}.memory-text em[data-v-ea525ad8]{color:var(--accent-text);font-style:normal}.edit-badge[data-v-ea525ad8]{flex-shrink:0;font-size:.65rem;padding:2px 8px;border-radius:8px;background:#ff6b9d1a;color:var(--accent);border:1px solid rgba(255,107,157,.2)}.first-meet-offer[data-v-ea525ad8]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px;margin-bottom:4px;background:linear-gradient(135deg,#ff6b9d0f,#a78bfa0a);border:1px solid rgba(255,107,157,.18);border-radius:12px}.first-meet-icon[data-v-ea525ad8]{font-size:1rem}.first-meet-text[data-v-ea525ad8]{flex:1;min-width:0;font-size:.8125rem;color:var(--text-secondary)}.meet-btn[data-v-ea525ad8]{margin-top:0;padding:6px 14px;font-size:.8rem;width:auto}.skip-btn[data-v-ea525ad8]{font-size:.75rem}.chat-loading[data-v-ea525ad8]{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 0}.loading-bubbles[data-v-ea525ad8]{display:flex;gap:6px}.loading-bubble[data-v-ea525ad8]{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:bubble-pulse-ea525ad8 1.2s infinite ease-in-out both}.loading-bubble-1[data-v-ea525ad8]{animation-delay:-.4s}.loading-bubble-2[data-v-ea525ad8]{animation-delay:-.2s}.loading-bubble-3[data-v-ea525ad8]{animation-delay:0s}@keyframes bubble-pulse-ea525ad8{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.loading-text[data-v-ea525ad8]{font-size:.75rem;color:var(--muted)}.messages[data-v-ea525ad8]{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 2px 8px;display:flex;flex-direction:column;gap:2px;-webkit-overflow-scrolling:touch}.scroll-anchor[data-v-ea525ad8]{height:1px;flex-shrink:0}.time-divider[data-v-ea525ad8]{display:flex;align-items:center;justify-content:center;padding:12px 0 8px;font-size:.7rem;color:var(--muted-light)}.time-divider span[data-v-ea525ad8]{padding:3px 12px;border-radius:10px;background:#ffffff0a}.intro-card[data-v-ea525ad8]{margin-bottom:8px;padding:20px;background:linear-gradient(135deg,#16213ef2,#1e2846e6);border:1px solid rgba(255,107,157,.25);border-radius:16px}.intro-head[data-v-ea525ad8]{display:flex;gap:12px;align-items:center;margin-bottom:14px}.intro-avatar[data-v-ea525ad8]{width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:top center;flex-shrink:0;border:2px solid var(--accent);background:#1a1a2e;box-shadow:0 0 16px #ff6b9d33}.intro-head-text[data-v-ea525ad8]{min-width:0}.intro-title[data-v-ea525ad8]{margin:0;font-size:1.05rem;font-weight:600}.intro-tags[data-v-ea525ad8]{margin:4px 0 0;font-size:.75rem;color:var(--muted)}.intro-story[data-v-ea525ad8]{margin:0 0 10px;font-size:.9rem;line-height:1.65;color:var(--text-secondary)}.intro-hint[data-v-ea525ad8]{margin:0 0 14px;font-size:.75rem;color:var(--muted)}.intro-skip[data-v-ea525ad8]{display:block;width:100%;margin-top:10px;text-align:center;font-size:.75rem}.pin-btn[data-v-ea525ad8]{border:none;background:transparent;color:var(--muted);font-size:.85rem;cursor:pointer;padding:2px 4px;opacity:.5;transition:all var(--transition-fast)}.pin-btn[data-v-ea525ad8]:hover{opacity:1;color:#f472b6;transform:scale(1.15)}.affinity-hint[data-v-ea525ad8]{flex-shrink:0;display:flex;align-items:center;gap:8px;margin:0 0 6px;padding:10px 14px;border-radius:12px;font-size:.8125rem;line-height:1.45;cursor:pointer;border:1px solid transparent;box-shadow:var(--shadow)}.affinity-hint--gain[data-v-ea525ad8]{background:linear-gradient(135deg,#ff6b9d2e,#ff8fab14);border-color:#ff6b9d59;color:#ffd6e8}.affinity-hint--loss[data-v-ea525ad8]{background:#607d8b26;border-color:#90a4ae59;color:#cfd8dc}.affinity-hint--blocked[data-v-ea525ad8]{background:var(--warn-bg);border-color:#ffc1074d;color:#ffe8a3}.affinity-hint--max[data-v-ea525ad8]{background:#a78bfa1f;border-color:#a78bfa4d;color:#e9d5ff}.affinity-hint-icon[data-v-ea525ad8]{flex-shrink:0;font-size:1rem}.affinity-hint-text[data-v-ea525ad8]{flex:1;min-width:0}.affinity-hint-action[data-v-ea525ad8]{flex-shrink:0;padding:4px 10px;border-radius:999px;font-size:.75rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2)}.affinity-hint-enter-active[data-v-ea525ad8],.affinity-hint-leave-active[data-v-ea525ad8]{transition:all .3s ease}.affinity-hint-enter-from[data-v-ea525ad8],.affinity-hint-leave-to[data-v-ea525ad8]{opacity:0;transform:translateY(-8px)}.hint-in-enter-active[data-v-ea525ad8],.hint-in-leave-active[data-v-ea525ad8]{transition:all .3s ease}.hint-in-enter-from[data-v-ea525ad8],.hint-in-leave-to[data-v-ea525ad8]{opacity:0;transform:translateY(-6px) scale(.98)}.card-in-enter-active[data-v-ea525ad8]{transition:all .4s cubic-bezier(.4,0,.2,1)}.card-in-leave-active[data-v-ea525ad8]{transition:all .2s ease}.card-in-enter-from[data-v-ea525ad8]{opacity:0;transform:translateY(12px) scale(.96)}.card-in-leave-to[data-v-ea525ad8]{opacity:0}.panel-in-enter-active[data-v-ea525ad8],.panel-in-leave-active[data-v-ea525ad8]{transition:all .2s ease;transform-origin:bottom center}.panel-in-enter-from[data-v-ea525ad8],.panel-in-leave-to[data-v-ea525ad8]{opacity:0;transform:scaleY(.8)}.overlay-in-enter-active[data-v-ea525ad8],.overlay-in-leave-active[data-v-ea525ad8]{transition:opacity .2s ease}.overlay-in-enter-from[data-v-ea525ad8],.overlay-in-leave-to[data-v-ea525ad8]{opacity:0}.chat-error[data-v-ea525ad8]{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:8px 12px;margin-bottom:6px;background:var(--error-bg);border:1px solid rgba(255,107,107,.25);border-radius:10px;font-size:.8125rem;color:var(--error);cursor:pointer}.error-close[data-v-ea525ad8]{background:none;border:none;color:var(--error);font-size:.9rem;cursor:pointer;padding:0 2px}.composer[data-v-ea525ad8]{flex-shrink:0;margin-top:6px;padding:10px;background:#16213ee6;border:1px solid var(--border-light);border-radius:14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.composer-bar[data-v-ea525ad8]{display:flex;align-items:flex-end;gap:8px}.emoji-toggle[data-v-ea525ad8]{flex-shrink:0;width:38px;height:38px;border:1px solid var(--border);border-radius:10px;background:var(--card-active);font-size:1.125rem;line-height:1;cursor:pointer;padding:0;color:var(--muted);transition:all var(--transition-fast)}.emoji-toggle[data-v-ea525ad8]:hover{border-color:var(--muted-light);color:var(--text)}.emoji-toggle.active[data-v-ea525ad8]{border-color:var(--accent);background:var(--accent-light);color:var(--accent)}.emoji-toggle[data-v-ea525ad8]:disabled{opacity:.4;cursor:not-allowed}.emoji-panel[data-v-ea525ad8]{display:flex;flex-wrap:wrap;gap:4px;padding:4px 4px 10px;margin-bottom:4px;max-height:100px;overflow-y:auto;border-bottom:1px solid var(--border-light)}.emoji-btn[data-v-ea525ad8]{width:36px;height:36px;border:none;border-radius:var(--radius-sm);background:transparent;font-size:1.25rem;cursor:pointer;padding:0;transition:background var(--transition-fast)}.emoji-btn[data-v-ea525ad8]:hover:not(:disabled){background:#ffffff14}.emoji-btn[data-v-ea525ad8]:disabled{opacity:.4;cursor:not-allowed}.composer-field[data-v-ea525ad8]{flex:1;min-width:0;background:var(--card-active);border:1px solid var(--border);border-radius:10px;padding:8px 12px;transition:border-color var(--transition-fast)}.composer-field[data-v-ea525ad8]:focus-within{border-color:var(--accent)}.composer-field textarea[data-v-ea525ad8]{display:block;width:100%;min-height:20px;max-height:120px;padding:0;margin:0;border:none;background:transparent;color:var(--text);font-size:.9375rem;line-height:1.45;resize:none;overflow-y:auto;font-family:inherit;outline:none}.composer-field textarea[data-v-ea525ad8]::placeholder{color:var(--muted-light)}.composer-field textarea[data-v-ea525ad8]:disabled{opacity:.5}.composer-actions[data-v-ea525ad8]{display:flex;align-items:center;gap:8px;flex-shrink:0}.send-btn[data-v-ea525ad8]{border:none;border-radius:10px;padding:8px 16px;font-size:.875rem;font-weight:600;background:#ffffff0f;color:var(--muted);cursor:not-allowed;font-family:inherit;transition:all var(--transition-fast)}.send-btn.active[data-v-ea525ad8]{background:linear-gradient(135deg,#07c160,#06ad56);color:#fff;cursor:pointer;box-shadow:0 2px 8px #07c16040}.send-btn.active[data-v-ea525ad8]:hover{background:linear-gradient(135deg,#06ad56,#059e48);box-shadow:0 4px 12px #07c16059}.send-btn.active[data-v-ea525ad8]:active{transform:scale(.96)}.stop-btn[data-v-ea525ad8]{border:1px solid var(--border);border-radius:10px;padding:8px 14px;font-size:.8125rem;font-weight:600;background:#ff6b6b1a;color:var(--error);cursor:pointer;font-family:inherit;transition:all var(--transition-fast)}.stop-btn[data-v-ea525ad8]:hover{background:#ff6b6b33}.jump-btn[data-v-ea525ad8]{width:36px;height:36px;border:1px solid var(--border);border-radius:50%;background:var(--card-active);color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:all var(--transition-fast)}.jump-btn[data-v-ea525ad8]:hover{background:var(--card-hover);color:var(--text)}.overlay[data-v-ea525ad8]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:200;padding:16px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.panel-modal[data-v-ea525ad8]{width:100%;max-width:360px;max-height:min(85dvh,600px);overflow-y:auto;background:#16213efa;border-radius:20px;padding:20px;border:1px solid var(--border-light)}.panel-head[data-v-ea525ad8]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.panel-head h3[data-v-ea525ad8]{margin:0;font-size:1.05rem}.panel-close[data-v-ea525ad8]{width:32px;height:32px;border:1px solid var(--border);border-radius:50%;background:transparent;color:var(--muted);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.panel-close[data-v-ea525ad8]:hover{background:#ffffff0d;color:var(--text)}.gift-wallet[data-v-ea525ad8]{display:flex;gap:12px;margin-bottom:16px}.wallet-item[data-v-ea525ad8]{flex:1;display:flex;align-items:center;gap:6px;padding:10px 12px;background:var(--card-active);border-radius:10px;font-size:.8125rem}.wallet-icon[data-v-ea525ad8]{font-size:1rem}.gift-list[data-v-ea525ad8]{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.gift-card[data-v-ea525ad8]{display:flex;align-items:center;gap:10px;padding:12px;background:var(--card-active);border:1px solid var(--border);border-radius:12px;color:var(--text);cursor:pointer;font-family:inherit;text-align:left;transition:all var(--transition-fast)}.gift-card[data-v-ea525ad8]:hover:not(:disabled){border-color:var(--accent);background:#ff6b9d0f;transform:translateY(-1px)}.gift-card[data-v-ea525ad8]:active:not(:disabled){transform:translateY(0) scale(.98)}.gift-card.disabled[data-v-ea525ad8],.gift-card[data-v-ea525ad8]:disabled{opacity:.4;cursor:not-allowed}.gift-thumb[data-v-ea525ad8]{width:40px;height:40px;border-radius:10px;object-fit:cover;flex-shrink:0}.gift-thumb-fallback[data-v-ea525ad8]{width:40px;height:40px;border-radius:10px;background:var(--card-active);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.gift-info[data-v-ea525ad8]{flex:1;min-width:0}.gift-info strong[data-v-ea525ad8]{display:block;font-size:.9rem;margin-bottom:2px}.gift-effect[data-v-ea525ad8]{font-size:.75rem;color:var(--accent-text)}.gift-cost[data-v-ea525ad8]{font-size:.8rem;color:var(--muted);flex-shrink:0}.gift-shop-link[data-v-ea525ad8]{display:block;text-align:center;font-size:.8125rem;padding:8px 0;color:var(--accent)}.memory-panel[data-v-ea525ad8]{max-width:400px}.memory-form[data-v-ea525ad8]{max-height:60vh;overflow-y:auto;padding-right:4px}.memory-row[data-v-ea525ad8]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.panel-actions[data-v-ea525ad8]{display:flex;gap:10px;margin-top:16px}.panel-actions .btn[data-v-ea525ad8]{flex:1;margin-top:0}.check-row[data-v-ea525ad8]{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--muted);margin:10px 0;cursor:pointer}.check-row input[data-v-ea525ad8]{accent-color:var(--accent)}.link-btn[data-v-ea525ad8]{background:none;border:none;color:var(--accent);font-size:.75rem;cursor:pointer;padding:4px 6px;text-decoration:none;border-radius:6px;transition:all var(--transition-fast)}.link-btn[data-v-ea525ad8]:hover{background:var(--accent-light)}.legal-version[data-v-5db00e05]{margin-top:24px;font-size:.75rem;color:var(--muted);text-align:right}.admin-image-field[data-v-6701924f]{display:flex;flex-direction:column;gap:8px}.admin-image-row[data-v-6701924f]{display:grid;grid-template-columns:56px 1fr auto;gap:8px;align-items:center}.admin-image-preview[data-v-6701924f]{width:56px;height:56px;object-fit:contain;border-radius:8px;background:#0f1a30}.admin-image-row input[data-v-6701924f]{min-width:0}.upload-btn[data-v-6701924f]{position:relative;white-space:nowrap;cursor:pointer}.upload-btn.disabled[data-v-6701924f]{opacity:.6;pointer-events:none}.admin-image-size[data-v-6701924f]{margin:0;font-size:.8125rem;font-weight:500;color:var(--accent, #ff6b9d)}.admin-image-hint[data-v-6701924f]{font-size:.75rem;color:var(--muted, #9aa3b5)}.admin-shell[data-v-87fea677]{min-height:100vh;background:#0a0f1a;color:var(--text)}.admin-shell.is-logged-in[data-v-87fea677]{display:flex;height:100vh;overflow:hidden}.admin-sider[data-v-87fea677]{width:248px;flex-shrink:0;background:linear-gradient(180deg,#0f1628,#0c1220);border-right:1px solid #243049;display:flex;flex-direction:column;height:100vh}.sider-brand[data-v-87fea677]{display:flex;align-items:center;gap:12px;padding:20px 16px;border-bottom:1px solid #243049}.brand-logo[data-v-87fea677]{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#ff6b9d,#c44dff);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff}.sider-brand h1[data-v-87fea677]{font-size:1rem;margin:0;line-height:1.2}.sider-brand p[data-v-87fea677]{font-size:.7rem;color:var(--muted);margin:2px 0 0}.sider-nav[data-v-87fea677]{flex:1;overflow-y:auto;padding:12px 10px}.nav-group[data-v-87fea677]{margin-bottom:8px}.nav-group-title[data-v-87fea677]{width:100%;display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border:none;border-radius:8px;background:transparent;color:var(--muted);font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.nav-group-title[data-v-87fea677]:hover{background:#151d30;color:var(--text)}.chevron[data-v-87fea677]{display:inline-block;transition:transform .2s;transform:rotate(90deg);font-size:1rem;line-height:1}.chevron.open[data-v-87fea677]{transform:rotate(-90deg)}.nav-group-items[data-v-87fea677]{padding:2px 0 4px 4px}.nav-item[data-v-87fea677]{width:100%;display:flex;align-items:center;gap:8px;text-align:left;padding:9px 12px;margin-bottom:2px;border:none;border-radius:8px;background:transparent;color:#c8d0e0;font-size:.875rem;cursor:pointer}.nav-icon[data-v-87fea677]{font-size:.5rem;color:var(--muted)}.nav-item.active[data-v-87fea677]{background:#1a2540;color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.nav-item[data-v-87fea677]:hover:not(.active){background:#151d30}.sider-foot[data-v-87fea677]{padding:12px 16px 16px;border-top:1px solid #243049;font-size:.75rem}.foot-row[data-v-87fea677]{display:flex;align-items:center;gap:8px;margin-bottom:10px}.foot-time[data-v-87fea677]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-block[data-v-87fea677]{width:100%}.admin-main[data-v-87fea677]{flex:1;min-width:0;display:flex;flex-direction:column;height:100vh;overflow:hidden}.admin-header[data-v-87fea677]{flex-shrink:0;display:flex;justify-content:space-between;align-items:center;padding:20px 28px 16px;border-bottom:1px solid #243049;background:#0d1320}.breadcrumb[data-v-87fea677]{margin:0 0 4px;font-size:.75rem;color:var(--muted)}.admin-header h2[data-v-87fea677]{margin:0;font-size:1.35rem}.admin-content[data-v-87fea677]{flex:1;overflow:auto;padding:24px 28px}.login-wrap[data-v-87fea677]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card[data-v-87fea677]{width:100%;max-width:440px}.stat-grid[data-v-87fea677]{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.stat-card[data-v-87fea677]{background:#111b2e;border:1px solid #243049;border-radius:12px;padding:16px;text-align:center}.stat-card.wide[data-v-87fea677]{grid-column:span 2}.stat-value[data-v-87fea677]{font-size:1.5rem;font-weight:700}.stat-value.accent[data-v-87fea677]{color:var(--accent)}.stat-label[data-v-87fea677]{font-size:.8rem;color:var(--muted);margin-top:4px}.split-panel[data-v-87fea677]{display:grid;grid-template-columns:280px 1fr;gap:16px;min-height:480px}.list-panel[data-v-87fea677]{overflow:auto}.detail-panel[data-v-87fea677]{padding:16px}.muted-panel[data-v-87fea677]{color:var(--muted);display:flex;align-items:center;justify-content:center}.toolbar[data-v-87fea677]{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.toolbar input[data-v-87fea677],.toolbar select[data-v-87fea677]{padding:8px 10px;border-radius:8px;border:1px solid #243049;background:#111b2e;color:var(--text)}.data-table .row[data-v-87fea677]{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px 0;border-bottom:1px solid #243049;font-size:.85rem;align-items:center}.data-table.wide .row[data-v-87fea677]{grid-template-columns:1.2fr .6fr 1.5fr .6fr .6fr}.data-table.wide .row.head[data-v-87fea677]{font-weight:600;color:var(--muted)}.row.clickable[data-v-87fea677]{cursor:pointer}.row.selected[data-v-87fea677]{background:#1a2540}.badge[data-v-87fea677]{font-size:.7rem;padding:2px 6px;border-radius:4px;background:#243049}.badge.BANNED[data-v-87fea677]{background:#5c2a2a}.detail-grid[data-v-87fea677]{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:.85rem;margin-bottom:12px}.sub-block[data-v-87fea677]{margin-top:12px;padding-top:12px;border-top:1px solid #243049}.sub-block h4[data-v-87fea677]{margin:0 0 8px;font-size:.9rem}.inline-form[data-v-87fea677]{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.inline-form.cols[data-v-87fea677]{flex-direction:column;align-items:stretch}.inline-form input[data-v-87fea677],.inline-form textarea[data-v-87fea677],.inline-form select[data-v-87fea677]{padding:8px;border-radius:8px;border:1px solid #243049;background:#111b2e;color:var(--text)}.admin-help[data-v-87fea677]{margin-bottom:16px;padding:12px 14px;border:1px solid #243049;border-radius:10px;background:#0d1320;font-size:.8rem;color:#c8d0e0}.admin-help summary[data-v-87fea677]{cursor:pointer;font-weight:600;color:var(--accent)}.admin-help ul[data-v-87fea677]{margin:10px 0 0;padding-left:18px;line-height:1.6}.admin-help code[data-v-87fea677]{font-size:.75rem;background:#1a2540;padding:1px 4px;border-radius:4px}.shop-page[data-v-87fea677]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.shop-help[data-v-87fea677]{grid-column:1 / -1}.char-page .split-panel[data-v-87fea677]{margin-top:0}.story-layout[data-v-87fea677]{display:grid;grid-template-columns:200px 260px 1fr;gap:16px;min-height:480px;margin-top:0}.story-char-panel[data-v-87fea677],.story-list-panel[data-v-87fea677]{overflow:auto}.panel-caption[data-v-87fea677]{margin:0 0 10px;font-size:.8rem;font-weight:600;color:var(--muted)}.panel-empty[data-v-87fea677]{padding:12px 4px}.muted-inline[data-v-87fea677]{color:var(--muted);font-weight:400}.pick-badge[data-v-87fea677]{float:right;font-size:.7rem;color:var(--muted);background:#1a2540;padding:1px 6px;border-radius:10px}.pick-badge.warn[data-v-87fea677]{color:#ffb347;background:#3d2a14}.pick-item.misaligned[data-v-87fea677]{border-color:#6b4420}.story-tier-block[data-v-87fea677]{margin-bottom:14px}.story-tier-title[data-v-87fea677]{margin:0 0 6px;font-size:.72rem;font-weight:700;color:var(--accent);letter-spacing:.02em}.tier-empty[data-v-87fea677]{margin:0 0 6px 4px;font-size:.75rem}.warn-inline[data-v-87fea677]{color:#ffb347}.story-meta[data-v-87fea677]{margin:-4px 0 12px;font-size:.8rem;color:var(--muted)}.shop-block[data-v-87fea677]{padding:16px;min-width:0}.shop-block h3[data-v-87fea677]{margin:0 0 12px;font-size:1rem}.shop-list[data-v-87fea677]{margin-top:16px;max-height:min(52vh,520px);overflow-y:auto;border:1px solid #243049;border-radius:10px;padding:4px 12px;background:#0d1320}.muted-inline[data-v-87fea677]{font-size:.75rem;color:var(--text-muted);font-weight:400}.chat-filter[data-v-87fea677]{min-width:120px;padding:6px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.12);background:#00000040;color:var(--text)}.admin-chat-log[data-v-87fea677]{max-height:360px;overflow-y:auto;margin-top:8px;padding:8px;border-radius:8px;background:#0003;border:1px solid rgba(255,255,255,.06)}.admin-chat-row[data-v-87fea677]{margin-bottom:10px}.admin-chat-row.is-user .admin-chat-bubble[data-v-87fea677]{background:#6366f140;margin-left:24px}.admin-chat-row.is-assistant .admin-chat-bubble[data-v-87fea677]{background:#ec48992e;margin-right:24px}.admin-chat-meta[data-v-87fea677]{display:flex;gap:8px;font-size:.7rem;color:var(--text-muted);margin-bottom:4px}.mod-tag[data-v-87fea677]{color:#fbbf24}.admin-chat-bubble[data-v-87fea677]{padding:8px 10px;border-radius:10px;font-size:.82rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}.archive-row[data-v-87fea677],.char-row[data-v-87fea677],.gift-row[data-v-87fea677]{font-size:.8rem;padding:10px 0;display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #1e2a42}.gift-row[data-v-87fea677]:last-child{border-bottom:none}.gift-row-text[data-v-87fea677]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gift-row .btn[data-v-87fea677]{flex-shrink:0}.pick-item[data-v-87fea677]{display:block;width:100%;text-align:left;padding:10px;margin-bottom:6px;border-radius:8px;border:1px solid #243049;background:#111b2e;color:var(--text);cursor:pointer}.pick-item.active[data-v-87fea677]{border-color:var(--accent)}.form-grid[data-v-87fea677]{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.form-grid label[data-v-87fea677]{display:flex;flex-direction:column;gap:4px;font-size:.8rem}.form-grid label.full[data-v-87fea677]{grid-column:1 / -1}.form-grid input[data-v-87fea677],.form-grid textarea[data-v-87fea677]{padding:8px;border-radius:8px;border:1px solid #243049;background:#111b2e;color:var(--text)}.config-grid[data-v-87fea677]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.config-grid .card[data-v-87fea677]{padding:16px}.config-grid .wide[data-v-87fea677]{grid-column:1 / -1}.msg-row[data-v-87fea677]{padding:12px 0;border-bottom:1px solid #243049}.msg-meta[data-v-87fea677]{font-size:.75rem;color:var(--muted);display:flex;gap:12px;flex-wrap:wrap}.msg-body[data-v-87fea677]{margin-top:6px;font-size:.9rem;white-space:pre-wrap}.tag-cloud[data-v-87fea677]{display:flex;flex-wrap:wrap;gap:8px}.tag[data-v-87fea677]{background:#1a2540;padding:6px 10px;border-radius:20px;font-size:.8rem;display:inline-flex;align-items:center;gap:6px}.tag button[data-v-87fea677]{border:none;background:transparent;color:var(--muted);cursor:pointer}.mono[data-v-87fea677]{font-family:monospace;font-size:.75rem;word-break:break-all}.health[data-v-87fea677]{margin-top:8px;font-size:.85rem;color:var(--ok)}.alert-ok[data-v-87fea677]{background:#1a3d2a;border-color:#2d6b45;color:#8fdfb0}.status-dot[data-v-87fea677]{width:8px;height:8px;border-radius:50%;background:var(--muted)}.status-dot.live[data-v-87fea677]{background:var(--ok)}.muted[data-v-87fea677]{color:var(--muted)}.divider[data-v-87fea677]{border:none;border-top:1px solid #243049;margin:16px 0}.login-card .hint[data-v-87fea677]{margin-top:12px;font-size:.75rem;color:var(--muted)}.boot-msg[data-v-87fea677]{color:var(--accent);font-size:.875rem;margin:0 0 12px}.director-page .toolbar[data-v-87fea677]{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-top:12px}.inline-field[data-v-87fea677]{display:flex;flex-direction:column;gap:4px;font-size:.75rem;color:var(--muted)}.inline-field input[data-v-87fea677]{width:88px}.director-report .report-meta[data-v-87fea677]{margin-bottom:12px;font-size:.8125rem}.director-report .report-body[data-v-87fea677]{white-space:pre-wrap;font-size:.8125rem;line-height:1.55;max-height:62vh;overflow:auto;margin:0;font-family:inherit}.badge-completed[data-v-87fea677]{color:var(--ok)}.badge-failed[data-v-87fea677]{color:var(--danger, #f87171)}.badge-running[data-v-87fea677]{color:var(--accent)}.truncate[data-v-87fea677]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}@media(max-width:900px){.admin-shell.is-logged-in[data-v-87fea677]{flex-direction:column;height:auto;overflow:auto}.admin-sider[data-v-87fea677]{width:100%;height:auto;max-height:42vh}.admin-main[data-v-87fea677]{height:auto}.split-panel[data-v-87fea677],.story-layout[data-v-87fea677],.shop-page[data-v-87fea677]{grid-template-columns:1fr}}.checkin-card[data-v-20afdb78]{text-align:center;max-width:420px;margin:0 auto}.stats[data-v-20afdb78]{margin-bottom:24px}.stat-main[data-v-20afdb78]{background:linear-gradient(135deg,#ff6b9d14,#ff8fab0a);border:1px solid var(--accent-glow);border-radius:20px;padding:20px;margin-bottom:12px}.streak-num[data-v-20afdb78]{display:block;font-size:2.5rem;font-weight:800;color:var(--accent);line-height:1;margin-bottom:4px}.streak-label[data-v-20afdb78]{font-size:.8rem;color:var(--muted)}.stat-row[data-v-20afdb78]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat-sm[data-v-20afdb78]{background:var(--card-active);border:1px solid var(--border-light);border-radius:12px;padding:12px 8px;display:flex;flex-direction:column;align-items:center;gap:4px}.stat-icon[data-v-20afdb78]{font-size:1.1rem}.stat-sm strong[data-v-20afdb78]{font-size:1rem;font-weight:700}.stat-sm span[data-v-20afdb78]:not(.stat-icon){font-size:.65rem;color:var(--muted)}.checkin-btn[data-v-20afdb78]{font-size:1.05rem;padding:14px;margin-bottom:12px}.checkin-hint[data-v-20afdb78]{font-size:.75rem;color:var(--muted);margin-bottom:16px}.back-link[data-v-20afdb78]{display:block;font-size:.8125rem;color:var(--muted)}.affinity-hint[data-v-20afdb78]{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding:10px 14px;border-radius:12px;font-size:.8125rem;cursor:pointer;border:1px solid transparent}.affinity-hint--gain[data-v-20afdb78]{background:linear-gradient(135deg,#ff6b9d2e,#ff8fab14);border-color:#ff6b9d59;color:#ffd6e8}.affinity-hint--loss[data-v-20afdb78]{background:#607d8b26;border-color:#90a4ae59;color:#cfd8dc}.affinity-hint-icon[data-v-20afdb78]{flex-shrink:0;font-size:1rem}.affinity-hint-enter-active[data-v-20afdb78],.affinity-hint-leave-active[data-v-20afdb78]{transition:all .3s ease}.affinity-hint-enter-from[data-v-20afdb78],.affinity-hint-leave-to[data-v-20afdb78]{opacity:0;transform:translateY(-8px)}.overlay[data-v-3c604d34]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000000a6;display:flex;align-items:center;justify-content:center;padding:20px}.pay-modal[data-v-3c604d34]{width:min(100%,320px);text-align:center;padding:24px 20px}.pay-modal h2[data-v-3c604d34]{margin:0 0 8px;font-size:1.15rem}.subtitle[data-v-3c604d34]{margin:0 0 16px;color:var(--muted);font-size:.9rem}.qr-wrapper[data-v-3c604d34]{display:flex;justify-content:center;margin-bottom:12px}.qr[data-v-3c604d34]{width:220px;height:220px;border-radius:12px;background:#fff;padding:8px}.qr-loading[data-v-3c604d34]{width:220px;height:220px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border-radius:12px;color:var(--muted)}.pay-hint[data-v-3c604d34]{margin:0 0 16px;font-size:.82rem;color:var(--muted-light)}.overlay-in-enter-active[data-v-3c604d34],.overlay-in-leave-active[data-v-3c604d34]{transition:opacity .2s ease}.overlay-in-enter-from[data-v-3c604d34],.overlay-in-leave-to[data-v-3c604d34]{opacity:0}.pending-card[data-v-00e7c199]{background:linear-gradient(135deg,#ffc1070f,#ffc10705);border:1px solid rgba(255,193,7,.2);border-radius:14px;padding:16px;margin-bottom:20px}.pending-info[data-v-00e7c199]{display:flex;align-items:center;gap:10px;margin-bottom:12px}.pending-icon[data-v-00e7c199]{font-size:1.3rem}.pending-amount[data-v-00e7c199]{display:block;font-size:.85rem;color:var(--accent);font-weight:600;margin-top:2px}.pending-actions[data-v-00e7c199]{display:flex;gap:8px}.pending-actions .btn[data-v-00e7c199]{margin-top:0;width:auto;flex:1}.loading-dots[data-v-00e7c199]{display:flex;justify-content:center;gap:6px;padding:32px 0}.loading-bubble[data-v-00e7c199]{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:dot-pulse-00e7c199 1.2s infinite ease-in-out both}.loading-bubble[data-v-00e7c199]:nth-child(1){animation-delay:-.4s}.loading-bubble[data-v-00e7c199]:nth-child(2){animation-delay:-.2s}.loading-bubble[data-v-00e7c199]:nth-child(3){animation-delay:0s}@keyframes dot-pulse-00e7c199{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.order-list[data-v-00e7c199]{display:flex;flex-direction:column}.order-row[data-v-00e7c199]{padding:14px 0;border-bottom:1px solid var(--border-light)}.order-main[data-v-00e7c199]{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.order-product[data-v-00e7c199]{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.order-icon[data-v-00e7c199]{font-size:1.2rem;flex-shrink:0}.order-product strong[data-v-00e7c199]{display:block;font-size:.875rem}.order-meta[data-v-00e7c199]{display:block;color:var(--muted);font-size:.7rem;margin-top:3px}.order-right[data-v-00e7c199]{text-align:right;flex-shrink:0}.order-amount[data-v-00e7c199]{display:block;color:var(--text);font-weight:600;font-size:.875rem}.order-status[data-v-00e7c199]{display:block;font-size:.7rem;color:var(--muted);margin-top:3px;font-weight:500}.order-status.PAID[data-v-00e7c199]{color:var(--ok)}.order-status.CANCELLED[data-v-00e7c199]{color:var(--muted-light)}.order-status.REFUNDED[data-v-00e7c199]{color:var(--error)}.order-status.PENDING[data-v-00e7c199]{color:var(--warn)}.back-link[data-v-00e7c199]{display:block;margin-top:20px;text-align:center;font-size:.8125rem;color:var(--muted)}.status-card[data-v-f1e45e97]{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;margin-bottom:20px;background:var(--card-active);border:1px solid var(--border)}.status-card.active[data-v-f1e45e97]{background:#ffc1070f;border-color:#ffc10740}.status-icon[data-v-f1e45e97]{font-size:1.5rem}.status-expire[data-v-f1e45e97]{display:block;font-size:.7rem;color:var(--muted);margin-top:2px}.plan-list[data-v-f1e45e97]{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.plan-card[data-v-f1e45e97]{background:var(--card-active);border:1px solid var(--border);border-radius:16px;padding:20px;transition:all var(--transition-fast)}.plan-card[data-v-f1e45e97]:hover{border-color:var(--muted-light)}.plan-card.current[data-v-f1e45e97]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-glow)}.plan-card.vip.current[data-v-f1e45e97]{border-color:#ffc107;box-shadow:0 0 0 1px #ffc1074d}.plan-header[data-v-f1e45e97]{display:flex;align-items:center;gap:12px;margin-bottom:14px}.plan-header h3[data-v-f1e45e97]{margin:0;font-size:1.1rem}.plan-icon[data-v-f1e45e97]{font-size:1.5rem}.plan-price[data-v-f1e45e97]{font-size:.875rem;color:var(--accent);font-weight:600}.plan-features[data-v-f1e45e97]{list-style:none;padding:0;margin:0 0 16px}.plan-features li[data-v-f1e45e97]{padding:4px 0;font-size:.85rem;color:var(--text-secondary)}.plan-features li[data-v-f1e45e97]:before{content:"✓ ";color:var(--ok);font-weight:700;margin-right:6px}.link-block[data-v-f1e45e97],.back-link[data-v-f1e45e97]{display:block;text-align:center;margin-top:12px;font-size:.8125rem}.back-link[data-v-f1e45e97]{color:var(--muted)}.user-avatar-picker[data-v-a5c4b37d]{display:flex;justify-content:center}.avatar-btn[data-v-a5c4b37d]{position:relative;border:none;background:transparent;padding:0;cursor:pointer;border-radius:50%}.avatar-img[data-v-a5c4b37d],.avatar-fallback[data-v-a5c4b37d]{width:var(--avatar-size, 64px);height:var(--avatar-size, 64px);border-radius:50%;display:block}.avatar-img[data-v-a5c4b37d]{object-fit:cover;background:#2a2a4a}.avatar-fallback[data-v-a5c4b37d]{background:linear-gradient(135deg,var(--accent),#c44569);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:#fff}.avatar-edit[data-v-a5c4b37d]{position:absolute;bottom:-2px;left:50%;transform:translate(-50%);font-size:.625rem;padding:2px 8px;border-radius:999px;background:#0f1a30eb;color:var(--muted);white-space:nowrap}.hidden-input[data-v-a5c4b37d]{display:none}.confirm-backdrop[data-v-a5c4b37d]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:20px}.confirm-card[data-v-a5c4b37d]{width:min(100%,320px);text-align:center}.confirm-title[data-v-a5c4b37d]{margin:0 0 12px;font-size:1.05rem}.confirm-preview[data-v-a5c4b37d]{width:160px;height:160px;margin:0 auto 12px;border-radius:50%;overflow:hidden;background:#0f1a30}.confirm-preview img[data-v-a5c4b37d]{width:100%;height:100%;object-fit:cover}.confirm-hint[data-v-a5c4b37d]{font-size:.75rem;color:var(--muted);margin:0 0 16px}.confirm-actions[data-v-a5c4b37d]{display:flex;gap:10px;justify-content:center}.confirm-actions .btn[data-v-a5c4b37d]{min-width:100px}.profile-card[data-v-d16835dd]{text-align:center;max-width:460px;margin:0 auto}.profile-header[data-v-d16835dd]{margin-bottom:20px}.profile-avatar-picker[data-v-d16835dd]{--avatar-size: 80px;margin:0 auto 12px}.phone[data-v-d16835dd]{font-size:1.05rem;margin:0 0 4px;font-weight:500}.age-text[data-v-d16835dd]{font-size:.8125rem;color:var(--muted)}.character-row[data-v-d16835dd]{display:flex;align-items:center;gap:12px;text-align:left;background:var(--card-active);border:1px solid var(--border);border-radius:14px;padding:14px;margin-bottom:16px}.char-avatar[data-v-d16835dd]{width:48px;height:48px;border-radius:50%;object-fit:cover;object-position:top center;background:var(--card-active);flex-shrink:0}.char-info[data-v-d16835dd]{min-width:0}.char-info strong[data-v-d16835dd]{display:block;font-size:.95rem;margin-bottom:2px}.char-meta[data-v-d16835dd]{display:block;font-size:.7rem;color:var(--muted);margin-top:2px}.affinity-meta[data-v-d16835dd]{color:var(--accent-text)}.stats[data-v-d16835dd]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.stat[data-v-d16835dd]{background:var(--card-active);border:1px solid var(--border-light);border-radius:12px;padding:10px 6px;display:flex;flex-direction:column;align-items:center;gap:2px}.stat-icon[data-v-d16835dd]{font-size:1.1rem;margin-bottom:2px}.stat strong[data-v-d16835dd]{font-size:1rem;font-weight:700}.stat span[data-v-d16835dd]:not(.stat-icon){font-size:.65rem;color:var(--muted)}.stat-diamond strong[data-v-d16835dd]{color:#64b5f6}.stat-flower strong[data-v-d16835dd]{color:var(--accent)}.stat-stamina strong[data-v-d16835dd]{color:var(--ok)}.vip-badge[data-v-d16835dd]{display:flex;align-items:center;justify-content:center;gap:6px;font-size:.8125rem;padding:12px 16px;border-radius:12px;background:var(--card-active);border:1px solid var(--border);color:var(--muted);margin-bottom:20px;flex-wrap:wrap}.vip-badge.active[data-v-d16835dd]{color:#ffc107;border-color:#ffc1074d;background:#ffc1070f}.vip-icon[data-v-d16835dd]{font-size:1rem}.vip-expire[data-v-d16835dd]{font-size:.75rem;opacity:.7}.vip-link[data-v-d16835dd]{font-weight:600;margin-left:4px}.menu[data-v-d16835dd]{display:flex;flex-direction:column;gap:2px;margin-bottom:16px;text-align:left}.menu-item[data-v-d16835dd]{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;text-decoration:none;color:var(--text);background:var(--card-active);border:1px solid transparent;transition:all var(--transition-fast)}.menu-item[data-v-d16835dd]:hover{background:var(--card-hover);border-color:var(--border-light);transform:translate(2px)}.menu-icon[data-v-d16835dd]{font-size:1.1rem;flex-shrink:0}.menu-label[data-v-d16835dd]{flex:1;font-size:.9rem;font-weight:500}.menu-arrow[data-v-d16835dd]{font-size:.8rem;color:var(--muted-light)}.push-btn[data-v-d16835dd]{width:100%;margin-bottom:8px;font-size:.875rem}.push-hint[data-v-d16835dd]{font-size:.7rem;color:var(--muted);margin-bottom:16px}.legal-links[data-v-d16835dd]{font-size:.75rem;color:var(--muted);margin-bottom:16px}.legal-links span[data-v-d16835dd]{margin:0 6px}.logout-btn[data-v-d16835dd]{width:100%;color:var(--muted);font-size:.875rem}.logout-btn[data-v-d16835dd]:hover{color:var(--error);border-color:#ff6b6b4d}.page[data-v-65fb0e35]{max-width:640px;margin:0 auto;padding:12px;display:flex;flex-direction:column;gap:12px}.top-bar[data-v-65fb0e35]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px}.top-bar h1[data-v-65fb0e35]{margin:0;font-size:1.1rem}.section h2[data-v-65fb0e35]{margin:0 0 12px;font-size:1rem}.chat-loading[data-v-65fb0e35]{display:flex;justify-content:center;padding:32px 0}.loading-bubbles[data-v-65fb0e35]{display:flex;gap:6px}.loading-bubble[data-v-65fb0e35]{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:bubble-pulse-65fb0e35 1.2s infinite ease-in-out both}.loading-bubble-1[data-v-65fb0e35]{animation-delay:-.4s}.loading-bubble-2[data-v-65fb0e35]{animation-delay:-.2s}.loading-bubble-3[data-v-65fb0e35]{animation-delay:0s}@keyframes bubble-pulse-65fb0e35{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.week-badge[data-v-65fb0e35]{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:.8rem;color:var(--accent-text)}.journal-summary[data-v-65fb0e35]{line-height:1.7;margin:0;font-size:.9375rem}.snippet[data-v-65fb0e35]{margin:12px 0 0;padding:12px 14px;border-radius:10px;background:#ffffff08}.snippet p[data-v-65fb0e35]{margin:6px 0 0;font-size:.9rem;line-height:1.5;color:var(--text-secondary)}.snip-label[data-v-65fb0e35]{font-size:.75rem;color:var(--muted);font-weight:600}.snippet-heart[data-v-65fb0e35]{border-left:3px solid var(--accent)}.snippet-growth[data-v-65fb0e35]{border-left:3px solid var(--ok)}.cal-hint[data-v-65fb0e35]{font-size:.8125rem;color:var(--muted);margin-bottom:14px;padding:10px 12px;border-radius:8px;background:#ffffff05}.cal-hint.today[data-v-65fb0e35]{color:var(--accent-text);background:var(--accent-light)}.slider-row[data-v-65fb0e35]{display:grid;grid-template-columns:80px 1fr 36px;align-items:center;gap:10px;margin:12px 0;font-size:.9rem}.slider-label[data-v-65fb0e35]{font-weight:500}.custom-slider[data-v-65fb0e35]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;background:var(--border);outline:none}.custom-slider[data-v-65fb0e35]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--accent);cursor:pointer;box-shadow:0 2px 6px #ff6b9d4d}.custom-slider[data-v-65fb0e35]:disabled{opacity:.4}.dim-val[data-v-65fb0e35]{text-align:right;color:var(--accent);font-weight:600;font-size:.85rem}.filters[data-v-65fb0e35]{display:flex;gap:8px;margin-bottom:12px}.filter-select[data-v-65fb0e35]{flex:1;padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--card-active);color:var(--text);font-size:.8125rem;font-family:inherit}.memory-list[data-v-65fb0e35]{display:flex;flex-direction:column;gap:2px}.memory-item[data-v-65fb0e35]{padding:14px 0;border-bottom:1px solid var(--border-light)}.memory-header[data-v-65fb0e35]{display:flex;gap:6px;margin-bottom:8px}.memory-content[data-v-65fb0e35]{margin:0;font-size:.9rem;line-height:1.55}.memory-delete[data-v-65fb0e35]{margin-top:6px;font-size:.75rem;background:none;border:none;color:var(--error);cursor:pointer;padding:2px 0;opacity:.7}.memory-delete[data-v-65fb0e35]:hover{opacity:1}.past-journal[data-v-65fb0e35]{padding:12px 0;border-bottom:1px solid var(--border-light)}.past-header[data-v-65fb0e35]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.past-journal p[data-v-65fb0e35]{margin:4px 0 0;font-size:.85rem;color:var(--muted);line-height:1.5}.wallet-bar[data-v-a0637033]{display:flex;gap:10px;margin-bottom:24px}.wallet-card[data-v-a0637033]{flex:1;display:flex;align-items:center;gap:10px;background:var(--card-active);border-radius:14px;padding:14px;border:1px solid var(--border-light)}.wallet-icon[data-v-a0637033]{font-size:1.5rem}.wallet-num[data-v-a0637033]{display:block;font-size:1.125rem;font-weight:700}.wallet-label[data-v-a0637033]{font-size:.7rem;color:var(--muted)}.section-title[data-v-a0637033]{font-size:.95rem;margin:24px 0 12px;color:var(--text-secondary)}.pack-list[data-v-a0637033]{display:flex;flex-direction:column;gap:8px}.pack-card[data-v-a0637033]{display:flex;align-items:center;gap:12px;padding:14px;background:var(--card-active);border:1px solid var(--border);border-radius:14px;color:var(--text);cursor:pointer;font-family:inherit;text-align:left;width:100%;transition:all var(--transition-fast)}.pack-card[data-v-a0637033]:hover:not(:disabled){border-color:var(--accent);background:#ff6b9d0a;transform:translateY(-1px)}.pack-card[data-v-a0637033]:active:not(:disabled){transform:scale(.98)}.pack-card[data-v-a0637033]:disabled{opacity:.5;cursor:not-allowed}.pack-img[data-v-a0637033]{width:48px;height:48px;border-radius:12px;object-fit:cover;flex-shrink:0}.pack-img-fallback[data-v-a0637033]{width:48px;height:48px;border-radius:12px;background:var(--card-active);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.pack-info[data-v-a0637033]{flex:1;min-width:0}.pack-info strong[data-v-a0637033]{display:block;font-size:.9rem;margin-bottom:2px}.pack-price[data-v-a0637033]{font-size:.75rem;color:var(--muted)}.pack-bonus[data-v-a0637033]{font-size:.75rem;color:var(--accent);flex-shrink:0;font-weight:600}.gift-list[data-v-a0637033]{display:flex;flex-direction:column}.gift-row[data-v-a0637033]{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border-light)}.gift-img[data-v-a0637033]{width:44px;height:44px;border-radius:10px;object-fit:cover;flex-shrink:0}.gift-img-fallback[data-v-a0637033]{width:44px;height:44px;border-radius:10px;background:var(--card-active);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.gift-info[data-v-a0637033]{flex:1;min-width:0}.gift-info strong[data-v-a0637033]{display:block;font-size:.875rem;margin-bottom:2px}.gift-desc[data-v-a0637033]{margin:0;font-size:.75rem;color:var(--muted);line-height:1.4}.gift-price[data-v-a0637033]{font-size:.8125rem;color:var(--accent-text);flex-shrink:0;font-weight:600}.hint[data-v-a0637033],.back-link[data-v-a0637033]{display:block;margin-top:16px;font-size:.8125rem;text-align:center;color:var(--muted)}.onboarding-card[data-v-695866cc]{max-width:520px;margin:0 auto}.onboarding-header[data-v-695866cc]{display:flex;align-items:center;gap:10px;margin-bottom:8px}.onboarding-header h1[data-v-695866cc]{margin:0}.onboarding-emoji[data-v-695866cc]{font-size:1.5rem}.privacy-note[data-v-695866cc]{display:flex;align-items:flex-start;gap:6px;font-size:.8rem;color:var(--muted-light);margin:-8px 0 20px;padding:10px 12px;background:#64b5f60d;border-radius:8px;line-height:1.5}.field-row[data-v-695866cc]{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:520px){.field-row[data-v-695866cc]{grid-template-columns:1fr}}.btn-ghost[data-v-695866cc]{margin-top:10px;width:100%}:root{--bg: #1a1a2e;--bg-gradient-from: #1a1a2e;--bg-gradient-to: #0f3460;--card: #16213e;--card-hover: #1e3050;--card-active: #0f1a30;--border: #2a2a4a;--border-light: rgba(255, 255, 255, .08);--accent: #ff6b9d;--accent-light: rgba(255, 107, 157, .15);--accent-glow: rgba(255, 107, 157, .3);--accent-text: #ffb3c9;--text: #f5f5f5;--text-secondary: #c8c8d4;--muted: #a0a0b0;--muted-light: #707088;--error: #ff6b6b;--error-bg: rgba(255, 107, 107, .15);--ok: #51cf66;--ok-bg: rgba(81, 207, 102, .12);--warn: #ffc107;--warn-bg: rgba(255, 193, 7, .12);--info: #64b5f6;--info-bg: rgba(100, 181, 246, .12);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .2);--shadow: 0 4px 16px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .4);--shadow-glow: 0 0 20px rgba(255, 107, 157, .15);--radius-sm: 6px;--radius: 10px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 999px;--transition-fast: .15s ease;--transition: .25s ease;--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--font-sans: "PingFang SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--app-nav-height: calc(132px + var(--safe-bottom));--safe-bottom: env(safe-area-inset-bottom, 0px);--composer-max-height: 120px;--page-max-width: 480px;font-family:var(--font-sans)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:linear-gradient(160deg,var(--bg-gradient-from) 0%,var(--bg-gradient-to) 100%);background-attachment:fixed;color:var(--text);min-height:100vh;min-height:100dvh;overscroll-behavior:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#fff3}a{color:var(--accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-text)}#app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;position:relative}.page{flex:1;max-width:var(--page-max-width);margin:0 auto;padding:24px 16px calc(var(--app-nav-height) + 16px);width:100%;animation:page-enter var(--transition-slow) backwards}@keyframes page-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.page-slogan{color:var(--accent);font-weight:500}.card{background:#16213ee6;border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-light);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.card:hover{box-shadow:var(--shadow-lg)}.card:active{transform:scale(.995)}h1{font-size:1.5rem;margin:0 0 8px;font-weight:700;letter-spacing:.01em}h2{font-size:1.25rem;margin:0 0 8px;font-weight:600}h3{font-size:1.05rem;margin:0 0 6px;font-weight:600}.home-title{font-size:1.125rem;font-weight:600;line-height:1.5;color:var(--text)}.home-title-tagline{color:var(--accent)}.subtitle{color:var(--muted);font-size:.875rem;margin-bottom:24px;line-height:1.5}.hint{font-size:.8125rem;color:var(--muted);line-height:1.5}.muted{color:var(--muted)}.accent{color:var(--accent)}.field{margin-bottom:16px}.field label{display:block;font-size:.875rem;margin-bottom:6px;color:var(--muted);font-weight:500}.field input,.field select,.field textarea{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-active);color:var(--text);font-size:1rem;font-family:inherit;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.field input::placeholder,.field textarea::placeholder{color:var(--muted-light)}.field input:disabled,.field select:disabled,.field textarea:disabled{opacity:.5;cursor:not-allowed}.row{display:flex;gap:8px}.row input{flex:1}.checkbox-field{display:flex;align-items:flex-start;gap:8px;font-size:.8125rem;color:var(--muted);margin:16px 0;line-height:1.5;cursor:pointer}.checkbox-field input{margin-top:3px;accent-color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 20px;border:none;border-radius:var(--radius);font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all var(--transition-fast);position:relative;overflow:hidden;-webkit-user-select:none;user-select:none}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(135deg,var(--accent),#ff4785);color:#fff;width:100%;margin-top:8px;box-shadow:0 2px 8px #ff6b9d4d}.btn-primary:hover:not(:disabled){box-shadow:0 4px 16px #ff6b9d73;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0) scale(.98)}.btn-secondary{background:var(--border);color:var(--text);white-space:nowrap}.btn-secondary:hover:not(:disabled){background:#3a3a5a}.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--border)}.btn-ghost:hover:not(:disabled){background:var(--card-active);color:var(--text);border-color:var(--muted-light)}.btn-sm{padding:8px 14px;font-size:.8125rem;border-radius:var(--radius-sm)}.btn-icon{width:40px;height:40px;padding:0;border-radius:var(--radius);background:transparent;border:1px solid var(--border);color:var(--muted);font-size:1.2rem}.btn-icon:hover:not(:disabled){background:var(--card-active);color:var(--text)}.alert{padding:12px 14px;border-radius:var(--radius);font-size:.875rem;margin-bottom:16px;line-height:1.5;animation:alert-in .3s ease}@keyframes alert-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.alert-error{background:var(--error-bg);color:var(--error);border:1px solid rgba(255,107,107,.3)}.alert-info{background:var(--accent-light);color:var(--accent);border:1px solid var(--accent-glow)}.alert-success{background:var(--ok-bg);color:var(--ok);border:1px solid rgba(81,207,102,.3)}.alert-warn{background:var(--warn-bg);color:var(--warn);border:1px solid rgba(255,193,7,.3)}.skeleton{background:linear-gradient(90deg,#ffffff08 25%,#ffffff14,#ffffff08 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-avatar{width:48px;height:48px;border-radius:50%}.skeleton-text{height:14px;margin-bottom:8px}.skeleton-text:last-child{width:60%}.skeleton-card{height:80px;border-radius:var(--radius);margin-bottom:12px}.toast-container{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.toast{padding:12px 20px;border-radius:var(--radius-lg);font-size:.875rem;font-weight:500;pointer-events:auto;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:toast-in .3s ease,toast-out .3s ease 2.7s forwards;max-width:min(90vw,360px);text-align:center}.toast-success{background:#51cf66f2;color:#fff}.toast-error{background:#ff6b6bf2;color:#fff}.toast-info{background:#16213ef2;color:var(--text);border:1px solid var(--border)}@keyframes toast-in{0%{opacity:0;transform:translateY(-16px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-8px) scale(.95)}}.tag{display:inline-flex;align-items:center;font-size:.7rem;padding:3px 8px;border-radius:var(--radius-sm);background:#6366f133;color:var(--info);font-weight:500;line-height:1.3}.tag-accent{background:var(--accent-light);color:var(--accent)}.tag-ok{background:var(--ok-bg);color:var(--ok)}.tag-warn{background:var(--warn-bg);color:var(--warn)}.tag-error{background:var(--error-bg);color:var(--error)}.empty-state{text-align:center;padding:48px 24px;color:var(--muted)}.empty-state-icon{font-size:3rem;margin-bottom:12px;opacity:.6}.empty-state-title{font-size:1.05rem;font-weight:600;color:var(--text-secondary);margin:0 0 8px}.empty-state-desc{font-size:.875rem;line-height:1.5}.avatar-xs{width:32px;height:32px;border-radius:50%;object-fit:cover;background:var(--card-active)}.avatar-sm{width:40px;height:40px;border-radius:50%;object-fit:cover;background:var(--card-active)}.avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;background:var(--card-active)}.avatar-lg{width:64px;height:64px;border-radius:50%;object-fit:cover;background:var(--card-active)}.avatar-xl{width:80px;height:80px;border-radius:50%;object-fit:cover;background:var(--card-active)}.legal-body{font-size:.875rem;line-height:1.7;color:#d0d0e0}.legal-body h1,.legal-body h2,.legal-body h3{color:var(--text);font-size:1rem;margin-top:1.5em}.site-footer{text-align:center;padding:20px 16px;font-size:.75rem;color:var(--muted);border-top:1px solid var(--border)}.site-footer a{color:var(--muted);text-decoration:none;transition:color var(--transition-fast)}.site-footer a:hover{color:var(--accent)}.site-footer p{margin:4px 0}.back-link{display:inline-block;margin-bottom:16px;font-size:.875rem;color:var(--accent);text-decoration:none;font-weight:500;transition:all var(--transition-fast)}.back-link:hover{color:var(--accent-text);transform:translate(-2px)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200;padding:16px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:overlay-in .2s ease}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.modal{width:100%;max-width:360px;max-height:min(85dvh,600px);overflow-y:auto;animation:modal-in .3s cubic-bezier(.4,0,.2,1)}@keyframes modal-in{0%{opacity:0;transform:scale(.92) translateY(16px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal h3{margin:0 0 16px;font-size:1.1rem}.modal .btn{margin-top:8px}@media(min-width:481px){.page{padding-left:24px;padding-right:24px}}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.divider{height:1px;background:var(--border);margin:16px 0;border:none}.divider-light{height:1px;background:var(--border-light);margin:12px 0;border:none}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-full);background:var(--accent);color:#fff;font-size:.65rem;font-weight:700;line-height:1}.badge-dot{width:8px;height:8px;min-width:8px;padding:0;border-radius:50%}.typing-cursor:after{content:"|";animation:cursor-blink .8s infinite;color:var(--accent);font-weight:300}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}
