/* Cases own their presentation; receipts and reel position stay with the client. */
#games-hub :is(.case-tile,#cases-panel) {
  --case-color:#4bd7fa;
  --case-ink:var(--br-game-ink,var(--ink));
  --case-muted:var(--br-game-muted,var(--muted));
  --case-line:var(--br-game-line,var(--line));
  --case-well:var(--br-game-well,var(--paper));
  --case-surface:var(--br-game-surface,var(--surface));
  --case-raised:var(--br-game-raised,var(--raised));
}
#games-hub :is(.case-tile,#cases-panel)[data-case="neon-vault"] { --case-color:#ab89ff; }
#games-hub :is(.case-tile,#cases-panel)[data-case="moon-chest"] { --case-color:#f3c765; }
#games-hub :is(.case-tile,#cases-panel)[data-case="sapphire-cache"] { --case-color:#77aeff; }
#games-hub :is(.case-tile,#cases-panel)[data-case="royal-vault"] { --case-color:#c8a96b; }
#games-hub :is(.case-tile,#cases-panel)[data-case="rabbit-crown"] { --case-color:#e1c48d; }

/* Every case uses the same compact card geometry. */
:root body[data-game-provider="bluerabbit"] #games-hub[data-game-type="games"] #game-catalog .case-tile {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  min-width:0;
  min-height:0;
  max-width:none;
  padding:0;
  gap:0;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--case-color) 25%,var(--line));
  border-radius:20px;
  background:radial-gradient(ellipse at 50% 8%,color-mix(in srgb,var(--case-color) 13%,transparent),transparent 72%),var(--surface);
  color:var(--ink);
  box-shadow:inset 0 1px 0 color-mix(in srgb,var(--ink) 6%,transparent);
  text-align:start;
  aspect-ratio:auto;
  transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease;
}
:root body[data-game-provider="bluerabbit"] #games-hub[data-game-type="games"] #game-catalog .case-tile:hover,
:root body[data-game-provider="bluerabbit"] #games-hub[data-game-type="games"] #game-catalog .case-tile[aria-pressed="true"] {
  border-color:var(--case-color);
  background-color:var(--raised);
  box-shadow:0 6px 26px color-mix(in srgb,var(--case-color) 12%,transparent),inset 0 1px 0 color-mix(in srgb,var(--ink) 7%,transparent);
}
:root body[data-game-provider="bluerabbit"] #games-hub[data-game-type="games"] #game-catalog .case-tile:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
:root body[data-game-provider="bluerabbit"] #games-hub[data-game-type="games"] #game-catalog .case-tile-art {
  position:relative;
  display:grid;
  place-items:center;
  width:100%;
  aspect-ratio:300/204;
  min-width:0;
  padding:10px 12px 0;
  isolation:isolate;
}
:root body[data-game-provider="bluerabbit"] #games-hub[data-game-type="games"] #game-catalog .case-tile-art::before {
  content:"";
  position:absolute;
  inset:13% 13% 7%;
  z-index:-1;
  border:1px solid color-mix(in srgb,var(--case-color) 18%,transparent);
  border-radius:50%;
  background:radial-gradient(ellipse,color-mix(in srgb,var(--case-color) 16%,transparent),transparent 70%);
}
:root body[data-game-provider="bluerabbit"] #games-hub[data-game-type="games"] #game-catalog .case-tile-art img { display:block; width:100%; height:100%; max-height:220px; object-fit:contain; filter:drop-shadow(0 10px 14px #0003); }
:root body[data-game-provider="bluerabbit"] #games-hub[data-game-type="games"] #game-catalog .case-tile-body { display:flex; flex:1; flex-direction:column; min-width:0; padding:12px 20px 18px; gap:14px; }
:root body[data-game-provider="bluerabbit"] #games-hub[data-game-type="games"] #game-catalog .case-tile-title { display:flex; align-items:center; min-height:2.7em; margin:0; color:var(--ink); font-size:clamp(16px,1.6vw,20px); font-weight:800; line-height:1.35; overflow-wrap:anywhere; }
:root body[data-game-provider="bluerabbit"] #games-hub[data-game-type="games"] #game-catalog .case-tile-footer { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:auto; }
:root body[data-game-provider="bluerabbit"] #games-hub[data-game-type="games"] #game-catalog .case-tile-price { display:block; min-width:0; color:var(--ink); font-size:18px; font-weight:800; line-height:1.3; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
:root body[data-game-provider="bluerabbit"] #games-hub[data-game-type="games"] #game-catalog .case-tile-action { display:grid; place-items:center; flex:none; width:38px; height:38px; border:1px solid color-mix(in srgb,var(--case-color) 36%,var(--line)); border-radius:12px; background:color-mix(in srgb,var(--case-color) 12%,var(--surface)); color:var(--ink); }
:root body[data-game-provider="bluerabbit"] #games-hub[data-game-type="games"] #game-catalog .case-tile-action svg { display:block; width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

