.tg-portal-ui{width:100%;max-width:none;margin:0;padding:clamp(1rem,1.8vw,1.6rem) var(--portal-repair-gutter,clamp(12px,1.6vw,30px)) 3rem;box-sizing:border-box}.tg-portal-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,28%);align-items:center;gap:clamp(1rem,3vw,2.5rem);width:100%;box-sizing:border-box}.tg-portal-hero-copy{min-width:0}.tg-portal-hero-copy h1{max-width:900px;margin:.2rem 0 .65rem;text-wrap:balance}.tg-portal-hero-copy>p:not(.eyebrow){max-width:820px}.tg-portal-hero-logo{display:grid;place-items:center;min-height:180px}.tg-portal-hero-logo img{display:block;width:min(100%,280px);max-height:230px;object-fit:contain}.tg-portal-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}.tg-portal-intro{width:100%;max-width:none;margin:1rem 0}.tg-portal-intro>div{max-width:900px}.tg-portal-section{width:100%;max-width:none;margin:1.2rem 0 0}.tg-portal-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.tg-portal-section-heading h2,.tg-portal-section-heading p{margin:0}.tg-portal-grid{width:100%;max-width:none}.tg-portal-empty{grid-column:1/-1;width:100%;padding:1.4rem;border:1px dashed rgba(148,163,184,.25);border-radius:12px;text-align:center;box-sizing:border-box}@media(max-width:760px){.tg-portal-hero{grid-template-columns:1fr}.tg-portal-hero-logo{min-height:120px}.tg-portal-hero-logo img{width:min(60vw,220px);max-height:180px}.tg-portal-section-heading{align-items:flex-start;flex-direction:column}}

/* v20.0.1 — portal submenu embedded inside overview title pane */
.tg-portal-hero-submenu{
  width:100%;
  margin:.95rem 0 0;
}

.tg-portal-hero-submenu .portal-subnav-shell{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  border:1px solid rgba(148,163,184,.18) !important;
  border-radius:10px !important;
  background:rgba(4,15,24,.48) !important;
  box-shadow:none !important;
}

.tg-portal-hero-submenu .portal-subnav-inner{
  width:100% !important;
  max-width:none !important;
  padding:.55rem .65rem !important;
}

.tg-portal-hero-submenu .portal-subnav-title{
  display:none !important;
}

.tg-portal-hero-submenu .portal-subnav{
  width:100% !important;
  gap:.35rem !important;
}

.tg-portal-hero-submenu .portal-subnav a{
  min-height:31px !important;
  padding:.38rem .58rem !important;
  border-radius:7px !important;
}

@media(max-width:760px){
  .tg-portal-hero-submenu .portal-subnav{
    overflow-x:auto !important;
    flex-wrap:nowrap !important;
  }
}


/* v20.0.2 — Game Portal submenu appears only in the overview title pane */
body[class*="route-game-"]:not(.route-game-index)
.portal-chrome,
body[class*="route-game-"]:not(.route-game-index)
.portal-submenu-row,
body[class*="route-game-"]:not(.route-game-index)
.portal-subnav-shell{
  display:none !important;
}

body.route-game-index .tg-portal-hero-submenu{
  display:block !important;
}


/* v20.6.1 — Game Portal icon navigation */
body.route-game-index .tg-portal-hero{
  grid-template-columns:minmax(0,1fr);
}

body.route-game-index .tg-portal-hero-copy{
  width:100%;
}

body.route-game-index .tg-portal-hero-copy h1{
  max-width:980px;
}

body.route-game-index .tg-portal-hero-copy > p:not(.eyebrow){
  max-width:980px;
}

body.route-game-index .tg-portal-actions,
body.route-game-index .tg-portal-hero-logo{
  display:none!important;
}

body.route-game-index .tg-portal-hero-submenu{
  margin-top:1.35rem;
  padding-top:1.25rem;
  border-top:1px solid rgba(148,163,184,.18);
}

body.route-game-index .tg-portal-hero-submenu .portal-subnav-shell{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}

body.route-game-index .tg-portal-hero-submenu .portal-subnav-inner{
  padding:0!important;
}

body.route-game-index .tg-portal-hero-submenu .portal-subnav{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr));
  align-items:start;
  gap:.45rem!important;
  overflow:visible!important;
}

body.route-game-index .tg-portal-hero-submenu .portal-subnav a{
  display:flex!important;
  min-width:0;
  min-height:92px!important;
  padding:.65rem .35rem!important;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:.55rem;
  border:0!important;
  border-radius:0!important;
  color:#eef6fb;
  background:transparent!important;
  box-shadow:none!important;
  text-align:center;
  font-weight:750;
  transition:
    color .16s ease,
    transform .16s ease;
}

body.route-game-index .tg-portal-hero-submenu .portal-subnav a:hover{
  color:#57c7ff;
  transform:translateY(-2px);
}

