/* ==========================================================================
   phbingo apk - interface responsive layer
   All custom classes and CSS variables use the surface7b9a4- prefix.
   Mobile-first canvas tuned for 320-430px viewports. The phone frame stays
   centered on wider screens; no desktop-wide layout is generated.
   Palette: #00FF7F spring green, #66CDAA aquamarine, #3A3A3A ink,
            #FF7F50 coral, #20B2AA light sea green.
   ========================================================================== */

/* ---------- Design tokens ---------- */
:root {
  --surface7b9a4-ink-900: #161917;
  --surface7b9a4-ink-850: #1c201e;
  --surface7b9a4-ink-800: #232825;
  --surface7b9a4-ink-750: #2b312d;
  --surface7b9a4-ink-700: #3A3A3A;
  --surface7b9a4-ink-600: #454c47;
  --surface7b9a4-ink-500: #566158;

  --surface7b9a4-mint: #00FF7F;
  --surface7b9a4-mint-soft: #4dffb0;
  --surface7b9a4-aqua: #66CDAA;
  --surface7b9a4-sea: #20B2AA;
  --surface7b9a4-coral: #FF7F50;
  --surface7b9a4-coral-deep: #f0532a;

  --surface7b9a4-text: #f2fff8;
  --surface7b9a4-text-dim: #c7e1d6;
  --surface7b9a4-muted: #93b3a7;
  --surface7b9a4-line: rgba(102, 205, 170, 0.18);
  --surface7b9a4-line-strong: rgba(0, 255, 127, 0.42);

  --surface7b9a4-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.32);
  --surface7b9a4-shadow-md: 0 8px 24px rgba(0, 0, 0, 0.42);
  --surface7b9a4-shadow-glow: 0 0 0 1px rgba(0, 255, 127, 0.35), 0 6px 22px rgba(0, 255, 127, 0.18);
  --surface7b9a4-shadow-coral: 0 0 0 1px rgba(255, 127, 80, 0.4), 0 6px 22px rgba(255, 127, 80, 0.22);

  --surface7b9a4-radius-sm: 8px;
  --surface7b9a4-radius-md: 14px;
  --surface7b9a4-radius-lg: 22px;
  --surface7b9a4-radius-pill: 999px;

  --surface7b9a4-frame-max: 430px;
  --surface7b9a4-header-h: 58px;
  --surface7b9a4-bottomnav-h: 70px;
  --surface7b9a4-font: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Roboto, Arial, sans-serif;
}

/* ---------- Reset ---------- */
*,
*::before,
*::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;
  font-family: var(--surface7b9a4-font);
  color: var(--surface7b9a4-text);
  background: #0c0f0e;
  background-image:
    radial-gradient(110% 60% at 50% -10%, rgba(0, 255, 127, 0.10), transparent 60%),
    radial-gradient(80% 50% at 100% 110%, rgba(32, 178, 170, 0.10), transparent 60%),
    linear-gradient(180deg, #0c0f0e 0%, #0a0d0c 100%);
  background-attachment: fixed;
  line-height: 1.6;
  font-size: 15px;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; display: block; }
a { color: var(--surface7b9a4-mint); text-decoration: none; }
a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--surface7b9a4-mint);
  outline-offset: 2px;
  border-radius: 4px;
}
button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }
ul, ol { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, h4, p { margin: 0; }

/* ---------- Phone canvas frame ---------- */
.surface7b9a4-frame {
  max-width: var(--surface7b9a4-frame-max);
  margin: 0 auto;
  min-height: 100vh;
  position: relative;
  background:
    radial-gradient(120% 50% at 50% 0%, rgba(0, 255, 127, 0.06), transparent 60%),
    linear-gradient(180deg, var(--surface7b9a4-ink-850) 0%, var(--surface7b9a4-ink-900) 100%);
  box-shadow: 0 0 60px rgba(0, 0, 0, 0.55);
  overflow-x: hidden;
}

/* ---------- Header (edge-aligned functional header) ---------- */
.surface7b9a4-header {
  position: sticky;
  top: 0;
  z-index: 60;
  height: var(--surface7b9a4-header-h);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 0 12px;
  background: linear-gradient(180deg, rgba(22, 25, 23, 0.96) 0%, rgba(22, 25, 23, 0.88) 100%);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--surface7b9a4-line);
}

.surface7b9a4-brand {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  flex: 1 1 auto;
}

.surface7b9a4-brand-logo {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  object-fit: cover;
  flex-shrink: 0;
  background: var(--surface7b9a4-ink-700);
  border: 1px solid var(--surface7b9a4-line-strong);
  box-shadow: 0 0 12px rgba(0, 255, 127, 0.25);
}

.surface7b9a4-brand-text { min-width: 0; line-height: 1.15; }

