/* Concept Lab AI Solver: follow-up question card (Batch 4). Uses the solver's own theme variables. */
.cl-fu { display: flex; flex-direction: column; gap: 12px; padding: 20px; min-width: 0; max-width: 100%; margin-top: 16px; }
.cl-fu-hint { margin: 0; }
.cl-fu-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.cl-fu-chips[hidden], .cl-fu-status[hidden] { display: none; }
.cl-fu-chip, .cl-fu-retry { cursor: pointer; font: 600 .85rem/1.2 var(--font-body); color: var(--text); text-align: left; padding: 8px 12px; border-radius: var(--radius-pill, 999px); border: 1px solid var(--chip-border); background: var(--chip-bg); max-width: 100%; }
.cl-fu-thread { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.cl-fu-msg { border-radius: 14px; padding: 12px 14px; max-width: 100%; min-width: 0; overflow-wrap: anywhere; border: 1px solid var(--glass-border); }
.cl-fu-user { background: color-mix(in srgb, var(--accent) 14%, transparent); align-self: flex-end; width: fit-content; max-width: 92%; }
.cl-fu-ai { background: var(--chip-bg); align-self: stretch; }
.cl-fu-who { display: block; font: 700 .72rem/1 var(--font-body); letter-spacing: .06em; text-transform: uppercase; color: var(--muted); margin-bottom: 6px; }
.cl-fu-p { margin: 0 0 8px; font: 400 .98rem/1.6 var(--font-body); color: var(--text); white-space: pre-wrap; }
.cl-fu-p:last-child { margin-bottom: 0; }
.cl-fu-points { margin: 8px 0 0; padding-left: 20px; color: var(--text); font: 400 .92rem/1.55 var(--font-body); }
.cl-fu-status { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; font: 500 .92rem/1.4 var(--font-body); color: var(--muted); }
.cl-fu-error { color: var(--err, #ff6b6b); }
.cl-fu-dots { width: 22px; height: 6px; background: radial-gradient(circle, currentColor 2.5px, transparent 3px) 0 50% / 8px 6px repeat-x; animation: cl-fu-blink 1s steps(3) infinite; }
@keyframes cl-fu-blink { 0% { clip-path: inset(0 100% 0 0); } 100% { clip-path: inset(0 0 0 0); } }
.cl-fu-row { display: flex; gap: 10px; align-items: flex-end; min-width: 0; }
.cl-fu-input { flex: 1 1 auto; min-width: 0; resize: vertical; max-height: 200px; font-size: 16px; /* 16px stops iPhone zoom-on-focus */ }
.cl-fu-send { flex: 0 0 auto; }
.cl-fu-send:disabled, .cl-fu-input:disabled { opacity: .55; cursor: not-allowed; }
.cl-fu-count { margin: 0; min-height: 0; text-align: right; }
.cl-fu-count:empty { display: none; }
@media (max-width: 480px) {
  .cl-fu { padding: 16px; margin-bottom: calc(72px + env(safe-area-inset-bottom, 0px)); /* keeps Send clear of the floating theme button */ }
  .cl-fu-row { flex-direction: column; align-items: stretch; }
  .cl-fu-send { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .cl-fu-dots { animation: none; } }
