/* Default theme — modernized 2026.
   Brand tokens (--color-primary/accent/bg/text/font/radius) are injected from
   brand.json in layout.php. The scale below is derived on top of that brand. */

/* Self-hosted Inter (latin) — keeps fonts on-origin to satisfy CSP font-src 'self'. */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/inter-400.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/inter-500.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/inter-600.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/inter-700.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/inter-800.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:900;font-display:swap;src:url('../fonts/inter-900.woff2') format('woff2')}

:root{
  /* Cyberpunk-LIGHT: deep indigo "ink" replaces navy, magenta replaces red,
     cyan neon replaces gold. Variable NAMES kept so the whole sheet recolors. */
  --navy-900:#0a0d28;
  --navy-800:#11144a;
  --navy-700:#211a6b;
  --navy-600:#3a2da0;
  --navy-050:#eef0fc;
  --accent-700:#c81e63;
  --accent-600:#ff2d7e;
  --accent-500:#ff5c9b;

  /* Cyan neon (was gold) */
  --gold-1:#9bf6ff;
  --gold-2:#34d3ee;
  --gold-3:#06b6c9;
  --gold-line:rgba(34,211,238,.55);
  --gold-glow:rgba(34,211,238,.4);

  /* Extra neon */
  --violet:#7b5cff;
  --violet-soft:#a48bff;
  --mono:ui-monospace,"Cascadia Code","Segoe UI Mono",Consolas,"Liberation Mono",monospace;

  /* Neutrals (cool light base) */
  --surface:#ffffff;
  --surface-2:#f4f6fd;
  --surface-3:#eaeefb;
  --border:#dde3f4;
  --border-strong:#c6cfea;
  --muted:#5b6480;
  --muted-2:#8b93ad;
  --success-bg:#e6f9ef;
  --success-bd:#a6e6c4;
  --success-fg:#0e8f5e;

  /* Type scale */
  --fs-xs:.78rem;
  --fs-sm:.875rem;
  --fs-md:1rem;
  --fs-lg:1.125rem;
  --fs-xl:1.35rem;
  --fs-2xl:1.75rem;
  --fs-3xl:2.2rem;
  --fs-display:clamp(2.5rem,5.2vw,4rem);

  /* Radius */
  --r-sm:8px;
  --r-md:12px;
  --r-lg:18px;
  --r-xl:26px;
  --r-pill:999px;

  /* Elevation */
  --shadow-xs:0 1px 2px rgba(13,26,56,.06);
  --shadow-sm:0 2px 6px rgba(13,26,56,.07),0 1px 2px rgba(13,26,56,.06);
  --shadow-md:0 8px 22px rgba(10,42,102,.10),0 3px 8px rgba(10,42,102,.06);
  --shadow-lg:0 18px 42px rgba(10,42,102,.14),0 8px 16px rgba(10,42,102,.08);
  --shadow-xl:0 30px 70px rgba(8,28,72,.22);
  --shadow-accent:0 10px 24px -6px rgba(200,16,46,.45);

  --ease:cubic-bezier(.4,0,.2,1);
  --ring:0 0 0 3px rgba(17,69,158,.35);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;font-family:var(--font);color:var(--color-text);background:var(--color-bg);
  line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  font-feature-settings:"cv11","ss01";
}
img{max-width:100%;display:block}
a{color:var(--color-primary);text-decoration:none;transition:color .15s var(--ease)}
a:hover{color:var(--accent-600)}
h1,h2,h3,h4{line-height:1.18;margin:0 0 .5em;letter-spacing:-.02em;font-weight:800}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.muted{color:var(--muted)}
.center{text-align:center}
.main{min-height:50vh}
:focus-visible{outline:none;box-shadow:var(--ring);border-radius:6px}
::selection{background:rgba(200,16,46,.18)}

