/* Public website: neutral dark surfaces, restrained Ascense accents.
   Loaded by compactPublicHeader only; administration uses its own header. */
body:has(.ascense-compact),
body:has(.ascense-compact) .game-store {
  --background: #101214; --background-secondary: #17191c;
  --surface: #1d2024; --surface-hover: #262a30; --border: #34383f;
  --text-primary: #f1f2f4; --text-secondary: #b6bbc3;
  --bg: var(--background); --line: var(--border);
  --text: var(--text-primary); --muted: var(--text-secondary);
  --gs-bg: #101214; --gs-surface: #17191c; --gs-raised: #1d2024;
  --gs-line: #34383f; --gs-text: #f1f2f4; --gs-muted: #b6bbc3; --gs-dim: #b6bbc3;
  background: var(--background); color: var(--text);
}
body:has(.ascense-compact) :is(.site-page,.hero,.aloy-page,.auth-page,.high-plan-page) {
  background: transparent;
}
body:has(.ascense-compact) header.header.compact-header.ascense-compact {
  background: #15171a; border-color: var(--border);
}
body:has(.ascense-compact) .ascense-navigation-panel {
  background: #191c20; border-color: var(--border);
}
body:has(.ascense-compact) header.header.compact-header.ascense-compact .ascense-menu-links a:hover,
body:has(.ascense-compact) header.header.compact-header.ascense-compact .ascense-menu-links a[aria-current="page"],
body:has(.ascense-compact) header.header.compact-header.ascense-compact .ascense-navigation[open] > summary,
body:has(.ascense-compact) header.header.compact-header.ascense-compact .ascense-navigation > summary:hover {
  background: #282c32;
}
body:has(.ascense-compact) .ascense-promo {
  background: #21242a; color: #f1f2f4;
}
body:has(.ascense-compact) .ascense-promo a { color: inherit; }
body:has(.ascense-compact) .ascense-promo::before {
  opacity: .18;
  background: repeating-linear-gradient(90deg,#ffffff12 0 8px,transparent 8px 24px),
              repeating-linear-gradient(0deg,transparent 0 8px,#ffffff0c 8px 16px);
}
body:has(.ascense-compact) .ascense-promo span {
  background: #353a42; color: #f1f2f4;
  box-shadow: 3px 0 #15171a,-3px 0 #15171a,0 3px #15171a,0 -3px #15171a;
}
.ascense-home :is(.eyebrow,.hero h1 span,.ascense-mods h2 span,.hosting-reviews h2 span,.home-final-cta h2 span) {
  color: #e5e7eb;
}
.ascense-home .hero .eyebrow {
  background: #191c20; border-color: var(--border);
}
.ascense-home .hero::before,.ascense-home .hero::after { content: none; }
.ascense-home :is(.hero-secondary,.location-list article,.locations-map,.ascense-benefit-grid article,
  .hosting-counters article,.review-card,.review-empty,.review-compose form,.review-compose .review-login,
  .home-links article,.commerce-aloy,.minecraft-support) {
  background: var(--background-secondary); border-color: var(--border);
}
.ascense-home .review-compose textarea { background: #101214; border-color: #454b55; }
.ascense-home :is(.ascense-mods,.home-final-cta) {
  background: #131518; border-color: var(--border);
}
.ascense-home .ascense-mods::before {
  background: linear-gradient(90deg,#13151888,#131518ed 27%,#131518ed 73%,#13151888),
              linear-gradient(#131518,transparent 25%,transparent 75%,#131518);
}
.ascense-home .panel-perspective::before { content: none; }
.ascense-home .home-footer::before { background: #15171a; }
.ascense-home .home-games {
  background-color: #131518;
  background-image: linear-gradient(#ffffff03 1px,transparent 1px),
                    linear-gradient(90deg,#ffffff03 1px,transparent 1px);
  background-size: 48px 48px; background-repeat: repeat;
  border-block: 1px solid #2b2f35; padding-block: 56px;
}
.ascense-home .home-games::before,.ascense-home .home-games::after {
  content: none; background-image: none;
}
.ascense-home .game-cover { border-color: #3a4049; background: #191c20; }
.ascense-home .game-card a:focus-visible { outline: 2px solid #e6b454; outline-offset: 5px; border-radius: 8px; }
.ascense-home .games-arrow { color: #e5e7eb; border-color: #454b55; background: #1d2024; }
.ascense-home .games-track { scrollbar-color: #575e69 #191c20; }
.game-store :is(.gs-plan,.gs-search,.gs-service-grid article,.gs-aloy,.gs-final-cta,.gs-spotlight,
  .gs-consult-hero,.gs-game-hero,.gs-section-nav,.gs-editions,.gs-consult-banner,
  .gs-feature-grid article,.gs-panel-image,.gs-table) {
  background: var(--gs-surface); border-color: var(--gs-line);
}
.game-store .gs-plan-featured { border-color: #a78449; }
.game-store .gs-plan .gs-button,
.game-store :is(.gs-button-secondary,.gs-software > span,.gs-monthly,.gs-feature-icon,.gs-spotlight-detail) {
  background: #262a30; border-color: #454b55; color: #e5e7eb;
}
.game-store :is(.gs-plan-recurring,.gs-plan-billing,.gs-plan-final > span,.gs-plan-discount del) {
  color: var(--gs-muted);
}
.game-store :is(em,.gs-plan h3 span,.gs-plan-custom h3) { color: var(--gs-text); }
.game-store .gs-game-art { aspect-ratio: 216 / 289; border-color: var(--gs-line); }
.game-store .gs-game-art::after { content: none; }
.game-store .gs-filters [aria-pressed=true],
.game-store .gs-editions [aria-current] { background: #292e35; border-color: #737b88; color: #f1f2f4; }
.game-store .gs-table thead,.game-store .gs-table tbody tr:hover { background: #22262c; }
.game-store .gs-minecraft-hero::before { background: #15171a; }
@media (max-width: 767px) {
  .ascense-home .home-games { padding-block: 38px; }
}
@media (prefers-reduced-motion: reduce) {
  .ascense-home .game-cover img,.game-store .gs-game-art img { transition: none; }
}

/* Separate the plan note, local navigation and the following content. */
.game-store .gs-section-nav { margin: 40px 0 32px; }
.game-store .gs-spotlight { margin-bottom: 24px; }
.game-store .gs-feature-grid { gap: 24px; }
.game-store .gs-section-nav a:hover,
.game-store .gs-button-secondary:hover { background: #30353d; color: #f1f2f4; border-color: #737b88; }
.game-store .gs-spotlight dl > div,
.game-store .gs-table th,.game-store .gs-table td { border-color: var(--gs-line); }
.game-store .gs-spotlight dd,.game-store .gs-table td:nth-child(4),
.game-store .gs-table thead { color: var(--gs-text); }
body:has(.ascense-compact) :is(.features-index > a,.features-page .feature-card,
.features-page .feature-icon,.features-page .features-callout) {
  background: #17191c; border-color: #34383f;
}
@media(max-width:767px) {
  .game-store .gs-section-nav { margin: 32px 0 24px; gap: 8px; padding: 12px; }
  .game-store .gs-section-nav a { min-height: 44px; }
  .game-store .gs-feature-grid { gap: 20px; }
}

.ascense-home .panel-highlights { gap: 24px; margin-top: 32px; }
.ascense-home .panel-highlights > p {
  background: #17191c; border-color: #34383f; padding: 28px;
}
.ascense-home .panel-highlights .panel-feature-icon {
  background: #25292f; border-color: #454b55; color: #d2d6dd;
}
.ascense-home .panel-highlights > p::before,
.ascense-home .panel-highlights > p::after { content: none; }
@media(max-width:767px) {
  .ascense-home .panel-highlights { gap: 20px; }
  .ascense-home .panel-highlights > p { padding: 24px; }
}
