/* Stray Kids Quiz Room - concert rehearsal neon, chrome, and signal red */
:root,
body[data-room="stray-kids"],
.qr-room-stray-kids {
  --qr-bg: #07080d;
  --qr-bg-elev: #15182a;
  --qr-fg: #f8efdf;
  --qr-fg-dim: #b7beca;
  --qr-accent: #d22a3e;
  --qr-accent-dim: #5c1d2d;
  --qr-warn: #f7d67a;
  --qr-danger: #ff5a70;
  --qr-radius: 6px;
  --qr-sk-ink: #07080d;
  --qr-sk-navy: #0f121e;
  --qr-sk-panel: #1c1f30;
  --qr-sk-violet: #2c2d44;
  --qr-sk-red: #d22a3e;
  --qr-sk-coral: #ff5a70;
  --qr-sk-blue: #34a2e0;
  --qr-sk-aqua: #74ebe2;
  --qr-sk-pearl: #f8efdf;
  --qr-sk-silver: #b7beca;
  --qr-sk-gold: #f7d67a;
  --qr-scene-vlive: #34a2e0;
  --qr-scene-formation: #d22a3e;
  --qr-scene-cypher: #74ebe2;
  --qr-scene-fanmeet: #f7d67a;
  --qr-scene-encore: #f8efdf;
}

body[data-room="stray-kids"] {
  background: radial-gradient(circle at 50% -8rem, rgba(52, 162, 224, 0.22), transparent 34rem), linear-gradient(180deg, #101425 0%, var(--qr-bg) 52%, #07080d 100%);
  color: var(--qr-fg);
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

body[data-room="stray-kids"] #qr-root {
  width: 100%;
  max-width: 510px;
  padding: 24px 16px;
}

body[data-room="stray-kids"] .qr-stage {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

body[data-room="stray-kids"] .qr-progress {
  color: var(--qr-sk-silver);
  letter-spacing: 0;
  text-shadow: 0 0 12px rgba(52, 162, 224, 0.25);
}

body[data-room="stray-kids"] .qr-board {
  position: relative;
  overflow: hidden;
  min-height: 340px;
  padding: 20px 16px;
  background: linear-gradient(180deg, rgba(210, 42, 62, 0.10) 0%, transparent 36%), linear-gradient(180deg, var(--qr-bg-elev) 0%, var(--qr-bg) 100%);
  border: 1px solid rgba(210, 42, 62, 0.50);
  border-radius: var(--qr-radius);
  box-shadow: inset 0 0 0 1px rgba(248, 239, 223, 0.06), 0 16px 38px rgba(7, 8, 13, 0.46);
}

body[data-room="stray-kids"] .qr-board::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, transparent 0 48%, rgba(248, 239, 223, 0.035) 49% 51%, transparent 52%), repeating-linear-gradient(0deg, transparent 0 10px, rgba(255, 255, 255, 0.018) 11px);
  mix-blend-mode: screen;
}

body[data-room="stray-kids"] .qr-board h2,
body[data-room="stray-kids"] .qr-choice-prompt h2,
body[data-room="stray-kids"] .qr-sk-formation-prompt h2 {
  margin: 0 0 8px;
  color: var(--qr-accent);
  font-family: 'Press Start 2P', monospace;
  font-size: 14px;
  letter-spacing: 0;
  line-height: 1.45;
  text-transform: uppercase;
}

body[data-room="stray-kids"] .qr-choice-prompt,
body[data-room="stray-kids"] .qr-sk-formation-prompt {
  position: relative;
  margin: 0 0 14px;
}

body[data-room="stray-kids"] .qr-choice-prompt p,
body[data-room="stray-kids"] .qr-sk-formation-prompt p {
  margin: 0;
  color: var(--qr-fg-dim);
  font-size: 14px;
  line-height: 1.55;
}

body[data-room="stray-kids"] .qr-scene {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 0 16px;
  border: 1px solid rgba(116, 235, 226, 0.46);
  border-radius: var(--qr-radius);
  background: var(--qr-bg);
  image-rendering: pixelated;
  image-rendering: crisp-edges;
  box-shadow: inset 0 0 0 1px rgba(248, 239, 223, 0.06);
  animation: qr-sk-scene-in 380ms ease-out both;
}

