/* "Casino floor" layer (2026-10-13, second pass): Art Deco signage, brass, felt, playing cards and betting slips
   on top of the Night Vault tokens in site.css. Orange stays the light and the action colour; brass is material only.
   Shapes: playing cards 14px, slips with punched notches, buttons 6px, chips round. */

@font-face { font-family: "Big Shoulders"; src: url(/assets/fonts/bigshoulders.woff2) format("woff2"); font-weight: 100 900; font-display: swap; }
@font-face { font-family: "Monoton"; src: url(/assets/fonts/monoton.woff2) format("woff2"); font-weight: 400; font-display: swap; }

:root {
  --display: "Big Shoulders", "Arial Narrow", sans-serif;
  --neon: "Monoton", "Big Shoulders", sans-serif;
  --brass: #c9a25a;
  --brass-2: #e6c27a;
  --brass-dk: #7d5e26;
  --card: #f3ede2;
  --card-ink: #13202f;
  --card-red: #b4232f;
  --felt: url(/assets/photos/carpet.webp);
}

/* type: condensed casino signage instead of the generic wide crypto face */
h1, h2, h3, h4 { font-weight: 800; letter-spacing: 0.005em; line-height: 1; }
h1 { font-size: clamp(2.8rem, 6.4vw, 5.4rem); }
h2 { font-size: clamp(2.1rem, 4vw, 3.4rem); }
h3 { font-size: clamp(1.3rem, 1.8vw, 1.6rem); letter-spacing: 0.01em; }
.sec-head.center { margin-left: auto; margin-right: auto; text-align: center; }
.center { text-align: center; }

/* fine grain over everything, like light on a carpet */
body::after { content: ""; position: fixed; inset: 0; z-index: 70; pointer-events: none; opacity: 0.07;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }

