/* A shared geometric close icon, independent of glyphs and font baselines. */
:is(.close-modal,.close-account,#studio-close,#exit-player,.controller-title>button,.search-toolbar>button,.feedback-top>button,.support-head>button,.privacy-dialog header>button){
 display:inline-grid!important;place-items:center!important;align-content:center!important;justify-content:center!important;
 font-size:0!important;line-height:0!important;padding:0!important;gap:0!important;
 min-width:34px;min-height:34px;flex-shrink:0;
}
:is(.close-modal,.close-account,#studio-close,#exit-player,.controller-title>button,.search-toolbar>button,.feedback-top>button,.support-head>button,.privacy-dialog header>button)::before{
 content:''!important;display:block!important;position:static!important;
 width:20px!important;height:20px!important;margin:0!important;padding:0!important;
 border:0!important;background:currentColor!important;transform:none!important;
 -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 5L19 19M19 5L5 19' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat!important;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 5L19 19M19 5L5 19' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat!important;
 pointer-events:none;
}
:is(.close-modal,.close-account,#studio-close,#exit-player,.controller-title>button,.search-toolbar>button,.feedback-top>button,.support-head>button,.privacy-dialog header>button)::after{content:none!important}



/* Actual SVG elements avoid font metrics and pseudo-element icon collisions. */
#music-toggle,#studio-music-toggle{display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;line-height:1;font-size:0!important}
#music-toggle::before,#music-toggle::after,#studio-music-toggle::before,#studio-music-toggle::after{content:none!important}
.sound-icon{display:block;width:22px;height:22px;flex:0 0 22px;overflow:visible}
.sound-muted{display:block}.sound-waves{display:none}
.playing>.sound-icon .sound-muted{display:none}.playing>.sound-icon .sound-waves{display:block}
.hero-actions #details{display:inline-flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:10px;white-space:nowrap;flex-shrink:0;line-height:1.2}
.hero-actions #details .about-label{display:inline!important;padding:0!important;color:inherit;font-size:inherit;flex:0 0 auto}
.hero-actions #details .about-icon{display:block;width:18px;height:18px;flex:0 0 18px}
@media(pointer:coarse) and (max-width:1200px){
 .hero .hero-actions .support-inline{position:relative!important;inset:auto!important;margin:0!important;padding:0!important;flex:0 0 46px!important;width:46px!important;height:46px!important;min-width:46px;z-index:auto;box-shadow:none;display:grid!important;place-items:center}
 .hero .hero-actions .support-inline svg{display:block;width:22px;height:22px}
}
@media(pointer:coarse) and (max-width:1200px) and (orientation:landscape){
 .hero .hero-actions .support-inline{order:-1;margin-right:4px!important}
}

@media(pointer:coarse) and (max-width:1200px){body.game-open .hero-actions #support-toggle.support-inline{position:static!important;transform:none!important;opacity:1!important;animation:none!important;transition:background .14s,border-color .14s!important}}

/* The support script marks touch devices independently of viewport width. */
body.game-open .hero-actions #support-toggle.support-inline{display:inline-flex!important;align-items:center!important;justify-content:center!important;position:static!important;inset:auto!important;min-width:46px!important;min-height:46px!important;max-width:46px!important;padding:0!important;line-height:1!important;transform:none!important;opacity:1!important;animation:none!important}
body.game-open .hero-actions #support-toggle.support-inline svg{width:22px!important;height:22px!important;flex:0 0 22px!important;display:block!important}
#music-toggle .sound-icon,#studio-music-toggle .sound-icon{width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;margin:0!important;transform:none!important;display:block!important}

/* Mobile game actions: match the marked portrait and landscape positions. */
@media(orientation:portrait){
 body.game-open .hero .hero-actions:has(#support-toggle.support-inline){display:flex!important;flex-wrap:wrap!important;justify-content:flex-start!important;gap:10px!important}
 body.game-open .hero .hero-actions:has(.support-inline) #play,body.game-open .hero .hero-actions:has(.support-inline) #details{flex:0 0 calc((100% - 10px)/2)!important;width:calc((100% - 10px)/2)!important;min-width:0!important;max-width:none!important;order:0}
 body.game-open .hero .hero-actions:has(.support-inline) #favorite{order:1;flex:0 0 46px!important;width:46px!important;margin:0!important}
 body.game-open .hero .hero-actions #support-toggle.support-inline{order:2!important}
}
@media(orientation:landscape){
 body.game-open .hero .hero-actions:has(#support-toggle.support-inline){display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:10px!important}
 body.game-open .hero .hero-actions #support-toggle.support-inline{order:-1!important}
}

/* Explicitly hidden close controls must stay hidden despite shared icon layout. */
:is(.close-modal,.close-account,#studio-close,#exit-player,.controller-title>button,.search-toolbar>button,.feedback-top>button,.support-head>button,.privacy-dialog header>button)[hidden]{display:none!important}
