/* ── kcoin-chat-fix v1 (7 Oct 2026) ─────────────────────────────────────────────────────────────
   Member composer legibility. Loaded AFTER kcoin-chat.css so these rules win.

   The composer's surface was var(--kc-bg2) = #0a0c11 — the same near-black as the closed panel —
   so the input read as a black bar with no field affordance, and its text colour came only from
   var(--kc-txt) with no fallback. A host page rule, a forced-dark/auto-dark browser, or a UA
   autofill rule could then leave dark text on that dark field: you cannot see what you type.
   These rules give the field an explicit opaque surface and pin the text colour.
   ────────────────────────────────────────────────────────────────────────────────────────────── */

.kcchat-root {
  /* the widget is dark by design — tell the UA, so forced-dark / auto-dark leaves it alone */
  color-scheme: dark;
}

.kcchat-composer {
  /* a raised surface: visibly a field, not a hole cut in the panel */
  background: var(--kc-raise, #1b2030);
  border-color: rgba(255, 255, 255, .20);
}

.kcchat-input {
  /* explicit colour with a literal fallback, and the UA fill colour pinned */
  color: var(--kc-txt, #eef1f7);
  -webkit-text-fill-color: var(--kc-txt, #eef1f7);
  caret-color: var(--kc-gold, #f0c453);
}

.kcchat-input::placeholder {
  color: var(--kc-muted, #98a1b3);
  opacity: 1;
}

.kcchat-foot {
  /* keep the field clear of the home indicator / gesture bar on phones */
  padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px));
}
