/* WunderSpin additions on top of the app CSS. Source of /assets/wunder-[hash].css (built by tools/build.py).
   Look: flat and dark (blue-black), one teal accent, yellow as the signal colour. No gradients, glows or pulsing.
   Layout: logo on the left with the main navigation in the same row, side menu as a drawer, a two-column hero
   (text + wheel) on the home page, category pills under it, a left-aligned footer and a small floating sign-up card. */

/* ---------- Tokens (WildWinz palette, flat) ---------- */
:root,[data-theme=night]{
  --bg:#060a0e;--surface:#0f121b;--surface-2:#1e1f2a;--surface-3:#2f3242;
  --line:#ffffff14;--line-strong:#ffffff29;
  --ink:#f3f4f7;--ink-muted:#abafc4;--ink-dim:#707699;
  /* --gold is the app's main accent slot: teal. light/deep are the same colour so every app gradient becomes flat. */
  --gold:#00e5b4;--gold-light:#00e5b4;--gold-deep:#00e5b4;--on-gold:#03201a;
  --cyan:#fff200;--on-cyan:#191800;--magenta:#a23adf;--on-magenta:#f4ecff;
  --jade:#00e5b4;--on-jade:#03201a;--coral:#ff4e33;
  --overlay:#060a0ecc;--focus-ring:#fff200;
  --shadow-card:none;--shadow-tile-hover:none;--shadow-cta:none;
  --radius-lg:16px;--radius-md:12px;--radius-sm:8px}