body[data-game-provider="bluerabbit"] #games-hub .game-content > .game-panels > #cases-panel {
  min-width:0;
  min-height:0;
  height:auto;
  padding:20px 28px 28px;
  gap:24px;
  overflow:visible;
  background:radial-gradient(ellipse at 50% 0,color-mix(in srgb,var(--case-color) 5%,transparent),transparent 48%),var(--br-game-paper);
}
#games-hub #cases-panel:not([hidden]) { display:grid; grid-template-columns:minmax(0,1fr); align-content:start; }
#games-hub #cases-panel .case-hero { position:relative; min-width:0; }
#games-hub #cases-panel .case-toolbar { display:flex; justify-content:flex-end; min-width:0; min-height:44px; }
#games-hub #cases-panel .case-toolbar .game-speed-toggle { gap:8px; width:fit-content; max-width:100%; min-width:0; min-height:44px; padding:0; }
#games-hub #cases-panel .case-toolbar .game-speed-toggle input { flex:none; }
#games-hub #cases-panel .case-toolbar .game-speed-toggle span { min-width:0; overflow-wrap:anywhere; }
#games-hub #cases-panel .case-heading { display:flex; flex-direction:column; align-items:center; gap:4px; margin:-22px 0 0; text-align:center; }
#games-hub #cases-panel .case-artwork { position:relative; display:grid; place-items:center; width:min(100%,290px); height:164px; isolation:isolate; pointer-events:none; }
#games-hub #cases-panel .case-artwork::before { content:""; position:absolute; z-index:-1; width:174px; height:174px; border:1px solid color-mix(in srgb,var(--case-color) 25%,transparent); border-radius:50%; background:radial-gradient(ellipse,color-mix(in srgb,var(--case-color) 19%,transparent),transparent 70%); box-shadow:0 0 42px color-mix(in srgb,var(--case-color) 7%,transparent),inset 0 0 26px color-mix(in srgb,var(--case-color) 6%,transparent); }
#games-hub #cases-panel .case-artwork img { display:block; width:256px; max-width:100%; height:172px; object-fit:contain; filter:drop-shadow(0 12px 16px #0003); }
#games-hub #cases-panel .case-heading-copy { min-width:0; max-width:100%; }
#games-hub #cases-panel .case-heading h2 { margin:4px 0 10px; color:var(--case-ink); font-size:clamp(25px,3.2vw,34px); font-weight:800; line-height:1.2; overflow-wrap:anywhere; }
#games-hub #cases-panel .case-cost { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px 12px; margin:0; color:var(--case-muted); font-size:12px; line-height:1.5; }
#games-hub #cases-panel .case-cost strong { padding:4px 11px; border:1px solid color-mix(in srgb,var(--case-color) 30%,var(--case-line)); border-radius:8px; background:color-mix(in srgb,var(--case-color) 8%,var(--case-surface)); color:var(--case-ink); font-size:15px; font-weight:800; font-variant-numeric:tabular-nums; }
#games-hub #cases-panel .case-opening { min-width:0; padding:0; }
#games-hub #cases-panel .case-reel { --case-pending-distance:-1872px; position:relative; width:100%; min-width:0; height:210px; overflow:hidden; isolation:isolate; direction:ltr; border:1px solid color-mix(in srgb,var(--case-color) 22%,var(--case-line)); border-radius:18px; background:radial-gradient(ellipse at 50% 50%,color-mix(in srgb,var(--case-color) 8%,transparent),transparent 75%),var(--case-well); }
#games-hub #cases-panel .case-reel::before,
#games-hub #cases-panel .case-reel::after { content:""; position:absolute; inset:0 auto 0 0; z-index:2; width:11%; pointer-events:none; background:linear-gradient(90deg,var(--case-well),transparent); }
#games-hub #cases-panel .case-reel::after { inset:0 0 0 auto; transform:rotate(180deg); }
#games-hub #cases-panel .case-reel-pointer { position:absolute; inset:0 auto 0 50%; z-index:3; width:2px; background:var(--case-color); box-shadow:0 0 18px color-mix(in srgb,var(--case-color) 55%,transparent); transform:translateX(-50%); }
#games-hub #cases-panel .case-reel-pointer::before,
#games-hub #cases-panel .case-reel-pointer::after { position:absolute; left:50%; content:""; width:0; height:0; border-inline:9px solid transparent; transform:translateX(-50%); }
#games-hub #cases-panel .case-reel-pointer::before { top:0; border-top:12px solid var(--case-color); }
#games-hub #cases-panel .case-reel-pointer::after { bottom:0; border-bottom:12px solid var(--case-color); }
#games-hub #cases-panel .case-reel-track { display:flex; align-items:center; gap:12px; width:max-content; height:100%; padding:18px 0; transform:translate3d(0,0,0); will-change:transform; }
#games-hub #cases-panel .case-drop-card {
  --case-prize-color:#66bfff;
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  flex:0 0 144px;
  width:144px;
  min-width:0;
  height:172px;
  padding:14px 10px;
  gap:10px;
  border:1px solid var(--case-line);
  border-bottom:3px solid var(--case-prize-color);
  border-radius:12px;
  background:radial-gradient(ellipse at 50% 35%,color-mix(in srgb,var(--case-prize-color) 12%,transparent),transparent 75%),linear-gradient(150deg,var(--case-surface),var(--case-well));
  color:var(--case-ink);
  contain:layout style;
}
#games-hub #cases-panel .case-drop-card[data-legacy-empty="true"] { --case-prize-color:var(--case-muted); }
#games-hub #cases-panel .case-drop-card[data-tier="2"] { --case-prize-color:#8d9bff; }
#games-hub #cases-panel .case-drop-card[data-tier="3"] { --case-prize-color:#b98bff; }
#games-hub #cases-panel .case-drop-card[data-tier="4"] { --case-prize-color:#eb91d5; }
#games-hub #cases-panel .case-drop-card[data-tier="5"] { --case-prize-color:#f0c66a; }
#games-hub #cases-panel .case-drop-visual { display:grid; place-items:center; width:100%; min-width:0; height:86px; color:var(--case-prize-color); filter:drop-shadow(0 6px 10px color-mix(in srgb,var(--case-prize-color) 18%,transparent)); }
#games-hub #cases-panel svg.case-drop-visual { display:block; max-width:112px; overflow:visible; }
#games-hub #cases-panel .case-drop-value { display:block; max-width:100%; color:var(--case-ink); font-size:20px; font-weight:800; line-height:1.25; font-variant-numeric:tabular-nums; text-align:center; overflow-wrap:anywhere; }
#games-hub #cases-panel .case-drop-card.is-landed { border-color:var(--case-color); border-bottom-color:var(--case-color); background:radial-gradient(ellipse at 50% 45%,color-mix(in srgb,var(--case-color) 22%,transparent),transparent 80%),var(--case-surface); box-shadow:0 0 22px color-mix(in srgb,var(--case-color) 18%,transparent),inset 0 0 0 1px var(--case-color); }
#games-hub #cases-panel .case-opening-footer { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:20px 40px; padding:20px 0 0; }
#games-hub #cases-panel .case-result-row { display:flex; flex-direction:column; align-items:flex-start; gap:5px; min-width:144px; margin:0; color:var(--case-muted); font-size:12px; line-height:1.4; }
#games-hub #cases-panel .case-result-row output { display:block; max-width:100%; color:var(--case-ink); font-size:34px; font-weight:800; line-height:1.1; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
#games-hub #cases-panel[data-phase="result"][data-outcome="win"] .case-result-row output { color:var(--br-game-good,var(--positive)); }
#games-hub #cases-panel .case-actions { display:flex; flex-wrap:wrap; justify-content:center; min-width:0; gap:10px; }
#games-hub #cases-panel .case-actions .button { display:inline-flex; align-items:center; justify-content:center; min-width:240px; min-height:56px; max-width:100%; padding:14px 20px; gap:16px; border-radius:12px; font-size:15px; line-height:1.3; }
#games-hub #cases-panel #case-open-price { padding-inline-start:15px; border-inline-start:1px solid currentColor; font-weight:800; font-variant-numeric:tabular-nums; }
#games-hub #cases-panel #case-retry { border:1px solid var(--case-line); background:var(--case-surface); color:var(--case-ink); }
#games-hub #cases-panel .case-status { min-height:1.6em; margin:12px 0 0; color:var(--case-muted); font-size:12px; line-height:1.6; text-align:center; overflow-wrap:anywhere; }
#games-hub #cases-panel .case-status.is-error { color:var(--br-game-bad,var(--danger)); }
#games-hub #cases-panel .case-status.is-win { color:var(--br-game-good,var(--positive)); }
#games-hub #cases-panel .case-drops { min-width:0; margin:0; padding-top:20px; border-top:1px solid var(--case-line); }
#games-hub #cases-panel .case-drops h3 { margin:0 0 16px; color:var(--case-ink); font-size:18px; font-weight:800; line-height:1.35; }
#games-hub #cases-panel #case-drop-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; width:100%; min-width:0; }
#games-hub #cases-panel #case-drop-list .case-prize-card { flex:none; width:100%; height:166px; min-width:0; padding:14px 8px; gap:9px; }
#games-hub #cases-panel #case-drop-list .case-drop-visual { height:85px; }

