/* Fit complete room illustrations inside phone/tablet screens.
   Reserve space within the scene for the floating controls and stone floor. */
@media(max-width:1100px),(max-height:600px){
 .gallery-page,.engine-gallery-page{
  --fit-controls:calc(80px + env(safe-area-inset-top,0px));
  --fit-floor:calc(clamp(30px,10.4vw,115px) + env(safe-area-inset-bottom,0px));
  --fit-art-height:calc(100svh - var(--fit-controls) - var(--fit-floor));
  height:auto;min-height:100svh;overflow-x:hidden;overflow-y:auto;
 }
 .gallery-page .gallery-art,.engine-gallery-page .engine-gallery{
  position:relative;inset:auto;display:flex;align-items:center;justify-content:center;
  width:100%;height:auto;min-height:100svh;margin:0;
  padding:var(--fit-controls) 0 var(--fit-floor);overflow:visible;
 }
 .gallery-page .gallery-art>img{
  display:block;flex:none;width:100%;height:auto;min-height:0;
  max-width:100%;max-height:max(80px,var(--fit-art-height));
  margin:0;object-fit:contain;object-position:center;
 }
 .engine-gallery-page .engine-stage{
  width:min(100%,calc(max(80px,var(--fit-art-height)) * 1672 / 941));
  height:auto;min-height:0;aspect-ratio:1672/941;transform:none;margin:0 auto;
 }
 .engine-gallery-page .engine-scene{display:block;width:100%;height:100%;min-height:0;object-fit:contain}
 .engine-gallery-page .engine-door-note{
  left:50%;width:min(220px,calc(100% - 16px));min-width:0;
  max-width:calc(100% - 16px);transform:translate(-50%,-50%);overflow-wrap:break-word;
 }
 .engine-gallery-page .engine-screen-link span{left:auto;right:0;transform:none;width:160px;max-width:60vw}
}
@media(max-width:700px){
 .return-terminal-page .terminal-topline{padding-top:65px;flex-wrap:wrap;row-gap:8px}
 .return-terminal-page :is(.terminal-path,.terminal-bot,.terminal-display h1){max-width:100%;overflow-wrap:anywhere}
 .drop-definition .conversion>span{white-space:normal;font-size:clamp(20px,6vw,24px);overflow-wrap:anywhere}
 .drop-definition .million{font-size:clamp(18px,5.5vw,22px)}
 .drop-definition .million strong{white-space:normal;overflow-wrap:anywhere}
 .library-thanks .letter-riddle .riddle-code{font-size:clamp(18px,5.3vw,23px);letter-spacing:.04em}
 .pond-reader :is(.reader-heading,.reader-chapters,.reader-page,.fact-copy,.source-manuscripts){min-width:0}
 .pond-reader .reader-chapters button{min-height:44px;gap:6px;white-space:normal}
 .pond-reader .reader-chapters button>span{min-width:0;white-space:normal;overflow-wrap:break-word}
}
@media(max-width:380px){
 .pond-reader .reader-chapters{grid-template-columns:minmax(0,1fr);gap:4px}
 .pond-reader .reader-chapters button,.pond-reader .reader-chapters button>span{font-size:18px}
}
