:root {
  --public-ink: #08080d;
  --public-ink-soft: #0e0d16;
  --public-panel: #14121d;
  --public-panel-strong: #1a1626;
  --public-border: #343043;
  --public-border-bright: #625778;
  --public-copy: #f7f5fb;
  --public-muted: #b9b2c6;
  --public-dim: #8f879c;
  --public-violet: #a85cff;
  --public-violet-strong: #7b2cff;
  --public-cyan: #73e9ff;
  --public-green: #68e1a1;
  --public-amber: #ffc56d;
  --public-red: #ff7c92;
  --public-max: 1180px;
  --public-radius: 22px;
  --public-shadow: 0 28px 80px rgba(0, 0, 0, 0.32);
}

/* Opt-in public server status pages. The presentation intentionally has no
   affordance for network addresses, owner identity, or operational detail. */
.public-server-body { min-height: 100vh; background: radial-gradient(circle at 74% 12%, rgba(145,76,255,.18), transparent 32%), #080910; color: var(--public-copy); }
.public-server-preview { padding: 10px 20px; background: #f5b942; color: #17120a; font-size: .82rem; font-weight: 800; letter-spacing: .04em; text-align: center; }
.public-server-nav { display: flex; align-items: center; justify-content: space-between; gap: 20px; width: min(calc(100% - 48px), 1120px); margin: 0 auto; padding: 22px 0; }
.public-server-nav .public-brand { display: inline-flex; align-items: center; }
.public-server-nav .public-brand img { display: block; width: 164px; height: auto; }
.public-server-nav__cta { width: auto; }
.public-server-main { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); gap: 32px; width: min(calc(100% - 48px), 1120px); margin: 0 auto; padding: 76px 0 96px; align-items: center; }
.public-server-card { position: relative; overflow: hidden; min-height: 440px; padding: clamp(30px, 5vw, 64px); border: 1px solid var(--public-border); border-radius: 24px; background: linear-gradient(145deg, rgba(19,21,34,.96), rgba(10,11,18,.92)); box-shadow: 0 28px 80px rgba(0,0,0,.36); }
.public-server-card::after { content: ''; position: absolute; width: 240px; height: 240px; right: -90px; bottom: -100px; border: 1px solid rgba(167,96,255,.28); border-radius: 50%; box-shadow: 0 0 90px rgba(143,77,255,.16); }
.public-server-card h1 { max-width: 720px; margin: 12px 0 8px; font-size: clamp(2.8rem, 7vw, 5.7rem); line-height: .95; overflow-wrap: anywhere; }
.public-server-card__game { margin: 0; color: #cbb3ff; font-size: 1.14rem; font-weight: 760; }
.public-server-card__description { max-width: 620px; margin: 28px 0 0; color: var(--public-muted); font-size: 1.06rem; }
.public-server-card__signal { display: flex; gap: 6px; position: absolute; right: 26px; top: 26px; }
.public-server-card__signal span { width: 7px; height: 7px; border-radius: 50%; background: rgba(189,158,255,.32); }
.public-server-card__signal span:first-child { background: #8ff0b0; box-shadow: 0 0 16px rgba(101,235,150,.65); }
.public-server-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 38px 0 0; overflow: hidden; border: 1px solid var(--public-border); border-radius: 14px; background: var(--public-border); }
.public-server-facts div { padding: 17px 18px; background: #10121d; }
.public-server-facts dt { color: var(--public-muted); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.public-server-facts dd { margin: 7px 0 0; font-weight: 760; }
.public-server-status { display: inline-flex; align-items: center; gap: 7px; }
.public-server-status::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: #9aa0af; }
.public-server-status--online::before { background: #6ce598; box-shadow: 0 0 12px rgba(108,229,152,.5); }
.public-server-status--starting::before { background: #f5b942; }
.public-server-boundary { display: grid; gap: 4px; margin-top: 24px; color: var(--public-muted); font-size: .82rem; }
.public-server-boundary strong { color: var(--public-copy); }
.public-server-cta { padding: 28px 12px; }
.public-server-cta h2 { margin: 12px 0 18px; font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.04; }
.public-server-cta > p:not(.public-kicker) { margin-bottom: 28px; color: var(--public-muted); }
.public-server-footer { display: flex; gap: 24px; width: min(calc(100% - 48px), 1120px); margin: 0 auto; padding: 0 0 40px; color: var(--public-muted); font-size: .82rem; }
.public-server-footer span { margin-left: auto; }

@media (max-width: 800px) {
  .public-server-main { grid-template-columns: 1fr; padding-top: 48px; }
  .public-server-card { min-height: 0; }
  .public-server-cta { padding-inline: 4px; }
}

@media (max-width: 520px) {
  .public-server-nav, .public-server-main, .public-server-footer { width: calc(100% - 32px); }
  .public-server-nav__cta { padding: 10px 13px; }
  .public-server-main { padding: 32px 0 64px; }
  .public-server-card { padding: 28px 22px; border-radius: 18px; }
  .public-server-card h1 { font-size: clamp(2.45rem, 14vw, 3.5rem); }
  .public-server-facts { grid-template-columns: 1fr; }
  .public-server-footer { flex-wrap: wrap; }
  .public-server-footer span { width: 100%; margin-left: 0; }
}

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body.app-guest {
  margin: 0;
  color: var(--public-copy);
  background:
    radial-gradient(circle at 80% -10%, rgba(123, 44, 255, 0.18), transparent 32rem),
    radial-gradient(circle at -10% 38%, rgba(115, 233, 255, 0.07), transparent 30rem),
    var(--public-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.55;
}

body.app-guest::before {
  position: fixed;
  inset: 0;
  z-index: -1;
  content: "";
  pointer-events: none;
  opacity: 0.14;
  background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(to bottom, black, transparent 80%);
}

body.app-guest::after { content: none; }

.app-guest *, .app-guest *::before, .app-guest *::after { box-sizing: border-box; }
.app-guest a { color: inherit; }
.app-guest img { max-width: 100%; }
.app-guest button, .app-guest input, .app-guest select, .app-guest textarea { font: inherit; }

.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;
}

.app-guest .flash-messages { width: min(calc(100% - 48px), var(--public-max)); display: grid; gap: 8px; margin: 24px auto 0; }
.app-guest .flash-messages article { margin: 0; padding: 10px 12px; border: 1px solid var(--public-border); border-left: 3px solid transparent; border-radius: 10px; }
.app-guest .flash-messages .success { border-left-color: var(--public-green); background: #122018; }
.app-guest .flash-messages .error,
.app-guest .flash-messages .danger { border-left-color: var(--public-red); background: #271216; }
.app-guest .flash-messages .warning,
.app-guest .flash-messages .info { border-left-color: var(--public-amber); background: #291f0f; }

.app-guest .guest-shell { width: 100%; max-width: none; min-height: 100vh; margin: 0; padding: 0; background: transparent; }
.app-guest .guest-content { width: 100%; max-width: none; display: block; gap: 0; margin: 0; padding: 0; }
.app-guest .guest-nav {
  position: sticky;
  top: 0;
  z-index: 50;
  display: flex;
  width: 100%;
  min-height: 74px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 0 max(24px, calc((100vw - var(--public-max)) / 2));
  border-bottom: 1px solid rgba(98, 87, 120, 0.38);
  background: rgba(8, 8, 13, 0.87);
  box-shadow: 0 12px 36px rgba(0,0,0,.2);
  backdrop-filter: blur(18px);
}

.app-guest .nav-brand a { display: flex; align-items: center; }
.app-guest .nav-brand__logo { display: block; width: 164px; height: auto; }
.app-guest .nav-links { display: flex; align-items: center; gap: 7px; }
.app-guest .nav-links > a {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  padding: 0 12px;
  border-radius: 10px;
  color: var(--public-muted);
  font-size: .9rem;
  font-weight: 700;
  text-decoration: none;
}
.app-guest .nav-links > a:hover { color: #fff; background: rgba(255,255,255,.06); }
.app-guest .nav-links > .nav-links__cta {
  margin-left: 6px;
  padding-inline: 18px;
  color: #fff;
  border: 1px solid #b677ff;
  background: linear-gradient(135deg, #8c39ea, #6020bf);
  box-shadow: inset 0 1px rgba(255,255,255,.2), 0 8px 22px rgba(123,44,255,.23);
}
.guest-nav__toggle { display: none; }

.public-content { overflow: clip; }
.public-section {
  width: min(calc(100% - 48px), var(--public-max));
  margin: 0 auto;
  padding: 104px 0;
}
.public-section--compact { padding-block: 76px; }
.public-content--inner .public-section:first-child { padding-top: 88px; }

.public-kicker {
  margin: 0 0 14px;
  color: var(--public-cyan);
  font-size: .73rem;
  font-weight: 850;
  letter-spacing: .16em;
  line-height: 1.2;
  text-transform: uppercase;
}
.public-heading { max-width: 760px; margin-bottom: 42px; }
.public-heading--center { margin-inline: auto; text-align: center; }
.public-heading--split { max-width: none; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr); gap: 60px; align-items: end; }
.public-heading--split > p { margin: 0 0 6px; color: var(--public-muted); }
.app-guest h1, .app-guest h2, .app-guest h3, .app-guest p { overflow-wrap: break-word; }
.app-guest h1, .app-guest h2, .app-guest h3 { color: var(--public-copy); }
.app-guest h1 {
  margin: 0;
  font-size: clamp(2.8rem, 6vw, 5.75rem);
  line-height: .98;
  letter-spacing: -.055em;
  font-weight: 840;
}
.app-guest h2 { margin: 0; font-size: clamp(2rem, 4vw, 3.7rem); line-height: 1.04; letter-spacing: -.042em; font-weight: 820; }
.app-guest h3 { letter-spacing: -.02em; }
.public-heading > p:last-child { color: var(--public-muted); font-size: 1.08rem; }
.public-lede { margin: 28px 0 0; max-width: 680px; color: var(--public-muted); font-size: clamp(1.05rem, 1.5vw, 1.22rem); }

.public-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 34px; }
.public-button {
  position: relative;
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 23px;
  border: 1px solid var(--public-border-bright);
  border-radius: 12px;
  color: #fff;
  background: rgba(255,255,255,.035);
  box-shadow: inset 0 1px rgba(255,255,255,.08);
  font: inherit;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}
.public-button:hover { border-color: #8c7ba5; background: rgba(255,255,255,.075); transform: translateY(-1px); }
.public-button--primary {
  border-color: #be80ff;
  background: linear-gradient(135deg, #9e4af4, #6720c6 62%, #4c1397);
  box-shadow: inset 0 1px rgba(255,255,255,.24), inset 0 -1px rgba(0,0,0,.4), 0 12px 30px rgba(123,44,255,.25);
}
.public-button--primary:hover { background: linear-gradient(135deg, #b562ff, #762ad5 62%, #5519a2); }
.public-button--small { min-height: 40px; padding-inline: 17px; font-size: .84rem; }
.public-button--quiet[disabled] { cursor: default; color: var(--public-muted); opacity: 1; transform: none; }
.app-guest a:focus-visible, .app-guest button:focus-visible, .app-guest input:focus-visible, .app-guest summary:focus-visible { outline: 3px solid var(--public-cyan); outline-offset: 3px; }

/* Account access */
.app-guest .guest-content.auth-content {
  width: min(calc(100% - 48px), 600px);
  max-width: 600px;
  margin: 0 auto;
  padding: 78px 0 104px;
}
.app-guest .guest-content.auth-content--wide { width: min(calc(100% - 48px), 680px); max-width: 680px; }
.app-guest .auth-shell > .flash-messages { width: min(calc(100% - 48px), 680px); margin: 24px auto -46px; }
.auth-view { display: grid; gap: 24px; }
.auth-header { text-align: center; }
.app-guest .auth-header h1 { max-width: none; font-size: clamp(2.65rem, 5vw, 4.2rem); line-height: 1; }
.auth-header > p:last-child { max-width: 560px; margin: 18px auto 0; color: var(--public-muted); font-size: 1.03rem; }
.auth-card {
  padding: 32px;
  border: 1px solid var(--public-border-bright);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(26,22,38,.96), rgba(14,13,22,.96));
  box-shadow: var(--public-shadow), inset 0 1px rgba(255,255,255,.05);
}
.auth-form { display: grid; gap: 10px; margin: 0; }
.auth-form label { display: flex; justify-content: space-between; gap: 12px; margin-top: 4px; color: var(--public-copy); font-size: .82rem; font-weight: 800; }
.auth-form label span { color: var(--public-dim); font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.app-guest .auth-form input:not([type="hidden"]) {
  width: 100%;
  min-height: 52px;
  margin: 0 0 4px;
  padding: 0 15px;
  border: 1px solid var(--public-border);
  border-radius: 11px;
  color: var(--public-copy);
  background: rgba(8,8,13,.78);
  font: inherit;
}
.app-guest .auth-form input:not([type="hidden"]):hover { border-color: var(--public-border-bright); }
.app-guest .auth-form > button,
.app-guest .auth-form__actions > button {
  min-height: 50px;
  margin-top: 12px;
  padding: 0 22px;
  border: 1px solid #be80ff;
  border-radius: 11px;
  color: #fff;
  background: linear-gradient(135deg, #9e4af4, #6720c6 62%, #4c1397);
  box-shadow: inset 0 1px rgba(255,255,255,.24), 0 12px 28px rgba(123,44,255,.2);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.app-guest .auth-form > button:hover,
.app-guest .auth-form__actions > button:hover { background: linear-gradient(135deg, #b562ff, #762ad5 62%, #5519a2); }
.auth-form__actions { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.auth-form__actions a,
.auth-switch a,
.auth-terms a,
.auth-note a { color: var(--public-cyan); font-weight: 750; }
.auth-help { margin: -2px 0 4px; color: var(--public-dim); font-size: .76rem; }
.auth-terms { margin: 8px 0 0; color: var(--public-dim); font-size: .73rem; }
.auth-switch { margin: 0; color: var(--public-muted); text-align: center; }
.auth-note { padding: 18px 20px; border: 1px solid var(--public-border); border-radius: 14px; background: var(--public-panel); overflow-wrap: anywhere; }
.auth-note p { margin: 0; }
.auth-note p + p { margin-top: 6px; }

.public-hero { min-height: 720px; display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(420px, .96fr); align-items: center; gap: 50px; padding-top: 76px; }
.public-hero__copy { position: relative; z-index: 2; }
.public-hero__copy h1 { max-width: 780px; }
.public-proof-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 46px 0 0; padding: 0; list-style: none; border: 1px solid var(--public-border); border-radius: 14px; overflow: hidden; background: var(--public-border); }
.public-proof-list li { padding: 16px 18px; background: rgba(14,13,22,.94); }
.public-proof-list strong, .public-proof-list span { display: block; }
.public-proof-list strong { color: #fff; font-size: .86rem; }
.public-proof-list span { margin-top: 3px; color: var(--public-dim); font-size: .72rem; line-height: 1.35; }
.public-proof-list--vertical { grid-template-columns: 1fr; max-width: 610px; }
.public-hero__art { position: relative; height: 600px; display: grid; place-items: center; }
.public-hero__art::before { position: absolute; width: 440px; height: 440px; content: ""; border-radius: 50%; background: radial-gradient(circle, rgba(155,70,255,.3), rgba(123,44,255,.05) 45%, transparent 70%); filter: blur(8px); }
.public-hero__mark { width: min(76%, 430px); position: relative; z-index: 1; filter: drop-shadow(0 28px 60px rgba(0,0,0,.55)) drop-shadow(0 0 24px rgba(158,74,244,.24)); }
.public-orbit { position: absolute; border: 1px solid rgba(180, 120, 255, .26); border-radius: 50%; }
.public-orbit--one { width: 460px; height: 460px; transform: rotate(18deg) skewX(9deg); }
.public-orbit--two { width: 560px; height: 330px; transform: rotate(-22deg); border-color: rgba(115,233,255,.13); }
.public-hero__server { position: absolute; right: -10px; bottom: 74px; z-index: 3; width: 190px; padding: 12px; border: 1px solid var(--public-border-bright); border-radius: 14px; background: rgba(13,11,20,.88); box-shadow: var(--public-shadow); backdrop-filter: blur(12px); }
.public-hero__server img { display: block; width: 100%; height: 74px; object-fit: cover; object-position: top; border-radius: 8px; opacity: .82; }
.public-hero__server span, .public-hero__server strong { display: block; margin-top: 7px; font-size: .68rem; letter-spacing: .14em; }
.public-hero__server span { color: var(--public-dim); }.public-hero__server strong { color: var(--public-green); }
.public-hero__server--promise img { width: 58px; height: 58px; margin-bottom: 10px; object-fit: contain; opacity: 1; }
.public-hero__server--promise strong { color: var(--public-cyan); font-size: .62rem; }

.flight-path { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 0; padding: 0; list-style: none; }
.flight-path::before { position: absolute; top: 52px; left: 15%; right: 15%; content: ""; border-top: 1px dashed rgba(168,92,255,.5); }
.flight-path li { position: relative; min-height: 260px; padding: 30px; border: 1px solid var(--public-border); border-radius: var(--public-radius); background: linear-gradient(145deg, rgba(26,22,38,.84), rgba(14,13,22,.72)); box-shadow: inset 0 1px rgba(255,255,255,.03); }
.flight-path li > img { width: 62px; height: 62px; object-fit: contain; filter: drop-shadow(0 0 18px rgba(168,92,255,.24)); }
.flight-path__number { position: absolute; right: 24px; top: 23px; color: #766b83; font-size: .75rem; font-weight: 850; letter-spacing: .16em; }
.flight-path h3 { margin: 18px 0 8px; font-size: 1.28rem; }.flight-path p { margin: 0; color: var(--public-muted); }

.console-preview, .tour-console { border: 1px solid var(--public-border-bright); border-radius: 24px; overflow: hidden; background: rgba(15,13,23,.96); box-shadow: var(--public-shadow), 0 0 80px rgba(123,44,255,.08); }
.console-preview__chrome { min-height: 58px; display: flex; align-items: center; justify-content: space-between; padding: 0 22px; border-bottom: 1px solid var(--public-border); background: linear-gradient(90deg, #1c172a, #12101b); }
.console-preview__brand { display: inline-flex; align-items: center; gap: 10px; color: var(--public-muted); font-size: .82rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }.console-preview__brand img { width: 28px; }
.public-status { display: inline-flex; align-items: center; gap: 8px; color: var(--public-copy); font-size: .76rem; font-weight: 800; }.public-status::before { width: 8px; height: 8px; content: ""; border-radius: 50%; background: currentColor; box-shadow: 0 0 12px currentColor; }.public-status--healthy { color: var(--public-green); }.public-status--signal { color: var(--public-cyan); }
.console-preview__body { display: grid; grid-template-columns: 270px 1fr; min-height: 340px; }
.console-preview__identity { position: relative; overflow: hidden; min-height: 340px; border-right: 1px solid var(--public-border); }.console-preview__identity::after { position: absolute; inset: 0; content: ""; background: linear-gradient(to top, #100d18 12%, rgba(16,13,24,.12) 78%); }.console-preview__identity > img { width: 100%; height: 100%; object-fit: cover; opacity: .66; }.console-preview__identity div { position: absolute; z-index: 2; left: 24px; right: 24px; bottom: 24px; }.console-preview__identity span, .console-preview__identity strong { display: block; }.console-preview__identity span { color: var(--public-muted); font-size: .75rem; }.console-preview__identity strong { margin-top: 3px; font-size: 1.28rem; }
.console-preview__main { display: flex; flex-direction: column; justify-content: center; gap: 28px; padding: 32px; }.console-preview__headline { display: flex; justify-content: space-between; gap: 20px; align-items: center; }.console-preview__headline span, .console-preview__headline strong { display: block; }.console-preview__headline span { color: var(--public-dim); font-size: .76rem; text-transform: uppercase; letter-spacing: .1em; }.console-preview__headline strong { margin-top: 4px; color: var(--public-green); font-size: 1.35rem; }
.console-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }.console-metrics article { display: grid; grid-template-columns: 34px 1fr; grid-template-rows: auto auto; column-gap: 10px; padding: 16px; border: 1px solid var(--public-border); border-radius: 12px; background: rgba(255,255,255,.025); }.console-metrics img { grid-row: 1 / 3; width: 34px; height: 34px; object-fit: contain; align-self: center; }.console-metrics span { color: var(--public-dim); font-size: .72rem; }.console-metrics strong { font-size: 1.05rem; }
.console-log { padding: 15px 18px; border: 1px solid var(--public-border); border-radius: 10px; color: var(--public-muted); background: #0a0910; font: .78rem/1.4 ui-monospace, SFMono-Regular, Consolas, monospace; }.console-log span { color: var(--public-dim); }.console-log strong { float: right; color: var(--public-green); }
.public-inline-action { margin-top: 20px; text-align: right; }.public-inline-action a { color: var(--public-cyan); font-weight: 800; text-decoration: none; }.public-inline-action a:hover { text-decoration: underline; }

.game-card-row { display: grid; grid-template-columns: 1.25fr repeat(5, 1fr); gap: 12px; }.game-poster { position: relative; min-height: 290px; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; padding: 18px; border: 1px solid var(--public-border); border-radius: 16px; text-decoration: none; background: #111; }.game-poster::after { position: absolute; inset: 0; content: ""; background: linear-gradient(to top, rgba(8,8,13,.98), rgba(8,8,13,.05) 72%); }.game-poster > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }.game-poster span, .game-poster strong { position: relative; z-index: 2; }.game-poster span { color: var(--public-cyan); font-size: .59rem; line-height: 1.3; letter-spacing: .08em; text-transform: uppercase; }.game-poster strong { margin-top: 5px; line-height: 1.2; }.game-poster:hover { border-color: var(--public-violet); }.game-poster:hover img { transform: scale(1.035); }.game-poster--featured { border-color: rgba(168,92,255,.62); }

.ownership-panel { display: grid; grid-template-columns: 1.15fr .85fr; gap: 54px; align-items: center; }.ownership-panel__copy > p:not(.public-kicker) { color: var(--public-muted); max-width: 620px; }.ownership-panel__facts { display: grid; gap: 1px; margin-top: 34px; border: 1px solid var(--public-border); border-radius: 14px; overflow: hidden; background: var(--public-border); }.ownership-panel__facts article { display: grid; grid-template-columns: minmax(170px,.6fr) 1fr; gap: 18px; padding: 16px 18px; background: var(--public-ink-soft); }.ownership-panel__facts span { color: var(--public-muted); }
.plan-card { position: relative; padding: 34px; border: 1px solid #8f59c5; border-radius: 24px; background: linear-gradient(145deg, rgba(87,35,142,.32), rgba(20,18,29,.98) 52%); box-shadow: var(--public-shadow), inset 0 1px rgba(255,255,255,.08); }.plan-card > p:first-child { margin: 0; color: var(--public-cyan); text-transform: uppercase; font-weight: 850; letter-spacing: .13em; font-size: .72rem; }.plan-card h3 { margin: 10px 0 20px; font-size: 1.7rem; }.plan-card h3 strong { float: right; color: #fff; font-size: 2.2rem; }.plan-card ul { padding: 0; margin: 0 0 26px; list-style: none; }.plan-card li { position: relative; padding: 8px 0 8px 26px; color: var(--public-muted); }.plan-card li::before { position: absolute; left: 0; color: var(--public-green); content: "✓"; }.plan-card .public-button { width: 100%; }.plan-card__note { margin: 20px 0 0; color: var(--public-dim); font-size: .77rem; }
.public-faq__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.public-faq details { padding: 0 20px; border: 1px solid var(--public-border); border-radius: 14px; background: rgba(20,18,29,.72); }.public-faq summary { min-height: 64px; display: flex; align-items: center; justify-content: space-between; cursor: pointer; color: var(--public-copy); font-weight: 800; }.public-faq summary::after { content: "+"; color: var(--public-violet); font-size: 1.35rem; }.public-faq details[open] summary::after { content: "−"; }.public-faq details p { margin: 0 0 20px; color: var(--public-muted); }
.public-final-cta { position: relative; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 26px; margin-bottom: 80px; padding: 40px; border: 1px solid #7b559e; border-radius: 24px; background: radial-gradient(circle at 0, rgba(168,92,255,.2), transparent 26rem), #14111e; box-shadow: var(--public-shadow); }.public-final-cta > img { width: 86px; filter: drop-shadow(0 0 20px rgba(168,92,255,.3)); }.public-final-cta h2 { font-size: clamp(1.7rem, 3vw, 2.6rem); }.public-final-cta p:not(.public-kicker) { margin: 8px 0 0; color: var(--public-muted); }.public-final-cta .public-actions { margin-top: 0; }
.public-footer { position: relative; width: min(calc(100% - 48px), var(--public-max)); min-height: 300px; display: grid; grid-template-columns: 1fr 1fr; gap: 70px; margin: 0 auto; padding: 70px 0 120px; border-top: 1px solid var(--public-border); overflow: hidden; }.public-footer__brand img { width: 190px; }.public-footer__brand p { max-width: 360px; color: var(--public-muted); }.public-footer__links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }.public-footer__links div { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }.public-footer__links strong { margin-bottom: 5px; font-size: .76rem; text-transform: uppercase; letter-spacing: .1em; }.public-footer__links a { color: var(--public-muted); text-decoration: none; font-size: .88rem; }.public-footer__links a:hover { color: #fff; }.public-footer__tentacle { position: absolute; right: -20px; bottom: -48px; width: 370px; opacity: .3; pointer-events: none; }

/* Product tour */
.tour-hero { display: grid; grid-template-columns: minmax(0,.88fr) minmax(520px,1.12fr); gap: 64px; align-items: center; }.tour-hero h1 { font-size: clamp(2.8rem,5vw,4.9rem); }.tour-console__header { min-height: 58px; display: flex; align-items: center; justify-content: space-between; padding: 0 22px; border-bottom: 1px solid var(--public-border); background: linear-gradient(90deg,#211931,#12101b); font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; }.tour-console__header span { color: var(--public-muted); }.tour-console__header i { display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: var(--public-amber); }.tour-tabs { display: flex; gap: 4px; padding: 12px 14px 0; border-bottom: 1px solid var(--public-border); }.tour-tabs button { min-height: 42px; padding: 0 16px; border: 0; border-bottom: 2px solid transparent; color: var(--public-dim); background: transparent; font: inherit; font-size: .82rem; font-weight: 800; cursor: pointer; }.tour-tabs button[aria-selected="true"] { border-bottom-color: var(--public-violet); color: #fff; }.tour-console__panel { min-height: 350px; padding: 26px; }.tour-console__state { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-bottom: 22px; }.tour-console__state span, .tour-console__state strong { display: block; }.tour-console__state div > span { color: var(--public-dim); font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; }.tour-console__state div > strong { margin-top: 4px; font-size: 1.22rem; }.tour-next-action { display: flex; align-items: center; gap: 14px; margin-top: 20px; padding: 16px; border: 1px solid var(--public-border); border-radius: 12px; background: rgba(104,225,161,.05); }.tour-next-action img { width: 40px; }.tour-next-action span, .tour-next-action strong { display: block; }.tour-next-action span { color: var(--public-dim); font-size: .7rem; text-transform: uppercase; letter-spacing: .1em; }.tour-next-action strong { margin-top: 4px; font-size: .88rem; }.tour-list { display: grid; gap: 8px; }.tour-list div { display: flex; justify-content: space-between; gap: 20px; padding: 15px; border: 1px solid var(--public-border); border-radius: 10px; }.tour-list strong { color: var(--public-green); font-size: .82rem; }
.proof-rail { width: min(calc(100% - 48px), var(--public-max)); display: grid; grid-template-columns: repeat(4,1fr); margin: -14px auto 10px; border: 1px solid var(--public-border); border-radius: 14px; overflow: hidden; background: var(--public-border); }.proof-rail div { padding: 17px; background: var(--public-ink-soft); }.proof-rail strong,.proof-rail span { display: block; }.proof-rail strong { font-size: .84rem; }.proof-rail span { margin-top: 3px; color: var(--public-dim); font-size: .7rem; }
.architecture-flow { position: relative; display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin: 0; padding: 0; list-style: none; }.architecture-flow::before { position: absolute; left: 12%; right: 12%; top: 45px; content: ""; border-top: 1px dashed var(--public-violet); }.architecture-flow li { position: relative; z-index: 1; min-height: 180px; padding: 22px; border: 1px solid var(--public-border); border-radius: 16px; background: var(--public-panel); }.architecture-flow img { width: 50px; height: 50px; object-fit: contain; }.architecture-flow span,.architecture-flow strong { display: block; }.architecture-flow span { margin-top: 20px; font-weight: 800; }.architecture-flow strong { margin-top: 4px; color: var(--public-dim); font-size: .75rem; }
.feature-visual { overflow: hidden; margin: 0; border: 1px solid var(--public-border-bright); border-radius: 24px; background: #08070d; box-shadow: var(--public-shadow), 0 0 80px rgba(123,44,255,.08); }.feature-visual > img { display: block; width: 100%; height: auto; }.feature-visual figcaption { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; border-top: 1px solid var(--public-border); background: var(--public-border); }.feature-visual figcaption span { padding: 18px 20px; color: var(--public-muted); background: linear-gradient(145deg, rgba(26,22,38,.98), rgba(14,13,22,.98)); font-size: .82rem; line-height: 1.45; }.feature-visual figcaption strong { display: block; margin-bottom: 4px; color: var(--public-copy); font-size: .92rem; }
.job-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 20px; }.job-tabs { display: grid; gap: 8px; }.job-tabs button { min-height: 78px; display: flex; align-items: center; gap: 14px; padding: 14px; border: 1px solid var(--public-border); border-radius: 13px; color: var(--public-muted); background: rgba(20,18,29,.7); text-align: left; font: inherit; cursor: pointer; }.job-tabs button[aria-selected="true"] { border-color: var(--public-violet); color: #fff; background: rgba(123,44,255,.14); }.job-tabs img { width: 44px; height: 44px; object-fit: contain; }.job-tabs span,.job-tabs strong { display: block; }.job-tabs strong { font-size: 1rem; }.job-tabs span { font-size: .78rem; }.job-panel { min-height: 336px; padding: 42px; border: 1px solid var(--public-border-bright); border-radius: 20px; background: radial-gradient(circle at 100% 0, rgba(123,44,255,.14), transparent 50%), var(--public-panel); }.job-panel > p { color: var(--public-cyan); text-transform: uppercase; letter-spacing: .12em; font-size: .7rem; font-weight: 850; }.job-panel h3 { max-width: 520px; margin: 18px 0; font-size: 2rem; }.job-panel ul { padding-left: 20px; color: var(--public-muted); }.job-panel li { margin-block: 10px; }

/* Games hub */
.games-hero { padding-bottom: 72px; }.games-hero .public-heading p:last-child { max-width: 730px; margin-inline: auto; }.game-picker { min-width: 0; display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 18px; }.game-picker__list { min-width: 0; max-width: 100%; display: grid; gap: 7px; align-content: start; }.game-picker__list button { min-width: 0; min-height: 78px; display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; align-items: center; gap: 13px; padding: 9px; border: 1px solid var(--public-border); border-radius: 13px; color: var(--public-muted); background: rgba(20,18,29,.78); text-align: left; font: inherit; cursor: pointer; }.game-picker__list button[aria-checked="true"] { border-color: var(--public-violet); color: #fff; background: rgba(123,44,255,.16); box-shadow: inset 3px 0 var(--public-violet); }.game-picker__list img { width: 52px; height: 58px; object-fit: cover; border-radius: 7px; }.game-picker__list span,.game-picker__list strong,.game-picker__list small { display: block; min-width: 0; }.game-picker__list strong { font-size: .86rem; line-height: 1.2; }.game-picker__list small { margin-top: 4px; color: var(--public-dim); font-size: .63rem; }.game-picker__list i { display: none; color: var(--public-green); font-style: normal; }.game-picker__list button[aria-checked="true"] i { display: block; }
.game-picker__detail { min-height: 505px; display: grid; grid-template-columns: .82fr 1.18fr; overflow: hidden; border: 1px solid var(--public-border-bright); border-radius: 22px; background: var(--public-panel); }.game-picker__art { position: relative; min-height: 505px; overflow: hidden; }.game-picker__art::after { position: absolute; inset: 0; content: ""; background: linear-gradient(to top, rgba(14,13,22,.96), transparent 60%); }.game-picker__art img { width: 100%; height: 100%; object-fit: cover; }.game-picker__art span { position: absolute; z-index: 2; left: 24px; bottom: 24px; padding: 7px 10px; border: 1px solid rgba(115,233,255,.5); border-radius: 7px; color: var(--public-cyan); background: rgba(8,8,13,.78); font-size: .65rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }.game-picker__copy { display: flex; flex-direction: column; justify-content: center; padding: 42px; }.game-picker__copy > p { color: var(--public-cyan); font-size: .73rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }.game-picker__copy h2 { font-size: clamp(2rem,3.6vw,3.25rem); }.game-picker__copy dl { display: grid; gap: 1px; margin: 28px 0 0; border: 1px solid var(--public-border); border-radius: 12px; overflow: hidden; background: var(--public-border); }.game-picker__copy dl div { display: grid; grid-template-columns: 135px 1fr; gap: 14px; padding: 11px 14px; background: #12101a; }.game-picker__copy dt { color: var(--public-dim); font-size: .73rem; }.game-picker__copy dd { margin: 0; color: var(--public-copy); font-size: .78rem; font-weight: 750; }
.readiness-checker { display: grid; grid-template-columns: 1.1fr .7fr 1fr; gap: 18px; align-items: stretch; }.readiness-checker fieldset,.memory-control,.readiness-result { margin: 0; padding: 22px; border: 1px solid var(--public-border); border-radius: 16px; background: var(--public-panel); }.readiness-checker legend,.memory-control > span { padding: 0; color: var(--public-dim); font-size: .7rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }.choice-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 12px; }.choice-row label { cursor: pointer; }.choice-row input { position: absolute; width: 1px; height: 1px; opacity: 0; }.choice-row span { min-height: 42px; display: grid; place-items: center; padding: 7px; border: 1px solid var(--public-border); border-radius: 9px; color: var(--public-muted); font-size: .78rem; text-align: center; }.choice-row input:checked + span { border-color: var(--public-violet); color: #fff; background: rgba(123,44,255,.17); }.choice-row input:focus-visible + span { outline: 3px solid var(--public-cyan); outline-offset: 2px; }.memory-control { display: flex; flex-direction: column; justify-content: center; }.memory-control strong { display: block; margin: 12px 0; font-size: 1.8rem; }.memory-control input { width: 100%; accent-color: var(--public-violet); }.readiness-result { display: flex; align-items: center; gap: 14px; }.readiness-result img { width: 48px; }.readiness-result span,.readiness-result strong,.readiness-result a { display: block; }.readiness-result span { color: var(--public-dim); font-size: .69rem; }.readiness-result strong { margin: 5px 0; line-height: 1.25; }.readiness-result a { color: var(--public-cyan); font-size: .74rem; font-weight: 800; text-decoration: none; }
.game-outcomes__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }.game-outcomes article { padding: 26px; border: 1px solid var(--public-border); border-radius: 17px; background: var(--public-panel); }.game-outcomes img { width: 58px; height: 58px; object-fit: contain; }.game-outcomes h3 { margin: 18px 0 8px; }.game-outcomes p { margin: 0; color: var(--public-muted); }.compare-panel { display: grid; grid-template-columns: 1fr .8fr; gap: 60px; align-items: center; }.compare-panel > div > p:last-child { color: var(--public-muted); }.compare-panel ul { margin: 0; padding: 0; border: 1px solid var(--public-border); border-radius: 15px; overflow: hidden; list-style: none; }.compare-panel li { display: flex; justify-content: space-between; gap: 20px; padding: 15px 18px; border-bottom: 1px solid var(--public-border); background: var(--public-panel); }.compare-panel li:last-child { border: 0; }.compare-panel span { color: var(--public-dim); }.compare-panel strong { text-align: right; }

.public-catalog-filters { display: grid; grid-template-columns: minmax(230px,1.4fr) repeat(3,minmax(130px,.72fr)) auto; gap: 10px; align-items: end; margin-bottom: 20px; padding: 16px; border: 1px solid var(--public-border); border-radius: 16px; background: rgba(20,18,29,.72); }
.public-catalog-filter { display: grid; gap: 6px; min-width: 0; }
.public-catalog-filter > span { color: var(--public-dim); font-size: .65rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.public-catalog-filter input,.public-catalog-filter select { width: 100%; min-width: 0; min-height: 42px; margin: 0; padding: 8px 10px; border: 1px solid var(--public-border); border-radius: 9px; color: var(--public-copy); background: #12101a; font: inherit; font-size: .78rem; }
.public-catalog-filter input:focus-visible,.public-catalog-filter select:focus-visible { outline: 3px solid var(--public-cyan); outline-offset: 2px; }
.public-catalog-filters > p { min-width: 58px; margin: 0 0 11px; color: var(--public-muted); font-size: .75rem; font-weight: 800; text-align: right; }
.game-picker__group { display: grid; gap: 7px; }
.game-picker__group + .game-picker__group { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--public-border); }
.game-picker__group > header { position: relative; padding: 0 38px 2px 2px; }
.game-picker__group > header h2 { margin: 0; color: #fff; font-size: .82rem; }
.game-picker__group > header p { margin: 3px 0 0; color: var(--public-dim); font-size: .62rem; line-height: 1.35; }
.game-picker__group > header span { position: absolute; top: 0; right: 2px; color: var(--public-cyan); font-size: .64rem; font-weight: 850; }
.public-catalog-empty { margin: 20px 0 0; padding: 20px; border: 1px dashed var(--public-border-bright); border-radius: 14px; color: var(--public-muted); text-align: center; }

@media (max-width: 1040px) {
  .public-hero { grid-template-columns: 1fr .75fr; min-height: 650px; }.public-hero__art { height: 510px; }.public-hero__server { right: 0; }.game-card-row { grid-template-columns: repeat(3,1fr); }.game-poster { min-height: 260px; }.tour-hero { grid-template-columns: 1fr; }.tour-hero__copy { max-width: 780px; }.public-proof-list--vertical { grid-template-columns: repeat(3,1fr); max-width: none; }.game-picker { grid-template-columns: 240px 1fr; }.game-picker__detail { grid-template-columns: .7fr 1.3fr; }.readiness-checker { grid-template-columns: 1fr 1fr; }.readiness-result { grid-column: 1 / -1; }
}

@media (max-width: 1040px) {
  .public-catalog-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .public-catalog-filters > p { grid-column: 1 / -1; margin: 0; text-align: left; }
}

@media (max-width: 780px) {
  .app-guest .guest-nav { min-height: 68px; padding-inline: 20px; }.app-guest .nav-brand__logo { width: 145px; }.guest-nav__toggle { position: relative; z-index: 52; width: 44px; height: 44px; display: grid; place-content: center; gap: 5px; border: 1px solid var(--public-border); border-radius: 10px; background: var(--public-panel); }.guest-nav__toggle > span:not(.sr-only) { display: block; width: 20px; border-top: 2px solid #fff; transition: transform .18s ease; }.app-guest .nav-links { position: fixed; top: 68px; left: 0; right: 0; max-height: calc(100vh - 68px); display: grid; align-content: start; gap: 4px; padding: 16px 20px 24px; overflow-y: auto; border-bottom: 1px solid var(--public-border); background: rgba(8,8,13,.98); box-shadow: 0 24px 50px rgba(0,0,0,.5); }.app-guest .nav-links:not(.is-open) { display: none; }.app-guest .nav-links > a { min-height: 48px; padding-inline: 14px; }.app-guest .nav-links > .nav-links__cta { margin: 8px 0 0; justify-content: center; }
  .public-section { width: min(calc(100% - 32px), var(--public-max)); padding-block: 72px; }.public-content--inner .public-section:first-child { padding-top: 62px; }.public-heading--split { grid-template-columns: 1fr; gap: 18px; }.public-heading { margin-bottom: 30px; }.public-hero { min-height: 0; grid-template-columns: 1fr; gap: 18px; padding-top: 58px; }.public-hero__art { height: 390px; grid-row: 2; }.public-hero__mark { width: 310px; }.public-orbit--one { width: 330px; height: 330px; }.public-orbit--two { width: 380px; height: 250px; }.public-hero__server { right: 6%; bottom: 18px; width: 160px; }.public-proof-list { grid-template-columns: 1fr; }.flight-path { grid-template-columns: 1fr; }.flight-path::before { top: 8%; bottom: 8%; left: 44px; right: auto; border-top: 0; border-left: 1px dashed rgba(168,92,255,.5); }.flight-path li { min-height: 0; padding-left: 92px; }.flight-path li > img { position: absolute; left: 20px; top: 30px; width: 52px; height: 52px; }.console-preview__body { grid-template-columns: 1fr; }.console-preview__identity { min-height: 190px; border-right: 0; border-bottom: 1px solid var(--public-border); }.console-preview__identity > img { height: 190px; }.console-metrics { grid-template-columns: 1fr; }.game-card-row { display: flex; overflow-x: auto; padding-bottom: 10px; scroll-snap-type: x mandatory; }.game-poster { flex: 0 0 210px; scroll-snap-align: start; }.ownership-panel { grid-template-columns: 1fr; }.public-final-cta { grid-template-columns: auto 1fr; }.public-final-cta .public-actions { grid-column: 1 / -1; }.public-footer { grid-template-columns: 1fr; gap: 34px; }.proof-rail { grid-template-columns: 1fr 1fr; }.architecture-flow { grid-template-columns: 1fr 1fr; }.architecture-flow::before { display: none; }.job-layout { grid-template-columns: 1fr; }.job-tabs { grid-template-columns: 1fr 1fr; }.game-picker { grid-template-columns: 1fr; }.game-picker__list { grid-template-columns: 1fr 1fr; }.game-picker__detail { grid-template-columns: .7fr 1.3fr; min-height: 450px; }.game-picker__art { min-height: 450px; }.game-picker__copy { padding: 28px; }.game-picker__copy dl div { grid-template-columns: 1fr; gap: 3px; }.game-picker__copy .public-actions { flex-direction: column; align-items: stretch; }.game-outcomes__grid { grid-template-columns: 1fr; }.compare-panel { grid-template-columns: 1fr; gap: 30px; }
  .feature-visual figcaption { grid-template-columns: 1fr; }
}

@media (max-width: 780px) {
  .game-picker__list { grid-template-columns: minmax(0,1fr); }
  .game-picker__group { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .game-picker__group > header { grid-column: 1 / -1; }
}

@media (max-width: 520px) {
  body.app-guest { font-size: 15px; }.public-section { padding-block: 58px; }.app-guest h1 { font-size: clamp(2.5rem, 13vw, 3.5rem); }.app-guest h2 { font-size: 2.15rem; }.app-guest .guest-content.auth-content { width: calc(100% - 32px); padding: 48px 0 72px; }.app-guest .auth-shell > .flash-messages { width: calc(100% - 32px); margin-bottom: -24px; }.app-guest .auth-header h1 { font-size: clamp(2.35rem, 12vw, 3rem); }.auth-card { padding: 22px 18px; border-radius: 17px; }.auth-form__actions { align-items: stretch; flex-direction: column; gap: 14px; }.app-guest .auth-form__actions > button { width: 100%; }.auth-form__actions a { text-align: center; }.public-actions { flex-direction: column; align-items: stretch; }.public-button { width: 100%; }.public-hero { padding-top: 44px; }.public-hero__art { height: 330px; }.public-hero__mark { width: 250px; }.public-orbit--one { width: 280px; height: 280px; }.public-orbit--two { width: 330px; height: 200px; }.public-hero__server { width: 140px; right: 0; }.public-hero__server img { height: 54px; }.console-preview__main { padding: 20px; }.console-preview__headline { align-items: flex-end; }.console-log strong { display: block; float: none; margin-top: 4px; }.game-poster { flex-basis: 176px; min-height: 240px; }.ownership-panel__facts article { grid-template-columns: 1fr; gap: 4px; }.plan-card { padding: 24px; }.public-faq__grid { grid-template-columns: 1fr; }.public-final-cta { grid-template-columns: 1fr; padding: 28px; }.public-final-cta > img { width: 68px; }.public-final-cta .public-actions { grid-column: auto; }.public-footer { width: calc(100% - 32px); padding-top: 52px; }.public-footer__links { grid-template-columns: 1fr 1fr; }.public-proof-list--vertical { grid-template-columns: 1fr; }.tour-console__panel { min-height: 390px; padding: 18px; }.tour-console .console-metrics { grid-template-columns: 1fr; }.proof-rail { grid-template-columns: 1fr; }.architecture-flow { grid-template-columns: 1fr; }.job-tabs { grid-template-columns: 1fr; }.job-panel { min-height: 0; padding: 28px; }.game-picker__list { display: grid; grid-template-columns: 1fr; overflow: visible; padding-bottom: 0; }.game-picker__list button { width: 100%; }.game-picker__detail { grid-template-columns: 1fr; }.game-picker__art { min-height: 230px; height: 230px; }.game-picker__copy { padding: 24px; }.readiness-checker { grid-template-columns: 1fr; }.readiness-result { grid-column: auto; }.choice-row { grid-template-columns: 1fr 1fr; }.compare-panel li { flex-direction: column; gap: 3px; }.compare-panel strong { text-align: left; }
}

@media (max-width: 520px) {
  .public-catalog-filters,.game-picker__group { grid-template-columns: minmax(0,1fr); }
  .public-catalog-filters > p,.game-picker__group > header { grid-column: auto; }
}

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

/* Catalog-generated public game acquisition pages. */
.public-game-guides { margin-top: 34px; padding: 24px; border: 1px solid var(--public-border); border-radius: 18px; background: rgba(14, 14, 24, .72); }
.public-game-guides ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 14px 0 0; padding: 0; list-style: none; }
.public-game-guides a { display: flex; justify-content: space-between; gap: 16px; min-height: 48px; padding: 13px 15px; border: 1px solid rgba(255, 255, 255, .08); border-radius: 12px; color: var(--public-copy); text-decoration: none; }
.public-game-guides a:hover { border-color: var(--public-violet); color: #fff; }
.public-game-breadcrumbs { padding-top: 28px !important; padding-bottom: 0; }
.public-game-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; color: var(--public-muted); list-style: none; }
.public-game-breadcrumbs li:not(:last-child)::after { margin-left: 8px; color: rgba(255, 255, 255, .28); content: "/"; }
.public-game-breadcrumbs a { color: var(--public-cyan); }
.public-game-hero { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(320px, .88fr); align-items: center; gap: 56px; padding-top: 44px !important; }
.public-game-hero__copy { max-width: 760px; }
.public-game-hero__copy h1 { max-width: 900px; }
.public-game-hero__lede { max-width: 780px; margin-top: 22px; color: var(--public-copy); font-size: clamp(1.1rem, 1.5vw, 1.35rem); line-height: 1.65; }
.public-game-hero__copy > p:not(.public-kicker, .public-game-hero__lede) { max-width: 780px; color: var(--public-muted); line-height: 1.7; }
.public-game-hero__art { position: relative; min-height: 380px; overflow: hidden; border: 1px solid var(--public-border); border-radius: 24px; background: #101018; box-shadow: 0 24px 80px rgba(0, 0, 0, .38); }
.public-game-hero__art::after { position: absolute; inset: 0; background: linear-gradient(to top, rgba(8, 8, 14, .9), transparent 58%); content: ""; }
.public-game-hero__art img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.public-game-hero__art span { position: absolute; z-index: 1; right: 20px; bottom: 20px; left: 20px; color: var(--public-cyan); font-size: .75rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.public-game-badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0; padding: 0; list-style: none; }
.public-game-badges li { padding: 8px 11px; border: 1px solid rgba(49, 217, 255, .28); border-radius: 999px; background: rgba(49, 217, 255, .07); color: var(--public-cyan); font-size: .75rem; font-weight: 750; }
.public-game-section { border-top: 1px solid rgba(255, 255, 255, .08); }
.public-game-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0 0 28px; }
.public-game-facts div { min-width: 0; padding: 20px; border: 1px solid var(--public-border); border-radius: 15px; background: rgba(15, 15, 25, .78); }
.public-game-facts dt { color: var(--public-muted); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.public-game-facts dd { margin: 9px 0 0; overflow-wrap: anywhere; color: #fff; font-weight: 760; line-height: 1.4; }
.public-game-prose { max-width: 860px; color: var(--public-muted); line-height: 1.7; }
.public-game-prose ul, .public-game-panel ul, .public-game-panel ol { display: grid; gap: 10px; padding-left: 22px; }
.public-game-two-column { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.public-game-panel { min-width: 0; padding: clamp(24px, 3vw, 38px); border: 1px solid var(--public-border); border-radius: 20px; background: linear-gradient(145deg, rgba(22, 22, 35, .94), rgba(12, 12, 20, .92)); }
.public-game-panel h2 { margin-bottom: 20px; font-size: clamp(1.75rem, 3vw, 2.45rem); }
.public-game-panel p, .public-game-panel li { color: var(--public-muted); line-height: 1.65; }
.public-game-note { margin-top: 24px; padding: 14px 16px; border-left: 3px solid var(--public-cyan); background: rgba(49, 217, 255, .06); }
.public-game-panel--limits { border-color: rgba(255, 184, 92, .25); }
.public-game-tool-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.public-game-tool-grid article { min-width: 0; padding: 20px; border: 1px solid rgba(255, 255, 255, .09); border-radius: 14px; background: rgba(12, 12, 20, .76); }
.public-game-tool-grid h3 { margin: 0 0 9px; color: #fff; font-size: 1rem; }
.public-game-tool-grid p { margin: 0; color: var(--public-muted); font-size: .88rem; line-height: 1.55; }
.public-game-related ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.public-game-related a { display: flex; justify-content: space-between; gap: 18px; min-height: 58px; padding: 17px 18px; border: 1px solid var(--public-border); border-radius: 14px; background: rgba(15, 15, 25, .74); color: var(--public-copy); text-decoration: none; }
.public-game-related a:hover { border-color: var(--public-violet); color: #fff; }

@media (max-width: 900px) {
  .public-game-hero { grid-template-columns: 1fr; gap: 30px; }
  .public-game-hero__art { min-height: 330px; }
  .public-game-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .public-game-tool-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .public-game-guides ul, .public-game-two-column, .public-game-related ul { grid-template-columns: 1fr; }
  .public-game-hero__art { min-height: 240px; }
  .public-game-facts, .public-game-tool-grid { grid-template-columns: 1fr; }
  .public-game-breadcrumbs { padding-top: 20px !important; }
}
