.as-box { padding: 12px 16px 4px; display: flex; flex-direction: column; gap: 10px; }
.as-box textarea { width: 100%; border: 0; border-bottom: 1px solid var(--hair); background: transparent; color: inherit; font: inherit; padding: 8px 0; resize: none; outline: none; }
.as-box .btn { align-self: flex-end; }
.as-out { padding: 4px 0; }
.as-ans { margin: 0; padding: 8px 16px 12px; font-size:var(--fs-title); line-height: 1.45; white-space: pre-line; }
.as-note { margin: 0; padding: 12px 16px 16px; font-size:var(--fs-s); color: var(--faint); }
.ask-top { display: flex; align-items: center; gap: 4px; padding: 0 0 8px; }
.ask-top .topsearch { height: 46px; }
.ask-top .topsearch input { flex: 1; width: 100%; min-width: 0; }
.ask-acts { display: flex; flex-direction: column; gap: 8px; padding: 16px; }
.ask-q { margin: 0; padding: 12px 16px 0; font-weight: 600; color: var(--ink-2); }
.ask-say { margin: 0 16px 8px; }
.ask-do { padding: 4px 0 8px; }
.ask-do h2 { margin: 0; padding: 8px 16px 4px; }
.ask-btns { display: flex; gap: 8px; justify-content: flex-end; padding: 8px 16px; }
.ask-again { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 16px; }
.ask-mic { width: 72px; height: 72px; border-radius: 50%; border: 0; background: var(--brand); color: #fff; display: grid; place-items: center; }
.ask-mic .i { width: 32px; height: 32px; }
.ask-mic.on, .ask-mic.live { box-shadow: 0 0 0 calc(4px + 12px * var(--lv, 0)) var(--brand-soft, rgba(14, 152, 163, .2)); }
.ask-again .topsearch { width: 100%; }
.ask-pro { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 0 16px 12px; }
.ask-pro .as-ans { padding: 8px 0 4px; }
