.glr-room{box-sizing:border-box;width:min(1200px,calc(100% - 20px));max-width:1200px;max-height:95dvh;padding:0;border:1px solid #c3aa70;border-radius:6px;background:#292320;color:#f1e3c3;overflow:auto}.glr-room::backdrop{background:#090b0eef}.glr-room header{display:flex;justify-content:space-between;gap:12px;padding:12px 18px;background:#132027;border-bottom:1px solid #bda774}.glr-room button{border:1px solid #bda774;border-radius:4px;background:#14232b;color:#f1e3c3;font:15px/1.4 Georgia,serif;padding:10px 14px;min-height:44px;cursor:pointer}.glr-room button:focus-visible{outline:3px solid #f0dcae;outline-offset:2px}.glr-hall{position:relative;display:flex;justify-content:center;min-height:600px;padding:35px 40px 26px;background:linear-gradient(90deg,#6b5550 0%,#b1a18d 3%,#e0d6be 5%,#a29178 7%,#3b2424 9%,#682f35 20%,#401e24 50%,#682f35 80%,#3b2424 91%,#a29178 93%,#e0d6be 95%,#b1a18d 97%,#6b5550 100%);box-shadow:inset 0 12px 18px #0007}.glr-hall:before{content:'';position:absolute;inset:0 0 auto;height:22px;background:linear-gradient(#9d8557,#f0db9b 30%,#685333 50%,#e0ce9c 65%,#705635);box-shadow:0 8px 18px #0008}.glr-hall:after{content:'';position:absolute;z-index:0;inset:auto 0 0;height:110px;background:repeating-linear-gradient(135deg,#cabfa6 0,#eee7d8 70px,#a59476 73px,#ded3bd 76px);border-top:7px solid #c0a56c}.glr-niche{position:relative;z-index:1;width:min(490px,100%);margin:0;display:flex;align-items:center;flex-direction:column;padding:14px 20px 0;background:radial-gradient(ellipse at 50% 28%,#dbc7a34d,transparent 75%)}.glr-niche img{display:block;width:100%;height:min(64dvh,700px);object-fit:contain;filter:drop-shadow(0 10px 15px #0008)}.glr-plaque{width:min(470px,100%);box-sizing:border-box;padding:14px 20px;margin-top:16px;text-align:center;border:1px solid #bda774;background:linear-gradient(135deg,#293238,#101b23);color:#f2dfb4;box-shadow:0 6px 18px #0008}.glr-plaque span{font:10px/1.6 system-ui,sans-serif;letter-spacing:.18em}.glr-plaque h2{font:500 clamp(17px,2.5vw,25px)/1.4 Georgia,serif;margin:8px 0;letter-spacing:.03em}@media(max-width:600px){.glr-room header{padding:9px;gap:8px}.glr-room button{font-size:13px;padding:9px}.glr-hall{padding:30px 12px 22px;min-height:490px}.glr-niche{padding:6px 13px 0}.glr-niche img{height:57dvh}.glr-plaque{padding:10px}.glr-plaque span{font-size:8px}}

.glr-room-3d{width:min(1100px,calc(100% - 20px));background:#201e22}.glr-room-3d>h2{text-align:center;font:500 clamp(18px,3vw,26px)/1.4 Georgia,serif;color:#f2dfb4;margin:15px 12px}.glr-canvas{position:relative;width:100%;height:clamp(310px,58dvh,650px);overflow:hidden}.glr-canvas canvas{display:block;max-width:100%;touch-action:none}.glr-controls{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;padding:12px}.glr-status,.glr-model-note{font:14px/1.45 system-ui,sans-serif;text-align:center;margin:4px 20px 12px;color:#e4d4b5}.glr-model-note{font-size:11px;color:#c3b49e}.glr-fallback{display:block;max-height:100%;max-width:100%;object-fit:contain;margin:auto}@media(max-width:600px){.glr-controls{gap:6px;padding:9px}.glr-controls button{font-size:12px;padding:8px;min-height:44px}.glr-status{font-size:12px}.glr-model-note{font-size:10px}}


/* Keep the dedicated 3D room in the viewport, independently of page scroll. */
dialog.glr-room.glr-room-3d {
  position: fixed;
  inset: 0;
  margin: auto;
  transform: none;
  width: min(1100px, calc(100vw - 20px));
  max-width: calc(100vw - 20px);
  max-height: calc(100dvh - 20px);
  overflow: auto;
  overscroll-behavior: contain;
  overflow-anchor: none;
  scroll-padding-top: 80px;
}
dialog.glr-room.glr-room-3d > header {
  position: sticky;
  top: 0;
  z-index: 5;
  flex-shrink: 0;
  background: #132027;
}
dialog.glr-room.glr-room-3d > h2#glr-title {
  display: block;
  position: static;
  float: none;
  transform: none;
  font: 500 clamp(18px, 3vw, 26px)/1.4 Georgia, serif;
  color: #f2dfb4;
  text-align: center;
  text-transform: none;
  letter-spacing: .03em;
  margin: 14px 16px 10px;
  padding: 0;
}