#games-hub #cases-panel #case-drop-list .case-drop-value { font-size:clamp(16px,1.8vw,20px); }

@media(max-width:760px) {
  :root body[data-game-provider="bluerabbit"] #games-hub[data-game-type="games"] #game-catalog .case-tile-art { padding:6px 8px 0; }
  :root body[data-game-provider="bluerabbit"] #games-hub[data-game-type="games"] #game-catalog .case-tile-body { padding:10px 14px 14px; gap:10px; }
  :root body[data-game-provider="bluerabbit"] #games-hub[data-game-type="games"] #game-catalog .case-tile-title { font-size:16px; }
  :root body[data-game-provider="bluerabbit"] #games-hub[data-game-type="games"] #game-catalog .case-tile-price { font-size:16px; }
  body[data-game-provider="bluerabbit"] #games-hub .game-content > .game-panels > #cases-panel { padding:16px; gap:20px; }
  #games-hub #cases-panel .case-heading { margin:-8px 0 0; }
  #games-hub #cases-panel .case-artwork { width:230px; height:150px; }
  #games-hub #cases-panel .case-artwork img { width:230px; height:158px; }
  #games-hub #cases-panel .case-artwork::before { width:158px; height:158px; }
  #games-hub #cases-panel .case-heading h2 { font-size:26px; }
  #games-hub #cases-panel .case-opening-footer { gap:18px 24px; }
  #games-hub #cases-panel .case-actions .button { min-width:200px; }
  #games-hub #cases-panel #case-drop-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
}
@media(max-width:600px) {
  :root body[data-game-provider="bluerabbit"] #games-hub[data-game-type="games"] #game-catalog .catalog-grid.cases-catalog { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  :root body[data-game-provider="bluerabbit"] #games-hub[data-game-type="games"] #game-catalog .case-tile { border-radius:16px; }
  :root body[data-game-provider="bluerabbit"] #games-hub[data-game-type="games"] #game-catalog .case-tile-body { padding:8px 12px 12px; }
  :root body[data-game-provider="bluerabbit"] #games-hub[data-game-type="games"] #game-catalog .case-tile-title { min-height:2.7em; font-size:15px; }
  :root body[data-game-provider="bluerabbit"] #games-hub[data-game-type="games"] #game-catalog .case-tile-price { font-size:15px; }
  :root body[data-game-provider="bluerabbit"] #games-hub[data-game-type="games"] #game-catalog .case-tile-action { width:32px; height:32px; border-radius:10px; }
  #games-hub #cases-panel .case-reel { --case-pending-distance:-1632px; height:198px; border-radius:14px; }
  #games-hub #cases-panel .case-reel-track { gap:10px; padding:16px 0; }
  #games-hub #cases-panel .case-drop-card { flex-basis:126px; width:126px; height:162px; }
  #games-hub #cases-panel .case-drop-value { font-size:19px; }
  #games-hub #cases-panel .case-opening-footer { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; padding-top:18px; }
  #games-hub #cases-panel .case-result-row { align-items:center; min-width:0; }
  #games-hub #cases-panel .case-result-row output { font-size:32px; }
  #games-hub #cases-panel .case-actions { width:100%; }
  #games-hub #cases-panel .case-actions .button { width:100%; min-width:0; min-height:54px; }
  #games-hub #cases-panel #case-drop-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #games-hub #cases-panel #case-drop-list .case-prize-card { height:156px; }
}
@media(max-width:380px) {
  :root body[data-game-provider="bluerabbit"] #games-hub[data-game-type="games"] #game-catalog .case-tile-body { padding-inline:9px; }
  :root body[data-game-provider="bluerabbit"] #games-hub[data-game-type="games"] #game-catalog .case-tile-title { font-size:13px; }
  :root body[data-game-provider="bluerabbit"] #games-hub[data-game-type="games"] #game-catalog .case-tile-footer { gap:6px; }
  :root body[data-game-provider="bluerabbit"] #games-hub[data-game-type="games"] #game-catalog .case-tile-price { font-size:14px; }
  :root body[data-game-provider="bluerabbit"] #games-hub[data-game-type="games"] #game-catalog .case-tile-action { width:28px; height:30px; }
  body[data-game-provider="bluerabbit"] #games-hub .game-content > .game-panels > #cases-panel { padding:12px; }
  #games-hub #cases-panel .case-artwork { height:140px; }
  #games-hub #cases-panel .case-heading h2 { font-size:24px; }
  #games-hub #cases-panel .case-cost { gap:6px 8px; }
}
@media(prefers-reduced-motion:reduce) {
  :root body[data-game-provider="bluerabbit"] #games-hub[data-game-type="games"] #game-catalog .case-tile { transition:none; }
  #games-hub #cases-panel .case-reel-track { transition:none!important; }
}
