/* User-requested Home refinements, November 6, 2026. */
:root {
  --header-height: 93px;
}
.site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  box-shadow: 0 3px 16px #08293412;
}
.searchbar {
  background: var(--cream);
}
.language-flag {
  display: block;
  width: 25px;
  height: 17px;
  object-fit: cover;
  border-radius: 3px;
  box-shadow: 0 0 0 1px #13292e20;
  flex-shrink: 0;
}
.language-option {
  justify-content: flex-start;
}
.language-option-status {
  margin-left: auto;
}
.language-trigger .language-flag {
  width: 24px;
  height: 16px;
}
/* Painted surfaces stay within the original fact-list geometry. */
.full-facts {
  border-top-color: #b8c9c5;
}
.full-facts ul {
  list-style: none;
  padding-left: 20px;
  color: #153e43;
  position: relative;
}
.full-facts li {
  position: relative;
  background: linear-gradient(100deg, #dce9e3dd, #eee9d966);
  border-radius: 5px 11px 11px 5px;
  box-shadow:
    10px 0 0 #eee9d966,
    -10px 0 0 #dce9e3dd,
    inset 0 -1px 0 #ffffff90;
}
.full-facts li::before {
  content: "";
  position: absolute;
  left: -18px;
  top: 7px;
  width: 7px;
  height: 14px;
  background: linear-gradient(#ffbf2a, #db8700);
  border-radius: 2px;
  box-shadow: 0 2px 0 #8e570038;
  transform: skewY(-12deg);
}
.summary-grid {
  align-items: stretch;
}
.summary-grid > .featured-games {
  align-self: start;
}
.pros {
  --verdict: #23794d;
  background: linear-gradient(135deg, #e4efe3, #fffaf1 80%);
  border-color: #73a887;
  box-shadow:
    inset 0 4px 0 #31845a,
    0 3px 0 #24633c12;
}
.cons {
  --verdict: #b44b42;
  background: linear-gradient(135deg, #f5e4df, #fffaf1 80%);
  border-color: #cf8c7f;
  box-shadow:
    inset 0 4px 0 #bd594c,
    0 3px 0 #84372d12;
}
.panel-card h3 {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--verdict);
}
.verdict-icon {
  width: 33px;
  height: 33px;
  flex-shrink: 0;
  background: var(--verdict);
  color: #fff9e8;
  border-radius: 10px;
  padding: 6px;
  box-shadow: 0 3px 0 #34200a15;
}
.panel-card li {
  padding-left: 30px;
}
.panel-card li:before {
  content: "+";
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  top: 3px;
  font:
    800 17px/1 Inter,
    sans-serif;
  color: #513401;
  background: linear-gradient(145deg, #ffd15b, #ffae08);
  border-color: #e5a226;
  box-shadow: 0 2px 0 #9d640020;
}
.cons li:before {
  content: "в€’";
}
.reading-layout {
  max-width: 1440px;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 32px;
}
.toc {
  top: calc(var(--header-height) + 20px);
  max-height: calc(100dvh - var(--header-height) - 116px);
}
.article-section,
.article-section h2,
.article h3,
.faq-section,
.evidence,
[id] {
  scroll-margin-top: calc(var(--header-height) + 24px);
}
.mobile-eyebrow {
  display: inline-block;
  color: #ffbf35;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.1em;
  margin-bottom: 18px;
}
.mobile-app-section .bonus-content h3 {
  font-size: clamp(29px, 3.1vw, 43px);
  margin: 0 0 22px;
  line-height: 1.12;
}
.mobile-app-section h3 span {
  color: #ffb51b;
}
.mobile-platforms {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 22px;
}
.mobile-platforms > span {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 9px 12px;
  border: 1px solid #8cbbb441;
  background: #bfdcd212;
  border-radius: 9px;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.3;
}
.mobile-platforms svg {
  width: 21px;
  height: 23px;
  color: #ffcb61;
  flex-shrink: 0;
}
.mobile-guide {
  display: block;
  width: fit-content;
  margin-top: 15px;
  font-size: 12px;
  font-weight: 650;
}
@media (min-width: 761px) {
  .reading-layout {
    width: min(1440px, calc(100% - 80px));
  }
  .mobile-app-section .bonus-content {
    width: 64%;
  }
}
@media (min-width: 761px) and (max-width: 1260px) {
  .reading-layout {
    width: calc(100% - 56px);
    grid-template-columns: 200px minmax(0, 1fr);
    gap: 24px;
  }
}
@media (min-width: 761px) and (max-width: 1040px) {
  .reading-layout {
    grid-template-columns: 170px minmax(0, 1fr);
    gap: 22px;
  }
  .mobile-platforms {
    gap: 8px;
  }
  .mobile-platforms > span {
    font-size: 12px;
    padding: 8px;
  }
  .mobile-app-section .bonus-content h3 {
    font-size: 28px;
  }
}
@media (max-width: 760px) {
  .toc {
    position: static;
    max-height: none;
  }
  .mobile-app-section .bonus-content h3 {
    font-size: 34px;
  }
  .language-trigger .language-flag {
    width: 21px;
    height: 15px;
  }
  .full-facts li:before {
    top: 6px;
  }
  .full-facts ul {
    padding-right: 10px;
  }
}
@media (max-width: 350px) {
  .mobile-app-section .bonus-content h3 {
    font-size: 29px;
  }
  .mobile-platforms > span {
    font-size: 11px;
    padding: 8px;
  }
  .language-trigger {
    gap: 4px;
  }
}
/* Centered media and footer revision requested by the user. */
.evidence,
.mobile-app-section {
  width: 100%;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
.page-viewport {
  height: 100dvh;
  border-bottom: 0;
  scroll-padding-bottom: 88px;
}
.site-footer {
  padding-bottom: 90px;
}
.footer-brand {
  width: 205px;
  padding-right: 24px;
}
.socials {
  flex-wrap: wrap;
  gap: 10px;
  max-width: 174px;
}
.socials a {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: linear-gradient(145deg, #ffc83d, #efa000);
  border: 1px solid #ffd77c;
  color: #203846;
  box-shadow:
    inset 0 2px 0 #fff4be88,
    0 4px 0 #ad6900;
  transition:
    transform 180ms ease,
    box-shadow 180ms ease;
}
.socials a:nth-child(even) {
  background: linear-gradient(145deg, #7ec5c9, #378b99);
  border-color: #a6d9d5;
  box-shadow:
    inset 0 2px 0 #d8fff16b,
    0 4px 0 #155b71;
  color: #062e40;
}
.socials a:hover {
  transform: translateY(-2px);
}
.socials a:active {
  transform: translateY(2px);
  box-shadow: none;
}
.socials svg {
  width: 24px;
  height: 24px;
}
.payment-logos {
  align-items: flex-start;
  gap: 24px;
  padding-block: 25px;
}
.payment-logos > span {
  padding-top: 12px;
  flex-shrink: 0;
}
.payment-mark-list {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 26px;
  flex-wrap: wrap;
  flex: 1;
}
.payment-mark-list img {
  width: 122px;
  height: 44px;
  object-fit: contain;
}
.brand-disclaimer {
  margin: 22px 0 28px;
  padding: 28px 30px;
  border: 1px solid #386570;
  border-left: 5px solid #ffb21a;
  border-radius: 18px;
  background: linear-gradient(115deg, #103c4b, #0d293d);
}
.brand-disclaimer h2 {
  font-size: 25px;
  color: #ffbf35;
  margin-bottom: 20px;
  letter-spacing: -0.035em;
}
.brand-disclaimer p {
  font-size: 13px;
  line-height: 1.8;
  margin-bottom: 16px;
  color: #e2e9e8;
}
.brand-disclaimer p:last-child {
  margin-bottom: 0;
}
.brand-disclaimer a {
  color: #ffcf67;
}
.brand-disclaimer strong {
  color: #fff6e2;
}
.responsible-organizations {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
  margin: 0 0 28px;
}
.responsible-organizations a {
  display: grid;
  place-items: center;
  min-height: 48px;
  padding: 7px 12px;
  background: #f7f2e8;
  border-radius: 9px;
}
.responsible-organizations img {
  display: block;
  width: 110px;
  height: 34px;
  object-fit: contain;
}
.footer-bottom {
  display: block;
  padding-right: 0;
  padding-top: 24px;
}
.footer-bottom > p {
  max-width: none;
  line-height: 1.85;
  font-size: 12px;
  margin-bottom: 24px;
}
.footer-legal-links {
  display: flex;
  gap: 14px 24px;
  flex-wrap: wrap;
  font-size: 12px;
}
.assistant-launcher {
  width: 62px;
  height: 62px;
  right: 12px;
  bottom: 12px;
  background: linear-gradient(135deg, #ffca4d, #ee9e0b);
  border-color: #ffde85;
  padding: 3px;
}
.assistant-launcher img {
  width: 54px;
  height: 54px;
  transform: none;
}
@media (max-width: 1040px) {
  .footer-brand {
    width: 170px;
    padding-right: 18px;
  }
  .payment-logos > span {
    width: 100%;
  }
  .payment-mark-list {
    flex-basis: 100%;
  }
}
@media (max-width: 760px) {
  .footer-brand {
    width: auto;
    padding: 0;
    align-items: flex-start;
  }
  .socials {
    max-width: 170px;
    gap: 9px;
  }
  .socials a {
    width: 39px;
    height: 39px;
    border-radius: 10px;
  }
  .socials svg {
    width: 22px;
    height: 22px;
  }
  .site-footer {
    padding-bottom: 86px;
  }
  .brand-disclaimer {
    padding: 22px 20px;
    margin-top: 18px;
  }
  .brand-disclaimer h2 {
    font-size: 22px;
  }
  .brand-disclaimer p {
    font-size: 12px;
    overflow-wrap: anywhere;
  }
  .payment-mark-list {
    gap: 15px 22px;
  }
  .payment-mark-list img {
    width: 123px;
    height: 38px;
  }
  .responsible-organizations {
    gap: 12px;
  }
  .responsible-organizations a {
    padding: 6px 10px;
  }
  .responsible-organizations img {
    width: 112px;
    height: 32px;
  }
  .footer-bottom > p {
    font-size: 11px;
  }
  .footer-legal-links {
    font-size: 11px;
    gap: 12px 18px;
  }
  .assistant-launcher {
    width: 54px;
    height: 54px;
    bottom: 9px;
    right: 9px;
  }
  .assistant-launcher img {
    width: 46px;
    height: 46px;
  }
  .page-viewport {
    height: 100dvh;
    scroll-padding-bottom: 74px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .socials a {
    transition: none;
  }
  .socials a:hover,
  .socials a:active {
    transform: none;
  }
}
.responsible-organizations a:nth-child(3) {
  background: #163d4b;
}
/* Vector branding and compact numbered contents. */
.brand-vector {
  width: 150px;
  height: auto;
  max-height: 82px;
  object-fit: contain;
}
.brand {
  gap: 0;
}
.footer-brand .brand-vector {
  width: 160px;
  max-height: none;
}
.galaxsys img {
  width: 180px;
  height: auto;
}
.hero-character {
  pointer-events: auto;
  z-index: 1;
  transform: translateX(clamp(12px, 3vw, 48px));
}
.hero .block-edge {
  z-index: 3;
  pointer-events: none;
}
.hero-copy {
  pointer-events: none;
}
.hero-copy a,
.hero-copy button {
  pointer-events: auto;
}
.container,
.site-footer .container {
  max-width: 1360px;
}
.reading-layout {
  max-width: 1360px;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 32px;
}
@media (min-width: 761px) {
  .reading-layout {
    width: min(1360px, calc(100% - 80px));
  }
}
.toc {
  background: linear-gradient(155deg, #124653, #092b3a);
  border: 1px solid #33717a;
  border-bottom: 4px solid #e9a31b;
  border-radius: 18px;
  padding: 18px 15px;
  color: #e9f0e9;
  box-shadow: 0 7px 18px #123c4810;
}
.toc summary {
  color: #ffc446;
  font-size: 18px;
  padding: 3px 3px 15px;
  border-bottom: 1px solid #75a5a536;
}
.toc summary span {
  color: #ffd66a;
}
.toc ol.toc-main {
  margin: 8px 0 0;
  padding: 0;
  columns: auto;
  list-style: none;
}
.toc .toc-group {
  border-bottom: 1px solid #75a5a52e;
}
.toc .toc-group:last-child {
  border: 0;
}
.toc-row {
  display: grid;
  grid-template-columns: 21px minmax(0, 1fr) auto;
  align-items: start;
  gap: 6px;
  padding: 12px 0;
}
.toc .toc-row a {
  padding: 0;
  color: #ecf1e8;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
}
.toc .toc-row a:hover,
.toc .toc-row a.is-active {
  color: #ffc347;
}
.toc-number {
  font-size: 10px;
  font-weight: 800;
  color: #e8bb5d;
  padding-top: 2px;
  font-variant-numeric: tabular-nums;
}
.toc-expand {
  display: grid;
  place-items: center;
  width: 24px;
  height: 25px;
  min-width: 24px;
  padding: 0;
  border: 1px solid #75a5a570;
  border-radius: 6px;
  color: #ffce62;
  background: #245b64;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
}
.toc-expand:hover {
  background: #326e78;
}
.toc-expand:focus-visible {
  outline-color: #ffcf5a;
}
.toc .toc-sublist {
  margin: 0 0 12px 27px;
  padding-left: 9px;
  border-left: 2px solid #d9a33470;
  list-style: none;
}
.toc .toc-sublist[hidden] {
  display: none;
}
.toc .toc-sublist li {
  border: 0;
  margin: 0;
}
.toc .toc-sublist a {
  font-size: 11px;
  font-weight: 500;
  color: #bdd6d5;
  line-height: 1.45;
  padding: 6px 0;
}
.toc .toc-sublist a:hover,
.toc .toc-sublist a.is-active {
  color: #ffd26b;
}
.assistant-launcher {
  width: 76px;
  height: 82px;
  border: 0;
  border-radius: 0;
  padding: 0;
  background: none;
  box-shadow: none;
  right: 24px;
  bottom: 14px;
  overflow: visible;
}
.assistant-launcher:hover {
  box-shadow: none;
  transform: translateY(-3px);
}
.assistant-launcher img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: none;
  filter: drop-shadow(0 3px 3px #06162b50);
}
@media (max-width: 1260px) and (min-width: 761px) {
  .reading-layout {
    width: calc(100% - 56px);
    grid-template-columns: 200px minmax(0, 1fr);
    gap: 24px;
  }
}
@media (max-width: 1040px) and (min-width: 761px) {
  .reading-layout {
    grid-template-columns: 190px minmax(0, 1fr);
    gap: 22px;
  }
  .toc {
    padding: 16px 12px;
  }
}
@media (max-width: 760px) {
  .brand-vector {
    width: 106px;
    max-height: 58px;
  }
  .topbar {
    padding-block: 8px;
  }
  .footer-brand .brand-vector {
    width: 130px;
  }
  .toc {
    padding: 20px;
  }
  .toc .toc-row a {
    font-size: 14px;
  }
  .toc-row {
    grid-template-columns: 25px minmax(0, 1fr) auto;
    gap: 9px;
    padding: 13px 0;
  }
  .toc-number {
    font-size: 11px;
  }
  .toc .toc-sublist a {
    font-size: 13px;
  }
  .toc summary {
    font-size: 20px;
  }
  .assistant-launcher {
    width: 62px;
    height: 68px;
    right: 18px;
    bottom: 12px;
  }
  .galaxsys img {
    width: 175px;
  }
}
@media (max-width: 350px) {
  .brand-vector {
    width: 86px;
  }
  .footer-brand .brand-vector {
    width: 114px;
  }
}
/* Blue number tiles with white figures, as requested. */
.article ol > li:before {
  background: linear-gradient(145deg, #0758ed, #07389e);
  color: #fff;
  box-shadow:
    inset 0 1px 0 #79a7ff66,
    0 2px 0 #042c781f;
}

/* Content-driven hero: text sets desktop height; mobile art follows the copy. */
.hero .hero-inner {
  min-height: 0;
  padding-block: clamp(32px, 4vw, 64px) clamp(32px, 4vw, 64px);
}
.hero .hero-copy {
  width: 62%;
  max-width: none;
}
.hero .hero-copy > :last-child {
  margin-bottom: 0;
}
.hero .hero-character {
  height: calc(100% - 28px);
  width: auto;
  max-width: 36%;
  max-height: none;
  right: 0;
  transform: none;
  object-fit: contain;
  object-position: center bottom;
}
@media (max-width: 1040px) and (min-width: 761px) {
  .hero .hero-copy {
    width: 65%;
  }
  .hero .hero-character {
    max-width: 34%;
    right: 0;
  }
}
@media (max-width: 760px) {
  .hero .hero-inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 32px 0 0;
    gap: 24px;
  }
  .hero .hero-copy {
    width: 100%;
    max-width: none;
  }
  .hero .hero-character {
    position: relative;
    align-self: center;
    right: auto;
    bottom: auto;
    height: auto;
    width: min(85%, 340px);
    max-width: 100%;
    max-height: none;
    margin: 0;
    transform: translateX(12px);
  }
  .hero .hero-background {
    top: auto;
    bottom: 0;
    height: min(100%, 560px);
    background-size: auto 100%;
    background-position: right bottom;
    background-color: transparent;
    mask-image: linear-gradient(to bottom, transparent, #000 42%);
    -webkit-mask-image: linear-gradient(to bottom, transparent, #000 42%);
  }
  .hero .hero-shade {
    background: linear-gradient(to bottom, #06182b 0%, #06182b00 78%);
  }
}

/* Search below the key-facts strip. */
.facts-search {
  width: 100%;
  margin: 24px 0 0;
  padding: 18px 0 0;
  border-top: 1px solid #b8c9c5;
}
.facts-search + .full-facts {
  margin-top: 20px;
  padding-top: 0;
  border-top: 0;
}

/* Mobile header, game caption and footer alignment. */
.mobile-access-settings {
  display: none;
}
@media (max-width: 760px) {
  .site-header {
    position: sticky;
    top: 0;
  }
  .topbar {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 10px;
    padding-block: 10px;
  }
  .topbar .brand {
    grid-column: 2;
    justify-self: center;
  }
  .top-tools {
    justify-self: end;
  }
  .top-tools > [data-open="access-dialog"] {
    display: none;
  }
  .topbar .account-actions .button {
    min-height: 34px;
    padding-block: 5px;
  }
  .mobile-access-settings {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 24px;
    width: 100%;
    font-size: 14px;
  }
  .featured-game__line {
    font-size: 22px;
    padding-inline: 10px;
  }
  .footer-map {
    text-align: center;
  }
  .footer-brand {
    justify-content: center;
    align-items: center;
    gap: 24px;
  }
  .footer-brand .socials {
    justify-content: center;
  }
  .footer-logos:not(.payment-logos) {
    padding-inline: 16px;
    align-items: flex-start;
    flex-direction: column;
    gap: 16px;
  }
  .footer-logos:not(.payment-logos) > span {
    width: auto;
  }
  .payment-logos > span {
    text-align: center;
  }
  .payment-mark-list {
    justify-content: center;
    width: 100%;
  }
  .responsible-organizations {
    justify-content: center;
  }
  .footer-bottom {
    text-align: center;
  }
  .footer-legal-links {
    justify-content: center;
  }
  .site-footer {
    padding-bottom: 20px;
  }
}

/* Compact the whole mobile header, retaining button and type sizes. */
@media (max-width: 760px) {
  .site-header .topbar {
    padding-block: 8px 12px;
    row-gap: 8px;
  }
  .site-header .topbar .brand-vector {
    width: 94px;
    max-height: 50px;
  }
}

/* Opaque sticky-header surface, including fractional-pixel edge seams. */
.site-header {
  isolation: isolate;
  background: #f7f2e8;
  border-radius: 0;
  overflow: visible;
}
.site-header::before {
  content: "";
  position: absolute;
  inset: -2px -2px -1px;
  background: #f7f2e8;
  z-index: -1;
  pointer-events: none;
}

/* Remove the inset divider while preserving the header shadow. */
.site-header .topbar {
  border-bottom: 0;
}

/* Lightweight raster tile across the article background. */
#main {
  background-color: var(--cream);
  background-image: url("../images/paper-construction-tile.webp");
  background-repeat: repeat;
  background-size: 320px 320px;
}

/* Preserve presentation for semantic labels and FAQ headings. */
.faq-item .faq-question {
  display: inline;
  margin: 0;
  font: inherit;
  color: inherit;
}
.dialog-title {
  margin: 0;
  font-size: 1.5em;
  font-weight: 700;
}
.rating-label,
.search-result-title {
  font-weight: 700;
}
.source-block a {
  font-weight: 700;
  text-decoration: underline;
}
/* FR-44: column headings are 2px larger; row cells retain ordinary body weight. */
.table-scroll thead th {
  font-size: calc(15px * var(--scale) + 2px);
  font-weight: 750;
}
.table-scroll tbody th,
.table-scroll tbody td {
  font-size: calc(15px * var(--scale));
  font-weight: 400;
}
/* Keep enlarged editorial headings within narrow reading columns. */
.reading-zoom .article h2,
.reading-zoom .article h3,
.reading-zoom .article .source-block p {
  overflow-wrap: anywhere;
}

/* Internal-page breadcrumb, derived from the shared typography and palette. */
.breadcrumbs { font-size: 14px; margin-bottom: 12px; }
.breadcrumbs p { margin: 0; }
.breadcrumbs a { color: inherit; font-weight: 700; text-decoration: underline; }


@font-face { font-family: Inter; src: url("../fonts/inter-math.woff2") format("woff2"); font-weight: 100 900; font-display: swap; unicode-range: U+0400, U+0401, U+0402, U+0403, U+0404, U+0405, U+0406, U+0407, U+0408, U+0409, U+040A, U+040B, U+040C, U+040D, U+040E, U+040F, U+0410, U+0414, U+0416, U+0417, U+0419, U+0422, U+0425, U+0426, U+0428, U+0429, U+042A, U+042B, U+042C, U+042D, U+042E, U+042F, U+0449, U+044A, U+044E, U+0450, U+0452, U+0453, U+0454, U+0455, U+0456, U+0457, U+0458, U+0459, U+045A, U+045B, U+045C, U+045D, U+045E, U+045F, U+0460, U+0461, U+0462, U+0463, U+0464, U+0465, U+0466, U+0467, U+0468, U+0469, U+046A, U+046B, U+046C, U+046D, U+046E, U+046F, U+0470, U+0471, U+0472, U+0473, U+0474, U+0475, U+0476, U+0477, U+0478, U+0479, U+0480, U+0481, U+0482, U+0483, U+0484, U+0485, U+0486, U+0487, U+0488, U+0489, U+048A, U+048B, U+048C, U+048D, U+048E, U+048F, U+0490, U+0491, U+0492, U+0493, U+0494, U+0495, U+0496, U+0497, U+0498, U+0499, U+049A, U+049B, U+049C, U+049D, U+04A0, U+04A1, U+04A2, U+04A3, U+04A4, U+04A5, U+04A6, U+04A7, U+04A8, U+04A9, U+04AA, U+04AB, U+04AC, U+04AD, U+04AE, U+04AF, U+04B0, U+04B1, U+04B2, U+04B3, U+04B4, U+04B5, U+04B6, U+04B7, U+04B8, U+04B9, U+04BA, U+04BB, U+04BC, U+04BD, U+04BE, U+04BF, U+04C0, U+04C1, U+04C2, U+04C3, U+04C4, U+04C5, U+04C6, U+04C7, U+04C8, U+04C9, U+04CA, U+04CB, U+04CC, U+04CD, U+04CE, U+04CF, U+04D0, U+04D1, U+04D2, U+04D3, U+04D4, U+04D5, U+04D6, U+04D7, U+04D8, U+04D9, U+04DA, U+04DB, U+04DC, U+04DD, U+04DE, U+04DF, U+04E0, U+04E1, U+04E2, U+04E3, U+04E4, U+04E5, U+04E6, U+04E7, U+04E8, U+04E9, U+04EA, U+04EB, U+04EC, U+04ED, U+04EE, U+04EF, U+04F0, U+04F1, U+04F2, U+04F3, U+04F4, U+04F5, U+04F6, U+04F7, U+04F8, U+04F9, U+04FA, U+04FB, U+04FC, U+04FD, U+04FE, U+04FF, U+052F, U+2071, U+2074, U+2076, U+2077, U+2079, U+207A, U+207B, U+207C, U+207D, U+207E, U+207F, U+2080, U+2081, U+2082, U+2083, U+2084, U+2085, U+2086, U+2087, U+2088, U+2089, U+208A, U+208B, U+208C, U+208D, U+208E, U+2090, U+2091, U+2092, U+2093, U+2094, U+2095, U+2096, U+2097, U+2098, U+2099, U+209A, U+209B, U+209C, U+2190, U+2191, U+2194, U+2195, U+2196, U+2198, U+2199, U+21A9, U+21AA, U+21B0, U+21B1, U+21B3, U+21B4, U+21B5, U+21BA, U+21BB, U+21D0, U+21D2, U+21D4, U+21DE, U+21DF, U+21E4, U+21E5, U+21E7, U+21EA, U+2202, U+2205, U+2206, U+220F, U+2211, U+221A, U+221E, U+222B, U+2236, U+2248, U+2260, U+2264, U+2265, U+2295, U+2296, U+2297, U+2298; }
@font-face { font-family: Inter; src: url("../fonts/inter-math-core.woff2") format("woff2"); font-weight: 100 900; font-display: swap; unicode-range: U+0411, U+0412, U+0413, U+0415, U+0418, U+041A, U+041B, U+041C, U+041D, U+041E, U+041F, U+0420, U+0421, U+0423, U+0424, U+0427, U+0430, U+0431, U+0432, U+0433, U+0434, U+0435, U+0436, U+0437, U+0438, U+0439, U+043A, U+043B, U+043C, U+043D, U+043E, U+043F, U+0440, U+0441, U+0442, U+0443, U+0444, U+0445, U+0446, U+0447, U+0448, U+044B, U+044C, U+044D, U+044F, U+0451, U+2020, U+2070, U+2075, U+2078, U+2192, U+2193, U+2197, U+2212, U+2713; }

/* User-approved shared lead typography and operator-specific legal card. */
.hero .hero-intro { font-size: calc(18px * var(--scale)); font-weight: 400; line-height: 1.55; }
@media (max-width: 700px) { .hero .hero-intro { font-size: calc(15px * var(--scale)); } }
.operator-legal-card { display: flex; align-items: flex-start; gap: 24px; margin-top: 24px; padding: 26px; border: 1px solid #80ad91; border-radius: 20px; background: #edf6ee; color: #173f31; }
.operator-legal-card .notice-icon { flex: 0 0 44px; width: 44px; height: 48px; display: grid; place-items: center; border-radius: 13px; background: #19794d; color: #fff; }
.operator-legal-card h2 { margin: 0 0 14px; color: #16583a; font-size: calc(23px * var(--scale)); }
.operator-legal-card p { font-size: calc(14px * var(--scale)); line-height: 1.75; overflow-wrap: anywhere; }
.operator-legal-card p:last-child { margin-bottom: 0; }
.operator-legal-card > div:last-child { min-width: 0; }
@media (max-width: 700px) { .operator-legal-card { gap: 14px; padding: 20px; } .operator-legal-card h2 { font-size: calc(20px * var(--scale)); } }

/* Click-to-load game, user requested 6 November 2026. */
.demo-player { position:relative; isolation:isolate; width:100%; aspect-ratio:16/9; margin:24px 0 32px; overflow:hidden; border-radius:20px; background:#062838; border:1px solid #315a60; }
.demo-preview { position:absolute; inset:-12px; background:linear-gradient(#00243b33,#00192766),url('/images/hero-background.webp') center/cover; filter:blur(7px); }
.demo-start { position:absolute; z-index:2; top:50%; left:50%; transform:translate(-50%,-50%); font-size:calc(28px * var(--scale)); padding:22px 42px; white-space:nowrap; box-shadow:0 8px 35px #0008; }
.demo-frame-host,.demo-frame-host iframe { width:100%; height:100%; }
.demo-frame-host { position:absolute; inset:0; }
.demo-frame-host iframe { display:block; border:0; background:#062838; }
.demo-player.is-active .demo-preview,.demo-player.is-active .demo-start { display:none; }
@media(max-width:700px){ .demo-player { aspect-ratio:9/16; } .demo-start { font-size:calc(24px * var(--scale)); padding:20px 30px; } }

/* Preserve centering against global button hover/active transforms. */
.demo-player .demo-start, .demo-player .demo-start:hover, .demo-player .demo-start:focus, .demo-player .demo-start:active { transform: translate(-50%, -50%); }

.summary-grid.demo-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 700px) { .summary-grid.demo-summary { grid-template-columns: 1fr; } }

/* Retain offscreen article content while postponing its layout until needed. */
.article-section, .faq-section, .pdf-card, .mobile-app-section {
  content-visibility: auto;
  contain-intrinsic-size: auto 800px;
}
@media print {
  .article-section, .faq-section, .pdf-card, .mobile-app-section {
    content-visibility: visible;
    contain-intrinsic-size: none;
  }
}
