/* Hunger Games Quiz Room - arena black, forest green, fire, gold, Capitol violet */

/* 1. Room variables */
:root,
body[data-room="hunger-games"],
.qr-room-hunger-games {
  --qr-bg: #080705;
  --qr-bg-elev: #16120d;
  --qr-fg: #f0e6cf;
  --qr-fg-dim: #b7a27b;
  --qr-accent: #d89a2c;
  --qr-accent-dim: #72501c;
  --qr-warn: #c94b23;
  --qr-danger: #7f1d1d;
  --qr-radius: 6px;
  --qr-hg-coal: #16120d;
  --qr-hg-pine: #26331a;
  --qr-hg-olive: #4d5b2b;
  --qr-hg-moss: #6f7f3c;
  --qr-hg-bread: #d7b56c;
  --qr-hg-fire: #c94b23;
  --qr-hg-blood: #7f1d1d;
  --qr-hg-capitol: #8c4f7a;
  --qr-hg-ash: #e8dfc7;
  --qr-hg-line: rgba(216, 154, 44, 0.32);
  --qr-hg-glow: rgba(201, 75, 35, 0.32);
}

* { box-sizing: border-box; }

/* 2. Base typography and room chrome */
body[data-room="hunger-games"] {
  margin: 0;
  padding: 0;
  min-height: 100vh;
  background: radial-gradient(circle at 50% -10%, rgba(201, 75, 35, 0.16), transparent 38%), linear-gradient(180deg, #080705 0%, #11130b 46%, #080705 100%);
  color: var(--qr-fg);
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  display: flex;
  flex-direction: column;
  align-items: center;
}
body[data-room="hunger-games"] #qr-root,
.qr-room-hunger-games #qr-root { width: 100%; max-width: 520px; padding: 24px 16px; }
body[data-room="hunger-games"] .qr-stage,
.qr-room-hunger-games .qr-stage { display: flex; flex-direction: column; gap: 16px; animation: qr-hg-scene-in 360ms ease both; }
body[data-room="hunger-games"] .qr-progress,
.qr-room-hunger-games .qr-progress { font-family: 'Press Start 2P', monospace; font-size: 11px; letter-spacing: 1px; color: var(--qr-fg-dim); text-align: right; }

body[data-room="hunger-games"] .qr-board,
.qr-room-hunger-games .qr-board {
  position: relative;
  min-height: 360px;
  padding: 20px 16px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(38, 51, 26, 0.24), rgba(22, 18, 13, 0.96)), var(--qr-bg-elev);
  border: 1px solid var(--qr-hg-line);
  border-radius: var(--qr-radius);
  box-shadow: 0 14px 0 rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(232, 223, 199, 0.06);
}
body[data-room="hunger-games"] .qr-board::before,
.qr-room-hunger-games .qr-board::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, transparent 0 23px, rgba(216, 154, 44, 0.04) 24px 25px), linear-gradient(180deg, transparent 0 23px, rgba(216, 154, 44, 0.035) 24px 25px);
  background-size: 25px 25px;
  opacity: 0.7;
}
body[data-room="hunger-games"] .qr-board > *,
.qr-room-hunger-games .qr-board > * { position: relative; z-index: 1; }
body[data-room="hunger-games"] .qr-board h1,
body[data-room="hunger-games"] .qr-board h2,
body[data-room="hunger-games"] .qr-board h3,
.qr-room-hunger-games .qr-board h1,
.qr-room-hunger-games .qr-board h2,
.qr-room-hunger-games .qr-board h3 { color: var(--qr-accent); text-shadow: 0 2px 0 rgba(0, 0, 0, 0.35); }
body[data-room="hunger-games"] .qr-board p,
.qr-room-hunger-games .qr-board p { color: var(--qr-fg-dim); line-height: 1.55; }

body[data-room="hunger-games"] .qr-scene,
.qr-room-hunger-games .qr-scene {
  display: block;
  width: 100%;
  height: auto;
  max-height: 190px;
  object-fit: cover;
  margin: 0 0 16px;
  border: 1px solid var(--qr-hg-line);
  border-radius: var(--qr-radius);
  background: var(--qr-bg);
  image-rendering: pixelated;
  image-rendering: crisp-edges;
  box-shadow: 0 0 0 3px rgba(8, 7, 5, 0.58), 0 10px 18px rgba(0, 0, 0, 0.22);
  animation: qr-hg-scene-in 420ms ease both;
}

