body[data-isn-room]{--isn-floor:url("/brand/polished-floor.png");--isn-logo:url("/brand/isn-casino-logo.png");--isn-label:"ISN CASINO & SPORTSBOOK"}
/* Shared ISN room materials. Geometry, seating and game rules stay in the game stylesheets. */
body[data-isn-room]{--isn-gold:#d7b369;--isn-pale:#f6e4b6;--isn-felt:#0c3b2b;--isn-rail:linear-gradient(115deg,#090b0a,#3f3a30 7%,#111512 14%,#eccb7b 17%,#8c632b 19%,#111612 22%,#080c0a 76%,#d1aa56 81%,#fff1bf 83%,#4b3c25 87%,#0a0d0b 94%);background:linear-gradient(#08080565,#0808058c),var(--isn-floor) center/cover fixed;color:#f3e6cc}
body[data-isn-room].private-table .game-dialog{background:linear-gradient(#09080545,#09080565),var(--isn-floor) center/cover fixed}
body[data-isn-room] .game-dialog .dialog-top,body[data-isn-room] .dialog-heading,body[data-isn-room] .room-title-row{border-color:#9d7b40;background:linear-gradient(105deg,#292319f5,#0b0d0cf5 65%,#302719f5);color:#f2dba7}
body[data-isn-room] #gameDialog .table-stage,body[data-isn-room] .felt,body[data-isn-room] .felt-table{position:relative;background:repeating-linear-gradient(35deg,#ffffff03 0 1px,transparent 1px 4px) padding-box,radial-gradient(ellipse at 48% 24%,#1c6146,#0d3f2d 54%,#06281c) padding-box,var(--isn-rail) border-box;border-color:transparent;outline:1px solid #bb9550;box-shadow:inset 0 0 0 2px #c5a05c,inset 0 6px 14px #0008,inset 0 -16px 30px #0005,0 3px 0 #e5bd6e,0 8px 0 #121411,0 13px 0 #674b24,0 27px 32px #000a}
body[data-isn-room] #gameDialog .table-stage::after{content:'';background:var(--isn-logo) center/contain no-repeat;opacity:.13;border:0;pointer-events:none;transform:translateX(-50%);width:180px;height:120px;top:30%}
body[data-isn-room] .felt::after{content:var(--isn-label);position:absolute;bottom:-19px;left:50%;transform:translateX(-50%);padding:5px 22px;max-width:85%;white-space:nowrap;border:1px solid #e2bc6c;border-radius:2px;background:linear-gradient(115deg,#30271a,#080c0a 50%,#2c2419);box-shadow:0 4px 7px #0008;color:#ead29b;font:10px Georgia,serif;letter-spacing:2px;pointer-events:none}
body[data-isn-room] .table-brand{color:#f0d69a;font:600 clamp(11px,1.2vw,17px) Georgia,serif;letter-spacing:.18em;text-shadow:0 1px 1px #000;border-block:1px solid #c8a25a55;width:fit-content;max-width:90%;padding:7px 22px;margin-inline:auto;background:linear-gradient(90deg,transparent,#082719aa,transparent)}
body[data-isn-room] .table-marquee{background:var(--isn-logo) left center/74px 58px no-repeat;padding-inline:80px}
body[data-isn-room] .opponent,body[data-isn-room] .seat,body[data-isn-room] #gameDialog .opponent-seat{background:linear-gradient(#14191120,#10140fee);border-color:#b7904b;box-shadow:0 8px 18px #0004;color:#ecd4a3}
body[data-isn-room] .opponent img,body[data-isn-room] .opponent-seat>img{filter:drop-shadow(0 5px 5px #0009)}
body[data-isn-room] #table{background:linear-gradient(#080a0880,#080a08a8);border-color:#a98648;box-shadow:0 15px 40px #0005}
body[data-isn-room] .scorebar,body[data-isn-room] .score,body[data-isn-room] .table-tools,body[data-isn-room] .table-rail{background:linear-gradient(100deg,#231e15ed,#10140ff2);border:1px solid #8c6e39;border-radius:6px;color:#efdaae;padding:11px 13px}
body[data-isn-room] .table-tools{margin-top:35px}
body[data-isn-room] .table-tools label{color:#e4cc99}
body[data-isn-room] .table-stage .table-status{color:#f6e5be;background:#071c13ee;border-color:#b08b47}
/* Ivory faces retain familiar red/black suits and their existing hit targets. */
body[data-isn-room] .card:not(.back):not(.empty),body[data-isn-room] .playing-card,body[data-isn-room] .baccarat-card{background:linear-gradient(135deg,#fffefa,#fff9ea 70%,#efe0bd);color:#161d1a;border-color:#c8ac6a;box-shadow:inset 0 0 0 2px #ffffff99,0 2px 0 #b8a67d,0 5px 7px #0006;text-shadow:none}
body[data-isn-room] .card.red:not(.back):not(.empty),body[data-isn-room] .playing-card.red,body[data-isn-room] .baccarat-card.red{color:#a51d32}
body[data-isn-room] .card.back,body[data-isn-room] .card-back{background:#0c1511 url('card-back.svg') center/100% 100% no-repeat!important;border:1px solid #d7b26a;color:transparent!important;box-shadow:0 2px 0 #9b783d,0 5px 9px #0008;text-shadow:none}
body[data-isn-room] .card-back>*{visibility:hidden}body[data-isn-room] .card-back:after{border-color:#e9ca7966}
body[data-isn-room] #stockButton.card.back{color:#f4dba1!important;background:#102a20!important}
body[data-isn-room] .card.selected,body[data-isn-room] .playing-card.is-held{outline-color:#ffe6a7;box-shadow:0 0 0 3px #b4873a80,0 6px 16px #000a}
body[data-isn-room] .table-betting-chip{border-color:#d6b36d;background:radial-gradient(circle,#0f211a 0 62%,transparent 63%),repeating-conic-gradient(#edcf8c 0deg 10deg,#12291f 10deg 30deg);box-shadow:inset 0 0 0 2px #f9e2a2,inset 0 0 0 8px #79582d,0 3px 0 #a17b37,0 7px 0 #191a13,0 12px 15px #0008;color:#ffe9b0}
body[data-isn-room] .table-betting-chip:nth-child(2){background:radial-gradient(circle,#242016 0 62%,transparent 63%),repeating-conic-gradient(#f2d396 0deg 10deg,#0a0e0c 10deg 30deg)}
body[data-isn-room] .table-betting-chip strong{color:#fff5d6}body[data-isn-room] .table-betting-chip small{color:#dac698}body[data-isn-room] .table-betting-chip:before{border-color:#e7c880}
body[data-isn-room] .seat-chip{background:radial-gradient(circle at 30% 20%,#f8e1a0,#b98c40 70%,#705025);border-color:#f7dc9b;color:#20170c;box-shadow:0 2px 0 #694e24,0 4px 6px #0008}
body[data-isn-room] .chip-readout{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;color:#f1d797;font-weight:bold}
body[data-isn-room] .chip-readout:before{content:'ISN';display:grid;place-items:center;width:30px;height:30px;border:2px dashed #e4c17c;border-radius:50%;background:radial-gradient(#132b20 0 60%,#a57d3d 62% 72%,#14231b 74%);box-shadow:0 3px 0 #46371d,0 5px 5px #0009;font:8px Georgia;color:#f2d799}
body[data-isn-room] .board-stage{position:relative;background:linear-gradient(#0a08052b,#0a080558),var(--isn-floor) center/cover;border:1px solid #c39c54;box-shadow:inset 0 0 45px #0006,0 12px 25px #0005}
body[data-isn-room] .board-stage:before{content:var(--isn-label);display:block;width:fit-content;max-width:100%;margin:0 auto 18px;padding:7px 25px;color:#efdaab;background:linear-gradient(100deg,#342a1a,#0a110d,#342a1a);border-block:1px solid #cda55b;font:11px Georgia;letter-spacing:2px;text-align:center}
body[data-isn-room] .checker-grid,body[data-isn-room] .four-grid,body[data-isn-room] .backgammon-board{border-color:#51422d;outline:2px solid #c2a166;box-shadow:0 4px 0 #9e7837,0 8px 0 #151610,0 18px 25px #0009}
body[data-isn-room] .domino{background:linear-gradient(115deg,#fff7dd,#e7d6ad);border-color:#bc9a59;color:#181d16;box-shadow:inset 0 1px #fff8e2,0 3px 0 #a8976f,0 7px 6px #0007}
body[data-isn-room] .tile-back{background:linear-gradient(120deg,#273729,#0b1c14);color:#e8c887}
body[data-isn-room] .checker-piece{box-shadow:inset 0 0 0 3px #0002,inset 0 0 0 5px #fff4,0 3px 0 #46341b,0 5px 6px #0007}
body[data-isn-room] .game-dialog.slot-dialog{background:linear-gradient(#0c120ce8,#0c120cf0),var(--isn-floor) center/cover}
@media(max-width:600px){body[data-isn-room] .felt:after{font-size:8px;letter-spacing:1px;padding:5px 13px}body[data-isn-room] .table-marquee{background-size:44px 42px;padding-inline:47px}body[data-isn-room] .board-stage:before{font-size:9px;padding:7px 14px}body[data-isn-room] .table-brand{padding:6px 10px;letter-spacing:.1em}}

/* Keep complete card faces visible when the framed table is shorter than its content. */
body[data-isn-room] #gameDialog .room-layout{flex:1 0 auto}
body[data-isn-room] #gameDialog .table-stage{height:auto;min-height:100%;overflow:visible}
body[data-isn-room] #gameDialog .table-center{flex:1 0 auto;overflow:visible}
body[data-isn-room] #gameDialog .room-card-row{flex:0 0 auto;height:auto;overflow:visible;padding:10px 3px}
body[data-isn-room] #gameDialog .opponent-comment,body[data-isn-room] #gameDialog .turn-prompt{background:linear-gradient(110deg,#263426f2,#0b1b13f7);border-color:#b39550;color:#f0e1bd}
body[data-isn-room] #gameDialog .opponent-comment:before{background:#253425;border-color:#b39550}
body[data-isn-room] #gameDialog .turn-action-button,body[data-isn-room] #gameDialog .table-controls button{background:linear-gradient(#3c3524,#191e14);border-color:#b39550;color:#f2dfb4}
body[data-isn-room] #gameDialog .turn-prompt input{background:#0b190f;color:#f4e3c0;border-color:#af9250}

body[data-isn-room] #gameDialog .game-room-started{overflow:auto;display:block}
body[data-isn-room] #gameDialog .game-room-started .room-layout{display:block;height:auto;min-height:100%}
body[data-isn-room] #gameDialog .game-room-started .table-stage{height:auto;min-height:min-content}
