.tw-chat{flex-direction:column;height:100%;min-height:0;display:flex}.tw-thread{flex:1;min-height:0;padding:26px 30px 10px;overflow:hidden}.tw-greet{text-align:center;place-items:center;height:100%;display:grid}.tw-greet img{border-radius:12px;width:44px;height:44px}.tw-greet__hi{letter-spacing:-.02em;margin-top:14px;font-size:26px;font-weight:600}.tw-greet__sub{color:var(--text-muted);margin-top:4px;font-size:13.5px}.tw-msg{margin-bottom:20px;animation:.35s cubic-bezier(.16,1,.3,1) tw-rise}@keyframes tw-rise{0%{opacity:0;transform:translateY(8px)}}.tw-msg--user{justify-content:flex-end;display:flex}.tw-bubble{background:var(--raised);border-radius:18px;max-width:78%;padding:10px 16px;font-size:14px;line-height:1.5}.tw-msg--ai{gap:14px;display:flex}.tw-ai-avatar{border-radius:8px;flex:none;width:28px;height:28px;overflow:hidden}.tw-ai-avatar img{width:100%;height:100%}.tw-ai-avatar.is-live{animation:1.4s ease-in-out infinite tw-pulse}@keyframes tw-pulse{50%{opacity:.45}}.tw-ai-body{min-width:0;color:var(--text);font-size:14px;line-height:1.65}.tw-ai-body p+p{margin-top:10px}.tw-ai-body strong{font-weight:600}.tw-step{border:1px solid var(--line);background:var(--panel);color:var(--text-muted);border-radius:999px;align-items:center;gap:8px;margin-bottom:10px;padding:6px 12px;font-size:12.5px;animation:.3s ease-out tw-rise;display:inline-flex}.tw-step i{color:var(--purple);font-size:14px}.tw-step.is-done i{color:var(--success)}.tw-sources{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.tw-source{border:1px solid var(--line);background:var(--panel);color:var(--text-muted);border-radius:8px;align-items:center;gap:6px;padding:4px 10px;font-size:11.5px;display:inline-flex}.tw-source i{color:var(--text-subtle);font-size:12px}.tw-composer-wrap{padding:10px 30px 22px}.tw-composer{border:1px solid var(--line-strong);background:var(--raised);box-shadow:0 0 22px var(--purple-soft);border-radius:24px;padding:14px 16px 10px}.tw-composer__input{min-height:22px;color:var(--text);font-size:14.5px}.tw-composer__input.is-empty{color:var(--text-subtle)}.tw-caret{vertical-align:-2px;background:var(--purple);width:2px;height:1.05em;margin-left:1px;animation:1s step-end infinite tw-caret;display:inline-block}@keyframes tw-caret{50%{opacity:0}}.tw-composer__foot{align-items:center;gap:8px;margin-top:12px;display:flex}.tw-round{border:1px solid var(--line-strong);width:30px;height:30px;color:var(--text-muted);border-radius:50%;place-items:center;font-size:15px;display:grid}.tw-mode{border:1px solid var(--line-strong);border-radius:999px;align-items:center;gap:7px;height:30px;padding:0 12px;font-size:12.5px;display:inline-flex}.tw-mode__glyph{color:var(--purple);font-size:11px}.tw-mode__caret{color:var(--text-subtle);font-size:11px}.tw-voice{height:30px;color:var(--text);align-items:center;gap:7px;margin-left:auto;padding:0 12px;font-size:12.5px;font-weight:600;display:inline-flex}.tw-send{background:var(--btn-bg);width:30px;height:30px;color:var(--btn-fg);border-radius:50%;place-items:center;font-size:14px;display:grid}.tw-send.is-ready{animation:1.6s ease-out infinite tw-ring}@keyframes tw-ring{0%{box-shadow:0 0 0 0 var(--purple-soft)}to{box-shadow:0 0 0 10px #0000}}.tw-chips{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px;display:flex}.tw-chip{border:1px solid var(--line);height:32px;color:var(--text-muted);border-radius:999px;align-items:center;gap:7px;padding:0 13px;font-size:12.5px;display:inline-flex}.tw-chip i{font-size:14px}.tw-chip.is-on{border-color:var(--purple);background:var(--purple-soft);color:var(--text)}.tw-tools{z-index:5;border:1px solid var(--line-strong);background:var(--raised);border-radius:14px;width:232px;padding:6px;animation:.2s ease-out tw-rise;position:absolute;bottom:86px;left:30px;box-shadow:0 18px 50px #00000073}:where(.light-mode,[data-theme=light]) .tw-tools{box-shadow:0 18px 40px #11182724}.tw-tools button{width:100%;height:34px;color:var(--text-muted);border-radius:8px;gap:11px;padding:0 10px;font-size:13px}.tw-tools button i{font-size:16px}.tw-tools button.is-on,.tw-tools button:hover{background:var(--hover);color:var(--text)}
