.giveaway-dialog {
  width: min(660px, calc(100% - 24px));
  max-height: min(86dvh, 800px);
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: #101822;
}

.giveaway-head,
.giveaway-controls,
.giveaway-card-top,
.giveaway-card-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px 12px;
}

.giveaway-head {
  position: sticky;
  z-index: 1;
  top: 0;
  padding: 14px 18px;
  border-bottom: 1px solid var(--line);
  background: #101822;
}
.giveaway-head h2,
.giveaway-card h3 { margin: 0; overflow-wrap: anywhere; }
.giveaway-controls { gap: 6px; }
.giveaway-controls button { padding: 7px 10px; }
.giveaway-content { display: grid; gap: 12px; padding: 16px 18px 20px; }
.giveaway-terms,
.giveaway-feedback,
.giveaway-empty { margin: 0; color: var(--muted); line-height: 1.6; }
.giveaway-terms { font-size: .9rem; }
.giveaway-feedback { color: var(--accent); font-size: .88rem; overflow-wrap: anywhere; }
.giveaway-feedback:empty { display: none; }
.giveaway-tabs { display: flex; flex-wrap: wrap; gap: 7px; }
.giveaway-tabs button { padding: 7px 12px; }
.giveaway-tabs [aria-pressed="true"] {
  color: var(--accent);
  border-color: #4673a3;
  background: #1b2b43;
}
.giveaway-cards { display: grid; gap: 10px; }
.giveaway-card,
.giveaway-empty {
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--surface);
}
.giveaway-card { display: grid; gap: 10px; }
.giveaway-card h3 { font-size: 1.05rem; }
.giveaway-prize { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.giveaway-state,
.giveaway-result {
  padding: 3px 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: #b8c7d9;
  background: var(--raised);
  font-size: .8rem;
}
.giveaway-state[data-state="open"],
.giveaway-result[data-result="entered"] { color: #a8dbff; border-color: #395d88; background: #1d2f49; }
.giveaway-result[data-result="won"] { color: #ffe0a7; border-color: #8b6833; background: #362a1a; }
.giveaway-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px 10px;
  margin: 0;
  font-size: .84rem;
}
.giveaway-facts dt { color: var(--muted); }
.giveaway-facts dd { margin: 1px 0 0; overflow-wrap: anywhere; }
.giveaway-card-actions { padding-top: 9px; border-top: 1px solid var(--line); }
.giveaway-code { color: var(--muted); font-size: .83rem; }
.giveaway-empty { border-style: dashed; }
.giveaway-empty p { margin: 0 0 9px; }

@media (max-width: 420px) {
  .giveaway-head { padding: 11px 12px; }
  .giveaway-content { padding: 12px; }
  .giveaway-card { padding: 11px; }
}
