body[data-site-tab="casino"] {
 --ink: #1d151a; --panel: #2a1e26; --line: #503b46; --muted: #c0adb7;
 --cyan: #d8ba79; --pink: #e9a695; --gold: #d8ba79;
 background-color: var(--ink); background-image: url('/assets/page-tournament.svg');
}
body[data-site-tab="casino"] .masthead { background-color: var(--ink); border-bottom-color: var(--cyan); }
#casinoTab[aria-selected="true"] { background: #d8ba79; color: #1d151a; }
.casino-view { max-width: 940px; margin: 30px auto 60px; }
.slots-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 24px; }
.slots-heading h2 { font: 600 40px/1 var(--heading-type); margin: 0; }
.slots-heading p { margin: 10px 0 0; color: var(--muted); font-size: 14px; }
.slots-wallet { text-align: right; }
.slots-wallet span { display: block; color: var(--muted); font-size: 11px; margin-bottom: 5px; }
.slots-wallet strong { font: 600 28px var(--heading-type); color: var(--gold); }
.slots-machine { position: relative; isolation: isolate; overflow: hidden; background: var(--panel); border: 1px solid var(--line); border-top: 2px solid var(--gold); padding: 24px 30px 28px; transition: background-color 800ms ease,border-color 800ms ease; }
.slots-machine::before { position: absolute; inset: 0; z-index: -1; content: ''; background: url('/assets/daily-contours.svg') center / cover; opacity: .025; pointer-events: none; }
.slots-machine.has-win { border-color: #c6c88a; --shine: #d8dfaa; }
.slots-machine.has-loss { --shine: #c9857a; }
.slots-machine.test-mode { border-top-style: dashed; }
.slots-machine-top { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 24px; }
.slots-machine-top > span { margin-right: auto; color: var(--muted); font-size: 11px; letter-spacing: .08em; }
.slots-machine-top button, .slots-status button { font-size: 11px; color: var(--muted); background: transparent; padding: 6px 0; }
.slots-machine-top button[aria-pressed="true"] { color: var(--gold); }
.slots-reels { --tile: 164px; position: relative; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; padding: 0 14px; }

.slots-reel { height: calc(var(--tile) + 80px); overflow: hidden; border: 1px solid #65505b; background: #171116; position: relative; }
.slots-reel::before, .slots-reel::after { content: ''; position: absolute; left: 0; right: 0; height: 40px; background: #171116b8; z-index: 1; pointer-events: none; }
.slots-reel::before { top: 0; }.slots-reel::after { bottom: 0; }
.slots-strip { transform: translateY(calc(40px - var(--tile))); }
.slots-symbol { height: var(--tile); display: flex; justify-content: center; align-items: center; }
.slots-symbol img { width: 86%; height: 86%; object-fit: contain; }
.slots-result { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; min-height: 66px; gap: 8px 16px; padding: 12px; text-align: center; }
.slots-result strong { font: 400 16px/1.4 var(--ui-type); color: var(--paper); }
.slots-machine.has-win .slots-result strong { color: #d8dfaa; }
.slots-result span { color: var(--gold); font-size: 18px; font-weight: 600; font-variant-numeric: tabular-nums; }
.slots-result span:empty { display: none; }
.slots-controls { display: grid; grid-template-columns: minmax(0,1fr) 220px; gap: 24px; align-items: end; padding-top: 20px; border-top: 1px solid var(--line); }
.slots-stake { max-width: 380px; }
.slots-stake label { font-size: 11px; color: var(--muted); display: block; margin-bottom: 8px; }
.slots-amount { display: flex; align-items: center; gap: 12px; }
.slots-amount input { width: 100%; min-width: 0; padding: 10px; background: var(--ink); border: 1px solid var(--line); color: var(--paper); }
.slots-amount span { color: var(--muted); font-size: 12px; }
.slots-shortcuts { display: flex; gap: 8px; margin-top: 8px; }
.slots-shortcuts button { flex: 1; padding: 7px; background: var(--ink); color: var(--muted); font-size: 12px; }
.slots-spin { min-height: 80px; padding: 16px 28px; background: var(--gold); color: var(--ink); font: 600 26px var(--heading-type); }
.slots-spin:disabled { cursor: default; opacity: .4; }
.slots-status { display: flex; align-items: center; gap: 16px; margin-top: 10px; min-height: 32px; }
.slots-status p { margin: 0 auto 0 0; color: var(--muted); font-size: 13px; }
.slots-rules, .slots-debug { margin-top: 20px; color: var(--muted); font-size: 13px; line-height: 1.6; }
.slots-rules summary, .slots-debug summary { cursor: pointer; color: var(--paper); }
.slots-paytable { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.slots-paytable > div { display: flex; gap: 10px; align-items: center; background: var(--panel); padding: 10px; }
.slots-paytable img { width: 40px; height: 40px; object-fit: contain; }
.slots-debug { border-top: 1px dashed var(--line); padding-top: 16px; }
.slots-debug > div { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-top: 14px; }
.slots-debug select, .slots-debug button { padding: 8px; background: var(--panel); color: var(--paper); border: 1px solid var(--line); }
.slots-bonus { min-height: 244px; display: flex; flex-direction: column; justify-content: center; }
.slots-bonus > p { text-align: center; color: var(--muted); margin: 0 0 16px; }
.slots-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; max-width: 600px; width: 100%; margin: 0 auto; }
.slots-card { height: 180px; border: 1px solid #d8ba7970; background: #211720 url('/assets/page-shop.svg'); display: flex; align-items: center; justify-content: center; color: var(--gold); font: 600 42px var(--heading-type); transition: border-color 250ms ease,background-color 250ms ease,opacity 250ms ease; }
.slots-card img { width: 50px; height: 50px; object-fit: contain; }
.slots-card:hover:not(:disabled), .slots-card:focus-visible { background-color: #40313a; border-color: var(--gold); outline: 1px solid var(--gold); outline-offset: 3px; }
.slots-card.chosen { background-color: #3d3331; border-color: var(--gold); opacity: 1; }
.slots-card.unchosen { opacity: .38; }
.slots-machine::after { content: ''; position: absolute; z-index: 3; inset: 0; background: var(--shine,#d8dfaa); pointer-events: none; opacity: 0; }
.slots-machine.gleam::after { animation: slots-gleam 1100ms ease-out both; }
.slots-machine.gleam.full-motion::after { inset: -50%; background: linear-gradient(110deg,transparent 40%,var(--shine,#d8dfaa) 50%,transparent 60%); animation: slots-sweep 1500ms ease-out both; }
@keyframes slots-gleam { 0%,100% { opacity: 0; } 35% { opacity: .12; } }
@keyframes slots-sweep { 0% { opacity: 0; transform: translateX(-70%); } 30%,70% { opacity: .2; } 100% { opacity: 0; transform: translateX(70%); } }
@media(max-width:650px) {
 .slots-machine { padding: 18px 14px; }.slots-reels { --tile: 112px; gap: 6px; padding: 0 5px; }
 .slots-machine-top { gap: 10px; margin-bottom: 16px; }.slots-machine-top > span { width: 100%; }
 .slots-controls { grid-template-columns: minmax(0,1fr) 110px; gap: 14px; }.slots-spin { padding: 12px; font-size: 23px; }
 .slots-card { height: 140px; }.slots-cards { gap: 10px; }.slots-bonus { min-height: 192px; }
 .slots-paytable { grid-template-columns: 1fr; }
}

.slots-card:disabled { filter: none; cursor: default; }

.slots-machine-top > button:first-of-type { margin-left: auto; }

.slots-result { min-height: 94px; align-content: center; }
.slots-result .slots-outcome { flex: 0 0 100%; color: #d8dfaa; font: 600 26px/1 var(--heading-type); letter-spacing: .12em; }
.slots-machine.has-loss .slots-outcome { color: #d99b8f; }
.slots-spin:not(:disabled):active { transform: translateY(2px); }


/* September 2026: compact broadcast presentation. */
.casino-view{max-width:1000px;padding-top:24px}.slots-heading{margin-bottom:16px}.slots-heading h2{font-size:32px}.slots-wallet strong{font-size:24px}.slots-machine{padding:20px;border:1px solid var(--line);background:var(--panel)}.slots-machine-top{margin-bottom:16px}.slots-machine-top button{min-height:40px;font-size:12px;padding:8px}.slots-reels{--tile:136px;gap:10px;padding:0}.slots-result{min-height:48px;padding:8px}.slots-controls{margin-top:12px}.slots-status{margin-top:12px}body[data-joined="false"] .slots-wallet{display:none}
@media(max-width:600px){.casino-view{padding-top:16px}.slots-machine{padding:14px}.slots-reels{--tile:100px;gap:6px}.slots-heading h2{font-size:28px}}

.casino-view{margin-top:24px;padding-top:0}.slots-machine::before{opacity:0}
