:root{color-scheme:light dark;--app-height: 100dvh;--bg-primary: #f2f2f7;--bg-header: rgba(255, 255, 255, .88);--bg-elevated: #ffffff;--bg-chat: #ffffff;--text-primary: #1c1c1e;--text-secondary: rgba(60, 60, 67, .72);--text-muted: rgba(60, 60, 67, .45);--accent: #007aff;--accent-bg: rgba(0, 122, 255, .1);--accent-bg-hover: rgba(0, 122, 255, .08);--border: rgba(60, 60, 67, .18);--border-accent: rgba(0, 122, 255, .28);--bubble-bg: #e9e9eb;--bubble-sent-bg: #007aff;--bubble-sent-text: #ffffff;--input-bg: #ffffff;--danger: #ff3b30;--danger-bg: rgba(255, 59, 48, .1);--online: #34c759;--shadow: 0 12px 36px rgba(0, 0, 0, .1);--watermark-color: rgba(0, 0, 0, .04)}@media(prefers-color-scheme:dark){:root{--bg-primary: #000000;--bg-header: rgba(28, 28, 30, .88);--bg-elevated: #1c1c1e;--bg-chat: #000000;--text-primary: #f2f2f7;--text-secondary: rgba(235, 235, 245, .72);--text-muted: rgba(235, 235, 245, .45);--accent: #0a84ff;--accent-bg: rgba(10, 132, 255, .18);--accent-bg-hover: rgba(10, 132, 255, .14);--border: rgba(84, 84, 88, .5);--border-accent: rgba(10, 132, 255, .4);--bubble-bg: #2c2c2e;--bubble-sent-bg: #0a84ff;--bubble-sent-text: #ffffff;--input-bg: #1c1c1e;--danger: #ff453a;--danger-bg: rgba(255, 69, 58, .18);--online: #30d158;--shadow: 0 12px 36px rgba(0, 0, 0, .5);--watermark-color: rgba(255, 255, 255, .035)}}*{box-sizing:border-box}html,body{margin:0;height:100%;min-height:100%;overflow:hidden}html{font-size:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro,PingFang SC,Hiragino Sans GB,Microsoft YaHei,system-ui,sans-serif;background:var(--bg-primary);color:var(--text-primary);font-size:.8125rem;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,textarea{font:inherit}button{border:none}a{color:inherit;text-decoration:none}#app{height:var(--app-height);min-height:var(--app-height);overflow:hidden}.panel{width:min(100vw,420px);height:var(--app-height);min-height:var(--app-height);margin:0 auto;display:flex;flex-direction:column;background:var(--bg-primary);box-shadow:var(--shadow);overflow:hidden}@media(min-width:720px){body{display:flex;align-items:center;justify-content:center;background:radial-gradient(1200px 600px at 20% 10%,rgba(255,173,99,.15),transparent 60%),radial-gradient(900px 500px at 85% 85%,rgba(137,188,255,.18),transparent 60%),linear-gradient(180deg,#eef2f8,#f8fafc)}#app{height:auto;min-height:0;width:100%;display:flex;justify-content:center;align-items:center}.panel{height:min(860px,92vh);min-height:600px;border-radius:24px;box-shadow:0 1px 2px #0f172a0f,0 24px 60px -18px #0f172a47;border:1px solid rgba(15,23,42,.06)}}.panel-fatal{justify-content:center;padding:24px 16px}.fatal-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:18px;padding:20px;display:grid;gap:12px}.fatal-card h1,.fatal-card p{margin:0}.fatal-card p,.fatal-hint{color:var(--text-secondary);line-height:1.6}.logo-lockup{display:inline-flex;align-items:center;gap:8px;color:var(--accent);font-weight:700}.titlebar{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:calc(10px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) 10px calc(12px + env(safe-area-inset-left));background:var(--bg-header);border-bottom:1px solid var(--border);flex-shrink:0}.logo-btn{display:inline-flex;align-items:center;gap:6px;padding:4px 6px;background:transparent;color:var(--accent);font-size:14px;font-weight:700;border-radius:8px;cursor:pointer}.logo-btn:hover{background:var(--accent-bg-hover)}.logo-caret{color:var(--text-muted);font-size:11px}.logo-icon{display:inline-block;width:18px;height:18px;border-radius:4px;background:#e64b4b;position:relative;flex-shrink:0}.logo-icon:before,.logo-icon:after{content:"";position:absolute;top:6px;width:4px;height:4px;border-radius:50%;background:var(--bg-elevated)}.logo-icon:before{left:4px}.logo-icon:after{right:4px}.titlebar-actions{display:flex;align-items:center;gap:4px}.ai-badge{display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;border-radius:999px;background:transparent;color:var(--text-secondary);border:1px dashed var(--border-accent);font-size:11px;font-weight:700;cursor:pointer;transition:transform .16s ease,background-color .16s ease,border-color .16s ease,color .16s ease}.ai-badge:hover{transform:translateY(-1px)}.ai-badge-off{background:#ffffffeb}.ai-badge-on{color:#fff;border-style:solid;border-color:#34ad86f2;background:linear-gradient(135deg,#57d5b6,#46a7f3);box-shadow:0 6px 18px #46a7f33d}.ai-badge-busy{color:#1b5d96;border-style:solid;border-color:#4bb2ff73;background:linear-gradient(135deg,#82e6d4f2,#80c6fff2);animation:ai-badge-pulse 1.2s ease-in-out infinite}.ai-badge-off:disabled{opacity:.85}.ai-badge-disabled{opacity:.4;pointer-events:none;cursor:not-allowed;filter:grayscale(.6)}@keyframes ai-badge-pulse{0%,to{box-shadow:0 0 #46a7f329}50%{box-shadow:0 0 0 8px #46a7f30a}}.icon-btn{background:transparent;color:var(--text-primary);padding:4px 6px;border-radius:6px;cursor:pointer}.icon-btn:hover{background:var(--accent-bg-hover)}.icon-btn svg{display:block}.menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10}.menu{position:absolute;top:calc(100% + 4px);left:12px;min-width:196px;padding:6px;border-radius:10px;border:1px solid var(--border);background:var(--bg-elevated);box-shadow:0 14px 36px #18274b24;z-index:11}.menu-item{width:100%;display:flex;align-items:center;gap:8px;padding:9px 10px;background:transparent;border-radius:8px;color:var(--text-primary);cursor:pointer}.menu-item:hover{background:var(--accent-bg-hover)}.menu-item:disabled{opacity:.45;cursor:not-allowed}.menu-item-qr{color:var(--accent);font-weight:700}.menu-icon{width:18px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0}.menu-icon-qr svg{display:block}.menu-label{flex:1;text-align:left}.menu-divider{height:1px;margin:4px 2px;background:var(--border)}.menu-item.danger{color:var(--danger)}.menu-version{margin-top:6px;padding:8px 10px 4px;border-top:1px solid var(--border);color:var(--text-muted);font-size:11px;text-align:center;-webkit-user-select:none;user-select:none}.content{flex:1;min-height:0;display:flex;flex-direction:column}.back-btn{align-self:flex-start;margin:6px 0 0;background:transparent;color:var(--accent);padding:6px 0;cursor:pointer}.back-btn.ghost{visibility:hidden}.qr-content{align-items:center;justify-content:center;padding:18px 18px calc(22px + env(safe-area-inset-bottom));gap:14px;background:var(--bg-elevated)}.qr-topline{width:100%;min-height:28px;display:flex;align-items:center}.qr-title{align-self:center;font-size:14px;color:#727a89}.hint{margin:0;color:var(--text-secondary)}.qr-frame{width:min(220px,72vw);height:min(220px,72vw);display:flex;align-items:center;justify-content:center;border-radius:12px;overflow:hidden;border:1px solid #cddbf2;background:var(--bg-elevated)}.qr-frame svg{width:100%!important;height:100%!important}.qr-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;color:var(--text-muted);text-align:center;background:var(--bg-elevated)}.qr-placeholder span{font-size:30px}.qr-placeholder p{margin:0;line-height:1.5}.qr-placeholder.error{color:var(--danger)}.qr-error{font-size:11px;word-break:break-all}.loading{display:inline-block;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.scan-status{display:flex;align-items:center;gap:6px;justify-content:center;font-size:12px;color:#7f8794}.dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.dot.waiting{background:var(--text-muted);animation:pulse 1.5s ease-in-out infinite}.dot.scanned{background:#f5a623}.dot.error{background:var(--danger)}.dot.idle{background:#0000001f}@keyframes pulse{0%,to{opacity:.35}50%{opacity:1}}.action-btn{min-height:38px;padding:0 16px;border-radius:10px;border:1px solid var(--border-accent);background:var(--accent);color:#fff;font-weight:700;cursor:pointer}.action-btn.ghost{background:transparent;color:var(--text-primary);border-color:var(--border)}.action-btn:disabled{opacity:.5;cursor:not-allowed}.qr-retry-btn{align-self:center;margin-top:4px}.main-content{background:var(--bg-primary)}.conv-list{max-height:112px;overflow-y:auto;border-bottom:1px solid var(--border);background:#eef2f8}.conv-item{display:flex;align-items:center;border-bottom:1px solid rgba(0,0,0,.04)}.conv-item.active{background:#dbe4f0}.conv-main{flex:1;width:100%;display:flex;align-items:center;gap:10px;padding:12px 10px;background:transparent;color:var(--text-primary);text-align:left;cursor:pointer}.avatar-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.avatar-bitmap{width:100%;height:100%;display:block;border-radius:8px}.avatar-online{position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;background:var(--online);border:2px solid #ffffff;box-shadow:0 0 0 1px #0000000f}.agent-avatar-wrap{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;flex-shrink:0;background:linear-gradient(135deg,#57d5b6,#46a7f3);box-shadow:0 8px 20px #46a7f338}.agent-avatar-wrap.bubble{border-radius:10px;box-shadow:0 6px 14px #46a7f32e}.agent-avatar-chip{display:inline-flex;align-items:center;justify-content:center;min-width:22px;padding:0 6px;height:20px;border-radius:999px;background:#ffffff29;color:#fff;font-size:11px;font-weight:700;letter-spacing:.02em}.conv-info{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.conv-name-row{display:flex;align-items:center;gap:8px;min-width:0}.conv-name{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-status,.conv-preview{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-status.online{color:#35b65a}.conv-time{color:var(--text-muted);font-size:12px;flex-shrink:0}.conv-actions{display:flex;align-items:center;gap:2px;padding-right:8px;opacity:0;transition:opacity .15s;flex-shrink:0}.conv-item.active .conv-actions,.conv-item:hover .conv-actions{opacity:1}.conv-btn{width:28px;height:28px;padding:0;border-radius:6px;background:transparent;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.conv-btn:hover{background:var(--accent-bg-hover);color:var(--text-primary)}.conv-btn.danger:hover{background:var(--danger-bg);color:var(--danger)}.conv-btn svg{display:block}.unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;border-radius:999px;background:var(--danger);color:#fff;font-size:10px;font-weight:700}.chat-divider{padding:7px 12px;background:var(--bg-primary);border-bottom:1px solid var(--border);color:var(--text-muted);text-align:center}.helper-banner{margin:10px 10px 0;padding:9px 12px;border-radius:12px;border:1px solid rgba(23,119,218,.12);background:linear-gradient(135deg,#fffffffa,#ecf4fffa);color:var(--text-secondary);line-height:1.45}.helper-banner.online{border-color:#3dc28f3d;background:linear-gradient(135deg,#f4fffcfa,#e8f8fffa);color:#2c6f5d}.helper-banner.working{border-color:#46a7f33d;background:linear-gradient(135deg,#f0fafffa,#e8f3fffa);color:#25639c}.chat-messages{flex:1;min-height:0;overflow-y:auto;padding:10px 10px 14px;display:flex;flex-direction:column;gap:10px;background-color:var(--bg-chat);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='140' viewBox='0 0 240 140'><g transform='rotate(-28 120 70)' fill='rgb(120,120,128)' fill-opacity='0.08' font-family='-apple-system,PingFang SC,sans-serif' font-size='13' font-weight='500'><text x='20' y='40'>app.weclawbot.link</text><text x='20' y='92'>微信ClawBot</text></g></svg>");background-repeat:repeat;background-size:240px 140px;background-attachment:local;overscroll-behavior:contain}.chat-bottom-anchor{width:100%;height:1px;flex-shrink:0}.empty-chat,.empty-list{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;color:var(--text-muted);text-align:center}.empty-chat p,.empty-list p{margin:4px 0}.hint-small{font-size:11px}.message-time{align-self:center;color:var(--text-muted);font-size:12px}.chat-row{display:flex;align-items:flex-start;gap:8px;max-width:92%}.chat-row.sent{align-self:flex-end;flex-direction:row-reverse}.chat-msg{display:flex;flex-direction:column;gap:4px;min-width:0;max-width:calc(100% - 36px)}.chat-msg.sent{align-items:flex-end}.bubble{background:var(--bubble-bg);border:1px solid var(--border);border-radius:0 14px 14px;padding:9px 12px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.chat-msg.sent .bubble{background:var(--bubble-sent-bg);color:var(--bubble-sent-text);border-color:transparent;border-radius:14px 0 14px 14px}.chat-msg.sent .bubble a{color:var(--bubble-sent-text);text-decoration:underline}.bubble-diagnostic{background:#f8fbff;border-color:#46a7f32e;color:#476173;font-size:12px}.msg-time{padding:0 6px;color:var(--text-muted);font-size:12px}.media-link{display:inline-flex;align-self:flex-start}.media-preview{width:min(160px,42vw);max-width:220px;border-radius:10px;border:1px solid rgba(0,0,0,.06);display:block}.attachment-card{display:inline-flex;flex-direction:column;align-items:flex-start;max-width:100%}.media-wrap{position:relative;display:inline-flex;align-self:flex-start}.attachment-action-btn{min-height:28px;padding:0 12px;border-radius:999px;background:#f2f7ff;border:1px solid var(--border-accent);color:var(--accent);font-size:12px;font-weight:600;cursor:pointer}.attachment-action-btn:hover{background:#e6f0ff}.attachment-overlay-btn{position:absolute;right:8px;bottom:8px;min-height:30px;box-shadow:0 6px 18px #0000001f}.attachment-overlay-btn-secondary{right:68px}.file-bubble{display:flex;align-items:center;gap:8px;min-width:0;max-width:280px;width:100%}.file-bubble-copy{flex:1;min-width:0;display:flex;align-items:center;gap:8px}.file-bubble-icon{font-size:18px;flex-shrink:0}.file-bubble-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--accent);font-weight:500}.file-bubble-size{color:var(--text-muted);font-size:11px;flex-shrink:0;text-align:right}.file-download-btn{min-width:54px;padding:0 10px;flex-shrink:0}.audio-bubble{display:flex;flex-direction:column;gap:8px;min-width:220px;max-width:min(280px,72vw)}.audio-bubble-head{display:flex;align-items:center;gap:8px}.audio-bubble-title{flex:1;min-width:0;font-weight:600}.audio-player{width:100%;height:34px}.audio-bubble-placeholder{color:var(--text-muted);font-size:12px}.self-avatar{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:linear-gradient(135deg,#f87171,#ef4444);position:relative}.self-avatar:before,.self-avatar:after,.self-avatar-dot{content:"";position:absolute;width:4px;height:4px;border-radius:50%;background:var(--bg-elevated)}.self-avatar:before{left:8px;top:12px}.self-avatar:after{right:8px;top:12px}.self-avatar-dot{left:12px;top:8px}.input-shell{border-top:1px solid var(--border);padding:8px 10px calc(22px + env(safe-area-inset-bottom));background:var(--bg-elevated);display:flex;flex-direction:column;gap:8px}.picked-file{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;background:var(--bg-primary);border:1px solid var(--border);border-radius:12px}.picked-file-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.picked-file-copy strong,.picked-file-copy span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.picked-file-copy span{color:var(--text-secondary)}.picked-file-clear{width:24px;height:24px;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer}.picked-file-clear:hover{background:var(--accent-bg-hover);color:var(--text-primary)}.input-row{display:flex;align-items:flex-end;gap:8px}.voice-hold-btn{min-height:44px;border-radius:14px;border:1px solid rgba(70,167,243,.22);background:linear-gradient(135deg,#edf7ff,#f4fbff);color:#25639c;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;font-weight:600;touch-action:none;user-select:none;-webkit-user-select:none}.voice-hold-btn.recording{border-color:#e24d4d47;background:linear-gradient(135deg,#fff1f1,#fff7f7);color:#c44141}.voice-hold-btn.processing{border-color:#57d5b647;background:linear-gradient(135deg,#eefbf7,#f4fffb);color:#2c6f5d}.voice-hold-btn:disabled{opacity:.55;cursor:not-allowed}.voice-hold-icon{font-size:16px;line-height:1}.attach-btn{width:42px;height:42px;border-radius:12px;border:1px solid var(--border-accent);background:#f8fbff;color:var(--accent);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;font-size:20px}.attach-btn input{display:none}.attach-btn.disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.msg-input{flex:1;min-height:42px;max-height:110px;resize:none;padding:10px 14px;border-radius:12px;border:1px solid var(--border-accent);background:var(--input-bg);color:var(--text-primary);outline:none;line-height:1.25;font-size:12px}.msg-input::placeholder{color:var(--text-muted)}.msg-input:disabled{background:#f5f5f5;color:var(--text-muted)}.send-btn{width:40px;height:40px;border-radius:50%;background:#edf4ff;color:#8db4eb;display:inline-flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;cursor:pointer}.send-btn:not(:disabled){background:#dceafd;color:var(--accent)}.send-btn:disabled{opacity:.75;cursor:not-allowed}.composer-tip{color:var(--text-muted);font-size:11px;padding:0 2px}.about-content{padding:12px 14px calc(16px + env(safe-area-inset-bottom));gap:12px;overflow-y:auto}.about-card,.log-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:16px;padding:16px}.about-logo{width:56px;height:56px;border-radius:14px;margin:0 auto 10px;background:linear-gradient(135deg,#ff7b7b,#e64b4b);position:relative}.about-logo:before,.about-logo:after{content:"";position:absolute;top:22px;width:8px;height:8px;border-radius:50%;background:var(--bg-elevated)}.about-logo:before{left:14px}.about-logo:after{right:14px}.about-title,.about-version{margin:0;text-align:center}.about-title{font-size:20px}.about-version{margin-top:4px;color:var(--text-muted)}.about-rows{display:grid;gap:10px;margin-top:16px}.about-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.about-label{color:var(--text-muted)}.about-value{color:var(--text-primary);font-weight:500}.log-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.log-list{display:flex;flex-direction:column;gap:6px;max-height:42dvh;overflow-y:auto}.log-line{padding:8px 10px;border-radius:10px;background:#f7f9fc;border:1px solid rgba(0,0,0,.04);color:var(--text-secondary);line-height:1.45;word-break:break-word}.voice-line{display:flex;align-items:center;gap:6px}.voice-line.sent{justify-content:flex-end}.voice-pill.wechat{display:inline-flex;align-items:center;background:#95ec69;border:none;border-radius:14px;padding:8px 14px;height:36px;cursor:pointer;font-family:inherit;transition:filter .15s;box-shadow:0 1px 1px #0000000a}.voice-pill.wechat:hover{filter:brightness(.97)}.voice-pill.wechat:active{filter:brightness(.92)}.voice-wave{color:#000;font-size:16px;font-weight:700;letter-spacing:-1px;line-height:1;font-family:-apple-system,sans-serif}.voice-wave.left{margin-right:auto}.voice-wave.right{margin-left:auto}.voice-dur{font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:22px}#pwa-install-banner{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));background:#ff5252;color:#fff;border-radius:14px;padding:12px 14px;display:flex;align-items:center;gap:10px;box-shadow:0 10px 24px -8px #ff525280;z-index:10000;font-size:14px}#pwa-install-banner span{flex:1}#pwa-install-btn{background:var(--bg-elevated);color:#ff5252;border:none;border-radius:10px;padding:8px 14px;font-size:14px;font-weight:600;cursor:pointer}#pwa-install-dismiss{background:transparent;color:#fff;border:none;width:28px;height:28px;font-size:16px;cursor:pointer;opacity:.8}