body[data-room="stray-kids"] .qr-choice-list {
  display: grid;
  gap: 9px;
  margin: 0 0 12px;
}

body[data-room="stray-kids"] .qr-choice {
  position: relative;
  overflow: hidden;
  min-height: 64px;
  padding: 12px 13px 12px 56px;
  background: linear-gradient(135deg, rgba(52, 162, 224, 0.10), rgba(210, 42, 62, 0.06)), var(--qr-sk-ink);
  border: 1px solid rgba(52, 162, 224, 0.42);
  border-radius: var(--qr-radius);
  color: var(--qr-fg);
  box-shadow: inset 0 0 0 1px rgba(248, 239, 223, 0.04);
  transition: border-color 140ms ease, background 140ms ease, box-shadow 140ms ease;
}

body[data-room="stray-kids"] .qr-choice::before {
  content: "";
  position: absolute;
  left: 13px;
  top: 50%;
  width: 30px;
  height: 30px;
  transform: translateY(-50%);
  background: var(--qr-choice-icon, url('objects/mic.png')) center / contain no-repeat;
  image-rendering: pixelated;
  filter: drop-shadow(0 0 8px rgba(116, 235, 226, 0.28));
  animation: qr-sk-prop-bob 2.7s ease-in-out infinite;
}

body[data-room="stray-kids"] .qr-choice::after {
  content: "";
  position: absolute;
  top: 8px;
  bottom: 8px;
  left: 48px;
  width: 1px;
  background: linear-gradient(180deg, transparent, rgba(248, 239, 223, 0.36), transparent);
}

body[data-room="stray-kids"] .qr-choice:hover:not(:disabled),
body[data-room="stray-kids"] .qr-choice:focus-visible {
  border-color: var(--qr-sk-aqua);
  box-shadow: 0 0 0 2px rgba(116, 235, 226, 0.16);
  animation: qr-sk-choice-lift 180ms ease-out both;
}

body[data-room="stray-kids"] .qr-choice.picked {
  background: linear-gradient(135deg, rgba(210, 42, 62, 0.24), rgba(52, 162, 224, 0.09)), var(--qr-sk-panel);
  border-color: var(--qr-accent);
  box-shadow: inset 0 0 0 1px rgba(248, 239, 223, 0.12), 0 0 18px rgba(210, 42, 62, 0.25);
}

body[data-room="stray-kids"] .qr-choice .qr-choice-name {
  display: block;
  margin-bottom: 5px;
  color: var(--qr-warn);
  font-family: 'Press Start 2P', monospace;
  font-size: 10px;
  letter-spacing: 0;
  line-height: 1.45;
}

body[data-room="stray-kids"] .qr-choice span:not(.qr-choice-name) {
  display: block;
  color: var(--qr-fg-dim);
  font-size: 12px;
  line-height: 1.45;
}

body[data-room="stray-kids"] .qr-btn {
  min-height: 44px;
  border: 1px solid rgba(248, 239, 223, 0.18);
  background: linear-gradient(180deg, var(--qr-sk-coral), var(--qr-accent));
  color: var(--qr-sk-ink);
  box-shadow: 0 5px 0 var(--qr-accent-dim);
  letter-spacing: 0;
}

body[data-room="stray-kids"] .qr-btn:hover:not(:disabled),
body[data-room="stray-kids"] .qr-btn:focus-visible {
  filter: none;
  transform: translateY(-1px);
  box-shadow: 0 6px 0 var(--qr-accent-dim), 0 0 18px rgba(210, 42, 62, 0.32);
}

body[data-room="stray-kids"] .qr-btn:disabled {
  opacity: 0.55;
  transform: none;
  box-shadow: none;
}

body[data-room="stray-kids"] .qr-btn-sm {
  min-height: 44px;
  padding: 8px 12px;
  font-size: 10px;
}