.surface7b9a4-brand-name {
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.2px;
  color: var(--surface7b9a4-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.surface7b9a4-brand-name b { color: var(--surface7b9a4-mint); }

.surface7b9a4-brand-tag {
  font-size: 10px;
  color: var(--surface7b9a4-aqua);
  letter-spacing: 0.8px;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.surface7b9a4-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

.surface7b9a4-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-height: 36px;
  padding: 0 14px;
  border-radius: var(--surface7b9a4-radius-pill);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.3px;
  transition: transform 0.18s ease, box-shadow 0.22s ease, background 0.22s ease;
  white-space: nowrap;
}

.surface7b9a4-btn-login {
  color: var(--surface7b9a4-text);
  background: rgba(102, 205, 170, 0.12);
  border: 1px solid var(--surface7b9a4-line);
}

.surface7b9a4-btn-login:hover,
.surface7b9a4-btn-login:active {
  background: rgba(102, 205, 170, 0.2);
  box-shadow: var(--surface7b9a4-shadow-glow);
}

.surface7b9a4-btn-register {
  color: #08130d;
  background: linear-gradient(135deg, var(--surface7b9a4-mint) 0%, var(--surface7b9a4-aqua) 100%);
  box-shadow: 0 4px 14px rgba(0, 255, 127, 0.35);
}

.surface7b9a4-btn-register:hover,
.surface7b9a4-btn-register:active {
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(0, 255, 127, 0.5);
}

.surface7b9a4-route-toggle {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(102, 205, 170, 0.1);
  border: 1px solid var(--surface7b9a4-line);
  color: var(--surface7b9a4-aqua);
  transition: background 0.2s ease, box-shadow 0.22s ease;
}

.surface7b9a4-route-toggle:hover,
.surface7b9a4-route-toggle-active {
  background: rgba(0, 255, 127, 0.16);
  box-shadow: var(--surface7b9a4-shadow-glow);
}

.surface7b9a4-route-toggle svg { width: 20px; height: 20px; display: block; }

/* ---------- Compact route panel ---------- */
.surface7b9a4-route-panel {
  position: absolute;
  top: calc(var(--surface7b9a4-header-h) - 6px);
  right: 10px;
  left: 10px;
  z-index: 59;
  padding: 14px;
  border-radius: var(--surface7b9a4-radius-md);
  background: linear-gradient(180deg, var(--surface7b9a4-ink-800) 0%, var(--surface7b9a4-ink-850) 100%);
  border: 1px solid var(--surface7b9a4-line-strong);
  box-shadow: var(--surface7b9a4-shadow-md);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
}

.surface7b9a4-route-panel-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.surface7b9a4-route-panel-title {
  font-size: 11px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--surface7b9a4-aqua);
  margin-bottom: 10px;
}

.surface7b9a4-route-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}

.surface7b9a4-route-grid a {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 8px 11px;
  border-radius: 10px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--surface7b9a4-text);
  background: rgba(102, 205, 170, 0.07);
  border: 1px solid var(--surface7b9a4-line);
  transition: background 0.18s ease, transform 0.18s ease, box-shadow 0.2s ease;
}

.surface7b9a4-route-grid a:hover,
.surface7b9a4-route-grid a:active {
  background: rgba(0, 255, 127, 0.14);
  transform: translateY(-1px);
  box-shadow: var(--surface7b9a4-shadow-glow);
}

.surface7b9a4-route-grid a span {
  font-size: 9.5px;
  color: var(--surface7b9a4-muted);
  letter-spacing: 0.5px;
  text-transform: uppercase;
  display: block;
  font-weight: 500;
}

.surface7b9a4-route-grid a b {
  display: block;
  font-size: 12.5px;
  color: var(--surface7b9a4-text);
  font-weight: 700;
}

/* ---------- Main content ---------- */
.surface7b9a4-main {
  padding: 14px 12px 0;
}

.surface7b9a4-intro {
  margin: 4px 0 16px;
  padding: 16px;
  border-radius: var(--surface7b9a4-radius-md);
  background: linear-gradient(160deg, rgba(0, 255, 127, 0.06) 0%, rgba(32, 178, 170, 0.05) 100%);
  border: 1px solid var(--surface7b9a4-line);
}

.surface7b9a4-intro h1 {
  font-size: 21px;
  line-height: 1.3;
  font-weight: 800;
  letter-spacing: 0.2px;
  margin-bottom: 8px;
}

.surface7b9a4-intro h1 .accent { color: var(--surface7b9a4-mint); }

.surface7b9a4-intro p {
  color: var(--surface7b9a4-text-dim);
  font-size: 13.5px;
  margin-bottom: 10px;
}

.surface7b9a4-intro p:last-child { margin-bottom: 0; }

