.site-header .brand small{color:#bbaee9}
.site-header [hidden],.home-preview-play-menu[hidden]{display:none!important}
.site-header .route-legacy-home{display:none!important}
.site-header .mobile-menu-toggle{display:none}
.site-header .event-nav-link{position:relative;isolation:isolate;overflow:hidden;border:1px solid #f0ab4d80;border-radius:10px;color:#ffd88a!important;background:linear-gradient(125deg,#87501770,#42213ce0);box-shadow:inset 0 0 10px #ffaf3412}
.site-header .event-nav-link:hover,.site-header .event-nav-link.active{border-color:#ffbe65;background:linear-gradient(125deg,#a15b267a,#56324de0)}
.event-nav-link>span:first-child{position:relative;z-index:1}
.event-nav-embers{position:absolute;inset:0;pointer-events:none;contain:strict}
.event-nav-embers i{position:absolute;bottom:0;left:16%;width:3px;height:3px;border-radius:50%;background:#ffd584;opacity:0;animation:event-nav-ember 5s linear infinite}
.event-nav-embers i:nth-child(2){left:42%;animation-delay:1.4s}.event-nav-embers i:nth-child(3){left:66%;animation-delay:3.2s}.event-nav-embers i:nth-child(4){left:85%;animation-delay:4.1s}
@keyframes event-nav-ember{0%,100%{transform:translate(0,3px);opacity:0}20%{opacity:.55}75%{transform:translate(5px,-28px);opacity:0}}
.event-nav-paused .event-nav-embers i{animation-play-state:paused}
.cosmetic-motion-paused,.cosmetic-motion-paused *,.cosmetic-motion-paused::before,.cosmetic-motion-paused::after,.cosmetic-motion-paused *::before,.cosmetic-motion-paused *::after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.event-nav-embers{display:none}}
#site-route-loading{display:none;min-height:55vh;align-items:center;justify-content:center;gap:12px;color:var(--muted);font-size:13px}
.site-route-loading #site-route-loading{display:flex}
.site-route-loading main>:not(#site-route-loading){display:none!important}
.site-route-loading main::before{content:none!important}
.site-route-spinner{width:18px;height:18px;border:2px solid #ffffff18;border-top-color:#b9a4ff;border-radius:50%;animation:site-shell-spin .7s linear infinite}
@keyframes site-shell-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.site-route-spinner{animation:none}}
@media(min-width:781px) and (max-width:1100px){
 .site-header{height:auto;flex-wrap:wrap;gap:16px;padding-top:20px;padding-bottom:16px}
 .site-header .account-area{margin-left:auto}
 .site-header .nav{order:2;width:100%;justify-content:center}
}
@media(max-width:780px){.site-header .mobile-menu-toggle{display:flex}.site-header .home-preview-play-chevron{display:none!important}}

/* Soundtrack selector inherits the Help dialog and its mobile presentation. */
.music-dialog .music-game-list{display:grid;gap:9px;max-height:min(43dvh,370px);overflow-y:auto;overscroll-behavior:contain;margin:0 0 17px;padding:0 4px 0 0}
.music-dialog .music-empty{display:none}
.site-footer [data-music-open]{border:1px solid #b598fb70;border-radius:8px;padding:5px 9px;color:#dacbff;background:#b598fb12;white-space:nowrap}
.site-footer [data-music-open]:hover{border-color:#b598fb;background:#b598fb22}
.music-dialog .music-game summary{display:flex;align-items:center;gap:9px}
.music-dialog .music-game summary>span:first-child{flex:1;min-width:0}
.music-game-count{font-size:10px;font-weight:500;color:var(--muted);white-space:nowrap}
.music-dialog .music-track-list{display:grid;gap:6px;padding:11px 13px 14px}
.music-track-option{width:100%;border:1px solid #ffffff10;border-radius:9px;padding:10px 12px;line-height:1.4;color:#d6cee9;text-align:left;background:#ffffff04;font-size:12px;transition:background .15s,border-color .15s}
.music-track-option:hover,.music-track-option:focus-visible{background:#b598fb12;border-color:#b598fb55}
.music-track-option.is-selected{background:#b598fb1a;border-color:#b598fb8a;color:#f4eaff;font-weight:700}
.music-player-controls{border:1px solid #ffffff18;background:#ffffff05;border-radius:13px;padding:15px;margin:0 0 4px}
.music-current-track{font-size:12px;font-weight:650;color:var(--ink);margin:0 0 12px;overflow-wrap:anywhere}
.music-player-actions{display:flex;flex-wrap:wrap;gap:9px}
.music-player-actions .button{padding:9px 17px;min-width:95px;gap:5px;font-size:12px}
.music-playback-options{display:flex;flex-wrap:wrap;align-items:center;gap:10px 23px;margin-top:15px;color:var(--muted);font-size:11px}
.music-playback-options label{display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.music-playback-options input{accent-color:var(--purple);width:15px;height:15px}
/* Status remains available to screen readers without an extra visible row. */
.music-dialog .music-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;padding:0;margin:-1px;border:0}
@media(max-width:650px){.music-dialog .music-game-list{max-height:40dvh}.music-player-controls{padding:12px}.music-track-option{padding:10px}.music-player-actions .button{flex:1}}
/* Music uses a centered modal on phones; other dialogs keep their normal mobile sheets. */
@media(max-width:780px){
  dialog.dialog.music-dialog[open]{
    position:fixed!important;top:50%!important;left:50%!important;
    right:auto!important;bottom:auto!important;margin:0!important;
    transform:translate(-50%,-50%)!important;
    width:min(640px,calc(100vw - 24px))!important;
    max-width:calc(100vw - 24px)!important;
    max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px)!important;
    overflow-y:auto;
  }
}
/* Clubs uses the normal nav-link styling; only its NEW badge gets the glow.
   The absolutely positioned badge contributes no width or height to the header. */
.site-header #clubs-nav{position:relative;overflow:visible}
.site-header #clubs-nav::after{
  content:"NEW!";position:absolute;top:-14px;left:50%;transform:translateX(-50%);
  display:block;box-sizing:border-box;pointer-events:none;white-space:nowrap;
  padding:2px 6px;border:1px solid #f7c953;border-radius:5px;
  background:#2d2415;color:#ffe17c;box-shadow:0 0 9px #ffc44b99,0 0 4px #fbe18f66;
  font-size:9px;font-weight:900;line-height:1.25;letter-spacing:.35px;
}
@media(max-width:780px){
  /* The label sits inside the existing drawer link, next to "Clubs". */
  .site-header #clubs-nav::after{
    position:static;top:auto;left:auto;right:auto;transform:none;
    display:inline-flex;align-items:center;margin-left:7px;
    padding:2px 5px;font-size:8px;line-height:1.2;
  }
}


/* The Free program is publicly discoverable while its tools remain admin-only. */

.site-header #partner-nav{display:inline-flex;align-items:center;justify-content:center;color:#91e9ba;text-shadow:0 0 16px #54d98b66;border:1px solid #74d9a568;border-radius:10px;background:linear-gradient(125deg,#246a4348,#153c2c80)!important;box-shadow:inset 0 0 12px #70d9a50a}
.site-header #partner-nav:hover,.site-header #partner-nav.active{border-color:#91e9ba9c;background:linear-gradient(125deg,#2b7c505a,#1c4d3799)!important;box-shadow:0 0 16px #54d98b14}
@media(max-width:780px){.site-header #partner-nav{flex-shrink:0}}

/* Same centered overlay position as the former Mini Companions announcement. */
.multigame-home-page .admin-multigame-home:has(.home-partner-promo){z-index:2}
.home-partner-promo{position:absolute;top:18px;left:50%;z-index:8;transform:translateX(-50%);display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:10px 18px;border:1px solid #74d9a568;border-radius:999px;background:linear-gradient(110deg,#205e3fe8,#183b2de8);box-shadow:0 8px 28px #0003,0 0 20px #54d98b12;color:#a6f2c9;font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap;backdrop-filter:blur(12px);transition:transform .16s,border-color .16s}
.home-partner-promo span{font-size:15px;line-height:1}
.home-partner-promo:hover{transform:translateX(-50%) translateY(-2px);border-color:#a6f2c9}
.home-partner-promo:focus-visible{outline:2px solid #a6f2c9;outline-offset:4px}
@media(max-width:820px){.home-partner-promo{top:0;max-width:calc(100% - 24px);padding:9px 14px;font-size:10px;gap:7px}.home-partner-promo span{font-size:13px}}
