* Cactus Casino — Graphite Mono */

body {
  background:
    radial-gradient(60rem 30rem at 12% -10%, color-mix(in srgb, var(--accent) 6%, transparent), transparent 60%),
    radial-gradient(50rem 26rem at 100% 0%, color-mix(in srgb, var(--accent) 4%, transparent), transparent 65%),
    var(--bg);
  background-attachment: fixed;
}

.section {
  border-top: 1px solid var(--line);
}
.section:first-child { border-top: none; }

.hero {
  position: relative;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--panel) 70%, transparent), transparent 70%),
    repeating-linear-gradient(90deg, transparent, transparent 79px, color-mix(in srgb, var(--line) 55%, transparent) 80px);
  border-bottom: 1px solid var(--line);
}

.hero-title {
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--text);
  text-transform: none;
}

.hero-sub { color: var(--text-2); }

.badge {
  background: var(--panel-2);
  border: 1px solid var(--line);
  color: var(--text-2);
  border-radius: var(--radius);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-weight: 600;
}

.fact {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  transition: border-color 0.2s ease, transform 0.2s ease;
}
.fact:hover { border-color: var(--accent); transform: translateY(-2px); }
.fact b { color: var(--accent); font-weight: 700; }

.btn {
  border-radius: var(--radius);
  font-weight: 600;
  letter-spacing: 0.01em;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
  min-height: 44px;
}
.btn-primary {
  background: var(--accent);
  color: var(--on-accent);
  border: 1px solid var(--accent);
  box-shadow: 0 1px 0 color-mix(in srgb, var(--accent) 40%, transparent);
}
.btn-primary:hover {
  background: color-mix(in srgb, var(--accent) 92%, var(--bg));
  box-shadow: 0 6px 18px -8px color-mix(in srgb, var(--accent) 55%, transparent);
  transform: translateY(-1px);
}
.btn-ghost {
  background: transparent;
  color: var(--text);
  border: 1px solid var(--line);
}
.btn-ghost:hover {
  border-color: var(--accent);
  color: var(--accent);
}

.card, .feature {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  transition: border-color 0.2s ease, transform 0.2s ease, background-color 0.2s ease;
}
.card:hover, .feature:hover {
  border-color: var(--accent);
  transform: translateY(-3px);
  background: var(--panel-2);
}
.feature .icon {
  color: var(--accent);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel-2);
}

.tab {
  border: 1px solid var(--line);
  background: var(--panel);
  color: var(--text-2);
  border-radius: var(--radius);
  font-weight: 600;
  transition: all 0.15s ease;
}
.tab.active, .tab:hover {
  color: var(--on-accent);
  background: var(--accent);
  border-color: var(--accent);
}

.tile {
  position: relative;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  transition: border-color 0.2s ease, transform 0.2s ease;
}
.tile:hover { border-color: var(--accent); transform: translateY(-2px); }
.tile .gp {
  color: var(--text-2);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.tile .nm {
  color: var(--text);
  font-weight: 600;
  border-top: 1px solid var(--line);
}
.tile.noimg {
  background: linear-gradient(155deg, var(--panel), var(--panel-2));
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.tile.noimg .nm { border-top: none; color: var(--text-2); }

.offer {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.offer-badge {
  background: var(--accent);
  color: var(--on-accent);
  border-radius: var(--radius);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.offer-amount {
  color: var(--accent);
  font-weight: 700;
  letter-spacing: -0.01em;
}

.chip {
  background: var(--panel-2);
  border: 1px solid var(--line);
  color: var(--text-2);
  border-radius: var(--radius);
  transition: border-color 0.15s ease, color 0.15s ease;
}
.chip:hover { border-color: var(--accent); color: var(--text); }

.access {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.access .icon { color: var(--accent); }
.access-body h3 { color: var(--text); }

.trust {
  border-top: 1px solid var(--line);
  color: var(--text-2);
}
.trust .t18 {
  border: 1px solid var(--accent);
  color: var(--accent);
  border-radius: 999px;
  font-weight: 700;
}

.faq-item {
  border-bottom: 1px solid var(--line);
}
.faq-q {
  color: var(--text);
  font-weight: 600;
  transition: color 0.15s ease;
}
.faq-q:hover { color: var(--accent); }
.faq-a { color: var(--prose); }

.article a, .faq-a a, .hero-sub a {
  color: var(--text);
  text-decoration: underline;
  text-decoration-color: var(--line);
  text-underline-offset: 3px;
  transition: text-decoration-color 0.15s ease;
}
.article a:hover, .faq-a a:hover, .hero-sub a:hover {
  text-decoration-color: var(--accent);
}

.table th {
  background: var(--panel-2);
  color: var(--text);
  border-bottom: 1px solid var(--line);
}
.table td { border-bottom: 1px solid var(--line); color: var(--prose); }

::selection { background: var(--accent); color: var(--on-accent); }