html,body,#root{height:100%;min-height:100svh;min-height:100dvh}#root{width:100%}.lang-switch-btn,.login-lang-btn{min-width:2.5rem;padding:.35rem .65rem;border-radius:8px;border:1px solid rgba(124,109,240,.28);background:#0d1229b8;color:#ffffffd9;font-size:.8125rem;font-weight:600;cursor:pointer;line-height:1.2}.lang-switch-btn:hover,.login-lang-btn:hover{border-color:#7c6df08c;background:#1e293be6}.login-page{position:relative;z-index:1;width:100%;height:100%;min-height:100svh;min-height:100dvh;overflow:hidden}.login-wrapper{position:relative;z-index:1;width:100%;height:100%;min-height:100svh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.login-card{width:400px;max-width:90vw;padding:48px 36px 36px;border-radius:var(--radius-xl, 32px);background:linear-gradient(175deg,#121830e0,#080a1cf0);backdrop-filter:blur(50px);-webkit-backdrop-filter:blur(50px);border:1px solid var(--border-subtle, rgba(255, 255, 255, .06));box-shadow:var( --shadow-card, 0 0 80px rgba(92, 70, 210, .1), 0 30px 80px rgba(0, 0, 0, .55), 0 2px 0 rgba(255, 255, 255, .03) inset );position:relative;animation:login-in .6s var(--ease-out, cubic-bezier(.22, .61, .36, 1))}.login-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:linear-gradient(145deg,#7c6df047,#ffffff08 30%,#ffffff08 70%,#60a5fa2e);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:0}@keyframes login-in{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.login-brand{text-align:center;margin-bottom:32px;position:relative;z-index:1}.login-logo{font-size:2.6rem;display:block;margin-bottom:8px;animation:welcome-float 3s ease-in-out infinite}.login-title{margin:0;font-size:1.8rem;font-weight:700;background:linear-gradient(135deg,var(--text-primary, rgba(255, 255, 255, .93)) 0%,#c4b5fd 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.login-subtitle{font-size:.78rem;color:var(--text-muted, rgba(255, 255, 255, .28));margin:4px 0 0;letter-spacing:.05em}.login-form{position:relative;z-index:1;display:flex;flex-direction:column;gap:14px}.login-error{padding:10px 14px;border-radius:10px;background:#ef44441a;border:1px solid rgba(239,68,68,.25);color:#fca5a5;font-size:.78rem;text-align:center;animation:fade-up .3s var(--ease-out, cubic-bezier(.22, .61, .36, 1))}.login-field{position:relative;display:flex;align-items:center;height:48px;border-radius:14px;border:1.5px solid var(--border-subtle, rgba(255, 255, 255, .06));background:#ffffff0a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:all .3s var(--ease-out, cubic-bezier(.22, .61, .36, 1));overflow:hidden}.login-field:focus-within{border-color:var(--border-focus, rgba(96, 165, 250, .5));box-shadow:0 0 0 3px #60a5fa14,0 0 24px #7c6df014;background:#ffffff0f}.field-icon{flex-shrink:0;width:44px;text-align:center;font-size:1rem;opacity:.45}.field-input{flex:1;height:100%;border:none;background:transparent;color:var(--text-primary, rgba(255, 255, 255, .93));font-size:.875rem;font-family:var(--font-stack);outline:none;padding-right:8px;caret-color:var(--primary-light, #60a5fa);min-width:0}.field-input::placeholder{color:var(--text-muted, rgba(255, 255, 255, .28))}.field-input:-webkit-autofill{-webkit-box-shadow:0 0 0 30px #0d1229 inset!important;-webkit-text-fill-color:var(--text-primary, rgba(255, 255, 255, .93))!important}.field-toggle{flex-shrink:0;width:40px;height:100%;border:none;background:transparent;font-size:1rem;cursor:pointer;opacity:.35;transition:opacity .2s;display:flex;align-items:center;justify-content:center}.field-toggle:hover,.field-toggle.active{opacity:.7}.login-captcha-field{padding-right:0}.captcha-canvas{flex-shrink:0;height:34px;width:90px;margin-right:2px;border-radius:8px;cursor:pointer;border:1px solid var(--border-subtle, rgba(255, 255, 255, .06));transition:border-color .2s;object-fit:cover;background:#ffffff08}.captcha-canvas:hover{border-color:var(--border-glow, rgba(124, 109, 240, .35))}.captcha-refresh{flex-shrink:0;width:30px;height:100%;border:none;background:transparent;font-size:.85rem;cursor:pointer;opacity:.38;transition:opacity .2s;display:flex;align-items:center;justify-content:center}.captcha-refresh:hover{opacity:.7}.login-btn{height:48px;border-radius:14px;border:none;background:linear-gradient(135deg,var(--primary, #7c6df0) 0%,var(--primary-light, #60a5fa) 100%);color:#fff;font-size:.95rem;font-weight:600;font-family:var(--font-stack);cursor:pointer;letter-spacing:.3em;transition:all .3s var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1));box-shadow:0 4px 20px #7c6df059;margin-top:6px;display:flex;align-items:center;justify-content:center}.login-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 30px #7c6df080}.login-btn:active:not(:disabled){transform:scale(.97)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-btn-loading{display:inline-flex;align-items:center;gap:5px}.loading-dot{width:6px;height:6px;border-radius:50%;background:#fffc;animation:dot-bounce 1.2s ease-in-out infinite}.loading-dot:nth-child(1){animation-delay:0s}.loading-dot:nth-child(2){animation-delay:.2s}.loading-dot:nth-child(3){animation-delay:.4s}.login-footer{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:24px;position:relative;z-index:1}.footer-link{background:none;border:none;color:var(--text-muted, rgba(255, 255, 255, .28));font-size:.75rem;font-family:var(--font-stack);cursor:pointer;transition:color .2s;padding:0}.footer-link:hover{color:var(--primary-400, #a78bfa)}.footer-divider{color:var(--border-subtle, rgba(255, 255, 255, .06));font-size:.7rem}.login-agreement{text-align:center;margin:14px 0 0;position:relative;z-index:1;font-size:.68rem;color:var(--text-muted, rgba(255, 255, 255, .28))}.login-agreement a{color:var(--text-secondary, rgba(255, 255, 255, .55));text-decoration:none}.login-agreement a:hover{color:var(--primary-light, #60a5fa)}@media (max-width: 767px){.login-wrapper{padding:0}.login-card{width:100%;max-width:100vw;min-height:100svh;min-height:100dvh;border-radius:0;border:none;box-shadow:none;padding:60px 28px 36px}.login-card:before{display:none}.login-field,.login-btn{height:52px}.field-input{font-size:16px}}.fclaw-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px;background:#060a14b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fclaw-dialog-fade-in .2s ease}.fclaw-dialog-overlay[hidden]{display:none!important}.fclaw-dialog{width:min(340px,100%);padding:24px 22px 20px;border-radius:16px;border:1px solid rgba(248,113,113,.35);background:#0f172af5;box-shadow:0 24px 48px #00000080;text-align:center;animation:fclaw-dialog-slide-in .22s ease}.fclaw-dialog-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0 auto 14px;border-radius:50%;font-size:22px;line-height:1;color:#fca5a5;background:#f871711f;border:1px solid rgba(248,113,113,.28)}.fclaw-dialog-title{margin:0 0 8px;font-size:1.05rem;font-weight:600;color:#f1f5f9}.fclaw-dialog-message{margin:0 0 20px;font-size:.875rem;line-height:1.55;color:#94a3b8}.fclaw-dialog-actions{display:flex;align-items:center;justify-content:center;gap:10px}.fclaw-dialog--confirm{border-color:#7c6df052}.fclaw-dialog--confirm .fclaw-dialog-icon{color:#a78bfa;background:#7c6df01f;border-color:#7c6df047}.fclaw-dialog-btn{min-width:120px;padding:10px 20px;border:none;border-radius:8px;font-size:.9375rem;font-weight:600;font-family:inherit;color:#fff;background:linear-gradient(135deg,#7c6df0,#60a5fa);cursor:pointer}.fclaw-dialog-btn:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.fclaw-dialog-btn--cancel{min-width:96px;color:#e2e8f0;background:#ffffff0f;border:1px solid rgba(255,255,255,.12)}.fclaw-dialog-btn--cancel:hover{background:#ffffff1a}.fclaw-dialog-btn--confirm{min-width:96px}@keyframes fclaw-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes fclaw-dialog-slide-in{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}:root{--primary: #7c6df0;--primary-light: #60a5fa;--primary-400: #a78bfa;--primary-600: #6d5dd4;--bg-deep: #060918;--bg-mid: #0d1229;--bg-surface: rgba(13, 18, 41, .7);--bg-card: rgba(255, 255, 255, .03);--bg-bubble-user: rgba(124, 109, 240, .16);--bg-bubble-ai: rgba(255, 255, 255, .04);--bg-input: rgba(255, 255, 255, .05);--border-subtle: rgba(255, 255, 255, .06);--border-mid: rgba(255, 255, 255, .1);--border-glow: rgba(124, 109, 240, .35);--border-focus: rgba(96, 165, 250, .5);--text-primary: rgba(255, 255, 255, .93);--text-secondary: rgba(255, 255, 255, .55);--text-muted: rgba(255, 255, 255, .28);--shadow-card: 0 0 80px rgba(92, 70, 210, .1), 0 30px 80px rgba(0, 0, 0, .55), 0 2px 0 rgba(255, 255, 255, .03) inset;--shadow-bubble: 0 2px 16px rgba(0, 0, 0, .3);--radius-sm: 10px;--radius-md: 16px;--radius-lg: 22px;--radius-xl: 32px;--space-md: 16px;--space-lg: 20px;--ease-out: cubic-bezier(.22, .61, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--font-stack: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--safe-bottom: env(safe-area-inset-bottom, 0px);--keyboard-inset: 0px;--mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--bg0: var(--bg-deep);--bg1: var(--bg-mid);--surface: rgba(255, 255, 255, .05);--surface2: rgba(255, 255, 255, .09);--border: var(--border-glow);--border-soft: var(--border-subtle);--text: var(--text-primary);--muted: var(--text-secondary);--accent: var(--primary-light);--accent2: var(--primary);--accent-glow: rgba(124, 109, 240, .35);--user-bubble: linear-gradient(140deg, rgba(124, 109, 240, .28) 0%, rgba(96, 165, 250, .14) 100%);--bot-bubble: linear-gradient(140deg, rgba(255, 255, 255, .04) 0%, rgba(255, 255, 255, .02) 100%);--danger: #fb7185;--ok: #4ade80;--radius: var(--radius-md);--font: var(--font-stack);--scroll-track: transparent;--scroll-thumb: rgba(255, 255, 255, .1);--chat-fs-xs: 12px;--chat-fs-sm: 13px;--chat-fs-base: 14px;--chat-fs-md: 15px;--chat-fs-lg: 16px;--chat-lh: 1.58;--chat-lh-tight: 1.45;--chat-color-h1: #c4b5fd;--chat-color-h2: #a78bfa;--chat-color-h3: #93c5fd;--chat-color-h4: rgba(196, 181, 253, .88);--chat-color-h-gradient: linear-gradient(92deg, #e0e7ff 0%, #c4b5fd 55%, #93c5fd 100%);--chat-color-caption: rgba(167, 139, 250, .82);--chat-color-sender-user: #a78bfa;--chat-color-sender-bot: #93c5fd;--chat-color-title: var(--chat-color-h2);--chat-color-body: var(--text-primary);--chat-color-secondary: var(--text-secondary);--chat-color-muted: var(--text-muted);--chat-color-strong: rgba(255, 255, 255, .9);--chat-color-table-head: rgba(255, 255, 255, .64);--chat-color-table-cell: rgba(255, 255, 255, .72);--table-bg: rgba(8, 10, 28, .28);--table-head-bg: rgba(255, 255, 255, .065);--table-head-border: rgba(124, 109, 240, .15);--table-row-bg: transparent}*,*:before,*:after{box-sizing:border-box}html{height:100%;min-height:100svh;min-height:100dvh;overflow:hidden}html,body{margin:0;font-family:var(--font-stack);color:var(--text-primary);background:var(--bg-deep);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}body{height:100%;min-height:100svh;min-height:100dvh;max-height:100dvh;overflow:hidden;overscroll-behavior:none;position:relative;display:flex;align-items:center;justify-content:center}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:radial-gradient(circle,rgba(124,109,240,.04) 1px,transparent 1px);background-size:24px 24px;opacity:.6}body:after{content:"";position:fixed;z-index:0;pointer-events:none;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(124,109,240,.06) 0%,transparent 70%);top:10%;left:50%;transform:translate(-50%,-50%);animation:bg-glow-drift 12s ease-in-out infinite alternate}@keyframes bg-glow-drift{0%{transform:translate(-50%,-50%) scale(1);opacity:.7}to{transform:translate(-48%,-48%) scale(1.2);opacity:.4}}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.app-root{position:relative;isolation:isolate;z-index:1;width:100%;height:100%;min-height:100svh;min-height:100dvh}.app-wrapper{position:relative;z-index:1;width:100%;height:100%;min-height:100svh;min-height:100dvh;display:flex;align-items:center;justify-content:center}.app-card{position:relative;width:480px;height:820px;max-width:100vw;max-height:100vh;max-height:100dvh;border-radius:var(--radius-xl);background:linear-gradient(175deg,#121830e0,#080a1cf0 60%,#060918f5);backdrop-filter:blur(50px);-webkit-backdrop-filter:blur(50px);border:1px solid var(--border-subtle);box-shadow:var(--shadow-card);display:flex;flex-direction:column;overflow:hidden}.app-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:linear-gradient(145deg,#7c6df047,#ffffff08 30%,#ffffff08 70%,#60a5fa2e);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:2}.status-bar{display:none!important}.app-header{position:relative;z-index:3;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:14px var(--space-lg) 14px}.header-left{display:flex;align-items:center;gap:10px;min-width:0}.status-dot{width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 6px #4ade8080,0 0 14px #4ade8033;animation:status-breathe 2.5s ease-in-out infinite;flex-shrink:0}.status-dot--busy{background:var(--primary-light);box-shadow:0 0 6px #60a5fa80;animation:pulse 1.2s ease-in-out infinite}.status-dot--offline{background:var(--danger);box-shadow:0 0 6px #fb718580;animation:none}@keyframes status-breathe{0%,to{box-shadow:0 0 5px #4ade8066,0 0 10px #4ade8026}50%{box-shadow:0 0 10px #4ade80b3,0 0 22px #4ade8059}}.brand-row{display:flex;align-items:baseline;gap:3px;min-width:0}.brand-name{font-size:1.15rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em;background:linear-gradient(135deg,var(--text-primary) 0%,#c4b5fd 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.brand-subtitle{font-size:.7rem;color:var(--text-muted);font-weight:400;white-space:nowrap}.header-right{display:flex;gap:4px;align-items:center;flex-shrink:0}.header-btn{width:32px;height:32px;border-radius:50%;border:none;background:#ffffff0a;color:var(--text-secondary);font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s var(--ease-out);padding:0;line-height:1}.header-btn:hover{background:#ffffff1a;color:var(--text-primary);transform:scale(1.08)}.header-btn:active{transform:scale(.92)}.header-btn.is-on{color:var(--primary-400);background:#7c6df026}.header-btn.is-unsupported{opacity:.35}.header-btn svg{width:16px;height:16px}.header-divider{height:1px;margin:0 var(--space-lg);background:linear-gradient(to right,transparent,rgba(255,255,255,.06) 20%,rgba(255,255,255,.06) 80%,transparent);flex-shrink:0}.voice-pill{display:none;align-items:center;gap:5px;padding:3px 8px;border-radius:12px;font-size:.68rem;color:var(--text-muted);background:#ffffff0a}.voice-pill.is-active{display:inline-flex}.voice-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.voice-pill--rec .voice-dot{background:#f87171;animation:pulse .9s ease-in-out infinite}.voice-pill--stt .voice-dot{background:#fbbf24;animation:pulse 1.2s ease-in-out infinite}.voice-pill--rec .voice-label{color:#fecaca}.voice-pill--stt .voice-label{color:#fde68a}.chat-area,.chat-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--space-md);position:relative;z-index:3;display:flex;flex-direction:column;gap:2px;min-height:0;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:transparent transparent;background:transparent}.chat-area:hover,.chat-scroll:hover{scrollbar-color:var(--scroll-thumb) var(--scroll-track)}.date-separator{display:flex;align-items:center;gap:10px;margin:14px 0 10px;animation:fade-up .4s var(--ease-out) forwards}.date-separator:before,.date-separator:after{content:"";flex:1;height:1px;background:linear-gradient(to right,transparent,rgba(255,255,255,.06),transparent)}.date-label{font-size:.68rem;color:var(--text-muted);letter-spacing:.04em;white-space:nowrap}.welcome-block,.welcome-card{text-align:center;padding:var(--space-lg) var(--space-md);animation:fade-up .7s var(--ease-out) .15s both;margin:0;border:none;background:transparent;box-shadow:none;max-width:none}.welcome-emoji{font-size:3rem;margin-bottom:14px;display:block;animation:welcome-float 3.5s ease-in-out infinite}@keyframes welcome-float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.welcome-title{font-size:1.2rem;font-weight:700;color:var(--text-primary);margin:0 0 6px;letter-spacing:-.01em}.welcome-title strong{background:linear-gradient(135deg,var(--text-primary) 0%,#c4b5fd 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.welcome-desc{font-size:.8rem;color:var(--text-secondary);line-height:1.6;max-width:270px;margin:0 auto}.quick-actions,.welcome-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:var(--space-md)}.quick-chip,.welcome-chip{padding:8px 16px;border-radius:20px;border:1px solid var(--border-mid);background:#ffffff08;color:var(--text-secondary);font-size:.78rem;cursor:pointer;font-family:var(--font-stack);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:all .25s var(--ease-out);white-space:nowrap}.quick-chip:hover,.welcome-chip:hover{border-color:var(--border-glow);color:var(--text-primary);background:#7c6df01f;transform:translateY(-2px);box-shadow:0 6px 18px #7c6df026}.quick-chip:active,.welcome-chip:active{transform:scale(.95)}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.msg,.message-row{display:flex;flex-direction:column;max-width:84%;margin-bottom:8px;animation:msg-enter .5s var(--ease-out) forwards;opacity:0}.msg-user,.message-row.user{align-self:flex-end;align-items:flex-end}.msg-bot,.message-row.ai{align-self:flex-start;align-items:flex-start;max-width:92%}@keyframes msg-enter{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.msg-meta{display:none}.msg-body,.bubble{padding:10px 15px;border-radius:var(--radius-md);font-size:.875rem;line-height:1.58;word-break:break-word;text-align:left;position:relative;box-shadow:var(--shadow-bubble);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);max-width:100%;color:var(--text-primary)}.msg-user .msg-body,.message-row.user .bubble{background:linear-gradient(140deg,#7c6df047,#60a5fa24);border:1px solid rgba(124,109,240,.18);border-bottom-right-radius:6px}.msg-bot .msg-body,.message-row.ai .bubble{background:linear-gradient(140deg,#ffffff0a,#ffffff05);border:1px solid var(--border-subtle);border-bottom-left-radius:6px;width:auto;max-width:100%;box-shadow:var(--shadow-bubble)}.msg-user .msg-body:after,.message-row.user .bubble:after{content:"";position:absolute;top:0;left:0;right:0;height:45%;border-radius:inherit;border-bottom-left-radius:0;border-bottom-right-radius:0;background:linear-gradient(to bottom,rgba(255,255,255,.07) 0%,transparent 100%);pointer-events:none}.msg-bot .msg-body.is-streaming{min-height:2.75em}.msg-footer{display:flex;align-items:center;gap:8px;margin-top:4px;padding:0 6px}.msg-time,.timestamp{font-size:.63rem;color:var(--text-muted);letter-spacing:.03em}.msg-tokens{font-size:.63rem;color:var(--text-muted);opacity:.75}.msg-time.msg-time--pending{display:none}.msg-body p{margin:0 0 8px}.msg-body p:last-child{margin-bottom:0}.msg-body code{font-family:var(--mono);font-size:var(--chat-fs-sm);padding:1px 5px;border-radius:6px;background:#0000004d;border:1px solid rgba(255,255,255,.08)}.msg-body a{color:var(--primary-light)}.thinking-row{align-self:flex-start;padding:4px 0;opacity:1;animation:none;max-width:none}.thinking-bubble{display:inline-flex;align-items:center;gap:3px;padding:10px 16px;border-radius:var(--radius-md);background:var(--bg-bubble-ai);border:1px solid var(--border-subtle);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.thinking-bubble span{width:5px;height:5px;border-radius:50%;background:var(--text-secondary);animation:dot-bounce 1.3s ease-in-out infinite}.thinking-bubble span:nth-child(1){animation-delay:0s}.thinking-bubble span:nth-child(2){animation-delay:.18s}.thinking-bubble span:nth-child(3){animation-delay:.36s}@keyframes dot-bounce{0%,60%,to{transform:translateY(0);opacity:.35}30%{transform:translateY(-5px);opacity:1}}@keyframes pulse{0%,to{opacity:.5;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}.input-area,.composer{position:relative;z-index:3;flex-shrink:0;padding:8px var(--space-md) var(--space-md);padding-bottom:calc(var(--space-md) + var(--safe-bottom) + var(--keyboard-inset));background:linear-gradient(to top,#080a1cbf,#080a1c4d);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.input-tabs{display:none}.mode-toggle-btn{flex-shrink:0;width:36px;height:36px;border-radius:50%;border:none;background:transparent;color:var(--text-muted);font-size:1.05rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0;line-height:1}.mode-toggle-btn:hover:not(:disabled){color:var(--primary-light);background:#ffffff0f;transform:scale(1.08)}.mode-toggle-btn:disabled{opacity:.35;cursor:not-allowed}.input-row{display:flex;align-items:center;gap:8px}.voice-toast{margin:0 4px 8px;padding:8px 12px;border-radius:10px;font-size:12px;line-height:1.4;color:#fde68a;border:1px solid rgba(251,191,36,.35);background:#fbbf241a}.voice-hold-area{position:relative;width:100%;animation:voice-in .3s var(--ease-out)}@keyframes voice-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.voice-wave-row{display:flex;align-items:center;justify-content:center;gap:3px;height:26px;margin-bottom:6px}.voice-wave-row .bar{width:3px;border-radius:2px;background:#f97316;opacity:.85;transition:height .08s ease;display:inline-block;align-self:center}.voice-hold-btn.is-composer-hold:not(.is-voice-recording){min-height:46px;border-radius:var(--radius-lg);border:1.5px solid var(--border-glow);background:linear-gradient(135deg,#7c6df029,#60a5fa14);box-shadow:none;padding:0 16px}.voice-hold-btn.is-composer-hold:not(.is-voice-recording) .composer-hold-hint{justify-content:center;text-align:center;color:var(--text-secondary);font-size:.88rem;letter-spacing:.02em}.voice-hold-btn.is-voice-recording,.input-wrap.is-voice-recording,.voice-hold-btn.recording{min-height:46px;height:46px;border-radius:var(--radius-lg);border:1.5px solid rgba(239,68,68,.55);background:linear-gradient(135deg,#ef444452,#78141e8c 45%,#f9731629);color:#fca5a5;box-shadow:0 0 0 1px #ef44442e inset,0 -1px #ff505059 inset,0 0 30px #ef444438;animation:hold-pulse .7s ease-in-out infinite;padding:0 16px;gap:0}@keyframes hold-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.015)}}.composer-hold-hint--recording{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;width:100%;text-align:center;color:#f0c4c4;font-size:.88rem;letter-spacing:.02em;visibility:visible!important}.rec-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:radial-gradient(circle at 30% 30%,#ff7a7a,#ef4444 55%,#b91c1c);box-shadow:0 0 8px #ef4444b3;animation:rec-dot-pulse .9s ease-in-out infinite}@keyframes rec-dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.72;transform:scale(.92)}}.input-wrap.is-voice-recording .upload-btn,.input-wrap.is-voice-recording .send-btn{display:none}.voice-hold-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;flex-direction:column;justify-content:flex-end;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease}.voice-hold-overlay.is-visible{opacity:1;visibility:visible}.voice-hold-overlay--stt .voice-hold-overlay__gradient{background:linear-gradient(180deg,transparent 0%,rgba(251,191,36,.06) 18%,rgba(245,158,11,.28) 55%,rgba(217,119,6,.52) 100%)}.voice-stt-spinner{width:36px;height:36px;border-radius:50%;border:3px solid rgba(255,255,255,.25);border-top-color:#fffffff2;animation:voice-stt-spin .75s linear infinite}@keyframes voice-stt-spin{to{transform:rotate(360deg)}}.voice-hold-overlay__gradient{position:absolute;left:0;right:0;bottom:0;height:min(36vh,220px);background:linear-gradient(180deg,transparent 0%,rgba(124,109,240,.06) 30%,rgba(124,109,240,.22) 100%)}.voice-hold-overlay__content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:14px;padding:0 24px calc(28px + var(--safe-bottom))}.voice-hold-overlay__hint{margin:0;font-size:15px;font-weight:500;letter-spacing:.02em;color:#ffffffeb}@media (min-width: 768px) and (max-width: 1023px){.app-card{width:560px;height:92vh;border-radius:28px}.msg-body,.bubble{font-size:.9rem}.brand-name{font-size:1.2rem}}@media (max-width: 767px){.app-card{width:100%;height:100%;max-height:100dvh;border-radius:0;border:none;box-shadow:none}.app-card:before{display:none}.app-header{padding:6px 14px 12px;padding-top:calc(6px + env(safe-area-inset-top,0px))}.status-bar{display:none}.chat-area,.chat-scroll{padding:10px 12px}.input-area,.composer{padding:6px 12px 12px;padding-bottom:calc(12px + var(--safe-bottom) + var(--keyboard-inset))}.msg-body,.bubble{font-size:.875rem;padding:10px 14px}.msg,.message-row{max-width:88%}}.app-bg,#statusPill,#newChatBtn.legacy-hidden{display:none!important}.md-content{word-break:break-word;font-size:var(--chat-fs-base);line-height:var(--chat-lh);color:var(--chat-color-body)}.md-content>:first-child{margin-top:0}.md-content>:last-child{margin-bottom:0}.md-content h1,.md-content h2,.md-content h3,.md-content h4{margin:14px 0 8px;line-height:var(--chat-lh-tight);font-weight:600}.md-content h1{font-size:var(--chat-fs-lg);color:var(--chat-color-h1);background:var(--chat-color-h-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.md-content h2{font-size:var(--chat-fs-md);color:var(--chat-color-h2);background:var(--chat-color-h-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.md-content h3{font-size:var(--chat-fs-base);color:var(--chat-color-h3)}.md-content h4{font-size:var(--chat-fs-sm);color:var(--chat-color-h4)}.md-content p{margin:0 0 8px;color:var(--chat-color-body)}.md-content ul,.md-content ol{margin:0 0 8px;padding-left:1.35em;color:var(--chat-color-body)}.md-content li{margin:4px 0}.md-content strong,.md-content b{font-weight:600;color:var(--chat-color-strong)}.md-content p:has(+ul),.md-content p:has(+ol){margin:16px 0 8px;font-size:var(--chat-fs-base);font-weight:600;line-height:var(--chat-lh-tight);letter-spacing:.02em;color:var(--chat-color-h3)}.md-content>p:has(+ul):first-child,.md-content>p:has(+ol):first-child{margin-top:0}.md-content p:has(+ul) strong,.md-content p:has(+ul) b,.md-content p:has(+ol) strong,.md-content p:has(+ol) b{font-weight:inherit;color:inherit;background:none;-webkit-text-fill-color:currentColor}.md-content p:has(+ul):not(:has(strong,b)),.md-content p:has(+ol):not(:has(strong,b)){font-size:var(--chat-fs-xs);letter-spacing:.04em;color:var(--chat-color-caption)}.md-content blockquote{margin:0 0 8px;padding:6px 10px;border-left:3px solid rgba(56,189,248,.45);color:var(--chat-color-secondary);background:#0003;border-radius:0 8px 8px 0;font-size:var(--chat-fs-sm)}.md-content pre{margin:0 0 10px;padding:10px 12px;overflow-x:auto;border-radius:10px;background:#0000002e;border:1px solid rgba(255,255,255,.08);font-family:var(--mono);font-size:var(--chat-fs-sm);line-height:var(--chat-lh-tight);color:var(--chat-color-body)}.md-content pre code{padding:0;border:0;background:transparent;font-size:inherit}.md-content table{width:100%;margin:0 0 10px;border-collapse:separate;border-spacing:0;font-size:var(--chat-fs-sm);border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:var(--table-bg)}.md-table-layout-host{max-width:100%}.md-content th,.md-content td{padding:9px 12px;border:0;border-bottom:1px solid rgba(255,255,255,.06);text-align:left;vertical-align:middle;line-height:var(--chat-lh-tight)}.md-content td{font-size:var(--chat-fs-sm);color:var(--chat-color-table-cell);word-break:break-word;background:var(--table-row-bg)}.md-content table img{display:block;max-width:80px;width:auto;height:auto;object-fit:contain}.md-content .md-media-preview{display:inline-block;max-width:100%;vertical-align:middle}.md-content .md-media-preview-group{display:inline-flex;flex-wrap:wrap;align-items:flex-start;gap:8px;vertical-align:middle}.md-content .md-media-preview-img{display:block;max-width:80px;width:auto;height:auto;object-fit:contain;border-radius:6px;border:1px solid rgba(255,255,255,.1)}.md-content .md-media-preview-video{display:block;max-width:80px;width:100%;height:auto;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:#00000040}.md-record-list{display:flex;flex-direction:column;gap:10px;margin:0 0 10px}.md-record-card{padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#00000024}.md-record-card+.md-record-card{margin-top:0}.md-record-row{display:grid;grid-template-columns:6.5em minmax(0,1fr);gap:8px 12px;align-items:start;padding:7px 0}.md-record-row+.md-record-row{border-top:1px solid rgba(255,255,255,.06)}.md-record-label{margin:0;font-size:var(--chat-fs-xs);font-weight:500;color:var(--chat-color-secondary);letter-spacing:.02em;white-space:nowrap}.md-record-value{margin:0;font-size:var(--chat-fs-sm);color:var(--chat-color-body);word-break:break-word}.md-record-value img,.md-record-value .md-media-preview-img,.md-record-value .md-media-preview-video{max-width:80px;width:auto;height:auto}.md-content tr:last-child th,.md-content tr:last-child td{border-bottom:0}.md-content thead th,.md-content tr:first-child th{font-size:var(--chat-fs-xs);font-weight:600;letter-spacing:.04em;color:var(--chat-color-table-head);background:var(--table-head-bg);border-bottom:1px solid var(--table-head-border)}.md-fallback{white-space:pre-wrap;word-break:break-word}.file-download-card{display:inline-flex;flex-direction:column;align-items:flex-start;gap:10px;max-width:100%;padding:4px 0}.file-download-square{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:120px;height:120px;border-radius:16px;text-decoration:none;color:#e8f0ffe0;overflow:hidden;flex-shrink:0;box-shadow:0 8px 22px #00000052,inset 0 1px #ffffff14;transition:transform .2s ease,box-shadow .2s ease}.file-download-square:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,255,255,.07) 0%,transparent 55%);pointer-events:none}.file-download-square:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;border:1px solid rgba(255,255,255,.08);pointer-events:none}.file-download-square--xls{background:linear-gradient(145deg,#141928,#1a2238 42%,#222a42 72%,#28304a)}.file-download-square--file{background:linear-gradient(145deg,#121822,#172030 42%,#1c2838 72%,#223040)}.file-download-square:hover{transform:translateY(-3px);box-shadow:0 12px 28px #00000061,inset 0 1px #ffffff1a}.file-download-square--xls:hover{box-shadow:0 12px 28px #00000061,0 0 0 1px #6366f11f,inset 0 1px #ffffff1a}.file-download-square--file:hover{box-shadow:0 12px 28px #00000061,0 0 0 1px #38bdf81a,inset 0 1px #ffffff1a}.file-download-ext{position:relative;z-index:1;font-size:24px;font-weight:800;letter-spacing:.08em;line-height:1;color:#e8f0ffd1;text-shadow:none;pointer-events:none}.file-download-action{position:absolute;left:0;right:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:9px 8px;font-size:12px;font-weight:600;line-height:1;color:#e8f0ffb8;background:#00000047;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-top:1px solid rgba(255,255,255,.06)}.file-download-action-icon{display:block;flex-shrink:0;opacity:.95}.file-download-name{max-width:120px;font-size:12px;line-height:1.4;color:var(--muted);text-align:left;word-break:break-all}.msg-body-content+.msg-body-content{margin-top:8px}.msg-bot .msg-body-content{color:var(--chat-color-body);font-size:var(--chat-fs-base);line-height:var(--chat-lh)}.msg-bot .msg-body-content .md-content{color:inherit;font-size:inherit;line-height:inherit}.msg-bot .msg-body-content .md-content h1{font-size:var(--chat-fs-lg)}.msg-bot .msg-body-content .md-content h2{font-size:var(--chat-fs-md)}.msg-bot .msg-body-content .md-content h3{font-size:var(--chat-fs-base)}.msg-bot .msg-body-content .md-content h4{font-size:var(--chat-fs-sm)}.msg-bot .msg-body-content .md-content>ul{margin:6px 0 10px;padding:4px 0;list-style:none;border-radius:10px;background:#00000024;border:1px solid rgba(255,255,255,.06)}.msg-bot .msg-body-content .md-content>ul>li{padding:10px 14px;margin:0;line-height:var(--chat-lh);font-size:var(--chat-fs-sm);color:var(--chat-color-body);border-bottom:1px solid rgba(255,255,255,.05)}.msg-bot .msg-body-content .md-content>ul>li:last-child{border-bottom:0}.msg-bot .msg-body-content .md-content>ol{margin:6px 0 10px;padding:4px 0;list-style:none;counter-reset:bot-list;border-radius:10px;background:#00000024;border:1px solid rgba(255,255,255,.06)}.msg-bot .msg-body-content .md-content>ol>li{position:relative;padding:10px 14px 10px 40px;margin:0;line-height:var(--chat-lh);font-size:var(--chat-fs-sm);color:var(--chat-color-body);counter-increment:bot-list;border-bottom:1px solid rgba(255,255,255,.05)}.msg-bot .msg-body-content .md-content>ol>li:last-child{border-bottom:0}.msg-bot .msg-body-content .md-content>ol>li:before{content:counter(bot-list);position:absolute;left:14px;top:12px;min-width:18px;height:18px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--chat-color-secondary);background:#ffffff0f;border-radius:5px;line-height:1}.msg-bot .msg-body-content .md-content>ol>li strong,.msg-bot .msg-body-content .md-content>ul>li strong{font-family:var(--mono);font-size:var(--chat-fs-xs);font-weight:600;color:var(--chat-color-strong);letter-spacing:.01em;word-break:break-all}.msg-bot .msg-body>.md-content,.msg-task-notify .md-content,.msg-task-notify .md-content th,.msg-task-notify .md-content td{color:var(--chat-color-body)}.msg-task-notify{display:flex;align-items:flex-start;gap:12px}.msg-task-notify .md-content{flex:1;min-width:0}.msg-task-notify-icon{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-top:1px;border-radius:10px}.msg-task-notify-icon--progress{color:var(--accent);background:#38bdf81f;border:1px solid rgba(56,189,248,.2)}.msg-task-notify-icon--done{color:var(--ok);background:#34d3991a;border:1px solid rgba(52,211,153,.25)}.task-notify-md{font-size:var(--chat-fs-base);line-height:var(--chat-lh);color:var(--chat-color-body)}.task-notify-title{margin:0 0 12px;font-size:var(--chat-fs-md);font-weight:600;letter-spacing:.02em;color:var(--chat-color-h2);background:var(--chat-color-h-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.task-notify-meta{display:flex;flex-direction:column;gap:0;margin:0 0 14px;padding:10px 12px;border-radius:10px;background:#00000038;border:1px solid rgba(255,255,255,.06)}.task-notify-meta-row{display:grid;grid-template-columns:6.5em minmax(0,1fr);gap:10px 12px;align-items:baseline;padding:7px 0}.task-notify-meta-row+.task-notify-meta-row{border-top:1px solid rgba(255,255,255,.05)}.task-notify-meta dt{margin:0;font-size:var(--chat-fs-xs);font-weight:500;color:var(--chat-color-secondary);letter-spacing:.02em;white-space:nowrap}.task-notify-meta dd{margin:0;font-size:var(--chat-fs-sm);font-weight:500;color:var(--chat-color-body);word-break:break-all}.task-notify-value--mono{font-family:var(--mono);font-size:var(--chat-fs-xs);font-weight:400;color:inherit;opacity:.92;letter-spacing:.01em}.task-notify-value--duration{color:var(--accent);font-weight:600}.task-notify-table-wrap{overflow-x:auto;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:var(--table-bg)}.task-notify-table-wrap table{margin:0;font-size:13px;border:0;border-radius:0;background:transparent;overflow:visible}.task-notify-table-wrap th,.task-notify-table-wrap td{padding:10px 12px;border:0;border-bottom:1px solid rgba(255,255,255,.07);vertical-align:middle}.task-notify-table-wrap tr:last-child th,.task-notify-table-wrap tr:last-child td{border-bottom:0}.msg-task-notify .md-content .task-notify-table-wrap th,.msg-task-notify .md-content .task-notify-table-wrap td,.msg-task-notify .md-content>table th,.msg-task-notify .md-content>table td,.msg-task-notify .md-content table th,.msg-task-notify .md-content table td{color:var(--chat-color-table-cell)}.task-notify-table-wrap th{font-size:var(--chat-fs-xs);font-weight:600;letter-spacing:.04em;text-transform:none;color:var(--chat-color-table-head);background:var(--table-head-bg);border-bottom:1px solid var(--table-head-border)}.task-notify-table-wrap td{color:var(--chat-color-table-cell);background:var(--table-row-bg)}.task-notify-status{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:12px;line-height:1.2;white-space:nowrap}.task-notify-status--running{color:var(--accent);background:#38bdf824;border:1px solid rgba(56,189,248,.28)}.task-notify-status--running:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;animation:tool-pulse 1.2s ease-in-out infinite}.task-notify-status--success{color:var(--ok);background:#34d3991f;border:1px solid rgba(52,211,153,.28)}.task-notify-status--failed{color:var(--danger);background:#fb71851f;border:1px solid rgba(251,113,133,.28)}.task-notify-status--cancelled,.task-notify-status--pending{color:var(--muted);background:#ffffff0f;border:1px solid rgba(255,255,255,.1)}.tool-panel{display:flex;flex-direction:column;gap:12px;margin-bottom:14px}.tool-panel--after{margin-bottom:0;margin-top:14px}.tool-panel--after-tool{margin-top:12px}.tool-panel+.tool-panel{margin-top:12px}.tool-panel+.msg-body-content{margin-top:14px}.tool-inline{display:inline-block;max-width:100%;padding:5px 10px;font-family:var(--mono),"Segoe UI Emoji","Apple Color Emoji",sans-serif;font-size:12px;line-height:1.45;color:#e8f0ffd1;word-break:break-all;border-radius:8px;background:#00000038;border:1px dashed rgba(255,255,255,.14)}.tool-inline--running{border-color:#38bdf859;background:#38bdf814}.tool-inline--done{border-color:#34d39947;background:#34d3990f}.tool-card{border:1px solid var(--border-soft);border-radius:12px;background:var(--surface);overflow:hidden;cursor:default}.tool-card--running{border-color:#38bdf859;box-shadow:inset 3px 0 0 var(--accent)}.tool-card--done{border-color:#34d39947;box-shadow:inset 3px 0 0 var(--ok)}.tool-card--collapsed{cursor:pointer}.tool-card--collapsed .tool-card-body{display:none}.tool-card--collapsed.tool-card--expanded .tool-card-body{display:block}.tool-card-head{display:flex;align-items:center;gap:10px;padding:10px 12px}.tool-card--collapsed:not(.tool-card--expanded) .tool-card-head{padding-bottom:10px}.tool-icon{flex:0 0 auto;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;font-size:18px;font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;background:#38bdf81f;border:1px solid rgba(56,189,248,.2)}.tool-card--done .tool-icon{background:#34d3991a;border-color:#34d39940}.tool-head-text{flex:1;min-width:0}.tool-name{font-size:14px;letter-spacing:.02em;color:var(--chat-color-h3)}.tool-summary{font-size:11px;color:var(--muted);margin-top:4px;font-family:var(--mono),"Segoe UI Emoji",sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tool-status{flex:0 0 auto;font-size:11px;padding:4px 10px;border-radius:999px;letter-spacing:.04em}.tool-status--running{color:var(--accent);background:#38bdf824;border:1px solid rgba(56,189,248,.3)}.tool-status--running:before{content:"";display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:var(--accent);vertical-align:middle;animation:tool-pulse 1.2s ease-in-out infinite}@keyframes tool-pulse{0%,to{opacity:.35}50%{opacity:1}}.tool-status--done{color:var(--ok);background:#34d3991f;border:1px solid rgba(52,211,153,.28)}.tool-status--done:before{content:"✓";margin-right:4px}.tool-status--interrupted{color:var(--warn, #fbbf24);background:#fbbf241f;border:1px solid rgba(251,191,36,.28)}.tool-status--interrupted:before{content:"!";margin-right:4px}.tool-card--interrupted{border-color:#fbbf2459}.tool-card-body{padding:0 12px 10px 58px}.tool-executing-hint{display:flex;align-items:center;margin-top:10px;padding:2px 6px;color:var(--accent)}.tool-executing-hint__dots{display:inline-flex;flex-shrink:0;gap:5px;align-items:center}.tool-executing-hint__dots span{width:7px;height:7px;border-radius:50%;background:currentColor;animation:tool-hint-bounce 1.2s ease-in-out infinite}.tool-executing-hint__dots span:nth-child(2){animation-delay:.15s}.tool-executing-hint__dots span:nth-child(3){animation-delay:.3s}@keyframes tool-hint-bounce{0%,70%,to{opacity:.35;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion: reduce){.tool-executing-hint__dots span{animation:none;opacity:.7}}.tool-detail{margin:0;font-family:var(--mono),"Segoe UI Emoji","Apple Color Emoji",sans-serif;font-size:12px;line-height:1.45;color:#e8f0ffc7;word-break:break-all;padding:8px 10px;border-radius:10px;background:#0000002e;border:1px solid rgba(255,255,255,.08)}.tool-detail-label{display:block;font-size:10px;color:var(--muted);margin-bottom:4px;font-family:var(--font);letter-spacing:.06em}.tool-detail--result{margin-top:8px}.tool-detail-value{display:block}.tool-detail-value .file-download-card{margin-top:2px;font-family:var(--font);word-break:normal}.tool-inline-download{display:inline-block;margin:4px 0;vertical-align:middle}.msg-error{color:var(--danger)}.msg-muted{color:var(--muted)}.typing-dot:after{content:"…";animation:blink 1.2s infinite steps(1)}@keyframes blink{0%{opacity:.2}50%{opacity:1}to{opacity:.2}}.composer{position:relative;z-index:3;flex:0 0 auto;padding:8px var(--space-md, 16px) var(--space-md, 16px);padding-bottom:calc(var(--space-md, 16px) + var(--safe-bottom) + var(--keyboard-inset));border-top:none;background:linear-gradient(to top,#080a1cbf,#080a1c4d);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:none}.chat-form{display:block}.composer-attachment{margin-bottom:8px}.composer-attachment[hidden]{display:none!important}.attachment-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:6px 8px 6px 10px;border-radius:10px;border:1px solid rgba(124,109,240,.28);background:#7c6df01a;color:var(--text-primary, var(--text));font-size:13px;line-height:1.3}.attachment-icon{flex:0 0 auto;color:var(--primary-400, #a78bfa)}.attachment-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-remove{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--text-muted, var(--muted));font-size:18px;line-height:1;cursor:pointer;touch-action:manipulation}.attachment-remove:hover{color:var(--text-primary, var(--text));background:#ffffff0f}.msg-attachment{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:4px 8px;border-radius:8px;background:#ffffff0f;font-size:13px;color:#ffffffe0}.msg-attachment-icon{flex:0 0 auto;color:var(--primary-light, #60a5fa)}.input-wrap{display:flex;align-items:center;gap:8px;min-width:0;border-radius:var(--radius-lg, 22px);border:1.5px solid var(--border-subtle, rgba(255, 255, 255, .06));background:#ffffff0a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:4px 4px 4px 12px;box-shadow:none;transition:all .3s var(--ease-out, cubic-bezier(.22, .61, .36, 1))}.composer-input-slot{position:relative;flex:1;min-width:0;min-height:40px;display:flex;align-items:center}.composer-hold-hint{flex:1;min-width:0;padding:0;color:var(--text-muted, rgba(255, 255, 255, .28));font-size:.875rem;line-height:1.45;font-family:inherit;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.composer-hold-hint--inactive{visibility:hidden}.composer-hold-hint--overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;align-items:center}.composer-hold-hint--overlay.composer-hold-hint--busy{align-items:center}.composer-hold-surface{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;width:100%;min-height:40px;margin:0;padding:0;border:0;background:transparent;color:transparent;font-size:0;line-height:0;text-align:left;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:none}.composer-hold-surface--busy{opacity:.72;cursor:default;pointer-events:none}.message-input--underlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;min-height:40px;color:transparent;caret-color:transparent;pointer-events:none;resize:none}.input-wrap:focus-within{border-color:var(--border-focus, rgba(96, 165, 250, .5));box-shadow:0 0 0 3px #60a5fa14,0 0 24px #7c6df014;background:#ffffff0f}.input-wrap.is-composer-hold{-webkit-touch-callout:none;user-select:none;-webkit-user-select:none;align-items:center}.input-wrap.is-composer-hold,.input-wrap.is-composer-hold *{-webkit-touch-callout:none}.input-wrap.is-composer-editing{align-items:center}.input-wrap.is-composer-editing.is-composer-multiline{align-items:flex-end}.input-wrap.is-holding,.input-wrap.is-voice-recording{border-color:#ef44448c;box-shadow:0 0 0 1px #ef44442e inset,0 -1px #ff505059 inset,0 0 30px #ef444438}.input-wrap.is-composer-hold.is-holding,.input-wrap.is-composer-hold.is-voice-recording{touch-action:none;user-select:none;-webkit-user-select:none}.input-wrap.is-voice-disabled{opacity:.55}.input-wrap.is-voice-disabled .message-input{pointer-events:none}.input-wrap .send-btn{position:relative;z-index:1}.input-wrap.is-voice-transcribing{border-color:#fbbf2480;box-shadow:0 0 0 3px #fbbf241a}.message-input{flex:1;min-width:0;min-height:28px;max-height:160px;resize:none;border:0;outline:none;background:transparent;color:var(--text-primary, var(--text));font-size:.875rem;line-height:1.45;font-family:var(--font-stack, inherit);caret-color:var(--primary-light, #60a5fa);user-select:text;-webkit-user-select:text;touch-action:manipulation;padding:8px 0}@media (pointer: coarse){.message-input{font-size:16px}}@media (max-width: 767px){.message-input{font-size:16px}}.message-input::placeholder{color:var(--text-muted, rgba(255, 255, 255, .28))}.send-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:0;width:40px;min-width:40px;height:40px;padding:0;border:0;border-radius:12px;cursor:pointer;color:#fff;font-weight:600;font-size:1.1rem;font-family:inherit;background:linear-gradient(135deg,var(--primary, #7c6df0) 0%,var(--primary-light, #60a5fa) 100%);box-shadow:0 4px 18px #7c6df059;touch-action:manipulation;user-select:none;-webkit-user-select:none;transition:all .3s var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1));position:relative;overflow:hidden}.send-btn:hover:not(:disabled){transform:scale(1.06);box-shadow:0 6px 28px #7c6df080}.send-btn:active:not(:disabled){transform:scale(.9)}.send-btn .btn-text{display:none}.send-icon{display:block;width:18px;height:18px}.stop-icon{display:none;width:16px;height:16px}.send-btn.is-stop .send-icon{display:none}.send-btn.is-stop .stop-icon{display:block}.send-btn.is-stop{color:#fff;background:linear-gradient(135deg,#f87171,#fb7185);box-shadow:0 8px 24px #fb718559}.send-btn.is-stop:hover{filter:brightness(1.06)}.send-btn:disabled{opacity:.25;cursor:not-allowed;box-shadow:none;filter:grayscale(.5)}.upload-btn{display:none!important}.upload-btn:hover:not(:disabled){display:none!important}.upload-btn:disabled{display:none!important}.model-load-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;background:#060a14d1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.model-load-overlay[hidden]{display:none!important}.model-load-card{width:min(420px,100%);padding:22px 20px;border-radius:var(--radius);border:1px solid var(--border);background:#0c1224f2;box-shadow:0 24px 48px #00000073}.model-load-title{margin:0 0 8px;font-size:16px;font-weight:600}.model-load-stage{margin:0 0 12px;font-size:13px;color:var(--accent)}.model-load-bar{height:6px;border-radius:999px;background:var(--surface2);overflow:hidden;margin-bottom:12px}.model-load-fill{height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .25s ease}.model-load-hint{margin:0;font-size:12px;line-height:1.5;color:var(--muted)}.status-pill--loading .status-dot{background:#fbbf24;animation:pulse 1s ease-in-out infinite}@media (max-width: 420px){.send-btn .btn-text{display:none}.send-btn:not(.is-stop) .send-icon{display:block}.send-btn.is-stop .stop-icon{display:block}.send-btn{min-width:40px;height:36px;padding:0}}
