:root{--palette-canvas: 13 15 16;--palette-surface: 31 35 38;--palette-ink: 239 235 228;--palette-muted: 177 171 162;--palette-accent: 215 180 106;--palette-success: 137 181 127;--palette-danger: 222 113 99;--palette-info: 137 175 204;--palette-flag-green: 4 106 56;--palette-flag-red: 218 41 28;}.cms-page{overflow:auto;padding:1.5rem;max-width:90rem;margin:auto;color:var(--color-text)}.cms-page[hidden]{display:none!important}.cms-page:not([hidden]){display:block}.cms-richtext{line-height:1.65}.cms-richtext a,.cms-case a{color:var(--color-accent)}.cms-event img,.cms-richtext img{max-width:100%;height:auto}.cms-event,.cms-case{padding:1rem;border-bottom:1px solid var(--color-border)}@media(min-width:68.75rem){.community-view .recruit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:47.501rem) and (max-width:68.749rem){.recruit-praccs{grid-column:1/-1}}/* Populated roster: names are the content, decoration stays presentational. */
.shame-trophy.shame-populated{align-self:start;display:block;padding:0;border:0;background:none;box-shadow:none;text-align:left;overflow:visible}
.shame-trophy.shame-populated::before,.shame-trophy.shame-populated::after{content:none}
.shame-names{list-style:none;width:100%;padding:0;margin:0;display:grid;gap:.8rem}
.shame-name-card{position:relative;isolation:isolate;display:grid;grid-template-columns:4.3rem minmax(0,1fr) 2.6rem;align-items:center;gap:1.2rem;min-height:8.5rem;padding:1.4rem 1.6rem;border:1px solid rgb(var(--palette-accent) / .24);border-left:3px solid rgb(var(--palette-flag-red));background:linear-gradient(110deg,rgb(var(--palette-flag-red) / .09),transparent 60%),rgb(var(--palette-canvas) / .96);box-shadow:0 .6rem 1.5rem rgb(var(--palette-canvas) / .25);transition:border-color .22s,box-shadow .22s;animation:shame-card-enter .38s ease-out both}
.shame-name-card::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,rgb(var(--palette-flag-green) / .16),rgb(var(--palette-flag-red) / .16));opacity:0;transition:opacity .22s;pointer-events:none}
.shame-name-card::after{content:"";position:absolute;right:-1px;bottom:-1px;width:1.1rem;height:1.1rem;border-right:2px solid var(--color-accent);border-bottom:2px solid var(--color-accent);pointer-events:none}
.shame-number{font:700 2.7rem/1 var(--font);font-variant-numeric:tabular-nums;letter-spacing:-.04em;color:rgb(var(--palette-accent) / .65);border-right:1px solid rgb(var(--palette-accent) / .2);padding-right:1rem}
.shame-player-name{font:700 clamp(1.4rem,2.2vw,2rem)/1.2 var(--font);letter-spacing:.025em;color:var(--color-text);overflow-wrap:anywhere}
.shame-name-mark{width:2.1rem;height:2.1rem;justify-self:end;fill:none;stroke:rgb(var(--palette-danger));stroke-width:1.3;opacity:.65}
@media(hover:hover){.shame-name-card:hover{border-color:rgb(var(--palette-accent) / .55);border-left-color:rgb(var(--palette-flag-red));box-shadow:0 .8rem 1.8rem rgb(var(--palette-canvas) / .4)}.shame-name-card:hover::before{opacity:1}}
@keyframes shame-card-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.shame-name-card{min-height:6.7rem;grid-template-columns:3.2rem minmax(0,1fr) 1.8rem;gap:.9rem;padding:1.15rem}.shame-number{font-size:2.1rem;padding-right:.75rem}.shame-name-mark{width:1.7rem;height:1.7rem}}
@media(prefers-reduced-motion:reduce){.shame-name-card,.shame-name-card::before{animation:none;transition:none}}
/* Shared interior-page heading, with colours inherited from the CMS palette. */
body .wd-page-heading{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem;width:100%;margin:0 0 1.5rem;padding:0;border:0;background:none;box-shadow:none;color:var(--color-text);text-align:left}
.wd-heading-copy{flex:1 1 22rem;min-width:0}
body .wd-page-heading .wd-heading-eyebrow{display:block;margin:0 0 .65rem;padding:0;font:700 .75rem/1.4 var(--font);letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent)!important}
body .wd-page-heading .wd-heading-title{display:block;position:relative;margin:0!important;padding:0;font:700 clamp(1.75rem,3vw,2.5rem)/1.15 var(--font)!important;letter-spacing:.015em;text-transform:uppercase;color:var(--color-text)!important;text-shadow:none}
body .wd-page-heading .wd-heading-title::after{content:"";display:block;position:static;width:4rem;height:2px;margin:.65rem 0 0;background:var(--color-accent);transform:none;animation:none}
body .wd-page-heading .wd-heading-description{max-width:55rem;margin:.75rem 0 0;padding:0;font:400 1rem/1.5 var(--font);letter-spacing:normal;text-transform:none;color:var(--color-muted)}
body .wg-heading.wd-page-heading>a{order:-1;align-self:center;flex:none}
body .leaderboard-heading.wd-page-heading .search{margin:0;flex:0 1 18rem}
@media(max-width:760px){.wd-heading-copy{flex-basis:100%}body .wg-heading.wd-page-heading .wd-heading-copy{flex-basis:calc(100% - 3rem)}body .leaderboard-heading.wd-page-heading .search{flex:1 1 100%}}
.builder-block {
  grid-column: 1/-1;
  width: 100%;
  min-width: 0;
  padding: clamp(1.25rem, 3vw, 3rem) 0;
  color: rgb(var(--palette-ink));
  overflow-wrap: anywhere;
  line-height: 1.6;
}
.builder-block h2,
.builder-block h3 {
  color: rgb(var(--palette-ink));
  line-height: 1.15;
  margin: 0 0 20px;
}
.builder-block h2 {
  font-size: clamp(1.75rem, 3vw, 3rem);
}
.builder-block h3 {
  font-size: clamp(1.375rem, 2vw, 1.875rem);
}
.builder-block p {
  margin: 0 0 20px;
  color: rgb(var(--palette-muted));
}
.builder-block img,
.builder-block video {
  max-width: 100%;
  max-height: 75vh;
  height: auto;
  display: block;
  margin: auto;
  border-radius: 8px;
}
.builder-block figure {
  margin: 0;
}
.builder-block figcaption {
  font-size: .875rem;
  color: rgb(var(--palette-muted));
  margin-top: 12px;
}
.builder-block hr {
  border: 0;
  border-top: 1px solid rgb(var(--palette-ink) / .15);
}
.builder-block a {
  color: rgb(var(--palette-accent));
}
.builder-align-center {
  text-align: center;
}
.builder-tone-panel,
.builder-tone-accent {
  padding: clamp(1.5rem, 3vw, 3rem);
  border: 1px solid rgb(var(--palette-ink) / .15);
  border-radius: 10px;
  background: rgb(var(--palette-surface));
}
.builder-tone-accent {
  border-top: 3px solid rgb(var(--palette-accent));
  background: linear-gradient(115deg, rgb(var(--palette-flag-green) / .22), rgb(var(--palette-flag-red) / .18));
}
.builder-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15.625rem), 1fr));
  gap: 24px;
}
.builder-cards article {
  padding: 28px;
  background: rgb(var(--palette-surface));
  border: 1px solid rgb(var(--palette-ink) / .15);
  border-radius: 8px;
}
.builder-block a:hover {
  background: linear-gradient(110deg, rgb(var(--palette-flag-green)), rgb(var(--palette-flag-red)));
  color: #fff;
}
.builder-block .wd-page-heading {
  margin: 0 !important;
}
.builder-block .cms-richtext {
  max-width: 80ch;
}
.builder-align-center .cms-richtext {
  margin-inline: auto;
}

