/* Game of Thrones Quiz Room - iron, ravens, candlelight, crimson, and winter */

:root,
body[data-room="game-of-thrones"],
.qr-room-game-of-thrones {
  --qr-bg: #0a0a0c;
  --qr-bg-elev: #15151a;
  --qr-fg: #ece3cf;
  --qr-fg-dim: #a99c82;
  --qr-accent: #a01717;
  --qr-accent-dim: #5e0d0d;
  --qr-warn: #d9a648;
  --qr-danger: #c1102b;
  --qr-radius: 6px;
  --got-black: #08080a;
  --got-ink: #111318;
  --got-iron: #49535d;
  --got-steel: #81919b;
  --got-frost: #b7c6cc;
  --got-parchment: #e7d6ac;
  --got-gold: #c49137;
  --got-crimson: #8f161b;
  --got-blood: #4e090c;
  --got-moss: #364d36;
  --got-leather: #3c281d;
  --got-copper: #87512d;
  --got-line: rgba(217, 166, 72, 0.32);
  --got-cold-line: rgba(129, 145, 155, 0.38);
  --got-glow: rgba(217, 166, 72, 0.16);
  --got-choice-bg: rgba(10, 10, 12, 0.86);
  --got-choice-border: rgba(217, 166, 72, 0.34);
  --got-choice-icon: url("objects/raven.png");
  --got-scene-shadow: 0 12px 26px rgba(0, 0, 0, 0.34);
}

* { box-sizing: border-box; }

/* Base room shell */
body[data-room="game-of-thrones"] { background: linear-gradient(180deg, rgba(160, 23, 23, 0.12) 0%, transparent 34%), radial-gradient(circle at 50% -10%, rgba(217, 166, 72, 0.12), transparent 34%), linear-gradient(180deg, #101116 0%, var(--qr-bg) 54%, #050506 100%); color: var(--qr-fg); font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
body[data-room="game-of-thrones"] #qr-root { max-width: 500px; }
body[data-room="game-of-thrones"] .qr-page-hero h1 { color: var(--qr-fg); text-shadow: 0 2px 0 var(--got-black); }
body[data-room="game-of-thrones"] .qr-page-hero p { color: var(--qr-fg-dim); }
.qr-stage { gap: 16px; }
.qr-progress { color: var(--got-parchment); font-family: "Press Start 2P", monospace; font-size: 10px; letter-spacing: 0; text-shadow: 0 1px 0 var(--got-black); }
.qr-board { position: relative; overflow: hidden; min-height: 344px; padding: 18px 16px 20px; background: linear-gradient(180deg, rgba(231, 214, 172, 0.05), rgba(0, 0, 0, 0) 44%), repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.018) 0 1px, transparent 1px 8px), var(--qr-bg-elev); border: 1px solid var(--got-line); border-radius: var(--qr-radius); box-shadow: 0 10px 0 rgba(0, 0, 0, 0.24), inset 0 0 0 1px rgba(231, 214, 172, 0.05); }
.qr-board::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(255, 255, 255, 0.025), transparent 18%, transparent 82%, rgba(0, 0, 0, 0.22)), linear-gradient(180deg, transparent 0 84%, rgba(0, 0, 0, 0.18)); }
.qr-board > * { position: relative; z-index: 1; }
.qr-board h1, .qr-board h2, .qr-board h3, .qr-choice-prompt h1, .qr-choice-prompt h2, .qr-choice-prompt h3 { color: var(--qr-fg); letter-spacing: 0; text-shadow: 0 2px 0 var(--got-black); }
.qr-choice-prompt { margin: 0 0 14px; }
.qr-choice-prompt h2, .qr-got-council-prompt h2 { margin: 0 0 8px; color: var(--qr-warn); font-family: "Press Start 2P", monospace; font-size: 14px; letter-spacing: 0; line-height: 1.45; text-transform: uppercase; }
.qr-choice-prompt p, .qr-got-council-prompt p { margin: 0; color: var(--qr-fg-dim); font-size: 14px; line-height: 1.56; }
.qr-scene { display: block; width: 100%; height: auto; margin: 0 0 16px; border: 2px solid var(--got-line); border-radius: var(--qr-radius); background: var(--got-black); box-shadow: var(--got-scene-shadow); image-rendering: pixelated; image-rendering: -moz-crisp-edges; image-rendering: crisp-edges; animation: qr-got-scene-fade 420ms ease-out both; }