body[data-room="stray-kids"] .qr-outcome {
  margin-top: 13px;
  padding: 13px 14px;
  color: var(--qr-fg-dim);
  background: rgba(7, 8, 13, 0.82);
  border: 1px solid rgba(116, 235, 226, 0.34);
  border-left: 4px solid var(--qr-accent);
  box-shadow: inset 0 0 0 1px rgba(248, 239, 223, 0.04);
}

body[data-room="stray-kids"] .qr-counter,
body[data-room="stray-kids"] .qr-status {
  min-height: 44px;
  color: var(--qr-sk-silver);
  letter-spacing: 0;
}

body[data-room="stray-kids"] .qr-counter {
  padding: 9px 10px;
  background: rgba(52, 162, 224, 0.08);
  border: 1px solid rgba(116, 235, 226, 0.24);
  border-radius: var(--qr-radius);
}

body[data-room="stray-kids"] .qr-counter span,
body[data-room="stray-kids"] .qr-status.win,
body[data-room="stray-kids"] .qr-status span {
  color: var(--qr-accent);
}

body[data-room="stray-kids"] .qr-hint {
  color: var(--qr-warn);
  background: rgba(210, 42, 62, 0.08);
  border-left: 3px solid var(--qr-accent);
  padding: 10px 12px;
  border-radius: var(--qr-radius);
}

/* Puzzle 1: Live broadcast */
body[data-room="stray-kids"] .qr-board:has(.qr-sk-vlive-done) { --qr-choice-icon: url('objects/phone.png'); }
body[data-room="stray-kids"] .qr-board:has(.qr-sk-vlive-done) .qr-scene { border-color: var(--qr-scene-vlive); }
body[data-room="stray-kids"] .qr-board:has(.qr-sk-vlive-done) .qr-choice-prompt h2 { color: var(--qr-scene-vlive); }
body[data-room="stray-kids"] .qr-board:has(.qr-sk-vlive-done) .qr-choice[data-id="schedule"],
body[data-room="stray-kids"] .qr-board:has(.qr-sk-vlive-done) .qr-choice[data-id="plain"] { --qr-choice-icon: url('objects/phone.png'); }
body[data-room="stray-kids"] .qr-board:has(.qr-sk-vlive-done) .qr-choice[data-id="snack"],
body[data-room="stray-kids"] .qr-board:has(.qr-sk-vlive-done) .qr-choice[data-id="sketch"] { --qr-choice-icon: url('objects/fan_banner.png'); }
body[data-room="stray-kids"] .qr-board:has(.qr-sk-vlive-done) .qr-choice[data-id="bit"],
body[data-room="stray-kids"] .qr-board:has(.qr-sk-vlive-done) .qr-choice[data-id="silence"] { --qr-choice-icon: url('objects/boombox.png'); }
body[data-room="stray-kids"] .qr-board:has(.qr-sk-vlive-done) .qr-choice:hover:not(:disabled) { border-color: var(--qr-scene-vlive); }

