.login-page[data-v-77d0e4b0]{flex:1;display:flex;align-items:center;justify-content:center;position:relative;background:var(--bg)}.bg-grid[data-v-77d0e4b0]{position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color) 1px,transparent 1px);background-size:48px 48px;pointer-events:none;z-index:0}.bg-glow[data-v-77d0e4b0]{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 20% 50%,var(--glow-1) 0%,transparent 60%),radial-gradient(ellipse at 80% 50%,var(--glow-2) 0%,transparent 60%);pointer-events:none;z-index:0}.login-card[data-v-77d0e4b0]{position:relative;z-index:1;width:360px;padding:40px 32px;background:var(--sidebar-bg);border:1px solid var(--border);border-radius:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);text-align:center}.logo[data-v-77d0e4b0]{font-size:28px;font-weight:700;letter-spacing:2px;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:24px}.title[data-v-77d0e4b0]{font-size:20px;font-weight:600;color:var(--text);margin-bottom:4px}.subtitle[data-v-77d0e4b0]{font-size:13px;color:var(--text-dim);margin-bottom:28px}.form[data-v-77d0e4b0]{text-align:left}.field[data-v-77d0e4b0]{margin-bottom:14px}.field input[data-v-77d0e4b0]{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:inherit;font-size:14px;outline:none;transition:border-color .2s;box-sizing:border-box}.field input[data-v-77d0e4b0]:focus{border-color:var(--border-hover)}.field input[data-v-77d0e4b0]::placeholder{color:var(--text-muted)}.code-field[data-v-77d0e4b0]{display:flex;gap:8px;margin-bottom:14px}.code-field input[data-v-77d0e4b0]{flex:1;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:inherit;font-size:14px;outline:none;transition:border-color .2s;letter-spacing:3px;box-sizing:border-box}.code-field input[data-v-77d0e4b0]:focus{border-color:var(--border-hover)}.send-code-btn[data-v-77d0e4b0]{white-space:nowrap;padding:0 14px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--accent);font-family:inherit;font-size:12px;cursor:pointer;transition:all .2s;flex-shrink:0}.send-code-btn[data-v-77d0e4b0]:hover:not(:disabled){border-color:var(--border-hover);background:#00d4ff0d}.send-code-btn[data-v-77d0e4b0]:disabled{opacity:.4;cursor:not-allowed}.captcha-field[data-v-77d0e4b0]{margin-bottom:14px;position:relative}.captcha-tooltip-wrap[data-v-77d0e4b0]{position:relative}.captcha-field input[data-v-77d0e4b0]{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:inherit;font-size:14px;outline:none;transition:border-color .2s;letter-spacing:3px;box-sizing:border-box}.captcha-field input[data-v-77d0e4b0]:focus{border-color:var(--border-hover)}.captcha-tooltip[data-v-77d0e4b0]{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);border-radius:8px;overflow:hidden;box-shadow:0 8px 32px #00000080;z-index:20;cursor:pointer;line-height:0}.captcha-tooltip[data-v-77d0e4b0] svg{width:150px;height:50px;display:block}.tooltip-enter-active[data-v-77d0e4b0],.tooltip-leave-active[data-v-77d0e4b0]{transition:opacity .15s ease,transform .15s ease}.tooltip-enter-from[data-v-77d0e4b0],.tooltip-leave-to[data-v-77d0e4b0]{opacity:0;transform:translate(-50%) translateY(4px)}.error[data-v-77d0e4b0]{font-size:13px;color:#ef4444;margin-bottom:12px}.submit-btn[data-v-77d0e4b0]{width:100%;padding:12px;border-radius:10px;border:none;background:var(--gradient);color:#fff;font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.submit-btn[data-v-77d0e4b0]:hover:not(:disabled){opacity:.9}.submit-btn[data-v-77d0e4b0]:disabled{opacity:.4;cursor:not-allowed}.spinner[data-v-77d0e4b0]{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-77d0e4b0 .6s linear infinite}@keyframes spin-77d0e4b0{to{transform:rotate(360deg)}}@media(max-width:480px){.login-page[data-v-77d0e4b0]{padding:16px}.login-card[data-v-77d0e4b0]{width:100%;padding:28px 20px}.logo[data-v-77d0e4b0]{font-size:24px}.code-field[data-v-77d0e4b0]{flex-direction:column;gap:6px}.send-code-btn[data-v-77d0e4b0]{padding:10px 14px;text-align:center}.captcha-tooltip[data-v-77d0e4b0]{left:0;transform:none}.captcha-tooltip[data-v-77d0e4b0] svg{width:120px;height:40px}}.switch[data-v-77d0e4b0]{margin-top:20px;font-size:13px;color:var(--text-dim)}.link[data-v-77d0e4b0]{background:none;border:none;color:var(--accent);font-family:inherit;font-size:13px;cursor:pointer;padding:0;text-decoration:underline}.link[data-v-77d0e4b0]:hover{opacity:.8}.user-center[data-v-5e6b2c8f]{flex:1;display:flex;flex-direction:column;overflow-y:auto}.uc-header[data-v-5e6b2c8f]{display:flex;align-items:center;gap:12px;padding:14px 24px;border-bottom:1px solid var(--border);background:var(--header-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-shrink:0}.uc-header h2[data-v-5e6b2c8f]{font-size:16px;font-weight:600}.back-btn[data-v-5e6b2c8f]{background:none;border:1px solid var(--border);color:var(--text-dim);padding:6px 14px;border-radius:8px;font-family:inherit;font-size:13px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:4px}.back-btn[data-v-5e6b2c8f]:hover{border-color:var(--accent);color:var(--accent)}.uc-body[data-v-5e6b2c8f]{max-width:500px;width:100%;margin:0 auto;padding:24px}.profile-card[data-v-5e6b2c8f]{display:flex;align-items:center;gap:16px;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:14px;margin-bottom:24px}.avatar-wrap[data-v-5e6b2c8f]{flex-shrink:0;position:relative}.avatar-label[data-v-5e6b2c8f]{display:block;width:64px;height:64px;border-radius:14px;cursor:pointer;position:relative;overflow:hidden}.avatar-label.uploading[data-v-5e6b2c8f]{pointer-events:none}.avatar-img[data-v-5e6b2c8f]{width:100%;height:100%;background-size:cover;background-position:center;border-radius:14px}.avatar-letter[data-v-5e6b2c8f]{width:100%;height:100%;border-radius:14px;background:var(--gradient);display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:700;color:#fff}.avatar-overlay[data-v-5e6b2c8f]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14px;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;color:#fff}.avatar-label:hover .avatar-overlay[data-v-5e6b2c8f]{opacity:1}.upload-error[data-v-5e6b2c8f]{position:absolute;top:100%;left:50%;transform:translate(-50%);white-space:nowrap;font-size:11px;color:#ef4444;margin-top:4px}@keyframes rot-5e6b2c8f{to{transform:rotate(360deg)}}.spin[data-v-5e6b2c8f]{animation:rot-5e6b2c8f .8s linear infinite}.profile-info[data-v-5e6b2c8f]{display:flex;flex-direction:column;gap:2px}.profile-name[data-v-5e6b2c8f]{font-size:16px;font-weight:600}.profile-role[data-v-5e6b2c8f]{font-size:12px;color:var(--text-muted)}.section[data-v-5e6b2c8f]{margin-bottom:24px}.section-header[data-v-5e6b2c8f]{display:flex;align-items:center;gap:8px;margin-bottom:14px}.section-icon[data-v-5e6b2c8f]{font-size:18px}.section-title[data-v-5e6b2c8f]{font-size:14px;font-weight:600}.balance-card[data-v-5e6b2c8f]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:var(--surface);border:1px solid var(--border);border-radius:14px;margin-bottom:14px}.balance-label[data-v-5e6b2c8f]{font-size:14px;color:var(--text-dim)}.balance-value[data-v-5e6b2c8f]{font-size:28px;font-weight:700;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.redeem-box[data-v-5e6b2c8f]{padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.redeem-row[data-v-5e6b2c8f]{display:flex;gap:8px}.redeem-row input[data-v-5e6b2c8f]{flex:1;padding:10px 14px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-family:inherit;font-size:14px;outline:none;letter-spacing:2px;transition:border-color .2s}.redeem-row input[data-v-5e6b2c8f]:focus{border-color:var(--border-hover)}.redeem-row button[data-v-5e6b2c8f]{padding:10px 20px;border-radius:8px;border:none;background:var(--gradient);color:#fff;font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:opacity .2s;white-space:nowrap}.redeem-row button[data-v-5e6b2c8f]:hover:not(:disabled){opacity:.9}.redeem-row button[data-v-5e6b2c8f]:disabled{opacity:.4;cursor:not-allowed}.redeem-error[data-v-5e6b2c8f]{font-size:12px;color:#ef4444;margin-top:8px}.redeem-success[data-v-5e6b2c8f]{font-size:12px;color:#22c55e;margin-top:8px}.spinner[data-v-5e6b2c8f]{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.collections-page[data-v-1dc6697f]{flex:1;display:flex;flex-direction:column;min-width:0;height:100vh;position:relative;z-index:1}.collections-header[data-v-1dc6697f]{display:flex;align-items:center;padding:14px 20px;border-bottom:1px solid var(--border);background:var(--header-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-shrink:0}.back-btn[data-v-1dc6697f]{display:inline-flex;align-items:center;gap:8px;background:none;border:none;color:var(--text);font-size:16px;font-weight:600;font-family:inherit;cursor:pointer;padding:4px 8px;border-radius:8px;transition:all .15s}.back-btn[data-v-1dc6697f]:hover{background:var(--surface-hover)}.back-btn svg[data-v-1dc6697f]{color:var(--text-dim)}.group-bar[data-v-1dc6697f]{display:flex;align-items:center;gap:6px;padding:10px 20px;border-bottom:1px solid var(--border);overflow-x:auto;flex-shrink:0}.group-pill[data-v-1dc6697f]{flex-shrink:0;padding:5px 14px;border-radius:20px;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font-size:12px;font-family:inherit;cursor:pointer;transition:all .15s;white-space:nowrap}.group-pill[data-v-1dc6697f]:hover{border-color:var(--border-hover);color:var(--text)}.group-pill.active[data-v-1dc6697f]{background:var(--gradient);border-color:transparent;color:#fff}.group-add-pill[data-v-1dc6697f]{flex-shrink:0;width:28px;height:28px;border-radius:50%;border:1px dashed var(--border);background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.group-add-pill[data-v-1dc6697f]:hover{border-color:var(--accent);color:var(--accent)}.favorites-grid[data-v-1dc6697f]{flex:1;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;padding:16px;align-content:start}.fav-card[data-v-1dc6697f]{position:relative;border-radius:8px;overflow:hidden;border:1px solid var(--border);background:var(--surface);transition:all .2s;aspect-ratio:1.618;cursor:pointer}.fav-card[data-v-1dc6697f]:hover{border-color:var(--border-hover);box-shadow:0 0 20px #00d4ff0f}.fav-card img[data-v-1dc6697f]{width:100%;height:100%;object-fit:cover;display:block}.fav-overlay[data-v-1dc6697f]{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;flex-direction:column;justify-content:flex-end;padding:10px;opacity:0;transition:opacity .2s}.fav-card:hover .fav-overlay[data-v-1dc6697f]{opacity:1}.fav-prompt[data-v-1dc6697f]{font-size:12px;color:#fff;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.unfav-btn[data-v-1dc6697f]{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:6px;border:none;background:#00000080;color:#ff4d6d;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.unfav-btn[data-v-1dc6697f]:hover{background:#ff4d6d33;transform:scale(1.1)}.empty-hint[data-v-1dc6697f]{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-dim);gap:12px}.empty-icon[data-v-1dc6697f]{opacity:.3}.empty-hint p[data-v-1dc6697f]{font-size:14px}.preview-backdrop[data-v-1dc6697f]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#000000d9;display:flex;align-items:center;justify-content:center;animation:fade-in .2s ease}.preview-container[data-v-1dc6697f]{position:relative;display:flex;flex-direction:column;align-items:center;max-width:90vw;max-height:90vh}.preview-img[data-v-1dc6697f]{max-width:100%;max-height:80vh;border-radius:8px;object-fit:contain}.preview-prompt[data-v-1dc6697f]{margin-top:12px;font-size:13px;color:#fff9;text-align:center;max-width:500px;line-height:1.5}.preview-actions[data-v-1dc6697f]{margin-top:12px}.preview-btn[data-v-1dc6697f]{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:#ffffff0f;color:#fffc;font-size:13px;font-family:inherit;cursor:pointer;text-decoration:none;transition:all .2s}.preview-btn[data-v-1dc6697f]:hover{background:#00d4ff26;border-color:#00d4ff4d;color:var(--accent)}.preview-close[data-v-1dc6697f]{position:absolute;top:-40px;right:-8px;width:36px;height:36px;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:#ffffff0f;color:#fff9;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.preview-close[data-v-1dc6697f]:hover{background:#ef444426;border-color:#ef44444d;color:#ef4444}.dialog-backdrop[data-v-1dc6697f]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0009;display:flex;align-items:center;justify-content:center;animation:fade-in .15s ease}.dialog[data-v-1dc6697f]{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:24px;min-width:320px;display:flex;flex-direction:column;gap:16px}.dialog h3[data-v-1dc6697f]{font-size:15px;font-weight:600}.dialog-input[data-v-1dc6697f]{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:14px;outline:none;transition:border-color .2s}.dialog-input[data-v-1dc6697f]:focus{border-color:var(--accent)}.dialog-actions[data-v-1dc6697f]{display:flex;justify-content:flex-end;gap:8px}.btn-cancel[data-v-1dc6697f],.btn-confirm[data-v-1dc6697f]{padding:8px 18px;border-radius:8px;font-size:13px;cursor:pointer;transition:all .2s;border:1px solid var(--border)}.btn-cancel[data-v-1dc6697f]{background:var(--surface);color:var(--text-dim)}.btn-cancel[data-v-1dc6697f]:hover{background:var(--surface-hover);color:var(--text)}.btn-confirm[data-v-1dc6697f]{background:var(--gradient);border-color:transparent;color:#fff}.btn-confirm[data-v-1dc6697f]:hover{opacity:.9}.sidebar[data-v-b1e66d27]{width:260px;flex-shrink:0;display:flex;flex-direction:column;background:var(--sidebar-bg);border-right:1px solid var(--border);position:relative;z-index:10;transition:width .25s ease}.sidebar.collapsed[data-v-b1e66d27]{width:52px}.sidebar-header[data-v-b1e66d27]{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border)}.sidebar-logo[data-v-b1e66d27]{font-weight:700;font-size:16px;letter-spacing:1px;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.new-btn[data-v-b1e66d27]{width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.new-btn[data-v-b1e66d27]:hover{border-color:var(--accent);color:var(--accent);box-shadow:0 0 12px #00d4ff14}.session-list[data-v-b1e66d27]{flex:1;display:flex;flex-direction:column;overflow:hidden}.session-list-header[data-v-b1e66d27]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 6px}.session-list-label[data-v-b1e66d27]{font-size:10px;font-weight:600;color:var(--text-muted);letter-spacing:.8px;text-transform:uppercase}.session-count[data-v-b1e66d27]{font-size:10px;color:var(--text-muted);background:var(--surface);padding:1px 6px;border-radius:4px;border:1px solid var(--border)}.session-items[data-v-b1e66d27]{flex:1;overflow-y:auto;padding:4px 6px 8px}.session-item[data-v-b1e66d27]{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;border-radius:6px;border:none;background:none;color:var(--text-dim);font-family:inherit;font-size:13px;text-align:left;cursor:pointer;transition:all .15s;margin-bottom:1px}.session-item[data-v-b1e66d27]:hover{background:var(--surface-hover);color:var(--text)}.session-item.active[data-v-b1e66d27]{background:var(--active-bg);color:var(--text)}.session-type-badge[data-v-b1e66d27]{font-size:11px;flex-shrink:0;line-height:1}.session-title[data-v-b1e66d27]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4}.session-del[data-v-b1e66d27]{opacity:0;width:20px;height:20px;border-radius:4px;border:none;background:none;color:var(--text-muted);font-size:9px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.session-item:hover .session-del[data-v-b1e66d27]{opacity:.5}.session-del[data-v-b1e66d27]:hover{opacity:1!important;background:#ef44441f;color:#ef4444}.empty-sessions[data-v-b1e66d27]{display:flex;align-items:center;justify-content:center;padding:48px 16px}.empty-text[data-v-b1e66d27]{font-size:13px;color:var(--text-muted)}.sidebar-footer[data-v-b1e66d27]{padding:10px 12px;border-top:1px solid var(--border)}.credits-row[data-v-b1e66d27]{display:flex;align-items:center;gap:6px;padding:6px 10px;margin-bottom:8px;border-radius:8px;background:var(--surface);border:1px solid var(--border);cursor:pointer;transition:all .2s}.credits-row[data-v-b1e66d27]:hover{border-color:var(--accent);background:var(--surface-hover)}.credits-icon[data-v-b1e66d27]{font-size:13px}.credits-label[data-v-b1e66d27]{font-size:11px;color:var(--text-muted);flex:1}.credits-value[data-v-b1e66d27]{font-size:13px;font-weight:600;color:var(--accent)}.user-row[data-v-b1e66d27]{display:flex;align-items:center;justify-content:space-between}.user-name-btn[data-v-b1e66d27]{flex:1;background:none;border:none;color:inherit;font-family:inherit;cursor:pointer;text-align:left;padding:4px 6px;border-radius:6px;transition:background .15s}.user-name-btn[data-v-b1e66d27]:hover{background:var(--surface-hover)}.user-name[data-v-b1e66d27]{font-size:12px;font-weight:500;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collapse-btn[data-v-b1e66d27]{width:28px;height:28px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.collapse-btn[data-v-b1e66d27]:hover{border-color:var(--accent);color:var(--accent);background:var(--surface-hover)}.expand-btn[data-v-b1e66d27]{width:28px;height:28px;margin:auto auto 12px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.expand-btn[data-v-b1e66d27]:hover{border-color:var(--accent);color:var(--accent);background:var(--surface-hover)}@media(max-width:768px){.sidebar[data-v-b1e66d27]{position:fixed;top:0;left:0;bottom:0;z-index:30;transform:translate(-100%);transition:transform .25s ease;width:280px;background:var(--bg)}.sidebar.collapsed[data-v-b1e66d27]{transform:translate(-100%);width:280px}.sidebar.mobile-open[data-v-b1e66d27]{transform:translate(0)}.expand-btn[data-v-b1e66d27]{display:none}}.header[data-v-6d93ec5b]{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--header-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);gap:8px}.header-left[data-v-6d93ec5b]{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.header-title[data-v-6d93ec5b]{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.header-center[data-v-6d93ec5b]{display:flex;align-items:center;gap:8px;flex-shrink:0}.status-dot[data-v-6d93ec5b]{width:6px;height:6px;border-radius:50%;background:#22c55e;box-shadow:0 0 8px #22c55e66;animation:pulse-dot 2s ease-in-out infinite}.model-name[data-v-6d93ec5b]{font-size:13px;color:var(--text-dim)}.header-right[data-v-6d93ec5b]{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex:1}.msg-count[data-v-6d93ec5b]{font-size:12px;color:var(--text-muted);margin-right:4px;white-space:nowrap}.mobile-title[data-v-6d93ec5b]{display:none}.icon-btn[data-v-6d93ec5b]{width:34px;height:34px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.icon-btn[data-v-6d93ec5b]:hover{border-color:var(--accent);color:var(--accent);background:var(--surface-hover)}.mobile-only[data-v-6d93ec5b]{display:none}@media(min-width:769px){.header[data-v-6d93ec5b]{padding:14px 24px}}@media(max-width:768px){.mobile-only[data-v-6d93ec5b]{display:flex}.header-title[data-v-6d93ec5b],.model-name[data-v-6d93ec5b]{display:none}.mobile-title[data-v-6d93ec5b]{display:inline;font-size:14px;color:var(--text);font-weight:500}.header-center[data-v-6d93ec5b]{flex:1;justify-content:center}.msg-count[data-v-6d93ec5b]{display:none}}.message[data-v-00178c3d]{display:flex;gap:14px;margin-bottom:24px;animation:msg-in .3s ease-out}.message.user[data-v-00178c3d]{flex-direction:row-reverse}.message.user .msg-bubble[data-v-00178c3d]{background:var(--msg-user-bg);border:1px solid var(--msg-user-border);border-radius:16px 4px 16px 16px}.message.assistant .msg-bubble[data-v-00178c3d]{background:var(--msg-asst-bg);border:1px solid var(--msg-asst-border);border-radius:4px 16px 16px}.msg-avatar[data-v-00178c3d]{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}.message.user .msg-avatar[data-v-00178c3d]{background:linear-gradient(135deg,#00d4ff,#0072ff)}.message.assistant .msg-avatar[data-v-00178c3d]{background:var(--gradient)}.msg-bubble[data-v-00178c3d]{padding:14px 18px;max-width:85%;font-size:14px;line-height:1.6}.msg-bubble p[data-v-00178c3d]{color:var(--text);word-break:break-word}.msg-timer[data-v-00178c3d]{font-size:11px;color:var(--text-muted);margin-top:6px}.image-card[data-v-00178c3d]{border-radius:10px;overflow:hidden;background:#0000004d;position:relative}.image-card.user-image[data-v-00178c3d]{margin-top:8px;max-width:200px}.image-card img[data-v-00178c3d]{display:block;width:100%;height:auto}.image-actions[data-v-00178c3d]{position:absolute;bottom:0;left:0;right:0;padding:40px 12px 10px;background:linear-gradient(transparent,#000000b3);display:flex;gap:8px;opacity:0;transition:opacity .25s}.image-card:hover .image-actions[data-v-00178c3d]{opacity:1}.image-actions button[data-v-00178c3d]{background:#ffffff14;border:1px solid rgba(255,255,255,.1);color:#ccc;padding:5px 12px;border-radius:6px;font-size:11px;cursor:pointer;font-family:inherit;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .2s}.image-actions button[data-v-00178c3d]:hover{background:#00d4ff1f;border-color:#00d4ff40;color:var(--accent)}.image-actions button.favorited[data-v-00178c3d]{color:#ff4d6d}.picker-backdrop[data-v-00178c3d]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0009;display:flex;align-items:center;justify-content:center;animation:fade-in .15s ease}.picker-dialog[data-v-00178c3d]{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:20px;min-width:280px;display:flex;flex-direction:column;gap:10px}.picker-dialog h3[data-v-00178c3d]{font-size:14px;font-weight:600;margin-bottom:4px}.picker-groups[data-v-00178c3d]{display:flex;flex-direction:column;gap:6px}.picker-group-btn[data-v-00178c3d]{width:100%;text-align:left;padding:9px 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:13px;font-family:inherit;cursor:pointer;transition:all .15s}.picker-group-btn[data-v-00178c3d]:hover{border-color:var(--accent);background:var(--surface-hover)}.rich-text[data-v-00178c3d]{line-height:1.7;word-break:break-word}.rich-text[data-v-00178c3d] p{margin-bottom:8px}.rich-text[data-v-00178c3d] ul,.rich-text[data-v-00178c3d] ol{padding-left:20px;margin-bottom:8px}.rich-text[data-v-00178c3d] li{margin-bottom:4px}.rich-text[data-v-00178c3d] code{background:#ffffff0f;border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-size:13px;font-family:SF Mono,Fira Code,monospace}.rich-text[data-v-00178c3d] pre{background:#0000004d;border:1px solid var(--border);border-radius:8px;padding:12px;overflow-x:auto;margin-bottom:8px}.rich-text[data-v-00178c3d] pre code{background:none;border:none;padding:0;font-size:13px}.rich-text[data-v-00178c3d] strong{font-weight:600}.rich-text[data-v-00178c3d] a{color:var(--accent);text-decoration:none}.rich-text[data-v-00178c3d] a:hover{text-decoration:underline}.rich-text[data-v-00178c3d] blockquote{border-left:3px solid var(--accent);padding-left:12px;color:var(--text-muted);margin-bottom:8px}.rich-text[data-v-00178c3d] h1,.rich-text[data-v-00178c3d] h2,.rich-text[data-v-00178c3d] h3{font-weight:600;margin-bottom:8px;margin-top:16px}.rich-text[data-v-00178c3d] h1{font-size:18px}.rich-text[data-v-00178c3d] h2{font-size:16px}.rich-text[data-v-00178c3d] h3{font-size:14px}.rich-text[data-v-00178c3d] table{border-collapse:collapse;width:100%;margin-bottom:8px;font-size:13px}.rich-text[data-v-00178c3d] th,.rich-text[data-v-00178c3d] td{border:1px solid var(--border);padding:6px 10px;text-align:left}.rich-text[data-v-00178c3d] th{background:var(--surface);font-weight:600}.rich-text[data-v-00178c3d] hr{border:none;border-top:1px solid var(--border);margin:12px 0}@media(max-width:600px){.message[data-v-00178c3d]{gap:10px;margin-bottom:16px}.msg-bubble[data-v-00178c3d]{max-width:92%;font-size:13px;padding:10px 14px}.msg-avatar[data-v-00178c3d]{width:28px;height:28px;font-size:11px}.image-card img[data-v-00178c3d]{width:100%}}@media(hover:none)and (pointer:coarse){.image-actions[data-v-00178c3d]{opacity:1;padding:10px 8px;gap:4px;flex-wrap:wrap;background:linear-gradient(transparent 0%,#000000bf 30%)}.image-actions button[data-v-00178c3d]{padding:6px 8px;font-size:10px;flex:1;min-width:0;justify-content:center}}.modal-overlay[data-v-30eaf628]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal[data-v-30eaf628]{background:var(--surface);border:1px solid var(--border);border-radius:16px;width:480px;max-width:90vw;overflow:hidden}.modal-header[data-v-30eaf628]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h3[data-v-30eaf628]{font-size:15px;font-weight:600;margin:0}.modal-close[data-v-30eaf628]{background:none;border:none;color:var(--text-dim);cursor:pointer;padding:4px;border-radius:6px;transition:all .2s}.modal-close[data-v-30eaf628]:hover{background:#ffffff0f;color:var(--text)}.modal-body[data-v-30eaf628]{padding:20px}.modal-body textarea[data-v-30eaf628]{width:100%;box-sizing:border-box;background:var(--bg);border:1px solid var(--border);color:var(--text);font-family:inherit;font-size:14px;padding:12px;border-radius:10px;resize:vertical;outline:none;transition:border-color .2s}.modal-body textarea[data-v-30eaf628]:focus{border-color:var(--border-hover)}.modal-image-area[data-v-30eaf628]{position:relative;margin-top:12px;display:inline-block}.modal-image-area img[data-v-30eaf628]{max-height:120px;border-radius:8px;border:1px solid var(--border)}.remove-img[data-v-30eaf628]{position:absolute;top:4px;left:4px;width:22px;height:22px;border-radius:50%;border:none;background:#0009;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.modal-footer[data-v-30eaf628]{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border)}.modal-cancel[data-v-30eaf628]{padding:8px 18px;border-radius:8px;border:1px solid var(--border);background:none;color:var(--text-dim);font-family:inherit;font-size:13px;cursor:pointer;transition:all .2s}.modal-cancel[data-v-30eaf628]:hover{border-color:var(--text-dim);color:var(--text)}.modal-confirm[data-v-30eaf628]{padding:8px 20px;border-radius:8px;border:none;background:var(--gradient);color:#fff;font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:opacity .2s}.modal-confirm[data-v-30eaf628]:hover:not(:disabled){opacity:.9}.modal-confirm[data-v-30eaf628]:disabled{opacity:.4;cursor:not-allowed}@media(max-width:600px){.modal[data-v-30eaf628]{width:92vw}.modal-body[data-v-30eaf628]{padding:14px}.modal-header[data-v-30eaf628]{padding:12px 14px}.modal-footer[data-v-30eaf628]{padding:12px 14px;flex-direction:column}.modal-cancel[data-v-30eaf628],.modal-confirm[data-v-30eaf628]{width:100%;text-align:center;justify-content:center}}.messages[data-v-6a7d9f9b]{flex:1;overflow-y:auto;padding:32px 0;scroll-behavior:smooth}.messages-inner[data-v-6a7d9f9b]{max-width:720px;margin:0 auto;padding:0 24px}.welcome[data-v-6a7d9f9b]{text-align:center;padding:100px 24px 40px;-webkit-user-select:none;user-select:none}.welcome-icon[data-v-6a7d9f9b]{font-size:48px;display:block;margin-bottom:20px}.welcome h2[data-v-6a7d9f9b]{font-size:24px;font-weight:600;background:linear-gradient(135deg,#e0e0e0,#888);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px}.welcome p[data-v-6a7d9f9b]{font-size:14px;color:var(--text-dim)}.generating-indicator[data-v-6a7d9f9b]{display:flex;gap:14px;margin-bottom:24px;animation:msg-in-6a7d9f9b .3s ease-out}.gen-avatar[data-v-6a7d9f9b]{width:32px;height:32px;border-radius:8px;background:var(--gradient);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.gen-content[data-v-6a7d9f9b]{background:var(--surface);border:1px solid var(--border);border-radius:4px 16px 16px;padding:14px 18px;width:fit-content}.gen-image-placeholder[data-v-6a7d9f9b]{position:relative;border-radius:10px;overflow:hidden;width:320px;height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.gen-shimmer[data-v-6a7d9f9b]{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent 0%,transparent 30%,var(--shimmer) 50%,transparent 70%,transparent 100%);background-size:200% 100%;animation:shimmer-6a7d9f9b 1.2s ease-in-out infinite}.gen-icon[data-v-6a7d9f9b]{position:relative;color:var(--text-muted);opacity:.5}.gen-label[data-v-6a7d9f9b]{position:relative;font-size:12px;color:var(--text-muted)}.gen-text-indicator[data-v-6a7d9f9b]{display:flex;align-items:center;gap:4px;padding:2px 0}.gen-dots[data-v-6a7d9f9b]{display:inline-flex;gap:1px}.gen-dots .dot[data-v-6a7d9f9b]{font-size:20px;line-height:1;color:var(--accent);animation:dot-bounce-6a7d9f9b 1.2s ease-in-out infinite}.gen-dots .dot[data-v-6a7d9f9b]:nth-child(2){animation-delay:.2s}.gen-dots .dot[data-v-6a7d9f9b]:nth-child(3){animation-delay:.4s}@keyframes dot-bounce-6a7d9f9b{0%,60%,to{opacity:.2;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@keyframes shimmer-6a7d9f9b{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes msg-in-6a7d9f9b{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.messages-inner[data-v-6a7d9f9b]{padding:0 12px}.messages[data-v-6a7d9f9b]{padding:16px 0}.welcome[data-v-6a7d9f9b]{padding:60px 12px 30px}.welcome h2[data-v-6a7d9f9b]{font-size:18px}.gen-image-placeholder[data-v-6a7d9f9b]{width:100%;height:auto;aspect-ratio:4/3}.gen-content[data-v-6a7d9f9b]{max-width:calc(100vw - 70px)}}.input-area[data-v-f1938fda]{flex-shrink:0;padding:12px 24px 24px}.input-wrap[data-v-f1938fda]{max-width:720px;margin:0 auto;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:4px;transition:border-color .3s,box-shadow .3s}.image-preview[data-v-f1938fda]{position:relative;padding:8px 12px 4px}.image-preview img[data-v-f1938fda]{max-height:80px;border-radius:8px;border:1px solid var(--border)}.remove-img[data-v-f1938fda]{position:absolute;top:4px;left:4px;width:22px;height:22px;border-radius:50%;border:none;background:#0009;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.input-wrap[data-v-f1938fda]:focus-within{border-color:var(--border-hover);box-shadow:0 0 30px #00d4ff0a,inset 0 0 30px #00d4ff05}.input-row[data-v-f1938fda]{display:flex;align-items:flex-end;gap:4px}.input-row textarea[data-v-f1938fda]{flex:1;background:none;border:none;outline:none;color:var(--text);font-family:inherit;font-size:14px;line-height:1.5;padding:10px 12px;resize:none;max-height:120px;min-height:24px}.input-row textarea[data-v-f1938fda]::placeholder{color:var(--text-muted)}.input-row textarea[data-v-f1938fda]:disabled{opacity:.4}.send-btn[data-v-f1938fda]{width:36px;height:36px;border-radius:10px;border:none;background:var(--gradient);color:#fff;font-size:18px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .2s;margin-bottom:2px;margin-right:2px}.send-btn[data-v-f1938fda]:hover:not(:disabled){transform:scale(1.05);box-shadow:0 0 20px #00d4ff33}.send-btn[data-v-f1938fda]:disabled{opacity:.25;cursor:not-allowed}.opts-row[data-v-f1938fda]{display:flex;align-items:center;gap:6px;padding:4px 12px 2px}.opt-group[data-v-f1938fda]{position:relative}.opt-btn[data-v-f1938fda]{padding:3px 10px;border-radius:5px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:11px;font-family:inherit;cursor:pointer;transition:all .15s;line-height:1.4}.opt-btn[data-v-f1938fda]:hover{border-color:var(--border-hover);color:var(--text-dim)}.opt-label[data-v-f1938fda]{white-space:nowrap}.opt-dropdown[data-v-f1938fda]{position:absolute;bottom:calc(100% + 4px);left:0;min-width:80px;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:4px;z-index:50;box-shadow:0 8px 32px #0006}.opt-item[data-v-f1938fda]{display:block;width:100%;text-align:left;padding:5px 10px;border-radius:5px;border:none;background:none;color:var(--text-dim);font-size:11px;font-family:inherit;cursor:pointer;transition:all .1s;white-space:nowrap}.opt-item[data-v-f1938fda]:hover{background:var(--surface-hover);color:var(--text)}.opt-item.active[data-v-f1938fda]{color:var(--accent);background:#00d4ff0f}.opts-spacer[data-v-f1938fda]{flex:1}.drop-enter-active[data-v-f1938fda],.drop-leave-active[data-v-f1938fda]{transition:opacity .1s ease,transform .1s ease}.drop-enter-from[data-v-f1938fda],.drop-leave-to[data-v-f1938fda]{opacity:0;transform:translateY(4px)}.model-picker[data-v-f1938fda]{position:relative}.model-picker-btn[data-v-f1938fda]{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:5px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:11px;font-family:inherit;cursor:pointer;transition:all .15s;line-height:1.4}.model-picker-btn[data-v-f1938fda]:hover{border-color:var(--border-hover);color:var(--text-dim)}.model-picker-label[data-v-f1938fda]{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-picker-dropdown[data-v-f1938fda]{position:absolute;bottom:calc(100% + 4px);right:0;min-width:180px;max-height:300px;overflow-y:auto;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:4px;z-index:50;box-shadow:0 8px 32px #0006}.model-group-header[data-v-f1938fda]{font-size:10px;font-weight:600;color:var(--text-muted);padding:6px 10px 4px;letter-spacing:.5px;text-transform:uppercase}.model-group-sep[data-v-f1938fda]{height:1px;background:var(--border);margin:4px 0}.model-picker-item[data-v-f1938fda]{display:block;width:100%;text-align:left;padding:7px 10px;border-radius:5px;border:none;background:none;color:var(--text-dim);font-size:12px;font-family:inherit;cursor:pointer;transition:all .1s}.model-picker-item[data-v-f1938fda]:hover{background:var(--surface-hover);color:var(--text)}.model-picker-item.active[data-v-f1938fda]{color:var(--accent);background:#00d4ff0f}.input-footer[data-v-f1938fda]{display:flex;justify-content:space-between;align-items:center;padding:4px 12px 2px;font-size:11px;color:var(--text-muted)}.no-credits[data-v-f1938fda]{color:#ef4444}.mismatch-backdrop[data-v-f1938fda]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0009;display:flex;align-items:center;justify-content:center;animation:fade-in-f1938fda .15s ease}.mismatch-dialog[data-v-f1938fda]{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:20px;min-width:300px;max-width:400px;display:flex;flex-direction:column;gap:12px}.mismatch-dialog h3[data-v-f1938fda]{font-size:14px;font-weight:600}.mismatch-dialog p[data-v-f1938fda]{font-size:13px;color:var(--text-dim);line-height:1.5}.mismatch-actions[data-v-f1938fda]{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.btn-cancel[data-v-f1938fda],.btn-confirm[data-v-f1938fda]{padding:7px 16px;border-radius:8px;border:1px solid var(--border);font-size:13px;font-family:inherit;cursor:pointer;transition:all .15s}.btn-cancel[data-v-f1938fda]{background:var(--surface);color:var(--text-dim)}.btn-cancel[data-v-f1938fda]:hover{border-color:var(--border-hover);color:var(--text)}.btn-confirm[data-v-f1938fda]{background:var(--gradient);color:#fff;border-color:transparent}.btn-confirm[data-v-f1938fda]:hover{opacity:.9}@keyframes fade-in-f1938fda{0%{opacity:0}to{opacity:1}}@media(max-width:600px){.input-area[data-v-f1938fda]{padding:8px 12px 16px}.input-wrap[data-v-f1938fda]{border-radius:12px}.input-row textarea[data-v-f1938fda]{font-size:16px;padding:8px 10px}.send-btn[data-v-f1938fda]{width:40px;height:40px}.opts-row[data-v-f1938fda]{flex-wrap:wrap;gap:4px;padding:4px 8px 2px}.opt-btn[data-v-f1938fda]{padding:6px 10px}.opt-dropdown[data-v-f1938fda]{min-width:100px}.opt-item[data-v-f1938fda]{padding:8px 12px;font-size:12px}.model-picker-btn[data-v-f1938fda]{padding:6px 10px}.model-picker-dropdown[data-v-f1938fda]{min-width:180px;max-height:40vh}.model-picker-item[data-v-f1938fda]{padding:8px 12px}.mismatch-dialog[data-v-f1938fda]{min-width:0;width:90vw;max-width:90vw}}.main[data-v-a0885f32]{flex:1;display:flex;flex-direction:column;min-width:0;position:relative;z-index:1}.header-spacer[data-v-a0885f32]{height:54px;flex-shrink:0}.loading-screen[data-v-a0885f32]{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:var(--bg)}.loader-ring[data-v-a0885f32]{width:32px;height:32px;border:2px solid var(--loader-ring-track);border-top-color:var(--accent);border-radius:50%;animation:spin-a0885f32 .8s linear infinite}@keyframes spin-a0885f32{to{transform:rotate(360deg)}}.loader-text[data-v-a0885f32]{font-size:13px;color:var(--text-dim)}.mobile-overlay[data-v-a0885f32]{display:none}@media(max-width:768px){.mobile-overlay[data-v-a0885f32]{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#00000080}}*{margin:0;padding:0;box-sizing:border-box}:root,.dark{--bg: #0a0a0f;--surface: rgba(255, 255, 255, .03);--surface-hover: rgba(255, 255, 255, .06);--border: rgba(255, 255, 255, .08);--border-hover: rgba(0, 212, 255, .25);--text: #e0e0e0;--text-dim: rgba(255, 255, 255, .35);--text-muted: rgba(255, 255, 255, .15);--accent: #00d4ff;--accent2: #7b2ff7;--gradient: linear-gradient(135deg, var(--accent), var(--accent2));--radius: 12px;--sidebar-bg: rgba(0, 0, 0, .3);--header-bg: rgba(10, 10, 15, .8);--msg-user-bg: rgba(0, 212, 255, .06);--msg-user-border: rgba(0, 212, 255, .1);--msg-asst-bg: var(--surface);--msg-asst-border: var(--border);--active-bg: rgba(0, 212, 255, .06);--active-border: rgba(0, 212, 255, .12);--input-bg: var(--surface);--scrollbar-thumb: rgba(255, 255, 255, .06);--scrollbar-thumb-hover: rgba(255, 255, 255, .1);--grid-color: rgba(255, 255, 255, .015);--glow-1: rgba(0, 180, 255, .04);--glow-2: rgba(120, 0, 255, .04);--loader-ring-track: rgba(255, 255, 255, .06);--shimmer: rgba(255, 255, 255, .08)}.light{--bg: #f0f0f5;--surface: rgba(255, 255, 255, .7);--surface-hover: rgba(0, 0, 0, .04);--border: rgba(0, 0, 0, .08);--border-hover: rgba(0, 153, 204, .35);--text: #1a1a2e;--text-dim: rgba(0, 0, 0, .5);--text-muted: rgba(0, 0, 0, .25);--accent: #0099cc;--accent2: #6d28d9;--gradient: linear-gradient(135deg, var(--accent), var(--accent2));--sidebar-bg: rgba(255, 255, 255, .5);--header-bg: rgba(240, 240, 245, .85);--msg-user-bg: rgba(0, 153, 204, .06);--msg-user-border: rgba(0, 153, 204, .12);--msg-asst-bg: rgba(255, 255, 255, .6);--msg-asst-border: rgba(0, 0, 0, .06);--active-bg: rgba(0, 153, 204, .06);--active-border: rgba(0, 153, 204, .15);--input-bg: rgba(255, 255, 255, .6);--scrollbar-thumb: rgba(0, 0, 0, .08);--scrollbar-thumb-hover: rgba(0, 0, 0, .15);--grid-color: rgba(0, 0, 0, .03);--glow-1: rgba(0, 153, 204, .05);--glow-2: rgba(109, 40, 217, .05);--loader-ring-track: rgba(0, 0, 0, .06);--shimmer: rgba(0, 153, 204, .15)}html,body{height:100%;overflow:hidden}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}#app{height:100vh;display:flex}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.bg-grid{position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color) 1px,transparent 1px);background-size:48px 48px;pointer-events:none;z-index:0}.bg-glow{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 20% 50%,var(--glow-1) 0%,transparent 60%),radial-gradient(ellipse at 80% 50%,var(--glow-2) 0%,transparent 60%);pointer-events:none;z-index:0}@keyframes msg-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}@keyframes load-slide{0%{transform:translate(-100%);width:30%}50%{width:55%}to{transform:translate(400%);width:30%}}@keyframes dot-bounce{0%,80%,to{transform:translateY(0);opacity:.3}40%{transform:translateY(-6px);opacity:1}}@keyframes slide-in-left{0%{transform:translate(-16px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slide-in-right{0%{transform:translate(16px);opacity:0}to{transform:translate(0);opacity:1}}
