/* Shared discovery and play controls for every TopFloorDice game. */
.gcard[hidden],.games[hidden],.section-h[hidden],.arcade-empty[hidden]{display:none!important}
.arcade-discover{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 20px;padding:13px;border:1px solid rgba(255,255,255,.15);border-radius:16px;background:linear-gradient(125deg,rgba(255,46,154,.11),rgba(0,240,255,.06))}
.arcade-discover label{display:flex;align-items:center;gap:9px;min-width:190px;flex:1;color:var(--dim);font-size:17px}
.arcade-discover input{width:100%;min-height:42px;padding:0 12px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:rgba(3,3,14,.45);color:#fff;font:600 14px/1.2 var(--body,system-ui),sans-serif}
.arcade-discover input::placeholder{color:rgba(235,224,247,.62)}
.arcade-discover .arcade-count{font:700 11px/1.4 var(--body,system-ui),sans-serif;color:var(--dim);white-space:nowrap}
.arcade-shelf{margin:0 0 22px}.arcade-shelf h2{font:800 12px/1.2 var(--disp,system-ui),sans-serif;text-transform:uppercase;letter-spacing:.12em;color:#e9d4ff;margin:0 0 10px}.arcade-chips{display:flex;gap:8px;flex-wrap:wrap}
.arcade-chip{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:7px 12px;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:rgba(255,255,255,.055);color:#fff;cursor:pointer;font:700 12px/1.2 var(--body,system-ui),sans-serif}
.arcade-chip:hover,.arcade-chip:focus-visible{border-color:var(--cyan,#00f0ff);background:rgba(0,240,255,.1)}
.arcade-empty{margin:8px 0 28px;padding:24px;border:1px dashed rgba(255,255,255,.26);border-radius:12px;color:var(--dim);text-align:center}
.arcade-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap;margin:-5px 0 12px}
.arcade-actions .arcade-label{margin-right:auto;color:var(--dim);font:700 11px/1.3 var(--body,system-ui),sans-serif}
.arcade-actions button{min-height:38px;padding:7px 11px;border:1px solid rgba(255,255,255,.24);border-radius:10px;background:rgba(255,255,255,.075);color:#fff;cursor:pointer;font:800 11px/1.2 var(--body,system-ui),sans-serif}
.arcade-actions button:hover,.arcade-actions button:focus-visible{border-color:var(--cyan,#00f0ff);background:rgba(0,240,255,.1)}
.arcade-actions button[aria-pressed=true]{border-color:var(--pink,#ff2e9a);color:#ffd0ed;background:rgba(255,46,154,.14)}
#app:fullscreen{overflow:auto;width:100vw;height:100dvh;max-width:none;margin:0;padding:20px;background:#10091c}
#app:fullscreen .gameview{max-width:1400px;margin-inline:auto}
.arcade-discover input:focus-visible,.arcade-chip:focus-visible,.arcade-actions button:focus-visible{outline:2px solid var(--cyan,#00f0ff);outline-offset:3px}
@media(max-width:470px){.arcade-discover{padding:10px}.arcade-discover label{min-width:100%}.arcade-discover .arcade-count{margin-left:auto}.arcade-actions{justify-content:stretch}.arcade-actions .arcade-label{width:100%;margin-bottom:1px}.arcade-actions button{flex:1}}
@media(prefers-reduced-motion:reduce){.arcade-chip,.arcade-actions button{scroll-behavior:auto;transition:none!important}}

/* Casino discovery: one compact introduction, a real featured game and clear categories. */
.casino-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(290px,.95fr);align-items:center;gap:clamp(18px,3vw,42px);
  margin:0 0 18px;padding:clamp(16px,2.5vw,30px);text-align:left;border:1px solid rgba(255,255,255,.14);
  border-radius:22px;background:linear-gradient(115deg,rgba(255,46,154,.11),rgba(123,47,247,.09) 48%,rgba(0,240,255,.08));
  box-shadow:0 24px 60px -44px #000,0 1px rgba(255,255,255,.08) inset}
.casino-hero .hero-dice{justify-content:flex-start;gap:10px;margin:0 0 10px}
.casino-hero .hero-die{width:42px;height:42px}
.casino-hero .kicker{margin-bottom:9px}
.casino-hero h1{font-size:clamp(28px,4.1vw,48px);line-height:1.04;letter-spacing:-.04em;margin-bottom:12px}
.casino-hero h1::after{display:none}
.casino-hero p{max-width:58ch;margin:0;text-align:left;font-size:clamp(12px,1.25vw,15px);line-height:1.5}
.casino-hero .casino-points-note{margin-top:12px;font-size:12px;color:var(--cyan)}
.casino-points-note a{color:var(--cyan);text-decoration:underline;text-underline-offset:3px}
.casino-feature{position:relative;display:block;width:100%;min-height:240px;padding:0;overflow:hidden;text-align:left;
  border:1px solid rgba(255,255,255,.2);border-radius:16px;background:#170b23;box-shadow:0 18px 36px -20px #000,0 0 28px rgba(255,46,154,.15)}
.casino-feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.casino-feature:hover img,.casino-feature:focus-visible img{transform:scale(1.06)}
.casino-feature::after{content:"";position:absolute;inset:32% 0 0;background:linear-gradient(transparent,rgba(6,2,12,.94));pointer-events:none}
.casino-feature-info{position:absolute;z-index:1;left:18px;right:18px;bottom:15px;display:grid;gap:4px;color:#fff}
.casino-feature-info small{font:800 9px/1.2 var(--disp);letter-spacing:.17em;color:var(--cyan)}
.casino-feature-info strong{font:900 clamp(18px,2.3vw,28px)/1.1 var(--disp);text-transform:uppercase;text-shadow:0 2px 9px #000}
.casino-feature-info span{font-size:12px;font-weight:700;color:#eee2f5}
.casino-categories{display:flex;gap:8px;overflow-x:auto;padding:2px 0 10px;margin:0 0 10px;scrollbar-width:thin}
.casino-category{flex:none;min-height:40px;padding:8px 15px;border:1px solid rgba(255,255,255,.19);border-radius:999px;
  background:rgba(255,255,255,.045);font:800 11px/1.1 var(--disp);color:#d9cde7;white-space:nowrap}
.casino-category:hover,.casino-category:focus-visible{border-color:var(--cyan);color:#fff}
.casino-category[aria-pressed="true"]{border-color:var(--cyan);background:linear-gradient(125deg,rgba(0,240,255,.2),rgba(123,47,247,.18));color:#fff;box-shadow:0 0 18px rgba(0,240,255,.13)}
.casino-feature:focus-visible,.casino-category:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.gthumb .gshot{filter:saturate(1.12) contrast(1.06)}
.gcard:hover .gthumb .gshot{filter:saturate(1.24) contrast(1.09)}
@media(max-width:720px){
  .casino-hero{grid-template-columns:1fr;gap:12px;padding:16px;margin-bottom:14px}
  .casino-hero .hero-dice{display:none}
  .casino-feature{min-height:130px}
  .casino-feature-info{bottom:11px;left:12px;right:12px}
  .casino-feature-info strong{font-size:16px}
  .casino-feature-info span{font-size:10px}
  .casino-hero h1{font-size:clamp(25px,7vw,34px)}
  .casino-hero p{font-size:12px}
}
@media(max-width:470px){.casino-feature{min-height:112px}.casino-categories{margin-bottom:5px}}
@media(prefers-reduced-motion:reduce){.casino-feature img{transition:none}}
