/* Image interaction layer: the original art and its hit regions move together. */
.play-story .zoom-scene{border:0;margin:0;overflow:hidden;position:relative;touch-action:none;background:#121416}
.scene-image-plane{position:relative;width:100%;transform-origin:center;will-change:transform}
.scene-image-plane>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;pointer-events:auto;user-select:none;-webkit-user-drag:none}
.scene-image-plane>.scene-incoming{position:absolute;inset:0}
.scene-image-plane .stage-actions{inset:0}
.image-zoom-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:4px 0 10px;background:none}
.image-zoom-tools button{width:44px;border-radius:50%;font-size:22px}.image-zoom-tools output{font:12px ui-monospace,monospace;color:#d9c6a5;min-width:54px;text-align:center}
.scene-inscription{position:absolute;left:3%;top:7%;max-width:50%;color:#eddbc0;background:#282721df;padding:7px 12px;font:italic bold clamp(14px,2.2vw,26px) Georgia,serif;pointer-events:none;transform:rotate(-3deg);z-index:5}
.manuscript-sources{margin-top:18px;border-top:1px solid #8a7658;padding-top:10px}.manuscript-sources small{display:block;margin:6px 0 14px;line-height:1.5}.manuscript-sources a{overflow-wrap:anywhere}.manuscript-sources h3{font-variant:small-caps;letter-spacing:.04em}
#siemens-dialog .quadcopter{width:clamp(65px,14%,190px);height:auto;padding:0;min-height:44px;background:transparent!important;box-shadow:none!important;opacity:1;border:0;animation:drone-drift 4s ease-in-out infinite alternate;animation-delay:var(--delay)}
.quadcopter:before{display:none!important}.quadcopter img{display:block;width:100%;height:auto;pointer-events:none;filter:drop-shadow(0 5px 5px #0007)}
#siemens-dialog .quadcopter.repelled{opacity:0;pointer-events:none;animation:none;transform:translate(-50%,-150%) scale(.5);transition:opacity .4s,transform .5s}
.roof-status{color:#efdab9;line-height:1.5}.building-interaction .hotspot-target:hover,.building-interaction .hotspot-target:focus-visible{fill:#efc88225;stroke:#efc882!important;stroke-width:2px!important}
@keyframes drone-drift{from{translate:-5px 4px;rotate:-4deg}to{translate:9px -9px;rotate:4deg}}
#exploration[data-scene=tunnel-room] #place-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:min(440px,100%);margin:12px auto 0}
#exploration[data-scene=tunnel-room] #place-actions button{font-size:13px;padding:8px 10px;min-height:44px;margin:0;border-radius:4px;background:#282723ee!important;color:#efdec5!important;line-height:1.3}
#exploration[data-scene=tunnel-room] .place-copy{width:min(490px,calc(100% - 24px));max-height:48svh}
.game-room>header{position:sticky!important;inset:auto!important;top:0!important;display:grid!important;grid-template-columns:1fr 48px 1fr;align-items:center;gap:6px;min-height:54px;background:#181a20;z-index:10;padding:0 0 8px;margin-bottom:10px;pointer-events:none}
.game-room>header button{pointer-events:auto}.game-room>header .game-close{grid-column:1;grid-row:1;justify-self:start;font-size:14px;margin:0;padding:8px 10px}.game-room>header .moon-return{grid-column:2;grid-row:1;position:static!important;transform:none!important}
.game-room .relay-grid{display:grid;grid-template-columns:repeat(4,1fr);width:min(380px,100%);aspect-ratio:1;margin:20px auto;gap:4px;border-left:5px solid #ddb77a;border-right:5px solid #756653}
.game-room .relay-grid button{aspect-ratio:1;padding:0;min-height:0;background:#292b2c!important;position:relative;border-radius:5px}
.relay-grid svg{display:block;width:100%;height:100%}.relay-grid path{stroke:#746e64;stroke-width:11;fill:none;stroke-linecap:round}.relay-grid circle{fill:#a49173}.relay-grid .energized path{stroke:#e5bc77;filter:drop-shadow(0 0 3px #e5bc77)}.relay-grid .energized circle{fill:#fff2d5}.relay-grid button:focus-visible{outline:3px solid #fff3d3;outline-offset:1px}.relay-puzzle.circuit-closed .relay-grid{border-right-color:#e5bc77}
.well-overview,.timber-passport{padding:8px 12px 20px;line-height:1.6}.well-dots{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;max-width:400px;margin:18px 0}.well-dots span{display:grid;place-items:center;border-radius:50%;border:1px solid #a18c68;aspect-ratio:1;font:13px ui-monospace,monospace;color:#e5d8bf}.well-overview button,.custody-track button,.timber-passport>button{padding:12px;margin:6px;max-width:100%;white-space:normal}.custody-track{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.custody-track button{margin:0}.custody-track [aria-pressed=true]{box-shadow:inset 0 -3px #c49b65!important}.custody-detail{min-height:150px;padding:12px}.timber-passport details{padding:14px 0}
.dynamic-gauges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.dynamic-gauges section{padding:13px;background:#202421;color:#e9d9b8;border-radius:8px}.dynamic-gauges span{display:block;font-size:13px}.dynamic-gauges output{display:block;font:24px ui-monospace,monospace;white-space:nowrap;margin:8px 0}.dynamic-gauges meter{display:block;width:100%;height:14px;accent-color:#c79959}.process-recipes{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.material-time progress{display:block;width:100%;height:14px;accent-color:#c79959}.material-time progress[hidden]{display:none}.material-time output{display:block;margin:10px 0}.potential-allies article{margin:20px 0}.potential-allies small{display:block;margin-top:8px}.brazil-prototype .df-hit{fill:transparent;stroke:#d5b780;stroke-width:1;stroke-dasharray:2 2}.brazil-prototype text{font-size:10px;pointer-events:none}.map-state-list{max-height:260px;overflow:auto}.breakroom{grid-column:1/-1}.breakroom form{max-width:720px}.breakroom output{display:block;grid-column:1/-1;line-height:1.6;padding:14px 0}.breakroom small{display:block;margin:16px 0}
@media(max-width:650px){.dynamic-gauges{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dynamic-gauges output{font-size:20px}.custody-track{grid-template-columns:1fr}.custody-detail{min-height:0}.well-dots{gap:5px}.image-zoom-tools{justify-content:center}.scene-inscription{max-width:70%}.game-room>header .game-close{font-size:12px}.manuscript-sources a{font-size:14px}}
@media(prefers-reduced-motion:reduce){.quadcopter{animation:none!important}.quadcopter.repelled{transition:none!important}.scene-image-plane{will-change:auto}}

.scene-image-plane.zoom-focusing{transition:transform .6s ease-in-out}.game-room>header .game-close{grid-column:1!important;grid-row:1!important;justify-self:start!important}
@media(prefers-reduced-motion:reduce){.scene-image-plane.zoom-focusing{transition:none}}
