/* XGN production polish layer
   Final public cascade: shared spacing, controls, accessibility and responsive safeguards. */
:root{
  --xgn-standard-hero-top:180px;
  --xgn-standard-hero-bottom:92px;
  --xgn-focus:#c79234;
}
.xgn-body :where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid rgba(199,146,52,.55);outline-offset:3px}
.xgn-body button,.xgn-body a{transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,opacity .2s ease}
.xgn-body img{display:block}
.xgn-body :where(h1,h2,h3,p,strong,span,a){overflow-wrap:anywhere}

/* Standard section heroes use the Creators page rhythm. Cinematic detail/profile heroes remain intentionally unique. */
.xgn-people-hero,.xgn-tourney-hero,.xgn-editorial-hero{padding-top:var(--xgn-standard-hero-top);padding-bottom:var(--xgn-standard-hero-bottom)}
.xgn-members-showcase__hero{padding-top:var(--xgn-standard-hero-top);padding-bottom:var(--xgn-standard-hero-bottom)}

/* Consistent interactive controls. */
.xgn-button,.xgn-people-action,.xgn-people-secondary,.xgn-creator-btn,.xgn-editorial-btn,.xgn-filter-submit,.xgn-tourney-primary,.xgn-tourney-secondary,.xgn-team-button,.xgn-discord-btn,.xgn-account-primary,.xgn-account-secondary,.xgn-join-link{cursor:pointer}
.xgn-button--solid:hover,.xgn-join-band a:hover{transform:translateY(-1px)}
.xgn-join-link:hover{background:#c79234;color:#080808}
.xgn-account-link:hover{color:#fff}
.xgn-tourney-entry__arrow,.xgn-row-link,.xgn-member-row__social,.xgn-account-row-link{transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.xgn-tourney-entry:hover .xgn-tourney-entry__arrow{background:#111;color:#fff}

/* Avoid clipped controls and long metadata on narrow layouts. */
.xgn-filter-group select,.xgn-field input,.xgn-field select,.xgn-account-form input,.xgn-account-form textarea{max-width:100%}
.xgn-editorial-card,.xgn-creator-card,.xgn-member-portrait,.xgn-approved-card{min-width:0}
.xgn-event-fact strong,.xgn-account-side-card dd{overflow-wrap:anywhere}

/* External/social links are visually usable only when rendered by validated backend data. */
.xgn-social-row a,.xgn-member-profile-socials a,.xgn-member-row__social{cursor:pointer}

/* Mobile navigation should be scrollable on shorter phones instead of clipping links. */
@media(max-width:820px){
  :root{--xgn-standard-hero-top:135px;--xgn-standard-hero-bottom:70px}
  .xgn-nav{max-height:calc(100vh - 86px);overflow-y:auto;overscroll-behavior:contain}
  .xgn-people-hero,.xgn-tourney-hero,.xgn-editorial-hero,.xgn-members-showcase__hero{min-height:0}
}
@media(max-width:560px){
  :root{--xgn-standard-hero-top:125px;--xgn-standard-hero-bottom:62px}
  .xgn-hero__actions,.xgn-event-actions,.xgn-editorial-actions,.xgn-creator-hero__actions,.xgn-featured-creator__actions{width:100%}
  .xgn-hero__actions>a,.xgn-event-actions>a,.xgn-editorial-actions>a,.xgn-creator-hero__actions>a,.xgn-featured-creator__actions>a{max-width:100%}
  .xgn-discord-panel .xgn-discord-btn{justify-content:center}
}
@media(prefers-reduced-motion:reduce){
  .xgn-body *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}


/* Tournament UX: stronger hero type, wider side breathing room and persistent registration access. */
.xgn-container,
.xgn-tourney-shell,
.xgn-creator-shell,
.xgn-editorial-shell,
.xgn-account-shell{
  width:min(calc(100% - 80px),1320px);
  margin-inline:auto;
}
.xgn-tourney-hero h1,
.xgn-event-cover h1,
.xgn-editorial-hero h1,
.xgn-creator-hero h1,
.xgn-members-showcase__hero h1{
  font-weight:800;
}
.xgn-event-register-rail{
  position:fixed;
  z-index:450;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  gap:11px;
  min-height:50px;
  padding:0 17px;
  background:#c79234;
  border:1px solid #c79234;
  color:#080808;
  font:800 10px Inter,sans-serif;
  text-transform:uppercase;
  letter-spacing:.14em;
  box-shadow:0 16px 40px rgba(0,0,0,.28);
}
.xgn-event-register-rail:hover{
  background:#fff;
  border-color:#fff;
  color:#080808;
  transform:translateY(-50%) translateX(-3px);
}
.xgn-event-quicklinks{
  display:grid;
  gap:8px;
  margin-top:24px;
}
.xgn-event-quicklinks a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:46px;
  padding:0 14px;
  border:1px solid rgba(0,0,0,.22);
  color:#111;
  font:800 9px Inter,sans-serif;
  text-transform:uppercase;
  letter-spacing:.11em;
}
.xgn-event-quicklinks a:hover{
  border-color:#c79234;
  color:#8a6228;
}
.xgn-event-quicklinks a.is-register{
  background:#111;
  color:#fff;
  border-color:#111;
}
.xgn-event-quicklinks a.is-register:hover{
  background:#c79234;
  color:#080808;
  border-color:#c79234;
}
.xgn-registration-lock{
  padding:20px 0 24px;
  border-top:2px solid #c79234;
  border-bottom:1px solid #292929;
  margin-bottom:2px;
}
.xgn-registration-lock strong{
  display:block;
  margin:9px 0 6px;
  color:#fff;
  font:800 clamp(28px,4vw,42px)/.95 "Barlow Condensed",sans-serif;
  text-transform:uppercase;
}
.xgn-registration-lock small{
  color:#9d978e;
  font-size:12px;
}
#registered-teams{scroll-margin-top:100px}
#tournament-guide{scroll-margin-top:100px}

@media(max-width:900px){
  .xgn-container,
  .xgn-tourney-shell,
  .xgn-creator-shell,
  .xgn-editorial-shell,
  .xgn-account-shell{width:min(calc(100% - 48px),1320px)}
  .xgn-event-register-rail{
    top:auto;
    right:16px;
    bottom:16px;
    transform:none;
  }
  .xgn-event-register-rail:hover{transform:translateY(-2px)}
}
@media(max-width:560px){
  .xgn-container,
  .xgn-tourney-shell,
  .xgn-creator-shell,
  .xgn-editorial-shell,
  .xgn-account-shell{width:min(calc(100% - 28px),1320px)}
  .xgn-event-register-rail{
    left:14px;
    right:14px;
    bottom:14px;
    justify-content:center;
    min-height:52px;
  }
}
