.scene.scene-pan{display:block;min-height:0;overflow:visible;background:#17201c}
.scene-pan>.scene-copy{position:relative;width:min(100%,1100px);margin-inline:auto;padding:32px clamp(22px,5vw,70px) 48px;text-shadow:none;pointer-events:auto}
.scene-pan h1,.scene-pan h2{margin-top:12px}
.scene-pan-viewport{position:relative;width:100%;overflow-x:auto;overflow-y:hidden;touch-action:pan-x pan-y;overscroll-behavior-x:contain;scrollbar-width:thin;scroll-behavior:auto}
.scene-pan-canvas{position:relative;width:100%;aspect-ratio:var(--scene-ratio,1672/941);isolation:isolate}
.scene-pan-canvas>img{display:block;position:static;width:100%;height:100%;object-fit:contain;object-position:center;mask-image:none;transform:none}
.scene-pan .scene-shade{display:none}
.scene-pan-canvas .image-arrow{width:13.5%;min-width:90px;max-width:225px}
.scene-pan-canvas .radio-hotspot{left:70%;top:41%;width:12%;height:8%;min-width:44px;min-height:44px}
.scene-pan .radio-hotspot-hint{display:none}
.scene-pan-annotation .mahoroba-dialogue{position:relative;left:auto;top:auto;right:auto;transform:none;display:flex;margin:8px 0 22px;width:250px;max-width:100%;min-height:144px}
.scene-pan-annotation .mahoroba-dialogue:hover,.scene-pan-annotation .mahoroba-dialogue:focus-visible{transform:none}
.scene-pan-controls{padding:12px clamp(20px,5vw,70px);border-bottom:1px solid #e7d6ad33}
.scene-pan-controls[hidden]{display:none}
.scene-pan-buttons{display:flex;flex-wrap:wrap;gap:12px}
.scene-pan-controls button{min-width:90px;min-height:44px;padding:10px 16px;border:1px solid #e7d6ad99;border-radius:6px;background:#26372d;color:#f3ecd9;font:inherit;font-size:13px;cursor:pointer}
.scene-pan-controls button:disabled{opacity:.45;cursor:default}
.scene-pan-controls p{font-size:12px;line-height:1.8;margin:10px 0 0}
.scene-pan-viewport:focus-visible{outline:2px solid #e7d6ad;outline-offset:-3px}
.scene-pan .image-arrow:focus-visible,.scene-pan .radio-hotspot:focus-visible{outline:3px solid #fff6ce;outline-offset:2px}
@media(max-width:800px),(max-width:1000px) and (max-height:600px){
 .scene-pan-canvas{width:max(100%,calc(clamp(280px,62svh,520px)*var(--scene-ratio,1.776)));aspect-ratio:var(--scene-ratio,1672/941)}
 .scene-pan>.scene-copy{padding:24px 22px 38px}
 .scene-pan h1,.scene-pan h2{font-size:clamp(26px,7.7vw,36px)}
}

/* Join the original full-frame image to its readable copy panel. */
.scene-pan-canvas::after{content:"";position:absolute;inset:auto 0 0;height:clamp(24px,4vw,54px);background:linear-gradient(to bottom,#17201c00,#17201c);pointer-events:none;z-index:0}
.scene-pan-controls{border-bottom-color:transparent}
#commons .commons-image::after{content:"";position:absolute;inset:auto 0 0;height:clamp(24px,4vw,54px);background:linear-gradient(to bottom,#22372c00,#22372c);pointer-events:none}

/* Coordinates are relative to the full source image, including during pan. */
#inside .scene-pan-canvas .scene-pan-annotation{position:static;margin:0}
#inside .scene-pan-canvas .mahoroba-dialogue{position:absolute;left:56%;top:49%;right:auto;transform:translate(-100%,-100%);margin:0;display:flex;flex-direction:column;gap:2px;padding:22px 20px 30px;z-index:5}
#inside .mahoroba-dialogue a{display:grid;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:3px}
.welcome-entries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:26px 0}
.welcome-entries .right-wing-entry{grid-area:auto;min-height:80px}
.commons-building{position:absolute;transform:translate(-50%,-50%);z-index:4;display:flex;flex-direction:column;align-items:center;gap:3px}
.commons-building.studio{left:29%;top:43%}.commons-building.atelier{left:53%;top:38%}.commons-building.library{left:84%;top:39%}
.commons-building .commons-label{position:static;transform:none;background:#20372b;color:#f3ecd9;border:1px solid #c1a876;border-radius:5px;min-height:44px}
.commons-building .building-info{min-height:44px;padding:4px 8px;background:#20372b;color:#f3ecd9;border:1px solid #c1a876}
.building-description{display:none;position:absolute;top:100%;width:190px;max-width:65vw;margin:4px 0;padding:12px;background:#20372b;color:#f3ecd9;border:1px solid #c1a876;border-radius:5px;line-height:1.8;pointer-events:none}
.commons-building:hover .building-description,.commons-building:focus-within .building-description,.commons-building.is-open .building-description{display:block}
.commons-building.library .building-description{right:0}.commons-building.is-dismissed .building-description{display:none}
.commons-image button.rack-bubble{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none;cursor:pointer;min-height:44px;z-index:3}
.commons-guide{max-width:900px;scroll-margin-top:24px}.commons-guide ul{padding-left:22px;line-height:2}.commons-guide li{margin:12px 0}.commons-guide li a{display:inline-block;min-height:44px;text-decoration:underline}
.commons-section .commons-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.commons-section .commons-actions a{background:#20372b;border:1px solid #c1a876;border-radius:5px;color:#f3ecd9;padding:14px;display:flex;align-items:center}
@media(max-width:800px){.welcome-entries{grid-template-columns:1fr}.commons-section .commons-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.commons-building .commons-label{padding:4px 6px}.commons-building .building-info{padding:4px}.commons-image button.rack-bubble{left:58%;top:7%;width:35%;height:23%}}

@media(max-width:800px){.commons-building.studio,.commons-building.atelier,.commons-building.library{top:65%}.commons-building .commons-label{min-width:60px;white-space:nowrap}.commons-image button.rack-bubble{left:57%;top:0;width:36%;height:23%}}
@media(max-width:800px){#inside .scene-pan-canvas .mahoroba-dialogue{width:210px}}

/* Mobile navigation uses native touch pan; desktop controls remain available. */
@media(max-width:800px),(max-width:1000px) and (max-height:600px){.scene-pan-buttons{display:none}}
