.verify-form { padding-top: 5px; }
.verify-back { width: max-content; min-height: 44px; padding: 0; border: 0; color: #d9bd70; background: transparent; font-size: .67rem; font-weight: 800; }
.verify-note { margin: 3px 0 4px; color: #9db3aa; font-size: .72rem; }
.verify-note b { color: #f5e6b0; }
.verify-form > small { margin: -6px 2px 1px; color: #6f8b80; font-size: .58rem; }
.auth-form .code-input { height: 64px; padding-left: 19px; color: #fff0ae; text-align: center; font: 700 1.75rem Oswald, sans-serif; letter-spacing: .38em; }
.verify-resend-row { display:grid; gap:3px; margin:-1px 0 3px; }
.verify-resend { width:max-content; min-height:44px; padding:0 4px; border:0; color:#f4d981; background:transparent; font-size:.68rem; font-weight:850; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.verify-resend:disabled { color:#71847c; cursor:wait; }
.verify-resend-row small { color:#789087; font-size:.58rem; line-height:1.35; }
.higher-rules-note { margin:9px 4px 10px; color:#93aba1; font-size:.62rem; line-height:1.4; text-align:center; }
.higher-rules-note strong { color:#f1cf72; }
.higher-actions button { flex-wrap:wrap; align-content:center; }
.higher-actions button small { flex-basis:100%; color:#a9c0b6; font-size:.6rem; font-weight:800; line-height:1; text-align:center; }
.higher-actions button:disabled small { color:#6d8178; }

body.game-active .bottom-nav { display: none; }
body.game-active .views { padding-bottom: calc(18px + var(--safe-bottom)); }

.blackjack-lobby { min-height: calc(100dvh - 156px); padding-bottom: 15px; }
.lobby-hero { min-height: 142px; padding: 22px; border: 1px solid rgba(238, 204, 113, .19); border-radius: 25px; position: relative; overflow: hidden; background: linear-gradient(135deg, #782029, #301016 58%, #13523b 140%); box-shadow: 0 16px 34px rgba(0,0,0,.25); }
.lobby-hero::after { content: ""; width: 170px; aspect-ratio: 1; border: 26px solid rgba(255,225,137,.08); border-radius: 50%; position: absolute; right: -32px; bottom: -76px; box-shadow: inset 0 0 0 4px rgba(255,225,137,.07); }
.lobby-hero .live-pill { position: relative; z-index: 2; }
.lobby-hero h3 { margin: 15px 0 2px; position: relative; z-index: 2; font: 700 2.1rem/.9 Oswald, sans-serif; letter-spacing: -.03em; }
.lobby-hero p { margin: 7px 0 0; position: relative; z-index: 2; color: #cebfa8; font-size: .67rem; }
.quick-seat-button { width: 100%; margin: 10px 0; padding: 0 17px 0 20px; display: flex; align-items: center; justify-content: space-between; }
.quick-seat-button b { font-size: 1.25rem; }
.public-tables { display: grid; gap: 8px; }
.public-table { width: 100%; min-height: 72px; padding: 9px 11px; border: 1px solid rgba(237,204,113,.13); border-radius: 19px; display: grid; grid-template-columns: 42px minmax(0,1fr) auto auto; align-items: center; gap: 9px; text-align: left; background: linear-gradient(145deg, rgba(20,70,51,.94), rgba(7,29,22,.94)); box-shadow: inset 0 1px rgba(255,255,255,.03); }
.public-table.is-full { opacity: .53; }
.table-medallion { width: 41px; height: 41px; border: 2px solid #e7c461; border-radius: 50%; display: grid; place-items: center; color: #382204; background: radial-gradient(circle at 35% 25%,#fff1a1,#c98b29); box-shadow: 0 5px 13px #0006; font: 700 .86rem Oswald; }
.table-info { min-width: 0; display: flex; flex-direction: column; }
.table-info b { overflow: hidden; color: #f6ebca; text-overflow: ellipsis; white-space: nowrap; font: 600 .76rem Oswald; }
.table-info small { margin-top: 3px; color: #7e9b8f; font-size: .53rem; }
.seat-meter { width: 49px; display: grid; grid-template-columns: repeat(5,6px); justify-content: center; gap: 2px; }
.seat-meter i { width: 6px; height: 11px; border: 1px solid #567267; border-radius: 5px; background: #112d23; }
.seat-meter i.is-filled { border-color: #ecc861; background: #d4a83d; box-shadow: 0 0 6px rgba(234,198,92,.28); }
.seat-meter small { grid-column: 1 / -1; margin-top: 2px; color: #789187; text-align: center; font: 700 .45rem Oswald; }
.public-table > strong { min-width: 54px; color: #f2d681; text-align: right; font: 700 .54rem Oswald; }
.empty-tables { min-height: 84px; border: 1px dashed rgba(236,202,111,.2); border-radius: 19px; display: grid; place-items: center; color: #829b91; font-size: .68rem; }
.blackjack-game-area { animation: view-in .28s ease both; }
.blackjack-game-area.is-dealing { cursor: progress; }
.blackjack-game-area.is-dealing .blackjack-controls { pointer-events: none; }
.card-mini.is-being-dealt { opacity: 0; animation: blackjack-deal-card .42s cubic-bezier(.2,.78,.22,1) forwards; animation-delay: calc(var(--deal-order,0) * 145ms); transform-origin: 50% 120%; }
.card-mini[data-deal-order="0"]{--deal-order:0}.card-mini[data-deal-order="1"]{--deal-order:1}.card-mini[data-deal-order="2"]{--deal-order:2}.card-mini[data-deal-order="3"]{--deal-order:3}.card-mini[data-deal-order="4"]{--deal-order:4}.card-mini[data-deal-order="5"]{--deal-order:5}.card-mini[data-deal-order="6"]{--deal-order:6}.card-mini[data-deal-order="7"]{--deal-order:7}.card-mini[data-deal-order="8"]{--deal-order:8}.card-mini[data-deal-order="9"]{--deal-order:9}.card-mini[data-deal-order="10"]{--deal-order:10}.card-mini[data-deal-order="11"]{--deal-order:11}.card-mini[data-deal-order="12"]{--deal-order:12}.card-mini[data-deal-order="13"]{--deal-order:13}.card-mini[data-deal-order="14"]{--deal-order:14}.card-mini[data-deal-order="15"]{--deal-order:15}
@keyframes blackjack-deal-card { 0% { opacity: 0; transform: translate(74px,-88px) rotate(13deg) scale(.74); } 70% { opacity: 1; transform: translate(-3px,3px) rotate(-2deg) scale(1.03); } 100% { opacity: 1; transform: none; } }
.action-controls { grid-template-columns: repeat(3, 1fr); }
.table-status.is-my-turn { border-color: rgba(255,224,112,.38); color: #fff0b0; background: rgba(133,87,18,.2); }
.table-status.is-my-turn i { background: #72eea3; box-shadow: 0 0 8px #72eea3; }

@media (max-width: 350px) {
  .public-table { grid-template-columns: 38px minmax(0,1fr) auto; gap: 7px; }
  .table-medallion { width: 37px; height: 37px; }
  .public-table > strong { display: none; }
  .lobby-hero { min-height: 126px; padding: 18px; }
  .lobby-hero h3 { font-size: 1.8rem; }
}


/* v4: profile settings, solo table flow, Mike scenes and Slokkenvlucht */
.mike-scene { margin: 0; pointer-events: none; }
.mike-scene img { width: 100%; height: 100%; object-fit: contain; }
.lobby-hero { display: grid; grid-template-columns: minmax(0, 1fr) 112px; align-items: end; }
.lobby-copy { min-width: 0; position: relative; z-index: 2; }
.lobby-copy p { max-width: 250px; line-height: 1.45; }
.mike-lobby-scene { width: 138px; height: 144px; align-self: end; justify-self: end; position: relative; z-index: 1; margin: -16px -18px -22px 0; overflow: hidden; }
.lobby-actions { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(105px, .65fr); gap: 8px; margin: 10px 0; }
.lobby-actions .quick-seat-button { margin: 0; }
.solo-seat-button { min-height: 52px; padding: 6px 12px; border: 1px solid rgba(246,215,126,.3); border-radius: 17px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #ffe6a0; background: linear-gradient(145deg,#194f3a,#0a2c21); }
.solo-seat-button span { font-weight: 800; }
.solo-seat-button small { margin-top: 2px; color: #89aa9d; font-size: .55rem; }
.mike-dealer-table-scene { width: 205px; height: 180px; position: absolute; z-index: 2; right: -47px; top: 64px; opacity: .22; filter: saturate(.85); }
.player-seats,.dealer-seat,.bet-spot { isolation: isolate; }
.slot-stage { min-height: 0; padding: 4px 0 2px; position: relative; display: grid; place-items: center; }
.slot-stage .slot-machine { width: min(100%,680px); max-width: 680px; position: relative; z-index: 2; }
.tile-flight { grid-column: 1 / -1; min-height: 158px; background: linear-gradient(145deg,#163e5d,#0a2135 58%,#7d2830 140%); }
.tile-flight .tile-copy { max-width: 62%; }
.flight-art { overflow: hidden; }
.flight-art::before,.flight-art::after { content: ""; width: 72px; height: 22px; border-radius: 50%; position: absolute; background: rgba(239,249,255,.15); filter: blur(1px); }
.flight-art::before { left: 16%; top: 18px; }
.flight-art::after { right: 9%; bottom: 5px; transform: scale(.65); }
.flight-art i { width: 100%; height: 2px; background: linear-gradient(90deg,transparent,#9ee7ff,transparent); transform: rotate(-8deg); }
.flight-art b { margin-left: -48%; color: #fff2b1; font: 700 2.6rem Oswald; transform: rotate(-8deg); filter: drop-shadow(0 7px 8px #0008); }
.flight-token-free { min-width: 42px; min-height: 30px; padding: 0 8px; border: 1px solid rgba(233,201,111,.2); border-radius: 999px; display: grid; place-items: center; justify-self: end; color: #a9c2b8; background: #0c3024; font: 700 .58rem Oswald; }
.flight-launch { min-height: calc(100dvh - 90px - var(--safe-top)); border: 1px solid rgba(174,220,235,.2); border-radius: 28px; position: relative; overflow: hidden; isolation: isolate; background: linear-gradient(180deg,#183c58 0%,#4e7f93 47%,#d29d69 76%,#15392b 77%); box-shadow: 0 20px 48px rgba(0,0,0,.32); }
.flight-sky { position: absolute; inset: 0; overflow: hidden; }
.flight-sky::before { content: ""; width: 180px; aspect-ratio: 1; border-radius: 50%; position: absolute; right: -38px; top: -45px; background: radial-gradient(circle,#fff0b3,rgba(255,212,118,.38) 36%,transparent 68%); }
.flight-sky i { width: 120px; height: 27px; border-radius: 50%; position: absolute; background: rgba(255,255,255,.16); filter: blur(2px); animation: flight-cloud 16s linear infinite; }
.flight-sky i:nth-child(1) { top: 19%; left: -38%; }
.flight-sky i:nth-child(2) { top: 35%; left: -58%; animation-delay: -6s; transform: scale(.7); }
.flight-sky i:nth-child(3) { top: 9%; left: -70%; animation-delay: -11s; transform: scale(1.25); }
.mike-flight-scene { width: min(88%,430px); height: 70%; position: absolute; z-index: 2; right: -8%; bottom: 5%; filter: drop-shadow(0 18px 20px rgba(0,0,0,.45)); }
.flight-launch-copy { width: min(70%,340px); padding: 34px 0 0 24px; position: relative; z-index: 4; }
.flight-launch-copy h3 { margin: 9px 0 9px; font: 700 clamp(2rem,10vw,3.4rem)/.9 Oswald; letter-spacing: -.04em; }
.flight-launch-copy > p:not(.eyebrow) { max-width: 210px; color: #e1ece6; font-size: .7rem; line-height: 1.5; text-shadow: 0 2px 8px #10283f; }
.flight-launch-copy .primary-button { min-width: 160px; margin-top: 10px; padding: 0 18px; }
.flight-frame-shell { width: min(100%,760px); height: 100dvh; padding-top: var(--safe-top); position: fixed; z-index: 90; inset: 0; margin: 0 auto; background: #020806; }
.flight-frame-shell:not([hidden]) { display: flex; flex-direction: column; }
.flight-frame-bar { min-height: 54px; padding: 8px 12px; border-bottom: 1px solid rgba(239,205,112,.16); display: flex; align-items: center; justify-content: space-between; gap: 12px; background: #082119; }
.flight-frame-bar b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 700 .82rem Oswald; }
.flight-frame-bar button { min-height: 38px; padding: 0 13px; border: 1px solid rgba(240,207,117,.22); border-radius: 12px; color: #ffe8a5; background: #153f2f; font-size: .65rem; font-weight: 800; }
.flight-frame-shell iframe { width: 100%; min-height: 0; flex: 1 1 auto; border: 0; background: #030806; }
body.flight-running { overflow: hidden; }
.settings-dialog { max-height: calc(100dvh - 20px); padding: 24px 20px 20px; overflow-y: auto; overscroll-behavior: contain; }
.settings-dialog h2 { margin: 7px 0 18px; font: 700 2rem/.95 Oswald; }
.settings-form { display: grid; gap: 11px; }
.settings-form label { color: #a8bdb5; font-size: .67rem; font-weight: 800; }
.settings-form input { width: 100%; height: 48px; margin-top: 6px; padding: 0 14px; border: 1px solid rgba(228,197,111,.17); border-radius: 13px; outline: none; color: #f7f2de; background: rgba(2,13,10,.72); -webkit-user-select: text; user-select: text; }
.settings-form input:focus { border-color: #e8bd58; box-shadow: 0 0 0 3px rgba(232,189,88,.12); }
.settings-form .primary-button { width: 100%; padding: 0 16px; }
.settings-divider { height: 1px; margin: 18px 0; background: rgba(236,201,110,.13); }
.settings-privacy { margin: 16px 2px 10px; color: #7e998e; font-size: .6rem; line-height: 1.5; }
.settings-logout { width: 100%; min-height: 46px; border: 1px solid rgba(224,70,78,.24); border-radius: 14px; color: #ffb8bc; background: rgba(117,24,31,.24); font-weight: 800; }
@keyframes flight-cloud { to { transform: translateX(700px); } }
@media (max-width: 360px) {
  .lobby-hero { grid-template-columns: minmax(0,1fr) 86px; }
  .lobby-copy p { max-width: 205px; font-size: .62rem; }
  .mike-lobby-scene { width: 110px; height: 124px; margin-right: -17px; }
  .lobby-actions { grid-template-columns: 1fr 105px; gap: 6px; }
  .solo-seat-button { padding-inline: 8px; }
  .mike-dealer-table-scene { width: 165px; right: -42px; opacity: .17; }
  .slot-stage { min-height: 222px; }
  .mike-slots-scene { width: 103px; height: 150px; right: -17px; }
  .flight-launch { min-height: calc(100dvh - 80px - var(--safe-top)); border-radius: 22px; }
  .flight-launch-copy { width: 76%; padding: 27px 0 0 18px; }
  .flight-launch-copy h3 { font-size: 2.05rem; }
  .mike-flight-scene { width: 100%; height: 65%; right: -17%; bottom: 4%; }
  .settings-dialog { width: calc(100% - 16px); padding: 20px 15px 16px; border-radius: 22px; }
  .settings-dialog h2 { margin-bottom: 14px; }
  .settings-form { gap: 8px; }
  .settings-form input { height: 44px; margin-top: 4px; }
  .settings-divider { margin: 14px 0; }
}
@media (max-height: 600px) and (max-width: 620px) {
  .flight-launch-copy h3 { font-size: 1.9rem; }
  .flight-launch-copy > p:not(.eyebrow) { max-width: 180px; }
  .mike-flight-scene { height: 62%; }
  .settings-dialog { max-height: calc(100dvh - 8px); }
}
@media (prefers-reduced-motion: reduce) { .flight-sky i { animation: none; } }


/* v7: full European wheel and touch betting cloth */
.roulette-view { background: radial-gradient(circle at 50% 28%,rgba(40,175,117,.12),transparent 25rem); }
.roulette-scene {
  min-height: 650px; padding: 250px 12px 14px; border: 1px solid rgba(233,201,113,.2); border-radius: 28px;
  position: relative; overflow: hidden; isolation: isolate;
  background: linear-gradient(180deg,#08140f 0 19%,#0a3d2c 37%,#07261c 100%);
  box-shadow: inset 0 1px rgba(255,255,255,.05),0 20px 42px rgba(0,0,0,.32);
}
.roulette-scene::before { content:""; position:absolute; z-index:1; inset:0; background:radial-gradient(ellipse at 50% 0,transparent,rgba(2,15,11,.35) 65%),repeating-linear-gradient(130deg,transparent 0 21px,rgba(237,200,102,.035) 22px 23px,transparent 24px 43px); pointer-events:none; }
.mike-roulette-scene { width:100%; height:100%; margin:0; position:absolute; z-index:0; inset:0; overflow:hidden; filter:none; }
.mike-roulette-scene::after { content:""; position:absolute; inset:0; background:linear-gradient(to bottom,transparent 62%,#0b3527 100%); pointer-events:none; }
.mike-roulette-scene img { width:100%; height:100%; display:block; object-fit:cover; object-position:center top; opacity:.88; }
.roulette-result { min-width:112px; min-height:78px; padding:9px 12px; border:1px solid rgba(243,210,117,.28); border-radius:17px; display:grid; align-content:center; position:absolute; z-index:5; left:14px; top:14px; color:#f8efd1; background:rgba(3,20,15,.9); box-shadow:0 10px 25px rgba(0,0,0,.35); backdrop-filter:blur(8px); }
.roulette-result small { color:#91aaa0; font:700 .45rem Oswald; letter-spacing:.12em; }
.roulette-result b { margin:2px 0; color:#fff0a5; font:700 1.7rem/1 Oswald; }
.roulette-result span { color:#c1d0ca; font-size:.54rem; }
.roulette-result.is-red { border-color:rgba(235,79,87,.65); }
.roulette-result.is-black { border-color:rgba(218,222,215,.38); }
.roulette-result.is-green { border-color:rgba(86,226,148,.65); }
.roulette-casino-layout { min-width:0; display:grid; grid-template-columns:248px minmax(0,1fr); align-items:center; gap:10px; position:relative; z-index:3; }
.roulette-wheel-case { width:248px; max-width:100%; aspect-ratio:1; margin:auto; position:relative; display:grid; place-items:center; }
.roulette-wheel-svg { width:100%; height:100%; display:block; overflow:visible; filter:drop-shadow(0 14px 13px rgba(0,0,0,.46)); }
.roulette-rotor,.roulette-ball-orbit { transform-origin:150px 150px; }
.wheel-pocket { stroke:#e5c869; stroke-width:.65; }
.wheel-pocket.is-red { fill:#ad2934; }
.wheel-pocket.is-black { fill:#111613; }
.wheel-pocket.is-green { fill:#087149; }
.wheel-pocket.is-winner { filter:drop-shadow(0 0 7px #fff2a1); stroke:#fff7c9; stroke-width:3; animation:roulette-pocket-win .78s ease-in-out 3; }
.wheel-divider { stroke:rgba(255,242,188,.75); stroke-width:.75; }
.wheel-label { fill:#fff5d8; font:700 7.5px Oswald,Arial,sans-serif; text-anchor:middle; dominant-baseline:middle; paint-order:stroke; stroke:rgba(0,0,0,.45); stroke-width:.45; }
.roulette-ball-orbit { filter:drop-shadow(0 2px 2px rgba(0,0,0,.7)); }
.roulette-pointer { width:0; height:0; border-left:9px solid transparent; border-right:9px solid transparent; border-top:22px solid #fff1a0; position:absolute; z-index:7; top:-2px; left:50%; transform:translateX(-50%); filter:drop-shadow(0 3px 3px #000); }
.roulette-wheel-status { min-width:46px; min-height:37px; padding:4px 7px; border:1px solid rgba(255,230,146,.3); border-radius:11px; display:grid; place-items:center; position:absolute; z-index:6; inset:auto auto 13px 50%; transform:translateX(-50%); background:rgba(2,20,14,.86); box-shadow:0 6px 13px #0007; }
.roulette-wheel-status small { color:#8ca399; font:700 .38rem Oswald; letter-spacing:.12em; }
.roulette-wheel-status b { color:#ffe9a0; font:700 .85rem/1 Oswald; }
.roulette-table-wrap { min-width:0; position:relative; }
.roulette-swipe-hint { margin:0 4px 5px; color:#b7c9c1; font:700 .48rem Oswald; letter-spacing:.04em; text-align:center; }
.roulette-board-scroll { width:100%; padding:5px 2px 10px; position:relative; z-index:4; overflow-x:auto; overflow-y:visible; overscroll-behavior-inline:contain; touch-action:pan-x pan-y; scrollbar-width:thin; scrollbar-color:#d1a744 #082a1e; scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch; }
.roulette-board { width:680px; padding:7px; border:5px solid #75451c; border-radius:17px; color:#f8efd7; background:linear-gradient(145deg,#116343,#0b4b34); box-shadow:inset 0 0 0 2px #dfb952,inset 0 0 35px rgba(0,0,0,.2),0 13px 28px rgba(0,0,0,.38); scroll-snap-align:start; }
.roulette-number-grid { display:grid; grid-template-columns:48px 1fr 48px; gap:3px; }
.roulette-number-matrix { display:grid; grid-template-columns:repeat(12,1fr); grid-template-rows:repeat(3,44px); gap:3px; }
.roulette-column-bets { display:grid; grid-template-rows:repeat(3,44px); gap:3px; }
.roulette-below-grid { margin:4px 51px 0 51px; }
.roulette-dozens,.roulette-outside { display:grid; gap:3px; }
.roulette-dozens { grid-template-columns:repeat(3,1fr); }
.roulette-outside { grid-template-columns:repeat(6,1fr); margin-top:3px; }
.roulette-cell { min-width:44px; min-height:44px; padding:2px; border:1px solid rgba(255,244,203,.58); border-radius:4px; display:grid; place-items:center; position:relative; overflow:visible; color:#fff6dd; background:rgba(5,75,49,.7); font:700 .62rem Oswald; touch-action:manipulation; -webkit-tap-highlight-color:transparent; user-select:none; }
.roulette-cell:active:not(:disabled) { transform:scale(.94); filter:brightness(1.18); }
.roulette-cell.is-number { background:#121714; }
.roulette-cell.is-number.is-red,.roulette-cell.is-red { background:#a42530; }
.roulette-cell.is-green { background:#087149; }
.roulette-zero { height:100%; font-size:1.02rem; }
.roulette-cell.is-black { background:#111613; }
.roulette-cell small { display:block; margin-top:-3px; color:rgba(255,246,213,.72); font-size:.39rem; font-weight:600; }
.roulette-cell-label { pointer-events:none; }
.roulette-diamond .roulette-cell-label { font-size:.82rem; transform:rotate(45deg); }
.roulette-column { font-size:.55rem; }
.roulette-chip-stack { width:30px; height:30px; display:none; position:absolute; z-index:6; left:50%; top:50%; transform:translate(-50%,-50%); pointer-events:none; filter:drop-shadow(0 3px 2px rgba(0,0,0,.55)); }
.roulette-cell.has-bet .roulette-chip-stack { display:block; }
.roulette-cell.has-bet .roulette-cell-label,.roulette-cell.has-bet > small { opacity:.35; }
.roulette-chip-stack i { width:27px; height:27px; border:3px dashed rgba(255,255,255,.82); border-radius:50%; position:absolute; left:50%; top:50%; transform:translate(-50%,calc(-50% - var(--stack) * 3px)); box-shadow:inset 0 0 0 2px rgba(0,0,0,.34); }
.roulette-chip-stack i.chip-10 { background:#e8ecea; border-color:#26362f; }
.roulette-chip-stack i.chip-20 { background:#2f8ad5; }
.roulette-chip-stack i.chip-50 { background:#ce3945; }
.roulette-chip-stack i.chip-100 { background:#202622; }
.roulette-chip-stack i.chip-250 { background:#8a48b5; }
.roulette-chip-stack b { min-width:28px; height:16px; padding:0 4px; border-radius:8px; display:grid; place-items:center; position:absolute; z-index:5; left:50%; top:50%; transform:translate(-50%,-50%); color:#201301; background:#fff1a0; font:700 .43rem Oswald; box-shadow:0 2px 5px #0007; }
.roulette-cell.is-winner { z-index:5; outline:3px solid #fff0a0; outline-offset:-2px; box-shadow:0 0 19px #f4cc62,inset 0 0 14px rgba(255,239,157,.35); animation:roulette-win .85s ease-in-out 3; }
.roulette-chip-panel { margin-top:10px; padding:11px; border:1px solid rgba(236,202,111,.17); border-radius:21px; position:relative; z-index:8; background:rgba(8,34,25,.94); box-shadow:0 12px 30px rgba(0,0,0,.25); backdrop-filter:blur(12px); }
.roulette-chip-row { display:grid; grid-template-columns:repeat(5,1fr); gap:7px; }
.roulette-chip-row button { min-width:0; aspect-ratio:1; max-height:58px; padding:0; border:4px dashed rgba(255,255,255,.45); border-radius:50%; color:#fffbe7; background:#246c50; box-shadow:inset 0 0 0 2px rgba(0,0,0,.28),0 7px 13px rgba(0,0,0,.32); font:700 .68rem Oswald; touch-action:manipulation; user-select:none; }
.roulette-chip-row button:nth-child(1) { color:#17201c; background:#e8ecea; border-color:#26362f; }
.roulette-chip-row button:nth-child(2) { background:#2f8ad5; }
.roulette-chip-row button:nth-child(3) { background:#ce3945; }
.roulette-chip-row button:nth-child(4) { background:#202622; }
.roulette-chip-row button:nth-child(5) { background:#8a48b5; }
.roulette-chip-row button.is-selected { border-style:solid; border-color:#fff0a0; transform:translateY(-4px) scale(1.04); box-shadow:0 0 0 3px rgba(255,231,139,.18),0 10px 17px rgba(0,0,0,.38); }
.roulette-bet-summary { min-height:52px; margin:9px 0 7px; display:flex; align-items:center; justify-content:space-between; gap:8px; }
.roulette-bet-summary > span { min-width:65px; display:flex; flex-direction:column; }
.roulette-bet-summary small { color:#829e93; font:700 .45rem Oswald; letter-spacing:.1em; }
.roulette-bet-summary b { color:#ffe69a; font:700 1.1rem Oswald; }
.roulette-bet-summary > div { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:5px; }
.roulette-bet-summary button { min-width:44px; min-height:44px; padding:0 9px; border:1px solid rgba(235,201,109,.22); border-radius:10px; color:#c5d4ce; background:#12392b; font-size:.55rem; font-weight:800; touch-action:manipulation; user-select:none; }
.roulette-bet-summary button.is-active { border-color:#ee6a73; color:#fff; background:#76202a; box-shadow:0 0 0 2px rgba(238,106,115,.18); }
.roulette-spin { width:100%; min-height:49px; font-size:.74rem; }
.roulette-scene.is-spinning .roulette-result b { animation:roulette-result-pulse .28s alternate infinite; }
.recent-numbers { min-height:38px; }
@keyframes roulette-win { 50% { filter:brightness(1.4); } }
@keyframes roulette-pocket-win { 50% { opacity:.65; } }
@keyframes roulette-result-pulse { to { opacity:.42; transform:scale(.94); } }
@media (max-width: 610px) {
  .roulette-scene { min-height:850px; padding:260px 7px 10px; border-radius:22px; }
  .mike-roulette-scene img { object-position:center top; }
  .roulette-casino-layout { grid-template-columns:1fr; gap:2px; }
  .roulette-wheel-case { width:230px; }
  .roulette-table-wrap { width:100%; min-width:0; }
  .roulette-swipe-hint { text-align:left; padding-left:5px; }
  .roulette-chip-panel { position:relative; bottom:auto; }
}
@media (max-width: 360px) {
  .roulette-scene { min-height:825px; padding:245px 5px 8px; }
  .roulette-result { left:8px; top:8px; min-width:96px; min-height:68px; padding:7px 9px; }
  .roulette-result b { font-size:1.4rem; }
  .roulette-wheel-case { width:218px; }
  .roulette-board { width:680px; padding:6px; }
  .roulette-number-grid { grid-template-columns:44px 1fr 44px; }
  .roulette-number-matrix,.roulette-column-bets { grid-template-rows:repeat(3,44px); }
  .roulette-below-grid { margin-inline:47px; }
  .roulette-chip-panel { margin-top:7px; padding:8px; }
  .roulette-chip-row { gap:5px; }
  .roulette-bet-summary { align-items:flex-start; }
  .roulette-bet-summary > div { max-width:200px; }
  .roulette-bet-summary button { min-height:44px; padding-inline:7px; font-size:.52rem; }
}
@media (prefers-reduced-motion:reduce) {
  .roulette-cell.is-winner,.wheel-pocket.is-winner,.roulette-scene.is-spinning .roulette-result b { animation:none; }
}
