/* V7: responsive cinematic entrance and all-world music controls */
html,body{max-width:100%;overflow-x:clip}
#app,.shell,main{min-width:0}
#app img,#app video,#app iframe,#app svg{max-width:100%}
#um-v5-player.v6-dock{max-width:calc(100vw - 16px);max-height:min(330px,calc(100dvh - 16px));z-index:6500!important}
#um-v5-player.v6-dock .v6-dock-actions{flex-shrink:0}
#um-v5-player.v6-dock .v6-dock-actions button{touch-action:manipulation;min-width:30px}
#um-v5-player.v6-dock .v6-dock-content{max-height:min(270px,48dvh);overflow:auto;overscroll-behavior:contain}
#um-v5-player.v6-dock.v6-minimised .v6-dock-content{max-height:0;overflow:hidden}
#um-v5-player.v6-dock #v6-spotify-mount{min-height:152px;min-width:0;width:100%}
#um-v5-player.v6-dock #v6-spotify-mount iframe{display:block;width:100%!important;max-width:100%;height:152px!important}
#um-v5-layer{z-index:6000}
.v5-disco{min-height:100dvh;max-height:100dvh;padding:clamp(8px,2vh,24px) 14px;overflow-y:auto;overscroll-behavior:contain;align-items:safe center}
.v5-disco .v5-disco-content{box-sizing:border-box;width:min(100%,660px);max-width:100%;margin:auto;padding:clamp(20px,3vh,38px) 8px clamp(110px,16vh,155px)!important}
.v5-disco h2{font-size:clamp(2.25rem,min(8vw,8vh),5.4rem);line-height:1.04;overflow-wrap:break-word;margin:clamp(12px,2.3vh,22px) auto}
.v5-disco-ball{font-size:clamp(2.4rem,6vh,4.5rem)}
.v5-disco .v6-heart-art{margin:0 auto clamp(5px,1.2vh,12px);height:clamp(38px,7vh,75px)}
.v5-disco .v6-heart-art svg,.v5-disco .v6-heart-art canvas{width:clamp(38px,7vh,72px);height:clamp(38px,7vh,72px)}
.v5-disco .v5-kicker{font-size:clamp(.52rem,1.8vw,.72rem);letter-spacing:.25em}
.v5-disco .v5-entrance-actions{margin:clamp(12px,2vh,22px) auto 8px;gap:9px}
.v5-disco .v5-entrance-actions button,.v5-disco .v6-entrance-footer button{max-width:100%;white-space:normal;min-height:42px}
.v5-disco .v6-entrance-footer{margin-top:10px}
.v5-disco .v5-small{font-size:.7rem;line-height:1.4;padding-inline:8px}
.v5-disco p{font-size:clamp(.8rem,2vw,1rem)}
.v5-disco .v5-beam{pointer-events:none}
@media(max-width:700px){
 .shell{width:calc(100% - 24px)}
 .topbar{height:auto;min-height:76px;align-items:flex-start;padding:14px 0;flex-wrap:wrap;gap:7px}
 .topbar .nav{gap:3px;max-width:100%;flex:1 1 100%;justify-content:center}
 .topbar .nav button{padding:8px 10px;font-size:.76rem}
 .hero{min-height:0;padding:55px 0 40px}
 .hero h1,.page-title h1{font-size:clamp(2.4rem,10vw,4rem)}
 .cards,.v4-grid,.feature,.memory-grid,.theme-grid{grid-template-columns:minmax(0,1fr)}
 .v5-disco .v5-disco-content{padding-bottom:clamp(155px,26vh,235px)!important}
 .v5-disco h2{font-size:clamp(2rem,min(10vw,6.4vh),3.9rem)}
 .v5-disco .v5-entrance-actions{flex-direction:column;align-items:center}
 .v5-disco .v5-entrance-actions button{width:min(100%,300px)}
 .v5-disco .v6-entrance-footer button{width:min(100%,300px)}
 #um-v5-player.v6-dock{position:fixed;top:auto!important;left:8px!important;right:8px!important;bottom:calc(8px + env(safe-area-inset-bottom))!important;width:calc(100vw - 16px)!important;max-width:390px;max-height:min(275px,42dvh);margin:0 auto}
 #um-v5-player.v6-dock.v6-minimised{width:min(100vw - 16px,310px)!important;right:8px!important;left:auto!important;margin:0}
 #um-v5-player.v6-dock .v6-dock-header{height:auto;min-height:50px;flex-wrap:wrap;gap:6px;padding:7px 9px}
 #um-v5-player.v6-dock .v6-dock-title{font-size:.66rem;letter-spacing:.06em;flex:1;min-width:68px}
 #um-v5-player.v6-dock .v6-dock-title small{font-size:.5rem}
 #um-v5-player.v6-dock .v6-dock-actions{gap:3px}
 #um-v5-player.v6-dock .v6-dock-actions button{width:27px;min-width:27px;height:30px;font-size:16px}
 #um-v5-player.v6-dock .v6-dock-content{padding:0 8px 8px;max-height:min(210px,36dvh)}
 #um-v5-player.v6-dock #v6-spotify-mount{min-height:152px}
 #um-v5-player.v6-dock.v6-minimised .v6-dock-content{padding:0;max-height:0;min-height:0}
 .v5-venue-grid{grid-template-columns:minmax(0,1fr)}
 .v5-region-body{padding:12px}
 .v5-book-left,.v5-book-right{padding:20px!important}
 .v5-book h3{font-size:clamp(1.5rem,7vw,2.1rem)}
 .v4-globe{max-width:100%;height:min(78vw,390px)}
 .um-film-controls{flex-wrap:wrap}
}
@media(max-width:380px){
 .v6-disc{width:27px;height:27px;font-size:1rem}
 .v5-disco h2{font-size:clamp(1.8rem,9vw,2.8rem)}
 .v5-disco .v5-disco-content{padding-bottom:165px!important}
 .v5-disco .v6-heart-art{height:35px}
 .v5-disco .v6-heart-art svg{height:35px;width:35px}
}
@media(max-height:650px){.v5-disco .v5-disco-content{padding-top:12px!important;padding-bottom:135px!important}.v5-disco h2{font-size:clamp(2rem,7vh,3.2rem)}.v5-disco .v5-disco-ball{font-size:2.5rem}}
@media(prefers-reduced-motion:reduce){.v5-disco .v5-beam{animation:none!important}}