/* Shared controls */
.qr-choice-list { display: grid; grid-template-columns: 1fr; gap: 9px; margin: 0 0 12px; }
.qr-choice { appearance: none; position: relative; min-height: 60px; padding: 12px 13px; overflow: hidden; color: var(--qr-fg); background: linear-gradient(180deg, rgba(231, 214, 172, 0.055), rgba(0, 0, 0, 0.08)), var(--got-choice-bg); border: 2px solid var(--got-choice-border); border-radius: var(--qr-radius); box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.28); cursor: pointer; font-family: inherit; font-size: 13px; line-height: 1.45; text-align: left; touch-action: manipulation; transition: transform 120ms ease, border-color 120ms ease, background 120ms ease, box-shadow 120ms ease, filter 120ms ease; }
.qr-choice-list .qr-choice { min-height: 66px; padding-left: 58px; }
.qr-choice-list .qr-choice::before { content: ""; position: absolute; left: 13px; top: 50%; width: 33px; height: 33px; transform: translateY(-50%); background: var(--got-choice-icon) center / contain no-repeat; filter: drop-shadow(0 3px 0 rgba(0, 0, 0, 0.34)); image-rendering: pixelated; animation: qr-got-prop-bob 3.2s ease-in-out infinite; }
.qr-choice-list .qr-choice::after { content: ""; position: absolute; left: 49px; top: 10px; bottom: 10px; width: 1px; background: linear-gradient(180deg, transparent, var(--got-line), transparent); }
.qr-choice:hover:not(:disabled), .qr-choice:focus-visible { border-color: var(--qr-warn); box-shadow: 0 5px 0 rgba(0, 0, 0, 0.24), inset 0 -2px 0 rgba(0, 0, 0, 0.16); outline: none; animation: qr-got-choice-hover 180ms ease-out both; }
.qr-choice.picked { color: #1a0d0c; background: linear-gradient(180deg, rgba(231, 214, 172, 0.94), rgba(217, 166, 72, 0.82)), var(--got-parchment); border-color: var(--qr-warn); box-shadow: 0 5px 0 var(--qr-accent-dim); }
.qr-choice:disabled { cursor: not-allowed; }
.qr-choice:disabled:not(.picked) { opacity: 0.55; filter: grayscale(0.38); }
.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.5; text-transform: uppercase; }
.qr-choice.picked .qr-choice-name { color: var(--qr-accent-dim); }
.qr-btn { appearance: none; width: 100%; min-height: 44px; margin-top: 16px; padding: 12px 18px; color: #170d08; background: linear-gradient(180deg, #e4bd66, var(--qr-warn) 54%, #b8782d); border: 1px solid rgba(231, 214, 172, 0.24); border-radius: var(--qr-radius); box-shadow: 0 4px 0 var(--qr-accent-dim); cursor: pointer; font-family: "Press Start 2P", monospace; font-size: 11px; letter-spacing: 0; text-transform: uppercase; transition: transform 100ms ease, filter 100ms ease, box-shadow 100ms ease; }
.qr-btn:hover:not(:disabled), .qr-btn:focus-visible { filter: brightness(1.08); transform: translateY(-1px); outline: none; }
.qr-btn:active { transform: translateY(2px); box-shadow: 0 2px 0 var(--qr-accent-dim); }
.qr-btn:disabled { cursor: not-allowed; opacity: 0.52; filter: grayscale(0.45); transform: none; }
.qr-btn-sm { width: auto; min-height: 44px; margin-top: 0; padding: 8px 14px; font-size: 10px; }
.qr-counter, .qr-status { min-height: 36px; margin: 0 0 12px; padding: 9px 10px; color: var(--qr-fg-dim); background: rgba(10, 10, 12, 0.72); border: 1px solid var(--got-cold-line); border-radius: var(--qr-radius); font-family: "Press Start 2P", monospace; font-size: 10px; letter-spacing: 0; line-height: 1.45; text-align: center; }
.qr-counter span, .qr-status span { color: var(--qr-warn); }
.qr-counter.complete { border-color: var(--qr-warn); box-shadow: 0 0 18px var(--got-glow); }
.qr-status.win { color: var(--got-frost); }
.qr-status.bad { color: var(--qr-danger); animation: qr-got-status-jolt 260ms ease-out; }
.qr-outcome, .qr-got-council-outcome { margin-top: 14px; padding: 13px 14px; color: var(--qr-fg); background: linear-gradient(180deg, rgba(160, 23, 23, 0.12), rgba(0, 0, 0, 0.05)), rgba(10, 10, 12, 0.78); border: 1px dashed var(--qr-warn); border-radius: var(--qr-radius); box-shadow: inset 0 0 0 1px rgba(231, 214, 172, 0.04); font-size: 13px; line-height: 1.55; animation: qr-got-scene-fade 220ms ease-out both; }
.qr-outcome[hidden], .qr-choice-list[hidden] { display: none; }
.qr-hint { margin-top: 8px; padding: 10px 12px; color: var(--qr-warn); background: rgba(21, 21, 26, 0.94); border-left: 3px solid var(--qr-warn); border-radius: var(--qr-radius); font-size: 12px; font-style: italic; line-height: 1.45; opacity: 0; transition: opacity 320ms ease; }
.qr-hint-visible { opacity: 1; }
.qr-resume-banner { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; padding: 12px; color: var(--qr-fg); background: rgba(21, 21, 26, 0.96); border: 1px solid var(--qr-warn); border-radius: var(--qr-radius); font-size: 13px; }

/* Result screen */
.qr-result { color: var(--qr-fg); }
.qr-result-sprite { background: linear-gradient(180deg, rgba(217, 166, 72, 0.10), rgba(160, 23, 23, 0.08)), var(--got-black); border-color: var(--qr-warn); box-shadow: 0 0 0 1px rgba(231, 214, 172, 0.10), 0 0 30px rgba(160, 23, 23, 0.20); animation: qr-got-sprite-enter 560ms ease-out both; }
.qr-result-eyebrow, .qr-result-dossier-eyebrow { color: var(--qr-warn); }
.qr-result-name { color: var(--qr-fg) !important; text-shadow: 0 2px 0 var(--got-black); }
.qr-result-tagline { color: var(--qr-fg-dim); }
.qr-result-receipts.qr-result-dossier, .qr-result-receipts { color: var(--qr-fg-dim); background: linear-gradient(180deg, rgba(231, 214, 172, 0.08), rgba(0, 0, 0, 0.18)), var(--qr-bg-elev); border: 1px solid var(--got-line); }

/* Puzzle 1: Iron Throne Petitions */
.qr-petition { --got-choice-icon: url("objects/scroll.png"); display: flex; flex-direction: column; }
.qr-petition .qr-scene { border-color: rgba(217, 166, 72, 0.52); background: linear-gradient(180deg, var(--got-ink), var(--got-leather)); }
.qr-petition .qr-choice-prompt { padding-left: 11px; border-left: 3px solid var(--qr-warn); }
.qr-petition .qr-choice-prompt h2 { color: var(--qr-warn); }
.qr-petition .qr-choice { border-left-color: var(--qr-warn); }
.qr-petition .qr-choice[data-id="grant"] { --got-choice-icon: url("objects/raven.png"); }
.qr-petition .qr-choice[data-id="tax"] { --got-choice-icon: url("objects/hand_pin.png"); }
.qr-petition .qr-choice[data-id="refuse"] { --got-choice-icon: url("objects/lion_sigil.png"); }
.qr-petition .qr-choice[data-id="visit"] { --got-choice-icon: url("objects/dragon.png"); }
.qr-petition .qr-choice.picked { box-shadow: 0 5px 0 #6a350d; }
.qr-petition .qr-outcome { border-color: var(--qr-warn); }
.qr-petition-done { background: linear-gradient(180deg, #e7d6ac, var(--qr-warn)); }

/* Puzzle 2: Wall Watch */
.qr-watch { --got-choice-icon: url("objects/white_walker.png"); }
.qr-watch .qr-scene { border-color: rgba(129, 145, 155, 0.68); box-shadow: 0 0 0 1px rgba(183, 198, 204, 0.08), 0 12px 24px rgba(0, 0, 0, 0.32); }
.qr-watch .qr-choice-prompt { padding: 12px; background: rgba(8, 8, 10, 0.46); border: 1px solid var(--got-cold-line); border-radius: var(--qr-radius); }
.qr-watch .qr-choice-prompt h2 { color: var(--got-frost); }
.qr-watch .qr-counter { color: var(--got-frost); }
.qr-watch .qr-status { min-height: 38px; }
.qr-watch-stage { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 8px !important; margin-bottom: 12px !important; }
.qr-watch-stage .qr-choice { min-height: 96px !important; padding: 12px !important; background: linear-gradient(180deg, rgba(183, 198, 204, 0.10), rgba(54, 77, 54, 0.16)), var(--got-black); border-color: rgba(129, 145, 155, 0.48); }
.qr-watch-stage .qr-choice:hover:not(:disabled) { border-color: var(--got-frost); }
.qr-watch-stage .qr-choice.picked { background: linear-gradient(180deg, rgba(183, 198, 204, 0.28), rgba(10, 10, 12, 0.92)); border-color: var(--got-frost); }
.qr-watch-stage .qr-choice img { width: 48px; height: 48px; image-rendering: pixelated; filter: drop-shadow(0 4px 0 rgba(0, 0, 0, 0.34)); animation: qr-got-cold-pulse 2.8s ease-in-out infinite; }
.qr-watch .qr-status.win { border-color: var(--got-frost); color: var(--got-frost); }
.qr-watch .qr-status.bad { border-color: var(--qr-danger); }

/* Puzzle 3: Trial by Combat */
.qr-trial { --got-choice-icon: url("objects/sword_valyrian.png"); }
.qr-trial .qr-scene { border-color: rgba(183, 198, 204, 0.58); background: var(--got-steel); }
.qr-trial .qr-choice-prompt { padding-left: 11px; border-left: 3px solid var(--got-steel); }
.qr-trial .qr-choice-prompt h2 { color: var(--got-frost); }
.qr-trial .qr-choice { border-color: rgba(129, 145, 155, 0.42); }
.qr-trial .qr-choice-name { color: var(--got-frost); }
.qr-trial .qr-choice[data-id="mountain"] { --got-choice-icon: url("objects/lion_sigil.png"); border-left-color: var(--qr-accent); }
.qr-trial .qr-choice[data-id="sellsword"] { --got-choice-icon: url("objects/chalice.png"); border-left-color: var(--got-gold); }
.qr-trial .qr-choice[data-id="kin"] { --got-choice-icon: url("objects/direwolf.png"); border-left-color: var(--got-frost); }
.qr-trial .qr-choice[data-id="self"] { --got-choice-icon: url("objects/sword_valyrian.png"); border-left-color: var(--qr-danger); }
.qr-trial .qr-choice.picked { border-color: var(--got-frost); }
.qr-trial .qr-outcome { border-color: var(--got-frost); }
.qr-trial-done { background: linear-gradient(180deg, var(--got-frost), var(--got-steel)); }

/* Puzzle 4: Small Council */
.qr-got-council { display: flex; flex-direction: column; gap: 14px; }
.qr-got-council .qr-scene { margin-bottom: 0; border-color: rgba(217, 166, 72, 0.46); }
.qr-got-council-prompt { padding: 12px; background: rgba(60, 40, 29, 0.34); border: 1px solid var(--got-line); border-radius: var(--qr-radius); }
.qr-got-council-counter { margin-top: 10px; color: var(--qr-warn); font-family: "Press Start 2P", monospace; font-size: 10px; letter-spacing: 0; }
.qr-got-council-motion { background: linear-gradient(180deg, rgba(231, 214, 172, 0.06), rgba(0, 0, 0, 0.12)), var(--qr-bg-elev) !important; border: 2px solid var(--got-line) !important; border-radius: var(--qr-radius) !important; padding: 12px !important; }
.qr-got-council-motion-title { color: var(--qr-warn) !important; font-family: "Press Start 2P", monospace; font-size: 11px; letter-spacing: 0 !important; }
.qr-got-council-motion-blurb { color: var(--qr-fg-dim); font-size: 13px; line-height: 1.55; }
.qr-got-council-stances { display: flex; flex-direction: column; gap: 8px; }
.qr-got-council-stance { min-height: 62px; color: var(--qr-fg) !important; background: linear-gradient(90deg, rgba(217, 166, 72, 0.08), transparent 42%), var(--got-choice-bg) !important; border: 2px solid var(--got-choice-border) !important; border-radius: var(--qr-radius) !important; line-height: 1.45; }
.qr-got-council-stance:hover { border-color: var(--qr-warn) !important; box-shadow: 0 4px 0 rgba(0, 0, 0, 0.22); }
.qr-got-council-stance.picked { color: #1a0d0c !important; background: linear-gradient(180deg, rgba(231, 214, 172, 0.96), rgba(217, 166, 72, 0.82)) !important; border-color: var(--qr-warn) !important; }
.qr-got-council-stance-tag { border-radius: 3px !important; box-shadow: 0 0 0 1px rgba(231, 214, 172, 0.18); font-family: "Press Start 2P", monospace; font-size: 8px; letter-spacing: 0 !important; }
.qr-got-council-actions { display: flex; gap: 8px; }
.qr-got-council-actions .qr-btn { flex: 1; margin-top: 0; }
.qr-got-council-skip { color: var(--qr-fg); background: linear-gradient(180deg, var(--got-iron), var(--got-ink)); box-shadow: 0 4px 0 var(--got-black); }
.qr-got-council-tally { margin-top: 2px; padding: 12px; color: var(--qr-warn) !important; background: rgba(8, 8, 10, 0.76) !important; border: 1px solid var(--got-line); border-radius: var(--qr-radius); font-family: "Press Start 2P", monospace; font-size: 10px; letter-spacing: 0 !important; line-height: 1.8; }
.qr-got-council-tally-row { display: flex; justify-content: space-between; gap: 12px; }
.qr-got-council-tally[hidden], .qr-got-council-outcome[hidden] { display: none; }

/* Puzzle 5: Iron Throne */
.qr-throne { --got-choice-icon: url("objects/throne.png"); }
.qr-throne .qr-scene { border-color: rgba(160, 23, 23, 0.74); box-shadow: 0 0 0 1px rgba(217, 166, 72, 0.06), 0 16px 34px rgba(160, 23, 23, 0.16); }
.qr-throne .qr-choice-prompt { padding: 12px; background: linear-gradient(90deg, rgba(160, 23, 23, 0.18), transparent 68%), rgba(8, 8, 10, 0.52); border: 1px solid rgba(160, 23, 23, 0.44); border-radius: var(--qr-radius); }
.qr-throne .qr-choice-prompt h2 { color: #e0b66b; }
.qr-throne .qr-choice { min-height: 70px; border-color: rgba(160, 23, 23, 0.42); }
.qr-throne .qr-choice-name { color: #e0b66b; }
.qr-throne .qr-choice[data-id="sit"] { --got-choice-icon: url("objects/crown.png"); }
.qr-throne .qr-choice[data-id="burn"] { --got-choice-icon: url("objects/wildfire.png"); border-left-color: var(--got-moss); }
.qr-throne .qr-choice[data-id="refuse"] { --got-choice-icon: url("objects/direwolf.png"); border-left-color: var(--got-frost); }
.qr-throne .qr-choice[data-id="puppet"] { --got-choice-icon: url("objects/hand_pin.png"); border-left-color: var(--qr-warn); }
.qr-throne .qr-choice[data-id="kingslayer"] { --got-choice-icon: url("objects/sword_valyrian.png"); border-left-color: var(--qr-danger); }
.qr-throne .qr-choice.picked { border-color: #e0b66b; box-shadow: 0 5px 0 #4e090c; }
.qr-throne .qr-outcome { border-color: rgba(160, 23, 23, 0.78); }
.qr-throne-done { background: linear-gradient(180deg, #e0b66b, #a01717); }

/* Scene tints and prop routing */
img.qr-scene[src$="scene_petition.png"] {
  background-color: var(--got-leather);
  border-color: rgba(217, 166, 72, 0.58);
  box-shadow: 0 0 0 1px rgba(231, 214, 172, 0.08), var(--got-scene-shadow);
}
img.qr-scene[src$="scene_watch.png"] {
  background-color: var(--got-black);
  border-color: rgba(183, 198, 204, 0.62);
  box-shadow: 0 0 18px rgba(129, 145, 155, 0.14), var(--got-scene-shadow);
}
img.qr-scene[src$="scene_trial.png"] {
  background-color: var(--got-steel);
  border-color: rgba(183, 198, 204, 0.56);
  box-shadow: 0 0 0 1px rgba(183, 198, 204, 0.10), var(--got-scene-shadow);
}
img.qr-scene[src$="scene_council.png"] {
  background-color: var(--got-leather);
  border-color: rgba(217, 166, 72, 0.48);
  box-shadow: 0 0 0 1px rgba(217, 166, 72, 0.08), var(--got-scene-shadow);
}
img.qr-scene[src$="scene_throne.png"] {
  background-color: var(--got-black);
  border-color: rgba(160, 23, 23, 0.74);
  box-shadow: 0 0 22px rgba(160, 23, 23, 0.18), var(--got-scene-shadow);
}
.qr-petition .qr-choice[data-id="grant"]:hover { border-color: var(--got-frost); }
.qr-petition .qr-choice[data-id="tax"]:hover { border-color: var(--qr-warn); }
.qr-petition .qr-choice[data-id="refuse"]:hover { border-color: var(--qr-danger); }
.qr-petition .qr-choice[data-id="visit"]:hover { border-color: var(--got-moss); }
.qr-trial .qr-choice[data-id="mountain"]:hover { box-shadow: 0 5px 0 rgba(78, 9, 12, 0.80); }
.qr-trial .qr-choice[data-id="sellsword"]:hover { box-shadow: 0 5px 0 rgba(196, 145, 55, 0.36); }
.qr-trial .qr-choice[data-id="kin"]:hover { box-shadow: 0 5px 0 rgba(183, 198, 204, 0.28); }
.qr-trial .qr-choice[data-id="self"]:hover { box-shadow: 0 5px 0 rgba(193, 16, 43, 0.34); }
.qr-throne .qr-choice[data-id="sit"]:hover { border-color: var(--qr-warn); }
.qr-throne .qr-choice[data-id="burn"]:hover { border-color: var(--got-moss); }
.qr-throne .qr-choice[data-id="refuse"]:hover { border-color: var(--got-frost); }
.qr-throne .qr-choice[data-id="puppet"]:hover { border-color: var(--got-gold); }
.qr-throne .qr-choice[data-id="kingslayer"]:hover { border-color: var(--qr-danger); }
.qr-choice[data-id="grant"].picked { background: linear-gradient(180deg, rgba(183, 198, 204, 0.88), rgba(217, 166, 72, 0.76)); }
.qr-choice[data-id="tax"].picked { background: linear-gradient(180deg, rgba(217, 166, 72, 0.92), rgba(196, 145, 55, 0.78)); }
.qr-choice[data-id="refuse"].picked { background: linear-gradient(180deg, rgba(160, 23, 23, 0.88), rgba(217, 166, 72, 0.72)); color: var(--qr-fg); }
.qr-choice[data-id="visit"].picked { background: linear-gradient(180deg, rgba(54, 77, 54, 0.90), rgba(217, 166, 72, 0.72)); color: var(--qr-fg); }
.qr-choice[data-id="mountain"].picked { color: var(--qr-fg); background: linear-gradient(180deg, rgba(160, 23, 23, 0.82), rgba(8, 8, 10, 0.90)); }
.qr-choice[data-id="sellsword"].picked { background: linear-gradient(180deg, rgba(217, 166, 72, 0.92), rgba(60, 40, 29, 0.82)); }
.qr-choice[data-id="kin"].picked { color: var(--got-black); background: linear-gradient(180deg, rgba(183, 198, 204, 0.96), rgba(129, 145, 155, 0.82)); }
.qr-choice[data-id="self"].picked { color: var(--qr-fg); background: linear-gradient(180deg, rgba(193, 16, 43, 0.82), rgba(8, 8, 10, 0.90)); }
.qr-choice[data-id="sit"].picked { background: linear-gradient(180deg, rgba(217, 166, 72, 0.96), rgba(160, 23, 23, 0.74)); }
.qr-choice[data-id="burn"].picked { color: var(--qr-fg); background: linear-gradient(180deg, rgba(54, 77, 54, 0.92), rgba(160, 23, 23, 0.70)); }
.qr-choice[data-id="refuse"].picked .qr-choice-name,
.qr-choice[data-id="self"].picked .qr-choice-name,
.qr-choice[data-id="burn"].picked .qr-choice-name {
  color: var(--got-frost);
}
.qr-watch-stage .qr-choice::after {
  content: "";
  position: absolute;
  inset: 9px;
  border: 1px solid rgba(183, 198, 204, 0.10);
  pointer-events: none;
}
.qr-watch-stage .qr-choice.picked::after {
  border-color: rgba(183, 198, 204, 0.42);
}
.qr-got-council-stance[data-id$="_hawk"] { border-left-color: var(--qr-danger) !important; }
.qr-got-council-stance[data-id$="_dove"] { border-left-color: var(--got-frost) !important; }
.qr-got-council-stance[data-id$="_prag"] { border-left-color: var(--qr-warn) !important; }
.qr-got-council-stance[data-id$="_ideal"] { border-left-color: var(--got-moss) !important; }
.qr-got-council-stance[data-id^="succ"] { box-shadow: inset 3px 0 0 rgba(217, 166, 72, 0.14); }
.qr-got-council-stance[data-id^="fam"] { box-shadow: inset 3px 0 0 rgba(196, 145, 55, 0.12); }
.qr-got-council-stance[data-id^="env"] { box-shadow: inset 3px 0 0 rgba(129, 145, 155, 0.13); }
.qr-got-council-stance[data-id^="wall"] { box-shadow: inset 3px 0 0 rgba(183, 198, 204, 0.14); }
.qr-got-council-stance.picked[data-id] { box-shadow: 0 5px 0 rgba(0, 0, 0, 0.30); }

/* Animations */
@keyframes qr-got-scene-fade {
  from { opacity: 0; transform: translateY(5px); filter: brightness(0.82); }
  to { opacity: 1; transform: translateY(0); filter: brightness(1); }
}
@keyframes qr-got-prop-bob {
  0%, 100% { transform: translateY(-50%); }
  50% { transform: translateY(calc(-50% - 2px)); }
}
@keyframes qr-got-choice-hover {
  from { transform: translateY(0); }
  to { transform: translateY(-2px); }
}
@keyframes qr-got-sprite-enter {
  0% { opacity: 0; transform: translateY(10px) scale(0.96); filter: brightness(0.78); }
  70% { opacity: 1; transform: translateY(-2px) scale(1.02); filter: brightness(1.06); }
  100% { opacity: 1; transform: translateY(0) scale(1); filter: brightness(1); }
}
@keyframes qr-got-cold-pulse {
  0%, 100% { filter: drop-shadow(0 4px 0 rgba(0, 0, 0, 0.34)); }
  50% { filter: drop-shadow(0 0 7px rgba(183, 198, 204, 0.45)); }
}
@keyframes qr-got-status-jolt {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-3px); }
  75% { transform: translateX(3px); }
}

/* Mobile */
@media (max-width: 640px) {
  body[data-room="game-of-thrones"] #qr-root, #qr-root { padding: 18px 12px; }
  .qr-board { min-height: 328px; padding: 16px 12px 18px; }
  .qr-scene { margin-bottom: 14px; border-width: 1px; }
  .qr-choice-prompt h2, .qr-got-council-prompt h2 { font-size: 12px; line-height: 1.5; }
  .qr-choice-prompt p, .qr-got-council-prompt p, .qr-outcome, .qr-got-council-outcome { font-size: 13px; }
  .qr-choice, .qr-btn, .qr-btn-sm, .qr-got-council-stance { min-height: 44px; }
  .qr-choice-list .qr-choice { min-height: 64px; padding: 12px 12px 12px 53px; font-size: 12px; }
  .qr-choice-list .qr-choice::before { left: 12px; width: 29px; height: 29px; }
  .qr-choice-list .qr-choice::after { left: 46px; }
  .qr-watch-stage { gap: 6px !important; }
  .qr-watch-stage .qr-choice { min-height: 88px !important; padding: 10px 6px !important; }
  .qr-watch-stage .qr-choice img { width: 42px !important; height: 42px !important; }
  .qr-got-council-actions { flex-direction: column; }
}

@media (max-width: 380px) {
  .qr-board { padding-left: 10px; padding-right: 10px; }
  .qr-choice-list { gap: 8px; }
  .qr-choice-list .qr-choice { padding-left: 48px; line-height: 1.42; }
  .qr-choice-list .qr-choice::before { width: 26px; height: 26px; }
  .qr-choice-list .qr-choice::after { left: 42px; }
  .qr-choice-name, .qr-counter, .qr-status, .qr-got-council-counter, .qr-got-council-tally { font-size: 9px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
}
