/* WestAce Casino – template v2 (reference: westace.com – dark brown stb theme, top navigation with dropdown tiles, green CTA, orange accents, Fira Sans Condensed) */
@font-face { font-family: "Fira Sans Condensed"; font-style: normal; font-weight: 400; font-display: swap; src: url("/fonts/fira-sans-condensed-latin-ext-400-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Fira Sans Condensed"; font-style: normal; font-weight: 400; font-display: swap; src: url("/fonts/fira-sans-condensed-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Fira Sans Condensed"; font-style: normal; font-weight: 500; font-display: swap; src: url("/fonts/fira-sans-condensed-latin-ext-500-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Fira Sans Condensed"; font-style: normal; font-weight: 500; font-display: swap; src: url("/fonts/fira-sans-condensed-latin-500-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Fira Sans Condensed"; font-style: normal; font-weight: 700; font-display: swap; src: url("/fonts/fira-sans-condensed-latin-ext-700-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Fira Sans Condensed"; font-style: normal; font-weight: 700; font-display: swap; src: url("/fonts/fira-sans-condensed-latin-700-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Fira Sans Condensed"; font-style: italic; font-weight: 700; font-display: swap; src: url("/fonts/fira-sans-condensed-latin-ext-700-italic.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Fira Sans Condensed"; font-style: italic; font-weight: 700; font-display: swap; src: url("/fonts/fira-sans-condensed-latin-700-italic.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Fira Sans Condensed"; font-style: normal; font-weight: 800; font-display: swap; src: url("/fonts/fira-sans-condensed-latin-ext-800-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Fira Sans Condensed"; font-style: normal; font-weight: 800; font-display: swap; src: url("/fonts/fira-sans-condensed-latin-800-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Fira Sans Condensed"; font-style: normal; font-weight: 900; font-display: swap; src: url("/fonts/fira-sans-condensed-latin-ext-900-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Fira Sans Condensed"; font-style: normal; font-weight: 900; font-display: swap; src: url("/fonts/fira-sans-condensed-latin-900-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Fira Sans Condensed"; font-style: italic; font-weight: 900; font-display: swap; src: url("/fonts/fira-sans-condensed-latin-ext-900-italic.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Fira Sans Condensed"; font-style: italic; font-weight: 900; font-display: swap; src: url("/fonts/fira-sans-condensed-latin-900-italic.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
  /* palette (westace.com --stb-* tokens, rgb triplets) */
  --n50: 255 241 230; --n100: 244 234 224; --n125: 255 225 200; --n150: 231 211 193; --n200: 195 169 165; --n300: 199 146 112; --n400: 188 120 82; --n500: 145 81 61; --n600: 108 78 64; --n700: 96 56 47; --n750: 82 48 40; --n800: 59 32 27; --n850: 44 36 33; --n900: 38 21 16; --n950: 26 14 11; --n960: 20 10 8; --n1000: 10 5 3;
  --br50: 255 235 198; --br100: 255 212 136; --br150: 255 213 99; --br160: 255 176 54; --br200: 255 157 32; --br300: 249 121 7; --br400: 221 84 2; --br500: 148 40 11; --br600: 70 15 2; --br700: 51 15 5; --br800: 38 11 3; --br900: 25 7 2; --br950: 19 6 2;
  --ac50: 235 255 229; --ac150: 177 255 154; --ac200: 71 255 69; --ac300: 4 255 0; --ac400: 14 211 9; --ac500: 19 174 13; --ac600: 3 139 2; --ac800: 2 73 1; --ac900: 1 39 0; --ac950: 1 17 1;
  --y150: 253 229 171; --y200: 251 208 110; --y300: 247 192 64; --y400: 243 178 27; --y500: 194 139 12; --y700: 132 96 11; --y800: 78 57 8;
  --g600: 102 160 28; --g950: 30 49 7; --red600: 221 60 98; --add400: 229 24 24; --blue600: 60 129 221; --blue950: 10 26 46;
  --white: 255 255 255; --black: 0 0 0;
  --text: rgb(var(--n150)); --text-2: rgb(var(--n300)); --text-3: rgb(var(--n200)); --accent: rgb(var(--br150)); --link: rgb(var(--n200));
  --bg: rgb(var(--n1000)); --bg-2: rgb(var(--n950)); --bg-3: rgb(var(--n900)); --bg-c1: rgb(var(--n800));
  --font: "Fira Sans Condensed", "Arial Narrow", Arial, sans-serif;
  --tshadow: 0 2px 0 rgb(var(--black)), 0 1px 5px rgb(var(--black) / .25);
  --grad-15: linear-gradient(rgb(var(--n1000)), rgb(var(--n800)));
  --grad-25: linear-gradient(rgb(var(--n1000)), rgb(var(--n950)));
  --grad-50: linear-gradient(rgb(var(--n1000)), rgb(var(--n960)));
  --grad-60: linear-gradient(rgb(var(--n1000)), rgb(var(--n900)));
  --grad-80: linear-gradient(rgb(var(--n750)), rgb(var(--n900)));
  --grad-100: linear-gradient(rgb(var(--white)) 40%, rgb(var(--ac150)));
  --grad-150: linear-gradient(rgb(var(--white)) 40%, rgb(var(--n200)));
  --grad-210: linear-gradient(rgb(var(--y150)), rgb(var(--y500)));
  --grad-230: linear-gradient(rgb(var(--br200)), rgb(var(--br150)));
  --grad-325: linear-gradient(rgb(var(--n800)) 7%, rgb(var(--n600)));
  --grad-350: linear-gradient(rgb(var(--n300)), rgb(var(--n600)));
  --grad-440: linear-gradient(rgb(var(--n900)), rgb(var(--br950)));
  --grad-800: linear-gradient(rgb(var(--n900)) 0%, rgb(var(--n750)) 100%);
  --label-new: linear-gradient(rgb(var(--y400)), rgb(var(--add400)));
  --label-new-border: linear-gradient(rgb(var(--br160)), rgb(var(--br400)));
  --label-casino: linear-gradient(rgb(var(--g600)), rgb(var(--g950)));
  --label-sport: linear-gradient(rgb(var(--blue600)), rgb(var(--blue950)));
  --live-grad: linear-gradient(rgb(var(--ac800)), rgb(var(--ac950)));
  --stroke-grad: linear-gradient(rgb(var(--white) / .4), rgb(var(--white) / 0) 15%, rgb(var(--black) / 0) 85%, rgb(var(--black) / .4));
  --tab-shadow: 0 0 0 1px var(--bg) inset, 0 0 0 2px rgb(var(--n950)) inset;
  /* layout */
  --hdr-h: 64px; --nav-h: 33px; --pad: 16px;
  --cols: 8; --cols-rank: 7; --cols-wide: 5; --cols-grid: 11; --cols-promo: 5; --cols-sport: 7;
  --gap: 12px; --gap-rank: 9px; --rank-shift: 54px; --row-gap: 16px;
  --tile-r: 12px; --tile-sp: 2px;
  /* legacy aliases for shared parts */
  --gold: var(--accent); --muted: var(--text-2); --radius: 8px; --radius-sm: 4px; --shadow: 0 8px 16px rgb(var(--black) / .8);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 112px; min-width: 360px; }
body { margin: 0; min-height: 100%; background: var(--bg); color: var(--text); font-family: var(--font); font-size: 16px; line-height: 1.4; font-weight: 400; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: hidden; }
img, svg, video { display: block; max-width: 100%; }
a { color: var(--text); text-decoration: none; }
a:hover { color: rgb(var(--br100)); }
button { font-family: inherit; }
h1, h2, h3, h4, .card-row__title, .chip-offer__title, .table-foot__col-title { margin: 0; line-height: 1.2; font-family: var(--font); font-weight: 900; color: var(--text); }
p { margin: 0 0 12px; }
ul, ol { margin: 0; padding: 0; list-style: none; }
[role="button"] { cursor: pointer; user-select: none; }
.reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.trust-token { text-shadow: var(--tshadow); }

/* ---------- Buttons (stb system: 3-slice webp backgrounds left/center/right; Fira 800 uppercase; gradient-clipped text) ---------- */
.ace-btn { --bl: url("/images/ui/sec-l.webp"); --bc: url("/images/ui/sec-c.webp"); --br: url("/images/ui/sec-r.webp"); --bs: 18px; --shift: .06em; --mh: 48px; --fs: 18px; --px: 24px; --rad: 10px; --hin: 4px; --hrad: 7px; --tg: var(--grad-150); --hbg: rgb(var(--white)); --hop: .6; --hblend: overlay; --abg: rgb(var(--black)); --aop: .3;
  position: relative; z-index: 1; display: inline-flex; justify-content: center; align-items: center; gap: 8px; min-height: var(--mh); padding: 0 var(--px); border: 0; border-radius: var(--rad); font-family: var(--font); font-weight: 800; font-size: var(--fs); line-height: 1; letter-spacing: .02em; text-transform: uppercase; text-decoration: none; text-align: center; white-space: nowrap; color: #fff; background-color: transparent; background-image: var(--bc), var(--bl), var(--br); background-position: center, left center, right center; background-size: calc(100% - (var(--bs) * 2 - var(--shift))) 100%, var(--bs) 100%, var(--bs) 100%; background-repeat: no-repeat; cursor: pointer; transition: box-shadow .2s; }
.ace-btn::before, .ace-btn::after { content: ""; position: absolute; inset: var(--hin); z-index: -1; border-radius: var(--hrad); opacity: 0; transition: opacity .2s; pointer-events: none; }
.ace-btn::before { background: var(--hbg); mix-blend-mode: var(--hblend); }
.ace-btn::after { background: var(--abg); mix-blend-mode: multiply; }
.ace-btn:hover { color: #fff; box-shadow: 0 0 10px rgb(var(--n300) / .6); }
.ace-btn:hover::before { opacity: var(--hop); }
.ace-btn:active { box-shadow: none; }
.ace-btn:active::before { opacity: 0; }
.ace-btn:active::after { opacity: var(--aop); }
.ace-btn__t { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 6px; background: var(--tg); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; filter: drop-shadow(0 1px rgb(var(--black))); }
.ace-btn svg, .ace-btn img { position: relative; z-index: 1; flex: 0 0 auto; }
.ace-btn__ico { display: inline-flex; width: 24px; height: 24px; }
/* palettes */
.ace-btn--house { --bl: url("/images/ui/sec-l.webp"); --bc: url("/images/ui/sec-c.webp"); --br: url("/images/ui/sec-r.webp"); --hop: .6; --aop: .3; }
.ace-btn--plain { --bl: url("/images/ui/ter-l.webp"); --bc: url("/images/ui/ter-c.webp"); --br: url("/images/ui/ter-r.webp"); --hop: .35; --aop: .45; --hbg: rgb(var(--n700)); --hblend: normal; --abg: var(--bg); }
.ace-btn--royal { --bl: url("/images/ui/psim-l.webp"); --bc: url("/images/ui/psim-c.webp"); --br: url("/images/ui/psim-r.webp"); --bs: 12px; --shift: 2px; --tg: var(--grad-100); --hop: .4; --aop: .4; --px: 45px; --hrad: 5px; }
.ace-btn--royal:hover { box-shadow: 0 0 10px rgb(var(--br150) / .6); }
/* sizes */
.ace-btn--l { --bs: 30px; --mh: 80px; --fs: 28px; --px: 40px; --rad: 16px; --hin: 6px; --hrad: 12px; }
.ace-btn--m { --bs: 21px; --mh: 56px; --fs: 18px; --px: 24px; --rad: 11px; --hin: 4px; --hrad: 9px; }
.ace-btn--s { --bs: 18px; --mh: 48px; --fs: 18px; --px: 24px; --rad: 10px; --hin: 4px; --hrad: 7px; }
.ace-btn--xs { --bs: 14px; --mh: 36px; --fs: 14px; --px: 16px; --rad: 7px; --hin: 3px; --hrad: 5px; gap: 6px; min-width: 36px; }
.ace-btn--xxs { --bs: 14px; --mh: 36px; --fs: 12px; --px: 12px; --rad: 7px; --hin: 3px; --hrad: 5px; gap: 6px; min-width: 36px; }
.ace-btn--royal.ace-btn--l, .ace-btn--royal.ace-btn--m { --bl: url("/images/ui/prim-l.webp"); --bc: url("/images/ui/prim-c.webp"); --br: url("/images/ui/prim-r.webp"); --px: 45px; }
.ace-btn--royal.ace-btn--l { --bs: 113px; --px: 80px; --hin: 12px 11px 14px; --rad: 19px; --hrad: 12px; padding-block: 14px 18px; }
.ace-btn--royal.ace-btn--m { --bs: 71px; --hin: 8px 7px 10px; --rad: 13px; --hrad: 8px; padding-block: 14px 18px; }
.ace-btn--royal.ace-btn--s { --bs: 12px; --px: 45px; }
.ace-btn--royal.ace-btn--xs, .ace-btn--royal.ace-btn--xxs { --bs: 9px; --px: 16px; }
.ace-btn__arrows { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.ace-btn__arrows::before, .ace-btn__arrows::after { content: ""; position: absolute; top: 10px; bottom: 12px; width: 63px; background-position: center; background-size: contain; background-repeat: no-repeat; mix-blend-mode: overlay; }
.ace-btn__arrows::before { left: 11px; background-image: url("/images/ui/arrows-l.svg"); }
.ace-btn__arrows::after { right: 11px; background-image: url("/images/ui/arrows-r.svg"); }
.ace-btn--l .ace-btn__arrows::before, .ace-btn--l .ace-btn__arrows::after { top: 12px; bottom: 18px; width: 90px; }
.ace-btn--l .ace-btn__arrows::before { left: 15px; }
.ace-btn--l .ace-btn__arrows::after { right: 15px; }
.ace-btn--full { width: 100%; }
/* main-banner CTA (stb .button--cta.button--primary.button--l): green plate with gold frame – 3 slices 113px (cta-*.webp 452x320 → 80px tall,
   plate 71px visible) + hover/active texture layers; element 318x80, font 28, padding 14/18 like the original.
   Decor (all on one 7s clock, delay 1.5s, exactly like stb): .ace-btn__anim – animated dotted chevrons (primary-arrows svg, overlay blend),
   .ace-btn__shine – diagonal white sweep masked by the plate silhouette (cta-mask-*), .ace-btn__shadow – drop shadow + yellow glow pulse, button-scale 1.035 */
.ace-btn--jackpot { --bl: url("/images/ui/cta-l.webp"); --bc: url("/images/ui/cta-c.webp"); --br: url("/images/ui/cta-r.webp"); --bs: 113px; --shift: 2px; --mh: 80px; --fs: 28px; --px: 80px; --rad: 19px; --hin: 0; --hrad: 12px; --tg: var(--grad-100); --hop: 1; --aop: 1; --hblend: normal;
  --ai: 15px; --at: 12px; --ab: 18px; --aw: 110px; --si: 4px 5px; --sr: 16px; --cta-sh: 0 5px 5px 0 rgb(var(--black) / .25);
  min-width: 318px; padding-block: 14px 18px; box-shadow: none; animation: button-scale 7s ease-in-out 1.5s infinite; }
.ace-btn--jackpot::before, .ace-btn--jackpot::after { background-color: transparent; background-position: center, left center, right center; background-size: calc(100% - (var(--bs) * 2 - var(--shift))) 100%, var(--bs) 100%, var(--bs) 100%; background-repeat: no-repeat; mix-blend-mode: normal; }
.ace-btn--jackpot::before { background-image: url("/images/ui/cta-c-h.webp"), url("/images/ui/cta-l-h.webp"), url("/images/ui/cta-r-h.webp"); }
.ace-btn--jackpot::after { background-image: url("/images/ui/cta-c-a.webp"), url("/images/ui/cta-l-a.webp"), url("/images/ui/cta-r-a.webp"); }
.ace-btn--jackpot:hover { box-shadow: none; }
.ace-btn--jackpot:hover .ace-btn__t { transform: translateY(-1px); }
.ace-btn--jackpot:active .ace-btn__t { transform: translateY(1px); }
.ace-btn--jackpot .ace-btn__t { transition: transform .2s; }
/* size m of the CTA (stb .button--cta.button--m: 56px, slices 71px, font 18, min-width 318 on desktop) */
.ace-btn--jackpot.ace-btn--m { --bs: 71px; --mh: 56px; --fs: 18px; --px: 45px; --rad: 13px; --hrad: 8px; --ai: 11px; --at: 10px; --ab: 12px; --aw: 58px; --si: 3px; --sr: 8px; min-width: 318px; }
/* animated dotted chevrons: two items (left/right), each with 2 layers (::before current, ::after incoming) */
.ace-btn__anim { position: absolute; left: var(--ai); right: var(--ai); top: var(--at); bottom: var(--ab); overflow: hidden; mix-blend-mode: overlay; pointer-events: none; }
.ace-btn__anim-i { position: absolute; top: 0; bottom: 0; z-index: -1; width: var(--aw); }
.ace-btn__anim-i::before, .ace-btn__anim-i::after { content: ""; position: absolute; inset: 0; background-image: var(--au); background-position: var(--ap, 50%) 50%; background-size: contain; background-repeat: no-repeat; animation-duration: 7s; animation-timing-function: linear; animation-delay: 1.5s; animation-iteration-count: infinite; will-change: transform; }
.ace-btn__anim-i--l { --ap: 0; --au: url("/images/ui/arrows-l.svg"); left: 0; }
.ace-btn__anim-i--l::before { animation-name: arrow-left-1-move; }
.ace-btn__anim-i--l::after { transform: translate3d(-100%, 0, 0); animation-name: arrow-left-2-move; }
.ace-btn__anim-i--r { --ap: 100%; --au: url("/images/ui/arrows-r.svg"); right: 0; }
.ace-btn__anim-i--r::before { animation-name: arrow-right-1-move; }
.ace-btn__anim-i--r::after { transform: translate3d(100%, 0, 0); animation-name: arrow-right-2-move; }
/* diagonal shine sweep, clipped to the plate by the mask slices */
.ace-btn__shine { position: absolute; inset: 0; z-index: 1; container-type: inline-size; pointer-events: none; -webkit-mask-image: url("/images/ui/cta-mask-c.webp"), url("/images/ui/cta-mask-l.webp"), url("/images/ui/cta-mask-r.webp"); mask-image: url("/images/ui/cta-mask-c.webp"), url("/images/ui/cta-mask-l.webp"), url("/images/ui/cta-mask-r.webp"); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center, left center, right center; mask-position: center, left center, right center; -webkit-mask-size: calc(100% - (var(--bs) * 2 - var(--shift))) 100%, var(--bs) 100%, var(--bs) 100%; mask-size: calc(100% - (var(--bs) * 2 - var(--shift))) 100%, var(--bs) 100%, var(--bs) 100%; }
.ace-btn__shine::before { content: ""; position: absolute; left: 0; top: 0; width: 40px; height: 170%; background: linear-gradient(90deg, transparent 0%, rgb(var(--white)) 50%, transparent 100%); transform: translateX(-5cqw) translateX(-100%) translateY(-25%) rotate(-35deg); animation: shine-move 7s linear infinite 1.5s; }
/* drop shadow / glow carrier (inset to the plate) */
.ace-btn__shadow { position: absolute; inset: var(--si); border-radius: var(--sr); pointer-events: none; }
.ace-btn__shadow::before, .ace-btn__shadow::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; }
.ace-btn__shadow::before { box-shadow: var(--cta-sh); animation: cta-glow-rest 7s linear 1.5s infinite; }
.ace-btn__shadow::after { box-shadow: 0 0 25px 0 rgb(var(--y300) / 1); opacity: 0; animation: cta-glow-lit 7s linear 1.5s infinite; }
/* stb animates the shadow through an (unregistered) custom property → it flips discretely at 3% / 28% and the .2s transition smooths it;
   here the same result is keyframed directly on the shadow element (inherited animated custom properties update late in Chromium) */
@keyframes button-scale { 0% { transform: scale(1); } 6% { transform: scale(1.035); } 25% { transform: scale(1.035); } 31% { transform: scale(1); } 100% { transform: scale(1); } }
@keyframes cta-glow-rest { 0%, 3% { opacity: 1; } 6%, 28% { opacity: 0; } 31%, 100% { opacity: 1; } }
@keyframes cta-glow-lit { 0%, 3% { opacity: 0; } 6%, 28% { opacity: 1; } 31%, 100% { opacity: 0; } }
@keyframes shine-move { 0%, 9% { transform: translateX(-5cqw) translateX(-100%) translateY(-25%) rotate(-35deg); opacity: 0; } 10%, 18% { opacity: 1; } 19%, 100% { transform: translateX(120cqw) translateX(-100%) translateY(-25%) rotate(-35deg); opacity: 0; } }
@keyframes arrow-left-1-move { 0% { opacity: 1; transform: translateZ(0) scale(1); } 5% { opacity: 1; transform: translate3d(-10px, 0, 0) scaleX(.8); } 6% { opacity: 1; } 7% { opacity: .55; } 13% { opacity: 0; transform: translate3d(110%, 0, 0) scale(2); } 15% { transform: translate3d(-100%, 0, 0) scale(1); } 20% { opacity: 1; transform: translate3d(-100%, 0, 0) scale(1); } 22% { opacity: 1; transform: translate3d(8px, 0, 0) scale(1); } 25%, 56% { opacity: 1; transform: translateZ(0) scale(1); } 57%, 100% { opacity: 1; transform: translateZ(0) scale(1); } }
@keyframes arrow-left-2-move { 0%, 9% { opacity: 1; transform: translate3d(-100%, 0, 0) scale(1); } 11% { opacity: 1; transform: translate3d(8px, 0, 0) scale(1); } 13% { opacity: 1; transform: translate3d(-10px, 0, 0) scaleX(.8); } 15% { opacity: 1; transform: translate3d(-10px, 0, 0) scaleX(.8); } 20% { opacity: .55; } 24% { opacity: 0; transform: translate3d(110%, 0, 0) scale(2); } 25%, 86% { opacity: 0; transform: translate3d(-100%, 0, 0) scale(1); } }
@keyframes arrow-right-1-move { 0% { opacity: 1; transform: translateZ(0) scale(1); } 5% { opacity: 1; transform: translate3d(10px, 0, 0) scaleX(.8); } 6% { opacity: 1; } 7% { opacity: .55; } 13% { opacity: 0; transform: translate3d(-110%, 0, 0) scale(2); } 15% { transform: translate3d(100%, 0, 0) scale(1); } 20% { opacity: 1; transform: translate3d(100%, 0, 0) scale(1); } 22% { opacity: 1; transform: translate3d(-8px, 0, 0) scale(1); } 25%, 56% { opacity: 1; transform: translateZ(0) scale(1); } 57%, 100% { opacity: 1; transform: translateZ(0) scale(1); } }
@keyframes arrow-right-2-move { 0%, 9% { opacity: 1; transform: translate3d(100%, 0, 0) scale(1); } 11% { opacity: 1; transform: translate3d(-8px, 0, 0) scale(1); } 13% { opacity: 1; transform: translate3d(10px, 0, 0) scaleX(.8); } 14% { opacity: 1; transform: translate3d(10px, 0, 0) scaleX(.8); } 20% { opacity: .55; } 24% { opacity: 0; transform: translate3d(-110%, 0, 0) scale(2); } 25%, 86% { opacity: 0; transform: translate3d(100%, 0, 0) scale(1); } }
/* tabs/pills (category / provider / lang) */
.suit-tab { position: relative; z-index: 1; display: inline-grid; grid-auto-flow: column; align-items: center; gap: 4px; min-height: 32px; padding: 5px 7px; border: 1px solid rgb(var(--n800)); border-radius: 4px; font-size: 14px; font-weight: 500; text-transform: uppercase; white-space: nowrap; color: var(--text-2); background: var(--grad-60); box-shadow: var(--tab-shadow); cursor: pointer; transition: color .2s, border-color .2s; }
.suit-tab:hover { color: var(--text); border-color: rgb(var(--n700)); }

/* ---------- Header (64px gradient-50, logo 125x42, search 300x48, log in / register) + nav bar (32px, 14px links with underline on hover, dropdown tiles) ---------- */
.dealer-bar { position: fixed; top: 0; left: 0; right: 0; z-index: 60; }
.dealer-bar__inner { position: relative; display: flex; align-items: center; gap: 8px; height: var(--hdr-h); padding: 8px 20px 8px 28px; background: var(--grad-50); }
.deck-menu { display: none; }
.ace-logo { display: inline-flex; align-items: center; flex: 0 0 auto; }
.ace-logo img { width: 125px; height: 42px; }
.dealer-bar__spacer { flex: 1 1 auto; }
.card-search { position: relative; display: flex; align-items: center; gap: 8px; width: 300px; height: 48px; padding: 0 15px; border: 1px solid var(--bg-3); border-radius: 8px; color: var(--text-2); font-family: var(--font); font-weight: 500; font-size: 16px; line-height: 1.2; background: var(--bg-3); box-shadow: 0 3px 3px rgb(var(--n1000)), 0 1px 1px rgb(var(--black) / .4), 0 -4px 2px rgb(var(--white) / .05) inset; cursor: pointer; white-space: nowrap; overflow: hidden; transition: background-color .2s; }
.card-search:hover { background-color: var(--bg-c1); }
.card-search > * { position: relative; z-index: 1; }
.card-search svg { width: 16px; height: 16px; flex: 0 0 auto; color: var(--text-2); }
.card-search__ico { display: inline-flex; width: 16px; height: 16px; flex: 0 0 auto; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5L21 21'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5L21 21'/%3E%3C/svg%3E") center / contain no-repeat; }
.dealer-bar__actions { display: flex; align-items: center; gap: 8px; }
.dealer-bar__actions .ace-btn { --px: 24px; }
.dealer-bar__login-m, .dealer-bar__reg-m { display: none; }
/* nav bar */
.suit-nav { display: flex; justify-content: space-between; width: 100%; height: var(--nav-h); padding: 0 20px; border-top: 1px solid var(--bg-3); border-bottom: 1px solid var(--bg-c1); background: var(--bg); }
.suit-nav__list { display: flex; align-items: center; gap: 4px; }
.suit-nav__item { position: relative; }
.suit-nav__link { position: relative; display: block; height: 32px; padding: 8px; font-size: 14px; font-weight: 500; line-height: 1.2; white-space: nowrap; color: var(--link); cursor: pointer; transition: color .2s; }
.suit-nav__link > span { position: relative; display: inline-block; }
.suit-nav__link > span::after { content: ""; position: absolute; left: 0; bottom: -8px; width: 100%; height: 2px; border-radius: 4px 4px 0 0; background: rgb(var(--br100)); opacity: 0; transition: opacity .2s; }
.suit-nav__item:hover .suit-nav__link { color: rgb(var(--br100)); }
.suit-nav__item:hover .suit-nav__link > span::after { opacity: 1; }
.suit-nav__link.is-dealt { color: var(--accent); }
.suit-nav__link.is-dealt > span::after { opacity: 1; background: rgb(var(--br150)); }
.suit-nav__flag { display: flex; align-items: center; justify-content: center; }
.suit-nav__flag img { width: 16px; height: 16px; border-radius: 2px; object-fit: cover; }
/* dropdown (desktop hover): full-width dark strip with 100x100 tiles */
.suit-nav__drop { position: fixed; top: calc(var(--hdr-h) + var(--nav-h)); left: 0; right: 0; z-index: 70; display: flex; justify-content: center; gap: 12px; padding: 12px; border-radius: 0 0 8px 8px; background: var(--grad-25); box-shadow: 0 2px 4px rgb(var(--black) / .4); opacity: 0; visibility: hidden; transition: opacity .1s ease, visibility .1s; }
.suit-nav__item:hover .suit-nav__drop { opacity: 1; visibility: visible; }
.quick-card { position: relative; z-index: 1; display: flex; flex: 0 0 100px; flex-direction: column; justify-content: center; align-items: center; gap: 2px; height: 100px; padding: 6px 4px 7px; border: 1px solid rgb(var(--n800)); border-radius: 8px; color: var(--text-2); background: var(--grad-60); box-shadow: 0 0 0 1px rgb(var(--n1000)) inset, 0 0 0 2px rgb(var(--n950)) inset; cursor: pointer; transition: scale .2s ease, color .2s; }
.quick-card::before, .quick-card::after { content: ""; position: absolute; inset: 1px; z-index: -1; border-radius: 6px; transition: opacity .2s; pointer-events: none; }
.quick-card::before { border: 1px solid rgb(var(--n950)); background: var(--grad-440); opacity: 0; }
.quick-card::after { height: 45%; border: 1px solid rgb(var(--white)); border-bottom: 0; border-radius: 6px 6px 0 0; opacity: .2; -webkit-mask: linear-gradient(#fff, transparent); mask: linear-gradient(#fff, transparent); }
.quick-card:hover { color: var(--accent); scale: 1.02; }
.quick-card:hover::before { opacity: 1; }
.quick-card:hover::after { opacity: .4; }
.quick-card__icon { display: flex; justify-content: flex-end; align-items: flex-end; flex: 1 1 auto; }
.quick-card__icon img { width: 40px; height: 40px; object-fit: contain; transform-origin: bottom; transition: transform .2s; }
.quick-card:hover .quick-card__icon img { transform: scale(1.18); }
.quick-card__text { display: flex; align-items: center; justify-content: center; height: 28px; font-size: 12px; font-weight: 700; line-height: 1.2; text-align: center; text-transform: uppercase; }
.quick-card--bg { justify-content: flex-start; }
.quick-card--bg .quick-card__text { position: relative; z-index: 1; }
.quick-card__img { position: absolute; inset: 1px; z-index: -1; width: calc(100% - 2px); height: calc(100% - 2px); border-radius: 6px; object-fit: cover; }

/* ---------- Mobile category strip (sticky under the header) ---------- */
.mini-suits { display: none; }

/* ---------- Main ---------- */
.card-room { padding-top: calc(var(--hdr-h) + var(--nav-h)); }
.deck-wrap { margin: 0; }
.table-frame { width: 100%; max-width: 1920px; margin: 0 auto; padding: 0 var(--pad); }
.room-page { display: grid; grid-template-columns: minmax(0, 1fr); row-gap: var(--row-gap); padding: 16px 0 32px; }

/* ---------- Main banner (1920x500 frame: 1px stroke + 3px padding, 1912x492 media, text column on the left) ---------- */
.showdown { margin-top: 16px; }
.showdown .table-frame { padding: 0; }
.show-reel { --col: 680px; --hpad: 28px; position: relative; max-width: 1920px; margin: 0 auto; padding: 3px; border: 1px solid rgb(var(--n800)); border-radius: 12px; background: var(--bg); }
.show-reel__track { position: relative; display: grid; overflow: hidden; border-radius: 10px; }
.show-slide { grid-area: 1 / 1; position: relative; display: grid; grid-template-columns: var(--col) 1fr; overflow: hidden; opacity: 0; visibility: hidden; transition: opacity .5s ease, visibility .5s; }
.show-slide.is-dealt { opacity: 1; visibility: visible; z-index: 1; }
.show-slide__media { grid-area: 1 / 1 / -1 / -1; position: relative; overflow: hidden; }
.show-slide__media::before { content: ""; display: block; aspect-ratio: 1912 / 492; }
.show-slide__media picture, .show-slide__media img, .show-slide__media video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.show-slide__media video { z-index: 1; background: var(--bg-2); }
.show-slide__inner { grid-area: 1 / 1; position: relative; z-index: 2; display: grid; align-content: center; justify-items: center; gap: 32px; padding: 41px var(--hpad) 39px; text-align: center; }
.show-slide__inner::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgb(var(--n1000)) 0%, rgb(var(--n1000) / .4) 75%, transparent 100%); pointer-events: none; }
.show-slide__card { position: relative; display: grid; gap: 16px; justify-items: center; }
.show-slide__label { position: relative; display: inline-flex; justify-content: center; align-items: center; min-height: 18px; padding: 0 10px; border-style: solid; border-width: 0; border-image-source: url("/images/ui/title-decor.webp"); border-image-slice: 18 60 fill; border-image-width: 9px 30px; font-size: 14px; font-weight: 700; line-height: 1.2; text-shadow: 0 0 3px rgb(var(--white) / .7); text-transform: uppercase; color: rgb(var(--n900)); filter: drop-shadow(0 2px 2px rgb(var(--black) / .25)); }
.show-slide__title { --fs: 48px; position: relative; max-width: 560px; font-size: var(--fs); font-weight: 900; font-style: italic; line-height: 1; text-align: center; text-transform: uppercase; text-wrap: balance; text-shadow: var(--tshadow); color: #fff; }
.show-slide__action { position: relative; display: grid; gap: 8px; justify-items: center; }
.show-reel__nav { position: absolute; left: 16px; right: 16px; top: 50%; z-index: 3; display: flex; justify-content: space-between; transform: translateY(-50%); pointer-events: none; }
.show-reel__arrow { pointer-events: auto; display: flex; justify-content: center; align-items: center; width: 36px; height: 36px; border: 0; border-radius: 50%; color: var(--text); background: transparent; filter: drop-shadow(0 1px rgb(var(--black))); cursor: pointer; transition: color .2s; }
.show-reel__arrow:hover { color: var(--accent); }
.show-reel__arrow svg { width: 24px; height: 24px; }
.show-reel__dots { position: absolute; left: 0; bottom: 34px; z-index: 3; display: flex; justify-content: center; align-items: center; width: var(--col); pointer-events: none; }
.show-reel__dot { position: relative; display: flex; padding: 8px 5px; border: 0; background: transparent; cursor: pointer; pointer-events: auto; }
.show-reel__dot::before, .show-reel__dot::after { content: ""; display: block; width: 15px; height: 4px; background: url("/images/ui/dot.webp") center / contain no-repeat; filter: drop-shadow(0 1px 0 rgb(var(--black))); transition: opacity .2s; }
.show-reel__dot::after { position: absolute; inset: 0; margin: auto; background-image: url("/images/ui/dot-active.webp"); opacity: 0; }
.show-reel__dot:hover::before { opacity: .7; }
.show-reel__dot.is-dealt::after { opacity: 1; }

/* ---------- Rows ---------- */
.card-row { position: relative; min-width: 0; }
.card-row--games + .card-row--games { margin-top: var(--row-gap); }
.card-row__head { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px; margin-bottom: 10px; }
.card-row__title { display: flex; align-items: center; min-height: 20px; font-size: 20px; font-weight: 900; font-style: italic; line-height: 1; text-transform: uppercase; color: var(--text); }
.card-row__divider { display: none; }
.card-row__more { display: flex; align-items: center; gap: 8px; justify-self: end; }
.card-row__link { display: inline-flex; align-items: center; gap: 4px; margin-left: auto; font-size: 14px; font-weight: 500; line-height: 1.4; color: var(--text); cursor: pointer; white-space: nowrap; transition: color .2s; }
.card-row__link:hover { color: var(--accent); }
.card-row__link svg { display: none; width: 16px; height: 16px; }
.card-row__arrows { display: flex; gap: 8px; }
.card-row__arrow { display: flex; justify-content: center; align-items: center; width: 20px; height: 20px; padding: 0; border: 0; color: var(--text); background: transparent; filter: drop-shadow(0 1px rgb(var(--black))); cursor: pointer; transition: color .2s; }
.card-row__arrow:hover { color: var(--accent); }
.card-row__arrow:disabled { color: rgb(var(--n850)); cursor: default; }
.card-row__arrow svg { width: 16px; height: 16px; }
.deal-lane { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols)); gap: var(--gap); overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-padding: 4px; margin: -10px -4px -10px; padding: 10px 4px 10px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.deal-lane::-webkit-scrollbar { display: none; }
.deal-lane > * { scroll-snap-align: start; }
.deal-lane.is-being-shuffled { cursor: grabbing; scroll-snap-type: none; }
.deal-lane.is-being-shuffled > * { pointer-events: none; }
.deal-lane--ranked { --cols: var(--cols-rank); --gap: var(--gap-rank); margin-bottom: -22px; padding-bottom: 22px; }
.deal-lane--wide { --cols: var(--cols-wide); }

/* ---------- Game tile (thumbnail: 2px spacer + 1px outer stroke, inner gradient stroke, bottom fade; hover: blurred glitter + round play + Demo) ---------- */
.game-hand-card { position: relative; display: grid; aspect-ratio: 2 / 3; width: 100%; border: var(--tile-sp) solid var(--bg); border-radius: var(--tile-r); box-shadow: 0 0 0 1px rgb(var(--n800)); color: var(--text); background: var(--bg); isolation: isolate; }
.game-hand-card--wide { aspect-ratio: 3 / 2; }
.game-hand-card__pic { position: absolute; inset: 0; z-index: 0; display: block; overflow: hidden; border-radius: calc(var(--tile-r) - var(--tile-sp)); background: var(--bg) url("/images/ui/picture-load.webp") center / 41px 45px no-repeat; }
.game-hand-card__pic img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.game-hand-card__pic::before { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; background: linear-gradient(rgb(var(--black) / 0) 77%, rgb(var(--black) / .6)); pointer-events: none; }
.game-hand-card__pic::after { content: ""; position: absolute; inset: 0; z-index: 2; padding: var(--tile-sp); border-radius: inherit; background: var(--stroke-grad); -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; }
.game-hand-card__frame { display: none; }
.game-hand-card__badge { position: absolute; left: 50%; top: -6px; z-index: 4; display: flex; align-items: center; height: 18px; padding: 1px 7px; border: 1px solid transparent; border-radius: 30px; transform: translateX(-50%); font-size: 12px; font-weight: 700; line-height: 1.2; text-shadow: 0 1px 0 rgb(var(--black) / .7); text-transform: uppercase; white-space: nowrap; color: #fff; background: var(--label-new) padding-box, var(--label-new-border) border-box; box-shadow: 0 1px 2px rgb(var(--black) / .7); transition: opacity .2s; pointer-events: none; }
.game-hand-card--wide .game-hand-card__badge { left: auto; right: 4px; top: 4px; transform: none; }
.game-hand-card__dnw { position: absolute; left: 0; top: 0; z-index: 4; width: 44px; height: 44px; border-top-left-radius: calc(var(--tile-r) - var(--tile-sp)); background: url("/images/ui/dropnwin.svg") center / contain no-repeat; pointer-events: none; }
.game-hand-card__jackpot { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; display: flex; justify-content: center; align-items: center; min-height: 22px; padding: 1px 4px; border-top: 1px solid rgb(var(--n700)); border-radius: 0 0 calc(var(--tile-r) - var(--tile-sp)) calc(var(--tile-r) - var(--tile-sp)); font-size: 14px; font-weight: 700; font-variant-numeric: lining-nums tabular-nums; line-height: 1.4; text-align: center; text-shadow: 0 1px 0 rgb(var(--black) / .7); color: #fff; background: var(--label-new); transition: opacity .2s; pointer-events: none; }
/* live tables: results plate (green, overhangs the bottom by 7px), seats badge, bet range label centred on the bottom edge */
.game-hand-card__live { position: absolute; inset: 0; z-index: 3; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; pointer-events: none; transition: opacity .2s; }
.game-hand-card__results { position: absolute; left: 0; right: 0; bottom: -7px; z-index: 1; display: grid; grid-template-columns: repeat(auto-fit, 20px); grid-template-rows: 20px; grid-auto-rows: 0; justify-content: center; align-content: start; gap: 0 4px; overflow: hidden; height: 42px; padding: 5px 10px 0; border-top: 1px solid rgb(var(--g950)); border-radius: 0 0 10px 10px; background: var(--live-grad); }
.game-hand-card__results span { display: flex; justify-content: center; align-items: center; overflow: hidden; width: 20px; height: 100%; border-radius: 50%; font-size: 12px; font-weight: 700; line-height: 1.4; text-shadow: 0 1px 0 rgb(var(--black) / .7); color: #fff; background: rgb(var(--black)); }
.game-hand-card__results span.is-suit-red { background: #c7102e; }
.game-hand-card__results span.is-zero-green { background: #0f9d3a; }
.game-hand-card__results span:nth-child(n+8) { display: none; }
.game-hand-card--wide .game-hand-card__results span:nth-child(n+8) { display: flex; }
.game-hand-card--wide .game-hand-card__results span:nth-child(n+14) { display: none; }
.game-hand-card__seats { position: relative; z-index: 2; display: inline-flex; align-items: center; gap: 4px; height: 23px; margin-bottom: 8px; padding: 2px 6px; border-radius: 4px; font-size: 16px; font-weight: 700; line-height: 1.2; text-shadow: 0 1px 0 rgb(var(--black) / .7); color: #fff; background: var(--grad-80); }
.game-hand-card__seats::before { content: ""; display: inline-block; width: 16px; height: 16px; background: rgb(var(--g600)); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M2 20c0-4 3-7 7-7s7 3 7 7z'/%3E%3Ccircle cx='17' cy='8' r='3'/%3E%3Cpath d='M15 13.3c3 .4 6 2.9 6 6.7h-4.2c0-2.6-.7-4.9-1.8-6.7z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M2 20c0-4 3-7 7-7s7 3 7 7z'/%3E%3Ccircle cx='17' cy='8' r='3'/%3E%3Cpath d='M15 13.3c3 .4 6 2.9 6 6.7h-4.2c0-2.6-.7-4.9-1.8-6.7z'/%3E%3C/svg%3E") center / contain no-repeat; }
.game-hand-card__seats.is-table-full::before { background: rgb(var(--red600)); }
.game-hand-card__limits { position: relative; z-index: 2; display: flex; justify-content: center; align-items: center; height: 21px; max-width: calc(100% - 8px); margin: 0 4px -8px; padding: 2px 3px; border: 1px solid transparent; border-radius: 4px; font-size: 12px; font-weight: 700; line-height: 1.4; text-shadow: 0 1px 0 rgb(var(--black) / .7); white-space: nowrap; color: #fff; background: var(--grad-325) padding-box, linear-gradient(rgb(var(--n500)) 7%, rgb(var(--n800))) border-box; }
/* hover */
.game-hand-card__hover { position: absolute; inset: 0; z-index: 5; display: grid; justify-content: center; align-content: end; justify-items: center; gap: 16px; padding-block: 20px; border-radius: calc(var(--tile-r) - var(--tile-sp)); opacity: 0; background: linear-gradient(rgb(var(--br160) / .2), rgb(var(--n1000) / .2)), radial-gradient(rgb(var(--n1000) / 0), rgb(var(--n1000) / .8) 65%, rgb(var(--n1000))); -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); transition: opacity .2s; pointer-events: none; }
.game-hand-card__hover::before { content: ""; position: absolute; inset: 0; border-radius: inherit; opacity: .3; pointer-events: none; }
.game-hand-card__hover::after { content: ""; position: absolute; inset: 0; padding: var(--tile-sp); border-radius: inherit; background: var(--grad-210); -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; }
.game-hand-card__play { position: absolute; top: 50%; left: 50%; z-index: 1; display: flex; justify-content: center; align-items: center; width: 72px; height: 72px; border-radius: 50%; background: rgb(var(--n1000) / .6) url("/images/ui/play.webp") center / contain no-repeat; transform: translate(-50%, -50%); pointer-events: all; }
.game-hand-card__play::before { content: ""; position: absolute; inset: 4px 5px 6px; width: 62px; height: 62px; border-radius: 50%; opacity: 0; background: #fff; mix-blend-mode: overlay; transition: opacity .2s; }
.game-hand-card__play:hover::before { opacity: .4; }
.game-hand-card__play svg { position: relative; z-index: 1; width: 32px; height: 32px; margin-left: 4px; color: #fff; filter: drop-shadow(0 1px 1px rgb(var(--black) / .6)); }
.game-hand-card__demo { position: relative; z-index: 1; font-size: 14px; font-weight: 700; line-height: 1.4; color: #fff; pointer-events: all; }
.game-hand-card__demo:hover { color: var(--accent); }
.game-hand-card__name, .game-hand-card__provider { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (hover: hover) and (pointer: fine) {
  .game-hand-card:hover .game-hand-card__hover { opacity: 1; pointer-events: auto; }
  .game-hand-card:hover .game-hand-card__hover::before { background: url("/images/ui/hover-anim.webp") center / cover no-repeat; }
  .game-hand-card:hover .game-hand-card__badge, .game-hand-card:hover .game-hand-card__jackpot, .game-hand-card:hover .game-hand-card__live, .game-hand-card:hover .game-hand-card__dnw { opacity: 0; }
}
/* ranked row: big italic index behind the tile (stroked orange, dark gradient fill) */
.ranked-hand { position: relative; display: block; padding-left: var(--rank-shift); }
.hand-rank { position: absolute; left: 0; bottom: 0; z-index: 0; display: block; margin-left: calc(var(--rank-shift) - 54px + 12px); margin-bottom: -2px; font-size: 96px; font-weight: 700; font-style: italic; line-height: .85; letter-spacing: -19px; color: transparent; -webkit-text-stroke: 2px rgb(var(--br160)); paint-order: stroke fill; background: var(--grad-15); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; filter: drop-shadow(0 5px 4px rgb(var(--black) / .5)); pointer-events: none; }
.ranked-hand:first-child .hand-rank { margin-left: calc(var(--rank-shift) - 54px + 12px); }
.hand-rank--small { letter-spacing: -22px; margin-left: calc(var(--rank-shift) - 54px - 4px); }
.ranked-hand .game-hand-card { position: relative; z-index: 1; }

/* ---------- Providers (2 rows x 10 dark bevel tiles: icon 28 + name) ---------- */
.studio-chips__grid { display: grid; grid-template-rows: 1fr 1fr; grid-template-columns: repeat(10, minmax(0, 1fr)); grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 9px 8px; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; margin: -2px; padding: 2px; }
.studio-chips__grid::-webkit-scrollbar { display: none; }
.studio-chip { position: relative; z-index: 0; display: flex; flex-direction: column; align-items: center; width: 100%; aspect-ratio: 96 / 78; padding: 24.2% 4px 0; border: 1px solid rgb(var(--n800)); border-radius: 8px; font-size: 10px; font-weight: 700; line-height: 1.2; text-align: center; text-transform: uppercase; color: var(--text-2); background: var(--bg); transition: color .2s, scale .2s; cursor: pointer; }
.studio-chip::before { content: ""; position: absolute; inset: 1px; z-index: -1; border: 1px solid rgb(var(--n950)); border-radius: 7px; background: var(--grad-60); }
.studio-chip::after { content: ""; position: absolute; inset: 1px; z-index: -1; padding: 1px; border-radius: 7px; background: var(--stroke-grad); -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; }
.studio-chip__hover { position: absolute; inset: 0; z-index: -1; border: 1px solid rgb(var(--n950)); border-radius: 7px; background: var(--grad-440); opacity: 0; transition: opacity .2s; }
.studio-chip:hover { color: var(--accent); scale: 1.025; }
.studio-chip:hover .studio-chip__hover { opacity: 1; }
.studio-chip__logo { width: 28px; height: 28px; object-fit: contain; transform-origin: bottom; transition: scale .2s; }
.studio-chip:hover .studio-chip__logo { scale: 1.2; }
.studio-chip__name { display: block; margin-top: 21.3%; white-space: nowrap; }
.studio-chip__meta { display: none; }
.studio-chip--more .studio-chip__logo { color: rgb(var(--n400)); }

/* ---------- Sport (featured phone card 2x2 + 1:1 category cards on a desert texture, 7 cols x 2 rows) ---------- */
.sport-chips__grid { --cols: var(--cols-sport); --sgap: 10px; display: grid; grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); grid-auto-flow: row dense; gap: var(--sgap); overflow-x: auto; overflow-y: hidden; scrollbar-width: none; margin: -2px; padding: 2px; }
.sport-chips__grid::-webkit-scrollbar { display: none; }
.sport-chip { position: relative; display: grid; overflow: hidden; aspect-ratio: 1; padding: 2px; border-radius: 12px; background: var(--bg); cursor: pointer; }
.sport-chip::before, .sport-chip::after { content: ""; position: absolute; inset: 0; z-index: 2; border-radius: 12px; pointer-events: none; }
.sport-chip::before { border: 1px solid rgb(var(--n800)); }
.sport-chip::after { padding: 1px; background: var(--grad-210); -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; opacity: 0; transition: opacity .2s; }
.sport-chip:hover::after { opacity: 1; }
.sport-chip__pic { grid-area: 1 / 1 / -1 / -1; position: relative; overflow: hidden; border-radius: 10px; }
.sport-chip__pic::before { content: ""; position: absolute; inset: 2px; z-index: 1; padding: 2px; border-radius: 10px 10px 0 0; background: linear-gradient(#fff 0%, rgb(var(--white) / 0) 15%, rgb(var(--black) / 0) 85%, #000 100%); -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; opacity: .2; pointer-events: none; }
.sport-chip__pic img { width: 100%; height: 100%; border-radius: 10px; object-fit: cover; transition: transform .2s; }
.sport-chip:hover .sport-chip__pic img { transform: scale(1.05); }
.sport-chip__pic::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(rgb(var(--black) / 0) 80%, rgb(var(--black) / .6)); pointer-events: none; }
.sport-chip__name { grid-area: 1 / 1 / -1 / -1; z-index: 1; display: inline-flex; justify-content: center; align-items: center; align-self: end; min-height: 32px; padding: 2px 4px; font-size: 18px; font-weight: 800; line-height: 1; letter-spacing: .02em; text-align: center; text-transform: uppercase; text-wrap: balance; color: rgb(var(--n200)); background: var(--grad-150); -webkit-background-clip: text; background-clip: text; transition: color .2s; }
.sport-chip:hover .sport-chip__name { color: var(--accent); }
.sport-chip--featured { grid-row: span 2; grid-column: span 2; aspect-ratio: auto; }
.sport-chip__bg { display: none; }
.sport-chip--featured .sport-chip__pic { border-radius: 11px; background: url("/images/ui/sport-bg.webp") center / cover no-repeat; }
.sport-chip--featured .sport-chip__pic::before { display: none; }
.sport-chip--featured .sport-chip__pic::after { display: none; }
.sport-chip--featured .sport-chip__pic img { position: absolute; top: 6px; left: 16px; width: auto; max-width: 100%; height: 100%; border-radius: 0; object-fit: contain; object-position: left top; transform-origin: left top; }
.sport-chip--featured:hover .sport-chip__pic img { transform: scale(1.03); }
.sport-chip__action { grid-area: 1 / 1 / -1 / -1; position: relative; z-index: 1; display: grid; align-self: end; justify-self: start; width: 100%; padding: 35px 17px 17px; }
.sport-chip__action::after { content: ""; position: absolute; inset: 1px; z-index: -1; border-radius: 0 0 10px 10px; background: linear-gradient(transparent, rgb(var(--black))); pointer-events: none; }
.sport-chip__action .ace-btn { width: 100%; }

/* ---------- Rewards (2 wide + 3 narrow cards on the rewards texture, picture on the right) ---------- */
.prize-chips { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.prize-chip { grid-column: span 2; position: relative; display: flex; align-items: flex-end; overflow: hidden; min-height: 168px; padding: 20px 16px; border-radius: 12px; background: url("/images/ui/rewards-bg.webp") center / cover no-repeat; color: var(--text); cursor: pointer; }
.prize-chip:nth-child(1), .prize-chip:nth-child(2) { grid-column: span 3; }
.prize-chip::before, .prize-chip::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; pointer-events: none; }
.prize-chip::before { border: 1px solid rgb(var(--n800)); box-shadow: 0 0 0 1px rgb(var(--n1000)) inset; }
.prize-chip::after { padding: 1px; background: var(--grad-210); -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; opacity: 0; transition: opacity .2s; }
.prize-chip:hover::after { opacity: 1; }
.prize-chip__wrap { display: contents; }
.prize-chip__img { position: absolute; right: 2px; bottom: 2px; height: calc(100% - 4px); width: auto; object-fit: cover; object-position: right center; transform-origin: left bottom; transition: scale .2s; }
.prize-chip:hover .prize-chip__img { scale: 1.07; }
.prize-chip__content { position: relative; z-index: 1; display: grid; row-gap: 4px; max-width: 52%; text-wrap: balance; }
.prize-chip__title { font-size: 20px; font-weight: 900; font-style: italic; line-height: 1; text-shadow: var(--tshadow); text-transform: uppercase; color: #fff; transition: color .2s; }
.prize-chip:hover .prize-chip__title { color: var(--accent); }
.prize-chip__desc { font-size: 14px; line-height: 1.4; color: var(--text); }

/* ---------- Promo cards (3:4 picture, tag, name, italic title, "read more" secondary button) ---------- */
.deal-lane--bonuses { --cols: var(--cols-promo); }
.chip-offer { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr); overflow: hidden; width: 100%; height: 100%; aspect-ratio: 3 / 4; padding: 1px; border-radius: 12px; background: var(--grad-80); cursor: pointer; }
.chip-offer::after { content: ""; position: absolute; inset: 2px; height: 64px; border: 2px solid #fff; border-bottom: 0; border-radius: 10px 10px 0 0; -webkit-mask: linear-gradient(rgb(var(--white) / .4), rgb(var(--white) / 0)); mask: linear-gradient(rgb(var(--white) / .4), rgb(var(--white) / 0)); pointer-events: none; }
.chip-offer__wrap { display: contents; }
.chip-offer__media { grid-area: 1 / 1 / -1 / -1; position: relative; overflow: hidden; border-radius: 11px; background: var(--bg-2); }
.chip-offer__media img { width: 100%; height: 100%; object-fit: cover; object-position: center top; transform: scale(1); transition: transform .2s; }
.chip-offer:hover .chip-offer__media img { transform: scale(1.06); }
.chip-offer__media::before { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: 12px; opacity: 0; background: var(--grad-350); transition: opacity .2s; pointer-events: none; }
.chip-offer:hover .chip-offer__media::before { opacity: .15; }
.chip-offer__tag { position: absolute; left: 8px; top: 8px; z-index: 2; display: flex; align-items: center; height: 22px; padding: 2px 7px; border: 1px solid rgb(var(--g600)); border-radius: 30px; font-size: 12px; font-weight: 700; line-height: 1.4; text-shadow: 0 1px 0 rgb(var(--black) / .7); color: #fff; background: var(--label-casino); box-shadow: 0 1px 2px rgb(var(--black) / .7); }
.chip-offer__tag--sport { border-color: rgb(var(--blue600)); background: var(--label-sport); }
.chip-offer__body { grid-area: 1 / 1 / -1 / -1; position: relative; z-index: 1; display: grid; align-content: space-between; align-self: end; gap: 12px; padding: 20px 12px 11px; border-radius: 0 0 11px 11px; background: linear-gradient(rgb(var(--n1000) / 0), rgb(var(--n1000) / .85) 30%, rgb(var(--n1000) / .95)); }
.chip-offer__name { font-size: 14px; line-height: 1.4; color: var(--text); transition: color .2s; }
.chip-offer:hover .chip-offer__name { color: var(--accent); }
.chip-offer__title { font-size: 20px; font-weight: 900; font-style: italic; line-height: 1; text-shadow: 0 1px 2px rgb(var(--black) / .7); text-transform: uppercase; color: #fff; }
.chip-offer__amount, .chip-offer__text, .chip-offer__terms { display: none; }
.chip-offer__cta { display: grid; }
.chip-offer__cta .ace-btn { width: 100%; }
.chip-offers__terms { margin: 10px 0 0; font-size: 12px; color: var(--text-2); }

/* ---------- Special banner (shop): 1056/218 picture, text column with dark fade on the left, primary button with arrows ---------- */
.jackpot-call { position: relative; display: grid; grid-template-rows: 1fr; overflow: hidden; width: 100%; aspect-ratio: 1056 / 218; min-height: 218px; padding: 4px; border-radius: 12px; background: var(--bg); cursor: pointer; }
.jackpot-call::before, .jackpot-call::after { content: ""; position: absolute; z-index: 1; pointer-events: none; }
.jackpot-call::before { inset: 0; border: 1px solid rgb(var(--n800)); border-radius: 12px; }
.jackpot-call::after { inset: 3px; max-height: 64px; border: 2px solid transparent; border-bottom: 0; border-radius: 10px 10px 0 0; opacity: .4; background: linear-gradient(0deg, rgb(var(--white) / 0), rgb(var(--white))) border-box; -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0) border-box; mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0) border-box; -webkit-mask-composite: xor; mask-composite: exclude; }
.jackpot-call__pic { position: absolute; inset: 4px; z-index: 0; overflow: hidden; border-radius: 10px; }
.jackpot-call__pic img { width: 100%; height: 100%; object-fit: cover; }
.jackpot-call__content { position: relative; z-index: 1; grid-row: 1 / -1; display: grid; align-content: center; justify-items: center; row-gap: 32px; width: 590px; padding: 12px 56px; background: linear-gradient(90deg, rgb(var(--n1000)), rgb(var(--n1000) / .4) 70%, rgb(var(--n1000) / 0)); }
.jackpot-call__title { max-width: 100%; font-size: 48px; font-weight: 900; font-style: italic; line-height: 1; text-shadow: var(--tshadow); text-align: center; text-transform: uppercase; text-wrap: balance; color: #fff; }
.jackpot-call__btn { min-width: 320px; }
.jackpot-call__clip { display: none; }

/* ---------- All games grid (11 cols, 3 rows, bottom fade + "more games") ---------- */
.card-row--grid { position: relative; padding-bottom: 40px; }
.card-grid { display: grid; grid-template-columns: repeat(var(--cols-grid), minmax(0, 1fr)); gap: 14px var(--gap); margin: 0 -2px; padding: 0 2px; }
.card-grid::after { content: ""; position: absolute; left: -2px; right: -2px; bottom: 34px; height: 120px; background: var(--bg); -webkit-mask-image: linear-gradient(to bottom, rgb(var(--white) / 0) 0, #000 60px); mask-image: linear-gradient(to bottom, rgb(var(--white) / 0) 0, #000 60px); pointer-events: none; z-index: 5; }
.card-grid .game-hand-card:nth-child(n+34) { display: none; }
.card-grid__more { position: absolute; left: 0; right: 0; bottom: 0; z-index: 6; display: flex; justify-content: center; align-items: flex-end; }

/* ---------- SEO / content boxes (dark panels, 1px stroke, italic headings) ---------- */
.felt-panel { position: relative; margin: 16px 0 0; padding: 24px 28px 28px; border: 1px solid rgb(var(--n800)); border-radius: 12px; background: var(--bg-2); box-shadow: 0 0 0 1px rgb(var(--n1000)) inset; }
.felt-panel > *, .pocket-deck__grid > * { min-width: 0; }
.felt-panel--opener { padding: 24px 28px; }
.felt-panel--opener h1 { margin-bottom: 14px; font-size: 24px; font-weight: 900; font-style: italic; line-height: 1; text-transform: uppercase; color: #fff; }
.felt-panel--opener p { margin: 0 0 10px; font-size: 15px; font-weight: 400; line-height: 1.55; color: var(--text); }
.felt-panel--story.is-folded-hand .felt-panel__body { max-height: 120px; overflow: hidden; -webkit-mask-image: linear-gradient(180deg, #000 40%, transparent); mask-image: linear-gradient(180deg, #000 40%, transparent); }
.felt-panel__more { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; padding: 0; border: 0; background: transparent; font-family: var(--font); font-size: 14px; font-weight: 700; color: var(--text-2); cursor: pointer; transition: color .2s; }
.felt-panel__more:hover { color: var(--accent); }
.felt-panel__more svg { width: 12px; height: 12px; transition: transform .2s; }
.felt-panel--story:not(.is-folded-hand) .felt-panel__more svg { transform: rotate(180deg); }
.hand-title { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; font-size: 24px; font-weight: 900; font-style: italic; line-height: 1; text-transform: uppercase; color: #fff; }
.hand-title img, .hand-title svg { display: none; }
.hand-subtitle { margin: 22px 0 10px; font-size: 18px; font-weight: 700; text-transform: uppercase; color: var(--accent); }
.hand-lead { margin: 0 0 12px; font-size: 15px; line-height: 1.55; color: var(--text); }
.felt-panel > p.hand-lead:last-child { padding: 14px 16px; border-radius: 8px; background: var(--bg-3); box-shadow: inset 0 0 0 1px rgb(var(--n800)); }
.felt-copy p { font-size: 15px; line-height: 1.6; color: var(--text); }
.felt-copy p:last-child { margin-bottom: 0; }
.felt-copy a, .felt-panel p a { font-weight: 700; text-decoration: underline; color: var(--text); }
.felt-copy a:hover, .felt-panel p a:hover { color: rgb(var(--br200)); }
.felt-scroll { overflow-x: auto; margin: 6px 0 4px; border-radius: 8px; box-shadow: inset 0 0 0 1px rgb(var(--n800)); }
table { width: 100%; min-width: 380px; border-collapse: collapse; font-size: 14px; }
th, td { padding: 10px 12px; text-align: left; vertical-align: top; border: 1px solid rgb(var(--n800)); }
thead th { font-size: 13px; font-weight: 700; text-transform: uppercase; color: var(--accent); background: var(--bg-3); }
tbody tr:nth-child(odd) td { background: var(--bg-2); }
tbody tr:nth-child(even) td { background: rgb(var(--n960)); }
tbody td:first-child { font-weight: 700; color: #fff; }
tbody td { color: var(--text); }
.felt-note { margin: 8px 0 0; font-size: 12px; color: var(--text-2); }
.card-facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 14px 0 6px; }
.card-fact { display: flex; flex-direction: column; gap: 4px; padding: 14px; border-radius: 8px; background: var(--bg-3); box-shadow: inset 0 0 0 1px rgb(var(--n800)); }
.card-fact__value { font-size: 24px; font-weight: 900; font-style: italic; color: var(--accent); }
.card-fact__label { font-size: 12px; color: var(--text); }
.deal-steps { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 10px 0 6px; }
.deal-step { display: flex; gap: 12px; padding: 14px; border-radius: 8px; background: var(--bg-3); box-shadow: inset 0 0 0 1px rgb(var(--n800)); }
.deal-step__num { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 32px; height: 32px; border-radius: 50%; background: var(--label-new); color: #fff; font-weight: 900; font-size: 16px; text-shadow: 0 1px 0 rgb(var(--black) / .7); }
.deal-step strong { display: block; margin-bottom: 2px; font-size: 15px; font-weight: 700; color: #fff; }
.deal-step p { margin: 0; font-size: 13px; color: var(--text); }
.suit-ticks { display: flex; flex-direction: column; gap: 8px; margin: 10px 0 12px; padding: 14px 16px; border-radius: 8px; background: var(--bg-3); box-shadow: inset 0 0 0 1px rgb(var(--n800)); }
.suit-ticks li { position: relative; padding-left: 26px; font-size: 15px; color: var(--text); }
.suit-ticks li::before { content: ""; position: absolute; left: 0; top: 3px; width: 16px; height: 16px; border-radius: 50%; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 10px no-repeat, linear-gradient(rgb(var(--ac400)), rgb(var(--ac600))); }
.raise-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 18px; }
.pocket-deck__grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 24px; align-items: start; }
.pocket-deck__badges { display: flex; gap: 10px; margin-top: 6px; }
.pocket-deck__badges img { height: 40px; width: auto; border-radius: 4px; }
.pit-boss__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 14px 0 6px; }
.pit-boss__card { display: flex; flex-direction: column; gap: 6px; padding: 16px; border-radius: 8px; background: var(--bg-3); box-shadow: inset 0 0 0 1px rgb(var(--n800)); }
.pit-boss__icon { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; margin-bottom: 4px; border-radius: 50%; border: 1px solid rgb(var(--n800)); background: var(--grad-60); color: var(--accent); }
.pit-boss__icon svg { width: 20px; height: 20px; }
.pit-boss__card strong { font-size: 15px; font-weight: 700; color: #fff; }
.pit-boss__meta { font-size: 11px; color: var(--text-2); }
.pit-boss__card p { margin: 0 0 auto; font-size: 13px; color: var(--text); }
.pit-boss__card .ace-btn { align-self: flex-start; margin-top: 10px; }
.chip-cage__strip { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 4px; }
.chip-method { position: relative; display: flex; justify-content: center; align-items: center; width: 80px; height: 36px; padding: 4px 3px; border: 1px solid var(--bg-3); border-radius: 2px; background: var(--grad-50); transition: border-color .2s, background .2s; }
.chip-method:hover { border-color: var(--bg-c1); background: var(--grad-60); }
.chip-method__icon img { height: 22px; width: auto; max-width: 68px; object-fit: contain; }
.chip-method__initial { font-size: 11px; font-weight: 700; text-transform: uppercase; color: var(--text); }

/* Reviews */
.player-hands__summary { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 16px; }
.player-hands__word { font-size: 22px; font-weight: 900; font-style: italic; text-transform: uppercase; color: var(--accent); }
.player-hands__text { font-size: 13px; color: var(--text); }
.suit-stars { display: inline-flex; gap: 2px; }
.suit-star { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 3px; background: #00b67a; }
.suit-star svg { width: 14px; height: 14px; fill: #fff; }
.suit-star.is-half-suit { background: linear-gradient(90deg, #00b67a 50%, rgb(var(--n700)) 50%); }
.player-hand__rating .suit-star { width: 16px; height: 16px; }
.player-hand__rating .suit-star svg { width: 10px; height: 10px; }
.player-hands__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.player-hand { display: flex; flex-direction: column; gap: 8px; padding: 16px; border-radius: 8px; background: var(--bg-3); box-shadow: inset 0 0 0 1px rgb(var(--n800)); }
.player-hand__head { display: flex; align-items: center; gap: 10px; }
.player-hand__avatar { flex: 0 0 auto; width: 40px; height: 40px; overflow: hidden; border-radius: 50%; background: var(--bg-c1); box-shadow: 0 0 0 2px rgb(var(--n700)); }
.player-hand__avatar img { width: 100%; height: 100%; object-fit: cover; }
.player-hand__name { font-size: 14px; font-weight: 700; color: #fff; }
.player-hand__sub { font-size: 11px; color: var(--text-2); }
.player-hand__meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.player-hand__date { font-size: 11px; color: var(--text-2); }
.player-hand__title { font-size: 14px; font-weight: 700; color: var(--accent); }
.player-hand__text { margin: 0; font-size: 13px; color: var(--text); }
.player-hand__verified { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; font-size: 11px; font-weight: 700; color: rgb(var(--g600)); }
.player-hand__verified svg { width: 14px; height: 14px; }

/* FAQ */
.query-deck__list { display: flex; flex-direction: column; gap: 8px; }
.query-deck__item { overflow: hidden; border: 1px solid rgb(var(--n800)); border-radius: 8px; background: var(--grad-60); }
.query-deck__question { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; padding: 16px; border: 0; background: transparent; color: #fff; font-family: var(--font); font-size: 16px; font-weight: 700; text-align: left; cursor: pointer; transition: color .2s; }
.query-deck__question:hover { color: var(--accent); }
.query-deck__icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 20px; height: 20px; color: var(--text-2); transition: transform .2s; }
.query-deck__icon svg { width: 14px; height: 14px; }
.query-deck__item.is-face-up .query-deck__icon { transform: rotate(180deg); color: var(--accent); }
.query-deck__answer { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .25s ease; }
.query-deck__item.is-face-up .query-deck__answer { grid-template-rows: 1fr; }
.query-deck__answer-inner { overflow: hidden; min-height: 0; }
.query-deck__answer p { margin: 0; padding: 0 16px 16px; font-size: 14px; line-height: 1.5; color: var(--text); }

/* TOC */
.card-index { margin: 16px 0 0; }
.card-index__box { padding: 6px 20px; border: 1px solid rgb(var(--n800)); border-radius: 12px; background: var(--bg-2); box-shadow: 0 0 0 1px rgb(var(--n1000)) inset; }
.card-index__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; padding: 12px 0; border: 0; background: transparent; color: #fff; cursor: pointer; font-family: var(--font); font-size: 20px; font-weight: 900; font-style: italic; text-transform: uppercase; }
.card-index__title { display: inline-flex; align-items: center; gap: 8px; }
.card-index__title svg { width: 18px; height: 18px; color: var(--accent); }
.card-index__toggle { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 500; font-style: normal; text-transform: none; color: var(--text-2); }
.card-index__toggle svg { width: 12px; height: 12px; transition: transform .2s; }
.card-index.is-folded-hand .card-index__toggle svg { transform: rotate(180deg); }
.card-index__body { display: grid; grid-template-rows: 1fr; transition: grid-template-rows .25s ease; }
.card-index.is-folded-hand .card-index__body { grid-template-rows: 0fr; }
.card-index__body-inner { overflow: hidden; }
.card-index__list { display: flex; flex-wrap: wrap; gap: 8px; padding: 4px 0 14px; counter-reset: toc; }
.card-index__list li a { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 4px 12px 4px 6px; border: 1px solid rgb(var(--n800)); border-radius: 4px; background: var(--grad-60); box-shadow: var(--tab-shadow); color: var(--text-2); font-size: 14px; font-weight: 500; text-transform: uppercase; transition: color .2s, border-color .2s; }
.card-index__list li a::before { counter-increment: toc; content: counter(toc); display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; background: var(--label-new); color: #fff; font-size: 12px; font-weight: 700; text-shadow: 0 1px 0 rgb(var(--black) / .7); }
.card-index__list li a:hover { color: var(--text); border-color: rgb(var(--n700)); }
.fresh-deal { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; margin-top: 16px; padding: 12px 14px; border-radius: 8px; background: var(--bg-3); box-shadow: inset 0 0 0 1px rgb(var(--n800)); font-size: 12px; color: var(--text); }
.fresh-deal__label { font-weight: 700; color: #fff; }
.fresh-deal__icon { display: none; }
.fresh-deal__body { display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; }
.fresh-deal__badge { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 4px; background: rgb(var(--ac500) / .18); color: rgb(var(--ac150)); font-size: 11px; font-weight: 700; }
.fresh-deal__badge svg { width: 14px; height: 14px; }

/* ---------- Footer (dotted texture, help/lang buttons, logo + legal, 5 link columns, payments, bottom links) ---------- */
.table-foot { position: relative; z-index: 1; margin-top: 16px; background: url("/images/ui/footer-bg.webp") top center / 100% auto no-repeat, linear-gradient(180deg, rgb(var(--n960)), rgb(var(--n1000)) 10%), var(--bg); }
.table-foot::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(0deg, rgb(var(--n960)), rgb(var(--n750)) 9%, rgb(var(--n960))); box-shadow: 0 2px 4px rgb(var(--black) / .35), 0 1px rgb(var(--n1000)); }
.table-foot__inner { max-width: 1920px; margin: 0 auto; padding: 32px 112px 0; }
.table-foot__top { position: relative; display: flex; justify-content: center; align-items: center; gap: 12px; padding: 0 0 32px; }
.table-foot__lang, .table-foot__chat, .table-foot__help, .table-foot__app { --mh: 56px; --fs: 18px; --px: 19px; min-width: 150px; font-weight: 800; }
.table-foot__lang img, .table-foot__help img, .table-foot__chat img { width: 24px; height: 24px; border-radius: 2px; object-fit: cover; }
.table-foot__help svg, .table-foot__chat svg, .table-foot__app svg { width: 24px; height: 24px; }
.table-foot__ico { display: inline-flex; width: 24px; height: 24px; align-items: center; justify-content: center; }
.table-foot__app, .table-foot__chat { display: none; }
.table-foot__body { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 32px 40px; padding: 32px 0 20px; border-top: 1px solid var(--bg-3); }
.table-foot__brand { display: grid; align-content: start; justify-items: start; gap: 16px; }
.table-foot__brand .table-foot__logo img { width: 95px; height: 32px; }
.table-foot__legal { font-size: 12px; font-weight: 400; line-height: 1.5; color: var(--text-3); }
.table-foot__legal p { margin: 0 0 4px; }
.table-foot__18 { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 2px solid rgb(var(--n100)); border-radius: 50%; font-size: 14px; font-weight: 700; color: rgb(var(--n100)); }
.table-foot__cols { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0 40px; padding-bottom: 32px; }
.table-foot__col .table-foot__col-title { margin: 0 0 20px; font-size: 14px; font-weight: 700; line-height: 1.4; color: var(--text); }
.table-foot__col ul { display: flex; flex-direction: column; gap: 20px; }
.table-foot__col a, .table-foot__col span { display: inline-block; font-size: 14px; font-weight: 500; line-height: 1.4; color: var(--text); cursor: pointer; transition: color .2s; }
.table-foot__col a:hover, .table-foot__col span:hover { color: var(--accent); }
.table-foot__pay { position: relative; display: flex; flex-direction: column; align-items: center; gap: 20px; padding: 20px 0; border-top: 1px solid var(--bg-3); border-bottom: 1px solid var(--bg-3); }
.table-foot__pay-row { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 0; }
.table-foot__pay-row .chip-method { width: 128px; height: 56px; margin: 6px; padding: 10px 14px; border-radius: 8px; }
.table-foot__pay-row .chip-method .chip-method__icon img { height: 32px; max-width: 100px; }
.table-foot__pay-row .chip-method--more { width: 128px; }
.table-foot__pay-row .chip-method--more .chip-method__initial { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 700; text-transform: none; color: var(--text-3); }
.table-foot__pay-row .chip-method--more svg { width: 16px; height: 16px; }
.table-foot__pay-row .chip-method--more:hover .chip-method__initial { color: var(--accent); }
.table-foot__badges { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 14px 26px; padding: 6px 0 18px; }
.table-foot__badges img { display: block; height: 36px; width: auto; }
.table-foot__badges a img[src*="gambleaware"] { height: 20px; }
.table-foot__badges a img[src*="gordon-moody"] { height: 32px; }
.table-foot__badges [role="button"] { cursor: pointer; }
.table-foot__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 32px; padding: 32px 0 40px; }
.table-foot__links a, .table-foot__links span { font-size: 14px; font-weight: 700; text-transform: uppercase; color: var(--text-3); cursor: pointer; transition: color .2s; }
.table-foot__links a:hover, .table-foot__links span:hover { color: var(--accent); }
.house-rights { display: none; }
.social-suits { display: none; }

/* Bottom mobile navigation */
.dealer-dock { display: none; }

/* Promo bar (desktop, appears after scrolling) */
.offer-banner { position: fixed; left: 50%; bottom: 14px; z-index: 70; width: min(1180px, calc(100% - 24px)); transform: translate(-50%, 140%); transition: transform .35s ease; }
.offer-banner.is-on-the-felt { transform: translate(-50%, 0); }
.offer-banner__inner { display: flex; align-items: center; gap: 14px; padding: 10px 14px; border: 1px solid rgb(var(--n800)); border-radius: 12px; background: var(--grad-80); box-shadow: var(--shadow); }
.offer-banner__logo { height: 30px; width: auto; }
.offer-banner__info { display: flex; flex-direction: column; min-width: 0; }
.offer-banner__label { font-size: 12px; font-weight: 700; text-transform: uppercase; color: var(--accent); }
.offer-banner__title { overflow: hidden; font-size: 14px; font-weight: 700; color: #fff; white-space: nowrap; text-overflow: ellipsis; }
.offer-banner__btn { margin-left: auto; }
.offer-banner__close { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 34px; height: 34px; border: 1px solid rgb(var(--n800)); border-radius: 50%; background: var(--grad-60); color: var(--text); cursor: pointer; }
.offer-banner__close svg { width: 14px; height: 14px; }
.cut-to-top { position: fixed; right: 18px; bottom: 90px; z-index: 65; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid rgb(var(--n800)); border-radius: 50%; background: var(--grad-60); box-shadow: var(--tab-shadow); color: var(--text); cursor: pointer; opacity: 0; visibility: hidden; transition: opacity .2s, visibility .2s; }
.cut-to-top.is-on-the-felt { opacity: 1; visibility: visible; }
.cut-to-top svg { width: 18px; height: 18px; }

/* ---------- Mobile drawer ---------- */
.side-deck, .side-deck__backdrop { display: none; }

/* ---------- Responsive ---------- */
@media (max-width: 1919px) {
  :root { --cols: 7; --cols-rank: 6; --cols-wide: 4; --cols-grid: 9; --cols-promo: 4; --cols-sport: 7; --gap-rank: 8px; }
  .card-grid .game-hand-card:nth-child(n+28) { display: none; }
  .show-reel { --col: 560px; }
  .show-slide__title { --fs: 36px; }
  .show-slide__inner { gap: 16px; }
  .show-slide__card { gap: 12px; }
  .show-slide__media::before { aspect-ratio: 3.6136; }
  .jackpot-call { aspect-ratio: 1056 / 218; }
  .jackpot-call__content { row-gap: 16px; width: 420px; padding: 12px 48px; }
  .jackpot-call__title { font-size: 32px; }
  .jackpot-call__btn { min-width: 220px; }
  .table-foot__inner { padding: 32px 64px 0; }
  .studio-chips__grid { grid-template-columns: repeat(10, minmax(0, 1fr)); }
  .studio-chip__name { font-size: 10px; }
  .hand-rank { font-size: 96px; }
}
@media (max-width: 1535px) {
  :root { --cols: 6; --cols-rank: 5; --cols-wide: 4; --cols-grid: 8; --cols-promo: 4; --cols-sport: 7; }
  .card-grid .game-hand-card:nth-child(n+25) { display: none; }
  .studio-chips__grid { grid-template-columns: none; grid-auto-columns: minmax(140px, 1fr); }
  .prize-chips { gap: 12px; }
  .prize-chip__content { max-width: 60%; }
}
@media (max-width: 1400px) {
  .table-foot__cols { gap: 0 24px; }
  .table-foot__body { grid-template-columns: 240px minmax(0, 1fr); gap: 24px; }
  .studio-chips__grid { grid-auto-columns: 150px; }
  .sport-chips__grid { grid-template-columns: none; grid-template-rows: repeat(2, 1fr); grid-auto-flow: column; grid-auto-columns: 180px; }
}
@media (max-width: 1279px) {
  :root { --hdr-h: 60px; --nav-h: 0px; --cols: 6; --cols-rank: 5; --cols-wide: 3; --cols-grid: 6; --cols-promo: 3; --cols-sport: 6; --gap: 8px; --gap-rank: 8px; --rank-shift: 34px; --tile-r: 8px; --tile-sp: 1px; --row-gap: 14px; }
  html { scroll-padding-top: 130px; }
  .card-room { padding-top: var(--hdr-h); }
  .suit-nav { display: none; }
  .dealer-bar__inner { gap: 4px; padding: 0 11px 0 16px; background: var(--grad-50); }
  .dealer-bar__inner::before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: linear-gradient(rgb(var(--n960)), rgb(var(--n750)) 9%, rgb(var(--n960))); box-shadow: 0 1px rgb(var(--n1000)), 0 2px 4px rgb(var(--black) / .35); }
  .deck-menu { position: relative; display: flex; flex-direction: column; flex: 0 0 auto; justify-content: center; align-items: center; width: 28px; height: 36px; padding: 0; border: 0; background: transparent; color: #fff; cursor: pointer; }
  .deck-menu span { display: block; width: 23px; height: 3px; border-radius: 2px; background: var(--grad-150); filter: drop-shadow(0 1px rgb(var(--black))); }
  .deck-menu span + span { margin-top: 5px; }
  .ace-logo { margin: 0 0 0 12px; }
  .ace-logo img { width: 95px; height: 32px; }
  .card-search, .dealer-bar__actions { display: none; }
  .dealer-bar__login-m, .dealer-bar__reg-m { display: inline-flex; --bs: 14px; --mh: 36px; --fs: 12px; --px: 12px; --rad: 7px; --hin: 3px; --hrad: 5px; min-width: 36px; white-space: nowrap; }
  .dealer-bar__reg-m { --bs: 9px; }
  .dealer-bar__login-m { margin-left: auto; }
  .dealer-bar__reg-m { margin-left: 4px; }
  .showdown { margin-top: 0; }
  .showdown .table-frame { padding: 0; }
  .show-reel { --col: 100%; --hpad: 16px; padding: 0; border: 0; border-radius: 0; background: none; }
  .show-reel__track { border-radius: 0; }
  .show-slide { grid-template-columns: 1fr; height: 340px; }
  .show-slide__media::before { aspect-ratio: auto; }
  .show-slide__media { height: 340px; }
  .show-slide__inner { align-self: end; align-content: end; gap: 4px; min-height: 138px; padding: 4px 16px 23px; }
  .show-slide__inner::before { background: linear-gradient(rgb(var(--n1000) / 0), rgb(var(--n1000) / .3) 10%, rgb(var(--n1000) / .85)); }
  .show-slide__card { gap: 7px; }
  .show-slide__label { min-height: 16px; font-size: 12px; line-height: 1.4; }
  .show-slide__title { --fs: 28px; }
  .show-slide__action { margin-top: 1px; }
  /* hero CTA = stb .button--m with --stb-main-cta-button-min-height: 62px, min-width 224 (plate 216x56 like the original mobile) */
  .ace-btn--jackpot, .ace-btn--jackpot.ace-btn--m { --bs: 71px; --mh: 62px; --fs: 18px; --px: 45px; --rad: 13px; --hrad: 8px; --ai: 11px; --at: 10px; --ab: 12px; --aw: 58px; --si: 3px; --sr: 8px; min-width: 224px; }
  .show-reel__nav { display: none; }
  .show-reel__dots { bottom: 8px; left: 0; width: 100%; }
  .show-reel__dot { padding: 4px 4px; }
  .show-reel__dot::before, .show-reel__dot::after { width: 11px; height: 4px; }
  /* sticky category strip */
  .mini-suits { position: sticky; top: var(--hdr-h); z-index: 30; display: flex; align-items: end; gap: 0; overflow-x: auto; scrollbar-width: none; margin: 0; padding: 11px 8px 8px; background: linear-gradient(rgb(var(--n1000)), rgb(var(--n950))); box-shadow: inset 0 -1px 0 0 rgb(var(--n950)); }
  .mini-suits::-webkit-scrollbar { display: none; }
  .mini-suit { position: relative; display: grid; grid-auto-flow: row; justify-items: center; align-content: end; gap: 2px; flex: 0 0 auto; padding: 0 10px; border: 0; background: transparent; font-family: var(--font); font-size: 14px; font-weight: 700; line-height: 1.4; text-transform: uppercase; text-align: center; white-space: nowrap; color: rgb(var(--n200)); cursor: pointer; transition: color .2s; }
  .mini-suit img, .mini-suit svg { width: 32px; height: 32px; object-fit: contain; }
  .mini-suit__ico { display: inline-flex; width: 32px; height: 32px; align-items: center; justify-content: center; }
  .mini-suit:hover, .mini-suit.is-dealt { color: rgb(var(--br100)); }
  .mini-suit--search { padding-right: 14px; margin-right: 6px; border-right: 1px solid rgb(var(--n800)); }
  .room-page { padding-top: 20px; }
  .card-grid .game-hand-card:nth-child(n+25) { display: none; }
  .card-grid::after { height: 100px; bottom: 30px; }
  .card-grid { gap: 8px; }
  .card-row--grid { padding-bottom: 36px; }
  .card-row__head { margin-bottom: 8px; }
  .card-row__arrows { display: none; }
  .card-row__link svg { display: block; }
  .deal-lane { margin: -6px -2px -6px; padding: 6px 2px 6px; scroll-padding: 2px; }
  .deal-lane--ranked { margin-bottom: -16px; padding-bottom: 16px; }
  .game-hand-card__badge { top: -3px; height: 14px; padding: 0 5px 1px; font-size: 10px; }
  .game-hand-card--wide .game-hand-card__badge { top: 3px; right: 3px; }
  .game-hand-card__jackpot { min-height: 22px; font-size: 11px; line-height: 1.2; }
  .game-hand-card__results { height: 34px; bottom: -3px; padding: 4px 5px 0; border-radius: 0 0 7px 7px; grid-template-columns: repeat(auto-fit, 16px); grid-template-rows: 16px; }
  .game-hand-card__results span:nth-child(n+5) { display: none; }
  .game-hand-card--wide .game-hand-card__results span:nth-child(n+5) { display: flex; }
  .game-hand-card--wide .game-hand-card__results span:nth-child(n+10) { display: none; }
  .game-hand-card__results span { width: 16px; font-size: 10px; line-height: 1.2; }
  .game-hand-card__seats { height: 18px; margin-bottom: 5px; padding: 2px 4px; border-radius: 2px; font-size: 12px; }
  .game-hand-card__seats::before { width: 12px; height: 12px; }
  .game-hand-card__limits { height: 16px; margin: 0 4px -6px; padding: 1px 3px 2px; border-radius: 2px; font-size: 10px; line-height: 1.2; }
  .game-hand-card__pic { background-size: 29px 32px; }
  .game-hand-card__hover { gap: 8px; padding-block: 10px; }
  .game-hand-card__play { width: 44px; height: 44px; }
  .game-hand-card__play::before { inset: 3px 4px 5px; width: 36px; height: 36px; }
  .game-hand-card__play svg { width: 20px; height: 20px; margin-left: 2px; }
  .game-hand-card__demo { font-size: 12px; }
  .hand-rank { margin-left: calc(var(--rank-shift) - 34px + 6px); margin-bottom: -5px; font-size: 64px; line-height: 1; letter-spacing: -7px; -webkit-text-stroke: 1px rgb(var(--br160)); }
  .ranked-hand:first-child .hand-rank { margin-left: calc(var(--rank-shift) - 34px + 6px); }
  .hand-rank--small { letter-spacing: -14px; margin-left: calc(var(--rank-shift) - 34px - 5px); }
  .studio-chips__grid { grid-auto-columns: 88px; gap: 8px 10px; }
  .studio-chip { aspect-ratio: 90 / 72; padding: 13.6% 4px 0; }
  .studio-chip__name { margin-top: 13.75%; }
  .sport-chips__grid { --sgap: 6px; grid-template-columns: none; grid-template-rows: repeat(2, 1fr); grid-auto-flow: column; grid-auto-columns: 118px; }
  .sport-chip { border-radius: 8px; }
  .sport-chip::before, .sport-chip::after { border-radius: 8px; }
  .sport-chip__pic, .sport-chip__pic img { border-radius: 6px; }
  .sport-chip__pic::before { border-radius: 6px 6px 0 0; }
  .sport-chip__name { min-height: 28px; font-size: 12px; }
  .sport-chip--featured .sport-chip__pic { border-radius: 7px; }
  .sport-chip--featured .sport-chip__pic img { top: 2px; left: 0; right: -30px; }
  .sport-chip__action { padding: 35px 12px 12px; }
  .sport-chip__action .ace-btn { --mh: 48px; --fs: 18px; }
  .prize-chips { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .prize-chip, .prize-chip:nth-child(1), .prize-chip:nth-child(2) { grid-column: span 1; }
  .prize-chip:nth-child(5) { grid-column: span 2; }
  .prize-chip { min-height: 88px; padding: 16px 12px; border-radius: 8px; }
  .prize-chip__content { max-width: 68%; }
  .prize-chip__title { font-size: 16px; }
  .prize-chip__desc { font-size: 10px; line-height: 1.2; }
  .deal-lane--bonuses { grid-auto-columns: 235px; }
  .chip-offer__body { padding: 16px 12px 11px; }
  .chip-offer__title { font-size: 18px; }
  .jackpot-call { aspect-ratio: 736 / 154; min-height: 154px; }
  .jackpot-call__content { row-gap: 16px; width: 356px; padding: 12px 28px; }
  .jackpot-call__title { font-size: 24px; text-align: left; }
  .jackpot-call__btn { min-width: 220px; justify-self: start; }
  .felt-panel { padding: 16px 20px 20px; border-radius: 8px; }
  .pit-boss__grid, .card-facts { grid-template-columns: repeat(2, 1fr); }
  .player-hands__grid { grid-template-columns: repeat(2, 1fr); }
  .table-foot { background-image: url("/images/ui/footer-m-bg.webp"), linear-gradient(180deg, rgb(var(--n960)), rgb(var(--n1000)) 10%); }
  .table-foot__inner { padding: 16px 0 0; }
  .table-foot__top { padding: 0 16px 20px; }
  .table-foot__body { grid-template-columns: 1fr; gap: 16px; padding: 24px 16px 16px; }
  .table-foot__cols { padding: 0 16px 24px; grid-template-columns: repeat(3, 1fr); gap: 24px; }
  .table-foot__links { padding: 24px 16px 32px; }
  .offer-banner { display: none; }
}
@media (max-width: 1279px) {
  /* drawer */
  .side-deck__backdrop { display: block; position: fixed; inset: 0; z-index: 80; background: rgb(var(--black) / .6); opacity: 0; visibility: hidden; transition: opacity .25s, visibility .25s; }
  .side-deck__backdrop.is-face-up { opacity: 1; visibility: visible; }
  .side-deck { display: flex; flex-direction: column; gap: 12px; position: fixed; top: 0; left: 0; bottom: 0; z-index: 90; width: min(420px, calc(100% - 40px)); overflow-y: auto; overscroll-behavior: contain; padding: 0 12px 24px; background: var(--bg); box-shadow: 6px 0 24px rgb(var(--black) / .6); transform: translateX(-104%); transition: transform .26s ease; scrollbar-width: none; }
  .side-deck::-webkit-scrollbar { display: none; }
  .side-deck.is-face-up { transform: translateX(0); }
  .side-deck__head { display: flex; align-items: center; gap: 4px; flex: 0 0 auto; height: 60px; margin: 0 -12px; padding: 0 11px 0 16px; background: var(--grad-50); box-shadow: inset 0 -1px 0 rgb(var(--n750)), inset 0 -4px 0 rgb(var(--n960)); }
  .side-deck__head > img { width: 95px; height: 32px; margin-left: 12px; }
  .side-deck__close { display: flex; flex: 0 0 auto; justify-content: center; align-items: center; width: 28px; height: 36px; padding: 0; border: 0; background: transparent; color: #fff; cursor: pointer; filter: drop-shadow(0 1px rgb(var(--black))); }
  .side-deck__close svg { width: 24px; height: 24px; }
  .side-deck__cta { display: flex; gap: 4px; margin-left: auto; }
  .side-deck__cta .ace-btn { --bs: 14px; --mh: 36px; --fs: 12px; --px: 12px; --rad: 7px; --hin: 3px; --hrad: 5px; min-width: 36px; }
  .side-deck__cta .ace-btn--royal { --bs: 9px; }
  .side-deck__search { position: relative; display: flex; align-items: center; gap: 8px; flex: 0 0 auto; height: 48px; margin-top: 12px; padding: 0 15px; border: 1px solid rgb(var(--n700)); border-radius: 8px; color: rgb(var(--n600)); font-weight: 500; font-size: 16px; white-space: nowrap; overflow: hidden; background: linear-gradient(rgb(var(--n150)), rgb(var(--n50))); box-shadow: 0 3px 3px rgb(var(--n300) / .2), 0 1px 1px rgb(var(--black) / .4), 0 -4px 2px rgb(var(--white) / .25); }
  .side-deck__search svg, .side-deck__search .card-search__ico { width: 20px; height: 20px; color: rgb(var(--n600)); }
  .side-deck__banner { position: relative; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px; flex: 0 0 auto; min-height: 100px; padding: 12px 10px 12px 12px; border: 1px solid rgb(var(--n800)); border-radius: 8px; overflow: hidden; color: #fff; background: var(--bg); box-shadow: 0 0 0 1px rgb(var(--n1000)) inset; }
  .side-deck__banner img { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; object-position: right center; opacity: .35; }
  .side-deck__banner::before { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(90deg, rgb(var(--n1000) / .9) 0%, rgb(var(--n1000) / .6) 60%, rgb(var(--n1000) / .2) 100%); }
  .side-deck__banner > span { position: relative; z-index: 1; display: grid; gap: 4px; }
  .side-deck__banner small { font-size: 16px; font-weight: 400; line-height: 1.4; color: var(--text); }
  .side-deck__banner b { font-size: 20px; font-weight: 900; font-style: italic; line-height: 1; text-transform: uppercase; color: #fff; text-shadow: var(--tshadow); }
  .side-deck__banner .ace-btn { position: relative; z-index: 1; --bs: 12px; --mh: 40px; --fs: 14px; --px: 16px; --rad: 8px; }
  .side-deck__label { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; flex: 0 0 auto; margin: 4px 0 -4px; font-size: 14px; font-weight: 500; text-align: center; color: var(--text-2); }
  .side-deck__label::before, .side-deck__label::after { content: ""; height: 1px; background: rgb(var(--n800)); }
  .side-deck__tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; flex: 0 0 auto; }
  .side-deck__tiles--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .side-deck__tiles--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .side-deck__tile { position: relative; z-index: 1; display: grid; justify-items: center; align-content: center; gap: 6px; min-height: 72px; padding: 8px 4px; border: 1px solid rgb(var(--n800)); border-radius: 8px; font-size: 12px; font-weight: 700; line-height: 1.2; text-align: center; text-transform: uppercase; color: var(--text); background: var(--grad-60); box-shadow: 0 0 0 1px rgb(var(--n1000)) inset, 0 0 0 2px rgb(var(--n950)) inset; cursor: pointer; }
  .side-deck__tile::after { content: ""; position: absolute; inset: 1px; z-index: -1; height: 45%; border: 1px solid #fff; border-bottom: 0; border-radius: 6px 6px 0 0; opacity: .2; -webkit-mask: linear-gradient(#fff, transparent); mask: linear-gradient(#fff, transparent); pointer-events: none; }
  .side-deck__tile.is-dealt { color: var(--accent); }
  .side-deck__tile img, .side-deck__tile svg { width: 32px; height: 32px; object-fit: contain; }
  .side-deck__tile--s { min-height: 60px; gap: 4px; font-size: 12px; text-transform: none; }
  .side-deck__tile--s img, .side-deck__tile--s svg { width: 20px; height: 20px; }
  .side-deck__tile span { max-width: 100%; }
}
@media (max-width: 900px) {
  .pocket-deck__grid { grid-template-columns: 1fr; }
  .table-foot__cols { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
  :root { --cols-grid: 4; }
  body { padding-bottom: 0; }
  .table-frame { padding: 0 var(--pad); }
  .showdown .table-frame { padding: 0; }
  .mini-suits { padding: 11px 8px 8px; }
  .room-page { padding: 12px 0 28px; row-gap: 16px; }
  .deal-lane { grid-auto-columns: 92px; }
  .deal-lane--wide { grid-auto-columns: calc(92px * 2 + var(--gap)); }
  .deal-lane--ranked { grid-auto-columns: calc(92px + var(--rank-shift)); }
  .deal-lane--bonuses { grid-auto-columns: 235px; }
  .card-grid .game-hand-card:nth-child(n+17) { display: none; }
  .card-grid::after { height: 120px; bottom: 24px; }
  .card-row--grid { padding-bottom: 30px; }
  .jackpot-call { display: grid; grid-template-rows: auto 1fr; aspect-ratio: auto; min-height: 0; padding: 2px; }
  .jackpot-call::before { border-radius: 12px; }
  .jackpot-call::after { inset: 2px; border-width: 1px; }
  .jackpot-call__pic { position: relative; inset: auto; width: 100%; height: 200px; max-height: 200px; aspect-ratio: auto; border-radius: 10px 10px 0 0; }
  .jackpot-call__content { grid-row: auto; width: 100%; row-gap: 8px; padding: 12px; background: none; }
  .jackpot-call__content::before { content: ""; position: absolute; top: -36px; left: 0; z-index: -1; width: 100%; height: 38px; background: linear-gradient(0deg, rgb(var(--n1000)) 0%, rgb(var(--n1000) / .4) 70%, transparent 100%); }
  .jackpot-call__title { font-size: 20px; text-align: center; }
  .jackpot-call .jackpot-call__btn { min-width: 120px; justify-self: center; --bs: 12px; --mh: 48px; --fs: 18px; --px: 45px; --rad: 10px; --hin: 4px; --hrad: 5px; padding-block: 0; --bl: url("/images/ui/psim-l.webp"); --bc: url("/images/ui/psim-c.webp"); --br: url("/images/ui/psim-r.webp"); }
  .jackpot-call__btn .ace-btn__arrows { display: none; }
  .felt-panel { margin: 16px 0 0; padding: 16px; }
  .felt-panel--opener { padding: 16px; }
  .felt-panel--opener h1 { font-size: 20px; }
  .felt-panel--opener p { font-size: 14px; }
  .hand-title { font-size: 20px; }
  .ace-btn--lg { --px: 16px; --mh: 48px; --fs: 16px; white-space: normal; text-align: center; line-height: 1.1; max-width: 100%; }
  .raise-row .ace-btn { max-width: 100%; }
  .felt-scroll { max-width: 100%; }
  .deal-steps, .pit-boss__grid, .player-hands__grid { grid-template-columns: 1fr; }
  .card-facts { grid-template-columns: repeat(2, 1fr); }
  .card-index { margin: 16px 0 0; }
  .table-foot { margin-top: 16px; }
  .table-foot__top { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 12px; padding: 0 16px 20px; }
  .table-foot__lang, .table-foot__chat, .table-foot__help, .table-foot__app { --mh: 56px; --fs: 12px; --px: 6px; min-width: 0; flex-direction: column; gap: 4px; white-space: normal; line-height: 1.1; }
  .table-foot__app, .table-foot__chat { display: inline-flex; }
  .table-foot__body { padding: 20px 16px 8px; }
  .table-foot__cols { grid-template-columns: 1fr; gap: 8px; padding: 0 16px 16px; }
  .table-foot__col { padding: 0 16px; border: 1px solid rgb(var(--n800)); border-radius: 8px; background: var(--grad-60); box-shadow: var(--tab-shadow); }
  .table-foot__col .table-foot__col-title { position: relative; margin: 0; padding: 16px 40px 16px 0; font-size: 16px; cursor: pointer; }
  .table-foot__col .table-foot__col-title::after { content: ""; position: absolute; right: 4px; top: 50%; width: 16px; height: 16px; transform: translateY(-50%); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e7d3c1' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 9l7 7 7-7'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform .2s; }
  .table-foot__col ul { display: none; padding: 0 0 16px; gap: 14px; }
  .table-foot__col.is-face-up ul { display: flex; }
  .table-foot__col.is-face-up .table-foot__col-title::after { transform: translateY(-50%) rotate(180deg); }
  .table-foot__pay { padding: 20px 16px; }
  .table-foot__pay-row .chip-method { width: 128px; height: 56px; margin: 6px 4px; }
  .table-foot__links { gap: 20px 24px; padding: 24px 16px 32px; }
  .cut-to-top { right: 12px; bottom: 16px; width: 40px; height: 40px; }
}
@media (max-width: 420px) {
  .dealer-bar__login-m, .dealer-bar__reg-m { --px: 10px; }
  .show-slide__title { --fs: 26px; }
  .card-row__title { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; line-height: 20px; }
  .side-deck { width: calc(100% - 40px); }
  .side-deck__tiles { gap: 6px; }
  .table-foot__lang, .table-foot__chat, .table-foot__help, .table-foot__app { --fs: 11px; }
}
@media (max-width: 411px) {
  :root { --cols-grid: 4; }
  .prize-chips { gap: 6px; }
  .prize-chip__content { max-width: 64%; }
}

/* perf pass 09.10 (no visual change): CTA decor sleeps on hidden slides and while the hero is off-screen; the banner video sleeps off-screen */
.show-slide:not(.is-dealt) .ace-btn--jackpot, .show-slide:not(.is-dealt) .ace-btn--jackpot *, .show-slide:not(.is-dealt) .ace-btn--jackpot *::before, .show-slide:not(.is-dealt) .ace-btn--jackpot *::after,
.showdown.is-off-the-table .ace-btn--jackpot, .showdown.is-off-the-table .ace-btn--jackpot *, .showdown.is-off-the-table .ace-btn--jackpot *::before, .showdown.is-off-the-table .ace-btn--jackpot *::after { animation-play-state: paused; }