body[data-room="hunger-games"] .qr-btn,
.qr-room-hunger-games .qr-btn {
  appearance: none;
  min-height: 44px;
  padding: 12px 18px;
  background: linear-gradient(180deg, #d89a2c, #9d6820);
  border: 1px solid rgba(232, 223, 199, 0.20);
  border-radius: var(--qr-radius);
  color: #080705;
  cursor: pointer;
  font-family: 'Press Start 2P', monospace;
  font-size: 11px;
  letter-spacing: 1px;
  text-align: center;
  transition: transform 100ms ease, filter 120ms ease, box-shadow 120ms ease;
}
body[data-room="hunger-games"] .qr-btn:hover,
.qr-room-hunger-games .qr-btn:hover { filter: brightness(1.08); transform: translateY(-1px); box-shadow: 0 5px 0 rgba(114, 80, 28, 0.7); }
body[data-room="hunger-games"] .qr-btn:disabled,
.qr-room-hunger-games .qr-btn:disabled { cursor: not-allowed; filter: grayscale(0.45); opacity: 0.55; transform: none; box-shadow: none; }
body[data-room="hunger-games"] .qr-btn-sm,
.qr-room-hunger-games .qr-btn-sm { min-height: 36px; padding: 7px 10px; font-size: 9px; }
body[data-room="hunger-games"] .qr-hint,
.qr-room-hunger-games .qr-hint { padding: 10px 12px; color: var(--qr-hg-bread); background: rgba(38, 51, 26, 0.42); border-left: 3px solid var(--qr-warn); border-radius: var(--qr-radius); font-size: 12px; line-height: 1.45; }

/* Shared choice, counter, and status primitives */
body[data-room="hunger-games"] .qr-choice-prompt h2,
.qr-room-hunger-games .qr-choice-prompt h2 { color: var(--qr-accent); }
body[data-room="hunger-games"] .qr-choice-list,
body[data-room="hunger-games"] .qr-choice-grid,
.qr-room-hunger-games .qr-choice-list,
.qr-room-hunger-games .qr-choice-grid { gap: 10px; }
body[data-room="hunger-games"] .qr-choice,
.qr-room-hunger-games .qr-choice {
  min-height: 60px;
  padding: 13px 12px;
  color: var(--qr-fg);
  background: linear-gradient(180deg, rgba(38, 51, 26, 0.24), rgba(8, 7, 5, 0.70)), var(--qr-bg);
  border: 2px solid var(--qr-accent-dim);
  border-radius: var(--qr-radius);
  box-shadow: inset 0 1px 0 rgba(232, 223, 199, 0.05);
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}
body[data-room="hunger-games"] .qr-choice:hover,
.qr-room-hunger-games .qr-choice:hover { animation: qr-hg-choice-lift 160ms ease both; border-color: var(--qr-accent); }
body[data-room="hunger-games"] .qr-choice.picked,
.qr-room-hunger-games .qr-choice.picked { background: rgba(216, 154, 44, 0.14); border-color: var(--qr-accent); box-shadow: 0 0 0 2px rgba(216, 154, 44, 0.24); }
body[data-room="hunger-games"] .qr-choice-name,
.qr-room-hunger-games .qr-choice-name { color: var(--qr-hg-bread); }
body[data-room="hunger-games"] .qr-counter,
body[data-room="hunger-games"] .qr-status,
.qr-room-hunger-games .qr-counter,
.qr-room-hunger-games .qr-status { color: var(--qr-fg-dim); font-family: 'Press Start 2P', monospace; font-size: 10px; letter-spacing: 1px; }
body[data-room="hunger-games"] .qr-counter span,
.qr-room-hunger-games .qr-counter span { color: var(--qr-accent); }
body[data-room="hunger-games"] .qr-status.warn,
.qr-room-hunger-games .qr-status.warn { color: var(--qr-warn); }
body[data-room="hunger-games"] .qr-status.bad,
.qr-room-hunger-games .qr-status.bad { color: #ff8a66; }
body[data-room="hunger-games"] .qr-status.win,
.qr-room-hunger-games .qr-status.win { color: var(--qr-hg-moss); }

/* 3. Per-puzzle styling: hg-reaping */
body[data-room="hunger-games"] .qr-hg-reaping,
.qr-room-hunger-games .qr-hg-reaping { display: flex; flex-direction: column; gap: 14px; }
body[data-room="hunger-games"] .qr-hg-reaping-stage,
.qr-room-hunger-games .qr-hg-reaping-stage {
  min-height: 178px;
  padding: 14px;
  background: linear-gradient(180deg, rgba(77, 91, 43, 0.35), rgba(116, 68, 46, 0.24)), url("objects/scene_reaping.png") center / cover no-repeat;
  border: 1px solid var(--qr-hg-line);
  border-radius: var(--qr-radius);
  image-rendering: pixelated;
}
body[data-room="hunger-games"] .qr-hg-reaping-bowls,
.qr-room-hunger-games .qr-hg-reaping-bowls { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
body[data-room="hunger-games"] .qr-hg-reaping-slip,
.qr-room-hunger-games .qr-hg-reaping-slip { min-height: 54px; padding: 10px; background: rgba(232, 223, 199, 0.08); border: 1px dashed var(--qr-hg-bread); border-radius: var(--qr-radius); color: var(--qr-fg); }
body[data-room="hunger-games"] .qr-hg-reaping-slip.selected,
.qr-room-hunger-games .qr-hg-reaping-slip.selected { background: rgba(216, 154, 44, 0.18); border-style: solid; }
body[data-room="hunger-games"] .qr-hg-reaping-token,
.qr-room-hunger-games .qr-hg-reaping-token { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 10px; background: var(--qr-hg-ash); color: var(--qr-bg); border-radius: 3px; }

/* 3. Per-puzzle styling: hg-sponsor */
body[data-room="hunger-games"] .qr-hg-sponsor,
.qr-room-hunger-games .qr-hg-sponsor { display: flex; flex-direction: column; gap: 14px; }
body[data-room="hunger-games"] .qr-hg-sponsor-prompt h2,
.qr-room-hunger-games .qr-hg-sponsor-prompt h2 { margin: 0 0 6px; color: var(--qr-accent); font-size: 15px; }
body[data-room="hunger-games"] .qr-hg-sponsor-prompt p,
.qr-room-hunger-games .qr-hg-sponsor-prompt p { margin: 0; color: var(--qr-fg-dim); font-size: 14px; }
body[data-room="hunger-games"] .qr-hg-sponsor-hud,
.qr-room-hunger-games .qr-hg-sponsor-hud { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; color: var(--qr-fg-dim); font-family: 'Press Start 2P', monospace; font-size: 9px; letter-spacing: 1px; text-align: center; }
body[data-room="hunger-games"] .qr-hg-sponsor-hud span,
.qr-room-hunger-games .qr-hg-sponsor-hud span { padding: 9px 6px; background: rgba(8, 7, 5, 0.56); border: 1px solid var(--qr-hg-line); border-radius: var(--qr-radius); }
body[data-room="hunger-games"] .qr-hg-sponsor-hud strong,
.qr-room-hunger-games .qr-hg-sponsor-hud strong { display: block; margin-top: 5px; color: var(--qr-accent); font-size: 14px; }
body[data-room="hunger-games"] .qr-hg-sponsor-hud .urgent strong,
.qr-room-hunger-games .qr-hg-sponsor-hud .urgent strong { color: #ff8a66; animation: qr-hg-eventpulse 780ms ease-in-out infinite; }

body[data-room="hunger-games"] .qr-hg-sponsor-stack,
.qr-room-hunger-games .qr-hg-sponsor-stack { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
body[data-room="hunger-games"] .qr-hg-sponsor-card,
.qr-room-hunger-games .qr-hg-sponsor-card {
  min-height: 208px;
  padding: 12px;
  cursor: pointer;
  background: radial-gradient(circle at 50% 0%, rgba(140, 79, 122, 0.18), transparent 45%), linear-gradient(180deg, rgba(38, 51, 26, 0.32), rgba(8, 7, 5, 0.78));
  border: 2px solid var(--qr-accent-dim);
  border-radius: var(--qr-radius);
  box-shadow: inset 0 1px 0 rgba(232, 223, 199, 0.06);
  transition: transform 100ms ease, border-color 120ms ease, box-shadow 120ms ease;
}
body[data-room="hunger-games"] .qr-hg-sponsor-card:hover,
.qr-room-hunger-games .qr-hg-sponsor-card:hover { border-color: var(--qr-accent); transform: translateY(-1px); }
body[data-room="hunger-games"] .qr-hg-sponsor-card.selected,
.qr-room-hunger-games .qr-hg-sponsor-card.selected { border-color: var(--qr-accent); box-shadow: 0 0 0 2px rgba(216, 154, 44, 0.32), inset 0 0 22px rgba(216, 154, 44, 0.10); }
body[data-room="hunger-games"] .qr-hg-sponsor-card.dead,
.qr-room-hunger-games .qr-hg-sponsor-card.dead { opacity: 0.46; filter: grayscale(0.65); }
body[data-room="hunger-games"] .qr-hg-sponsor-card.event-fire,
.qr-room-hunger-games .qr-hg-sponsor-card.event-fire { animation: qr-hg-tribute-hit 360ms ease-out; }

body[data-room="hunger-games"] .qr-hg-sponsor-label,
.qr-room-hunger-games .qr-hg-sponsor-label { color: var(--qr-hg-bread); font-family: 'Press Start 2P', monospace; font-size: 9px; letter-spacing: 1px; line-height: 1.45; }
body[data-room="hunger-games"] .qr-hg-sponsor-role,
.qr-room-hunger-games .qr-hg-sponsor-role { color: var(--qr-fg-dim); font-size: 11px; }
body[data-room="hunger-games"] .qr-hg-sponsor-bar-row,
.qr-room-hunger-games .qr-hg-sponsor-bar-row { display: flex; align-items: center; gap: 6px; color: var(--qr-fg-dim); font-family: 'Press Start 2P', monospace; font-size: 8px; }
body[data-room="hunger-games"] .qr-hg-sponsor-bar,
.qr-room-hunger-games .qr-hg-sponsor-bar { position: relative; height: 11px; flex: 1; overflow: hidden; background: #080705; border: 1px solid rgba(232, 223, 199, 0.16); border-radius: 2px; }
body[data-room="hunger-games"] .qr-hg-sponsor-bar-fill.hp,
.qr-room-hunger-games .qr-hg-sponsor-bar-fill.hp { background: linear-gradient(90deg, var(--qr-danger), var(--qr-warn), var(--qr-hg-moss)); }
body[data-room="hunger-games"] .qr-hg-sponsor-bar-fill.str,
.qr-room-hunger-games .qr-hg-sponsor-bar-fill.str { background: linear-gradient(90deg, var(--qr-hg-olive), var(--qr-hg-bread), var(--qr-accent)); }

body[data-room="hunger-games"] .qr-hg-sponsor-event,
.qr-room-hunger-games .qr-hg-sponsor-event { background: rgba(127, 29, 29, 0.34); border: 1px solid #c94b23; border-radius: 4px; color: #ffe2cb; animation: qr-hg-eventpulse 1100ms ease-in-out infinite; }
body[data-room="hunger-games"] .qr-hg-sponsor-event.ally,
.qr-room-hunger-games .qr-hg-sponsor-event.ally { background: rgba(111, 127, 60, 0.22); border-color: var(--qr-hg-moss); color: #e5f1c8; }
body[data-room="hunger-games"] .qr-hg-sponsor-status.alive-tag,
.qr-room-hunger-games .qr-hg-sponsor-status.alive-tag { color: var(--qr-hg-moss); }
body[data-room="hunger-games"] .qr-hg-sponsor-status.dead-tag,
.qr-room-hunger-games .qr-hg-sponsor-status.dead-tag { color: #ff8a66; }

body[data-room="hunger-games"] .qr-hg-sponsor-palette,
.qr-room-hunger-games .qr-hg-sponsor-palette { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
body[data-room="hunger-games"] .qr-hg-sponsor-gift,
.qr-room-hunger-games .qr-hg-sponsor-gift { min-height: 58px; padding: 10px 8px; background: linear-gradient(180deg, rgba(22, 18, 13, 0.96), rgba(8, 7, 5, 0.96)); border: 1.5px solid var(--qr-accent-dim); border-radius: var(--qr-radius); color: var(--qr-fg); }
body[data-room="hunger-games"] .qr-hg-sponsor-gift:hover,
.qr-room-hunger-games .qr-hg-sponsor-gift:hover { border-color: var(--qr-accent); transform: translateY(-1px); }
body[data-room="hunger-games"] .qr-hg-sponsor-gift-label,
body[data-room="hunger-games"] .qr-hg-sponsor-gift-icon,
.qr-room-hunger-games .qr-hg-sponsor-gift-label,
.qr-room-hunger-games .qr-hg-sponsor-gift-icon { color: var(--qr-accent); }
body[data-room="hunger-games"] .qr-hg-sponsor-feedback,
.qr-room-hunger-games .qr-hg-sponsor-feedback { min-height: 24px; padding: 7px 8px; color: var(--qr-fg-dim); background: rgba(8, 7, 5, 0.42); border: 1px solid rgba(216, 154, 44, 0.14); border-radius: var(--qr-radius); }
body[data-room="hunger-games"] .qr-hg-sponsor-feedback.good,
.qr-room-hunger-games .qr-hg-sponsor-feedback.good { color: #dfeeb8; }
body[data-room="hunger-games"] .qr-hg-sponsor-feedback.bad,
.qr-room-hunger-games .qr-hg-sponsor-feedback.bad { color: #ff9c7a; }
body[data-room="hunger-games"] .qr-hg-sponsor-feedback.warn,
.qr-room-hunger-games .qr-hg-sponsor-feedback.warn { color: var(--qr-hg-bread); }
body[data-room="hunger-games"] .qr-hg-sponsor-result,
.qr-room-hunger-games .qr-hg-sponsor-result { background: rgba(38, 51, 26, 0.36); border: 1px solid var(--qr-hg-line); color: var(--qr-accent); }

/* 3. Per-puzzle styling: hg-arena */
body[data-room="hunger-games"] .qr-hg-arena,
.qr-room-hunger-games .qr-hg-arena { display: grid; gap: 12px; }
body[data-room="hunger-games"] .qr-hg-arena-map,
.qr-room-hunger-games .qr-hg-arena-map { min-height: 180px; padding: 14px; background: url("objects/scene_arena.png") center / cover no-repeat; border: 1px solid var(--qr-hg-line); border-radius: var(--qr-radius); image-rendering: pixelated; }
body[data-room="hunger-games"] .qr-hg-arena-zone,
.qr-room-hunger-games .qr-hg-arena-zone { min-height: 56px; padding: 12px; background: rgba(38, 51, 26, 0.32); border: 1px solid var(--qr-hg-olive); border-radius: var(--qr-radius); }
body[data-room="hunger-games"] .qr-hg-arena-zone.fire,
.qr-room-hunger-games .qr-hg-arena-zone.fire { border-color: var(--qr-warn); box-shadow: inset 0 0 18px var(--qr-hg-glow); }
body[data-room="hunger-games"] .qr-hg-arena-route,
.qr-room-hunger-games .qr-hg-arena-route { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
body[data-room="hunger-games"] .qr-hg-arena-prop,
.qr-room-hunger-games .qr-hg-arena-prop { width: 54px; height: 54px; image-rendering: pixelated; animation: qr-hg-prop-bob 2.6s ease-in-out infinite; }

/* 3. Per-puzzle styling: hg-alliance */
body[data-room="hunger-games"] .qr-hg-alliance,
.qr-room-hunger-games .qr-hg-alliance { display: flex; flex-direction: column; gap: 12px; }
body[data-room="hunger-games"] .qr-hg-alliance-camp,
.qr-room-hunger-games .qr-hg-alliance-camp { min-height: 176px; background: url("objects/scene_alliance.png") center / cover no-repeat; border: 1px solid var(--qr-hg-line); border-radius: var(--qr-radius); image-rendering: pixelated; }
body[data-room="hunger-games"] .qr-hg-alliance-roster,
.qr-room-hunger-games .qr-hg-alliance-roster { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
body[data-room="hunger-games"] .qr-hg-alliance-card,
.qr-room-hunger-games .qr-hg-alliance-card { min-height: 64px; padding: 10px; background: rgba(8, 7, 5, 0.54); border: 2px solid var(--qr-accent-dim); border-radius: var(--qr-radius); }
body[data-room="hunger-games"] .qr-hg-alliance-card.trusted,
.qr-room-hunger-games .qr-hg-alliance-card.trusted { border-color: var(--qr-hg-moss); background: rgba(111, 127, 60, 0.18); }
body[data-room="hunger-games"] .qr-hg-alliance-card.betrayal,
.qr-room-hunger-games .qr-hg-alliance-card.betrayal { border-color: var(--qr-danger); background: rgba(127, 29, 29, 0.22); }
body[data-room="hunger-games"] .qr-hg-alliance-count,
.qr-room-hunger-games .qr-hg-alliance-count { color: var(--qr-hg-bread); font-family: 'Press Start 2P', monospace; font-size: 10px; letter-spacing: 1px; }

/* 3. Per-puzzle styling: hg-victor */
body[data-room="hunger-games"] .qr-hg-victor,
.qr-room-hunger-games .qr-hg-victor { display: grid; gap: 12px; }
body[data-room="hunger-games"] .qr-hg-victor-stage,
.qr-room-hunger-games .qr-hg-victor-stage { min-height: 178px; padding: 14px; background: url("objects/scene_victor.png") center / cover no-repeat; border: 1px solid var(--qr-hg-line); border-radius: var(--qr-radius); image-rendering: pixelated; }
body[data-room="hunger-games"] .qr-hg-victor-crown,
.qr-room-hunger-games .qr-hg-victor-crown { width: 64px; height: 64px; margin: 0 auto; background: url("objects/mockingjay_pin.png") center / contain no-repeat; image-rendering: pixelated; animation: qr-hg-prop-bob 2.8s ease-in-out infinite; }
body[data-room="hunger-games"] .qr-hg-victor-choice,
.qr-room-hunger-games .qr-hg-victor-choice { border-color: var(--qr-hg-capitol); }
body[data-room="hunger-games"] .qr-hg-victor-choice.defiant,
.qr-room-hunger-games .qr-hg-victor-choice.defiant { border-color: var(--qr-accent); box-shadow: inset 0 0 20px rgba(216, 154, 44, 0.12); }
body[data-room="hunger-games"] .qr-hg-victor-note,
.qr-room-hunger-games .qr-hg-victor-note { padding: 10px 12px; color: var(--qr-hg-bread); background: rgba(140, 79, 122, 0.15); border: 1px solid var(--qr-hg-capitol); border-radius: var(--qr-radius); }

/* 4. Result screen and sprite entrance */
body[data-room="hunger-games"] .qr-result,
.qr-room-hunger-games .qr-result { padding: 24px 0 32px; color: var(--qr-fg); }
body[data-room="hunger-games"] .qr-result-sprite,
.qr-room-hunger-games .qr-result-sprite {
  width: 192px;
  height: 192px;
  image-rendering: pixelated;
  background: radial-gradient(circle at 50% 35%, rgba(216, 154, 44, 0.18), rgba(8, 7, 5, 0.88));
  border: 4px solid var(--qr-accent);
  border-radius: var(--qr-radius);
  box-shadow: 0 0 0 4px rgba(8, 7, 5, 0.9), 0 14px 22px rgba(0, 0, 0, 0.35);
  animation: qr-hg-sprite-enter 460ms ease both;
}
body[data-room="hunger-games"] .qr-result-eyebrow,
.qr-room-hunger-games .qr-result-eyebrow { color: var(--qr-accent); font-family: 'Press Start 2P', monospace; letter-spacing: 2px; }
body[data-room="hunger-games"] .qr-result-name,
.qr-room-hunger-games .qr-result-name { color: var(--qr-fg); text-shadow: 0 2px 0 rgba(0, 0, 0, 0.45); }
body[data-room="hunger-games"] .qr-result-tagline,
body[data-room="hunger-games"] .qr-result-runner,
.qr-room-hunger-games .qr-result-tagline,
.qr-room-hunger-games .qr-result-runner { color: var(--qr-fg-dim); }
body[data-room="hunger-games"] .qr-result-dossier,
.qr-room-hunger-games .qr-result-dossier { background: rgba(22, 18, 13, 0.92); border-color: var(--qr-hg-line); }
body[data-room="hunger-games"] .qr-result-dossier-stamp,
.qr-room-hunger-games .qr-result-dossier-stamp { color: var(--qr-hg-capitol); }
body[data-room="hunger-games"] .qr-result-cta,
.qr-room-hunger-games .qr-result-cta { background: rgba(8, 7, 5, 0.46); border-color: var(--qr-accent-dim); }
body[data-room="hunger-games"] .qr-result-cta:hover,
.qr-room-hunger-games .qr-result-cta:hover { border-color: var(--qr-accent); }

/* 5. Keyframes */
@keyframes qr-hg-sprite-enter {
  from { opacity: 0; transform: translateY(12px) scale(0.92); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes qr-hg-scene-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes qr-hg-prop-bob {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}
@keyframes qr-hg-choice-lift {
  from { transform: translateY(0); }
  to { transform: translateY(-2px); }
}
@keyframes qr-hg-tribute-hit {
  0%, 100% { transform: translateX(0); }
  20% { transform: translateX(-3px); }
  40% { transform: translateX(3px); }
  60% { transform: translateX(-2px); }
  80% { transform: translateX(2px); }
}
@keyframes qr-hg-eventpulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.62; }
}

/* 6. Mobile and reduced motion */
@media (prefers-reduced-motion: reduce) {
  body[data-room="hunger-games"] *,
  body[data-room="hunger-games"] *::before,
  body[data-room="hunger-games"] *::after,
  .qr-room-hunger-games *,
  .qr-room-hunger-games *::before,
  .qr-room-hunger-games *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}

@media (max-width: 560px) {
  body[data-room="hunger-games"] #qr-root,
  .qr-room-hunger-games #qr-root { padding: 18px 12px; }
  body[data-room="hunger-games"] .qr-board,
  .qr-room-hunger-games .qr-board { min-height: 340px; padding: 16px 12px; }
  body[data-room="hunger-games"] .qr-scene,
  .qr-room-hunger-games .qr-scene { max-height: 150px; }
  body[data-room="hunger-games"] .qr-hg-sponsor-stack,
  .qr-room-hunger-games .qr-hg-sponsor-stack,
  body[data-room="hunger-games"] .qr-hg-alliance-roster,
  .qr-room-hunger-games .qr-hg-alliance-roster { grid-template-columns: 1fr; }
  body[data-room="hunger-games"] .qr-hg-sponsor-palette,
  .qr-room-hunger-games .qr-hg-sponsor-palette,
  body[data-room="hunger-games"] .qr-hg-reaping-bowls,
  .qr-room-hunger-games .qr-hg-reaping-bowls { grid-template-columns: repeat(2, 1fr); }
  body[data-room="hunger-games"] .qr-choice,
  body[data-room="hunger-games"] .qr-btn,
  body[data-room="hunger-games"] .qr-hg-sponsor-gift,
  .qr-room-hunger-games .qr-choice,
  .qr-room-hunger-games .qr-btn,
  .qr-room-hunger-games .qr-hg-sponsor-gift { min-height: 44px; }
  body[data-room="hunger-games"] .qr-hg-sponsor-hud,
  .qr-room-hunger-games .qr-hg-sponsor-hud { grid-template-columns: 1fr 1fr 1fr; font-size: 8px; }
  body[data-room="hunger-games"] .qr-result-sprite,
  .qr-room-hunger-games .qr-result-sprite { width: 168px; height: 168px; }
}
