.v-window{border:1px solid var(--c-hairline);border-radius:8px;overflow:hidden;background:#fff;height:440px;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.v-window>*{transition:opacity .5s}.v-window[data-fade=true]>:not(.v-bar):not(.v-input){opacity:0}.v-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#172154;color:#c7cfe6;font-size:12px}.v-body{padding:14px;display:flex;flex-direction:column;gap:10px;overflow:hidden;font-size:14px}.v-input{display:flex;justify-content:space-between;gap:8px;align-items:center;border-top:1px solid var(--c-hairline);padding:10px 14px;color:var(--c-ink-subtle);font-size:13px}.v-send{background:var(--c-primary);color:#fff;padding:6px 12px;border-radius:4px}.v-msg{padding:9px 12px;border-radius:8px;max-width:88%;display:grid;grid-gap:8px;gap:8px;line-height:1.45}.v-msg.me{align-self:flex-end;background:var(--c-primary);color:#fff;border-bottom-right-radius:2px}.v-msg.ai{align-self:flex-start;background:var(--c-surface-1);border-bottom-left-radius:2px}.v-caret{display:inline-block;width:2px;height:1em;background:currentColor;margin-left:2px;vertical-align:-2px;animation:v-blink 1s steps(1) infinite}.v-dots{display:inline-flex;gap:4px;padding:3px 0}.v-dots i{width:6px;height:6px;border-radius:50%;background:var(--c-ink-subtle);animation:v-bounce 1s infinite}.v-dots i:nth-child(2){animation-delay:.15s}.v-dots i:nth-child(3){animation-delay:.3s}.v-in{animation:v-in .35s ease-out both}.v-row{animation:v-in .3s ease-out both}.v-table{border-collapse:collapse;width:100%;font-size:12px;background:#fff}.v-table th{text-align:left;font-weight:600;border-bottom:1px solid var(--c-ink);padding:4px 6px}.v-table td{border-bottom:1px solid var(--c-hairline);padding:4px 6px}.v-chips{display:flex;flex-wrap:wrap;gap:6px}.v-chip{border:1px solid var(--c-primary);color:var(--c-primary);border-radius:99px;padding:3px 10px;font-size:12px;background:#fff}.v-chip.solid{background:var(--c-primary);color:#fff}@keyframes v-in{0%{opacity:0;transform:translateY(6px)}}@keyframes v-blink{50%{opacity:0}}@keyframes v-bounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}@media (prefers-reduced-motion:reduce){.v-caret,.v-dots i,.v-in,.v-row{animation:none}}