/* Attack on Titan Quiz Room - walls, flares, steam, scout steel */

/* 1. Room variables */
:root,
body[data-room="attack-on-titan"],
.qr-room-attack-on-titan {
  --qr-bg: #0c0e12;
  --qr-bg-elev: #171714;
  --qr-fg: #efe4cf;
  --qr-fg-dim: #b8aa92;
  --qr-accent: #a62f28;
  --qr-accent-dim: #5e211e;
  --qr-warn: #d4a653;
  --qr-danger: #d75a3c;
  --qr-radius: 6px;
  --qr-aot-ink: #07080a;
  --qr-aot-wall: #b2ab92;
  --qr-aot-wall-dark: #725136;
  --qr-aot-cloak: #1f2d24;
  --qr-aot-cloak-soft: #465240;
  --qr-aot-leather: #7c4b2b;
  --qr-aot-steel: #708696;
  --qr-aot-steam: #e6ebe2;
  --qr-aot-gold: #d4ae53;
  --qr-aot-crimson: #5b1818;
  --qr-aot-line: rgba(230, 235, 226, 0.16);
  --qr-aot-line-strong: rgba(230, 235, 226, 0.34);
  --qr-aot-shadow: rgba(0, 0, 0, 0.72);
  --qr-aot-scene-glow: rgba(166, 47, 40, 0.24);
}

/* 2. Base frame and type */
* { box-sizing: border-box; }
body[data-room="attack-on-titan"] {
  margin: 0;
  padding: 0;
  min-height: 100vh;
  color: var(--qr-fg);
  background:
    linear-gradient(180deg, rgba(166, 47, 40, 0.12) 0%, rgba(12, 14, 18, 0) 36%),
    radial-gradient(circle at 50% -20%, rgba(212, 166, 83, 0.18), transparent 34%),
    linear-gradient(180deg, #151514 0%, var(--qr-bg) 62%, #050607 100%);
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  display: flex;
  flex-direction: column;
  align-items: center;
}
body[data-room="attack-on-titan"] #qr-root { width: 100%; max-width: 500px; padding: 24px 16px 32px; }
body[data-room="attack-on-titan"] .qr-stage { display: flex; flex-direction: column; gap: 16px; }
body[data-room="attack-on-titan"] .qr-progress {
  color: var(--qr-warn);
  font-family: 'Press Start 2P', monospace;
  font-size: 10px;
  letter-spacing: 1px;
  text-align: right;
  text-shadow: 0 2px 0 #000;
}
body[data-room="attack-on-titan"] .qr-board {
  position: relative;
  min-height: 340px;
  overflow: hidden;
  padding: 20px 16px 22px;
  background: linear-gradient(180deg, rgba(230, 235, 226, 0.05), rgba(230, 235, 226, 0)), var(--qr-bg-elev);
  border: 1px solid var(--qr-aot-line);
  border-radius: var(--qr-radius);
  box-shadow: 0 16px 0 rgba(0, 0, 0, 0.22), 0 22px 42px rgba(0, 0, 0, 0.38), inset 0 0 0 1px rgba(255, 255, 255, 0.04);
}
body[data-room="attack-on-titan"] .qr-board::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.025) 0 1px, transparent 1px 5px), linear-gradient(90deg, rgba(212, 166, 83, 0.08), transparent 22%, transparent 78%, rgba(166, 47, 40, 0.08));
  mix-blend-mode: screen;
  opacity: 0.56;
}
body[data-room="attack-on-titan"] .qr-board > * { position: relative; z-index: 1; }
body[data-room="attack-on-titan"] .qr-board h1,
body[data-room="attack-on-titan"] .qr-board h2,
body[data-room="attack-on-titan"] .qr-board h3,
body[data-room="attack-on-titan"] .qr-choice-prompt h2 {
  color: var(--qr-warn);
  font-family: 'Press Start 2P', monospace;
  letter-spacing: 1px;
  line-height: 1.45;
  text-transform: uppercase;
  text-shadow: 0 2px 0 #000;
}
body[data-room="attack-on-titan"] .qr-board h2,
body[data-room="attack-on-titan"] .qr-choice-prompt h2 { margin: 0 0 8px; font-size: 14px; }
body[data-room="attack-on-titan"] .qr-choice-prompt { margin-bottom: 14px; }
body[data-room="attack-on-titan"] .qr-choice-prompt p,
body[data-room="attack-on-titan"] .qrx-prompt p { margin: 0; color: var(--qr-fg-dim); font-size: 14px; line-height: 1.55; }

