/* Gameplay is a clear frame; viewport dimensions remain those of the stage panel. */
.stages .stage-illustration.has-stage-video{background:#10141b;border:1px solid #9da7b64d}
.stages .stage-illustration.has-stage-video:after{display:none}
.stages .has-stage-video #stage-image,.stages .has-stage-video .stage-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:1;mask-image:none;transform:none;filter:none}
.stages .has-stage-video #stage-roman{font-size:3.7rem;font-weight:700;line-height:1;left:22px;bottom:18px;min-width:88px;padding:11px 17px 8px;text-align:center;color:#fff9ed;background:#0a1018f5;border:1px solid #ffffff68;box-shadow:0 4px 20px #0008;opacity:1;text-shadow:0 2px 3px #000;pointer-events:none;z-index:2}
.stage-video-controls{position:absolute;right:16px;bottom:16px;z-index:3}
.stage-video-controls button{display:block;min-height:44px;padding:10px 17px;border:1px solid #d0d8e372;background:#10141bde;color:#f5ecdf;font:500 .75rem/1.5 Inter,Arial,sans-serif;cursor:pointer;backdrop-filter:blur(5px)}
.stage-video-controls button:hover{background:#293340}
/* Invisible copies still participate in sizing, keeping every tab the same height.
   Intrinsic grid sizing adapts to viewport width, fonts and text zoom. */
.stages .stage-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.stage-media-column{display:flex;flex-direction:column;min-width:0}
.stage-copy-stack{display:grid;grid-template-columns:minmax(0,1fr);min-width:0}
.stages .stage-copy-stack .stage-copy{grid-area:1/1;display:flex;flex-direction:column;min-width:0}
.stage-copy-stack .stage-copy:not(.is-active){visibility:hidden;pointer-events:none}
.stages .stage-copy h3{font-size:clamp(2rem,3.25vw,3.7rem);line-height:1.08}
.stages .stage-meta{margin-top:auto;padding-top:23px}
.stage-meta>div{display:grid;grid-template-columns:145px minmax(0,1fr);gap:15px;border-top:1px solid #9aa6b33d;padding:12px 0}
.stage-meta>div>span{font-size:.75rem;color:#b9c3d0}
.stage-meta>div>b{font:500 .875rem/1.8 Inter,Arial,sans-serif;color:#f0d7ba}
.stages .stage-wiki{display:inline-flex;align-items:center;gap:17px;min-height:44px;margin-top:14px;align-self:flex-start;color:#fff1e1;font-size:.8125rem}
.stage-wiki:hover{color:#ff8b73}
.stage-wiki>span{color:#ff8b73}
@media(max-width:1100px) and (min-width:761px){.stages .stage-panel{grid-template-columns:minmax(0,.8fr) minmax(0,1fr)}.stage-meta>div{grid-template-columns:1fr;gap:3px}}
@media(max-width:760px){.stages .stage-panel{grid-template-columns:minmax(0,1fr)}.stages .stage-copy h3{font-size:clamp(1.9rem,7.5vw,3rem)}.stages .has-stage-video #stage-roman{font-size:3rem;left:17px;bottom:15px;min-width:72px;padding:9px 13px 7px}.stage-video-controls{right:12px;bottom:12px}.stage-video-controls button{padding:10px 13px}.stage-meta>div{grid-template-columns:135px minmax(0,1fr)}}
@media(max-width:420px){.stage-meta>div{grid-template-columns:1fr;gap:3px}}