.home-screen.builder-composed {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  overflow: auto;
  padding: clamp(1.25rem, 3vw, 3rem);
  align-content: start;
}
.home-screen.builder-composed .quickjoin,
.home-screen.builder-composed .promo-card,
.home-screen.builder-composed .hero-caption.hero {
  position: static;
  inset: auto;
  width: 100%;
  max-height: none;
  margin: 0;
  transform: none;
}
.home-screen.builder-composed .hero-caption.hero {
  grid-column: 1/-1;
}
.builder-composed {
  overflow-y: auto !important;
}
@media (max-width: 760px) {
  .home-screen.builder-composed {
    grid-template-columns: 1fr;
  }
}
.brand-name{position:relative;isolation:isolate;text-shadow:0 0 1.2rem rgb(var(--palette-accent) / .18);padding-block:.35rem}
.brand-name::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,rgb(var(--palette-success)),rgb(var(--palette-accent)) 48%,rgb(var(--palette-danger)));transform:scaleX(.4);transform-origin:left;opacity:.65;transition:transform .3s ease,opacity .3s ease}
.brand-name:hover::after,.brand-name:focus-visible::after{transform:scaleX(1);opacity:1}
.brand-name>span{background:linear-gradient(110deg,rgb(var(--palette-ink)) 20%,rgb(var(--palette-accent)) 46%,rgb(var(--palette-ink)) 62%);background-size:240% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:brand-light 9s ease-in-out infinite}
.hero-caption .hero-title{position:relative;filter:drop-shadow(0 .2rem 1.5rem rgb(var(--palette-accent) / .1))}
.hero-caption .hero-title::after{content:"";display:block;width:clamp(5rem,12vw,10rem);height:3px;margin-top:1.1rem;background:linear-gradient(90deg,rgb(var(--palette-success)),rgb(var(--palette-accent)) 48%,rgb(var(--palette-danger)));box-shadow:0 0 1.2rem rgb(var(--palette-accent) / .2);animation:brand-reveal .8s ease-out both}
@keyframes brand-light{0%,65%,100%{background-position:100% 50%}85%{background-position:0 50%}}
@keyframes brand-reveal{from{transform:scaleX(0);transform-origin:left;opacity:0}to{transform:scaleX(1);transform-origin:left;opacity:1}}
body[data-motion=off] .brand-name>span,body[data-motion=off] .hero-title::after{animation:none}
@media(prefers-reduced-motion:reduce){.brand-name>span,.hero-caption .hero-title::after{animation:none}.brand-name::after{transition:none}}