body.route-game-index .tg-portal-hero-submenu .portal-subnav a.active{
  color:#26b7ff!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.portal-nav-icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  color:currentColor;
}

.portal-nav-icon svg{
  display:block;
  width:38px;
  height:38px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.portal-nav-label{
  display:block;
  line-height:1.2;
}

@media(max-width:900px){
  body.route-game-index .tg-portal-hero-submenu .portal-subnav{
    grid-template-columns:repeat(3,minmax(0,1fr));
    row-gap:.8rem!important;
  }
}

@media(max-width:540px){
  body.route-game-index .tg-portal-hero-submenu .portal-subnav{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* v20.6.2 — TIFE Portal icon navigation */
body.route-tife-index .tg-portal-hero{
  grid-template-columns:minmax(0,1fr);
}

body.route-tife-index .tg-portal-hero-copy{
  width:100%;
}

body.route-tife-index .tg-portal-hero-copy h1{
  max-width:980px;
}

body.route-tife-index .tg-portal-hero-copy > p:not(.eyebrow){
  max-width:980px;
}

body.route-tife-index .tg-portal-actions,
body.route-tife-index .tg-portal-hero-logo{
  display:none!important;
}

body.route-tife-index .tg-portal-hero-submenu{
  margin-top:1.35rem;
  padding-top:1.25rem;
  border-top:1px solid rgba(148,163,184,.18);
}

body.route-tife-index .tg-portal-hero-submenu .portal-subnav-shell{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}

body.route-tife-index .tg-portal-hero-submenu .portal-subnav-inner{
  padding:0!important;
}

body.route-tife-index .tg-portal-hero-submenu .portal-subnav{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr));
  align-items:start;
  gap:.45rem!important;
  overflow:visible!important;
}

body.route-tife-index .tg-portal-hero-submenu .portal-subnav a{
  display:flex!important;
  min-width:0;
  min-height:92px!important;
  padding:.65rem .35rem!important;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:.55rem;
  border:0!important;
  border-radius:0!important;
  color:#eef6fb;
  background:transparent!important;
  box-shadow:none!important;
  text-align:center;
  font-weight:750;
  transition:color .16s ease,transform .16s ease;
}

body.route-tife-index .tg-portal-hero-submenu .portal-subnav a:hover{
  color:#57c7ff;
  transform:translateY(-2px);
}

body.route-tife-index .tg-portal-hero-submenu .portal-subnav a.active{
  color:#26b7ff!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

@media(max-width:800px){
  body.route-tife-index .tg-portal-hero-submenu .portal-subnav{
    grid-template-columns:repeat(3,minmax(0,1fr));
    row-gap:.8rem!important;
  }
}

@media(max-width:540px){
  body.route-tife-index .tg-portal-hero-submenu .portal-subnav{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* v20.6.3 — Exploration Portal icon navigation */
body.route-exploration-index .portal-page.portal-exploration{
  width:100%;
  max-width:none;
  margin:0;
  padding:
    clamp(1rem,1.8vw,1.6rem)
    var(--portal-repair-gutter,clamp(12px,1.6vw,30px))
    3rem;
  box-sizing:border-box;
}

body.route-exploration-index .exploration-portal-hero{
  display:block;
  width:100%;
}

body.route-exploration-index .exploration-portal-hero .portal-hero-copy{
  width:100%;
  max-width:none;
}

body.route-exploration-index .exploration-portal-hero h1{
  max-width:980px;
}

body.route-exploration-index .exploration-portal-hero
.portal-hero-copy > p:not(.eyebrow){
  max-width:980px;
}

body.route-exploration-index .exploration-hero-navigation{
  margin-top:1.35rem;
  padding-top:1.25rem;
  border-top:1px solid rgba(148,163,184,.18);
}

body.route-exploration-index .exploration-hero-navigation
.portal-subnav-shell{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

body.route-exploration-index .exploration-hero-navigation
.portal-subnav-inner{
  width:100%!important;
  max-width:none!important;
  padding:0!important;
}

body.route-exploration-index .exploration-hero-navigation
.portal-subnav-title{
  display:none!important;
}

body.route-exploration-index .exploration-hero-navigation
.portal-subnav{
  display:grid!important;
  width:100%!important;
  grid-template-columns:repeat(7,minmax(0,1fr));
  align-items:start;
  gap:.35rem!important;
  overflow:visible!important;
}

body.route-exploration-index .exploration-hero-navigation
.portal-subnav a{
  display:flex!important;
  min-width:0;
  min-height:92px!important;
  padding:.65rem .25rem!important;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:.55rem;
  border:0!important;
  border-radius:0!important;
  color:#eef6fb;
  background:transparent!important;
  box-shadow:none!important;
  text-align:center;
  font-weight:750;
  transition:
    color .16s ease,
    transform .16s ease;
}

body.route-exploration-index .exploration-hero-navigation
.portal-subnav a:hover{
  color:#57c7ff;
  transform:translateY(-2px);
}

body.route-exploration-index .exploration-hero-navigation
.portal-subnav a.active{
  color:#26b7ff!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

@media(max-width:1050px){
  body.route-exploration-index .exploration-hero-navigation
  .portal-subnav{
    grid-template-columns:repeat(4,minmax(0,1fr));
    row-gap:.8rem!important;
  }
}

@media(max-width:700px){
  body.route-exploration-index .exploration-hero-navigation
  .portal-subnav{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* v20.6.4 — Exploration title-pane submenu repair */
body.route-exploration,
body.route-exploration-index{
  --exploration-nav-accent:#26b7ff;
}

/* Hide any legacy standalone submenu above the title pane. */
body.route-exploration > .portal-subnav-shell,
body.route-exploration > .portal-chrome,
body.route-exploration-index > .portal-subnav-shell,
body.route-exploration-index > .portal-chrome,
body.route-exploration .site-main > .portal-subnav-shell,
body.route-exploration .site-main > .portal-chrome,
body.route-exploration-index .site-main > .portal-subnav-shell,
body.route-exploration-index .site-main > .portal-chrome{
  display:none!important;
}

/* Remove all legacy hero actions and portal emblems. */
body.route-exploration .portal-exploration .hero-actions,
body.route-exploration .portal-exploration .portal-hero-mark,
body.route-exploration .portal-exploration .portal-hero-logo,
body.route-exploration-index .portal-exploration .hero-actions,
body.route-exploration-index .portal-exploration .portal-hero-mark,
body.route-exploration-index .portal-exploration .portal-hero-logo{
  display:none!important;
}

body.route-exploration .portal-exploration,
body.route-exploration-index .portal-exploration{
  width:100%;
  max-width:none;
  margin:0;
  padding:
    clamp(1rem,1.8vw,1.6rem)
    var(--portal-repair-gutter,clamp(12px,1.6vw,30px))
    3rem;
  box-sizing:border-box;
}

body.route-exploration .exploration-portal-hero,
body.route-exploration-index .exploration-portal-hero{
  display:block;
  width:100%;
}

body.route-exploration .exploration-portal-hero .portal-hero-copy,
body.route-exploration-index .exploration-portal-hero .portal-hero-copy{
  width:100%;
  max-width:none;
}

body.route-exploration .exploration-hero-navigation,
body.route-exploration-index .exploration-hero-navigation{
  display:block!important;
  width:100%;
  margin-top:1.35rem;
  padding-top:1.25rem;
  border-top:1px solid rgba(148,163,184,.18);
}

body.route-exploration .exploration-hero-navigation .portal-subnav-shell,
body.route-exploration-index .exploration-hero-navigation .portal-subnav-shell{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

body.route-exploration .exploration-hero-navigation .portal-subnav-inner,
body.route-exploration-index .exploration-hero-navigation .portal-subnav-inner{
  width:100%!important;
  max-width:none!important;
  padding:0!important;
}

body.route-exploration .exploration-hero-navigation .portal-subnav-title,
body.route-exploration-index .exploration-hero-navigation .portal-subnav-title{
  display:none!important;
}

body.route-exploration .exploration-hero-navigation .portal-subnav,
body.route-exploration-index .exploration-hero-navigation .portal-subnav{
  display:grid!important;
  width:100%!important;
  grid-template-columns:repeat(7,minmax(0,1fr));
  align-items:start;
  gap:.35rem!important;
  overflow:visible!important;
}

body.route-exploration .exploration-hero-navigation .portal-subnav a,
body.route-exploration-index .exploration-hero-navigation .portal-subnav a{
  display:flex!important;
  min-width:0;
  min-height:92px!important;
  padding:.65rem .25rem!important;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:.55rem;
  border:0!important;
  border-radius:0!important;
  color:#eef6fb;
  background:transparent!important;
  box-shadow:none!important;
  text-align:center;
  font-weight:750;
}

body.route-exploration .exploration-hero-navigation .portal-subnav a:hover,
body.route-exploration-index .exploration-hero-navigation .portal-subnav a:hover{
  color:var(--exploration-nav-accent);
  transform:translateY(-2px);
}

body.route-exploration .exploration-hero-navigation .portal-subnav a.active,
body.route-exploration-index .exploration-hero-navigation .portal-subnav a.active{
  color:var(--exploration-nav-accent)!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

@media(max-width:1050px){
  body.route-exploration .exploration-hero-navigation .portal-subnav,
  body.route-exploration-index .exploration-hero-navigation .portal-subnav{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

@media(max-width:700px){
  body.route-exploration .exploration-hero-navigation .portal-subnav,
  body.route-exploration-index .exploration-hero-navigation .portal-subnav{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