body{background:var(--bg)}
body a{color:var(--gold)}
::selection{background:#00e5b455;color:#fff}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}

/* ---------- Buttons: flat, 12px corners, no shadow, no movement ---------- */
.fz-btn,.btn{border-radius:12px;font-weight:700}
.fz-btn--gold,.btn-primary{background:var(--gold);border-color:var(--gold);color:var(--on-gold);box-shadow:none;filter:none}
.fz-btn--gold:hover,.btn-primary:hover:not(:disabled){background:#33ffd3;border-color:#33ffd3;color:var(--on-gold);box-shadow:none;filter:none}
.fz-btn--gold:active,.btn-primary:active{box-shadow:none;transform:none;filter:none}
.fz-btn--ghost{background:#2f32424d;border:1px solid transparent;color:var(--ink)}
.fz-btn--ghost:hover{background:var(--surface-3);color:var(--ink)}
.auth-btns .fz-btn,#freecoins-btn,.cxw-cta .fz-btn,.cxw-claim,.cxw-won__claim,.guest-bar__btn,.gb-age__btns .fz-btn{text-transform:uppercase;letter-spacing:.02em;font-size:14px}
.auth-btns .fz-btn{padding:10px 18px}

/* ---------- Header: [menu] [logo] [navigation ......] [account] in one row ---------- */
.fz-header.app-header{display:flex;align-items:center;gap:12px;height:64px;padding:0 24px;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:none}
.app-header #menu-btn{order:0;width:40px;height:40px;padding:0;border-radius:12px}
.app-header .brand{order:1;margin-right:8px}
.app-header .brand .logo-full{height:40px;display:block}
.app-header .brand .logo-mark{display:none}
.app-header>.fz-spacer{display:none}
.ws-topnav{order:2;flex:1;display:flex;align-items:center;gap:2px;min-width:0;overflow-x:auto;scrollbar-width:none}
.ws-topnav::-webkit-scrollbar{display:none}
.ws-topnav a{flex:none;padding:9px 14px;border-radius:12px;color:var(--ink-muted);font-size:15px;font-weight:500;text-decoration:none;box-shadow:inset 0 0 0 1px transparent}
.ws-topnav a:hover{color:var(--ink);background:var(--surface-2)}
.ws-topnav a.is-on{color:var(--ink);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--gold)}
.ws-topnav a[data-action=play-safe]{margin-left:auto;color:var(--gold)}
.app-header .row-controls{order:3;margin-left:auto}
.fz-balance{border-radius:12px;background:var(--surface-2);border:0}
.fz-avatar{border-color:var(--gold)}
@media (max-width:1180px){.ws-topnav a{padding:9px 11px;font-size:14px}}
@media (max-width:900px){
  .fz-header.app-header{height:56px;padding:0 12px;gap:8px}
  .ws-topnav{display:none}
  .app-header .brand .logo-full{display:none}
  .app-header .brand .logo-mark{display:block;width:36px;height:36px}
  .is-guest .app-header .auth-btns .fz-btn{padding:9px 14px;font-size:13px}
  html:not(.is-guest) .app-header #freecoins-btn{display:none}
}

/* ---------- Side menu: a drawer on every screen (opened by the menu button) ---------- */
@media (min-width:901px){
  .app,.app.side-collapsed{--side-w:0px;grid-template-columns:minmax(0,1fr);background:none}
  .app-side{position:fixed;z-index:80;top:0;bottom:0;left:0;width:288px;height:auto;padding:16px 12px;overflow-y:auto;
    background:var(--surface);border-right:1px solid var(--line);transform:translate(-105%);transition:transform var(--t-slow) var(--ease)}
  .app-side.open{transform:none}
  .app-side .side-close{display:flex;justify-content:space-between;align-items:center;padding:0 4px 8px 12px}
  .drawer-back{display:block}
}
.fz-sidebar{background:var(--surface)}
.fz-side-link{border-radius:12px}
.fz-side-link.is-on{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--gold);color:var(--ink)}
.fz-side-promo,.side-collapsed .side-promo-mini,.side-promo-mini{background:var(--surface-2)}

/* ---------- Page width ---------- */
.app-main{width:100%;max-width:1376px;margin:0 auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
@media (max-width:900px){.app-main{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}}

/* ---------- Blocks: flat surfaces, no hover on things that cannot be clicked ---------- */
.fz-banner,.fz-banner--gold,.fz-banner--cyan,.daily-hero,.demo-bar,.slot-bar{background:var(--surface);border-color:var(--line)}
.welcome-page{background:var(--bg)}
.promo-card:before{display:none}
.promo-card,.fz-widget,.howto,.fz-strip{background:var(--surface-2);border:0}
.guest-feat:hover,.promo-card:hover,.fz-widget:hover{transform:none;box-shadow:none}
.faq details,.faq details:hover,.faq details[open]{background:var(--surface-2);border:0;border-radius:12px;padding:12px 16px}
.faq summary:hover{color:var(--gold)}
.notfound__code{background:none;-webkit-text-fill-color:var(--gold);color:var(--gold);filter:none}
.fz-banner--img{background-image:var(--bg-d);background-position:100%;background-size:cover;border-color:var(--line)}
@media (max-width:900px){.fz-banner--img{background-image:var(--bg-m);background-position:bottom}}
.modal{box-shadow:none;border-radius:16px}

/* Section headings: plain titles with no icon (the WildWinz way), the note on the right as a small pill. */
.fz-section__head h2{font-size:24px;line-height:30px;font-weight:600}
.fz-section__head h2 svg{display:none}
.guest-note{padding:6px 12px;border-radius:999px;background:var(--surface-2);color:var(--ink-muted);font-size:12px;font-weight:600}

/* Game tiles: dense grid, 12px corners, the title on a flat dark band at the bottom of the art, yellow/violet/teal badges. */
.fz-grid{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:18px 12px}
.fz-tile__art{border-radius:12px;box-shadow:none;background:var(--surface-2)}
.fz-tile__art:after{display:none}
.fz-tile__title{left:0;right:0;bottom:0;padding:9px 12px 10px;text-align:left;text-transform:none;text-shadow:none;font:600 14px/18px var(--font-body);background:#060a0ee0;text-wrap:pretty}
.fz-tile:hover .fz-tile__art,.fz-tile:focus-visible .fz-tile__art{box-shadow:inset 0 0 0 2px var(--gold);transform:none}
.fz-tile:hover .fz-tile__title{color:var(--gold)}
.fz-tile:hover .fz-tile__art svg.art{transform:none}
.fz-tile__play{width:52px;height:52px;margin:-26px 0 0 -26px;background:var(--gold);box-shadow:none;border:0;top:38%}
.fz-tile__meta{padding:6px 2px 0;font-size:12px}
.fz-tile__meta b{color:var(--ink-dim);font-weight:500}
.fz-tile__fav{background:#060a0eb3}
.fz-badge{border-radius:8px;height:20px;font-weight:700}
.fz-badge--top{background:var(--gold);color:var(--on-gold)}
.fz-badge--new{background:var(--cyan);color:var(--on-cyan)}
.fz-badge--hot{background:var(--magenta);color:var(--on-magenta)}
.game-head .thumb{border-radius:12px;box-shadow:none}

/* ---------- Home page for visitors: hero panel (text left, wheel right), category pills, games, three points, text ---------- */
#view>.guest-feats{order:1}
#view>.article{order:2}
.guest-feats{gap:12px;padding-top:0;border-top:0}
.guest-feat{background:var(--surface-2);border:0;border-radius:16px;padding:20px 22px;box-shadow:none}
.guest-feat__icon{background:none;width:auto;height:auto;color:var(--cyan)}
.article{border-top:1px solid var(--line);padding-top:24px}

.cxw-wrap{position:relative;margin:4px 0 0}
.cxw{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-areas:"text wheel" "fine fine";align-items:center;gap:16px 40px;
  padding:40px 48px 32px;border-radius:16px;background:var(--surface);text-align:left}
.cxw-text{grid-area:text;display:grid;gap:14px;justify-items:start}
.cxw-text>.fz-banner__eyebrow{color:var(--cyan);letter-spacing:.14em}
.cxw h1{font:700 clamp(30px,3.6vw,50px)/1.05 var(--font-display);letter-spacing:-.01em;text-wrap:balance;margin:0;max-width:16ch}
.cxw h1 em,.cxw-result h2 em{color:var(--gold);font-style:normal}
.cxw-lead{color:var(--ink-muted);max-width:50ch;margin:0;font-size:17px;line-height:26px}
.cxw-cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:4px}
.cxw-cta .fz-btn{min-width:200px;justify-content:center}
.cxw-cta .guest-hero__login{color:var(--ink-muted);font-weight:600}
.cxw-cta .guest-hero__login:hover{color:var(--ink)}
.cxw-error{margin:0;color:var(--coral);font-size:14px}
.cxw-error[hidden]{display:none}
.gb-chips{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 0;padding:0;list-style:none;color:var(--ink-muted);font-size:13px}
.gb-chips li{padding:6px 12px;border-radius:999px;background:var(--surface-2)}
.gb-chips b{color:var(--ink)}
.cxw .guest-hero__fine{color:var(--ink-dim)}
.cxw-wheel{grid-area:wheel;position:relative;width:min(400px,100%);aspect-ratio:1;justify-self:center;margin:12px 0 4px}
.cxw-disclaimer{grid-area:fine;margin:8px 0 0;color:var(--ink-dim);font-size:11px;line-height:16px;max-width:none}
.cxw-claim-link,.cxw.is-won .cxw-spin{display:none}
.cxw.is-won .cxw-claim-link{display:none}
/* After the spin the wheel stays blurred, with the prize written over it. */
.cxw-won{display:none;inset:0;z-index:3;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:0 14%}
.cxw-wheel>.cxw-won{display:none}
.cxw.is-won .cxw-wheel>.cxw-won{display:flex}
.cxw-wheel>:not(.cxw-won){transition:filter .6s ease}
.cxw.is-won .cxw-wheel>:not(.cxw-won){filter:blur(5px) brightness(.35)}
.cxw-won__label{color:var(--cyan);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.cxw-won__name{font:700 clamp(24px,3.6vw,36px)/1.05 var(--font-display);color:var(--gold);text-wrap:balance}
.cxw-won__note{color:var(--ink);font-size:14px;line-height:20px;max-width:26ch}
.cxw-won__claim{margin-top:10px;min-width:160px;max-width:100%;justify-content:center;white-space:normal;text-align:center;line-height:1.25;padding:12px 16px}
.cxw-won__claim[hidden]{display:none}
@media (prefers-reduced-motion:reduce){.cxw-wheel>:not(.cxw-won){transition:none}}
.cxw.is-spinning .cxw-spin{opacity:.7}
#welcome-wheel{scroll-margin-top:90px}
.cxw-wheel>*{position:absolute;display:block;user-select:none;-webkit-user-drag:none}
.cxw-rotor{left:2%;top:2%;width:96%;height:96%;border-radius:50%;will-change:transform}
.cxw-disc,.cxw-labels{position:absolute;inset:0;width:100%;height:100%}
.cxw-hub{left:50%;top:50%;width:18%;height:auto;transform:translate(-50%,-50%)}
.cxw-hub.is-medallion{width:27%}
.cxw-wheel.has-rim .cxw-rotor{left:10.2%;top:10.2%;width:79.6%;height:79.6%}
.cxw-wheel.has-rim{margin-top:32px}
.cxw-wheel.has-rim img.cxw-pointer{top:-5%;width:13%}
.cxw-wheel img.cxw-disc{object-fit:contain}
.cxw-wheel.has-rim .cxw-label{font-size:12.5px}
.cxw-rim{inset:0;width:100%;height:100%;pointer-events:none}
.cxw-wheel .cxw-pointer{left:50%;top:-4%;width:11%;height:auto;transform:translateX(-50%);z-index:1}
.cxw-label{font:700 13px/1 var(--font-body);letter-spacing:.02em;text-anchor:middle;dominant-baseline:middle}
.cxw-wrap>.cxw{transition:filter .4s ease}
.cxw-wrap.has-result>.cxw{filter:blur(6px) brightness(.5);pointer-events:none;user-select:none}
.cxw-result{position:absolute;inset:0;z-index:2;display:grid;place-items:center;padding:16px}
.cxw-result[hidden]{display:none}
.cxw-result__card{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;justify-items:center;text-align:center;width:min(440px,100%);
  padding:32px 26px 24px;border-radius:16px;border:1px solid var(--line-strong);background:var(--surface-2);animation:cxwPop .3s ease-out}
.cxw-result h2{font:700 clamp(24px,7vw,34px)/1.1 var(--font-display);margin:0;max-width:100%;overflow-wrap:anywhere}
.cxw-result p{color:var(--ink-muted);margin:0;max-width:100%}
.cxw-result small{color:var(--ink-dim);font-size:12px}
.cxw-claim{width:min(360px,100%);margin-top:6px;white-space:normal;text-align:center;line-height:1.25;padding:12px 16px}
.cxw-result .cxw-result__card>.cxw-result__close{position:absolute;z-index:2;top:10px;right:10px;width:34px;height:34px;border:0;border-radius:50%;background:var(--surface-3);color:var(--ink-muted);font-size:20px;line-height:1;cursor:pointer}
.cxw-result__close:hover{color:var(--ink)}
.cxw-reg-note{margin:0}
.cxw-result__card>*{position:relative;z-index:1}
@keyframes cxwPop{from{transform:scale(.94);opacity:0}}
@media (prefers-reduced-motion:reduce){.cxw-result__card{animation:none}}
@media (max-width:1024px){.cxw{padding:32px 32px 24px;gap:12px 28px}}
@media (max-width:900px){
  /* Phones: headline, then the wheel right away, the spin button directly under it, then the rest of the text. */
  .cxw{grid-template-columns:minmax(0,1fr);grid-template-areas:none;gap:12px;padding:18px 14px 16px;border-radius:14px;justify-items:center;text-align:center}
  .cxw-text{display:contents}
  .cxw-text>.fz-banner__eyebrow{order:1}
  .cxw h1{order:2;font-size:clamp(26px,7.4vw,32px);max-width:none}
  .cxw-wheel{order:3;grid-area:auto;width:min(340px,100%);margin:4px 0 0}
  .cxw-cta{order:4;width:100%;flex-direction:column;gap:10px;margin-top:0}
  .cxw-cta .fz-btn{width:100%;height:52px;font-size:16px}
  .cxw-error{order:5}
  .cxw-lead{order:6;font-size:15px;line-height:22px;max-width:none}
  .gb-chips{order:7;justify-content:center}
  .cxw .guest-hero__fine{order:8}
  .cxw-disclaimer{order:9;grid-area:auto;text-align:left}
  .cxw-wheel.has-rim{margin-top:8px}
  .cxw-won{padding:0 10%}
  .cxw-won__name{font-size:clamp(22px,7vw,30px)}
  .cxw-won__note{font-size:13px;line-height:18px}
  .cxw-won__claim{font-size:13px;min-width:0;width:100%}
  .cxw-result{padding:10px}
  .cxw-result__card{padding:28px 18px 20px}
  .guest-feats{grid-template-columns:minmax(0,1fr)}
  .guest-feat{padding:16px 18px}
}
@media (max-width:560px){
  .fz-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}
  .fz-section__head h2{font-size:20px;line-height:26px}
  .guest-note{font-size:11px;padding:5px 10px}
  .app-main{gap:18px}
}

/* Category pills under the hero (wunder.js): the four game sections with their counts, plus promotions. */
.ws-cats{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 0;padding:0;list-style:none}
.ws-cats a{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px 0 14px;border-radius:999px;background:var(--surface-2);color:var(--ink);font-size:15px;font-weight:500;text-decoration:none}
.ws-cats a:hover{background:var(--surface-3)}
.ws-cats i{width:10px;height:10px;border-radius:50%;background:var(--c,var(--gold))}
.ws-cats b{color:var(--ink-dim);font-weight:500}
@media (max-width:900px){.ws-cats{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:10px -16px 0;padding:0 16px;gap:8px}.ws-cats::-webkit-scrollbar{display:none}.ws-cats a{flex:none;height:36px;font-size:14px}}

/* ---------- /login/ and /register/: the form as a page card ---------- */
.auth-page{display:grid;justify-items:center;padding:32px 0 48px}
.auth-page__card.modal{margin:0 auto;box-shadow:none;background:var(--surface);border-color:var(--line)}
@media (max-width:900px){.auth-page{padding:16px 0 32px}}

/* ---------- Section pages for visitors ---------- */
.guest-section{display:grid;gap:10px;max-width:900px;margin:0 0 8px}
.guest-section h1{font:700 clamp(28px,3.4vw,40px)/1.08 var(--font-display);margin:0}
.guest-section p{color:var(--ink-muted);margin:0;font-size:16px;line-height:24px}
.guest-section--signin{padding:22px 24px;border-radius:16px;border:0;background:var(--surface)}
.guest-section__cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}

/* ---------- Footer: logo and four columns on the left, legal text under a rule ---------- */
.fz-footer{background:var(--surface);border-top:0;box-shadow:none;padding:48px 32px 32px;gap:28px}
.fz-footer__top{gap:32px 64px}
.fz-footer__top>img{height:40px;width:auto}
.fz-footer__cols{gap:24px 56px}
.fz-footer__col{gap:8px}
.fz-footer__col b{color:var(--ink);font-size:14px;margin-bottom:2px}
.fz-footer__col a{color:var(--ink-muted);font-size:14px}
.fz-footer__col a:hover{color:var(--ink)}
.fz-footer__legal{border-top:1px solid var(--line);padding-top:24px}
.fz-footer__badges .fz-badge{height:24px;padding:0 10px;border-radius:999px;background:var(--surface-2)}
.fz-footer__badges .fz-badge--age{background:var(--cyan);color:var(--on-cyan)}
@media (max-width:900px){.fz-footer{padding:36px 16px 28px}.fz-footer__top{flex-direction:column;gap:24px}}
@media (max-width:560px){.fz-footer__cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px;width:100%}}

/* ---------- Sign-up card: a small card in the bottom-right corner (full width on phones). Flat, one quiet entrance.
   Hidden for signed-in players, on the sign-in/sign-up pages, on the lock screen and after it is closed (for the rest of the visit). ---------- */
.guest-bar{position:fixed;z-index:65;right:24px;bottom:24px;width:340px;font-family:var(--font-body);
  background:var(--surface-2);border:1px solid #00e5b466;border-radius:16px;animation:wsIn .45s ease-out both,wsGlow 2.6s ease-in-out .45s infinite}
@keyframes wsIn{from{opacity:0;transform:translateY(12px)}}
@keyframes wsGlow{0%,100%{box-shadow:0 0 0 0 #00e5b400,0 0 18px #00e5b433}50%{box-shadow:0 0 0 3px #00e5b42e,0 0 34px #00e5b480}}
.guest-bar__btn{position:relative;overflow:hidden;animation:wsPulse 2.6s ease-in-out infinite}
.guest-bar__btn:after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;transform:skewX(-20deg);background:linear-gradient(90deg,transparent,#ffffff8c,transparent);animation:wsShine 3s ease-in-out infinite}
@keyframes wsPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.03)}}
@keyframes wsShine{0%,55%{left:-60%}85%,100%{left:130%}}
@media (prefers-reduced-motion:reduce){.guest-bar,.guest-bar__btn,.guest-bar__btn:after{animation:none}.guest-bar__btn:after{display:none}.guest-bar{box-shadow:0 0 24px #00e5b44d}}
.guest-bar__card{display:block;color:var(--ink);text-decoration:none;border-radius:16px}
.guest-bar__card:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}
.guest-bar__in{display:grid;grid-template-columns:40px minmax(0,1fr);grid-template-areas:"gift text" "btn btn";gap:12px 12px;padding:16px 16px 16px}
.guest-bar__gift{grid-area:gift;display:grid;place-items:center;width:40px;height:40px}
.guest-bar__gift img{width:40px;height:40px}
.guest-bar__text{grid-area:text;display:flex;flex-direction:column;gap:3px;line-height:1.25;min-width:0;padding-right:28px}
.guest-bar__title{font-family:var(--font-display);font-weight:700;font-size:15px}
.guest-bar__title em{font-style:normal;color:var(--gold)}
.guest-bar__sub{color:var(--ink-muted);font-size:12px;font-weight:500}
.guest-bar__btn{grid-area:btn;display:inline-flex;align-items:center;justify-content:center;height:44px;border-radius:12px;background:var(--gold);color:var(--on-gold);font-weight:700;font-size:14px;white-space:nowrap}
.guest-bar__card:hover .guest-bar__btn{background:#33ffd3}
.guest-bar__close{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;border:0;
  background:var(--surface-3);color:var(--ink-muted);font-size:18px;line-height:1;cursor:pointer}
.guest-bar__close:hover{color:var(--ink)}
.guest-bar-shade{display:none}
html.has-accounts:not(.is-guest) :is(.guest-bar,.guest-bar-shade),
html.cx-auth-page :is(.guest-bar,.guest-bar-shade),
html.cx-gb-closed :is(.guest-bar,.guest-bar-shade),
html.is-locked :is(.guest-bar,.guest-bar-shade){display:none}
@media (max-width:640px){
  .guest-bar{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));width:auto}
  .guest-bar__in{grid-template-columns:minmax(0,1fr);grid-template-areas:"text" "btn";gap:10px;padding:12px 14px 12px}
  .guest-bar__gift{display:none}
  .guest-bar__text{padding-right:36px}
  .guest-bar__title{font-size:14px}.guest-bar__sub{font-size:11px}
  .guest-bar__btn{height:40px;padding:0 14px;font-size:13px}
  html:not(.cx-auth-page):not(.cx-gb-closed):not(.is-locked):not(.has-accounts:not(.is-guest)) body{padding-bottom:calc(124px + env(safe-area-inset-bottom,0px))!important}
}

/* Home page intro above the games (wunder.js). */
.gb-intro{display:grid;gap:8px;max-width:760px;padding:8px 0 4px}
.gb-intro h1{font:700 clamp(28px,3.4vw,40px)/1.08 var(--font-display);margin:0}
.gb-intro p{margin:0;color:var(--ink-muted);font-size:16px;line-height:24px}

/* 21+ question (wunder.js), once per browser: a card on the dark page. */
html.gb-age-open body{overflow:hidden}
.gb-age{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:24px;background:#060a0ef2}
.gb-age__card{display:grid;gap:14px;width:min(460px,100%);padding:28px;border-radius:16px;background:var(--surface-2);border:1px solid var(--line-strong)}
.gb-age__card img{width:56px;height:56px}
.gb-age h2{font:700 clamp(24px,3.6vw,32px)/1.1 var(--font-display);margin:0}
.gb-age p{margin:0;color:var(--ink-muted);font-size:15px;line-height:22px}
.gb-age__btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.gb-age__btns[hidden],.gb-age__no[hidden]{display:none}
.gb-age__btns .fz-btn{flex:1 1 160px;justify-content:center}
.gb-age__no{color:var(--ink)!important}
.gb-age small{color:var(--ink-dim);font-size:12px}
.gb-age small a{color:var(--ink-muted)}

/* Cookie-Hinweis (wunder.js): kleine Karte unten links, flach. */
.ws-consent{position:fixed;z-index:70;left:24px;bottom:24px;width:360px;max-width:calc(100% - 48px);padding:16px 18px;border-radius:16px;background:var(--surface-2);border:1px solid var(--line-strong);font-family:var(--font-body)}
.ws-consent b{display:block;font-family:var(--font-display);font-size:15px;margin-bottom:6px}
.ws-consent p{margin:0 0 12px;color:var(--ink-muted);font-size:13px;line-height:19px}
.ws-consent p a{color:var(--gold)}
.ws-consent__btns{display:flex;gap:8px}
.ws-consent__btns .fz-btn{flex:1;justify-content:center;font-size:13px;padding:10px 12px}
@media (max-width:640px){.ws-consent{left:12px;right:12px;bottom:calc(96px + env(safe-area-inset-bottom,0px));width:auto;max-width:none}}

/* Game covers (written by tools/build.py from /img/games/) */
.tile-link[href="/play/baccarat/"] .fz-tile__art,html[data-game="baccarat"] .game-head .thumb{background:#060a0e url(/img/games/baccarat.webp) center/cover no-repeat}
.tile-link[href="/play/baccarat/"] .fz-tile__art svg.art,html[data-game="baccarat"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/bingo/"] .fz-tile__art,html[data-game="bingo"] .game-head .thumb{background:#060a0e url(/img/games/bingo.webp) center/cover no-repeat}
.tile-link[href="/play/bingo/"] .fz-tile__art svg.art,html[data-game="bingo"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/blackjack/"] .fz-tile__art,html[data-game="blackjack"] .game-head .thumb{background:#060a0e url(/img/games/blackjack.webp) center/cover no-repeat}
.tile-link[href="/play/blackjack/"] .fz-tile__art svg.art,html[data-game="blackjack"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/blazing-fruits/"] .fz-tile__art,html[data-game="blazing-fruits"] .game-head .thumb{background:#060a0e url(/img/games/blazing-fruits.webp) center/cover no-repeat}
.tile-link[href="/play/blazing-fruits/"] .fz-tile__art svg.art,html[data-game="blazing-fruits"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/cactus-gold/"] .fz-tile__art,html[data-game="cactus-gold"] .game-head .thumb{background:#060a0e url(/img/games/cactus-gold.webp) center/cover no-repeat}
.tile-link[href="/play/cactus-gold/"] .fz-tile__art svg.art,html[data-game="cactus-gold"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/casino-war/"] .fz-tile__art,html[data-game="casino-war"] .game-head .thumb{background:#060a0e url(/img/games/casino-war.webp) center/cover no-repeat}
.tile-link[href="/play/casino-war/"] .fz-tile__art svg.art,html[data-game="casino-war"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/coin-flip/"] .fz-tile__art,html[data-game="coin-flip"] .game-head .thumb{background:#060a0e url(/img/games/coin-flip.webp) center/cover no-repeat}
.tile-link[href="/play/coin-flip/"] .fz-tile__art svg.art,html[data-game="coin-flip"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/coral-reef/"] .fz-tile__art,html[data-game="coral-reef"] .game-head .thumb{background:#060a0e url(/img/games/coral-reef.webp) center/cover no-repeat}
.tile-link[href="/play/coral-reef/"] .fz-tile__art svg.art,html[data-game="coral-reef"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/craps/"] .fz-tile__art,html[data-game="craps"] .game-head .thumb{background:#060a0e url(/img/games/craps.webp) center/cover no-repeat}
.tile-link[href="/play/craps/"] .fz-tile__art svg.art,html[data-game="craps"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/desert-dynasty/"] .fz-tile__art,html[data-game="desert-dynasty"] .game-head .thumb{background:#060a0e url(/img/games/desert-dynasty.webp) center/cover no-repeat}
.tile-link[href="/play/desert-dynasty/"] .fz-tile__art svg.art,html[data-game="desert-dynasty"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/deuces-wild/"] .fz-tile__art,html[data-game="deuces-wild"] .game-head .thumb{background:#060a0e url(/img/games/deuces-wild.webp) center/cover no-repeat}
.tile-link[href="/play/deuces-wild/"] .fz-tile__art svg.art,html[data-game="deuces-wild"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/diamond-deluxe/"] .fz-tile__art,html[data-game="diamond-deluxe"] .game-head .thumb{background:#060a0e url(/img/games/diamond-deluxe.webp) center/cover no-repeat}
.tile-link[href="/play/diamond-deluxe/"] .fz-tile__art svg.art,html[data-game="diamond-deluxe"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/dragon-tiger/"] .fz-tile__art,html[data-game="dragon-tiger"] .game-head .thumb{background:#060a0e url(/img/games/dragon-tiger.webp) center/cover no-repeat}
.tile-link[href="/play/dragon-tiger/"] .fz-tile__art svg.art,html[data-game="dragon-tiger"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/european-roulette/"] .fz-tile__art,html[data-game="european-roulette"] .game-head .thumb{background:#060a0e url(/img/games/european-roulette.webp) center/cover no-repeat}
.tile-link[href="/play/european-roulette/"] .fz-tile__art svg.art,html[data-game="european-roulette"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/fortune-wheel/"] .fz-tile__art,html[data-game="fortune-wheel"] .game-head .thumb{background:#060a0e url(/img/games/fortune-wheel.webp) center/cover no-repeat}
.tile-link[href="/play/fortune-wheel/"] .fz-tile__art svg.art,html[data-game="fortune-wheel"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/frost-crown/"] .fz-tile__art,html[data-game="frost-crown"] .game-head .thumb{background:#060a0e url(/img/games/frost-crown.webp) center/cover no-repeat}
.tile-link[href="/play/frost-crown/"] .fz-tile__art svg.art,html[data-game="frost-crown"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/gem-rush/"] .fz-tile__art,html[data-game="gem-rush"] .game-head .thumb{background:#060a0e url(/img/games/gem-rush.webp) center/cover no-repeat}
.tile-link[href="/play/gem-rush/"] .fz-tile__art svg.art,html[data-game="gem-rush"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/gem-vault/"] .fz-tile__art,html[data-game="gem-vault"] .game-head .thumb{background:#060a0e url(/img/games/gem-vault.webp) center/cover no-repeat}
.tile-link[href="/play/gem-vault/"] .fz-tile__art svg.art,html[data-game="gem-vault"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/hi-lo/"] .fz-tile__art,html[data-game="hi-lo"] .game-head .thumb{background:#060a0e url(/img/games/hi-lo.webp) center/cover no-repeat}
.tile-link[href="/play/hi-lo/"] .fz-tile__art svg.art,html[data-game="hi-lo"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/jacks-or-better/"] .fz-tile__art,html[data-game="jacks-or-better"] .game-head .thumb{background:#060a0e url(/img/games/jacks-or-better.webp) center/cover no-repeat}
.tile-link[href="/play/jacks-or-better/"] .fz-tile__art svg.art,html[data-game="jacks-or-better"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/jungle-trail/"] .fz-tile__art,html[data-game="jungle-trail"] .game-head .thumb{background:#060a0e url(/img/games/jungle-trail.webp) center/cover no-repeat}
.tile-link[href="/play/jungle-trail/"] .fz-tile__art svg.art,html[data-game="jungle-trail"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/keno/"] .fz-tile__art,html[data-game="keno"] .game-head .thumb{background:#060a0e url(/img/games/keno.webp) center/cover no-repeat}
.tile-link[href="/play/keno/"] .fz-tile__art svg.art,html[data-game="keno"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/limbo/"] .fz-tile__art,html[data-game="limbo"] .game-head .thumb{background:#060a0e url(/img/games/limbo.webp) center/cover no-repeat}
.tile-link[href="/play/limbo/"] .fz-tile__art svg.art,html[data-game="limbo"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/lucky-clover/"] .fz-tile__art,html[data-game="lucky-clover"] .game-head .thumb{background:#060a0e url(/img/games/lucky-clover.webp) center/cover no-repeat}
.tile-link[href="/play/lucky-clover/"] .fz-tile__art svg.art,html[data-game="lucky-clover"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/lucky-number/"] .fz-tile__art,html[data-game="lucky-number"] .game-head .thumb{background:#060a0e url(/img/games/lucky-number.webp) center/cover no-repeat}
.tile-link[href="/play/lucky-number/"] .fz-tile__art svg.art,html[data-game="lucky-number"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/mini-roulette/"] .fz-tile__art,html[data-game="mini-roulette"] .game-head .thumb{background:#060a0e url(/img/games/mini-roulette.webp) center/cover no-repeat}
.tile-link[href="/play/mini-roulette/"] .fz-tile__art svg.art,html[data-game="mini-roulette"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/mystic-moon/"] .fz-tile__art,html[data-game="mystic-moon"] .game-head .thumb{background:#060a0e url(/img/games/mystic-moon.webp) center/cover no-repeat}
.tile-link[href="/play/mystic-moon/"] .fz-tile__art svg.art,html[data-game="mystic-moon"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/nebula-spins/"] .fz-tile__art,html[data-game="nebula-spins"] .game-head .thumb{background:#060a0e url(/img/games/nebula-spins.webp) center/cover no-repeat}
.tile-link[href="/play/nebula-spins/"] .fz-tile__art svg.art,html[data-game="nebula-spins"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/neon-jam/"] .fz-tile__art,html[data-game="neon-jam"] .game-head .thumb{background:#060a0e url(/img/games/neon-jam.webp) center/cover no-repeat}
.tile-link[href="/play/neon-jam/"] .fz-tile__art svg.art,html[data-game="neon-jam"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/orchard-classic/"] .fz-tile__art,html[data-game="orchard-classic"] .game-head .thumb{background:#060a0e url(/img/games/orchard-classic.webp) center/cover no-repeat}
.tile-link[href="/play/orchard-classic/"] .fz-tile__art svg.art,html[data-game="orchard-classic"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/peg-drop/"] .fz-tile__art,html[data-game="peg-drop"] .game-head .thumb{background:#060a0e url(/img/games/peg-drop.webp) center/cover no-repeat}
.tile-link[href="/play/peg-drop/"] .fz-tile__art svg.art,html[data-game="peg-drop"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/red-dog/"] .fz-tile__art,html[data-game="red-dog"] .game-head .thumb{background:#060a0e url(/img/games/red-dog.webp) center/cover no-repeat}
.tile-link[href="/play/red-dog/"] .fz-tile__art svg.art,html[data-game="red-dog"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/rocket-rise/"] .fz-tile__art,html[data-game="rocket-rise"] .game-head .thumb{background:#060a0e url(/img/games/rocket-rise.webp) center/cover no-repeat}
.tile-link[href="/play/rocket-rise/"] .fz-tile__art svg.art,html[data-game="rocket-rise"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/safe-tiles/"] .fz-tile__art,html[data-game="safe-tiles"] .game-head .thumb{background:#060a0e url(/img/games/safe-tiles.webp) center/cover no-repeat}
.tile-link[href="/play/safe-tiles/"] .fz-tile__art svg.art,html[data-game="safe-tiles"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/sakura-dream/"] .fz-tile__art,html[data-game="sakura-dream"] .game-head .thumb{background:#060a0e url(/img/games/sakura-dream.webp) center/cover no-repeat}
.tile-link[href="/play/sakura-dream/"] .fz-tile__art svg.art,html[data-game="sakura-dream"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/scratch-card/"] .fz-tile__art,html[data-game="scratch-card"] .game-head .thumb{background:#060a0e url(/img/games/scratch-card.webp) center/cover no-repeat}
.tile-link[href="/play/scratch-card/"] .fz-tile__art svg.art,html[data-game="scratch-card"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/sic-bo/"] .fz-tile__art,html[data-game="sic-bo"] .game-head .thumb{background:#060a0e url(/img/games/sic-bo.webp) center/cover no-repeat}
.tile-link[href="/play/sic-bo/"] .fz-tile__art svg.art,html[data-game="sic-bo"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/three-card-poker/"] .fz-tile__art,html[data-game="three-card-poker"] .game-head .thumb{background:#060a0e url(/img/games/three-card-poker.webp) center/cover no-repeat}
.tile-link[href="/play/three-card-poker/"] .fz-tile__art svg.art,html[data-game="three-card-poker"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/thunder-hammer/"] .fz-tile__art,html[data-game="thunder-hammer"] .game-head .thumb{background:#060a0e url(/img/games/thunder-hammer.webp) center/cover no-repeat}
.tile-link[href="/play/thunder-hammer/"] .fz-tile__art svg.art,html[data-game="thunder-hammer"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/tower/"] .fz-tile__art,html[data-game="tower"] .game-head .thumb{background:#060a0e url(/img/games/tower.webp) center/cover no-repeat}
.tile-link[href="/play/tower/"] .fz-tile__art svg.art,html[data-game="tower"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/treasure-cove/"] .fz-tile__art,html[data-game="treasure-cove"] .game-head .thumb{background:#060a0e url(/img/games/treasure-cove.webp) center/cover no-repeat}
.tile-link[href="/play/treasure-cove/"] .fz-tile__art svg.art,html[data-game="treasure-cove"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/triple-sevens/"] .fz-tile__art,html[data-game="triple-sevens"] .game-head .thumb{background:#060a0e url(/img/games/triple-sevens.webp) center/cover no-repeat}
.tile-link[href="/play/triple-sevens/"] .fz-tile__art svg.art,html[data-game="triple-sevens"] .game-head .thumb>svg{visibility:hidden}
.tile-link[href="/play/volcano-rush/"] .fz-tile__art,html[data-game="volcano-rush"] .game-head .thumb{background:#060a0e url(/img/games/volcano-rush.webp) center/cover no-repeat}
.tile-link[href="/play/volcano-rush/"] .fz-tile__art svg.art,html[data-game="volcano-rush"] .game-head .thumb>svg{visibility:hidden}
