/* Neon art direction: imported after style.css in generated pages. */
:root {
  --ink: #f7f3ff;
  --ink-2: #d9ceff;
  --muted: #aaa2ca;
  --paper: #080611;
  --card: rgba(20, 14, 45, .82);
  --line: rgba(155, 116, 255, .30);
  --violet: #9d63ff;
  --violet-dark: #d3b5ff;
  --cyan: #2de7ff;
  --yellow: #ffe15a;
  --orange: #ff6a7f;
  --mint: #7dffc9;
  --shadow: 0 0 0 1px rgba(141, 100, 255, .18), 0 20px 60px rgba(0, 0, 0, .58), 0 0 30px rgba(100, 45, 255, .12);
}

html { background: #080611; }
body {
  color: var(--ink);
  background:
    radial-gradient(circle at 12% 4%, rgba(131, 70, 255, .28), transparent 28rem),
    radial-gradient(circle at 90% 18%, rgba(0, 215, 255, .16), transparent 26rem),
    linear-gradient(180deg, #080611 0%, #0e0820 48%, #080611 100%);
  isolation: isolate;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .18;
  background-image:
    linear-gradient(rgba(118, 80, 255, .20) 1px, transparent 1px),
    linear-gradient(90deg, rgba(118, 80, 255, .20) 1px, transparent 1px);
  background-size: 46px 46px;
  mask-image: linear-gradient(to bottom, black, transparent 75%);
}
body::selection { color: #090611; background: var(--cyan); }
a { color: var(--violet-dark); }
a:hover { color: var(--cyan); }

.topline {
  color: #fff;
  background: linear-gradient(90deg, #16072c, #2a0e57 45%, #081d3e);
  border-bottom: 1px solid rgba(45, 231, 255, .22);
  box-shadow: 0 0 18px rgba(45, 231, 255, .08);
}
.topline strong { color: var(--yellow); text-shadow: 0 0 12px rgba(255, 225, 90, .8); }
.topline a { color: #f8f3ff; }

.site-header {
  background: rgba(9, 6, 20, .78);
  border-bottom: 1px solid rgba(157, 99, 255, .32);
  box-shadow: 0 8px 35px rgba(0, 0, 0, .28), 0 0 26px rgba(111, 44, 255, .08);
}
.brand { color: #fff; }
.brand:hover { color: #fff; }
.brand-mark { box-shadow: 0 0 0 1px rgba(45, 231, 255, .3), 0 0 24px rgba(157, 99, 255, .7); }
.brand-copy strong { color: #fff; text-shadow: 0 0 16px rgba(157, 99, 255, .72); }
.brand-copy span { color: #aaa0cc; }
.nav-links a { color: #ece7ff; }
.nav-links a:hover, .nav-links a[aria-current="page"] { color: var(--cyan); text-shadow: 0 0 12px rgba(45, 231, 255, .64); }
.nav-toggle { color: #fff; }

.btn-primary {
  color: #120820;
  background: linear-gradient(110deg, var(--cyan), #9b7bff 48%, #ff5fd8);
  border-color: rgba(255,255,255,.42);
  box-shadow: 0 0 0 1px rgba(45,231,255,.18), 0 0 18px rgba(45,231,255,.42), 0 0 35px rgba(174,76,255,.35);
}
.btn-primary:hover { color: #090611; box-shadow: 0 0 0 1px rgba(255,255,255,.5), 0 0 22px rgba(45,231,255,.72), 0 0 48px rgba(255,95,216,.45); }
.btn-secondary {
  color: #f5efff;
  background: rgba(17, 11, 38, .74);
  border-color: rgba(45,231,255,.42);
  box-shadow: inset 0 0 18px rgba(45,231,255,.05), 0 0 14px rgba(45,231,255,.10);
}
.btn-secondary:hover { color: #fff; border-color: var(--cyan); box-shadow: 0 0 18px rgba(45,231,255,.36); }
.btn-dark { color: #fff; background: #25114f; border: 1px solid rgba(157,99,255,.52); }
.btn-dark:hover { color: #fff; background: #32156b; }
.btn:focus-visible, .nav-toggle:focus-visible, a:focus-visible, summary:focus-visible { outline-color: var(--cyan); box-shadow: 0 0 18px rgba(45,231,255,.5); }

.hero { position: relative; padding-top: 86px; }
.hero::after {
  content: "";
  position: absolute;
  width: 220px;
  height: 220px;
  left: -100px;
  bottom: -100px;
  border: 1px solid rgba(255, 106, 127, .26);
  border-radius: 50%;
  box-shadow: 0 0 70px rgba(255, 106, 127, .15);
  pointer-events: none;
}
.eyebrow, .kicker { color: var(--cyan); text-shadow: 0 0 12px rgba(45,231,255,.38); }
.hero h1, .article-hero h1 { color: #fff; text-shadow: 0 0 24px rgba(157,99,255,.36); }
.hero h1 span { color: var(--cyan); text-shadow: 0 0 10px rgba(45,231,255,.75), 0 0 34px rgba(157,99,255,.48); }
.hero-lead, .micro-note { color: #bdb4db; }
.hero-art::before { background: rgba(45,231,255,.22); filter: blur(48px); box-shadow: 0 0 90px rgba(157,99,255,.35); }
.hero-art img { filter: drop-shadow(0 0 16px rgba(45,231,255,.28)) drop-shadow(0 26px 40px rgba(0,0,0,.62)); animation: neon-float 6s ease-in-out infinite; }

.section-heading h2, .band h2 { color: #fff; text-shadow: 0 0 20px rgba(157,99,255,.22); }
.section-heading p { color: var(--muted); }
.stat-strip { background: rgba(45,231,255,.25); border-color: rgba(45,231,255,.34); box-shadow: var(--shadow), 0 0 30px rgba(45,231,255,.08); }
.stat { background: linear-gradient(135deg, rgba(25,16,56,.95), rgba(12,9,29,.93)); }
.stat strong { color: var(--yellow); text-shadow: 0 0 15px rgba(255,225,90,.52); }
.stat span { color: #aaa0c7; }

.card {
  color: #fff;
  background: linear-gradient(145deg, rgba(28, 17, 61, .92), rgba(12, 9, 29, .88));
  border-color: rgba(157,99,255,.34);
  box-shadow: var(--shadow);
  position: relative;
  overflow: hidden;
}
.card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(120deg, rgba(45,231,255,.08), transparent 35%, rgba(255,95,216,.06));
}
.card:hover { border-color: rgba(45,231,255,.62); box-shadow: 0 0 0 1px rgba(45,231,255,.15), 0 0 28px rgba(45,231,255,.14), 0 24px 60px rgba(0,0,0,.58); transform: translateY(-3px); transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.card h3 { color: #fff; }
.card p, .card li { color: #bbb2d8; }
.card p + p { color: #aaa0ca; }
.card-icon { box-shadow: 0 0 18px rgba(255,225,90,.32); }
.card-icon.cyan { color: #071022; box-shadow: 0 0 20px rgba(45,231,255,.4); }
.card-icon.violet { box-shadow: 0 0 20px rgba(157,99,255,.5); }
.card-icon.mint { box-shadow: 0 0 20px rgba(125,255,201,.28); }

.cluster { border: 1px solid rgba(255,255,255,.26); box-shadow: 0 0 18px rgba(111, 44, 255, .20), 0 14px 34px rgba(0,0,0,.32); }
.cluster:nth-child(1) { background: linear-gradient(135deg, #4d16bc, #a04dff); box-shadow: 0 0 28px rgba(157,99,255,.36); }
.cluster:nth-child(2) { background: linear-gradient(135deg, #007f9b, #19e5ef); box-shadow: 0 0 28px rgba(45,231,255,.30); }
.cluster:nth-child(3) { background: linear-gradient(135deg, #bd1d78, #ff5871); box-shadow: 0 0 28px rgba(255,88,113,.28); }
.cluster:nth-child(4) { color: #1a0b31; background: linear-gradient(135deg, #eea51e, #ffe55a); box-shadow: 0 0 28px rgba(255,225,90,.26); }
.cluster h3 { text-shadow: 0 0 12px rgba(255,255,255,.24); }
.cluster:nth-child(4) h3 { text-shadow: none; }

.band { background: radial-gradient(circle at 85% 20%, rgba(157,99,255,.28), transparent 16rem), linear-gradient(135deg, #140a31, #080611 70%); border: 1px solid rgba(157,99,255,.46); box-shadow: 0 0 0 1px rgba(45,231,255,.08), 0 0 38px rgba(110,45,255,.18); }
.band::after { border-color: rgba(45,231,255,.25); box-shadow: 0 0 32px rgba(45,231,255,.18); }
.band p { color: #bdb4db; }

.breadcrumbs, .breadcrumbs a { color: #8f87ad; }
.article-hero .lead { color: #bdb4db; }
.article-body h2, .article-body h3 { color: #fff; text-shadow: 0 0 16px rgba(157,99,255,.18); }
.article-body p { color: #bdb4db; }
.article-body ul, .article-body ol { color: #bdb4db; }
.article-body strong { color: #fff; }
.article-body blockquote { background: rgba(7, 42, 55, .56); border-color: var(--cyan); color: #b9f9ff; box-shadow: inset 0 0 24px rgba(45,231,255,.08); }
.toc { background: rgba(18, 11, 42, .82); border-color: rgba(157,99,255,.38); box-shadow: var(--shadow); }
.toc strong { color: #fff; }
.toc a { color: #aaa0c8; }
.toc a:hover { color: var(--cyan); }

.notice { border-color: rgba(255,225,90,.52); background: rgba(74, 51, 5, .48); color: #ffeeb0; box-shadow: 0 0 22px rgba(255,225,90,.08); }
.notice strong { color: #fff; }
.notice-cyan { border-color: rgba(45,231,255,.52); background: rgba(3, 49, 61, .5); color: #bbf8ff; box-shadow: 0 0 22px rgba(45,231,255,.10); }

.data-table { border-color: rgba(157,99,255,.38); background: rgba(13,9,31,.8); box-shadow: var(--shadow); }
.data-table th, .data-table td { border-bottom-color: rgba(157,99,255,.18); }
.data-table th { color: #fff; background: rgba(48, 24, 93, .52); }
.data-table td { color: #bdb4db; }
.status-check { color: #ffe690; background: rgba(126,84,0,.36); }
.status-ready { color: #8effd1; background: rgba(12,106,77,.32); }
.status-neutral { color: #cabff0; background: rgba(95,79,145,.30); }

.checkitem { border-color: rgba(157,99,255,.28); background: rgba(19, 12, 43, .72); }
.checkitem span { color: #bdb4db; }
.checkitem input { accent-color: var(--cyan); }

.casino-name { color: #fff; }
.casino-meta { color: #aaa0c7; }
.casino-logo { box-shadow: 0 0 18px rgba(157,99,255,.25); }

.rating-line { border-color: rgba(157,99,255,.25); }
.rating-line strong { color: var(--yellow); text-shadow: 0 0 12px rgba(255,225,90,.42); }
.rating-line span { color: #aaa0c7; }
.meter { background: rgba(255,255,255,.12); }

 details { border-color: rgba(157,99,255,.30); background: rgba(19, 12, 43, .72); }
summary { color: #fff; }
summary::after { color: var(--cyan); text-shadow: 0 0 10px rgba(45,231,255,.65); }
details p { color: #bdb4db; }

.form-field label { color: #fff; }
.form-field input, .form-field textarea { color: #fff; border-color: rgba(157,99,255,.34); background: rgba(11, 8, 27, .82); }
.form-field input::placeholder, .form-field textarea::placeholder { color: #7d759d; }
.form-field input:focus, .form-field textarea:focus { border-color: var(--cyan); outline-color: rgba(45,231,255,.18); box-shadow: 0 0 20px rgba(45,231,255,.14); }

.site-footer { color: rgba(238,232,255,.72); background: #05040c; border-top: 1px solid rgba(157,99,255,.26); box-shadow: 0 -18px 55px rgba(0,0,0,.3); }
.footer-text { color: rgba(189,180,219,.72); }
.site-footer h3 { color: #fff; }
.footer-links a { color: rgba(217,207,245,.72); }
.footer-links a:hover { color: var(--cyan); text-shadow: 0 0 10px rgba(45,231,255,.5); }
.footer-bottom { border-top-color: rgba(157,99,255,.24); }

@keyframes neon-float { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-9px) rotate(.35deg); } }
@media (max-width: 800px) {
  .nav-links { background: rgba(12, 8, 30, .98); border-color: rgba(45,231,255,.42); box-shadow: 0 0 30px rgba(45,231,255,.18); }
  .nav-links a { color: #f3edff; }
}
@media (prefers-reduced-motion: reduce) { .hero-art img { animation: none; } }