.surface7b9a4-intro-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 40px;
  margin-top: 10px;
  padding: 0 18px;
  border-radius: var(--surface7b9a4-radius-pill);
  font-weight: 700;
  font-size: 13px;
  color: #08130d;
  background: linear-gradient(135deg, var(--surface7b9a4-coral) 0%, #ffb284 100%);
  box-shadow: var(--surface7b9a4-shadow-coral);
  transition: transform 0.18s ease, box-shadow 0.2s ease;
}

.surface7b9a4-intro-cta:hover,
.surface7b9a4-intro-cta:active {
  transform: translateY(-1px);
  box-shadow: 0 8px 26px rgba(255, 127, 80, 0.4);
}

/* ---------- Carousel ---------- */
.surface7b9a4-carousel {
  position: relative;
  border-radius: var(--surface7b9a4-radius-md);
  overflow: hidden;
  margin-bottom: 18px;
  box-shadow: var(--surface7b9a4-shadow-md);
  border: 1px solid var(--surface7b9a4-line);
}

.surface7b9a4-carousel-viewport {
  overflow: hidden;
  border-radius: var(--surface7b9a4-radius-md);
}

.surface7b9a4-carousel-track {
  display: flex;
  width: 100%;
  transition: transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.surface7b9a4-carousel-slide {
  position: relative;
  flex: 0 0 100%;
  width: 100%;
  min-width: 0;
}

.surface7b9a4-carousel-slide img {
  width: 100%;
  height: 178px;
  object-fit: cover;
  display: block;
}

.surface7b9a4-carousel-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8, 12, 10, 0) 35%, rgba(8, 12, 10, 0.82) 100%);
  pointer-events: none;
}

.surface7b9a4-carousel-caption {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 12px;
  z-index: 2;
  color: var(--surface7b9a4-text);
}

.surface7b9a4-carousel-caption b {
  display: block;
  font-size: 15px;
  font-weight: 800;
  color: var(--surface7b9a4-mint);
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
}

.surface7b9a4-carousel-caption span {
  font-size: 12px;
  color: var(--surface7b9a4-text-dim);
}

.surface7b9a4-carousel-dots {
  position: absolute;
  bottom: 8px;
  right: 12px;
  z-index: 3;
  display: flex;
  gap: 6px;
}

.surface7b9a4-carousel-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(242, 255, 248, 0.45);
  transition: background 0.22s ease, transform 0.22s ease;
  padding: 0;
}

.surface7b9a4-carousel-dot-active {
  background: var(--surface7b9a4-mint);
  transform: scale(1.25);
  box-shadow: 0 0 8px rgba(0, 255, 127, 0.7);
}

.surface7b9a4-carousel-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(8, 12, 10, 0.55);
  border: 1px solid var(--surface7b9a4-line);
  color: var(--surface7b9a4-text);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
}

.surface7b9a4-carousel-nav svg { width: 16px; height: 16px; }

.surface7b9a4-carousel-prev { left: 8px; }
.surface7b9a4-carousel-next { right: 8px; }

/* ---------- Section headings ---------- */
.surface7b9a4-section { margin-bottom: 24px; }

.surface7b9a4-section-head {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px dashed var(--surface7b9a4-line);
}

.surface7b9a4-section-badge {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: linear-gradient(135deg, rgba(0, 255, 127, 0.18) 0%, rgba(32, 178, 170, 0.16) 100%);
  border: 1px solid var(--surface7b9a4-line-strong);
  color: var(--surface7b9a4-mint);
}

.surface7b9a4-section-badge svg { width: 18px; height: 18px; }

.surface7b9a4-section-head h2 {
  font-size: 15.5px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: 0.2px;
  color: var(--surface7b9a4-text);
}

.surface7b9a4-section-head .surface7b9a4-section-meta {
  margin-left: auto;
  font-size: 10.5px;
  color: var(--surface7b9a4-aqua);
  letter-spacing: 0.6px;
  text-transform: uppercase;
  white-space: nowrap;
}

.surface7b9a4-section-lead {
  font-size: 13px;
  color: var(--surface7b9a4-text-dim);
  margin-bottom: 12px;
}

/* ---------- Game grid ---------- */
.surface7b9a4-game-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}

.surface7b9a4-game-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  background: linear-gradient(180deg, var(--surface7b9a4-ink-750) 0%, var(--surface7b9a4-ink-800) 100%);
  border: 1px solid var(--surface7b9a4-line);
  border-radius: var(--surface7b9a4-radius-sm);
  padding: 6px;
  transition: transform 0.18s ease, box-shadow 0.22s ease, border-color 0.2s ease;
  min-width: 0;
}

.surface7b9a4-game-card:hover,
.surface7b9a4-game-card:active {
  transform: translateY(-2px);
  border-color: var(--surface7b9a4-line-strong);
  box-shadow: var(--surface7b9a4-shadow-glow);
}

