/* Twitch giveaway picker (page twitch): the chat collector above the wheel. The rest comes from raffle.css.
   Logical properties only (RTL). */
.lh-tw {
  display: flex; flex-direction: column; gap: 8px; width: 100%; max-width: 680px; margin: 0 auto 12px;
  padding: 12px 14px; border: 1px solid var(--lh-border); border-radius: 16px; background: var(--lh-surface); box-shadow: var(--lh-shadow-sm);
}
.lh-tw.is-live { border-color: color-mix(in srgb, #9146FF 55%, var(--lh-border)); }
.lh-tw-form { display: flex; flex-direction: column; gap: 8px; }
.lh-tw-l { display: inline-flex; align-items: center; gap: 8px; font-weight: 750; font-size: .9375rem; }
.lh-tw-l .lh-ic { width: 22px; height: 22px; color: #9146FF; flex: none; }
.lh-tw-row { display: flex; gap: 8px; }
.lh-tw-channel { flex: 1 1 auto; min-width: 0; text-align: start; }
.lh-tw-go { flex: none; min-height: 44px; white-space: nowrap; }
.lh-tw-go--stop { background: var(--lh-danger, #C62828); border-color: transparent; color: #fff; }
@media (max-width: 480px) {
  .lh-tw-row { flex-direction: column; }
  .lh-tw-go { width: 100%; justify-content: center; }
}
.lh-tw-kw { display: flex; flex-direction: column; gap: 4px; }
.lh-tw-kw .lh-set__help, .lh-tw-opts .lh-set__help { margin: 0; color: var(--lh-muted); font-size: .8125rem; }
.lh-tw-opts > summary { width: max-content; max-width: 100%; color: var(--lh-muted); font-size: .875rem; font-weight: 650; cursor: pointer; min-height: 32px; display: flex; align-items: center; }
.lh-tw-opts .lh-set__row--sw { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 4px 12px; padding-block: 6px; }
.lh-tw-opts .lh-set__help { grid-column: 1 / -1; }
.lh-tw-live { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; padding: 8px 12px; border-radius: 12px; background: color-mix(in srgb, #9146FF 12%, transparent); font-size: .9375rem; }
.lh-tw-dot { width: 10px; height: 10px; border-radius: 50%; background: #E91916; box-shadow: 0 0 0 0 rgba(233, 25, 22, .55); animation: lh-tw-pulse 1.6s infinite; flex: none; }
@keyframes lh-tw-pulse { 70% { box-shadow: 0 0 0 8px rgba(233, 25, 22, 0); } 100% { box-shadow: 0 0 0 0 rgba(233, 25, 22, 0); } }
@media (prefers-reduced-motion: reduce) { .lh-tw-dot { animation: none; } }
.lh-tw-status { flex: 1 1 200px; min-width: 0; overflow-wrap: anywhere; }
.lh-tw-count { font-variant-numeric: tabular-nums; white-space: nowrap; }
.lh-tw-recent { margin: 0; font-size: .875rem; overflow-wrap: anywhere; }
.lh-tw-recent__l { color: var(--lh-muted); font-weight: 650; }
.lh-tw-msg { margin: 0; font-size: .875rem; color: var(--lh-muted); overflow-wrap: anywhere; }
.lh-tw-msg:empty { display: none; }
.lh-tw-msg[data-kind="error"] { color: var(--lh-danger, #C62828); font-weight: 650; }
.lh-tw-msg[data-kind="ok"] { color: var(--lh-text); font-weight: 650; }
.lh-tw-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; }
.lh-tw-privacy { flex: 1 1 240px; margin: 0; font-size: .75rem; color: var(--lh-muted); }
