:root{--web-bg: #f6f7fb;--web-text: #20222a;--web-brand: #1a56db;--web-bot-bubble: #ffffff;--web-bot-border: #e7e9ee;--web-user-bubble: #d8fff1;--web-input-bg: #f6f7fa;--web-send-gradient-start: #c4f3ff;--web-send-gradient-end: #c9f7d6;--web-muted: #969ba3;--web-border: #eaedf2;--web-shadow: 0 1px 2px rgba(31, 35, 45, .03)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--web-bg);color:var(--web-text);font-family:PingFang SC,Microsoft YaHei,Noto Sans CJK SC,SimHei,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}button,input{font:inherit}.chat-container{position:relative;width:100%;max-width:430px;height:100%;margin:0 auto;display:flex;flex-direction:column;overflow:hidden;background:var(--web-bg);box-shadow:0 0 0 1px #1418230a}.chat-profile-header{height:72px;flex-shrink:0;display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:8px;padding:7px 14px 0;border-bottom:1px solid rgba(225,229,235,.72);background:#fff;box-shadow:0 1px 5px #1f232d08}.header-icon-button{width:36px;height:36px;justify-self:center;display:inline-grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:var(--web-text);cursor:pointer;text-decoration:none}.header-icon-button:hover{background:#f1f4f7}.header-icon-button:focus-visible{outline:2px solid var(--web-brand);outline-offset:2px}.header-icon-button:disabled{cursor:not-allowed;opacity:.38}.header-icon{width:32px;height:32px;display:block;object-fit:contain}.profile-identity{min-width:0;display:flex;align-items:center;justify-content:center;gap:10px}.profile-avatar,.message-avatar{width:42px;height:42px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;color:#1f3f3b;background:linear-gradient(135deg,#c4f3ff,#c9f7d6);font-size:12px;font-weight:900;overflow:hidden}.avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.profile-copy{min-width:0}.profile-name{color:var(--web-text);font-size:17px;line-height:1.2;font-weight:800}.profile-status{margin-top:4px;color:#69d7a3;font-size:13px;line-height:1.2;font-weight:700}.conversation-drawer-backdrop{position:absolute;z-index:20;top:0;right:0;bottom:0;left:0;display:flex;background:#1a1f2747}.conversation-drawer{width:min(320px,84%);height:100%;display:flex;flex-direction:column;background:#fff;box-shadow:8px 0 24px #12182129;animation:drawer-enter .18s ease-out}.conversation-drawer-head{height:56px;flex-shrink:0;display:flex;align-items:center;padding:0 16px}.conversation-search-wrap{flex:1;min-width:0;display:flex;align-items:center;gap:6px;height:36px;padding:0 10px;border:1px solid #dce2e8;border-radius:8px;background:#f5f7fa;transition:border-color .16s}.conversation-search-wrap:focus-within{border-color:#7fb4ff;background:#fff}.conversation-search-icon{flex-shrink:0;color:#a0a8b4}.conversation-search-input{flex:1;min-width:0;height:100%;padding:0;border:0;background:transparent;color:var(--web-text);font-size:14px;line-height:1;outline:none}.conversation-search-input::placeholder{color:#a0a8b4}.conversation-drawer-list{flex:1;overflow-y:auto;padding:12px}.conversation-drawer-section+.conversation-drawer-section{margin-top:24px}.conversation-drawer-section h3{margin:0 0 8px;padding:0 12px 8px;border-bottom:1px solid #f0f2f5;color:#7b8794;font-size:12px;line-height:1.4;font-weight:800}.conversation-drawer-state{margin:24px 8px;color:#7c8796;font-size:14px;text-align:center}.conversation-drawer-item{width:100%;display:grid;gap:5px;padding:12px;border:0;border-radius:8px;background:transparent;color:var(--web-text);text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-touch-callout:none}.conversation-drawer-item:hover,.conversation-drawer-item:focus-visible{background:#f4f7f8}.conversation-drawer-item strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.conversation-drawer-item span,.conversation-drawer-item time{color:#8993a0;font-size:12px}.conversation-action-layer,.conversation-modal-layer{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#1a1f272e}.conversation-action-card{width:min(184px,calc(100% - 48px));overflow:hidden;border:1px solid #e4e8ef;border-radius:8px;background:#fff;box-shadow:0 14px 36px #1018282e}.conversation-action-card button{width:100%;height:46px;display:flex;align-items:center;gap:10px;padding:0 16px;border:0;border-bottom:1px solid #edf0f3;background:transparent;color:#1f2937;font-size:14px;font-weight:700;text-align:left;cursor:pointer;touch-action:manipulation}.conversation-action-card button:last-child{border-bottom:0}.conversation-action-card button:hover,.conversation-action-card button:focus-visible{background:#f5f8fb}.conversation-action-card button:focus-visible{outline:2px solid #7fb4ff;outline-offset:-2px}.conversation-action-card button.danger,.conversation-modal-actions button.danger{color:#d84040}.conversation-action-card button:disabled,.conversation-modal-actions button:disabled{cursor:default;opacity:.55}.conversation-modal-layer{z-index:3;padding:20px}.conversation-modal{width:min(280px,100%);padding:18px;border-radius:8px;background:#fff;box-shadow:0 18px 44px #10182833}.conversation-modal h3{margin:0 0 12px;color:var(--web-text);font-size:17px;line-height:1.3}.conversation-modal p{margin:0;color:#4b5563;font-size:14px;line-height:1.6}.conversation-modal label{display:grid;gap:8px;color:#4b5563;font-size:13px;font-weight:700}.conversation-modal input{width:100%;height:40px;padding:8px 10px;border:1px solid #d5dde8;border-radius:6px;color:var(--web-text);font:inherit}.conversation-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.conversation-modal-actions button{min-width:72px;height:36px;border:1px solid #d5dde8;border-radius:6px;background:#fff;color:#344054;font-weight:700;cursor:pointer}.conversation-modal-actions button.primary{border-color:#4f46e5;background:#4f46e5;color:#fff}.conversation-action-error{margin-top:10px!important;color:#d84040!important;font-size:13px!important}@keyframes drawer-enter{0%{transform:translate(-100%)}to{transform:translate(0)}}.chat-messages{flex:1;display:flex;flex-direction:column;gap:16px;overflow-y:auto;padding:18px 17px 24px;background:var(--web-bg)}.message{max-width:100%;display:flex;align-items:flex-start;gap:14px}.message.user{align-self:flex-end;flex-direction:row-reverse}.message.bot{align-self:flex-start}.message-bubble{font-size:15px;line-height:1.72;overflow-wrap:break-word;word-break:normal;white-space:pre-wrap}.message.bot .message-bubble{width:min(296px,calc(100vw - 122px));padding:20px 18px 19px;border:1px solid var(--web-bot-border);border-radius:18px;color:#3a3a3a;background:var(--web-bot-bubble);box-shadow:var(--web-shadow);font-weight:400}.message.user .message-bubble{min-width:58px;max-width:78%;padding:10px 14px;border-radius:18px 18px 4px;color:#3a3a3a;background:var(--web-user-bubble);font-weight:400;overflow-wrap:break-word;word-break:normal}.chat-input-area{flex-shrink:0;display:grid;background:transparent}.chat-hints{display:grid;gap:7px;padding:10px 14px}.chat-hints-row{display:flex;align-items:stretch;gap:9px}.hint{min-width:0;width:fit-content;max-width:calc((100% - 9px)/2);min-height:32px;padding:6px 9px;border:1px solid #dbe8fb;border-radius:999px;background:transparent;color:#6f9ee8;font-size:12px;font-weight:800;line-height:1.35;white-space:normal;cursor:pointer}.hint-wide{width:fit-content;max-width:100%}.chat-input-row{display:grid;grid-template-columns:minmax(0,1fr) 40px;align-items:center;gap:10px;padding:4px;border-radius:999px;background:var(--web-input-bg)}.chat-composer{padding:8px 14px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--web-border);background:#fff}.chat-input-row input{width:100%;height:44px;padding:10px 17px;border:0;border-radius:999px;outline:0;background:transparent;color:#3a3a3a;font-size:15px;line-height:1.5;font-weight:400}.chat-input-row input::placeholder{color:#a8adb6}.btn-send{width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:50%;background:linear-gradient(135deg,var(--web-send-gradient-start),var(--web-send-gradient-end));box-shadow:0 1px 6px #53cdbe2e;cursor:pointer}.btn-send svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.btn-send:disabled,.hint:disabled{opacity:.72;cursor:not-allowed}.cursor-blink:after{content:"";display:inline-block;width:2px;height:16px;margin-left:3px;vertical-align:middle;background:#81e6d9;animation:blink .8s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.citation-list,.feedback-actions{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}.feedback-actions{position:relative;justify-content:flex-end;align-items:center;width:100%;gap:4px}.citation-pill{display:inline-flex;padding:2px 8px;border-radius:4px;background:#f0f2f5;color:#646566;font-size:12px;line-height:1.6}.source-list{margin-top:6px;display:grid;gap:3px;color:var(--web-muted);font-size:11px;line-height:1.8}.source-list strong{color:#646566;font-weight:800}.source-list a{color:#1989fa;text-decoration:none}.guard-notice{margin-top:8px;padding:7px 9px;border-radius:8px;color:#b54708;background:#fff3df;font-size:12px;line-height:1.5}.guard-notice.rejected{color:#d92d20;background:#feecec}.feedback-icon-button{width:24px;height:24px;display:grid;place-items:center;padding:3px;border:0;border-radius:50%;background:transparent;color:#596273;cursor:pointer}.feedback-icon-button:hover,.feedback-icon-button:focus-visible,.feedback-icon-button[aria-pressed=true]{background:#eef4ff}.feedback-icon-button:disabled{cursor:default;opacity:.52}.feedback-icon-button.feedback-selected-useful,.feedback-icon-button.feedback-selected-not-useful{opacity:1}.feedback-icon-button.feedback-selected-useful{color:#16a56a;background:#e8f8f0}.feedback-icon-button.feedback-selected-not-useful{color:#df3f46;background:#fff0f1}.feedback-icon-button.feedback-selected-useful svg,.feedback-icon-button.feedback-selected-not-useful svg{stroke:currentColor}.feedback-icon-button svg{width:18px;height:18px;display:block;stroke-width:2.2}.feedback-confirmation{color:#697386;font-size:11px;line-height:24px;white-space:nowrap}.copy-confirmation{position:absolute;right:0;bottom:32px;padding:4px 7px;border-radius:4px;background:#20242c;color:#fff;font-size:11px;line-height:1.3}.history-page{width:100%;max-width:430px;min-height:100%;margin:0 auto;padding:18px;background:var(--web-bg)}.history-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}.history-head a{color:var(--web-brand);font-size:13px;font-weight:800;text-decoration:none}.history-head h1{margin:0;font-size:20px}.history-list{display:grid;gap:12px}.history-item,.history-empty{padding:14px;border:1px solid var(--web-bot-border);border-radius:12px;background:#fff}.history-item strong,.history-item p,.history-item span{display:block}.history-item p{max-height:110px;overflow:hidden;color:#646566;font-size:13px;line-height:1.7}.history-item span,.history-empty{color:var(--web-muted);font-size:12px}.thinking-indicator{--think-spin-duration: 2.4s;--think-pulse-duration: 1.5s;--think-dot-duration: 1.4s;display:flex;flex-direction:column;align-items:center;gap:8px;justify-content:center;min-height:64px;pointer-events:none}.thinking-star-wrapper{display:inline-block;line-height:1;animation:think-spin var(--think-spin-duration) linear infinite;will-change:transform}.thinking-visual{width:52px;height:52px;display:block;color:#78b5fa;stroke-width:1.8;animation:think-pulse var(--think-pulse-duration) ease-in-out infinite}.thinking-text{font-size:15px;font-weight:600;color:var(--web-muted);-webkit-user-select:none;user-select:none;animation:text-breathe 3s ease-in-out infinite}.thinking-dot{animation:dot-blink var(--think-dot-duration) ease-in-out infinite both}.thinking-dot:nth-of-type(1){animation-delay:0s}.thinking-dot:nth-of-type(2){animation-delay:.2s}.thinking-dot:nth-of-type(3){animation-delay:.4s}.thinking-indicator.degraded .thinking-visual,.thinking-indicator.degraded .thinking-star-wrapper,.thinking-indicator.degraded .thinking-text,.thinking-indicator.degraded .thinking-dot{animation:none!important}@keyframes think-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes think-pulse{0%,to{transform:scale(.85)}50%{transform:scale(1.15)}}@keyframes text-breathe{0%,to{opacity:.85}50%{opacity:1}}@keyframes dot-blink{0%,to{opacity:.2}50%{opacity:1}}@media (prefers-reduced-motion: reduce){.thinking-indicator,.thinking-indicator *{animation:none!important}}