.surface7b9a4-game-thumb {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 6px;
  background: var(--surface7b9a4-ink-700);
  margin-bottom: 5px;
}

.surface7b9a4-game-name {
  font-size: 10.5px;
  line-height: 1.25;
  font-weight: 600;
  color: var(--surface7b9a4-text-dim);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 26px;
  word-break: break-word;
}

.surface7b9a4-game-card:hover .surface7b9a4-game-name,
.surface7b9a4-game-card:active .surface7b9a4-game-name {
  color: var(--surface7b9a4-mint);
}

/* ---------- Content modules ---------- */
.surface7b9a4-module {
  background: linear-gradient(160deg, rgba(102, 205, 170, 0.05) 0%, rgba(32, 178, 170, 0.04) 100%);
  border: 1px solid var(--surface7b9a4-line);
  border-radius: var(--surface7b9a4-radius-md);
  padding: 16px;
  margin-bottom: 18px;
}

.surface7b9a4-module p {
  color: var(--surface7b9a4-text-dim);
  font-size: 13px;
  margin-bottom: 10px;
}

.surface7b9a4-module p:last-child { margin-bottom: 0; }

.surface7b9a4-module h3 {
  font-size: 13.5px;
  font-weight: 700;
  color: var(--surface7b9a4-aqua);
  margin: 12px 0 6px;
  letter-spacing: 0.2px;
}

.surface7b9a4-module h3:first-child { margin-top: 0; }

.surface7b9a4-module a {
  color: var(--surface7b9a4-mint);
  font-weight: 600;
  border-bottom: 1px dashed rgba(0, 255, 127, 0.4);
  transition: color 0.18s ease;
}

.surface7b9a4-module a:hover { color: var(--surface7b9a4-mint-soft); }

/* Feature grid (scannable, comparable) */
.surface7b9a4-feature-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 9px;
  margin-top: 10px;
}

.surface7b9a4-feature {
  padding: 10px;
  border-radius: 10px;
  background: rgba(8, 12, 10, 0.45);
  border: 1px solid var(--surface7b9a4-line);
}

.surface7b9a4-feature-title {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  color: var(--surface7b9a4-mint);
  margin-bottom: 5px;
}

.surface7b9a4-feature-title svg { width: 14px; height: 14px; }

.surface7b9a4-feature p {
  font-size: 11.5px;
  color: var(--surface7b9a4-text-dim);
  margin: 0;
  line-height: 1.45;
}

/* RTP table */
.surface7b9a4-rtp-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 10px;
  font-size: 12px;
}

.surface7b9a4-rtp-table th,
.surface7b9a4-rtp-table td {
  padding: 9px 10px;
  text-align: left;
  border-bottom: 1px solid var(--surface7b9a4-line);
}

.surface7b9a4-rtp-table th {
  color: var(--surface7b9a4-aqua);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.4px;
  text-transform: uppercase;
}

.surface7b9a4-rtp-table td { color: var(--surface7b9a4-text-dim); }

.surface7b9a4-rtp-table td b { color: var(--surface7b9a4-mint); }

/* CTA block */
.surface7b9a4-cta {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px;
  border-radius: var(--surface7b9a4-radius-md);
  background: linear-gradient(135deg, rgba(255, 127, 80, 0.12) 0%, rgba(0, 255, 127, 0.08) 100%);
  border: 1px solid var(--surface7b9a4-line-strong);
  margin-top: 10px;
}

.surface7b9a4-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.surface7b9a4-cta-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 40px;
  padding: 0 16px;
  border-radius: var(--surface7b9a4-radius-pill);
  font-weight: 700;
  font-size: 12.5px;
  color: #08130d;
  transition: transform 0.18s ease, box-shadow 0.2s ease;
}

.surface7b9a4-cta-pill-mint {
  background: linear-gradient(135deg, var(--surface7b9a4-mint) 0%, var(--surface7b9a4-aqua) 100%);
  box-shadow: 0 4px 14px rgba(0, 255, 127, 0.35);
}

.surface7b9a4-cta-pill-coral {
  background: linear-gradient(135deg, var(--surface7b9a4-coral) 0%, #ffb284 100%);
  box-shadow: var(--surface7b9a4-shadow-coral);
  color: #1a0c06;
}

.surface7b9a4-cta-pill:hover,
.surface7b9a4-cta-pill:active { transform: translateY(-1px); }

/* Entity relationship summary */
.surface7b9a4-rel-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 9px;
  margin-top: 10px;
}

.surface7b9a4-rel-item {
  padding: 10px;
  border-radius: 10px;
  background: rgba(8, 12, 10, 0.45);
  border: 1px solid var(--surface7b9a4-line);
}