/* 3. Shared scenes, buttons, and choice UI */
body[data-room="attack-on-titan"] .qr-scene {
  display: block;
  width: 100%;
  height: auto;
  max-height: 176px;
  object-fit: cover;
  margin: 0 0 16px;
  background: var(--qr-aot-ink);
  border: 1px solid var(--qr-aot-line-strong);
  border-radius: var(--qr-radius);
  box-shadow: 0 0 0 3px rgba(7, 8, 10, 0.42), 0 12px 24px rgba(0, 0, 0, 0.28);
  image-rendering: pixelated;
  animation: qr-aot-scene-rise 340ms ease-out both;
}
body[data-room="attack-on-titan"] .qrx-scene {
  display: grid;
  grid-template-columns: 44px 1fr;
  align-items: center;
  gap: 10px;
  min-height: 64px;
  margin-bottom: 14px;
  padding: 10px 12px;
  background: rgba(7, 8, 10, 0.48);
  border: 1px solid var(--qr-aot-line);
  border-radius: var(--qr-radius);
}
body[data-room="attack-on-titan"] .qrx-scene-glyph { display: grid; place-items: center; width: 44px; height: 44px; color: var(--qr-aot-ink); background: var(--qr-warn); border: 2px solid var(--qr-aot-wall-dark); border-radius: 4px; font-family: 'Press Start 2P', monospace; font-size: 18px; }
body[data-room="attack-on-titan"] .qrx-scene-copy span { display: block; margin-bottom: 4px; color: var(--qr-fg-dim); font-family: 'Press Start 2P', monospace; font-size: 8px; letter-spacing: 1.2px; text-transform: uppercase; }
body[data-room="attack-on-titan"] .qrx-scene-copy strong { color: var(--qr-fg); font-size: 14px; line-height: 1.3; }
body[data-room="attack-on-titan"] .qr-btn {
  appearance: none;
  width: 100%;
  min-height: 44px;
  margin-top: 16px;
  padding: 12px 18px;
  color: #090909;
  background: linear-gradient(180deg, #d4a653, var(--qr-accent));
  border: 1px solid var(--qr-accent-dim);
  border-radius: var(--qr-radius);
  box-shadow: 0 4px 0 var(--qr-aot-crimson);
  cursor: pointer;
  font-family: 'Press Start 2P', monospace;
  font-size: 11px;
  letter-spacing: 1px;
  line-height: 1.3;
  text-transform: uppercase;
  transition: transform 100ms, filter 100ms, box-shadow 100ms;
}
body[data-room="attack-on-titan"] .qr-btn:hover { filter: brightness(1.08); transform: translateY(-1px); }
body[data-room="attack-on-titan"] .qr-btn:active { transform: translateY(2px); box-shadow: 0 2px 0 var(--qr-aot-crimson); }
body[data-room="attack-on-titan"] .qr-btn:disabled { opacity: 0.52; cursor: not-allowed; filter: grayscale(0.5); }
body[data-room="attack-on-titan"] .qr-btn-sm { width: auto; min-height: 44px; margin-top: 0; padding: 9px 12px; font-size: 9px; }
body[data-room="attack-on-titan"] .qr-hint { color: var(--qr-warn); font-size: 12px; font-style: italic; line-height: 1.45; text-shadow: 0 1px 0 #000; }
body[data-room="attack-on-titan"] .qr-resume-banner { background: rgba(31, 45, 36, 0.84); border: 1px solid var(--qr-warn); border-radius: var(--qr-radius); color: var(--qr-fg); }
body[data-room="attack-on-titan"] .qr-actions,
body[data-room="attack-on-titan"] .qrx-actions { display: flex; gap: 10px; }
body[data-room="attack-on-titan"] .qr-actions .qr-btn,
body[data-room="attack-on-titan"] .qrx-actions .qr-btn { width: auto; flex: 1; margin-top: 0; }
body[data-room="attack-on-titan"] .qr-choice-list,
body[data-room="attack-on-titan"] .qrx-choice-list { display: grid; grid-template-columns: 1fr; gap: 9px; margin-bottom: 12px; }
body[data-room="attack-on-titan"] .qr-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
body[data-room="attack-on-titan"] .qr-choice {
  appearance: none;
  min-height: 58px;
  padding: 12px 12px 13px;
  color: var(--qr-fg);
  background: linear-gradient(90deg, rgba(31, 45, 36, 0.62), rgba(7, 8, 10, 0.72)), var(--qr-bg);
  border: 2px solid var(--qr-aot-line);
  border-radius: var(--qr-radius);
  cursor: pointer;
  font-family: inherit;
  font-size: 13px;
  line-height: 1.42;
  text-align: left;
  transition: border-color 120ms, background 120ms, transform 120ms, box-shadow 120ms;
}
body[data-room="attack-on-titan"] .qr-choice:hover { border-color: var(--qr-warn); transform: translateY(-2px); box-shadow: 0 6px 0 rgba(0, 0, 0, 0.28); }
body[data-room="attack-on-titan"] .qr-choice.picked,
body[data-room="attack-on-titan"] .qrx-choice-card.picked { background: linear-gradient(90deg, rgba(166, 47, 40, 0.42), rgba(31, 45, 36, 0.66)); border-color: var(--qr-warn); box-shadow: inset 0 0 0 2px rgba(212, 166, 83, 0.20); }
body[data-room="attack-on-titan"] .qr-choice-name { display: block; margin-bottom: 5px; color: var(--qr-warn); font-family: 'Press Start 2P', monospace; font-size: 9px; letter-spacing: 1px; text-transform: uppercase; }
body[data-room="attack-on-titan"] .qr-counter,
body[data-room="attack-on-titan"] .qrx-counter,
body[data-room="attack-on-titan"] .qr-status,
body[data-room="attack-on-titan"] .qrx-status { color: var(--qr-fg-dim); font-family: 'Press Start 2P', monospace; font-size: 10px; letter-spacing: 1px; line-height: 1.5; text-align: center; }
body[data-room="attack-on-titan"] .qr-counter span,
body[data-room="attack-on-titan"] .qrx-counter span { color: var(--qr-warn); }
body[data-room="attack-on-titan"] .qr-counter.complete span,
body[data-room="attack-on-titan"] .qrx-counter.complete span,
body[data-room="attack-on-titan"] .qr-status.win { color: var(--qr-aot-steel); }
body[data-room="attack-on-titan"] .qr-status.warn { color: var(--qr-warn); }
body[data-room="attack-on-titan"] .qr-status.bad { color: var(--qr-danger); }
body[data-room="attack-on-titan"] .qr-outcome,
body[data-room="attack-on-titan"] .qrx-outcome { margin-top: 12px; padding: 12px; color: var(--qr-fg); background: rgba(7, 8, 10, 0.56); border: 1px solid var(--qr-aot-line-strong); border-left: 4px solid var(--qr-warn); border-radius: var(--qr-radius); font-size: 13px; line-height: 1.52; }

/* 4. Puzzle 1 - recruit yard */
body[data-room="attack-on-titan"] .qr-aot-recruit,
body[data-room="attack-on-titan"] [data-scene="aot-recruit"] { --qr-aot-scene-glow: rgba(212, 166, 83, 0.22); }
body[data-room="attack-on-titan"] .qr-aot-recruit-stage { position: relative; min-height: 204px; margin-bottom: 14px; overflow: hidden; background: linear-gradient(180deg, var(--qr-aot-steel), var(--qr-aot-wall) 45%, var(--qr-aot-leather)); border: 2px solid var(--qr-aot-wall-dark); border-radius: var(--qr-radius); }
body[data-room="attack-on-titan"] .qr-aot-recruit-stage::before { content: ""; position: absolute; inset: 46px 0 auto; height: 60px; background: repeating-linear-gradient(90deg, transparent 0 30px, rgba(91, 24, 24, 0.2) 30px 32px), repeating-linear-gradient(0deg, var(--qr-aot-wall) 0 13px, var(--qr-aot-wall-dark) 13px 15px); }
body[data-room="attack-on-titan"] .qr-aot-recruit-card { border-color: var(--qr-aot-wall-dark); }
body[data-room="attack-on-titan"] .qr-aot-recruit-card:hover { border-color: var(--qr-warn); }
body[data-room="attack-on-titan"] .qr-aot-recruit-card.picked { border-color: var(--qr-warn); background: rgba(212, 166, 83, 0.14); }
body[data-room="attack-on-titan"] .qr-aot-recruit-roster { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 12px 0; }
body[data-room="attack-on-titan"] .qr-aot-recruit-badge { color: var(--qr-aot-ink); background: var(--qr-warn); border: 1px solid var(--qr-aot-wall-dark); border-radius: 3px; padding: 3px 5px; font-family: 'Press Start 2P', monospace; font-size: 8px; }
body[data-room="attack-on-titan"] .qr-aot-recruit-salute { color: var(--qr-warn); animation: qr-aot-prop-bob 1900ms ease-in-out infinite; }
body[data-room="attack-on-titan"] .qr-aot-recruit-counter { margin: 10px 0; }
body[data-room="attack-on-titan"] .qr-aot-recruit-counter span { color: var(--qr-warn); }
body[data-room="attack-on-titan"] .qr-aot-recruit-status { min-height: 20px; color: var(--qr-fg-dim); }
body[data-room="attack-on-titan"] .qr-aot-recruit-submit,
body[data-room="attack-on-titan"] .qr-aot-recruit-done { background: linear-gradient(180deg, var(--qr-warn), var(--qr-aot-leather)); }

/* 5. Puzzle 2 - titan breach */
body[data-room="attack-on-titan"] .qr-aot-titan,
body[data-room="attack-on-titan"] [data-scene="aot-titan"] { --qr-aot-scene-glow: rgba(215, 90, 60, 0.24); }
body[data-room="attack-on-titan"] .qr-aot-titan-stage { position: relative; min-height: 210px; margin-bottom: 14px; overflow: hidden; background: radial-gradient(circle at 55% 24%, rgba(230, 235, 226, 0.18), transparent 22%), linear-gradient(180deg, #56606a 0%, #b2ab92 50%, #2b1d16 100%); border: 2px solid var(--qr-aot-crimson); border-radius: var(--qr-radius); }
body[data-room="attack-on-titan"] .qr-aot-titan-stage::before { content: ""; position: absolute; left: 42%; bottom: 0; width: 84px; height: 126px; background: var(--qr-aot-crimson); border: 3px solid var(--qr-danger); border-radius: 46px 46px 12px 12px; box-shadow: -24px 12px 0 rgba(230, 235, 226, 0.18); }
body[data-room="attack-on-titan"] .qr-aot-titan-stage::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 34px; background: var(--qr-aot-leather); border-top: 2px solid var(--qr-aot-ink); }
body[data-room="attack-on-titan"] .qr-aot-titan-choice { border-color: var(--qr-aot-crimson); }
body[data-room="attack-on-titan"] .qr-aot-titan-choice:hover { border-color: var(--qr-danger); }
body[data-room="attack-on-titan"] .qr-aot-titan-choice.picked { background: rgba(215, 90, 60, 0.16); }
body[data-room="attack-on-titan"] .qr-aot-titan-meter { color: var(--qr-danger); text-shadow: 0 0 10px rgba(215, 90, 60, 0.45); }
body[data-room="attack-on-titan"] .qr-aot-titan-steam { opacity: 0.78; animation: qr-aot-steam-drift 2600ms ease-in-out infinite; }
body[data-room="attack-on-titan"] .qr-aot-titan-warning { border-left-color: var(--qr-danger); }
body[data-room="attack-on-titan"] .qr-aot-titan-lock,
body[data-room="attack-on-titan"] .qr-aot-titan-done { background: linear-gradient(180deg, var(--qr-danger), var(--qr-aot-crimson)); color: var(--qr-fg); }
body[data-room="attack-on-titan"] .qr-aot-titan-skip { color: var(--qr-danger); border-color: var(--qr-danger); }
body[data-room="attack-on-titan"] .qr-aot-titan-result { color: var(--qr-warn); }

/* 6. Puzzle 3 - anchor chain */
body[data-room="attack-on-titan"] .qr-aot-anchor { display: flex; flex-direction: column; gap: 14px; }
body[data-room="attack-on-titan"] .qr-aot-anchor-prompt h2 { color: var(--qr-warn); font-size: 15px; }
body[data-room="attack-on-titan"] .qr-aot-anchor-prompt p { color: var(--qr-fg-dim); font-size: 14px; line-height: 1.55; }
body[data-room="attack-on-titan"] .qr-aot-anchor-stage { max-width: 320px; border-color: var(--qr-aot-steel); background: radial-gradient(circle at 50% 18%, rgba(112, 134, 150, 0.24), transparent 34%), linear-gradient(180deg, #0c0f15 0%, #121923 60%, #171714 100%); box-shadow: inset 0 0 0 1px rgba(230, 235, 226, 0.08), 0 12px 24px rgba(0, 0, 0, 0.30); }
body[data-room="attack-on-titan"] .qr-aot-anchor-skyline { fill: #07080a; stroke: var(--qr-aot-wall-dark); }
body[data-room="attack-on-titan"] .qr-aot-anchor-cone { fill: rgba(212, 166, 83, 0.12); stroke: rgba(212, 166, 83, 0.52); }
body[data-room="attack-on-titan"] .qr-aot-anchor-trail { stroke: rgba(230, 235, 226, 0.88); }
body[data-room="attack-on-titan"] .qr-aot-anchor-dot circle.visual { fill: var(--qr-aot-steel); stroke: var(--qr-aot-steam); }
body[data-room="attack-on-titan"] .qr-aot-anchor-dot.in-cone circle.visual { fill: var(--qr-warn); stroke: var(--qr-aot-steam); filter: drop-shadow(0 0 4px rgba(212, 166, 83, 0.7)); }
body[data-room="attack-on-titan"] .qr-aot-anchor-dot.broken circle.visual { fill: var(--qr-aot-crimson); stroke: var(--qr-danger); }
body[data-room="attack-on-titan"] .qr-aot-anchor-dot.target circle.visual { fill: var(--qr-aot-gold); stroke: var(--qr-aot-steam); }
body[data-room="attack-on-titan"] .qr-aot-anchor-fuel { background: rgba(7, 8, 10, 0.84); border-color: var(--qr-aot-line-strong); color: var(--qr-fg-dim); }
body[data-room="attack-on-titan"] .qr-aot-anchor-fuel-pip { background: var(--qr-warn); border-color: var(--qr-aot-wall-dark); }
body[data-room="attack-on-titan"] .qr-aot-anchor-fuel-pip.spent { background: var(--qr-aot-ink); opacity: 0.44; }
body[data-room="attack-on-titan"] .qr-aot-anchor-status { gap: 8px; }
body[data-room="attack-on-titan"] .qr-aot-anchor-status span { padding: 8px 6px; background: rgba(7, 8, 10, 0.46); border: 1px solid var(--qr-aot-line); border-radius: 4px; }
body[data-room="attack-on-titan"] .qr-aot-anchor-status strong { color: var(--qr-warn); }
body[data-room="attack-on-titan"] .qr-aot-anchor-feedback.good { color: var(--qr-warn); }
body[data-room="attack-on-titan"] .qr-aot-anchor-feedback.bad { color: var(--qr-danger); }
body[data-room="attack-on-titan"] .qr-aot-anchor-result { background: rgba(7, 8, 10, 0.68); border: 1px solid var(--qr-aot-line-strong); color: var(--qr-warn); }
body[data-room="attack-on-titan"] .qr-aot-anchor-actions .qr-btn { flex: 1; }

/* 7. Puzzle 4 - council chamber */
body[data-room="attack-on-titan"] .qr-aot-council,
body[data-room="attack-on-titan"] [data-scene="aot-council"] { --qr-aot-scene-glow: rgba(112, 134, 150, 0.26); }
body[data-room="attack-on-titan"] .qr-aot-council-table { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 12px 0; padding: 10px; background: rgba(124, 75, 43, 0.28); border: 1px solid var(--qr-aot-wall-dark); border-radius: var(--qr-radius); }
body[data-room="attack-on-titan"] .qr-aot-council-seat { min-height: 60px; padding: 10px 8px; background: rgba(7, 8, 10, 0.52); border: 1px dashed var(--qr-aot-line-strong); border-radius: 4px; color: var(--qr-fg-dim); font-size: 12px; }
body[data-room="attack-on-titan"] .qr-aot-council-seat:hover { border-color: var(--qr-aot-steel); color: var(--qr-fg); }
body[data-room="attack-on-titan"] .qr-aot-council-seat.picked { color: var(--qr-fg); border-style: solid; border-color: var(--qr-warn); }
body[data-room="attack-on-titan"] .qr-aot-council-dossier { border-left: 4px solid var(--qr-aot-steel); }
body[data-room="attack-on-titan"] .qr-aot-council-vote { color: var(--qr-warn); }
body[data-room="attack-on-titan"] .qr-aot-council-counter span { color: var(--qr-aot-steel); }
body[data-room="attack-on-titan"] .qr-aot-council-seal { color: var(--qr-aot-ink); background: var(--qr-aot-gold); border-radius: 50%; }
body[data-room="attack-on-titan"] .qr-aot-council-status.warn { color: var(--qr-warn); }
body[data-room="attack-on-titan"] .qr-aot-council-submit,
body[data-room="attack-on-titan"] .qr-aot-council-done { background: linear-gradient(180deg, var(--qr-aot-steel), var(--qr-aot-cloak)); color: var(--qr-fg); }
body[data-room="attack-on-titan"] .qr-aot-council-result { background: rgba(112, 134, 150, 0.12); }

/* 8. Puzzle 5 - rumbling line */
body[data-room="attack-on-titan"] .qr-aot-rumbling,
body[data-room="attack-on-titan"] [data-scene="aot-rumbling"] { --qr-aot-scene-glow: rgba(166, 47, 40, 0.32); }
body[data-room="attack-on-titan"] .qr-aot-rumbling-field { position: relative; min-height: 214px; margin-bottom: 14px; overflow: hidden; background: linear-gradient(180deg, var(--qr-aot-crimson) 0%, #2c1b17 55%, #07080a 100%); border: 2px solid var(--qr-danger); border-radius: var(--qr-radius); }
body[data-room="attack-on-titan"] .qr-aot-rumbling-field::before { content: ""; position: absolute; left: -20px; right: -20px; bottom: 34px; height: 130px; background: radial-gradient(ellipse at 16% 40%, rgba(230, 235, 226, 0.18) 0 18px, transparent 19px), radial-gradient(ellipse at 38% 35%, rgba(230, 235, 226, 0.16) 0 22px, transparent 23px), radial-gradient(ellipse at 62% 42%, rgba(230, 235, 226, 0.18) 0 20px, transparent 21px), radial-gradient(ellipse at 84% 36%, rgba(230, 235, 226, 0.16) 0 22px, transparent 23px); opacity: 0.9; animation: qr-aot-steam-drift 3200ms ease-in-out infinite; }
body[data-room="attack-on-titan"] .qr-aot-rumbling-field::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 42px; background: repeating-linear-gradient(130deg, #07080a 0 16px, #2c1b17 16px 18px); }
body[data-room="attack-on-titan"] .qr-aot-rumbling-choice { border-color: var(--qr-aot-crimson); }
body[data-room="attack-on-titan"] .qr-aot-rumbling-choice:hover { border-color: var(--qr-danger); }
body[data-room="attack-on-titan"] .qr-aot-rumbling-choice.picked { background: rgba(166, 47, 40, 0.22); }
body[data-room="attack-on-titan"] .qr-aot-rumbling-countdown { color: var(--qr-danger); text-shadow: 0 0 10px rgba(215, 90, 60, 0.45); }
body[data-room="attack-on-titan"] .qr-aot-rumbling-warning { color: var(--qr-danger); }
body[data-room="attack-on-titan"] .qr-aot-rumbling-counter span { color: var(--qr-danger); }
body[data-room="attack-on-titan"] .qr-aot-rumbling-submit,
body[data-room="attack-on-titan"] .qr-aot-rumbling-done { background: linear-gradient(180deg, var(--qr-danger), var(--qr-aot-crimson)); color: var(--qr-fg); }
body[data-room="attack-on-titan"] .qr-aot-rumbling-result { border-left-color: var(--qr-danger); }

/* 9. Result screen and dossier */
body[data-room="attack-on-titan"] .qr-result { padding: 24px 0 8px; text-align: center; }
body[data-room="attack-on-titan"] .qr-result-sprite { width: 224px; height: 224px; object-fit: contain; image-rendering: pixelated; background: linear-gradient(180deg, rgba(31, 45, 36, 0.84), rgba(7, 8, 10, 0.94)); border: 4px solid var(--qr-warn); border-radius: var(--qr-radius); box-shadow: 0 0 0 4px var(--qr-aot-crimson), 0 18px 34px rgba(0, 0, 0, 0.45); }
body[data-room="attack-on-titan"] .qr-result-eyebrow { color: var(--qr-warn); }
body[data-room="attack-on-titan"] .qr-result-name { color: var(--qr-fg) !important; text-shadow: 0 2px 0 #000; }
body[data-room="attack-on-titan"] .qr-result-tagline { color: var(--qr-fg-dim); }
body[data-room="attack-on-titan"] .qr-result-receipts.qr-result-dossier { background: linear-gradient(180deg, rgba(31, 45, 36, 0.84), rgba(7, 8, 10, 0.86)); border-color: var(--qr-aot-line-strong); }
body[data-room="attack-on-titan"] .qr-result-dossier-eyebrow { color: var(--qr-warn); }
body[data-room="attack-on-titan"] .qr-result-dossier-stamp { color: var(--qr-fg-dim); }
body[data-room="attack-on-titan"] .qr-result-share-row .qr-btn { min-height: 44px; }

/* 10. Motion */
@keyframes qr-aot-scene-rise {
  from { opacity: 0; transform: translateY(8px); filter: saturate(0.8); }
  to { opacity: 1; transform: translateY(0); filter: saturate(1); }
}
@keyframes qr-aot-prop-bob {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}
@keyframes qr-aot-steam-drift {
  0%, 100% { transform: translateX(0); opacity: 0.62; }
  50% { transform: translateX(10px); opacity: 0.88; }
}
@keyframes qr-aot-choice-lift {
  from { transform: translateY(0); }
  to { transform: translateY(-2px); }
}
@keyframes qr-aot-sprite-enter {
  from { opacity: 0; transform: translateY(12px) scale(0.94); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
body[data-room="attack-on-titan"] .qr-result-sprite,
body[data-room="attack-on-titan"] .qr-character-sprite,
body[data-room="attack-on-titan"] .qr-sprite { animation: qr-aot-sprite-enter 420ms ease-out both; }
@media (hover: hover) {
  body[data-room="attack-on-titan"] .qr-choice:hover { animation: qr-aot-choice-lift 120ms ease-out both; }
}
@media (prefers-reduced-motion: reduce) {
  body[data-room="attack-on-titan"] *,
  body[data-room="attack-on-titan"] *::before,
  body[data-room="attack-on-titan"] *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* 11. Mobile */
@media (max-width: 520px) {
  body[data-room="attack-on-titan"] #qr-root { padding: 16px 12px 24px; }
  body[data-room="attack-on-titan"] .qr-board { min-height: 320px; padding: 16px 12px 18px; }
  body[data-room="attack-on-titan"] .qr-board h2,
  body[data-room="attack-on-titan"] .qr-choice-prompt h2,
  body[data-room="attack-on-titan"] .qr-aot-anchor-prompt h2 { font-size: 12px; line-height: 1.5; }
  body[data-room="attack-on-titan"] .qr-choice-prompt p,
  body[data-room="attack-on-titan"] .qrx-prompt p,
  body[data-room="attack-on-titan"] .qr-aot-anchor-prompt p { font-size: 13px; }
  body[data-room="attack-on-titan"] .qr-scene { max-height: 150px; margin-bottom: 14px; }
  body[data-room="attack-on-titan"] .qr-choice-grid,
  body[data-room="attack-on-titan"] .qr-aot-recruit-roster,
  body[data-room="attack-on-titan"] .qr-aot-council-table { grid-template-columns: 1fr; }
  body[data-room="attack-on-titan"] .qr-choice,
  body[data-room="attack-on-titan"] .qr-btn,
  body[data-room="attack-on-titan"] .qr-btn-sm,
  body[data-room="attack-on-titan"] .qr-aot-anchor-dot { min-height: 44px; }
  body[data-room="attack-on-titan"] .qr-aot-anchor-stage { width: min(100%, 320px); }
  body[data-room="attack-on-titan"] .qr-aot-anchor-status { grid-template-columns: 1fr; font-size: 9px; }
  body[data-room="attack-on-titan"] .qr-aot-anchor-actions,
  body[data-room="attack-on-titan"] .qr-actions { flex-direction: column; }
  body[data-room="attack-on-titan"] .qr-result-sprite { width: 192px; height: 192px; }
}
