.workspace { min-height: 0 }
.messages { min-height: 0; scroll-behavior: auto; overscroll-behavior: contain }
.composer-wrap { flex-shrink: 0 }
.pending-reply { display: flex; align-items: center; gap: 5px; min-height: 30px; margin-bottom: 26px }
.pending-reply .pending-dot { flex: 0 0 7px; width: 7px; height: 7px; border-radius: 50%; background: #687d64; animation: reply-pulse 1.2s ease-in-out infinite }
.pending-reply .pending-dot:nth-child(2) { animation-delay: .15s }
.pending-reply .pending-dot:nth-child(3) { animation-delay: .3s }
.pending-label { margin-left: 7px; color: #687d64; font-size: 13px }
.pending-status { color: #687d64; font-size: 12px; white-space: nowrap }
.pending-status::after { display: inline-block; content: '…'; width: 1em; animation: status-pulse 1.2s ease-in-out infinite }
@keyframes reply-pulse { 0%, 60%, 100% { opacity: .3; transform: translateY(0) } 30% { opacity: 1; transform: translateY(-4px) } }
@keyframes status-pulse { 0%, 100% { opacity: .3 } 50% { opacity: 1 } }
@media (prefers-reduced-motion: reduce) { .pending-reply .pending-dot, .pending-status::after { animation: none; opacity: .65 } }
.questions { margin: 12px 0 }
.question-count { color: #929b8f; font-size: 12px; margin: 12px 0 4px !important }
.question-text { font-weight: 600; margin: 0 0 6px !important }
.question-completed { color: #8a9586; font-size: 13px; margin: 4px 0 !important }
.question-options { display: flex; flex-wrap: wrap; align-items: center; gap: 4px }
.question-options input { min-width: 150px; max-width: 100%; border: 1px solid #dce1d8; border-radius: 9px; padding: 9px 11px; font: inherit; outline-color: #81917e }
.question-next { border: 0; border-radius: 9px; padding: 9px 14px; background: #303a2f; color: white; font: inherit }
.bubble table { max-width: 100%; white-space: nowrap; -webkit-overflow-scrolling: touch }
.bubble th, .bubble td { min-width: 48px; white-space: nowrap; overflow-wrap: normal }
.bubble th:first-child, .bubble td:first-child { min-width: 150px; max-width: 240px; white-space: normal; overflow-wrap: break-word; word-break: normal }
@media (max-width: 700px) { .app { height: var(--visible-app-height, 100dvh) } }