.surface7b9a4-rel-item b {
  display: block;
  font-size: 12px;
  color: var(--surface7b9a4-mint);
  margin-bottom: 4px;
}

.surface7b9a4-rel-item span {
  font-size: 11.5px;
  color: var(--surface7b9a4-text-dim);
  line-height: 1.45;
}

/* Pros and limitations */
.surface7b9a4-pros-cons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  margin-top: 10px;
}

.surface7b9a4-pros,
.surface7b9a4-cons {
  padding: 12px;
  border-radius: 10px;
  background: rgba(8, 12, 10, 0.45);
  border: 1px solid var(--surface7b9a4-line);
}

.surface7b9a4-pros { border-left: 3px solid var(--surface7b9a4-mint); }
.surface7b9a4-cons { border-left: 3px solid var(--surface7b9a4-coral); }

.surface7b9a4-pros h3,
.surface7b9a4-cons h3 {
  margin: 0 0 8px;
  font-size: 12.5px;
  color: var(--surface7b9a4-text);
}

.surface7b9a4-pros h3 { color: var(--surface7b9a4-mint); }
.surface7b9a4-cons h3 { color: var(--surface7b9a4-coral); }

.surface7b9a4-pros li,
.surface7b9a4-cons li {
  position: relative;
  padding-left: 16px;
  font-size: 11.5px;
  color: var(--surface7b9a4-text-dim);
  margin-bottom: 6px;
  line-height: 1.4;
}

.surface7b9a4-pros li::before {
  content: "+";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--surface7b9a4-mint);
  font-weight: 800;
}

.surface7b9a4-cons li::before {
  content: "!";
  position: absolute;
  left: 2px;
  top: 0;
  color: var(--surface7b9a4-coral);
  font-weight: 800;
}

/* ---------- Extended footer (horizontal shortcuts) ---------- */
.surface7b9a4-ext-footer {
  margin-top: 22px;
  padding: 16px;
  border-radius: var(--surface7b9a4-radius-md);
  background:
    radial-gradient(120% 80% at 0% 0%, rgba(0, 255, 127, 0.08), transparent 60%),
    radial-gradient(120% 80% at 100% 100%, rgba(255, 127, 80, 0.08), transparent 60%),
    var(--surface7b9a4-ink-850);
  border: 1px solid var(--surface7b9a4-line);
}

.surface7b9a4-ext-block { margin-bottom: 16px; }
.surface7b9a4-ext-block:last-child { margin-bottom: 0; }

.surface7b9a4-ext-title {
  font-size: 11px;
  letter-spacing: 0.9px;
  text-transform: uppercase;
  color: var(--surface7b9a4-aqua);
  margin-bottom: 9px;
}

.surface7b9a4-promo-shortcuts {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}

.surface7b9a4-promo-shortcuts button,
.surface7b9a4-promo-shortcuts a.surface7b9a4-promo-link {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 42px;
  padding: 0 11px;
  border-radius: 10px;
  font-size: 11.5px;
  font-weight: 700;
  text-align: left;
  color: var(--surface7b9a4-text);
  background: rgba(102, 205, 170, 0.08);
  border: 1px solid var(--surface7b9a4-line);
  transition: transform 0.18s ease, box-shadow 0.22s ease, background 0.2s ease;
}

.surface7b9a4-promo-shortcuts button:hover,
.surface7b9a4-promo-shortcuts a.surface7b9a4-promo-link:hover {
  transform: translateY(-1px);
  background: rgba(0, 255, 127, 0.14);
  box-shadow: var(--surface7b9a4-shadow-glow);
}

.surface7b9a4-promo-shortcuts svg {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  color: var(--surface7b9a4-mint);
}

.surface7b9a4-brand-blurb {
  font-size: 12px;
  color: var(--surface7b9a4-text-dim);
  line-height: 1.55;
}

.surface7b9a4-directory {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px;
}

.surface7b9a4-directory a {
  font-size: 11.5px;
  color: var(--surface7b9a4-text-dim);
  padding: 6px 9px;
  border-radius: 8px;
  background: rgba(8, 12, 10, 0.4);
  border: 1px solid transparent;
  transition: background 0.18s ease, color 0.18s ease;
}

.surface7b9a4-directory a:hover {
  color: var(--surface7b9a4-mint);
  background: rgba(0, 255, 127, 0.1);
}

.surface7b9a4-disclaimer {
  font-size: 10.5px;
  color: var(--surface7b9a4-muted);
  line-height: 1.5;
  padding: 10px;
  border-radius: 8px;
  background: rgba(8, 12, 10, 0.4);
  border-left: 2px solid var(--surface7b9a4-sea);
}

/* ---------- Footer copyright ---------- */
.surface7b9a4-footer {
  margin-top: 18px;
  padding: 14px 12px calc(var(--surface7b9a4-bottomnav-h) + 18px);
  border-top: 1px solid var(--surface7b9a4-line);
  text-align: center;
}