/* buttons: brass-rimmed, not pills */
.btn { border-radius: 6px; letter-spacing: 0.01em; }
.btn-gold { background: linear-gradient(180deg, #ffb24a 0%, #f7931a 55%, #d97a06 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), inset 0 0 0 1px rgba(120, 60, 0, 0.35), 0 0 0 2px rgba(201, 162, 90, 0.35), 0 12px 30px -12px rgba(247, 147, 26, 0.8); }
.btn-gold:hover { background: linear-gradient(180deg, #ffc46e 0%, #ffa431 55%, #e88a12 100%); }
.btn-line { border-color: rgba(201, 162, 90, 0.55); color: var(--bone); }
.btn-line:hover { border-color: var(--brass-2); background: rgba(201, 162, 90, 0.08); }
.fchip, .seg button, .board-tools select { border-radius: 6px; }
.fchip[aria-pressed="true"], .seg button[aria-pressed="true"] { box-shadow: 0 0 0 2px rgba(201, 162, 90, 0.4); }
.badge { border-radius: 4px; }

/* felt sections: the carpet under a dark wash */
.felt { background: linear-gradient(180deg, rgba(11, 22, 38, 0.92), rgba(11, 22, 38, 0.86)), var(--felt) center / 380px repeat; border-block: 1px solid rgba(201, 162, 90, 0.18); }

/* ornament divider */
.ornament { display: flex; justify-content: center; color: var(--brass); margin: 56px auto 34px; opacity: 0.9; }
.ornament svg { max-width: 100%; height: auto; }

/* ---------- hero: neon sign and a bulb strip ---------- */
.hero-home .hero-copy { max-width: 760px; }
.neon { font: 400 clamp(1.4rem, 3vw, 2.3rem)/1.1 var(--neon); color: #ffe2b8; letter-spacing: 0.04em; margin: 0 0 22px; text-shadow: 0 0 4px #fff3df, 0 0 12px var(--btc), 0 0 28px var(--btc), 0 0 52px rgba(247, 147, 26, 0.7); }
.neon span { display: inline-block; }
@media (prefers-reduced-motion: no-preference) {
  .neon span { animation: ignite 1.6s steps(1) both; }
  .neon span:nth-child(2) { animation-delay: 0.35s; }
  .neon span:nth-child(3) { animation-delay: 0.7s, 6s; animation-name: ignite, hum; animation-duration: 1.6s, 9s; animation-iteration-count: 1, infinite; }
}
@keyframes ignite { 0% { opacity: 0.08; text-shadow: none; } 12% { opacity: 1; } 18% { opacity: 0.15; text-shadow: none; } 30% { opacity: 1; } 36% { opacity: 0.3; } 48%, 100% { opacity: 1; } }
@keyframes hum { 0%, 93%, 100% { opacity: 1; } 94% { opacity: 0.35; } 95% { opacity: 1; } 96.5% { opacity: 0.5; } 97% { opacity: 1; } }
.hero h1 { font-size: clamp(2.9rem, 6.6vw, 6rem); line-height: 0.95; text-transform: none; }
.hero h1 em { color: var(--btc); text-shadow: 0 0 30px rgba(247, 147, 26, 0.35); }
.marquee-bulbs { position: absolute; left: 0; right: 0; bottom: 0; height: 18px; background: radial-gradient(circle at 9px 9px, #ffd28f 0 3px, rgba(247, 147, 26, 0.55) 4px, transparent 7px) 0 0 / 26px 18px repeat-x, linear-gradient(180deg, #1a1206, #0d0904); border-top: 1px solid var(--brass-dk); }
@media (prefers-reduced-motion: no-preference) { .marquee-bulbs { animation: chase 1.2s steps(2) infinite; } }
@keyframes chase { to { background-position: 13px 0, 0 0; } }
.hero-sm h1 { font-size: clamp(2.6rem, 5.6vw, 4.6rem); }

/* ---------- the Match Machine as a cabinet ---------- */
.machine-sec { background: radial-gradient(60% 55% at 50% 30%, rgba(247, 147, 26, 0.16), transparent 70%), linear-gradient(180deg, rgba(6, 13, 23, 0.9), rgba(6, 13, 23, 0.96)), var(--felt) center / 380px repeat; }
.machine { max-width: 860px; padding: 0 clamp(14px, 3vw, 28px) clamp(18px, 3vw, 26px); border-radius: 46px 46px 22px 22px;
  background: linear-gradient(90deg, #0a1730 0%, #1c3a6a 18%, #2a5196 50%, #1c3a6a 82%, #0a1730 100%);
  border: 0; box-shadow: inset 0 0 0 3px #b9c3d3, inset 0 0 0 6px #4d5a70, inset 0 0 0 8px #c9d2df, 0 50px 90px -40px rgba(247, 147, 26, 0.45), 0 30px 60px -20px rgba(0, 0, 0, 0.8); }
.cab-crown { position: relative; margin: 0 auto 18px; padding: 18px 20px 14px; border-radius: 40px 40px 12px 12px; background: linear-gradient(180deg, #2a0f04, #120702); box-shadow: inset 0 0 0 2px var(--brass), inset 0 0 30px rgba(247, 147, 26, 0.25); text-align: center; translate: 0 -2px; }
.cab-sign { margin: 6px 0; font: 400 clamp(1.4rem, 4.2vw, 2.6rem)/1 var(--neon); color: #ffe2b8; letter-spacing: 0.06em; text-shadow: 0 0 4px #fff, 0 0 12px var(--btc), 0 0 26px var(--btc), 0 0 48px rgba(247, 147, 26, 0.7); }
.cab-sign span:last-child { color: #ffd0d5; text-shadow: 0 0 4px #fff, 0 0 12px var(--red), 0 0 26px var(--red), 0 0 48px rgba(224, 56, 79, 0.6); }
.cab-crown .bulbs { display: flex; justify-content: space-between; gap: 4px; }
.cab-crown .bulbs i { width: 10px; height: 10px; border-radius: 50%; background: #6b4512; box-shadow: inset 0 -2px 3px rgba(0, 0, 0, 0.5); }
.machine[data-state="idle"] .cab-crown .bulbs i:nth-child(odd) { background: #ffcf8a; box-shadow: 0 0 8px var(--btc); }
@media (prefers-reduced-motion: no-preference) {
  .machine[data-state="idle"] .cab-crown .bulbs i { animation: bulb 1.4s steps(2) infinite; }
  .machine[data-state="idle"] .cab-crown .bulbs i:nth-child(even) { animation-delay: 0.7s; }
  .machine[data-state="spinning"] .cab-crown .bulbs i { animation: bulb 0.18s steps(2) infinite; }
  .machine[data-state="spinning"] .cab-crown .bulbs i:nth-child(3n) { animation-delay: 0.06s; }
  .machine[data-state="spinning"] .cab-crown .bulbs i:nth-child(3n + 1) { animation-delay: 0.12s; }
}
.machine[data-state="done"] .cab-crown .bulbs i { background: #ffd28f; box-shadow: 0 0 10px var(--btc); }
.machine-top { display: none; }
.jackpot { height: 68px; border-radius: 8px; background: #140603; border: 2px solid #3b1a0a; box-shadow: inset 0 0 24px #000; background-image: radial-gradient(rgba(247, 147, 26, 0.12) 1px, transparent 1.4px); background-size: 5px 5px; }
.jackpot output { font: 700 clamp(1.15rem, 2.8vw, 1.9rem)/1 var(--display); letter-spacing: 0.08em; text-transform: uppercase; color: #ffb547; text-shadow: 0 0 10px rgba(247, 147, 26, 0.8); }
.jackpot output.idle { font: 600 clamp(0.95rem, 2vw, 1.15rem)/1.2 var(--display); letter-spacing: 0.08em; color: #c9874a; text-shadow: 0 0 6px rgba(247, 147, 26, 0.4); }
.machine-body { grid-template-columns: 1fr 64px; gap: 14px; align-items: center; }
.reels-bezel { position: relative; padding: 12px; border-radius: 16px; background: linear-gradient(180deg, #d9dee6, #8b95a5 40%, #e8ecf2 60%, #7a8494); box-shadow: inset 0 2px 0 #fff, 0 10px 24px rgba(0, 0, 0, 0.5); }
.reels { gap: 8px; }
.reel-lbl { color: #0d1a2e; font: 800 0.95rem/1 var(--display); letter-spacing: 0.08em; text-transform: uppercase; }
.reel-win { border: 0; border-radius: 6px; height: 222px; background: linear-gradient(180deg, #776c5c 0%, #d9d1c1 16%, #fffaf0 50%, #d9d1c1 84%, #776c5c 100%); box-shadow: inset 0 14px 18px -8px rgba(0, 0, 0, 0.75), inset 0 -14px 18px -8px rgba(0, 0, 0, 0.75), inset 0 0 0 2px #2b2014; }
.reel-win::before { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(105deg, transparent 30%, rgba(255, 255, 255, 0.35) 42%, transparent 50%); }
.reel-win::after { height: 74px; border: 0; background: none; box-shadow: none; }
.payline { position: absolute; left: 4px; right: 4px; top: calc(12px + 0.95rem + 8px + 111px); height: 2px; translate: 0 -1px; background: linear-gradient(90deg, transparent, var(--red) 6%, var(--red) 94%, transparent); box-shadow: 0 0 8px var(--red); pointer-events: none; z-index: 3; }
.payline::before, .payline::after { content: ""; position: absolute; top: -6px; border: 7px solid transparent; }
.payline::before { left: -6px; border-left-color: var(--red); }
.payline::after { right: -6px; border-right-color: var(--red); }
.sym { height: 74px; color: #1b1308; font: 800 1rem/1 var(--display); letter-spacing: 0.04em; text-transform: uppercase; }
.sym .ph { font-size: 1.9rem; color: #b45f06; filter: drop-shadow(0 1px 0 rgba(255, 255, 255, 0.6)); }
.reel-btns button { border-radius: 6px; background: linear-gradient(180deg, #2a3f5f, #13233b); border: 1px solid #0a1424; color: #e8ecf2; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18); }
.lever { padding-top: 0; justify-content: center; }
.lever-track { width: 12px; min-height: 230px; background: linear-gradient(90deg, #6b7383, #eef1f5, #6b7383); box-shadow: 0 0 0 2px #2a3140; }
.lever-knob { width: 58px; height: 58px; background: radial-gradient(circle at 34% 28%, #fff1d6 0%, #ff7a8a 18%, var(--red) 45%, #6d0f1c 100%); box-shadow: 0 10px 24px -6px rgba(224, 56, 79, 0.75), inset 0 -5px 10px rgba(0, 0, 0, 0.35); }
.lever-base { width: 50px; height: 28px; border-radius: 8px; background: linear-gradient(180deg, #e8ecf2, #6b7383); border: 0; }
.machine-foot { margin-top: 16px; padding: 12px 14px; border-radius: 10px; background: linear-gradient(180deg, #0d1a2e, #07101d); box-shadow: inset 0 0 0 2px #3c4b63; gap: 12px; }
.cab-plate { font: 700 0.86rem/1.2 var(--display); letter-spacing: 0.1em; text-transform: uppercase; color: var(--brass-2); padding: 6px 10px; border: 1px solid var(--brass-dk); border-radius: 4px; background: linear-gradient(180deg, rgba(201, 162, 90, 0.15), rgba(201, 162, 90, 0.04)); }
.btn-spin { min-width: 220px; min-height: 56px; font: 800 1.25rem/1 var(--display); letter-spacing: 0.06em; text-transform: uppercase; }
.cab-sound { width: 44px; height: 44px; border-radius: 6px; border: 1px solid #3c4b63; background: #0b1626; color: var(--bone-2); cursor: pointer; font-size: 1.2rem; }
.cab-sound[aria-pressed="true"] { color: var(--btc); border-color: var(--btc); }
.cab-tray { position: relative; height: 70px; margin: 14px auto 0; width: min(420px, 90%); border-radius: 0 0 40px 40px; background: linear-gradient(180deg, #05090f, #18263b); box-shadow: inset 0 12px 18px rgba(0, 0, 0, 0.9), 0 0 0 3px #b9c3d3, 0 0 0 6px #4d5a70; overflow: hidden; }
.tray-slot { position: absolute; left: 20%; right: 20%; top: 0; height: 6px; background: #000; border-radius: 0 0 6px 6px; }
.cab-tray .chip { position: absolute; top: 14px; --s: 46px; }
@media (prefers-reduced-motion: no-preference) { .cab-tray .chip { animation: drop 0.7s cubic-bezier(0.3, 1.5, 0.5, 1) both; } }
@keyframes drop { from { transform: translateY(-90px) rotate(-200deg); } }
.results { position: relative; margin-top: 34px; width: min(1120px, calc(100vw - 2 * var(--gut))); left: 50%; translate: -50% 0; }
.res .acts { flex-wrap: wrap; }
.res { border-radius: 4px; background: var(--card); color: var(--card-ink); border: 0; padding: 22px 22px 20px; box-shadow: 0 18px 40px -16px rgba(0, 0, 0, 0.8);
  -webkit-mask: radial-gradient(circle 9px at 0 50%, #0000 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle 9px at 100% 50%, #0000 98%, #000) right / 51% 100% no-repeat;
  mask: radial-gradient(circle 9px at 0 50%, #0000 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle 9px at 100% 50%, #0000 98%, #000) right / 51% 100% no-repeat; }
.res.best { background: #fff6e4; box-shadow: 0 0 0 3px var(--btc) inset, 0 18px 40px -16px rgba(0, 0, 0, 0.8); }
.res h3 { font-size: 1.5rem; }
.res h3 a { color: var(--card-ink); }
.res .small.muted { color: #6b6455; font: 700 0.8rem/1 var(--display); letter-spacing: 0.12em; text-transform: uppercase; }
.res-head .pct { font: 800 2.2rem/0.9 var(--display); color: #c0620a; }
.res-head .pct small { color: #6b6455; }
.res ul { color: #2d3a4a; border-top: 2px dashed rgba(19, 32, 47, 0.2); padding-top: 12px; }
.res li .ph { color: #c0620a; }
.res .bonus { background: #13202f; color: #ffe2b8; border-radius: 4px; font-weight: 650; }
.res .warn { color: var(--card-red); }
.res .btn-line { color: var(--card-ink); border-color: rgba(19, 32, 47, 0.35); background: transparent; }
.res .cmp-toggle { color: var(--card-ink); border-color: rgba(19, 32, 47, 0.35); border-radius: 6px; }
@media (max-width: 860px) {
  .machine { border-radius: 30px 30px 16px 16px; }
  .machine-body { grid-template-columns: 1fr; }
  .reel-win { height: 174px; }
  .sym { height: 58px; font-size: 0.78rem; }
  .sym .ph { font-size: 1.35rem; }
  .payline { top: calc(12px + 0.95rem + 8px + 87px); }
  .machine-foot { flex-wrap: wrap; }
  .cab-plate { width: 100%; text-align: center; }
  .btn-spin { flex: 1; min-width: 0; }
  .cab-sound { flex: none; height: 56px; width: 52px; }
}

/* ---------- top three as dealt playing cards ---------- */
.deal { display: flex; justify-content: center; align-items: flex-end; gap: clamp(10px, 2vw, 26px); perspective: 1400px; padding: 18px 0 8px; }
.pcard { position: relative; width: min(31%, 320px); min-height: 470px; border-radius: 14px; background: var(--card); color: var(--card-ink); box-shadow: 0 2px 0 #d8cdb8, 0 30px 60px -24px rgba(0, 0, 0, 0.9);
  transform: rotate(calc(var(--pos) * 4deg)) translateY(calc(var(--pos) * var(--pos) * 18px)); transform-style: preserve-3d; transition: transform 0.6s var(--ease); }
.pcard.ace { min-height: 510px; z-index: 2; box-shadow: 0 0 0 3px var(--btc), 0 30px 70px -20px rgba(247, 147, 26, 0.55); }
.pcard::before { content: ""; position: absolute; inset: 10px; border: 1.5px solid rgba(19, 32, 47, 0.22); border-radius: 9px; pointer-events: none; }
.pcard:hover { transform: rotate(0deg) translateY(-14px) scale(1.02); z-index: 3; }
.pcard .idx { position: absolute; display: flex; flex-direction: column; align-items: center; font: 800 2rem/0.9 var(--display); color: var(--card-ink); }
.pcard .idx i { font-style: normal; font-size: 1.5rem; }
.pcard.red .idx { color: var(--card-red); }
.pcard .idx.tl { left: 18px; top: 16px; }
.pcard .idx.br { right: 18px; bottom: 16px; rotate: 180deg; }
.pc-face { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; padding: 48px 34px 34px; height: 100%; }
.pc-place { font: 800 0.8rem/1 var(--display); letter-spacing: 0.2em; text-transform: uppercase; color: #8a7f6a; }
.pc-face h3 { margin: 4px 0 0; font-size: 1.9rem; }
.pc-face h3 a { color: var(--card-ink); text-decoration: none; }
.pc-score { margin: 0; color: #5c5547; font-size: 0.9rem; }
.pc-score b { font: 800 2.6rem/1 var(--display); color: var(--card-ink); margin-right: 4px; }
.pc-bonus { margin: 0; font-weight: 700; line-height: 1.35; min-height: 2.7em; }
.pc-meta { margin: 0; font-size: 0.85rem; color: #5c5547; }
.pc-face .btn { width: 100%; margin-top: auto; }
.pc-link { font-size: 0.88rem; font-weight: 650; color: #a5530a; }
.pc-back { position: absolute; inset: 0; border-radius: 14px; background: var(--ink-2) url(/assets/photos/cardback.webp) center / cover; transform: rotateY(180deg); backface-visibility: hidden; box-shadow: inset 0 0 0 6px var(--card); }
.pc-face, .pcard .idx { backface-visibility: hidden; }
@media (prefers-reduced-motion: no-preference) {
  .deal[data-ready] .pcard { transform: translate(calc(var(--pos) * -105%), -160px) rotateY(180deg) rotate(calc(var(--pos) * -6deg)); opacity: 0; transition: transform 0.9s var(--ease), opacity 0.3s; }
  .deal[data-ready].dealt .pcard { transform: rotate(calc(var(--pos) * 4deg)) translateY(calc(var(--pos) * var(--pos) * 18px)); opacity: 1; }
  .deal[data-ready].dealt .pcard:nth-child(1) { transition-delay: 0.15s; }
  .deal[data-ready].dealt .pcard:nth-child(3) { transition-delay: 0.3s; }
  .deal[data-ready].dealt .pcard:hover { transform: rotate(0deg) translateY(-14px) scale(1.02); transition-delay: 0s; }
}
@media (max-width: 860px) {
  .deal { flex-direction: column; align-items: center; gap: 22px; }
  .pcard, .pcard.ace { width: min(100%, 360px); min-height: 0; transform: none; }
  .pcard.ace { order: -1; }
  .deal[data-ready] .pcard, .deal[data-ready].dealt .pcard { transform: none !important; opacity: 1 !important; }
}
.slips-title { text-align: center; color: var(--brass-2); font-size: 1.6rem; margin-bottom: 22px; }

/* ---------- ranking rows as betting slips ---------- */
.row { border-radius: 6px; border: 0; background: linear-gradient(90deg, #13253f, #102036); box-shadow: inset 0 0 0 1px rgba(201, 162, 90, 0.22);
  -webkit-mask: radial-gradient(circle 8px at 0 50%, #0000 97%, #000) left / 51% 100% no-repeat, radial-gradient(circle 8px at 100% 50%, #0000 97%, #000) right / 51% 100% no-repeat;
  mask: radial-gradient(circle 8px at 0 50%, #0000 97%, #000) left / 51% 100% no-repeat, radial-gradient(circle 8px at 100% 50%, #0000 97%, #000) right / 51% 100% no-repeat; }
.row:hover { box-shadow: inset 0 0 0 1px rgba(247, 147, 26, 0.6); }
.row .rk { font: 800 2.3rem/1 var(--display); color: var(--brass); }
.row:nth-child(-n + 3) .rk { color: var(--brass); }
.board .row[data-rank="1"] .rk, .board .row[data-rank="2"] .rk, .board .row[data-rank="3"] .rk { color: var(--btc); }
.row .nm h3 { font-size: 1.45rem; }
.row .sc b { font: 800 2.1rem/1 var(--display); }
.row .ac { position: relative; padding-left: 18px; border-left: 2px dashed rgba(201, 162, 90, 0.3); align-self: stretch; }
.cmp-toggle { border-radius: 6px; }
@media (max-width: 980px) {
  .row .ac { border-left: 0; padding-left: 0; padding-top: 12px; border-top: 2px dashed rgba(201, 162, 90, 0.3); }
  .row .rk { font-size: 1.7rem; }
}

/* ---------- payout race on a track ---------- */
.track-sec { background: linear-gradient(180deg, #07101d, #0a1626); border-block: 1px solid rgba(201, 162, 90, 0.2); }
.track { height: 46px; border-radius: 4px; background: repeating-linear-gradient(90deg, transparent 0 calc(12.5% - 1px), rgba(237, 232, 223, 0.08) calc(12.5% - 1px) 12.5%), linear-gradient(180deg, #123a2e, #0d2c23); border: 0; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.5), inset 0 3px 8px rgba(0, 0, 0, 0.5); }
.track::before { content: var(--lane); position: absolute; left: 8px; top: 50%; translate: 0 -50%; font: 800 1.4rem/1 var(--display); color: rgba(237, 232, 223, 0.18); }
.track::after { right: 10px; top: 0; bottom: 0; width: 14px; opacity: 1; border-radius: 0; background: conic-gradient(#ede8df 25%, #0b1626 0 50%, #ede8df 0 75%, #0b1626 0) 0 0 / 7px 7px; }
.lane .track { border-left: 4px solid var(--brass); }
.runner { left: 28px; }
.race[data-go] .runner { left: calc(100% - 66px); }
@media (prefers-reduced-motion: no-preference) { .race[data-go] .runner .chip { animation: roll var(--t, 2s) cubic-bezier(0.45, 0.05, 0.25, 1) both; } }
@keyframes roll { to { rotate: 900deg; } }
.lane-time { font-family: var(--display); font-size: 1.3rem; font-weight: 800; }
.lane.won .lane-name span::after { content: "1st"; margin-left: 8px; padding: 2px 6px; border-radius: 4px; background: var(--btc); color: var(--btc-ink); font: 800 0.75rem/1 var(--display); letter-spacing: 0.06em; }

/* ---------- bonus scale ---------- */
.scale-wrap { display: flex; flex-direction: column; align-items: center; gap: 16px; }
.scale { position: relative; width: min(100%, 420px); aspect-ratio: 4 / 3; }
.scale-stand { position: absolute; inset: 0; width: 100%; height: 100%; }
.beam { position: absolute; left: 6%; right: 6%; top: 13%; height: 0; rotate: var(--tilt); transition: rotate 0.9s cubic-bezier(0.3, 1.4, 0.5, 1); }
.beam .bar { position: absolute; left: 0; right: 0; top: -4px; height: 8px; border-radius: 4px; background: linear-gradient(180deg, #e6c27a, #8a6a2c); }
.pan { position: absolute; top: 0; width: 34%; rotate: calc(var(--tilt) * -1); transform-origin: 50% 0; transition: rotate 0.9s cubic-bezier(0.3, 1.4, 0.5, 1); }
.pan-l { left: -6%; }
.pan-r { right: -6%; }
.pan .strings { display: block; height: 120px; margin: 0 auto; width: 70%; background: linear-gradient(to bottom right, transparent 49.4%, var(--brass) 49.6% 50.4%, transparent 50.6%) left / 50% 100% no-repeat, linear-gradient(to bottom left, transparent 49.4%, var(--brass) 49.6% 50.4%, transparent 50.6%) right / 50% 100% no-repeat; }
.pan .dish { position: relative; height: 18px; border-radius: 0 0 60px 60px / 0 0 18px 18px; background: linear-gradient(180deg, #e6c27a, #7d5e26); }
.pan .stack-col { position: absolute; bottom: 14px; left: 50%; translate: -50% 0; height: auto; }
.pan .stack-col i { width: 60px; height: 9px; }
.scale-read { display: flex; gap: 40px; text-align: center; }
.scale-read b { display: block; font: 800 2rem/1 var(--display); }
.scale-read div:first-child b { color: var(--btc); }
.scale-read div:last-child b { color: #ff8a9a; }
.scale-read small { color: var(--bone-3); }
.truth { align-items: center; }

/* ---------- coins you can flip ---------- */
.coins { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; perspective: 900px; }
.coin3d { display: flex; flex-direction: column; align-items: center; gap: 16px; text-decoration: none; }
.coin { position: relative; width: 150px; height: 150px; transform-style: preserve-3d; transition: transform 0.9s cubic-bezier(0.3, 1.3, 0.5, 1); }
.coin3d:hover .coin, .coin3d:focus-visible .coin { transform: rotateY(180deg); }
.coin .face { position: absolute; inset: 0; border-radius: 50%; display: grid; place-items: center; backface-visibility: hidden; box-shadow: inset 0 0 0 6px rgba(255, 255, 255, 0.25), inset 0 0 0 8px rgba(0, 0, 0, 0.25), inset 0 -10px 24px rgba(0, 0, 0, 0.35), 0 16px 30px -12px rgba(0, 0, 0, 0.8); }
.coin .face::before { content: ""; position: absolute; inset: 14px; border-radius: 50%; border: 2px dashed rgba(0, 0, 0, 0.25); }
.coin .front { transform: translateZ(6px); }
.coin .back { transform: rotateY(180deg) translateZ(6px); flex-direction: column; }
.coin .face b { font: 800 4rem/1 var(--display); color: rgba(0, 0, 0, 0.55); text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); }
.coin .back { display: flex; justify-content: center; align-items: center; }
.coin .back b { font-size: 3.2rem; }
.coin .back small { font: 700 0.85rem/1 var(--display); letter-spacing: 0.12em; text-transform: uppercase; color: rgba(0, 0, 0, 0.55); }
.c-btc .face { background: radial-gradient(circle at 35% 30%, #ffe0a3, #f7931a 45%, #9c5600); }
.c-eth .face { background: radial-gradient(circle at 35% 30%, #f1f3ff, #9aa6d6 45%, #3c4677); }
.c-usdt .face { background: radial-gradient(circle at 35% 30%, #dcfff3, #50af95 45%, #1d5c4b); }
.c-sol .face { background: radial-gradient(circle at 35% 30%, #f3e6ff, #9945ff 40%, #14a3a0 100%); }
.coin-lbl { text-align: center; }
.coin-lbl b { display: block; font: 800 1.6rem/1 var(--display); color: var(--bone); }
.coin-lbl small { color: var(--bone-2); }
.coin-more { display: flex; gap: 26px; justify-content: center; margin-top: 30px; }
@media (max-width: 760px) { .coins { grid-template-columns: repeat(2, 1fr); } .coin { width: 120px; height: 120px; } .coin .face b { font-size: 3.2rem; } }

/* ---------- games as a hand of cards ---------- */
.hand-sec { overflow: hidden; }
.hand { position: relative; display: flex; justify-content: center; height: 470px; margin-top: 10px; }
.gcard { position: absolute; bottom: 70px; left: 50%; width: 200px; height: 296px; margin-left: -100px; border-radius: 12px; background: var(--card); padding: 10px; text-decoration: none; color: var(--card-ink);
  transform: translateX(calc(var(--k) * 152px)) translateY(calc(var(--k) * var(--k) * 7px)) rotate(calc(var(--k) * 5deg)); box-shadow: -8px 18px 34px -16px rgba(0, 0, 0, 0.9); transition: transform 0.45s var(--ease), box-shadow 0.3s; }
.gcard:hover, .gcard:focus-visible { transform: translateX(calc(var(--k) * 152px)) translateY(-40px) rotate(0deg) scale(1.05); z-index: 9; box-shadow: 0 0 0 3px var(--btc), 0 30px 50px -18px rgba(0, 0, 0, 0.9); }
.g-art { display: block; height: 72%; border-radius: 7px; overflow: hidden; }
.g-art img { width: 100%; height: 100%; object-fit: cover; }
.gcard .idx { position: absolute; left: 16px; top: 14px; z-index: 2; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--card); font-size: 1.1rem; color: var(--card-ink); }
.gcard.red .idx { color: var(--card-red); }
.g-name { display: block; padding: 10px 4px 0; text-align: center; }
.g-name b { display: block; font: 800 1.5rem/1 var(--display); }
.g-name small { font-size: 0.8rem; color: #5c5547; }
@media (max-width: 860px) {
  .hand { height: auto; display: grid; grid-auto-flow: column; grid-auto-columns: 200px; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 10px 2px 20px; justify-content: start; }
  .gcard { position: relative; left: auto; margin: 0; transform: none; scroll-snap-align: start; }
  .gcard:hover { transform: translateY(-6px); }
}

/* ---------- house menu ---------- */
.menu-wrap { display: grid; grid-template-columns: 1.3fr 1fr; gap: clamp(28px, 5vw, 70px); align-items: center; }
.menu-board { position: relative; padding: clamp(28px, 4vw, 48px); background: radial-gradient(120% 80% at 50% 0%, rgba(201, 162, 90, 0.12), transparent 60%), #0a1424; box-shadow: inset 0 0 0 2px var(--brass), inset 0 0 0 7px #0a1424, inset 0 0 0 8px rgba(201, 162, 90, 0.5); }
.menu-board .corner { position: absolute; width: 26px; height: 26px; border: 2px solid var(--brass); }
.menu-board .corner.tl { left: 14px; top: 14px; border-right: 0; border-bottom: 0; }
.menu-board .corner.tr { right: 14px; top: 14px; border-left: 0; border-bottom: 0; }
.menu-board .corner.bl { left: 14px; bottom: 14px; border-right: 0; border-top: 0; }
.menu-board .corner.br { right: 14px; bottom: 14px; border-left: 0; border-top: 0; }
.menu-title { text-align: center; font: 400 clamp(1.6rem, 3vw, 2.2rem)/1 var(--neon); color: var(--brass-2); margin: 0 0 24px; letter-spacing: 0.05em; }
.menu-board ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.menu-board a { display: flex; align-items: baseline; gap: 10px; padding: 10px 0; text-decoration: none; }
.dish-name { font: 800 1.45rem/1 var(--display); color: var(--bone); white-space: nowrap; }
.leader { flex: 1; border-bottom: 2px dotted rgba(201, 162, 90, 0.5); translate: 0 -4px; min-width: 20px; }
.dish-q { color: var(--bone-2); font-size: 0.95rem; text-align: right; }
.menu-board a:hover .dish-name { color: var(--btc); }
.menu-foot { text-align: center; font-size: 0.85rem; color: var(--bone-3); margin: 22px 0 0; }
@media (max-width: 860px) { .menu-wrap { grid-template-columns: 1fr; } .menu-side { order: -1; } .menu-board a { flex-wrap: wrap; } .leader { display: none; } .dish-q { width: 100%; text-align: left; } }

/* deco frame for photos */
.deco-frame { border: 0; box-shadow: 0 0 0 2px var(--brass), 0 0 0 8px var(--ink-0), 0 0 0 9px rgba(201, 162, 90, 0.45); border-radius: 2px; }

/* review hero card reads as a playing card too */
.rv-card { border-radius: 14px; background: var(--card); color: var(--card-ink); border: 0; box-shadow: 0 0 0 3px var(--btc), 0 30px 70px -24px rgba(0, 0, 0, 0.9); }
.rv-card .bonus small { color: #6b6455; }
.rv-card .dial .bg { stroke: #e3d9c6; }
.rv-card .dial b { color: var(--card-ink); font-family: var(--display); font-weight: 800; font-size: 2.8rem; }
.rv-card .small.muted { color: #5c5547; }
.rv-card .cmp-toggle { color: var(--card-ink); border-color: rgba(19, 32, 47, 0.35); }
.facts dd, .scorebar b { font-family: var(--display); font-size: 1.25rem; font-weight: 800; }
.facts dd { font-size: 1.15rem; }

/* footer heading and misc */
.foot h2 { font-family: var(--display); font-size: 1rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--brass); }
.brand b { font-family: var(--display); font-size: 1.35rem; font-weight: 800; letter-spacing: 0.01em; }
.verdict { border-radius: 6px; }
.panel, .card, .faq details, .net { border-radius: 8px; }
.card .ph { color: var(--brass-2); }
.numbered li::before { border-radius: 4px; font-family: var(--display); font-size: 1.2rem; background: transparent; border: 1.5px solid var(--brass); color: var(--brass-2); }

/* ---------- start page as one floor (2026-10-13, third pass) ----------
   One carpet under every station, no section bands or rules. Each station stands in its own soft pool of light that
   reaches into the next one, so the page reads as one room you walk through. */
.home-floor .floor { position: relative; overflow-x: clip; background: linear-gradient(180deg, rgba(10, 20, 35, 0.9) 0%, rgba(9, 18, 31, 0.92) 45%, rgba(6, 12, 21, 0.97) 100%), var(--felt) center top / 380px repeat; }
.home-floor .stage { position: relative; isolation: isolate; background: none; border: 0; padding: clamp(72px, 9vw, 124px) 0; }
.home-floor .stage::before { content: ""; position: absolute; z-index: -1; left: 50%; top: 50%; width: min(1400px, 140vw); height: 130%; translate: -50% -50%; pointer-events: none;
  background: radial-gradient(ellipse 42% 46% at 50% 55%, var(--pool, rgba(255, 214, 160, 0.07)), transparent 72%); }
.home-floor .stage-machine { --pool: rgba(247, 147, 26, 0.2); padding-top: clamp(48px, 6vw, 80px); }
.home-floor .stage-cards { --pool: rgba(255, 226, 184, 0.1); }
.home-floor .stage-track { --pool: rgba(80, 175, 140, 0.09); }
.home-floor .stage-scale { --pool: rgba(230, 194, 122, 0.1); }
.home-floor .stage-coins { --pool: rgba(247, 147, 26, 0.09); }
.home-floor .stage-hand { --pool: rgba(255, 226, 184, 0.08); overflow-x: clip; overflow-y: visible; }
.home-floor .stage-menu { --pool: rgba(230, 194, 122, 0.09); }
.home-floor .stage-method, .home-floor .stage-faq { --pool: rgba(255, 214, 160, 0.05); }
.home-floor .stage + .stage { padding-top: clamp(24px, 4vw, 56px); }

/* the same header beat everywhere: a small brass fan, the title, one line */
.home-floor .sec-head.center { max-width: 720px; margin-bottom: clamp(30px, 4vw, 48px); }
.home-floor .sec-head.center h2::before { content: ""; display: block; width: 64px; height: 22px; margin: 0 auto 18px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 22'%3E%3Cg fill='none' stroke='%23c9a25a' stroke-width='1.3'%3E%3Cpath d='M32 20 18 8M32 20 25 4M32 20V2M32 20 39 4M32 20 46 8M2 20h22M40 20h22'/%3E%3C/g%3E%3Crect x='29' y='17' width='6' height='6' transform='rotate(45 32 20)' fill='%23f7931a'/%3E%3C/svg%3E") center / contain no-repeat; }
.home-floor .sec-head.center p { margin-left: auto; margin-right: auto; max-width: 60ch; }

/* hero melts into the floor instead of ending on a band */
.home-floor .hero::before { background: linear-gradient(90deg, rgba(6, 13, 23, 0.95) 0%, rgba(6, 13, 23, 0.7) 42%, rgba(6, 13, 23, 0.05) 75%), linear-gradient(0deg, #0a1423 0%, rgba(10, 20, 35, 0.6) 14%, rgba(10, 20, 35, 0) 38%); }
.home-floor .marquee-bulbs { background: radial-gradient(circle at 9px 9px, #ffd28f 0 3px, rgba(247, 147, 26, 0.5) 4px, transparent 7px) 0 0 / 26px 18px repeat-x; border: 0;
  -webkit-mask: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent); mask: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent); bottom: 10px; }
@media (max-width: 760px) { .home-floor .hero::before { background: linear-gradient(0deg, #0a1423 6%, rgba(6, 13, 23, 0.78) 55%, rgba(6, 13, 23, 0.35) 100%); } }

/* stations without their own boxes */
.home-floor .ornament { margin: 64px auto 26px; }
.home-floor .truth { gap: clamp(28px, 5vw, 72px); }
.menu-solo { max-width: 740px; margin: 0 auto; }
.home-floor .stage-method .deco-frame { box-shadow: 0 0 0 2px var(--brass), 0 0 0 8px #0a1423, 0 0 0 9px rgba(201, 162, 90, 0.45); }
.home-floor .faq { margin: 0 auto; }
.home-floor .faq details { background: rgba(17, 34, 57, 0.72); }
.home-floor .rg { border-top: 0; background: linear-gradient(180deg, #060c15, var(--ink-0)); }
/* the carpet starts under the hero photo, the photo fades into it */
.home-floor main { background: linear-gradient(180deg, rgba(10, 20, 35, 0.9) 0%, rgba(9, 18, 31, 0.92) 40%, rgba(6, 12, 21, 0.97) 100%), var(--felt) center top / 380px repeat; }
.home-floor .floor { background: none; }
.home-floor .hero { background: none; }
.home-floor .hero-photo { -webkit-mask: linear-gradient(180deg, #000 58%, transparent 98%); mask: linear-gradient(180deg, #000 58%, transparent 98%); }
.home-floor .hero::before { background: linear-gradient(90deg, rgba(6, 13, 23, 0.92) 0%, rgba(6, 13, 23, 0.62) 42%, rgba(6, 13, 23, 0) 75%); }
@media (max-width: 760px) { .home-floor .hero::before { background: linear-gradient(0deg, rgba(10, 20, 35, 0.2) 0%, rgba(6, 13, 23, 0.75) 45%, rgba(6, 13, 23, 0.35) 100%); } }
.home-floor .hero::before { -webkit-mask: linear-gradient(180deg, #000 55%, transparent 100%); mask: linear-gradient(180deg, #000 55%, transparent 100%); }
.home-floor .stage { padding: clamp(44px, 5vw, 76px) 0; }
.home-floor .stage + .stage { padding-top: clamp(36px, 4vw, 64px); }
.home-floor .stage-machine { padding-top: clamp(36px, 4vw, 60px); }

/* ---------- casino logos as tiles (replaces the chip ring) ---------- */
.chip { border-radius: 22%; background: var(--c, #13263f); box-shadow: 0 0 0 1.5px rgba(201, 162, 90, 0.55), 0 8px 18px -8px rgba(0, 0, 0, 0.7); overflow: hidden; }
.chip::before { display: none; }
.chip img { width: 100%; height: 100%; border-radius: 0; background: none; object-fit: cover; }
.chip span { width: 100%; height: 100%; border-radius: 0; background: var(--c); font: 800 calc(var(--s, 52px) * 0.42)/1 var(--display); color: #0b1626; letter-spacing: 0.02em; }
.chip.round { border-radius: 50%; }
.track .runner .chip { rotate: 0deg; }
@media (prefers-reduced-motion: no-preference) { .race[data-go] .runner .chip { animation: none; } }
