@font-face{font-family:'Miao';src:url('/ai-claw/public/fonts/樱奈.woff') format('truetype');font-weight:normal;font-display:swap}:root{--font-main:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans SC",sans-serif;--bg-primary:#FFFFFF;--bg-secondary:#FFFFFF;--bg-tertiary:#EFEFF1;--text-primary:#1F1F1F;--text-secondary:#6B6B6B;--text-tertiary:#9E9EA1;--border-color:#E5E5E7;--accent-color:#4D5BFF;--accent-hover:#3D4AE6;--user-bubble:#F9D2E4;--user-text:#1F1F1F;--assistant-bubble:transparent;--assistant-text:#1F1F1F;--sidebar-bg:#FFFFFF;--shadow-sm:0 1px 2px rgba(0,0,0,0.05);--shadow-md:0 4px 12px rgba(0,0,0,0.08);--shadow-lg:0 8px 24px rgba(0,0,0,0.12);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--transition-fast:0.15s ease;--transition-normal:0.3s cubic-bezier(0.4,0,0.2,1);--transition-slow:0.5s cubic-bezier(0.4,0,0.2,1)}[data-theme="dark"]{--bg-primary:#0F0F0F;--bg-secondary:#242424;--bg-tertiary:#27272A;--text-primary:#F4F4F5;--text-secondary:#A1A1AA;--text-tertiary:#71717A;--border-color:#27272A;--accent-color:#6366F1;--accent-hover:#818CF8;--user-bubble:#333333;--user-text:#FFFFFF;--assistant-bubble:transparent;--assistant-text:#F4F4F5;--sidebar-bg:#1A1A1B;--shadow-sm:0 1px 2px rgba(0,0,0,0.3);--shadow-md:0 4px 12px rgba(0,0,0,0.4);--shadow-lg:0 8px 24px rgba(0,0,0,0.5)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);font-size:16px;line-height:1.5;transition:background-color var(--transition-normal),color var(--transition-normal);overflow:hidden}body{position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{height:100%;display:flex;flex-direction:column;position:relative}.svip-shimmer{background:linear-gradient(90deg,#FFD700 0%,#FFF8DC 25%,#FFD700 50%,#FFF8DC 75%,#FFD700 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 3s linear infinite;font-weight:600}.svip-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;background:linear-gradient(135deg,#FFD700,#FFA500);color:#1a1a1a;position:relative;overflow:hidden}.svip-badge::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.6),transparent);animation:badgeShine 2s ease-in-out infinite}@keyframes shimmer{0%{background-position:0% center}100%{background-position:200% center}}@keyframes badgeShine{0%{left:-100%}50%{left:100%}100%{left:100%}}.sidebar-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,0.5);z-index:998;opacity:0;visibility:hidden;transition:opacity var(--transition-normal),visibility var(--transition-normal)}.sidebar-overlay.active{opacity:1;visibility:visible}.sidebar{position:fixed;top:0;left:0;width:280px;height:100%;background-color:var(--sidebar-bg);z-index:999;transform:translateX(-100%);transition:transform var(--transition-normal);display:flex;flex-direction:column;border-right:1px solid var(--border-color)}.sidebar.open{transform:translateX(0)}.sidebar-header{padding:20px 16px;border-bottom:1px solid var(--border-color)}.sidebar-user{display:flex;align-items:center;gap:12px;cursor:pointer;padding:8px;border-radius:var(--radius-md);transition:background-color var(--transition-fast)}.sidebar-user:hover{background-color:var(--bg-secondary)}.sidebar-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--accent-color),#8B5CF6);display:flex;align-items:center;justify-content:center;color:white;font-weight:600;font-size:18px;flex-shrink:0}.sidebar-user-info{flex:1;min-width:0}.sidebar-username{font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:12px;color:var(--text-secondary);margin-top:2px}.sidebar-new-chat{padding:12px 16px}.new-chat-btn{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-primary);color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all var(--transition-fast)}.new-chat-btn:hover{background-color:var(--bg-secondary);border-color:var(--text-tertiary)}.new-chat-btn:active{transform:scale(0.98)}.sidebar-history{flex:1;overflow-y:auto;padding:8px 8px}.history-section-title{padding:8px 12px;font-size:12px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:0.5px}.history-item{padding:10px 12px;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background-color var(--transition-fast);position:relative;margin-bottom:2px}.history-item:hover{background-color:var(--bg-secondary)}.history-item.active{background-color:var(--bg-tertiary);font-weight:500}.history-item .delete-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);opacity:0;width:24px;height:24px;border-radius:4px;display:flex;align-items:center;justify-content:center;background-color:var(--bg-tertiary);color:var(--text-secondary);font-size:16px;transition:opacity var(--transition-fast)}.history-item:hover .delete-btn{opacity:1}.sidebar-footer{padding:12px 16px;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:8px}.sidebar-footer-btn{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;color:var(--text-primary);transition:background-color var(--transition-fast)}.sidebar-footer-btn:hover{background-color:var(--bg-secondary)}.sidebar-footer-btn svg{width:18px;height:18px;flex-shrink:0}.header{height:56px;display:flex;align-items:center;padding:0 12px;background-color:var(--bg-primary);position:relative;z-index:100;transition:background-color var(--transition-normal)}.menu-btn{width:40px;height:40px;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-primary);transition:background-color var(--transition-fast)}.menu-btn:hover{background-color:var(--bg-secondary)}.menu-btn svg{width:22px;height:22px}.header-title{flex:1;text-align:center;font-size:16px;font-weight:600;color:var(--text-primary)}.header-right{width:40px;display:flex;justify-content:flex-end}.chat-container{flex:1;overflow-y:auto;padding:20px 16px;scroll-behavior:smooth;background-color:#FFFFFF}.chat-container::-webkit-scrollbar{width:4px}.chat-container::-webkit-scrollbar-track{background:transparent}.chat-container::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:2px}.welcome-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:40px 20px}.welcome-logo{width:64px;height:64px;border-radius:16px;background:linear-gradient(135deg,var(--accent-color),#8B5CF6);display:flex;align-items:center;justify-content:center;margin-bottom:20px;box-shadow:var(--shadow-lg)}.welcome-logo svg{width:32px;height:32px;color:white}.welcome-title{font-size:24px;font-weight:700;margin-bottom:8px;color:var(--text-primary);display:flex;align-items:center;justify-content:center;gap:6px}.welcome-title .welcome-logo-svg{flex-shrink:0}.welcome-subtitle{font-size:15px;color:var(--text-secondary);margin-bottom:32px}.mode-switch{width:100%;max-width:440px;margin:0 auto;padding:0 20px}.mode-track{position:relative;display:flex;background:#FFFFFF;border-radius:999px;padding:0 !important;border:1px solid #EDEDED}.mode-slider{position:absolute;top:0 !important;left:0 !important;height:100% !important;width:25%;background:#EDF3FE !important;border:1px solid #D3E2FF;border-radius:999px;box-shadow:none !important;transition:transform 0.3s cubic-bezier(0.4,0,0.2,1),width 0.3s cubic-bezier(0.4,0,0.2,1);z-index:0;pointer-events:none}.mode-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:12px 6px !important;border-radius:999px;border:none;background:transparent;color:#0F0F0F;font-size:13px;font-weight:400;cursor:pointer;transition:color 0.2s ease;user-select:none;white-space:nowrap;position:relative;z-index:1}.mode-btn .mode-icon{flex-shrink:0;opacity:0.5;transition:opacity 0.2s ease,color 0.2s ease}.mode-btn:hover{color:var(--text-secondary,#6b6b6b)}.mode-btn:hover .mode-icon{opacity:0.7}.mode-btn.active{color:#426EFE !important;font-weight:600}.mode-btn.active .mode-icon{opacity:1;color:#426EFE !important;stroke:#426EFE !important}[data-theme="dark"] .chat-container{background-color:#0F0F0F}[data-theme="dark"] .welcome-screen{background-color:#0F0F0F}[data-theme="dark"] #mainApp{background-color:#0F0F0F}[data-theme="dark"] .mode-track{background:#1E1E1E;border-color:#292929;padding:0 !important}[data-theme="dark"] .mode-slider{top:0 !important;left:0 !important;height:100% !important;width:25%;background:#283142 !important;box-shadow:none !important;border:1px solid #33436B}[data-theme="dark"] .mode-btn{color:#FFFFFF}[data-theme="dark"] .mode-btn:hover{color:#9ca3af}[data-theme="dark"] .mode-btn.active{color:#6799FE}[data-theme="dark"] .mode-btn.active .mode-icon{color:#6799FE;stroke:#6799FE}.mode-desc{text-align:center;font-size:13px;color:var(--text-tertiary,#9e9ea1);margin-top:12px;line-height:1.5;transition:color 0.15s ease;white-space:pre-line}.suggestion-cards{display:grid;grid-template-columns:1fr;gap:12px;width:100%;max-width:400px}.suggestion-card{padding:16px;background-color:var(--bg-secondary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-align:left;border:1px solid transparent}.suggestion-card:hover{background-color:var(--bg-tertiary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.suggestion-card:active{transform:translateY(0)}.suggestion-title{font-size:14px;font-weight:600;margin-bottom:4px;color:var(--text-primary)}.suggestion-desc{font-size:13px;color:var(--text-secondary)}.message-list{display:flex;flex-direction:column;gap:20px;max-width:900px;margin:0 auto;width:100%}.message{display:flex;animation:messageIn 0.3s ease}@keyframes messageIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{justify-content:flex-end}.message.assistant{justify-content:flex-start}.message-avatar{display:none}.message-content{max-width:100%}.message-bubble{padding:12px 16px;border-radius:var(--radius-lg);font-size:15px;line-height:1.6;word-wrap:break-word;white-space:pre-wrap}.message.user .message-bubble{background-color:var(--user-bubble);color:var(--user-text);border-bottom-right-radius:4px;font-family:'Miao','PingFang SC','Microsoft YaHei',sans-serif}.message.assistant .message-bubble{background:none;color:var(--assistant-text);padding:2px 0;border-radius:0;word-break:break-word}[data-theme="dark"] .message.user .message-bubble{background-color:#FFE6EF;color:#222222;opacity:0.9}[data-theme="dark"] .message.assistant .message-bubble{color:#F4F4F5}.message-bubble code{background-color:rgba(0,0,0,0.1);padding:2px 6px;border-radius:4px;font-family:"SF Mono",Monaco,Menlo,monospace;font-size:13px}.message.user .message-bubble code{background-color:rgba(255,255,255,0.2)}.message-actions{display:flex;gap:8px;margin-top:8px;opacity:1;transition:opacity 0.2s ease}.action-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;font-size:12px;color:var(--text-secondary);background:transparent;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all 0.2s ease}.action-btn:hover{color:var(--text-primary);background:var(--bg-tertiary);border-color:var(--text-tertiary)}.typing-indicator{display:flex;gap:4px;padding:8px 12px}.typing-dot{width:6px;height:6px;border-radius:50%;background-color:var(--text-tertiary);animation:typingBounce 1.4s infinite ease-in-out}.typing-dot:nth-child(1){animation-delay:-0.32s}.typing-dot:nth-child(2){animation-delay:-0.16s}@keyframes typingBounce{0%,80%,100%{transform:scale(0.8);opacity:0.5}40%{transform:scale(1);opacity:1}}.input-area{padding:12px 16px 20px;background-color:var(--bg-primary);border-top:1px solid var(--border-color);transition:background-color var(--transition-normal)}.input-wrapper{max-width:768px;margin:0 auto;position:relative}.input-container{display:flex;align-items:flex-end;gap:8px;background-color:var(--bg-secondary);border-radius:var(--radius-xl);padding:8px 8px 8px 16px;border:1px solid var(--border-color);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input-container:focus-within{border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(77,91,255,0.1)}textarea{flex:1;border:none;background:none;resize:none;font-size:15px;font-family:inherit;color:var(--text-primary);outline:none;max-height:120px;min-height:24px;line-height:1.5;padding:4px 0}textarea::placeholder{color:var(--text-tertiary)}.send-btn{width:36px;height:36px;border:none;border-radius:50%;background:transparent;color:#426EFE;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-fast)}.send-btn:hover:not(:disabled){background:rgba(66,110,254,0.08);transform:scale(1.05)}.send-btn:active:not(:disabled){background:rgba(66,110,254,0.15);transform:scale(0.95)}.send-btn:disabled{opacity:0.3;cursor:not-allowed}.send-btn svg{width:20px;height:20px}.app-toast-container{position:fixed;top:16px;right:16px;z-index:99999;display:flex;flex-direction:column;gap:8px;pointer-events:none;max-width:380px}.app-toast{pointer-events:auto;padding:12px 16px;border-radius:12px;background:var(--bg-primary);border:1px solid var(--border-color);box-shadow:0 8px 24px rgba(0,0,0,0.12);display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;animation:toastIn 0.3s cubic-bezier(0.4,0,0.2,1);max-width:100%;word-break:break-word}.app-toast.app-toast-error{border-left:3px solid #ef4444}.app-toast.app-toast-success{border-left:3px solid #22c55e}.app-toast.app-toast-warning{border-left:3px solid #f59e0b}.app-toast.app-toast-info{border-left:3px solid #3b82f6}.app-toast .app-toast-icon{flex-shrink:0;width:20px;height:20px;margin-top:1px}.app-toast .app-toast-msg{flex:1;color:var(--text-primary)}.app-toast .app-toast-close{flex-shrink:0;background:none;border:none;cursor:pointer;padding:2px;color:var(--text-tertiary);font-size:16px;line-height:1;border-radius:4px;transition:background 0.15s}.app-toast .app-toast-close:hover{background:var(--bg-tertiary)}.app-toast.removing{animation:toastOut 0.25s ease forwards}@keyframes toastIn{from{opacity:0;transform:translateX(40px) scale(0.95)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes toastOut{from{opacity:1;transform:translateX(0) scale(1)}to{opacity:0;transform:translateX(40px) scale(0.95)}}[data-theme="dark"] .app-toast{background:#2a2a2e;border-color:#3a3a3e;box-shadow:0 8px 24px rgba(0,0,0,0.3)}.auth-container{min-height:100%;display:flex;align-items:center;justify-content:center;padding:20px}.auth-card{width:100%;max-width:400px;background-color:var(--bg-primary);border-radius:var(--radius-xl);padding:32px 24px;box-shadow:var(--shadow-lg)}.auth-logo{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,var(--accent-color),#8B5CF6);display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.auth-logo svg{width:28px;height:28px;color:white}.auth-title{text-align:center;font-size:24px;font-weight:700;margin-bottom:8px}.auth-subtitle{text-align:center;font-size:14px;color:var(--text-secondary);margin-bottom:28px}.form-group{margin-bottom:16px}.form-label{display:block;font-size:14px;font-weight:500;margin-bottom:8px;color:var(--text-primary)}.form-input{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:15px;background-color:var(--bg-secondary);color:var(--text-primary);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(77,91,255,0.1)}.btn-primary{width:100%;padding:14px;border:none;border-radius:var(--radius-md);background-color:var(--accent-color);color:white;font-size:15px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);margin-top:8px}.btn-primary:hover{background-color:var(--accent-hover)}.btn-primary:active{transform:scale(0.98)}.auth-switch{text-align:center;margin-top:20px;font-size:14px;color:var(--text-secondary)}.auth-switch a{color:var(--accent-color);text-decoration:none;font-weight:500}.auth-error{padding:12px;background-color:#FEF2F2;border:1px solid #FECACA;border-radius:var(--radius-md);color:#DC2626;font-size:14px;margin-bottom:16px;text-align:center}[data-theme="dark"] .auth-error{background-color:rgba(220,38,38,0.1);border-color:rgba(220,38,38,0.3);color:#FCA5A5}.profile-page{flex:1;overflow-y:auto;padding:20px 16px}.profile-header{display:flex;flex-direction:column;align-items:center;padding:24px 0;text-align:center}.profile-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--accent-color),#8B5CF6);display:flex;align-items:center;justify-content:center;color:white;font-size:32px;font-weight:600;margin-bottom:16px;box-shadow:var(--shadow-md)}.profile-name{font-size:20px;font-weight:700;margin-bottom:6px}.profile-role-badge{margin-top:8px}.profile-stats{display:flex;justify-content:center;gap:32px;padding:20px 0;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);margin:20px 0}.stat-item{text-align:center}.stat-value{font-size:24px;font-weight:700;color:var(--text-primary)}.stat-label{font-size:13px;color:var(--text-secondary);margin-top:4px}.settings-section{margin-bottom:24px}.settings-title{font-size:13px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:12px;padding:0 4px}.settings-item{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background-color:var(--bg-secondary);border-radius:var(--radius-md);margin-bottom:8px;cursor:pointer;transition:background-color var(--transition-fast)}.settings-item:hover{background-color:var(--bg-tertiary)}.settings-label{font-size:15px;color:var(--text-primary)}.settings-value{font-size:14px;color:var(--text-secondary);display:flex;align-items:center;gap:8px}.theme-toggle{display:flex;gap:4px;padding:4px;background-color:var(--bg-tertiary);border-radius:var(--radius-md)}.theme-option{padding:6px 12px;border-radius:var(--radius-sm);font-size:12px;cursor:pointer;transition:all var(--transition-fast);color:var(--text-secondary)}.theme-option.active{background-color:var(--bg-primary);color:var(--text-primary);box-shadow:var(--shadow-sm)}.hidden{display:none !important}.fade-in{animation:fadeIn 0.3s ease}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.slide-up{animation:slideUp 0.3s ease}@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (min-width:768px){.sidebar{width:320px}.suggestion-cards{grid-template-columns:1fr 1fr}}@media (max-width:480px){.chat-container{padding:16px 12px}.message-bubble{padding:10px 14px;font-size:14px}.input-area{padding:10px 12px 16px}}.sidebar{box-shadow:2px 0 8px rgba(0,0,0,0.1)}[data-theme="dark"] .sidebar{box-shadow:2px 0 8px rgba(0,0,0,0.3)}.message{transition:opacity 0.3s ease,transform 0.3s ease}.input-container{transition:all 0.2s ease}button:active{transform:scale(0.97)}.history-item{transition:all 0.15s ease}.settings-item{transition:background-color 0.15s ease}.theme-option{transition:all 0.15s ease;user-select:none}.slide-up{animation:slideUp 0.4s cubic-bezier(0.4,0,0.2,1)}@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn 0.3s ease}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.svip-badge{box-shadow:0 0 10px rgba(255,215,0,0.3)}.chat-container::-webkit-scrollbar{width:4px}.chat-container::-webkit-scrollbar-track{background:transparent}.chat-container::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:2px;opacity:0.5}.sidebar-history::-webkit-scrollbar{width:4px}.sidebar-history::-webkit-scrollbar-track{background:transparent}.sidebar-history::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:2px}.stat-value{transition:transform 0.2s ease}textarea{transition:height 0.1s ease}@media (max-width:380px){.welcome-title{font-size:20px}.message-bubble{font-size:14px;padding:10px 12px}.sidebar{width:260px}}html,body,#app,#mainApp{height:100%;overflow:hidden}#chatPage,#profilePage{height:100%;display:flex;flex-direction:column}.hidden{display:none !important}.admin-badge{display:inline-flex;align-items:center;gap:4px;margin-left:6px;vertical-align:middle}.admin-badge svg{width:16px;height:16px;flex-shrink:0;filter:drop-shadow(0 1px 2px rgba(83,150,255,0.3))}.admin-badge-text{font-size:11px;color:#5396FF;font-weight:600;white-space:nowrap}.sidebar-username{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.profile-name{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}.profile-role-badge{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;flex-wrap:wrap}[data-theme="dark"] .admin-badge-text{color:#6BA8FF}[data-theme="dark"] .admin-badge svg{filter:drop-shadow(0 1px 2px rgba(83,150,255,0.4))}.input-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.mic-btn{width:32px;height:32px;border-radius:50%;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.2s ease;position:relative;padding:0;flex-shrink:0}.mic-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.mic-btn:active{transform:scale(0.95)}.mic-icon{width:18px;height:18px}.mic-btn.recording{background:#EF4444;color:white;animation:micPulse 1.5s ease-in-out infinite}.mic-btn.recording:hover{background:#DC2626;color:white}@keyframes micPulse{0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,0.4)}50%{box-shadow:0 0 0 8px rgba(239,68,68,0)}}.mic-wave{display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);gap:2px}.mic-btn.recording .mic-icon{display:none}.mic-btn.recording .mic-wave{display:flex}.mic-wave span{display:block;width:2px;height:10px;background:white;border-radius:1px;animation:micWaveBar 0.8s ease-in-out infinite}.mic-wave span:nth-child(1){animation-delay:0s}.mic-wave span:nth-child(2){animation-delay:0.2s}.mic-wave span:nth-child(3){animation-delay:0.4s}@keyframes micWaveBar{0%,100%{height:6px}50%{height:12px}}.voice-indicator{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--bg-secondary);border-radius:12px;margin-top:8px;border:1px solid var(--border-color);animation:slideDown 0.3s ease}@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.voice-wave{display:flex;align-items:center;gap:3px;height:24px}.voice-wave span{display:block;width:3px;background:#EF4444;border-radius:2px;animation:voiceWave 1s ease-in-out infinite}.voice-wave span:nth-child(1){animation-delay:0s;height:8px}.voice-wave span:nth-child(2){animation-delay:0.1s;height:14px}.voice-wave span:nth-child(3){animation-delay:0.2s;height:20px}.voice-wave span:nth-child(4){animation-delay:0.3s;height:14px}.voice-wave span:nth-child(5){animation-delay:0.4s;height:8px}@keyframes voiceWave{0%,100%{transform:scaleY(0.6)}50%{transform:scaleY(1)}}.voice-text{flex:1;font-size:14px;color:var(--text-primary);font-weight:500}.voice-stop-btn{padding:6px 14px;background:#EF4444;color:white;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color 0.2s}.voice-stop-btn:hover{background:#DC2626}.voice-stop-btn:active{transform:scale(0.97)}[data-theme="dark"] .voice-indicator{background:var(--bg-tertiary)}@media (max-width:480px){.voice-text{font-size:13px}.voice-stop-btn{padding:5px 12px;font-size:12px}}.auth-logo img{width:56px;height:56px;object-fit:contain;border-radius:14px}.welcome-logo img{width:64px;height:64px;object-fit:contain;border-radius:16px}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--border-color);margin-bottom:8px}.sidebar-brand img{width:32px;height:32px;object-fit:contain;border-radius:8px}.sidebar-brand span{font-size:17px;font-weight:700;color:var(--text-primary)}.cropper-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.85);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn 0.2s ease}.cropper-container{background:var(--bg-primary);border-radius:16px;width:100%;max-width:420px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:scaleIn 0.25s cubic-bezier(0.4,0,0.2,1)}@keyframes scaleIn{from{opacity:0;transform:scale(0.9)}to{opacity:1;transform:scale(1)}}.cropper-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color)}.cropper-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.cropper-close{background:none;border:none;font-size:24px;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all 0.15s}.cropper-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.cropper-body{padding:20px;display:flex;flex-direction:column;gap:16px}.cropper-wrapper{position:relative;width:100%;aspect-ratio:1;background:var(--bg-secondary);border-radius:12px;overflow:hidden;touch-action:none;user-select:none}#cropperCanvas{position:absolute;top:0;left:0;pointer-events:none}.cropper-mask{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.cropper-frame{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:70%;aspect-ratio:1;border:2px solid white;border-radius:50%;box-shadow:0 0 0 9999px rgba(0,0,0,0.5)}.cropper-preview{display:flex;align-items:center;gap:16px}.preview-label{font-size:13px;color:var(--text-secondary);flex-shrink:0}.preview-circle{width:56px;height:56px;border-radius:50%;overflow:hidden;background:var(--bg-tertiary);flex-shrink:0}#previewCanvas{width:100%;height:100%;display:block}.cropper-controls{padding:16px 20px 20px;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:16px}.cropper-zoom{display:flex;align-items:center;gap:12px}.cropper-size{display:flex;align-items:center;gap:12px}.size-label{font-size:12px;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.cropper-size input[type="range"]{flex:1;height:4px;-webkit-appearance:none;appearance:none;background:var(--bg-tertiary);border-radius:2px;outline:none}.cropper-size input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--accent-color,#10a37f);cursor:pointer;border:2px solid white;box-shadow:0 1px 3px rgba(0,0,0,0.2)}.zoom-btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all 0.15s}.zoom-btn:hover{background:var(--bg-tertiary)}.zoom-btn:active{transform:scale(0.95)}#zoomSlider{flex:1;height:4px;-webkit-appearance:none;appearance:none;background:var(--bg-tertiary);border-radius:2px;outline:none}#zoomSlider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent-color,#4F46E5);cursor:pointer}.cropper-actions{display:flex;gap:12px}.cropper-actions button{flex:1;padding:12px;border-radius:10px;font-size:15px;font-weight:500;cursor:pointer;transition:all 0.15s;border:none}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary)}.btn-secondary:hover{background:var(--bg-tertiary)}.btn-primary{background:var(--accent-color,#4F46E5);color:white}.btn-primary:hover{filter:brightness(1.1)}.register-avatar{display:flex;justify-content:center}.register-avatar-preview{width:72px;height:72px;border-radius:50%;background:var(--bg-secondary);border:2px dashed var(--border-color);display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;transition:all 0.2s;font-size:12px;color:var(--text-secondary)}.register-avatar-preview:hover{border-color:var(--accent-color,#4F46E5);color:var(--accent-color,#4F46E5)}.register-avatar-preview img{width:100%;height:100%;object-fit:cover}.profile-avatar{cursor:pointer;transition:transform 0.2s;position:relative;overflow:hidden}.profile-avatar:hover{transform:scale(1.05)}.profile-avatar::after{content:'更换';position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,0.6);color:white;font-size:11px;text-align:center;padding:4px 0;opacity:0;transition:opacity 0.2s}.profile-avatar:hover::after{opacity:1}.message-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.sidebar-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.input-mode{transition:all 0.25s cubic-bezier(0.4,0,0.2,1)}.input-mode.hidden{display:none}.mic-toggle-btn{width:32px;height:32px;border-radius:50%;border:none;background:transparent;color:#B5B5B5;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.2s ease;padding:0;flex-shrink:0}.mic-toggle-btn:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.mic-toggle-btn:active{transform:scale(0.95)}[data-theme="dark"] .mic-toggle-btn{color:#6B7280}[data-theme="dark"] .mic-toggle-btn:hover{color:#9CA3AF}.input-tools{display:flex;align-items:center;gap:6px;padding:0 2px 8px 2px;flex-wrap:wrap}.input-tool-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;border:1px solid var(--border-color,#e5e7eb);background:transparent;color:var(--text-secondary,#6b7280);font-size:12px;cursor:pointer;transition:all 0.2s ease;user-select:none}.input-tool-btn svg{flex-shrink:0}.input-tool-btn:hover{background:var(--bg-tertiary,#f3f4f6);border-color:var(--text-tertiary,#9ca3af)}.input-tool-btn:active{transform:scale(0.97)}.input-tool-btn.active{background:#EDF3FE;color:#426EFE;border-color:#426EFE}.input-tool-btn.active svg{fill:#426EFE}.input-tool-btn.active:hover{background:#dce6f9}[data-theme="dark"] .input-tool-btn{border-color:#374151;color:#ffffff}[data-theme="dark"] .input-tool-btn svg{color:#ffffff;fill:#ffffff}[data-theme="dark"] .input-tool-btn:hover{background:#1f2937}[data-theme="dark"] .input-tool-btn.active{background:#283142 !important;color:#6799FE;border-color:#6799FE}[data-theme="dark"] .input-tool-btn.active svg{color:#6799FE;fill:#6799FE}[data-theme="dark"] .input-tool-btn.active:hover{background:#1e293b}.search-indicator{display:flex;align-items:center;gap:6px;padding:6px 12px;margin-bottom:8px;font-size:12px;color:#4ADE80;background:rgba(74,222,128,0.08);border:1px solid rgba(74,222,128,0.2);border-radius:8px;animation:searchPulse 2s ease-in-out infinite}.search-indicator svg{animation:searchSpin 1.5s linear infinite;flex-shrink:0}.search-indicator.hidden{display:none}@keyframes searchPulse{0%,100%{opacity:1}50%{opacity:0.6}}@keyframes searchSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}[data-theme="dark"] .search-indicator{background:rgba(74,222,128,0.06);border-color:rgba(74,222,128,0.15)}.voice-mode{width:100%}.voice-panel{display:flex;flex-direction:row;align-items:center;gap:10px;padding:4px 6px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;position:relative;user-select:none;-webkit-user-select:none;touch-action:none;height:44px;box-sizing:border-box;transition:all 0.3s ease}.voice-panel.recording{border-color:#EF4444;background:rgba(239,68,68,0.08)}.voice-mic-area{flex:1;display:flex;align-items:center;justify-content:center;gap:8px}.voice-mic-icon{width:32px;height:32px;border-radius:50%;background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;color:#B5B5B5;transition:all 0.2s ease;flex-shrink:0}.voice-mic-icon svg{width:20px;height:20px}[data-theme="dark"] .voice-mic-icon{color:#6B7280;background:var(--bg-tertiary)}.voice-panel.recording .voice-mic-icon{background:#EF4444;color:white;transform:scale(1.1)}.voice-panel.canceling .voice-mic-icon{background:#6B7280;color:white;transform:scale(0.95)}.voice-waves{display:flex;align-items:center;gap:3px;transition:opacity 0.2s ease}.voice-waves span{display:block;width:3px;height:16px;background:rgba(239,68,68,0.6);border-radius:2px;animation:voiceWaveAnim 1s ease-in-out infinite}.voice-waves span:nth-child(1){animation-delay:0s;height:8px}.voice-waves span:nth-child(2){animation-delay:0.1s;height:14px}.voice-waves span:nth-child(3){animation-delay:0.2s;height:20px}.voice-waves span:nth-child(4){animation-delay:0.3s;height:24px}.voice-waves span:nth-child(5){animation-delay:0.2s;height:20px}.voice-waves span:nth-child(6){animation-delay:0.1s;height:14px}.voice-waves span:nth-child(7){animation-delay:0s;height:8px}@keyframes voiceWaveAnim{0%,100%{transform:scaleY(0.5);opacity:0.4}50%{transform:scaleY(1.2);opacity:1}}.voice-hint{font-size:13px;color:var(--text-secondary);white-space:nowrap}.voice-cancel-hint{display:none}.keyboard-btn{width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all 0.2s}.keyboard-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.keyboard-btn svg{width:20px;height:20px}opacity:0;.voice-hint{font-size:14px;color:var(--text-secondary);font-weight:500;transition:all 0.2s ease}.voice-panel.recording .voice-hint{color:#EF4444}.voice-panel.canceling .voice-hint{display:none}.voice-cancel-hint{font-size:14px;color:#6B7280;font-weight:500;display:none;transition:all 0.2s ease}.voice-panel.canceling .voice-cancel-hint{display:block}.keyboard-btn{position:absolute;right:12px;bottom:12px;width:36px;height:36px;border-radius:50%;border:none;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.2s ease;padding:0}.keyboard-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.keyboard-btn:active{transform:scale(0.95)}.keyboard-btn svg{width:18px;height:18px}.voice-mode{position:relative}.text-mode{animation:fadeSlideUp 0.25s ease}.voice-mode{animation:fadeSlideUp 0.25s ease}@keyframes fadeSlideUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.input-container{display:flex;align-items:flex-end;gap:8px}.send-btn{margin-bottom:2px}@media (max-width:480px){.voice-mic-area{width:70px;height:70px}.voice-mic-icon{width:56px;height:56px}.voice-mic-icon svg{width:40px;height:40px}.voice-hint,.voice-cancel-hint{font-size:13px}}.profile-stats{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:12px !important;padding:16px 20px !important;background:var(--bg-secondary) !important;border-radius:12px !important;margin:0 20px 16px !important;border:none !important;border-top:none !important;border-bottom:none !important}.stat-item{text-align:center}.stat-value{font-size:18px !important;font-weight:700 !important;color:var(--text-primary) !important;margin-bottom:4px !important}.stat-label{font-size:12px !important;color:var(--text-secondary) !important;margin-top:4px !important}@media (max-width:480px){.profile-stats{grid-template-columns:repeat(2,1fr) !important;gap:16px !important}.stat-value{font-size:16px !important}}.auth-copyright{margin-top:24px;text-align:center;font-size:11px;line-height:1.8;color:#999;pointer-events:none}.auth-copyright p{margin:0;padding:0}[data-theme="dark"] .auth-copyright{color:#666}.profile-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:16px}.stat-card{background:var(--bg-secondary);border-radius:12px;padding:14px;display:flex;align-items:center;gap:10px;transition:transform 0.2s,box-shadow 0.2s;border:1px solid var(--border-color)}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.08)}.stat-card-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-card-content{flex:1;min-width:0}.stat-card-value{font-size:18px;font-weight:700;color:var(--text-primary);line-height:1.2}.stat-card-label{font-size:11px;color:var(--text-secondary);margin-top:2px}.token-detail-section,.profile-info-section{margin:12px 16px;background:var(--bg-secondary);border-radius:12px;padding:16px;border:1px solid var(--border-color)}.token-detail-row,.info-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border-color)}.token-detail-row:last-child,.info-row:last-child{border-bottom:none}.token-detail-label,.info-label{font-size:13px;color:var(--text-secondary)}.token-detail-value,.info-value{font-size:14px;font-weight:500;color:var(--text-primary)}.info-value .expiry-date{color:#ff6b6b;font-weight:600;background:rgba(255,107,107,0.1);padding:2px 10px;border-radius:10px;border:1px solid rgba(255,107,107,0.2);font-size:13px}.bio-row{align-items:flex-start}.bio-text{text-align:right;max-width:60%;word-break:break-word}@media (max-width:480px){.profile-stats-grid{grid-template-columns:1fr}}.message-bubble h1,.message-bubble h2,.message-bubble h3,.message-bubble h4{margin:10px 0 6px;font-weight:700;line-height:1.3}.message-bubble h1{font-size:1.3em}.message-bubble h2{font-size:1.2em}.message-bubble h3{font-size:1.1em}.message-bubble h4{font-size:1.05em}.message-bubble strong{font-weight:700}.message-bubble em{font-style:italic}.message-bubble pre{background:var(--bg-tertiary);padding:14px;border-radius:8px;overflow-x:auto;font-size:13px;line-height:1.5;margin:8px 0;border:1px solid var(--border-color)}.message-bubble pre code{background:none;padding:0;font-family:"SF Mono",Monaco,Menlo,monospace}.profile-copyright{margin-top:auto;padding:20px;text-align:center;font-size:11px;line-height:1.8;color:#999;border-top:1px solid var(--border-color)}.profile-copyright p{margin:0;padding:0}[data-theme="dark"] .profile-copyright{color:#666}img{max-width:100%;max-height:100%;display:block}.auth-logo{width:64px !important;height:64px !important;overflow:hidden}.auth-logo img{width:64px !important;height:64px !important;object-fit:contain}.sidebar-brand img{width:32px !important;height:32px !important;flex-shrink:0}.message-avatar{overflow:hidden}.message-avatar img{width:100%;height:100%;object-fit:cover}.mic-toggle-btn{position:relative;z-index:10;cursor:pointer;pointer-events:auto}.input-actions{display:flex;align-items:center;gap:4px;flex-shrink:0;z-index:5}.input-container{position:relative;z-index:1}#messageInput{min-height:auto;max-height:120px}.voice-mode:not(.hidden){display:block !important;width:100%}.reasoning-block{margin:4px 0 8px 0;padding:8px 14px;background:var(--bg-secondary,#FFFFFF);border-radius:8px;border-left:2px solid #F9D2E4}.reasoning-text{font-size:12px;line-height:1.6;color:#888;white-space:pre-wrap;word-break:break-word;max-height:300px;overflow-y:auto}[data-theme="dark"] .reasoning-block{background:rgba(103,153,254,0.06);border-left-color:#E8CDD8}[data-theme="dark"] .reasoning-text{color:#9ca3af}.text-mode:not(.hidden){display:block !important;width:100%}.mode-btn.active[data-mode="lover"]{color:#d4237a !important}.mode-btn.active[data-mode="lover"] .mode-icon-lover{fill:#d4237a !important;opacity:1 !important}[data-theme="dark"] .mode-btn.active[data-mode="lover"]{color:#f472b6 !important}[data-theme="dark"] .mode-btn.active[data-mode="lover"] .mode-icon-lover{fill:#f472b6 !important}.mode-icon-lover{flex-shrink:0;opacity:0.5;transition:opacity 0.2s ease;display:inline-flex;align-items:center}.message-bubble.lover-chunk{animation:chunkSlideIn 0.35s ease;margin-bottom:2px;padding:4px 0}.message-bubble.lover-chunk-last{margin-bottom:4px}@keyframes chunkSlideIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.message-bubble .lover-image{display:block;max-width:min(240px,70vw);max-height:320px;border-radius:12px;margin:4px 0;cursor:zoom-in;box-shadow:0 2px 8px rgba(0,0,0,0.15);object-fit:cover;background:#f0f0f0}.message-bubble .lover-image-error{display:inline-block;color:#999;font-size:13px;padding:4px 0}.message-bubble .inline-img-placeholder{color:#999;font-size:13px;white-space:nowrap}[data-theme="dark"] .message-bubble .lover-image{background:#2a2a2a}.image-preview{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-secondary);border-radius:8px;margin-bottom:6px;max-width:100%;overflow:hidden}.image-preview.hidden{display:none}.image-preview img{width:40px;height:40px;object-fit:cover;border-radius:6px;border:1px solid var(--border-color)}.image-preview-name{font-size:12px;color:var(--text-secondary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-preview-close{width:20px;height:20px;border:none;background:var(--bg-tertiary);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:12px;flex-shrink:0;transition:all 0.2s ease}.image-preview-close:hover{background:#ef4444;color:white}.message-content img.chat-image{max-width:240px;max-height:240px;border-radius:12px;margin:4px 0;display:block;border:1px solid var(--border-color)}.message.user .message-content img.chat-image{margin-left:auto}#imgUploadBtn{display:inline-flex;align-items:center;gap:4px}#imgUploadBtn.hidden{display:none}#loverVerifyModal.lover-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;display:flex;align-items:center;justify-content:center}#loverVerifyModal.lover-modal.hidden{display:none !important}#loverVerifyModal .lover-modal-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:overlayFadeIn 0.25s ease;z-index:0}@keyframes overlayFadeIn{from{opacity:0}to{opacity:1}}#loverVerifyModal .lover-modal-content{position:relative;z-index:1;background:var(--bg-primary);border-radius:20px;padding:32px 28px 24px;max-width:360px;width:90%;box-shadow:0 20px 60px rgba(0,0,0,0.3);animation:modalSlideIn 0.3s cubic-bezier(0.4,0,0.2,1);text-align:center}@keyframes modalSlideIn{from{opacity:0;transform:scale(0.92) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}#loverVerifyModal .lover-modal-icon{width:56px;height:56px;margin:0 auto 16px;background:linear-gradient(135deg,#f472b6,#d4237a);border-radius:50%;display:flex;align-items:center;justify-content:center}#loverVerifyModal .lover-modal-icon svg{width:28px;height:28px;fill:white}#loverVerifyModal .lover-modal-title{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:8px}#loverVerifyModal .lover-modal-desc{font-size:13px;color:var(--text-secondary);line-height:1.6;margin-bottom:20px;padding:12px;background:rgba(212,35,122,0.06);border-radius:10px;border:1px solid rgba(212,35,122,0.12)}#loverVerifyModal .lover-modal-input-group{margin-bottom:4px}#loverVerifyModal .lover-modal-input{width:100%;padding:12px 16px;font-size:16px;border:2px solid var(--border-color);border-radius:12px;background:var(--bg-secondary);color:var(--text-primary);text-align:center;letter-spacing:8px;font-weight:600;outline:none;transition:border-color 0.2s ease;box-sizing:border-box}#loverVerifyModal .lover-modal-input:focus{border-color:#d4237a}#loverVerifyModal .lover-modal-input::placeholder{letter-spacing:0;font-weight:400;color:var(--text-tertiary)}#loverVerifyModal .lover-modal-error{font-size:12px;color:#ef4444;margin-top:8px;min-height:18px;text-align:center}#loverVerifyModal .lover-modal-error.hidden{display:none}#loverVerifyModal .lover-modal-btns{display:flex;gap:10px;margin-top:16px}#loverVerifyModal .lover-modal-btn{flex:1;padding:10px 0;border:none;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all 0.2s ease;text-align:center}#loverVerifyModal .lover-modal-btn.confirm{background:linear-gradient(135deg,#f472b6,#d4237a);color:white}#loverVerifyModal .lover-modal-btn.confirm:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(212,35,122,0.3)}#loverVerifyModal .lover-modal-btn.confirm:disabled{opacity:0.5;cursor:not-allowed;transform:none;box-shadow:none}#loverVerifyModal .lover-modal-btn.cancel{background:var(--bg-tertiary);color:var(--text-secondary)}#loverVerifyModal .lover-modal-btn.cancel:hover{background:var(--border-color)}[data-theme="dark"] #loverVerifyModal .lover-modal-desc{background:rgba(212,35,122,0.1);border-color:rgba(212,35,122,0.2)}[data-theme="dark"] #loverVerifyModal .lover-modal-input:focus{border-color:#f472b6}#loverExitBtn.lover-exit-btn{display:inline-flex;align-items:center;gap:4px;background:#d4237a;color:#fff;border:none;border-radius:999px;padding:4px 12px;font-size:12px;cursor:pointer;white-space:nowrap;transition:all 0.2s ease;opacity:0.9}#loverExitBtn.lover-exit-btn:hover{opacity:1;background:#c01e6d}#loverExitBtn.lover-exit-btn.hidden{display:none !important}[data-theme="dark"] #loverExitBtn.lover-exit-btn{background:#f06292;color:#1e1e1e}.notice-box{position:relative;display:flex;align-items:center;gap:10px;margin:10px 12px 0;padding:12px 40px 12px 14px;border-radius:14px;background:linear-gradient(135deg,#ff9a9e 0%,#fad0c4 40%,#fbc2eb 100%);border:none;box-shadow:0 4px 16px rgba(255,120,150,.25),inset 0 1px 0 rgba(255,255,255,.5);font-size:13px;line-height:1.6;color:#7a2d3e;animation:noticeIn .4s ease}.notice-box .notice-icon{flex-shrink:0;font-size:18px}.notice-box .notice-text{flex:1}.notice-box .notice-text strong{color:#c2185b;font-weight:700}.notice-box .notice-copy{display:block;margin-top:2px;font-size:11px;color:rgba(122,45,62,.65)}.notice-box .notice-close{position:absolute;top:8px;right:8px;width:22px;height:22px;border:none;border-radius:50%;background:rgba(255,255,255,.55);color:#c2185b;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0}.notice-box .notice-close:hover{background:#fff;transform:scale(1.1);box-shadow:0 2px 8px rgba(194,24,91,.3)}@keyframes noticeIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}[data-theme=dark] .notice-box{background:linear-gradient(135deg,#5c2a3a 0%,#4a2547 60%,#3d2b52 100%);border:none;color:#f3d9e2;box-shadow:0 4px 16px rgba(0,0,0,.35)}[data-theme=dark] .notice-box .notice-text strong{color:#ff8fb3}[data-theme=dark] .notice-box .notice-copy{color:rgba(243,217,226,.55)}[data-theme=dark] .notice-box .notice-close{background:rgba(255,255,255,.15);color:#ff8fb3}[data-theme=dark] .notice-box .notice-close:hover{background:rgba(255,255,255,.3)}.notice-box.hidden{display:none !important}.voice-call-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99999;display:flex;align-items:center;justify-content:center}.voice-call-modal-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.voice-call-modal-content{position:relative;background:var(--card-bg,#fff);border-radius:20px;padding:36px 32px 28px;width:340px;max-width:88vw;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.25);animation:voiceModalFadeIn .25s ease}@keyframes voiceModalFadeIn{from{opacity:0;transform:scale(0.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.voice-call-modal-icon{margin-bottom:16px}.voice-call-modal-title{font-size:26px;font-weight:700;color:#1a1410;margin-bottom:14px;letter-spacing:2px}.voice-call-modal-desc{font-size:14px;color:#888;line-height:1.7;margin-bottom:24px;letter-spacing:.5px}.voice-call-modal-btn{padding:10px 36px;border:none;border-radius:24px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.voice-call-modal-btn.confirm{background:linear-gradient(135deg,#EFC0CB,#FFB7C5);color:#fff;box-shadow:0 4px 14px rgba(139,92,246,.35)}.voice-call-modal-btn.confirm:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(139,92,246,.45)}[data-theme=dark] .voice-call-modal-content{background:#262626}[data-theme=dark] .voice-call-modal-title{color:#e8e0d8}[data-theme=dark] .voice-call-modal-desc{color:#999}.voice-call-modal.hidden{display:none !important}@media (max-width:767px){.mode-switch{max-width:100%;padding:0 6px}.mode-track{overflow:visible;justify-content:center;gap:0;padding:2px}.mode-slider{top:2px !important;left:0 !important;height:calc(100% - 4px) !important;width:25%}.mode-btn{font-size:11px !important;gap:1px !important}.mode-btn .mode-icon{width:11px !important;height:11px !important}.welcome-title{font-size:18px;margin-bottom:14px}.welcome-title .welcome-logo-svg{width:20px;height:20px}}@media (min-width:1200px){.message-list{max-width:1000px}}@media (max-width:768px){.message-list{max-width:100%;padding:0 4px}}@media (max-width:480px){.message-list{gap:16px}.message-bubble{font-size:14px;line-height:1.55}}@media (max-width:380px){.message-bubble{font-size:13.5px;padding:8px 10px}}.message.assistant .message-bubble{font-size:16px !important;line-height:1.75 !important;letter-spacing:0.3px;word-spacing:1px;color:var(--assistant-text)}.message.assistant .message-bubble p{margin:0 0 1em 0}.message.assistant .message-bubble p:last-child{margin-bottom:0}.message.assistant .message-bubble code{font-size:14px !important;padding:3px 8px;border-radius:6px;background-color:rgba(103,153,254,0.08) !important}.message.assistant .message-bubble pre{margin:1em 0;border-radius:10px;overflow:hidden}.message.assistant .message-bubble pre code{padding:16px;font-size:14px;line-height:1.6;background-color:#f6f8fa !important}.message.assistant .message-bubble ul,.message.assistant .message-bubble ol{margin:0.8em 0;padding-left:1.6em}.message.assistant .message-bubble li{margin:0.4em 0}.message.assistant .message-bubble h1,.message.assistant .message-bubble h2,.message.assistant .message-bubble h3,.message.assistant .message-bubble h4{margin:1.2em 0 0.6em 0;font-weight:600;line-height:1.4}.message.assistant .message-bubble blockquote{margin:1em 0;padding:0.8em 1em;border-left:3px solid var(--primary-color);background-color:rgba(103,153,254,0.05);border-radius:0 8px 8px 0}.message.assistant .message-bubble table{margin:1em 0;border-collapse:collapse;width:100%}.message.assistant .message-bubble th,.message.assistant .message-bubble td{padding:8px 12px;border:1px solid var(--border-color)}.message.assistant .message-bubble th{background-color:rgba(103,153,254,0.05);font-weight:600}[data-theme="dark"] .message.assistant .message-bubble code{background-color:rgba(103,153,254,0.15) !important}[data-theme="dark"] .message.assistant .message-bubble pre code{background-color:#1e1e2e !important}[data-theme="dark"] .message.assistant .message-bubble blockquote{background-color:rgba(103,153,254,0.1)}[data-theme="dark"] .message.assistant .message-bubble th{background-color:rgba(103,153,254,0.1)}.message-bubble .code-block-wrapper{margin:1em 0;border-radius:10px;overflow:hidden;border:1px solid var(--border-color);background:#f6f8fa}.message-bubble .code-block-header{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:#e8eaed;border-bottom:1px solid #d0d7de;font-size:13px}.message-bubble .code-language{font-weight:600;color:#57606a;text-transform:lowercase;font-family:"SF Mono",Monaco,Menlo,monospace}.message-bubble .code-copy-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid #d0d7de;border-radius:6px;background:#ffffff;color:#57606a;font-size:12px;cursor:pointer;transition:all 0.2s ease;user-select:none}.message-bubble .code-copy-btn:hover{background:#f3f4f6;border-color:#afb8c1;color:#24292f}.message-bubble .code-copy-btn:active{transform:scale(0.97)}.message-bubble .code-copy-btn.copied{background:#dcfce7;border-color:#86efac;color:#16a34a}.message-bubble .code-copy-btn svg{width:14px;height:14px;flex-shrink:0}.message-bubble .code-block-wrapper pre{margin:0;padding:16px;background:#f6f8fa;border:none;border-radius:0;overflow-x:auto}.message-bubble .code-block-wrapper pre code{background:none !important;padding:0 !important;font-size:14px;line-height:1.6;font-family:"SF Mono",Monaco,Menlo,Consolas,monospace}.message-bubble .md-alert{margin:1em 0;padding:12px 16px;border-radius:8px;border-left:4px solid;font-size:14px;line-height:1.6}.message-bubble .md-alert-title{font-weight:600;margin-bottom:6px;display:flex;align-items:center;gap:6px;font-size:14px}.message-bubble .md-alert-content{color:inherit}.message-bubble .md-alert-note{background:rgba(59,130,246,0.08);border-left-color:#3b82f6;color:#1e40af}.message-bubble .md-alert-note .md-alert-title{color:#2563eb}.message-bubble .md-alert-tip{background:rgba(34,197,94,0.08);border-left-color:#22c55e;color:#166534}.message-bubble .md-alert-tip .md-alert-title{color:#16a34a}.message-bubble .md-alert-warning{background:rgba(245,158,11,0.08);border-left-color:#f59e0b;color:#92400e}.message-bubble .md-alert-warning .md-alert-title{color:#d97706}.message-bubble .md-alert-important{background:rgba(139,92,246,0.08);border-left-color:#8b5cf6;color:#5b21b6}.message-bubble .md-alert-important .md-alert-title{color:#7c3aed}.message-bubble .md-alert-caution{background:rgba(239,68,68,0.08);border-left-color:#ef4444;color:#991b1b}.message-bubble .md-alert-caution .md-alert-title{color:#dc2626}.message-bubble blockquote{margin:1em 0;padding:10px 16px;border-left:4px solid var(--accent-color,#4D5BFF);background:var(--bg-tertiary,#EFEFF1);border-radius:0 8px 8px 0;color:var(--text-secondary,#6B6B6B);font-style:normal}.message-bubble blockquote p{margin:0}.message-bubble ul,.message-bubble ol{margin:0.8em 0;padding-left:1.8em}.message-bubble li{margin:0.4em 0;line-height:1.6}.message-bubble ul li{list-style-type:disc}.message-bubble ol li{list-style-type:decimal}.message-bubble a{color:var(--accent-color,#4D5BFF);text-decoration:none;border-bottom:1px solid transparent;transition:all 0.2s ease}.message-bubble a:hover{border-bottom-color:var(--accent-color,#4D5BFF)}.message-bubble hr{margin:1.5em 0;border:none;border-top:1px solid var(--border-color,#E5E5E7)}.message-bubble h1{font-size:1.5em;padding-bottom:0.3em;border-bottom:1px solid var(--border-color)}.message-bubble h2{font-size:1.3em;padding-bottom:0.3em;border-bottom:1px solid var(--border-color)}[data-theme="dark"] .message-bubble .code-block-wrapper{background:#1e1e2e;border-color:#313244}[data-theme="dark"] .message-bubble .code-block-header{background:#313244;border-bottom-color:#45475a}[data-theme="dark"] .message-bubble .code-language{color:#a6adc8}[data-theme="dark"] .message-bubble .code-copy-btn{background:#45475a;border-color:#585b70;color:#cdd6f4}[data-theme="dark"] .message-bubble .code-copy-btn:hover{background:#585b70;border-color:#6c7086;color:#f5e0dc}[data-theme="dark"] .message-bubble .code-copy-btn.copied{background:rgba(34,197,94,0.2);border-color:#22c55e;color:#4ade80}[data-theme="dark"] .message-bubble .code-block-wrapper pre{background:#1e1e2e}[data-theme="dark"] .message-bubble .code-block-wrapper pre code{background:#1e1e2e !important}[data-theme="dark"] .message-bubble .md-alert-note{background:rgba(59,130,246,0.12);color:#93c5fd}[data-theme="dark"] .message-bubble .md-alert-note .md-alert-title{color:#60a5fa}[data-theme="dark"] .message-bubble .md-alert-tip{background:rgba(34,197,94,0.12);color:#86efac}[data-theme="dark"] .message-bubble .md-alert-tip .md-alert-title{color:#4ade80}[data-theme="dark"] .message-bubble .md-alert-warning{background:rgba(245,158,11,0.12);color:#fcd34d}[data-theme="dark"] .message-bubble .md-alert-warning .md-alert-title{color:#fbbf24}[data-theme="dark"] .message-bubble .md-alert-important{background:rgba(139,92,246,0.12);color:#c4b5fd}[data-theme="dark"] .message-bubble .md-alert-important .md-alert-title{color:#a78bfa}[data-theme="dark"] .message-bubble .md-alert-caution{background:rgba(239,68,68,0.12);color:#fca5a5}[data-theme="dark"] .message-bubble .md-alert-caution .md-alert-title{color:#f87171}[data-theme="dark"] .message-bubble blockquote{background:rgba(103,153,254,0.08);color:#a1a1aa}[data-theme="dark"] .message-bubble a{color:#818cf8}[data-theme="dark"] .message-bubble a:hover{border-bottom-color:#818cf8}[data-theme="dark"] .message-bubble hr{border-top-color:#3f3f46}[data-theme="dark"] .message-bubble h1,[data-theme="dark"] .message-bubble h2{border-bottom-color:#3f3f46}[data-theme="dark"] .hljs{background:#1e1e2e !important;color:#cdd6f4 !important}[data-theme="dark"] .hljs-comment,[data-theme="dark"] .hljs-quote{color:#6c7086 !important;font-style:italic !important}[data-theme="dark"] .hljs-keyword,[data-theme="dark"] .hljs-selector-tag,[data-theme="dark"] .hljs-literal,[data-theme="dark"] .hljs-type,[data-theme="dark"] .hljs-addition{color:#cba6f7 !important}[data-theme="dark"] .hljs-number,[data-theme="dark"] .hljs-selector-attr,[data-theme="dark"] .hljs-selector-pseudo{color:#fab387 !important}[data-theme="dark"] .hljs-string,[data-theme="dark"] .hljs-doctag,[data-theme="dark"] .hljs-regexp{color:#a6e3a1 !important}[data-theme="dark"] .hljs-title,[data-theme="dark"] .hljs-section,[data-theme="dark"] .hljs-built_in,[data-theme="dark"] .hljs-name{color:#89b4fa !important}[data-theme="dark"] .hljs-variable,[data-theme="dark"] .hljs-template-variable,[data-theme="dark"] .hljs-class .hljs-title{color:#f9e2af !important}[data-theme="dark"] .hljs-function .hljs-title,[data-theme="dark"] .hljs-attr,[data-theme="dark"] .hljs-attribute{color:#89dceb !important}[data-theme="dark"] .hljs-symbol,[data-theme="dark"] .hljs-bullet,[data-theme="dark"] .hljs-link,[data-theme="dark"] .hljs-meta,[data-theme="dark"] .hljs-selector-id,[data-theme="dark"] .hljs-subst{color:#f38ba8 !important}[data-theme="dark"] .hljs-deletion{color:#f38ba8 !important}[data-theme="dark"] .hljs-emphasis{font-style:italic !important}[data-theme="dark"] .hljs-strong{font-weight:bold !important}/* ============================================================