:root{--primary: #07C160;--primary-light: #e8f5e9;--primary-dark: #06AD56;--accent: #07C160;--accent-light: #e8f5e9;--bg: #f7f7f8;--bg-card: #ffffff;--bg-input: #f0f0f0;--bg-hover: #f5f5f5;--text: #191919;--text-muted: #999999;--text-secondary: #666666;--border: #e5e5e5;--border-light: #f0f0f0;--success: #07C160;--warning: #f59e0b;--danger: #fa5151;--pink: #ec4899;--radius: 8px;--radius-lg: 14px;--radius-round: 22px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08);--glow: 0 2px 8px rgba(7, 193, 96, .12);--chat-bubble-fan: #ffffff;--chat-bubble-ai: #07C160;--chat-bubble-ai-text: #ffffff;--chat-bg: #f7f7f8;--nav-bg: #fafafa;--nav-border: #e5e5e5;--input-bar-bg: #fafafa;--font-size-xs: 11px;--font-size-sm: 13px;--font-size-md: 15px;--font-size-lg: 17px;--font-size-xl: 20px}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,Helvetica Neue,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased}#root{min-height:100vh}.app-container{max-width:480px;margin:0 auto;min-height:100vh;background:var(--bg);position:relative;box-shadow:0 0 40px #0000000d}.page{padding:16px 16px 80px}.page-header{margin-bottom:20px}.page-title{font-size:var(--font-size-xl);font-weight:700;margin-bottom:4px}.page-subtitle{font-size:var(--font-size-sm);color:var(--text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border:none;border-radius:var(--radius);font-size:var(--font-size-md);font-weight:500;cursor:pointer;transition:all .15s ease;outline:none}.btn:active{transform:scale(.97)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);box-shadow:var(--glow)}.btn-primary:disabled{background:#bdbdbd;color:#fff;cursor:not-allowed;box-shadow:none}.btn-secondary{background:var(--bg-card);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-hover)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#e04848}.btn-ghost{background:transparent;color:var(--text-muted);border:none}.btn-ghost:hover{color:var(--text);background:var(--bg-hover)}.btn-send{width:40px;height:40px;border-radius:50%;padding:0;font-size:18px;flex-shrink:0}.input,input[type=text],input[type=email],input[type=password],select{width:100%;padding:10px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:var(--font-size-md);font-family:inherit;transition:border-color .15s;outline:none}.input:focus,input:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 2px #07c1601a}.input::placeholder,input::placeholder{color:#bdbdbd}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23999' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;cursor:pointer}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;transition:box-shadow .15s}.card:hover{box-shadow:var(--shadow-sm)}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:var(--font-size-xs);font-weight:500}.badge-new{background:#f0f0f0;color:#999}.badge-regular{background:#e3f2fd;color:#1976d2}.badge-paying{background:#f3e5f5;color:#7b1fa2}.badge-vip{background:#fce4ec;color:#c62828}.page-header-wechat{margin-bottom:16px}.page-header-wechat .header-top{display:flex;align-items:center;gap:8px;min-height:44px}.page-header-wechat .header-title{font-size:var(--font-size-lg);font-weight:600;flex:1}.page-header-wechat .header-subtitle{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:2px;padding-left:4px}.page-header-wechat .header-back{font-size:22px!important;padding:4px 10px!important;border:none;background:none;cursor:pointer;color:var(--text);border-radius:50%}.page-header-wechat .header-back:hover{background:var(--bg-hover)}.page-header-wechat .header-right{flex-shrink:0}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;background:var(--nav-bg);border-top:1px solid var(--nav-border);display:flex;justify-content:space-around;padding:4px 0;padding-bottom:calc(4px + env(safe-area-inset-bottom,0px));z-index:100}.nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 16px;border:none;background:none;cursor:pointer;color:var(--text-muted);transition:color .15s;font-family:inherit;outline:none}.nav-item:hover{color:var(--text)}.nav-item.active{color:var(--primary)}.nav-item .nav-icon{font-size:22px;line-height:1}.nav-item .nav-label{font-size:10px;font-weight:500}.chat-container{display:flex;flex-direction:column;flex:1;overflow-y:auto;padding:12px 16px 16px;background:var(--chat-bg);-webkit-overflow-scrolling:touch}.chat-bubble-wrapper{display:flex;flex-direction:column;max-width:80%;margin-bottom:14px}.chat-bubble-wrapper.wrapper-right{align-self:flex-end;align-items:flex-end}.chat-bubble-wrapper.wrapper-left{align-self:flex-start;align-items:flex-start}.chat-bubble{padding:10px 14px;border-radius:18px;font-size:var(--font-size-md);line-height:1.6;word-break:break-word;position:relative;box-shadow:0 1px 2px #0000000a}.bubble-right{background:var(--chat-bubble-ai);color:var(--chat-bubble-ai-text);border-bottom-right-radius:4px}.bubble-left{background:var(--chat-bubble-fan);color:var(--text);border:1px solid var(--border);border-bottom-left-radius:4px}.bubble-streaming{opacity:.85}.bubble-content{white-space:pre-wrap}.bubble-copy-btn{border:none;background:transparent;cursor:pointer;font-size:13px;padding:2px 8px;margin-top:4px;color:var(--text-muted);opacity:0;transition:opacity .15s;font-family:inherit}.chat-bubble-wrapper:hover .bubble-copy-btn{opacity:1}.chat-input-bar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;background:var(--input-bar-bg);border-top:1px solid var(--border);padding:8px 12px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));display:flex;gap:8px;align-items:center;z-index:50}.chat-input-bar .input,.chat-input-bar input{flex:1;border-radius:24px;padding:10px 16px;font-size:var(--font-size-md);background:var(--bg-card);border:1px solid var(--border);outline:none}.chat-input-bar .input:focus,.chat-input-bar input:focus{border-color:var(--primary)}.live-header{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--bg-card);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30}.live-header-back{border:none;background:none;cursor:pointer;font-size:20px;padding:4px 8px;color:var(--text)}.live-header-info{flex:1;display:flex;align-items:center;gap:8px;font-size:var(--font-size-md);font-weight:600}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 6px var(--success);flex-shrink:0}.settings-toggle{border:none;background:none;cursor:pointer;font-size:20px;padding:4px 8px;color:var(--text-muted)}.settings-toggle:hover{color:var(--text)}.live-settings{display:flex;gap:8px;padding:10px 16px;background:var(--bg-card);border-bottom:1px solid var(--border-light);flex-wrap:wrap}.live-settings .input,.live-settings select{flex:1;min-width:80px;font-size:var(--font-size-sm);padding:6px 26px 6px 10px}.live-mode-tabs{display:flex;gap:0;background:var(--bg-card);border-bottom:1px solid var(--border)}.live-mode-tab{flex:1;padding:10px 16px;border:none;background:none;font-size:var(--font-size-sm);font-weight:500;color:var(--text-muted);cursor:pointer;text-align:center;transition:color .15s;border-bottom:2px solid transparent;margin-bottom:-1px;font-family:inherit}.live-mode-tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.scene-scroll{display:flex;gap:12px;overflow-x:auto;padding:8px 0 12px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.scene-scroll::-webkit-scrollbar{display:none}.scene-item{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:64px;border:none;background:none;cursor:pointer;font-family:inherit;transition:transform .15s}.scene-item:active{transform:scale(.94)}.scene-item-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px}.scene-item-label{font-size:11px;color:var(--text-muted);text-align:center;font-weight:500}.conversation-list{display:flex;flex-direction:column}.conversation-item{display:flex;align-items:center;gap:12px;padding:14px 16px;border:none;background:var(--bg-card);cursor:pointer;text-align:left;font-family:inherit;transition:background .1s;border-bottom:1px solid var(--border-light)}.conversation-item:active{background:var(--bg-hover)}.conversation-icon{width:44px;height:44px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.conversation-body{flex:1;min-width:0}.conversation-title{font-size:var(--font-size-md);font-weight:500;margin-bottom:2px}.conversation-preview{font-size:var(--font-size-sm);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-meta{text-align:right;flex-shrink:0}.conversation-time{font-size:11px;color:var(--text-muted)}.library-item{background:var(--bg-card);border-bottom:1px solid var(--border-light);padding:14px 16px;cursor:pointer;transition:background .1s}.library-item:active{background:var(--bg-hover)}.library-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.library-fan-input{font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:4px}.library-responses{margin-top:10px;display:flex;flex-direction:column;gap:8px}.library-response{padding:10px 14px;background:var(--bg-hover);border-radius:var(--radius);font-size:var(--font-size-md);line-height:1.6;display:flex;justify-content:space-between;align-items:flex-start}.library-expand{color:var(--primary);font-size:var(--font-size-xs);cursor:pointer;margin-top:6px}.persona-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px}.persona-section-title{font-size:var(--font-size-md);font-weight:600;margin-bottom:10px}.persona-tag{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;font-size:var(--font-size-sm);font-weight:500;margin:2px;cursor:pointer}.persona-tag.primary{background:var(--accent-light);color:var(--primary-dark)}.persona-tag.success{background:#e8f5e9;color:#2e7d32}.persona-tag.danger{background:#ffebee;color:#c62828}.danger-zone{background:var(--bg-card);border:1px solid var(--danger);border-radius:var(--radius);padding:16px;margin-bottom:16px}.danger-zone-title{font-size:var(--font-size-md);font-weight:600;color:var(--danger);margin-bottom:8px}.upload-area{border:2px dashed var(--border);border-radius:var(--radius-lg);padding:40px 20px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;background:var(--bg-card)}.upload-area:hover{border-color:var(--primary);background:var(--accent-light)}.empty-state{text-align:center;padding:48px 24px}.empty-state-icon{font-size:48px;margin-bottom:12px;opacity:.6}.empty-state-title{font-size:var(--font-size-lg);font-weight:600;margin-bottom:4px;color:var(--text)}.empty-state-desc{font-size:var(--font-size-sm);color:var(--text-muted)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .25s ease-out}@keyframes bubbleIn{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.bubble-in{animation:bubbleIn .3s ease-out}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading-dot{animation:pulse 1.5s infinite}@keyframes typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.typing-indicator{display:flex;align-items:center;gap:3px;padding:4px 0}.typing-indicator span{display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;animation:typing 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes livePulse{0%,to{box-shadow:0 0 4px var(--success)}50%{box-shadow:0 0 12px var(--success)}}.live-dot{animation:livePulse 2s infinite}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d0d0d0;border-radius:2px}.section-title{font-size:var(--font-size-md);font-weight:600;margin-bottom:10px;color:var(--text)}.divider{height:1px;background:var(--border-light);margin:12px 0}.copy-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000bf;color:#fff;padding:8px 20px;border-radius:20px;font-size:14px;z-index:200;pointer-events:none;animation:fadeIn .2s ease-out}.status-bar{padding:10px 14px;border-radius:var(--radius);font-size:var(--font-size-sm);margin-bottom:12px}.status-bar.error{background:#ffebee;color:var(--danger);border:1px solid #ffcdd2}.status-bar.success{background:#e8f5e9;color:#2e7d32;border:1px solid #c8e6c9}
