@font-face {
  font-family: "Storm Gust";
  src:
    url("assets/Storm Gust.ttf") format("truetype"),
    local("Storm Gust"),
    local("StormGust"),
    local("Storm Gust Brush");
  font-display: swap;
}

@font-face {
  font-family: "Emotios";
  src:
    url("assets/Emotios.otf") format("opentype"),
    local("Emotios"),
    local("Emotions");
  font-display: swap;
}

@font-face {
  font-family: "Road Rage";
  src:
    url("assets/Road_Rage.otf") format("opentype"),
    local("Road Rage"),
    local("RoadRage");
  font-display: swap;
}

:root {
  --bg: #02040a;
  --panel: #07101b;
  --line: rgba(255,255,255,.12);
  --blue: #0757ff;
  --blue2: #008cff;
  --blue-soft: rgba(7,87,255,.18);
  --text: #f8fbff;
  --muted: #a4aebc;
  --cond: "Bahnschrift Condensed", "Arial Narrow", Impact, sans-serif;
  --brush: "Road Rage", "Emotios", "Storm Gust", "Segoe Print", cursive;
  --body: Inter, "Segoe UI", Arial, sans-serif;
}
* { box-sizing: border-box; }
html {
  scroll-behavior: smooth;
  scroll-padding-top: 96px;
}
body {
  margin: 0;
  background:
    radial-gradient(circle at 20% 0%, rgba(7,87,255,.18), transparent 34rem),
    radial-gradient(circle at 88% 34%, rgba(0,140,255,.1), transparent 30rem),
    var(--bg);
  color: var(--text);
  font-family: var(--body);
  overflow-x: hidden;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 120px 120px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,.5), transparent 76%);
}
body.js-enabled .reveal {
  opacity: 1;
  transform: none;
  transition: transform .25s ease, filter .25s ease;
}
body.js-enabled .reveal.is-visible { opacity: 1; transform: none; }
a { color: inherit; text-decoration: none; }
.auth-locked {
  height: 100vh;
  overflow: hidden;
}
.auth-locked > :not(.auth-gate) {
  visibility: hidden;
  pointer-events: none;
}
.auth-gate {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  align-items: center;
  justify-items: start;
  padding: clamp(22px, 6vw, 78px);
  background:
    linear-gradient(90deg, rgba(0,0,0,.95) 0%, rgba(1,5,13,.9) 43%, rgba(1,5,13,.5) 70%, rgba(0,0,0,.86) 100%),
    radial-gradient(circle at 58% 12%, rgba(7,87,255,.34), transparent 30rem),
    url("assets/pr0xy.webp") right center / auto 100% no-repeat,
    #02040a;
}
.auth-gate[hidden] {
  display: none;
}
.admin-locked:not(.auth-locked) {
  height: 100vh;
  overflow: hidden;
}
.admin-locked:not(.auth-locked) > :not(.auth-gate):not(.admin-vault) {
  visibility: hidden;
  pointer-events: none;
}
.admin-vault {
  position: fixed;
  inset: 0;
  z-index: 950;
  display: grid;
  align-items: center;
  justify-items: start;
  padding: clamp(22px, 6vw, 78px);
  background:
    linear-gradient(90deg, rgba(0,0,0,.97) 0%, rgba(1,5,13,.92) 44%, rgba(1,5,13,.56) 72%, rgba(0,0,0,.88) 100%),
    radial-gradient(circle at 62% 10%, rgba(7,87,255,.3), transparent 30rem),
    url("assets/city-hero.webp") right center / contain no-repeat,
    #02040a;
}
.admin-vault[hidden] {
  display: none;
}
.admin-vault-card h1 span {
  display: block;
  width: fit-content;
  margin-top: -10px;
  color: var(--blue);
  font-family: var(--brush);
  font-size: clamp(58px, 8vw, 98px);
  font-weight: 400;
  line-height: .8;
  text-transform: uppercase;
  transform: rotate(-2deg) skew(-8deg);
  text-shadow: 0 0 22px rgba(7,87,255,.45);
}
.auth-card {
  width: min(620px, 100%);
  padding-top: 24px;
}
.auth-logo {
  margin-bottom: clamp(48px, 8vh, 84px);
}
.auth-logo.logo-mark-only > img { width: 96px; }
.auth-card h1 {
  max-width: 560px;
  margin-bottom: 28px;
  font-size: clamp(78px, 10vw, 132px);
}
.auth-card h1 span {
  display: block;
  width: fit-content;
  margin-top: -10px;
  color: var(--blue);
  font-family: var(--brush);
  font-size: clamp(56px, 8vw, 96px);
  font-weight: 400;
  line-height: .8;
  text-transform: uppercase;
  transform: rotate(-2deg) skew(-8deg);
  text-shadow: 0 0 22px rgba(7,87,255,.45);
}
.auth-card h1 span em {
  position: relative;
  display: inline-block;
  font-style: inherit;
}
.auth-card h1 span em::after {
  content: "";
  display: block;
  position: absolute;
  left: -8%;
  right: -5%;
  bottom: -9px;
  height: 6px;
  background: var(--blue);
  clip-path: polygon(0 42%, 76% 24%, 100% 45%, 95% 78%, 10% 100%);
  transform: rotate(-2deg) skew(-16deg);
}
.auth-card label {
  display: block;
  margin-bottom: 10px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .8px;
  text-transform: uppercase;
}
.auth-row {
  display: flex;
  gap: 12px;
  width: min(520px, 100%);
}
.auth-row input {
  min-width: 0;
  flex: 1;
  height: 52px;
  padding: 0 16px;
  border: 1px solid rgba(255,255,255,.18);
  outline: 0;
  background: rgba(4,10,20,.78);
  color: var(--text);
  font: 800 15px var(--body);
  box-shadow: inset 0 0 0 1px rgba(7,87,255,.08);
}
.auth-row input:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(7,87,255,.22), inset 0 0 0 1px rgba(7,87,255,.16);
}
.auth-row .btn {
  min-width: 136px;
  border-color: rgba(7,87,255,.95);
}
.auth-error {
  min-height: 22px;
  margin: 14px 0 0;
  color: #ff5369;
  font-size: 13px;
  font-weight: 800;
}
.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 30;
  height: 92px;
  display: grid;
  grid-template-columns: 96px 1fr auto;
  align-items: center;
  gap: 28px;
  padding: 0 clamp(22px, 5vw, 68px);
  background: linear-gradient(180deg, rgba(0,0,0,.84), rgba(0,0,0,0));
  transition: background .25s ease, border-color .25s ease;
}
.site-header.is-scrolled { background: rgba(2,4,10,.9); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
.logo { width: fit-content; line-height: .72; text-transform: uppercase; transform: skew(-9deg); }
.logo span { display: block; font: 900 56px/0.75 var(--cond); letter-spacing: 1px; font-style: italic; }
.logo small { display: block; margin-left: 6px; font-size: 10px; font-weight: 900; letter-spacing: 4px; }
.nav { display: flex; justify-content: center; gap: clamp(14px, 2vw, 28px); }
.nav a, .join, .btn, .link-arrow, .partners span, .footer h3 {
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .7px;
}
.nav a { color: #d8dde6; transition: color .18s ease, text-shadow .18s ease; }
.nav a:hover, .nav a.is-active { color: #fff; text-shadow: 0 0 10px rgba(0,140,255,.55); }
.nav-dropdown { position: relative; }
.nav-dropdown summary {
  color: #d8dde6;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .7px;
  text-transform: uppercase;
  cursor: pointer;
  list-style: none;
  transition: color .18s ease, text-shadow .18s ease;
}
.nav-dropdown summary::-webkit-details-marker { display: none; }
.nav-dropdown summary::after { content: "+"; margin-left: 5px; color: var(--blue2); }
.nav-dropdown[open] summary::after { content: "−"; }
.nav-dropdown summary:hover,
.nav-dropdown.is-active summary { color: #fff; text-shadow: 0 0 10px rgba(0,140,255,.55); }
.nav-dropdown-menu {
  position: absolute;
  top: calc(100% + 18px);
  left: -18px;
  width: 245px;
  display: grid;
  gap: 0;
  padding: 10px;
  border: 1px solid rgba(110,180,255,.26);
  background: rgba(2,4,10,.97);
  box-shadow: 0 24px 70px rgba(0,0,0,.52), 0 0 24px rgba(7,87,255,.14);
  backdrop-filter: blur(16px);
}
.nav-dropdown-menu a {
  display: block;
  padding: 11px 10px;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.nav-dropdown-menu a:last-child { border-bottom: 0; }
.header-actions { display: flex; align-items: center; gap: 24px; }
.header-hub { position: relative; }
.header-hub > summary { list-style: none; cursor: pointer; }
.header-hub > summary::-webkit-details-marker { display: none; }
.header-hub-toggle i {
  display: inline-grid;
  width: 18px;
  height: 18px;
  place-items: center;
  color: #9ec8ff;
  font: normal 900 18px/1 var(--body);
  transition: transform .2s ease, color .2s ease;
}
.header-hub[open] .header-hub-toggle {
  border-color: rgba(139,194,255,.94);
  background: #1263ff;
  box-shadow: 0 14px 32px rgba(0,0,0,.42), 0 0 24px rgba(7,87,255,.28);
}
.header-hub[open] .header-hub-toggle i { color: #fff; transform: rotate(45deg); }
.header-hub-panel {
  position: absolute;
  top: calc(100% + 14px);
  right: 0;
  width: min(370px, calc(100vw - 36px));
  padding: 20px;
  border: 1px solid rgba(110,180,255,.32);
  background: rgba(2,7,16,.97);
  box-shadow: 0 28px 80px rgba(0,0,0,.64), 0 0 30px rgba(7,87,255,.13);
  backdrop-filter: blur(18px);
}
.header-hub-panel::before {
  content: "";
  position: absolute;
  inset: -1px -1px auto;
  height: 3px;
  background: linear-gradient(90deg, #0757ff, #55a2ff 62%, transparent);
}
.header-hub-event {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 15px;
  align-items: center;
  min-height: 96px;
  padding: 13px;
  border: 1px solid rgba(110,180,255,.2);
  background: linear-gradient(120deg, rgba(7,87,255,.17), rgba(5,12,24,.82));
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.header-hub-event:hover { transform: translateY(-2px); border-color: rgba(110,180,255,.55); background: linear-gradient(120deg, rgba(7,87,255,.28), rgba(5,12,24,.92)); }
.header-hub-event-date {
  display: grid;
  min-width: 0;
  align-content: center;
  align-self: stretch;
  padding-right: 13px;
  border-right: 1px solid rgba(110,180,255,.2);
}
.header-hub-event-date strong { color: #fff; font: italic 24px/.9 var(--cond); text-transform: uppercase; }
.header-hub-event-date em { margin-top: 7px; color: #7eb5ff; font-size: 10px; font-style: normal; font-weight: 900; text-transform: uppercase; }
.header-hub-event-copy { min-width: 0; display: grid; gap: 5px; }
.header-hub-event-copy small { color: #78afff; font-size: 9px; font-weight: 900; letter-spacing: .7px; text-transform: uppercase; }
.header-hub-event-copy b { overflow-wrap: anywhere; color: #fff; font: italic 22px/.94 var(--cond); text-transform: uppercase; }
.header-hub-event-copy > span { color: #aab6c6; font-size: 10px; font-weight: 700; }
.header-hub-socials { display: grid; grid-template-columns: repeat(6, 38px); justify-content: space-between; gap: 7px; margin-top: 16px; }
.header-hub-socials a {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid rgba(110,180,255,.2);
  background: rgba(255,255,255,.025);
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.header-hub-socials a:hover { transform: translateY(-3px); border-color: #6eb4ff; background: rgba(7,87,255,.18); }
.header-hub-socials img { width: 18px; height: 18px; object-fit: contain; }
.join, .btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 48px;
  padding: 0 25px;
  border: 1px solid rgba(54,126,255,.72);
  background: rgba(7,87,255,.1);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}
.join:hover, .btn:hover {
  transform: translateY(-2px);
  border-color: rgba(122,184,255,.88);
  box-shadow: 0 10px 24px rgba(0,0,0,.3), 0 0 14px rgba(7,87,255,.2);
}
.join:active, .btn:active { transform: translateY(0); }
.btn.primary:hover, .join:hover { background: #1263ff; }
.btn.outline:hover { background: rgba(7,87,255,.14); }
.join:hover span, .btn:hover span, .link-arrow:hover span { transform: translateX(3px); }
.join span, .btn span, .link-arrow span { display: inline-block; transition: transform .2s ease; }
.join:focus-visible,
.btn:focus-visible,
.link-arrow:focus-visible,
.creator-card:focus-visible,
.game-logo:focus-visible,
.news-card a:focus-visible,
.community-visual:focus-visible,
.product-card:focus-visible,
.partner-logo:focus-visible {
  outline: 3px solid rgba(122,184,255,.9);
  outline-offset: 4px;
}
.menu { display: none; gap: 6px; padding: 8px; border: 0; background: transparent; }
.menu span { display: block; width: 30px; height: 2px; background: var(--blue2); }
.primary { background: var(--blue); color: #fff; }
.outline { background: rgba(2,6,14,.55); }
.blue { color: #fff; }

.hero {
  position: relative;
  min-height: 760px;
  height: 100vh;
  border-bottom: 1px solid var(--line);
  background: #000;
  isolation: isolate;
  overflow: hidden;
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(circle at 78% 18%, rgba(7,87,255,.16), transparent 26rem),
    linear-gradient(90deg, #000 0%, #000 36%, rgba(0,0,0,.24) 66%, rgba(0,0,0,.56) 100%);
}
.hero-img, .hero-shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.hero-img {
  left: 0;
  right: auto;
  width: 118%;
  max-width: none;
  object-fit: contain;
  object-position: right center;
  transform: none;
  transform-origin: center;
  z-index: 1;
  filter: brightness(.76) saturate(.92) contrast(1.1);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, transparent 27%, rgba(0,0,0,.18) 37%, rgba(0,0,0,.78) 52%, #000 63%, #000 100%);
  mask-image: linear-gradient(90deg, transparent 0%, transparent 27%, rgba(0,0,0,.18) 37%, rgba(0,0,0,.78) 52%, #000 63%, #000 100%);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}
.hero-shade {
  z-index: 2;
  background:
    linear-gradient(90deg, #000 0%, #000 30%, rgba(0,0,0,.68) 42%, rgba(0,0,0,.18) 62%, rgba(0,0,0,.3) 100%),
    radial-gradient(circle at 76% 22%, rgba(7,87,255,.22), transparent 29rem),
    linear-gradient(135deg, rgba(7,87,255,.05), transparent 43%, rgba(0,140,255,.07)),
    linear-gradient(0deg, rgba(2,4,10,1) 0%, rgba(2,4,10,0) 34%);
}
.hero-content {
  position: relative;
  z-index: 3;
  width: min(1220px, calc(100% - 44px));
  margin: 0 auto;
  padding-top: 24vh;
}
.kicker { margin: 0 0 18px; color: var(--blue); font-size: 14px; font-weight: 900; text-transform: uppercase; }
h1, h2 { margin: 0; font-family: var(--cond); text-transform: uppercase; letter-spacing: 0; }
h1 { max-width: 620px; font-size: clamp(76px, 8.7vw, 132px); line-height: .88; font-style: italic; }
.brush-line, h2 span {
  display: block;
  margin-top: -6px;
  color: var(--blue);
  font-family: var(--brush);
  line-height: .82;
  text-transform: uppercase;
  transform: rotate(-2deg);
  transform-origin: left center;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
  -webkit-text-stroke: 0;
  text-shadow: 3px 3px 0 #00145a, 0 0 18px rgba(7,87,255,.58);
  filter: none;
}
.brush-line {
  width: fit-content;
  max-width: min(610px, 92vw);
  font-size: clamp(42px, 5.35vw, 78px);
  white-space: nowrap;
}
h2 span {
  width: fit-content;
  max-width: 100%;
  font-size: clamp(38px, 4.1vw, 64px);
}
.brush-line::after, h2 span::after {
  content: "";
  display: block;
  width: min(460px, 92%);
  height: 8px;
  margin-top: 5px;
  background: var(--blue);
  clip-path: polygon(0 40%, 8% 14%, 19% 52%, 31% 24%, 47% 58%, 63% 20%, 77% 54%, 91% 24%, 100% 40%, 98% 73%, 84% 64%, 69% 88%, 52% 66%, 33% 88%, 15% 68%, 0 82%);
  transform: skewX(-24deg) rotate(-1deg);
  box-shadow: none;
}
.intro { margin: 34px 0 26px; color: #c2c9d3; font-size: 14px; font-weight: 700; line-height: 1.8; text-transform: uppercase; }
.actions { display: flex; flex-wrap: wrap; gap: 18px; }
.play { display: grid; place-items: center; width: 22px; height: 22px; border: 1px solid #fff; border-radius: 50%; font-size: 9px; }
.side-word, .scroll-word {
  position: absolute;
  z-index: 3;
  right: 26px;
  writing-mode: vertical-rl;
  text-transform: uppercase;
  letter-spacing: 7px;
  color: #dce4ee;
  font-size: 12px;
  font-weight: 800;
}
.side-word { top: 28%; }
.scroll-word { bottom: 9%; }
.scroll-word::after { content: ""; display: inline-block; width: 1px; height: 64px; margin-top: 16px; background: #fff; }

section { border-bottom: 1px solid var(--line); }
.anchor {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  pointer-events: none;
  opacity: 0;
}
.story {
  position: relative;
  min-height: 320px;
  display: grid;
  grid-template-columns: minmax(260px, 330px) minmax(280px, 430px) minmax(320px, 1fr);
  gap: 46px;
  align-items: center;
  padding: 58px clamp(22px, 7vw, 92px);
  border-bottom: 0;
  background:
    linear-gradient(0deg, var(--bg), transparent 100px),
    radial-gradient(circle at 8% 12%, rgba(7,87,255,.14), transparent 24rem),
    linear-gradient(90deg, #02040a 0 45%, rgba(3,10,20,.82)),
    #02040a;
}
.story h2, .community h2, .shop h2 { font-size: clamp(54px, 6.2vw, 84px); line-height: .9; font-style: italic; }
.story-title, .community-copy, .shop-copy { min-width: 0; position: relative; z-index: 2; }
.story-title h2, .community-copy h2, .shop-copy h2 { max-width: 390px; }
.story-copy p, .community p, .shop p { color: var(--muted); line-height: 1.75; }
.link-arrow { display: inline-flex; gap: 14px; margin-top: 18px; padding-bottom: 8px; color: #fff; border-bottom: 1px solid var(--blue); }
.link-arrow span { color: var(--blue); }
.story-a-swap {
  position: relative;
  display: inline-grid;
  width: .62em;
  place-items: center;
  color: transparent;
  font: inherit;
  font-style: inherit;
}
.story-a-swap::before,
.story-a-swap::after {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  transition: opacity .2s ease, transform .2s ease;
}
.story-a-swap::before {
  content: "a";
  color: var(--blue);
}
.story-a-swap::after {
  content: "1";
  color: #fff;
  opacity: 0;
  transform: translateY(16%);
}
.story-title:hover .story-a-swap::before {
  opacity: 0;
  transform: translateY(-16%);
}
.story-title:hover .story-a-swap::after {
  opacity: 1;
  transform: translateY(0);
}
.story-visual {
  position: relative;
  min-height: 278px;
  align-self: stretch;
  background:
    linear-gradient(90deg, #02040a 0%, rgba(2,4,10,.7) 7%, rgba(2,4,10,.08) 27%, rgba(2,4,10,.35) 100%),
    linear-gradient(0deg, rgba(2,4,10,.45) 0%, transparent 7%, transparent 94%, rgba(2,4,10,.18) 100%),
    url("assets/caggtus-stage-2024-optimized.webp") 50% 42% / auto 108% no-repeat;
  border: 0;
  box-shadow: 0 30px 90px rgba(0,0,0,.34);
  overflow: hidden;
}
.game-links {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  margin-top: 2px;
}
.game-logo {
  position: relative;
  min-width: 0;
  min-height: 164px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(110,180,255,.14);
  background: rgba(5,12,24,.9);
  box-shadow: 0 18px 48px rgba(0,0,0,.28), inset 0 0 0 1px rgba(7,87,255,.05);
  overflow: hidden;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.game-logo::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: var(--game-bg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  opacity: .4;
  filter: grayscale(.12) brightness(.7) contrast(1.2) saturate(1.08);
  transform: scale(1.02);
  transition: opacity .2s ease, transform .2s ease, filter .2s ease;
}
.game-logo::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 44%, rgba(7,87,255,.22), transparent 58%),
    linear-gradient(180deg, rgba(2,4,10,.18) 0%, rgba(2,4,10,.62) 72%, rgba(2,4,10,.9) 100%),
    linear-gradient(90deg, rgba(0,0,0,.42), transparent 35%, rgba(0,0,0,.5));
  opacity: .86;
}
.game-mark {
  position: relative;
  z-index: 2;
  display: grid;
  width: min(78%, 172px);
  height: 96px;
  place-items: center;
  color: #fff;
  font: italic 900 24px/.8 var(--cond);
  letter-spacing: .5px;
  text-transform: uppercase;
  background: transparent;
  border: 0;
  clip-path: none;
  box-shadow: none;
  overflow: visible;
  filter: drop-shadow(0 0 18px rgba(7,87,255,.68)) drop-shadow(0 10px 22px rgba(0,0,0,.72));
}
.game-mark img {
  position: relative;
  z-index: 1;
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  filter: brightness(1.22) contrast(1.1) saturate(1.06);
  transition: transform .2s ease;
}
.game-logo:hover {
  transform: translateY(-3px);
  border-color: rgba(54,126,255,.72);
  background: rgba(5,12,24,.96);
  box-shadow: 0 20px 54px rgba(0,0,0,.36), 0 0 18px rgba(7,87,255,.12);
}
.game-logo:hover::after {
  opacity: .68;
  transform: scale(1.045);
  filter: grayscale(0) brightness(.8) contrast(1.16) saturate(1.1);
}
.game-logo:hover .game-mark {
  filter: drop-shadow(0 0 20px rgba(7,87,255,.7)) drop-shadow(0 12px 24px rgba(0,0,0,.76));
}
.game-logo:hover .game-mark img {
  transform: scale(1.045);
}
.game-lol .game-mark img { max-width: 100%; max-height: 96%; }
.game-valorant .game-mark img { max-width: 78%; max-height: 78%; }
.game-cs2 .game-mark img { max-width: 96%; max-height: 92%; }
.game-ow .game-mark img { max-width: 88%; max-height: 88%; }
.game-r6 .game-mark img { max-width: 94%; max-height: 90%; }
.game-rl .game-mark img { max-width: 96%; max-height: 92%; }
.stats {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(110,180,255,.25);
  border-bottom: 1px solid rgba(110,180,255,.25);
  background:
    linear-gradient(90deg, rgba(7,87,255,.1), transparent 28%, transparent 72%, rgba(7,87,255,.08)),
    #050a12;
  overflow: hidden;
}
.stats article {
  min-width: 0;
  min-height: 148px;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 16px;
  align-items: center;
  padding: 28px clamp(18px, 3.2vw, 48px);
  border-right: 1px solid rgba(110,180,255,.2);
  position: relative;
  isolation: isolate;
  transition: background-color .2s ease;
}
.stats article::before {
  content: "";
  position: absolute;
  left: 0;
  top: 28px;
  bottom: 28px;
  width: 3px;
  background: linear-gradient(180deg, #6eb4ff, var(--blue));
  opacity: .88;
}
.stats article::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(135deg, rgba(7,87,255,.13), transparent 56%);
  opacity: 0;
  transition: opacity .2s ease;
}
.stats article:last-child { border-right: 0; }
.stats article:hover { background-color: rgba(7,87,255,.045); }
.stats article:hover::after { opacity: 1; }
.stats .icon {
  grid-row: 1 / span 2;
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border: 1px solid rgba(110,180,255,.22);
  background: rgba(7,87,255,.08);
  color: #4b95ff;
}
.stats .icon svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 10px rgba(7,87,255,.38));
}
.stats strong {
  align-self: end;
  color: #fff;
  font: italic 58px/.78 var(--cond);
}
.stats small {
  align-self: start;
  margin-top: 10px;
  color: #aeb9c8;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.2;
  text-transform: uppercase;
}

.signal-divider {
  position: relative;
  height: 380px;
  border: 0;
  background: var(--bg);
  overflow: hidden;
  isolation: isolate;
}
.signal-divider::after,
.signal-channel::after {
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 24%, #000 74%, transparent);
  mask-image: linear-gradient(180deg, transparent, #000 24%, #000 74%, transparent);
}
.signal-field {
  position: absolute;
  inset: 0;
  isolation: isolate;
}
.signal-matrix span.signal-code-symbol::after {
  /* Crop the existing logo mask above the wordmark without altering the asset. */
  aspect-ratio: 2200 / 1390;
  -webkit-mask: url("assets/branding/404-logo-white-optimized.png") top center / 100% auto no-repeat;
  mask: url("assets/branding/404-logo-white-optimized.png") top center / 100% auto no-repeat;
}
.signal-channel {
  position: absolute;
  z-index: 1;
  inset: 0 auto 0 0;
  width: 50%;
  isolation: isolate;
  pointer-events: none;
}
.signal-channel-right {
  left: 50%;
}
.signal-track {
  --track-cycle: 2.9s;
  --track-offset: 0s;
  --track-direction: normal;
  position: absolute;
  z-index: 2;
  inset: 0 auto 0 0;
  width: 50%;
  overflow: hidden;
  animation: signalTrackGlitch var(--track-cycle) steps(1, end) var(--track-offset) infinite var(--track-direction);
}
.signal-track-b,
.signal-track-d {
  left: 50%;
}
.signal-track-b {
  --track-cycle: 3.7s;
  --track-offset: -.9s;
  --track-direction: reverse;
}
.signal-track-c {
  --track-cycle: 4.1s;
  --track-offset: -1.3s;
  --track-direction: reverse;
}
.signal-track-d {
  --track-cycle: 3.3s;
  --track-offset: -2.1s;
}
.signal-channel::after {
  content: "";
  position: absolute;
  z-index: 7;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, transparent 8%, rgba(31,218,255,.28) 8% 24%, transparent 24% 72%, rgba(236,84,213,.2) 72% 91%, transparent 91%),
    repeating-linear-gradient(180deg, transparent 0 3px, rgba(76,146,255,.1) 3px 4px);
  opacity: 0;
  animation: signalScreenTear 2.8s steps(1, end) infinite;
}
.signal-channel-right::after {
  animation-duration: 3.9s;
  animation-delay: -1.1s;
}
.signal-matrix {
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 22%, #000 76%, transparent);
  mask-image: linear-gradient(180deg, transparent, #000 22%, #000 76%, transparent);
}
.signal-matrix span {
  position: absolute;
  top: 0;
  left: var(--x);
  width: 5ch;
  height: 100%;
  min-height: 352px;
  color: #6096be;
  font: 400 10px/16px Consolas, "Courier New", monospace;
  text-align: center;
  letter-spacing: 0;
  opacity: .3;
  transform: translate(-50%, -100%);
  animation: signalMatrixFall var(--duration) linear var(--delay) infinite;
}
.signal-matrix span::before {
  content: "0\A 1\A 1\A 0\A 0\A 1\A 0\A 1\A 0\A 0\A 1\A 1\A 0\A 1\A 0\A 1\A 1\A 0";
  display: block;
  white-space: pre;
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 48%);
  mask-image: linear-gradient(180deg, transparent, #000 48%);
}
.signal-matrix span:nth-child(4n)::before {
  content: "1\A 0\A 0\A 1\A 1\A 0\A 1\A 0\A 1\A 4\A 0\A 4\A 0\A 1\A 0\A 0\A 1\A 0";
}
.signal-matrix span:nth-child(7n)::before {
  content: "0\A 1\A 0\A 1\A 0\A 1\A 1\A 0\A 0\A 1\A E\A R\A R\A O\A R\A 0\A 1\A 0\A 1\A 0\A 0";
}
.signal-matrix span.signal-code-symbol::before {
  content: "0\A 1\A 0\A 0\A 1\A 0\A 1\A 1\A 0\A 1\A \A \A 0\A 1\A 0\A 1\A 1\A 0";
}
.signal-matrix span.signal-code-symbol::after {
  content: "";
  position: absolute;
  top: 164px;
  left: 50%;
  width: 22px;
  background: currentColor;
  transform: translateX(-50%);
}
/* Keep the code quiet behind the white headline. */
.signal-channel-left .signal-matrix span:nth-child(n+17),
.signal-channel-right .signal-matrix span:nth-child(-n+8) {
  opacity: .12;
}
@keyframes signalMatrixFall {
  from { transform: translate(-50%, -100%); }
  to { transform: translate(-50%, 100%); }
}
.signal-divider::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    linear-gradient(90deg, transparent 0 7%, rgba(31,112,242,.22) 7% 7.15%, transparent 7.15% 19%, rgba(31,112,242,.12) 19% 19.08%, transparent 19.08% 82%, rgba(31,112,242,.14) 82% 82.1%, transparent 82.1% 93%, rgba(31,112,242,.22) 93% 93.15%, transparent 93.15%),
    repeating-linear-gradient(90deg, transparent 0 72px, rgba(66,130,224,.045) 72px 73px, transparent 73px 144px);
  clip-path: polygon(0 12%, 22% 12%, 22% 7%, 38% 7%, 38% 14%, 73% 14%, 73% 8%, 100% 8%, 100% 91%, 81% 91%, 81% 96%, 57% 96%, 57% 89%, 27% 89%, 27% 95%, 0 95%);
  pointer-events: none;
}
.signal-grid {
  position: absolute;
  z-index: 0;
  inset: 0;
  background:
    linear-gradient(rgba(74,132,220,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(74,132,220,.05) 1px, transparent 1px);
  background-size: 128px 128px;
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 26%, #000 72%, transparent);
  mask-image: linear-gradient(180deg, transparent, #000 26%, #000 72%, transparent);
  animation: signalGridBreak 2.8s steps(1, end) infinite;
}
.signal-grid::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(109deg, transparent 0 19%, rgba(24,91,203,.075) 19% 19.2%, transparent 19.2% 43%, rgba(24,91,203,.08) 43% 43.25%, transparent 43.25% 76%, rgba(24,91,203,.055) 76% 76.15%, transparent 76.15%),
    repeating-linear-gradient(180deg, transparent 0 5px, rgba(51,113,212,.025) 5px 6px);
}
.signal-channel-right .signal-grid {
  animation-duration: 4.3s;
  animation-delay: -.6s;
  animation-direction: reverse;
}
.signal-side {
  position: absolute;
  z-index: 3;
  top: 55%;
  width: 62%;
  display: grid;
  gap: 28px;
  transform: translateY(-50%);
  font-family: Consolas, "Courier New", monospace;
}
.signal-side-left { left: 10%; }
.signal-side-right { right: 10%; text-align: right; }
.signal-side b {
  color: rgba(232,240,253,.78);
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
  animation: signalStatusGlitch 2.6s steps(1, end) infinite;
}
.signal-side code {
  color: rgba(104,143,200,.42);
  font-size: 9px;
  line-height: 1.7;
  letter-spacing: 0;
  animation: signalStatusGlitch 3.1s steps(1, end) -.7s infinite;
}
.signal-side-right b { animation-delay: -.9s; }
.signal-side-right code { animation-delay: -1.6s; }
.signal-side::before {
  content: "";
  position: absolute;
  top: 23px;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, rgba(29,111,255,.74), rgba(29,111,255,.12));
  box-shadow: 0 0 8px rgba(7,87,255,.28);
}
.signal-side-right::before {
  background: linear-gradient(90deg, rgba(29,111,255,.12), rgba(29,111,255,.74));
}
.signal-side-left::after,
.signal-side-right::after {
  content: "+";
  position: absolute;
  top: 8px;
  color: rgba(99,163,255,.9);
  font: 300 28px/1 Consolas, "Courier New", monospace;
}
.signal-side-left::after { left: -5px; transform: translateX(-100%); }
.signal-side-right::after { right: -5px; transform: translateX(100%); }
.signal-rail {
  position: absolute;
  z-index: 2;
  top: 55%;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg,
    transparent 0 2%,
    rgba(21,107,255,.48) 2% 22%,
    transparent 22% 23%,
    rgba(43,128,255,.86) 23% 44%,
    transparent 44% 45%,
    rgba(43,128,255,.9) 45% 73%,
    transparent 73% 74%,
    rgba(21,107,255,.5) 74% 98%,
    transparent 98%);
  box-shadow: none;
  animation: signalRailPulse calc(var(--track-cycle) * .76) steps(1, end) var(--track-offset) infinite;
}
.signal-rail::before,
.signal-rail::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  pointer-events: none;
}
.signal-rail::before {
  top: -11px;
  height: 25px;
  background: repeating-linear-gradient(90deg, transparent 0 86px, rgba(29,111,255,.58) 86px 101px, transparent 101px 144px);
  clip-path: polygon(0 42%, 12% 42%, 12% 20%, 19% 20%, 19% 56%, 33% 56%, 33% 8%, 39% 8%, 39% 68%, 61% 68%, 61% 28%, 68% 28%, 68% 58%, 82% 58%, 82% 16%, 88% 16%, 88% 45%, 100% 45%, 100% 57%, 0 57%);
  opacity: .7;
}
.signal-rail::after {
  top: -5px;
  left: 50%;
  width: 96px;
  height: 13px;
  background: linear-gradient(90deg, transparent 0 8%, #0757ff 8% 30%, transparent 30% 38%, rgba(232,240,253,.9) 38% 62%, transparent 62% 71%, #0757ff 71% 94%, transparent 94%);
  transform: translateX(-50%);
  animation: signalCoreBreak calc(var(--track-cycle) * .66) steps(1, end) calc(var(--track-offset) - .2s) infinite;
}
.signal-burst {
  position: absolute;
  z-index: 3;
  top: calc(55% - 7px);
  height: 14px;
  background:
    linear-gradient(180deg, transparent 0 2px, #0757ff 2px 5px, transparent 5px 8px, rgba(41,128,255,.88) 8px 10px, transparent 10px);
  filter: none;
  animation: signalBurst calc(var(--track-cycle) * .62) steps(1, end) var(--track-offset) infinite;
}
.signal-burst-a { left: 22%; width: 126px; }
.signal-burst-b { left: 68%; width: 72px; animation-delay: -1.4s; }
.signal-burst-c { right: 64%; width: 94px; animation-delay: -2.6s; }
.signal-burst-d { right: 18%; width: 142px; animation-delay: -3.5s; }
.signal-fragments {
  position: absolute;
  z-index: 3;
  top: calc(55% - 16px);
  left: 50%;
  width: min(610px, 78%);
  height: 38px;
  transform: translateX(-50%);
  background:
    linear-gradient(90deg,
      transparent 0 4%,
      rgba(7,87,255,.9) 4% 8%,
      transparent 8% 17%,
      rgba(19,111,255,.78) 17% 19%,
      transparent 19% 76%,
      rgba(7,87,255,.82) 76% 82%,
      transparent 82% 90%,
      rgba(31,125,255,.7) 90% 94%,
      transparent 94%),
    repeating-linear-gradient(180deg, transparent 0 6px, rgba(31,115,255,.42) 6px 8px, transparent 8px 12px);
  clip-path: polygon(0 36%, 21% 36%, 21% 0, 34% 0, 34% 24%, 68% 24%, 68% 4%, 82% 4%, 82% 44%, 100% 44%, 100% 68%, 76% 68%, 76% 100%, 61% 100%, 61% 76%, 27% 76%, 27% 100%, 12% 100%, 12% 64%, 0 64%);
  opacity: .72;
  animation: signalFragments calc(var(--track-cycle) * .72) steps(1, end) calc(var(--track-offset) - .4s) infinite;
}
.signal-lockup {
  position: absolute;
  z-index: 6;
  top: 50%;
  left: 50%;
  width: 760px;
  display: grid;
  justify-items: center;
  align-content: center;
  isolation: isolate;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.signal-lockup::before {
  content: "";
  display: none;
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  width: 590px;
  height: 156px;
  background: linear-gradient(90deg, transparent, rgba(7,87,255,.18) 24%, rgba(65,135,255,.22) 50%, rgba(7,87,255,.16) 76%, transparent);
  filter: blur(20px);
  clip-path: polygon(0 31%, 19% 31%, 19% 12%, 73% 12%, 73% 25%, 100% 25%, 100% 72%, 81% 72%, 81% 91%, 26% 91%, 26% 78%, 0 78%);
  transform: translate(-50%, -50%);
  opacity: .64;
  animation: signalGlowGlitch 5.4s steps(1, end) infinite;
}
.signal-heading {
  position: relative;
  display: block;
  padding-inline: .14em;
  overflow: visible;
  color: #f5f8fd;
  font-family: var(--cond);
  font-size: 112px;
  font-weight: 900;
  font-style: italic;
  line-height: .78;
  letter-spacing: 0;
  text-transform: uppercase;
  white-space: nowrap;
  text-shadow: 0 0 26px rgba(157,198,255,.12);
}
.signal-heading-404 {
  font-size: 128px;
  line-height: .85;
  text-shadow: none;
}
.signal-heading-error {
  margin-top: 15px;
  color: #f5f8fd;
  font-size: 96px;
  line-height: .7;
}
.signal-word {
  position: relative;
  display: inline-block;
  padding: 0;
  text-shadow: none;
}
.signal-glyph {
  display: inline-block;
  transform-origin: 50% 50%;
  animation: signalGlyphFlip var(--flip-duration) steps(1, end) var(--flip-delay) infinite;
}
.signal-glyph-vertical {
  animation-name: signalGlyphFlipVertical;
}
.signal-heading-404::before,
.signal-heading-404::after,
.signal-word::before,
.signal-word::after {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  padding-inline: inherit;
  opacity: 0;
  pointer-events: none;
}
.signal-heading-404::before,
.signal-word::before {
  color: rgba(36,218,255,.86);
  clip-path: inset(16% 0 59% 0);
}
.signal-missing-glyph::before,
.signal-missing-glyph::after {
  visibility: hidden;
}
.signal-heading-404::after,
.signal-word::after {
  color: rgba(241,89,204,.78);
  clip-path: inset(66% 0 9% 0);
}
.signal-is-jolting {
  transform: translate(var(--jolt-x), var(--jolt-y));
  text-shadow: calc(var(--jolt-x) * -.6) 0 rgba(36,218,255,.7);
}
.signal-is-jolting::before {
  opacity: .78;
  transform: translateX(calc(var(--jolt-x) * -1.4));
}
.signal-is-jolting::after {
  opacity: .55;
  transform: translateX(calc(var(--jolt-x) * 1.1));
}
@keyframes signalGlyphFlip {
  0%, 41.45%, 100% { transform: scaleX(1); }
  41% { transform: scaleX(-1); }
}
@keyframes signalGlyphFlipVertical {
  0%, 41.45%, 100% { transform: scaleY(1); }
  41% { transform: scaleY(-1); }
}
@keyframes signalTrackGlitch {
  /* Move each rail quarter without moving its section labels or matrix. */
  0%, 14%, 25%, 48%, 59%, 83%, 94%, 100% { transform: none; filter: none; }
  18% { transform: translate(6px, -1px) skewX(.35deg); filter: hue-rotate(-28deg); }
  22% { transform: translate(-4px, 1px); filter: hue-rotate(-28deg); }
  52% { transform: translate(-6px, 2px) skewX(-.3deg); filter: hue-rotate(64deg); }
  56% { transform: translate(3px, -1px); filter: hue-rotate(64deg); }
  87% { transform: translate(4px, 1px); filter: hue-rotate(-28deg); }
  91% { transform: translate(-2px, -1px); filter: hue-rotate(-28deg); }
}
@keyframes signalScreenTear {
  0%, 16%, 32%, 63%, 80%, 100% { opacity: 0; }
  20% { opacity: .65; clip-path: inset(22% 0 74%); transform: translateX(14px); }
  26% { opacity: .45; clip-path: inset(69% 0 28%); transform: translateX(-18px); }
  67% { opacity: .65; clip-path: inset(42% 0 54%); transform: translateX(-12px); }
  73% { opacity: .4; clip-path: inset(84% 0 14%); transform: translateX(20px); }
}
@keyframes signalGridBreak {
  0%, 24%, 39%, 69%, 84%, 100% { transform: none; opacity: 1; }
  28% { transform: translate(18px, -4px); opacity: .65; }
  33% { transform: translate(-10px, 3px); opacity: .9; }
  73% { transform: translate(-16px, 5px); opacity: .6; }
  78% { transform: translate(8px, -2px); opacity: 1; }
}
@keyframes signalStatusGlitch {
  0%, 34%, 50%, 100% { transform: none; text-shadow: none; }
  38% { transform: translate(7px, 1px); text-shadow: -3px 0 #24daff; }
  44% { transform: translate(-4px, -1px); text-shadow: 3px 0 #ed59cc; }
}
@keyframes signalCoreBreak {
  0%, 74%, 100% { opacity: .45; transform: translateX(-50%) scaleX(.72); }
  76% { opacity: 1; transform: translateX(calc(-50% + 18px)) scaleX(1.16); }
  79% { opacity: .28; transform: translateX(calc(-50% - 11px)) scaleX(.84); }
  82% { opacity: .86; transform: translateX(-50%) scaleX(1); }
}
@keyframes signalGlowGlitch {
  0%, 76%, 100% { opacity: .54; transform: translate(-50%, -50%) scaleX(.94); }
  78% { opacity: .88; transform: translate(calc(-50% + 20px), -50%) scaleX(1.08); }
  81% { opacity: .26; transform: translate(calc(-50% - 14px), -50%) scaleX(.86); }
  84% { opacity: .72; transform: translate(calc(-50% + 7px), -50%) scaleX(1); }
}
@keyframes signalBrushPulse {
  0%, 79%, 100% { transform: rotate(-2deg) translateX(0); filter: drop-shadow(0 0 14px rgba(7,87,255,.28)); }
  81% { transform: rotate(-2deg) translateX(8px); filter: drop-shadow(-5px 0 rgba(255,255,255,.32)); }
  84% { transform: rotate(-2deg) translateX(-5px); }
}
@keyframes signalRailPulse {
  0%, 28%, 57%, 83%, 100% { opacity: .65; transform: none; }
  14%, 67% { opacity: 1; transform: translateY(-4px); }
  22%, 76% { opacity: .5; transform: translateY(3px); }
}
@keyframes signalBurst {
  0%, 74%, 100% { opacity: .38; transform: translateX(0) scaleX(.76); }
  76% { opacity: 1; transform: translateX(12px) scaleX(1.16); }
  80% { opacity: .52; transform: translateX(-8px) scaleX(.88); }
}
@keyframes signalFragments {
  0%, 77%, 100% { opacity: .4; transform: translateX(-50%) scaleX(.86); }
  79% { opacity: .96; transform: translateX(calc(-50% + 16px)) scaleX(1.04); }
  83% { opacity: .58; transform: translateX(calc(-50% - 10px)) scaleX(.94); }
}
@keyframes signalScan {
  from { transform: translateX(0) skewX(-18deg); }
  to { transform: translateX(1000%) skewX(-18deg); }
}
@media (max-width: 900px) {
  .signal-divider { height: 290px; }
  .signal-side { width: 70%; }
  .signal-side code { display: none; }
  .signal-side b { font-size: 8px; }
  .signal-side::before { top: 18px; }
  .signal-lockup { width: 600px; }
  .signal-lockup::before {
    width: 470px;
    height: 142px;
  }
  .signal-heading-404 { font-size: 104px; }
  .signal-heading-error { font-size: 78px; }
}
@media (max-width: 620px) {
  .signal-divider { height: 220px; }
  .signal-grid { background-size: 58px 58px; }
  .signal-matrix span:not(:nth-child(3n+1)) { display: none; }
  .signal-side {
    top: 43px;
    width: auto;
    transform: none;
  }
  .signal-side-left { left: 15px; }
  .signal-side-right { right: 15px; }
  .signal-side b { font-size: 6px; }
  .signal-side::before,
  .signal-side::after,
  .signal-side code { display: none; }
  .signal-rail { top: 57%; }
  .signal-burst { top: calc(57% - 7px); }
  .signal-burst-a { left: 2%; width: 66px; }
  .signal-burst-b { left: 62%; width: 42px; }
  .signal-burst-c { right: 60%; width: 48px; }
  .signal-burst-d { right: 2%; width: 68px; }
  .signal-fragments {
    top: calc(57% - 14px);
    width: 100%;
    height: 32px;
  }
  .signal-lockup {
    top: 53%;
    width: 100%;
    padding-inline: 12px;
  }
  .signal-lockup::before {
    width: 330px;
    height: 118px;
    filter: blur(15px);
  }
  .signal-heading-404 { font-size: 66px; }
  .signal-heading-error {
    margin-top: 10px;
    font-size: 49px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .signal-matrix { display: none; }
  .signal-divider,
  .signal-divider::before,
  .signal-divider::after,
  .signal-divider *,
  .signal-divider *::before,
  .signal-divider *::after {
    animation: none !important;
    transition: none !important;
  }
}

.home-base {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 390px);
  gap: clamp(34px, 5vw, 78px);
  padding: 78px clamp(22px, 7vw, 92px);
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(180deg, var(--bg), transparent 140px),
    radial-gradient(circle at 26% 24%, rgba(7,87,255,.18), transparent 34rem),
    linear-gradient(180deg, #02040a, #050b14);
  overflow: hidden;
}
.home-base::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(7,87,255,.12) 0 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.035) 0 1px, transparent 1px);
  background-size: 96px 96px;
  opacity: .28;
  mask-image: linear-gradient(180deg, transparent, #000 20%, #000 78%, transparent);
}
.home-copy {
  position: relative;
  z-index: 2;
  align-self: center;
  grid-column: 2;
  grid-row: 1;
}
.home-copy h2,
.video-copy h2,
.spotlight-copy h2 {
  max-width: 420px;
  font-size: clamp(54px, 5.8vw, 86px);
  line-height: .9;
  font-style: italic;
}
.home-copy p,
.video-copy p,
.spotlight-copy p {
  max-width: 360px;
  color: var(--muted);
  line-height: 1.75;
}
.home-gallery {
  position: relative;
  z-index: 2;
  display: grid;
  grid-column: 1;
  grid-row: 1;
  grid-template-columns: .85fr 1.25fr;
  grid-template-rows: repeat(2, minmax(180px, 1fr));
  gap: 14px;
  min-height: 520px;
}
.home-shot {
  position: relative;
  min-width: 0;
  min-height: 0;
  margin: 0;
  border: 1px solid rgba(255,255,255,.14);
  background: #03060c;
  overflow: hidden;
  box-shadow: 0 24px 72px rgba(0,0,0,.34);
}
.home-shot-main {
  grid-column: 2;
  grid-row: 1 / span 2;
}
.home-shot-light-top {
  grid-column: 1;
  grid-row: 1;
}
.home-shot-light-bottom {
  grid-column: 1;
  grid-row: 2;
}
.home-shot::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.54)),
    linear-gradient(135deg, rgba(7,87,255,.18), transparent 46%);
}
.home-shot img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(1.04) contrast(1.06) brightness(.86);
  transition: transform .35s ease, filter .35s ease;
}
.home-shot:hover img {
  transform: scale(1.025);
  filter: saturate(1.1) contrast(1.06) brightness(.92);
}
.home-base-cta {
  margin-top: 18px;
}
.creators {
  position: relative;
  min-height: 720px;
  padding: 88px clamp(22px, 7vw, 92px) 72px;
  background:
    linear-gradient(180deg, rgba(2,4,10,.95), rgba(2,4,10,.72) 45%, #02040a),
    #02040a;
  overflow: hidden;
}
.creator-hero {
  position: absolute;
  inset: 0 auto 0 0;
  width: 58%;
  background:
    linear-gradient(90deg, rgba(2,4,10,.04), rgba(2,4,10,.48) 58%, #02040a 94%),
    linear-gradient(180deg, rgba(2,4,10,.1), #02040a 96%),
    url("assets/pr0xy.webp") center 28% / cover no-repeat;
  filter: contrast(1.05) saturate(.96);
  opacity: .74;
}
.creator-heading { position: relative; z-index: 2; max-width: 520px; margin-left: 55%; padding-top: 6px; }
.creator-heading h2 { font-size: clamp(54px, 6vw, 86px); line-height: .9; font-style: italic; }
.creator-cards {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.15fr 1fr 1fr;
  gap: 18px;
  margin-top: 68px;
}
.creator-card {
  position: relative;
  min-width: 0;
  min-height: 314px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.14);
  background: #050b14;
  box-shadow: 0 22px 60px rgba(0,0,0,.34);
  overflow: hidden;
  isolation: isolate;
  transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}
.creator-card-profile-link {
  position: relative;
  z-index: 2;
  min-height: inherit;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: end;
}
.creator-card-profile-link:focus-visible { outline: 3px solid rgba(122,184,255,.9); outline-offset: -4px; }
.creator-card:hover {
  transform: translateY(-4px);
  border-color: rgba(122,184,255,.58);
  box-shadow: 0 26px 68px rgba(0,0,0,.42), 0 0 18px rgba(7,87,255,.14);
}
.creator-card .avatar {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 24%;
  opacity: .94;
  transform: scale(1.01);
  transition: transform .34s ease, filter .34s ease, opacity .34s ease;
  filter: saturate(.92) brightness(.76) contrast(1.1);
}
.creator-card .avatar[src*="creator-ginamylenia"] { object-position: center 50%; }
.creator-card:hover .avatar {
  transform: scale(1.045);
  filter: saturate(1.04) brightness(.86) contrast(1.12);
}
.creator-cards .creator-pr0xy .avatar {
  object-position: center;
  transform: translateY(-7px) scale(1.03);
}
.creator-cards .creator-pr0xy:hover .avatar {
  transform: translateY(-7px) scale(1.08);
}
.creator-cards .creator-stellfine .avatar {
  object-position: center 34%;
  transform: translateY(35px) scale(1.22);
}
.creator-cards .creator-stellfine:hover .avatar {
  transform: translateY(43px) scale(1.27);
}
.creator-cards .creator-gina .avatar { object-position: center 62%; }
.creator-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(0,0,0,.04) 20%, rgba(0,0,0,.2) 46%, rgba(1,4,10,.96) 100%),
    linear-gradient(120deg, rgba(7,87,255,.16), transparent 42%);
}
.creator-cards strong, .creator-cards small, .creator-cards .card-play, .creator-eyebrow { position: relative; z-index: 3; }
.creator-cards strong { max-width: calc(100% - 52px); font: italic 34px/.9 var(--cond); text-transform: uppercase; }
.creator-cards .creator-card-long-name strong { max-width: calc(100% - 42px); font-size: 25px; }
.creator-cards small { max-width: calc(100% - 52px); color: #dbe2ec; font-size: 12px; font-weight: 800; text-transform: uppercase; }
.creator-cards .card-play {
  position: absolute;
  right: 14px;
  bottom: 18px;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid rgba(255,255,255,.62);
  border-radius: 50%;
  background: rgba(2,6,14,.66);
  color: #fff;
  font-size: 11px;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.creator-card:hover .card-play {
  transform: translateX(2px);
  background: var(--blue);
  border-color: rgba(255,255,255,.9);
}

.creator-feature-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  z-index: 3;
  height: 2px;
  background: linear-gradient(90deg, var(--blue), rgba(0,140,255,.28) 64%, transparent);
  opacity: .7;
  pointer-events: none;
}
.creator-eyebrow {
  position: absolute;
  inset: 18px auto auto 18px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  padding: 6px 9px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(2,6,14,.68);
  color: #dbe7f5;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  backdrop-filter: blur(8px);
}
.creator-eyebrow i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--blue2);
}
.creator-live-home {
  position: absolute;
  z-index: 4;
  top: 18px;
  right: 18px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 9px;
  border: 1px solid rgba(255,48,79,.64);
  background: rgba(2,6,14,.82);
  color: #fff;
  font-size: 10px;
  font-weight: 950;
  text-transform: uppercase;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.creator-live-home:hover { transform: translateY(-2px); border-color: #ff5d74; background: #b60d2a; }
.creator-live-home:focus-visible { outline: 3px solid rgba(255,121,140,.9); outline-offset: 3px; }
.creator-live-home i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #ff304f;
  box-shadow: 0 0 12px #ff304f;
}
.creator-live-home[hidden] { display: none; }
.news {
  position: relative;
  display: grid;
  grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
  gap: clamp(36px, 6vw, 88px);
  align-items: start;
  padding: 78px clamp(22px, 7vw, 92px) 84px;
  background:
    radial-gradient(circle at 84% 12%, rgba(7,87,255,.2), transparent 28rem),
    linear-gradient(180deg, #02040a 0%, #060b13 48%, #02040a 100%);
  overflow: hidden;
}
.news::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(7,87,255,.14), transparent 18%, transparent 82%, rgba(7,87,255,.1)),
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: auto, 100% 52px;
  opacity: .62;
}
.news-head {
  position: sticky;
  top: 118px;
  z-index: 1;
}
.news-head h2 {
  max-width: 330px;
  font-size: clamp(54px, 5.8vw, 84px);
  line-height: .9;
  font-style: italic;
}
.news-head h2 span {
  max-width: 300px;
  font-size: clamp(38px, 4vw, 62px);
}
.news-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.news-card {
  position: relative;
  min-height: 276px;
  border: 1px solid rgba(255,255,255,.14);
  background: #07101b;
  overflow: hidden;
  box-shadow: 0 24px 70px rgba(0,0,0,.36);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.news-card-feature {
  grid-column: span 2;
  min-height: 380px;
}
.news-card a {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.news-card img {
  display: block;
  width: 100%;
  height: 100%;
}
.news-card img {
  position: absolute;
  inset: 0;
  object-fit: cover;
  object-position: center;
  opacity: .98;
  filter: saturate(1.02) contrast(1.02);
  transform: scale(1.02);
  transition: transform .28s ease, opacity .28s ease, filter .28s ease;
}
.news-card:nth-child(2) img { object-position: center 18%; }
.news-card:nth-child(3) img { object-position: center; }
.news-card:nth-child(4) img { object-position: center 34%; }
.news-card a::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 0%, rgba(2,4,10,.04) 34%, rgba(2,4,10,.7) 68%, rgba(2,4,10,.98) 100%);
}
.news-content {
  position: absolute;
  inset: auto 18px 18px;
  z-index: 1;
}
.news-content time {
  display: inline-flex;
  margin-bottom: 14px;
  padding: 5px 8px;
  color: #fff;
  background: rgba(7,87,255,.78);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .7px;
}
.news-content strong {
  display: block;
  max-width: 520px;
  font: italic clamp(28px, 3.2vw, 46px)/.92 var(--cond);
  text-transform: uppercase;
}
.news-card:not(.news-card-feature) .news-content strong {
  font-size: 30px;
}
.news-content p {
  max-width: 520px;
  margin: 12px 0 0;
  color: #c7d0dc;
  font-size: 14px;
  line-height: 1.6;
}
.news-card:hover {
  transform: translateY(-4px);
  border-color: rgba(54,126,255,.68);
  box-shadow: 0 26px 72px rgba(0,0,0,.42), 0 0 18px rgba(7,87,255,.12);
}
.news-card:hover img {
  opacity: 1;
  transform: scale(1.035);
  filter: saturate(1.08) contrast(1.04);
}

.video-section {
  position: relative;
  display: grid;
  grid-template-columns: minmax(260px, 350px) minmax(0, 1fr);
  gap: clamp(34px, 5vw, 72px);
  align-items: center;
  padding: 72px clamp(22px, 7vw, 92px);
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(circle at 86% 12%, rgba(7,87,255,.2), transparent 30rem),
    linear-gradient(180deg, #02040a, #030812);
}
.video-frame {
  position: relative;
  min-width: 0;
  width: min(100%, 860px);
  justify-self: end;
  aspect-ratio: 16 / 9;
  border: 1px solid rgba(110,180,255,.28);
  background:
    linear-gradient(135deg, rgba(7,87,255,.14), transparent 42%),
    #03060c;
  box-shadow: 0 28px 88px rgba(0,0,0,.46), 0 0 34px rgba(7,87,255,.12);
  overflow: hidden;
}
.video-frame::before {
  content: "";
  position: absolute;
  inset: -1px;
  z-index: 1;
  pointer-events: none;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: inset 0 0 42px rgba(7,87,255,.12);
}
.video-frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.community {
  display: grid;
  grid-template-columns: minmax(300px, 390px) minmax(0, 1fr);
  gap: clamp(44px, 6vw, 92px);
  padding: 76px clamp(22px, 7vw, 92px);
  align-items: center;
  background:
    radial-gradient(circle at 88% 18%, rgba(7,87,255,.16), transparent 27rem),
    linear-gradient(180deg, #02040a, #050b14);
}
.community-copy h2 {
  max-width: 390px;
  font-size: clamp(52px, 5.2vw, 82px);
}
.community-copy h2 span {
  max-width: 360px;
  font-size: clamp(38px, 3.8vw, 58px);
  white-space: normal;
}
.community-copy p {
  max-width: 330px;
  margin: 28px 0 24px;
}
.community-visual {
  position: relative;
  display: grid;
  width: min(100%, 840px);
  justify-self: end;
  align-self: center;
  min-width: 0;
  aspect-ratio: 16 / 10;
  border: 1px solid rgba(110,180,255,.24);
  border-radius: 4px;
  overflow: hidden;
  background: #07101b;
  box-shadow: 0 28px 90px rgba(0,0,0,.48);
  transform: translateY(0) scale(1);
  transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}
.community-discord {
  grid-template-columns: minmax(190px, 30%) minmax(0, 1fr);
  gap: 0;
  padding: 0;
  isolation: isolate;
  background: #1e1f22;
}
.community-discord::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 3px;
  background: linear-gradient(90deg, #0757ff 0 30%, #5865f2 30% 100%);
}
.discord-sidebar {
  min-width: 0;
  display: grid;
  align-content: start;
  background: #1e1f22;
  color: #949ba4;
}
.discord-server {
  min-width: 0;
  min-height: 58px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-bottom: 1px solid #111214;
  box-shadow: 0 1px 0 rgba(0,0,0,.22);
}
.discord-server-logo,
.discord-news-avatar {
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(126,180,255,.25);
  background: #0757ff;
}
.discord-server-logo img,
.discord-news-avatar img {
  width: 25px;
  height: 19px;
  object-fit: contain;
}
.discord-server strong {
  min-width: 0;
  overflow: hidden;
  color: #f2f3f5;
  font-size: 13px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.discord-server > b { margin-left: auto; color: #b5bac1; }
.discord-sidebar-group {
  display: grid;
  gap: 5px;
  padding: 15px 10px 2px;
}
.discord-sidebar-group > small {
  padding: 0 7px 3px;
  color: #777e88;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .6px;
  text-transform: uppercase;
}
.discord-sidebar-group > span {
  min-height: 28px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 8px;
  color: #949ba4;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}
.discord-dot {
  flex: 0 0 9px;
  width: 9px;
  height: 9px;
  background: #0757ff;
}
.discord-dot.is-diamond { transform: rotate(45deg) scale(.82); }
.discord-dot.is-online { border-radius: 50%; background: #3ba55d; }
.discord-channels > span i {
  width: 13px;
  color: #6d7480;
  font-style: normal;
  font-size: 14px;
  font-weight: 900;
  text-align: center;
}
.discord-channels > span.is-active {
  background: #35373c;
  color: #fff;
}
.discord-channels > span.is-active i { color: #ff375f; }
.discord-main {
  min-width: 0;
  display: grid;
  grid-template-rows: 58px minmax(0, 1fr);
  background: #313338;
  color: #dbdee1;
}
.discord-toolbar {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 18px;
  border-bottom: 1px solid #202225;
  box-shadow: 0 1px 0 rgba(0,0,0,.18);
}
.discord-toolbar strong {
  color: #f2f3f5;
  font-size: 14px;
  white-space: nowrap;
}
.discord-toolbar strong i { color: #80848e; font-style: normal; }
.discord-toolbar > small {
  min-width: 0;
  overflow: hidden;
  color: #949ba4;
  font-size: 10px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.discord-toolbar-action {
  margin-left: auto;
  color: #8ab7ff;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  white-space: nowrap;
}
.discord-toolbar-action span { display: inline-block; transition: transform .22s ease; }
.discord-feed {
  min-height: 0;
  display: grid;
  align-content: start;
  gap: 13px;
  padding: clamp(20px, 2.4vw, 30px);
  overflow: hidden;
  background:
    linear-gradient(90deg, transparent 0 97%, rgba(255,255,255,.025) 97%),
    #313338;
}
.discord-message-head {
  display: flex;
  gap: 10px;
  align-items: center;
}
.discord-news-avatar { flex-basis: 38px; width: 38px; height: 38px; border-radius: 50%; }
.discord-message-head > span:last-child { display: grid; gap: 2px; }
.discord-message-head strong { color: #fff; font-size: 12px; font-weight: 900; }
.discord-message-head small { color: #949ba4; font-size: 9px; }
.discord-post { display: grid; gap: 5px; padding-left: 48px; }
.discord-post small {
  color: #8ab7ff;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .5px;
  text-transform: uppercase;
}
.discord-post strong { color: #fff; font: 23px/1 var(--cond); text-transform: uppercase; }
.discord-post > span { color: #c7cbd1; font-size: 11px; line-height: 1.45; }
.discord-announcement {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(108px, 148px) minmax(0, 1fr);
  margin-left: 48px;
  border-left: 3px solid #0757ff;
  background: #29261f;
  overflow: hidden;
}
.discord-announcement > img {
  width: 100%;
  height: 100%;
  min-height: 105px;
  object-fit: cover;
  object-position: 65% center;
}
.discord-announcement > span {
  display: grid;
  align-content: center;
  gap: 5px;
  padding: 13px;
}
.discord-announcement small { color: #949ba4; font-size: 8px; font-weight: 900; text-transform: uppercase; }
.discord-announcement strong { color: #f2f3f5; font-size: 12px; line-height: 1.35; }
.discord-announcement b { color: #8ab7ff; font-size: 9px; text-transform: uppercase; }
.discord-reactions {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-left: 48px;
  padding-top: 4px;
  color: #949ba4;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
}
.community-visual:hover {
  transform: translateY(-3px);
  border-color: rgba(54,126,255,.68);
  box-shadow: 0 30px 82px rgba(0,0,0,.52), 0 0 18px rgba(7,87,255,.12);
}
.community-visual:hover .discord-toolbar-action span {
  transform: translateX(4px);
}
.community-discord-image {
  display: block;
  aspect-ratio: 943 / 594;
  background: #050b14;
}
.community-discord-image::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: #0757ff;
  mix-blend-mode: color;
  opacity: .14;
  transition: opacity .24s ease;
}
.community-discord-image::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(2,4,10,.02) 46%, rgba(2,4,10,.78) 100%);
  box-shadow: inset 0 -3px 0 #0757ff;
}
.community-discord-image > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.001);
  filter: saturate(1.02) contrast(1.03) brightness(.98);
  transition: transform .3s ease, filter .3s ease;
}
.discord-image-caption {
  position: absolute;
  z-index: 3;
  left: 22px;
  right: 22px;
  bottom: 18px;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: end;
  color: #fff;
  text-transform: uppercase;
}
.discord-image-caption strong { font: 24px/1 var(--cond); }
.discord-image-caption b { color: #8fc2ff; font-size: 10px; font-weight: 900; white-space: nowrap; }
.discord-image-caption b span { display: inline-block; transition: transform .22s ease; }
.community-discord-image:hover::before { opacity: .07; }
.community-discord-image:hover > img { transform: scale(1.025); filter: saturate(1.08) contrast(1.05) brightness(1.04); }
.community-discord-image:hover .discord-image-caption b span { transform: translateX(4px); }
@media (max-width: 1120px) {
  .community { grid-template-columns: 1fr; }
  .community-visual { width: min(100%, 840px); justify-self: start; }
}
@media (max-width: 620px) {
  .community-discord-image {
    min-height: 270px;
    aspect-ratio: auto;
  }
  .community-discord-image > img { object-position: center; }
  .discord-image-caption { left: 16px; right: 16px; bottom: 14px; }
  .discord-image-caption strong { font-size: 20px; }
  .community-discord {
    grid-template-columns: 1fr;
    grid-template-rows: 54px minmax(0, 1fr);
    min-height: 430px;
    aspect-ratio: auto;
  }
  .discord-sidebar { display: block; }
  .discord-server { min-height: 54px; }
  .discord-stats, .discord-channels { display: none; }
  .discord-main { grid-template-rows: 48px minmax(0, 1fr); }
  .discord-toolbar { padding-inline: 14px; }
  .discord-toolbar > small { display: none; }
  .discord-feed { gap: 11px; padding: 16px; }
  .discord-post { padding-left: 0; }
  .discord-post strong { font-size: 22px; }
  .discord-post > span { font-size: 10px; }
  .discord-announcement { grid-template-columns: 94px minmax(0, 1fr); margin-left: 0; }
  .discord-announcement > img { min-height: 94px; }
  .discord-announcement > span { padding: 10px; }
  .discord-announcement strong { font-size: 10px; }
  .discord-reactions { margin-left: 0; font-size: 8px; }
  .discord-reactions span:last-child { display: none; }
}

.shop {
  position: relative;
  display: grid;
  grid-template-columns: minmax(260px, 330px) minmax(0, 1fr);
  gap: clamp(48px, 6vw, 96px);
  align-items: start;
  padding: 88px clamp(22px, 7vw, 92px) 92px;
  border-top: 1px solid rgba(110,180,255,.14);
  background: linear-gradient(180deg, #050b14, #02040a);
  overflow: hidden;
}
.shop-copy {
  max-width: 330px;
}
.shop-copy h2 {
  max-width: 330px;
}
.shop-copy h2 span {
  max-width: 330px;
  font-size: clamp(32px, 3vw, 48px);
  white-space: nowrap;
}
.shop-copy h2 span::after {
  width: 270px;
}
.shop-copy > p:not(.kicker) {
  margin: 28px 0 24px;
}
.shop-copy .btn {
  margin-top: 0;
}
.shop-note {
  display: block;
  margin-top: 15px;
  color: #778494;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .5px;
  text-transform: uppercase;
}
.products {
  position: relative;
  z-index: 1;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(16px, 2.2vw, 30px);
  align-items: start;
}
.product-card {
  min-width: 0;
  display: grid;
  gap: 15px;
  color: #fff;
  transition: transform .24s ease;
}
.item {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  border: 1px solid rgba(110,180,255,.16);
  background: linear-gradient(145deg, #0b1421, #050910 68%);
  position: relative;
  overflow: hidden;
  box-shadow: 0 24px 64px rgba(0,0,0,.34);
  transition: border-color .24s ease, box-shadow .24s ease;
}
.item img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  object-position: center;
  transform: scale(1.01);
  transition: transform .34s ease, filter .34s ease, opacity .34s ease;
}
.product-card:hover .item img {
  transform: scale(1.035);
  filter: saturate(1.05) contrast(1.03);
}
.item::before {
  content: attr(data-tag);
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 1;
  padding: 5px 8px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(2,7,15,.82);
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .7px;
}
.product-card:hover { transform: translateY(-4px); }
.product-card:hover .item {
  border-color: rgba(76,143,255,.66);
  box-shadow: 0 28px 70px rgba(0,0,0,.42), 0 0 18px rgba(7,87,255,.1);
}
.product-meta {
  display: grid;
  gap: 5px;
}
.product-meta strong {
  min-height: 42px;
  font: 22px/1 var(--cond);
  text-transform: uppercase;
}
.product-meta small {
  color: #8794a4;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .7px;
  text-transform: uppercase;
}
.product-meta b {
  color: #8fc2ff;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.partner-spotlight {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(310px, .85fr);
  gap: clamp(34px, 5vw, 78px);
  align-items: center;
  padding: 82px clamp(22px, 7vw, 92px);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(circle at 14% 18%, rgba(7,87,255,.2), transparent 32rem),
    linear-gradient(180deg, #030812, #02040a);
  overflow: hidden;
}
.spotlight-media {
  position: relative;
  min-height: 470px;
  border: 1px solid rgba(110,180,255,.22);
  background: #03060c;
  box-shadow: 0 28px 92px rgba(0,0,0,.48), 0 0 34px rgba(7,87,255,.12);
  overflow: hidden;
}
.spotlight-media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(0,0,0,.04), rgba(0,0,0,.58)),
    linear-gradient(180deg, transparent, rgba(2,4,10,.5));
}
.spotlight-aivo {
  display: grid;
  place-items: center;
  isolation: isolate;
  background:
    linear-gradient(90deg, rgba(7,87,255,.14) 0 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.045) 0 1px, transparent 1px),
    radial-gradient(circle at 50% 50%, rgba(7,87,255,.32), transparent 22rem),
    linear-gradient(135deg, #050b15, #02040a 68%);
  background-size: 82px 82px, 82px 82px, auto, auto;
}
.spotlight-aivo::before {
  content: "";
  position: absolute;
  inset: 14px;
  border: 1px solid rgba(110,180,255,.2);
  background:
    linear-gradient(135deg, transparent 0 48%, rgba(7,87,255,.18) 49% 51%, transparent 52%),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.08), transparent 26rem);
  z-index: 0;
}
.spotlight-aivo::after {
  z-index: 2;
  background:
    radial-gradient(circle at 50% 50%, transparent, rgba(2,4,10,.56) 72%),
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(2,4,10,.42));
}
.spotlight-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(1.1) contrast(1.08) brightness(.96);
  transition: transform .35s ease, filter .35s ease;
}
.partner-spotlight:hover .spotlight-media img {
  transform: scale(1.045);
  filter: saturate(1.18) contrast(1.08) brightness(.94);
}
.spotlight-aivo img {
  position: relative;
  z-index: 1;
  width: min(72%, 440px);
  height: auto;
  max-height: 170px;
  object-fit: contain;
  filter: brightness(1.18) drop-shadow(0 0 22px rgba(7,87,255,.35));
}
.partner-spotlight:hover .spotlight-aivo img {
  transform: scale(1.035);
  filter: brightness(1.24) drop-shadow(0 0 30px rgba(7,87,255,.46));
}
.spotlight-aivo-shot {
  background: #02040a;
}
.spotlight-aivo-shot::after {
  display: none;
}
.spotlight-aivo-shot img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(1.04) contrast(1.02) brightness(1);
}
.partner-spotlight:hover .spotlight-aivo-shot img {
  transform: scale(1.045);
  filter: saturate(1.08) contrast(1.04) brightness(1.03);
}
.spotlight-copy {
  position: relative;
  z-index: 2;
}
.spotlight-logo {
  display: block;
  width: min(250px, 70%);
  max-height: 78px;
  margin: 0 0 26px;
  object-fit: contain;
  object-position: left center;
  filter: brightness(1.12) drop-shadow(0 0 18px rgba(7,87,255,.22));
}
.spotlight-points {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 26px 0 28px;
}
.spotlight-points span {
  padding: 8px 10px;
  border: 1px solid rgba(110,180,255,.22);
  background: rgba(7,87,255,.1);
  color: #dfe8f4;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .7px;
  text-transform: uppercase;
}

.partners {
  --partner-gap: 18px;
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 24px;
  align-items: center;
  padding: 24px clamp(22px, 7vw, 92px);
  background: linear-gradient(90deg, rgba(2,4,10,.98), rgba(7,87,255,.07), rgba(2,4,10,.98));
  overflow: hidden;
}
.partners span { color: var(--blue); }
.partner-overview-link {
  min-width: 150px;
  justify-self: start;
}
.partner-slider {
  min-width: 0;
  overflow: hidden;
  padding-block: 9px;
  margin-block: -9px;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}
.partner-track {
  width: max-content;
  display: flex;
  align-items: center;
  will-change: transform;
}
body.js-enabled .partner-track.is-ready { animation: partnerSlide 28s linear infinite; }
.partner-slider:hover .partner-track { animation-play-state: paused; }
.partner-group {
  display: flex;
  flex: 0 0 auto;
  gap: var(--partner-gap);
  padding-right: var(--partner-gap);
  align-items: center;
}
.partner-logo {
  position: relative;
  display: grid;
  width: clamp(212px, 16vw, 272px);
  height: 92px;
  place-items: center;
  padding: 14px 20px;
  opacity: .9;
  border: 1px solid rgba(54,126,255,.42);
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.015)),
    rgba(5,12,24,.72);
  box-shadow: 0 16px 44px rgba(0,0,0,.24), inset 0 0 0 1px rgba(7,87,255,.12);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, opacity .2s ease;
}
.partner-logo img {
  display: block;
  width: 204px;
  height: 64px;
  object-fit: contain;
  object-position: center;
  filter: saturate(.95) brightness(1.1) contrast(1.06);
  opacity: .92;
  transition: filter .2s ease, opacity .2s ease, transform .2s ease;
}
.partner-logo[aria-label="puremotion media"] img {
  width: 126px;
  height: 42px;
}
.partner-logo[aria-label="Ostsächsische Sparkasse Dresden"] img,
.partner-logo[aria-label="FORTY FOUR"] img {
  position: relative;
  top: -8px;
}
.partner-logo[aria-label="Ostsächsische Sparkasse Dresden"] img {
  width: 236px;
  height: 74px;
}
.partner-logo[aria-label="FORTY FOUR"] img {
  width: 244px;
  height: 76px;
}
@media (max-width: 980px) {
  .partner-logo[aria-label="Ostsächsische Sparkasse Dresden"] img { width: 214px; height: 68px; }
  .partner-logo[aria-label="FORTY FOUR"] img { width: 222px; height: 70px; }
}
@media (max-width: 620px) {
  .partner-logo[aria-label="Ostsächsische Sparkasse Dresden"] img { width: 194px; height: 62px; top: -5px; }
  .partner-logo[aria-label="FORTY FOUR"] img { width: 200px; height: 64px; top: -5px; }
}
.partner-logo:hover {
  transform: translateY(-2px);
  border-color: rgba(54,126,255,.56);
  box-shadow: 0 18px 46px rgba(0,0,0,.3), 0 0 16px rgba(7,87,255,.1), inset 0 0 0 1px rgba(7,87,255,.12);
  opacity: 1;
}
.partner-logo:hover img {
  filter: saturate(1.06) brightness(1.16) contrast(1.06);
  opacity: 1;
  transform: scale(1.025);
}
.partner-text-logo strong { color: #f7faff; font: italic 900 clamp(28px, 3vw, 40px)/1 var(--cond); text-transform: uppercase; }
@keyframes partnerSlide {
  to { transform: translateX(calc(-1 * var(--partner-slide-distance, 1240px))); }
}

.team-lol { --team-bg: url("assets/lol.webp"); --team-accent: #0ac8b9; }
.team-valorant { --team-bg: url("assets/valo.webp"); --team-accent: #ff4655; }
.team-cs2 { --team-bg: url("assets/cs2.webp"); --team-accent: #f1a51d; }
.team-overwatch { --team-bg: url("assets/ow.webp"); --team-accent: #f99e1a; }
.team-r6 { --team-bg: url("assets/r6s.webp"); --team-accent: #4fb5ff; }
.team-rl { --team-bg: url("assets/rl.webp"); --team-accent: #00a4ff; }
.team-page {
  background:
    radial-gradient(circle at 16% 0%, rgba(7,87,255,.18), transparent 32rem),
    radial-gradient(circle at 86% 20%, color-mix(in srgb, var(--team-accent) 22%, transparent), transparent 28rem),
    #02040a;
}
.team-hero {
  position: relative;
  min-height: 680px;
  display: grid;
  align-items: end;
  padding: 150px clamp(22px, 7vw, 92px) 70px;
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(90deg, rgba(0,0,0,.96) 0%, rgba(2,4,10,.82) 42%, rgba(2,4,10,.44) 72%, rgba(0,0,0,.82) 100%),
    linear-gradient(0deg, #02040a 0%, rgba(2,4,10,0) 36%),
    var(--team-bg) center / cover no-repeat;
  overflow: hidden;
}
.team-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 72% 30%, color-mix(in srgb, var(--team-accent) 32%, transparent), transparent 24rem),
    linear-gradient(90deg, rgba(7,87,255,.1) 0 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.025) 0 1px, transparent 1px);
  background-size: auto, 90px 90px, 90px 90px;
  opacity: .72;
}
.team-hero-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(280px, 650px) minmax(240px, 420px);
  gap: clamp(36px, 6vw, 92px);
  align-items: end;
}
.team-title {
  max-width: 720px;
  font-size: clamp(80px, 9vw, 146px);
}
.team-lede {
  max-width: 560px;
  margin: 26px 0 28px;
  color: #c4ccd8;
  font-size: 15px;
  font-weight: 750;
  line-height: 1.75;
  text-transform: uppercase;
}
.team-switcher {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  max-width: 760px;
}
.team-switcher a {
  display: grid;
  min-height: 42px;
  place-items: center;
  border: 1px solid rgba(110,180,255,.18);
  background: rgba(4,10,20,.72);
  color: #d9e4f2;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .7px;
  text-transform: uppercase;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.team-switcher a:hover,
.team-switcher a.is-current {
  transform: translateY(-3px);
  border-color: color-mix(in srgb, var(--team-accent) 72%, #0757ff);
  background: rgba(7,87,255,.22);
  box-shadow: 0 18px 42px rgba(0,0,0,.34), 0 0 22px color-mix(in srgb, var(--team-accent) 28%, transparent);
}
.team-identity {
  display: grid;
  gap: 22px;
  justify-items: end;
}
.team-logo-card {
  width: min(100%, 420px);
  min-height: 300px;
  display: grid;
  place-items: center;
  padding: 34px;
  border: 1px solid rgba(110,180,255,.22);
  background:
    radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--team-accent) 30%, transparent), transparent 62%),
    linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.02)),
    rgba(4,10,20,.78);
  box-shadow: 0 30px 90px rgba(0,0,0,.48), inset 0 0 0 1px rgba(7,87,255,.08);
}
.team-game-logo {
  display: block;
  width: min(100%, 310px);
  max-height: 180px;
  object-fit: contain;
  filter: brightness(1.2) contrast(1.08) drop-shadow(0 0 28px rgba(7,87,255,.52));
}
.team-game-logo.league-logo {
  width: min(100%, 370px);
  max-height: 210px;
  filter: brightness(1.18) contrast(1.08) drop-shadow(0 0 28px rgba(7,87,255,.34));
}
.team-side-stats {
  width: min(100%, 420px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.team-side-stats span {
  min-height: 78px;
  display: grid;
  align-content: center;
  padding: 12px;
  border: 1px solid rgba(110,180,255,.16);
  background: rgba(5,12,24,.76);
  color: #dbe5f1;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}
.team-side-stats strong {
  display: block;
  color: #fff;
  font: italic 30px/.85 var(--cond);
}
.team-roster-section {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  padding: 76px clamp(22px, 7vw, 92px);
  background:
    radial-gradient(circle at 88% 10%, color-mix(in srgb, var(--team-accent) 18%, transparent), transparent 30rem),
    linear-gradient(180deg, #02040a, #050b14);
}
.team-panel {
  position: relative;
  min-width: 0;
  border: 1px solid rgba(110,180,255,.16);
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.015)),
    rgba(5,12,24,.82);
  box-shadow: 0 26px 78px rgba(0,0,0,.36), inset 0 0 0 1px rgba(7,87,255,.05);
}
.team-entry {
  align-self: start;
  padding: 28px;
}
.team-entry h2 {
  font-size: clamp(52px, 5vw, 76px);
  line-height: .9;
  font-style: italic;
}
.team-entry p {
  color: var(--muted);
  line-height: 1.65;
}
.player-form {
  display: grid;
  gap: 14px;
  margin-top: 24px;
}
.form-grid {
  display: grid;
  gap: 12px;
}
.player-form label {
  display: grid;
  gap: 8px;
  color: #dbe5f1;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .7px;
  text-transform: uppercase;
}
.player-form input,
.player-form select {
  width: 100%;
  height: 48px;
  border: 1px solid rgba(255,255,255,.14);
  outline: 0;
  padding: 0 14px;
  background: rgba(2,6,14,.78);
  color: #fff;
  font: 800 14px var(--body);
}
.player-form input:focus,
.player-form select:focus {
  border-color: color-mix(in srgb, var(--team-accent) 70%, #0757ff);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--team-accent) 20%, transparent);
}
.team-form-note {
  margin: 2px 0 0;
  color: #8692a3;
  font-size: 12px;
}
.team-page:not(.backoffice-page) .team-entry .player-form {
  display: none;
}
.team-admin-link {
  width: fit-content;
  margin-top: 18px;
}
.roster-board {
  padding: clamp(20px, 3vw, 32px);
}
.roster-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: end;
  margin-bottom: 22px;
}
.roster-head h2 {
  font-size: clamp(48px, 5.5vw, 84px);
  line-height: .9;
  font-style: italic;
}
.roster-count {
  color: var(--blue);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .7px;
  text-transform: uppercase;
}
.clear-roster {
  min-height: 38px;
  padding: 0 13px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.03);
  color: #cbd5e2;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .6px;
  text-transform: uppercase;
  cursor: pointer;
}
.clear-roster:disabled {
  opacity: .42;
  cursor: not-allowed;
}
.player-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.team-page:not(.backoffice-page) .player-grid {
  grid-template-columns: repeat(auto-fit, minmax(200px, 280px));
  justify-content: center;
}
.player-card {
  position: relative;
  min-height: 180px;
  display: grid;
  align-content: end;
  gap: 10px;
  padding: 18px;
  border: 1px solid rgba(110,180,255,.15);
  background:
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.01)),
    radial-gradient(circle at 86% 18%, color-mix(in srgb, var(--team-accent) 18%, transparent), transparent 12rem),
    #07101b;
  overflow: hidden;
  isolation: isolate;
}
.player-card.player-portrait {
  min-height: 320px;
  aspect-ratio: 3 / 4;
}
.player-card.player-portrait::before {
  display: none;
}
.player-card::before {
  content: "";
  position: absolute;
  right: -24px;
  top: -18px;
  width: 112px;
  height: 112px;
  border: 1px solid rgba(110,180,255,.16);
  background: color-mix(in srgb, var(--team-accent) 18%, transparent);
  transform: skewX(-14deg);
  z-index: 1;
}
.player-card.player-portrait::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(2,4,10,0) 0%, rgba(2,4,10,.02) 42%, rgba(2,4,10,.62) 100%),
    linear-gradient(90deg, rgba(2,4,10,.12), transparent 58%, rgba(2,4,10,.1));
  opacity: 1;
}
.player-avatar {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  opacity: 1;
  filter: saturate(1.36) contrast(1.12) brightness(1.24);
  transform: scale(1.03);
  transition: transform .24s ease, opacity .24s ease, filter .24s ease;
}
.player-card.player-portrait {
  box-shadow: 0 22px 70px rgba(0,0,0,.38), inset 0 0 0 1px rgba(255,255,255,.04);
}
.player-card.player-portrait:hover {
  border-color: color-mix(in srgb, var(--team-accent) 64%, #0757ff);
  box-shadow: 0 28px 86px rgba(0,0,0,.44), inset 0 0 0 1px rgba(255,255,255,.08);
}
.player-card:hover .player-avatar {
  opacity: 1;
  transform: scale(1.08);
  filter: saturate(1.46) contrast(1.14) brightness(1.32);
}
.player-card strong {
  position: relative;
  z-index: 2;
  font: italic 32px/.9 var(--cond);
  text-transform: uppercase;
}
.player-card small,
.player-card span,
.player-card a {
  position: relative;
  z-index: 2;
  color: #c6d0dc;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}
.player-card a {
  width: fit-content;
  color: var(--blue2);
}
.player-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.player-meta span {
  padding: 5px 7px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.2);
}
.remove-player {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(2,6,14,.74);
  color: #fff;
  cursor: pointer;
}
.player-card.is-placeholder {
  opacity: 1;
}
.player-card.is-placeholder .player-avatar {
  opacity: .86;
  filter: grayscale(.04) saturate(1.08) contrast(1.08) brightness(1.08);
}
.player-card.is-placeholder::before {
  opacity: .55;
}
.player-card.is-staff {
  border-color: rgba(45,128,255,.48);
  background: linear-gradient(180deg, rgba(7,87,255,.16), #07101b);
}
.player-card.is-staff .player-meta span:first-child {
  border-color: rgba(122,184,255,.5);
  background: rgba(7,87,255,.42);
  color: #fff;
}
.team-achievements {
  padding: 76px clamp(22px, 7vw, 92px);
  border-top: 1px solid rgba(110,180,255,.12);
  background:
    radial-gradient(circle at 10% 12%, color-mix(in srgb, var(--team-accent) 16%, transparent), transparent 28rem),
    linear-gradient(180deg, #050b14, #02040a);
}
.achievements-head {
  display: flex;
  justify-content: space-between;
  gap: 28px;
  align-items: end;
  margin-bottom: 24px;
}
.achievements-head h2 {
  margin: 0;
  font: italic clamp(48px, 5.2vw, 78px)/.9 var(--cond);
  text-transform: uppercase;
}
.achievements-head p:not(.kicker) {
  max-width: 430px;
  margin: 0;
  color: var(--muted);
  line-height: 1.7;
}
.achievement-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.achievement-card {
  position: relative;
  min-height: 176px;
  display: grid;
  align-content: end;
  gap: 8px;
  padding: 20px;
  border: 1px solid rgba(110,180,255,.16);
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.012)),
    radial-gradient(circle at 82% 18%, color-mix(in srgb, var(--team-accent) 18%, transparent), transparent 12rem),
    #07101b;
  box-shadow: 0 22px 64px rgba(0,0,0,.32), inset 0 0 0 1px rgba(7,87,255,.04);
  overflow: hidden;
}
.achievement-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(135deg, transparent 0 64%, rgba(255,255,255,.055) 64% 65%, transparent 65%),
    linear-gradient(180deg, transparent, rgba(2,4,10,.38));
}
.achievement-icon {
  position: absolute;
  top: 18px;
  left: 18px;
  width: 44px;
  height: 44px;
  color: color-mix(in srgb, var(--team-accent) 78%, #0757ff);
  filter: drop-shadow(0 0 18px color-mix(in srgb, var(--team-accent) 32%, transparent));
}
.achievement-icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.achievement-card strong,
.achievement-card small {
  position: relative;
  z-index: 1;
  text-transform: uppercase;
}
.achievement-card strong {
  color: #fff;
  font: italic 32px/.9 var(--cond);
}
.achievement-card small {
  color: #c6d0dc;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .6px;
}
.backoffice-page {
  --team-accent: #0757ff;
}
.backoffice-hero {
  position: relative;
  min-height: 520px;
  display: grid;
  align-items: end;
  padding: 148px clamp(22px, 7vw, 92px) 64px;
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(90deg, rgba(0,0,0,.96), rgba(2,4,10,.82) 50%, rgba(2,4,10,.34)),
    radial-gradient(circle at 84% 18%, rgba(7,87,255,.28), transparent 30rem),
    url("assets/city-hero.webp") right center / contain no-repeat,
    #02040a;
  overflow: hidden;
}
.backoffice-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, #000 0%, rgba(0,0,0,.88) 36%, transparent 66%),
    linear-gradient(0deg, #02040a 0%, transparent 40%);
}
.backoffice-hero-content {
  position: relative;
  z-index: 1;
  width: min(760px, 100%);
}
.backoffice-hero h1 {
  font-size: clamp(82px, 9vw, 142px);
}
.backoffice-hero p:not(.kicker):not(.brush-line) {
  max-width: 520px;
  color: #c5cfdb;
  font-weight: 750;
  line-height: 1.75;
  text-transform: uppercase;
}
.backoffice-shell {
  display: grid;
  grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 52px);
  padding: 72px clamp(22px, 7vw, 92px);
  background:
    radial-gradient(circle at 86% 6%, rgba(7,87,255,.18), transparent 30rem),
    linear-gradient(180deg, #02040a, #050b14);
}
.backoffice-sidebar,
.backoffice-panel {
  border: 1px solid rgba(110,180,255,.16);
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.015)),
    rgba(5,12,24,.82);
  box-shadow: 0 26px 78px rgba(0,0,0,.36), inset 0 0 0 1px rgba(7,87,255,.05);
}
.backoffice-sidebar {
  align-self: start;
  padding: 24px;
}
.backoffice-sidebar h2,
.backoffice-panel h2 {
  font-size: clamp(42px, 4vw, 62px);
  line-height: .9;
  font-style: italic;
}
.admin-team-list {
  display: grid;
  gap: 10px;
  margin-top: 24px;
}
.admin-team-button {
  display: grid;
  grid-template-columns: 52px 1fr auto;
  gap: 12px;
  align-items: center;
  min-height: 66px;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(2,6,14,.56);
  color: #fff;
  text-align: left;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.admin-team-button img {
  width: 46px;
  height: 38px;
  object-fit: contain;
  filter: brightness(1.16) drop-shadow(0 0 14px rgba(7,87,255,.32));
}
.admin-team-button strong {
  display: block;
  font: italic 23px/.9 var(--cond);
  text-transform: uppercase;
}
.admin-team-button small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}
.admin-team-button span {
  color: var(--blue2);
  font-size: 11px;
  font-weight: 900;
}
.admin-team-button:hover,
.admin-team-button.is-active {
  transform: translateY(-3px);
  border-color: rgba(7,87,255,.7);
  background: rgba(7,87,255,.14);
  box-shadow: 0 18px 48px rgba(0,0,0,.32), 0 0 22px rgba(7,87,255,.18);
}
.backoffice-workspace {
  min-width: 0;
  display: grid;
  gap: 18px;
}
.backoffice-panel {
  padding: clamp(20px, 3vw, 32px);
}
.backoffice-topline {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: end;
  margin-bottom: 24px;
}
.backoffice-topline p {
  max-width: 560px;
  margin: 12px 0 0;
  color: var(--muted);
  line-height: 1.65;
}
.backoffice-badge {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  padding: 0 10px;
  border: 1px solid rgba(110,180,255,.2);
  color: var(--blue2);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .7px;
  text-transform: uppercase;
}
.backoffice-form {
  display: grid;
  gap: 16px;
}
.backoffice-form .form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.form-wide {
  grid-column: 1 / -1;
}
.backoffice-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
.backoffice-actions .btn,
.backoffice-actions .clear-roster {
  margin: 0;
}
.file-control input {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.admin-message {
  min-height: 22px;
  margin: 4px 0 0;
  color: #8fd4ff;
  font-size: 13px;
  font-weight: 800;
}
.news-admin-panel {
  margin-top: 16px;
}
.admin-news-list {
  display: grid;
  gap: 14px;
}
.admin-empty {
  margin: 0;
  padding: 18px;
  border: 1px solid rgba(110,180,255,.14);
  background: rgba(2,6,14,.62);
  color: var(--muted);
  font-weight: 800;
  text-transform: uppercase;
}
.admin-news-item {
  position: relative;
  display: grid;
  grid-template-columns: minmax(120px, 180px) minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  min-height: 132px;
  padding: 12px;
  border: 1px solid rgba(110,180,255,.15);
  background:
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.01)),
    #07101b;
}
.admin-news-thumb {
  position: relative;
  height: 108px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  background: #03060c;
}
.admin-news-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.admin-news-copy time {
  display: block;
  margin-bottom: 8px;
  color: var(--blue2);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}
.admin-news-copy strong {
  display: block;
  font: italic 30px/.9 var(--cond);
  text-transform: uppercase;
}
.admin-news-copy p {
  margin: 8px 0 0;
  color: var(--muted);
  line-height: 1.55;
}
.admin-news-flag {
  display: inline-flex;
  width: fit-content;
  margin-top: 12px;
  padding: 5px 8px;
  border: 1px solid rgba(7,87,255,.42);
  background: rgba(7,87,255,.12);
  color: #fff;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}
.admin-news-actions {
  display: grid;
  gap: 8px;
}
.admin-news-actions button {
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(2,6,14,.74);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  cursor: pointer;
}
.admin-news-actions button:hover {
  border-color: rgba(7,87,255,.7);
  box-shadow: 0 0 16px rgba(7,87,255,.24);
}
.player-card-actions {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 3;
  display: flex;
  gap: 6px;
}
.edit-player,
.admin-player-grid .remove-player {
  position: static;
  width: auto;
  min-width: 34px;
  height: 30px;
  padding: 0 9px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(2,6,14,.74);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
}
.edit-player:hover,
.admin-player-grid .remove-player:hover {
  border-color: rgba(7,87,255,.7);
  box-shadow: 0 0 16px rgba(7,87,255,.24);
}
.footer {
  display: grid;
  grid-template-columns: 1.5fr repeat(4, 1fr) 1.6fr;
  gap: 34px;
  padding: 54px clamp(22px, 7vw, 92px) 40px;
  background:
    radial-gradient(circle at 86% 12%, rgba(7,87,255,.16), transparent 22rem),
    #03060c;
}
.footer p, .footer a { color: var(--muted); font-size: 13px; line-height: 1.7; }
.footer a { display: block; margin: 8px 0; }
.footer h3 { color: var(--blue); margin: 0 0 14px; }
.footer-socials {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}
.footer-socials a {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  margin: 0;
  border: 1px solid rgba(110,180,255,.22);
  background: rgba(7,87,255,.08);
  color: #fff;
  box-shadow: inset 0 0 0 1px rgba(7,87,255,.05);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.footer-socials a:hover {
  transform: translateY(-2px);
  border-color: rgba(7,87,255,.78);
  background: rgba(7,87,255,.18);
  box-shadow: 0 8px 20px rgba(0,0,0,.26), 0 0 12px rgba(7,87,255,.14);
}
.footer-socials span {
  display: block;
  width: 18px;
  height: 18px;
  background: center / contain no-repeat;
  color: #fff;
  font-size: 0;
  font-weight: 1000;
  letter-spacing: .4px;
}
.footer-socials a[aria-label="Discord"] span { background-image: url("assets/socials/discord.svg"); }
.footer-socials a[aria-label="Facebook"] span { background-image: url("assets/socials/facebook.svg"); }
.footer-socials a[aria-label="Instagram"] span { background-image: url("assets/socials/instagram.svg"); }
.footer-socials a[aria-label="TikTok"] span { background-image: url("assets/socials/tiktok.svg"); }
.footer-socials a[aria-label="YouTube"] span { background-image: url("assets/socials/youtube.svg"); }
.footer-socials a[aria-label="Twitch"] span { background-image: url("assets/socials/twitch.svg"); }
.footer-socials a[aria-label="X"] span { background-image: url("assets/socials/x.svg"); }
.footer-socials a[aria-label="WhatsApp"] span { background-image: url("assets/socials/whatsapp.svg"); }
.footer-cta { border-left: 1px solid var(--line); padding-left: 34px; }
.footer-cta h2 { font-size: 38px; line-height: .9; font-style: italic; }
.footer .btn {
  display: inline-flex;
  width: auto;
  min-width: 190px;
  min-height: 44px;
  margin-top: 14px;
  padding: 0 18px;
  color: #fff;
}
.footer-cta .btn {
  justify-content: center;
  box-shadow: 0 16px 38px rgba(7,87,255,.25);
}
.footer-cta .footer-socials { margin-top: 24px; }
.footer-credit {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 3px;
  margin-top: 2px;
  padding-top: 8px;
  color: rgba(191,200,214,.7);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .7px;
  line-height: 1.4;
  text-transform: uppercase;
}
.footer .footer-credit a {
  display: inline-flex;
  margin: 0;
  color: #fff;
  font-size: inherit;
  font-weight: 400;
  letter-spacing: inherit;
  line-height: inherit;
  transition: color .18s ease, text-shadow .18s ease;
}
.footer .footer-credit a:hover {
  color: #6eb4ff;
  text-shadow: 0 0 12px rgba(7,87,255,.42);
}
.footer-credit > span:last-child { display: inline-flex; }

.not-found-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at 70% 20%, rgba(7,87,255,.22), transparent 28rem),
    linear-gradient(135deg, rgba(2,4,10,.96), rgba(3,12,26,.98)),
    url("assets/city-hero.webp") center / cover;
}
.not-found {
  min-height: 100vh;
  width: min(760px, calc(100% - 40px));
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
.not-found h1 {
  margin-top: 24px;
  font-size: clamp(92px, 14vw, 170px);
}
.not-found p:not(.kicker):not(.brush-line) {
  max-width: 520px;
  color: var(--muted);
  line-height: 1.8;
}

@media (max-width: 980px) {
  .site-header { grid-template-columns: 80px auto; height: 80px; }
  .header-actions { justify-self: end; grid-column: 2; grid-row: 1; }
  .logo span { font-size: 46px; }
  .nav {
    position: fixed;
    top: 80px;
    left: 18px;
    right: 18px;
    display: grid;
    justify-content: stretch;
    padding: 18px;
    background: rgba(2,4,10,.96);
    border: 1px solid var(--line);
    opacity: 0;
    transform: translateY(-12px);
    pointer-events: none;
  }
  .nav.is-open { opacity: 1; transform: none; pointer-events: auto; }
  .nav-dropdown { width: 100%; }
  .nav-dropdown summary { padding: 10px 0; }
  .nav-dropdown-menu { position: static; width: 100%; margin: 4px 0 8px; padding: 4px 10px; box-shadow: none; }
  .header-actions { gap: 10px; }
  .header-hub .join { min-height: 42px; padding: 0 14px; }
  .header-hub-panel { position: fixed; top: 72px; right: 18px; left: 18px; width: auto; }
  .menu { display: grid; }
  .hero { min-height: 820px; height: auto; }
  .hero-content { padding-top: 150px; }
  .hero-img {
    left: -18%;
    width: 118%;
    object-fit: cover;
    object-position: 86% center;
    transform: translateX(13%);
  }
  .hero-shade { background: linear-gradient(180deg, rgba(0,0,0,.7), rgba(0,0,0,.94) 60%, #02040a); }
  .side-word, .scroll-word { display: none; }
  .story, .home-base, .news, .video-section, .community, .shop, .partner-spotlight, .team-hero-inner, .team-roster-section, .backoffice-shell, .footer { grid-template-columns: 1fr; }
  .story { gap: 24px; }
  .story-visual { min-height: 220px; }
.home-copy,
  .home-gallery {
    grid-column: 1;
    grid-row: auto;
  }
  .home-copy { order: 1; }
  .home-gallery {
    order: 2;
    min-height: 460px;
  }
  .game-links { grid-template-columns: repeat(3, 1fr); }
  .news-head { position: relative; top: auto; }
  .news-grid, .stats, .creator-cards, .products { grid-template-columns: 1fr 1fr; }
  .stats article { border-bottom: 1px solid rgba(110,180,255,.2); }
  .stats article:nth-child(2n) { border-right: 0; }
  .stats article:nth-last-child(-n + 2) { border-bottom: 0; }
  .news-card-feature { grid-column: span 2; }
  .video-frame { max-width: 860px; }
  .spotlight-media { min-height: 360px; }
  .partners { grid-template-columns: 1fr; }
  .partner-logo { width: 214px; height: 86px; }
  .partner-logo img { width: 184px; height: 58px; }
  .creator-hero { width: 100%; opacity: .42; }
  .creator-heading { margin-left: 0; }
  .community-visual { width: min(100%, 760px); justify-self: start; }
  .team-hero { min-height: 640px; padding-top: 130px; }
  .team-identity { justify-items: start; }
  .team-logo-card { min-height: 240px; }
  .team-switcher { grid-template-columns: repeat(3, 1fr); }
  .player-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .team-page:not(.backoffice-page) .player-grid {
    grid-template-columns: repeat(2, minmax(0, 280px));
    justify-content: center;
  }
  .achievement-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .achievements-head { display: grid; align-items: start; }
  .admin-team-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .backoffice-topline { display: grid; }
}
@media (max-width: 620px) {
  .site-header { padding-inline: 16px; }
  .auth-gate {
    align-items: end;
    padding: 24px 18px 48px;
    background:
      linear-gradient(90deg, #02040a 0%, rgba(2,4,10,.98) 20%, rgba(2,4,10,.72) 39%, rgba(2,4,10,.18) 68%, rgba(2,4,10,.08) 100%),
      linear-gradient(180deg, rgba(0,0,0,.38), rgba(0,0,0,.94) 47%, #02040a 100%),
      url("assets/pr0xy.webp") 58% center / cover no-repeat,
      #02040a;
  }
  .auth-logo { margin-bottom: 42vh; }
  .auth-logo.logo-mark-only > img { width: 76px; }
  .auth-card h1 {
    margin-bottom: 22px;
    font-size: 70px;
  }
  .auth-card h1 span { font-size: 50px; }
  .auth-row { display: grid; }
  .auth-row .btn { width: 100%; }
  .hero-content { width: calc(100% - 32px); }
  h1 { font-size: 72px; }
  .brush-line, h2 span { font-size: 42px; transform: rotate(-2deg); }
  .brush-line { white-space: normal; max-width: calc(100% - 12px); }
  .shop-copy h2 span { white-space: normal; max-width: 100%; }
  .actions { display: grid; }
  .story, .home-base, .creators, .news, .video-section, .community, .shop, .partner-spotlight, .partners, .team-hero, .team-roster-section, .team-achievements, .backoffice-hero, .backoffice-shell, .footer { padding-inline: 18px; }
  .home-gallery { grid-template-columns: 1fr; grid-template-rows: none; min-height: 0; }
  .home-shot, .home-shot-main, .home-shot-light-top, .home-shot-light-bottom { min-height: 250px; grid-column: auto; grid-row: auto; }
  .game-links { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .game-logo { min-height: 138px; padding-inline: 8px; }
  .game-mark { width: min(78%, 148px); height: 82px; }
  .game-mark img { max-height: 100%; }
  .news-grid, .stats, .creator-cards, .products { grid-template-columns: 1fr; }
  .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stats article {
    min-height: 152px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    padding: 20px 16px;
  }
  .stats article::before { top: 20px; bottom: 20px; }
  .stats .icon {
    position: absolute;
    top: 18px;
    right: 16px;
    width: 36px;
    height: 36px;
  }
  .stats .icon svg { width: 23px; height: 23px; }
  .stats strong { font-size: 48px; line-height: .8; }
  .stats small { max-width: 128px; margin-top: 12px; font-size: 10px; }
  .news-card-feature { grid-column: auto; min-height: 310px; }
  .news-card { min-height: 280px; }
  .news-content strong,
  .news-card:not(.news-card-feature) .news-content strong { font-size: 30px; }
  .video-section { gap: 28px; }
  .spotlight-media { min-height: 300px; }
  .spotlight-logo { width: min(220px, 82%); }
  .partner-logo { width: 200px; height: 80px; }
  .partner-logo img { width: 172px; height: 54px; }
  .partner-slider { -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
  .partner-slider { mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
  .creator-cards { margin-top: 36px; }
  .team-title { font-size: 72px; }
  .team-switcher, .team-side-stats, .player-grid, .achievement-grid { grid-template-columns: 1fr 1fr; }
  .team-logo-card { width: 100%; min-height: 220px; padding: 24px; }
  .team-game-logo { width: min(100%, 260px); }
  .team-game-logo.league-logo { width: min(100%, 310px); }
  .team-entry, .roster-board { padding: 20px; }
  .roster-head { display: grid; align-items: start; }
  .player-card { min-height: 164px; }
  .player-card.player-portrait { min-height: 280px; }
  .team-page:not(.backoffice-page) .player-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .achievement-card { min-height: 160px; }
  .backoffice-hero { min-height: 520px; }
  .backoffice-form .form-grid,
  .admin-team-list { grid-template-columns: 1fr; }
  .admin-news-item { grid-template-columns: 1fr; }
  .admin-news-thumb { height: 170px; }
  .admin-news-actions { grid-template-columns: 1fr 1fr; }
  .backoffice-actions { display: grid; }
  .backoffice-actions .btn,
  .backoffice-actions .clear-roster,
  .file-control { width: 100%; }
  .footer-cta { border-left: 0; padding-left: 0; }
  .footer-socials a { width: 34px; height: 34px; }
  .footer-credit { justify-content: flex-start; flex-wrap: wrap; text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
  .partner-track { animation: none !important; }
}

/* Mobile layout QA */
@media (max-width: 620px) {
  .menu {
    width: 46px;
    height: 46px;
    place-content: center;
    padding: 8px;
  }

  .footer-socials a {
    width: 40px;
    height: 40px;
  }

  .member-page .page-hero h1 { font-size: 55px; }
  .member-page .page-hero h1 .accent { font-size: 40px; }

  .team-page:not(.backoffice-page) .player-grid,
  .team-staff-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .team-page:not(.backoffice-page) .player-card.player-portrait,
  .team-staff-grid .player-card.player-portrait {
    min-height: 0;
    aspect-ratio: 3 / 4;
    padding: 14px;
  }

  .team-page:not(.backoffice-page) .player-card strong,
  .team-staff-grid .player-card strong {
    font-size: clamp(21px, 6vw, 27px);
    overflow-wrap: anywhere;
  }

  .team-page:not(.backoffice-page) .player-card small,
  .team-page:not(.backoffice-page) .player-card span,
  .team-page:not(.backoffice-page) .player-card a,
  .team-staff-grid .player-card small,
  .team-staff-grid .player-card span,
  .team-staff-grid .player-card a {
    font-size: 10px;
  }
}

@media (max-width: 380px) {
  .team-page:not(.backoffice-page) .player-grid,
  .team-staff-grid {
    width: min(100%, 280px);
    grid-template-columns: 1fr;
    justify-self: center;
    margin-inline: auto;
  }

  .team-page:not(.backoffice-page) .player-card.player-portrait,
  .team-staff-grid .player-card.player-portrait {
    min-height: 0;
    aspect-ratio: 3 / 4;
  }
}

/* Editorial backoffice */
.backoffice-page {
  min-height: 100vh;
  background: #f0f0f1;
  color: #1d2327;
  overflow-x: auto;
}
.backoffice-page::before { display: none; }
.backoffice-page .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.backoffice-page > .site-header,
.backoffice-page > main,
.backoffice-page > .footer { display: none !important; }
.editor-app { min-height: 100vh; background: #f0f0f1; }
.editor-topbar {
  position: sticky;
  top: 0;
  z-index: 40;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 0 22px 0 16px;
  background: #101517;
  color: #fff;
  box-shadow: 0 1px 0 rgba(255,255,255,.1);
}
.editor-brand {
  height: 52px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  font-weight: 800;
}
.editor-brand img { width: 50px; height: 36px; object-fit: contain; }
.editor-brand span { padding-left: 12px; border-left: 1px solid rgba(255,255,255,.2); }
.editor-topbar-actions { display: flex; align-items: center; gap: 18px; }
.editor-save-state {
  color: #9fa9b0;
  font-size: 12px;
  transition: color .18s;
}
.editor-save-state.is-active { color: #65d38e; }
.editor-view-site {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 3px;
  font-size: 12px;
  font-weight: 750;
}
.editor-view-site:hover { border-color: #72a5ff; background: rgba(7,87,255,.18); }
.editor-view-site span { color: #72a5ff; }
.editor-shell { min-height: calc(100vh - 52px); display: grid; grid-template-columns: 232px minmax(0, 1fr); }
.editor-navigation {
  position: sticky;
  top: 52px;
  height: calc(100vh - 52px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 18px 10px;
  background: #1d2327;
  color: #c3c4c7;
}
.editor-navigation nav { display: grid; gap: 4px; }
.editor-nav-item {
  width: 100%;
  min-height: 44px;
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 7px 10px;
  border: 0;
  border-left: 3px solid transparent;
  border-radius: 2px;
  background: transparent;
  color: inherit;
  text-align: left;
  font: 650 13px/1 var(--body);
  cursor: pointer;
}
.editor-nav-item:hover { background: #2c3338; color: #fff; }
.editor-nav-item.is-active { border-left-color: #3b82f6; background: #0757ff; color: #fff; }
.editor-nav-icon {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 3px;
  font-size: 11px;
  font-weight: 900;
}
.editor-nav-item b {
  min-width: 22px;
  padding: 3px 6px;
  border-radius: 10px;
  background: rgba(255,255,255,.14);
  font-size: 10px;
  text-align: center;
}
.editor-navigation-tools { display: grid; gap: 4px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.1); }
.editor-navigation-tools button,
.editor-navigation-tools label {
  min-height: 36px;
  display: flex;
  align-items: center;
  padding: 0 12px;
  border: 0;
  border-radius: 2px;
  background: transparent;
  color: #a7aaad;
  font: 600 12px var(--body);
  cursor: pointer;
}
.editor-navigation-tools button:hover,
.editor-navigation-tools label:hover { background: #2c3338; color: #fff; }
.editor-navigation-tools input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.editor-main { min-width: 0; padding: 34px clamp(22px, 4vw, 54px) 70px; }
.editor-view[hidden] { display: none !important; }
.editor-view.is-active { display: block; }
.editor-page-header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 30px;
}
.editor-page-header-compact { align-items: center; }
.editor-eyebrow {
  margin: 0 0 7px;
  color: #0757ff;
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}
.editor-page-header h1,
.post-editor-header h1 {
  margin: 0;
  color: #1d2327;
  font: 500 clamp(28px, 3vw, 38px)/1.15 var(--body);
  text-transform: none;
}
.editor-page-header p:not(.editor-eyebrow) { margin: 8px 0 0; color: #646970; font-size: 14px; }
.editor-primary-action,
.editor-secondary-action,
.editor-back-button,
.editor-preview-link {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 15px;
  border: 1px solid #0757ff;
  border-radius: 3px;
  font: 700 13px var(--body);
  cursor: pointer;
  transition: background .16s, border-color .16s, color .16s, box-shadow .16s;
}
.editor-primary-action { background: #0757ff; color: #fff; }
.editor-primary-action:hover { background: #0649d6; border-color: #0649d6; box-shadow: 0 0 0 1px #0649d6; }
.editor-secondary-action,
.editor-preview-link,
.editor-back-button { background: #fff; color: #0757ff; }
.editor-secondary-action:hover,
.editor-preview-link:hover,
.editor-back-button:hover { background: #f0f6fc; border-color: #0649d6; }
.editor-preview-link.is-disabled { border-color: #c3c4c7; color: #8c8f94; pointer-events: none; }
.editor-danger-link {
  border: 0;
  background: transparent;
  color: #b32d2e;
  font: 600 12px var(--body);
  cursor: pointer;
}
.editor-danger-link:hover { color: #8a2424; text-decoration: underline; }
.editor-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 24px; }
.editor-stat-grid article {
  min-height: 132px;
  display: grid;
  align-content: center;
  padding: 20px;
  border: 1px solid #c3c4c7;
  border-top: 3px solid #0757ff;
  border-radius: 3px;
  background: #fff;
  box-shadow: 0 1px 1px rgba(0,0,0,.04);
}
.editor-stat-grid span { color: #646970; font-size: 12px; font-weight: 750; }
.editor-stat-grid strong { margin: 5px 0; color: #1d2327; font: 600 34px/1 var(--body); }
.editor-stat-grid small { color: #8c8f94; font-size: 11px; }
.editor-dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .7fr); gap: 20px; }
.editor-surface {
  padding: 22px;
  border: 1px solid #c3c4c7;
  border-radius: 3px;
  background: #fff;
  box-shadow: 0 1px 1px rgba(0,0,0,.04);
}
.editor-surface-head { display: flex; justify-content: space-between; gap: 20px; align-items: start; margin-bottom: 18px; }
.editor-surface h2,
.editor-quick-draft h2,
.post-setting-panel h2 {
  margin: 0;
  color: #1d2327;
  font: 600 17px/1.25 var(--body);
  text-transform: none;
}
.editor-surface-head p,
.editor-quick-draft > p { margin: 5px 0 0; color: #646970; font-size: 13px; }
.editor-surface-head button,
.editor-surface-head a { border: 0; background: transparent; color: #0757ff; font: 650 12px var(--body); cursor: pointer; }
.editor-quick-draft { display: grid; align-content: start; gap: 14px; }
.editor-quick-draft label,
.post-setting-panel label,
.team-editor-layout label {
  display: grid;
  gap: 7px;
  color: #3c434a;
  font-size: 12px;
  font-weight: 650;
}
.backoffice-page input,
.backoffice-page select,
.backoffice-page textarea {
  width: 100%;
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid #8c8f94;
  border-radius: 3px;
  background: #fff;
  color: #1d2327;
  font: 400 14px/1.5 var(--body);
  outline: none;
}
.backoffice-page textarea { resize: vertical; }
.backoffice-page input:focus,
.backoffice-page select:focus,
.backoffice-page textarea:focus { border-color: #0757ff; box-shadow: 0 0 0 1px #0757ff; }
.editor-inline-message { min-height: 20px; margin: 8px 0 0; color: #18763d; font-size: 12px; font-weight: 650; }
.editor-recent-list { display: grid; }
.editor-recent-item,
.editor-post-row {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 13px 0;
  border-top: 1px solid #dcdcde;
}
.editor-recent-item:first-child { border-top: 0; }
.editor-post-thumb { width: 92px; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 2px; background: #dcdcde; }
.editor-post-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.editor-post-copy { min-width: 0; }
.editor-post-copy h2 { margin: 6px 0 0; overflow-wrap: anywhere; color: #1d2327; font: 600 16px/1.3 var(--body); text-transform: none; }
.editor-post-copy p { margin: 6px 0 0; color: #646970; font-size: 13px; line-height: 1.45; }
.editor-post-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: #787c82; font-size: 10px; }
.editor-status { padding: 3px 6px; border-radius: 2px; font-weight: 750; }
.editor-status-published { background: #e5f5ea; color: #16723a; }
.editor-status-draft { background: #fff3cd; color: #745500; }
.editor-post-actions { display: flex; align-items: center; gap: 7px; }
.editor-post-actions button,
.editor-post-actions a {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  padding: 0 9px;
  border: 1px solid #8c8f94;
  border-radius: 2px;
  background: #fff;
  color: #0757ff;
  font: 650 11px var(--body);
  cursor: pointer;
}
.editor-post-actions button:hover,
.editor-post-actions a:hover { border-color: #0757ff; background: #f0f6fc; }
.editor-post-actions .editor-post-delete { border-color: transparent; color: #b32d2e; }
.editor-list-toolbar {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) 190px auto auto;
  gap: 12px;
  align-items: end;
  padding: 14px;
  border: 1px solid #c3c4c7;
  border-bottom: 0;
  background: #fff;
}
.editor-list-toolbar label { display: grid; gap: 5px; color: #646970; font-size: 11px; font-weight: 700; }
.editor-result-count { align-self: center; color: #646970; font-size: 12px; }
.editor-post-list { padding: 0 16px; border: 1px solid #c3c4c7; background: #fff; }
.editor-post-row { grid-template-columns: 120px minmax(0, 1fr) auto; min-height: 132px; }
.editor-post-row .editor-post-thumb { width: 120px; }
.editor-empty-state { margin: 0; padding: 28px 12px; color: #646970; text-align: center; }
.post-editor-form { min-width: 0; }
.post-editor-header {
  position: sticky;
  top: 52px;
  z-index: 20;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  margin: -34px calc(clamp(22px, 4vw, 54px) * -1) 28px;
  padding: 13px clamp(22px, 4vw, 54px);
  border-bottom: 1px solid #c3c4c7;
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(12px);
}
.post-editor-header h1 { font-size: 19px; }
.post-editor-header .editor-eyebrow { margin-bottom: 2px; }
.post-editor-header-actions { display: flex; gap: 8px; align-items: center; }
.editor-back-button { width: 38px; padding: 0; font-size: 18px; }
.post-editor-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 22px; align-items: start; }
.post-editor-canvas {
  min-width: 0;
  padding: clamp(24px, 4vw, 50px);
  border: 1px solid #c3c4c7;
  border-radius: 3px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0,0,0,.05);
}
.post-title-field textarea {
  min-height: 58px;
  padding: 0 0 13px;
  border: 0;
  border-bottom: 1px solid #dcdcde;
  border-radius: 0;
  color: #1d2327;
  font: 500 clamp(28px, 4vw, 46px)/1.15 var(--body);
  resize: none;
  overflow: hidden;
}
.post-title-field textarea:focus { border-bottom-color: #0757ff; box-shadow: none; }
.post-permalink { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 12px 0 30px; color: #646970; font-size: 11px; }
.post-permalink span { font-weight: 750; }
.post-permalink b { color: #787c82; font-weight: 400; }
.post-permalink input { width: min(300px, 100%); min-height: 30px; padding: 3px 6px; border-color: transparent; background: #f6f7f7; font-size: 11px; }
.block-editor-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
  padding: 10px;
  border: 1px solid #dcdcde;
  border-radius: 3px;
  background: #f6f7f7;
}
.block-editor-toolbar > span { margin-right: 3px; color: #646970; font-size: 11px; font-weight: 750; }
.block-editor-toolbar button,
.block-add-footer {
  min-height: 30px;
  padding: 0 9px;
  border: 1px solid #c3c4c7;
  border-radius: 2px;
  background: #fff;
  color: #2c3338;
  font: 650 11px var(--body);
  cursor: pointer;
}
.block-editor-toolbar button:hover,
.block-add-footer:hover { border-color: #0757ff; color: #0757ff; }
.post-blocks { display: grid; gap: 12px; margin: 18px 0 12px; }
.post-block { border: 1px solid #dcdcde; border-radius: 3px; background: #fff; transition: border-color .16s, box-shadow .16s; }
.post-block:focus-within { border-color: #0757ff; box-shadow: 0 0 0 1px #0757ff; }
.post-block-handle { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 38px; padding: 4px 5px 4px 10px; border-bottom: 1px solid #ededed; background: #f6f7f7; }
.post-block-type { width: 150px !important; min-height: 28px !important; padding: 2px 6px !important; border-color: transparent !important; background: transparent !important; font-size: 11px !important; font-weight: 700 !important; box-shadow: none !important; }
.post-block-controls { display: flex; gap: 3px; }
.post-block-controls button { width: 28px; height: 28px; border: 1px solid transparent; border-radius: 2px; background: transparent; color: #50575e; cursor: pointer; }
.post-block-controls button:hover { border-color: #c3c4c7; background: #fff; color: #0757ff; }
.post-block-content { min-height: 104px !important; padding: 16px !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; resize: none !important; overflow: hidden; font-size: 16px !important; line-height: 1.65 !important; }
.block-add-footer { width: 100%; min-height: 38px; border-style: dashed; color: #646970; }
.post-editor-sidebar { display: grid; gap: 14px; }
.post-setting-panel { padding: 16px; border: 1px solid #c3c4c7; border-radius: 3px; background: #fff; }
.post-setting-panel h2,
.post-setting-panel summary { margin: -16px -16px 15px; padding: 13px 16px; border-bottom: 1px solid #dcdcde; color: #1d2327; font: 650 14px var(--body); }
.post-setting-panel summary { cursor: pointer; }
.post-setting-panel label + label { margin-top: 13px; }
.post-setting-panel small { display: block; margin-top: 8px; color: #787c82; font-size: 10px; line-height: 1.4; }
.editor-check { grid-template-columns: 18px minmax(0, 1fr); align-items: start; }
.editor-check input { width: 16px; min-height: 16px; margin: 1px 0 0; padding: 0; accent-color: #0757ff; }
.post-image-preview { min-height: 150px; display: grid; place-items: center; margin-bottom: 12px; overflow: hidden; border: 1px dashed #a7aaad; border-radius: 2px; background: #f6f7f7; color: #787c82; font-size: 11px; }
.post-image-preview img { display: block; width: 100%; height: 170px; object-fit: cover; }
.post-image-preview.has-error { border-color: #d63638; color: #b32d2e; }
.post-editor-message { position: sticky; bottom: 16px; width: fit-content; min-height: 0; margin: 16px 0 0 auto; padding: 9px 12px; border-radius: 3px; background: #1d2327; color: #fff; box-shadow: 0 8px 24px rgba(0,0,0,.18); }
.post-editor-message:empty { display: none; }
.team-editor-tabs { display: flex; gap: 7px; margin-bottom: 18px; overflow-x: auto; scrollbar-width: thin; }
.team-editor-tab {
  min-width: 170px;
  min-height: 56px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  gap: 9px;
  align-items: center;
  padding: 8px 10px;
  border: 1px solid #c3c4c7;
  border-bottom: 3px solid transparent;
  border-radius: 3px;
  background: #fff;
  color: #2c3338;
  text-align: left;
  font: 650 12px var(--body);
  cursor: pointer;
}
.team-editor-tab:hover,
.team-editor-tab.is-active { border-color: #0757ff; border-bottom-color: #0757ff; }
.team-editor-tab img { width: 34px; height: 30px; object-fit: contain; }
.team-editor-tab b { color: #646970; font-size: 10px; }
.team-editor-layout { display: grid; grid-template-columns: minmax(320px, .82fr) minmax(0, 1.18fr); gap: 20px; align-items: start; }
.team-editor-layout .form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.team-editor-layout .backoffice-actions { margin-top: 16px; }
.team-editor-preview { min-width: 0; }
.team-editor-preview .admin-player-grid { display: grid; grid-template-columns: 1fr; gap: 0; }
.editor-player-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, .7fr) auto; gap: 16px; align-items: center; min-height: 70px; padding: 12px 4px; border-top: 1px solid #dcdcde; }
.editor-player-row:first-child { border-top: 0; }
.editor-player-row.is-staff { background: #f0f6fc; }
.editor-player-row strong,
.editor-player-row small { display: block; }
.editor-player-row strong { font-size: 14px; }
.editor-player-row small { margin-top: 3px; color: #787c82; font-size: 11px; }
.editor-player-meta { display: flex; flex-wrap: wrap; gap: 6px; }
.editor-player-meta span { padding: 4px 7px; border-radius: 2px; background: #f0f0f1; color: #50575e; font-size: 10px; }
.editor-player-actions { display: flex; gap: 5px; }
.editor-player-actions button { min-height: 30px; padding: 0 8px; border: 1px solid #8c8f94; border-radius: 2px; background: #fff; color: #0757ff; font: 650 10px var(--body); cursor: pointer; }
.editor-player-actions button:last-child { border-color: transparent; color: #b32d2e; }

@media (max-width: 1080px) {
  .editor-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .post-editor-layout,
  .team-editor-layout { grid-template-columns: 1fr; }
  .post-editor-sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .editor-list-toolbar { grid-template-columns: minmax(220px, 1fr) 170px; }
  .editor-result-count,
  .editor-list-toolbar .editor-danger-link { align-self: center; }
}

@media (max-width: 780px) {
  .editor-topbar { padding-inline: 12px; }
  .editor-save-state { display: none; }
  .editor-shell { display: block; }
  .editor-navigation { position: sticky; top: 52px; z-index: 30; width: 100%; height: auto; display: block; padding: 6px; overflow-x: auto; }
  .editor-navigation nav { min-width: 540px; display: flex; gap: 4px; }
  .editor-nav-item { width: auto; min-width: 124px; grid-template-columns: 22px 1fr auto; border-left: 0; border-bottom: 3px solid transparent; }
  .editor-nav-item.is-active { border-bottom-color: #72a5ff; }
  .editor-navigation-tools { display: none; }
  .editor-main { padding: 24px 16px 54px; }
  .editor-page-header { align-items: start; }
  .editor-dashboard-grid { grid-template-columns: 1fr; }
  .post-editor-header { top: 102px; grid-template-columns: auto minmax(0, 1fr); margin: -24px -16px 20px; padding: 10px 16px; }
  .post-editor-header-actions { grid-column: 1 / -1; justify-content: flex-end; }
  .post-editor-canvas { padding: 22px 16px; }
  .post-editor-sidebar { grid-template-columns: 1fr; }
  .editor-post-row { grid-template-columns: 82px minmax(0, 1fr); }
  .editor-post-row .editor-post-thumb { width: 82px; }
  .editor-post-row .editor-post-actions { grid-column: 2; justify-content: flex-start; }
}

@media (max-width: 520px) {
  .editor-brand span { display: none; }
  .editor-view-site { padding-inline: 9px; }
  .editor-page-header { display: grid; }
  .editor-page-header .editor-primary-action { width: 100%; }
  .editor-stat-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
  .editor-stat-grid article { min-height: 112px; padding: 14px; }
  .editor-stat-grid strong { font-size: 28px; }
  .editor-list-toolbar { grid-template-columns: 1fr; border-bottom: 1px solid #c3c4c7; }
  .editor-post-list { margin-top: 10px; }
  .editor-post-row,
  .editor-recent-item { grid-template-columns: 70px minmax(0, 1fr); gap: 10px; }
  .editor-post-thumb,
  .editor-post-row .editor-post-thumb { width: 70px; }
  .editor-post-actions { grid-column: 1 / -1; }
  .post-editor-header-actions { display: grid; grid-template-columns: repeat(3, 1fr); width: 100%; }
  .post-editor-header-actions > * { padding-inline: 7px; font-size: 11px; }
  .block-editor-toolbar > span { width: 100%; }
  .team-editor-layout .form-grid { grid-template-columns: 1fr; }
  .editor-player-row { grid-template-columns: 1fr auto; }
  .editor-player-meta { grid-column: 1; }
  .editor-player-actions { grid-column: 2; grid-row: 1 / span 2; display: grid; }
}

/* Startseite: bestehende 404-Optik mit den neuen Inhalten */
.logo-with-mark {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  line-height: 1;
  transform: none;
}
.logo-with-mark > img {
  display: block;
  width: 51px;
  height: auto;
  filter: drop-shadow(0 0 14px rgba(7,87,255,.38));
}
.logo-with-mark > span {
  display: block;
  line-height: .72;
  transform: skew(-9deg);
}
.logo-with-mark > span b {
  display: block;
  font: italic 900 42px/.72 var(--cond);
  letter-spacing: 1px;
}
.logo-with-mark > span small {
  margin-left: 2px;
  letter-spacing: 2.4px;
}
.site-header .logo-with-mark > img { width: 46px; }
.site-header .logo-with-mark > span b { font-size: 39px; }
.site-header .logo-mark-only > img { width: 84px; }
.footer-brand .logo-mark-only > img { width: 106px; }
.home-page .auth-gate {
  background:
    linear-gradient(90deg, #02040a 0%, #02040a 42%, rgba(2,4,10,.82) 50%, rgba(2,4,10,.45) 64%, rgba(2,4,10,.72) 100%),
    linear-gradient(180deg, #02040a 0%, #02040a 10%, rgba(2,4,10,.82) 18%, rgba(2,4,10,.18) 34%, rgba(2,4,10,.18) 72%, rgba(2,4,10,.84) 91%, #02040a 100%),
    radial-gradient(circle at 70% 16%, rgba(7,87,255,.28), transparent 30rem),
    url("assets/pr0xy.webp") right center / auto 100% no-repeat,
    #02040a;
}

.hero-city::before {
  background: #000;
}
.hero-city .hero-img-city {
  inset: 0;
  left: 0;
  right: auto;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center 50%;
  transform: none;
  filter: brightness(.78) saturate(1.04) contrast(1.06);
  -webkit-mask-image: none;
  mask-image: none;
}
.hero-city .hero-video {
  background: #000 url("assets/city-home-diagonal-fade-v3.webp?v=1") center / cover no-repeat;
}
.hero-city .hero-shade {
  background:
    linear-gradient(0deg, rgba(2,4,10,.94) 0%, rgba(2,4,10,.52) 14%, rgba(2,4,10,.1) 38%, transparent 58%),
    linear-gradient(100deg, rgba(0,0,0,.94) 0%, rgba(0,0,0,.91) 24%, rgba(0,0,0,.76) 39%, rgba(0,0,0,.44) 53%, rgba(0,0,0,.18) 66%, rgba(0,0,0,.04) 78%, transparent 88%);
}
.hero-city .hero-content {
  width: min(620px, calc(100% - 44px));
  margin-right: 0;
  margin-left: clamp(22px, 7vw, 92px);
}

.stage-photo {
  background:
    linear-gradient(90deg, rgba(2,4,10,.04), rgba(2,4,10,.32)),
    url("assets/caggtus-stage-2024-optimized.webp") center 42% / cover;
}
.game-carousel-shell {
  position: relative;
  grid-column: 1 / -1;
  min-width: 0;
}
.game-carousel-shell .game-links { margin-top: 2px; }
.game-carousel-controls,
.news-controls {
  display: flex;
  gap: 9px;
  margin: 24px 0 14px;
}
.game-carousel-controls { display: none; justify-content: flex-end; }
.game-carousel-shell.is-scrollable .game-carousel-controls { display: flex; }
.game-carousel-controls button,
.news-controls button {
  width: 44px;
  height: 44px;
  position: relative;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(7,87,255,.72);
  background: rgba(2,6,14,.72);
  color: #fff;
  font-size: 0;
  line-height: 1;
  cursor: pointer;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.game-carousel-controls button::before,
.news-controls button::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 11px;
  height: 11px;
  margin: -6px 0 0 -6px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
}
.game-carousel-controls [data-game-prev]::before,
.news-controls [data-news-prev]::before { transform: rotate(-135deg); }
.game-carousel-controls [data-game-next]::before,
.news-controls [data-news-next]::before { transform: rotate(45deg); }
.game-carousel-controls button:hover,
.news-controls button:hover {
  transform: translateY(-2px);
  background: var(--blue);
  box-shadow: 0 8px 18px rgba(0,0,0,.28), 0 0 12px rgba(7,87,255,.18);
}
.game-carousel-shell.is-scrollable .game-links {
  display: flex;
  grid-template-columns: none;
  gap: 14px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.game-carousel-shell.is-scrollable .game-links::-webkit-scrollbar { display: none; }
.game-carousel-shell.is-scrollable .game-logo {
  flex: 0 0 min(260px, 72vw);
  scroll-snap-align: start;
}

.member-app-teaser {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px;
  max-width: 360px;
  margin: 28px 0 4px;
  padding: 16px 18px;
  border-left: 3px solid var(--blue);
  background: linear-gradient(90deg, rgba(7,87,255,.18), rgba(7,87,255,.02));
  transition: border-color .2s ease, background-color .2s ease, transform .2s ease;
}
.member-app-teaser strong {
  font: italic 23px var(--cond);
  text-transform: uppercase;
}
.member-app-teaser small { color: var(--muted); line-height: 1.5; }
.member-app-teaser strong,
.member-app-teaser small { grid-column: 1; }
.member-app-teaser > span {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  color: var(--blue2);
  font-weight: 900;
  transition: transform .2s ease;
}
.member-app-teaser:hover {
  border-color: rgba(54,126,255,.7);
  background: rgba(7,87,255,.14);
  transform: translateY(-2px);
}
.member-app-teaser:hover > span { transform: translateX(3px); }

.creators-no-ai {
  background: linear-gradient(180deg, #02040a, #050b14 58%, #02040a);
}
.creators-no-ai .creator-hero {
  width: 68%;
  background:
    linear-gradient(90deg, rgba(2,4,10,.04), rgba(2,4,10,.32) 56%, rgba(2,4,10,.74) 100%),
    linear-gradient(180deg, rgba(2,4,10,.08), rgba(2,4,10,.94) 100%),
    url("assets/pr0xy.webp") center 28% / cover no-repeat;
  opacity: .72;
  -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 52%, rgba(0,0,0,.88) 66%, rgba(0,0,0,.34) 87%, transparent 100%);
  mask-image: linear-gradient(90deg, #000 0%, #000 52%, rgba(0,0,0,.88) 66%, rgba(0,0,0,.34) 87%, transparent 100%);
}
.creator-lede {
  max-width: 480px;
  color: var(--muted);
  line-height: 1.65;
}
.creator-status-cards {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  max-width: 1320px;
  margin-inline: auto;
}
.live-nav-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin: 0 0 2px 4px;
  border-radius: 50%;
  background: #ff304f;
  box-shadow: 0 0 0 4px rgba(255,48,79,.14), 0 0 13px #ff304f;
  animation: livePulse 1.35s ease-in-out infinite;
}
.live-nav-dot[hidden] { display: none; }
@keyframes livePulse { 50% { opacity: .45; transform: scale(.8); } }

.news-head > p:not(.kicker) {
  max-width: 300px;
  color: var(--muted);
  line-height: 1.7;
}
.news-carousel-track {
  display: flex;
  grid-template-columns: none;
  min-width: 0;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.news-carousel-track::-webkit-scrollbar { display: none; }
.news-carousel-track .news-card,
.news-carousel-track .news-card-feature {
  flex: 0 0 min(470px, 76vw);
  min-height: 380px;
  grid-column: auto;
  scroll-snap-align: start;
}
.news-carousel-track .news-card:not(.news-card-feature) .news-content strong { font-size: 34px; }
.news-card .news-logo-image {
  object-fit: contain;
  padding: 58px;
  background: radial-gradient(circle at 50% 44%, rgba(7,87,255,.3), transparent 55%), #050b14;
  opacity: 1;
}

.news-carousel-shell {
  position: relative;
  z-index: 2;
  min-width: 0;
  padding-inline: 64px;
}
.news-carousel-shell .news-carousel-track {
  position: relative;
  z-index: 1;
}
.news-side-arrow {
  position: absolute;
  z-index: 5;
  top: 50%;
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(73,143,255,.82);
  background: rgba(2,7,16,.92);
  color: #fff;
  font-size: 0;
  cursor: pointer;
  transform: translateY(-50%);
  box-shadow: 0 14px 34px rgba(0,0,0,.45), 0 0 18px rgba(7,87,255,.16);
  transition: transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.news-side-prev { left: 0; }
.news-side-next { right: 0; }
.news-side-arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 13px;
  height: 13px;
  margin: 0;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform-origin: center;
}
.news-side-prev::before { transform: translate(-50%, -50%) rotate(-135deg); }
.news-side-next::before { transform: translate(-50%, -50%) rotate(45deg); }
.news-side-arrow:hover {
  border-color: #8ec3ff;
  background: var(--blue);
  transform: translateY(-50%) scale(1.08);
  box-shadow: 0 18px 38px rgba(0,0,0,.5), 0 0 24px rgba(7,87,255,.32);
}
.news-side-arrow:focus-visible {
  outline: 3px solid rgba(122,184,255,.9);
  outline-offset: 3px;
}
.news-all-button {
  margin-top: 10px;
}
.news-carousel-track .news-card,
.news-carousel-track .news-card-feature {
  flex-basis: min(520px, 76vw);
  min-height: 0;
  aspect-ratio: 16 / 9;
}
.news-carousel-track .news-content p {
  display: none;
}
.news-carousel-track .news-content strong,
.news-carousel-track .news-card:not(.news-card-feature) .news-content strong {
  max-width: 100%;
  overflow: hidden;
  font-size: 22px;
  line-height: 1;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.video-notice { grid-template-columns: minmax(250px, 350px) minmax(0, 1fr); }
.video-notice-card {
  position: relative;
  min-height: 190px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 24px;
  align-items: center;
  padding: clamp(24px, 4vw, 48px);
  border: 1px solid rgba(110,180,255,.28);
  background:
    linear-gradient(135deg, rgba(7,87,255,.22), transparent 46%),
    #050b14;
  box-shadow: 0 28px 88px rgba(0,0,0,.46), inset 0 0 34px rgba(7,87,255,.1);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.video-notice-card:hover {
  transform: translateY(-3px);
  border-color: rgba(54,126,255,.72);
  box-shadow: 0 30px 82px rgba(0,0,0,.46), 0 0 16px rgba(7,87,255,.12);
}
.video-notice-card strong { display: block; font: italic clamp(28px, 3.4vw, 48px)/.95 var(--cond); text-transform: uppercase; }
.video-notice-card small { color: var(--blue2); font-weight: 900; text-transform: uppercase; }
.video-notice-card > b { color: var(--blue); font-size: 26px; }
.video-pulse {
  display: grid;
  width: 62px;
  height: 62px;
  place-items: center;
  border: 1px solid #fff;
  border-radius: 50%;
  background: var(--blue);
  box-shadow: 0 0 0 9px rgba(7,87,255,.12), 0 0 30px rgba(7,87,255,.42);
  animation: livePulse 1.8s ease-in-out infinite;
}

.community-mini-stats { display: flex; gap: 22px; margin: 0 0 24px; }
.community-mini-stats strong { font: italic 34px var(--cond); color: #fff; }
.community-mini-stats small { display: block; color: var(--muted); font: 800 10px var(--body); letter-spacing: .7px; text-transform: uppercase; }
.community-join { margin: 18px 0 0; }
.community-next-event {
  position: relative;
  z-index: 2;
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  margin-top: -18px;
  padding: 22px 24px;
  overflow: hidden;
  border: 1px solid rgba(110,180,255,.28);
  background: linear-gradient(100deg, rgba(7,87,255,.16), rgba(5,11,20,.96) 42%, rgba(7,87,255,.08));
}
.community-next-event::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: #287dff;
}
.community-event-date {
  min-height: 84px;
  display: grid;
  align-content: center;
  padding-right: 24px;
  border-right: 1px solid rgba(110,180,255,.2);
}
.community-event-date span { display: block; margin-bottom: 9px; color: #75adff; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.community-event-date em { display: block; margin-bottom: 3px; color: #aeb9c8; font-size: 11px; font-style: normal; font-weight: 900; text-transform: uppercase; }
.community-event-date em[hidden] { display: none; }
.community-event-date strong { display: block; color: #fff; font: italic 46px/.9 var(--cond); text-transform: uppercase; }
.community-event-copy .kicker { margin: 0 0 8px; }
.community-event-copy h3 { margin: 0; font: italic 34px/1 var(--cond); text-transform: uppercase; }
.community-event-meta { margin: 8px 0 0 !important; color: #75adff !important; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.community-event-copy p { max-width: 700px; margin: 8px 0 0; color: #aeb9c8; line-height: 1.55; }
.community-event-link { justify-self: end; white-space: nowrap; }

@media (max-width: 900px) {
  .community-next-event { grid-template-columns: 150px minmax(0, 1fr); margin-top: 0; }
  .community-event-link { grid-column: 2; justify-self: start; }
}

@media (max-width: 620px) {
  .community-next-event { grid-template-columns: 1fr; gap: 18px; padding: 22px 18px; }
  .community-event-date {
    min-height: 0;
    grid-template-columns: auto 1fr;
    align-items: end;
    column-gap: 14px;
    row-gap: 3px;
    padding: 0 0 16px;
    border-right: 0;
    border-bottom: 1px solid rgba(110,180,255,.2);
  }
  .community-event-date span { grid-column: 1 / -1; margin-bottom: 5px; }
  .community-event-date em { grid-column: 1; margin: 0 0 4px; }
  .community-event-date strong { grid-column: 2; }
  .community-event-date strong { font-size: 38px; }
  .community-event-link { grid-column: 1; width: 100%; justify-content: center; justify-self: stretch; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-city .hero-video { display: none; }
  .hero-city::before {
    background: #000 url("assets/city-home-diagonal-fade-v3.webp?v=1") center / cover no-repeat;
  }
}

.cookie-panel {
  position: fixed;
  z-index: 999;
  left: 20px;
  right: auto;
  bottom: 20px;
  width: min(560px, calc(100vw - 40px));
  max-height: calc(100vh - 40px);
  overflow: auto;
  padding: 28px;
  border: 1px solid rgba(110,180,255,.3);
  background: rgba(3,8,18,.97);
  box-shadow: 0 28px 100px rgba(0,0,0,.7), 0 0 34px rgba(7,87,255,.16);
  backdrop-filter: blur(18px);
}
.cookie-panel[hidden] { display: none; }
.cookie-panel h2 { font-size: clamp(34px, 5vw, 52px); line-height: .95; font-style: italic; }
.cookie-panel > p:not(.kicker) { color: var(--muted); line-height: 1.65; }
.cookie-settings { display: grid; gap: 8px; margin: 20px 0; }
.cookie-settings[hidden] { display: none; }
.cookie-option {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.025);
}
.cookie-option label { font-weight: 900; text-transform: uppercase; }
.cookie-option small { display: block; margin-top: 4px; color: var(--muted); }
.cookie-option input { width: 20px; height: 20px; accent-color: var(--blue); }
.cookie-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.cookie-actions .btn { min-height: 42px; padding-inline: 15px; cursor: pointer; }
.cookie-actions .btn[hidden] { display: none; }
.cookie-actions .btn-primary { border-color: #2d7bff; background: var(--blue); color: #fff; }
.cookie-actions .btn-outline { border-color: rgba(83,151,255,.9); background: #0b1d35; color: #fff; }
.cookie-actions .btn-outline:hover,
.cookie-actions .btn-outline:focus-visible { border-color: #8bc2ff; background: #123763; color: #fff; }
.cookie-actions .btn-light { border-color: #fff; background: #fff; color: #02040a; }
.cookie-actions .btn-light:hover,
.cookie-actions .btn-light:focus-visible { border-color: #bcd8ff; background: #e9f2ff; color: #02040a; }
.cookie-status { margin-top: 16px; color: #788495; font-size: 11px; }

@media (max-width: 980px) {
  .hero-city .hero-img-city {
    left: 0;
    width: 100%;
    object-position: 44% center;
    transform: none;
  }
  .hero-city .hero-shade {
    background:
      linear-gradient(180deg, rgba(0,0,0,.12) 0%, rgba(0,0,0,.46) 48%, rgba(2,4,10,.96) 94%),
      linear-gradient(98deg, rgba(0,0,0,.84) 0%, rgba(0,0,0,.7) 38%, rgba(0,0,0,.28) 72%, transparent 100%);
  }
  .creators-no-ai .creator-hero { width: 100%; opacity: .24; background-position: center 24%; }
  .creator-status-cards { grid-template-columns: repeat(4, minmax(240px, 1fr)); overflow-x: auto; scrollbar-width: none; }
  .creator-status-cards .creator-card { min-width: 240px; }
}

@media (max-width: 620px) {
  .home-page .auth-gate {
    background:
      linear-gradient(90deg, #02040a 0%, rgba(2,4,10,.98) 20%, rgba(2,4,10,.72) 39%, rgba(2,4,10,.18) 68%, rgba(2,4,10,.08) 100%),
      linear-gradient(180deg, rgba(2,4,10,.2) 0%, rgba(2,4,10,.36) 34%, rgba(2,4,10,.94) 63%, #02040a 78%, #02040a 100%),
      url("assets/pr0xy.webp") 58% center / cover no-repeat,
      #02040a;
  }
  .site-header .logo-with-mark > img { width: 40px; }
  .site-header .logo-mark-only > img { width: 66px; }
  .site-header .logo-with-mark > span b { font-size: 34px; }
  .site-header .logo-with-mark > span small { font-size: 8px; letter-spacing: 1.7px; }
  .hero-city .hero-content { width: calc(100% - 32px); margin-inline: 16px 0; }
  .hero-city .hero-img-city {
    object-position: center;
    transform: none;
    filter: brightness(.78) saturate(.98) contrast(1.06);
    -webkit-mask-image: none;
    mask-image: none;
  }
  .hero-city .hero-shade {
    background:
      linear-gradient(180deg, rgba(0,0,0,.16) 0%, rgba(0,0,0,.58) 48%, rgba(2,4,10,.98) 94%),
      linear-gradient(98deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.7) 44%, rgba(0,0,0,.26) 80%, transparent 100%);
  }
  .creator-status-cards { display: grid; grid-template-columns: 1fr; overflow: visible; }
  .creator-status-cards .creator-card { min-width: 0; min-height: 290px; }
  .news-carousel-track .news-card,
  .news-carousel-track .news-card-feature { flex-basis: 86vw; min-height: 330px; }
  .video-notice { grid-template-columns: 1fr; }
  .video-notice-card { width: 100%; min-width: 0; }
  .video-notice-card { grid-template-columns: auto 1fr; }
  .video-notice-card > b { display: none; }
  .video-pulse { width: 52px; height: 52px; }
  .cookie-panel { left: 10px; right: auto; bottom: 10px; width: calc(100vw - 20px); max-height: calc(100vh - 20px); padding: 20px; }
  .cookie-actions { display: grid; }
  .cookie-actions .btn { width: 100%; }
}

/* Clearer desktop hover feedback without a gloss overlay. */
@media (hover: hover) {
  .join:hover,
  .btn:hover {
    transform: translateY(-4px);
    border-color: rgba(139,194,255,.96);
    box-shadow: 0 16px 34px rgba(0,0,0,.38), 0 0 24px rgba(7,87,255,.28);
  }

  .creator-card:hover,
  .news-card:hover,
  .product-card:hover,
  .community-visual:hover {
    transform: translateY(-7px);
    border-color: rgba(103,169,255,.82);
    box-shadow: 0 34px 84px rgba(0,0,0,.5), 0 0 26px rgba(7,87,255,.2);
  }

  .home-shot:hover img { transform: scale(1.07); filter: saturate(1.1) brightness(1.04); }
  .game-logo:hover { transform: translateY(-5px); box-shadow: 0 22px 50px rgba(0,0,0,.34), 0 0 24px rgba(7,87,255,.18); }
  .partner-logo:hover { transform: translateY(-5px) scale(1.025); }
  .team-switcher a:hover { transform: translateY(-5px); }
  .footer-socials a:hover { transform: translateY(-4px) scale(1.06); }
  .creator-live-home:hover { transform: translateY(-4px) scale(1.03); box-shadow: 0 12px 28px rgba(182,13,42,.36); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

@media (max-width: 520px) {
  .editor-primary-action,
  .editor-secondary-action,
  .editor-post-actions button,
  .editor-list-toolbar button,
  .editor-surface-head button,
  .editor-surface-head a {
    min-height: 42px;
  }

  .editor-surface-head button,
  .editor-surface-head a {
    display: inline-flex;
    align-items: center;
    padding-inline: 8px;
  }
}

/* Final mobile polish */
@media (max-width: 620px) {
  html,
  body { max-width: 100%; overflow-x: clip; }

  .nav {
    top: 76px;
    left: 12px;
    right: 12px;
    max-height: calc(100dvh - 88px);
    overscroll-behavior: contain;
  }

  .actions,
  .button-row { gap: 10px; }

  .actions .btn,
  .button-row .btn {
    min-width: 0;
    max-width: 100%;
  }

  .creator-cards .creator-card-long-name strong {
    max-width: calc(100% - 40px);
    font-size: 22px;
    line-height: .94;
  }

  .news-controls {
    align-items: center;
  }

  .news-controls button {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
  }

  .cookie-panel {
    overscroll-behavior: contain;
  }

  .cookie-panel h2 {
    font-size: clamp(32px, 10vw, 40px);
    text-wrap: balance;
  }

  .cookie-panel > p:not(.kicker) { font-size: 14px; }

  .cookie-option {
    gap: 12px;
    padding: 11px 10px;
  }

  .cookie-option span { min-width: 0; }
}

@media (max-width: 380px) {
  .section h2 { font-size: 39px; }
  .brush-line,
  h2 span { font-size: 35px; }

  .creator-cards strong { font-size: 31px; }
  .creator-cards .creator-card-long-name strong { font-size: 19px; }

  .auth-gate {
    padding: 20px 16px 30px;
  }

  .auth-logo { margin-bottom: 38vh; }
  .auth-card h1 { font-size: 62px; }
  .auth-card h1 span { font-size: 44px; }

  .editor-main { padding-inline: 12px; }
  .editor-stat-grid { grid-template-columns: 1fr; }
  .post-editor-header { margin-inline: -12px; padding-inline: 12px; }
  .post-editor-header-actions { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .news-carousel-shell {
    margin-inline: 0;
    padding-inline: 52px;
  }
  .news-side-arrow {
    width: 44px;
    height: 44px;
  }
  .news-side-prev { left: 0; }
  .news-side-next { right: 0; }
  .news-carousel-track .news-card,
  .news-carousel-track .news-card-feature {
    flex-basis: 86vw;
    min-height: 0;
    aspect-ratio: 16 / 9;
  }
  .news-carousel-track .news-content {
    inset: auto 14px 14px;
  }
  .news-carousel-track .news-content time {
    margin-bottom: 8px;
    padding: 4px 7px;
    font-size: 9px;
  }
  .news-carousel-track .news-content strong,
  .news-carousel-track .news-card:not(.news-card-feature) .news-content strong {
    font-size: 20px;
    line-height: 1;
  }
  .news-carousel-track .news-content p {
    display: none;
  }
}

/* News carousel hover edge */
.news-carousel-track {
  margin-block: -8px;
  padding-block: 8px;
}
.news-carousel-track .news-card:hover {
  border-color: #367eff;
  box-shadow: 0 26px 72px rgba(0,0,0,.42), 0 0 22px rgba(7,87,255,.28);
}
/* Homepage community desk scene */
.home-page main .kicker {
  color: var(--blue);
}
.home-page .community {
  display: block;
  padding: 0;
  background: #02040a;
}
.community-stage {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  align-items: center;
  min-height: clamp(720px, 43vw, 1040px);
  overflow: hidden;
}
.community-scene {
  position: absolute;
  z-index: -2;
  inset: 50% 0 auto;
  display: block;
  aspect-ratio: 1916 / 821;
  transform: translateY(-50%);
  overflow: hidden;
}
.community-scene::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, #02040a 0, transparent 8%, transparent 88%, #02040a 100%);
}
.community-scene img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left center;
}
.community-stage::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, #02040a 0, transparent 9%, transparent 89%, #02040a 100%),
    linear-gradient(90deg, transparent 49%, rgba(2,4,10,.14) 62%, rgba(2,4,10,.36) 100%);
}
.community-monitor-link {
  position: absolute;
  z-index: 1;
  inset: 0 auto auto 0;
  height: 100%;
  aspect-ratio: 1916 / 821;
  /* The hit area follows the monitor bezel, not a rectangular image box. */
  clip-path: polygon(7.31% 7.06%, 46.71% 17.05%, 47.18% 69.43%, 6.68% 71.99%);
}
.community-monitor-link::after {
  content: "";
  position: absolute;
  inset: 0;
  clip-path: polygon(8.35% 10.23%, 46% 19.24%, 46.37% 66.75%, 8.09% 68.45%);
  background: transparent;
  transition: background-color .24s ease;
}
.community-monitor-link:focus-visible::after {
  background: rgba(190,214,255,.1);
}
@media (hover: hover) and (pointer: fine) {
  .community-monitor-link:hover::after {
    background: rgba(190,214,255,.06);
  }
}
@media (prefers-reduced-motion: reduce) {
  .community-monitor-link::after {
    transition: none;
  }
}
.home-page .community-copy {
  position: relative;
  z-index: 2;
  grid-column: 2;
  width: 100%;
  max-width: 590px;
  padding: 64px clamp(28px, 4vw, 84px) 64px 0;
}
.home-page .community-heading .kicker {
  max-width: none;
  margin: 0 0 18px;
  font-size: 12px;
}
.home-page .community-kicker-white {
  color: #fff;
}
.home-page .community-copy h2 {
  max-width: none;
  margin: 0;
  font-size: 72px;
  line-height: .95;
}
.home-page .community-copy h2 span {
  width: max-content;
  max-width: 100%;
  font-size: 58px;
  white-space: nowrap;
}
.home-page .community-details {
  margin-top: 32px;
}
.home-page .community-details > p {
  max-width: 470px;
  margin: 0 0 26px;
  color: #c4ccd8;
  font-size: 17px;
  line-height: 1.7;
}
.home-page .community-mini-stats {
  gap: 38px;
  margin-bottom: 28px;
}
.home-page .community-mini-stats strong {
  font-size: 40px;
}
.home-page .community-mini-stats small {
  margin-top: 4px;
  letter-spacing: 0;
}
.home-page .community-page-links {
  display: flex;
  gap: 12px;
  width: min(100%, 370px);
}
.home-page .community-page-links .btn {
  flex: 1 1 0;
  min-width: 0;
  padding-inline: 16px;
}
.home-page .community-join {
  display: flex;
  gap: 12px;
  width: min(100%, 370px);
  margin: 12px 0 0;
}
.home-page .community-join img {
  width: 20px;
  height: 15px;
  flex: 0 0 auto;
  object-fit: contain;
}
.home-page .community-next-event {
  margin: 0 clamp(22px, 5vw, 92px) 64px;
  border-inline: 0;
  border-color: rgba(110,180,255,.22);
  background: #050b14;
}
@media (min-width: 1101px) and (max-width: 1399px) {
  .community-stage {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
    min-height: 690px;
  }
  .home-page .community-copy h2 {
    font-size: 64px;
  }
  .home-page .community-copy h2 span {
    font-size: 50px;
  }
}
@media (max-width: 1100px) {
  .community-stage {
    grid-template-columns: 1fr;
    min-height: 0;
    padding-top: 56px;
  }
  .community-scene {
    position: relative;
    z-index: 0;
    inset: auto;
    grid-row: 1;
    aspect-ratio: 1.65;
    transform: none;
  }
  .community-scene img {
    object-fit: cover;
    object-position: left center;
  }
  .community-stage::after {
    display: none;
  }
  .home-page .community-copy {
    grid-column: 1;
    grid-row: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
    gap: 32px;
    width: 100%;
    max-width: none;
    padding: 26px 32px 56px;
  }
  .home-page .community-copy h2 {
    font-size: 58px;
  }
  .home-page .community-copy h2 span {
    font-size: 45px;
  }
  .home-page .community-details {
    margin-top: 0;
  }
  .home-page .community-details > p {
    font-size: 16px;
  }
}
@media (max-width: 700px) {
  .community-stage {
    padding-top: 28px;
  }
  .community-scene {
    aspect-ratio: 1.25;
  }
  .home-page .community-copy {
    display: block;
    padding: 20px 24px 38px;
  }
  .home-page .community-copy h2 {
    font-size: 50px;
  }
  .home-page .community-copy h2 span {
    font-size: 40px;
  }
  .home-page .community-details {
    margin-top: 28px;
  }
  .home-page .community-next-event {
    margin: 0 22px 40px;
  }
}
@media (max-width: 360px) {
  .home-page .community-copy h2 {
    font-size: 44px;
  }
  .home-page .community-copy h2 span {
    font-size: 35px;
  }
}