.surface7b9a4-footer-copy {
  font-size: 11px;
  color: var(--surface7b9a4-muted);
  letter-spacing: 0.3px;
}

.surface7b9a4-footer-copy b { color: var(--surface7b9a4-aqua); }

/* ---------- Mobile bottom navigation (layered strip) ---------- */
.surface7b9a4-bottomnav {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  bottom: 10px;
  z-index: 70;
  width: calc(100% - 20px);
  max-width: calc(var(--surface7b9a4-frame-max) - 20px);
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  align-items: center;
  gap: 2px;
  padding: 7px 6px;
  border-radius: var(--surface7b9a4-radius-lg);
  background: linear-gradient(180deg, rgba(28, 32, 30, 0.96) 0%, rgba(22, 25, 23, 0.98) 100%);
  border: 1px solid var(--surface7b9a4-line-strong);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.55), 0 0 24px rgba(0, 255, 127, 0.08);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.surface7b9a4-bottomnav::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 14%;
  right: 14%;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, var(--surface7b9a4-mint) 50%, transparent 100%);
  opacity: 0.5;
}

.surface7b9a4-bottomnav a,
.surface7b9a4-bottomnav button {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  min-height: 50px;
  padding: 4px 2px;
  color: var(--surface7b9a4-muted);
  border-radius: 14px;
  transition: transform 0.2s ease, color 0.2s ease, background 0.22s ease, box-shadow 0.22s ease;
}

.surface7b9a4-bottomnav a span,
.surface7b9a4-bottomnav button span {
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.2px;
  text-align: center;
  line-height: 1;
}

.surface7b9a4-bottomnav svg {
  width: 22px;
  height: 22px;
  display: block;
  transition: transform 0.2s ease;
}

.surface7b9a4-bottomnav a:hover,
.surface7b9a4-bottomnav button:hover {
  color: var(--surface7b9a4-text);
}

.surface7b9a4-bottomnav a:hover svg,
.surface7b9a4-bottomnav button:hover svg {
  transform: translateY(-1px);
}

/* Active state - slight lift + restrained glow */
.surface7b9a4-bottomnav .surface7b9a4-nav-active {
  color: var(--surface7b9a4-mint);
  background: linear-gradient(180deg, rgba(0, 255, 127, 0.14) 0%, rgba(0, 255, 127, 0.04) 100%);
  box-shadow: var(--surface7b9a4-shadow-glow);
  transform: translateY(-3px);
}

.surface7b9a4-bottomnav .surface7b9a4-nav-active::after {
  content: "";
  position: absolute;
  bottom: 3px;
  left: 50%;
  transform: translateX(-50%);
  width: 16px;
  height: 2px;
  border-radius: 2px;
  background: var(--surface7b9a4-mint);
}

.surface7b9a4-bottomnav .surface7b9a4-nav-active svg { transform: translateY(-1px); }

/* Promo buttons get a coral hint */
.surface7b9a4-bottomnav .surface7b9a4-nav-promo {
  color: var(--surface7b9a4-coral);
}

.surface7b9a4-bottomnav .surface7b9a4-nav-promo:hover {
  color: #ffb284;
  box-shadow: var(--surface7b9a4-shadow-coral);
}

/* ---------- Responsive fine-tuning ---------- */
@media (min-width: 360px) {
  .surface7b9a4-intro h1 { font-size: 23px; }
  .surface7b9a4-section-head h2 { font-size: 16.5px; }
}

@media (min-width: 393px) {
  .surface7b9a4-main { padding: 16px 14px 0; }
  .surface7b9a4-game-grid { gap: 9px; }
  .surface7b9a4-carousel-slide img { height: 196px; }
}

@media (min-width: 410px) {
  .surface7b9a4-game-grid { grid-template-columns: repeat(5, 1fr); }
  .surface7b9a4-promo-shortcuts { grid-template-columns: repeat(3, 1fr); }
}

@media (min-width: 480px) {
  .surface7b9a4-promo-shortcuts { grid-template-columns: repeat(5, 1fr); }
  .surface7b9a4-directory { grid-template-columns: repeat(3, 1fr); }
}

/* Respect users who prefer less motion */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .surface7b9a4-carousel-track { transition: none; }
  * { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}

