/* Arrival layout: the town is the opening content. Building names sit in one compact strip below it;
   the residents and view controls stay where they were. No text column reserves width. */
.site-header{position:relative;height:88px}
.workshop{height:calc(100svh - 88px);min-height:620px;max-height:1200px}
.scene-container{inset:0 0 150px 0}
.scene-caption{top:14px;bottom:auto;right:42px;font-size:10px;line-height:1.5;max-width:310px}
.scene-caption span:first-child{font-size:11px}
.scene-caption .instruction-desktop{margin-top:2px}
.scene-loading{left:0;top:39%}
.exhibit-nav{left:42px;right:42px;bottom:72px;grid-template-columns:repeat(9,minmax(0,1fr))}
.residents-dock{left:42px;bottom:142px}
.scene-footer{padding:16px 42px}
.workshop.resident-selected .scene-container{inset:0 0 150px}
.resident-panel{bottom:196px}
.scene-fallback{left:0}
.toast{bottom:150px}
@media(min-width:1500px){
 .site-header,.scene-footer{padding-inline:64px}
 .residents-dock,.resident-panel{left:64px}
 .exhibit-nav{left:64px;right:64px}
 .scene-caption{right:64px}
}
@media(min-width:761px) and (max-width:1100px){
 .site-header,.scene-footer{padding-inline:25px}
 .exhibit-nav{left:25px;right:25px;bottom:66px;grid-template-columns:repeat(9,minmax(0,1fr))}
 .exhibit-tab{padding-inline:4px;font-size:10px}
 .scene-container{bottom:156px}
 .scene-caption{right:25px}
 .residents-dock{left:25px;bottom:146px}
 .resident-panel{left:25px;bottom:200px}
}
@media(max-height:740px) and (min-width:761px){
 .site-header{height:76px}
 .workshop{height:calc(100svh - 76px);min-height:560px}
}
@media(max-width:760px){
 .site-header{height:72px;padding-inline:20px}
 .nav-button{font-size:12px}
 .workshop{height:auto;min-height:0;max-height:none;display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"scene" "controls" "residents" "panel" "projects";padding-bottom:20px;overflow:hidden}
 .scene-container{grid-area:scene;position:relative;inset:auto;width:100%;height:clamp(300px,calc(100svh - 340px),560px)}
 .scene-loading{left:0;right:0;top:40%;font-size:11px}
 .scene-caption{display:none}
 .scene-footer{grid-area:controls;position:relative;inset:auto;padding:0 14px}
 .scene-control-group{grid-template-columns:28px 27px 28px repeat(3,minmax(0,1fr));gap:2px;color:#40544b}
 .scene-control{min-height:42px;font-size:11px}
 .scene-control.turn-control{font-size:20px}
 .residents-dock{grid-area:residents;position:relative;inset:auto;justify-self:center;transform:none;margin-top:3px}
 .residents-dock button,.residents-more summary{min-height:40px;font-size:12px}
 .exhibit-nav{grid-area:projects;position:relative;inset:auto;margin:12px 16px 0;box-shadow:none;grid-template-columns:repeat(3,minmax(0,1fr))}
 .exhibit-tab{min-height:44px}
 .resident-panel{grid-area:panel;position:relative;inset:auto;justify-self:stretch;width:auto;margin:12px 16px 0;padding:16px}
 .workshop.resident-selected .scene-container{grid-area:scene;position:relative;inset:auto;height:385px}
 .resident-selected .toast,.toast{bottom:auto;top:300px;max-width:calc(100% - 32px);font-size:11px}
 .scene-fallback{grid-area:scene;position:relative;inset:auto;margin:40px 24px;align-self:center}
 .scene-unavailable .scene-container{display:none}
 .world-label{max-width:170px;overflow:hidden;text-overflow:ellipsis}
}
@media(max-width:360px){
 .site-header{padding-inline:16px}
 .scene-footer{padding-inline:9px}
 .scene-control-group{grid-template-columns:26px 25px 26px repeat(3,minmax(0,1fr))}
 .scene-control{font-size:10px}
 .exhibit-nav{margin-inline:12px}
}
