.stack-card.has-scene { isolation: isolate; overflow: hidden; background: #f7f7f1 !important; }
.quest-scene { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.quest-scene img { width: 100%; height: 100%; object-fit: cover; object-position: center; animation: scene-arrive 760ms var(--ease) both; }
.quest-scene::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(246,242,233,.04),rgba(246,242,233,.12) 28%,rgba(246,242,233,.93) 72%,var(--paper) 100%); }
.has-scene .quest-title-large { color: var(--ink) !important; text-shadow: 0 1px 16px color-mix(in srgb, var(--paper) 85%, transparent); }
.has-scene .stack-card__family { color: var(--ink) !important; background: color-mix(in srgb, var(--paper) 92%, transparent); padding: 4px 8px; width: fit-content; border-radius: 3px; }
.quest-stage2 { position: relative; isolation: isolate; }
.quest-stage2 > .quest-scene { opacity: .22; border-radius: 8px; }
@keyframes scene-arrive { from { opacity: 0; transform: scale(1.055); } to { opacity: 1; transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { .quest-scene img { animation: none; } }