/* ---------- Help page information patterns ---------- */
.surface7b9a4-help-main,
.surface7b9a4-safety-main { padding-bottom: 12px; }
.surface7b9a4-symptom-list { display: grid; gap: 9px; }
.surface7b9a4-symptom { display: grid; gap: 6px; padding: 12px; border-left: 3px solid var(--surface7b9a4-aqua); border-radius: 9px; background: rgba(8,12,10,.5); border-top: 1px solid var(--surface7b9a4-line); border-right: 1px solid var(--surface7b9a4-line); border-bottom: 1px solid var(--surface7b9a4-line); }
.surface7b9a4-symptom b { color: var(--surface7b9a4-mint); font-size: 13px; }
.surface7b9a4-symptom span { color: var(--surface7b9a4-text-dim); font-size: 12px; line-height: 1.45; }
.surface7b9a4-symptom button,
.surface7b9a4-qa-columns button { justify-self: start; min-height: 44px; padding: 0 13px; border: 1px solid var(--surface7b9a4-line-strong); border-radius: 8px; color: var(--surface7b9a4-mint); font-weight: 700; font-size: 11.5px; }
.surface7b9a4-numbered { display: grid; gap: 9px; counter-reset: steps; }
.surface7b9a4-numbered li { counter-increment: steps; position: relative; padding: 10px 10px 10px 38px; color: var(--surface7b9a4-text-dim); font-size: 12px; background: rgba(8,12,10,.42); border-radius: 8px; }
.surface7b9a4-numbered li::before { content: counter(steps, decimal-leading-zero); position: absolute; left: 10px; top: 10px; color: var(--surface7b9a4-coral); font-weight: 800; }
.surface7b9a4-numbered b { color: var(--surface7b9a4-text); }
.surface7b9a4-action-strip { display: grid; gap: 8px; margin-top: 12px; padding: 12px; border: 1px dashed var(--surface7b9a4-line-strong); border-radius: 8px; color: var(--surface7b9a4-text-dim); font-size: 12px; }
.surface7b9a4-action-strip a { font-weight: 800; }
.surface7b9a4-checklist { display: grid; gap: 7px; }
.surface7b9a4-checklist li { display: grid; grid-template-columns: 30px 1fr; gap: 8px; align-items: center; min-height: 44px; padding: 7px 8px; color: var(--surface7b9a4-text-dim); font-size: 12px; border-bottom: 1px solid var(--surface7b9a4-line); }
.surface7b9a4-checklist li span { color: var(--surface7b9a4-coral); font-weight: 800; font-size: 11px; }
.surface7b9a4-note { margin-top: 12px !important; padding: 10px; border-left: 2px solid var(--surface7b9a4-coral); background: rgba(255,127,80,.06); }
.surface7b9a4-payment-flow { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin: 12px 0; }
.surface7b9a4-payment-flow div,
.surface7b9a4-boundary div { padding: 10px; border-radius: 8px; background: rgba(8,12,10,.52); border: 1px solid var(--surface7b9a4-line); }
.surface7b9a4-payment-flow b,
.surface7b9a4-boundary strong { display: block; color: var(--surface7b9a4-aqua); font-size: 12px; }
.surface7b9a4-payment-flow span,
.surface7b9a4-boundary span { display: block; color: var(--surface7b9a4-text-dim); font-size: 11px; line-height: 1.4; margin-top: 4px; }
.surface7b9a4-outline-action,
.surface7b9a4-solid-action { min-height: 44px; padding: 0 16px; border-radius: 8px; font-weight: 800; font-size: 12px; }
.surface7b9a4-outline-action { color: var(--surface7b9a4-mint); border: 1px solid var(--surface7b9a4-line-strong); background: transparent; }
.surface7b9a4-solid-action { color: #07110b; background: linear-gradient(135deg,var(--surface7b9a4-mint),var(--surface7b9a4-aqua)); box-shadow: 0 5px 16px rgba(0,255,127,.25); }
.surface7b9a4-mistake-table { border: 1px solid var(--surface7b9a4-line); border-radius: 8px; overflow: hidden; }
.surface7b9a4-mistake-table > div { display: grid; grid-template-columns: 1fr 1.12fr; gap: 8px; padding: 10px; border-bottom: 1px solid var(--surface7b9a4-line); font-size: 11.5px; color: var(--surface7b9a4-text-dim); }
.surface7b9a4-mistake-table > div:last-child { border-bottom: 0; }
.surface7b9a4-mistake-table .surface7b9a4-mistake-head { color: var(--surface7b9a4-aqua); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .6px; background: rgba(102,205,170,.08); }
.surface7b9a4-mistake-table b { color: var(--surface7b9a4-text); }
.surface7b9a4-faq-list { display: grid; gap: 8px; }
.surface7b9a4-faq-list .surface7b9a4-section-head { margin-bottom: 4px; }
.surface7b9a4-faq-list details { border: 1px solid var(--surface7b9a4-line); border-radius: 8px; background: rgba(8,12,10,.44); padding: 0 11px; }
.surface7b9a4-faq-list summary { min-height: 48px; display: flex; align-items: center; cursor: pointer; color: var(--surface7b9a4-text); font-size: 12.5px; font-weight: 700; list-style: none; }
.surface7b9a4-faq-list summary::-webkit-details-marker { display: none; }
.surface7b9a4-faq-list summary::after { content: "+"; margin-left: auto; color: var(--surface7b9a4-mint); font-size: 18px; }
.surface7b9a4-faq-list details[open] summary::after { content: "−"; }
.surface7b9a4-faq-list details p { color: var(--surface7b9a4-text-dim); font-size: 12px; line-height: 1.5; padding-bottom: 9px; }
.surface7b9a4-faq-list details button { min-height: 44px; margin-bottom: 11px; padding: 0 13px; border-radius: 7px; color: var(--surface7b9a4-mint); border: 1px solid var(--surface7b9a4-line-strong); font-size: 11px; font-weight: 700; }
.surface7b9a4-safety-score { display: grid; gap: 7px; }
.surface7b9a4-safety-score div { display: grid; grid-template-columns: 34px 1fr; column-gap: 8px; padding: 9px; border-radius: 8px; background: rgba(8,12,10,.48); border: 1px solid var(--surface7b9a4-line); }
.surface7b9a4-safety-score strong { grid-row: span 2; color: var(--surface7b9a4-coral); font-size: 12px; }
.surface7b9a4-safety-score span { color: var(--surface7b9a4-mint); font-size: 12px; font-weight: 800; }
.surface7b9a4-safety-score small { color: var(--surface7b9a4-text-dim); font-size: 11px; line-height: 1.35; }
.surface7b9a4-glossary { display: grid; gap: 8px; }
.surface7b9a4-glossary div { padding: 10px; border-left: 2px solid var(--surface7b9a4-aqua); background: rgba(8,12,10,.44); }
.surface7b9a4-glossary dt { color: var(--surface7b9a4-mint); font-size: 12px; font-weight: 800; }
.surface7b9a4-glossary dd { margin: 3px 0 0; color: var(--surface7b9a4-text-dim); font-size: 11.5px; line-height: 1.45; }
.surface7b9a4-device-grid { display: grid; gap: 9px; }
.surface7b9a4-device-grid article { padding: 12px; border-radius: 9px; border: 1px solid var(--surface7b9a4-line); background: rgba(8,12,10,.45); }
.surface7b9a4-device-grid h3 { margin: 0 0 7px; color: var(--surface7b9a4-aqua); font-size: 13px; }
.surface7b9a4-device-grid ul { display: grid; gap: 5px; margin-bottom: 9px; }
.surface7b9a4-device-grid li { color: var(--surface7b9a4-text-dim); font-size: 11.5px; padding-left: 12px; position: relative; }
.surface7b9a4-device-grid li::before { content: "•"; position: absolute; left: 0; color: var(--surface7b9a4-coral); }
.surface7b9a4-device-grid button { min-height: 44px; padding: 0 13px; color: var(--surface7b9a4-mint); border: 1px solid var(--surface7b9a4-line-strong); border-radius: 7px; font-size: 11px; font-weight: 700; }
.surface7b9a4-security-chain { display: grid; grid-template-columns: 1fr; gap: 7px; }
.surface7b9a4-security-chain div { padding: 10px; background: rgba(8,12,10,.48); border: 1px solid var(--surface7b9a4-line); border-radius: 8px; }
.surface7b9a4-security-chain b { color: var(--surface7b9a4-mint); font-size: 12px; }
.surface7b9a4-security-chain span { display: block; color: var(--surface7b9a4-text-dim); font-size: 11px; margin-top: 3px; }
.surface7b9a4-security-chain i { display: none; }
.surface7b9a4-boundary { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; margin: 12px 0; }
.surface7b9a4-qa-columns { display: grid; gap: 8px; }
.surface7b9a4-qa-columns article { padding: 12px; border-radius: 9px; background: rgba(8,12,10,.5); border: 1px solid var(--surface7b9a4-line); }
.surface7b9a4-qa-columns h3 { margin: 0 0 5px; color: var(--surface7b9a4-mint); font-size: 13px; }
.surface7b9a4-qa-columns p { margin-bottom: 9px; }
.surface7b9a4-requirements { display: grid; gap: 7px; margin-bottom: 12px; }
.surface7b9a4-requirements li { display: grid; gap: 2px; padding: 9px 10px; border-bottom: 1px solid var(--surface7b9a4-line); }
.surface7b9a4-requirements b { color: var(--surface7b9a4-aqua); font-size: 12px; }
.surface7b9a4-requirements span { color: var(--surface7b9a4-text-dim); font-size: 11.5px; }
@media (min-width: 390px) {
  .surface7b9a4-security-chain { grid-template-columns: 1fr 16px 1fr 16px 1fr; align-items: center; }
  .surface7b9a4-security-chain i { display: block; color: var(--surface7b9a4-coral); text-align: center; font-style: normal; }
}

