:root{font:15px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#202a3a;background:#f5f7fb;--blue:#1b61db;--muted:#778395;--line:#e4e9f1;--surface:#fff}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.45}[hidden]{display:none!important}.assistant-app{height:100dvh;max-width:760px;margin:0 auto;display:flex;flex-direction:column;background:#f5f7fb}.topbar{display:flex;align-items:center;gap:12px;padding:12px 15px 10px;border-bottom:1px solid var(--line);background:rgba(245,247,251,.98);flex-shrink:0}.heading{flex:1;min-width:0;display:flex;align-items:center;gap:10px}.heading-copy{min-width:0}.brand-mark{display:block;flex-shrink:0;border-radius:11px}h1{font-size:18px;line-height:1.4;margin:0;font-weight:650}.heading p{font-size:12px;color:var(--muted);margin:1px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-button{border:0;background:transparent;color:#5a677b;display:grid;place-items:center;width:40px;height:40px;padding:9px;border-radius:10px;flex-shrink:0}.icon-button:hover{background:#e9edf4}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.connection-banner{display:flex;gap:8px;align-items:center;justify-content:space-between;background:#fff5df;color:#77571e;font-size:12px;padding:9px 18px}.connection-banner button{border:0;background:transparent;color:#6b4b14;text-decoration:underline;white-space:nowrap}#conversation{flex:1;overflow:auto;overscroll-behavior:contain;padding:20px 18px 26px;scroll-behavior:smooth}.welcome{text-align:center;padding:clamp(28px,9vh,90px) 8px 35px}.assistant-mark{width:64px;height:64px;margin:0 auto 23px}.assistant-mark img{display:block;width:64px;height:64px;filter:drop-shadow(0 5px 9px #1b61db18)}.welcome h2{font-size:22px;font-weight:650;letter-spacing:.2px;margin:0 0 12px}.welcome p{color:#66758b;font-size:14px;line-height:1.9;margin:0}.example-line{margin-top:28px;color:#8d98a9;font-size:13px;line-height:1.9}.message{margin:0 0 22px;max-width:100%;animation:appear .18s ease-out}.message-role{font-size:11px;color:#8592a5;margin:0 3px 6px}.message-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;font-size:15px}.message.assistant .message-body{padding:1px 3px 4px}.message.user{margin-left:auto;max-width:88%;display:flex;flex-direction:column;align-items:flex-end}.message.user .message-role{display:none}.message.user .message-body{background:#e5edfc;padding:11px 15px;border-radius:16px 16px 4px 16px;color:#223f70;text-align:left}.message-tools{display:flex;gap:14px;margin-top:7px;justify-content:flex-end}.text-button{background:none;border:0;padding:2px;color:#71829a;font-size:12px}.text-button:hover{color:var(--blue)}.plan-card{background:white;border:1px solid var(--line);border-radius:15px;padding:17px;margin-top:12px;box-shadow:0 3px 12px #28395a04}.plan-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.plan-heading h3{margin:0;font-size:16px;font-weight:650}.state-tag{font-size:11px;border-radius:5px;padding:3px 7px;background:#f1f4f9;color:#62728a;white-space:nowrap}.state-tag.success{background:#eaf6ef;color:#36805b}.state-tag.danger{background:#fff0ef;color:#b84b43}.plan-summary{font-size:14px;color:#4f5f76;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 12px}.plan-note{font-size:12px;color:#7a8799;margin:10px 0 0;line-height:1.7}.plan-list{list-style:none;padding:0;margin:10px 0 14px}.plan-list li{border-top:1px solid #eef1f6;padding:9px 0;font-size:14px;line-height:1.7;overflow-wrap:anywhere}.plan-list li strong{font-weight:600;color:#24364e;display:block}.plan-list li span{color:#718096;font-size:12px}.plan-list .failure{color:#b0463f}.plan-card details{margin:12px 0}.plan-card summary{font-size:13px;color:#587093;cursor:pointer}.detail-section{margin:14px 0;font-size:13px;color:#53657b}.detail-section h4{font-size:13px;color:#273b55;margin:10px 0 5px}.detail-section ul{margin:0;padding-left:19px}.detail-section li{margin:5px 0}.card-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}.primary,.secondary,.danger-button{border-radius:9px;border:1px solid transparent;padding:10px 15px;font-size:14px}.primary{background:var(--blue);color:#fff}.secondary{background:#f2f5fa;color:#4b6283;border-color:#e6ebf3}.danger-button{background:#ba4944;color:white}.card-actions>button:first-child{flex:1}.working{display:flex;align-items:center;gap:9px;color:#8190a3;font-size:13px;padding:3px 4px 15px}.pulse-dot{width:6px;height:6px;border-radius:50%;background:#668dc9;animation:pulse 1s infinite alternate}.composer{flex-shrink:0;padding:6px 14px max(12px,env(safe-area-inset-bottom));background:#f5f7fb;border-top:1px solid var(--line)}.composer-status{font-size:12px;min-height:19px;color:#6b7e98;margin:0 0 6px;text-align:center}.composer-row{display:flex;align-items:center;gap:8px}.input-toggle{width:38px;height:44px}.hold-to-talk{flex:1;border:1px solid #dce3ee;background:#fff;box-shadow:0 2px 5px #253c5b03;border-radius:12px;height:52px;display:flex;justify-content:center;align-items:center;gap:9px;color:#334b6c;font-size:16px;font-weight:600;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.hold-to-talk.recording{background:#dfeafa;color:#1e54a1;border-color:#b6ccef}.hold-to-talk.cancel-record{background:#ffefef;color:#ae4545;border-color:#e7c1c1}.hold-to-talk svg{width:20px;height:20px}.input-hint{font-size:11px;text-align:center;color:#93a0b2;margin:7px 0 0}.text-form{display:flex;align-items:flex-end;gap:8px;flex:1}.text-form textarea{flex:1;min-width:0;resize:none;border:1px solid #dce3ee;outline:none;border-radius:12px;background:white;color:#24354e;padding:12px;min-height:50px;max-height:130px;line-height:1.6;font-size:15px}.text-form textarea:focus{border-color:#8cafe7}.send-button{border:0;background:var(--blue);color:white;border-radius:11px;width:42px;height:48px;display:grid;place-items:center}.recording-panel{position:fixed;z-index:10;left:50%;bottom:155px;transform:translateX(-50%);width:210px;border-radius:20px;background:#243b5cf5;box-shadow:0 10px 40px #1b355b25;padding:22px 15px 17px;color:white;text-align:center;pointer-events:none}.recording-panel.cancel{background:#9f4948f5}.recording-panel strong{display:block;margin:13px 0 3px;font-size:16px}.recording-panel span{font-size:12px;color:#d3e1f3}.recording-panel p{font-size:12px;color:#d3e1f3;margin:8px 0 0}.voice-wave{height:30px;display:flex;align-items:center;justify-content:center;gap:5px}.voice-wave i{display:block;width:4px;height:10px;background:#f4f7fe;border-radius:3px;animation:wave .75s infinite alternate}.voice-wave i:nth-child(2),.voice-wave i:nth-child(4){animation-delay:.15s}.voice-wave i:nth-child(3){animation-delay:.3s}.settings-dialog{border:1px solid var(--line);border-radius:20px;padding:22px;width:min(92vw,440px);max-height:85dvh;overflow:auto;color:#24354e}.settings-dialog::backdrop{background:#20334960}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.dialog-heading h2{font-size:18px;margin:0}.dialog-heading .icon-button{font-size:26px}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:8px 0 20px}.switch-row small{display:block;font-size:11px;color:#8592a5;margin-top:3px}.switch-row input{width:19px;height:19px;accent-color:var(--blue)}.full{width:100%}.settings-dialog details{margin-top:23px;font-size:13px}.settings-dialog summary{color:#79879a;cursor:pointer}.settings-note{font-size:12px;color:#8290a4}.settings-dialog input:not([type=checkbox]),.settings-dialog select,.settings-dialog textarea{width:100%;border:1px solid #dce3ee;border-radius:7px;padding:8px;margin:5px 0 11px;background:white;color:#283d59}.settings-dialog label{font-size:13px}.settings-dialog a{font-size:12px;color:#5f7eac}.error-retry{margin-top:10px}.clarification{margin:8px 0 0;padding:0 0 0 18px;font-size:14px;color:#415c81}.clarification li{margin:6px 0}@keyframes appear{from{opacity:.2;transform:translateY(3px)}to{opacity:1;transform:none}}@keyframes pulse{to{opacity:.2}}@keyframes wave{to{height:28px}}@media(min-width:761px){.assistant-app{border-left:1px solid var(--line);border-right:1px solid var(--line)}#conversation{padding:25px 35px}.composer{padding-left:25px;padding-right:25px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}button:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid #76a6f0;outline-offset:3px}
.card-actions{justify-content:flex-end}.card-actions>button:first-child{flex:1 1 100%}.detail-section li{white-space:pre-line}
.plan-card{margin-bottom:22px}
.change-list{padding-left:19px;margin:8px 0 12px;font-size:14px;color:#334b6c}.change-list li{margin:7px 0;line-height:1.7;overflow-wrap:anywhere}.plan-details{border-top:1px solid var(--line);padding-top:10px}.plan-details>summary{font-size:12px;color:#71829a}.message>.plan-note{margin:4px 3px;font-size:12px}
#messages.background-refresh button:disabled,#messages.background-refresh select:disabled{opacity:1}

.ai-badge{display:inline-block;vertical-align:middle;margin-left:7px;padding:1px 5px;border-radius:5px;background:#e5edfc;color:#1b61db;font-size:10px;line-height:1.5;font-weight:700;letter-spacing:.4px}.composer-progress{display:flex;justify-content:center;align-items:center;gap:10px;min-height:25px}.composer-progress .composer-status{margin-bottom:0}.composer-progress .text-button{white-space:nowrap;margin-bottom:3px}.result-feedback{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid #eef1f6;color:#8592a5;font-size:11px}.result-feedback button{border:0;background:#f3f6fb;color:#677b99;border-radius:7px;padding:5px 8px;font-size:11px}.result-feedback button[aria-pressed=true]{background:#e5edfc;color:#1b61db}