/* Buttons */
.btn{
  --btn-bg:var(--color-primary);--btn-fg:#fff;
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  border:0;border-radius:var(--r-pill);padding:.72em 1.35em;font:inherit;font-weight:700;
  letter-spacing:-.01em;line-height:1;cursor:pointer;text-decoration:none;white-space:nowrap;
  background:var(--btn-bg);color:var(--btn-fg);
  transition:transform .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease),filter .18s var(--ease);
}
.btn:hover{text-decoration:none;transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn--accent{
  background:linear-gradient(135deg,var(--accent-500),var(--accent-600));color:#fff;
  box-shadow:var(--shadow-accent);
}
.btn--accent:hover{box-shadow:0 14px 30px -6px rgba(200,16,46,.55);filter:saturate(1.05)}
.btn--ghost{background:transparent;border:1.5px solid rgba(255,255,255,.45);color:#fff;box-shadow:none}
.btn--ghost:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.7);transform:translateY(-2px)}
.btn--lg{padding:.92em 1.9em;font-size:1.06rem}
.btn--text{background:none;color:#fff;padding:.4em .2em;box-shadow:none}
.btn--text:hover{transform:none;text-decoration:underline}
.pagehead .btn--ghost,.section .btn--ghost,.form .btn--ghost{border-color:var(--border-strong);color:var(--color-primary)}
.pagehead .btn--ghost:hover,.section .btn--ghost:hover,.form .btn--ghost:hover{background:var(--surface-3);border-color:var(--color-primary)}

/* Demo bar */
.demo-bar{
  background:linear-gradient(90deg,#ffd23f,#ffc402);color:#3a2c00;text-align:center;
  font-size:.82rem;font-weight:700;letter-spacing:.01em;padding:.4em 12px;
}

/* Utility bar */
.utility{background:var(--navy-900);color:#cfe0ff;font-size:.82rem}
.utility__row{display:flex;justify-content:space-between;align-items:center;min-height:40px;gap:12px}
.utility__notice{opacity:.85}
.utility__right{display:flex;align-items:center;gap:16px}
.utility a{color:#cfe0ff}
.utility a:hover{color:#fff}
.utility__age{border:1px solid #2f5599;border-radius:var(--r-pill);padding:.1em .6em;font-weight:700;color:#fff}
.utility__lang{opacity:.8}
.utility__lang.is-active{color:#fff;font-weight:700;opacity:1}

/* Header */
.header{
  background:var(--color-primary);color:#fff;position:relative;z-index:20;
  box-shadow:0 1px 0 rgba(255,255,255,.06);
}
.header__row{display:flex;justify-content:space-between;align-items:center;min-height:74px;gap:16px}
.brand{display:inline-flex;align-items:center;gap:11px}
.brand__logo{height:42px;width:auto}
.brand__name{font-size:1.55rem;font-weight:900;color:#fff;letter-spacing:-.03em}
.header__actions{display:flex;align-items:center;gap:12px}

/* Games nav */
.gamesnav{
  background:var(--navy-700);
  background:linear-gradient(180deg,var(--navy-700),#0a2f6f);
  color:#fff;position:relative;z-index:15;
}
.gamesnav__row{display:flex;justify-content:space-between;align-items:stretch;gap:10px;flex-wrap:wrap}
.gamesnav__list{display:flex;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.gamesnav__list a{
  position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;color:#cdddff;
  padding:13px 20px;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;
  transition:color .15s var(--ease),background .15s var(--ease);
}
.gamesnav__list a::after{
  content:"";position:absolute;left:16px;right:16px;bottom:0;height:3px;border-radius:3px 3px 0 0;
  background:var(--accent-500);transform:scaleX(0);transition:transform .2s var(--ease);
}
.gamesnav__list a:hover{background:rgba(255,255,255,.07);color:#fff}
.gamesnav__list a:hover::after{transform:scaleX(1)}
.gamesnav__icon{width:23px;height:23px;stroke:currentColor;fill:none}
.gamesnav__limits{
  display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(--accent-500),var(--accent-600));
  color:#fff;padding:0 24px;font-weight:700;letter-spacing:-.01em;transition:filter .15s var(--ease)
}
.gamesnav__limits:hover{color:#fff;filter:brightness(1.08)}

/* Hero */
.hero{
  position:relative;overflow:hidden;color:#fff;padding:88px 0 130px;isolation:isolate;
  background:
    radial-gradient(120% 120% at 85% 5%,rgba(228,36,63,.42),transparent 46%),
    radial-gradient(100% 120% at 8% 100%,rgba(36,96,220,.42),transparent 52%),
    linear-gradient(160deg,rgba(10,42,102,.86) 0%,rgba(12,53,125,.74) 52%,rgba(6,26,64,.9) 100%),
    url('/uploads/brand/hero.jpg');
  background-size:cover,cover,cover,cover;
  background-position:center;
}
.hero::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.5;
  background-image:radial-gradient(rgba(255,255,255,.10) 1px,transparent 1.4px);
  background-size:26px 26px;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 75%);
          mask-image:linear-gradient(180deg,#000,transparent 75%);
}
.hero__inner{position:relative;max-width:760px}
.hero__eyebrow{
  display:inline-flex;align-items:center;gap:.5em;margin-bottom:20px;padding:.45em 1em;
  border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);border-radius:var(--r-pill);
  font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#dbe6ff;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
}
.hero__eyebrow{border-color:var(--gold-line)}
.hero__eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--gold-2);box-shadow:0 0 0 4px var(--gold-glow)}
.hero h1{
  font-size:var(--fs-display);font-weight:900;letter-spacing:-.035em;margin-bottom:.28em;
  text-wrap:balance;text-shadow:0 2px 30px rgba(0,0,0,.18);
}
.hero p{font-size:clamp(1.05rem,1.6vw,1.3rem);opacity:.92;margin:0 0 1.8em;max-width:34em}
.hero .btn--lg{box-shadow:0 12px 28px -6px rgba(200,16,46,.5)}

/* Sections */
.section{padding:60px 0}
.section h2,.pagehead h1{position:relative}
.section h2{font-size:var(--fs-2xl);color:var(--color-primary);margin-bottom:1.1em;padding-bottom:.5em}
.section h2::after{
  content:"";position:absolute;left:0;bottom:0;width:54px;height:4px;border-radius:4px;
  background:linear-gradient(90deg,var(--gold-3),var(--gold-1));
}
.pagehead{
  background:linear-gradient(180deg,var(--surface-2),var(--surface));padding:48px 0;
  border-bottom:1px solid var(--border);
}
.pagehead h1{font-size:var(--fs-3xl);color:var(--color-primary)}
.narrow{max-width:720px}

/* Promos */
.promos{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;
  margin-top:-52px;position:relative;z-index:5;padding-bottom:0;
}
.promo{
  position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--border);
  border-radius:var(--r-lg);box-shadow:var(--shadow-lg);
  transition:transform .22s var(--ease),box-shadow .22s var(--ease);
}
.promo::before{
  content:"";position:absolute;inset:0 0 auto 0;z-index:2;height:5px;
  background:linear-gradient(90deg,var(--gold-3),var(--gold-1) 50%,var(--gold-3));
}
.promo:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl),0 0 0 1px var(--gold-line)}
.promo__art{display:block;height:165px;background-size:cover;background-position:center;position:relative}
.promo__art.is-flat{background:radial-gradient(120% 130% at 82% 8%,rgba(228,36,63,.5),transparent 55%),linear-gradient(150deg,#0a2a66,#0c357d 60%,#061a40)}
.promo__art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(6,26,64,.22))}
.promo__body{padding:20px 24px 24px}
.promo__draw{color:var(--muted);font-size:.85rem;font-weight:600;margin:.1em 0 1em}
.promo__headline{
  font-size:clamp(2.1rem,3.4vw,2.6rem);font-weight:900;letter-spacing:-.04em;line-height:1.02;
  background:linear-gradient(135deg,var(--gold-3),var(--gold-1) 45%,var(--gold-2));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--gold-3);
  filter:drop-shadow(0 1px 0 rgba(201,149,47,.25));
}
.promo__sub{
  color:var(--muted);margin-bottom:.6em;font-size:.85rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:.5em;
}
.promo__sub::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold-2);box-shadow:0 0 0 3px var(--gold-glow)}
.promo__name{font-weight:800;font-size:1.2rem;color:var(--color-primary);margin:.5em 0 1em}
.promo__actions{display:flex;gap:10px}
.promo .btn--ghost{border-color:var(--border-strong);color:var(--color-primary)}
.promo .btn--ghost:hover{background:var(--surface-3);border-color:var(--color-primary)}

/* Game grid */
.gamegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px}
.gamecard{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;
  box-shadow:var(--shadow-sm);transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s var(--ease);
}
.gamecard:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--border-strong)}
.gamecard__art{position:relative;aspect-ratio:4/3;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;overflow:hidden}
.gamecard__art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(6,26,64,.28))}
.gamecard__art.is-placeholder{background:linear-gradient(140deg,var(--color-primary),var(--navy-700) 70%,#0a3a8a);color:#fff}
.gamecard__art.is-placeholder::before{
  content:"";position:absolute;inset:0;opacity:.5;
  background:radial-gradient(70% 70% at 75% 15%,rgba(228,36,63,.4),transparent 55%);
}
.gamecard__art span{position:relative;z-index:1;font-weight:900;font-size:1.35rem;letter-spacing:-.02em;padding:12px;text-align:center}
.gamecard__body{padding:18px}
.gamecard__body h3{font-size:1.15rem;color:var(--color-primary);margin-bottom:.3em}
.gamecard__jackpot{
  display:inline-block;color:var(--accent-600);font-weight:900;font-size:1.15rem;letter-spacing:-.02em;
}
.gamecard__meta{color:var(--muted);font-size:.84rem;margin:.35em 0 1em}
.gamecard .btn{width:100%;justify-content:center}

/* Designed game tiles (brand gradient + category icon) */
.gamecard__tile{flex-direction:column;gap:12px;color:#fff;text-align:center;padding:24px 16px;overflow:hidden;
  background:radial-gradient(120% 130% at 82% 8%,rgba(228,36,63,.5),transparent 55%),linear-gradient(150deg,#0a2a66 0%,#0c357d 58%,#061a40 100%)}
.gamecard__tile::after{content:none}
.gamecard__tile::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.1) 1px,transparent 1.4px);background-size:18px 18px;opacity:.5;-webkit-mask-image:linear-gradient(180deg,#000,transparent 80%);mask-image:linear-gradient(180deg,#000,transparent 80%)}
.gamecard__tileicon{position:relative;width:50px;height:50px;stroke:#fff;fill:none;stroke-width:1.5;opacity:.95;filter:drop-shadow(0 4px 10px rgba(0,0,0,.25));transition:transform .22s var(--ease)}
.gamecard__tilename{position:relative;font-weight:900;font-size:1.3rem;letter-spacing:-.03em;line-height:1.12;text-shadow:0 2px 14px rgba(0,0,0,.3)}
.gamecard:hover .gamecard__tileicon{transform:translateY(-3px) scale(1.06)}
.gamecard__tile[data-cat="instants"]{background:radial-gradient(120% 130% at 82% 8%,rgba(228,36,63,.62),transparent 58%),linear-gradient(150deg,#0a2a66,#0c357d 52%,#3a0d18)}
.gamecard__tile[data-cat="casino"]{background:radial-gradient(120% 130% at 82% 8%,rgba(228,36,63,.4),transparent 55%),linear-gradient(150deg,#141a44,#241a52 65%,#0a1230)}
.gamecard__tile[data-cat="sports"]{background:radial-gradient(120% 130% at 82% 8%,rgba(228,36,63,.34),transparent 55%),linear-gradient(150deg,#06264c,#0a4258 65%,#04182f)}
.gamecard__tile[data-cat="poker"]{background:radial-gradient(120% 130% at 82% 8%,rgba(228,36,63,.42),transparent 55%),linear-gradient(150deg,#10152f,#1b203e 60%,#070a1c)}
.gamecard__tile[data-cat="bingo"]{background:radial-gradient(120% 130% at 82% 8%,rgba(228,36,63,.4),transparent 55%),linear-gradient(150deg,#082a3b,#0a4a55 65%,#04161f)}

/* Hover-to-play overlay (lobby UX) */
.gamecard__overlay{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,rgba(6,26,64,.15),rgba(6,26,64,.6));opacity:0;transition:opacity .2s var(--ease)}
.gamecard:hover .gamecard__overlay,.gamecard__art:focus-visible .gamecard__overlay{opacity:1}
.gamecard__play{display:inline-flex;align-items:center;gap:.5em;background:linear-gradient(135deg,var(--accent-500),var(--accent-600));color:#fff;font-weight:800;letter-spacing:-.01em;padding:.62em 1.3em;border-radius:var(--r-pill);box-shadow:var(--shadow-accent);transform:translateY(10px);transition:transform .22s var(--ease)}
.gamecard__play::after{content:"▶";font-size:.7em}
.gamecard:hover .gamecard__play{transform:none}

/* Category featured banner */
.catfeat{display:block;position:relative;overflow:hidden;border-radius:var(--r-xl);min-height:300px;background:var(--navy-800);background-size:cover;background-position:center;box-shadow:var(--shadow-lg);transition:box-shadow .2s var(--ease)}
.catfeat.is-flat{background:radial-gradient(110% 130% at 85% 10%,rgba(228,36,63,.5),transparent 55%),linear-gradient(120deg,#0a2a66,#0c357d 55%,#3a0d18)}
.catfeat__veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,24,58,.95),rgba(6,24,58,.6) 52%,rgba(6,24,58,.12))}
.catfeat__inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:6px;max-width:540px;padding:48px 42px;color:#fff}
.catfeat__tag{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-2);background:rgba(255,255,255,.08);border:1px solid var(--gold-line);padding:.4em .95em;border-radius:var(--r-pill)}
.catfeat__title{font-size:clamp(2rem,4.5vw,3rem);font-weight:900;letter-spacing:-.03em;margin:.12em 0;line-height:1.05;text-shadow:0 2px 22px rgba(0,0,0,.45)}
.catfeat__sub{font-size:1.05rem;color:#dbe8ff;margin-bottom:1.1em}
.catfeat .btn{align-self:flex-start;margin-top:2px}
.catfeat:hover{box-shadow:var(--shadow-xl),0 0 0 1px var(--gold-line)}
@media(max-width:600px){.catfeat__inner{padding:30px 24px}}

/* Lobby toolbar (count + sort) */
.lobby{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.lobby__count{color:var(--muted);font-weight:700;font-size:.9rem}
.lobby__count b{color:var(--color-primary)}
.lobby__sort{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--muted);font-weight:600}
.lobby__sort select{padding:.5em .8em;border:1.5px solid var(--border-strong);border-radius:var(--r-pill);font:inherit;font-weight:600;background:var(--surface);color:var(--color-text);cursor:pointer}
.lobby__sort select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(17,69,158,.15)}
.lobbychips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.lobbychip{border:1.5px solid var(--border-strong);background:var(--surface);color:var(--color-primary);font:inherit;font-weight:700;font-size:.85rem;padding:.5em 1.15em;border-radius:var(--r-pill);cursor:pointer;transition:background .15s var(--ease),border-color .15s var(--ease),color .15s var(--ease)}
.lobbychip:hover{border-color:var(--color-primary)}
.lobbychip.is-active{background:linear-gradient(135deg,var(--accent-500),var(--accent-600));color:#fff;border-color:transparent;box-shadow:var(--shadow-accent)}

/* Game detail page */
.gamehero{position:relative;overflow:hidden;background-size:cover;background-position:center;color:#fff;isolation:isolate}
.gamehero.is-flat{background:linear-gradient(150deg,var(--color-primary),var(--navy-700) 60%,var(--navy-900))}
.gamehero__veil{position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(6,26,64,.55),rgba(6,26,64,.9)),linear-gradient(90deg,rgba(6,26,64,.75),rgba(6,26,64,.15) 70%)}
.gamehero__inner{position:relative;z-index:1;padding:42px 24px 48px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:340px;justify-content:flex-end}
.gamehero__back{color:#cfe0ff;font-weight:600;font-size:.9rem;margin-bottom:auto}
.gamehero__back:hover{color:#fff}
.gamehero__cat{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#dbe6ff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);padding:.35em .9em;border-radius:var(--r-pill)}
.gamehero__title{font-size:clamp(2.2rem,5vw,3.4rem);font-weight:900;letter-spacing:-.03em;margin:.15em 0 .1em;text-shadow:0 2px 24px rgba(0,0,0,.4)}
.gamehero__jp{display:flex;flex-direction:column;margin:.3em 0}
.gamehero__jplabel{font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#cfe0ff}
.gamehero__jpval{font-size:clamp(2rem,4.5vw,3rem);font-weight:900;letter-spacing:-.03em;background:linear-gradient(135deg,var(--gold-3),var(--gold-1) 45%,var(--gold-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--gold-2)}
.gamehero__cdlabel{display:block;font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#cfe0ff;margin:.4em 0 .5em}
.countdown{display:flex;gap:10px}
.cd{min-width:62px;text-align:center;background:rgba(255,255,255,.1);border:1px solid var(--gold-line);border-radius:var(--r-md);padding:10px 6px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.cd__n{display:block;font-size:1.6rem;font-weight:900;letter-spacing:-.02em;line-height:1;color:var(--gold-1);font-variant-numeric:tabular-nums}
.cd__l{display:block;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#cfe0ff;margin-top:.4em}
.gamehero__instant{display:inline-block;font-weight:800;letter-spacing:.04em;text-transform:uppercase;font-size:.85rem;color:#fff;background:linear-gradient(135deg,var(--accent-500),var(--accent-600));padding:.5em 1.1em;border-radius:var(--r-pill);box-shadow:var(--shadow-accent);margin:.3em 0}
.gamehero__play{margin-top:20px}
.gamebody{display:grid;grid-template-columns:1fr 320px;gap:36px;align-items:start}
.gameinfo h2{font-size:1.4rem;color:var(--color-primary);margin-top:1.2em}
.gameinfo h2:first-child{margin-top:0}
.gameodds{margin-top:14px;color:var(--color-primary)}
.gameside__card{position:sticky;top:20px}
.gameside__card h3{color:var(--color-primary);font-size:1rem;margin-top:1em}
.gameside__card h3:first-child{margin-top:0}
.gameside__price{font-size:1.5rem;font-weight:900;color:var(--accent-600);margin:.1em 0 1em}
.gameside__card .btn{width:100%;justify-content:center}
@media(max-width:760px){.gamebody{grid-template-columns:1fr}.gameside__card{position:static}}

/* Home: latest results */
.results{display:grid;gap:12px}
.rrow{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px 18px;box-shadow:var(--shadow-xs)}
.rrow__game{min-width:160px;display:flex;flex-direction:column}
.rrow__game a{font-weight:800;color:var(--color-primary)}
.rrow__game time{font-size:.78rem;color:var(--muted-2)}
.rrow__balls{display:flex;gap:8px;flex-wrap:wrap;flex:1}
.rball{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;font-weight:800;font-size:.95rem;color:#fff;background:radial-gradient(circle at 35% 30%,#12498f,#0a2a66);border:1px solid var(--gold-line);box-shadow:inset 0 -2px 5px rgba(0,0,0,.3)}
.rrow__btn{flex-shrink:0}

/* Home: promo banner */
.pbanner{display:block;position:relative;overflow:hidden;border-radius:var(--r-xl);min-height:220px;background-color:var(--navy-800);background-size:cover;background-position:center;box-shadow:var(--shadow-lg)}
.pbanner.is-flat{background:radial-gradient(110% 130% at 85% 10%,rgba(228,36,63,.5),transparent 55%),linear-gradient(120deg,#0a2a66,#0c357d 55%,#3a0d18)}
.pbanner::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,26,64,.92),rgba(6,26,64,.5) 62%,rgba(6,26,64,.15))}
.pbanner__inner{position:relative;z-index:1;max-width:560px;padding:42px 36px;color:#fff}
.pbanner__title{font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:900;letter-spacing:-.03em;line-height:1.05;background:linear-gradient(135deg,var(--gold-3),var(--gold-1) 45%,var(--gold-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--gold-2)}
.pbanner__text{margin:.5em 0 1.2em;font-size:1.05rem;opacity:.95;max-width:30em}

/* Home: app promo */
.apppromo{position:relative;overflow:hidden;border-radius:var(--r-xl);padding:38px 36px;color:#fff;background:radial-gradient(90% 140% at 90% 10%,rgba(228,36,63,.3),transparent 55%),linear-gradient(135deg,var(--color-primary),var(--navy-700))}
.apppromo h2{color:#fff}
.apppromo h2::after{display:none}
.apppromo p{opacity:.92;margin:.3em 0 1.4em;max-width:42em}
.apppromo__badges{display:flex;gap:12px;flex-wrap:wrap}
.storebtn{display:inline-flex;flex-direction:column;background:#0b1020;border:1px solid rgba(255,255,255,.25);border-radius:var(--r-md);padding:.55em 1.2em;color:#fff;min-width:170px;transition:transform .15s var(--ease),border-color .15s var(--ease)}
.storebtn:hover{transform:translateY(-2px);border-color:var(--gold-line);color:#fff}
.storebtn__sm{font-size:.64rem;opacity:.8}
.storebtn__big{font-size:1.1rem;font-weight:800;letter-spacing:-.01em}

/* Footer social */
.footer__social{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:2px 0 20px}
.footer__social-label{font-weight:700;color:#fff;font-size:.85rem}
.footer__social a{color:#aebfe0;font-weight:600;font-size:.88rem}
.footer__social a:hover{color:#fff}

/* Jackpot ticker */
.jpticker{background:var(--navy-900);overflow:hidden;position:relative;z-index:14;border-top:1px solid rgba(255,255,255,.06)}
.jpticker__track{display:inline-flex;white-space:nowrap;animation:jpscroll 48s linear infinite;will-change:transform}
.jpticker:hover .jpticker__track{animation-play-state:paused}
.jpticker__item{display:inline-flex;align-items:center;gap:.55em;padding:9px 24px;color:#cfe0ff;font-size:.85rem;border-right:1px solid rgba(255,255,255,.07)}
.jpticker__item:hover{color:#fff;background:rgba(255,255,255,.05)}
.jpticker__nm{font-weight:700;letter-spacing:-.01em}
.jpticker__amt{font-weight:900;background:linear-gradient(135deg,var(--gold-3),var(--gold-1) 45%,var(--gold-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--gold-2)}
@keyframes jpscroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.jpticker__track{animation:none}}

/* Lobby search */
.lobby__search{flex:1;min-width:160px;max-width:280px;padding:.5em 1em;border:1.5px solid var(--border-strong);border-radius:var(--r-pill);font:inherit;font-weight:500;background:var(--surface)}
.lobby__search:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(17,69,158,.15)}

/* Winners */
.winners{display:grid;grid-template-columns:repeat(auto-fit,minmax(208px,1fr));gap:18px}
.winner__ico{width:34px;height:34px;stroke:var(--gold-2);color:var(--gold-2);fill:none;margin-bottom:10px;filter:drop-shadow(0 2px 7px rgba(212,175,55,.45))}
.winner{
  position:relative;overflow:hidden;min-height:210px;background:linear-gradient(160deg,#0e3576,#081f4a 70%,#06183c);
  background-size:cover;background-position:center;
  border:1px solid var(--gold-line);border-radius:var(--r-lg);text-align:center;color:#fff;
  box-shadow:0 12px 30px rgba(8,28,72,.22);transition:transform .2s var(--ease),box-shadow .2s var(--ease);
}
.winner__veil{position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(6,22,56,.2),rgba(6,22,56,.45) 42%,rgba(6,22,56,.92) 88%)}
.winner__inner{position:relative;z-index:1;min-height:210px;padding:18px 16px 22px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}
.winner:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(8,28,72,.34),0 0 0 1px var(--gold-line)}
.winner__amt{font-size:1.5rem;font-weight:900;letter-spacing:-.03em;background:linear-gradient(135deg,var(--gold-3),var(--gold-1) 45%,var(--gold-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--gold-2)}
.winner__meta{font-size:.85rem;color:#dbe8ff;font-weight:600;margin-top:.3em}
.winner time{font-size:.75rem;color:#9fb3d8;margin-top:.2em}

/* Winners page — stats + stories */
.winstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin:4px 0 8px}
.winstat{background:linear-gradient(160deg,#0e3576,#081f4a 75%,#06183c);border:1px solid var(--gold-line);border-radius:var(--r-lg);padding:22px 18px;text-align:center;box-shadow:0 10px 26px rgba(8,28,72,.2)}
.winstat__value{font-size:1.9rem;font-weight:900;letter-spacing:-.03em;background:linear-gradient(135deg,var(--gold-3),var(--gold-1) 45%,var(--gold-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--gold-2)}
.winstat__label{font-size:.82rem;color:#cfe0ff;margin-top:.3em;line-height:1.35}
.winstories{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
.winstory{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:24px 24px 24px 28px;box-shadow:var(--shadow-md);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.winstory::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--gold-1),var(--gold-3))}
.winstory:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.winstory__top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:.7em}
.winstory__amt{font-size:1.55rem;font-weight:900;letter-spacing:-.02em;background:linear-gradient(135deg,var(--gold-3),var(--gold-1) 45%,var(--gold-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--gold-3)}
.winstory__game{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary);text-align:right}
.winstory__quote{margin:0 0 .9em;font-size:1.05rem;font-style:italic;line-height:1.5;color:#2a3342}
.winstory__by{font-size:.85rem;color:var(--muted);font-weight:700}
.winners__note{margin-top:20px;font-size:.82rem}

/* News */
.news{display:grid;grid-template-columns:repeat(auto-fit,minmax(440px,1fr));gap:20px}
.newscard{
  display:flex;align-items:stretch;overflow:hidden;background:var(--surface);border:1px solid var(--border);
  border-radius:var(--r-lg);box-shadow:var(--shadow-sm);
  transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease);
}
.newscard:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--gold-line)}
.newscard__date{flex:0 0 92px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:14px 8px;color:#fff;background:radial-gradient(120% 120% at 80% 8%,rgba(228,36,63,.45),transparent 55%),linear-gradient(160deg,var(--color-primary),var(--navy-700))}
.newscard__d{font-size:1.9rem;font-weight:900;line-height:1;letter-spacing:-.03em}
.newscard__my{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;opacity:.85;margin-top:.35em}
.newscard__date time{font-size:.78rem;font-weight:800}
.newscard__body{padding:20px 22px;flex:1;min-width:0}
.newscard__body h3{margin:0 0 .35em;color:var(--color-primary);font-size:1.15rem}
.newscard__body p{margin:0;color:var(--muted)}
.newscard__more{display:inline-block;margin-top:.85em;font-weight:700;color:var(--accent-600);font-size:.88rem}
.newscard.is-hidden{display:none}
.news.is-expanded .newscard.is-hidden{display:flex}
@media(max-width:560px){.news{grid-template-columns:1fr}.newscard{flex-direction:column}.newscard__date{flex-basis:auto;flex-direction:row;gap:8px;justify-content:flex-start}}

/* RG tip */
.rgtip{
  display:flex;align-items:center;gap:.4em;flex-wrap:wrap;
  background:linear-gradient(120deg,var(--navy-050),#f4f8ff);border:1px solid #d7e3fb;border-left:4px solid var(--color-primary);
  border-radius:var(--r-md);padding:18px 22px;margin:28px auto;
}
.rgtip strong{color:var(--color-primary)}
.rgtip a{font-weight:700;margin-left:6px}
.rgbox{background:var(--navy-050);border:1px solid #d7e3fb;border-radius:var(--r-lg);padding:22px;margin-bottom:24px}
.rgbox__line{margin-top:8px;font-weight:700;color:var(--color-primary)}
.rgtools{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin-bottom:24px}
.rgtool{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px;box-shadow:var(--shadow-xs)}
.rgtool h3{color:var(--color-primary);font-size:1.08rem}
.rgactions{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 28px}
.rg__prose{max-width:840px}
.rg__prose h2{color:var(--color-primary);font-size:1.35rem;margin-top:1.6em;position:relative;padding-left:14px}
.rg__prose h2::before{content:"";position:absolute;left:0;top:.18em;bottom:.18em;width:4px;border-radius:3px;background:linear-gradient(180deg,var(--gold-1),var(--gold-3))}
.rg__prose p{margin:.4em 0 1em}
.rgresources{margin:.4em 0 1.2em;padding-left:18px;display:grid;gap:10px}
.rgresources li{line-height:1.5}

/* Newsletter */
.newsletter{
  position:relative;overflow:hidden;color:#fff;padding:52px 0;
  background:
    radial-gradient(90% 140% at 90% 10%,rgba(228,36,63,.32),transparent 50%),
    linear-gradient(135deg,var(--color-primary),var(--navy-700));
}
.newsletter__row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.newsletter h3{margin:0;font-size:var(--fs-xl)}
.newsletter__form{display:flex;gap:10px;flex-wrap:wrap}
.newsletter__form input{
  padding:.85em 1.1em;border:1px solid rgba(255,255,255,.25);border-radius:var(--r-pill);
  min-width:260px;font:inherit;background:rgba(255,255,255,.96);color:var(--color-text);
}
.newsletter__form input:focus{outline:none;box-shadow:0 0 0 3px rgba(255,255,255,.3)}
.newsletter__done{font-weight:700}

/* Footer */
.footer{background:var(--navy-900);color:#aebfe0;padding:56px 0 30px;font-size:.9rem;margin-top:56px}
.footer a{color:#aebfe0}
.footer a:hover{color:#fff}
.footer__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:28px;margin-bottom:28px}
.footer__col h4{color:#fff;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:1em}
.footer__col ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.footer__rg{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:var(--r-md);padding:16px 18px;margin-bottom:20px}
.footer__rg a{color:#fff;font-weight:700}
.badges,.payments{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:14px 0}
.badge__img,.payment__img{height:42px;width:auto;background:#fff;border-radius:8px;padding:5px}
.badge__chip{display:inline-block;border:1px solid #34508a;border-radius:var(--r-pill);padding:.4em .85em;font-size:.78rem;font-weight:700;color:#fff;background:rgba(255,255,255,.05)}
.payment__chip{display:inline-block;background:#fff;color:var(--navy-800);border-radius:var(--r-sm);padding:.42em .8em;font-size:.78rem;font-weight:700}
.footer__disc{opacity:.75;font-size:.82rem;margin:16px 0 4px}
.footer__copy{opacity:.6;font-size:.82rem;margin:0}

/* Forms */
.form{display:grid;gap:16px;max-width:520px}
.form--grid{grid-template-columns:1fr 1fr;max-width:760px}
.form label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;font-weight:700;color:#2a3342;min-width:0}
.form .full{grid-column:1/-1}
.form input,.form select,.form textarea{
  width:100%;min-width:0;box-sizing:border-box;max-width:100%;
  padding:.78em .95em;border:1.5px solid var(--border-strong);border-radius:var(--r-md);font:inherit;
  background:var(--surface);transition:border-color .15s var(--ease),box-shadow .15s var(--ease)
}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(17,69,158,.15)}
.consents{display:grid;gap:10px}
.check{flex-direction:row !important;align-items:flex-start;gap:10px;font-weight:400}
.check input{margin-top:3px}
.captcha{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.captcha__label{font-size:.85rem;color:var(--muted);width:100%}
.captcha input{max-width:120px}
.captcha-img{border:1px solid var(--border-strong);border-radius:var(--r-sm)}
.demo-hint code{background:var(--surface-3);padding:.1em .4em;border-radius:4px}

/* Alerts */
.alert{padding:14px 18px;border-radius:var(--r-md);margin-bottom:18px}
.alert--ok{background:var(--success-bg);border:1px solid var(--success-bd);color:var(--success-fg)}
.alert--err{background:#fdeaec;border:1px solid #f1b3ba;color:#a01827}
.alert--info{background:var(--navy-050);border:1px solid #d7e3fb;color:var(--color-primary);font-weight:600}
.alert--warn{background:#fff6e6;border:1px solid #f3d28a;color:#8a5a00;font-weight:600}
.alert ul{margin:0;padding-left:18px}

/* Account */
.account__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:22px;box-shadow:var(--shadow-sm)}
.card h3{color:var(--color-primary)}
.account__bal{font-size:1.08rem}
.account__bal span{font-weight:900;color:var(--accent-600)}

/* Account — dashboard / wallet / settings */
.pagehead--acct .acct-head{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.acct-head__bal{text-align:right;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);border-radius:var(--r-md);padding:12px 20px}
.acct-head__bal span{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;opacity:.8}
.acct-head__bal strong{font-size:1.7rem;color:#fff}
.acct-h2{font-size:1.18rem;color:var(--color-primary);margin:34px 0 16px;padding-bottom:8px;border-bottom:2px solid var(--border)}
.acct-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:30px}
.statcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:16px 18px;box-shadow:var(--shadow-sm)}
.statcard span{display:block;font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:6px}
.statcard b{font-size:1.32rem;color:var(--color-primary)}
.statcard b.win{color:var(--success-fg)}
.small{font-size:.84rem}
.form-2col{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.chiprow{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:4px}
.amtchip{border:1px solid var(--border-strong);background:var(--surface-2);color:var(--color-primary);font-weight:700;border-radius:999px;padding:7px 16px;cursor:pointer;transition:all .12s var(--ease)}
.amtchip:hover{border-color:var(--color-primary)}
.amtchip.is-active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}
.card--cta{display:flex;flex-direction:column}
.acct-links{display:flex;flex-direction:column;gap:10px;margin-top:auto}
.acct-learn{display:inline-block;margin-top:14px;font-size:.85rem;font-weight:700;color:var(--color-primary)}

/* KYC / verification */
.kyc{max-width:620px;margin:0 auto}
.kyc__card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:30px;box-shadow:var(--shadow-sm)}
.kyc__card--pending,.kyc__card--ok{text-align:center}
.kyc__lead{margin:0 0 22px;color:#2a3342}
.kyc__note{margin-top:16px}
.kyc__badge{display:inline-block;background:#fff6e6;border:1px solid #f3d28a;color:#8a5a00;font-weight:800;font-size:.74rem;text-transform:uppercase;letter-spacing:.07em;border-radius:999px;padding:5px 14px;margin-bottom:6px}
.kyc__card--pending h2,.kyc__card--ok h2{color:var(--color-primary);margin:10px 0 8px}
.kyc__spinner{width:54px;height:54px;margin:4px auto 14px;border:5px solid var(--surface-3);border-top-color:var(--color-primary);border-radius:50%;animation:kycspin 0.9s linear infinite}
@keyframes kycspin{to{transform:rotate(360deg)}}
.kyc__steps{list-style:none;margin:22px auto;padding:0;max-width:340px;text-align:left;display:grid;gap:12px}
.kyc__steps li{position:relative;padding-left:34px;color:var(--muted);font-weight:600}
.kyc__steps li::before{content:"";position:absolute;left:0;top:-1px;width:22px;height:22px;border-radius:50%;border:2px solid var(--border-strong);background:var(--surface)}
.kyc__steps li.is-done{color:var(--success-fg)}
.kyc__steps li.is-done::before{content:"✓";border-color:var(--success-fg);background:var(--success-fg);color:#fff;font-size:.74rem;font-weight:900;display:flex;align-items:center;justify-content:center}
.kyc__steps li.is-active{color:var(--color-primary)}
.kyc__steps li.is-active::before{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(17,69,158,.15)}
.kyc__eta{font-size:1.02rem;color:#2a3342}
.kyc__eta b{color:var(--color-primary)}
.kyc__icon--ok{width:64px;height:64px;margin:0 auto 12px;border-radius:50%;background:var(--success-fg);color:#fff;font-size:2rem;font-weight:900;display:flex;align-items:center;justify-content:center}
.kyc__card--pending form,.kyc__card--ok form{margin-top:6px}
.usermenu{display:flex;align-items:center;gap:12px}
.usermenu__bal{color:#fff;font-weight:600;font-size:.9rem}
.usermenu__logout{margin:0}

/* Tables */
.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-lg)}
.table{width:100%;border-collapse:collapse;font-size:.88rem}
.table th,.table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border)}
.table tr:last-child td{border-bottom:0}
.table th{background:var(--surface-2);color:#2a3342;font-weight:700;letter-spacing:.01em}
.table tbody tr{transition:background .12s var(--ease)}
.table tbody tr:hover{background:var(--surface-2)}
.table .win{color:var(--success-fg);font-weight:700}

/* Play */
.play__head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.play__head .account__bal{color:var(--color-primary)}
.play__hint{font-size:1rem;margin:.5em 0 1em}
.numgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:9px;max-width:560px;margin-bottom:18px}
.num{position:relative}
.num input{position:absolute;opacity:0;width:0;height:0}
.num span{
  display:flex;align-items:center;justify-content:center;aspect-ratio:1;border:1.5px solid var(--border-strong);
  border-radius:50%;font-weight:800;cursor:pointer;background:var(--surface);user-select:none;
  transition:transform .12s var(--ease),background .12s var(--ease),border-color .12s var(--ease),color .12s var(--ease);
}
.num span:hover{border-color:var(--color-primary);transform:translateY(-1px)}
.num input:checked+span{background:linear-gradient(135deg,var(--accent-500),var(--accent-600));color:#fff;border-color:transparent;box-shadow:var(--shadow-accent)}
.num input:disabled+span{opacity:.4;cursor:not-allowed}
.num input:focus-visible+span{box-shadow:var(--ring)}
.playform__actions{display:flex;gap:10px;flex-wrap:wrap}
.playform__actions .btn--ghost,.playform__actions .btn--text{border:1.5px solid var(--color-primary);color:var(--color-primary)}
.result{background:var(--navy-050);border:1px solid #d7e3fb;border-radius:var(--r-lg);padding:22px;margin-bottom:20px}
.result--win{background:var(--success-bg);border:1px solid var(--success-bd)}
.result__win{font-size:1.4rem;font-weight:900;color:var(--success-fg)}
.link-back{font-weight:700}

/* Legal */
.legal{display:grid;grid-template-columns:230px 1fr;gap:36px;padding:40px 24px;max-width:1160px;margin:0 auto}
.legal__nav{position:sticky;top:20px;height:fit-content}
.legal__nav ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.legal__nav a{display:block;padding:.4em .7em;border-radius:var(--r-sm)}
.legal__nav a:hover{background:var(--surface-2)}
.legal__body h2{font-size:1.25rem;color:var(--color-primary);margin-top:1.3em}
.legal__links{margin:.4em 0 0;padding-left:18px;display:grid;gap:8px}
.legal__links a{font-weight:600}
.prose{max-width:760px}

/* Cookie + age gate */
.cookie{position:fixed;inset:auto 0 0 0;z-index:60;display:flex;justify-content:center;padding:18px}
.cookie__box{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-xl);max-width:760px;padding:26px;border:1px solid var(--border)}
.cookie__box h3{color:var(--color-primary)}
.cookie__actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:16px}
.cookie__actions .btn--ghost{border-color:var(--border-strong);color:var(--color-primary)}
.cookie__actions .btn--ghost:hover{background:var(--surface-3)}
.agegate{position:fixed;inset:0;z-index:70;background:rgba(6,26,64,.86);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px}
.agegate__box{background:var(--surface);border-radius:var(--r-xl);max-width:440px;padding:36px;text-align:center;box-shadow:var(--shadow-xl)}
.agegate__badge{display:inline-flex;align-items:center;justify-content:center;width:68px;height:68px;border-radius:50%;background:linear-gradient(135deg,var(--accent-500),var(--accent-600));color:#fff;font-weight:900;font-size:1.3rem;margin-bottom:14px;box-shadow:var(--shadow-accent)}
.agegate__box h3{color:var(--color-primary)}
.agegate__actions{display:flex;gap:10px;justify-content:center;margin-top:20px}
.agegate__actions .btn--ghost{border-color:var(--border-strong);color:var(--color-primary)}
[hidden]{display:none !important}

/* Contact */
.contact{display:grid;grid-template-columns:1fr 320px;gap:36px}
.contact__info{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-lg);padding:24px;height:fit-content}

@media(max-width:760px){
  .wrap{padding:0 18px}
  .hero{padding:64px 0 110px}
  .hero h1{font-size:clamp(2.1rem,9vw,2.8rem)}
  .promos{margin-top:-64px}
  .section{padding:44px 0}
  .form--grid{grid-template-columns:1fr}
  .form-2col{grid-template-columns:1fr}
  .acct-head__bal{text-align:left}
  .legal{grid-template-columns:1fr}
  .legal__nav{position:static}
  .contact{grid-template-columns:1fr}
  .gamesnav__list a{padding:11px 14px}
  .newsletter__row{flex-direction:column;align-items:flex-start}
  .newsletter__form input{min-width:0;width:100%}
}

@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
}

/* ============================================================
   CYBERPUNK-LIGHT OVERRIDE LAYER  (appended — wins by cascade)
   Re-skins hardcoded dark/gold/red literals into neon, adds grid
   texture, glow and HUD mono accents over the existing structure.
   ============================================================ */

/* Luminous base + faint blueprint grid behind everything */
body{
  background:
    radial-gradient(1100px 520px at 90% -10%,rgba(255,45,126,.10),transparent 60%),
    radial-gradient(900px 520px at 4% 2%,rgba(34,211,238,.12),transparent 60%),
    linear-gradient(180deg,#eef1f8,#e6eaf6) !important;
  background-attachment:fixed;
}
body::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(123,92,255,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(123,92,255,.05) 1px,transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.6),transparent 70%);
          mask-image:linear-gradient(180deg,rgba(0,0,0,.6),transparent 70%);
}
.utility,.header,.gamesnav,.jpticker,.main,.footer,.demo-bar{position:relative;z-index:1}

/* HUD mono accents */
.hero__eyebrow,.catfeat__tag,.gamehero__cat,.footer__col h4,
.gamesnav__list a,.lobby__count,.statcard span,.acct-head__bal span{
  font-family:var(--mono) !important;letter-spacing:.12em !important;
}
.section h2,.pagehead h1,.hero h1{font-weight:900}

/* Buttons → neon */
.btn--accent{background:linear-gradient(115deg,var(--gold-3),var(--violet) 55%,var(--accent-600)) !important;box-shadow:0 10px 26px -10px rgba(255,45,126,.7) !important}
.btn--accent:hover{box-shadow:0 14px 34px -10px rgba(123,92,255,.8) !important}

/* Header: light glass bar with neon underline (keeps wordmark legible) */
.header{background:linear-gradient(180deg,#141746,#191b5a) !important}
.header::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(115deg,var(--gold-3),var(--violet),var(--accent-600));opacity:.9}
.brand__name{background:linear-gradient(115deg,var(--gold-1),#fff 45%,var(--accent-500));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#fff}

/* Games nav → deep violet neon */
.gamesnav{background:linear-gradient(180deg,#191b5a,#11144a) !important}
.gamesnav__list a::after{background:linear-gradient(90deg,var(--gold-3),var(--accent-600)) !important}
.gamesnav__list a:hover .gamesnav__icon{stroke:var(--gold-2)}

/* Jackpot ticker */
.jpticker{background:#0a0d28 !important}

/* Hero: pure neon gradient + grid floor (drop the photo / red+blue) */
.hero{
  background:
    radial-gradient(700px 360px at 80% 8%,rgba(255,45,126,.5),transparent 62%),
    radial-gradient(620px 420px at 12% 100%,rgba(34,211,238,.45),transparent 60%),
    linear-gradient(140deg,#0d1030,#1a1147 55%,#241048) !important;
}
.hero::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(115deg,var(--gold-3),var(--violet),var(--accent-600))}
.hero__eyebrow{border-color:var(--gold-line);color:#bdf3ff}
.hero__eyebrow .dot{background:var(--gold-2);box-shadow:0 0 0 4px var(--gold-glow)}

/* Promo / banner flat backgrounds → violet neon */
.promo__art.is-flat,
.catfeat.is-flat,
.pbanner.is-flat{
  background:
    radial-gradient(120% 130% at 82% 8%,rgba(255,45,126,.5),transparent 56%),
    linear-gradient(150deg,#1a1147,#241048 60%,#0d1030) !important;
}
.gamehero.is-flat{background:linear-gradient(150deg,#1a1147,#241048 60%,#0d1030) !important}

/* Game tiles (no-image) → neon, per-category hue */
.gamecard__tile,
.gamecard__tile[data-cat]{
  background:radial-gradient(120% 130% at 82% 8%,rgba(255,45,126,.42),transparent 56%),linear-gradient(150deg,#1a1147,#241048 62%,#0d1030) !important;
}
.gamecard__tile[data-cat="casino"]{background:radial-gradient(120% 130% at 82% 8%,rgba(34,211,238,.4),transparent 56%),linear-gradient(150deg,#161a52,#2a1a6a 65%,#0a1030) !important}
.gamecard__tile[data-cat="sports"]{background:radial-gradient(120% 130% at 82% 8%,rgba(34,211,238,.42),transparent 56%),linear-gradient(150deg,#0a2a52,#114a6a 65%,#06182f) !important}
.gamecard__tileicon{stroke:var(--gold-2)}

/* Lottery result balls → violet/cyan */
.rball{background:radial-gradient(circle at 35% 30%,var(--violet),#1a1147) !important;border-color:var(--gold-line) !important}

/* Winners + winstats → deep indigo with cyan edge */
.winner,.winstat{background:linear-gradient(160deg,#161a52,#11144a 70%,#0a0d28) !important;border-color:var(--gold-line) !important}

/* News date chip → violet/magenta */
.newscard__date{background:radial-gradient(120% 120% at 80% 8%,rgba(255,45,126,.5),transparent 56%),linear-gradient(160deg,#211a6b,#11144a) !important}

/* App promo radial tint → cyan */
.apppromo{background:radial-gradient(90% 140% at 90% 10%,rgba(34,211,238,.28),transparent 55%),linear-gradient(135deg,#211a6b,#11144a) !important}

/* Cards / grids: subtle neon hover */
.gamecard:hover{border-color:var(--violet) !important;box-shadow:0 22px 42px -22px rgba(123,92,255,.7) !important}
.promo:hover,.newscard:hover,.winstory:hover{box-shadow:0 22px 44px -22px rgba(34,211,238,.6),0 0 0 1px var(--gold-line) !important}

/* Lobby filter chips active → neon */
.lobbychip.is-active{background:linear-gradient(115deg,var(--gold-3),var(--accent-600)) !important;box-shadow:0 8px 22px -10px rgba(255,45,126,.6) !important}

/* Newsletter band */
.newsletter{background:radial-gradient(90% 140% at 90% 10%,rgba(34,211,238,.28),transparent 50%),linear-gradient(135deg,#1a1147,#241048) !important}
.newsletter::after{content:"";position:absolute;left:0;top:0;right:0;height:2px;background:linear-gradient(115deg,var(--gold-3),var(--violet),var(--accent-600))}

/* Footer neon top edge */
.footer{background:#0a0d28 !important}
.footer::before{content:"";display:block;position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(115deg,var(--gold-3),var(--violet),var(--accent-600));opacity:.7}

/* Force NEONOVA design tokens (overrides layout.php inline brand tokens, keeps brand.json content untouched) */
:root{
  --color-primary:#7b5cff !important;
  --color-accent:#ff2d7e !important;
  --color-bg:#eef1f8 !important;
  --color-text:#0b1020 !important;
}