/* Puzzle 2: Choreo formation builder */
body[data-room="stray-kids"] .qr-sk-formation { display: flex; flex-direction: column; gap: 14px; position: relative; }
body[data-room="stray-kids"] .qr-sk-formation [hidden] { display: none !important; }
body[data-room="stray-kids"] .qr-sk-formation .qr-scene { border-color: var(--qr-scene-formation); }
body[data-room="stray-kids"] .qr-sk-formation-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; }
body[data-room="stray-kids"] .qr-sk-formation-tab {
  min-height: 48px;
  padding: 10px 6px;
  background: rgba(7, 8, 13, 0.86);
  border: 1.5px solid rgba(52, 162, 224, 0.32);
  border-radius: var(--qr-radius);
  color: var(--qr-fg-dim);
  font-family: 'Press Start 2P', monospace;
  font-size: 9px;
  letter-spacing: 0;
  line-height: 1.25;
  text-align: center;
}
body[data-room="stray-kids"] .qr-sk-formation-tab.active { color: var(--qr-sk-aqua); border-color: var(--qr-sk-aqua); background: rgba(52, 162, 224, 0.12); }
body[data-room="stray-kids"] .qr-sk-formation-tab.done { color: var(--qr-warn); border-color: var(--qr-warn); }
body[data-room="stray-kids"] .qr-sk-formation-tab-num { display: block; margin-bottom: 3px; opacity: 0.72; }
body[data-room="stray-kids"] .qr-sk-formation-section-prompt {
  padding: 10px 12px;
  background: rgba(21, 24, 42, 0.86);
  border: 1.5px dashed rgba(116, 235, 226, 0.35);
  border-radius: var(--qr-radius);
  color: var(--qr-fg-dim);
  font-size: 13px;
  line-height: 1.45;
}
body[data-room="stray-kids"] .qr-sk-formation-stage {
  position: relative;
  min-height: 286px;
  padding: 14px;
  display: grid;
  grid-template-rows: auto auto auto;
  gap: 10px;
  background: linear-gradient(180deg, rgba(52, 162, 224, 0.09), rgba(7, 8, 13, 0.40)), url('objects/scene_formation.png') center / cover no-repeat;
  border: 1.5px solid rgba(210, 42, 62, 0.55);
  border-radius: 8px;
  image-rendering: pixelated;
}
body[data-room="stray-kids"] .qr-sk-formation-stage-row { display: grid; gap: 8px; align-items: stretch; }
body[data-room="stray-kids"] .qr-sk-formation-stage-row-center { grid-template-columns: 1fr; }
body[data-room="stray-kids"] .qr-sk-formation-stage-row-wings { grid-template-columns: 1fr 1fr; }
body[data-room="stray-kids"] .qr-sk-formation-stage-row-back { grid-template-columns: 1fr; }
body[data-room="stray-kids"] .qr-sk-formation-slot {
  min-height: 64px;
  padding: 12px 10px;
  background: rgba(7, 8, 13, 0.82);
  border: 1.5px dashed rgba(116, 235, 226, 0.45);
  border-radius: var(--qr-radius);
  color: var(--qr-fg);
  transition: border-color 120ms ease, background 120ms ease, transform 80ms ease;
}
body[data-room="stray-kids"] .qr-sk-formation-slot.center { min-height: 88px; }
body[data-room="stray-kids"] .qr-sk-formation-slot:hover { border-color: var(--qr-sk-aqua); filter: brightness(1.08); }
body[data-room="stray-kids"] .qr-sk-formation-slot.selected,
body[data-room="stray-kids"] .qr-sk-formation-slot.filled { border-style: solid; border-color: var(--qr-accent); background: rgba(210, 42, 62, 0.18); box-shadow: 0 0 0 2px rgba(210, 42, 62, 0.22); }
body[data-room="stray-kids"] .qr-sk-formation-slot-pos { color: var(--qr-sk-aqua); font-family: 'Press Start 2P', monospace; font-size: 9px; letter-spacing: 0; }
body[data-room="stray-kids"] .qr-sk-formation-slot-name { color: var(--qr-fg); font-family: 'Press Start 2P', monospace; font-size: 11px; letter-spacing: 0; line-height: 1.35; }
body[data-room="stray-kids"] .qr-sk-formation-slot-empty { color: var(--qr-fg-dim); opacity: 0.62; }
body[data-room="stray-kids"] .qr-sk-formation-palette-label { margin-top: 4px; color: var(--qr-sk-silver); font-family: 'Press Start 2P', monospace; font-size: 10px; letter-spacing: 0; text-align: center; }
body[data-room="stray-kids"] .qr-sk-formation-palette { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
body[data-room="stray-kids"] .qr-sk-formation-card {
  min-height: 76px;
  padding: 8px 6px;
  background: rgba(21, 24, 42, 0.92);
  border: 1.5px solid rgba(52, 162, 224, 0.38);
  border-radius: var(--qr-radius);
  color: var(--qr-fg);
  transition: filter 100ms ease, transform 80ms ease, border-color 120ms ease, opacity 120ms ease;
}
body[data-room="stray-kids"] .qr-sk-formation-card:hover { filter: brightness(1.15); border-color: var(--qr-sk-aqua); }
body[data-room="stray-kids"] .qr-sk-formation-card.placed { opacity: 0.42; }
body[data-room="stray-kids"] .qr-sk-formation-card.cant-center { border-color: var(--qr-danger); }
body[data-room="stray-kids"] .qr-sk-formation-card-name { color: var(--qr-fg); font-family: 'Press Start 2P', monospace; font-size: 10px; letter-spacing: 0; line-height: 1.25; }
body[data-room="stray-kids"] .qr-sk-formation-card-roles { color: var(--qr-sk-aqua); font-family: 'Press Start 2P', monospace; font-size: 8px; letter-spacing: 0; }
body[data-room="stray-kids"] .qr-sk-formation-card-stamina { width: 100%; height: 6px; margin-top: 3px; background: rgba(248, 239, 223, 0.12); border-radius: 3px; overflow: hidden; }
body[data-room="stray-kids"] .qr-sk-formation-card-stamina::after { background: linear-gradient(90deg, var(--qr-sk-aqua) 0%, var(--qr-warn) 68%, var(--qr-danger) 100%); }
body[data-room="stray-kids"] .qr-sk-formation-feedback { min-height: 24px; padding: 6px; color: var(--qr-sk-silver); font-family: 'Press Start 2P', monospace; font-size: 10px; letter-spacing: 0; text-align: center; }
body[data-room="stray-kids"] .qr-sk-formation-feedback.show { opacity: 1; }
body[data-room="stray-kids"] .qr-sk-formation-feedback.warn { color: var(--qr-danger); }
body[data-room="stray-kids"] .qr-sk-formation-feedback.good { color: var(--qr-sk-aqua); }
body[data-room="stray-kids"] .qr-sk-formation-actions { display: flex; gap: 8px; }
body[data-room="stray-kids"] .qr-sk-formation-actions .qr-btn { flex: 1; width: auto; margin-top: 0; }
body[data-room="stray-kids"] .qr-sk-formation-result,
body[data-room="stray-kids"] .qr-sk-formation-breakdown { border: 1px solid rgba(116, 235, 226, 0.28); background: rgba(7, 8, 13, 0.82); }
body[data-room="stray-kids"] .qr-sk-formation-result { color: var(--qr-sk-aqua); font-family: 'Press Start 2P', monospace; font-size: 11px; letter-spacing: 0; line-height: 1.65; }
body[data-room="stray-kids"] .qr-sk-formation-breakdown { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; padding: 8px; color: var(--qr-fg-dim); border-radius: var(--qr-radius); }
body[data-room="stray-kids"] .qr-sk-formation-breakdown strong { color: var(--qr-warn); }

/* Puzzle 3: Cypher room */
body[data-room="stray-kids"] .qr-board:has(.qr-sk-cypher-done) { --qr-choice-icon: url('objects/lyric_notebook.png'); }
body[data-room="stray-kids"] .qr-board:has(.qr-sk-cypher-done) .qr-scene { border-color: var(--qr-scene-cypher); }
body[data-room="stray-kids"] .qr-board:has(.qr-sk-cypher-done) .qr-choice-prompt h2 { color: var(--qr-scene-cypher); }
body[data-room="stray-kids"] .qr-board:has(.qr-sk-cypher-done) .qr-choice { background: linear-gradient(90deg, rgba(116, 235, 226, 0.09), rgba(210, 42, 62, 0.05)), var(--qr-sk-ink); }
body[data-room="stray-kids"] .qr-board:has(.qr-sk-cypher-done) .qr-choice[data-id="downbeat"],
body[data-room="stray-kids"] .qr-board:has(.qr-sk-cypher-done) .qr-choice[data-id="tag"] { --qr-choice-icon: url('objects/mic.png'); }
body[data-room="stray-kids"] .qr-board:has(.qr-sk-cypher-done) .qr-choice[data-id="laugh"],
body[data-room="stray-kids"] .qr-board:has(.qr-sk-cypher-done) .qr-choice[data-id="bass"] { --qr-choice-icon: url('objects/boombox.png'); }
body[data-room="stray-kids"] .qr-board:has(.qr-sk-cypher-done) .qr-choice[data-id="hook"],
body[data-room="stray-kids"] .qr-board:has(.qr-sk-cypher-done) .qr-choice[data-id="line"] { --qr-choice-icon: url('objects/lyric_notebook.png'); }
body[data-room="stray-kids"] .qr-board:has(.qr-sk-cypher-done) .qr-choice.picked { border-color: var(--qr-scene-cypher); }

/* Puzzle 4: Fanmeet table */
body[data-room="stray-kids"] .qr-board:has(.qr-sk-fanmeet-done) { --qr-choice-icon: url('objects/backstage_pass.png'); }
body[data-room="stray-kids"] .qr-board:has(.qr-sk-fanmeet-done) .qr-scene { border-color: var(--qr-scene-fanmeet); }
body[data-room="stray-kids"] .qr-board:has(.qr-sk-fanmeet-done) .qr-choice-prompt h2 { color: var(--qr-scene-fanmeet); }
body[data-room="stray-kids"] .qr-board:has(.qr-sk-fanmeet-done) .qr-choice-list { grid-template-columns: 1fr 1fr; }
body[data-room="stray-kids"] .qr-board:has(.qr-sk-fanmeet-done) .qr-choice[data-id="pose"],
body[data-room="stray-kids"] .qr-board:has(.qr-sk-fanmeet-done) .qr-choice[data-id="prop"] { --qr-choice-icon: url('objects/fancam_camera.png'); }
body[data-room="stray-kids"] .qr-board:has(.qr-sk-fanmeet-done) .qr-choice[data-id="hands"],
body[data-room="stray-kids"] .qr-board:has(.qr-sk-fanmeet-done) .qr-choice[data-id="chant"] { --qr-choice-icon: url('objects/fan_banner.png'); }
body[data-room="stray-kids"] .qr-board:has(.qr-sk-fanmeet-done) .qr-choice[data-id="tag"],
body[data-room="stray-kids"] .qr-board:has(.qr-sk-fanmeet-done) .qr-choice[data-id="rules"] { --qr-choice-icon: url('objects/backstage_pass.png'); }
body[data-room="stray-kids"] .qr-board:has(.qr-sk-fanmeet-done) .qr-choice:hover:not(:disabled) { border-color: var(--qr-scene-fanmeet); }

/* Puzzle 5: Encore */
body[data-room="stray-kids"] .qr-board:has(.qr-sk-encore-done) { --qr-choice-icon: url('objects/compass_light.png'); }
body[data-room="stray-kids"] .qr-board:has(.qr-sk-encore-done) .qr-scene { border-color: var(--qr-scene-encore); }
body[data-room="stray-kids"] .qr-board:has(.qr-sk-encore-done) .qr-choice-prompt h2 { color: var(--qr-scene-encore); text-shadow: 0 0 16px rgba(116, 235, 226, 0.30); }
body[data-room="stray-kids"] .qr-board:has(.qr-sk-encore-done) .qr-counter { border-color: rgba(248, 214, 122, 0.42); background: rgba(247, 214, 122, 0.08); }
body[data-room="stray-kids"] .qr-board:has(.qr-sk-encore-done) .qr-choice[data-id="trophy"],
body[data-room="stray-kids"] .qr-board:has(.qr-sk-encore-done) .qr-choice[data-id="balcony"] { --qr-choice-icon: url('objects/compass_light.png'); }
body[data-room="stray-kids"] .qr-board:has(.qr-sk-encore-done) .qr-choice[data-id="note"],
body[data-room="stray-kids"] .qr-board:has(.qr-sk-encore-done) .qr-choice[data-id="adlib"] { --qr-choice-icon: url('objects/lyric_notebook.png'); }
body[data-room="stray-kids"] .qr-board:has(.qr-sk-encore-done) .qr-choice[data-id="sidecam"],
body[data-room="stray-kids"] .qr-board:has(.qr-sk-encore-done) .qr-choice[data-id="chorus"] { --qr-choice-icon: url('objects/fancam_camera.png'); }
body[data-room="stray-kids"] .qr-board:has(.qr-sk-encore-done) .qr-choice.picked { box-shadow: 0 0 0 2px rgba(247, 214, 122, 0.18); }

body[data-room="stray-kids"] .qr-result { color: var(--qr-fg); }
body[data-room="stray-kids"] .qr-result-sprite {
  border: 4px solid var(--qr-accent);
  background: radial-gradient(circle, rgba(52, 162, 224, 0.18), transparent 62%), var(--qr-sk-ink);
  box-shadow: 0 0 0 2px rgba(116, 235, 226, 0.18), 0 10px 0 var(--qr-accent-dim), 0 0 26px rgba(210, 42, 62, 0.32);
  image-rendering: pixelated;
  animation: qr-sk-sprite-in 560ms cubic-bezier(.22,1.2,.36,1) both;
}
body[data-room="stray-kids"] .qr-result-eyebrow { color: var(--qr-sk-aqua); letter-spacing: 0; }
body[data-room="stray-kids"] .qr-result-name { color: var(--qr-sk-pearl) !important; letter-spacing: 0; text-shadow: 0 0 16px rgba(52, 162, 224, 0.30); }
body[data-room="stray-kids"] .qr-result-tagline { color: var(--qr-warn); }
body[data-room="stray-kids"] .qr-result-desc,
body[data-room="stray-kids"] .qr-result-runner { color: var(--qr-fg-dim); }
body[data-room="stray-kids"] .qr-result-receipts.qr-result-dossier {
  background: linear-gradient(180deg, rgba(52, 162, 224, 0.10), rgba(21, 24, 42, 0.94)), var(--qr-bg-elev);
  border-color: rgba(116, 235, 226, 0.34);
}
body[data-room="stray-kids"] .qr-result-receipts h3 { color: var(--qr-warn); letter-spacing: 0; }
body[data-room="stray-kids"] .qr-btn-secondary { color: var(--qr-warn); border-color: rgba(247, 214, 122, 0.34); background: rgba(52, 162, 224, 0.06); }

@keyframes qr-sk-scene-in {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes qr-sk-prop-bob {
  0%, 100% { transform: translateY(-50%); }
  50% { transform: translateY(calc(-50% - 3px)); }
}

@keyframes qr-sk-choice-lift {
  from { transform: translateY(0); }
  to { transform: translateY(-2px); }
}

@keyframes qr-sk-sprite-in {
  from { opacity: 0; transform: translateY(12px) scale(0.92); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 520px) {
  body[data-room="stray-kids"] #qr-root { padding: 16px 12px; }
  body[data-room="stray-kids"] .qr-board { padding: 16px 12px; }
  body[data-room="stray-kids"] .qr-scene { width: 100%; max-height: 42vw; object-fit: cover; }
  body[data-room="stray-kids"] .qr-choice-prompt h2,
  body[data-room="stray-kids"] .qr-sk-formation-prompt h2 { font-size: 12px; }
  body[data-room="stray-kids"] .qr-choice-prompt p,
  body[data-room="stray-kids"] .qr-sk-formation-prompt p { font-size: 13px; }
  body[data-room="stray-kids"] .qr-choice { min-height: 64px; padding: 12px 12px 12px 52px; font-size: 13px; }
  body[data-room="stray-kids"] .qr-choice::before { left: 12px; width: 28px; height: 28px; }
  body[data-room="stray-kids"] .qr-board:has(.qr-sk-fanmeet-done) .qr-choice-list,
  body[data-room="stray-kids"] .qr-sk-formation-palette { grid-template-columns: 1fr 1fr; }
  body[data-room="stray-kids"] .qr-sk-formation-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-room="stray-kids"] .qr-sk-formation-stage { min-height: 260px; padding: 12px; }
  body[data-room="stray-kids"] .qr-sk-formation-actions { flex-direction: column; }
  body[data-room="stray-kids"] .qr-btn,
  body[data-room="stray-kids"] .qr-counter,
  body[data-room="stray-kids"] .qr-status,
  body[data-room="stray-kids"] .qr-sk-formation-card,
  body[data-room="stray-kids"] .qr-sk-formation-slot { min-height: 44px; }
  body[data-room="stray-kids"] .qr-result-sprite { width: 192px; height: 192px; }
}

@media (prefers-reduced-motion: reduce) {
  body[data-room="stray-kids"] *,
  body[data-room="stray-kids"] *::before,
  body[data-room="stray-kids"] *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
