/* v46: shared portal header across all pages. */
html[data-theme] .alexo-global-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:12px;min-height:60px;padding:4.5px 24px;position:relative;z-index:100;box-sizing:border-box}
.alexo-global-header .alexo-logo{display:flex;align-items:center;flex:0 0 auto;min-height:44px;margin:0;padding:0}
html[data-theme] .alexo-global-header .alexo-portal-brand{width:216px;max-width:none}
.alexo-global-header .alexo-nav-actions{display:flex!important;align-items:center;flex-wrap:nowrap;gap:6px;margin:0;padding:0;min-width:0}
html[data-theme] .alexo-global-header .alexo-nav-menu{margin:0;position:relative;min-width:0}
html[data-theme] .alexo-global-header .alexo-nav-menu>summary{display:flex;align-items:center;justify-content:center;gap:5px;box-sizing:border-box;min-height:44px;margin:0;padding:6px 12px;border-radius:9px;font:600 13px/1.1 system-ui,sans-serif;white-space:nowrap;list-style:none}
.alexo-global-header summary::-webkit-details-marker{display:none}
.alexo-global-header summary::after{content:'⌄';font-size:11px}
.alexo-global-header .theme-menu summary::after{display:none}
html[data-theme] .alexo-global-header .theme-menu>summary{width:44px;padding:0;font-size:21px}
html[data-theme] .alexo-global-header .alexo-support-nav{display:flex;align-items:center;justify-content:center;box-sizing:border-box;flex:0 0 44px;width:44px;min-height:44px;padding:0;border-radius:9px;font-size:18px;text-decoration:none}
.alexo-global-header .alexo-menu-panel{top:calc(100% + 7px);max-height:min(65vh,480px);overflow-y:auto;overscroll-behavior:contain;z-index:110}
.alexo-global-header :is(summary,a,button):focus-visible{outline:2px solid var(--portal-accent);outline-offset:3px}
@media(max-width:760px){
 html[data-theme] .alexo-global-header{min-height:54px;padding:4.5px 8px;gap:5px}
 html[data-theme] .alexo-global-header .alexo-portal-brand{width:clamp(117px,calc(90vw - 172.8px),189px)}
 .alexo-global-header .alexo-nav-actions{gap:4px}
 html[data-theme] .alexo-global-header .alexo-nav-menu>summary{padding:5px 7px;font-size:11px;gap:3px}
 html[data-theme] .alexo-global-header .theme-menu>summary{width:36px;padding:0;font-size:20px}
 html[data-theme] .alexo-global-header .alexo-support-nav{flex-basis:36px;width:36px}
 html[data-theme] .alexo-global-header .alexo-menu-panel{position:absolute;top:100%;right:0;min-width:190px;max-width:calc(100vw - 16px)}
 html[data-theme] .alexo-global-header .alexo-nav-actions>.alexo-nav-menu:first-child .alexo-menu-panel{position:absolute;top:calc(100% + 6px);left:8px;right:8px;width:auto;max-width:none;min-width:0}
}
@media(max-width:380px){html[data-theme] .alexo-global-header .alexo-portal-brand{width:clamp(115.2px,calc(90vw - 172.8px),169.2px)}html[data-theme] .alexo-global-header{padding-inline:6px;gap:4px}}

@media(max-width:760px){.alexo-global-header .alexo-nav-actions>.alexo-nav-menu:first-child{position:static}html[data-theme] .alexo-global-header .alexo-nav-actions>.alexo-nav-menu:first-child>summary{font-size:0;width:40px;padding:0}.alexo-global-header .alexo-nav-actions>.alexo-nav-menu:first-child>summary::before{content:"▦";font-size:21px}.alexo-global-header .alexo-nav-actions>.alexo-nav-menu:first-child>summary::after{display:none}}

/* v44: full desktop labels, compact mobile controls. */
.alexo-global-header .compact-desktop-label{display:none}
@media(min-width:761px){
 .alexo-global-header .compact-mobile-label{display:none}
 .alexo-global-header .compact-desktop-label{display:inline}
 html[data-theme] .alexo-global-header .theme-menu>summary{width:auto;padding:6px 12px;font-size:13px}
 html[data-theme] .alexo-global-header .alexo-support-nav{width:auto;flex:0 0 auto;padding:6px 12px;font:600 13px/1.1 system-ui,sans-serif}
 .alexo-global-header .theme-menu summary::after{display:inline}
}

/* Prevent game CSS from resizing the portal logo; leave in-game logos alone. */
html[data-theme] .alexo-global-header .alexo-logo{width:auto;height:auto;max-width:none;min-width:0;min-height:44px}
html[data-theme] .alexo-global-header .alexo-portal-brand{flex-shrink:0}
html[data-theme] .alexo-global-header .alexo-portal-brand img{width:100%;height:auto;max-height:none}
.alexo-global-header .alexo-mobile-nav{display:none!important}
html[data-theme] .alexo-global-header{padding-block:4.5px!important;min-height:0!important}
html[data-theme] .alexo-global-header+main{padding-top:3.6px}

/* Existing detail-page layout retained after header generalization. */
.alexo-pinball-page .pinball-page,.alexo-tiny-page .tiny-page{padding-top:3.6px}
#pinball-frame,#tiny-frame{display:block;width:100%;border:0}
.alexo-pinball-page .pinball-page-title,.alexo-tiny-page .tiny-page-title{max-width:1080px;margin:24px auto 12px}
.alexo-pinball-page .pinball-guide,.alexo-tiny-page .tiny-guide{margin-top:12px}
@media(max-width:760px){.alexo-pinball-page .pinball-page,.alexo-tiny-page .tiny-page{padding:3.6px 4px 0}.alexo-pinball-page .pinball-page-title,.alexo-tiny-page .tiny-page-title{margin:20px 8px 12px}}

/* v47 explicit mobile labels: no desktop text in header buttons. */
@media(max-width:760px){
 html[data-theme] .alexo-global-header .compact-desktop-label{display:none!important}
 html[data-theme] .alexo-global-header .compact-mobile-label{display:inline!important}
 html[data-theme] .alexo-global-header .language-menu>summary{font-size:11px!important;width:auto}
 html[data-theme] .alexo-global-header .theme-menu>summary{font-size:20px!important;width:36px}
 html[data-theme] .alexo-global-header .alexo-support-nav{font-size:18px!important;width:36px;padding:0;flex-basis:36px}
}
@media(min-width:761px){html[data-theme] .alexo-global-header .compact-mobile-label{display:none!important}}
