:root{color-scheme:dark;--bg:#101411;--sidebar:#0c110e;--panel:#171d18;--panel-2:#1c231c;--line:#ffffff12;--gold:#c7af7a;--gold-light:#e4d3a4;--ivory:#f1efdf;--muted:#99a497;--green:#1d4939;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;font-family:var(--sans);color:var(--ivory);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button,a,input,select{-webkit-tap-highlight-color:transparent}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.38}button:not(:disabled),input,select{transition:background .18s,border-color .18s,color .18s,box-shadow .18s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold-light);outline-offset:4px}input[type=checkbox]{width:19px;height:19px;accent-color:var(--gold);flex-shrink:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400}p{line-height:1.65}svg{flex-shrink:0}button svg{pointer-events:none}input[type=range]{accent-color:var(--gold);width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.muted{color:var(--muted)}.text-gold{color:var(--gold-light)}.eyebrow{font-size:10px;letter-spacing:2.1px;line-height:1.5;color:var(--gold);font-weight:600;display:block}.button{min-height:44px;border-radius:6px;border:1px solid transparent;padding:12px 20px;display:inline-flex;gap:11px;justify-content:center;align-items:center;font-size:12px;font-weight:600;line-height:1.4;text-decoration:none}.button.primary{background:linear-gradient(115deg,#e1cb96,#b9a06a);color:#181b13;box-shadow:0 4px 20px #0002}.button.primary:hover:not(:disabled){background:linear-gradient(115deg,#ecdbb2,#ceb77e);box-shadow:0 4px 24px #b6a0781c}.button.secondary{background:#ffffff03;border-color:#c0aa762e;color:var(--ivory)}.button.secondary:hover:not(:disabled){border-color:#c0aa7666;background:#c0aa760c}.button.ghost{background:transparent;color:#dfdfce;border-color:#e1dac824}.text-button{border:0;background:none;display:inline-flex;align-items:center;gap:8px;padding:8px 0;min-height:40px;font-size:12px;color:var(--gold);line-height:1.4}.text-button:hover:not(:disabled){color:var(--gold-light)}.icon-button{background:none;border:1px solid var(--line);width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#bcc3b8}.icon-button:hover{background:#ffffff08;color:var(--gold-light)}.crest{color:var(--gold)}
/* Club shell */
.sidebar{position:fixed;inset:0 auto 0 0;width:214px;background:var(--sidebar);border-right:1px solid var(--line);padding:30px 20px 22px;display:flex;flex-direction:column;z-index:30}.brand{background:none;border:0;padding:0;display:flex;align-items:center;gap:10px;text-align:left;margin-bottom:47px;width:100%}.brand>span{font-family:var(--serif);font-size:29px;letter-spacing:5px;line-height:1.25}.brand small{display:block;letter-spacing:2px;font-size:7px;font-family:var(--sans);color:var(--gold);margin-top:4px}.sidebar-label{font-size:8px;color:#778573;letter-spacing:1.8px;margin:0 13px 16px}.main-nav{display:flex;flex-direction:column;gap:7px}.main-nav button{display:flex;align-items:center;gap:12px;border:1px solid transparent;background:none;text-align:left;color:#98a392;min-height:47px;padding:10px 12px;border-radius:6px;font-size:12px}.main-nav button:hover{background:#ffffff04;color:var(--ivory)}.main-nav button.active{color:var(--gold-light);background:linear-gradient(100deg,#c9b78115,#c9b78104);border-color:#c9b78118}.main-nav button b{margin-left:auto;background:#c9b78116;font-size:9px;padding:2px 6px;border-radius:4px;font-weight:400}.sidebar-bottom{margin-top:auto;padding-top:38px}.sidebar-club-card{padding:18px 15px;background:radial-gradient(at 100% 0,#baa77514,transparent 65%),#141b14;border:1px solid #c7af7a18;border-radius:7px;color:var(--gold)}.sidebar-club-card h3{font-size:23px;color:#e6e6d4;line-height:1.15;margin:14px 0 10px}.sidebar-club-card p{font-size:10px;color:#8e9b89;line-height:1.6;margin-bottom:9px}.sidebar-club-card .text-button{font-size:10px;gap:4px;line-height:1.5}.sidebar-settings{display:flex;align-items:center;gap:12px;background:none;border:0;color:#98a392;padding:21px 13px;font-size:12px}.sidebar-legal{border-top:1px solid var(--line);padding:19px 9px 0;display:flex;gap:12px;align-items:center}.sidebar-legal>b{display:flex;align-items:center;justify-content:center;width:33px;height:33px;border:1px solid #8c9a853d;border-radius:50%;font-size:12px;font-weight:400;color:#b0bbaa}.sidebar-legal span{font-size:7px;letter-spacing:1px;line-height:1.9;color:#7c8976}.main-column{margin-left:214px}.preview-strip{height:27px;padding:0 33px;display:flex;align-items:center;justify-content:space-between;background:#18211a;color:#9da98e;border-bottom:1px solid #d4c7940a;font-size:8px;letter-spacing:1.3px}.preview-strip span:first-child{color:#c4b985}.topbar{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid var(--line);background:#101411f5;position:sticky;top:0;z-index:20;backdrop-filter:blur(14px)}.topbar-title{display:flex;align-items:center;gap:15px}.breadcrumb{font-size:9px;letter-spacing:1.5px;color:#7f8c77;border-right:1px solid #82917a2b;padding-right:15px}.topbar-route{font-family:var(--serif);font-size:19px}.topbar-tools{display:flex;align-items:center;gap:14px}.session-button{display:flex;align-items:center;gap:7px;font-size:10px;color:#8a9884;background:none;border:0;padding:10px}.balance-pill{display:flex;align-items:center;gap:10px;padding:9px 11px 9px 13px;border:1px solid #c7af7a26;border-radius:7px;background:#1c241b66;color:var(--gold)}.balance-pill small{font-size:7px;letter-spacing:1.35px;display:block;color:#9caa8f;margin-bottom:3px}.balance-pill strong{font-size:15px;letter-spacing:.7px;color:#e5dfc6;font-weight:500;min-width:63px;display:block}.balance-pill>button{background:#c7af7a13;border:1px solid #c7af7a21;width:25px;height:25px;border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--gold)}.avatar-button{width:35px;height:35px;border-radius:50%;border:1px solid #ccbb8130;background:#273026;color:#d5caa6;font-family:var(--serif);font-size:18px}.content-page{padding:30px 34px 34px;max-width:1600px;margin:auto}.game-page{padding:25px 30px 30px;max-width:1600px;margin:auto}#page-content:focus{outline:none}.mobile-nav{display:none}.storage-warning,.pause-banner{padding:12px 30px;background:#403722;font-size:12px;display:flex;gap:10px;align-items:center;line-height:1.6}.storage-warning button{background:none;border:0;color:#eadcae;text-decoration:underline}.pause-banner{background:#203827;color:#cedec4}
/* The floor */
.lobby-hero{position:relative;isolation:isolate;overflow:hidden;min-height:376px;border:1px solid #bba67530;border-radius:10px;background:radial-gradient(ellipse at 72% 32%,#31513a 0,#1d3527 27%,#16221a 57%,#141c16 100%);box-shadow:0 12px 50px #0002}.lobby-hero:after{content:'';position:absolute;inset:8px;border:1px solid #c8b47e0c;border-radius:5px;pointer-events:none}.hero-copy{position:relative;padding:38px 40px;z-index:3;width:53%;background:linear-gradient(90deg,#121b14a0,transparent)}.hero-copy h1{font-size:54px;line-height:1.07;letter-spacing:-1.3px;margin:18px 0 17px;color:#f3eedb}.hero-copy h1 em{font-weight:400;color:#d7c28e}.hero-copy p{font-size:13px;color:#b7c2ad;line-height:1.7;margin-bottom:22px}.hero-actions{display:flex;gap:11px;align-items:center;flex-wrap:wrap}.hero-actions .button{font-size:11px;min-height:42px;padding:12px 18px}.hero-fineprint{display:flex;align-items:center;gap:7px;font-size:9px;color:#99aa90;margin-top:22px;white-space:nowrap}.hero-edition{position:absolute;right:23px;bottom:20px;z-index:4;color:#cab7868c;font-size:7px;letter-spacing:1.8px}.experience-strip{display:flex;gap:26px;justify-content:center;padding:20px 0 22px;border-bottom:1px solid var(--line);margin-bottom:27px}.experience-strip>span{display:flex;align-items:center;gap:8px;font-size:10px;color:#a4b099}.experience-strip svg{color:#aa996c}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px}.section-heading h2{font-size:27px;letter-spacing:-.3px;margin:7px 0 0}.section-heading .eyebrow{font-size:8px;letter-spacing:1.9px}.collection-filter{display:flex;gap:7px}.collection-filter button{background:transparent;border:1px solid #ffffff0d;padding:9px 12px;border-radius:5px;font-size:10px;color:#99a68e}.collection-filter button.active{background:#c7af7a13;border-color:#c7af7a30;color:#e0d1a9}.collection-filter button span{font-size:8px;opacity:.6;margin-left:5px}.game-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}.game-card{overflow:hidden;border:1px solid #a49a761c;border-radius:8px;background:var(--panel);transition:transform .22s,border-color .22s}.game-card:hover{transform:translateY(-4px);border-color:#baad7559}.game-card-visual{position:relative;height:164px;border-bottom:1px solid #a49a761c;overflow:hidden}.game-art-button{width:100%;height:100%;border:0;background:none;padding:0;display:block}.favorite-button{position:absolute;right:9px;top:9px;z-index:5;width:29px;height:29px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid #dfd8b61a;background:#111b17a0;color:#d3d3bf}.favorite-button.is-favorite{background:#bb9e6155;color:#e8d6a4}.favorite-button.is-favorite svg{fill:currentColor}.game-visual-badge{position:absolute;bottom:10px;left:11px;font-size:6px;letter-spacing:1.5px;color:#d3c7a2;background:#0e1714b0;padding:4px 7px;border:1px solid #c6b38725;border-radius:3px;pointer-events:none}.game-card-body{padding:16px 13px 14px}.game-card-body .eyebrow{font-size:6px;letter-spacing:1.4px;color:#ad9b6b;margin-bottom:8px}.game-title-button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:3px;background:transparent;border:0;padding:0;text-align:left}.game-title-button h3{font-size:19px;line-height:1.22;margin:0}.game-title-button svg{color:#b6a675;width:15px}.game-card-body p{font-size:8px;color:#909f85;line-height:1.6;margin:9px 0 0}.continue-card{display:flex;align-items:center;gap:14px;background:#1a241b;border:1px solid #b9b38526;border-radius:6px;width:100%;padding:14px 18px;text-align:left;margin:0 0 25px}.continue-card small{display:block;font-size:7px;letter-spacing:1.5px;color:#aa9e72;margin-bottom:5px}.continue-card strong{font-size:12px;font-weight:400;color:#d8ddcc}.continue-card>svg{margin-left:auto;color:var(--gold)}.continue-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--gold);background:#b9a66a12;border-radius:50%}.lobby-lower{display:grid;grid-template-columns:1.3fr 1fr;gap:27px;margin-top:32px}.lobby-lower h2{font-size:25px}.lobby-lower .section-heading{gap:12px}.lobby-lower .text-button{font-size:10px}.challenge-card{display:flex;gap:18px;padding:22px;background:#18211a;border:1px solid #b7aa7823;border-radius:7px}.challenge-symbol{display:flex;align-items:center;justify-content:center;width:45px;height:45px;flex-shrink:0;border:1px solid #b6a56e38;background:#b6a56e0b;border-radius:50%;color:#c3b17d}.challenge-copy{flex:1;min-width:0}.challenge-copy>.eyebrow{font-size:7px;letter-spacing:1.4px;margin-bottom:5px}.challenge-copy h3{font-size:20px;line-height:1.3;margin:0 0 7px}.challenge-copy p{font-size:10px;color:#99a68f;margin:0 0 15px;line-height:1.6}.progress-line{height:3px;border-radius:2px;background:#6e806828;overflow:hidden}.progress-line span{display:block;height:100%;background:var(--gold);border-radius:2px;transition:width .3s}.challenge-progress{display:flex;justify-content:space-between;align-items:center;font-size:8px;color:#8a9982;margin-top:9px;gap:10px}.challenge-progress b{font-weight:400;color:#cbbd91}.challenge-card.completed{border-color:#90b4863b}.club-note{background:radial-gradient(ellipse at right top,#b49f6b0e,transparent),#171e17;border:1px solid #bdab781a;border-radius:8px;padding:24px 27px}.club-note h3{font-size:26px;line-height:1.2;margin:12px 0}.club-note p{font-size:11px;line-height:1.75;color:#94a189;margin:0 0 5px}.club-note .eyebrow{font-size:7px}.empty-favorites{grid-column:1/-1;border:1px dashed #c7af7a35;border-radius:7px;text-align:center;padding:50px;color:var(--muted);font-size:13px}
/* Original table artwork */
.game-art{position:relative;width:100%;height:100%;background:radial-gradient(ellipse at 60% 30%,#2b563e,#1a3325 65%,#14231b);overflow:hidden}.art-felt{position:absolute;inset:0;background-image:repeating-linear-gradient(23deg,transparent 0 2px,#00000008 2px 3px);opacity:.75}.art-rail{position:absolute;bottom:-25px;left:-10%;right:-10%;height:38px;background:linear-gradient(#3f3223,#6a5034 17%,#2b241c 35%,#1d1712);border-top:2px solid #bb986140;border-radius:50%;box-shadow:0 -6px 12px #0002;transform:rotate(-3deg)}.art-wheel{position:absolute;left:16%;top:-13%;width:98%;filter:drop-shadow(10px 20px 9px #0009);transform:perspective(700px) rotateX(30deg) rotateZ(-24deg)}.roulette-wheel{width:100%;display:block;transform-origin:center center}.art-ball{position:absolute;left:62%;top:9%;width:6px;height:6px;background:radial-gradient(circle at 25% 25%,#fff,#e3d9bd 55%,#a09b86);border-radius:50%;box-shadow:1px 2px 2px #0006}.hero-art{position:absolute;right:-1%;top:-3%;width:56%;height:108%;background:none;overflow:visible;z-index:1}.hero-art .art-felt{display:none}.hero-art .art-wheel{width:94%;top:4%;left:4%;transform:perspective(850px) rotateX(37deg) rotateZ(-20deg);filter:drop-shadow(8px 25px 16px #000a)}.hero-art .art-ball{width:9px;height:9px}.hero-art .art-rail{display:none}.hero-chip-one{position:absolute;left:8%;bottom:16%;transform:rotate(-12deg)}.hero-chip-two{position:absolute;left:27%;bottom:9%;transform:rotate(14deg)}.chip-stack{width:55px;height:60px;position:relative;--chip:#254937;--edge:#102d21;--mark:#d6c489;transform:rotate(-12deg);filter:drop-shadow(7px 10px 7px #0007)}.chip-stack.ivory{--chip:#ccc8ae;--edge:#777c6b;--mark:#345442}.chip-stack.burgundy{--chip:#70302b;--edge:#392120;--mark:#c2aa77}.art-chip{position:absolute;bottom:calc(var(--i)*4px);left:0;width:55px;height:33px;background:repeating-conic-gradient(var(--mark) 0 12deg,var(--chip) 12deg 60deg);border:2px solid var(--edge);border-radius:50%;box-shadow:0 3px 0 var(--edge),0 4px 0 #b6a26b4a,inset 0 1px 1px #efe6b94d}.art-chip:after{content:'';position:absolute;inset:3px 6px;border:1px dashed #d8c89990;border-radius:50%;background:var(--chip)}.art-chip span{position:absolute;z-index:1;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:11px;color:var(--mark)}.hero-art .chip-stack{transform:scale(1.6) rotate(-12deg)}.art-hand{position:absolute;left:23%;top:13%;width:120px;height:150px;transform:rotate(-7deg)}.art-hand>div{position:absolute;left:calc(var(--n)*32px);top:calc(var(--n)*8px);transform:rotate(calc(-13deg + var(--n)*21deg));filter:drop-shadow(5px 7px 5px #0006)}.art-hand .playing-card{--card-width:79px}.art-chips{position:absolute;left:11%;bottom:4%;display:flex;gap:0;transform:scale(.66)}.table-inscription{position:absolute;left:14%;top:4%;font-size:5px;letter-spacing:2px;color:#cbb9877a;transform:rotate(-10deg)}.cards-art.art-poker{background:radial-gradient(at 50% 0,#274237,#122720)}.cards-art.art-baccarat{background:radial-gradient(at 50% 0,#30453d,#132522)}.slots-art{background:radial-gradient(ellipse at 50% 10%,#504224,#2a281c 60%,#1b2018)}.mini-slot-sign{font-family:var(--serif);font-size:12px;letter-spacing:3px;color:#dbcc94;text-shadow:0 1px 4px #bca76852;text-align:center;position:absolute;top:9%;left:0;width:100%;z-index:3}.mini-slot-sign>span{font-size:21px;letter-spacing:2px;display:block;margin-top:1px}.mini-machine{position:absolute;inset:44% 7% 5%;display:flex;gap:3px;border:5px solid #8c7347;border-radius:5px;background:#6a5637;box-shadow:0 0 0 1px #d1b878,0 3px 0 1px #33291c,0 10px 12px #0005;transform:perspective(500px) rotateX(4deg)}.mini-reel{flex:1;min-width:0;background:linear-gradient(#aaa28a,#eee5c8 27%,#dcd1b5 60%,#9a9075);border-radius:2px;display:flex;align-items:center;justify-content:center;flex-direction:column}.mini-reel .slot-symbol{width:80%;height:82%;filter:drop-shadow(0 2px 1px #66502966)}.mini-reel small{font-size:4px;letter-spacing:1px;color:#5a4d35}.slot-machine-base{position:absolute;bottom:-4px;left:5%;right:5%;height:9px;background:linear-gradient(#bda976,#4e412b);border-radius:10px}
/* Playing cards */
.playing-card{--card-width:86px;position:relative;width:var(--card-width);height:calc(var(--card-width)*1.4);background:linear-gradient(120deg,#fffdf4,#f8f5e8 65%,#e8e5d6);border:1px solid #e5e2d8;border-radius:calc(var(--card-width)*.07);color:#17231f;box-shadow:0 2px 0 #b8baa7,0 6px 13px #0005;flex-shrink:0;overflow:hidden;user-select:none}.playing-card.red-suit{color:#9b3335}.card-corner{position:absolute;left:7%;top:5%;display:flex;flex-direction:column;align-items:center;line-height:.95;font-family:var(--serif);z-index:2}.card-corner b{font-size:calc(var(--card-width)*.2);font-weight:600}.card-corner i{font-style:normal;font-size:calc(var(--card-width)*.17);margin-top:2px}.card-corner.bottom{left:auto;top:auto;right:7%;bottom:5%;transform:rotate(180deg)}.card-pips{position:absolute;inset:13% 18%}.pip{position:absolute;transform:translate(-50%,-50%);font-size:calc(var(--card-width)*.24);line-height:1;font-family:var(--serif)}.pip.ace-pip{font-size:calc(var(--card-width)*.52)}.court-card{position:absolute;inset:0;border:1px solid currentColor;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:repeating-linear-gradient(45deg,transparent 0 5px,#74775f0c 5px 6px)}.court-card>span{font-family:var(--serif);font-size:calc(var(--card-width)*.25)}.court-card strong{font-family:var(--serif);font-size:calc(var(--card-width)*.37);line-height:1;font-weight:400}.playing-card.back{padding:5px;background:#dfdac5;border-color:#e5dfc9}.card-back-pattern{width:100%;height:100%;border:1px solid #b7a16a;border-radius:3px;display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,transparent 0 9px,#c9b58025 9px 10px),repeating-linear-gradient(-45deg,transparent 0 9px,#c9b58025 9px 10px),#193b30;box-shadow:inset 0 0 0 3px #173026,inset 0 0 0 4px #ad996450}.card-back-pattern .crest{width:55%;height:auto;opacity:.9}
/* Pages */
.page-intro{padding:18px 0 34px}.page-intro h1{font-size:43px;letter-spacing:-1px;line-height:1.15;margin:15px 0}.page-intro>p,.page-intro>div>p{font-size:13px;color:#9eae93;max-width:670px;line-height:1.8;margin:0}.tables-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tables-grid .game-card-visual{height:215px}.tables-grid .game-card-body{padding:20px}.tables-grid .game-title-button h3{font-size:23px}.tables-grid .game-card-body p{font-size:10px}.tables-grid .game-card-body .eyebrow{font-size:7px}.slot-feature{position:relative;background:radial-gradient(ellipse at 90% 30%,#524027,#201e15);border:1px solid #c6b17540;min-height:365px;border-radius:10px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden}.slot-feature>div:first-child{padding:43px;z-index:2}.slot-feature h2{font-size:40px;margin:18px 0;line-height:1.1}.slot-feature p{font-size:13px;color:#b3b19c}.slot-feature .game-art{background:none;min-height:330px}.slot-feature .mini-slot-sign{font-size:23px;top:10%}.slot-feature .mini-slot-sign>span{font-size:45px}.slot-feature .mini-machine{inset:39% 8% 12%;border-width:9px}.slot-feature .mini-reel small{font-size:8px}.slot-feature .slot-machine-base{bottom:10%;left:6%;right:6%;height:18px}.challenges-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.challenge-card.large{flex-direction:column;padding:27px}.challenge-card.large .challenge-copy h3{font-size:25px;margin:8px 0 11px}.challenge-card.large .challenge-copy p{font-size:12px}.challenge-card.large .challenge-progress{font-size:9px}.spaced{margin-top:39px}.achievement-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.achievement-card{border:1px solid var(--line);background:#161d17;border-radius:8px;padding:28px 18px;text-align:center;opacity:.65}.achievement-card>div{width:65px;height:65px;border:1px solid #70826536;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;color:#889a7b;background:#10180e}.achievement-card h3{font-size:22px;margin-bottom:10px}.achievement-card p{font-size:11px;color:var(--muted);line-height:1.6}.achievement-card small{font-size:7px;letter-spacing:1.2px;color:#879877}.achievement-card.earned{opacity:1;background:radial-gradient(at 50% 0,#b49f6b0c,transparent),#18201a;border-color:#bca5733d}.achievement-card.earned>div{color:var(--gold);border-color:#c7af7a60;background:#c7af7a0a}.achievement-card.earned small{color:var(--gold)}.page-note{font-size:10px;line-height:1.8;color:#829279;margin:25px 0 0}.profile-intro{display:flex;gap:22px;align-items:center}.profile-avatar{width:80px;height:80px;border:1px solid #ccb87c5c;color:#d2c18e;background:radial-gradient(at 30% 20%,#3d4a33,#20291e);border-radius:50%;font-family:var(--serif);font-size:37px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-intro h1{font-size:36px;margin:8px 0}.small-serif{color:#adbaa3;font-size:30px}.profile-top{display:grid;grid-template-columns:1.4fr 1fr;gap:25px;margin-bottom:26px}.profile-edit,.profile-balance{padding:22px;border:1px solid #c6b47b21;border-radius:8px;background:#171f18}.profile-edit label{font-size:8px;letter-spacing:1.5px;color:#a7b19c;display:block;margin-bottom:12px}.profile-edit>div{display:flex;gap:10px}.profile-edit input{min-width:0;flex:1;border:1px solid #9eb18c35;background:#111910;padding:12px;border-radius:5px;color:#e4e6d8;font-size:13px}.field-error{display:block;color:#e0a69c;font-size:11px;margin-top:8px}.profile-balance{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px}.profile-balance>.eyebrow{grid-column:1/-1;font-size:8px}.profile-balance>strong{font-family:var(--serif);font-size:31px;font-weight:400}.profile-balance .text-button{font-size:10px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #9eb18c1c;border-radius:8px;background:#182119}.stats-grid>div{padding:22px 24px;border-right:1px solid var(--line)}.stats-grid>div:last-child{border:0}.stats-grid span{display:block;font-size:11px;color:#abb7a0;margin-bottom:12px}.stats-grid strong{font-family:var(--serif);font-size:36px;font-weight:400;display:block;margin-bottom:9px}.stats-grid em{font-size:18px;font-style:normal;color:#7d8e72}.stats-grid small{font-size:9px;color:#819374}.history-wrapper{border:1px solid var(--line);border-radius:8px;overflow:hidden}.history-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px;font-variant-numeric:tabular-nums}.history-table th{font-size:8px;letter-spacing:1px;font-weight:500;color:#a7b397;background:#1c271d;padding:16px}.history-table td{padding:16px;border-bottom:1px solid #aaba9515;color:#adbba0}.history-table tr:last-child td{border-bottom:0}.history-table td b{display:block;font-size:13px;color:#dbe0ce;font-weight:400;margin-bottom:5px}.history-table td span{display:block;font-size:10px;color:#8c9f7f;margin-bottom:4px}.history-table td small{font-size:9px;color:#7c8d70}.history-table td.text-gold{color:var(--gold-light)}.empty-state{text-align:center;padding:55px 25px;border:1px dashed #aeaf7b25;border-radius:8px;color:#a5b495}.empty-state>svg{color:var(--gold);margin-bottom:17px}.empty-state h3{font-size:26px;color:#e2e5d3}.empty-state p{font-size:12px;margin-bottom:25px}.demo-notice{padding:19px 22px;display:flex;gap:15px;align-items:center;background:#bdac7510;border:1px solid #bdac753b;color:#c9bc96;border-radius:7px;margin-bottom:26px;font-size:12px;line-height:1.7}.demo-notice strong{display:block;font-weight:500;color:#e3d6af;margin-bottom:4px}.demo-notice span{font-size:11px;display:block;color:#a7b097}.membership-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.membership-card{background:radial-gradient(at 100% 0,#bda97618,transparent 65%),#20271d;border:1px solid #baa77645;border-radius:9px;padding:34px;display:flex;flex-direction:column}.membership-card h2{font-size:29px;line-height:1.2;margin:17px 0 25px}.price{display:flex;align-items:baseline;gap:10px}.price b{font-family:var(--serif);font-size:48px;font-weight:400;color:#e7d8ad}.price span{font-size:12px;color:#a8b59b}.membership-card p{font-size:11px;color:#9cae8d;line-height:1.8}.membership-card ul{list-style:none;padding:17px 0;margin:0 0 20px;font-size:12px;display:flex;flex-direction:column;gap:17px;color:#c6d0b9}.membership-card li{display:flex;gap:10px;align-items:center}.membership-card li svg{color:var(--gold)}.membership-card>.button{margin-top:auto}.membership-card>small{font-size:7px;color:#96a484;letter-spacing:1.5px;text-align:center;margin-top:13px}.membership-card.alternative{background:radial-gradient(at 50% 40%,#8a7f5020,transparent 70%),#171f17}.annual-art{display:flex;justify-content:center;margin:10px 0 12px;opacity:.7}.launch-note{border-top:1px solid var(--line);padding-top:27px;margin-top:30px}.launch-note h3{font-size:23px}.launch-note p{font-size:12px;color:var(--muted);max-width:700px}.site-footer{padding:24px 34px 26px;border-top:1px solid var(--line);display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:15px}.site-footer>div{display:flex;align-items:center;gap:8px}.site-footer>div>span{font-family:var(--serif);font-size:15px;letter-spacing:3px}.site-footer>div small{display:block;font-family:var(--sans);font-size:5px;letter-spacing:1.5px;color:#9b956c;margin-top:3px}.site-footer>p{font-size:9px;color:#809171;margin:0}.site-footer>nav{display:flex;gap:18px;margin-left:auto}.site-footer button{border:0;background:none;color:#a2b293;font-size:9px;padding:8px 0}.site-footer>small{font-size:8px;color:#6f8063;flex-basis:100%;text-align:right;line-height:1.7}.rules-button{justify-self:end;padding:9px 14px;min-height:38px;font-size:10px}.game-bottom{border:1px solid #b7a86f20;border-top:0;border-radius:0 0 9px 9px;background:#171f18;overflow:hidden}.game-bottom>.result-area{padding:10px 23px 0}.round-result{display:flex;align-items:center;gap:12px;min-height:71px;padding:13px 0}.round-result strong{font-size:15px;font-family:var(--serif);font-weight:400;display:block;margin-bottom:5px;color:#e3e6d4}.round-result div>span{font-size:10px;color:#9cab90;display:block;line-height:1.6}.result-mark{color:#93a383;width:35px;height:35px;background:#b7b58209;border:1px solid #b7b5821e;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.round-result.positive strong,.round-result.positive .result-mark{color:var(--gold-light)}.round-result.positive .result-mark{border-color:#c7af7a50;background:#c7af7a10}.round-result.waiting strong{color:#c6d0b9}.round-controls{padding:18px 23px;display:flex;gap:20px;align-items:flex-end;justify-content:space-between;border-top:1px solid var(--line)}.control-label{font-size:7px;letter-spacing:1.4px;color:#a3b091;display:block;margin-bottom:10px}.stake-options{display:flex;gap:7px}.chip-choice{border:1px solid #c5b98a30;width:37px;height:37px;background:repeating-conic-gradient(#d2bc8135 0 12deg,#1d2d20 12deg 60deg);border-radius:50%;font-family:var(--serif);font-size:10px;color:#b6c3a6;position:relative;box-shadow:0 2px 0 #0e180f,inset 0 0 0 4px #1c2b1f,inset 0 0 0 5px #89946535}.chip-choice.selected{background:#bbaa72;color:#1b2418;border-color:#ecdca6;box-shadow:0 2px 0 #74633a,0 0 0 3px #c7af7a1c,inset 0 0 0 4px #c6b47d,inset 0 0 0 5px #83734970}.game-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.game-actions .button{min-height:43px;padding:11px 17px;font-size:11px}.game-footnote{display:flex;align-items:center;justify-content:center;gap:8px;font-size:8px;color:#809471;padding:18px 0;line-height:1.7;flex-wrap:wrap}.game-footnote svg{color:#9c9e70}.felt-table{position:relative;overflow:hidden;background:radial-gradient(ellipse at 48% 40%,#265540,#163d2d 65%,#12281e);border:1px solid #bfa1696b;border-radius:10px 10px 0 0;box-shadow:inset 0 0 0 8px #2b251c,inset 0 0 0 10px #a385503b,inset 0 15px 70px #0009;isolation:isolate}.felt-table:before{content:'';position:absolute;inset:13px;background:repeating-linear-gradient(23deg,transparent 0 2px,#04150c0b 2px 3px);z-index:-1;pointer-events:none}.hand{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;min-width:0}.hand-label{font-size:8px;letter-spacing:2px;color:#b7c6a6;text-align:center;margin-bottom:11px;line-height:1.8}.hand-label b{background:#132a20b0;border:1px solid #cfbe8657;border-radius:20px;padding:3px 9px;letter-spacing:.2px;font-size:11px;color:#eadcba;font-weight:400;margin-left:7px}.dealer-zone{padding:25px 25px 10px}.dealer-hand .playing-card{--card-width:67px}.table-brand{display:flex;align-items:center;flex-direction:column;text-align:center;position:relative;margin:4px 0 10px;padding:0;color:#d1bd8480;line-height:1.3}.table-brand:before,.table-brand:after{content:'';position:absolute;top:44%;width:27%;height:26px;border-top:1px solid #d1bd8442;border-radius:50%}.table-brand:before{left:4%;transform:rotate(9deg)}.table-brand:after{right:4%;transform:rotate(-9deg)}.table-brand .crest{width:25px;height:25px;opacity:.6}.table-brand>span{font-family:var(--serif);letter-spacing:6px;font-size:20px;margin:4px 0 5px}.table-brand small{font-family:var(--serif);font-size:12px;letter-spacing:2px}.table-brand i{font-size:7px;font-style:normal;letter-spacing:.7px;margin-top:6px;color:#c7bb9180}.player-hands{display:flex;justify-content:center;gap:25px;padding:14px 28px 25px;min-height:172px}.player-hand{padding:10px 18px;border:1px solid transparent;border-radius:10px;min-width:0;max-width:100%}.player-hand.active-hand{border-color:#dbc48673;background:#10271b29}.player-hand .playing-card{--card-width:79px}.hand-stake{display:flex;align-items:center;justify-content:center;gap:5px;color:#bfc49a;font-size:10px;margin-top:13px}.split-hands>.player-hand{width:48%}.split-hands .playing-card{--card-width:67px}.empty-hand{position:relative;display:flex;gap:9px;min-height:150px;padding-bottom:20px}.card-outline{width:72px;height:101px;border:1px dashed #cac29542;border-radius:5px;display:block}.empty-hand>small{position:absolute;bottom:0;left:0;width:100%;font-family:var(--serif);font-size:13px;color:#b7be9b;text-align:center}.table-ornament{position:absolute;bottom:15%;width:50px;height:50px;border:1px solid #c9b98421;transform:rotate(45deg)}.table-ornament.left{left:7%}.table-ornament.right{right:7%}
/* Roulette */
.roulette-layout{display:grid;grid-template-columns:.9fr 1.3fr;gap:22px;padding:22px;background:radial-gradient(at 0 0,#25422b22,transparent),#19231a;border:1px solid #b8a9702e;border-radius:9px}.wheel-panel{text-align:center;min-width:0}.table-label{font-size:7px;letter-spacing:2px;color:#b1b793;display:block;padding:3px 0 4px}.live-wheel{position:relative;width:100%;max-width:390px;margin:12px auto 13px;filter:drop-shadow(0 12px 12px #0008)}.live-wheel .roulette-wheel{will-change:transform}.ball-orbit{position:absolute;inset:15%;pointer-events:none;transform-origin:center}.roulette-ball{position:absolute;left:calc(50% - 4px);top:0;width:8px;height:8px;background:radial-gradient(circle at 30% 20%,#fff,#e5e0cb 50%,#8c8e7a);border-radius:50%;box-shadow:1px 2px 2px #0008;z-index:3}.wheel-pin{position:absolute;left:calc(50% - 4px);top:-1%;border-top:9px solid #d6c696;border-left:4px solid transparent;border-right:4px solid transparent}.wheel-history{display:flex;align-items:center;gap:4px;justify-content:center;min-height:33px;flex-wrap:wrap}.wheel-history>span{font-size:6px;letter-spacing:1px;color:#839375;margin-right:5px}.wheel-history b{width:23px;height:23px;border:1px solid #b5af7c3a;display:flex;align-items:center;justify-content:center;border-radius:4px;color:#ede3c8;font-size:10px;font-family:var(--serif);font-weight:400}.wheel-history small{font-size:9px;color:#7c9070}.wheel-panel>.round-result{text-align:left;border-top:1px solid var(--line);margin-top:13px}.roulette-betting{min-width:0;padding-top:0}.selection-modes{display:flex;gap:4px;border-bottom:1px solid #bab47a24;padding-bottom:10px}.selection-modes button{flex:1;min-height:33px;background:none;border:1px solid transparent;border-radius:4px;color:#8fa07f;font-size:9px;white-space:nowrap;padding:6px 7px}.selection-modes button.active{color:#e0d4a8;background:#c7af7a15;border-color:#c7af7a28}.selection-hint{font-size:9px;color:#8e9e7e;min-height:30px;line-height:1.7;margin:11px 0 9px}.roulette-board{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));grid-template-rows:repeat(3,45px);gap:2px;border:1px solid #bbbd8533;border-radius:4px;overflow:hidden;background:#9ca87526;padding:2px}.roulette-cell{grid-column:var(--x);grid-row:var(--y);position:relative;border:1px solid #c6c69a1a;font-family:var(--serif);font-size:13px;color:#f1e5ca;min-width:0;padding:3px 0}.red-number{background:#733b34}.black-number{background:#15251c}.zero{background:#1d563b}.roulette-cell.chosen{box-shadow:inset 0 0 0 1px #e3ce87;background-image:linear-gradient(#c8b26720,#c8b26710)}.roulette-cell:hover:not(:disabled){outline:1px solid #dbcc85;outline-offset:-1px}.selection-dot{position:absolute;bottom:2px;right:2px;width:5px;height:5px;background:#efdaa0;border:1px solid #a38439;border-radius:50%}.outside-row{display:grid;grid-template-columns:repeat(6,1fr);gap:3px;margin-top:4px}.outside-row.thirds{grid-template-columns:repeat(3,1fr)}.outside-row>button{background:#1b3c28;border:1px solid #b8b17c30;border-radius:2px;color:#c6ceae;font-size:10px;min-height:32px;padding:5px 2px}.outside-row button.outside-red{color:#f0c0a5;background:#713a313d}.outside-row button.outside-black{background:#101e16}.outside-row>button:hover:not(:disabled){border-color:#c7af7a80;background-color:#b8b17c17}.outside-row.columns{margin-top:9px}.outside-row.columns button{background:none;font-size:8px;min-height:26px;color:#8da17b}.outside-row.columns small{color:#baa673;margin-left:7px;font-size:7px}.selected-bets{display:flex;gap:5px;flex-wrap:wrap;min-height:39px;padding-top:11px}.selected-bets>span{border:1px solid #c7af7a20;background:#d1bd7708;display:inline-flex;gap:7px;align-items:center;border-radius:3px;font-size:8px;padding:5px 8px;color:#adb799;line-height:1.6}.selected-bets>span.muted{border:none;background:none;color:#839976;padding-left:0}.selected-bets b{font-weight:500;color:#d6c891}.roulette-tools{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:8px 0;color:#839c74;font-size:9px}.roulette-tools strong{font-size:14px;font-weight:500;color:#dccc9b;margin:0 5px}.roulette-tools>div{display:flex;gap:14px}.roulette-tools .text-button{font-size:9px;min-height:27px}.roulette-controls{padding:15px 0 0;border:0;gap:13px;flex-wrap:wrap}.roulette-controls .chip-choice{width:30px;height:30px;font-size:9px}.roulette-controls .stake-options{gap:5px}.roulette-controls>.button{flex:1;min-width:115px;font-size:11px;white-space:nowrap}.roulette-controls .control-label{font-size:6px;margin-bottom:8px}
/* Baccarat */
.baccarat-table{padding:30px 28px 22px}.baccarat-brand{display:flex;align-items:center;flex-direction:column;color:#bdbe90;margin-bottom:30px}.baccarat-brand>span{font-family:var(--serif);font-size:22px;letter-spacing:7px;margin:7px 0}.baccarat-brand small{font-size:7px;letter-spacing:2px;color:#b3b88499}.baccarat-brand .crest{opacity:.65}.baccarat-hands{position:relative;display:flex;justify-content:space-evenly;gap:40px;margin-bottom:28px;min-height:160px}.baccarat-hand{min-width:0;width:48%;padding:14px 8px;border:1px solid transparent;border-radius:8px}.baccarat-hand .playing-card{--card-width:78px}.baccarat-hand.winning-hand{border-color:#cfb67755;background:#b7a9680a}.baccarat-divider{position:absolute;top:12px;bottom:12px;left:50%;border-left:1px solid #b4ac7640}.baccarat-choices{display:grid;grid-template-columns:1fr .7fr 1fr;gap:13px;max-width:590px;margin:0 auto}.baccarat-choice{background:#102b20a0;border:1px solid #a4b27b47;border-radius:7px;min-height:88px;display:flex;align-items:center;flex-direction:column;justify-content:center;color:#bfc6a2;gap:7px}.baccarat-choice>span{font-size:9px;letter-spacing:2px}.baccarat-choice>b{font-family:var(--serif);font-size:22px;font-weight:400}.baccarat-choice>small{font-size:7px;color:#889b70}.baccarat-choice.selected{border-color:#d4be7c;background:#baa46219;box-shadow:inset 0 0 0 2px #c1b67715}.baccarat-choice.selected small{color:#d4c38f}.baccarat-note{text-align:center;font-size:8px;color:#91a17a;margin:17px 0 0}.dealt-card{animation:dealIn .28s ease-out both}@keyframes dealIn{from{opacity:0;transform:translate(10px,-14px) rotate(5deg)}to{opacity:1;transform:none}}
/* Poker */
.poker-layout{display:grid;grid-template-columns:minmax(0,1fr) 221px;gap:18px;align-items:stretch}.poker-table{padding:31px 24px 25px;border-radius:10px;display:flex;flex-direction:column;justify-content:center}.poker-brand{text-align:center;display:flex;align-items:center;flex-direction:column;margin-bottom:36px}.poker-brand>span{font-family:var(--serif);font-size:16px;letter-spacing:5px;margin:8px 0 15px;color:#c4b783aa}.poker-brand h2{font-size:29px;letter-spacing:.2px;color:#e0dcb7;margin-bottom:9px}.poker-brand small{font-size:7px;letter-spacing:1.7px;color:#9eb084}.poker-brand .crest{opacity:.65}.poker-hand{display:flex;justify-content:center;gap:8px}.poker-card{border:0;background:none;padding:0;min-width:0;opacity:1!important}.poker-card .playing-card{--card-width:76px}.poker-card.held .playing-card{box-shadow:0 0 0 2px #dec788,0 6px 15px #0008}.hold-label{font-size:8px;letter-spacing:1.4px;display:block;margin-top:10px;background:#0d291cb0;border:1px solid #a7b17a24;border-radius:3px;padding:6px 0;color:#9ead86}.poker-card.held .hold-label{background:#c6b178;color:#172419;border-color:#cfbd84}.poker-instruction{font-size:10px;color:#a4b28a;text-align:center;min-height:18px;margin-top:22px;line-height:1.8}.paytable{background:#1c281c;border:1px solid #b5ac7335;border-radius:8px;padding:19px 15px}.paytable-heading{font-size:8px;letter-spacing:1.4px;color:#dbcc98;padding-bottom:16px;border-bottom:1px solid #c9bb7b2b;margin-bottom:5px}.paytable-heading small{display:block;letter-spacing:.1px;font-size:8px;margin-top:6px;color:#8da078}.paytable-row{padding:10px 0;display:flex;justify-content:space-between;gap:5px;border-bottom:1px solid #c9bb7b0e;font-size:10px;color:#afbd98}.paytable-row b{font-weight:400;color:#cabc84}.paytable-row.paytable-match{color:#f1dd99;background:#c7af7a17;border-radius:3px;margin:0 -6px;padding-left:6px;padding-right:6px}.paytable p{font-size:8px;line-height:1.9;margin:15px 0 0;color:#849971}.game-page-poker .game-bottom{margin-top:18px;border:1px solid #b7a86f20;border-radius:8px}
/* Midnight Royale */
.slots-stage{background:radial-gradient(ellipse at 50% 16%,#4a412723,transparent 70%),#151d15;border:1px solid #b4a26c38;border-radius:10px 10px 0 0;padding:28px 55px 17px;position:relative;overflow:hidden}.slots-stage:before,.slots-stage:after{content:'';position:absolute;top:40px;width:200px;height:200px;border:1px solid #bda76d12;transform:rotate(45deg);pointer-events:none}.slots-stage:before{left:-130px}.slots-stage:after{right:-130px}.slot-top{text-align:center;margin-bottom:24px}.slot-original{font-size:7px;letter-spacing:3px;color:#ac9b69}.slot-top h2{font-size:43px;color:#dfc994;letter-spacing:.2px;margin:10px 0 10px;line-height:1}.slot-top h2 em{font-weight:400}.slot-tag{font-size:6px;letter-spacing:1.8px;color:#9caa87}.slot-machine{max-width:750px;margin:0 auto;position:relative}.slot-machine-rim{padding:11px;background:linear-gradient(115deg,#a38a56,#e4cb8e 15%,#655032 27%,#988458 50%,#dec48a 70%,#5f4d30);border:1px solid #e9d4997a;border-radius:9px;box-shadow:0 10px 30px #0006,0 0 0 4px #3d362399;position:relative}.reels{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;border:4px solid #312b1c;background:#342b1c;border-radius:4px;overflow:hidden;box-shadow:inset 0 8px 12px #0005}.reel{min-width:0;background:linear-gradient(#b4ab8f,#f0e8ce 28%,#ece4c9 63%,#aaa084);position:relative;overflow:hidden}.reel:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(#32281764,transparent 23%,transparent 77%,#32281764);box-shadow:inset 2px 0 3px #40361b22,inset -2px 0 3px #40361b44}.reel-track{width:100%}.reel-cell{height:100px;display:flex;align-items:center;justify-content:center;position:relative}.reel-cell:not(:last-child){border-bottom:1px solid #90826018}.slot-symbol{height:82%;max-width:80%;filter:drop-shadow(0 2px 1px #574a2f66)}.reel-cell.winning-symbol{background:#eacc854a}.reel-cell.winning-symbol:before{content:'';position:absolute;inset:6px;border:1px solid #9271379c;border-radius:4px;box-shadow:0 0 8px #e1bb4966}.reel-spinning .reel-track{animation:reelScroll .105s linear infinite;filter:blur(3px)}.reel-settled{animation:reelSettle .17s ease-out}.machine-plaque{display:flex;align-items:center;justify-content:space-between;padding:16px 14px 5px;color:#b5a36d;font-size:7px;letter-spacing:2px}.machine-plaque>span:first-child{font-family:var(--serif);font-size:10px;letter-spacing:3px}.line-number{position:absolute;top:15px;bottom:15px;display:flex;flex-direction:column;justify-content:space-around;font-size:7px;color:#c6b67d;z-index:2}.line-number.left{left:-18px}.line-number.right{right:-18px}.slot-line-results{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;min-height:26px;margin:13px 0 0;font-size:9px;color:#98a980}.slot-line-results>span{padding:4px 6px;border-radius:3px}.slot-pays-toggle{display:flex;margin:0 auto;font-size:9px;min-height:29px}.slot-paytable{max-width:420px;margin:10px auto;padding:18px;background:#0f1b11;border:1px solid #c7af7a30;border-radius:6px}.slot-paytable>div{display:grid;grid-template-columns:1.5fr repeat(3,1fr);font-size:10px;padding:7px;border-bottom:1px solid var(--line);color:#aabb96}.slot-paytable b{font-weight:400;text-align:right;color:#c8b77f}.slot-paytable>div.slot-pay-head{font-size:8px;color:#ddcca0}.slot-paytable p{font-size:9px;color:#809b70;margin:12px 0 0}@keyframes reelScroll{0%{transform:translateY(-34px)}100%{transform:translateY(34px)}}@keyframes reelSettle{0%{transform:translateY(-4px)}60%{transform:translateY(3px)}100%{transform:none}}
/* Entry, dialogs and notices */
.entry-page{min-height:100vh;display:flex;align-items:center;justify-content:flex-start;padding:65px max(6vw,30px);position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 80% 55%,#2a452e,#111a12 64%,#0d150f)}.entry-page:before{content:'';position:absolute;inset:20px;border:1px solid #d1bc7b18;pointer-events:none}.entry-card{width:500px;position:relative;z-index:2;padding:30px 0;background:linear-gradient(90deg,#111910a8,transparent)}.entry-brand{display:flex;gap:15px;align-items:center;margin-bottom:47px}.entry-brand>span{font-family:var(--serif);font-size:39px;letter-spacing:9px}.entry-brand small{display:block;font-family:var(--sans);font-size:8px;color:#baa574;letter-spacing:3px;margin:7px 0 0}.entry-card>.eyebrow{font-size:8px}.entry-card h1{font-size:43px;line-height:1.15;letter-spacing:-.6px;margin:16px 0 20px}.entry-card h1 em{color:#d8c08c;font-weight:400}.entry-card>p{font-size:13px;line-height:1.9;color:#b2bea2;margin-bottom:25px}.entry-notice{display:flex;align-items:center;gap:12px;border:1px solid #c6b6772e;border-radius:6px;padding:15px 17px;background:#c6b67708;color:#c6b677;margin:25px 0 20px}.entry-notice strong{font-size:11px;color:#d7dec5;font-weight:500;display:block;margin-bottom:5px}.entry-notice span{font-size:10px;line-height:1.7;color:#95a981;display:block}.entry-check{display:flex;gap:12px;align-items:flex-start;font-size:12px;line-height:1.8;color:#b6c2a6;margin-bottom:22px}.entry-check input{margin:2px 0 0}.entry-button{width:100%;padding:15px;font-size:12px}.leave-preview{display:flex;margin:8px auto;color:#809673;font-size:10px}.entry-card>.entry-fineprint{font-size:9px;color:#809475;line-height:1.8;margin:12px 0 0}.entry-art{position:absolute;right:-3vw;top:12%;width:55vw;height:90%;opacity:.9;z-index:-1}.entry-art .hero-art{position:absolute;width:100%;height:100%;inset:0}.entry-art .art-wheel{top:9%;width:100%}.entry-art .hero-chip-one{bottom:24%}.entry-art .hero-chip-two{bottom:15%}.closed-preview{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.closed-preview h1{font-size:40px}.closed-preview p{font-size:14px;color:var(--muted)}.club-dialog{color:var(--ivory);padding:0;width:min(580px,calc(100vw - 30px));max-height:88dvh;border:1px solid #c7af7a4a;border-radius:12px;background:#182019;box-shadow:0 35px 100px #0008;overflow:auto}.club-dialog.wide{width:min(710px,calc(100vw - 30px))}.club-dialog::backdrop{background:#030904be;backdrop-filter:blur(5px)}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 28px 22px;border-bottom:1px solid var(--line);background:#182019;position:sticky;top:0;z-index:2}.modal-heading .eyebrow{font-size:7px}.modal-heading h2{font-size:29px;margin:8px 0 0;line-height:1.1}.modal-body{padding:26px 28px}.modal-body>p{font-size:13px;line-height:1.85;color:#abb99b}.modal-body>p:last-child{margin-bottom:0}.modal-body>p.page-note{font-size:10px;color:#859778}.settings-section{padding-bottom:25px;margin-bottom:23px;border-bottom:1px solid var(--line)}.settings-section:last-child{padding-bottom:0;margin-bottom:0;border:0}.settings-section h3{font-size:23px;margin-bottom:21px}.setting-line{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:0 0 21px;font-size:12px;color:#d1d9c5}.setting-line small{display:block;max-width:330px;color:#93a684;font-size:10px;line-height:1.7;margin-top:6px}.setting-line select{background:#101b11;border:1px solid #a8b48135;padding:8px;color:#c3ccad;font-size:11px;border-radius:4px}.volume-line{display:block;margin-bottom:17px}.volume-line>span{font-size:11px;display:flex;justify-content:space-between;color:#aebda0;margin-bottom:9px}.volume-line output{font-size:10px;color:#c4b27a}.volume-line input{height:18px}.settings-section>.muted{font-size:12px;line-height:1.8}.settings-actions{display:flex;align-items:center;gap:18px;justify-content:flex-start;flex-wrap:wrap}.danger{color:#cf9b89}.danger-button{background:#854737;color:#f5dfc7;border-color:#b8785d}.break-illustration{display:flex;align-items:center;justify-content:center;width:88px;height:88px;border:1px solid #c0ae742d;border-radius:50%;margin:0 auto 25px;color:#bfad79;background:#c0ae7409}.break-options{display:flex;gap:10px;margin:20px 0}.break-options>.button{flex:1}.launch-list{padding:0;list-style:none;display:flex;flex-direction:column;gap:17px;margin:23px 0}.launch-list li{display:flex;align-items:flex-start;gap:12px;color:#acba9a;font-size:12px;line-height:1.8}.launch-list svg{color:#b4a171;margin-top:3px}#toasts{position:fixed;bottom:25px;left:calc(50% + 100px);transform:translateX(-50%);width:max-content;max-width:min(570px,90vw);display:flex;flex-direction:column;gap:10px;z-index:100;pointer-events:none}.toast{padding:15px 19px;display:flex;gap:11px;align-items:center;background:#273522ed;color:#e5e6d2;border:1px solid #c7af7a57;border-radius:7px;box-shadow:0 8px 30px #0005;font-size:12px;line-height:1.7;animation:toastIn .2s ease-out}.toast svg{color:#cbb782}.toast.error{background:#442d24f5;border-color:#b9774f7a}.toast.error svg{color:#d99b76}@keyframes toastIn{from{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}
/* Responsive rooms */
@media(min-width:1550px){.hero-copy{padding:48px 48px}.hero-copy h1{font-size:64px}.lobby-hero{min-height:421px}.game-card-visual{height:192px}.game-title-button h3{font-size:23px}.game-card-body p{font-size:10px}.game-card-body .eyebrow{font-size:7px}.game-card-body{padding:18px}.game-card .art-wheel{top:-15%;width:92%}.hero-art{right:1%;width:51%;top:-4%}.roulette-controls .chip-choice{width:37px;height:37px}.roulette-controls .stake-options{gap:7px}.roulette-board{grid-template-rows:repeat(3,57px)}}
@media(max-width:1180px){.sidebar{width:187px;padding-left:15px;padding-right:15px}.brand>span{font-size:25px;letter-spacing:4px}.brand .crest{width:37px}.main-column{margin-left:187px}.topbar,.content-page,.site-footer{padding-left:26px;padding-right:26px}.hero-copy{padding:33px 30px}.hero-copy h1{font-size:48px}.hero-copy p{font-size:12px}.hero-art{width:59%;right:-7%;top:5%}.lobby-hero{min-height:363px}.hero-fineprint{font-size:8px}.experience-strip{gap:18px}.experience-strip>span{font-size:9px}.game-grid{gap:11px}.game-card-visual{height:139px}.game-title-button h3{font-size:16px}.game-card-body{padding:13px 10px}.game-card-body p{font-size:7px}.game-card-body .eyebrow{font-size:5.5px;letter-spacing:1px}.art-hand{left:20%;top:15%;transform:scale(.86) rotate(-7deg);transform-origin:top left}.mini-slot-sign{font-size:9px}.mini-slot-sign>span{font-size:19px}.hero-chip-one{bottom:21%}.hero-chip-two{bottom:12%}.lobby-lower{gap:20px}.club-note h3{font-size:24px}.section-heading h2{font-size:25px}.roulette-layout{grid-template-columns:.85fr 1.2fr;gap:16px;padding:18px}.roulette-controls{gap:12px;align-items:center}.roulette-controls>.button{flex-basis:100%}.roulette-controls .stake-select{width:100%}.roulette-controls .stake-options{justify-content:space-between}.roulette-controls .chip-choice{width:34px;height:34px}.poker-layout{grid-template-columns:minmax(0,1fr) 190px;gap:13px}.poker-card .playing-card{--card-width:64px}.poker-table{padding-left:15px;padding-right:15px}.paytable{padding:16px 12px}.paytable-row{font-size:9px}.poker-brand h2{font-size:26px}.slot-top h2{font-size:40px}.slots-stage{padding-left:36px;padding-right:36px}.stats-grid>div{padding:20px 17px}.profile-balance{grid-template-columns:1fr}.profile-top{grid-template-columns:1.2fr 1fr}.membership-card{padding:28px}}
@media(max-width:1000px){.sidebar{width:79px;padding:25px 10px}.brand{justify-content:center;margin-bottom:38px}.brand>span,.sidebar-label,.main-nav button span,.main-nav button b,.sidebar-club-card,.sidebar-settings,.sidebar-legal span{display:none}.brand .crest{width:43px;height:43px}.main-nav button{justify-content:center;padding:12px;min-height:49px}.main-nav button svg{width:22px;height:22px}.sidebar-legal{justify-content:center;padding:19px 0 0}.main-column{margin-left:79px}.game-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.game-card-visual{height:179px}.game-title-button h3{font-size:22px}.game-card-body{padding:18px 15px}.game-card-body p{font-size:9px}.game-card-body .eyebrow{font-size:7px;letter-spacing:1.2px}.art-hand{transform:rotate(-7deg);left:23%}.tables-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tables-grid .game-card-visual{height:220px}.tables-grid .art-hand{left:31%;top:20%;transform:scale(1.35) rotate(-7deg)}.tables-grid .art-wheel{width:84%;left:21%;top:-30%}.tables-grid .art-chips{transform:scale(.9);bottom:6%;left:15%}.lobby-lower{grid-template-columns:1fr 1fr}.challenge-card{padding:18px;gap:12px}.challenge-symbol{width:37px;height:37px}.challenge-copy h3{font-size:19px}.section-heading .text-button{font-size:9px}.breadcrumb{display:none}.game-page{padding-left:23px;padding-right:23px}.challenges-grid{gap:13px}.challenge-card.large{padding:23px}.achievement-grid{gap:11px}.achievement-card{padding:24px 12px}.achievement-card h3{font-size:19px}.achievement-card p{font-size:10px}.profile-balance .text-button{font-size:9px}.membership-card h2{font-size:26px}.price b{font-size:43px}.entry-card{width:470px}.entry-art{right:-9vw;opacity:.62;width:59vw}.entry-page{padding:45px 7vw}#toasts{left:calc(50% + 35px)}}
@media(max-width:760px){.sidebar{display:none}.main-column{margin-left:0}.mobile-nav{position:fixed;z-index:40;bottom:0;left:0;right:0;background:#111a12f5;border-top:1px solid #b3b27a30;display:flex;justify-content:space-around;align-items:center;backdrop-filter:blur(15px);padding:8px 9px calc(7px + env(safe-area-inset-bottom))}.mobile-nav button{background:none;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#92a080;font-size:8px;padding:5px 8px;min-width:50px;min-height:44px}.mobile-nav button.active{color:#d8c28c}.mobile-nav button.active:before{content:'';position:absolute;top:-1px;width:25px;height:2px;background:#c7af7a}.preview-strip{padding:0 18px;height:24px;font-size:6px;letter-spacing:.7px;gap:10px}.preview-strip span:first-child{font-size:6px}.topbar{height:72px;padding:0 18px}.topbar-title{gap:0;min-width:0;flex:1}.topbar-route{font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:175px}.topbar-tools{gap:10px}.session-button{display:none}.balance-pill{gap:6px;padding:7px 8px}.balance-pill>svg{width:17px}.balance-pill small{font-size:6px;letter-spacing:1px}.balance-pill strong{font-size:13px;min-width:50px}.balance-pill>button{width:24px;height:24px}.topbar-tools>.icon-button{width:33px;height:33px;border:0}.topbar-tools>.avatar-button{display:none}.content-page{padding:21px 19px 27px}.lobby-hero{min-height:357px}.hero-copy{padding:30px;width:58%}.hero-copy h1{font-size:46px}.hero-copy p{font-size:12px}.hero-art{width:54%;right:-8%;top:8%}.hero-actions .button.ghost{display:none}.experience-strip{gap:11px;padding:17px 0;margin-bottom:26px;justify-content:space-between}.experience-strip>span{font-size:8px;gap:6px;line-height:1.7;max-width:30%}.experience-strip svg{width:15px;height:15px}.game-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.game-card-visual{height:149px}.game-title-button h3{font-size:19px}.game-card-body{padding:14px 12px}.game-card-body .eyebrow{font-size:6px;letter-spacing:1px}.game-card-body p{font-size:8px}.game-card .art-hand{transform:scale(.83) rotate(-7deg);transform-origin:top left}.section-heading{gap:15px;margin-bottom:18px}.section-heading h2{font-size:27px}.lobby-lower{grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}.lobby-lower .section-heading .text-button{font-size:8px}.lobby-lower .section-heading h2{font-size:23px}.challenge-card{flex-direction:column}.lobby-lower .challenge-copy h3{font-size:22px}.club-note{padding:23px}.club-note h3{font-size:26px}.club-note p{font-size:11px}.site-footer{padding:25px 20px 97px;gap:15px;margin-top:3px}.site-footer>nav{gap:16px}.site-footer>p{font-size:8px}.site-footer>small{text-align:left;font-size:8px}.game-page{padding:20px 18px}.rules-button{min-height:35px;font-size:9px;padding:8px;gap:5px}.rules-button svg{width:15px}.roulette-layout{grid-template-columns:minmax(0,1fr);padding:20px;gap:11px}.wheel-panel{display:grid;grid-template-columns:1fr 1fr;align-items:center;column-gap:22px}.table-label{grid-column:1 / -1}.live-wheel{grid-column:1;grid-row:2 / 4;width:100%;max-width:275px;margin:9px auto}.wheel-history{justify-content:flex-start}.wheel-panel>.round-result{grid-column:2;grid-row:3;margin-top:0;min-height:75px;gap:9px}.wheel-panel>.round-result strong{font-size:17px}.wheel-panel>.round-result div>span{font-size:9px}.wheel-history>small{line-height:1.8}.wheel-history>span{flex-basis:100%;margin-bottom:6px}.roulette-betting .selection-modes button{font-size:10px;min-height:36px}.roulette-board{grid-template-rows:repeat(3,48px)}.roulette-cell{font-size:15px}.outside-row>button{min-height:36px;font-size:11px}.roulette-controls{flex-wrap:nowrap;align-items:flex-end;gap:20px}.roulette-controls .stake-select{width:auto}.roulette-controls>.button{flex-basis:auto}.roulette-controls .chip-choice{width:34px;height:34px}.roulette-controls .stake-options{gap:6px}.round-controls{padding:16px 19px;gap:15px}.game-actions .button{padding:10px 13px;min-height:42px}.chip-choice{width:33px;height:33px}.stake-options{gap:5px}.game-bottom>.result-area{padding:9px 18px 0}.player-hands{padding-left:18px;padding-right:18px}.baccarat-hand .playing-card{--card-width:64px}.baccarat-hands{gap:24px}.baccarat-table{padding:26px 17px 19px}.baccarat-brand{margin-bottom:20px}.poker-layout{grid-template-columns:1fr}.poker-card .playing-card{--card-width:78px}.poker-table{padding:27px 20px;border-radius:8px}.paytable{display:grid;grid-template-columns:1fr 1fr;column-gap:20px;padding:18px 20px}.paytable-heading{grid-column:1/-1;display:flex;justify-content:space-between;padding-bottom:10px}.paytable-heading small{margin:0}.paytable p{grid-column:1/-1;margin:8px 0 0;font-size:8px}.paytable p br{display:none}.paytable-row{font-size:10px;padding:9px 0}.slots-stage{padding:25px 31px 15px}.reel-cell{height:95px}.slot-top h2{font-size:40px}.slot-tag{font-size:6px}.page-intro{padding:15px 0 29px}.page-intro h1{font-size:38px;line-height:1.2;margin:13px 0}.page-intro>p{font-size:12px}.tables-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tables-grid .game-card-visual{height:207px}.tables-grid .game-card .art-hand{transform:scale(1.18) rotate(-7deg);left:26%}.tables-grid .game-card-body{padding:20px 17px}.tables-grid .game-card-body .eyebrow{font-size:7px}.tables-grid .game-card-body p{font-size:9px}.slot-feature{grid-template-columns:1fr 1fr;min-height:330px}.slot-feature>div:first-child{padding:29px}.slot-feature h2{font-size:33px}.slot-feature p{font-size:11px}.slot-feature .game-art{min-height:270px}.slot-feature .mini-slot-sign{font-size:16px;top:15%}.slot-feature .mini-slot-sign>span{font-size:32px}.slot-feature .mini-machine{inset:40% 8% 17%}.slot-feature .slot-machine-base{bottom:15%}.challenges-grid{grid-template-columns:1fr;gap:15px}.challenge-card.large{flex-direction:row;gap:20px}.challenge-card.large .challenge-copy h3{font-size:24px}.challenge-card.large .challenge-copy p{font-size:11px}.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.profile-intro{gap:17px}.profile-avatar{width:65px;height:65px;font-size:32px}.profile-intro h1{font-size:31px}.small-serif{font-size:25px}.profile-intro>div>p{font-size:10px}.profile-top{grid-template-columns:1.25fr 1fr;gap:14px}.profile-edit,.profile-balance{padding:20px 17px}.profile-edit>div{flex-direction:column}.profile-edit input{min-height:41px}.profile-edit .button{min-height:36px;padding:8px}.stats-grid>div{padding:18px 15px}.stats-grid span{font-size:9px}.stats-grid strong{font-size:29px}.stats-grid small{font-size:8px;line-height:1.6;display:block}.history-table th{padding:12px;font-size:7px}.history-table td{padding:14px 12px;font-size:10px}.history-table td b{font-size:12px}.history-table td span{font-size:9px}.membership-grid{gap:18px}.membership-card{padding:25px}.membership-card h2{font-size:27px}.price b{font-size:38px}.membership-card ul{font-size:11px}.membership-card>.button{font-size:10px;padding:12px 13px}.annual-art .crest{width:85px;height:85px}.membership-card.alternative>p{font-size:10px}.entry-page{padding:45px 40px;justify-content:center}.entry-art{inset:auto -100px 0 auto;width:500px;height:600px;opacity:.28}.entry-card{width:480px;padding:20px 0;background:none}.entry-brand{margin-bottom:34px}.entry-card h1{font-size:42px}.entry-page:before{inset:13px}.modal-heading{padding:23px}.modal-heading h2{font-size:28px}.modal-body{padding:23px}.club-dialog{max-height:85dvh}.storage-warning,.pause-banner{padding:11px 18px;font-size:10px}#toasts{left:50%;bottom:88px;max-width:calc(100vw - 26px)}.toast{font-size:11px;padding:13px 16px}}
@media(max-width:480px){.topbar-route{font-size:17px;max-width:135px}.topbar{padding:0 15px}.topbar-tools{gap:5px}.topbar-tools>.icon-button{width:31px}.balance-pill{padding:7px;gap:5px}.balance-pill>svg{width:15px}.balance-pill strong{font-size:12px;min-width:45px}.content-page{padding:18px 16px 25px}.lobby-hero{min-height:455px}.hero-copy{padding:28px 25px;width:100%;background:linear-gradient(135deg,#121b1455,transparent 80%)}.hero-copy>.eyebrow{font-size:8px;letter-spacing:1.8px}.hero-copy h1{font-size:44px;margin:16px 0 14px}.hero-copy p{font-size:11px;line-height:1.75;margin-bottom:18px}.hero-actions .button{font-size:10px;min-height:40px;padding:11px 16px}.hero-fineprint{font-size:7px;gap:5px;margin-top:16px;max-width:245px;white-space:normal}.hero-fineprint svg{width:12px}.hero-art{width:82%;height:65%;top:auto;bottom:-30%;right:-5%;opacity:.94;z-index:1}.hero-art .art-wheel{top:-21%;left:11%;width:100%;transform:perspective(800px) rotateX(42deg) rotateZ(-20deg)}.hero-art .hero-chip-one{bottom:52%;left:-7%;transform:scale(.7)}.hero-art .hero-chip-two{bottom:47%;left:11%;transform:scale(.7)}.hero-edition{font-size:5px;left:24px;bottom:16px;right:auto;color:#cabb856b;max-width:95px;line-height:1.8}.experience-strip{gap:12px;flex-wrap:wrap;padding:16px 2px 18px}.experience-strip>span{font-size:8px;max-width:none;flex:1 1 40%;gap:6px}.experience-strip>span:last-child{display:none}.section-heading h2{font-size:27px}.section-heading>.eyebrow,.section-heading .eyebrow{font-size:7px;letter-spacing:1.4px}.collection-filter{gap:4px}.collection-filter button{padding:8px;font-size:8px}.collection-filter button span{font-size:7px;margin-left:2px}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.game-card-visual{height:144px}.game-card-body{padding:14px 11px 13px}.game-title-button h3{font-size:19px}.game-title-button svg{width:13px}.game-card-body .eyebrow{font-size:5.5px;letter-spacing:1px;line-height:1.8;margin-bottom:7px}.game-card-body p{font-size:7px;margin-top:9px;line-height:1.8}.game-grid>.game-card:last-child:nth-child(odd){grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;min-height:145px}.game-grid>.game-card:last-child:nth-child(odd) .game-card-visual{height:155px;border-bottom:0;border-right:1px solid var(--line)}.game-grid>.game-card:last-child:nth-child(odd) .game-card-body{display:flex;justify-content:center;flex-direction:column;padding:18px}.game-grid>.game-card:last-child:nth-child(odd) .game-title-button h3{font-size:22px}.game-grid>.game-card:last-child:nth-child(odd) .game-card-body p{font-size:8px}.game-card .art-hand{left:19%;top:15%;transform:scale(.81) rotate(-7deg)}.game-card .art-wheel{top:-9%;left:15%;width:107%}.game-card .art-chips{transform:scale(.59);left:1%;bottom:-2%}.game-card .hero-chip-one{left:13%;bottom:7%;transform:scale(.6)}.game-card .hero-chip-two{left:29%;bottom:-2%;transform:scale(.6)}.game-visual-badge{font-size:5px;letter-spacing:1px;left:8px;bottom:8px;padding:4px 6px}.favorite-button{width:28px;height:28px;right:7px;top:7px}.game-card .mini-slot-sign{font-size:10px;top:8%}.game-card .mini-slot-sign>span{font-size:21px}.lobby-lower{grid-template-columns:1fr;gap:21px;margin-top:29px}.lobby-lower .section-heading h2{font-size:26px}.lobby-lower .section-heading .text-button{font-size:9px}.challenge-card{flex-direction:row;padding:21px;gap:15px}.lobby-lower .challenge-copy h3{font-size:22px}.challenge-copy p{font-size:10px}.club-note{padding:25px}.club-note h3{font-size:29px}.site-footer>p{margin-left:7px;font-size:8px;max-width:130px;line-height:1.6}.site-footer>nav{margin-left:0;flex-basis:100%;gap:23px}.site-footer>small{font-size:7px}.continue-card{padding:13px 14px;gap:12px}.continue-card strong{font-size:11px}.continue-card small{font-size:6px}.game-page{padding:18px 14px}.rules-button{font-size:8px;padding:7px;gap:4px;min-height:34px}.rules-button svg{width:13px}.roulette-layout{padding:16px 13px;gap:15px}.wheel-panel{display:block}.table-label{font-size:6px}.live-wheel{max-width:270px;margin:12px auto 14px}.wheel-history{justify-content:center;gap:5px}.wheel-history>span{flex-basis:auto;margin:0 4px 0 0}.wheel-history>small{font-size:8px}.wheel-history>b{width:21px;height:21px;font-size:9px}.wheel-panel>.round-result{margin-top:12px;min-height:66px;gap:11px}.wheel-panel>.round-result strong{font-size:18px}.selection-modes{gap:2px;padding-bottom:8px}.roulette-betting .selection-modes button{font-size:9px;min-height:36px;padding:6px}.selection-hint{font-size:8px;margin-top:10px;min-height:28px}.roulette-board{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(13,37px);gap:3px;padding:3px}.roulette-cell{grid-column:var(--mx);grid-row:var(--my);font-size:16px;border-radius:2px}.roulette-cell.zero{font-size:17px}.outside-row>button{font-size:9px;min-height:35px}.outside-row.columns button{font-size:8px;min-height:32px}.outside-row.columns small{margin-left:4px}.selected-bets>span{font-size:9px;padding:5px 6px}.roulette-controls{flex-direction:column;gap:15px;align-items:stretch}.roulette-controls .stake-select{width:100%}.roulette-controls .stake-options{justify-content:space-between;gap:8px}.roulette-controls .chip-choice{width:39px;height:39px;font-size:11px}.roulette-controls .control-label{font-size:7px;margin-bottom:11px}.roulette-controls>.button{font-size:12px;min-height:46px}.roulette-tools{font-size:9px}.roulette-tools .text-button{font-size:9px}.round-controls{flex-direction:column;align-items:stretch;gap:18px;padding:18px 16px}.stake-options{justify-content:space-between;gap:7px}.chip-choice{width:38px;height:38px;font-size:11px}.game-actions{justify-content:stretch;gap:7px}.game-actions>.button{flex:1;padding:11px 10px;min-width:55px;font-size:10px}.game-bottom>.result-area{padding:9px 16px 0}.round-result strong{font-size:18px}.round-result div>span{font-size:9px}.round-result{min-height:74px}.game-footnote{font-size:7px;gap:6px;padding:16px 7px}.game-footnote span:last-of-type{display:none}.felt-table{border-radius:9px 9px 0 0;box-shadow:inset 0 0 0 6px #2b251c,inset 0 0 0 8px #a385503b,inset 0 15px 60px #0006}.dealer-zone{padding:21px 17px 9px}.dealer-hand .playing-card{--card-width:57px}.hand-label{font-size:7px;letter-spacing:1.2px;margin-bottom:10px}.hand-label b{font-size:10px;padding:3px 7px;margin-left:5px}.table-brand{margin:12px 0 3px}.table-brand>span{font-size:18px;letter-spacing:5px}.table-brand small{font-size:10px;letter-spacing:1.3px}.table-brand i{font-size:6px}.table-brand:before,.table-brand:after{width:18%}.player-hands{padding:13px 14px 18px;gap:10px;min-height:165px}.player-hand{padding:10px 9px}.player-hand .playing-card{--card-width:62px}.hand{gap:6px}.split-hands .playing-card{--card-width:48px}.split-hands .player-hand{padding:9px 5px}.hand-stake{font-size:9px;margin-top:10px}.card-outline{width:65px;height:91px}.empty-hand{min-height:131px}.empty-hand>small{font-size:12px}.table-ornament{width:28px;height:28px;bottom:10%}.baccarat-table{padding:23px 14px 18px}.baccarat-brand{margin-bottom:19px}.baccarat-brand>.crest{width:32px;height:32px}.baccarat-brand>span{font-size:20px}.baccarat-brand>small{font-size:6px;letter-spacing:1.5px}.baccarat-hands{gap:15px;margin-bottom:23px;min-height:134px}.baccarat-hand{padding:9px 3px}.baccarat-hand .playing-card{--card-width:44px}.baccarat-hand .hand{gap:4px;flex-wrap:nowrap}.baccarat-divider{top:6px;bottom:7px}.baccarat-choices{gap:8px}.baccarat-choice{min-height:85px}.baccarat-choice>span{font-size:8px;letter-spacing:1.2px}.baccarat-choice>b{font-size:21px}.baccarat-choice>small{font-size:6px}.baccarat-note{font-size:7px;line-height:1.7;margin-top:17px}.poker-table{padding:26px 15px 23px}.poker-brand{margin-bottom:30px}.poker-brand .crest{width:32px;height:32px}.poker-brand>span{font-size:14px;margin-bottom:13px}.poker-brand h2{font-size:28px}.poker-brand small{font-size:6px;letter-spacing:1.3px}.poker-hand{gap:6px}.poker-card .playing-card{--card-width:50px}.hold-label{font-size:6px;letter-spacing:.7px;margin-top:10px;padding:7px 0}.poker-instruction{font-size:9px;line-height:1.8;margin-top:20px}.paytable{padding:16px 13px;column-gap:16px}.paytable-row{font-size:9px;padding:8px 0}.paytable-heading{font-size:7px;letter-spacing:1px}.paytable-heading small{font-size:7px}.paytable p{font-size:7px}.slots-stage{padding:23px 22px 13px}.slot-top{margin-bottom:23px}.slot-original{font-size:6px;letter-spacing:2.4px}.slot-top h2{font-size:31px;margin:12px 0}.slot-tag{font-size:5px;letter-spacing:1px}.slot-machine-rim{padding:6px;border-radius:6px}.reels{gap:3px;border-width:2px}.reel-cell{height:70px}.slot-symbol{height:78%;max-width:83%}.line-number.left{left:-14px}.line-number.right{right:-14px}.line-number{font-size:6px}.machine-plaque{padding:13px 4px 4px;font-size:5px;letter-spacing:1.2px}.machine-plaque>span:first-child{font-size:8px;letter-spacing:2px}.slot-line-results{font-size:8px;gap:3px;margin-top:10px}.slot-pays-toggle{font-size:8px;min-height:30px}.slot-paytable>div{font-size:9px}.page-intro h1{font-size:34px}.page-intro .eyebrow{font-size:7px;letter-spacing:1.6px}.page-intro>p{font-size:11px;line-height:1.85}.tables-grid .game-card-visual{height:149px}.tables-grid .game-card .art-hand{transform:scale(.83) rotate(-7deg);left:21%;top:13%}.tables-grid .game-card .art-wheel{width:108%;top:-10%;left:17%}.tables-grid .game-card .art-chips{transform:scale(.59);left:1%;bottom:-2%}.tables-grid .game-card-body{padding:16px 12px}.tables-grid .game-title-button h3{font-size:21px}.tables-grid .game-card-body .eyebrow{font-size:5.5px}.tables-grid .game-card-body p{font-size:8px}.slot-feature{display:flex;flex-direction:column;min-height:530px}.slot-feature>div:first-child{padding:30px 27px}.slot-feature h2{font-size:37px;margin:17px 0}.slot-feature .game-art{height:240px;min-height:240px;width:83%;margin:-8px auto 8px}.slot-feature .mini-slot-sign{top:0;font-size:15px}.slot-feature .mini-slot-sign>span{font-size:33px}.slot-feature .mini-machine{inset:30% 8% 6%}.slot-feature .slot-machine-base{bottom:5%;height:12px}.slot-feature .mini-reel small{font-size:6px}.challenges-grid .challenge-card.large{padding:22px 19px;gap:15px}.challenge-card.large .challenge-copy h3{font-size:23px}.challenge-card.large .challenge-copy p{font-size:10px}.challenge-card.large .challenge-progress{font-size:8px}.achievement-card{padding:23px 13px}.achievement-card h3{font-size:21px}.achievement-card p{font-size:10px;min-height:32px}.achievement-card small{font-size:6px}.achievement-card>div{width:57px;height:57px}.spaced.section-heading>.muted{font-size:10px}.section-heading .text-button{font-size:9px}.profile-intro{gap:14px;align-items:center}.profile-avatar{width:57px;height:57px;font-size:29px}.profile-intro h1{font-size:26px;margin:8px 0}.small-serif{font-size:21px}.profile-intro>div>p{font-size:9px;max-width:230px}.profile-top{grid-template-columns:1fr;gap:13px}.profile-edit>div{flex-direction:row}.profile-edit input{width:100%;font-size:12px}.profile-edit .button{min-width:90px;font-size:10px}.profile-balance{grid-template-columns:1fr auto;padding:19px}.profile-balance>.eyebrow{font-size:7px}.profile-balance>strong{font-size:34px}.profile-balance .text-button{font-size:10px}.stats-grid{grid-template-columns:1fr 1fr}.stats-grid>div{padding:19px}.stats-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.stats-grid>div:nth-child(2){border-right:0}.stats-grid span{font-size:10px}.stats-grid strong{font-size:34px}.stats-grid small{font-size:8px}.history-table th:nth-child(2),.history-table td:nth-child(2){display:none}.history-table th{font-size:6px;letter-spacing:.5px;padding:12px 9px}.history-table td{padding:13px 9px;font-size:10px}.history-table td:first-child{max-width:162px}.history-table td b{font-size:11px}.history-table td span{font-size:8px;line-height:1.7}.history-table td small{font-size:7px}.history-table td:nth-child(3),.history-table td:nth-child(4){white-space:nowrap}.page-note{font-size:9px;line-height:1.8}.membership-grid{grid-template-columns:1fr;gap:19px}.membership-card{padding:29px 26px}.membership-card h2{font-size:31px}.price b{font-size:48px}.membership-card p{font-size:11px}.membership-card ul{font-size:12px}.membership-card>.button{font-size:11px}.demo-notice{padding:17px;gap:12px}.demo-notice span{font-size:10px;line-height:1.8}.launch-note p{font-size:11px}.entry-page{padding:35px 29px;min-height:100dvh}.entry-page:before{inset:10px}.entry-card{padding:15px 0;width:100%}.entry-brand{margin-bottom:28px;gap:12px}.entry-brand>.crest{width:42px;height:42px}.entry-brand>span{font-size:31px;letter-spacing:7px}.entry-brand small{font-size:6px;letter-spacing:2.5px}.entry-card>.eyebrow{font-size:7px;letter-spacing:1.6px}.entry-card h1{font-size:34px;margin:15px 0 17px;line-height:1.18}.entry-card>p{font-size:11px;margin-bottom:21px;line-height:1.85}.entry-notice{padding:14px 12px;gap:11px;margin:21px 0 18px}.entry-notice>svg{width:19px}.entry-notice strong{font-size:10px}.entry-notice span{font-size:9px}.entry-check{font-size:10px;gap:11px;margin-bottom:19px;line-height:1.85}.entry-check input{width:18px;height:18px}.entry-button{font-size:11px;min-height:45px;padding:13px}.entry-card>.entry-fineprint{font-size:8px}.entry-art{width:370px;height:400px;bottom:-60px;right:-120px;opacity:.16}.club-dialog{width:calc(100vw - 24px);border-radius:9px;max-height:87dvh}.modal-heading{padding:22px 20px 19px}.modal-heading h2{font-size:26px}.modal-heading>.icon-button{width:32px;height:32px}.modal-heading .eyebrow{font-size:6px;letter-spacing:1.3px}.modal-body{padding:23px 20px}.modal-body>p{font-size:12px;line-height:1.9}.setting-line{font-size:11px;gap:14px}.setting-line small{font-size:9px;max-width:236px}.settings-section h3{font-size:22px}.settings-section>.muted{font-size:11px}.volume-line>span{font-size:10px}.break-options>.button{font-size:10px;padding:11px 8px}.launch-list li{font-size:11px}.settings-actions>.button,.settings-actions>.text-button{font-size:10px}.storage-warning,.pause-banner{padding:11px 15px;font-size:9px}.toast{font-size:10px;padding:12px 14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.game-card:hover{transform:none}}
.reduced-motion *,.reduced-motion *:before,.reduced-motion *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reduced-motion .game-card:hover{transform:none}
/* Approved AUREL host visual */
.approved-host-hero{position:relative;min-height:clamp(520px,65vw,820px);overflow:hidden;background:#0b0b09;padding:0!important}
.approved-host-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.approved-host-overlay{position:absolute;left:6%;top:8%;z-index:2;max-width:520px;padding:24px;background:linear-gradient(90deg,rgba(8,8,7,.82),rgba(8,8,7,.18));text-shadow:0 2px 18px #000}
.approved-host-overlay h1{font-size:clamp(42px,4.6vw,72px);margin:.35em 0}.approved-host-overlay p{font-size:17px;max-width:420px}
.game-page-actions{display:flex;gap:10px;align-items:center}.extras-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.extra-card{border:1px solid var(--line,#3d372c);padding:18px;background:rgba(255,255,255,.025)}.extra-card.equipped{border-color:#b99b5d;box-shadow:inset 0 0 0 1px rgba(185,155,93,.25)}.extra-card h3{margin:.45rem 0}.extra-card p{min-height:48px}.extras-intro{border-left:2px solid #b99b5d;padding-left:14px}
/* Optional cosmetics use the live game surfaces; they never replace symbols or hit areas. */
html:is([data-aurel-extra="theme"],[data-room="theme"],[data-aurel-extra="allstyle"],[data-collections="allstyle"]) :is(#game-surface,.cosmetic-preview-sample) :is(.felt-table,.roulette-betting){background:radial-gradient(ellipse at 50% 25%,#234561,#10283c 70%);border-color:#adc5d3}
html:is([data-aurel-extra="theme"],[data-room="theme"],[data-aurel-extra="allstyle"],[data-collections="allstyle"]) :is(#game-surface,.cosmetic-preview-sample) :is(.pokie-cabinet,.royale-cabinet){border-color:#b3cbd9;box-shadow:inset 0 0 0 3px #a6c5d145,0 0 0 1px #b2ccda,0 18px 45px #03162799}
html:is([data-aurel-extra="theme"],[data-room="theme"],[data-aurel-extra="allstyle"],[data-collections="allstyle"]) :is(#game-surface,.cosmetic-preview-sample) :is(.pokie-meters,.machine-hardware,.machine-plaque){background:linear-gradient(#203a50,#101e2c);border-color:#a6c5d180}
html:is([data-aurel-extra="theme"],[data-room="theme"],[data-aurel-extra="allstyle"],[data-collections="allstyle"]) :is(#game-surface,.cosmetic-preview-sample) .playing-card{border-color:#9abaca;box-shadow:0 2px 0 #93a5b1,0 5px 14px #0008}
html:is([data-aurel-extra="theme"],[data-room="theme"],[data-aurel-extra="allstyle"],[data-collections="allstyle"]) :is(#game-surface,.cosmetic-preview-sample) .card-back-pattern{background:repeating-linear-gradient(45deg,#294d65 0 3px,#163247 3px 6px);border-color:#b7cbd7}
html:is([data-aurel-extra="presentation"],[data-table="presentation"],[data-aurel-extra="allstyle"],[data-collections="allstyle"]) :is(#game-surface,.cosmetic-preview-sample) .round-result:not(.waiting){border:1px solid #e2c682;background:linear-gradient(115deg,#3b311d,#1c2119 70%);box-shadow:inset 0 0 0 3px #e6c57512,0 0 18px #c9ae7533}
html:is([data-aurel-extra="presentation"],[data-table="presentation"],[data-aurel-extra="allstyle"],[data-collections="allstyle"]) :is(#game-surface,.cosmetic-preview-sample) .machine-overlay--feature{border-color:#ffe2a0;box-shadow:inset 0 0 0 4px #b18f4744,inset 0 0 85px #d6b35433}
html:is([data-aurel-extra="collector"],[data-collections="collector"],[data-aurel-extra="allstyle"],[data-collections="allstyle"]) :is(.profile-avatar,.avatar-button){outline:2px solid #dab867;outline-offset:3px;box-shadow:0 0 0 6px #84652a44;background:radial-gradient(ellipse at top,#5c4828,#202920)}
html:is([data-aurel-extra="collector"],[data-collections="collector"],[data-aurel-extra="allstyle"],[data-collections="allstyle"]) .achievement-card.earned{border:2px double #d6b76a;box-shadow:inset 0 0 0 4px #c0a2671a;background:linear-gradient(140deg,#342e1c,#19231c)}
@media(max-width:760px){.approved-host-hero{min-height:620px}.approved-host-image{object-position:50% center}.approved-host-overlay{left:4%;right:4%;top:auto;bottom:4%;max-width:none}.extras-grid{grid-template-columns:1fr}.game-page-actions{flex-direction:column;align-items:stretch}}
.approved-hero-actions{display:flex;align-items:center;justify-content:center;gap:24px;padding:16px 22px;border:1px solid var(--line,#3d372c);border-top:0;background:#10110f;color:#b7ae9e}.approved-hero-actions>span{font-size:10px;letter-spacing:2px;color:#c4a968}.approved-hero-actions small{font-size:11px}.approved-host-overlay{display:none!important}
@media(max-width:760px){.approved-hero-actions{flex-direction:column;gap:10px;text-align:center}.approved-host-hero{min-height:0;aspect-ratio:16/9}.approved-host-image{object-fit:contain;background:#0b0b09}}

/* v0.4 commercial sandbox */
.commercial-status-grid,.account-summary,.operator-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:28px 0 42px}.commercial-status-grid article,.account-summary article,.operator-kpis article,.operator-panels>article{border:1px solid var(--line);background:linear-gradient(145deg,rgba(31,37,32,.96),rgba(18,22,19,.96));padding:24px;border-radius:14px}.commercial-status-grid h2,.account-summary strong,.operator-kpis strong{display:block;font-family:var(--serif);font-size:28px;margin:8px 0 10px;text-transform:capitalize}.compact-actions,.account-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.account-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.account-summary small,.operator-kpis small{display:block;color:var(--gold);font-size:10px;letter-spacing:.16em}.account-summary span,.operator-kpis span{display:block;color:var(--muted);font-size:12px}.support-form{max-width:760px;display:grid;gap:18px;padding:28px;border:1px solid var(--line);border-radius:14px;background:rgba(18,22,19,.9)}.support-form label{display:grid;gap:8px;color:var(--gold);font-size:11px;letter-spacing:.14em}.support-form select,.support-form textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:#0e120f;color:var(--cream);padding:13px;font:inherit;letter-spacing:normal}.support-form textarea{min-height:130px;resize:vertical}.support-list{display:grid;gap:12px}.support-list article{display:grid;grid-template-columns:160px 140px 1fr auto;gap:14px;align-items:center;border-bottom:1px solid var(--line);padding:16px 4px}.support-list span,.support-list small{color:var(--muted);font-size:12px}.operator-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.operator-panels{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:18px}.operator-panels h3{font-family:var(--serif);font-size:24px}.operator-panels ul{padding-left:18px;color:var(--muted);line-height:1.6}.operator-panels li small{float:right;color:var(--gold)}.operator-game{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}.operator-game b{font-size:10px;letter-spacing:.12em;color:#9dc9a8}
@media(max-width:900px){.commercial-status-grid,.account-summary,.operator-kpis,.operator-panels{grid-template-columns:1fr 1fr}.support-list article{grid-template-columns:1fr 1fr}.support-list p{grid-column:1/-1}}
@media(max-width:600px){.commercial-status-grid,.account-summary,.operator-kpis,.operator-panels{grid-template-columns:1fr}.support-list article{grid-template-columns:1fr}.compact-actions .button,.account-actions .button{width:100%}}
.site-footer>nav{flex-wrap:wrap;justify-content:flex-end;max-width:100%}
@media(max-width:760px){.site-footer>nav{margin-left:0;width:100%;justify-content:flex-start;gap:10px 16px}.site-footer>nav button{white-space:normal}.site-footer{overflow:hidden}}
/* Australian collection — original, premium machine cabinets. */
.theme-outback { --machine-accent: #d1a36b; --machine-haze: #6a432c; }
.theme-reef { --machine-accent: #88b9b6; --machine-haze: #20595e; }
.theme-night { --machine-accent: #c0a1ce; --machine-haze: #3c3351; }
.pokie-collection { margin-top: 34px; }
.pokie-collection .section-heading { align-items: end; }
.pokie-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.pokie-grid .game-card-visual { height: 246px; }
.pokie-grid .game-card-body { padding: 20px; }
.pokie-grid .game-title-button h3 { font-size: 27px; }
.pokie-grid .game-card-body p { font-size: 10px; }
.pokie-grid .game-card-body .eyebrow { font-size: 7px; }
.pokie-landscape { position: absolute; inset: 0; width: 100%; height: 100%; }
.pokie-card-art { background: #142329; }
.pokie-card-art::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, #090c139c, transparent 70%); pointer-events: none; }
.pokie-mini-cabinet { position: absolute; width: 76%; max-width: 290px; top: 12%; left: 12%; border: 2px solid #c4a774; border-radius: 30px 30px 6px 6px; background: linear-gradient(110deg, #4a4640, #111a1e 8%, #263031 92%, #5c5546); box-shadow: 0 11px 28px #0009, inset 0 0 0 3px #090d12, inset 0 0 0 4px #8e7f6059; padding: 12px 10px 7px; z-index: 1; }
.pokie-mini-title { text-align: center; color: #f0dfbf; padding-bottom: 12px; }
.pokie-mini-title small { font-size: 5px; letter-spacing: 2.5px; display: block; color: var(--machine-accent); padding: 1px 0 6px; }
.pokie-mini-title strong { font-family: Georgia, serif; font-size: clamp(17px, 1.6vw, 25px); font-weight: normal; }
.pokie-mini-reels { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; padding: 4px; background: #95856a; border: 1px solid #dfc69d; box-shadow: 0 2px 5px #0006; border-radius: 4px; }
.pokie-mini-reels > div { display: flex; justify-content: center; background: linear-gradient(#bbae8e, #fcf7e8 27%, #f8f2e3 75%, #b7a888); min-width: 0; }
.pokie-symbol { display: block; width: 100%; height: 100%; max-width: 104px; filter: drop-shadow(1px 2px 1px #47331f19); }
.pokie-mini-reels .pokie-symbol { height: 80px; width: 90%; }
.pokie-mini-panel { display: flex; align-items: center; justify-content: space-between; gap: 7px; color: #b0ab97; padding: 12px 4px 4px; font-size: 5px; letter-spacing: 1px; }
.pokie-mini-panel b { color: var(--machine-accent); font-weight: 400; }
.pokie-mini-panel i { border: 1px solid #d8c297; background: linear-gradient(#e1c389, #938066); width: 30px; height: 9px; border-radius: 4px; }
.pokie-salon-intro { border: 1px solid var(--line); background: linear-gradient(120deg, #2b3228, #17201c); padding: 28px 32px; border-radius: 10px; margin: 24px 0; display: flex; gap: 28px; align-items: center; justify-content: space-between; }
.pokie-salon-intro h2 { font-size: 34px; margin: 8px 0; }
.pokie-salon-intro p { margin: 0; color: #a7b09f; font-size: 12px; line-height: 1.7; max-width: 580px; }
.pokie-salon-intro .button { white-space: nowrap; }
.pokie-stage { max-width: 910px; margin: 0 auto; }
.pokie-cabinet { position: relative; border-radius: 24px 24px 10px 10px; padding: 9px; border: 1px solid #99866b; background: linear-gradient(100deg, #4c4842, #151d20 2.1%, #232a2b 96%, #5b5246); box-shadow: 0 20px 45px #0005, inset 0 0 0 3px #141917, inset 0 0 0 4px #a6a49130; }
.pokie-topper { position: relative; height: 163px; border-radius: 17px 17px 3px 3px; overflow: hidden; border: 1px solid #a6916957; background: #182d2e; }
.pokie-topper::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #121b2a26, #15141738), linear-gradient(0deg, #0b171c99, transparent 80%); }
.pokie-topper-copy { position: relative; z-index: 1; text-align: center; padding: 23px 18px 15px; text-shadow: 0 2px 20px #0d161bb3; }
.pokie-topper-copy > span { font-size: 8px; font-weight: 500; letter-spacing: 3px; color: #eedac1; }
.pokie-topper h2 { color: #fff1d9; font-size: 48px; font-weight: 400; line-height: 1.13; letter-spacing: -.7px; margin: 15px 0 12px; }
.pokie-topper p { color: #e7d9bf; font-size: 8px; letter-spacing: 2px; margin: 0; }
.pokie-topper p i { padding: 0 8px; font-style: normal; }
.pokie-feature-bar { min-height: 43px; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px 13px; padding: 10px 14px; background: #101b1b; color: #c3bba5; border-top: 1px solid #dac19422; border-bottom: 1px solid #b7ac8533; }
.pokie-feature-bar strong { font-size: 8px; letter-spacing: 1.5px; font-weight: 500; }
.pokie-feature-bar span { font-size: 9px; color: #96a797; }
.pokie-feature-bar svg { color: var(--machine-accent); }
.pokie-feature-bar.is-feature { background: linear-gradient(90deg, #403621, #302d20, #403621); color: #f5d798; }
.pokie-feature-bar.is-feature span { color: #d5c8ab; }
.pokie-reel-frame { background: linear-gradient(130deg, #d3c49e, #8c7756 28%, #4c4840 47%, #bcaa86 65%, #dfcfaa); border: 1px solid #e2d1ae; padding: 7px 7px 0; margin: 12px 11px 0; border-radius: 7px; box-shadow: 0 0 0 1px #1b201e, 0 3px 18px #0007; }
.pokie-reel-glass { position: relative; overflow: hidden; border-radius: 3px; background: #e3d6b8; border: 2px solid #564c3c; }
.pokie-reels { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 3px; }
.pokie-reel { height: clamp(255px, 27vw, 324px); overflow: hidden; position: relative; min-width: 0; background: linear-gradient(#d8ccb2, #f5efdf 16%, #fffaed 45%, #f5efdf 80%, #d2c3a6); }
.pokie-track { width: 100%; will-change: transform; }
.pokie-cell { height: clamp(85px, 9vw, 108px); position: relative; display: flex; justify-content: center; align-items: center; padding: 6px 10px; }
.pokie-cell::after { content: ''; position: absolute; bottom: 0; left: 8%; right: 8%; height: 1px; background: linear-gradient(90deg, transparent, #9f927f35, transparent); }
.pokie-paying { background: linear-gradient(135deg, #f6de9b62, #fff0c84d); box-shadow: inset 0 0 0 2px #b5a15b80; }
.pokie-scatter-lit { box-shadow: inset 0 0 0 2px #b98730; background: #ffdf9961; }
.pokie-glass-shine { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(105deg, #ffffff15, transparent 30%, #ffffff0a 50%, transparent 70%); box-shadow: inset 0 15px 15px -11px #5b47258c, inset 0 -15px 15px -11px #5b47258c; }
.pokie-lines { pointer-events: none; position: absolute; inset: 0; width: 100%; height: 100%; opacity: .8; }
.pokie-meters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 12px 11px 0; gap: 9px; }
.pokie-meters > div { background: #0b1418; border: 1px solid #8474565c; border-radius: 5px; text-align: center; padding: 10px 8px; box-shadow: inset 0 2px 6px #0005; }
.pokie-meters small { display: block; color: #acb3a3; font-size: 7px; letter-spacing: 1.7px; }
.pokie-meters strong { display: block; margin-top: 5px; color: #f0dbad; font-size: 23px; font-weight: 400; font-variant-numeric: tabular-nums; letter-spacing: .5px; }
.pokie-controls { display: grid; grid-template-columns: 1fr 1fr 1.2fr; align-items: center; gap: 18px; margin: 15px 15px 8px; }
.pokie-choice label { display: block; color: #b3b7a7; font-size: 7px; letter-spacing: 1.7px; margin-bottom: 6px; }
.pokie-choice select { width: 100%; padding: 11px 13px; border: 1px solid #9e8f755c; background: #1c282a; color: #e8dfc9; border-radius: 5px; min-height: 45px; font-size: 12px; }
.pokie-choice select:disabled { opacity: .65; }
.pokie-ways-label { display: block; font-size: 23px; color: #dbc49f; font-weight: 400; height: 45px; padding-top: 7px; }
.pokie-ways-label small { font-size: 9px; color: #a6b2a2; margin-left: 7px; }
.pokie-spin { min-height: 67px; display: flex; align-items: center; justify-content: center; gap: 13px; border-radius: 11px; border: 1px solid #ebd6ac; color: #25291f; background: linear-gradient(#f5dfb3, #c4a46e 50%, #9d8155); box-shadow: 0 4px 0 #665031, 0 6px 15px #0004, inset 0 1px 0 #fff2d2; font-size: 17px; font-weight: 600; letter-spacing: 3px; cursor: pointer; }
.pokie-spin small { display: block; font-weight: 500; font-size: 7px; letter-spacing: 1px; margin-top: 5px; }
.pokie-spin:hover:not(:disabled) { filter: brightness(1.1); }
.pokie-spin:active:not(:disabled) { transform: translateY(2px); box-shadow: 0 2px 0 #665031; }
.pokie-spin:disabled { opacity: .58; cursor: default; }
.pokie-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 15px 16px 3px; color: #aeb8a7; font-size: 9px; }
.pokie-toolbar .text-button { font-size: 10px; gap: 6px; min-height: 39px; }
.pokie-result { margin: 18px 0 0; border: 1px solid #aa9d6b2e; border-radius: 7px; background: #182119; padding: 4px 11px; }
.pokie-hit-list { display: flex; flex-wrap: wrap; gap: 7px 12px; color: #b7bba6; font-size: 9px; padding: 12px 7px; }
.pokie-hit-list span { border-left: 1px solid #c7aa6a66; padding-left: 9px; }
.pokie-feature-total { color: #d4c7a4; font-size: 12px; padding: 0 18px 10px; }
.pokie-paytable { border: 1px solid #b1a27630; border-radius: 8px; margin-top: 22px; padding: 24px; background: #141e1b; }
.pokie-pay-intro h3 { font-size: 27px; margin: 0 0 9px; }
.pokie-pay-intro p, .pokie-rule-details p { font-size: 12px; color: #a4b19f; line-height: 1.8; }
.pokie-rule-details strong { color: #d7cbb2; font-weight: 500; }
.pokie-paytable table { width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 12px; }
.pokie-paytable th { text-align: left; color: #c4b289; font-weight: 500; letter-spacing: 1px; font-size: 10px; padding: 10px; border-bottom: 1px solid #c7b48a44; }
.pokie-paytable td { border-bottom: 1px solid #b6b18616; padding: 5px 10px; color: #d5d4c0; }
.pokie-paytable td:first-child { display: flex; align-items: center; gap: 13px; }
.pokie-paytable td .pokie-symbol { width: 33px; height: 37px; background: #ede7d6; border-radius: 4px; }
.pokie-paytable td:not(:first-child) { font-variant-numeric: tabular-nums; }
@media (max-width: 1100px) {
    .pokie-grid { gap: 15px; }
    .pokie-grid .game-card-visual { height: 220px; }
    .pokie-mini-cabinet { width: 80%; left: 10%; }
    .pokie-mini-title strong { font-size: 20px; }
    .pokie-grid .game-title-button h3 { font-size: 23px; }
}
@media (max-width: 700px) {
    .pokie-grid { grid-template-columns: 1fr; gap: 17px; }
    .pokie-grid .game-card-visual { height: 245px; }
    .pokie-mini-cabinet { width: 72%; left: 14%; max-width: none; }
    .pokie-mini-title strong { font-size: 27px; }
    .pokie-mini-reels .pokie-symbol { height: 88px; }
    .pokie-grid .game-card-body { padding: 20px; }
    .pokie-grid .game-title-button h3 { font-size: 29px; }
    .pokie-salon-intro { padding: 24px; flex-direction: column; align-items: start; gap: 18px; }
    .pokie-salon-intro h2 { font-size: 30px; }
    .pokie-stage { max-width: 100%; }
    .pokie-cabinet { padding: 5px; border-radius: 18px 18px 8px 8px; }
    .pokie-topper { height: 140px; border-radius: 13px 13px 3px 3px; }
    .pokie-topper-copy { padding: 22px 9px 13px; }
    .pokie-topper-copy > span { font-size: 6px; letter-spacing: 1.6px; }
    .pokie-topper h2 { font-size: 34px; margin: 16px 0 14px; }
    .pokie-topper p { font-size: 6px; letter-spacing: .8px; }
    .pokie-topper p i { padding: 0 3px; }
    .pokie-feature-bar { padding: 9px 6px; gap: 6px; min-height: 52px; }
    .pokie-feature-bar strong { font-size: 7px; letter-spacing: 1px; }
    .pokie-feature-bar span { font-size: 8px; text-align: center; flex-basis: 100%; }
    .pokie-feature-bar > svg { width: 13px; height: 13px; }
    .pokie-reel-frame { margin: 8px 3px 0; padding: 4px 4px 0; }
    .pokie-reels { gap: 2px; }
    .pokie-reel { height: 210px; }
    .pokie-cell { height: 70px; padding: 4px 3px; }
    .pokie-meters { margin: 8px 3px 0; gap: 5px; }
    .pokie-meters > div { padding: 10px 3px; }
    .pokie-meters small { font-size: 5.5px; letter-spacing: .9px; }
    .pokie-meters strong { font-size: 20px; }
    .pokie-controls { grid-template-columns: 1fr 1fr 1.3fr; gap: 7px; margin: 12px 4px 8px; }
    .pokie-choice label { font-size: 5.5px; letter-spacing: .7px; margin-bottom: 5px; }
    .pokie-choice select { font-size: 11px; padding: 9px 5px; min-height: 44px; }
    .pokie-ways-label { font-size: 21px; padding-top: 7px; }
    .pokie-ways-label small { font-size: 7px; margin-left: 0; }
    .pokie-spin { min-height: 61px; gap: 4px; font-size: 12px; letter-spacing: 1px; border-radius: 7px; }
    .pokie-spin > svg { width: 15px; height: 15px; }
    .pokie-spin small { font-size: 5.5px; letter-spacing: .5px; }
    .pokie-toolbar { margin: 12px 5px 0; gap: 4px; }
    .pokie-toolbar .text-button, .pokie-toolbar > span { font-size: 8px; gap: 3px; }
    .pokie-toolbar .text-button svg { width: 12px; height: 12px; }
    .pokie-paytable { padding: 18px 12px; }
    .pokie-paytable th, .pokie-paytable td { padding-left: 5px; padding-right: 5px; }
    .pokie-paytable td { font-size: 10px; }
    .pokie-result .round-result strong { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
    .pokie-spin { transition: none; }
}
/* AUREL experience: emerald, polished brass and room to breathe. */
:root{--bg:#080f0d;--sidebar:#080d0c;--panel:#111d18;--panel-2:#182820;--line:#d9c69a22;--gold:#c9ad72;--gold-light:#eddbaf;--ivory:#f5f0e3;--muted:#abb8ae;--sans:'Segoe UI',Arial,sans-serif}
body{background:radial-gradient(ellipse at 65% 5%,#18352955,transparent 65%),var(--bg)}
.app-shell{min-height:100vh}.sidebar{width:210px;background:linear-gradient(160deg,#15211b,#080d0c 52%);border-right:1px solid var(--line);padding:32px 18px 18px}.main-column{margin-left:210px;min-width:0}.brand{gap:10px;margin-bottom:44px}.brand>span{font-size:29px;letter-spacing:4px}.brand small{font-size:8px;letter-spacing:3px}.sidebar-label{font-size:9px;letter-spacing:1.7px;color:#8c9e91;margin-left:12px}.main-nav{gap:7px}.main-nav button{font-size:13px;padding:14px 12px;min-height:47px;border-radius:5px}.main-nav button.active{background:linear-gradient(90deg,#c9ad721c,transparent);color:var(--gold-light);box-shadow:inset 2px 0 var(--gold)}.main-nav button svg{width:18px}.sidebar-club-card{padding:20px 14px;border:1px solid var(--line);background:linear-gradient(150deg,#25352677,#111812);border-radius:5px}.sidebar-club-card h3{font-size:24px}.sidebar-club-card p{font-size:12px;line-height:1.65}.sidebar-club-card .text-button{font-size:11px}.sidebar-settings{font-size:12px}.sidebar-legal{opacity:.85}
.preview-strip{background:#050a08;color:#a5b4aa;border-bottom:1px solid var(--line);font-size:9px;letter-spacing:1.15px;padding:10px 32px;min-height:34px;gap:16px}.preview-strip>span:first-child{color:var(--gold)}.preview-strip button{border:0;background:none;color:var(--gold-light);font-size:11px;text-decoration:underline;text-underline-offset:4px;margin-left:auto}.topbar{height:88px;background:#0b1410e8;border-bottom:1px solid var(--line);padding:14px 32px;backdrop-filter:blur(16px)}.topbar-route{font-size:17px}.breadcrumb{font-size:9px;letter-spacing:2px}.topbar-tools{gap:13px}.balance-pill{min-height:47px;background:#17271f;border:1px solid #c9ad723a;border-radius:6px;padding:7px 9px 7px 15px}.balance-pill strong{font-size:19px;letter-spacing:.5px;font-variant-numeric:tabular-nums}.balance-pill small{font-size:8px}.balance-pill>button{min-width:32px;min-height:32px}.session-button{font-size:12px}.icon-button{width:42px;height:42px}.avatar-button{width:40px;height:40px}
.content-page,.game-page{width:100%;max-width:1540px;margin:auto;padding:30px 32px 42px}.page-intro{padding-top:10px;margin-bottom:32px}.page-intro h1{font-size:clamp(32px,3.3vw,50px);letter-spacing:-1.4px}.page-intro p{font-size:14px;line-height:1.8;max-width:700px}.eyebrow{font-size:10px;letter-spacing:1.7px}.button{font-size:13px;border-radius:5px;min-height:45px}.button.primary{background:linear-gradient(120deg,#eedbb0,#c2a367);box-shadow:inset 0 1px #fff9,0 5px 14px #0005}.button.secondary{background:linear-gradient(#ffffff08,#00000008);border-color:#c6b38245}.text-button{font-size:12px}.muted{font-size:12px}.section-heading{margin-bottom:20px;gap:18px}.section-heading h2{font-size:31px;letter-spacing:-.6px}.section-heading .eyebrow{font-size:9px}.collection-filter button{font-size:12px;padding:10px 13px}.collection-filter button span{font-size:11px}
.lobby-hero.approved-host-hero{min-height:0!important;height:auto!important;aspect-ratio:auto!important;border-radius:7px;background:#050806;border:1px solid #b69a5e55;box-shadow:0 16px 50px #0007;overflow:hidden}.lobby-hero.approved-host-hero:after{display:none}.approved-host-hero .approved-host-image{position:static!important;display:block;width:100%!important;height:auto!important;min-height:0!important;object-fit:contain!important;transform:none!important;opacity:1!important}.approved-hero-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px 0;background:none;border:0}.approved-hero-actions>span{font-size:9px;letter-spacing:1.8px;color:var(--gold)}.approved-hero-actions small{font-size:11px;color:var(--muted)}.approved-hero-actions .button{order:3}.experience-strip{padding:17px 0 23px;margin-bottom:30px;gap:26px;justify-content:space-between;border-top:1px solid var(--line)}.experience-strip>span{font-size:12px;color:#b9c5ba}.continue-card{padding:15px 19px;margin-bottom:30px;background:linear-gradient(100deg,#263b2a80,#121c16);border-color:#cfbb8333}.continue-card small{font-size:9px}.continue-card strong{font-size:14px}
.game-grid,.game-grid.tables-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.pokie-grid{gap:22px}.game-card{border-color:#c3ad732c;border-radius:7px;background:linear-gradient(145deg,#1b2920,#101a14);box-shadow:0 9px 22px #0004}.game-card:hover{border-color:#cbb47b99;transform:translateY(-4px);box-shadow:0 15px 28px #0007}.game-card-visual{height:auto!important;aspect-ratio:3/4;background:#0b100e}.game-art-button{position:absolute;inset:0;overflow:hidden}.game-cover{display:block;width:100%;height:100%;background-image:url('./game-gallery.png');background-size:400% 200%;background-repeat:no-repeat;transition:transform .6s ease;filter:saturate(.88)}.game-card:hover .game-cover{transform:scale(1.035)}.cover-blackjack{background-position:0 0}.cover-roulette{background-position:33.333333% 0}.cover-baccarat{background-position:66.666667% 0}.cover-poker{background-position:100% 0}.cover-slots{background-position:0 100%}.cover-red-centre{background-position:33.333333% 100%}.cover-reef-pearls{background-position:66.666667% 100%}.cover-southern-skies{background-position:100% 100%}.game-card-visual:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#020604bc);pointer-events:none}.game-visual-badge{z-index:2;font-size:8px;letter-spacing:1px;padding:6px 8px;left:12px;bottom:12px;background:#080d0dd9;border-color:#c4ad7355}.favorite-button{width:35px;height:35px;top:11px;right:11px;background:#07100de6;border-color:#d9cc974d}.game-card-body{padding:19px 17px 21px}.game-card-body .eyebrow{font-size:8px;letter-spacing:1.3px;line-height:1.6;margin-bottom:10px}.game-title-button h3{font-size:24px;letter-spacing:-.4px}.game-card-body p{font-size:12px;line-height:1.65;color:#acbbae;margin-top:12px}.pokie-collection{margin-top:32px}.pokie-collection .game-card-visual{aspect-ratio:1/1}.pokie-collection .game-cover{background-size:400% 200%;aspect-ratio:3/4;height:133.333%;position:absolute;top:-12%}.slot-feature{display:block;position:relative;overflow:hidden;min-height:430px;background:radial-gradient(at right,#36513233,transparent),#111c16;padding:38px;border-color:#c1aa7438}.slot-feature>div:first-child{position:relative;z-index:1;max-width:52%}.slot-feature-cover{position:absolute;right:5%;top:0;width:32%;height:100%;aspect-ratio:3/4}.slot-feature h2{font-size:40px}.slot-feature p{font-size:14px}.lobby-lower{gap:24px;margin-top:40px}.challenge-card,.club-note{background:linear-gradient(140deg,#1c2b2155,#111a15);border-color:#cbb5802e;padding:25px}.challenge-copy h3{font-size:24px}.challenge-copy p,.club-note p{font-size:13px}.challenge-progress{font-size:10px}.challenge-copy>.eyebrow,.club-note .eyebrow{font-size:9px}.club-note h3{font-size:31px}
.site-footer{padding:28px 32px 30px;border-top:1px solid var(--line);background:#080d0a;gap:18px}.site-footer p{font-size:12px}.site-footer nav{gap:16px;flex-wrap:wrap}.site-footer nav button{font-size:11px;min-height:35px}.site-footer>small{font-size:10px;line-height:1.7;color:#8fa094}.club-dialog{background:linear-gradient(145deg,#1d2c22,#0c1510);border:1px solid #d6bf8455;border-radius:10px;box-shadow:0 35px 140px #000d;max-width:min(740px,calc(100vw - 28px));padding:32px}.club-dialog::backdrop{background:#020705ce;backdrop-filter:blur(7px)}.club-dialog h2{font-size:32px}.club-dialog p{font-size:14px}.extra-card{background:#0d1712;border-color:#cfb98544;padding:20px}.extra-card h3{font-size:24px}.extra-card p{font-size:13px}.settings-row label,.volume-row label{font-size:13px}.page-note{font-size:12px;line-height:1.8}.commercial-status-grid article,.account-summary article,.operator-kpis article,.operator-panels>article,.membership-card,.support-form,.support-list article,.profile-edit,.profile-balance,.stats-grid>div,.achievement-card{background:linear-gradient(140deg,#1d2d22,#101a14);border:1px solid #c9b47c33;border-radius:7px}.commercial-status-grid p,.operator-panels p,.membership-card p,.support-list p,.achievement-card p{font-size:13px}.commercial-status-grid h2{text-transform:capitalize}.account-summary span{font-size:12px}.history-table{font-size:13px}.history-table th{font-size:10px}.history-table td small{font-size:10px}.history-table td span{font-size:12px}.support-form textarea,.support-form select,.profile-edit input{background:#09120e;border-color:#bdab7944;font-size:14px}.game-page-header{margin-bottom:22px}.game-page-header h1{font-size:34px}
.entry-page{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(400px,.8fr);align-items:center;gap:40px;min-height:100vh;padding:60px;background:radial-gradient(at 25% 30%,#28422c66,transparent),#07100b}.entry-art{position:static!important;width:100%!important;height:auto!important;opacity:1!important;transform:none!important}.entry-art img{display:block;width:100%;height:auto;border:1px solid #bba26f66;border-radius:7px;box-shadow:0 25px 90px #0008}.entry-card{position:relative;max-width:500px;margin:0 auto;padding:25px;background:none;border:0;box-shadow:none}.entry-card h1{font-size:43px}.entry-card p{font-size:14px}.entry-card .entry-fineprint{font-size:11px}.entry-notice{font-size:12px}.entry-check{font-size:13px}.entry-brand{margin-bottom:26px}
@media(min-width:1700px){.game-card-visual{aspect-ratio:4/5}.game-cover{height:106.667%;position:absolute;top:-3%}}
@media(max-width:1200px){.sidebar{width:184px;padding-inline:12px}.main-column{margin-left:184px}.main-nav button{font-size:12px;gap:9px}.content-page,.game-page{padding:24px}.topbar{padding-inline:24px}.preview-strip{padding-inline:24px}.game-grid,.game-grid.tables-grid{gap:15px}.game-title-button h3{font-size:21px}.game-card-body{padding:16px 13px}.approved-hero-actions small{display:none}.experience-strip{gap:12px}.experience-strip>span{font-size:10px}.entry-page{padding:35px;gap:20px}}
@media(max-width:1000px){.sidebar{display:none}.main-column{margin-left:0;padding-bottom:68px}.mobile-nav{display:flex;position:fixed;left:0;right:0;bottom:0;justify-content:space-around;background:#0c1712f5;border-top:1px solid #c5af7444;backdrop-filter:blur(16px);padding-bottom:env(safe-area-inset-bottom);z-index:80}.mobile-nav button{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;min-height:62px;font-size:10px;gap:5px;background:none;border:0;color:var(--muted)}.mobile-nav button.active{color:var(--gold-light);background:#c9ad7212}.site-footer{padding-bottom:35px}.entry-page{grid-template-columns:1fr;gap:12px;max-width:none;padding:30px}.entry-art{max-width:800px;margin:auto}.entry-card{max-width:650px;width:100%}.entry-card h1 br{display:none}.entry-card h1{font-size:36px}}
@media(max-width:700px){.content-page,.game-page{padding:19px 14px 30px}.topbar{height:76px;padding:12px 15px}.topbar-title{display:block}.topbar-route{font-size:14px}.breadcrumb{font-size:8px;letter-spacing:1px}.topbar-tools{gap:7px}.topbar-tools .session-button,.avatar-button{display:none}.balance-pill{padding:6px 6px 6px 10px;min-height:43px;gap:7px}.balance-pill strong{font-size:16px}.balance-pill>svg{display:none}.balance-pill small{font-size:7px}.balance-pill>button{min-width:28px}.topbar .icon-button{width:36px;height:36px}.preview-strip{font-size:8px;padding:9px 15px;letter-spacing:.8px;gap:9px;flex-wrap:wrap}.preview-strip>span:nth-child(2){display:none}.preview-strip button{font-size:10px}.approved-hero-actions{padding:15px 0;gap:8px}.approved-hero-actions>span{font-size:8px;letter-spacing:1px;max-width:130px;line-height:1.8}.approved-hero-actions .button{font-size:11px;padding:10px 13px;min-height:39px}.experience-strip{justify-content:flex-start;gap:14px;overflow-x:auto;white-space:nowrap;margin-bottom:25px;padding:14px 0}.experience-strip>span{font-size:10px}.experience-strip svg{width:14px}.section-heading{gap:12px;align-items:flex-start;flex-wrap:wrap}.section-heading h2{font-size:27px}.section-heading .eyebrow{font-size:8px}.collection-filter button{font-size:11px;padding:8px 11px}.game-grid,.game-grid.tables-grid,.pokie-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.game-card-body{padding:14px 12px 16px}.game-title-button h3{font-size:21px}.game-card-body .eyebrow{font-size:7px;letter-spacing:.8px}.game-card-body p{font-size:11px;margin-top:9px}.game-title-button svg{width:12px}.game-visual-badge{font-size:6px;letter-spacing:.7px;padding:5px 6px;left:8px;bottom:9px}.favorite-button{width:32px;height:32px;right:8px;top:8px}.pokie-collection .game-card-visual{aspect-ratio:3/4}.pokie-collection .game-cover{height:100%;top:0}.lobby-lower{grid-template-columns:1fr;gap:20px;margin-top:28px}.lobby-lower h2{font-size:26px}.challenge-card,.club-note{padding:21px}.slot-feature{padding:24px;min-height:380px}.slot-feature>div:first-child{max-width:65%}.slot-feature-cover{right:-14%;width:60%;opacity:.55}.slot-feature h2{font-size:34px}.slot-feature p{font-size:12px}.site-footer{padding:25px 20px 30px;display:flex;flex-wrap:wrap}.site-footer nav{gap:6px 14px}.site-footer p{margin:0}.site-footer>small{flex-basis:100%}.club-dialog{padding:23px 19px}.club-dialog h2{font-size:29px}.club-dialog p{font-size:13px}.page-intro h1{font-size:35px}.page-intro p{font-size:13px}.game-page-header h1{font-size:28px}.entry-page{padding:16px;gap:8px}.entry-card{padding:20px 8px}.entry-card h1{font-size:34px}.entry-brand{margin-bottom:20px}.entry-check{font-size:12px}.commercial-status-grid,.operator-kpis,.account-summary,.membership-grid{grid-template-columns:1fr}.compact-actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.game-cover,.game-card{transition:none}.game-card:hover,.game-card:hover .game-cover{transform:none}}
.reduced-motion .game-cover,.reduced-motion .game-card{transition:none}.reduced-motion .game-card:hover,.reduced-motion .game-card:hover .game-cover{transform:none}

/* One stable frame at every route, including short desktop viewports and games. */
.sidebar-utilities{display:grid}.sidebar-utilities .sidebar-settings{padding-block:10px}
.main-nav button>span{white-space:nowrap}
@media(min-width:1001px) and (max-height:980px){.sidebar{padding-top:20px}.brand{margin-bottom:22px}.main-nav{gap:3px}.sidebar-club-card{display:none}.sidebar-bottom{padding-top:12px}.sidebar-settings{padding-block:12px}.sidebar-legal{padding-top:12px}}
@media(max-width:1000px){.mobile-nav{justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.mobile-nav::-webkit-scrollbar{display:none}.mobile-nav button{flex:0 0 auto;min-width:104px;min-height:68px;padding:7px 10px}.mobile-nav button span{white-space:nowrap;font-size:9px}}
@media(max-width:700px){.topbar-tools{gap:4px}.topbar-tools .session-button{display:none}.avatar-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px}.topbar .icon-button{width:40px;height:40px}.balance-pill{padding-inline:7px 3px;gap:3px}.balance-pill strong{min-width:52px;font-size:15px}.balance-pill small{font-size:6px}.balance-pill>button{min-width:32px;min-height:40px}.text-button{min-height:44px}.favorite-button{width:44px;height:44px}.realism-floor-navigation nav button{min-height:44px}}
@media(max-width:700px){.topbar-tools>.avatar-button{display:inline-flex;width:44px;height:44px}.topbar-tools>.icon-button{width:44px;height:44px}.game-title-button,.site-footer nav button,.realism-hero-copy .button{min-height:44px}.site-footer nav button,.game-page-actions .button{min-width:44px}.realism-catalogue-search input{min-height:44px}}
@media(max-width:700px){.trust-strip a{display:inline-flex;align-items:center;min-height:44px;padding-inline:8px}.profile-edit :is(input,.button){min-height:44px}}

.slot-feature>div:first-child{padding:0}

/* Keep catalogue controls above the fixed navigation when scrolling or moving keyboard focus. */
@media(max-width:1000px){
 html:has(body:not(.game-view)){scroll-padding-bottom:calc(79px + env(safe-area-inset-bottom));}
 body:not(.game-view) .game-card :is(button,a){scroll-margin-bottom:calc(79px + env(safe-area-inset-bottom));}
}
/* At the table: the game is the room's focal point. */
body.game-view{background:radial-gradient(ellipse at 50% 22%,#684b2c36 0,transparent 62%),linear-gradient(180deg,#191a16,#050807 80%);min-height:100svh}
.game-view .game-page{max-width:1180px;padding:10px 22px 32px;position:relative}.game-view .game-page-actions{margin-left:auto;gap:8px;flex-direction:row}.game-view .game-page-actions .button{min-height:33px;font-size:10px;padding:6px 12px}.game-view .game-page-actions svg{width:15px}
.game-view #game-surface{position:relative;isolation:isolate}.game-view #game-surface:before{content:'';position:absolute;inset:24% 0 -20px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 96%,#bd824b16,transparent 68%);filter:blur(12px)}
.game-view .game-frame{box-shadow:0 35px 65px #0009}
@media(min-width:1000px) and (max-height:850px){.game-view .game-page{padding-top:5px}}
@media(max-width:700px){.game-view .game-page{padding:7px 9px 22px}.game-view .game-page-actions{gap:5px}.game-view .game-page-actions .button{padding:5px 8px;min-height:44px;font-size:10px}.game-view .game-page-actions .button svg{display:none}}
@media(max-width:370px){.game-view .game-page-actions .button{padding-inline:6px}}
/* The approved host composition now lives inside the shared content column. */
body.landing-view{background:#080b09}.landing-view .lobby-hero.approved-host-hero{position:relative;margin:0 auto;width:100%;min-height:0;aspect-ratio:1672/941;border-radius:10px}.landing-view .approved-host-image{display:block;width:100%;height:100%;object-fit:cover}
.entry-page{display:block;padding:0;background:#080b09}.entry-art{max-width:none;margin:0;width:100%}.entry-art img{border:0;border-radius:0;box-shadow:none}.entry-card{max-width:650px;padding:35px 25px 50px}.entry-card h1 br{display:none}
@media(max-width:550px){.entry-card{padding:25px 22px}.entry-card h1{font-size:32px}}
/* Live cabinet materials: dark optical glass, brushed metal, illuminated artwork. */
.pokie-stage,.slots-stage { --cabinet-gold:#c6a36b; --reel-row:clamp(69px,9.9vh,101px); max-width:800px; margin-inline:auto; }
.slots-stage { padding:0; background:none; border:0; box-shadow:none; overflow:visible; }
.pokie-cabinet,.royale-cabinet { position:relative; isolation:isolate; border:1px solid #9a8b6e; border-radius:27px 27px 13px 13px; padding:6px 18px 5px; background:linear-gradient(90deg,#020405,#45494a 1%,#a2a5a0 1.3%,#171c1d 2%,#080c0e 4%,#1e2526 50%,#0b1112 96%,#606863 98%,#aaa99a 98.5%,#101514 99.3%,#030505); box-shadow:0 35px 65px -16px #000,0 12px 0 -3px #060909,0 13px 0 -3px #7b80744d,inset 0 0 0 3px #020504,inset 0 0 0 4px #d9ccb43d; }
.pokie-cabinet::before,.royale-cabinet::before { content:''; position:absolute; inset:50px 5px 115px; border-left:2px solid var(--machine-accent,#d4b77b); border-right:2px solid var(--machine-accent,#d4b77b); opacity:.7; filter:drop-shadow(0 0 5px var(--machine-accent,#d4b77b)); pointer-events:none; }
.pokie-cabinet::after,.royale-cabinet::after { content:''; position:absolute; z-index:-1; inset:18px -7px -5px; border-radius:30px 30px 16px 16px; background:linear-gradient(90deg,#070b0c,#4a4d45 1%,#101516 2%,#101516 98%,#62655b 99%,#020504); box-shadow:0 15px 30px #0009; }
.cabinet-crown { display:flex; align-items:center; justify-content:center; gap:16px; height:19px; color:#aea58c; font-size:7px; letter-spacing:4px; text-shadow:0 1px 1px #000; }
.cabinet-crown i { height:1px; width:50px; background:linear-gradient(90deg,transparent,#8e8061); }
.cabinet-crown i:last-child { transform:rotate(180deg); }
.pokie-topper,.slots-stage .slot-top { position:relative; height:108px; margin:0; border:1px solid #9b8656; border-radius:17px 17px 3px 3px; overflow:hidden; box-shadow:inset 0 0 0 3px #020504,0 0 0 2px #020504,0 5px 10px #0009; background:radial-gradient(ellipse at 50% 90%,#23483c,#0a2221 55%,#06100e); }
.pokie-topper::after,.slots-stage .slot-top::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(118deg,#ffffed12,transparent 35%,#ffffff0c 36%,transparent 38%),linear-gradient(0deg,#020705ab,transparent 68%); box-shadow:inset 0 0 20px #0009,inset 0 2px 1px #fff5; }
.pokie-topper-copy { padding:12px 12px 9px; }
.pokie-topper-copy>span,.slots-stage .slot-original { font-size:7px; letter-spacing:2.4px; color:#f6ddb0; }
.pokie-topper h2 { font-size:43px; margin:8px 0 7px; text-shadow:0 2px #755630,0 3px 4px #000,0 0 22px #ffe0a342; }
.pokie-topper p { font-size:7px; letter-spacing:1.2px; }
.pokie-feature-bar { margin-top:5px; min-height:31px; padding:6px 10px; gap:9px; border:0; border-bottom:1px solid #ad946c40; background:linear-gradient(#141e1f,#050a0b); box-shadow:inset 0 1px #e6ce9922; }
.pokie-feature-bar strong { font-size:8px; }
.pokie-feature-bar span { font-size:9px; }
.pokie-feature-bar.is-feature { background:linear-gradient(100deg,#695121,#2c2f1d,#695121); border-color:#e0bf69; box-shadow:inset 0 1px #fff4,0 0 15px #d9b05120; }
.pokie-reel-frame,.slots-stage .slot-machine-rim { position:relative; margin:7px 5px 0; border:1px solid #ddcfab; border-radius:7px; padding:5px 5px 0; background:linear-gradient(130deg,#e7dec0,#7f7159 13%,#d1b991 15%,#494d46 42%,#262d2c 46%,#a59a7a 75%,#d8cfb4 87%,#726648); box-shadow:0 0 0 2px #020806,0 0 0 3px #9781596b,0 5px 13px #000c,inset 0 1px 1px #fffa; }
.pokie-reel-glass,.slots-stage .reels { border:2px solid #030506; border-radius:3px; background:#020407; box-shadow:0 0 0 1px #b9b59855,inset 0 0 20px #000; }
.pokie-reels,.slots-stage .reels { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:2px; }
.pokie-reel,.slots-stage .reel { position:relative; height:calc(var(--reel-row) * 3); min-width:0; overflow:hidden; background:linear-gradient(90deg,#030507,#0d1218 30%,#111720 50%,#0b1118 74%,#020405); box-shadow:inset 1px 0 #c3b79215,inset -1px 0 #000; }
.pokie-cell,.slots-stage .reel-cell { position:relative; box-sizing:border-box; height:var(--reel-row); min-height:var(--reel-row); display:flex; align-items:center; justify-content:center; padding:3px 7px; background:none; border:0; }
.pokie-track,.slots-stage .reel-track { width:100%; will-change:transform; animation:none!important; }
.pokie-reel::after,.slots-stage .reel::after { content:''; position:absolute; inset:0; z-index:3; pointer-events:none; background:linear-gradient(#000b,transparent 13%,#b6dcff05 43%,#ffffff09 51%,transparent 72%,#000a); box-shadow:inset 0 10px 13px -10px #000,inset 0 -10px 13px -10px #000; }
.pokie-glass-shine,.royale-glass-shine { position:absolute; inset:0; pointer-events:none; z-index:4; background:linear-gradient(119deg,#e4f5ff0e,transparent 29%,transparent 58%,#ffffff07 58.3%,transparent 62%); box-shadow:inset 0 1px 1px #fff6; }
.pokie-symbol,.slots-stage .royale-symbol { filter:drop-shadow(0 2px 2px #0009); max-width:104px; width:100%; height:100%; }
.pokie-paying,.slots-stage .winning-symbol,.pokie-scatter-lit { background:radial-gradient(ellipse,#c5934936,transparent 72%); box-shadow:inset 0 0 0 1px #f2d27cba,inset 0 0 15px #dbac4938; animation:none; }
.slots-stage .winning-symbol::before { border:0; box-shadow:none; }
.machine-reel-moving .pokie-symbol,.machine-reel-moving .royale-symbol { filter:blur(.7px); }
.pokie-stopped,.slots-stage .reel-settled { animation:machine-latch 110ms ease-out; }
@keyframes machine-latch { from { box-shadow:inset 0 0 15px #fff7bf30; } to { box-shadow:inset 0 0 0 transparent; } }
.slots-stage .machine-plaque { display:flex; justify-content:space-between; align-items:center; padding:6px 5px; color:#d4c4a0; font-size:6px; font-weight:500; letter-spacing:1px; text-shadow:0 1px #000; background:#060b0db3; }
.pokie-meters { gap:6px; margin:9px 5px 0; }
.pokie-meters>div { position:relative; min-width:0; padding:7px 4px 6px; border:1px solid #837a60; border-radius:4px; background:linear-gradient(120deg,#030608,#111a1d); box-shadow:0 1px #eee2,inset 0 0 0 2px #020505,inset 0 4px 7px #0008; }
.pokie-meters small { font-size:7px; color:#adbaa9; letter-spacing:1.2px; }
.pokie-meters strong { font-family:ui-monospace,'Cascadia Mono','Courier New',monospace; font-size:23px; line-height:1.05; color:#f4dfb5; text-shadow:0 0 8px #e9c7884f; letter-spacing:1px; }
.pokie-controls,.royale-control-deck { position:relative; margin:10px 3px 0; padding:10px 13px 13px; border:1px solid #aeb6a458; border-radius:5px 5px 13px 13px; background:repeating-linear-gradient(0deg,#ffffff02 0 1px,transparent 1px 3px),linear-gradient(#555e5c,#283334 6%,#1b2528 63%,#10181b 98%); box-shadow:inset 0 1px #fff4,0 5px 0 #020704,0 6px 0 #b8a17855,0 10px 15px #0008; transform:perspective(800px) rotateX(7deg); transform-origin:50% 0; }
.pokie-choice label { font-size:8px; letter-spacing:.8px; color:#cad0c4; }
.pokie-choice select { border:1px solid #a3957080; min-height:42px; background:linear-gradient(#080f12,#253033); box-shadow:inset 0 2px 5px #000b,0 1px #fff2; font-size:13px; color:#f0e4c3; }
.pokie-choice select option { background:#14221a; color:#f0e4c3; }
.pokie-spin { position:relative; min-height:61px; border-radius:45px; border:3px solid #b7a16e; color:#282216; background:radial-gradient(ellipse at 45% 0,#fff8dca6,transparent 60%),linear-gradient(160deg,#fff0bd,#e9c982 24%,#b58b42 65%,#f0cf89); box-shadow:inset 0 0 0 2px #f7e6b7,inset 0 4px 2px #fff7,0 0 0 3px #080d08,0 5px 0 #574323,0 6px 0 #ceae70,0 9px 12px #0009; text-shadow:0 1px #fff6; font-size:18px; letter-spacing:3px; transition:transform 80ms,box-shadow 80ms; }
.pokie-spin:disabled { opacity:.8; box-shadow:inset 0 0 0 2px #f7e6b7,0 0 0 3px #080d08,0 2px 0 #574323; transform:translateY(3px); }
.pokie-spin:active:not(:disabled) { transform:translateY(4px); box-shadow:inset 0 0 0 2px #f7e6b7,0 0 0 3px #080d08,0 1px 0 #574323; }
.pokie-spin small { font-size:8px; letter-spacing:.8px; }
.pokie-toolbar { margin:8px 10px 0; }
.pokie-toolbar .text-button { color:#c2c9b7; font-size:10px; min-height:34px; }
.machine-hardware { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 12px; padding:2px 0; }
.machine-hardware>span { color:#899789; text-align:center; font-size:5px; line-height:1.5; letter-spacing:1px; }
.machine-hardware b { color:#b2b8a4; font-size:6px; font-weight:500; letter-spacing:2px; }
.machine-speaker { width:24%; max-width:130px; height:15px; background:radial-gradient(circle,#000 1px,transparent 1.5px) 0 0 / 4px 4px; border-radius:10px; box-shadow:inset 0 1px 3px #0008,0 1px #fff1; }
.pokie-result { background:linear-gradient(110deg,#15241b,#0c1712); border-color:#c5aa6740; margin-top:20px; }
.pokie-hit-list,.slots-stage .slot-line-results { font-size:11px; line-height:1.7; }
.slots-stage .slot-top { text-align:center; padding:12px 10px 9px; }
.slots-stage .slot-top>*:not(.royale-marquee-art) { position:relative; z-index:1; }
.slots-stage .slot-top h2 { color:#f3dfb3; font-size:43px; line-height:1.05; margin:8px 0 7px; text-shadow:0 2px #684b26,0 4px 7px #000; }
.slots-stage .slot-top h2 em { color:#ebd09a; }
.slots-stage .slot-tag { font-size:7px; letter-spacing:1.2px; color:#c6cfbd; }
.slots-stage .slot-tag i { color:#ceaf70; padding:0 9px; font-style:normal; }
.royale-marquee-art { position:absolute; inset:0; overflow:hidden; background:radial-gradient(ellipse at center,#ceae7130,transparent 64%),repeating-linear-gradient(55deg,transparent 0 20px,#c7b4740a 21px 22px); }
.royale-marquee-art i { position:absolute; font-family:Georgia,serif; font-size:112px; font-style:normal; color:#c5a36838; transform:rotate(-15deg); top:-12px; left:28px; text-shadow:0 2px #000; }
.royale-marquee-art i:last-child { left:auto; right:28px; transform:rotate(15deg); }
.royale-feature-bar { display:flex; justify-content:space-around; align-items:center; gap:12px; text-align:center; padding:8px 6px; font-size:7px; letter-spacing:1px; color:#9fab94; }
.royale-feature-bar b { font-size:8px; color:#d9c492; margin-left:7px; letter-spacing:1px; font-weight:500; }
.slots-stage .slot-machine { margin:0 5px; padding:0; max-width:none; }
.slots-stage .slot-machine-rim { margin:0; padding:5px; }
.slots-stage .reels { border-width:2px; }
.slots-stage .line-number { position:absolute; z-index:4; top:9px; bottom:9px; width:9px; display:flex; flex-direction:column; justify-content:space-around; font-size:6px; color:#f6e4b8; }
.slots-stage .line-number.left { left:-12px; }
.slots-stage .line-number.right { right:-12px; }
.slots-stage .line-number span { padding:3px 0; text-align:center; background:#1a231b; border-radius:2px; }
.slots-stage .machine-plaque { padding:6px 5px; }
.slots-stage .machine-plaque>span:first-child { font-size:7px; letter-spacing:2px; }
.royale-control-deck { display:grid; grid-template-columns:1fr 185px; gap:18px; align-items:center; }
.royale-control-deck .control-label { font-size:8px; color:#bbc4b0; letter-spacing:1.2px; }
.royale-control-deck .stake-options { gap:8px; }
.royale-control-deck .chip-choice { width:39px; height:39px; background:linear-gradient(#485952,#182b2c); border:2px solid #84958b; color:#dae0c8; box-shadow:0 3px #061008,inset 0 1px #fff3; font-size:11px; }
.royale-control-deck .chip-choice:active { transform:translateY(2px); }
.royale-control-deck .chip-choice.selected { color:#241f12; background:linear-gradient(#f1dda6,#b99b59); border-color:#eed69b; box-shadow:0 3px #574b2b,inset 0 1px #fff7; }
.slots-stage .slot-paytable { margin-top:15px; padding:18px 24px; border:1px solid #9a885542; background:#101e17; border-radius:10px; }
.slots-stage .slot-paytable>div { font-size:13px; align-items:center; }
.slots-stage .slot-paytable>div>span { display:flex; align-items:center; gap:10px; }
.slots-stage .slot-paytable .royale-symbol { width:38px; height:42px; padding:3px; background:#050a0e; border-radius:5px; }
.slots-stage .slot-paytable p { font-size:11px; line-height:1.7; }
.pokie-stage button:focus-visible,.pokie-stage select:focus-visible,.slots-stage button:focus-visible { outline:3px solid #e8d4a3; outline-offset:4px; }
.slots-stage::before,.slots-stage::after { display:none; }
@media(min-width:761px) and (max-height:820px) {
 .pokie-stage,.slots-stage { --reel-row:68px; max-width:740px; }
 .pokie-topper,.slots-stage .slot-top { height:93px; }
 .pokie-topper-copy,.slots-stage .slot-top { padding-top:9px; }
 .pokie-topper h2,.slots-stage .slot-top h2 { font-size:38px; margin:5px 0; }
 .pokie-meters>div { padding:5px 4px; }
 .pokie-controls,.royale-control-deck { margin-top:8px; padding-top:8px; padding-bottom:10px; }
 .pokie-spin { min-height:56px; }
}
@media(max-width:760px) {
 .pokie-stage,.slots-stage { --reel-row:83px; }
 .pokie-cabinet,.royale-cabinet { padding-inline:13px; }
 .pokie-controls { gap:10px; }
 .royale-control-deck { grid-template-columns:1fr 155px; gap:12px; padding-inline:10px; }
 .royale-control-deck .stake-options { gap:5px; }
 .royale-control-deck .chip-choice { width:35px; height:35px; font-size:10px; }
}
@media(max-width:520px) {
 .pokie-stage,.slots-stage { --reel-row:66px; }
 .pokie-cabinet,.royale-cabinet { border-radius:21px 21px 10px 10px; padding:5px 9px; }
 .pokie-cabinet::before,.royale-cabinet::before { inset:60px 3px 150px; border-width:1px; }
 .pokie-cabinet::after,.royale-cabinet::after { inset:15px -3px -4px; }
 .cabinet-crown { height:20px; font-size:6px; gap:12px; letter-spacing:3px; }
 .cabinet-crown i { width:32px; }
 .pokie-topper,.slots-stage .slot-top { height:106px; border-radius:13px 13px 3px 3px; }
 .pokie-topper-copy { padding:14px 3px 9px; }
 .pokie-topper-copy>span,.slots-stage .slot-original { font-size:5px; letter-spacing:1.2px; }
 .pokie-topper h2,.slots-stage .slot-top h2 { font-size:30px; margin:10px 0 9px; }
 .pokie-topper p { font-size:5px; letter-spacing:.5px; }
 .pokie-topper p i { padding:0 3px; }
 .pokie-feature-bar { padding:7px 4px; min-height:40px; gap:5px; }
 .pokie-feature-bar strong { font-size:7px; }
 .pokie-feature-bar span { font-size:8px; }
 .pokie-reel-frame { margin:6px 2px 0; padding:4px 4px 0; }
 .pokie-cell,.slots-stage .reel-cell { padding:3px 1px; }
 .pokie-meters { margin:9px 2px 0; gap:4px; }
 .pokie-meters>div { padding:8px 2px 6px; }
 .pokie-meters small { font-size:6px; letter-spacing:.4px; }
 .pokie-meters strong { font-size:19px; letter-spacing:0; }
 .pokie-controls { grid-template-columns:1fr 1fr; margin:11px 2px 0; padding:10px 9px 13px; gap:10px; }
 .pokie-choice label { font-size:7px; letter-spacing:.7px; }
 .pokie-choice select { font-size:12px; min-height:44px; padding:8px; }
 .pokie-controls .pokie-spin { grid-column:1/-1; min-height:57px; width:78%; justify-self:center; }
 .pokie-spin { font-size:16px; gap:12px; }
 .pokie-spin>svg { width:21px; height:21px; }
 .pokie-spin small { font-size:7px; }
 .pokie-toolbar { margin:9px 3px 0; flex-wrap:wrap; justify-content:space-around; gap:0 8px; }
 .pokie-toolbar .text-button { font-size:10px; gap:5px; min-height:44px; }
 .pokie-toolbar .text-button svg { width:14px; height:14px; }
 .machine-hardware { margin:0 4px; padding:2px 0; }
 .slots-stage .slot-top { padding:13px 3px 9px; }
 .slots-stage .slot-tag { font-size:5px; letter-spacing:.4px; }
 .slots-stage .slot-tag i { padding:0 4px; }
 .royale-marquee-art i { font-size:92px; left:0; top:4px; }
 .royale-marquee-art i:last-child { right:0; }
 .royale-feature-bar { padding:10px 0 8px; font-size:5px; letter-spacing:.3px; gap:4px; }
 .royale-feature-bar b { display:block; margin:3px 0 0; font-size:7px; letter-spacing:.8px; }
 .slots-stage .slot-machine { margin-inline:5px; }
 .slots-stage .slot-machine-rim { padding:4px; }
 .slots-stage .line-number { font-size:5px; width:7px; }
 .slots-stage .line-number.left { left:-10px; }
 .slots-stage .line-number.right { right:-10px; }
 .slots-stage .machine-plaque { padding:6px 2px; font-size:5px; letter-spacing:.3px; }
 .slots-stage .machine-plaque>span:first-child { font-size:6px; letter-spacing:1.3px; }
 .royale-control-deck { grid-template-columns:1fr; margin:10px 2px 0; padding:11px 8px 14px; gap:13px; }
 .royale-control-deck .stake-options { justify-content:space-between; gap:4px; }
 .royale-control-deck .chip-choice { width:36px; height:36px; }
 .royale-control-deck .pokie-spin { width:78%; justify-self:center; min-height:57px; }
 .pokie-result .round-result { padding:8px 3px; }
 .pokie-result .round-result strong { font-size:14px; }
 .pokie-result .round-result div>span { font-size:10px; line-height:1.7; }
 .pokie-hit-list,.slots-stage .slot-line-results { font-size:10px; }
}
@media(prefers-reduced-motion:reduce) { .pokie-stopped,.slots-stage .reel-settled { animation:none; } .machine-reel-moving .pokie-symbol,.machine-reel-moving .royale-symbol { filter:none; } .pokie-spin { transition:none; } }

/* Original photographic symbol atlas. Each tile remains square at every reel size. */
.pokie-symbol.painted-symbol,.royale-symbol.painted-symbol { display:inline-block; position:relative; flex:none; height:auto; width:min(100%,calc(var(--reel-row,80px) - 4px)); max-width:104px; aspect-ratio:1; filter:drop-shadow(0 3px 3px #0008); vertical-align:middle; }
.painted-symbol-image { position:absolute; inset:0;  background-size:400% 400%; background-repeat:no-repeat; }
.painted-symbol-badge { position:absolute; z-index:1; bottom:0; left:8%; width:84%; padding:2px 0 1px; border:1px solid #e1bf74aa; border-radius:3px; background:linear-gradient(#352c20ee,#13191cf2); color:#ffedbb; font:700 7px/1.1 Arial,sans-serif; text-align:center; letter-spacing:1px; box-shadow:0 1px 3px #000b; }
.pokie-paytable .painted-symbol,.slots-stage .slot-paytable .painted-symbol { width:38px; height:38px; background:none; padding:0; }
.pokie-paytable .painted-symbol-badge { font-size:4px; letter-spacing:0; }
.pokie-mini-reels .painted-symbol { width:100%; height:auto; max-width:90%; }
.painted-tile-0 .painted-symbol-image { background-position:0.000000% 0.000000%; }
.painted-tile-1 .painted-symbol-image { background-position:33.333333% 0.000000%; }
.painted-tile-2 .painted-symbol-image { background-position:66.666667% 0.000000%; }
.painted-tile-3 .painted-symbol-image { background-position:100.000000% 0.000000%; }
.painted-tile-4 .painted-symbol-image { background-position:0.000000% 33.333333%; }
.painted-tile-5 .painted-symbol-image { background-position:33.333333% 33.333333%; }
.painted-tile-6 .painted-symbol-image { background-position:66.666667% 33.333333%; }
.painted-tile-7 .painted-symbol-image { background-position:100.000000% 33.333333%; }
.painted-tile-8 .painted-symbol-image { background-position:0.000000% 66.666667%; }
.painted-tile-9 .painted-symbol-image { background-position:33.333333% 66.666667%; }
.painted-tile-10 .painted-symbol-image { background-position:66.666667% 66.666667%; }
.painted-tile-11 .painted-symbol-image { background-position:100.000000% 66.666667%; }
.painted-tile-12 .painted-symbol-image { background-position:0.000000% 100.000000%; }
.painted-tile-13 .painted-symbol-image { background-position:33.333333% 100.000000%; }
.painted-tile-14 .painted-symbol-image { background-position:66.666667% 100.000000%; }
.painted-tile-15 .painted-symbol-image { background-position:100.000000% 100.000000%; }
@media(max-width:520px) { .painted-symbol-badge { font-size:5px; letter-spacing:.6px; padding:1px 0; } }

/* Screen composition follows a modern electronic game: near-square symbol cells,
   an illustrated title and a single continuous display, with hardware outside it. */
.pokie-stage,.slots-stage { --reel-row:clamp(92px,11.2vh,116px); max-width:800px; }
.machine-display { position:relative; padding:0 8px 7px; border:2px solid #030607; border-radius:17px 17px 5px 5px; overflow:hidden; background:radial-gradient(ellipse at 50% 0,#6d351e66,transparent 60%),#140d13; box-shadow:0 0 0 1px #aaa68b55,inset 0 0 30px #0009; }
.theme-reef .machine-display { background:radial-gradient(ellipse at 50% 0,#146b8180,transparent 80%),#071b26; }
.theme-night .machine-display { background:radial-gradient(ellipse at 50% 0,#5b3e7766,transparent 80%),#140f2a; }
.slots-stage .machine-display { background:radial-gradient(ellipse at 50% 0,#19664d80,transparent 80%),#071a16; }
.machine-display .pokie-topper,.machine-display .slot-top { height:122px; border:0; border-radius:0; background:none; box-shadow:none; margin-inline:-8px; }
.pokie-topper .pokie-landscape { opacity:.8; }
.pokie-topper-copy { position:relative; z-index:2; padding:9px 8px 4px; }
.pokie-topper-copy>span { font-size:6px; letter-spacing:2px; }
.pokie-topper h2,.slots-stage .slot-top h2 { position:relative; margin:2px 0 6px; font-weight:900; letter-spacing:-1.5px; line-height:.92; text-transform:uppercase; filter:drop-shadow(0 3px 0 #4e241a) drop-shadow(0 1px 1px #000); }
.machine-title-pre { display:block; font-family:Georgia,serif; font-size:24px; letter-spacing:.4px; color:#fff7df; -webkit-text-stroke:.35px #59351b; }
.pokie-topper h2>strong,.slots-stage .slot-top h2>em { display:block; font-family:Georgia,serif; font-style:normal; font-size:53px; font-weight:900; color:#ffd374; background:linear-gradient(#fff5c9 8%,#fff0a5 32%,#e5a841 51%,#fff0a5 55%,#bd7526 95%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; -webkit-text-stroke:.45px #fff1a980; text-shadow:none; }
.theme-reef .pokie-topper h2>strong { background-image:linear-gradient(#ffffff,#cffaff 35%,#57c4d0 51%,#efffff 55%,#4894b1); }
.theme-night .pokie-topper h2>strong { background-image:linear-gradient(#fff9ff,#ece0ff 35%,#ae91ce 51%,#fff4ff 55%,#9985c5); }
.pokie-topper p { position:relative; margin:0; color:#f8e9be; font-size:6px; text-shadow:0 1px 3px #000; }
.topper-symbol-art { position:absolute; inset:0; z-index:1; pointer-events:none; }
.topper-symbol-art .pokie-symbol.painted-symbol { position:absolute; width:122px; height:122px; max-width:none; opacity:.95; top:-2px; left:17px; transform:rotate(-11deg); filter:drop-shadow(0 4px 7px #0008); }
.topper-symbol-art .pokie-symbol.painted-symbol:last-child { left:auto; right:17px; transform:rotate(12deg); }
.machine-display .pokie-feature-bar { margin:0 -8px 4px; border-top:1px solid #e6c38133; border-bottom:1px solid #e6c38133; background:#100d15b0; }
.machine-display .pokie-reel-frame { margin:6px 0 0; padding:3px 3px 0; border:1px solid #ddbc79; border-radius:3px; background:linear-gradient(#dbb168,#796333 40%,#a28552); box-shadow:0 0 0 1px #020607,inset 0 1px #fff8; }
.machine-display .pokie-reel-glass,.machine-display .reels { border-width:1px; }
.machine-display .pokie-reels,.machine-display .reels { gap:1px; }
.machine-display .pokie-reel { background:radial-gradient(ellipse at center,#33141b66,transparent 85%),#080710; box-shadow:inset 1px 0 #e1c8833b; }
.theme-reef .machine-display .pokie-reel { background:radial-gradient(ellipse at center,#083c5480,transparent 85%),#050d17; }
.theme-night .machine-display .pokie-reel { background:radial-gradient(ellipse at center,#36245580,transparent 85%),#0b0717; }
.pokie-cell,.slots-stage .reel-cell { padding:1px 3px; }
.pokie-symbol.painted-symbol,.royale-symbol.painted-symbol { width:min(100%,calc(var(--reel-row,98px) + 2px)); max-width:125px; }
.pokie-symbol,.slots-stage .royale-symbol { max-width:120px; }
.slots-stage .machine-plaque { padding:5px 4px; font-size:5px; }
.pokie-meters { gap:1px; border:1px solid #a0a28866; border-radius:4px; overflow:hidden; background:#707b6766; margin-top:7px; }
.pokie-meters>div { border:0; border-radius:0; padding:6px 3px; box-shadow:inset 0 3px 8px #0008; }
.pokie-meters small { margin-bottom:3px; }
.pokie-controls,.royale-control-deck { margin-top:8px; }
.machine-hardware { height:14px; padding:0; }
.machine-hardware>span { font-size:4px; }
.machine-hardware b { font-size:5px; }
.machine-speaker { height:11px; }
.slots-stage .slot-top { padding-top:8px; }
.slots-stage .slot-original { font-size:6px; }
.slots-stage .slot-top h2 { margin-top:4px; }
.slots-stage .slot-tag { font-size:6px; }
.slots-stage .royale-feature-bar { padding:7px 2px; }
.slots-stage .slot-machine { margin:0; }
.slots-stage .slot-machine-rim { padding:3px; border-radius:3px; }
.slots-stage .reel { background:radial-gradient(ellipse at center,#15423666,transparent 85%),#060c12; }
.royale-marquee-art i { color:#ddc38088; font-size:115px; top:1px; }
.royale-control-deck { grid-template-columns:1fr 165px; gap:12px; }
.royale-control-deck .chip-choice { width:35px; height:35px; }
@media(min-width:761px) and (max-height:820px) {
 .pokie-stage,.slots-stage { --reel-row:94px; max-width:650px; }
 .machine-display .pokie-topper,.machine-display .slot-top { height:107px; }
 .pokie-topper h2>strong,.slots-stage .slot-top h2>em { font-size:46px; }
 .machine-title-pre { font-size:21px; }
 .topper-symbol-art .pokie-symbol.painted-symbol { width:110px; height:110px; left:13px; }
 .topper-symbol-art .pokie-symbol.painted-symbol:last-child { right:13px; }
 .pokie-topper h2,.slots-stage .slot-top h2 { margin:2px 0 4px; }
 .pokie-topper-copy { padding-top:7px; }
 .pokie-toolbar { margin-top:5px; }
 .cabinet-crown { height:16px; }
 .machine-hardware { display:none; }
}
@media(max-width:760px) {
 .pokie-stage,.slots-stage { --reel-row:98px; max-width:690px; }
 .topper-symbol-art .pokie-symbol.painted-symbol { width:106px; height:106px; top:6px; left:10px; }
 .topper-symbol-art .pokie-symbol.painted-symbol:last-child { right:10px; }
}
@media(max-width:520px) {
 .pokie-stage,.slots-stage { --reel-row:69px; }
 .machine-display { padding:0 3px 4px; border-radius:11px 11px 3px 3px; }
 .machine-display .pokie-topper,.machine-display .slot-top { height:103px; margin-inline:-3px; }
 .machine-display .pokie-feature-bar { margin-inline:-3px; }
 .pokie-topper-copy { padding:9px 1px 4px; }
 .pokie-topper-copy>span { font-size:4px; letter-spacing:1px; }
 .machine-title-pre { font-size:18px; }
 .pokie-topper h2>strong,.slots-stage .slot-top h2>em { font-size:40px; }
 .pokie-topper h2,.slots-stage .slot-top h2 { margin:4px 0 6px; }
 .pokie-topper p { font-size:4px; letter-spacing:.3px; }
 .topper-symbol-art .pokie-symbol.painted-symbol { width:76px; height:76px; left:0; top:17px; opacity:.8; }
 .topper-symbol-art .pokie-symbol.painted-symbol:last-child { right:0; }
 .machine-display .pokie-reel-frame { margin-top:5px; padding:2px 2px 0; }
 .pokie-meters { margin-top:7px; }
 .pokie-meters>div { padding:7px 2px; }
 .slots-stage .slot-top { padding-top:9px; }
 .slots-stage .slot-original { font-size:5px; }
 .slots-stage .slot-tag { font-size:4px; letter-spacing:.3px; }
 .royale-marquee-art i { font-size:83px; top:9px; left:4px; }
 .royale-marquee-art i:last-child { right:4px; }
 .royale-control-deck { grid-template-columns:1fr; }
 .machine-hardware { display:none; }
 .pokie-paytable .painted-symbol,.slots-stage .slot-paytable .painted-symbol { width:38px; height:38px; }
}

/* A 2:1 element samples exactly one 2:1 scene; its parent crops the wide marquee. */
.machine-scene-art { position:absolute; left:0; top:50%; transform:translateY(-50%); width:100%; aspect-ratio:2/1; background-image:url('./machine-scenes.png'); background-size:200% 200%; background-position:0 0; background-repeat:no-repeat; opacity:.85; }
.theme-reef .machine-scene-art { background-position:100% 0; }
.theme-night .machine-scene-art { background-position:0 100%; }
.slots-stage .slot-top>.machine-scene-art { position:absolute; z-index:0; background-position:100% 100%; }
.slots-stage .royale-marquee-art { background:linear-gradient(90deg,#02120d40,transparent,#02120d40); }

/* Electronic displays stay legible right to the last row. */
.machine-display .pokie-reel::after,.machine-display .reel::after { background:linear-gradient(#0005,transparent 8%,#ffffff02 48%,transparent 90%,#0004); }
.pokie-cell::after { opacity:.2; }
.pokie-cell>.pokie-symbol.painted-symbol,.reel-cell>.royale-symbol.painted-symbol { width:min(100%,calc(var(--reel-row) - 6px)); }
@media(min-width:761px) and (max-height:780px) {
 .machine-display .pokie-topper,.machine-display .slot-top { height:85px; }
 .pokie-topper-copy>span,.slots-stage .slot-original { display:none; }
 .pokie-topper h2>strong,.slots-stage .slot-top h2>em { font-size:40px; }
 .machine-title-pre { font-size:19px; }
 .pokie-topper-copy,.slots-stage .slot-top { padding-top:7px; }
 .topper-symbol-art .pokie-symbol.painted-symbol { width:89px; height:89px; top:-2px; }
 .cabinet-crown { height:10px; font-size:5px; }
 .pokie-meters>div { padding:4px 3px; }
 .pokie-meters strong { font-size:21px; }
 .pokie-controls,.royale-control-deck { padding-top:7px; padding-bottom:9px; }
 .pokie-spin { min-height:52px; }
 .pokie-feature-bar { min-height:27px; padding-block:4px; }
 .royale-feature-bar { padding-block:5px; }
}

/* A thin material bezel around the illuminated display. */
.machine-display .pokie-reel-frame,.machine-display .slot-machine-rim{background:linear-gradient(180deg,#fff3,transparent 25%,#20160555),url('./casino-brass.png') center / 220px,#b39960}
/* Physical table surfaces. Raster material tiles are lit with local gradients. */
.felt-table {
  position:relative; isolation:isolate; overflow:hidden;
  border:18px solid #201b17; border-top-color:#3b3026; border-bottom-color:#15130f;
  border-radius:48% 48% 22px 22px / 58px 58px 22px 22px;
  background:radial-gradient(ellipse at 44% 10%,#769d5938,transparent 57%),radial-gradient(ellipse at 50% 35%,#06362200 35%,#001a16b5 100%),linear-gradient(#0d412957,#0d412957),url('./casino-felt.png') center / 170px 170px,#145039;
  box-shadow:0 1px 0 #b6a177,0 9px 0 #0c0f0b,0 12px 0 #655039,0 25px 36px #0009,inset 0 0 0 2px #bda06a78,inset 0 0 0 5px #091d15,inset 0 8px 20px #00140fc9;
}
.felt-table:before {content:'';position:absolute;inset:-18px;z-index:-1;pointer-events:none;border:15px solid transparent;border-radius:inherit;background:linear-gradient(#ffffff0b,#0009) border-box,url('./casino-leather.png') center / 200px 200px border-box;mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);mask-composite:exclude}
.felt-table:after {content:'';position:absolute;inset:9px;z-index:-1;border:1px dashed #d6c09648;border-radius:48% 48% 13px 13px / 41px 41px 13px 13px;pointer-events:none;box-shadow:0 0 0 6px #00170d33}
.felt-table+.game-bottom,.poker-layout+.game-bottom {margin-top:18px;border-radius:12px;border:1px solid #8c795943;background:linear-gradient(120deg,#ffffff08,#0009),linear-gradient(#15191160,#15191160),url('./casino-leather.png') center / 150px,#191d18;box-shadow:inset 0 1px #f5dfb21c,0 10px 24px #0005}
.playing-card {background:linear-gradient(117deg,#fffefb 15%,#f8f6ee 60%,#dedbca);border:1px solid #dedccc;border-radius:calc(var(--card-width)*.065);color:#172b31;box-shadow:0 1px 0 #fffdf2,1px 2px 0 #c2bfae,2px 3px 1px #061a1166,5px 9px 8px #00140e75;backface-visibility:hidden;transform-origin:center 65%;rotate:var(--card-tilt,0deg)}
.playing-card:after {content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:repeating-linear-gradient(17deg,#ccc9ac04 0 1px,transparent 1px 3px),linear-gradient(120deg,#fff4 0,transparent 35%,transparent 80%,#aea58a18);box-shadow:inset 0 0 0 2px #ffffff55}
.playing-card.red-suit {color:#b32731}
.card-corner {font-family:Georgia,'Times New Roman',serif;left:6%;top:5%}
.card-corner b {font-weight:700;font-size:calc(var(--card-width)*.23);letter-spacing:-1.4px}
.card-corner i {font-size:calc(var(--card-width)*.205);margin-top:3px}
.card-corner.bottom {right:6%;bottom:5%}
.card-pips {inset:14% 18%}
.pip {font-family:Georgia,'Times New Roman',serif;font-size:calc(var(--card-width)*.255)}
.pip.ace-pip {font-size:calc(var(--card-width)*.58)}
.playing-card[data-card^="10-"] .pip,.playing-card[data-card^="9-"] .pip {font-size:calc(var(--card-width)*.21)}
.court-portrait {position:absolute;inset:0;width:100%;height:100%;filter:contrast(1.07)}
.playing-card:has(.court-portrait) .card-pips {inset:10% 19%}
.card-back-pattern {background:repeating-linear-gradient(45deg,transparent 0 3px,#d9bb7536 3px 4px),repeating-linear-gradient(-45deg,transparent 0 3px,#d9bb7536 3px 4px),radial-gradient(ellipse,#245044,#0b2d27);border:1px solid #ac8c4a;box-shadow:inset 0 0 0 3px #173f35,inset 0 0 0 4px #b69a5d,inset 0 0 0 7px #153c31}
.card-back-pattern .crest {background:#163b30;border:1px solid #b99c5f;border-radius:50%;padding:5px;color:#e4ce95}
.playing-card.card-turn-back {position:absolute;inset:-1px;z-index:5;margin:0;rotate:0deg;box-shadow:none;transform-origin:center}
.hand>.playing-card:nth-child(3n+1) {--card-tilt:-2.5deg}
.hand>.playing-card:nth-child(3n+2) {--card-tilt:1.8deg;translate:0 3px}
.hand>.playing-card:nth-child(3n) {--card-tilt:-.7deg}
.poker-card:nth-child(odd) .playing-card {--card-tilt:-1.2deg}
.poker-card:nth-child(even) .playing-card {--card-tilt:1.2deg}
.table-equipment {position:absolute;left:8%;right:8%;top:31px;pointer-events:none;display:flex;justify-content:space-between;align-items:flex-start;z-index:-1}
.card-shoe {position:relative;width:66px;height:96px;border-radius:6px 6px 12px 12px;transform:rotate(-17deg) skewY(5deg);background:repeating-linear-gradient(0deg,#8f8b721f 0 1px,transparent 1px 3px),linear-gradient(90deg,#c2bea9,#fffae8 55%,#aca48e);border:7px solid #272522;border-bottom-width:21px;box-shadow:1px 2px 0 #9c8967,5px 9px 3px #0008,9px 17px 13px #0006,inset 0 0 0 1px #eee6cc}
.card-shoe:before {content:'';position:absolute;inset:4px 4px 20px;border:1px solid #cfb16c;background:repeating-linear-gradient(45deg,#d1b27533 0 1px,transparent 1px 4px),#143d32}
.card-shoe span {position:absolute;bottom:-16px;left:0;right:0;text-align:center;color:#c7ac72;letter-spacing:2px;font:7px Georgia,serif}
.dealer-bank {display:flex;gap:5px;transform:scale(.85) rotate(3deg);transform-origin:top right;padding:8px 12px 0;background:linear-gradient(#121a15,#34372a);border:2px solid #806b49;border-radius:10px;box-shadow:0 2px 0 #b49c6999,1px 8px 3px #00120abf,8px 17px 10px #00140b80}
.dealer-bank .chip-stack {transform:rotate(0);width:49px}
.chip-stack {filter:drop-shadow(3px 7px 3px #001009aa)}
.art-chip {box-shadow:0 2px 0 var(--edge),0 3px 0 #d5c8946b,0 4px 0 var(--edge),inset 0 1px 2px #fff8}
.art-chip:after {background:radial-gradient(ellipse at 35% 20%,#fff3,transparent 65%),var(--chip);border:1px dashed var(--mark)}
.art-chip span {font-weight:700;letter-spacing:.2px;text-shadow:0 1px #0006}
.art-chip:last-child:before {content:'AUREL';position:absolute;top:5px;left:0;right:0;text-align:center;z-index:2;color:var(--mark);font:4px Georgia,serif;letter-spacing:1.3px}
.art-chip:last-child span {padding-top:4px}
.hand {gap:13px;flex-wrap:wrap;perspective:900px}
.hand-label {color:#e0ddbd;font-size:10px;letter-spacing:2px;text-shadow:0 1px 2px #00110c}
.hand-label b {background:#092b2080;border:1px solid #d4c49755;color:#fff0c7;font-size:13px}
.blackjack-table .dealer-zone {padding:25px 25px 5px;position:relative;z-index:1}
.blackjack-table .dealer-hand .playing-card {--card-width:86px}
.blackjack-table .table-brand {margin:13px 0 0;color:#dfd0a0}
.table-brand>span {letter-spacing:9px;text-shadow:0 1px 1px #0009}
.table-brand small,.table-brand i {color:#ddd3aabd}
.table-brand:before,.table-brand:after {border-color:#d8c08a70;width:28%;height:43px}
.table-brand .crest {display:none}
.player-hands {min-height:198px;padding:11px 28px 22px;position:relative}
.player-hand {border-radius:50% 50% 15px 15px / 22px 22px 15px 15px;padding:9px 22px}
.player-hand .playing-card {--card-width:96px}
.player-hand.active-hand {background:#d2c27d08;border-color:#c9b57366;box-shadow:inset 0 -1px #e4d0a51a}
.hand-stake {color:#ead7a5;font-size:11px;margin-top:12px}
.hand-stake svg {filter:drop-shadow(0 2px 0 #0009)}
.card-outline {width:88px;height:123px;border-color:#dece934a}
.empty-hand {min-height:160px}
.baccarat-table {padding:29px 36px 25px}
.baccarat-brand {margin-bottom:18px}
.baccarat-brand>span {letter-spacing:10px;color:#ddcfa2}
.baccarat-brand>.crest {height:26px}
.baccarat-hands {min-height:188px;gap:35px;margin-bottom:21px}
.baccarat-hand {padding:14px 12px;border-bottom:1px solid #cab88380;border-radius:16px 16px 50% 50% / 16px 16px 15px 15px}
.baccarat-hand .playing-card {--card-width:96px}
.baccarat-hand.winning-hand {box-shadow:0 0 25px #d1bc691c,inset 0 -1px #ffe3a4}
.baccarat-choice {border-radius:45% 45% 12px 12px / 14px 14px 10px 10px;border:1px solid #d1c0867d;min-height:83px;background:#072a1844;color:#e7d9b3}
.baccarat-choice.selected {background:radial-gradient(ellipse at 50% 100%,#d3b65c2e,#16412b33);box-shadow:inset 0 0 0 3px #19362666,0 4px 8px #001c1855}
.baccarat-note {color:#c7d0b5;font-size:10px}
.poker-table {padding:28px 30px 28px;min-height:400px}
.poker-table-trim {display:flex;justify-content:space-between;align-items:center;position:absolute;inset:29px 30px auto;pointer-events:none;z-index:-1}
.poker-table-trim>span {font-size:8px;letter-spacing:3px;color:#dec58b99}
.poker-table-trim .chip-stack {transform:scale(.9)}
.poker-brand {margin-top:7px;margin-bottom:27px}
.poker-brand>.crest {height:26px}
.poker-brand>span {color:#d9c994}
.poker-brand h2 {font-size:30px}
.poker-hand {gap:17px;perspective:900px;align-items:flex-start}
.poker-card {transition:transform .18s ease}
.poker-card.held {transform:translateY(-12px)}
.poker-card .playing-card {--card-width:102px}
.poker-card.held .playing-card {outline:2px solid #e3c780;outline-offset:3px;box-shadow:0 9px 16px #0008}
.hold-label {border:1px solid #bfac7748;border-radius:4px;background:#07261799;padding:8px 0;font-size:10px;letter-spacing:2px;color:#d1d1b5;box-shadow:0 2px #091e12}
.held .hold-label {background:linear-gradient(#dfcf9e,#ae9159);color:#18311e;border-color:#e1c889}
.poker-instruction {color:#d5dcc6;font-size:12px}
.paytable {background:linear-gradient(115deg,#283023a8,#0c160ecf),url('./casino-leather.png') center / 250px,#152017;border:1px solid #bda3674d;box-shadow:inset 0 0 0 3px #0c1712,0 8px 20px #0004;border-radius:12px}
.paytable-row {font-size:11px}
.paytable-match {background:#b79c3b25;border-color:#e0c084;color:#ead69d}
.roulette-layout {padding:25px;gap:30px;background:radial-gradient(ellipse at 35% 0,#56874333,#071b1188),linear-gradient(#0d412957,#0d412957),url('./casino-felt.png') center / 170px,#13412c;border:13px solid #2a2119;border-top-color:#57432d;border-bottom-color:#17150f;border-radius:28px;box-shadow:0 2px 0 #967848,inset 0 0 0 1px #c4ab6080,0 18px 35px #0008;grid-template-columns:minmax(280px,.9fr) minmax(0,1.3fr)}
.live-wheel {max-width:400px;filter:drop-shadow(0 10px 2px #090c07dd) drop-shadow(7px 22px 14px #0009);transform:perspective(1000px) rotateX(12deg);transform-style:preserve-3d}
.live-wheel .roulette-wheel {will-change:auto}
.wheel-rotor {transform-origin:250px 250px;will-change:transform}
.ball-orbit {inset:0;z-index:2}
.roulette-ball {width:2.2%;height:2.2%;left:48.9%;top:17.8%;background:radial-gradient(circle at 30% 20%,#fff 0,#f8f3da 32%,#bdb89c 72%,#76735d);box-shadow:1px 2px 2px #000b}
.wheel-pin {display:none}
.table-label {font-size:10px;letter-spacing:2.5px;color:#e0ce9e}
.wheel-history b {border-radius:50%;width:27px;height:27px;border-color:#c2ac7477;font-size:12px}
.wheel-history b:first-of-type {box-shadow:0 0 0 2px #d6b87480}
.roulette-board {gap:1px;padding:2px;background:#e3d5a899;border:1px solid #dec886c9;border-radius:5px}
.roulette-cell {min-height:45px;font-size:18px;border:0;background-image:linear-gradient(145deg,#ffffff09,transparent 60%)}
.roulette-cell.red-number {background-color:#923c34}
.roulette-cell.black-number {background-color:#14372b}
.roulette-cell.chosen {box-shadow:inset 0 0 0 2px #e9cb82}
.roulette-cell.landed-number {outline:2px solid #ffe8a5;outline-offset:-4px}
.selection-dot {width:13px;height:13px;bottom:3px;right:3px;background:repeating-conic-gradient(#f2deb0 0 18deg,#a24737 18deg 60deg);border:1px solid #dfc387;box-shadow:0 2px #4c281b,1px 3px 2px #0008}
.selection-dot:after {content:'';position:absolute;inset:3px;border:1px solid #eed4a3;border-radius:50%;background:#914233}
.outside-row>button {min-height:38px;border-color:#d2c28b99;background:#174a3366;color:#e2dec1;font-size:11px}
.selection-modes button {font-size:11px;color:#c6d1bc}
.selection-modes button.active {color:#f0dba7;border-color:#be9d5066}
.selection-hint {color:#c8d2bc;font-size:11px}
.roulette-tools {font-size:11px;color:#d1d5c2}
.game-view .chip-choice {--chip:#c4bc99;--edge:#6b6653;--mark:#f1e8c7;width:42px;height:42px;color:#fbf5de;font-weight:700;font-size:12px;border:1px solid #f5e7b66b;background:repeating-conic-gradient(var(--mark) 0 11deg,var(--chip) 11deg 60deg);box-shadow:0 3px var(--edge),1px 5px 4px #0009,inset 0 0 0 4px #0002,inset 0 0 0 6px var(--chip),inset 0 0 0 7px var(--mark),inset 0 0 0 20px var(--chip);text-shadow:0 1px 1px #0008;transition:translate .15s}
.game-view .chip-choice[data-value="10"] {--chip:#587793;--edge:#253e52}
.game-view .chip-choice[data-value="25"] {--chip:#38745b;--edge:#153c29}
.game-view .chip-choice[data-value="50"] {--chip:#a34b3e;--edge:#59291f}
.game-view .chip-choice[data-value="100"] {--chip:#303332;--edge:#151b16}
.game-view .chip-choice[data-value="250"] {--chip:#997c36;--edge:#5d441c}
.game-view .chip-choice[data-value="500"] {--chip:#77628e;--edge:#433452}
.game-view .chip-choice.selected {outline:2px solid #e9d193;outline-offset:3px;translate:0 -3px}
@media (min-width:1100px) {.blackjack-table{min-height:448px}.baccarat-table{min-height:427px}.poker-layout{grid-template-columns:minmax(0,1fr) 230px}.game-view .round-controls{padding-top:15px;padding-bottom:16px}}
@media (min-width:761px) and (max-width:1099px) {.poker-card .playing-card{--card-width:78px}.poker-hand{gap:10px}.baccarat-hand .playing-card{--card-width:78px}.roulette-layout{grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:20px;padding:20px}}
@media(max-width:760px){
 .felt-table{border-width:10px;border-radius:45% 45% 16px 16px / 26px 26px 16px 16px}
 .felt-table:before{inset:-10px;border-width:8px}.felt-table:after{inset:6px;border-radius:45% 45% 10px 10px / 19px 19px 10px 10px}
 .table-equipment{top:24px;left:5%;right:5%;opacity:.8}.card-shoe{width:35px;height:59px;border-width:4px;border-bottom-width:13px}.card-shoe span{font-size:5px;bottom:-10px}.card-shoe:before{inset:3px 3px 12px}.dealer-bank{transform:scale(.5);margin-right:-8px}
 .blackjack-table .dealer-hand .playing-card{--card-width:67px}.blackjack-table .dealer-zone{padding:21px 12px 5px}.blackjack-table .table-brand{margin:13px 0 6px}.table-brand:before,.table-brand:after{width:19%}.blackjack-table .table-brand small{font-size:10px}
 .player-hand .playing-card{--card-width:75px}.hand{gap:10px}.player-hands{min-height:173px;padding:9px 12px 18px}.hand-label{font-size:9px;letter-spacing:1.3px}.hand-label b{font-size:11px}.player-hand{padding:10px}
 .split-hands .playing-card{--card-width:49px}.split-hands .hand{gap:5px}.card-outline{width:68px;height:95px}.empty-hand{min-height:128px}
 .baccarat-table{padding:23px 10px 19px}.baccarat-table .table-equipment{opacity:.65}.baccarat-hands{gap:14px;min-height:148px;margin-bottom:18px}.baccarat-hand{padding:10px 0}.baccarat-hand .playing-card{--card-width:clamp(39px,10.7vw,70px)}.baccarat-hand .hand{gap:5px;flex-wrap:nowrap}.baccarat-brand{margin-bottom:15px}.baccarat-choice{min-height:78px}.baccarat-choice>small{font-size:8px}.baccarat-note{font-size:9px}
 .poker-table{padding:25px 9px 21px;min-height:335px}.poker-table-trim{inset:20px 8px auto}.poker-table-trim>span{display:none}.poker-table-trim .chip-stack{transform:scale(.7)}.poker-brand{margin-bottom:28px}.poker-brand h2{font-size:28px}.poker-hand{gap:clamp(5px,1.8vw,10px)}.poker-card .playing-card{--card-width:clamp(42px,13vw,78px)}.poker-instruction{font-size:11px}.hold-label{font-size:9px;letter-spacing:1px}
 .roulette-layout{grid-template-columns:1fr;border-width:8px;padding:20px 14px;gap:20px}.roulette-board .roulette-cell{min-height:37px}.roulette-betting .selection-modes button{font-size:10px}.live-wheel{max-width:310px}.table-label{font-size:9px}.roulette-ball{box-shadow:1px 1px 2px #000b}.selection-hint{font-size:10px}.roulette-tools{font-size:10px}
 .game-view .chip-choice{width:39px;height:39px;font-size:11px}.game-view .round-controls{padding:15px 14px;gap:15px}.game-view .round-result{min-height:63px}
}
@media(prefers-reduced-motion:reduce){.poker-card,.chip-choice{transition:none}.wheel-rotor{will-change:auto}}
.reduced-motion .poker-card,.reduced-motion .chip-choice{transition:none}

.card-turn-face {position:absolute;inset:0;background:inherit;border-radius:inherit;backface-visibility:hidden}
.chip-stack.black {--chip:#292e2b;--edge:#101713;--mark:#e5d5ac}
.chip-stack.purple {--chip:#736080;--edge:#3e3348;--mark:#e5d5ac}
/* Fixed jackpot displays shared by the four original machines. */
.machine-jackpots { margin:4px 0 8px; padding:8px 8px 6px; border:1px solid #c6a367; border-radius:18px 18px 5px 5px; background:radial-gradient(ellipse at top,#35406b 0,#090f27 58%,#030710); box-shadow:inset 0 1px #fff5,inset 0 0 0 3px #0008,0 3px 12px #0009; }
.jackpot-heading { display:flex; justify-content:space-between; gap:10px; margin:0 4px 7px; color:#e4d9bc; font-size:8px; line-height:1.3; letter-spacing:1.7px; font-weight:700; }
.jackpot-heading>span:last-child { color:#b5bdd6; letter-spacing:1px; }
.jackpot-meters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
.jackpot-meter { --jackpot-color:#ffc160; --jackpot-deep:#6b2209; position:relative; min-width:0; display:flex; flex-direction:column; align-items:center; padding:5px 3px 4px; border:2px solid var(--jackpot-color); border-radius:11px; background:radial-gradient(ellipse at 50% 0,var(--jackpot-deep),#100918 80%); box-shadow:0 0 6px color-mix(in srgb,var(--jackpot-color) 35%,transparent),inset 0 1px #fff8,inset 0 0 0 2px #0009; }
.jackpot-major { --jackpot-color:#ef93ff; --jackpot-deep:#520b75; }
.jackpot-minor { --jackpot-color:#85d5ff; --jackpot-deep:#0b417f; }
.jackpot-mini { --jackpot-color:#a4ed87; --jackpot-deep:#205323; }
.jackpot-label { color:var(--jackpot-color); font-family:Arial,Helvetica,sans-serif; font-size:20px; line-height:1; font-weight:900; font-style:italic; letter-spacing:1.6px; text-shadow:0 2px 1px #000,0 0 12px var(--jackpot-deep); }
.jackpot-amount { max-width:100%; color:#fff9de; font-family:Arial,Helvetica,sans-serif; font-weight:900; font-size:clamp(21px,2.5vw,31px); line-height:1.1; font-variant-numeric:tabular-nums; letter-spacing:-.7px; margin-top:4px; white-space:nowrap; text-shadow:0 2px 1px #000,0 0 10px color-mix(in srgb,var(--jackpot-color) 35%,transparent); }
.jackpot-caption { font-size:7px; font-weight:700; letter-spacing:1.8px; line-height:1.4; color:#d7d9e0; margin-top:3px; }
.jackpot-condition { color:#d6dbea; text-align:center; font-size:9px; line-height:1.5; margin-top:7px; }
.jackpot-condition>span { color:#aeb6c9; }
.jackpot-won { box-shadow:0 0 16px var(--jackpot-color),inset 0 0 12px var(--jackpot-deep); border-color:#fff9d3; }
.jackpot-won .jackpot-caption { color:#fff; font-weight:900; }
.jackpot-award-note { display:flex; flex-direction:column; gap:4px; margin:12px 0 3px; padding:12px; text-align:center; border:1px solid #e3b569; border-radius:6px; color:#ffe4a9; background:linear-gradient(100deg,#4c2d16,#211408); }
.jackpot-award-note strong { font-size:16px; }
.jackpot-award-note span { color:#e0d6bb; font-size:11px; }
.jackpot-rules { margin-top:20px; padding-top:14px; border-top:1px solid #b8aa7044; }
.jackpot-rules h3 { font-size:22px; margin:0 0 9px; color:#f2dca6; }
.jackpot-rules p { font-size:12px; line-height:1.7; }
.jackpot-rules dl { display:grid; gap:6px; margin:12px 0; }
.jackpot-rules dl>div { display:flex; justify-content:space-between; gap:15px; padding:8px 10px; background:#080f18; border-radius:4px; }
.jackpot-rules dt { color:#e1c899; font-size:11px; font-weight:700; }
.jackpot-rules dd { margin:0; font-size:12px; text-align:right; color:#f5ecd8; }
.jackpot-rules dd small { display:block; font-size:10px; color:#abb6c5; }
@media (max-width:650px) {
 .jackpot-meters { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
 .jackpot-amount { font-size:clamp(24px,6vw,33px); }
 .jackpot-label { font-size:18px; }
 .jackpot-meter { padding-block:6px 4px; }
 .jackpot-heading { font-size:7px; letter-spacing:1px; }
 .jackpot-heading>span:last-child { letter-spacing:.3px; }
 .jackpot-condition { font-size:8px; }
 .jackpot-condition>span { display:block; }
 .jackpot-rules dl>div { flex-wrap:wrap; gap:4px; }
 .jackpot-rules dd { text-align:left; }
 /* Preserve accessible stake choices alongside the new header on narrow cabinets. */
 .royale-control-deck { grid-template-columns:minmax(0,1fr); gap:12px; }
 .royale-control-deck .stake-options { flex-wrap:wrap; justify-content:center; }
 .royale-control-deck .pokie-spin { width:100%; }
}
@media (max-width:350px) {
 .jackpot-heading { flex-direction:column; align-items:center; gap:3px; }
 .jackpot-amount { font-size:22px; }
}

/* Fit full seven-digit awards within each meter at every supported stake. */
.jackpot-meter { container-type:inline-size; }
.jackpot-meter .jackpot-amount { font-size:clamp(18px,18cqi,32px); }
.currency-jackpots .jackpot-amount { font-size:min(32px,calc(145cqi / var(--amount-length,12))); letter-spacing:-.4px; }
/* Reserve room for the jackpot bank without putting laptop controls below the fold. */
@media (min-width:761px) and (max-height:820px) {
 .has-jackpots.pokie-stage,.has-jackpots.slots-stage { --reel-row:68px; max-width:740px; }
 .has-jackpots .machine-jackpots { padding-top:5px; padding-bottom:4px; }
 .has-jackpots .jackpot-meter { padding-block:4px 3px; }
 .has-jackpots .jackpot-label { font-size:17px; }
 .has-jackpots .jackpot-caption { margin-top:1px; font-size:6px; }
 .has-jackpots .jackpot-condition { margin-top:4px; }
 .has-jackpots .jackpot-heading { margin-bottom:4px; }
 .has-jackpots .machine-display .pokie-topper,.has-jackpots .machine-display .slot-top { height:67px; }
 .has-jackpots .machine-title-pre { font-size:14px; }
 .has-jackpots .pokie-topper h2>strong,.has-jackpots .slot-top h2>em { font-size:32px; }
 .has-jackpots .pokie-topper-copy,.has-jackpots .slot-top { padding-top:4px; }
 .has-jackpots .topper-symbol-art .pokie-symbol.painted-symbol { width:70px; height:70px; top:-3px; }
 .has-jackpots .pokie-topper-copy>span,.has-jackpots .slot-original { display:none; }
}
/* Original casino interiors sit behind the live games, never over their controls. */
body.game-view {
    --casino-room-image: url('./casino-table-salon.webp');
    --casino-room-position: 50% 50%;
    --casino-room-accent: #d0af78;
    position: relative;
    isolation: isolate;
    min-height: 100svh;
    background: #44382b;
}
body.game-view[data-game-scene="machine"] {
    --casino-room-image: url('./casino-machine-floor.webp');
    --casino-room-position: 50% 48%;
}
body.game-view::before {
    content: '';
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image: linear-gradient(180deg, #15120fc2 0, #15120f66 62px, #15120f1a 145px, transparent 230px), var(--casino-room-image);
    background-size: 100% 100%, cover;
    background-position: center, var(--casino-room-position);
    background-repeat: no-repeat;
}
/* Route framing changes the seat in the room without recolouring the photograph. */
body.game-view[data-route="red-centre"] { --casino-room-position: 43% 48%; --casino-room-accent: #dab583; }
body.game-view[data-route="reef-pearls"] { --casino-room-position: 58% 48%; --casino-room-accent: #acd5ca; }
body.game-view[data-route="southern-skies"] { --casino-room-position: 52% 44%; --casino-room-accent: #c2c8e0; }
body.game-view[data-route="slots"] { --casino-room-position: 48% 48%; --casino-room-accent: #d4c28e; }
body.game-view[data-route="roulette"] { --casino-room-position: 42% 50%; }
body.game-view[data-route="blackjack"] { --casino-room-position: 55% 50%; }
body.game-view[data-route="baccarat"] { --casino-room-position: 62% 50%; --casino-room-accent: #d7c8a1; }
body.game-view[data-route="poker"] { --casino-room-position: 47% 50%; }
body.game-view #root { position: relative; z-index: 1; }
body.game-view .app-shell,
body.game-view .main-column,
body.game-view #page-content { background: transparent; }
body.game-view #game-surface::before { display: none; }
body.game-view .game-page-actions .button { background: #272820ed; border-color: #dcc39159; color: #fff0d2; }
body.game-view .game-footnote {
    width: fit-content;
    max-width: 100%;
    margin: 12px auto 0;
    padding: 8px 12px;
    border-radius: 6px;
    background: #211e18e6;
    color: #e1d7c5;
}
body.game-view .game-footnote svg { color: var(--casino-room-accent); }
body.game-view .slot-line-results,
body.game-view .pokie-hit-list { color: #f2e6ce; text-shadow: 0 1px 3px #000; }
@media (max-width: 700px) {
    body.game-view::before {
        background-image: linear-gradient(180deg, #15120f99, #15120f26 130px, transparent 200px), var(--casino-room-image);
    }
    body.game-view .game-page { padding-inline: 12px; }
    body.game-view .game-footnote { padding: 8px; }
}
@media (prefers-contrast: more) {
    body.game-view .game-footnote { background: #211d18; }
}

/* Leave a visible aisle around broad table layouts on desktop displays. */
@media (min-width: 1000px) {
    body.game-view[data-game-scene="table"] .game-page { max-width: 1080px; }
}
/* Recycle a bounded strip and composite its cells separately. Moving one cell into
   the top overscan must not rasterize every photograph in the reel again. */
.reel-motion-active .pokie-track,
.reel-motion-active .reel-track {
    will-change: transform;
    backface-visibility: hidden;
    contain: layout style;
}
.reel-motion-active .machine-motion-cell {
    will-change: transform;
    backface-visibility: hidden;
    contain: paint;
}
.reel-motion-active .pokie-symbol,
.reel-motion-active .royale-symbol,
.reel-motion-active svg [filter] {
    filter: none !important;
}
/* Keep native photographic detail and symbol identity filters. A blur on the
   entire changing strip turns each recycled row into a large offscreen repaint. */
.reel-motion-active .pokie-track,
.reel-motion-active .reel-track { filter: none; }
/* Machine controls and feature announcements share the cabinet's display glass. */
.machine-bet-equation { margin:8px 15px 12px; text-align:center; color:#d3d8c7; font-size:11px; line-height:1.6; overflow-wrap:anywhere; }
.machine-bet-equation b { color:#ffe7a7; }
.machine-bet-equation small { display:block; color:#b9c5bc; font-size:10px; }
.pokie-cell.is-inactive-position:not([data-symbol="7"]) { opacity:.3; filter:grayscale(.8); }
.royale-reel-window { position:relative; }
.royale-lines { inset:1px; width:calc(100% - 2px); height:calc(100% - 2px); pointer-events:none; }
.machine-display { position:relative; isolation:isolate; }
.machine-cash-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:12px 15px 4px; padding:12px 0 3px; border-top:1px solid #a18b5844; }
.machine-cash-button { min-width:0; min-height:54px; padding:10px 14px; border:1px solid #8d9396; border-radius:8px; color:#f2f0df; background:linear-gradient(#606769 0,#353c40 12%,#171e22 52%,#30373a 100%); box-shadow:inset 0 1px #fff5,inset 0 0 0 3px #070d1380,0 3px 0 #030609,0 5px 9px #0008; font-size:13px; font-weight:800; letter-spacing:1.8px; text-transform:uppercase; cursor:pointer; }
.machine-cash-button small { display:block; margin-top:4px; color:#bec6c7; font-size:8px; font-weight:500; letter-spacing:1px; }
.machine-take-win { border-color:#ccae62; color:#fff0bb; background:linear-gradient(#877445,#514222 13%,#282215 55%,#66512a); box-shadow:inset 0 1px #ffedb577,inset 0 0 0 3px #09070277,0 3px 0 #1e170b,0 5px 10px #0008; }
.machine-take-win small { color:#dccda5; }
.machine-cash-button:hover:not(:disabled) { filter:brightness(1.15); }
.machine-cash-button:active:not(:disabled) { transform:translateY(2px); box-shadow:inset 0 1px #fff4,0 1px 0 #070a0c; }
.machine-cash-button:disabled { opacity:.42; cursor:default; box-shadow:inset 0 1px #fff2,0 2px 0 #030609; }
.machine-cash-button:focus-visible,.machine-overlay button:focus-visible { outline:3px solid #fff4c0; outline-offset:4px; }
.machine-overlay { position:absolute; inset:0; z-index:12; display:grid; place-items:center; overflow:auto; overscroll-behavior:contain; padding:24px; border:2px solid #e1bd70; border-radius:inherit; color:#fff4cf; background:radial-gradient(ellipse at 50% 38%,#55642bd9,transparent 60%),linear-gradient(140deg,#10251d,#061714 48%,#183c2a); box-shadow:inset 0 0 0 4px #110e0777,inset 0 0 65px #0009,0 0 25px #c5a45c22; }
.machine-overlay::before { content:''; position:absolute; inset:10px; border:1px solid #d1b86c6e; pointer-events:none; background:radial-gradient(ellipse at 50% 2%,#e4bc5860,transparent 45%); }
.machine-overlay-card { position:relative; width:min(100%,520px); text-align:center; padding:12px 4px; }
.machine-overlay-kicker { margin:0 0 12px; color:#ebd99e; font-size:11px; font-weight:700; letter-spacing:4px; }
.machine-feature-count { display:block; margin:0; font-family:Arial,Helvetica,sans-serif; font-size:clamp(68px,8vw,106px); font-weight:900; line-height:.96; letter-spacing:-4px; color:#ffe9a0; -webkit-text-stroke:1px #fff5ca; text-shadow:0 3px #ae8134,0 6px #3c260c,0 9px 15px #0009,0 0 40px #f3d47b55; }
.machine-overlay-title { margin:14px 0 14px; font-family:Arial,Helvetica,sans-serif; font-size:clamp(27px,4vw,44px); font-weight:900; letter-spacing:3px; line-height:1.05; color:#fff2c5; text-shadow:0 3px #574022,0 5px 12px #0008; }
.machine-overlay-copy { max-width:400px; margin:0 auto 16px; color:#e4e6d4; font-size:13px; line-height:1.6; }
.machine-overlay-details { display:flex; justify-content:center; gap:12px 22px; margin:0 auto 20px; color:#ced3c0; font-size:11px; line-height:1.5; }
.machine-overlay-details span { display:block; }
.machine-overlay-details b { display:block; color:#fff0b3; font-size:23px; font-variant-numeric:tabular-nums; }
.machine-overlay-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; }
.machine-overlay-primary,.machine-overlay-secondary { min-height:48px; border:1px solid #edd08b; border-radius:6px; padding:13px 24px; font-size:12px; font-weight:800; letter-spacing:1px; cursor:pointer; }
.machine-overlay-primary { color:#251c0c; background:linear-gradient(#ffe9ae,#c69e50); box-shadow:inset 0 1px #fff6de,0 3px 0 #715121,0 6px 18px #0006; }
.machine-overlay-secondary { color:#e4dfcd; background:#101e1bd9; border-color:#93977d; }
.machine-overlay-primary:hover,.machine-overlay-secondary:hover { filter:brightness(1.12); }
.machine-overlay--cash-out { background:radial-gradient(ellipse at top,#353d39,#111b1a 72%); border-color:#9fa68f; }
.machine-overlay--cash-out .machine-overlay-card { width:min(100%,420px); padding:24px 20px; background:#ede8d8; color:#21312b; box-shadow:0 8px 28px #0009; border-top:5px double #547061; border-bottom:5px double #547061; }
.machine-overlay--cash-out .machine-overlay-kicker { color:#546459; font-size:9px; letter-spacing:3px; }
.machine-overlay--cash-out .machine-overlay-title { color:#23352a; margin:8px 0 14px; font-size:26px; text-shadow:none; }
.machine-overlay--cash-out .machine-feature-count { color:#1c362a; font-size:clamp(30px,5vw,48px); letter-spacing:-1px; text-shadow:none; -webkit-text-stroke:0; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.machine-overlay--cash-out .machine-overlay-copy { color:#526257; margin-top:15px; font-size:12px; }
.machine-overlay--cash-out .machine-overlay-details { color:#4f6356; border-top:1px dashed #71827388; padding-top:12px; }
.machine-overlay--cash-out .machine-overlay-details b { color:#254332; }
.machine-overlay--cash-out .machine-overlay-primary { color:#f6efd8; background:linear-gradient(#39604a,#1f3f2e); border-color:#516d55; box-shadow:inset 0 1px #fff3,0 2px 0 #132d20; }
.machine-overlay--cash-out .machine-overlay-secondary { color:#374b3d; background:transparent; border-color:#8a9785; }
@media(max-width:520px) {
 .machine-cash-controls { gap:8px; margin:9px 4px 3px; padding-top:9px; }
 .machine-cash-button { min-height:49px; padding:9px 5px; font-size:11px; letter-spacing:1px; }
 .machine-cash-button small { font-size:7px; letter-spacing:.5px; }
 .machine-overlay { padding:14px; }
 .machine-overlay-card { padding:4px 0; }
 .machine-overlay-kicker { margin-bottom:9px; font-size:8px; letter-spacing:2.4px; }
 .machine-feature-count { font-size:72px; }
 .machine-overlay-title { margin:10px 0; font-size:29px; letter-spacing:1.5px; }
 .machine-overlay-copy { margin-bottom:11px; font-size:11px; line-height:1.45; }
 .machine-overlay-details { gap:10px; margin-bottom:14px; font-size:9px; }
 .machine-overlay-details b { font-size:21px; }
 .machine-overlay-primary,.machine-overlay-secondary { padding:11px 13px; font-size:10px; min-height:44px; }
 .machine-overlay--cash-out .machine-overlay-card { padding:18px 12px; }
 .machine-overlay--cash-out .machine-overlay-copy { font-size:10px; }
 .machine-overlay--cash-out .machine-overlay-actions { gap:8px; }
}
.machine-denomination { min-width:0; display:grid; gap:6px; }
.machine-denomination label { color:#e6d8b6; font-size:9px; letter-spacing:1.4px; font-weight:700; }
.machine-denomination select { width:100%; min-height:44px; padding:9px 10px; border:1px solid #bba36988; border-radius:5px; background:#121e21; color:#ffe6a2; font-size:18px; font-weight:700; }
.machine-denomination small { font-size:8px; line-height:1.4; color:#c3c1af; }
/* Cabinet bet keys are separate from the table games' circular chip selectors. */
.machine-bet-select { min-width:0; }
.machine-line-select { grid-column:1/-1; order:-1; min-width:0; display:grid; gap:8px; padding-bottom:12px; border-bottom:1px solid #abb2a638; }
.machine-line-select .control-label { color:#e6d8b6; font-size:9px; letter-spacing:1.4px; font-weight:700; }
.machine-line-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(48px,1fr)); gap:8px; }
@media(max-width:360px) { .machine-line-options { grid-template-columns:repeat(3,minmax(0,1fr)); } }
.royale-control-deck .machine-bet-options { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:6px; }
.machine-bet-button { display:grid; place-items:center; align-content:center; gap:2px; width:100%; min-width:0; min-height:57px; padding:6px 2px; border:1px solid #a5aaa0; border-radius:5px; color:#e4eadc; background:linear-gradient(#596966,#233331 16%,#101c1d 64%,#38433e); box-shadow:inset 0 1px #ffffff66,inset 0 0 0 2px #0005,0 3px 0 #020807,0 4px 6px #0008; font-family:Arial,Helvetica,sans-serif; text-shadow:0 1px #000b; cursor:pointer; }
.machine-bet-button strong { font-size:14px; line-height:1.1; font-weight:800; }
.machine-bet-button > * { pointer-events:none; }
.machine-bet-button span { font-size:6px; line-height:1; letter-spacing:.4px; color:#b9c5ba; }
.machine-bet-button small { font-size:9px; line-height:1.2; color:#d7d9c7; white-space:nowrap; font-variant-numeric:tabular-nums; }
.machine-bet-button .machine-bet-total-label { display:block; margin-top:2px; font-size:6px; letter-spacing:.2px; }
.machine-bet-button.selected { color:#fff5cc; border-color:#ffe2a0; background:linear-gradient(#c4aa6b,#675122 15%,#3e321b 67%,#9b7b36); box-shadow:inset 0 1px #fff7cf,inset 0 0 0 2px #3d2c1666,0 3px 0 #33270c,0 0 12px #efd27e44; }
.machine-bet-button.selected span,.machine-bet-button.selected small { color:#fff0bb; }
.machine-bet-button:hover:not(:disabled) { filter:brightness(1.15); }
.machine-bet-button:active:not(:disabled) { box-shadow:inset 0 2px 5px #0009,0 1px 0 #070a0c; }
.machine-bet-button:focus-visible { outline:3px solid #fff1be; outline-offset:3px; }
.machine-bet-button:disabled { opacity:.42; cursor:default; }
.machine-line-button { min-height:48px; gap:4px; }
.machine-line-button strong { font-size:17px; }
.machine-line-button span { font-size:8px; letter-spacing:.8px; }
.machine-ways-select .machine-line-button { min-height:60px; }
.machine-ways-select .machine-line-button small { font-size:7px; }
/* Fit currency to each meter; long feature totals remain readable inside it. */
.pokie-meters > div { container-type:inline-size; }
.pokie-meters strong {
 font-size:clamp(12px,3vw,23px);
 font-size:clamp(12px,12cqi,23px);
 letter-spacing:0;
 line-height:1.2;
 max-width:100%;
 white-space:normal;
 overflow-wrap:anywhere;
}
.pokie-controls.has-denomination { grid-template-columns:repeat(3,minmax(0,1fr)) minmax(150px,1.2fr); }
.pokie-controls.has-denomination.has-line-selection { grid-template-columns:repeat(2,minmax(0,1fr)) minmax(150px,1.2fr); }
.royale-control-deck.has-denomination { grid-template-columns:125px minmax(0,1fr) 165px; }
.machine-win-ledger { min-height:22px; text-align:right; color:#b6c6b3; font-size:9px; letter-spacing:.7px; padding:7px 10px 0; }
.machine-win-ledger b { color:#f3d78f; margin-inline:4px; }
@media(max-width:760px) {
 .pokie-controls.has-denomination { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
 .pokie-controls.has-denomination.has-line-selection { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .pokie-controls.has-denomination .pokie-spin,.royale-control-deck.has-denomination .pokie-spin { grid-column:1/-1; width:100%; }
 .royale-control-deck.has-denomination { grid-template-columns:minmax(85px,.7fr) minmax(0,1.3fr); }
 .royale-control-deck.has-denomination .stake-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); justify-items:center; }
 .royale-control-deck .machine-bet-options { grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
 .machine-bet-button { min-height:52px; padding:5px 2px; }
 .machine-bet-button small { font-size:8px; }
 .machine-line-select { gap:7px; padding-bottom:10px; }
 .machine-line-options { gap:6px; }
 .machine-line-button { min-height:48px; }
 .machine-denomination label { font-size:8px; letter-spacing:.5px; }
 .machine-denomination select { padding:8px; font-size:16px; }
 .machine-win-ledger { font-size:8px; text-align:center; letter-spacing:.25px; }
}
/* Size the announcement to its actual machine screen, including short desktop windows. */
.machine-overlay { container-type:size; container-name:machine-screen; }
@container machine-screen (max-height:400px) {
 .machine-overlay-card { padding:0; }
 .machine-overlay-kicker { font-size:8px; letter-spacing:2.5px; margin-bottom:8px; }
 .machine-feature-count { font-size:clamp(48px,21cqh,76px); line-height:.96; }
 .machine-overlay-title { font-size:clamp(22px,9cqh,34px); margin:8px 0; letter-spacing:2px; }
 .machine-overlay-copy { max-width:350px; font-size:11px; line-height:1.4; margin-bottom:10px; }
 .machine-overlay-details { font-size:9px; gap:14px; margin-bottom:12px; }
 .machine-overlay-details b { font-size:20px; }
 .machine-overlay-primary,.machine-overlay-secondary { min-height:44px; padding:10px 15px; font-size:10px; }
 .machine-overlay--cash-out .machine-overlay-card { padding:16px 14px; }
 .machine-overlay--cash-out .machine-overlay-title { font-size:22px; margin:7px 0 12px; }
 .machine-overlay--cash-out .machine-feature-count { font-size:clamp(28px,11cqh,40px); }
 .machine-overlay--cash-out .machine-overlay-copy { font-size:10px; margin-top:12px; }
 .machine-overlay--cash-out .machine-overlay-details { padding-top:9px; margin-bottom:12px; }
 .machine-overlay--cash-out .machine-overlay-details b { font-size:16px; }
}
/* The aisle layer follows the room backdrop and remains below #root (z-index: 1). */
.casino-host-layer {
    position: fixed;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
    contain: layout paint;
}
.casino-host-layer[hidden] { display: none; }
.casino-host-path {
    position: absolute;
    /* Scene measurements set width, floor and travel extents together. */
    transform-origin: 0 100%;
    will-change: transform;
    pointer-events: none;
    filter: brightness(.79) saturate(.8) drop-shadow(0 7px 5px #08060375);
}
.casino-host-figure {
    width: 100%;
    aspect-ratio: 2 / 3;
    background-repeat: no-repeat;
    background-size: 300% 200%;
    background-position: 0% 0%;
    pointer-events: none;
}
.casino-host-blonde { background-image: url('./aurel-host-blonde.png'); }
.casino-host-brunette { background-image: url('./aurel-host-brunette.png'); }
.casino-host-figure[data-frame="0"] { background-position: 0% 0%; }
.casino-host-figure[data-frame="1"] { background-position: 50% 0%; }
.casino-host-figure[data-frame="2"] { background-position: 100% 0%; }
.casino-host-figure[data-frame="3"] { background-position: 0% 100%; }
.casino-host-figure[data-frame="4"] { background-position: 50% 100%; }
.casino-host-figure[data-frame="5"] { background-position: 100% 100%; }
.casino-host-facing { position: relative; width: 100%; aspect-ratio: 2 / 3; isolation: isolate; }
.casino-host-facing[data-direction="left"] { transform: scaleX(-1); }
.casino-host-gait { position: relative; isolation: isolate; opacity: 1; transition: opacity 240ms ease; }
.casino-host-next-pose, .casino-host-check-pose { position: absolute; inset: 0; }
.casino-host-next-pose { mix-blend-mode: plus-lighter; }
.casino-host-check-pose { opacity: 0; mix-blend-mode: plus-lighter; transition: opacity 240ms ease; }
.casino-host-path[data-phase="checking"] .casino-host-gait,
.casino-host-path[data-reduced="true"] .casino-host-gait { opacity: 0; }
.casino-host-path[data-phase="checking"] .casino-host-check-pose,
.casino-host-path[data-reduced="true"] .casino-host-check-pose { opacity: 1; }
.casino-host-path[data-reduced="true"] { transition: none; }
/* Opal's rear aisle uses an authored gait; checking and drinks retain the
   original poses. Dimensions and floor contact travel together in the controller. */
.casino-host-path[data-pilot="opal"] {
    filter: brightness(.86) saturate(.86);
}
.casino-host-path[data-pilot="opal"] .casino-host-facing {
    position: relative;
    z-index: 1;
    transform-origin: 50% 97%;
    filter: drop-shadow(1px 1px 1px #1b120e40);
}
.casino-host-figure[data-walk-atlas="opal"] { background-size: 600% 200%; }
.casino-host-blonde[data-walk-atlas="opal"] { background-image: url('./opal-host-blonde-walk.png'); }
.casino-host-brunette[data-walk-atlas="opal"] { background-image: url('./opal-host-brunette-walk.png'); }
.casino-host-ground-shadow {
    position: absolute;
    left: 29%;
    bottom: 2.5%;
    width: 42%;
    height: 3%;
    border-radius: 50%;
    background: radial-gradient(ellipse, #130d09 0%, #130d0970 42%, #130d0900 73%);
    transform: scaleX(1.25);
    opacity: .38;
    pointer-events: none;
}
.casino-host-path[data-pilot="opal"][data-reduced="true"] { transition: none; }
.casino-host-path[data-reduced="true"] .casino-host-gait,
.casino-host-path[data-reduced="true"] .casino-host-check-pose { transition: none; }
.casino-host-offer {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 8px;
    margin: 0;
    pointer-events: none;
    opacity: 1;
    transition: opacity 650ms ease;
}
.casino-host-offer[hidden] { display: none; }
.casino-host-offer.is-docked {
    position: fixed;
    right: max(16px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
    margin: 0;
}
.casino-host-person {
    flex: 0 0 auto;
    overflow: hidden;
    filter: drop-shadow(0 5px 6px #120b06a6);
}
.casino-host-person > .casino-host-figure { max-width: none; }
.casino-host-bubble {
    position: relative;
    flex: 0 0 auto;
    padding: 14px 12px 12px;
    border: 1px solid #bca16d80;
    border-radius: 12px 12px 3px 12px;
    background: #24241ef5;
    box-shadow: 0 7px 28px #09070440;
    color: #f6ecda;
    font-family: inherit;
    pointer-events: none;
}
.casino-host-label { display: block; padding-right: 20px; color: #d5bc89; font-size: 8px; letter-spacing: 1.8px; }
.casino-host-bubble p { margin: 7px 0 10px; font-size: 12px; line-height: 1.5; }
.casino-host-choices { display: flex; flex-wrap: wrap; gap: 5px; }
.casino-host-choices[hidden] { display: none; }
.casino-host-choices button {
    min-height: 34px;
    padding: 7px 9px;
    border: 1px solid #c4aa775c;
    border-radius: 5px;
    background: #37382a;
    color: #f8edda;
    font: inherit;
    font-size: 10px;
    cursor: pointer;
    pointer-events: auto;
}
.casino-host-choices button:hover { background: #53503a; border-color: #debf81; }
.casino-host-choices button:focus-visible, .casino-host-dismiss:focus-visible { outline: 2px solid #f6d895; outline-offset: 3px; }
.casino-host-dismiss {
    position: absolute;
    top: 2px;
    right: 3px;
    width: 30px;
    height: 30px;
    padding: 0;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: #dacdaf;
    font: inherit;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    pointer-events: auto;
}
.casino-host-dismiss:hover { background: #ffffff12; color: #fff5df; }
.casino-host-dismiss[hidden] { display: none; }
.casino-host-offer[data-phase="leaving"] { opacity: 0; }
.casino-host-offer[data-phase="leaving"] button { pointer-events: none; }
.casino-host-offer[data-reduced="true"] { transition: none; }
@media (max-width: 700px) {
    .casino-host-choices button { min-height: 38px; }
}
@media (prefers-reduced-motion: reduce) {
    .casino-host-path, .casino-host-path[data-pilot="opal"], .casino-host-ground-shadow, .casino-host-offer,
    .casino-host-gait, .casino-host-check-pose { transition: none; }
}
.premium-symbol { display:block; width:100%; aspect-ratio:1;  background-size:800% 400%; background-repeat:no-repeat; filter:drop-shadow(0 3px 3px #0009); }
.premium-scene { display:block; width:100%; height:100%; background-image:url('./premium-scenes.png'); background-size:200% 200%; background-repeat:no-repeat; }
.premium-scene-wrap>.premium-scene { position:absolute; top:50%; left:0; height:auto; aspect-ratio:3/2; transform:translateY(-50%); }
.premium-cash-art { filter:sepia(.35) saturate(1.3) drop-shadow(0 2px 4px #a86b2180); }
/* Cabinet catalogue images are separate from the landscape art inside the live screens. */
.cover-slots { background-image:url('./midnight-royale-cabinet.png'); }
.cover-red-centre { background-image:url('./red-centre-cabinet.png'); }
.cover-reef-pearls { background-image:url('./reef-pearls-cabinet.png'); }
.cover-southern-skies { background-image:url('./southern-skies-cabinet.png'); }
.cover-opal-empire { background-image:url('./opal-empire-cabinet.png'); }
.cover-coral-crown { background-image:url('./coral-crown-cabinet.png'); }
.cover-iron-vault { background-image:url('./iron-vault-cabinet.png'); }
.cover-jade-palace { background-image:url('./jade-palace-cabinet.png'); }
.premium-cabinet-art,
.game-cover:is(.cover-slots,.cover-red-centre,.cover-reef-pearls,.cover-southern-skies,.cover-opal-empire,.cover-coral-crown,.cover-iron-vault,.cover-jade-palace) {
 display:block; aspect-ratio:auto; background-color:#080e0c;
 background-size:contain; background-position:center; background-repeat:no-repeat; filter:none;
}
.premium-cabinet-art { width:100%; height:100%; }
/* Keep the complete cabinet visible in cards; preserve the separate Slots feature layout. */
.game-art-button>.game-cover:is(.cover-slots,.cover-red-centre,.cover-reef-pearls,.cover-southern-skies,.cover-opal-empire,.cover-coral-crown,.cover-iron-vault,.cover-jade-palace) { position:absolute; inset:0; width:100%; height:100%; }
.game-card:hover .game-cover:is(.cover-slots,.cover-red-centre,.cover-reef-pearls,.cover-southern-skies,.cover-opal-empire,.cover-coral-crown,.cover-iron-vault,.cover-jade-palace) { transform:none; }
/* The display remains flat and legible; only the cabinet carries material depth. */
.premium-stage { --premium-accent:#e0bc71; --premium-glow:#987e393b; --premium-ink:#100f17; --premium-row:90px; max-width:820px; margin:0 auto; }
.premium-stage[data-premium-id="coral-crown"] { --premium-accent:#bdebf2; --premium-glow:#49bdce3b; --premium-ink:#071b25; }
.premium-stage[data-premium-id="iron-vault"] { --premium-accent:#f3c780; --premium-glow:#e78a3533; --premium-ink:#18130e; }
.premium-stage[data-premium-id="jade-palace"] { --premium-accent:#e5cf86; --premium-glow:#59b47f33; --premium-ink:#091b18; }
.premium-stage[data-premium-rows="5"] { --premium-row:83px; }
.premium-stage[data-premium-rows="6"] { --premium-row:75px; }
.premium-stage .premium-cabinet { position:relative; width:100%; padding:15px 17px 11px; border:1px solid #8e8368; border-radius:30px 30px 15px 15px; background:linear-gradient(110deg,#888879 0,#111616 1.2%,#292d2b 2.7%,#090d0f 4%,#171b1b 48%,#070b0e 94%,#55584d 97%,#b0a991 98.5%,#1d2827 100%); box-shadow:inset 0 2px #fff8,inset 0 0 0 3px #0008,0 3px 0 #020506,0 15px 26px #000a,0 0 60px var(--premium-glow); }
.premium-cabinet::before { content:''; position:absolute; inset:7px 6px 11px; border:1px solid #b4aa844d; border-radius:23px 23px 11px 11px; pointer-events:none; }
.premium-maker { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:1px 10px 11px; color:#d1c29c; font-size:8px; letter-spacing:2px; text-shadow:0 1px #000; }
.premium-maker b { font-family:Georgia,serif; letter-spacing:4px; font-size:12px; font-weight:400; }
.premium-jackpots .jackpot-amount { font-size:clamp(11px,calc(155cqi / var(--premium-amount-length,10)),31px); letter-spacing:-.5px; }
.premium-cabinet .premium-display { container-type:inline-size; padding:0 9px 9px; border:3px solid #010305; border-radius:20px 20px 7px 7px; background:radial-gradient(ellipse at 50% 18%,var(--premium-glow),transparent 65%),var(--premium-ink); box-shadow:0 0 0 1px #948872,inset 0 0 0 1px #dfcf9b33,inset 0 4px 20px #000a; }
.premium-topper { position:relative; isolation:isolate; min-height:160px; margin:0 -9px; overflow:hidden; display:grid; align-content:center; text-align:center; padding:21px 16px 15px; }
.premium-scene-wrap { position:absolute; inset:0; z-index:-2; overflow:hidden; }
.premium-scene-wrap>* { width:100%; height:100%; display:block; object-fit:cover; }
.premium-topper::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(#03070b12,#03060b15 30%,#03070bd9),radial-gradient(ellipse at center,#03060988,transparent 65%); }
.premium-topper>small { color:#fff5d6; font-size:8px; letter-spacing:3px; text-shadow:0 1px 4px #000; }
.premium-topper h2 { margin:8px 0 7px; font-family:Georgia,'Times New Roman',serif; font-size:clamp(34px,5vw,52px); font-weight:900; line-height:1.02; letter-spacing:-1.1px; color:var(--premium-accent); text-shadow:0 1px #fff8,0 3px #382c17,0 5px 2px #0009,0 5px 15px #000; }
.premium-topper p { margin:0; color:#fff5da; font-size:10px; letter-spacing:2px; text-transform:uppercase; text-shadow:0 1px 6px #000; }
.premium-feature-ribbon { position:relative; display:flex; justify-content:space-between; gap:12px; align-items:center; margin:0 -9px 7px; min-height:40px; padding:9px 15px; border-block:1px solid #cab17970; color:#f5e6c2; background:linear-gradient(90deg,#04090c,#2828218f,#04090c); box-shadow:0 1px 5px #000b; font-size:9px; letter-spacing:.8px; }
.premium-feature-ribbon strong { font-weight:800; color:var(--premium-accent); }
.premium-feature-ribbon span { text-align:right; color:#d4d6c9; }
.premium-feature-ribbon.is-feature { background:linear-gradient(90deg,#233523,#3b4322,#142e25); }
.premium-window { position:relative; padding:3px; border:1px solid #d0b777; border-radius:7px; background:linear-gradient(135deg,#f8ecc0,#826b38 22%,#322b1e 50%,#d2ba7c 88%,#fff6d4); box-shadow:0 0 0 2px #000b,0 4px 10px #0009; }
.premium-reels { position:relative; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:2px; padding:2px; border:1px solid #050708; border-radius:4px; overflow:hidden; background:#06090c; }
.premium-reel { position:relative; overflow:hidden; min-width:0; height:calc(var(--premium-row) * var(--premium-rows,4)); background:linear-gradient(90deg,#03070b,#141c2380 22%,#1b243180 50%,#0f192580 79%,#010406); box-shadow:inset 1px 0 #a5c8d026,inset -1px 0 #0008; }
.premium-track { position:relative; }
.premium-cell { position:relative; width:100%; box-sizing:border-box; display:grid; place-items:center; height:var(--premium-row); min-height:var(--premium-row); padding:3px; border-bottom:1px solid #b7c1ce14; }
.premium-cell>.premium-symbol { display:block; width:min(100%,calc(var(--premium-row) - 5px)); height:auto; aspect-ratio:1; max-height:100%; filter:drop-shadow(0 3px 2px #000b); }
.premium-cell.is-winning { background:radial-gradient(ellipse,#e3c87529,transparent 72%); box-shadow:inset 0 0 0 1px #f4d983a1,inset 0 0 19px #d7ad4740; }
.premium-cell.is-scatter { box-shadow:inset 0 0 0 1px #efffc59c,inset 0 0 20px #b7f48440; }
.premium-cell.is-held { background:radial-gradient(ellipse,#d4aa593d,#18130770 75%); border:1px solid #e4c27c9c; }
.premium-cell.is-empty::after { content:'·'; font-size:28px; color:#87847430; }
.premium-cash-value { position:absolute; bottom:8%; left:3%; right:3%; padding:2px 1px; text-align:center; font-size:clamp(10px,1.6vw,16px); font-weight:900; color:#fff8d5; background:linear-gradient(90deg,transparent,#241706e8 15%,#241706e8 85%,transparent); text-shadow:0 1px #000,0 0 5px #000; line-height:1.15; font-variant-numeric:tabular-nums; }
.premium-held-layer { position:absolute; inset:0; display:grid; grid-template-rows:repeat(var(--premium-rows,4),var(--premium-row)); pointer-events:none; z-index:3; }
.premium-held-layer>.premium-cell { border:1px solid #e4c27c9c; }
.premium-window-glass { position:absolute; inset:4px; z-index:4; pointer-events:none; border-radius:3px; box-shadow:inset 0 10px 14px #000b,inset 0 -8px 12px #0008,inset 1px 0 #fff2; background:linear-gradient(116deg,#c6e3ef0e,transparent 28%,transparent 69%,#dae9f505 70%,transparent 76%); }
.premium-screen-footer { display:flex; justify-content:space-between; gap:12px; padding:9px 3px 2px; color:#b3b6a7; font-size:7px; letter-spacing:1.1px; }
.premium-cabinet .pokie-meters { margin:10px 0 0; }
.premium-cabinet .pokie-meters>div { padding:10px 5px; background:linear-gradient(#020707,#121c1b); }
.premium-cabinet .pokie-meters strong { font-size:clamp(17px,2.6vw,25px); letter-spacing:.2px; overflow-wrap:anywhere; }
.premium-cabinet .pokie-meters small { font-size:8px; letter-spacing:.7px; }
.premium-controls { display:grid; grid-template-columns:140px minmax(105px,1fr) minmax(115px,1fr) 175px; gap:13px; align-items:end; padding:15px 2px 12px; }
.premium-controls .machine-denomination { gap:6px; }
.premium-credit-choice { display:grid; gap:6px; min-width:0; }
.premium-credit-choice label { font-size:9px; font-weight:700; letter-spacing:1.4px; color:#e6d8b6; }
.premium-credit-choice select { min-height:44px; width:100%; padding:9px; border:1px solid #bba36988; border-radius:5px; background:#121e21; color:#ffe6a2; font-size:18px; }
.premium-credit-choice small { color:#c3c1af; font-size:8px; line-height:1.4; }
.premium-ways { min-height:79px; display:grid; align-content:center; text-align:center; gap:4px; border:1px solid #bba36933; background:linear-gradient(#050b0d,#16231f); border-radius:5px; }
.premium-ways small { color:#c9c5aa; font-size:8px; letter-spacing:1.2px; }
.premium-ways strong { font-family:ui-monospace,monospace; color:var(--premium-accent); font-size:24px; line-height:1.2; }
.premium-controls .pokie-spin { min-height:79px; width:100%; margin:0; }
.premium-cabinet .pokie-toolbar { margin:0 2px; }
.premium-cabinet .machine-cash-controls { margin:6px 2px 5px; }
.premium-cabinet .machine-win-ledger { min-height:26px; padding:8px 2px 0; font-size:9px; text-align:center; }
.premium-cabinet .machine-hardware { display:flex; min-height:20px; margin-top:10px; }
.premium-feature-overlay { background:radial-gradient(ellipse at 50% 30%,var(--premium-glow),transparent 65%),linear-gradient(145deg,#152723,#030d11 70%); }
.premium-feature-overlay .machine-feature-count { color:var(--premium-accent); }
.premium-feature-overlay .premium-feature-total { display:block; color:var(--premium-accent); font-family:ui-monospace,monospace; font-size:clamp(29px,6vw,61px); font-weight:800; margin:12px 0 18px; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; line-height:1.2; text-shadow:0 3px 8px #000; }
.premium-feature-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; width:100%; margin-top:20px; }
.premium-feature-choices button { min-height:116px; display:grid; gap:6px; align-content:center; border:1px solid #dbc079; border-radius:9px; color:#f9efcd; background:linear-gradient(145deg,#415b36,#15241d); box-shadow:inset 0 1px #ffffdd5e,0 4px 0 #0009; }
.premium-feature-choices button strong { font-size:42px; line-height:1; font-family:Georgia,serif; }
.premium-feature-choices button span { font-size:11px; letter-spacing:1.5px; }
.premium-feature-choices button small { color:#e9d79d; font-size:13px; font-weight:700; }
.premium-feature-choices button:hover { filter:brightness(1.14); }
.premium-paytable { margin-top:23px; padding:25px; border:1px solid #ae996051; border-radius:9px; background:#101b17ed; }
.premium-paytable h3 { margin-bottom:10px; font-size:26px; color:#eee6cd; }
.premium-paytable p { font-size:12px; color:#c0c7b4; }
.premium-paytable table { width:100%; border-collapse:collapse; color:#d6dcc9; }
.premium-paytable th { padding:10px; border-bottom:1px solid #c1ad674a; font-size:11px; text-align:right; }
.premium-paytable th:first-child { text-align:left; }
.premium-paytable td { padding:8px 10px; border-bottom:1px solid #c1ad6724; font-size:12px; text-align:right; }
.premium-paytable td:first-child { display:flex; align-items:center; gap:10px; text-align:left; }
.premium-paytable .premium-symbol { width:42px; height:42px; flex-shrink:0; }
.premium-rule-list { display:grid; gap:8px; margin-top:18px; padding-left:19px; color:#bac3b2; font-size:12px; line-height:1.7; }
.premium-outcome-details { display:flex; flex-wrap:wrap; gap:7px 15px; padding:8px 4px; color:#d4d3be; font-size:11px; }
.premium-cabinet .reel-motion-active .premium-symbol { filter:none; }
@media(min-width:761px) and (max-height:900px) {
 .premium-stage { max-width:710px; --premium-row:78px; }
 .premium-stage[data-premium-rows="5"] { --premium-row:70px; }
 .premium-stage[data-premium-rows="6"] { --premium-row:64px; }
 .premium-topper { min-height:134px; padding-block:15px; }
 .premium-topper h2 { font-size:43px; }
 .premium-controls { grid-template-columns:120px 1fr 1fr 150px; gap:10px; }
}
@media(max-width:760px) {
 .premium-stage { --premium-row:84px; max-width:690px; }
 .premium-stage[data-premium-rows="5"] { --premium-row:78px; }
 .premium-stage[data-premium-rows="6"] { --premium-row:69px; }
 .premium-controls { grid-template-columns:1fr 1fr 1fr; gap:11px; }
 .premium-controls .pokie-spin { grid-column:1/-1; width:min(100%,340px); justify-self:center; min-height:61px; }
 .premium-topper h2 { font-size:46px; }
}
@media(max-width:520px) {
 .premium-stage { --premium-row:61px; }
 .premium-stage[data-premium-rows="5"] { --premium-row:60px; }
 .premium-stage[data-premium-rows="6"] { --premium-row:55px; }
 .premium-stage .premium-cabinet { padding:11px 8px 9px; border-radius:21px 21px 10px 10px; }
 .premium-maker { padding:0 4px 8px; font-size:5px; letter-spacing:.9px; }
 .premium-maker b { font-size:9px; }
 .premium-cabinet .premium-display { padding:0 3px 5px; border-width:2px; border-radius:13px 13px 5px 5px; }
 .premium-topper { margin-inline:-3px; min-height:125px; padding:17px 5px 13px; }
 .premium-topper h2 { font-size:35px; letter-spacing:-1px; }
 .premium-topper>small { font-size:6px; letter-spacing:1.7px; }
 .premium-topper p { font-size:8px; letter-spacing:1.1px; }
 .premium-feature-ribbon { margin-inline:-3px; padding:8px 6px; gap:6px; font-size:7px; line-height:1.5; min-height:39px; }
 .premium-feature-ribbon span { max-width:46%; }
 .premium-window { padding:2px; }
 .premium-reels { gap:1px; padding:0; }
 .premium-cell { padding:2px 0; }
 .premium-cell>.premium-symbol { width:min(100%,calc(var(--premium-row) - 2px)); }
 .premium-cash-value { font-size:9px; bottom:7%; }
 .premium-screen-footer { padding:7px 0 2px; font-size:5px; letter-spacing:.45px; gap:7px; }
 .premium-cabinet .pokie-meters { margin-top:8px; }
 .premium-cabinet .pokie-meters small { font-size:6px; letter-spacing:.25px; }
 .premium-cabinet .pokie-meters strong { font-size:16px; letter-spacing:-.4px; }
 .premium-cabinet .pokie-meters>div { padding:8px 2px; }
 .premium-cabinet .machine-win-ledger { font-size:7px; line-height:1.5; min-height:28px; }
 .premium-controls { gap:8px; padding-top:9px; }
 .premium-controls .machine-denomination label,.premium-credit-choice label { font-size:7px; letter-spacing:.7px; }
 .premium-controls .machine-denomination select,.premium-credit-choice select { font-size:16px; padding:8px 6px; }
 .premium-credit-choice small,.premium-controls .machine-denomination small { font-size:6px; }
 .premium-ways { min-height:75px; }
 .premium-ways strong { font-size:19px; }
 .premium-ways small { font-size:6px; letter-spacing:.6px; }
 .premium-cabinet .pokie-toolbar { gap:8px; }
 .premium-cabinet .pokie-toolbar .text-button { font-size:9px; }
 .premium-cabinet .machine-hardware { display:none; }
 .premium-feature-overlay .machine-overlay-title { font-size:25px; }
 .premium-feature-choices { gap:9px; margin-top:13px; }
 .premium-feature-choices button { min-height:96px; }
 .premium-feature-choices button strong { font-size:34px; }
 .premium-feature-choices button span { font-size:8px; letter-spacing:.8px; }
 .premium-feature-choices button small { font-size:10px; }
 .premium-paytable { padding:17px 11px; }
 .premium-paytable td,.premium-paytable th { padding:7px 5px; font-size:10px; }
 .premium-paytable .premium-symbol { width:31px; height:31px; }
 .premium-paytable td:first-child { gap:6px; }
 .premium-rule-list,.premium-paytable p { font-size:11px; }
 .premium-outcome-details { font-size:9px; gap:6px 10px; }
}
/* Opal pilot: a physical surround around the existing live display and controls. */
body.game-view[data-route="opal-empire"] {
    --casino-room-image: url('./opal-salon.png');
    --casino-room-position: 50% 52%;
    --casino-room-accent: #e7c789;
}
body.game-view[data-route="opal-empire"]::before {
    background-image: linear-gradient(180deg,#1c140dd1 0,#1c140d38 160px,transparent 45%,#130d0729),var(--casino-room-image);
}
.premium-stage[data-premium-id="opal-empire"] {
    --premium-accent: #f0cd83;
    --premium-glow: #cb92433b;
    --premium-row: 86px;
    --opal-light: #ffc95b;
    max-width: 820px;
    padding: 0 4px;
}
.premium-stage[data-premium-id="opal-empire"] .premium-cabinet {
    isolation: isolate;
    padding: 40px 48px 70px;
    border: 0;
    border-radius: 42px 42px 30px 30px;
    background: linear-gradient(90deg,#090808,#24221c 7%,#070908 15%,#10130f 80%,#2b251d 94%,#090807);
    box-shadow: 0 25px 35px #050302d9,0 5px 2px #000,0 0 38px #b8873321;
}
.premium-stage[data-premium-id="opal-empire"] .premium-cabinet > * { position: relative; z-index: 1; }
.premium-stage[data-premium-id="opal-empire"] .premium-cabinet::before {
    inset: 38px 19px 40px;
    border: 0;
    border-inline: 2px solid var(--opal-light);
    border-radius: 12px;
    opacity: .25;
    box-shadow: -4px 0 12px #ffc95b55,4px 0 12px #ffc95b55;
    z-index: 2;
    transition: opacity .4s ease,filter .4s ease;
}
.premium-stage[data-premium-id="opal-empire"] .premium-maker {
    margin: -17px 0 13px;
    justify-content: center;
    font-size: 6px;
    letter-spacing: 1.6px;
    opacity: .8;
}
.premium-stage[data-premium-id="opal-empire"] .premium-maker b { font-size: 13px; letter-spacing: 5px; }
.premium-stage[data-premium-id="opal-empire"] .premium-jackpots {
    margin-bottom: 12px;
    border-radius: 13px 13px 7px 7px;
    border-color: #d9b575;
    box-shadow: 0 0 0 2px #050505,0 0 0 3px #ab895e80,0 4px 12px #0009;
    background: radial-gradient(ellipse at 50% 0,#45391f,#080c0c 75%);
}
.premium-stage[data-premium-id="opal-empire"] .premium-display {
    border-radius: 10px;
    border: 3px solid #060704;
    background: #11130e;
    box-shadow: 0 0 0 1px #e6bf78,0 0 0 4px #302820,0 0 0 5px #0a0704,inset 0 0 32px #000;
}
.premium-stage[data-premium-id="opal-empire"] .premium-topper { min-height: 166px; }
.premium-stage[data-premium-id="opal-empire"] .premium-topper h2 {
    font-size: clamp(34px,4.6vw,49px);
    color: #ffe7a2;
    text-shadow: 0 1px #fff8,0 2px #967037,0 4px #352315,0 6px 3px #000,0 0 21px #3e200e;
}
.premium-stage[data-premium-id="opal-empire"] .premium-feature-ribbon {
    background: linear-gradient(90deg,#19150b,#38301b,#17170d);
    border-block-color: #ad8c51;
}
.premium-stage[data-premium-id="opal-empire"] .premium-reel {
    background: linear-gradient(90deg,#080b08,#192116 24%,#21291a 50%,#151e12 78%,#070a07);
}
.premium-stage[data-premium-id="opal-empire"] .premium-window-glass {
    background: linear-gradient(117deg,#fff1d91a,transparent 24%,transparent 68%,#ffefc50a 69%,transparent 81%);
    box-shadow: inset 0 13px 15px #000a,inset 0 -10px 14px #0008,inset 2px 0 #fff2;
}
.premium-stage[data-premium-id="opal-empire"] .premium-cell { border-bottom-color: #d4c79712; }
.premium-stage[data-premium-id="opal-empire"] .premium-cell>.premium-symbol { filter: drop-shadow(0 4px 3px #000c); }
.premium-stage[data-premium-id="opal-empire"] .reel-motion-active .premium-symbol { filter: none; }
.premium-stage[data-premium-id="opal-empire"] .pokie-meters {
    margin-top: 17px;
    padding: 5px;
    border: 1px solid #9b7f54;
    border-radius: 5px;
    background: linear-gradient(115deg,#a48a5d,#191a14 8%,#070907 89%,#a48a5d);
    box-shadow: inset 0 1px #fff5,0 4px 5px #0008;
}
.premium-stage[data-premium-id="opal-empire"] .pokie-meters > div { background: linear-gradient(#060b08,#142019); }
.premium-stage[data-premium-id="opal-empire"] .pokie-meters strong { color: #fff2c5; text-shadow: 0 0 8px #c9f6ad26; }
.premium-stage[data-premium-id="opal-empire"] .premium-controls {
    grid-template-columns: minmax(95px,1fr) minmax(100px,1fr) minmax(92px,1fr) minmax(114px,1.15fr);
    gap: 10px;
    margin: 7px -13px 0;
    padding: 20px 14px 17px;
    border: 1px solid #9e835a66;
    border-top-color: #d3b98299;
    border-radius: 10px 10px 15px 15px;
    background: linear-gradient(178deg,#484333 0,#171c18 5%,#101511 72%,#252920 95%,#98835d 97%,#302719);
    box-shadow: inset 0 1px #fff3,0 8px 9px #0009;
}
.premium-stage[data-premium-id="opal-empire"] .premium-controls .pokie-spin {
    border: 2px solid #f3d697;
    border-radius: 14px;
    background: linear-gradient(160deg,#fbefd4 0,#d6b260 12%,#9f742c 48%,#dfbe70 92%);
    box-shadow: inset 0 2px 2px #ffffdf,0 5px 0 #352411,0 6px 0 1px #b38c43,0 9px 9px #000a;
    color: #211808;
    text-shadow: 0 1px #fff5;
}
.premium-stage[data-premium-id="opal-empire"] .premium-controls .pokie-spin:active:not(:disabled) { transform: translateY(3px); box-shadow: inset 0 2px 6px #0004,0 2px 0 #352411,0 3px 0 1px #b38c43; }
.premium-stage[data-premium-id="opal-empire"] .pokie-toolbar { margin-top: 14px; }
.premium-stage[data-premium-id="opal-empire"] .machine-cash-controls { padding-block: 5px; }
.premium-stage[data-premium-id="opal-empire"] .machine-hardware { margin-bottom: -24px; opacity: .75; }
.premium-stage[data-premium-id="opal-empire"][data-scene-state="spinning"] .premium-cabinet::before { opacity: .55; }
.premium-stage[data-premium-id="opal-empire"][data-scene-state="win"] .premium-cabinet::before,
.premium-stage[data-premium-id="opal-empire"][data-scene-state="feature"] .premium-cabinet::before { opacity: .9; filter: brightness(1.18); }
.premium-stage[data-premium-id="opal-empire"] .premium-feature-overlay { background: radial-gradient(ellipse at 50% 30%,#80642c80,transparent 65%),linear-gradient(145deg,#192a1b,#060c08 70%); }
.premium-stage[data-premium-id="opal-empire"] .premium-feature-overlay .machine-overlay-card { animation: opal-feature-arrive .5s ease-out both; }
.premium-stage[data-premium-id="opal-empire"][data-prize-tier^="jackpot"] .premium-cabinet::before { filter: brightness(1.4); box-shadow: -5px 0 18px #ffe7ab88,5px 0 18px #ffe7ab88; }
@keyframes opal-feature-arrive { from { opacity: 0; transform: translateY(9px) scale(.98); } to { opacity: 1; transform: none; } }
@media (min-width:761px) and (max-height:900px) {
    .premium-stage[data-premium-id="opal-empire"] { max-width: 740px; --premium-row: 74px; }
    .premium-stage[data-premium-id="opal-empire"] .premium-topper { min-height: 145px; }
}
@media (max-width:760px) {
    .premium-stage[data-premium-id="opal-empire"] { --premium-row: 78px; }
    .premium-stage[data-premium-id="opal-empire"] .premium-cabinet { padding: 29px 30px 48px; border-radius: 27px; }
    .premium-stage[data-premium-id="opal-empire"] .premium-cabinet::before { inset: 24px 11px 29px; }
    .premium-stage[data-premium-id="opal-empire"] .premium-maker { margin-top: -10px; }
    .premium-stage[data-premium-id="opal-empire"] .premium-controls { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .premium-stage[data-premium-id="opal-empire"] .premium-controls .pokie-spin { min-height: 57px; }
}
@media (max-width:520px) {
    .premium-stage[data-premium-id="opal-empire"] { --premium-row: 55px; padding: 0; }
    .premium-stage[data-premium-id="opal-empire"] .premium-cabinet { padding: 24px 17px 35px; border-radius: 21px; }
    .premium-stage[data-premium-id="opal-empire"] .premium-cabinet::before { inset: 19px 6px 23px; border-inline-width: 1px; }
    .premium-stage[data-premium-id="opal-empire"] .premium-maker { gap: 7px; margin-bottom: 9px; font-size: 4px; letter-spacing: .65px; padding-inline: 0; }
    .premium-stage[data-premium-id="opal-empire"] .premium-maker b { font-size: 9px; letter-spacing: 3px; }
    .premium-stage[data-premium-id="opal-empire"] .premium-jackpots { margin-bottom: 9px; }
    .premium-stage[data-premium-id="opal-empire"] .premium-topper { min-height: 115px; }
    .premium-stage[data-premium-id="opal-empire"] .premium-topper h2 { font-size: 31px; }
    .premium-stage[data-premium-id="opal-empire"] .premium-topper p { font-size: 7px; letter-spacing: .7px; }
    .premium-stage[data-premium-id="opal-empire"] .premium-controls { margin-inline: -5px; padding: 12px 6px 15px; gap: 7px; }
    .premium-stage[data-premium-id="opal-empire"] .pokie-meters { padding: 3px; }
    .premium-stage[data-premium-id="opal-empire"] .pokie-meters strong { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
    .premium-stage[data-premium-id="opal-empire"] .premium-cell>.premium-symbol,
    .premium-stage[data-premium-id="opal-empire"] .premium-feature-overlay .machine-overlay-card { animation: none !important; }
    .premium-stage[data-premium-id="opal-empire"] .premium-cabinet::before { transition: none; }
}
.reduced-motion .premium-stage[data-premium-id="opal-empire"] .premium-cell>.premium-symbol,
.reduced-motion .premium-stage[data-premium-id="opal-empire"] .premium-feature-overlay .machine-overlay-card { animation: none !important; }
/* Physical wheel salon and glass-front Keno cabinet. All controls remain live DOM. */
.money-wheel-room,.keno-cabinet{--wk-gold:#ddc08a;--wk-line:rgba(230,198,137,.3);color:#f0e6d0;font-variant-numeric:tabular-nums;min-width:0}
.money-wheel-room{display:grid;grid-template-columns:minmax(290px,1fr) minmax(330px,.94fr);gap:clamp(18px,3vw,40px);padding:clamp(16px,3vw,36px);border:1px solid #645033;border-radius:24px;background:radial-gradient(ellipse at 22% 20%,rgba(134,99,51,.22),transparent 48%),linear-gradient(110deg,rgba(9,14,12,.88),rgba(14,26,22,.94)),url('./casino-table-salon.webp') center/cover;box-shadow:inset 0 0 0 5px #141713,0 25px 70px #0008;overflow:hidden}
.money-wheel-stage{position:relative;min-width:0;align-self:start;text-align:center;padding-top:4px;background:radial-gradient(ellipse at center 43%,#af8c3626,transparent 65%)}
.wk-marquee{position:relative;z-index:2;text-align:center;margin:0 auto 16px;max-width:400px}
.wk-marquee>span,.keno-marquee>div>span{display:block;font-size:9px;letter-spacing:.3em;color:#b5a383;margin-bottom:7px}
.wk-marquee h2{font-family:Georgia,serif!important;font-size:clamp(25px,3vw,40px)!important;letter-spacing:.13em;color:#efd7a3;margin:0 0 5px!important;line-height:1.1;text-shadow:0 2px 2px #000}
.wk-marquee small{font-size:9px;letter-spacing:.2em;color:#a29880}
.money-wheel-mount{position:relative;width:100%;max-width:530px;margin:0 auto;isolation:isolate;aspect-ratio:1;filter:drop-shadow(0 20px 20px #000b)}
.money-wheel-bracket{position:absolute;width:17%;height:96%;left:41.5%;top:24%;z-index:-1;background:linear-gradient(90deg,#302b20,#d0ac63 16%,#5d4727 27%,#211c12 51%,#79603b 79%,#c9ac70 90%,#2c2217);border:2px solid #554023;clip-path:polygon(15% 0,85% 0,100% 100%,0 100%)}
.money-wheel-rotor{position:absolute;inset:0;will-change:auto;transform-origin:50% 50%}
.is-spinning .money-wheel-rotor{will-change:transform}
.money-wheel-face{display:block;width:100%;height:100%;overflow:visible}
.money-wheel-glass{position:absolute;inset:5.5%;border-radius:50%;background:linear-gradient(142deg,#fff2 0,transparent 24%,transparent 62%,#0005 100%);box-shadow:inset 0 5px 12px #0005;pointer-events:none}
.money-wheel-pointer{position:absolute;top:-1%;left:calc(50% - 9px);width:18px;height:9%;z-index:5;background:linear-gradient(90deg,#79511e,#f8e2ab 40%,#8c642c);clip-path:polygon(0 0,100% 0,90% 57%,50% 100%,10% 57%);filter:drop-shadow(0 3px 2px #000);transform-origin:50% 4%}
.money-wheel-pointer:before{content:"";position:absolute;left:5px;top:2px;width:8px;height:8px;border-radius:50%;background:#3e3323;border:1px solid #e7c78c}
.money-wheel-axle{position:absolute;width:3.2%;height:3.2%;top:48.4%;left:48.4%;border-radius:50%;border:1px solid #493821;background:radial-gradient(circle at 33% 25%,#ffeebf,#b98d43 60%,#42311a);box-shadow:2px 3px 5px #0009}
.money-wheel-plinth{position:relative;z-index:1;display:flex;flex-direction:column;width:68%;margin:3% auto 18px;padding:10px 0 12px;border:1px solid #a2824b;border-radius:40% 40% 8px 8px/20% 20% 10px 10px;background:linear-gradient(#2b2b22,#090c0b 40%,#23231a);box-shadow:inset 0 3px 3px #d8ba8040,0 8px 12px #0009}
.money-wheel-plinth span{font:16px Georgia,serif;letter-spacing:.35em;color:#b6965b;padding-left:.35em}
.money-wheel-plinth small{font-size:7px;letter-spacing:.24em;color:#817054;margin-top:3px}
.wk-history{display:flex;gap:6px;align-items:center;justify-content:center;flex-wrap:wrap;min-height:28px}
.wk-history>span{font-size:9px;color:#958c76;letter-spacing:.15em;margin-right:5px}
.wk-history b{font-size:11px;font-weight:600;padding:4px 7px;border:1px solid #8b744d66;background:#1e241d;border-radius:4px;color:#deca9e}
.wk-history small{font-size:11px;color:#aaa18e}
.money-wheel-felt{padding:clamp(15px,2vw,25px);border:1px solid #4d5f49;border-radius:18px;background:repeating-linear-gradient(112deg,#ffffff03 0 1px,transparent 1px 3px),radial-gradient(ellipse at 50% 10%,#234c3f,#123629 70%);box-shadow:inset 0 0 0 5px #0d221c,inset 0 0 45px #0006;min-width:0}
.wk-table-heading h3{font:26px Georgia,serif;color:#eed8ac;margin:8px 0!important}
.wk-table-heading p,.wk-odds-note{font-size:12px;line-height:1.6;color:#b9c5b5;margin:0 0 17px}
.wk-table-heading .table-label{font-size:9px;letter-spacing:.2em;color:#ccb68b}
.money-wheel-bets{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:18px 0}
.money-wheel-bet{position:relative;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:6px;grid-column:span 2;min-height:100px;padding:11px 3px;border:1px solid #a58f5a;border-radius:7px;background:linear-gradient(#ffffff09,#0002);color:#f0d9a9;box-shadow:inset 0 0 0 3px #112d25;cursor:pointer;transition:background .15s,border-color .15s}
.money-wheel-bet:nth-last-child(-n+2){grid-column:span 3}
.money-wheel-bet:hover:not(:disabled){background:#d9b8771a;border-color:#f6d38f}
.money-wheel-bet>strong{display:grid;place-items:center;font:700 25px Georgia,serif;width:42px;height:42px;border-radius:50%;background:var(--bet-color);border:1px solid #d2b576;color:#fef1d3;box-shadow:inset 0 2px 4px #0006,0 2px 3px #0006;text-shadow:0 1px 2px #000}
.money-wheel-bet[data-bet=one]>strong{color:#382d1f;text-shadow:none}
.money-wheel-bet>span{font-size:11px;font-weight:400}.money-wheel-bet>span>b{font-weight:700}
.money-wheel-bet>small{font-size:9px;color:#8caa95}
.money-wheel-bet.has-wager{background:#d8b46916;border-color:#ffe1a5}
.wk-chip{position:absolute;top:4px;right:4px;min-width:32px;height:32px;display:grid;place-items:center;padding:3px;border-radius:50%;border:3px dashed #e9d5a3;background:#49202a;outline:1px solid #a88157;color:#fff3ce;font-size:10px;font-weight:800;font-style:normal;box-shadow:1px 3px 3px #0009}
.wk-bet-total{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11px;padding-bottom:12px;border-bottom:1px solid #d3b97a35;margin-bottom:15px}
.wk-bet-total>span>strong{font-size:18px;color:#f3d596;margin:0 3px}
.wk-bet-total>div{display:flex;gap:9px}.wk-bet-total .text-button{padding:5px 0;font-size:11px}
.money-wheel-felt .stake-select,.keno-console .stake-select{min-width:0;max-width:100%}
.money-wheel-felt .stake-options,.keno-console .stake-options{flex-wrap:wrap;gap:6px}
.money-wheel-felt .chip-choice,.keno-console .chip-choice{width:38px;height:38px;font-size:11px}
.wk-play-control{margin:18px 0}.wk-play-control>.button{width:100%;min-height:49px;font-weight:800}
.wk-result .round-result{margin:0;min-height:66px}.wk-result .round-result>div{min-width:0}.wk-result .round-result strong{font-size:14px}.wk-result .round-result span{font-size:11px}
.wk-odds-note{font-size:10px;margin:15px 0 8px;color:#a9b7a4}
.wk-rules{margin-top:16px;border-top:1px solid #d3b97a35;padding-top:12px;font-size:11px;line-height:1.7;color:#b4bbaa}
.wk-rules summary{cursor:pointer;font-size:12px;color:#dfc695}.wk-rules p{margin:9px 0}.wk-rules ul{padding-left:20px;margin:8px 0}
.money-wheel-room button:focus-visible,.keno-cabinet button:focus-visible,.wk-rules summary:focus-visible{outline:3px solid #f5d58b;outline-offset:3px}
.money-wheel-room button:disabled,.keno-cabinet button:disabled{cursor:default}
.money-wheel-bet:disabled{opacity:1}

.keno-cabinet{max-width:1050px;margin:auto;border:2px solid #927647;border-radius:24px;padding:9px;background:linear-gradient(115deg,#6e5a36,#1c1e20 3%,#07090b 48%,#252623 96%,#c3a36a);box-shadow:inset 0 0 0 2px #090b0e,inset 0 0 0 5px #d6b88538,0 30px 60px #0009;overflow:hidden}
.keno-marquee{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px clamp(15px,3vw,32px);border:1px solid #745f3e;border-radius:17px 17px 3px 3px;background:radial-gradient(ellipse at 14% 0,#114d6666,transparent 55%),linear-gradient(120deg,#0a1b29,#071420 60%,#132126);box-shadow:inset 0 1px 2px #e0cf9b44,0 3px 10px #0008}
.keno-marquee h2{font:italic 700 clamp(36px,4.5vw,58px)/1 Georgia,serif!important;letter-spacing:.2em;color:#f1d6a1;text-shadow:0 2px 0 #725a37,0 4px 15px #000;margin:0!important}
.keno-marquee>div>small{font-size:8px;letter-spacing:.17em;color:#8ea2b1;display:block;margin-top:8px}
.keno-top-prize{text-align:right;min-width:0}.keno-top-prize>span{font-size:9px!important;letter-spacing:.16em!important;color:#bba477!important}
.keno-top-prize strong{font-size:clamp(20px,3vw,34px);font-weight:700;color:#f4d79b;line-height:1.2;text-shadow:0 0 18px #dc9f4a55;overflow-wrap:anywhere}
.keno-top-prize>small{font-size:7px!important;letter-spacing:.1em!important}
.keno-glass{position:relative;padding:clamp(13px,2.4vw,27px);border:1px solid #455468;margin:7px 4px;background:linear-gradient(130deg,#173a5126,transparent 40%),radial-gradient(ellipse at 50% 0,#123044,#060e19 90%);box-shadow:inset 0 0 0 4px #010610,inset 0 1px 14px #000c;border-radius:8px}
.keno-game-grid{display:grid;grid-template-columns:minmax(0,1fr) 215px;gap:clamp(15px,2.6vw,28px)}
.keno-number-side{min-width:0}.keno-status-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 13px;font-size:11px}.keno-selection-count{color:#dec695}.keno-draw-count{font-size:10px;color:#99b1c0;text-align:right}
.keno-number-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:5px;isolation:isolate}
.keno-number{position:relative;display:grid;place-items:center;aspect-ratio:1;min-width:0;padding:0;border:1px solid #46576a;border-radius:5px;background:linear-gradient(#263c51,#112337 50%,#0e1b2d);box-shadow:inset 0 1px 1px #8591a52b,0 2px 3px #0006;color:#ccdae6;font-size:clamp(13px,1.6vw,19px);font-weight:700;cursor:pointer;transition:background .13s,color .13s,box-shadow .13s;opacity:1!important}
.keno-number:hover:not(:disabled){border-color:#d4c299;background:#294459}
.keno-number.is-selected{color:#fff0c5;border-color:#d5af63;background:linear-gradient(#725b30,#382c17);box-shadow:inset 0 0 0 2px #f1d08555,0 0 7px #d4aa5522}
.keno-number.is-drawn:not(.is-hit){border-color:#68b2cf;color:#ddf7ff;background:linear-gradient(#32617b,#173e59);box-shadow:inset 0 0 0 1px #74d2ff66}
.keno-number.is-hit{color:#231a0b;border-color:#ffe4a1;background:radial-gradient(ellipse at 30% 20%,#ffedb7,#e8b654 60%,#ae751e);box-shadow:inset 0 0 0 1px #fff4cc,0 0 12px #f7c56077}
.keno-number>i{position:absolute;top:0;right:2px;font-size:8px;font-style:normal;color:#3d3319}
.keno-legend{display:flex;align-items:center;justify-content:center;gap:18px;color:#92a5b6;font-size:9px;margin:12px 0 17px}.keno-legend>span{display:flex;align-items:center;gap:5px}.keno-legend i{width:8px;height:8px;border-radius:2px;display:inline-block}.keno-legend .selected{background:#725b30;border:1px solid #d5af63}.keno-legend .drawn{background:#32617b;border:1px solid #68b2cf}.keno-legend .hit{background:#e8b654;border:1px solid #ffe4a1}
.keno-quick{display:flex;gap:10px;align-items:flex-end;justify-content:space-between;border-top:1px solid #3a5061;padding-top:13px}.keno-quick>div:first-child{min-width:0}.keno-quick>div>span{font-size:8px;letter-spacing:.18em;color:#9eabb5;display:block;margin-bottom:7px}
.keno-quick [role=group]{display:flex;flex-wrap:wrap;gap:4px}.keno-quick [role=group]>button{border:1px solid #526072;width:25px;height:27px;font-size:10px;background:#122237;color:#aabdc8;padding:0;border-radius:3px;cursor:pointer}.keno-quick [role=group]>button.active{color:#f7d58d;border-color:#b4975a;background:#3b3422}
.keno-quick-actions{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0}.keno-quick-actions>.button{padding:9px 11px;font-size:11px;min-height:35px}.keno-quick-actions>.text-button{font-size:10px;padding:3px}
.keno-draw-side{min-width:0;border-left:1px solid #43516066;padding-left:20px}
.keno-ball-chamber{height:137px;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;background:radial-gradient(ellipse at 50% 39%,#9acae233,transparent 65%);margin-bottom:15px}
.keno-ball{display:grid;place-items:center;width:96px;height:96px;border-radius:50%;background:radial-gradient(circle at 29% 22%,#fffff4 0,#e7e7d4 33%,#c3c1ac 60%,#777b77 83%,#3d444b);box-shadow:inset -9px -11px 15px #22324655,0 12px 14px #000a,0 0 24px #9be2ff20;border:1px solid #bdbdad}
.keno-ball>b{display:grid;place-items:center;width:57px;height:57px;line-height:1;border-radius:50%;font:700 37px Georgia,serif;color:#18293b;background:radial-gradient(circle at 35% 30%,#f7f4e8,#d9d8c5);box-shadow:inset 0 1px 2px #0004;border:2px solid #44536566;text-shadow:0 1px 0 #fff9}
.keno-ball.matched{background:radial-gradient(circle at 29% 22%,#fff2b6,#e8bd5b 45%,#b88529 69%,#6b4715);border-color:#f5d796;box-shadow:inset -8px -10px 15px #91600d66,0 12px 14px #000a,0 0 26px #edb95435}.keno-ball.matched>b{background:#ffe8a3;color:#493214;border-color:#856426}
.keno-ball-chamber>span{font-size:8px;color:#899aa9;letter-spacing:.2em;margin-top:2px}
.keno-paytable{border:1px solid #81704c66;border-radius:5px;overflow:hidden;background:#050e19}
.keno-paytable-heading{display:flex;flex-direction:column;gap:4px;padding:11px 10px;background:linear-gradient(#373120,#161c21);border-bottom:1px solid #9f82443b}.keno-paytable-heading>strong{font-size:11px;color:#e3c995;letter-spacing:.08em}.keno-paytable-heading>span{font-size:9px;color:#899aab}
.keno-pay-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;padding:6px 8px;border-bottom:1px solid #24405555;font-size:10px;color:#9baebf;align-items:center}.keno-pay-row>b{font-size:9px;font-weight:400;color:#b8bdac}.keno-pay-row>strong{font-size:11px;color:#e3cd9d}.keno-pay-row.current{background:#66502a;color:#fff0c1}.keno-pay-row.current>*{color:#ffedb6}
.keno-paytable>p{font-size:11px;padding:15px;line-height:1.6;color:#9dafbd}.keno-paytable>small{display:block;padding:10px 8px;font-size:8px;line-height:1.6;color:#758b9d}
.keno-drawn-tray{display:grid;grid-template-columns:repeat(20,minmax(0,1fr));gap:4px;margin:23px 0 17px;padding:8px;border-radius:7px;border:1px solid #5d5237;background:linear-gradient(#050b12,#172028);box-shadow:inset 0 3px 7px #000b}
.keno-drawn-tray>span{display:grid;place-items:center;aspect-ratio:1;min-width:0;border-radius:50%;font-size:10px;color:#344453;background:#0a1520;border:1px solid #263546;box-shadow:inset 0 2px 4px #0008}.keno-drawn-tray>.drawn{color:#20394b;background:radial-gradient(circle at 32% 22%,#f4f5e8,#bbc8c8 62%,#778e9a);border-color:#a5b5ba;box-shadow:0 2px 3px #0008}.keno-drawn-tray>.hit{color:#342609;background:radial-gradient(circle at 32% 22%,#ffedaa,#dbb759 62%,#8f6a23);border-color:#efd395;box-shadow:0 0 6px #e7b44b44}
.keno-console{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px clamp(16px,3vw,30px) 21px;margin:3px;border:1px solid #4c4639;border-top-color:#b9a075;border-radius:3px 3px 15px 15px;background:linear-gradient(#3f403b,#151b1e 8%,#172025 70%,#090d10);box-shadow:inset 0 3px 7px #fff1,0 4px 3px #000}
.keno-console .control-label{font-size:8px;color:#a3a497}.keno-draw-control{display:flex;align-items:center;flex-direction:column;gap:8px;min-width:205px}.keno-draw-control>span{font-size:8px;color:#a8b0b2;letter-spacing:.12em}.keno-draw-control>.button{width:100%;min-height:49px;box-shadow:inset 0 1px 1px #ffefb9,0 5px 0 #564427,0 8px 9px #0008;font-weight:800;font-size:14px}
.keno-rules{margin:12px 20px;color:#8799a4;border-top:0;font-size:10px}.keno-rules summary{font-size:11px;color:#beaa7d}
@media(max-width:900px){.money-wheel-room{grid-template-columns:1fr;max-width:620px;margin:auto}.money-wheel-mount{max-width:440px}.money-wheel-stage{max-width:530px;width:100%;margin:auto}.money-wheel-felt{padding:22px}.money-wheel-bets{grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.money-wheel-bet{min-height:90px}.keno-game-grid{grid-template-columns:minmax(0,1fr) 170px;gap:15px}.keno-draw-side{padding-left:14px}.keno-pay-row{gap:4px;font-size:9px}.keno-pay-row>strong{font-size:10px}.keno-quick{align-items:center}.keno-quick-actions{margin-left:2px}.keno-drawn-tray{grid-template-columns:repeat(10,minmax(0,1fr))}.keno-drawn-tray>span{max-width:36px;width:100%;justify-self:center;font-size:12px}}
@media(max-width:620px){.money-wheel-room{padding:16px;border-radius:18px;gap:19px}.money-wheel-felt{padding:16px}.wk-marquee h2{font-size:30px!important}.wk-marquee>span{font-size:8px}.money-wheel-bet{min-height:92px}.wk-bet-total{font-size:10px}.wk-bet-total>span>strong{font-size:16px}.money-wheel-felt .chip-choice,.keno-console .chip-choice{width:36px;height:36px}.keno-cabinet{padding:5px;border-radius:18px}.keno-marquee{padding:18px 12px;gap:10px;border-radius:12px 12px 3px 3px}.keno-marquee h2{font-size:32px!important}.keno-marquee>div>span{font-size:7px;letter-spacing:.15em}.keno-marquee>div>small{font-size:6px;letter-spacing:.07em}.keno-top-prize strong{font-size:19px}.keno-top-prize>span{font-size:7px!important}.keno-top-prize>small{font-size:6px!important}.keno-glass{margin:5px 1px;padding:13px 10px}.keno-game-grid{grid-template-columns:1fr;gap:16px}.keno-number-grid{gap:4px}.keno-number{font-size:14px;border-radius:4px}.keno-status-line{gap:5px;font-size:10px}.keno-draw-count{font-size:9px}.keno-draw-side{display:grid;grid-template-columns:110px minmax(0,1fr);gap:13px;border-left:0;border-top:1px solid #43516066;padding:16px 0 0}.keno-ball-chamber{align-self:center;margin:0}.keno-paytable-heading{padding:8px}.keno-pay-row{font-size:10px;padding:5px 8px}.keno-pay-row>strong{font-size:11px}.keno-paytable>small{font-size:8px;padding:7px 8px}.keno-drawn-tray{margin-top:17px;gap:6px}.keno-drawn-tray>span{font-size:11px}.keno-console{flex-direction:column;align-items:stretch;padding:15px 14px 21px;gap:17px}.keno-console .stake-options{justify-content:center;gap:9px}.keno-console .control-label{text-align:center;display:block}.keno-draw-control{min-width:0}.keno-quick [role=group]>button{width:23px;height:27px}.keno-quick{gap:8px}.keno-quick-actions>.button{padding:8px 10px;font-size:10px}.keno-legend{gap:14px;font-size:8px}.wk-result .round-result{padding:12px;gap:9px}.wk-result .round-result strong{font-size:12px}.wk-result .round-result span{font-size:10px}.keno-rules{margin:10px 13px}.keno-number>i{font-size:6px;right:1px}}
@media(prefers-reduced-motion:reduce){.keno-number,.money-wheel-bet{transition:none}}
/* Physical table surfaces share the casino room, with independent playable layouts. */
.dice-game{--felt:#124b3b;--felt-dark:#082a24;--felt-line:#dfd1a3;--die-face:#f3ecd8;--die-pip:#242225;max-width:1120px;margin:0 auto;color:#f5ebd3;font-family:var(--font-body,Arial,sans-serif)}
/* Exact-total targets must reflow when seven 44px hit areas cannot fit the felt. */
@media(max-width:560px){.sic-bo-game .sic-total>div{grid-template-columns:repeat(auto-fit,minmax(44px,1fr))}}
.dice-table-heading{display:flex;align-items:center;justify-content:space-between;padding:4px 6px 18px;gap:15px}.dice-table-heading h2{font-family:Georgia,serif;font-size:clamp(25px,4vw,44px);line-height:1.12;letter-spacing:.13em;margin:5px 0 7px;color:#f9e4ad}.dice-table-heading>div>span:last-child{font-size:10px;letter-spacing:.15em;color:#a8b4ad}.dice-table-heading .table-label{font-size:9px;letter-spacing:.24em;color:#c7ad73}
.craps-puck{width:77px;height:77px;border-radius:50%;background:radial-gradient(circle at 30% 20%,#3c4246,#17191b 65%);border:3px solid #696963;box-shadow:inset 0 0 0 3px #131415,0 5px 10px #0008;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.craps-puck strong{font:700 21px Georgia,serif;letter-spacing:.07em;color:#ddd8cb}.craps-puck span{font-size:8px;letter-spacing:.1em;color:#a7aaa1}.craps-puck.on{background:radial-gradient(circle at 30% 20%,#fffceb,#c8c0a3);border-color:#ece4c7;box-shadow:inset 0 0 0 3px #8c876f,0 6px 14px #0008}.craps-puck.on strong,.craps-puck.on span{color:#1b342b}
.craps-rail{position:relative;border-radius:80px 80px 39px 39px;padding:22px;background:linear-gradient(105deg,#17130f 0%,#63432b 3%,#22160e 6%,#503825 9%,#111 13%,#121316 84%,#503521 92%,#20150f 96%,#785036);border:2px solid #a5854b;box-shadow:0 18px 28px #0009,inset 0 1px 2px #ffe3a859,inset 0 -8px 10px #000a}.craps-felt{position:relative;isolation:isolate;overflow:hidden;padding:30px 32px 29px;border-radius:57px 57px 21px 21px;background:radial-gradient(ellipse at 50% 25%,#23705799,transparent 66%),repeating-linear-gradient(0deg,#ffffff02 0px,#ffffff02 1px,transparent 1px,transparent 3px),linear-gradient(130deg,#103d33,#184c3c 52%,#0d2d28);border:2px solid #b69b68;box-shadow:inset 0 12px 30px #000b,inset 0 0 0 5px #051a13}
.craps-backwall{position:absolute;inset:8px 14px auto;height:44px;border-radius:40px 40px 5px 5px;background:repeating-conic-gradient(#0c291c 0% 25%,#17442e 0% 50%) 0 0/12px 12px;box-shadow:inset 0 3px 8px #000c,0 4px 8px #0008;transform:perspective(300px) rotateX(-13deg);opacity:.95}.dice-brand{position:relative;text-align:center;font:22px Georgia,serif;letter-spacing:.32em;color:#d5b9688c;pointer-events:none}.dice-brand span{display:block;font:7px Arial,sans-serif;letter-spacing:.3em;margin-top:5px}.craps-felt>.dice-brand{position:absolute;top:72px;left:0;right:0}.dice-stage{position:relative;perspective:850px;overflow:hidden}.craps-dice-stage{height:210px;margin:18px 0 -15px}.dice-landing{position:relative;z-index:2;display:flex;justify-content:center;align-items:center;gap:42px;height:100%;padding-top:55px}.physical-die{position:relative;flex:0 0 47px;width:47px;height:47px;transform-style:preserve-3d;transform:rotateZ(calc(var(--die-index)*13deg - 5deg));filter:drop-shadow(4px 8px 4px #0008)}.die-face{position:absolute;inset:0;display:grid;grid-template:repeat(3,1fr)/repeat(3,1fr);gap:4px;padding:7px;border-radius:7px;background:radial-gradient(circle at 25% 15%,#fff9,var(--die-face) 60%);box-shadow:inset 0 1px 2px #fff9,inset -2px -3px 4px #0005;border:1px solid #ffffc933;backface-visibility:visible}.die-front{transform:translateZ(3px);z-index:3}.die-side{inset:3px -9px -3px 34px;transform:skewY(23deg);padding:4px 1px;gap:3px;background:color-mix(in srgb,var(--die-face) 70%,#342719);z-index:1}.die-top{inset:-7px -4px 37px 4px;transform:skewX(-30deg);padding:1px 5px;gap:1px;z-index:0;background:color-mix(in srgb,var(--die-face) 90%,#fff)}.die-face i{border-radius:50%;display:block}.die-face .dice-pip{background:radial-gradient(circle at 40% 25%,color-mix(in srgb,var(--die-pip) 75%,white),var(--die-pip));box-shadow:inset 0 1px 1px #0008}.craps-game{--die-face:#b91324;--die-pip:#fff6dc}.dice-shadow{position:absolute;bottom:24px;left:25%;right:25%;height:14px;background:#0005;filter:blur(8px);border-radius:50%}.dice-in-motion .physical-die{will-change:transform}.dice-in-motion .die-face{filter:blur(.25px)}
.craps-point-track{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid #e1d3a573;position:relative;border-radius:5px;overflow:hidden}.craps-point-track>span{position:relative;text-align:center;padding:12px 0;font:bold 26px Georgia,serif;color:#dfcf9c;border-right:1px solid #e1d3a563}.craps-point-track>span:last-child{border:0}.craps-point-track>span.active-point{background:#f6e2a9;color:#17392b;box-shadow:inset 0 0 18px #ffdf58}.active-point small{display:block;font-size:8px;line-height:10px;letter-spacing:.1em;margin-top:2px}.craps-wagers{margin-top:13px;display:grid;grid-template-columns:1fr 2fr;gap:7px}.dice-game .felt-bet{position:relative;color:var(--felt-line);background:#082d25a6;border:1px solid #e1d3a594;border-radius:4px;min-width:0;overflow:hidden;cursor:pointer;transition:background .18s,box-shadow .18s,border-color .18s}.dice-game .felt-bet:hover:not(:disabled){background:#326c51;border-color:#ffe9ac}.dice-game .felt-bet:focus-visible{outline:3px solid #fff2a5;outline-offset:3px;z-index:3}.dice-game .felt-bet.selected{background:linear-gradient(130deg,#234d38,#082b24);border-color:#ffdd81;box-shadow:inset 0 0 0 1px #ffdc7670,inset 0 0 20px #e3b13a12}.dice-game .felt-bet:disabled{opacity:1;cursor:default}.felt-bet>strong{display:block}.felt-bet>span,.felt-bet>small{display:block}.craps-wagers .felt-bet{padding:16px 7px;min-height:90px}.craps-wagers strong{font:700 19px Georgia,serif;letter-spacing:.075em}.craps-wagers .felt-bet>span:not(.field-numbers){font-size:9px;margin-top:8px;letter-spacing:.12em}.craps-field{grid-column:2;grid-row:1/3}.craps-field strong{font-size:24px;letter-spacing:.14em;margin-top:18px}.field-numbers{font:bold 21px Georgia,serif;margin:20px 0 15px;word-spacing:12px}.field-numbers b{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;border:1px solid #d7c584;border-radius:50%}.craps-field>small{font-size:9px;letter-spacing:.1em}.craps-pass{grid-column:1}.table-wager-chip{position:absolute;right:8px;bottom:7px;display:flex;align-items:center;justify-content:center;width:39px;height:39px;border-radius:50%;border:4px dashed #eee4bf;color:white;background:radial-gradient(circle,#27447b 45%,#133262 48%);box-shadow:0 2px 0 #0d162a,0 4px 6px #0008,inset 0 0 0 1px #dfe8ff;font:700 10px Arial,sans-serif;font-style:normal;z-index:4}.craps-field .table-wager-chip{right:18px;bottom:12px}.craps-dont .table-wager-chip,.craps-pass .table-wager-chip{width:33px;height:33px;right:5px;bottom:3px;font-size:8px;border-width:3px}.dice-chip-rack{display:flex;justify-content:center;gap:6px;margin-top:22px;filter:drop-shadow(0 4px 3px #0008)}.dice-chip-rack>i{width:28px;height:9px;border-radius:50%;background:repeating-linear-gradient(0deg,#c4b994 0px,#c4b994 1px,#265479 1px,#265479 3px);border-top:2px solid #f2ddbb;transform:translateY(calc((var(--rack) - 3)*.35px));box-shadow:0 4px #1f415e,0 5px #ab9b7c,0 8px #284a68}
.dice-status-bar{display:flex;align-items:center;flex-wrap:wrap;gap:9px;padding:18px 6px 12px;font-size:12px;color:#c2cebc;min-height:52px}.dice-status-bar>strong{font-weight:500;flex:1;min-width:180px}.dice-status-light{width:6px;height:6px;border-radius:50%;background:#afd7a5;box-shadow:0 0 8px #7dbc72}.dice-status-light.busy{background:#e1bd64;box-shadow:0 0 8px #cca145}.dice-roll-history{display:flex;align-items:center;gap:5px}.dice-roll-history>span{font-size:8px;letter-spacing:.15em;color:#a8ae9f;margin-right:3px}.dice-roll-history>b{display:grid;place-items:center;width:24px;height:24px;background:#293932;border:1px solid #6b75624d;border-radius:3px;font-size:11px;color:#d9dfce}.dice-roll-history>b.seven{background:#6a3435;color:#ffe4d8}.dice-roll-history>small{font-size:10px;color:#a9b5a9}.dice-control-panel{display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid #b9a77943;padding:20px;border-radius:8px;background:linear-gradient(120deg,#242922ef,#101917f7);box-shadow:inset 0 1px #fff1,0 6px 14px #0004}.dice-wager-meter{flex-shrink:0;min-width:150px}.dice-wager-meter>span{font-size:8px;letter-spacing:.14em;color:#bcb694;display:block}.dice-wager-meter>strong{font:28px Georgia,serif;color:#ffe2a0;display:block;margin:6px 0}.dice-wager-meter>strong small{font:10px Arial,sans-serif;color:#bebba6}.dice-wager-meter>small{font-size:11px;color:#b5bcae}.dice-wager-meter>div{display:flex;gap:15px}.dice-main-controls{display:flex;align-items:flex-end;justify-content:flex-end;gap:18px;flex-wrap:wrap}.dice-main-controls .stake-select{min-width:0}.dice-main-controls .control-label{font-size:8px;letter-spacing:.12em}.dice-main-controls .stake-options{gap:5px;flex-wrap:wrap}.dice-main-controls .chip-choice{width:36px;height:36px;font-size:10px}.dice-roll-button{min-height:50px;min-width:155px;letter-spacing:.06em}.craps-odds{display:flex;align-items:center;gap:14px;padding:15px 17px;border:1px solid #d6b77455;border-radius:6px;margin-top:10px;background:#172b23}.craps-odds>div{flex:1}.craps-odds strong,.craps-odds span{display:block}.craps-odds strong{font-size:12px;color:#e8d5a0}.craps-odds span{font-size:10px;line-height:1.6;color:#b7c0b4;margin-top:4px}.craps-odds button{font-size:11px}.dice-game>.round-result{margin-top:14px}.dice-rules{margin-top:17px;border-top:1px solid #ccba852b;padding:14px 2px;color:#b7beb1}.dice-rules summary{font-size:12px;font-weight:600;cursor:pointer;color:#d4c7a4}.dice-rules>div{max-width:900px;padding-top:8px}.dice-rules p{font-size:12px;line-height:1.75;margin:9px 0}.dice-game .game-footnote{margin-top:9px}
.sic-result-total{text-align:center;min-width:83px;padding:12px 18px;border:1px solid #be9c5959;background:#1a2421;border-radius:5px}.sic-result-total span{display:block;font-size:8px;letter-spacing:.12em;color:#b5b899}.sic-result-total strong{display:block;font:25px Georgia,serif;margin-top:5px;color:#f5d995}.sic-physical-table{display:grid;grid-template-columns:minmax(210px,.65fr) minmax(0,1.8fr);gap:20px;background:radial-gradient(ellipse at top left,#22423aaa,transparent 70%),#111c19;border:2px solid #846a40;border-radius:16px;padding:20px;box-shadow:0 15px 30px #0009,inset 0 0 0 5px #161411,inset 0 0 0 6px #88704966}.sic-shaker-panel{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:20px;min-width:0}.sic-shaker-panel>.dice-brand{font-size:22px;color:#ccb677;margin-top:18px}.sic-shaker{position:relative;width:100%;height:248px;isolation:isolate;max-width:290px}.sic-dice-stage{position:absolute;inset:15px 3px 36px;border-radius:50% 50% 25% 25%;background:radial-gradient(ellipse at 50% 88%,#645c42 0%,#302f24 31%,#14211cc9 55%);border-bottom:2px solid #dcca9966}.sic-dice-stage .dice-landing{gap:14px;align-items:flex-end;padding-bottom:34px;padding-top:0}.sic-dice-stage .physical-die{width:35px;height:35px;flex-basis:35px}.sic-dice-stage .die-face{padding:5px;gap:3px;border-radius:5px}.sic-dice-stage .die-side{left:27px;right:-6px;padding:3px 1px;gap:2px}.sic-dice-stage .die-top{bottom:28px;top:-5px;padding:1px 4px;gap:1px}.sic-glass{position:absolute;inset:8px 0 37px;border-radius:48% 48% 17% 17%;background:linear-gradient(104deg,transparent 12%,#fff2 15%,#ffffff03 24%,transparent 30%,#ffffff02 59%,#ffffe116 70%,transparent 74%,#d2e8ea16 83%,#cee5df3b 91%,transparent 94%);border:1px solid #d7ebd664;box-shadow:inset 2px 2px 3px #ffffed3d,inset -6px -1px 9px #d5e8ea1c;z-index:5;pointer-events:none}.sic-shaker-cap{position:absolute;top:5px;left:46%;width:8%;height:7px;border-radius:50%;background:linear-gradient(#e1c98e,#403625);box-shadow:0 2px 5px #0008;z-index:6}.sic-shaker-base{position:absolute;bottom:11px;left:-4px;right:-4px;height:51px;display:flex;align-items:center;justify-content:space-around;border-radius:8px 8px 26% 26%;background:linear-gradient(180deg,#b9a877 0,#49402c 7%,#b9a777 14%,#393929 22%,#151b18 38%,#2a332b 68%,#6d6443 73%,#b4a471 80%,#393123 90%);box-shadow:0 12px 10px #0009;z-index:7}.sic-shaker-base b{font:9px Georgia,serif;letter-spacing:.23em;color:#c4ad77}.sic-shaker-base i{width:4px;height:4px;background:#c5e091;box-shadow:0 0 5px #afe873;border-radius:50%}.sic-shaker-panel>.dice-roll-history{flex-wrap:wrap;justify-content:center;margin-bottom:25px}.sic-felt{min-width:0;padding:15px;background:radial-gradient(ellipse at top,#28604c,#0d342a 80%);border:1px solid #c4ac735e;border-radius:6px;box-shadow:inset 0 0 30px #0006}.sic-range-row{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:10px}.sic-range-row .sic-position{min-height:70px;padding-top:14px}.sic-range-row .sic-position strong{font-size:17px;font-family:Georgia,serif}.sic-bet-group{margin-top:9px}.sic-bet-group h3{font:8px Arial,sans-serif;letter-spacing:.11em;color:#d6c894;margin:0 0 5px}.sic-bet-group>div{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.sic-total>div{grid-template-columns:repeat(7,1fr)}.sic-pair>div{grid-template-columns:repeat(5,1fr)}.dice-game .sic-position{min-height:45px;padding:7px 2px;text-align:center}.sic-position>strong{font-size:13px;line-height:1.2;font-weight:600}.sic-position>small{font-size:8px;line-height:1.3;color:#d4c59b;margin-top:4px}.sic-position .table-wager-chip{width:26px;height:26px;border-width:3px;font-size:7px;right:2px;bottom:2px}.sic-position.selected{padding-bottom:23px;min-height:61px}.sic-position.winning-position{border-color:#ffe17b;box-shadow:inset 0 0 13px #e9c44242,0 0 5px #e9c44233;background:#5b6432}.sic-position.winning-position>strong{color:#fff3b9}.sic-range-row .sic-position.selected{min-height:82px}.mini-die{display:flex;justify-content:center;align-items:center;height:26px;margin:5px 0 8px}.mini-die .physical-die{width:23px;height:23px;flex-basis:23px;filter:drop-shadow(2px 3px 1px #0005);transform:none}.mini-die .die-face{padding:3px;gap:2px;border-radius:3px}.mini-die .die-side,.mini-die .die-top{display:none}.sic-bet-receipt{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 12px}.sic-bet-receipt>span{font-size:10px;background:#1c2d24;border:1px solid #bbae7a33;padding:5px 8px;border-radius:3px;text-transform:capitalize;color:#c3c5af}.sic-bet-receipt b{color:#f2d797;margin-left:5px}
@media(min-width:1200px){.craps-felt{padding-left:80px;padding-right:80px}.craps-dice-stage{height:235px}.sic-felt{padding:20px}.sic-physical-table{gap:28px}}
@media(max-width:850px){.dice-control-panel{align-items:flex-start;gap:12px}.dice-main-controls{gap:12px}.sic-physical-table{grid-template-columns:minmax(0,1fr);padding:14px}.sic-shaker-panel{position:relative;flex-direction:row;justify-content:space-evenly;gap:12px}.sic-shaker-panel>.dice-brand{font-size:18px;max-width:100px}.sic-shaker{max-width:210px;height:190px}.sic-shaker-panel>.dice-roll-history{max-width:90px;margin:0}.sic-dice-stage{bottom:35px}.sic-dice-stage .physical-die{width:30px;height:30px;flex-basis:30px}.sic-dice-stage .die-side{left:23px}.sic-dice-stage .die-top{bottom:23px}.sic-dice-stage .dice-landing{padding-bottom:23px;gap:10px}.sic-shaker-base{height:43px}.craps-rail{padding:14px;border-radius:55px 55px 28px 28px}.craps-felt{border-radius:42px 42px 18px 18px;padding:25px 18px}.craps-odds{flex-wrap:wrap}.craps-odds>div{min-width:200px}}
@media(max-width:560px){.dice-table-heading{padding-bottom:13px}.dice-table-heading>div>span:last-child{font-size:8px;letter-spacing:.08em}.craps-puck{width:60px;height:60px}.craps-puck strong{font-size:18px}.craps-puck span{font-size:7px}.craps-rail{padding:9px;border-radius:38px 38px 22px 22px}.craps-felt{padding:20px 10px;border-radius:29px 29px 15px 15px}.craps-backwall{height:32px;inset:8px 10px auto}.craps-dice-stage{height:170px;margin-top:8px}.craps-felt>.dice-brand{top:52px;font-size:18px}.craps-point-track>span{font-size:21px;padding:10px 0}.craps-wagers{grid-template-columns:1fr 1fr}.craps-field{grid-column:1/3;grid-row:2}.craps-pass{grid-column:1;grid-row:1}.craps-dont{grid-column:2;grid-row:1}.craps-wagers .felt-bet{min-height:82px;padding:12px 4px}.craps-wagers strong{font-size:15px}.craps-field strong{margin-top:0;font-size:19px}.field-numbers{font-size:20px;word-spacing:7px;margin:10px 0}.craps-field>small{font-size:8px}.craps-field .table-wager-chip{right:8px;bottom:9px;width:31px;height:31px;border-width:3px;font-size:8px}.dice-stage .physical-die{width:39px;height:39px;flex-basis:39px}.craps-dice-stage .die-face{padding:6px;gap:3px}.craps-dice-stage .die-side{left:29px;right:-7px;padding:4px 1px}.craps-dice-stage .die-top{bottom:31px;padding:1px 4px}.dice-control-panel{flex-direction:column;padding:14px;gap:14px}.dice-wager-meter{width:100%;display:flex;align-items:center;gap:9px;flex-wrap:wrap;min-width:0}.dice-wager-meter>span{flex:1;max-width:125px;line-height:1.5}.dice-wager-meter>strong{font-size:24px;margin:0}.dice-wager-meter>small{width:100%}.dice-wager-meter>div{margin-left:auto}.dice-main-controls{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:13px}.dice-main-controls .stake-options{display:flex;justify-content:space-between;gap:5px}.dice-main-controls .chip-choice{width:36px;height:36px;flex-shrink:0}.dice-main-controls .dice-roll-button{width:100%;min-height:49px}.dice-status-bar{font-size:11px;padding-top:13px;gap:7px}.dice-roll-history>b{width:21px;height:21px;font-size:10px}.dice-status-bar>.dice-roll-history{width:100%;margin-left:13px}.craps-odds{padding:12px;gap:10px}.craps-odds>div{min-width:0;flex-basis:100%}.dice-rules p{font-size:11px}.sic-physical-table{padding:9px;gap:8px}.sic-shaker-panel{flex-wrap:wrap;min-height:188px}.sic-shaker-panel>.dice-brand{font-size:14px;max-width:70px;letter-spacing:.18em}.sic-shaker-panel>.dice-brand span{font-size:6px}.sic-shaker{max-width:185px;height:172px}.sic-shaker-panel>.dice-roll-history{max-width:none;position:relative;flex-basis:100%;margin:0 0 8px}.sic-dice-stage .physical-die{width:29px;height:29px;flex-basis:29px}.sic-dice-stage .die-side{left:22px}.sic-dice-stage .die-top{bottom:22px}.sic-felt{padding:8px}.sic-range-row{gap:3px}.sic-range-row .sic-position strong{font-size:13px}.sic-range-row .sic-position small{font-size:7px}.sic-bet-group h3{font-size:7px}.sic-bet-group>div{gap:3px}.sic-position>strong{font-size:11px}.sic-position>small{font-size:7px}.dice-game .sic-position{padding:6px 1px;min-height:42px}.dice-game .sic-position.selected{padding-bottom:24px;min-height:64px}.sic-position .table-wager-chip{width:23px;height:23px;border-width:2px;font-size:6px}.sic-range-row .sic-position{min-height:61px}.sic-result-total{padding:10px;min-width:73px}.sic-result-total strong{font-size:20px}.sic-bet-receipt>span{font-size:9px;padding:4px 6px}}
@media(prefers-reduced-motion:reduce){.dice-game *{animation:none!important;transition:none!important}.dice-in-motion .physical-die{will-change:auto}}
/* Original illuminated poker cabinets; the paytable and cards remain live HTML. */
.vp-stage{width:min(100%,960px);margin:0 auto;position:relative;isolation:isolate}
.vp-cabinet{--vp-accent:#67cbb0;--vp-screen:#083a3b;--vp-glow:#70edc35c;position:relative;border:1px solid #ae955c;border-radius:30px 30px 22px 22px;padding:13px;background:linear-gradient(100deg,#080b0d 0%,#4e5150 2%,#151a1e 4%,#070b0d 49%,#353b3b 95%,#b1b0a6 98%,#0c1012);box-shadow:0 30px 55px #000b,0 3px 3px #000,inset 1px 0 0 #f8e6b4,inset -1px 0 0 #f8e6b4}
.vp-ruby{--vp-accent:#efb6aa;--vp-screen:#351520;--vp-glow:#eeb0b64f}.vp-sapphire{--vp-accent:#bad6ff;--vp-screen:#102851;--vp-glow:#6eacff61}.vp-amethyst{--vp-accent:#dabdff;--vp-screen:#302046;--vp-glow:#c890ff59}
.vp-topper{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 30px 22px;border-radius:20px 20px 3px 3px;border:1px solid #827154;background:radial-gradient(ellipse at 60% 0,#ba95592b,transparent 70%),linear-gradient(#151c22,#06090d);box-shadow:inset 0 2px 1px #c5ac7566,0 3px 0 #010204}
.vp-topper-brand{display:grid;grid-template-columns:30px auto;gap:3px 10px;align-items:center;font:22px Georgia,serif;letter-spacing:.18em;color:#e3c796}.vp-topper-brand .crest{grid-row:span 2}.vp-topper-brand small{font:8px system-ui,sans-serif;letter-spacing:.17em;color:#a39077}
.vp-top-prize{text-align:right;display:grid;gap:2px;color:#d1b788}.vp-top-prize>span{font-size:9px;letter-spacing:.16em}.vp-top-prize strong{font:clamp(28px,4vw,42px) Georgia,serif;line-height:1.15;font-variant-numeric:tabular-nums;color:#fff0c1;text-shadow:0 0 14px #ffc4574d}.vp-top-prize small{font-size:8px;letter-spacing:.1em;color:#b7a48a}
.vp-screen-bezel{padding:12px 12px 16px;margin-top:8px;border-radius:13px;background:linear-gradient(130deg,#74644a,#d9c59b 5%,#1b1714 6%,#060b0d 45%,#a69577 98%,#313334);box-shadow:inset 0 1px 1px #fff5,0 3px 5px #000}
.vp-screen{position:relative;overflow:hidden;padding:22px 26px 16px;border:2px solid #01060a;border-radius:7px;background:radial-gradient(ellipse at 50% 0,var(--vp-screen),#060d18 86%);box-shadow:inset 0 0 22px #000,0 0 0 1px #9e916352;color:#e4eced}
.vp-screen:after{content:'';position:absolute;z-index:2;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(114deg,#fff0 5%,#f3e1be09 16%,#fff0 31%,#fff0 76%,#ddeeff09 99%);box-shadow:inset 0 0 0 1px #f7efdc26,inset 0 0 35px #0006}
.vp-screen-heading{display:flex;align-items:center;justify-content:center;gap:22px;text-align:center;margin-bottom:16px}.vp-screen-heading>span{font:42px Georgia,serif;color:var(--vp-accent);text-shadow:0 0 17px var(--vp-glow)}.vp-screen-heading h2{margin:0;color:#f4e8b8;font:clamp(23px,3.7vw,41px) Georgia,serif;text-shadow:0 2px 0 #000,0 0 22px #d6bb7650}.vp-screen-heading p{margin:6px 0 0;letter-spacing:.18em;font-size:9px;color:var(--vp-accent)}
.vp-pays-wrap{border:1px solid #b29d67;border-radius:3px;overflow:hidden;background:#041221c4;box-shadow:0 2px 8px #0008,inset 0 0 20px #0005}.vp-paytable{border-collapse:collapse;width:100%;table-layout:fixed;font-variant-numeric:tabular-nums;font-family:Arial,sans-serif;line-height:1.25}.vp-paytable caption{caption-side:bottom;padding:6px;color:#a4b3b5;background:#020914;font-size:8px;letter-spacing:.12em}.vp-paytable th,.vp-paytable td{padding:4px 7px;border-right:1px solid #cab56d28;text-align:center;font-size:12px;color:#ead992}.vp-paytable thead th{font-size:9px;font-weight:700;letter-spacing:.04em;padding:7px 5px;background:#0006;color:#ccd9d8;border-bottom:1px solid #b29d67}.vp-paytable th:first-child{width:40%;text-align:left;font-weight:500}.vp-paytable tbody tr:nth-child(even){background:#9fd4ed06}.vp-paytable .vp-selected-column{background:#f5ce5520;color:#fff2ac}.vp-paytable thead .vp-selected-column{background:#c9a961;color:#161610}.vp-paytable .vp-paying-row{box-shadow:inset 0 0 0 1px #ffdc82;background:#f5ce5530}.vp-paytable .vp-paying-row th,.vp-paytable .vp-paying-row td{color:#fff5c6;font-weight:700}.vp-paytable tbody tr:first-child td:last-child{color:#ffe170;font-weight:800}
.vp-screen-message{min-height:38px;display:flex;align-items:center;justify-content:center;padding:11px 5px 6px;font-size:10px;letter-spacing:.16em;text-align:center;color:var(--vp-accent)}.vp-win-message{color:#fff1a9;text-shadow:0 0 12px #f1c65d80}
.vp-hand{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:7px 0 0;align-items:start}.vp-card{--card-width:clamp(38px,11.8vw,142px);padding:0;position:relative;display:flex;flex-direction:column;align-items:center;border:0;background:transparent;opacity:1!important;cursor:pointer;min-width:0;isolation:isolate}.vp-card:disabled{cursor:default}.vp-card .playing-card{width:100%;height:auto;aspect-ratio:5/7;rotate:0deg;margin:0;box-shadow:0 3px 2px #fff1,0 4px 8px #000b}.vp-card .card-back-pattern .crest{width:36%;height:auto}.vp-card .card-back-pattern{inset:5px}.vp-card .court-portrait{width:100%;height:100%}.vp-card.vp-held .playing-card{box-shadow:0 0 0 2px #ead595,0 0 16px #f0da8c30}.vp-card-label{height:27px;padding-top:9px;font-size:11px;font-weight:700;letter-spacing:.14em;color:#f4da87}.vp-wild:not(.vp-held) .vp-card-label{color:var(--vp-accent)}.vp-card .card-corner b{font-size:calc(var(--card-width)*.22)}.vp-card .card-corner i{font-size:calc(var(--card-width)*.19)}
.vp-meter-bank{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:10px;margin-top:9px;padding:10px 14px;border:1px solid #b6a56a5c;border-radius:4px;background:#0009;box-shadow:inset 0 2px 6px #000}.vp-meter-bank>div{display:grid;gap:5px;text-align:center;border-right:1px solid #e6d59830}.vp-meter-bank>div:last-child{border-right:0}.vp-meter-bank span{font-size:8px;letter-spacing:.16em;color:#a9b1b4}.vp-meter-bank strong{font:23px 'Courier New',monospace;font-weight:700;letter-spacing:.025em;font-variant-numeric:tabular-nums;color:#fff0b1;text-shadow:0 0 8px #f4e2b62e}.vp-credit-equation{text-align:center;padding-top:10px;font-size:10px;color:#bac4c9}
.vp-physical-deck{padding:17px 25px 5px;border-radius:3px 3px 15px 15px;background:linear-gradient(#333d41,#151e24 8%,#080e13 63%,#1b2123);border:1px solid #89909240;box-shadow:inset 0 2px 1px #e8dbb82b,0 5px 0 #000}
.vp-hold-bank{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;padding:0 12px 17px}.vp-hold-key,.vp-coin-key{border:1px solid #887954;border-radius:6px;background:linear-gradient(#e1d4a8,#a99a74 10%,#484637 15%,#333528 85%,#1c231c);color:#efe3b1;box-shadow:0 4px 0 #030706,0 5px 6px #0009,inset 0 0 0 3px #050d0b;cursor:pointer}.vp-hold-key{min-height:47px;display:flex;justify-content:center;align-items:center;gap:9px;letter-spacing:.13em}.vp-hold-key small{font-size:9px;color:#b7ae89}.vp-hold-key b{font-size:12px}.vp-hold-key.vp-key-lit,.vp-coin-key.vp-key-lit{background:linear-gradient(#fff7b8,#d1b64d 14%,#857027 19%,#b9a146 92%,#544721);color:#fff9c9;box-shadow:0 4px 0 #070b08,0 0 10px #ffe07732,inset 0 0 0 3px #443812;text-shadow:0 0 4px #fff6a357}.vp-hold-key:disabled,.vp-coin-key:disabled{cursor:default;opacity:.64}.vp-hold-key.vp-key-lit:disabled,.vp-coin-key.vp-key-lit:disabled{opacity:.85}.vp-controls{display:grid;grid-template-columns:125px minmax(0,1fr) 160px;align-items:end;gap:24px;padding:3px 0 17px}.vp-denomination{display:grid;gap:5px}.vp-denomination label,.vp-coin-select>span{font-size:8px;letter-spacing:.12em;color:#cbb791}.vp-denomination select{height:40px;padding:5px 10px;border:1px solid #9f8c68;border-radius:4px;background:#090e10;color:#f8e8ac;font:18px Georgia,serif;cursor:pointer}.vp-denomination small{font-size:7px;letter-spacing:.12em;color:#9b9f9b}.vp-coin-select{display:grid;gap:9px;padding-bottom:12px}.vp-coin-select>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.vp-coin-key{height:39px;font-size:14px;font-weight:700;padding:0}.vp-deal-key{height:76px;border:2px solid #c1a557;border-radius:10px;background:linear-gradient(#fcf3b8,#d5b053 12%,#9a711f 18%,#cfa346 84%,#8f6a1c 94%);color:#fff7c6;box-shadow:0 5px 0 #271b0c,0 8px 10px #0008,inset 0 0 0 4px #6f4d1e,inset 0 7px 6px #fff4;display:flex;flex-direction:column;justify-content:center;gap:7px;cursor:pointer;text-shadow:0 1px 2px #533708}.vp-deal-key strong{font-size:24px;letter-spacing:.13em}.vp-deal-key small{font-size:8px;letter-spacing:.1em}.vp-deal-key:disabled{filter:saturate(.45);opacity:.72;cursor:default}.vp-hold-key:not(:disabled):active,.vp-coin-key:not(:disabled):active,.vp-deal-key:not(:disabled):active{transform:translateY(2px)}
.vp-cabinet button:focus-visible,.vp-cabinet select:focus-visible,.vp-rules summary:focus-visible{outline:3px solid #ecda99;outline-offset:4px}.vp-physical-deck .machine-cash-controls{margin:0;padding:0;gap:14px}.vp-physical-deck .machine-cash-button{min-height:43px}.vp-hardware{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 4px 12px}.vp-hardware>span{text-align:center;color:#9e947c;font:14px Georgia,serif;letter-spacing:.25em}.vp-hardware small{display:block;font:6px system-ui,sans-serif;letter-spacing:.12em;margin-top:4px}.vp-hardware i{height:24px;width:25%;max-width:130px;background:repeating-linear-gradient(0deg,#060a0e 0 2px,#555b582e 2px 3px);border-radius:7px;box-shadow:inset 0 2px 4px #000,0 1px 0 #fff1}.vp-result{margin-top:17px}.vp-rules{margin-top:12px;border:1px solid #b39c6155;background:#07121bd9;border-radius:8px;padding:15px 18px;color:#bfc4c7;font-size:12px;line-height:1.65}.vp-rules summary{cursor:pointer;color:#eddbb5;font-weight:600}.vp-rules p:last-child{margin-bottom:0}.vp-screen .machine-overlay{z-index:5}
@media(max-width:700px){.vp-cabinet{padding:7px;border-radius:21px 21px 15px 15px}.vp-topper{padding:14px 14px 15px;gap:8px}.vp-topper-brand{font-size:17px;grid-template-columns:24px auto;gap:3px 6px}.vp-topper-brand small{font-size:6px}.vp-topper-brand .crest{width:24px}.vp-top-prize>span{font-size:7px}.vp-top-prize small{font-size:6px}.vp-screen-bezel{padding:7px}.vp-screen{padding:16px 12px 12px}.vp-screen-heading{gap:10px;margin-bottom:12px}.vp-screen-heading>span{font-size:29px}.vp-screen-heading p{font-size:7px;letter-spacing:.12em}.vp-paytable th,.vp-paytable td{padding:4px 4px;font-size:10px}.vp-paytable thead th{font-size:7px;padding:6px 2px}.vp-paytable th:first-child{width:43%}.vp-paytable caption{font-size:6px}.vp-hand{gap:7px}.vp-card{--card-width:clamp(35px,12vw,110px)}.vp-card-label{font-size:9px;height:23px}.vp-screen-message{font-size:8px;letter-spacing:.1em;min-height:37px}.vp-meter-bank{gap:4px;padding:9px 3px}.vp-meter-bank strong{font-size:18px}.vp-meter-bank span{font-size:6px;letter-spacing:.1em}.vp-credit-equation{font-size:8px}.vp-physical-deck{padding:13px 12px 0}.vp-hold-bank{gap:9px;padding:0 0 14px}.vp-hold-key{min-height:39px;gap:5px;letter-spacing:.06em}.vp-hold-key b{font-size:10px}.vp-hold-key small{font-size:8px}.vp-controls{grid-template-columns:85px minmax(0,1fr) 116px;gap:12px}.vp-deal-key{height:68px}.vp-deal-key strong{font-size:20px}.vp-deal-key small{font-size:6px}.vp-denomination label,.vp-coin-select>span{font-size:7px}.vp-coin-select>div{gap:4px}.vp-coin-key{font-size:12px;height:35px}.vp-physical-deck .machine-cash-button{min-height:39px}.vp-hardware{padding:14px 3px}.vp-rules{font-size:11px}}
@media(max-width:440px){.vp-topper-brand small{max-width:75px;line-height:1.6}.vp-topper-brand{font-size:14px;letter-spacing:.14em}.vp-top-prize strong{font-size:25px}.vp-top-prize>span{font-size:6px;letter-spacing:.04em}.vp-screen{padding:14px 7px 10px}.vp-screen-heading h2{font-size:23px}.vp-screen-heading>span{font-size:20px}.vp-screen-heading p{font-size:6px}.vp-paytable th,.vp-paytable td{font-size:8px;padding:4px 3px}.vp-paytable thead th{font-size:6px}.vp-paytable th:first-child{width:42%}.vp-hand{gap:5px}.vp-card .card-corner b{font-size:calc(var(--card-width)*.26);letter-spacing:-1px}.vp-card .card-corner i{font-size:calc(var(--card-width)*.22);margin-top:1px}.vp-card .pip{font-size:calc(var(--card-width)*.25)}.vp-card .card-pips{inset:17% 21%}.vp-card .playing-card:has(.court-portrait) .card-pips{inset:12% 20%}.vp-card .card-back-pattern{inset:3px}.vp-card-label{font-size:8px;letter-spacing:.06em}.vp-screen-message{font-size:7px;padding-inline:0}.vp-meter-bank strong{font-size:14px}.vp-meter-bank span{font-size:6px;letter-spacing:0}.vp-credit-equation{font-size:7px}.vp-hold-bank{gap:7px}.vp-hold-key small{display:none}.vp-controls{grid-template-columns:70px minmax(0,1fr) 88px;gap:8px}.vp-coin-select>div{gap:3px}.vp-coin-key{font-size:11px;height:34px;border-radius:4px;box-shadow:0 3px 0 #030706,inset 0 0 0 2px #050d0b}.vp-denomination select{font-size:16px;padding:4px;height:35px}.vp-denomination label,.vp-coin-select>span{font-size:6px}.vp-denomination small{font-size:5px}.vp-deal-key strong{font-size:18px;letter-spacing:.05em}.vp-deal-key small{font-size:5px}.vp-deal-key{height:64px;border-radius:7px}.vp-physical-deck{padding-inline:8px}.vp-hardware>span{font-size:12px}.vp-hardware small{font-size:5px}.vp-screen .machine-feature-count{font-size:28px}}
@media(prefers-reduced-motion:reduce){.vp-cabinet *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Give the five coin keys their own row before the denomination and deal controls. */
@media(max-width:700px){
 .vp-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}
 .vp-controls>div,.vp-controls>button{min-width:0}
 .vp-controls .vp-coin-select{grid-column:1/-1;grid-row:1;padding-bottom:2px}
 .vp-controls .vp-denomination label,.vp-controls .vp-coin-select>span{font-size:10px;line-height:1.4;letter-spacing:.08em;white-space:normal}
 .vp-controls .vp-coin-key{height:42px;font-size:14px}
 .vp-controls .vp-denomination select,.vp-controls .vp-deal-key{width:100%;min-width:0;max-width:100%}
 .vp-controls .vp-denomination small{font-size:7px}
}
/* Original catalogue photography; every cover links to an interactive game. */
.cover-money-wheel,.cover-craps,.cover-keno,.cover-sic-bo,.cover-deuces-wild,.cover-bonus-poker,.cover-double-bonus,.cover-double-double-bonus{background-size:cover!important;background-position:center!important;height:100%;top:0;filter:none}
.cover-money-wheel{background-image:url('./money-wheel-cover.png')}
.cover-craps{background-image:url('./craps-cover.png')}
.cover-keno{background-image:url('./keno-cover.png')}
.cover-sic-bo{background-image:url('./sic-bo-cover.png')}
.cover-deuces-wild,.cover-bonus-poker,.cover-double-bonus,.cover-double-double-bonus{background-image:url('./video-poker-cover.png')}
.cover-deuces-wild:after,.cover-bonus-poker:after,.cover-double-bonus:after,.cover-double-double-bonus:after{position:absolute;left:8%;right:8%;bottom:17%;padding:12px 5px;text-align:center;font:600 clamp(9px,1vw,15px) 'Segoe UI',sans-serif;letter-spacing:1px;color:#ffe8a7;background:linear-gradient(#132a22ef,#081610fa);border:1px solid #ba9555;border-radius:3px;box-shadow:0 3px 8px #0009}
.cover-deuces-wild:after{content:'DEUCES WILD';background:linear-gradient(#175544,#061f17)}
.cover-bonus-poker:after{content:'BONUS POKER';background:linear-gradient(#632c3c,#230914)}
.cover-double-bonus:after{content:'DOUBLE BONUS';background:linear-gradient(#253f65,#0a142c)}
.cover-double-double-bonus:after{content:'DOUBLE DOUBLE BONUS';background:linear-gradient(#493164,#1a0c2c)}
@media(min-width:900px){.keno-number-grid .keno-number{aspect-ratio:auto;min-height:42px;height:48px}.keno-cabinet .keno-marquee{padding-block:20px}}
@media(min-width:900px){.vp-stage{max-width:880px}.vp-topper{padding:12px 24px}.vp-top-prize strong{font-size:32px}.vp-screen{padding:12px 20px}.vp-screen-heading{margin-bottom:10px}.vp-screen-heading h2{font-size:30px}.vp-paytable th,.vp-paytable td{font-size:11px;padding:3px 6px}.vp-card{--card-width:106px}.vp-card .playing-card{max-width:106px}.vp-card-label{height:20px;padding-top:5px}.vp-screen-message{min-height:30px;padding:8px 5px 4px}.vp-meter-bank{padding:8px 10px;margin-top:4px}.vp-physical-deck{padding:12px 20px 5px}.vp-hold-bank{padding-bottom:12px}.vp-controls{padding-bottom:10px}.vp-hardware{padding-block:10px}}
@media(max-width:700px){.mobile-nav button{font-size:9px}.game-page-double-double-bonus .game-page-actions{flex-shrink:0}}
.aurel-bank{display:flex;align-items:center;gap:18px;padding:12px 24px;background:#111b19;border-block:1px solid #86744766;position:sticky;top:0;z-index:25}.bank-name{background:none;border:0;color:#e7d7ad;text-align:left;cursor:pointer}.bank-name span{display:block;font:600 12px/1.5 var(--font-body,Arial);letter-spacing:.12em}.bank-name small{font-size:10px;color:#b2b9b3}.aurel-bank dl{display:flex;flex:1;gap:22px;margin:0}.aurel-bank dl div{min-width:65px}.aurel-bank dt{font-size:10px;color:#afb9b3}.aurel-bank dd{margin:3px 0 0;font-variant-numeric:tabular-nums;font-size:17px}.bank-actions{display:flex;gap:8px}.bank-actions .button{padding:9px 12px;min-height:44px;font-size:11px}.bank-policy,.scope-guidance,.practice-banner,.lounge-card,.membership-value{padding:20px;border:1px solid #a895604d;border-radius:8px;background:#1a2520;margin:20px 0}.bank-help{color:#dccca1}.bank-presets{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.bank-presets button{min-height:44px;min-width:44px;border:1px solid #9e8954;background:#25352b;color:#eee4d1;border-radius:5px}.bank-history{padding:0;list-style:none;max-height:320px;overflow:auto}.bank-history li{display:grid;grid-template-columns:1fr auto;padding:12px;border-bottom:1px solid #ffffff1a}.bank-history small{grid-column:1/-1;color:#b7bcb6;font-size:11px}.practice-banner{display:flex;gap:16px;align-items:center;justify-content:space-between;margin:12px 0;background:#173638}.practice-banner p{margin:0}.practice-bank{background:#123034}.game-card-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.game-card-actions button{min-height:44px;border:1px solid #b8a27466;background:transparent;color:#ead7ae;border-radius:5px;padding:8px 12px}.floor-introduction{padding:20px 0 8px}.trust-strip{display:flex;gap:20px;flex-wrap:wrap;color:#c7cbbf;margin:12px 0}.lounge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.lounge-card{margin:12px 0}.lounge-card h3{font-size:19px}.lounge-card p{font-size:13px;line-height:1.6}.learn-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.scope-guidance p{font-size:13px;line-height:1.6;margin:5px 0}.scope-guidance summary{cursor:pointer;font-weight:600}.credit-token-flight{position:fixed;z-index:200;right:30%;top:90px;display:flex;gap:7px;pointer-events:none;animation:credit-arrival .65s ease-out forwards}.credit-token-flight span{display:grid;place-items:center;width:32px;height:32px;border:3px dashed #f5e1a0;background:#8e692e;color:#fff1c5;border-radius:50%;font:bold 15px Georgia;box-shadow:0 2px 12px #0008}@keyframes credit-arrival{from{transform:translateY(120px);opacity:0}30%{opacity:1}to{transform:translateY(-20px);opacity:0}}.comfort-mode .credit-token-flight,.reduced-motion .credit-token-flight{display:none}.comfort-mode button,.comfort-mode select,.comfort-mode input{min-height:48px}.comfort-mode .hero-hotspot{min-height:0}.comfort-mode .scope-guidance{font-size:16px}.comfort-mode .casino-host-layer{display:none}.comfort-mode .game-page{max-width:1400px}.comfort-mode *{scroll-behavior:auto!important}.scope-preferences input[type=number]{width:110px}.scope-store-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cosmetic-swatch{height:76px;border:1px solid #a89359;border-radius:6px;margin-bottom:12px;background:linear-gradient(135deg,#163b2c,#b09555)}.cosmetic-swatch[data-category=cards]{background:repeating-linear-gradient(45deg,#781f31 0 5px,#e8d4a3 6px 7px)}.cosmetic-swatch[data-category=chips]{background:radial-gradient(circle,#b8954f 35%,#ece1bb 36% 42%,#17382f 43%)}.cosmetic-swatch[data-category=rooms]{background:linear-gradient(135deg,#172536,#475f78)}.store-category{margin:28px 0 12px}.extra-effect-note{font-size:11px;color:#b9c0b7}.store-category-nav{display:flex;flex-wrap:wrap;gap:8px}.store-category-nav a{color:#ddcba2;padding:8px}.extra-card .button{min-height:44px}.membership-value ul{line-height:1.8}.scope-legal{color:#b7bdb7;font-size:12px}.aurel-bank:has(+ #pause-status .pause-banner){position:static}html[data-room=sapphire-room] .main-column{background:linear-gradient(#162a3a,#0e151d)}html[data-room=monaco-room] .main-column{background:linear-gradient(#34271b,#141811)}html[data-table=classic-table] .felt-table{background:#163f2c!important}html[data-table=royal-table] .felt-table{background:#51232c!important}html[data-cards=ivory-deck] .playing-card{border:3px solid #e1c894}html[data-cards=ruby-deck] .playing-card{border:3px solid #9f3d52}html[data-cards=ruby-deck] .playing-card.back{background:#671c31!important}html[data-chips=brass-chips] .chip-choice,html[data-chips=brass-chips] .table-wager-chip{border-color:#d1ac58;color:#f4dca0}html[data-chips=sapphire-chips] .chip-choice,html[data-chips=sapphire-chips] .table-wager-chip{border-color:#7bb4d5;color:#aadcf9}html[data-profiles=monogram-profile] .avatar-button{border:double 4px #c5ac69;font-family:Georgia}html[data-seasonal=winter-season] .game-card,html[data-seasonal=winter-season] .aurel-bank{border-color:#96b7bc;box-shadow:0 0 0 1px #c8e4ec22}html[data-collections=royal-collection] .game-card{border:double 3px #b79d61}html[data-hosts=classic-hosts] .casino-host-figure{filter:sepia(.25)}
@media(max-width:1100px){.aurel-bank{gap:12px;padding:10px 16px;flex-wrap:wrap}.aurel-bank dl{gap:16px}.bank-actions{margin-left:auto}.scope-store-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lounge-grid{grid-template-columns:1fr 1fr}.main-nav button{min-height:42px}.mobile-nav{overflow:auto;justify-content:flex-start}}
@media(max-width:760px){.aurel-bank{position:static;padding:12px;gap:12px}.bank-name{width:100%}.aurel-bank dl{width:100%;justify-content:space-between;gap:8px}.aurel-bank dd{font-size:16px}.aurel-bank dt{font-size:9px}.bank-actions{width:100%;margin:0}.bank-actions .button{flex:1}.lounge-grid,.learn-list,.scope-store-grid{grid-template-columns:1fr}.practice-banner{align-items:flex-start;flex-direction:column}.trust-strip{gap:10px;font-size:12px}.scope-guidance{padding:14px}.mobile-nav button{min-width:104px}.scope-preferences .preference-row{gap:10px}}

.preference-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #ffffff18}.preference-row strong,.preference-row small{display:block}.preference-row small{font-size:12px;color:#bdc4b9;margin-top:5px}.preference-row input[type=checkbox]{width:24px;height:24px;accent-color:#bfa566}.cosmetic-preview-table{position:relative;min-height:230px;padding:30px;display:grid;place-items:center}.cosmetic-preview-table .hand{display:flex;gap:14px;align-items:center}.cosmetic-preview-table .playing-card{width:76px;height:110px}html[data-cards=ivory-deck] .playing-card{background:#fff8e6}html[data-cards=ivory-deck] .playing-card.back .card-back-pattern{background:repeating-linear-gradient(45deg,#d9c294 0 3px,#fff2cf 4px 6px)}html[data-cards=ruby-deck] .card-back-pattern{background:repeating-linear-gradient(45deg,#701c31 0 3px,#ab5365 4px 6px)!important}html[data-chips=brass-chips] :is(.chip,.credit-token-flight span){border-color:#e1c170;background-color:#926d29}html[data-chips=sapphire-chips] :is(.chip,.credit-token-flight span){border-color:#afd9ec;background-color:#254966}html[data-hosts=classic-hosts] .casino-host-person{outline:2px solid #b9a271;outline-offset:4px;border-radius:10px}html[data-seasonal=winter-season] .site-footer:before{content:"❄ Winter Lounge";color:#b8d4dd;font-family:Georgia}html[data-collections=royal-collection] .avatar-button{position:relative}html[data-collections=royal-collection] .avatar-button:after{content:"♛";position:absolute;top:-12px;right:-8px;font-size:18px;color:#dcc17e}html[data-table=classic-table] .felt-table,html[data-table=royal-table] .felt-table{border-color:#c5a66b!important}html[data-room=monaco-room] .sidebar{background:#302a20}html[data-room=sapphire-room] .sidebar{background:#122737}html[data-room=monaco-room] .cosmetic-preview-table{background:#dacbad;color:#292e25}html[data-room=sapphire-room] .cosmetic-preview-table{background:#173c52}

.credit-token-flight.to-game{animation-name:credit-departure}@keyframes credit-departure{from{transform:translateY(-20px);opacity:0}30%{opacity:1}to{transform:translateY(140px);opacity:0}}.comfort-mode .aurel-bank dt{font-size:14px;color:#e1e3d9}.comfort-mode .aurel-bank dd{font-size:22px;color:#fff0ce}.comfort-mode .bank-name span{font-size:15px}.comfort-mode .bank-name small{font-size:14px;color:#d0d7cc}.comfort-mode :is(.control-label,.hand-label,.machine-denomination label,.pokie-choice label,.premium-credit-choice label,.vp-meter-bank span,.pokie-meters small){font-size:14px!important;line-height:1.5}.comfort-mode :is(.chip-choice,.button,.machine-bet-button,.pokie-spin,.vp-controls button){font-size:14px}.comfort-mode :is(.pokie-meters strong,.vp-meter-bank strong,.dice-wager-meter strong){font-size:24px}.comfort-mode :is(.game-footnote,.page-note,.vp-rules,.wk-rules,.dice-rules){font-size:14px;color:#d4dacf;line-height:1.7}.comfort-mode .bank-actions .button{font-size:14px}.comfort-mode .aurel-bank{flex-wrap:wrap}.comfort-mode .scope-guidance p{font-size:16px}@media(max-width:760px){.comfort-mode .aurel-bank dd{font-size:20px}.comfort-mode .aurel-bank dt{font-size:14px}}

#bank-panel{position:sticky;top:0;z-index:21}.aurel-bank{position:static}

.cover-poker{background-image:url('./video-poker-cover.png')!important}.game-art-button>.game-cover:is(.cover-poker,.cover-deuces-wild,.cover-bonus-poker,.cover-double-bonus,.cover-double-double-bonus,.cover-keno){background-size:contain!important;background-position:center!important;background-color:#080e0c;height:100%;top:0;filter:none;transform:none}

#game-surface button{min-height:44px;min-width:44px}#game-surface select{min-height:44px}@media(max-width:1000px){.roulette-layout{grid-template-columns:minmax(0,1fr)!important}.roulette-layout .wheel-panel{max-width:440px;width:100%;margin-inline:auto}.roulette-layout .roulette-betting{width:100%;max-width:none}}
.comfort-mode #game-surface button{min-height:48px;min-width:48px}.comfort-mode #game-surface select{min-height:48px}
/* Compact Bank and on-demand game help. */
#bank-panel{position:static;top:auto;z-index:auto;display:flex;align-items:center;flex:0 0 auto}
.bank-menu-button{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:12px;min-height:44px;min-width:124px;padding:5px 12px;background:#16241c;border:1px solid #b9a56b66;border-radius:7px;color:#f1e2bc;text-align:left;cursor:pointer}
.bank-menu-button small{font-size:10px;line-height:1.3}.bank-menu-button strong{font-size:18px;line-height:1.2;font-variant-numeric:tabular-nums}.bank-menu-button>span{grid-column:2;grid-row:1/3;font-size:15px;color:#c7b98c}.bank-menu-button.practice-bank{background:#123034;border-color:#78aba7}.bank-menu-button:focus-visible{outline:3px solid #f0d894;outline-offset:3px}
.bank-dialog-balance{display:grid;gap:6px;margin:4px 0 18px;padding:20px;border:1px solid #ad985c44;border-radius:8px;background:#18261e}.bank-dialog-balance>span{font-size:14px;color:#c5cebf}.bank-dialog-balance>strong{font:38px/1.1 Georgia,serif;color:#f5e6bf;font-variant-numeric:tabular-nums}.bank-dialog-balance>small{font-size:12px;color:#aab9ab}.bank-explanation{line-height:1.65}.bank-game-amount{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;padding:12px 0}.bank-game-amount strong{color:#f0dcaa;font-size:20px}
:is(.bank-custom-amount,.bank-round-details,.bank-activity,.bank-allowance){margin:16px 0;border-block:1px solid #ad985c33;padding:0 0 10px}:is(.bank-custom-amount,.bank-round-details,.bank-activity,.bank-allowance)>summary{min-height:44px;padding:12px 0;cursor:pointer;color:#e2d2aa}:is(.bank-custom-amount,.bank-round-details,.bank-activity,.bank-allowance)>summary:focus-visible{outline:2px solid #e2c68b;outline-offset:3px}
.bank-round-details dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.bank-round-details dt{font-size:12px;color:#bbc8b9}.bank-round-details dd{margin:5px 0;color:#f0e2c0;font-size:20px;font-variant-numeric:tabular-nums}.bank-round-details p{font-size:13px;line-height:1.6}.bank-refill{margin:18px 0;padding:16px;background:#19261d;border-radius:6px}.bank-refill h3{font-size:19px;margin-top:0}.bank-refill small{display:block;margin-top:12px;color:#b3beac}#bank-amount{display:block;min-height:44px;width:100%;max-width:240px;margin-top:8px}
.game-help-options{display:grid;gap:12px}.game-help-options button{min-height:48px;text-align:left;justify-content:flex-start}.practice-status{color:#a8d4ce;font-size:12px;white-space:nowrap}.game-page-actions{flex-wrap:wrap;align-items:center}.comfort-mode .bank-menu-button{min-height:48px}.comfort-mode .bank-menu-button small{font-size:14px}.comfort-mode .bank-menu-button strong{font-size:22px}
@media(min-width:1101px){#game-collection>.game-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}}
@media(max-width:700px){.bank-menu-button{min-width:104px;padding:5px 8px;column-gap:7px}.bank-menu-button strong{font-size:16px}.bank-menu-button small{font-size:9px}.game-page-actions{gap:6px}.game-page-actions .button{min-height:44px}.practice-status{font-size:10px}.bank-dialog-balance>strong{font-size:32px}}
.game-view .game-page-actions .button{min-height:44px}.comfort-mode .game-view .game-page-actions .button{min-height:48px}
@media(max-width:700px){.game-view .game-page-actions{flex-basis:100%;margin-left:0;justify-content:flex-end}}
/* Keep every navigation item reachable on shorter desktop and tablet screens. */
.sidebar{overflow:hidden}
@media(max-width:560px){.comfort-mode .sic-bet-group>div{grid-template-columns:repeat(auto-fit,minmax(48px,1fr))}}
@media(max-width:700px){.comfort-mode #game-surface .vp-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.comfort-mode #game-surface .vp-coin-select{grid-column:1/-1;grid-row:1}.comfort-mode #game-surface .vp-deal-key{width:100%;min-width:48px;max-width:100%}.comfort-mode #game-surface .vp-meter-bank{grid-template-columns:minmax(0,1fr);gap:10px}.comfort-mode #game-surface .vp-meter-bank>div{border-right:0}}
.premium-stage[data-premium-id="opal-empire"]{overflow-x:clip}
.landing-view .lobby-hero.approved-host-hero{overflow:hidden}
.game-card .game-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.game-card .game-card-actions button{padding:8px 4px}.game-card .game-card-actions button[data-action="play"]{background:#dcc58b;color:#17261e;border-color:#dcc58b;font-weight:600}
/* A second, exactly aligned part of the approved photo gives the hair its original foreground depth. */
.landing-view .hero-hair-foreground{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;z-index:9;clip-path:polygon(23% 8%,20.5% 10%,18.1% 14%,16.5% 20%,15.6% 28%,15.5% 35%,14.8% 39%,15.2% 45%,17.2% 49%,18.2% 55%,34% 56%,34% 8%)}

/* Hosting controls occupy the bottom edge; keep every mobile navigation tap above them. */
@media (max-width: 1000px) {
    html:has(> [popover="manual"]) .mobile-nav {
        bottom: calc(64px + env(safe-area-inset-bottom));
    }
    html:has(> [popover="manual"]) .main-column {
        padding-bottom: calc(150px + env(safe-area-inset-bottom));
    }
}

/* AUREL brass plaque and labelled salon menu. */
.hero-menu-cleanup {
    position: absolute;
    left: 0;
    top: 3%;
    width: 12.1%;
    height: 24%;
    z-index: 11;
    pointer-events: none;
    background: linear-gradient(110deg, #11150f, #171a13 70%, #1b1d16);
    mask-image: linear-gradient(to right, #000 92%, transparent), linear-gradient(to bottom, transparent, #000 5%, #000 93%, transparent);
    mask-composite: intersect;
}

/* Selected B1 footer: replace the lower promotional panels with three groups. */
.landing-view .site-footer { display: none; }
.landing-footer {
    margin: 32px 32px 0;
    padding: 28px 0 30px;
    border-top: 1px solid #9a8656;
    color: #eeeddf;
}
.landing-footer-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}
.landing-footer-head > span { color: #a9b19f; font-size: 12px; }
.landing-footer-brand { display: flex; gap: 12px; align-items: center; color: #d7c087; }
.landing-footer-brand > span { font: 22px Georgia, serif; letter-spacing: 5px; }
.landing-footer-brand small { display: block; margin-top: 4px; font: 8px Arial, sans-serif; letter-spacing: 3px; }
.landing-footer-groups {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    margin: 28px 0 20px;
}
.landing-footer-groups h2 {
    margin: 0 0 12px;
    font: 600 10px Arial, sans-serif;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #d7c087;
}
.landing-footer-link {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    max-width: 100%;
    padding: 8px 0;
    border: 0;
    background: none;
    color: #e0e4d5;
    font: 13px/1.4 var(--font-body, Arial);
    text-align: left;
}
.landing-footer-link svg { color: #d7c087; }
.landing-footer-link:hover { color: #ebd5a1; }
a.landing-footer-link { text-decoration: none; }
/* S4 trust pages: the site footer links to the static About/Support/FAQ documents. */
.site-footer nav a { display: inline-flex; align-items: center; font-size: 11px; min-height: 35px; color: inherit; text-decoration: none; }
.site-footer nav a:hover { text-decoration: underline; color: #ebd5a1; }
@media (max-width: 700px) { .site-footer nav a { min-height: 44px; min-width: 44px; justify-content: center; } }
.landing-footer-legal {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding-top: 16px;
    border-top: 1px solid #35412f;
    color: #a1ad97;
    font-size: 11px;
}
.landing-footer-legal [data-action="back-to-top"] svg { transform: rotate(-90deg); }
@media (max-width: 600px) {
    .landing-footer { margin: 28px 16px 0; padding-bottom: 24px; }
    .landing-footer-head > span { font-size: 10px; }
    .landing-footer-brand > span { font-size: 18px; letter-spacing: 3px; }
    .landing-footer-groups { gap: 10px; margin-top: 24px; }
    .landing-footer-groups h2 { font-size: 9px; letter-spacing: 1.3px; }
    .landing-footer-link { font-size: 11px; gap: 6px; }
    .landing-footer-link svg { width: 15px; height: 15px; }
    .landing-footer-legal { font-size: 9px; gap: 12px; }
}

/* Round 2: compact mobile shell, learning actions and accessible More sheet. */
.breadcrumb { display:none; }
.trust-strip a {
    display:inline-flex;
    align-items:center;
    min-height:44px;
    padding:10px 14px;
    border:1px solid #b8a27466;
    border-radius:999px;
    background:#c7af7a10;
    color:#ead7ae;
    font-size:12px;
    line-height:1.35;
    text-decoration:none;
}
.trust-strip a:hover { border-color:#d8c28c; background:#c7af7a1c; color:#fff1cb; }
.game-card-actions button[data-action="play"] {
    background:linear-gradient(115deg,#e1cb96,#b9a06a);
    border-color:#dcc58b;
    color:#17261e;
    font-weight:600;
}
.mobile-more-sheet { display:none; }

@media (max-width:1000px) {
    .mobile-nav {
        display:grid;
        grid-template-columns:repeat(5,minmax(0,1fr));
        justify-content:stretch;
        gap:0;
        overflow:visible;
        padding:7px 4px calc(6px + env(safe-area-inset-bottom));
    }
    .mobile-nav button {
        position:relative;
        width:100%;
        min-width:0;
        min-height:52px;
        padding:5px 2px;
        gap:4px;
        white-space:nowrap;
    }
    .mobile-nav button span { display:block; max-width:100%; overflow:hidden; text-overflow:ellipsis; }
    .mobile-nav button.active:before { left:50%; transform:translateX(-50%); }
    .mobile-more-sheet[open] {
        display:block;
        position:fixed;
        inset:auto 0 0;
        width:min(100%,760px);
        max-width:none;
        max-height:calc(100dvh - 24px);
        margin:0 auto;
        padding:0;
        border:0;
        overflow:visible;
        color:var(--ivory);
        background:transparent;
    }
    .mobile-more-sheet::backdrop { background:#020604b8; backdrop-filter:blur(3px); }
    .mobile-more-panel {
        max-height:calc(100dvh - 24px);
        overflow:auto;
        padding:18px 16px calc(20px + env(safe-area-inset-bottom));
        border:1px solid #c7af7a42;
        border-bottom:0;
        border-radius:18px 18px 0 0;
        background:linear-gradient(155deg,#17221a,#09100c 78%);
        box-shadow:0 -20px 50px #0009;
    }
    .mobile-more-panel>header { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:16px; }
    .mobile-more-panel h2 { margin:4px 0 0; font-size:25px; }
    .mobile-more-panel>nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
    .mobile-more-panel>nav button {
        display:flex;
        align-items:center;
        gap:11px;
        min-width:0;
        min-height:52px;
        padding:10px 12px;
        border:1px solid #b8a27445;
        border-radius:8px;
        background:#ffffff05;
        color:#ded7c2;
        text-align:left;
        font-size:12px;
    }
    .mobile-more-panel>nav button.active { border-color:#cdb77d8a; background:#c7af7a15; color:#f5dfab; }
    .preview-strip {
        position:relative;
        justify-content:center;
        height:28px;
        padding:0 8px;
        font-size:10.5px;
        letter-spacing:.15px;
        white-space:nowrap;
    }
    .preview-strip>span:not(.preview-condensed) {
        position:absolute;
        width:1px;
        height:1px;
        padding:0;
        overflow:hidden;
        clip:rect(0,0,0,0);
        white-space:nowrap;
    }
    .preview-strip>span.preview-condensed:first-child { display:inline; color:#c4b985; font-size:10.5px; letter-spacing:.15px; line-height:1; }
    .preview-strip>button { display:none; }
    .topbar { padding-inline:14px; backdrop-filter:none; }
    .topbar-title { min-width:0; overflow:hidden; }
    .topbar-route { display:block; width:100%; max-width:none; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .topbar-tools { flex:0 0 auto; gap:7px; }
    .topbar-tools>.avatar-button { display:inline-flex; align-items:center; justify-content:center; }
    .trust-strip { gap:8px; }
    .trust-strip a { flex:1 1 140px; justify-content:center; text-align:center; }
}

@media (max-width:380px) {
    .topbar { padding-inline:9px; }
    .topbar-route { font-size:16px; }
    .topbar-tools { gap:3px; }
    .topbar-tools>.icon-button,.topbar-tools>.avatar-button { width:44px; height:44px; }
    .bank-menu-button { display:flex; min-width:70px; max-width:74px; min-height:44px; padding:5px 6px; }
    .bank-menu-button small,.bank-menu-button>span { display:none; }
    .bank-menu-button strong { min-width:0; max-width:62px; overflow:hidden; font-size:12px; text-overflow:ellipsis; }
    .mobile-more-panel { padding-inline:12px; }
    .mobile-more-panel>nav button { padding-inline:9px; font-size:11px; }
    .roulette-layout { padding-inline:8px; }
    .roulette-betting .selection-modes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .roulette-betting .outside-row:not(.thirds) { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .roulette-controls .stake-select { min-width:0; }
    .roulette-controls .stake-options { flex-wrap:wrap; justify-content:center; }
    #game-surface .stake-options { flex-wrap:wrap; justify-content:center; }
    #game-surface .keno-number-grid { grid-template-columns:repeat(5,minmax(44px,1fr))!important; }
}
@media (max-width:480px) {
    /* Comfort Mode's 48px chip floor makes the six-chip roulette stake row 328px wide —
       wider than the table card's column on narrow phones. Let it wrap (as it already
       does at 380px and below) instead of pushing past the table edge. */
    .roulette-controls .stake-select { min-width:0; }
    .roulette-controls .stake-options { flex-wrap:wrap; justify-content:center; }
}
.game-card-labels { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px; margin-bottom:8px; }
.game-card-labels .eyebrow { margin:0; min-width:0; }
.game-card-labels .expansion-new-label { position:static; flex-shrink:0; padding:3px 6px; font-size:8px; line-height:1.4; }

/* Condensed compliance line is a narrow-screen alternative only. */
.preview-strip>.preview-condensed { display:none; }
/* Hero art box: the covers below are positioned against the image itself, not the whole hero. */
.landing-view .host-hero-art { position:relative; width:100%; }
.landing-view .hero-art-panel { display:none; }
@media (max-width:1000px) {
    .landing-view .hero-art-panel { display:block; position:absolute; z-index:3; top:0; left:32%; width:36%; bottom:16%; pointer-events:none; background:linear-gradient(#090d0b,#0c1410 70%,#101711); box-shadow:0 0 28px 12px #08110b88; border-bottom:1px solid #b2945c; }
}
/* Straight-on walnut and brass cabinets, with a working right-side mechanical lever. */
.game-art-button>.western-cover{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;background-color:#080e0c;background-size:contain;background-position:center;background-repeat:no-repeat;filter:none}
.western-cover.cover-frontier-gold{background-image:url('./frontier-gold-cabinet-v2.webp')}
.western-cover.cover-saloon-sevens{background-image:url('./saloon-sevens-cabinet-v2.webp')}
.western-cover.cover-desert-trails{background-image:url('./desert-trails-cabinet-v2.webp')}
.western-cover.cover-sheriffs-bounty{background-image:url('./sheriffs-bounty-cabinet-v2.webp')}
.western-cover.cover-railroad-riches{background-image:url('./railroad-riches-cabinet-v2.webp')}
.game-card:hover .western-cover{transform:none}
.western-collection{margin-top:35px}.western-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.western-stage{max-width:780px;margin:0 auto;color:#f5e5c0}
.western-cabinet{position:relative;width:calc(100% - 74px);max-width:610px;margin:0 auto;padding:18px;border:5px solid #a78043;border-radius:44px 44px 12px 12px;background:linear-gradient(90deg,#10090499,transparent 12%,#ffdfaf16 48%,transparent 85%,#100904bb),url('./casino-walnut.png') center / 500px;box-shadow:inset 0 0 0 3px #22170f,inset 0 0 0 8px #ac854955,0 24px 35px #0009}
.western-marquee{padding:20px 12px;text-align:center;border:3px solid #ba9655;border-radius:25px 25px 5px 5px;background:linear-gradient(#12100b99,#12100bcc),url('./casino-leather.png') center / 220px,var(--western-cabinet);box-shadow:inset 0 0 0 4px #10140e,inset 0 0 26px #0008,0 2px 5px #0009}
.western-marquee small,.western-marquee>span{display:block;font-size:11px;letter-spacing:2.5px;color:#e7cf9c}.western-marquee h2{margin:6px 0;font:700 clamp(27px,4vw,44px)/1.1 Georgia,serif;color:#ffe9b5;text-shadow:0 2px #221811}.western-marquee p{margin:6px 0;font-size:11px;letter-spacing:1px}
.western-reels{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0;padding:10px;border:5px solid #b7924f;border-radius:12px;background:#100e09;box-shadow:inset 0 0 0 2px #f8dfa4,0 5px 12px #0008}
.western-reels:before,.western-reels:after{content:'';position:absolute;top:50%;z-index:3;width:0;height:0;border-block:8px solid transparent}.western-reels:before{left:-15px;border-left:12px solid #ffe2a0}.western-reels:after{right:-15px;border-right:12px solid #ffe2a0}
.western-reel{position:relative;height:240px;overflow:hidden;border:1px solid #b49863;border-radius:5px;background:#f0e4c8;box-shadow:inset 0 10px 22px #3b2309}.western-reel:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(#21100688,transparent 34%,transparent 66%,#21100688);border-block:1px solid #f7e3b055}
.western-cell{height:80px;display:grid;place-items:center;background:linear-gradient(90deg,#d3bf95,#fff8e3 25%,#fff8e3 75%,#d3bf95)}.western-cell .western-symbol{width:72px;height:72px;max-width:90%}.western-symbol{display:block;width:70px;height:70px;background-size:300% 200%;background-repeat:no-repeat;border-radius:6px;filter:drop-shadow(0 2px 1px #7e623a55)}
.western-symbol-0{background-position:0 0}.western-symbol-1{background-position:50% 0}.western-symbol-2{background-position:100% 0}.western-symbol-3{background-position:0 100%}.western-symbol-4{background-position:50% 100%}.western-symbol-5{background-position:100% 100%}
.western-cell.winning-symbol{box-shadow:inset 0 0 0 3px #e9be48;background:linear-gradient(90deg,#ad864c,#fff1b7 25%,#fff1b7 75%,#ad864c)}
.western-cell.winning-symbol .western-symbol{filter:drop-shadow(0 0 5px #f8d674)}
.western-meters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px 8px;border:2px solid #b99859;border-radius:6px;background:#101a12}.western-meters>div{text-align:center;min-width:0}.western-meters small{display:block;color:#cbb88c;font-size:10px;letter-spacing:1px}.western-meters strong{display:block;margin-top:4px;color:#fff0be;font-size:23px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.western-deck{display:flex;justify-content:center;flex-wrap:wrap;gap:15px;margin-top:16px;padding:14px;border-radius:6px;background:linear-gradient(110deg,var(--western-cabinet),#1d2118);border:2px solid #b7924f}.western-deck label{display:grid;gap:6px;color:#f3deb0;font-size:12px;letter-spacing:1px}.western-deck select{min-height:44px;min-width:110px;border:1px solid #ddbc7c;border-radius:5px;background:#182119;color:#fff0c9;font-size:18px;padding:7px 12px}.western-deck p{flex-basis:100%;text-align:center;margin:2px 0;color:#f4dfb0;font-size:13px}
.western-handle{position:absolute;right:-67px;top:180px;width:68px;height:170px;border:0;background:transparent;color:#f4daa4;cursor:grab;touch-action:none}.western-handle:active{cursor:grabbing}.western-handle:focus-visible{outline:3px solid #ffe9a9;outline-offset:5px;border-radius:8px}.western-handle:disabled{cursor:wait;opacity:.8}.western-handle:after{content:'';position:absolute;left:0;bottom:12px;width:27px;height:27px;border-radius:50%;border:3px solid #654723;background:linear-gradient(135deg,#f9e4b1,#a67e3b,#f3dba1)}
.western-handle-arm{position:absolute;left:14px;bottom:28px;width:35px;height:112px;border-right:10px solid #d2b16d;border-bottom:10px solid #bd9855;border-radius:0 0 6px 0;filter:drop-shadow(2px 2px 1px #0008);transform-origin:left bottom;transform:rotate(var(--handle-drag,0deg));transition:transform .28s ease}
.western-handle-knob{position:absolute;right:-15px;top:-12px;width:38px;height:38px;border:4px solid #dfbd78;border-radius:50%;background:radial-gradient(circle at 30% 25%,#f6d8a0,var(--western-cabinet) 35%,#1d1b12 95%);box-shadow:0 3px 5px #0008}
.handle-pulled .western-handle-arm,.western-handle.handle-pulled .western-handle-arm{transform:rotate(58deg)}
.western-handle>span:not(.western-handle-arm){position:absolute;right:0;bottom:-18px;font:700 10px/1.3 Arial,sans-serif;letter-spacing:1px;text-align:center}
.western-result{margin:18px 0}.western-instruction{text-align:center;color:#dfcaa2;font-size:14px;line-height:1.5}.western-paytable{margin-top:20px;padding:16px;border:1px solid #a88b50;border-radius:8px;background:#151e17}.western-paytable summary{min-height:44px;cursor:pointer;color:#f4deb0;font-size:17px}.western-paytable table{width:100%;border-collapse:collapse}.western-paytable th,.western-paytable td{padding:8px;border-bottom:1px solid #b1955540;text-align:left}.western-paytable .western-symbol{display:inline-block;width:40px;height:40px;vertical-align:middle;margin-right:8px}.western-paytable p{font-size:13px;line-height:1.6}.western-stage .pokie-result{margin-top:18px}
@media(max-width:1100px){.western-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.western-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.western-cabinet{width:calc(100% - 55px);padding:10px;border-width:3px;margin-left:0;border-radius:25px 25px 8px 8px}.western-marquee{padding:14px 6px}.western-marquee h2{font-size:27px}.western-marquee small,.western-marquee>span{font-size:8px;letter-spacing:1px}.western-reels{gap:4px;padding:5px;margin:12px 0;border-width:3px}.western-reel{height:180px}.western-cell{height:60px}.western-cell .western-symbol{width:54px;height:54px}.western-meters{padding:10px 3px;gap:3px}.western-meters strong{font-size:17px}.western-meters small{font-size:8px;letter-spacing:0}.western-deck{gap:10px;padding:10px}.western-deck select{min-width:92px}.western-handle{right:-56px;top:150px;width:54px;height:146px}.western-handle-arm{height:95px;width:25px;left:8px}.western-handle-knob{width:33px;height:33px;right:-14px}.western-handle:after{width:23px;height:23px;left:0}.western-paytable{padding:10px}}
@media(prefers-reduced-motion:reduce){.western-handle-arm{transition:none}}
.reduced-motion .western-handle-arm{transition:none}
@media(min-width:701px) and (max-height:850px){.western-marquee{padding:12px 10px}.western-marquee h2{font-size:34px}.western-reel{height:198px}.western-cell{height:66px}.western-cell .western-symbol{width:60px;height:60px}.western-reels{margin:12px 0}.western-deck{margin-top:12px;padding:10px}.western-cabinet{padding:14px}}
.free-entry-page { min-height: 100svh; }
.free-entry-card { overflow: visible; padding-block: clamp(28px, 5vh, 64px); }
.free-entry-card h1 { font-size: clamp(32px, 4vw, 56px); }
.free-entry-card a, .free-panel a { color: var(--gold, #d4bd84); text-underline-offset: 3px; }
.free-form { display: grid; gap: 12px; }
.free-form > label:not(.free-check), #free-province-field > label { font-size: 12px; font-weight: 600; letter-spacing: 1.2px; text-transform: uppercase; }
.free-form input:not([type="checkbox"]), .free-form select, .free-form textarea {
    width: 100%; min-width: 0; box-sizing: border-box; color: #eee7d7; background: #171815;
    border: 1px solid #62573f; border-radius: 4px; padding: 12px 14px; font: inherit;
}
.free-form textarea { min-height: 120px; resize: vertical; }
.free-form input:focus-visible, .free-form select:focus-visible, .free-form textarea:focus-visible {
    outline: 2px solid #d4bd84; outline-offset: 3px;
}
.free-form input[type="checkbox"] { flex: 0 0 auto; width: 18px; height: 18px; accent-color: #d4bd84; }
.free-check { margin: 6px 0; font-size: 13px; line-height: 1.55; align-items: flex-start; }
#free-province-field { display: grid; gap: 12px; }
#free-province-field[hidden] { display: none; }
.free-signed-in { overflow-wrap: anywhere; }
.free-review-notice { color: #c9b895; border-left: 2px solid #a3874d; padding: 10px 14px; font-size: 12px; line-height: 1.6; background: #a3874d0d; }
.free-session-status { color: #b9b3a6; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.free-account-grid, .free-operator-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.free-account-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.free-panel { padding: clamp(18px, 3vw, 32px); border: 1px solid #453b28; background: #141511; border-radius: 6px; min-width: 0; }
.free-panel h2 { margin: 0 0 14px; }
.free-panel h3 { margin-top: 26px; }
.free-panel p { line-height: 1.7; }
.free-account-value { margin: 0; overflow-wrap: anywhere; }
.free-form .button { justify-self: start; }
.free-entry-card .entry-button { justify-self: stretch; }
.free-message { white-space: pre-wrap; overflow-wrap: anywhere; }
.free-ticket-heading { display: flex; gap: 12px; justify-content: space-between; text-transform: capitalize; }
.free-ticket-status { color: #cdb681; font-size: 12px; }
.free-support-ticket { min-width: 0; }
.free-support-ticket small { color: #999385; overflow-wrap: anywhere; }
.free-support-reply { margin-top: 18px; padding: 16px; background: #ad966b0c; border-left: 2px solid #8f7b53; }
.free-support-reply p { margin: 8px 0; }
.free-operator-ticket { padding: 20px 0; border-bottom: 1px solid #453b28; }
.free-reply-form { margin-top: 18px; }
.free-extras-category { margin-block: 30px; }
.free-extras-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.free-extra-card { padding: 24px; border: 1px solid #453b28; background: #141511; border-radius: 6px; }
.free-extra-card.is-equipped { border-color: #b69b61; }
.free-extra-card h3 { margin: 12px 0; }
.free-extra-card p { color: #aaa394; line-height: 1.6; min-height: 64px; }
.free-extra-card .settings-actions { flex-wrap: wrap; gap: 10px; }
.free-account-status { padding: 7px 24px; border-bottom: 1px solid #453b28; }
.free-account-status .free-session-status, .free-account-status .field-error { margin: 0; }
@media (max-width: 1000px) { .free-extras-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) {
    .free-account-grid, .free-operator-grid, .free-extras-grid, .free-account-summary { grid-template-columns: minmax(0, 1fr); }
    .free-entry-card { padding: 28px 22px; }
    .free-entry-page .entry-art { position: relative; top: auto; right: auto; bottom: auto; width: 100%; min-height: 240px; height: 34svh; opacity: 1; z-index: 0; }
    .free-entry-page .entry-art img { width: 100%; height: 100%; object-fit: cover; }
    .free-entry-page { display: block; padding: 0; overflow: visible; }
}

/* M2 S3 — member sign-in and account pages (55+ scale: 18px inputs, ≥48px targets). */
.member-panel{border:1px solid #c6b47b21;border-radius:8px;background:#171f18;padding:26px;margin:0 0 26px;max-width:640px}
.member-form{display:grid;gap:14px}
.member-label{font-size:14px;line-height:1.7;color:#c3ccad;display:block}
.member-input{width:100%;min-height:52px;border:1px solid #9eb18c35;background:#111910;padding:12px 15px;border-radius:6px;color:#e4e6d8;font-size:18px}
.member-input:focus-visible{outline:2px solid #d4bd84;outline-offset:1px}
.member-code-input{font-size:28px;letter-spacing:10px;max-width:280px;font-variant-numeric:tabular-nums;text-align:center}
.member-submit{justify-self:start;min-height:52px;padding:14px 24px;font-size:14px}
.member-note{font-size:13px;line-height:1.8;color:#9cae8d;margin:0}
.member-form-aside{display:flex;gap:22px;flex-wrap:wrap}
.member-form-aside .text-button{font-size:13px;min-height:48px;display:inline-flex;align-items:center}
.member-status{font-size:14px;line-height:1.8;color:#cfd8bd;margin:0;min-height:1em}
.member-status:empty,.member-form .field-error:empty{display:none}
.member-form .field-error{font-size:14px}
.member-after{max-width:640px}
.member-after h2{font-size:24px;margin-bottom:12px}
.member-after p{font-size:14px;line-height:1.8;color:#9cae8d}
.member-closed p{font-size:15px;line-height:1.8;color:#c3ccad;margin:0}
.member-summary{margin-bottom:26px}
.member-founding-badge{display:inline-flex;align-items:center;gap:6px;border:1px solid #d4bd8466;border-radius:20px;padding:4px 12px;color:#e7d8ad;background:#c7af7a12;font-size:12px;letter-spacing:.6px;white-space:nowrap}
.member-import-offer h2{font-size:24px;margin-bottom:10px}
.member-import-offer p{font-size:14px;line-height:1.8;color:#abb99b;margin-bottom:18px}
.member-inline-form .member-inline-controls{display:flex;gap:12px;flex-wrap:wrap}
.member-inline-controls .member-input{flex:1;min-width:200px}
.member-inline-controls .button{min-height:52px}
.member-danger{border-color:#b8785d55}
.member-danger p{font-size:14px;line-height:1.8;color:#c9b3a4}
.member-panel.settings-section{border-bottom:1px solid #c6b47b21}
.member-panel h2{font-size:24px;margin-bottom:14px}
.member-panel>p{font-size:14px;line-height:1.8;color:#abb99b}
.avatar-button.is-member{position:relative}
.avatar-button.is-member::after{content:'';position:absolute;right:-2px;bottom:-2px;width:11px;height:11px;border-radius:50%;background:#9fbb77;border:2px solid #10180e}
.avatar-button.is-founding::after{background:#d4bd84}
@media (max-width:700px){.member-panel{padding:20px}.member-inline-controls .button{width:100%}}

/* M2 S8 — member sign-in discoverability: topbar + sidebar entries and the
   landing invite band. Calm, 55+ scale (14px floor, ≥44px targets); the play
   CTA stays the only primary button on the landing. */
.topbar-signin{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:9px 16px;border:1px solid #c7af7a52;border-radius:7px;background:linear-gradient(120deg,#c9b7811f,#c9b78108);color:#e7d8ad;font-size:14px;letter-spacing:.3px;white-space:nowrap}
.topbar-signin:hover{border-color:#d4bd84aa;color:#f4e6ba}
.member-entry-star{display:inline-flex;align-items:center;color:#d4bd84;margin-left:5px}
.member-entry-star svg{width:13px;height:13px}
.member-invite-band{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:20px 0 6px;padding:18px 22px;border:1px solid #c6b47b2e;border-radius:8px;background:linear-gradient(120deg,#18211a,#121a14)}
.member-invite-band p{margin:0;font-size:15px;line-height:1.75;color:#c3ccad;flex:1 1 300px}
.member-invite-band p strong{color:#ecdfb4}
.member-invite-band .button{flex:0 0 auto;font-size:14px;min-height:48px}
.founding-account-note .button{font-size:14px;min-height:48px;margin-top:4px}
@media (max-width:760px){.topbar-signin{padding:8px 11px}.member-invite-band{padding:16px;gap:14px}.member-invite-band .button{width:100%;justify-content:center}}
/* Phones (≤480): the Sign in control must share the top bar with the bank and
   tool buttons without crushing the page title. Scoped with :has to builds that
   actually render the member entry, so other variants keep today's top bar.
   The bank pill falls back to its ≤380 number-only form (full aria-label kept). */
@media (max-width:480px){
    .topbar:has(.topbar-signin){padding-inline:10px}
    .topbar:has(.topbar-signin) .topbar-tools{gap:4px}
    .topbar:has(.topbar-signin) .topbar-route{font-size:16px}
    .topbar:has(.topbar-signin) .bank-menu-button{min-width:0;max-width:80px;padding:5px 7px}
    .topbar:has(.topbar-signin) .bank-menu-button small,.topbar:has(.topbar-signin) .bank-menu-button>span{display:none}
    .topbar:has(.topbar-signin) .bank-menu-button strong{min-width:0;max-width:66px;overflow:hidden;text-overflow:ellipsis;font-size:14px}
    .topbar-signin{padding:8px 8px;letter-spacing:0}
}
@media (max-width:380px){
    .topbar:has(.topbar-signin){padding-inline:8px}
    .topbar:has(.topbar-signin) .topbar-tools{gap:3px}
    .topbar:has(.topbar-signin) .bank-menu-button{max-width:68px}
    .topbar:has(.topbar-signin) .bank-menu-button strong{max-width:54px}
    .topbar-signin{padding:8px 6px}
}
.catalogue-tools { display:flex; gap:16px; align-items:end; flex-wrap:wrap; margin:20px 0 24px; padding:18px 22px; border:1px solid #bfa77536; background:#12211c; border-radius:12px; }
.catalogue-tools label { display:grid; gap:8px; min-width:220px; flex:1; color:#d7ccb1; font-size:12px; letter-spacing:.04em; }
.catalogue-tools input,.catalogue-tools select { width:100%; min-height:44px; padding:10px 12px; background:#1b2d25; color:#f1eadc; border:1px solid #9c875c77; border-radius:6px; }
.catalogue-tools input:focus-visible,.catalogue-tools select:focus-visible { outline:2px solid #d9bd80; outline-offset:3px; }
.expansion-table-cover { display:block; position:relative; width:100%; height:100%; overflow:hidden; background:linear-gradient(180deg,#070e0a18 22%,#07100ec7 100%),url('./casino-table-salon.webp') center/cover; isolation:isolate; }
.expansion-table-cover::after { content:""; position:absolute; z-index:3; inset:0; pointer-events:none; background:linear-gradient(108deg,#fff0bb16,transparent 22%,transparent 72%,#0009),linear-gradient(0deg,#0009,transparent 49%,#fff5c20a); mix-blend-mode:screen; }
.expansion-table-salon-title { position:absolute; z-index:4; top:9%; right:10%; left:10%; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:20%; padding:4px; overflow:hidden; border:1px solid #e5c47eaa; border-radius:4px; background:linear-gradient(180deg,#111d2cec,#17120feb); box-shadow:0 2px 7px #000a,inset 0 1px 0 #fff0cf44; color:#f4e7c7; text-align:center; text-shadow:0 2px 5px #000; }
.expansion-table-salon-title b { max-width:100%; overflow:hidden; font:600 clamp(7px,1.25vw,14px)/1.08 Georgia,serif; text-overflow:ellipsis; white-space:nowrap; }
.expansion-table-salon-title small { margin-top:2px; color:#ddc995; font-size:clamp(3px,.55vw,6px); letter-spacing:1px; }
.expansion-table-frame { position:absolute; z-index:2; right:-18%; bottom:-14%; left:-18%; display:block; height:57%; min-height:0; overflow:hidden; padding:6px 8px 0; border:2px solid #b89254; border-radius:50% 50% 0 0 / 25% 25% 0 0; background:linear-gradient(90deg,#26190f,#d0a861 7%,#302013 12%,#121e1d 50%,#302013 88%,#d0a861 93%,#26190f); box-shadow:0 -1px 0 #f7dda05c,0 -7px 16px #000a,inset 0 0 0 1px #f7dda05c; transform:perspective(560px) rotateX(5deg); transform-origin:bottom; }
.expansion-table-frame::before { content:""; position:absolute; inset:4px 4px 0; border:1px solid #e2bf7b66; border-radius:inherit; pointer-events:none; }
.expansion-table-felt { position:relative; display:block; height:100%; overflow:hidden; border:2px solid var(--table-accent,#cba35e); border-radius:50% 50% 0 0 / 24% 24% 0 0; background:radial-gradient(ellipse at 50% -35%,color-mix(in srgb,var(--table-accent,#cba35e) 38%,transparent),transparent 58%),var(--table-primary,#102f28); box-shadow:inset 0 0 0 2px #14251e,inset 0 0 13px #000b,0 0 0 1px #5b4325; }
.expansion-table-felt svg { display:block; width:100%; height:100%; object-fit:cover; filter:saturate(1.1) contrast(1.04); }
.expansion-table-cover-cards { position:absolute; z-index:1; top:14%; right:14%; left:14%; display:flex; align-items:center; justify-content:center; min-height:54%; }
.table-cover-card { display:grid; width:28%; aspect-ratio:2/3; place-items:center; border:1px solid #f4dfb3; border-radius:4px; background:linear-gradient(145deg,#f6ebcf,#cfc1a3); box-shadow:0 3px 7px #0009; color:var(--table-primary,#143b3c); font:600 clamp(7px,1.35vw,15px)/1 Georgia,serif; font-style:normal; }
.table-cover-card:nth-child(1) { transform:translateX(9%) rotate(-12deg); }.table-cover-card:nth-child(2) { z-index:1; transform:translateY(-7%); }.table-cover-card:nth-child(3) { transform:translateX(-9%) rotate(12deg); }.table-cover-card:nth-child(4),.table-cover-card:nth-child(5) { display:none; }
.expansion-table-cover-cards.is-bingo { gap:5px; }.table-cover-ball { display:grid; width:28%; aspect-ratio:1; place-items:center; border:1px solid #f1d493; border-radius:50%; background:radial-gradient(circle at 32% 25%,#fff4c4,#c88e36 42%,#5d3c1f 76%); box-shadow:0 3px 7px #0009; color:#172a29; font:600 clamp(7px,1.35vw,15px)/1 Georgia,serif; font-style:normal; }.table-cover-ball:nth-child(2) { transform:translateY(15%); }.table-cover-ball:nth-child(3) { transform:translateY(-5%); }
.expansion-table-cover-mark { position:absolute; z-index:1; right:8%; bottom:9%; left:8%; color:color-mix(in srgb,var(--table-accent,#d5be86) 86%,#fff); font-size:clamp(4px,.55vw,7px); letter-spacing:1px; text-align:center; text-shadow:0 1px 3px #000; }
.game-card { position: relative; }
.expansion-new-label { position:absolute; top:14px; left:14px; background:#d1b276; color:#18291f; padding:5px 9px; border-radius:3px; font-size:10px; font-weight:700; letter-spacing:.12em; pointer-events:none; }
.expansion-loading { min-height:260px; display:grid; align-content:center; justify-items:center; gap:16px; padding:32px; background:#14241d; color:#e3d7b7; border:1px solid #ae965550; border-radius:16px; }
.expansion-collection { margin:32px 0; }
.expansion-collection .game-grid { grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); }
@media(max-width:600px) { .catalogue-tools{padding:14px}.catalogue-tools label{min-width:0;flex-basis:100%} }
/* Photographic catalogue sheets use the original cards' full-frame composition. */
.game-art-button .expansion-photo-cover { position:absolute; inset:0; display:block; width:100%; height:100%; overflow:hidden; background:#090d10; filter:none; }
.game-art-button .expansion-photo-atlas { position:absolute; display:block; width:300%; height:200%; max-width:none; object-fit:fill; }
/* Live catalogue details replace the generated reels, payouts and tickets inside the artwork. */
.game-art-button .expansion-photo-cover { container-type:size; }
.game-art-button .catalogue-screen-mask { position:absolute; z-index:2; box-sizing:border-box; overflow:hidden; pointer-events:none; border:3px ridge #c9a25c; border-radius:3px; background:#05130d; box-shadow:0 1px 4px #000; }
.game-art-button .catalogue-machine-preview { padding:3px; display:flex; flex-direction:column; gap:2px; }
.game-art-button .catalogue-preview-window { flex:1; min-height:0; width:100%; display:grid; place-items:center; container-type:size; }
.game-art-button .catalogue-preview-grid { display:grid; grid-template-columns:repeat(var(--preview-columns),minmax(0,1fr)); grid-template-rows:repeat(var(--preview-rows),minmax(0,1fr)); gap:1px; width:min(100cqw,calc(100cqh * var(--preview-ratio))); height:min(100cqh,calc(100cqw / var(--preview-ratio))); background:#b89752; }
.game-art-button .catalogue-preview-cell { display:flex; align-items:center; justify-content:center; min-width:0; min-height:0; overflow:hidden; background:#03120c; }
.game-art-button .catalogue-preview-cell .aurel-reel-symbol,.game-art-button .catalogue-preview-cell .realism-symbol-image { display:block; width:100%; height:100%; min-width:0; max-width:none; max-height:none; padding:0; margin:0; aspect-ratio:auto; }
.game-art-button .catalogue-preview-cell .aurel-reel-symbol { filter:none; }
.game-art-button .catalogue-preview-cell img,.game-art-button .catalogue-preview-cell svg { width:100%; height:100%; max-width:none; max-height:none; object-fit:contain; transform:none; }
.game-art-button .catalogue-preview-caption { display:block; flex:none; color:#ead69d; text-align:center; font:600 2.1cqw/1.25 Arial,sans-serif; letter-spacing:.06em; }
.game-art-button .catalogue-preview-symbol-name { font:6px/1.1 Arial,sans-serif; color:#eedcb1; text-align:center; }
.game-art-button .catalogue-joker-preview { left:18%; top:19%; width:65%; height:42%; padding:4%; display:flex; flex-direction:column; justify-content:center; gap:7%; background:radial-gradient(ellipse at top,#35283e,#100d18 75%); color:#f1dab0; text-align:center; }
.game-art-button .catalogue-preview-brand { display:block; color:#dec284; font:600 3cqw/1.2 Georgia,serif; letter-spacing:.28em; }
.game-art-button .catalogue-joker-preview>strong { font:600 3.2cqw/1.1 Georgia,serif; letter-spacing:.04em; }
.game-art-button .catalogue-preview-hand,.game-art-button .catalogue-preview-holds { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:3px; }
.game-art-button .catalogue-preview-card { display:flex; flex-direction:column; justify-content:space-around; aspect-ratio:.68; min-width:0; border:1px solid #cabd98; border-radius:2px; background:#f4ebcf; color:#10201b; }
.game-art-button .catalogue-preview-card b { font:700 3.6cqw/1 Georgia,serif; }
.game-art-button .catalogue-preview-card em { font:normal 6cqw/1 Georgia,serif; }
.game-art-button .catalogue-preview-card.is-red { color:#a12331; }
.game-art-button .catalogue-preview-card.is-joker { color:#672460; }
.game-art-button .catalogue-preview-card.is-joker b { font:700 1.8cqw/1 Arial,sans-serif; }
.game-art-button .catalogue-preview-holds { margin-top:-5%; }
.game-art-button .catalogue-preview-holds>span { border:1px solid #b89859; padding:2px 0; color:#f4e3b2; font:600 1.8cqw/1 Arial,sans-serif; }
.game-art-button .catalogue-joker-preview>small { font:2.4cqw/1.2 Arial,sans-serif; }
.game-art-button .catalogue-preview-salon { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 50%; filter:brightness(.5); }
.game-art-button .catalogue-bingo-composition { position:absolute; inset:5%; border:2px ridge #bc9453; border-radius:8px; padding:8% 4%; background:linear-gradient(#07372bed,#031e17ec); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7%; color:#f2deaa; text-align:center; }
.game-art-button .catalogue-bingo-composition>strong { font:600 8cqw/1.1 Georgia,serif; letter-spacing:.02em; }
.game-art-button .catalogue-bingo-composition>strong>b { display:block; margin-top:5%; font-size:16cqw; }
.game-art-button .catalogue-preview-balls { display:flex; justify-content:center; gap:8px; }
.game-art-button .catalogue-preview-balls>span { width:12cqw; aspect-ratio:1; display:grid; place-items:center; border:1px solid #b2945e; border-radius:50%; background:radial-gradient(circle at 35% 25%,#fffef1,#dec697 70%,#9b753d); box-shadow:0 3px 5px #0008; color:#342715; font:700 5cqw/1 Georgia,serif; }
.game-art-button .catalogue-preview-ticket { display:block; width:100%; padding:3px; background:#efe2c2; border:2px solid #b29a66; box-shadow:0 4px 10px #0008; color:#453622; }
.game-art-button .catalogue-ticket-title { display:block; margin-bottom:4px; font:700 3cqw/1.2 Georgia,serif; letter-spacing:.04em; }
.game-art-button .catalogue-ticket-grid { display:grid; grid-template-columns:repeat(9,minmax(0,1fr)); gap:1px; background:#a79061; border:1px solid #a79061; }
.game-art-button .catalogue-ticket-grid>span { display:grid; place-items:center; height:8cqw; background:#fff8e4; font:700 3.7cqw/1 Georgia,serif; }
.game-art-button .catalogue-ticket-grid>span:empty { background:#d5c5a0; }
.game-art-button .catalogue-bingo-composition>small { font:2.4cqw/1.3 Arial,sans-serif; letter-spacing:.05em; }
.expansion-kicker { position:relative; display:block; color:#f0d39a; font-size:9px; line-height:1.5; font-weight:600; letter-spacing:2px; text-shadow:0 2px 5px #000; }
.aurel-reel-symbol { position:relative; z-index:1; display:inline-block; flex:none; width:min(96%,calc(var(--aurel-reel-row) - 8px)); max-width:108px; aspect-ratio:1; overflow:visible; filter:drop-shadow(0 3px 3px #000c); }
.expansion-reel-symbol svg { display:block; width:100%; height:100%; overflow:visible; }
.expansion-reel { display:grid; grid-template-rows:repeat(var(--reel-rows),minmax(0,1fr)); gap:4px; height:calc(var(--reel-rows) * var(--expansion-cell-height)); --expansion-cell-height:clamp(66px,9vw,99px); position:relative; }
.expansion-symbol { display:flex; flex-direction:column; align-items:center; justify-content:center; width:100%; height:100%; padding:3px 3px 5px; color:var(--symbol-accent,var(--expansion-accent)); }
.expansion-symbol svg { display:block; width:auto; height:calc(100% - 16px); max-width:77%; min-height:20px; max-height:78px; filter:drop-shadow(0 3px 2px #0005); }
.expansion-symbol-name { display:block; color:#e2e1d7; width:100%; max-width:100%; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; text-align:center; font-size:10px; line-height:13px; font-weight:500; letter-spacing:.15px; }
.expansion-reels .expansion-reel-cell.is-feature-symbol { background:linear-gradient(145deg,#dec9951f,var(--expansion-primary)); border-color:#c6a66e69; }
.expansion-reels .expansion-reel-cell.is-winning { border:2px solid #f0d5a1; background:linear-gradient(135deg,#d7bd7d42,var(--expansion-primary)); box-shadow:inset 0 0 15px #e7ca7930; }
.expansion-reels .expansion-reel-cell.is-locked { border-color:#e5c795; }
.expansion-token-value { position:absolute; top:36%; left:7%; right:7%; padding:4px 1px; background:#182129f0; color:#f2d7a6; border:1px solid #d6bd8377; border-radius:5px; text-align:center; font-size:clamp(10px,1.6vw,16px); line-height:1.2; }
.expansion-token-value small { display:block; font-size:8px; font-weight:400; }
.expansion-cell-multiplier { position:absolute; top:2px; right:2px; padding:3px; min-width:19px; color:#172126; background:#d8c79b; border-radius:4px; font-size:9px; font-weight:bold; }
.expansion-reel.is-walking { outline:1px solid #e8c493; outline-offset:-1px; border-radius:8px; }
.expansion-window-light { position:absolute; pointer-events:none; inset:0; box-shadow:inset 0 5px 8px #0007,inset 0 -5px 8px #0006; border-radius:8px; }
.expansion-paytable-scroll:focus-visible { outline:3px solid #f8dc95; outline-offset:3px; }
.expansion-information { width:min(100%,870px); margin:17px auto 0; padding:25px 26px; background:#17212cee; border:1px solid #ab946154; border-radius:12px; box-shadow:0 4px 12px #0003; }
.expansion-information h3 { margin:6px 0 15px; font:500 26px/1.2 Georgia,serif; color:#f1dfb6; }
.expansion-information p,.expansion-information li { color:#c8d1d3; font-size:12px; line-height:1.8; }
.expansion-information ol { padding-left:22px; margin:15px 0; }
.expansion-information li { padding-left:5px; margin:7px 0; }
.expansion-playback-explanation { padding:13px; background:var(--expansion-primary); border-radius:8px; }
.expansion-paytable-scroll { overflow:auto; border:1px solid #b29b6677; border-radius:7px; }
.expansion-paytable-scroll table { width:100%; min-width:420px; border-collapse:collapse; text-align:center; font-size:12px; }
.expansion-paytable-scroll caption { color:#becace; padding:12px 8px; background:#101923; font-size:10px; line-height:1.5; text-align:left; }
.expansion-paytable-scroll th,.expansion-paytable-scroll td { padding:9px 7px; border-bottom:1px solid #b7a68224; }
.expansion-paytable-scroll thead th { color:#e3c68d; background:#222c35; font-size:11px; }
.expansion-paytable-scroll tbody th { width:150px; }
.expansion-paytable-scroll tr:nth-child(even) { background:#d6c99b04; }
.expansion-paytable-scroll .expansion-symbol { flex-direction:row; gap:7px; justify-content:flex-start; }
.expansion-paytable-scroll .expansion-symbol svg { width:27px; height:27px; min-width:27px; }
.expansion-paytable-scroll .expansion-symbol-name { text-align:left; white-space:normal; line-height:1.3; font-size:11px; }
.expansion-bonus { display:grid; grid-template-columns:1fr 1.4fr; align-items:center; gap:20px; padding:18px 23px; margin:2px 20px 14px; border-radius:10px; border:1px solid #b7a06860; background:linear-gradient(120deg,var(--expansion-primary),#151d27); }
.expansion-bonus h3 { margin:5px 0 8px; color:#f1deae; font:500 22px/1.2 Georgia,serif; }
.expansion-bonus p { margin:0; font-size:10px; line-height:1.7; color:#bfcccf; }
.expansion-bonus>div>strong { display:block; margin-top:12px; color:#e3c992; font-size:12px; }
.expansion-picks { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.expansion-pick { display:flex; flex-direction:column; align-items:center; gap:7px; padding:15px 5px; min-width:0; border:1px solid #d3b77d88; border-radius:8px; background:linear-gradient(#cab28523,#1d2630); color:#dfc18a; box-shadow:inset 0 0 0 3px #c5ad6520; }
.expansion-pick small { font-size:7px; letter-spacing:1px; }
.expansion-pick strong { color:#f5e1b5; font:500 22px/1.2 Georgia,serif; overflow-wrap:anywhere; }
.expansion-pick>span { font-size:8px; color:#bac8ca; }
.expansion-wheel-bonus { grid-template-columns:1fr 190px; }
.expansion-wheel { position:relative; width:184px; height:184px; border:8px solid #b29462; border-radius:50%; background:repeating-conic-gradient(#655448 0 45deg,#343b46 45deg 90deg); box-shadow:0 0 0 2px #ecce98,inset 0 0 0 3px #8e7858; }
.expansion-wheel span { position:absolute; left:calc(50% - 18px); top:calc(50% - 12px); width:36px; height:24px; line-height:24px; font-size:12px; text-align:center; color:#ddd5c1; transform:rotate(calc(var(--segment) * 45deg + 22.5deg)) translateY(-61px) rotate(calc(var(--segment) * -45deg - 22.5deg)); }
.expansion-wheel span.is-selected { border:1px solid #fff2ce; border-radius:4px; background:#e9d4a6; color:#17252c; font-weight:bold; }
.expansion-wheel b { position:absolute; inset:calc(50% - 23px); display:flex; justify-content:center; align-items:center; border:3px solid #c5a776; border-radius:50%; background:#283139; color:#e3c692; font:500 25px/1 Georgia,serif; }
.expansion-window-glass { border:2px solid #030506; border-radius:3px; background:#020407; box-shadow:0 0 0 1px #b9b59855,inset 0 0 20px #000; }
.expansion-reels { position:relative; display:grid; grid-template-columns:repeat(var(--expansion-reel-columns),minmax(0,1fr)); align-items:center; gap:2px; min-height:calc(var(--expansion-reel-rows) * var(--expansion-reel-row)); }
.expansion-reel { align-self:center; height:calc(var(--expansion-strip-rows) * var(--expansion-reel-row)); background:linear-gradient(90deg,#030507,#0d1218 30%,#111720 50%,#0b1118 74%,#020405); }
.expansion-reel-track { display:grid; grid-template-rows:repeat(var(--expansion-strip-rows),var(--expansion-reel-row)); }
.expansion-reel-cell { height:var(--expansion-reel-row); min-height:var(--expansion-reel-row); padding:3px 7px; background:radial-gradient(ellipse at 50% 48%,#ffffff0b,transparent 62%); }
.expansion-reel-cell::before { content:""; position:absolute; right:8%; bottom:0; left:8%; height:1px; background:linear-gradient(90deg,transparent,#e6ca916b,transparent); }
.expansion-reel-cell::after { content:""; position:absolute; inset:4px 3px; pointer-events:none; border:1px solid #e2c38b13; border-radius:50%; box-shadow:inset 0 0 13px #0005; }
.expansion-reels .aurel-reel-symbol { width:min(96%,calc(var(--expansion-reel-row) - 8px)); max-width:108px; }
.expansion-reels .pokie-glass-shine { z-index:4; }
.expansion-rows-3 { --expansion-reel-row:98px; }
.expansion-rows-4 { --expansion-reel-row:74px; }
.expansion-rows-5 { --expansion-reel-row:58px; }
.expansion-rows-6 { --expansion-reel-row:48px; }
.expansion-rows-7 { --expansion-reel-row:42px; }
.expansion-rows-8 { --expansion-reel-row:38px; }
.expansion-reel.is-walking { outline:1px solid #f1d39a; outline-offset:-1px; border-radius:0; box-shadow:inset 0 0 18px #e0ba6e5e,0 0 11px #dfbd7d57; }
@media(max-width:650px) {
    .expansion-rows-3 { --expansion-reel-row:70px; }
    .expansion-rows-4 { --expansion-reel-row:58px; }
    .expansion-rows-5 { --expansion-reel-row:47px; }
    .expansion-rows-6 { --expansion-reel-row:39px; }
    .expansion-rows-7 { --expansion-reel-row:34px; }
    .expansion-rows-8 { --expansion-reel-row:31px; }
    .expansion-reel-cell { padding:3px 1px; }
}
.expansion-reels.is-revealing .expansion-reel { animation:expansion-reel-reveal .43s both; animation-delay:calc(var(--reel-index) * 40ms); }
.expansion-reels.is-revealing .expansion-reel.has-sticky-locks { animation:none; }
.expansion-reels.is-revealing .expansion-reel.has-sticky-locks .expansion-reel-cell:not(.is-locked) { animation:expansion-reel-reveal .43s both; animation-delay:calc(var(--reel-index) * 40ms); }
.expansion-comfort .expansion-reels.is-revealing .expansion-reel.has-sticky-locks .expansion-reel-cell:not(.is-locked) { animation:none; }
.expansion-reels.is-revealing .expansion-reel-cell.is-winning { box-shadow:none; }
.expansion-comfort .expansion-reels.is-revealing .expansion-reel { animation:none; }
.expansion-comfort .expansion-scene img { filter:none; opacity:.24; }
.expansion-comfort .expansion-symbol-name { font-size:11px; }
@keyframes expansion-reel-reveal { from { opacity:.32; transform:translateY(-15px); filter:blur(2px); } to { opacity:1; transform:translateY(0); filter:none; } }
@media(prefers-reduced-motion:reduce) { .expansion-reels.is-revealing .expansion-reel { animation:none; } }
@media(prefers-reduced-motion:reduce) { .expansion-reels.is-revealing .expansion-reel.has-sticky-locks .expansion-reel-cell:not(.is-locked) { animation:none; } }

@media(max-width:650px) { .aurel-reel-symbol { width:min(97%,calc(var(--expansion-reel-row) - 5px)); } .expansion-reel { gap:3px; --expansion-cell-height:clamp(57px,14vw,82px); } .expansion-symbol { padding:2px 1px 3px; } .expansion-symbol svg { max-width:86%; } .expansion-symbol-name { font-size:8px; line-height:11px; } .expansion-comfort .expansion-symbol-name { font-size:9px; } .expansion-information { padding:20px 15px; } .expansion-information h3 { font-size:23px; } .expansion-bonus { margin:2px 10px 13px; padding:14px 12px; gap:13px; grid-template-columns:1fr; } .expansion-pick { padding:12px 5px; } .expansion-wheel-bonus { grid-template-columns:1fr 150px; } .expansion-wheel { width:148px; height:148px; border-width:6px; } .expansion-wheel span { transform:rotate(calc(var(--segment) * 45deg + 22.5deg)) translateY(-47px) rotate(calc(var(--segment) * -45deg - 22.5deg)); font-size:10px; width:30px; left:calc(50% - 15px); } }
@media(max-width:380px) { .expansion-symbol-name { font-size:7px; } .expansion-wheel-bonus { grid-template-columns:1fr; } .expansion-wheel { margin:auto; } }

/* Information panels use the same symbol artwork as the actual reels. */
.expansion-feature-key { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:16px 0 22px; }
.expansion-feature-key>div { display:flex; align-items:center; gap:10px; min-width:0; padding:10px; border:1px solid #b29b6655; border-radius:6px; background:#101923; }
.expansion-feature-key .aurel-reel-symbol { width:46px; height:46px; }
.expansion-feature-key b { display:block; font-size:11px; line-height:1.5; }
.expansion-feature-key small { display:block; color:#c8d1d3; font-size:11px; line-height:1.6; }
.expansion-reels .expansion-reel-cell.is-locked { box-shadow:inset 0 0 0 2px #e5c795; }
.expansion-reels .expansion-reel-cell.is-winning { border-radius:4px; }
.expansion-token-value,.expansion-cell-multiplier { z-index:5; }
.expansion-information { scroll-margin-top:80px; }
.expansion-paytable-cards { display:none; }
.expansion-reels.is-revealing .expansion-reel-cell.is-winning { border-color:transparent; box-shadow:none; }
@media(max-width:650px) {
    .expansion-feature-key { grid-template-columns:1fr; }
    .expansion-paytable-scroll table { min-width:0; font-size:10px; }
    .expansion-paytable-scroll th,.expansion-paytable-scroll td { padding:8px 3px; }
    .expansion-paytable-scroll tbody th { width:92px; }
    .expansion-paytable-scroll .expansion-symbol { flex-direction:column; gap:3px; }
    .expansion-paytable-scroll .expansion-symbol-name { text-align:center; font-size:10px; }
    .expansion-paytable-scroll { display:none; }
    .expansion-paytable-cards { display:grid; gap:12px; }
    .expansion-paytable-cards article { min-width:0; padding:12px; border:1px solid #b29b6677; border-radius:7px; background:#101923; }
    .expansion-paytable-cards h4 { margin:0 0 12px; }
    .expansion-paytable-cards .expansion-symbol { flex-direction:row; justify-content:flex-start; gap:10px; }
    .expansion-paytable-cards .expansion-symbol svg { width:32px; height:32px; max-width:none; }
    .expansion-paytable-cards .expansion-symbol-name { width:auto; text-align:left; white-space:normal; font-size:13px; }
    .expansion-paytable-cards dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px 5px; margin:0; }
    .expansion-paytable-cards dt { font-size:10px; color:#becace; }
    .expansion-paytable-cards dd { margin:3px 0 0; font-size:13px; color:#f1dfb6; }
}

/* The original AUREL cabinet supplies all housing, meters, deck and hardware. */
.expansion-machine { --expansion-primary:#183f35; --expansion-accent:#badfc9; }
.expansion-topper .machine-scene-art { background-position:var(--expansion-scene-position); }
.expansion-topper { background:var(--expansion-primary); }
.expansion-reel-cell::before,.expansion-reel-cell::after { display:none; }
.expansion-topper .pokie-topper-copy { margin-inline:110px; }
.expansion-topper .machine-title-pre { font-size:clamp(17px,2vw,24px); }
.expansion-topper h2>strong { font-size:clamp(31px,4vw,49px); }
.expansion-topper p { display:block; font-size:6px; letter-spacing:.6px; }
.expansion-rows-3 { --expansion-reel-row:var(--reel-row); }
@media(max-width:650px) {
 .expansion-topper .pokie-topper-copy { margin-inline:55px; }
 .expansion-topper .machine-title-pre { font-size:15px; }
 .expansion-topper h2>strong { font-size:clamp(17px,5.7vw,29px); }
 .expansion-topper p { font-size:5px; line-height:1.5; }
}
.expansion-celebration { position:absolute; inset:0; z-index:12; display:grid; place-items:center; overflow:hidden; background:rgba(5,9,14,.91); color:#fff0bd; text-align:center; border:3px solid #f4ce73; box-shadow:inset 0 0 45px #bd863969; }
.expansion-celebration-card { position:relative; z-index:1; width:min(92%,560px); padding:22px 12px; }
.expansion-celebration h3 { margin:12px 0; font-size:clamp(24px,5vw,52px); color:#ffe7a3; text-shadow:0 0 24px #dcae55; }
.expansion-celebration-amount { display:block; font-size:clamp(36px,7vw,72px); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.expansion-celebration p { font-size:12px; font-weight:800; letter-spacing:.06em; line-height:1.6; }
.expansion-celebration small { display:block; margin:12px 0 20px; line-height:1.6; }
.expansion-celebration .machine-overlay-primary { max-width:100%; white-space:normal; }
.expansion-celebration-rays { position:absolute; inset:-50%; background:repeating-conic-gradient(from 0deg,#e8bd6518 0deg 12deg,transparent 12deg 30deg); animation:expansion-celebration-turn 14s linear infinite; }
.expansion-celebration:not(.is-still) .expansion-celebration-amount { animation:expansion-celebration-glow 1.6s ease-in-out infinite alternate; }
.expansion-celebration[data-win-tier="big"], .expansion-celebration[data-win-tier="huge"], .expansion-celebration[data-win-tier="mega"] { border-width:5px; box-shadow:inset 0 0 75px #ffd07388,0 0 22px #ffd07388; }
.expansion-celebration[data-win-tier="huge"] { background:rgba(29,10,35,.94); }
.expansion-celebration[data-win-tier="mega"] { background:rgba(19,8,37,.94); border-color:#fff0ab; }
.expansion-celebration[data-win-tier="mega"] .expansion-celebration-rays { background:repeating-conic-gradient(#ffe49135 0deg 9deg,transparent 9deg 23deg); }
.expansion-celebration.is-still *, .expansion-comfort .expansion-celebration * { animation:none!important; }
@keyframes expansion-celebration-turn { to { transform:rotate(360deg); } }
@keyframes expansion-celebration-glow { from { text-shadow:0 0 8px #ffcb6670; } to { text-shadow:0 0 30px #ffcb66; } }
@media(prefers-reduced-motion:reduce) { .expansion-celebration * { animation:none!important; } }
.expansion-reels.is-revealing .expansion-reel { animation:none; }
.expansion-reel.reel-motion-active .expansion-reel-track { display:block; }
.expansion-held-overlay { position:absolute; left:0; right:0; z-index:6; background:#0d1716; }
.expansion-information .expansion-symbol-name { overflow:visible; text-overflow:clip; white-space:normal; line-height:1.5; min-width:0; }
.expansion-reels.is-revealing .expansion-reel.reel-motion-active .expansion-reel-cell { animation:none; }
/* Keep Midnight Royale's specification line inside its shorter jackpot topper. */
.has-jackpots .slot-top { padding-top:3px; }
.has-jackpots .slot-top .slot-original { display:block; line-height:1.2; }
.has-jackpots .slot-top h2 { margin:1px 0 2px; }
.has-jackpots .slot-top .machine-title-pre { font-size:14px; line-height:1; }
.has-jackpots .slot-top h2>em { font-size:28px; line-height:1; }
.has-jackpots .slot-top .slot-tag { display:block; line-height:1.3; }
/* Short browser windows must not crop the marquee's specification line. */
.game-view #game-surface .pokie-topper,
.game-view #game-surface .slot-top { height:auto; min-height:95px; }
.game-view #game-surface .pokie-topper-copy>span,
.game-view #game-surface .slot-original { display:block; }
.expansion-topper .pokie-topper-copy { padding-block:12px 9px; }
.expansion-topper p { font-size:9px; line-height:1.5; letter-spacing:.2px; overflow-wrap:anywhere; }
.expansion-topper .pokie-topper-copy>span { font-size:8px; line-height:1.5; }
@media(max-width:650px) {
 .expansion-topper .pokie-topper-copy { margin-inline:45px; }
 .expansion-topper p { font-size:8px; }
}
/* Original AUREL table salons. Cards reuse the club's owned engraved artwork. */
.expansion-table-root{--ext-felt:#153b3a;--ext-gold:#d5be86;min-width:0;color:#efe7d6;background:#10191b;border:1px solid #b3995c66;border-radius:24px;padding:clamp(16px,2.5vw,30px);box-shadow:0 28px 60px #0006,inset 0 0 0 5px #091112;overflow:hidden}
.expansion-table-root *{box-sizing:border-box}
.ext-salon-top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:2px 4px 24px;border-bottom:1px solid #bda0653d;margin-bottom:24px}
.ext-eyebrow{display:block;color:var(--ext-gold);font-size:10px;letter-spacing:2.3px;font-weight:700;line-height:1.5}
.ext-salon-top h2{font:400 clamp(25px,3vw,37px)/1.15 Georgia,serif;color:#f7eedc;letter-spacing:-.5px;margin:9px 0}
.ext-salon-top p{font-size:13px;line-height:1.6;color:#bdbeb4;margin:0;max-width:660px}
.ext-mode{display:flex;align-items:center;gap:3px;flex-shrink:0;background:#090f10;border:1px solid #b3965a4d;border-radius:30px;padding:5px}
.ext-mode button{font-family:inherit;font-weight:600;font-size:12px;line-height:1.3;color:#d1c6ae;background:transparent;border:1px solid transparent;border-radius:20px;padding:9px 13px;cursor:pointer}
.ext-mode button.selected{background:#c4ab70;color:#141c1d;border-color:#edcf8c}
.ext-mode button:disabled{opacity:.5;cursor:default}
.ext-practice-notice{border:1px solid #97c4ab66;background:#173d304d;padding:12px 16px;border-radius:9px;font-size:13px;color:#d8f0df;margin:0 0 20px}
.ext-salon-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(245px,300px);gap:24px;align-items:start}
.ext-main{min-width:0}
.ext-felt{position:relative;isolation:isolate;min-height:390px;border:9px solid #59412c;border-radius:28px 28px 70px 70px;padding:35px 24px 26px;background:radial-gradient(ellipse at 50% 45%,#ffffff0b 0,transparent 65%),repeating-linear-gradient(115deg,#ffffff02 0 1px,transparent 1px 3px),var(--ext-felt);box-shadow:0 14px 24px #0006,inset 0 0 50px #0006,0 0 0 1px #d1b178,0 0 0 4px #201815;overflow:hidden}
.ext-felt-border{position:absolute;z-index:-1;inset:11px;border:1px solid #dcc39154;border-radius:15px 15px 50px 50px;pointer-events:none}
.ext-felt:before,.ext-felt:after{content:'';position:absolute;z-index:-1;width:70px;height:70px;top:18px;left:18px;border:1px solid #c8ac6c36;transform:rotate(45deg);pointer-events:none}
.ext-felt:after{left:auto;right:18px}
.ext-salon-equipment{position:absolute;top:30px;right:33px;display:flex;align-items:center;gap:16px;opacity:.8;transform:scale(.65);transform-origin:top right;pointer-events:none}
.ext-salon-equipment .card-shoe{position:static;width:65px;height:35px;display:grid;place-items:center;border:1px solid #c4a96b66;background:linear-gradient(135deg,#635237,#201d16);font-size:8px;letter-spacing:1.5px;color:#dac38a}
.ext-zone-label{color:#deceb0;font-size:11px;letter-spacing:1.3px;font-weight:700;line-height:1.7;text-align:center;margin:0 0 10px}
.ext-cards{display:flex;align-items:center;justify-content:center;gap:9px;min-width:0;flex-wrap:wrap}
.expansion-table-root .playing-card{position:relative;flex:0 0 auto;width:clamp(56px,5.4vw,76px);height:clamp(81px,7.9vw,110px);border-radius:5px;box-shadow:2px 5px 8px #0005;margin:0;max-width:100%}
.expansion-table-root .playing-card .card-corner{font-size:13px}
.expansion-table-root .playing-card .pip{font-size:18px}
.expansion-table-root .playing-card .ace-pip{font-size:35px}
.expansion-table-root .playing-card .court-portrait{height:100%;width:100%}
.ext-dealer{margin:auto;position:relative;z-index:1}
.ext-table-mark{display:flex;flex-direction:column;align-items:center;gap:6px;color:#ddc39092;margin:17px 0 20px;pointer-events:none}
.ext-table-mark .crest{height:28px}
.ext-table-mark>span{font-family:Georgia,serif;font-size:22px;letter-spacing:7px;margin-left:7px}
.ext-table-mark small{font-size:9px;letter-spacing:1.1px;text-align:center}
.ext-player-hands{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;position:relative;z-index:1}
.ext-two-hands{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ext-player-hand{padding:12px 6px 10px;border:1px solid #d8ba7442;border-radius:15px;background:#07191919;min-width:0}
.ext-active-hand{border-color:#f8dc99;box-shadow:0 0 0 2px #f8dc9926;background:#e0bb6c0a}
.ext-player-hand>small{display:block;text-align:center;font-size:10px;letter-spacing:1px;color:#ded1b6;margin-top:10px}
.ext-community{margin:20px auto 0}
.ext-casino-holdem-club .ext-table-mark{margin:14px 0}
.ext-casino-holdem-club .ext-felt{padding-bottom:20px}
.ext-bank-meters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:22px 0 16px;background:#080f10;border:1px solid #bca26855;border-radius:9px;overflow:hidden;box-shadow:0 3px 8px #0002}
.ext-bank-meters>div{padding:14px 8px;text-align:center;min-width:0;border-right:1px solid #bca26826}
.ext-bank-meters>div:last-child{border-right:0}
.ext-bank-meters span{display:block;color:#b9af97;font-size:8px;font-weight:700;letter-spacing:1px;line-height:1.5;min-height:14px}
.ext-bank-meters strong{display:block;font-family:Georgia,serif;color:#eed398;font-size:clamp(17px,2vw,24px);font-weight:400;line-height:1.3;margin-top:5px;overflow-wrap:anywhere}
.ext-round-status .round-result{padding:12px;border-radius:8px;border:1px solid #c4ab7240;margin:0;background:#09111366;min-height:64px}
.ext-round-status .round-result strong{font-size:14px;line-height:1.4}
.ext-context-tip{font-size:12px;line-height:1.7;color:#bbbdb4;min-height:42px;margin:14px 3px}
.ext-round-controls{display:grid;gap:18px;border-top:1px solid #b2966042;padding-top:16px}
.ext-round-controls .stake-select{min-width:0}
.ext-round-controls .control-label{font-size:9px;letter-spacing:1.2px;color:#bbae91}
.ext-round-controls .stake-options{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}
.ext-round-controls .chip-choice{min-width:40px;min-height:40px;font-size:12px}
.ext-action-bank{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.ext-action-bank .button{min-height:45px;font-size:13px;line-height:1.4;white-space:normal}
.ext-cancel{font-size:11px!important;padding:11px 14px!important;color:#c9bdab!important}
.ext-commitment{font-size:11px;color:#c1b59e;line-height:1.7;margin:16px 2px 0}
.ext-rules-panel{background:linear-gradient(145deg,#1b2728,#111d1f);border:1px solid #c6a76d3d;border-radius:13px;padding:20px;min-width:0}
.ext-rules-panel h3{font:400 24px/1.2 Georgia,serif;color:#efe1c4;margin:9px 0 18px}
.ext-rules-panel h4{color:#d9be86;font:400 18px/1.2 Georgia,serif;margin:21px 0 13px}
.ext-rules-panel ol{padding-left:18px;margin:0;color:#cccbc1;font-size:11px;line-height:1.8}
.ext-rules-panel li{padding-left:3px;margin-bottom:11px}
.ext-rules-panel li::marker{color:#d2b479}
.ext-paytable{overflow-x:auto;border:1px solid #baa16d33;border-radius:7px;background:#0a1416}
.ext-paytable table{border-collapse:collapse;width:100%;font-size:10px;line-height:1.65}
.ext-paytable thead{background:#c0a26a14;color:#d7c594}
.ext-paytable th,.ext-paytable td{padding:8px;border-bottom:1px solid #baa16d24;text-align:left}
.ext-paytable tbody th{font-weight:400;color:#d7d5ca}
.ext-paytable td{font-weight:700;color:#f0d399;text-align:right;white-space:nowrap;font-size:12px}
.ext-paytable tr:last-child th,.ext-paytable tr:last-child td{border-bottom:0}
.ext-table-note,.ext-credit-note{font-size:10px;line-height:1.8;color:#c7c0af;margin:0 0 12px}
.ext-credit-note{margin:17px 0 0;color:#bbb39e}
.ext-learning{margin-top:22px;border:1px solid #d2b57770;border-radius:12px;padding:22px;background:#bfa2690d}
.ext-learning h3{font:400 23px/1.3 Georgia,serif;margin:8px 0 12px;color:#eed8a5}
.ext-learning p{color:#d4d0c3;font-size:13px;line-height:1.8;margin:12px 0 0;max-width:1000px}
.ext-joker-hand{display:flex;align-items:center;justify-content:center;gap:12px;position:relative;margin:67px 0 32px;z-index:1}
.ext-hold-card{border:1px solid transparent;border-radius:7px;background:transparent;padding:6px 4px 0;cursor:pointer;min-width:0;display:flex;flex-direction:column;align-items:center;color:#c9b88c}
.ext-hold-card>span{display:block;font-size:10px;font-weight:700;letter-spacing:1.4px;margin:10px 0 6px;border-radius:4px;padding:6px 7px;line-height:1.2;min-width:55px;border:1px solid #d3ba7e55;background:#0d1317}
.ext-hold-card.ext-held{border-color:#f2d9a0;background:#e4c88910}
.ext-hold-card.ext-held>span{background:#d6b972;border-color:#f2d9a0;color:#172122}
.ext-hold-card:disabled{cursor:default}
.ext-joker{background:linear-gradient(135deg,#f7ebd2,#e9d9b6);border:1px solid #b39865;color:#473457;display:grid;place-items:center;overflow:hidden}
.ext-joker svg{width:65%;height:80%}
.ext-joker>strong{position:absolute;bottom:6px;left:0;right:0;text-align:center;font-size:9px;letter-spacing:2px}
.ext-joker-corner{position:absolute;top:6px;left:5px;font-family:Georgia,serif;font-size:7px;line-height:1.2;font-weight:700}
.ext-joker-poker .ext-felt:after{content:'53 CARD · SINGLE DRAW';width:auto;height:auto;transform:none;left:0;right:0;top:35px;text-align:center;border:0;color:#ead7b36b;font-size:10px;letter-spacing:2px}
.ext-draw-felt{border-radius:24px;min-height:340px;padding:50px 20px 24px}
.ext-draw-felt .ext-felt-border{border-radius:13px}
.ext-bingo-display{display:grid;grid-template-columns:105px minmax(0,1fr);gap:20px;align-items:center;position:relative;z-index:1}
.ext-ball-well{text-align:center;min-width:0}
.ext-ball{display:grid;place-items:center;font:400 42px/1 Georgia,serif;width:94px;height:94px;border-radius:50%;color:#233944;background:radial-gradient(circle at 34% 27%,#fff6dc 3%,#e9d399 55%,#9a7d40 95%);border:5px solid #c1a568;box-shadow:0 7px 15px #0005,inset 0 0 0 1px #fff7d7,inset 0 0 0 9px #fff3c56b;margin:auto}
.ext-ball-well p{font-size:11px;line-height:1.5;color:#e7d3a6;margin:13px 0 6px}
.ext-ball-well>span{font-size:9px;letter-spacing:.6px;color:#c0c6bc}
.ext-ticket-wrap{background:#f1e6cb;color:#23383f;border-radius:7px;border:2px solid #ddc58b;box-shadow:0 6px 15px #0004;overflow:hidden;min-width:0}
.ext-ticket-heading{padding:12px 11px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;background:#e3d2aa;border-bottom:1px solid #826a464d}
.ext-ticket-heading>span{font:600 10px/1.3 Georgia,serif;letter-spacing:1.1px}
.ext-ticket-heading small{font-size:7px;letter-spacing:.8px}
.ext-bingo-ticket{border-collapse:collapse;width:100%;table-layout:fixed}
.ext-bingo-ticket th{font-size:7px;line-height:1.5;padding:8px 0;font-weight:600;border-bottom:1px solid #826a464d;background:#f0e1bb}
.ext-bingo-ticket td{position:relative;text-align:center;font:400 clamp(15px,1.7vw,22px)/1.5 Georgia,serif;height:43px;border:1px solid #96794c4d;background:#f8efd9;padding:3px 0}
.ext-bingo-ticket td.ext-marked{color:#f7efd9;background:#365752;font-weight:700}
.ext-bingo-ticket td.ext-marked span{position:absolute;font:600 7px/1 sans-serif;top:3px;right:3px;color:#f7ddb1}
.ext-bingo-ticket td:not(.ext-marked)>span{color:#bdab85}
.ext-bingo-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:25px;position:relative;z-index:1}
.ext-bingo-stages>div{border:1px solid #d9bd774a;border-radius:8px;padding:12px 6px;text-align:center;background:#071b1b48;min-width:0}
.ext-bingo-stages>div.ext-stage-earned{border-color:#efcf88;background:#d6b57018}
.ext-bingo-stages span{display:block;font-size:8px;font-weight:600;letter-spacing:.4px;color:#d0c7b0;line-height:1.5}
.ext-bingo-stages strong{display:block;font:400 16px/1.3 Georgia,serif;color:#f1dbac;margin:5px 0}
.ext-bingo-stages small{font-size:9px;color:#d9d2bb;line-height:1.5}
.ext-called{margin:18px 0 0;color:#e5d6b6;font-size:11px;position:relative;z-index:1}
.ext-called summary{cursor:pointer;padding:6px}
.ext-called>div{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px;max-height:160px;overflow:auto}
.ext-called span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#d4ba80;color:#203a3b;font-size:11px}
.expansion-table-root button:focus-visible,.ext-called summary:focus-visible{outline:3px solid #f2d394;outline-offset:4px}
.expansion-table-root>.game-footnote{margin-top:20px;font-size:10px;line-height:1.7;flex-wrap:wrap}
.comfort-mode .ext-rules-panel ol,.comfort-mode .ext-paytable table,.comfort-mode .ext-table-note,.comfort-mode .ext-credit-note{font-size:14px}
.comfort-mode .ext-zone-label,.comfort-mode .ext-context-tip,.comfort-mode .ext-commitment{font-size:14px}
.comfort-mode .ext-bank-meters span{font-size:14px}
.comfort-mode .ext-paytable td{font-size:14px}
.reduced-motion .expansion-table-root *,.comfort-mode .expansion-table-root *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(min-width:1500px){.ext-salon-layout{grid-template-columns:minmax(0,1fr) 330px}.expansion-table-root .playing-card{width:83px;height:120px}.ext-felt{min-height:430px}}
@media(max-width:1150px){.ext-salon-layout{grid-template-columns:minmax(0,1fr)}.ext-rules-panel{padding:22px}.ext-rules-panel ol{columns:2;column-gap:32px;font-size:12px}.ext-rules-panel li{break-inside:avoid}.ext-rules-panel .ext-paytable{max-width:720px}.ext-felt{min-height:390px}.expansion-table-root .playing-card{width:73px;height:105px}.ext-bingo-display{grid-template-columns:120px minmax(0,1fr)}.ext-ball{width:104px;height:104px}.ext-bingo-ticket td{font-size:23px;height:48px}}
@media(max-width:650px){.expansion-table-root{padding:16px;border-radius:16px}.ext-salon-top{flex-direction:column;align-items:flex-start;gap:16px}.ext-salon-top h2{font-size:27px}.ext-salon-top p{font-size:12px}.ext-mode{align-self:stretch;justify-content:space-between}.ext-mode button{flex:1}.ext-felt{padding:32px 12px 21px;min-height:340px;border-width:6px;border-radius:22px 22px 40px 40px}.ext-felt-border{inset:8px;border-radius:12px 12px 30px 30px}.ext-salon-equipment{right:20px;top:20px;opacity:.45;transform:scale(.5)}.expansion-table-root .playing-card{width:55px;height:80px}.expansion-table-root .playing-card .card-corner{font-size:10px}.expansion-table-root .playing-card .pip{font-size:14px}.expansion-table-root .playing-card .ace-pip{font-size:27px}.ext-cards{gap:5px}.ext-two-hands{gap:8px}.ext-player-hand{padding:10px 2px}.ext-zone-label{font-size:9px;letter-spacing:.5px}.ext-bank-meters{grid-template-columns:repeat(2,minmax(0,1fr))}.ext-bank-meters>div:nth-child(2){border-right:0}.ext-bank-meters>div:nth-child(-n+2){border-bottom:1px solid #bca26826}.ext-bank-meters span{font-size:9px}.ext-bank-meters strong{font-size:21px}.ext-action-bank .button{flex:1;min-width:120px}.ext-cancel{flex-basis:100%!important}.ext-rules-panel{padding:17px}.ext-rules-panel ol{columns:1;font-size:12px}.ext-paytable table{font-size:11px}.ext-salon-layout{gap:22px}.ext-joker-hand{gap:2px;margin:63px 0 24px}.ext-hold-card{padding:4px 1px}.ext-hold-card>span{min-width:45px;font-size:8px;padding:6px 3px}.ext-bingo-display{grid-template-columns:1fr;gap:17px}.ext-ball-well{display:grid;grid-template-columns:70px 1fr;align-items:center;text-align:left;column-gap:16px;padding:0 12px}.ext-ball{width:70px;height:70px;font-size:32px;grid-row:span 2;margin:0}.ext-ball-well p{margin:0;font-size:12px}.ext-ball-well>span{align-self:start}.ext-draw-felt{padding:32px 12px 22px;border-radius:20px}.ext-draw-felt .ext-felt-border{border-radius:10px}.ext-bingo-ticket th{font-size:7px}.ext-bingo-ticket td{font-size:20px;height:43px}.ext-ticket-heading{padding:10px 8px}.ext-bingo-stages strong{font-size:14px}.ext-bingo-stages span{font-size:8px}.ext-learning{padding:17px}.ext-learning p{font-size:12px}.ext-table-mark{margin:15px 0}.ext-table-mark small{font-size:8px}}
@media(prefers-reduced-motion:reduce){.expansion-table-root *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:420px){.ext-joker-hand .playing-card{width:43px;height:63px}.ext-hold-card>span{min-width:38px;font-size:8px;letter-spacing:.5px}.ext-joker-hand .card-corner{font-size:8px!important}.ext-bingo-ticket td{font-size:17px}.ext-bingo-ticket th{font-size:6px}}

/* Full-size play surface; learning opens below the table as needed. */
.expansion-table-root .ext-salon-layout { display:block; }
.expansion-table-root .ext-rules-panel[hidden] { display:none; }
.expansion-table-root .ext-rules-panel { margin-top:24px; }
.expansion-table-root .ext-salon-top { margin:12px 0 0; padding:10px 0; border:0; border-top:1px solid #a18b5844; background:none; border-radius:0; box-shadow:none; justify-content:flex-start; }
.expansion-table-root .ext-mode { border-radius:5px; background:#102219; }
.expansion-table-root .ext-mode button { border-radius:3px; }
.expansion-table-root .ext-context-tip { margin:10px 0; }
/* Original AUREL felt scenes; shared card and Bank styling lives in expansion-tables.css. */
.next-table-root .ext-felt{padding-top:98px;min-height:425px}
.next-motif{position:absolute;top:13px;left:50%;transform:translateX(-50%);width:min(340px,75%);height:75px;color:var(--ext-gold);opacity:.6;pointer-events:none;z-index:-1}
.next-motif svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.next-motif text{stroke:none;fill:currentColor;font:24px Georgia,serif}
.next-duel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;position:relative}
.next-duel-zone{background:#061f212b;border:1px solid #dfbc7652;border-radius:50% 50% 18px 18px;text-align:center;padding:20px 10px}
.next-duel-zone>small{display:block;margin-top:12px;color:#e1cfab;font-size:12px}
.next-dragon-tiger .next-duel .playing-card{width:80px;height:116px}
.next-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:23px auto 0;max-width:450px}
.next-choices button{background:#071c1e70;border:1px solid #dab77166;border-radius:10px;color:#eee0c4;font:inherit;cursor:pointer;min-height:61px;padding:10px 4px}
.next-choices button.selected{background:#d5b775;color:#172823;border-color:#f6d998;box-shadow:0 0 0 2px #d4b77933}
.next-choices button strong,.next-choices button span{display:block}
.next-choices button strong{font:19px Georgia,serif}
.next-choices button span{font-size:10px;margin-top:5px}
.next-choices button:disabled{cursor:default;opacity:.6}
.next-seven{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;align-items:start;justify-content:center}
.next-split-card{display:flex;flex-direction:column;align-items:center;min-width:0;border:1px solid #cfb77d55;border-radius:8px;background:#07121938;padding:5px 3px;color:#d6c7a8;cursor:pointer}
.next-split-card.selected{background:#d4b57622;border-color:#f3d59d;box-shadow:0 0 0 2px #e9c87733}
.next-table-root .next-split-card .playing-card{width:100%;height:auto;aspect-ratio:76/110;max-width:76px;min-width:0}
.next-split-card>span{display:block;margin:8px 0 3px;font-size:9px;letter-spacing:.6px;font-weight:700}
.next-split-card.selected>span{color:#ffe2a4}
.next-split-status{font-size:12px;color:#e6d5ae;line-height:1.6;padding:10px 12px;border-radius:8px;background:#0a172845;border:1px solid #d1b77b33;margin:16px 0 0;min-height:57px}
.next-split-status.next-foul{color:#ffd9c2;background:#6a292533;border-color:#de987560}
.next-arrange{margin-top:24px;position:relative}
.next-pai-dealer .ext-cards{flex-wrap:nowrap;gap:4px;max-width:450px;margin:auto}
.next-table-root .next-pai-dealer .playing-card{width:calc((100% - 24px)/7);height:auto;aspect-ratio:76/110;max-width:50px;min-width:0}
.next-pai-sides{display:grid;gap:22px}
.next-pai-side{display:grid;grid-template-columns:minmax(0,5fr) minmax(120px,2fr);gap:12px;align-items:start;border:1px solid #d6be8155;border-radius:15px;background:#13112236;padding:14px 10px;min-width:0}
.next-pai-side>.ext-zone-label{grid-column:1/-1;margin-bottom:0}
.next-pai-side small{display:block;text-align:center;font-size:8px;font-weight:600;letter-spacing:.4px;color:#d9caab;margin:0 0 9px;line-height:1.8}
.next-pai-side .ext-cards{flex-wrap:nowrap;gap:4px}
.next-table-root .next-pai-rear .playing-card{width:calc((100% - 16px)/5);height:auto;aspect-ratio:76/110;min-width:0;max-width:65px}
.next-table-root .next-pai-front .playing-card{width:calc((100% - 4px)/2);height:auto;aspect-ratio:76/110;min-width:0;max-width:65px}
.next-pai-front{border-left:1px solid #d5bd8144;padding-left:8px}
.next-joker>span{font-size:28px;position:absolute;top:32%;left:0;right:0;text-align:center}
.next-joker>strong{bottom:19%;font-size:8px}
.next-joker>small{font-size:5px;letter-spacing:.1px;text-align:center;position:absolute;bottom:8%;left:0;right:0;line-height:1.5}
.next-sources{font-size:10px;line-height:1.7;color:#d8c799;margin-top:14px}
.next-sources summary{cursor:pointer;padding:6px 0}
.next-sources a{display:block;color:#e5d4ae;text-decoration:underline;text-underline-offset:3px;margin-top:7px}
.next-table-root button:focus-visible,.next-sources a:focus-visible,.next-sources summary:focus-visible{outline:2px solid #ffe6a6;outline-offset:4px}
@media(max-width:700px){
  .next-table-root .ext-felt{padding:93px 14px 22px;border-width:6px;border-radius:24px 24px 43px 43px}
  .next-seven{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-width:355px;margin:auto}
  .next-pai-side{grid-template-columns:minmax(0,1fr);gap:12px;padding:13px 8px}
  .next-pai-front{border-left:0;border-top:1px solid #d5bd8144;padding:10px 0 0;max-width:155px;width:100%;margin:auto}
  .next-pai-rear .ext-cards{gap:4px}
  .next-table-root .next-pai-rear .playing-card{max-width:65px}
  .next-table-root .next-pai-front .playing-card{width:60px;max-width:60px}
  .next-caribbean-stud .ext-cards{gap:4px;flex-wrap:nowrap}
  .next-caribbean-stud .playing-card{width:calc((100% - 16px)/5);height:auto;aspect-ratio:76/110;max-width:65px;min-width:0}
  .next-caribbean-stud .ext-table-mark small{font-size:7px;letter-spacing:.5px}
  .next-duel{gap:13px}
  .next-duel-zone{padding:20px 6px}
  .next-dragon-tiger .next-duel .playing-card{width:65px;height:94px}
  .next-choices{gap:6px}
  .next-choices button strong{font-size:16px}
  .next-motif{width:75%;top:16px}
  .next-table-root .ext-salon-equipment{right:15px;top:23px;opacity:.5;transform:scale(.4)}
}
@media(prefers-reduced-motion:reduce){.next-table-root *{scroll-behavior:auto;animation:none!important;transition:none!important}}

/* Added tables share the physical felt format used by the original Blackjack, Baccarat and Poker rooms. */
.expansion-table-root{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none;overflow:visible}
.expansion-table-root .ext-salon-top{margin:0 0 13px;padding:11px 15px;border:1px solid #9a845b55;border-radius:9px;background:linear-gradient(105deg,#101815e8,#1e1917d9);box-shadow:inset 0 1px #f4dfb01a,0 4px 12px #0004}
.expansion-table-root .ext-salon-top h2{font-size:23px;margin:5px 0 2px}.expansion-table-root .ext-salon-top p{font-size:10px;max-width:570px}.expansion-table-root .ext-eyebrow{font-size:7px;letter-spacing:1.8px}
.expansion-table-root .ext-salon-layout{gap:18px}.expansion-table-root .felt-table.ext-felt{min-height:405px;border:18px solid #201b17;border-top-color:#3b3026;border-bottom-color:#15130f;border-radius:48% 48% 22px 22px / 58px 58px 22px 22px;padding:34px 24px 26px;background:radial-gradient(ellipse at 44% 10%,#769d5938,transparent 57%),radial-gradient(ellipse at 50% 35%,#06362200 35%,#001a16b5 100%),linear-gradient(var(--ext-felt),var(--ext-felt)),url('./casino-felt.png') center / 170px 170px,#145039;box-shadow:0 1px 0 #b6a177,0 9px 0 #0c0f0b,0 12px 0 #655039,0 25px 36px #0009,inset 0 0 0 2px #bda06a78,inset 0 0 0 5px #091d15,inset 0 8px 20px #00140fc9}
.expansion-table-root .felt-table.ext-felt::before{content:'';position:absolute;inset:-18px;z-index:-1;pointer-events:none;width:auto;height:auto;transform:none;border:15px solid transparent;border-radius:inherit;background:linear-gradient(#ffffff0b,#0009) border-box,url('./casino-leather.png') center / 200px 200px border-box;mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);mask-composite:exclude}
.expansion-table-root .felt-table.ext-felt::after{content:'';position:absolute;inset:9px;z-index:-1;width:auto;height:auto;transform:none;border:1px dashed #d6c09648;border-radius:48% 48% 13px 13px / 41px 41px 13px 13px;background:none;box-shadow:0 0 0 6px #00170d33}
.expansion-table-root .felt-table .ext-felt-border{display:none}.expansion-table-root .felt-table .ext-salon-equipment{top:24px;right:28px;opacity:1}.expansion-table-root .ext-bank-meters{margin-top:18px;border-radius:7px;background:linear-gradient(120deg,#ffffff08,#0009),#171a17;box-shadow:inset 0 1px #f5dfb21c,0 8px 20px #0005}.expansion-table-root .ext-round-controls{padding:15px 14px;border:1px solid #8c795943;border-radius:9px;background:linear-gradient(120deg,#ffffff08,#0009),#191d18;box-shadow:inset 0 1px #f5dfb21c,0 8px 20px #0004}.next-table-root .felt-table.ext-felt{padding-top:98px;min-height:425px}
@media(max-width:700px){.expansion-table-root .ext-salon-top{padding:10px 12px}.expansion-table-root .ext-salon-top h2{font-size:21px}.expansion-table-root .felt-table.ext-felt{min-height:340px;border-width:10px;border-radius:30px 30px 18px 18px / 42px 42px 18px 18px;padding:31px 12px 21px}.expansion-table-root .felt-table.ext-felt::before{inset:-10px;border-width:8px}.next-table-root .felt-table.ext-felt{padding:87px 14px 22px}}
/* Keep hand headings readable as dealt cards pass through the scene. */
.expansion-table-root .ext-zone-label { position:relative; z-index:4; padding:3px 5px; border-radius:3px; background:#07251fe8; overflow-wrap:anywhere; }
/* Approved Pilbara Gold material and playing-screen layout. Live DOM owns all controls. */
body.game-view { background:linear-gradient(#080b09b8,#080b09da),url('./casino-machine-floor.webp') center top/cover fixed; }
body.game-view::before { background-image:linear-gradient(#080e0bc9,#080e0bd9),var(--casino-room-image); }
.realism-gem-ruby { filter:hue-rotate(235deg); }
.realism-gem-sapphire { filter:hue-rotate(100deg); }
.realism-gem-amethyst { filter:hue-rotate(160deg); }
.realism-gem-diamond,.realism-gem-platinum,.realism-gem-crystal { filter:grayscale(1) brightness(1.3); }
.game-view .game-page { max-width:1280px; }
#game-surface .realism-game-layout { display:grid; grid-template-columns:minmax(0,1fr) 244px; gap:16px; align-items:start; }
.game-view .expansion-machine { max-width:1220px; }
#game-surface .realism-game-layout .expansion-cabinet { min-width:0; border-color:#d8a951; padding:8px 12px 5px; background:linear-gradient(90deg,#170e07,#ffd88a 1%,#996027 1.8%,#15130f 3%,#090e0d 50%,#15130f 97%,#996027 98.2%,#ffd88a 99%,#170e07); box-shadow:0 20px 45px #000b,inset 0 0 0 3px #070806,inset 0 0 0 4px #f0b86a80; }
#game-surface .realism-game-layout .expansion-cabinet::before { border-color:#e2a344; opacity:.9; inset:40px 5px 55px; }
#game-surface .realism-game-layout .expansion-cabinet::after { background:linear-gradient(90deg,#26150c,#f6bc66 1%,#372016 2%,#090d0d 4%,#090d0d 96%,#372016 98%,#f6bc66 99%,#26150c); }
#game-surface .realism-game-layout .expansion-display { position:relative; }
#game-surface .realism-game-layout .expansion-topper { min-height:122px!important; height:auto!important; border-color:#e6b268; background:var(--expansion-primary); }
#game-surface .realism-game-layout .expansion-topper .machine-scene-art { opacity:.9; }
#game-surface .realism-game-layout .expansion-topper h2 { margin:5px 0; line-height:1.05; }
#game-surface .realism-game-layout .expansion-topper h2 strong { font-size:clamp(25px,3.8vw,48px); }
#game-surface .realism-game-layout .expansion-topper .pokie-topper-copy { padding:12px 0; position:relative; z-index:2; }
#game-surface .realism-game-layout .expansion-topper p { font-size:9px; line-height:1.5; color:#ffe7bb; }
.realism-pilbara-marquee { display:block; width:100%; height:148px; object-fit:fill; }
#game-surface [data-expansion-machine='pilbara-gold'] .expansion-topper .pokie-topper-copy { padding:0; margin:0; }
#game-surface [data-expansion-machine='pilbara-gold'] .expansion-topper p { margin:0; padding:5px 7px; font-size:9px; line-height:1.4; }
#game-surface [data-expansion-machine='emerald-empire'] .machine-scene-art { background-image:url('./realism/scenes.webp'); background-position:0 0; }
#game-surface :is([data-expansion-machine='temple-ra'],[data-expansion-machine='cleopatras-chamber']) .machine-scene-art { background-image:url('./realism/scenes.webp'); background-position:100% 0; }
#game-surface [data-expansion-machine='viking-treasure-hall'] .machine-scene-art { background-image:url('./realism/scenes.webp'); background-position:0 100%; }
#game-surface :is([data-expansion-machine='jade-emperor'],[data-expansion-machine='fortune-phoenix'],[data-expansion-machine='dragon-pearl'],[data-expansion-machine='palace-lanterns'],[data-expansion-machine='dynasty-coins'],[data-expansion-machine='golden-koi']) .machine-scene-art { background-image:url('./realism/scenes.webp'); background-position:100% 100%; }
#game-surface :is([data-expansion-machine='crown-clover'],[data-expansion-machine='ruby-reserve'],[data-expansion-machine='golden-bell-deluxe'],[data-expansion-machine='lucky-sevens-grand'],[data-expansion-machine='diamond-club-25'],[data-expansion-machine='triple-fortune-bars'],[data-expansion-machine='imperial-jewels'],[data-expansion-machine='grand-collector'],[data-expansion-machine='clockwork-crown'],[data-expansion-machine='moonlit-masquerade'],[data-expansion-machine='royal-respin']) .machine-scene-art { background-position:100% 100%; }
[data-expansion-machine='pilbara-gold'] .expansion-topper .pokie-topper-copy { margin:0; padding:0; }
[data-expansion-machine='pilbara-gold'] .expansion-topper h2 { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
#game-surface .realism-game-layout .expansion-window { margin:6px 2px 0; border-color:#ffd290; background:linear-gradient(135deg,#f9dd9f,#7c4b18 12%,#f2bd71 15%,#a86724 42%,#30221a 48%,#ecc184 78%,#835020 90%); padding:5px 5px 0; }
#game-surface .realism-game-layout .expansion-reels { --expansion-reel-row:calc(clamp(235px,34vh,300px) / var(--expansion-reel-rows)); }
#game-surface .realism-game-layout .expansion-reel { height:calc(var(--expansion-strip-rows) * var(--expansion-reel-row)); background:#081712; }
#game-surface .realism-game-layout .expansion-reel-cell { padding:1px; border:1px solid #a77a363d; background:#081712; }
#game-surface .realism-game-layout .expansion-reels .aurel-reel-symbol { width:100%; height:100%; max-width:none; aspect-ratio:auto; filter:none; }
.realism-symbol-image { display:block; width:100%; height:100%;  background-size:800% 800%; background-position:var(--realism-x) var(--realism-y); background-repeat:no-repeat; }
.realism-symbol-image:has(img, .reference-symbol-art) { background:none; overflow:hidden; }
.realism-symbol-image img,.realism-approved-symbol { display:block; width:100%; height:100%; object-fit:cover; }
.realism-bars-2 i:has(img, .reference-symbol-art),.realism-bars-3 i:has(img, .reference-symbol-art) { background:none; }
.realism-bars-2 img,.realism-bars-3 img { object-fit:contain; }
#game-surface [data-expansion-machine='pilbara-gold'] .expansion-window { container-type:inline-size; }
#game-surface [data-expansion-machine='pilbara-gold'] .expansion-reels { --expansion-reel-row:calc((100cqw - 8px) / 5 / 1.22); gap:3px; }
#game-surface [data-expansion-machine='pilbara-gold'] .expansion-reel-cell { padding:0; border:1px solid #c59147; border-radius:4px; overflow:hidden; }
#game-surface [data-expansion-machine='pilbara-gold'] .expansion-reels .aurel-reel-symbol { border:0; border-radius:2px; }
#game-surface .realism-game-layout .expansion-reel-cell.is-winning::after { content:""; display:block; position:absolute; inset:0; z-index:8; border:2px solid #ffe0a0; border-radius:3px; box-shadow:inset 0 0 12px #ffd56a77; pointer-events:none; animation:realism-win-light .8s ease-in-out 2 alternate; }
@keyframes realism-win-light { from { opacity:.45; } to { opacity:1; } }
#game-surface .expansion-comfort .expansion-reel-cell.is-winning::after { animation:none; }
@media(prefers-reduced-motion:reduce) { #game-surface .realism-game-layout .expansion-reel-cell.is-winning::after { animation:none; } }
.realism-seven-white,.realism-seven-chrome { filter:grayscale(1) brightness(1.4); }
.realism-seven-blue { filter:hue-rotate(195deg); }
.realism-bars-2,.realism-bars-3 { background:none; display:flex; flex-direction:column; justify-content:center; }
.realism-bars-2 i,.realism-bars-3 i { display:block; height:33%; width:100%;  background-size:800% 800%; background-position:var(--realism-x) var(--realism-y); }
.realism-rank { display:grid!important; place-items:center; background:#071a16; }
.realism-rank>span { font-family:Georgia,serif; font-weight:700; font-size:clamp(36px,5vw,66px); color:#e4b763; text-shadow:1px 1px #fff1bc,2px 3px #725126,3px 5px #1e1008; }
#game-surface .realism-game-layout .expansion-screen-footer { font-size:8px; padding:5px; }
#game-surface .realism-game-layout .expansion-meters { display:grid; grid-template-columns:66px minmax(0,1.25fr) minmax(0,1.15fr) minmax(0,1fr) 82px 62px 62px; gap:5px; margin:8px 2px 0; padding:8px 5px; align-items:stretch; border:1px solid #b59258; border-radius:9px; background:linear-gradient(125deg,#5a4430,#161c1a 14%,#090e0d 70%,#38281a); box-shadow:inset 0 1px #ffe6a680,0 5px #070806; }
#game-surface .realism-game-layout .expansion-meters>div { margin:0; padding:7px 3px; border-color:#80643c; background:linear-gradient(#151b18,#060a09); display:flex; flex-direction:column; align-items:center; justify-content:center; min-width:0; }
#game-surface .realism-game-layout .expansion-meters small,.realism-bet-meter>label { color:#e2d4b5; letter-spacing:.7px; font:10px/1.3 Arial,sans-serif; white-space:normal; }
#game-surface .realism-game-layout .expansion-meters strong { color:#f9d47b; font:600 clamp(15px,1.7vw,23px)/1.5 Georgia,serif; letter-spacing:0; overflow-wrap:anywhere; }
.realism-bet-meter>div { display:flex; align-items:center; width:100%; gap:3px; margin-top:4px; }
.realism-bet-meter input { display:block; min-width:0; width:100%; background:#080e09; border:1px solid #947540; color:#f9d47b; text-align:center; border-radius:3px; padding:4px 1px; height:31px; font:600 18px Georgia,serif; appearance:textfield; }
.realism-bet-meter input::-webkit-inner-spin-button { appearance:none; }
.realism-bet-meter button { flex:0 0 25px; min-height:31px; border:1px solid #b49c63; border-radius:4px; background:linear-gradient(#453d28,#141912); color:#f5d480; font:700 20px Arial,sans-serif; cursor:pointer; }
.realism-deck-button { border:1px solid #ba9254; border-radius:7px; background:linear-gradient(#28302a,#070b08); color:#edcc87; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; padding:6px 3px; cursor:pointer; min-width:0; }
.realism-deck-button span { font-size:8px; line-height:1.4; letter-spacing:.5px; }
.realism-deck-button[aria-pressed=true] { border-color:#f5d17b; background:linear-gradient(#605127,#181d13); }
#game-surface .realism-game-layout .expansion-spin { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; min-height:75px; border-radius:50%; padding:6px 2px; font-size:12px; letter-spacing:.5px; border-color:#d39d43; background:radial-gradient(circle at 40% 25%,#fff2b6,#edbf61 45%,#a9691d 80%,#ffe39d); }
#game-surface .realism-game-layout .expansion-spin span { line-height:1.2; }
#game-surface .realism-game-layout .control-label { margin:0; color:#d5c99f; font-size:9px; }
#game-surface .realism-game-layout .expansion-hardware { padding:5px; margin-top:0; min-height:20px; }
#game-surface .realism-game-layout .machine-win-ledger { min-height:0; padding:7px 3px; margin:0; text-align:center; font-size:9px; }
.realism-game-information { padding:16px; border:1px solid #c08c3e; border-radius:12px; background:linear-gradient(135deg,#172019f2,#050b09fa); box-shadow:inset 0 0 0 3px #0b0e0a,inset 0 0 0 4px #9a763544,0 15px 30px #0008; min-width:0; }
.realism-game-information h3 { margin:0 0 12px; padding-bottom:12px; border-bottom:1px solid #a786493d; color:#f4d58e; font:400 22px/1.2 Georgia,serif; }
.realism-info-row { display:flex; align-items:center; gap:10px; padding:12px 0; border-bottom:1px solid #b3915140; color:#e5c276; }
.realism-info-row>.aurel-reel-symbol { width:45px; height:45px; flex:0 0 45px; max-width:none; filter:none; border-radius:3px; overflow:hidden; }
.realism-info-row>svg { flex:none; }
.realism-info-row strong { font-size:13px; line-height:1.5; color:#f0d399; }
.realism-info-row p { margin:4px 0 0; font-size:11px; line-height:1.6; color:#c3c5b7; overflow-wrap:anywhere; }
.realism-game-information .machine-bank-buttons { display:grid; grid-template-columns:1fr; gap:7px; }
.realism-game-information .machine-bank-button { min-height:37px; font-size:10px; }
#game-surface .realism-game-layout .expansion-celebration { position:relative; inset:auto; display:block; border-width:1px; border-radius:5px; margin:6px 2px; background:linear-gradient(100deg,#573814,#0f1a0c,#573814); overflow:hidden; }
#game-surface .realism-game-layout .expansion-celebration-card { width:100%; padding:9px 10px; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:5px 10px; }
#game-surface .realism-game-layout .expansion-celebration .expansion-kicker,#game-surface .realism-game-layout .expansion-celebration small { display:none; }
#game-surface .realism-game-layout .expansion-celebration h3 { margin:0; font-size:23px; }
#game-surface .realism-game-layout .expansion-celebration-amount { font-size:28px; line-height:1.2; }
#game-surface .realism-game-layout .expansion-celebration p { margin:0; font-size:9px; flex-basis:100%; }
#game-surface .realism-game-layout .expansion-celebration button { min-height:28px; padding:5px 12px; font-size:10px; }
#game-surface .realism-game-layout .expansion-celebration[data-win-tier=big],#game-surface .realism-game-layout .expansion-celebration[data-win-tier=huge],#game-surface .realism-game-layout .expansion-celebration[data-win-tier=mega] { border-width:2px; }
.expansion-symbol>.aurel-reel-symbol { display:block; width:42px; height:42px; margin:0 auto 4px; }
.game-art-button .realism-pilbara-cover { background:#080c09; }
.realism-pilbara-cover img { display:block; width:100%; height:100%; object-fit:contain; }
.landing-view { background:radial-gradient(ellipse at 50% 10%,#51361a22,transparent 60%),#080d0b!important; }
.landing-view .game-card { border-color:#ad844648; background:linear-gradient(135deg,#172018,#070d09); }
.landing-view .game-card-visual { height:clamp(215px,25vw,340px); background:#070c09; }
.landing-view .game-card-body { text-align:center; }
.landing-view .game-title-button { justify-content:center; }
.landing-view .game-title-button h3 { color:#f0d69d; }
.landing-view .game-card-labels { justify-content:center; }
.landing-view .section-heading h2 { color:#f0d39a; }
.landing-view .landing-footer { background:#080f0bf5; border-color:#b4904a66; }
.realism-hero-copy { position:absolute; z-index:3; top:0; left:32.5%; bottom:16%; width:35%; display:flex; flex-direction:column; align-items:center; padding:2.5% 1% 4%; text-align:center; color:#f1e5c9; background:linear-gradient(#090d0b,#0c1410 70%,#101711); box-shadow:0 0 45px 20px #08110b88; border-bottom:1px solid #b2945c; }
.realism-hero-brand { display:flex; gap:14px; align-items:center; color:#e6cf99; }
.realism-hero-brand>span { font:400 clamp(20px,3.3vw,48px) Georgia,serif; letter-spacing:7px; }
.realism-hero-brand small { display:block; font:9px/2 Arial,sans-serif; letter-spacing:4px; }
.realism-hero-copy h1 { margin:auto 0 4%; font:400 clamp(16px,3.1vw,46px)/1.2 Georgia,serif; letter-spacing:-1px; color:#f0e5c7; }
.realism-hero-copy p { color:#ccc7b4; font:9px/2 Arial,sans-serif; letter-spacing:2.5px; }
.realism-hero-copy .button { margin:auto 0 0; padding:13px 20px; font-size:11px; min-height:40px; }
.landing-view .realism-floor-navigation { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:17px 0; border-top:1px solid #b6904e55; border-bottom:1px solid #b6904e55; }
.realism-floor-navigation nav { display:flex; gap:12px; flex-wrap:wrap; }
.realism-floor-navigation nav button { display:flex; align-items:center; gap:8px; padding:10px 4px; border:0; border-bottom:2px solid transparent; background:none; color:#bcbcaa; font-size:12px; cursor:pointer; }
.realism-floor-navigation nav button.active { color:#f2cd76; border-color:#e8bc62; }
.realism-catalogue-search { display:flex; align-items:center; gap:8px; border:1px solid #c3a25c44; border-radius:25px; background:#0a120f; padding:8px 12px; color:#c8c6b7; }
.realism-catalogue-search input { border:0; background:none; color:#eee1c5; min-width:0; max-width:170px; font-size:12px; outline:none; }
.realism-floor-heading { grid-column:1/-1; text-align:center; padding:25px 0 3px; display:flex; flex-direction:column; align-items:center; gap:5px; }
.realism-floor-heading h3 { font:400 36px/1.2 Georgia,serif; color:#f1d28e; margin:0; }
.realism-floor-heading span { font-size:10px; color:#b9bba7; text-transform:uppercase; letter-spacing:2px; }
.realism-inside-pilbara { display:grid; grid-template-columns:1fr 1.3fr; align-items:center; gap:40px; border-top:1px solid #d8b26377; margin-top:45px!important; padding:30px; background:linear-gradient(120deg,#1a2016,#080e0a); }
.realism-inside-pilbara h2 { font:400 34px Georgia,serif; color:#f1d496; margin:14px 0; }
.realism-inside-pilbara p { max-width:430px; font-size:13px; line-height:1.8; color:#bfc3b3; }
.realism-inside-pilbara img { width:100%; border:2px solid #c7974c; border-radius:10px; }
@media(max-width:700px) {
 .realism-hero-copy { left:32%; width:36%; padding-top:2%; }
 .realism-hero-brand { gap:4px; }
 .realism-hero-brand svg { width:19px; height:24px; }
 .realism-hero-brand>span { letter-spacing:2px; font-size:14px; }
 .realism-hero-brand small { font-size:4px; line-height:2; letter-spacing:1px; }
 .realism-hero-copy h1 { font-size:clamp(11px,3.5vw,23px); letter-spacing:0; }
 .realism-hero-copy p { font-size:5px; letter-spacing:.3px; }
 .realism-hero-copy .button { padding:5px; min-height:25px; font-size:7px; gap:3px; }
 .realism-hero-copy .button svg { width:10px; }
 .landing-view .realism-floor-navigation { flex-wrap:wrap; gap:8px; padding:12px 0; }
 .realism-floor-navigation nav { width:100%; justify-content:space-between; gap:2px; }
 .realism-floor-navigation nav button { font-size:10px; gap:4px; }
 .realism-catalogue-search { flex:1; min-width:0; }
 .realism-catalogue-search input { width:100%; }
 .realism-floor-heading h3 { font-size:28px; }
 .realism-inside-pilbara { grid-template-columns:1fr; gap:18px; padding:22px 12px; }
 .realism-inside-pilbara h2 { font-size:27px; }
 .realism-inside-pilbara p { font-size:12px; }
}

/* Keep the desktop hero composition untouched; tablet and mobile use a readable stacked treatment. */
@media(max-width:1000px) {
 .landing-view .lobby-hero.approved-host-hero { display:flex; flex-direction:column; min-height:0; height:auto; aspect-ratio:auto; }
 .landing-view .host-hero-art { flex:0 0 auto; width:100%; }
 .landing-view .realism-hero-copy { position:relative; inset:auto; width:100%; min-height:238px; padding:22px 20px 24px; align-items:center; background:radial-gradient(ellipse at top,#19241c,#090e0b 78%); box-shadow:inset 0 1px #b2945c66; border:0; }
 .landing-view .realism-hero-brand { gap:8px; }
 .landing-view .realism-hero-brand svg { width:28px; height:34px; }
 .landing-view .realism-hero-brand>span { font-size:22px; letter-spacing:4px; }
 .landing-view .realism-hero-brand small { font-size:7px; line-height:1.7; letter-spacing:2px; }
 .landing-view .realism-hero-copy h1 { margin:18px 0 10px; font-size:clamp(28px,5vw,38px); line-height:1.12; letter-spacing:-.4px; }
 .landing-view .realism-hero-copy p { margin:0 0 17px; font-size:12px; line-height:1.55; letter-spacing:1.4px; }
 .landing-view .realism-hero-copy .button { margin:0; min-height:44px; padding:12px 20px; gap:8px; font-size:11px; }
 .landing-view .realism-hero-copy .button svg { width:18px; }
}
@media(max-width:380px) {
 .landing-view .realism-hero-copy { min-height:190px; padding:15px 12px; }
 .landing-view .realism-hero-brand { display:none; }
 .landing-view .realism-hero-copy h1 { margin:0 0 8px; font-size:28px; }
 .landing-view .realism-hero-copy p { margin-bottom:10px; }
}
@media(min-width:850px) { .landing-view .game-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:1000px) and (min-width:701px) {
 #game-surface .realism-game-layout { grid-template-columns:minmax(0,1fr) 205px; gap:10px; }
 .realism-game-information { padding:12px; }
 #game-surface .realism-game-layout .expansion-meters { grid-template-columns:48px 1fr 1.2fr 1fr 67px; }
 #game-surface .realism-game-layout .expansion-meters>.realism-deck-button:nth-last-child(-n+2) { grid-row:2; flex-direction:row; min-height:32px; }
 #game-surface .realism-game-layout .expansion-meters>.realism-deck-button:nth-last-child(2) { grid-column:1/3; }
 #game-surface .realism-game-layout .expansion-meters>.realism-deck-button:last-child { grid-column:3/6; }
}
@media(max-width:700px) {
 #game-surface .realism-game-layout { display:block; }
 #game-surface .realism-game-layout .expansion-cabinet { padding:5px 6px; }
 #game-surface .realism-game-layout .expansion-topper { min-height:100px!important; }
 .realism-pilbara-marquee { height:auto; aspect-ratio:836/163; }
 #game-surface .realism-game-layout .expansion-topper .pokie-topper-copy { margin-inline:50px; }
 #game-surface .realism-game-layout .expansion-topper h2 strong { font-size:26px; }
 #game-surface .realism-game-layout .expansion-topper p { font-size:8px; }
 #game-surface .realism-game-layout .expansion-reels { --expansion-reel-row:calc(clamp(172px,53vw,245px) / var(--expansion-reel-rows)); }
 #game-surface .realism-game-layout .expansion-meters { grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) minmax(0,1fr) 55px; padding:5px 2px; gap:3px; }
 #game-surface .realism-game-layout .expansion-meters>.realism-deck-button:first-child { grid-column:1; grid-row:2; }
 #game-surface .realism-game-layout .expansion-meters strong { font-size:14px; }
 #game-surface .realism-game-layout .expansion-meters small,.realism-bet-meter>label { font-size:8px; letter-spacing:0; }
 .realism-bet-meter input { font-size:13px; height:28px; }
 .realism-bet-meter button { flex:0 0 23px; min-width:23px; max-width:23px; min-height:31px; font-size:16px; padding:1px; }
 #game-surface .realism-game-layout .expansion-spin { min-height:55px; font-size:9px; padding:3px; }
 #game-surface .realism-game-layout .expansion-spin svg { width:20px; }
 .realism-deck-button span { font-size:7px; }
 #game-surface .realism-game-layout .expansion-meters>.realism-deck-button:nth-last-child(-n+2) { grid-row:2; flex-direction:row; min-height:34px; }
 #game-surface .realism-game-layout .expansion-meters>.realism-deck-button:nth-last-child(2) { grid-column:2; }
 #game-surface .realism-game-layout .expansion-meters>.realism-deck-button:last-child { grid-column:3/5; }
 #game-surface .realism-game-layout .control-label { font-size:7px; max-width:45px; line-height:1.5; }
 .realism-game-information { margin-top:16px; padding:15px; }
 .realism-game-information h3 { font-size:21px; }
 .realism-info-row { padding:9px 0; }
 .realism-game-information .machine-bank-buttons { grid-template-columns:1fr 1fr; }
 .realism-rank>span { font-size:38px; }
 #game-surface .realism-game-layout .expansion-screen-footer { font-size:6px; }
 #game-surface .realism-game-layout .expansion-celebration h3 { font-size:18px; }
 #game-surface .realism-game-layout .expansion-celebration-amount { font-size:22px; }
 .landing-view .game-card-visual { height:245px; }
 .landing-view .game-title-button h3 { font-size:19px; }
}
@media(max-width:700px) {
 #game-surface .realism-game-layout .expansion-meters { grid-template-columns:repeat(12,minmax(0,1fr)); }
 #game-surface .realism-game-layout .expansion-meters>div:nth-child(2) { grid-column:1/4; grid-row:1; }
 #game-surface .realism-game-layout .expansion-meters>.realism-bet-meter { grid-column:4/10; grid-row:1; }
 #game-surface .realism-game-layout .expansion-meters>div:nth-child(4) { grid-column:10/13; grid-row:1; }
 #game-surface .realism-game-layout .expansion-meters>.realism-deck-button:first-child { grid-column:1/4; grid-row:2; }
 #game-surface .realism-game-layout .expansion-meters>.expansion-spin { grid-column:4/7; grid-row:2; width:65px; justify-self:center; }
 #game-surface .realism-game-layout .expansion-meters>.realism-deck-button:nth-last-child(2) { grid-column:7/10; grid-row:2; }
 #game-surface .realism-game-layout .expansion-meters>.realism-deck-button:last-child { grid-column:10/13; grid-row:2; }
 #game-surface .realism-game-layout .expansion-meters strong { font-size:12px; white-space:nowrap; }
}
/* Exact approved playing-screen proportions. All amounts and controls remain live. */
.approved-back-to-games { display:none; }
body.game-view .game-page { max-width:1280px; padding:16px 20px 24px; }
/* One visible options row complements the casino bar's title and navigation. */
body.game-view .game-page-actions { display:flex;flex-direction:row;flex-wrap:wrap;width:100%;min-width:0;margin:0 0 8px;justify-content:flex-end;align-items:center;gap:8px; }
@media(max-width:760px){body.game-view .roulette-board{grid-template-rows:repeat(13,minmax(44px,auto))}}
body.game-view::before { filter:none; }
#game-surface .realism-game-layout { grid-template-columns:minmax(0,1fr) 23%; gap:12px; max-width:1120px; margin:auto; align-items:stretch; }
#game-surface .realism-game-layout .expansion-cabinet { border:0; padding:9px 16px; background:url('./realism/approved/cabinet-left.webp') left/16px 100% no-repeat,url('./realism/approved/cabinet-right.webp') right/16px 100% no-repeat,url('./realism/approved/cabinet-top.webp') top/100% 8px no-repeat,url('./realism/approved/cabinet-bottom.webp') bottom/100% 8px no-repeat,#060806; border-radius:10px; box-shadow:0 18px 35px #000c; }
#game-surface .realism-game-layout .expansion-cabinet::before,#game-surface .realism-game-layout .expansion-cabinet::after { display:none; }
#game-surface .realism-game-layout .expansion-display { border:0; padding:0; border-radius:4px; }
#game-surface .realism-game-layout .expansion-topper { min-height:0!important; margin:0; aspect-ratio:6.75; overflow:hidden; border:2px solid #cda34d; border-radius:7px; background:#080d09; }
#game-surface .realism-game-layout .expansion-topper .pokie-topper-copy { padding:12px 8px; margin:0; display:flex; justify-content:center; align-items:center; flex-direction:column; height:100%; }
#game-surface .realism-game-layout .expansion-topper h2 { margin:0; }
#game-surface .realism-game-layout .expansion-topper h2 strong { font-size:clamp(28px,3.6vw,46px); line-height:1.08; }
#game-surface .realism-game-layout .expansion-topper h2 span { font-size:20px; line-height:1.1; }
#game-surface .realism-pilbara-marquee { width:100%; height:100%; aspect-ratio:auto; object-fit:fill; }
#game-surface [data-expansion-machine='pilbara-gold'] .expansion-topper .pokie-topper-copy { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); }
#game-surface [data-expansion-machine='emerald-empire'] .expansion-topper .machine-scene-art { background:url('./realism/emerald/ring.webp') left/auto 100% no-repeat,url('./realism/emerald/necklace.webp') right/auto 100% no-repeat,#07190e; opacity:1; }
#game-surface [data-expansion-machine='emerald-empire'] .expansion-topper .pokie-topper-copy { background:linear-gradient(90deg,transparent 30%,#061a0e 36%,#061a0e 62%,transparent 67%); }
#game-surface .realism-game-layout .expansion-window { container-type:inline-size; margin:5px 0 0; padding:7px 26px 6px; border:2px solid #dcb85f; background:url('./realism/approved/reel-stone.webp') center/26px 100%,#381d0c; border-radius:6px; position:relative; }
#game-surface .realism-game-layout .expansion-window::before,#game-surface .realism-game-layout .expansion-window::after { display:none; }
#game-surface .approved-line-marker { display:flex; flex-direction:column; justify-content:center; align-items:center; position:absolute; top:45%; width:22px; color:#f6cc58; text-shadow:0 2px #271507; }
#game-surface .approved-line-marker.is-left { left:1px; }
#game-surface .approved-line-marker.is-right { right:1px; }
#game-surface .approved-line-marker b { font:700 23px/1 Georgia,serif; }
#game-surface .approved-line-marker small { font:10px/1.4 Arial,sans-serif; }
body.game-view #game-surface label,body.game-view #game-surface button small,body.game-view #game-surface .control-label,body.game-view #game-surface .ext-eyebrow { font-size:11px; line-height:1.4; }
body.game-view #game-surface button span { font-size:11px; line-height:1.4; }
body.game-view #game-surface :is(.text-button,.chip-choice,.roulette-column) { font-size:12px; }
body.game-view #game-surface .pokie-feature-bar strong { font-size:11px; line-height:1.4; }
#game-surface .approved-extra-controls .approved-jackpots { flex:1 1 100%; margin:0; padding:12px; max-width:none; }
#game-surface .approved-extra-controls .approved-jackpots .jackpot-meters { gap:12px; }
#game-surface .approved-extra-controls .approved-jackpots .jackpot-amount { font-size:clamp(18px,2.1vw,28px); letter-spacing:0; }
#game-surface .approved-extra-controls .pokie-controls { grid-template-columns:1fr 1fr; margin:0; padding:14px; flex:1 1 650px; }
body.game-view #game-surface .ext-felt { background:radial-gradient(ellipse at 50% 45%,#4c7d6438,#03191355),url('./casino-felt.png') center/320px,var(--ext-felt); border-image:url('./casino-walnut.png') 15 stretch; }
#game-surface .realism-game-layout .expansion-window::before { left:0; }
#game-surface .realism-game-layout .expansion-window::after { right:0; }
#game-surface .realism-game-layout .expansion-reels { --expansion-reel-row:calc((100cqw - 8px) / var(--expansion-reel-columns) / 1.47); gap:3px; }
#game-surface .realism-game-layout .expansion-reel-cell { padding:0; border:1px solid #c69c46; border-radius:4px; overflow:hidden; }
#game-surface .realism-game-layout .expansion-reels .aurel-reel-symbol { border:0; border-radius:2px; }
#game-surface .realism-game-layout .expansion-reels .realism-symbol-image img { object-fit:contain; background:#06150e; }
#game-surface .realism-game-layout .expansion-meters { display:grid; grid-template-columns:74px minmax(0,1.15fr) minmax(0,1.15fr) minmax(0,1fr) 100px; gap:6px; margin:8px 0 0; padding:7px; border:3px solid #8f773d; background:url('./casino-leather.png') center/180px,#0a0b09; border-radius:8px; }
#game-surface .realism-game-layout .expansion-meters>div { padding:9px 5px; border:1px solid #76684e; border-radius:4px; background:linear-gradient(#0e110e,#040605); gap:7px; }
#game-surface .realism-game-layout .expansion-meters small,#game-surface .realism-game-layout .realism-bet-meter>label { font:11px/1.3 Arial,sans-serif; letter-spacing:.7px; color:#f7e9c7; }
#game-surface .realism-game-layout .expansion-meters strong { font:500 clamp(20px,2.2vw,29px)/1.15 Georgia,serif; letter-spacing:0; white-space:nowrap; }
#game-surface .realism-game-layout .realism-bet-meter>div { margin:0; gap:5px; }
#game-surface .realism-game-layout .realism-bet-meter input { font:500 23px/1.2 Georgia,serif; height:35px; border:1px solid #a18645; border-radius:3px; background:#030805; color:#ffe18b; text-align:center; padding:3px; }
#game-surface .realism-game-layout .realism-bet-meter button { min-width:30px; max-width:30px; min-height:32px; padding:0; flex:0 0 30px; font-size:23px; border-radius:4px; }
#game-surface .realism-game-layout .expansion-spin { grid-column:5; grid-row:1; width:96px; min-height:88px; border:4px solid #e2b261; border-radius:50%; background:radial-gradient(circle at 40% 33%,#ffe8a1 0,#edbd4e 48%,#be751c 80%,#5e3509 100%); box-shadow:0 0 0 2px #58431c,0 0 0 4px #ddbd6e,inset 0 0 0 2px #ffe5a0,0 5px 6px #000; color:#3b2508; font:700 13px/1.2 Arial,sans-serif; }
#game-surface .realism-game-layout .expansion-spin svg { width:36px; height:36px; }
#game-surface .realism-game-layout .realism-deck-button { min-height:72px; padding:6px; background:linear-gradient(#222521,#070b08); border:1px solid #ad9257; border-radius:7px; color:#fce6a0; gap:8px; }
#game-surface .realism-game-layout .realism-deck-button span { font:11px/1.3 Arial,sans-serif; }
#game-surface .realism-game-layout .realism-game-information { display:flex; flex-direction:column; padding:16px 12px 0; border:9px solid transparent; border-image:url('./realism/approved/information-frame.webp') 14 stretch; background:#030907; box-shadow:0 8px 24px #000a; }
#game-surface .realism-game-layout .realism-game-information>* { position:relative; background:#050b07; }
#game-surface .realism-game-layout .realism-game-information h3 { text-align:center; font:400 23px/1.25 Georgia,serif; padding-bottom:14px; margin-bottom:6px; }
#game-surface .realism-game-layout .realism-info-row { padding:13px 0; gap:10px; align-items:center; }
#game-surface .realism-game-layout .realism-info-row strong { font:500 14px/1.35 Arial,sans-serif; }
#game-surface .realism-game-layout .realism-info-row p { font:12px/1.45 Arial,sans-serif; color:#dfddd0; margin:5px 0 0; }
#game-surface .realism-game-layout .realism-info-row>.aurel-reel-symbol { width:48px; height:48px; flex:0 0 48px; }
#game-surface .realism-game-layout .approved-side-deck { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:auto; padding:10px 0 0; background:#060906; }
#game-surface .realism-game-layout .approved-side-deck .realism-deck-button { min-height:76px; }
#game-surface .approved-extra-controls { display:flex; flex-wrap:wrap; justify-content:center; gap:16px; align-items:center; max-width:1200px; margin:20px auto 0; padding:14px; border:1px solid #8f794c; border-radius:8px; background:#080e0b; }
#game-surface .approved-extra-controls .machine-line-select { display:flex; flex-direction:column; gap:8px; }
#game-surface .approved-extra-controls .control-label { font-size:11px; }
#game-surface .approved-extra-controls .machine-line-options { display:flex; gap:6px; }
#game-surface .approved-extra-controls .machine-line-options button { min-height:36px; min-width:45px; }
#game-surface .approved-extra-controls .machine-win-ledger { flex:1 1 200px; padding:0; font-size:11px; }
#game-surface .approved-extra-controls .machine-bank-buttons { display:flex; gap:8px; }
#game-surface .approved-extra-controls .machine-bank-button { width:auto; min-width:100px; min-height:42px; font-size:11px; }
#game-surface .realism-game-layout .expansion-celebration { margin:4px 0; }
#game-surface .realism-game-layout .expansion-celebration-card { padding:8px 10px; gap:6px; }
#game-surface .realism-game-layout .expansion-celebration p { font-size:11px; }
@media(max-width:1050px) {
 #game-surface .realism-game-layout { grid-template-columns:minmax(0,1fr) 24%; gap:8px; }
 #game-surface .realism-game-layout .expansion-cabinet { border-width:10px; }
 #game-surface .realism-game-layout .expansion-meters { grid-template-columns:60px 1.15fr 1.2fr 1fr 82px; gap:4px; padding:5px; }
 #game-surface .realism-game-layout .expansion-spin { width:78px; min-height:75px; }
 #game-surface .realism-game-layout .expansion-meters strong { font-size:22px; }
 #game-surface .realism-game-layout .realism-bet-meter input { font-size:20px; }
 #game-surface .realism-game-layout .realism-game-information { padding:10px 7px 0; border-width:6px; }
 #game-surface .realism-game-layout .realism-game-information h3 { font-size:20px; }
 #game-surface .realism-game-layout .realism-info-row { gap:7px; padding:10px 0; }
 #game-surface .realism-game-layout .realism-info-row>.aurel-reel-symbol { width:36px; height:36px; flex-basis:36px; }
}
@media(max-width:700px) {
 body.game-view .game-page { padding:12px 8px 20px; }
 #game-surface .realism-game-layout { display:flex; flex-direction:column; gap:14px; }
 #game-surface .realism-game-layout .expansion-cabinet { border-width:8px; }
 #game-surface .realism-game-layout .expansion-topper { aspect-ratio:5.6; }
 #game-surface .realism-game-layout .expansion-topper .pokie-topper-copy { padding:5px; }
 #game-surface .realism-game-layout .expansion-topper h2 strong { font-size:25px; }
 #game-surface .realism-game-layout .expansion-topper h2 span { font-size:16px; }
 #game-surface .realism-game-layout .expansion-window { padding-inline:15px; }
 #game-surface .realism-game-layout .expansion-window::before,#game-surface .realism-game-layout .expansion-window::after { width:14px; font-size:8px; }
 #game-surface .approved-line-marker { width:13px; }
 #game-surface .approved-line-marker b { font-size:14px; }
 #game-surface .approved-line-marker small { font-size:7px; }
 #game-surface .realism-game-layout .expansion-reels { --expansion-reel-row:calc((100cqw - 8px) / var(--expansion-reel-columns) / 1.25); }
 #game-surface .realism-game-layout .expansion-meters { grid-template-columns:repeat(12,minmax(0,1fr)); gap:4px; }
 #game-surface .realism-game-layout .expansion-meters>div:nth-child(2) { grid-column:1/5; grid-row:1; }
 #game-surface .realism-game-layout .expansion-meters>.realism-bet-meter { grid-column:5/10; grid-row:1; }
 #game-surface .realism-game-layout .expansion-meters>div:nth-child(4) { grid-column:10/13; grid-row:1; }
 #game-surface .realism-game-layout .expansion-meters strong { font-size:16px; }
 #game-surface .realism-game-layout .expansion-meters small,#game-surface .realism-game-layout .realism-bet-meter>label { font-size:11px; }
 #game-surface .realism-game-layout .realism-bet-meter input { font-size:16px; height:34px; }
 #game-surface .realism-game-layout .realism-bet-meter button { min-width:25px; max-width:25px; flex-basis:25px; min-height:34px; }
 #game-surface .realism-game-layout .expansion-meters>.realism-deck-button { grid-column:1/5; grid-row:2; min-height:55px; }
 #game-surface .realism-game-layout .expansion-spin { grid-column:5/13; grid-row:2; width:76px; min-height:72px; justify-self:center; }
 #game-surface .realism-game-layout .realism-game-information { padding:12px; margin:0; }
 #game-surface .realism-game-layout .realism-info-row strong { font-size:15px; }
 #game-surface .realism-game-layout .realism-info-row p { font-size:13px; }
 #game-surface .realism-game-layout .approved-side-deck { margin-top:10px; }
 #game-surface .approved-extra-controls { padding:12px; gap:12px; }
 #game-surface .approved-extra-controls .approved-jackpots .jackpot-meters { gap:5px; }
 #game-surface .approved-extra-controls .approved-jackpots .jackpot-amount { font-size:16px; }
}

/* A single win ribbon and the reference's dedicated celebration panel. */
#game-surface .realism-game-layout .expansion-celebration-card { flex-wrap:nowrap; min-height:42px; padding:7px 10px; }
#game-surface .realism-game-layout .expansion-celebration h3,#game-surface .realism-game-layout .expansion-celebration-amount { font: bold clamp(16px,2vw,26px)/1.25 Georgia,serif; }
#game-surface .approved-prize-panel { text-align:center; display:flex; flex:1; flex-direction:column; align-items:center; justify-content:center; gap:14px; padding:18px 0; }
#game-surface .approved-prize-panel>strong { color:#ffd878; font:32px/1.2 Georgia,serif; }
#game-surface .approved-prize-panel p { font:14px/1.5 Arial,sans-serif; margin:0; }
#game-surface .approved-prize-panel>.aurel-reel-symbol { width:155px; height:155px; }
#game-surface .approved-prize-panel small { font-size:11px; color:#dfd7bd; }
#game-surface .expansion-window[data-display-mode="WAYS"] .approved-line-marker,#game-surface .expansion-window[data-display-mode="CLUSTERS"] .approved-line-marker { display:none; }
@media(max-width:700px){#game-surface .realism-game-layout .expansion-celebration-card { flex-wrap:wrap; gap:4px; } #game-surface .approved-prize-panel>.aurel-reel-symbol {width:130px;height:130px;} }
#game-surface .pokie-topper-copy p {font-size:11px;line-height:1.4;white-space:normal;}
#game-surface .roulette-column-bet,#game-surface .roulette-bet-mode,#game-surface .bj-deal,#game-surface .keno-quick button,#game-surface .keno-quick-actions>.button,#game-surface .keno-status-line {font-size:12px;}
#game-surface .sic-bet-group h3 {font-size:11px;line-height:1.5;white-space:normal;}

#game-surface .outside-bet-cards.columns button,#game-surface .selection-modes button,#game-surface .game-actions .button {font-size:12px;}

body.game-view::before {filter:none;}

#game-surface .approved-prize-panel>.aurel-reel-symbol {max-width:none;}
#game-surface .approved-prize-panel .realism-approved-symbol,#game-surface .approved-prize-panel .realism-symbol-image img {object-fit:contain;}
#game-surface .approved-celebration-art {width:min(100%,180px);height:160px;object-fit:contain;}

#game-surface .outside-row.columns button {font-size:12px;}
#game-surface .premium-feature-ribbon strong {font-size:12px;line-height:1.4;white-space:normal;}

/* The approved photograph supplies the physical housing; live surfaces cover every baked display. */
#game-surface .realism-game-layout .expansion-cabinet {padding:9px 16px 9px 70px;background:url('./realism/approved/pilbara-cabinet.webp') center/100% 100% no-repeat;box-shadow:none;}
#game-surface [data-expansion-machine="reef-pearls"] .expansion-cabinet {background-image:url('./realism/approved/reef-cabinet.webp');}
#game-surface [data-expansion-machine="emerald-empire"] .expansion-cabinet {background-image:url('./realism/approved/emerald-cabinet.webp');}
@media(max-width:700px){#game-surface .realism-game-layout .expansion-cabinet {padding:5px 7px 5px 23px;} }

@media(max-width:700px){
 .realism-hero-copy .button{min-height:44px}
 #game-surface .realism-game-layout .expansion-meters>.expansion-spin {grid-column:5/13;grid-row:2;width:76px;justify-self:center;}
}
#game-surface [data-expansion-machine="emerald-empire"] .expansion-cabinet {background-image:url('./realism/approved/pilbara-cabinet.webp');}
#game-surface [data-expansion-machine="emerald-empire"]:has([data-win-celebration="prize"]) .expansion-cabinet {background-image:url('./realism/approved/emerald-cabinet.webp');}

/* Prizes replace the entire marquee without moving the reels or credit deck. */
body.game-view::before {filter:none;}
#game-surface .expansion-topper {position:relative;}
#game-surface .realism-game-layout .expansion-topper>.expansion-celebration {position:absolute;inset:0;z-index:9;margin:0;min-height:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#62400a,#120e05 80%);border:2px solid #e7b955;border-radius:6px;overflow:hidden;}
#game-surface .realism-game-layout .expansion-topper>.expansion-celebration .expansion-celebration-card {position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;width:100%;gap:8px;background:none;border:0;box-shadow:none;}
#game-surface .realism-game-layout .expansion-topper>.expansion-celebration h3,#game-surface .realism-game-layout .expansion-topper>.expansion-celebration strong {font:bold clamp(18px,3vw,38px)/1.15 Georgia,serif;text-align:center;}
#game-surface .painted-symbol-badge {display:none;}

/* Native machine engines retain their reel tracks inside the common physical cabinet. */
#game-surface .approved-native-cabinet {width:100%;max-width:none;min-height:0;margin:0;transform:none;border:0;border-radius:0;display:block;position:relative;}
#game-surface .approved-native-cabinet::before,#game-surface .approved-native-cabinet::after {display:none;}
#game-surface .approved-native-cabinet .expansion-display {padding:0;margin:0;min-width:0;}
#game-surface .approved-native-topper {background:linear-gradient(90deg,#073a20,#173525,#073a20);min-height:0;padding:0;}
#game-surface .approved-native-topper .pokie-topper-copy {position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:8px;}
#game-surface .approved-native-topper h2 {font:bold clamp(24px,4vw,52px)/1.05 Georgia,serif;color:#ffcf67;text-shadow:2px 3px 2px #000;text-align:center;margin:0;}
#game-surface .approved-native-topper h2 em {font-style:normal;}
#game-surface .approved-native-cabinet .expansion-window {padding:6px;background:#09160f;border:2px solid #ba8d3d;margin:0;border-radius:0;min-height:0;}
#game-surface .approved-native-cabinet .slot-machine-rim,#game-surface .approved-native-cabinet .royale-reel-window {padding:0;border:0;background:none;}
#game-surface .approved-native-cabinet .line-number {display:none;}
#game-surface .approved-native-cabinet .expansion-reels {display:grid;grid-template-columns:repeat(var(--expansion-reel-columns),minmax(0,1fr));gap:3px;padding:0;height:auto;min-height:0;container-type:inline-size;}
#game-surface .approved-native-cabinet .expansion-reel {height:calc(var(--expansion-reel-row) * var(--expansion-strip-rows));min-height:0;margin:0;padding:0;border:1px solid #bd944b;background:#02180e;border-radius:3px;overflow:hidden;}
#game-surface .approved-native-cabinet .expansion-reel-track {padding:0;margin:0;}
#game-surface .approved-native-cabinet .pokie-cell,#game-surface .approved-native-cabinet .premium-cell,#game-surface .approved-native-cabinet .reel-cell,#game-surface .approved-native-cabinet .western-cell {height:var(--expansion-reel-row);min-height:0;width:100%;padding:3px;box-sizing:border-box;border-bottom:1px solid #a47a32;border-radius:0;background:#042114;display:flex;align-items:center;justify-content:center;}
#game-surface .approved-native-cabinet .expansion-meters {margin:0;}
#game-surface .approved-native-cabinet .expansion-meters strong {font:bold clamp(14px,1.7vw,24px)/1.2 Georgia,serif;}
#game-surface .approved-native-cabinet .expansion-meters .western-handle {position:static;transform:none;height:84px;width:84px;touch-action:manipulation;}
#game-surface .approved-native-machine .realism-game-information {min-height:0;}
#game-surface .approved-native-machine .approved-side-deck {grid-template-columns:1fr;margin-top:12px;}
#game-surface .approved-native-machine .approved-side-deck .realism-deck-button {min-height:58px;}
#game-surface .approved-side-deck:has(> :only-child) {grid-template-columns:1fr;margin-top:12px;min-height:0;}

#game-surface .approved-native-machine {max-width:1120px!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;}
#game-surface .approved-native-machine::before,#game-surface .approved-native-machine::after {display:none!important;}
#game-surface .approved-extra-controls .machine-jackpots {flex-basis:100%;max-width:none;width:100%;}
#game-surface .approved-extra-controls .jackpot-meters {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;}
#game-surface .approved-extra-controls .jackpot-meter {min-width:0;padding:8px 4px;}
#game-surface .approved-extra-controls .jackpot-label {font-size:14px!important;line-height:1.4;letter-spacing:1px;}
#game-surface .approved-extra-controls .jackpot-amount {font-size:18px!important;line-height:1.4;letter-spacing:0;}
#game-surface .approved-extra-controls .jackpot-caption,#game-surface .approved-extra-controls .jackpot-condition,#game-surface .approved-extra-controls .jackpot-header {font-size:11px!important;line-height:1.4;white-space:normal;}
#game-surface .approved-native-cabinet .machine-display:before,#game-surface .approved-native-cabinet .machine-display:after {display:none;}
#game-surface img.realism-approved-symbol[src$="/ace.webp"],#game-surface img.realism-approved-symbol[src$="/king.webp"],#game-surface img.realism-approved-symbol[src$="/queen.webp"] {object-position:center bottom;}
#game-surface .realism-game-layout .expansion-display {background:#030907;}

/* Show the sharp room photograph; the cabinet alone supplies its shadow. */
body.game-view {background:#161b16;}
body.game-view::before,body.game-view[data-route="opal-empire"]::before {
 background-image:var(--casino-room-image);background-size:cover;background-position:var(--casino-room-position);filter:none;opacity:1;
}
body.game-view[data-route="opal-empire"] {--casino-room-image:url('./casino-machine-floor.webp');}
/* The old rectangular cabinet crop included an out-of-focus room along its left edge. */
#game-surface .realism-game-layout .expansion-cabinet {position:relative;isolation:isolate;background:none;}
#game-surface .realism-game-layout .expansion-cabinet::before {
 content:'';display:block;position:absolute;inset:0;z-index:-1;pointer-events:none;
 background:url('./realism/approved/pilbara-cabinet.webp') center/100% 100% no-repeat;
 clip-path:polygon(9% 0,100% 0,100% 100%,0 100%);border:0;opacity:1;transform:none;
}
#game-surface [data-expansion-machine="reef-pearls"] .expansion-cabinet::before {background-image:url('./realism/approved/reef-cabinet.webp');}
#game-surface [data-expansion-machine="emerald-empire"]:has([data-win-celebration="prize"]) .expansion-cabinet::before {background-image:url('./realism/approved/emerald-cabinet.webp');}
#game-surface .approved-native-cabinet .expansion-window {padding:6px;background:url('./realism/approved/reel-stone.webp') center/26px 100%,#381d0c;border-radius:6px;}
#game-surface .approved-native-cabinet :is(.pokie-cell,.premium-cell,.reel-cell,.western-cell) {padding:0;border:1px solid #c69c46;border-radius:4px;overflow:hidden;}

.native-photo-symbol {position:relative;display:inline-block;width:100%;height:100%;min-width:0;background:none;aspect-ratio:auto;filter:none;}
.native-photo-tile {display:block;width:100%;height:100%;background:url('./realism/native-symbols.png') var(--native-x) var(--native-y)/600% 400% no-repeat;}
.native-photo-symbol>img {display:block;width:100%;height:100%;object-fit:contain;background:#04170f;}
#game-surface .realism-game-layout .expansion-reels .native-photo-symbol {width:100%;height:100%;max-width:none;padding:0;margin:0;aspect-ratio:auto;background:none;filter:none;}
#game-surface .approved-native-cabinet .expansion-reel-cell .native-photo-symbol {max-width:none;}
#game-surface .realism-game-layout .expansion-meters .western-handle>span {position:static;inset:auto;font:700 13px/1.3 Arial,sans-serif;letter-spacing:0;}
#game-surface .realism-game-layout .expansion-meters .western-handle::before,#game-surface .realism-game-layout .expansion-meters .western-handle::after {display:none;}
#game-surface .approved-native-cabinet .expansion-meters .western-handle {display:flex;align-items:center;justify-content:center;flex-direction:column;}
.pokie-paytable .native-photo-symbol,.premium-paytable .native-photo-symbol,.western-paytable .native-photo-symbol,.slot-paytable .native-photo-symbol {width:44px;height:38px;vertical-align:middle;}
#game-surface .expansion-reel-cell [data-symbol-kind="wild"] {box-shadow:inset 0 0 0 2px #f4ce65,inset 0 0 14px #e7b72d70;}
body.game-view .credit-token-flight {display:none;}
#game-surface .realism-game-layout .approved-native-topper {background-image:linear-gradient(#0002,#0005),url('./machine-scenes.png');background-size:100% 100%,200% 200%;background-position:center,0 0;}
body[data-route="slots"] #game-surface .approved-native-topper,body[data-route="iron-vault"] #game-surface .approved-native-topper {background-position:center,100% 100%;}
body[data-route="southern-skies"] #game-surface .approved-native-topper {background-position:center,0 100%;}
body[data-route="coral-crown"] #game-surface .approved-native-topper {background-position:center,100% 0;}
body[data-route="jade-palace"] #game-surface .approved-native-topper {background-image:linear-gradient(#0002,#0005),url('./realism/scenes.webp');background-position:center,100% 100%;}
@media(max-width:700px) {
 #game-surface .realism-game-layout .expansion-meters>div:nth-child(3) {grid-column:5/10;grid-row:1;min-width:0;}
 #game-surface .approved-extra-controls .jackpot-meters {grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
 #game-surface .approved-extra-controls .jackpot-meter {padding:10px 6px;}
 #game-surface .approved-extra-controls .jackpot-amount {font-size:18px!important;white-space:nowrap;}
 #game-surface .approved-extra-controls .pokie-controls {grid-template-columns:minmax(0,1fr);width:100%;padding:10px;}
}

/* Keep game controls clear of the fixed header when using keyboard or touch navigation. */
html:has(body.game-view) { scroll-padding-top:80px; scroll-padding-bottom:24px; }
#game-surface button,#game-surface input,#game-surface select { scroll-margin-top:80px; scroll-margin-bottom:24px; }

/* Pilbara reference cabinet: fixed furniture, photographic symbols, one compact deck. */
#game-surface .reference-options {max-width:1210px;margin:12px auto;color:#ead59d;border:1px solid #79633a;border-radius:5px;background:#071009e8;}
#game-surface .reference-options>summary {cursor:pointer;padding:10px 14px;font:14px/1.4 Arial,sans-serif;}
#game-surface .reference-options:not([open])>.approved-extra-controls {display:none;}
#game-surface .reference-options>.approved-extra-controls {margin:0;padding:12px;}
#game-surface .reference-feature-status {padding:10px 0;border-bottom:1px solid #786038;color:#ffe6a4;font:14px/1.4 Arial,sans-serif;overflow-wrap:anywhere;}
#game-surface .reference-feature-status p {margin:5px 0;font-size:11px;}
#game-surface .reference-cabinet .expansion-topper:has(.pilbara-feature-band) .pokie-topper-copy {padding-bottom:36px;}
#game-surface .reference-cabinet .expansion-topper .pokie-topper-copy h2 {max-width:100%;text-align:center;}
#game-surface .reference-cabinet .expansion-reels:is([style*="columns:3"],[style*="columns: 3"]) {--expansion-reel-row:min(120px,calc((100cqw - 8px)/3/1.52))!important;}
body:has(#game-surface .reference-cabinet) .game-page {max-width:1360px;padding:14px 24px 20px;}
#game-surface :is(.pilbara-reference,.reference-cabinet) .realism-game-layout {max-width:1280px;grid-template-columns:minmax(0,1fr) 238px;gap:10px;}
#game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-cabinet {padding:8px 12px 8px 58px;}
#game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-topper {aspect-ratio:6.88;min-height:0;height:auto;overflow:hidden;border:2px solid #ba8437;border-radius:8px;box-shadow:inset 0 0 0 1px #ffe7a0,0 2px 4px #000;}
#game-surface :is(.pilbara-reference,.reference-cabinet) .realism-pilbara-marquee {display:block;object-fit:cover;}
#game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-window {padding:7px 20px;border:2px solid #805322;box-shadow:inset 0 0 0 1px #f6d27b,0 2px 4px #000;background:linear-gradient(90deg,#31170b,#865021 3%,#160d08 6%,#160d08 94%,#865021 97%,#31170b);}
#game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-reels {--expansion-reel-row:calc((100cqw - 8px) / var(--expansion-reel-columns,5) / 1.52);gap:4px;background:#030b08;}
#game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-reel-cell {border:2px ridge #dcac50;border-radius:5px;background:#03120c;box-shadow:inset 0 0 5px #000;}
#game-surface :is(.pilbara-reference,.reference-cabinet) .pilbara-symbol-photo {display:block;width:100%;height:100%;background:#03120c;filter:none;}
#game-surface :is(.pilbara-reference,.reference-cabinet) .aurel-reel-symbol {padding:0;overflow:hidden;background:#03120c;}
#game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-meters {grid-template-columns:76px minmax(0,1.15fr) minmax(0,1.25fr) minmax(0,1fr) 102px;min-height:94px;margin-top:6px;padding:5px;gap:5px;border:3px ridge #d4b36a;border-radius:10px;}
#game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-meters>div {gap:5px;padding:7px 5px;justify-content:center;}
#game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-meters strong {font-size:clamp(21px,2vw,28px);font-variant-numeric:tabular-nums;}
#game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-spin {min-height:88px;width:96px;transition:box-shadow .18s,filter .18s;}
#game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-spin:hover:not(:disabled) {filter:brightness(1.12);box-shadow:0 0 0 2px #58431c,0 0 0 4px #ffde88,0 0 20px #eabc5666,inset 0 0 0 2px #ffe5a0;}
#game-surface :is(.pilbara-reference,.reference-cabinet) .realism-game-information {padding:15px 10px 0;border-width:8px;gap:0;}
#game-surface :is(.pilbara-reference,.reference-cabinet) .realism-game-information h3 {font-size:24px;margin:0;padding-bottom:12px;}
#game-surface :is(.pilbara-reference,.reference-cabinet) .realism-info-row {flex:1;padding:10px 0;gap:10px;}
#game-surface :is(.pilbara-reference,.reference-cabinet) .realism-info-row strong {font-size:14px;color:#ffe39d;}
#game-surface :is(.pilbara-reference,.reference-cabinet) .realism-info-row p {font-size:12px;line-height:1.4;color:#e2dfd2;}
#game-surface :is(.pilbara-reference,.reference-cabinet) .realism-info-row>.aurel-reel-symbol {width:49px;height:49px;flex-basis:49px;}
#game-surface :is(.pilbara-reference,.reference-cabinet) .approved-side-deck {margin-top:auto;padding-top:8px;min-height:94px;}
#game-surface :is(.pilbara-reference,.reference-cabinet) .approved-side-deck button {min-height:80px;border:2px ridge #a3864e;}
#game-surface :is(.pilbara-reference,.reference-cabinet) .pilbara-utility {max-width:1210px;margin:12px auto 0;display:flex;gap:18px;align-items:center;justify-content:center;color:#d3c8a8;font:12px/1.4 Arial,sans-serif;}
#game-surface :is(.pilbara-reference,.reference-cabinet) .pilbara-utility button {background:#071009;border:1px solid #79633a;border-radius:4px;color:#ead59d;padding:6px 12px;min-height:34px;font:inherit;}
#game-surface :is(.pilbara-reference,.reference-cabinet) .pilbara-utility button:disabled {opacity:.45;}
#game-surface :is(.pilbara-reference,.reference-cabinet) .pilbara-feature-band {position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 16px;background:#06120ef0;border-top:2px ridge #c69a43;color:#ffe1a0;font:600 15px/1.2 Georgia,serif;z-index:3;}
#game-surface :is(.pilbara-reference,.reference-cabinet) .pilbara-feature-band span {font:12px/1.2 Arial,sans-serif;}
#game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-celebration {inset:0!important;z-index:5;overflow:hidden;background:radial-gradient(ellipse at center,#765122,#09120b 78%);border:3px ridge #ffdc7b;border-radius:5px;}
#game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-celebration-card {height:100%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px;background:none;border:0;box-shadow:none;}
#game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-celebration h3 {font:700 clamp(23px,3vw,45px)/1.05 Georgia,serif;letter-spacing:2px;color:#ffe8a1;}
#game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-celebration-amount {font:600 clamp(20px,2.5vw,34px)/1.1 Georgia,serif;color:#ffe3a0;}
#game-surface :is(.pilbara-reference,.reference-cabinet):has([data-win-celebration="prize"]) .expansion-window {animation:pilbara-prize-glow 1.25s ease-in-out infinite alternate;}
@keyframes pilbara-prize-glow {from {box-shadow:inset 0 0 0 1px #f6d27b,0 0 8px #efbd4533;} to {box-shadow:inset 0 0 0 2px #fff0ae,0 0 25px #efbd45bb;}}
@media (max-width:1100px) and (min-width:701px) {
 #game-surface :is(.pilbara-reference,.reference-cabinet) .realism-game-layout {grid-template-columns:minmax(0,1fr) 205px;gap:7px;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-cabinet {padding-left:44px;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-meters {grid-template-columns:62px minmax(0,1fr) minmax(0,1.15fr) minmax(0,.8fr) 85px;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-spin {width:80px;min-height:78px;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-meters strong {font-size:22px;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .realism-game-information h3 {font-size:20px;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .realism-info-row {padding:6px 0;}
}
@media(max-width:700px) {
 body:has(#game-surface .reference-cabinet) .game-page {padding:8px 6px 16px;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .realism-game-layout {display:flex;flex-direction:column;gap:10px;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-cabinet {width:100%;padding:6px 7px 6px 23px;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-window {padding:4px 12px;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-reels {gap:2px;--expansion-reel-row:calc((100cqw - 8px) / var(--expansion-reel-columns,5) / 1.15);}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-reel-cell {border-width:1px;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-meters {grid-template-columns:repeat(12,minmax(0,1fr));gap:5px;padding:5px;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-meters>div:nth-child(2) {grid-column:1/5;grid-row:1;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-meters>div:nth-child(3) {grid-column:5/10;grid-row:1;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-meters>div:nth-child(4) {grid-column:10/13;grid-row:1;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-meters strong {font-size:16px;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-spin {grid-column:6/10;grid-row:2;width:82px;min-height:78px;justify-self:center;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .realism-game-information {width:100%;padding:10px 12px;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .realism-info-row {padding:8px 0;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .approved-side-deck {min-height:64px;padding-top:6px;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .approved-side-deck button {min-height:56px;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .pilbara-utility {flex-wrap:wrap;gap:8px;margin:10px 0;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .pilbara-utility span {order:2;flex-basis:100%;text-align:center;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .pilbara-feature-band {padding:3px 5px;font-size:11px;gap:4px;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .pilbara-feature-band span {font-size:10px;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-celebration h3 {font-size:19px;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-celebration-amount {font-size:17px;}
}
@media(prefers-reduced-motion:reduce){#game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-window{animation:none!important;}}
#game-surface :is(.pilbara-reference,.reference-cabinet).expansion-comfort .expansion-window{animation:none!important;}

#game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-window {padding-left:28px;padding-right:28px;}
#game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-topper:has(.pilbara-feature-band) .realism-pilbara-marquee {height:calc(100% - 34px);object-fit:fill;object-position:center top;}
#game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-meters {box-shadow:0 -6px 0 #090c08;}
@media(max-width:700px){
 #game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-window {padding-left:16px;padding-right:16px;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-reels {--expansion-reel-row:calc((100cqw - 8px) / var(--expansion-reel-columns,5) / 1.52);}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-topper {width:100%;min-width:0;aspect-ratio:auto;height:90px;min-height:90px!important;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .realism-pilbara-marquee {object-fit:contain;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-topper:has(.pilbara-feature-band) .realism-pilbara-marquee {height:calc(100% - 26px);}
 /* Give the two photographic marquees a definite height despite the older auto!important rule.
    Crop scenery at the sides, keeping both title logos intact down to 320px. */
 #game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-topper:has(>.realism-pilbara-marquee) {height:90px!important;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .realism-pilbara-marquee,
 #game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-topper:has(.pilbara-feature-band) .realism-pilbara-marquee {object-fit:cover;object-position:62% center;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-topper:has(>.realism-pilbara-marquee) .pilbara-feature-band {height:26px;min-height:0;margin:0;flex-wrap:nowrap;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-topper:has(>.realism-pilbara-marquee) .pilbara-feature-band span {flex-basis:auto;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .expansion-topper:has(>.realism-pilbara-marquee) .pilbara-feature-band strong {letter-spacing:0;}
}

/* Feature identities remain visible without printed WILD/SCATTER badges. */
.expansion-reel-symbol[data-symbol-role="wild"],.expansion-reel-symbol[data-symbol-role="scatter"]{position:relative;isolation:isolate}
.expansion-reel-symbol[data-symbol-role="wild"]::after,.expansion-reel-symbol[data-symbol-role="scatter"]::after{content:"";position:absolute;inset:3%;pointer-events:none;z-index:2}
.expansion-reel-symbol[data-symbol-role="wild"]::after{border:3px double #ffd878;border-radius:12% 3%;box-shadow:inset 0 0 9px #ffc648aa,0 0 3px #ffd77e;background:linear-gradient(135deg,#ffe9a244,transparent 22%,transparent 80%,#ffe9a244)}
.expansion-reel-symbol[data-symbol-role="scatter"]::after{inset:5% 8%;border:3px double #93edff;border-radius:50%;box-shadow:inset 0 0 10px #57dafa88,0 0 4px #8ee9ff}

/* Paid lines are measured through settled symbol centres, independent of cabinet size. */
#game-surface .has-winning-lines {position:relative;}
#game-surface .machine-win-lines {position:absolute;inset:0;width:100%;height:100%;z-index:8;pointer-events:none;overflow:hidden;border-radius:3px;}
#game-surface .machine-win-line {visibility:hidden;}
#game-surface .machine-win-line.is-active {visibility:visible;}
#game-surface .machine-win-line polyline {fill:none;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke;}
#game-surface .machine-win-line-shadow {stroke:#1b0d00;stroke-width:6;stroke-opacity:.8;}
#game-surface .machine-win-line-core {stroke:#ffdf78;stroke-width:2.5;filter:drop-shadow(0 0 3px #ffb72f);}
#game-surface .machine-win-line.is-active polyline {stroke-dasharray:1;animation:paid-line-draw 300ms ease-out both;}
#game-surface .machine-win-lines[data-reduced="true"] polyline {animation:none;stroke-dasharray:none;}
@keyframes paid-line-draw {from {stroke-dashoffset:1;} to {stroke-dashoffset:0;}}
@media (prefers-reduced-motion:reduce) {#game-surface .machine-win-line.is-active polyline {animation:none;stroke-dasharray:none;}}

/* At narrow phone widths, give both credit values a full half-row without hiding digits. */
@media(max-width:360px){
 #game-surface :is(.pilbara-reference,.reference-cabinet) .realism-game-layout .expansion-meters>div:nth-child(2){grid-column:1/7;grid-row:1;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .realism-game-layout .expansion-meters>div:nth-child(4){grid-column:7/13;grid-row:1;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .realism-game-layout .expansion-meters>div:nth-child(3){grid-column:1/7;grid-row:2;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .realism-game-layout .expansion-meters>.expansion-spin{grid-column:7/13;grid-row:2;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .realism-game-layout .expansion-meters>.realism-deck-button{grid-column:1/13;grid-row:3;min-height:44px;}
 #game-surface :is(.pilbara-reference,.reference-cabinet) .realism-game-layout .expansion-meters strong{font-size:14px;max-width:100%;overflow-wrap:anywhere;}
}

/* Final coarse-pointer sizing follows the fully composed cabinet rules above. */
@media(max-width:700px){
 .realism-hero-copy .button{min-height:44px}
 body.game-view #game-surface :is(button,select,input,summary){min-height:44px}
 body.game-view .game-page-actions .button{min-width:44px}
 #game-surface .vp-controls{grid-template-columns:minmax(0,1fr) 116px;gap:10px}
 #game-surface .vp-coin-select{grid-column:1/-1;grid-row:1}
 #game-surface .vp-denomination{grid-column:1;grid-row:2}
 #game-surface .vp-deal-key{grid-column:2;grid-row:2}
 #game-surface .vp-coin-select>div{display:grid;grid-template-columns:repeat(5,minmax(44px,1fr))}
 #game-surface .keno-number-grid{grid-template-columns:repeat(7,minmax(44px,1fr))}
 #game-surface .keno-quick{align-items:stretch;flex-direction:column}
 #game-surface .keno-quick [role=group]{display:grid;grid-template-columns:repeat(5,minmax(44px,1fr))}
 #game-surface .keno-quick [role=group]>button{width:auto;height:44px}
 #game-surface .realism-bet-meter>div{gap:2px}
 body.game-view #game-surface .realism-game-layout .realism-bet-meter button{min-width:44px;max-width:44px;min-height:44px;flex-basis:44px}
 body.game-view #game-surface .realism-game-layout .realism-bet-meter input{min-width:44px;height:44px}
 body.game-view #game-surface :is(.pilbara-reference,.reference-cabinet) .pilbara-utility button{min-height:44px}
}
/* M1 S1 — shared type scale and legibility floor (loaded last in the bundle).
   Goal: a 55+ visitor reads everything without zooming. Body copy 18px, an absolute
   14px floor for visible reading text, letter-spaced capitals only at 16px and above
   (smaller uppercase labels lose their tracking instead), chip-value numerals >=16px.
   This layer scales TEXT only: it never resizes cabinet geometry, reel or table
   artwork, or the shell boxes qa/shell-geometry.mjs measures. `!important` is used
   deliberately so the floor outranks the many packed per-viewport rules upstream. */

body{font-size:18px}

/* --- Shared shell ------------------------------------------------------- */
.eyebrow{font-size:14px!important;letter-spacing:normal!important}
.button{font-size:14px!important}
.text-button{font-size:14px!important}
.brand small,.entry-brand small,.site-footer>div small,.landing-footer-brand span small,.realism-hero-brand span small{font-size:14px!important;letter-spacing:normal!important}
.sidebar-label{font-size:14px!important;letter-spacing:normal!important}
.sidebar-legal span{font-size:14px!important;letter-spacing:normal!important;line-height:1.45}
.sidebar-club-card p,.sidebar-club-card .text-button{font-size:14px!important}
.main-nav button{font-size:14px!important}
.main-nav button b{font-size:14px!important}
.sidebar-settings{font-size:14px!important}
.breadcrumb{font-size:14px!important;letter-spacing:normal!important}
.session-button{font-size:14px!important}
.balance-pill small,.bank-menu-button small,.bank-name small{font-size:14px!important;letter-spacing:normal!important}
.balance-pill strong{font-size:16px!important}
.aurel-bank dt,.bank-history small,.practice-status{font-size:14px!important}
.mobile-nav button,.mobile-nav button span{font-size:14px!important}
.sidebar-legal b{font-size:14px!important}
.site-footer p,.site-footer>small,.site-footer nav button,.site-footer nav a{font-size:14px!important}
.site-footer>div span{font-size:16px!important}
.storage-warning,.pause-banner,.toast{font-size:14px!important}
.trust-strip,.scope-legal{font-size:14px!important}
.scope-guidance p,.lounge-card p{font-size:16px!important}
.experience-strip>span{font-size:14px!important;letter-spacing:normal!important}
.page-intro p,.page-intro>p,.modal-body p,.club-note p{font-size:16px!important}
.club-dialog p{font-size:16px!important}
.extra-effect-note{font-size:14px!important}
.page-note{font-size:14px!important}

/* Compliance strip: one legible line, same claims, at every width (14px floor).
   On narrow screens the full-wording spans stay for assistive tech only; clip-path
   is the modern screen-reader-only clip and marks them as intentionally hidden. */
@media(max-width:1000px){.preview-strip>span:not(.preview-condensed){clip-path:inset(50%)}}
.preview-strip{font-size:14px!important;letter-spacing:normal!important;height:auto!important;min-height:30px!important;padding-top:6px!important;padding-bottom:6px!important;line-height:1.3}
.preview-strip>span{white-space:nowrap}
.preview-strip>span.preview-condensed:first-child{font-size:14px!important;letter-spacing:normal!important}
.preview-strip button{font-size:14px!important}

/* Game cards (text only; card frames and cover artwork untouched) */
.game-card-body .eyebrow{font-size:14px!important}
.game-card-body p{font-size:14px!important;line-height:1.55}
.game-card-body small,.game-card small{font-size:14px!important}
.expansion-new-label{font-size:14px!important;letter-spacing:normal!important}
.game-visual-badge{font-size:14px!important;letter-spacing:normal!important}
.section-heading .eyebrow{font-size:14px!important}

/* Landing page (public beta lobby) */
.realism-hero-copy p{font-size:16px!important}
.realism-floor-navigation nav button{font-size:14px!important}
.realism-inside-pilbara p{font-size:16px!important}
.realism-info-row p{font-size:16px!important}
.landing-footer-head>span{font-size:16px!important}
.landing-footer-groups section h2{font-size:16px!important}
.landing-footer-link span,.landing-footer-link{font-size:14px!important}
.landing-footer-legal span{font-size:14px!important}

/* --- Game surfaces (scale text, not frames) ----------------------------- */
.control-label{font-size:14px!important;letter-spacing:normal!important}
.hand-label{font-size:14px!important;letter-spacing:normal!important}
.hand-label b{font-size:14px!important}
.hand-stake{font-size:14px!important}
.empty-hand small{font-size:14px!important}
.table-brand small{font-size:14px!important;letter-spacing:normal!important}
.table-brand i{font-size:14px!important}
.table-label{font-size:14px!important;letter-spacing:normal!important}
.round-result span,.round-result small{font-size:14px!important}
.game-footnote,.game-footnote span{font-size:14px!important}
.selection-modes button{font-size:14px!important}
.selection-hint{font-size:14px!important}
.outside-row button,.outside-row button small,.roulette-column{font-size:14px!important}
.selected-bets,.selected-bets>span,.selected-bets .muted{font-size:14px!important}
.roulette-tools span,.roulette-tools .text-button{font-size:14px!important}
.wheel-history>span,.wheel-history small{font-size:14px!important;letter-spacing:normal!important}
.wheel-panel .round-result div>span{font-size:14px!important}
body.game-view #game-surface :is(.text-button,small,span.control-label){font-size:14px!important}
.pokie-meters small,.vp-meter-bank span,.expansion-meters small{font-size:14px!important;letter-spacing:normal!important}
.pokie-spin,.western-handle span{font-size:14px!important}
.game-page-actions .button{font-size:14px!important}
.vp-rules,.wk-rules,.dice-rules,.dice-rules p{font-size:14px!important}
.paytable p,.paytable-row,.paytable-heading small{font-size:14px!important}

/* Chip-value numerals: the stake value on every chip reads at a glance (>=16px).
   Chip artwork files are untouched; these are the CSS chip buttons/markers. */
.chip-choice{font-size:16px!important;min-width:44px;min-height:44px}
.table-wager-chip{font-size:14px!important;min-width:30px;min-height:30px}

/* The Text size control costs ~51px of top-bar width. On phone widths the page
   title must stay readable, so the avatar shortcut yields its slot there — the
   profile remains one tap away in the More sheet (My profile). */
@media(max-width:700px){.topbar-tools>.avatar-button{display:none}}

/* Text size control in the top bar (>=44px target at every viewport) */
.text-size-button{min-width:44px!important;min-height:44px!important;font-family:var(--serif);font-size:16px;letter-spacing:.5px}
.text-size-button[aria-pressed="true"]{color:var(--gold-light);border-color:#c9b78166;background:#c9b78114}
/* M1 S2 — Hero v2 "room": the Blackjack salon photograph already shipped on every
   page (casino-table-salon.webp), the AUREL crest and type. No text is baked into
   the image; a scrim keeps contrast strong for 55+ reading. These rules only apply
   to .room-hero — the owner-review two-host hero (.approved-host-hero) is untouched. */
.lobby-hero.room-hero{position:relative;display:flex;align-items:stretch;min-height:clamp(430px,calc(100vh - 300px),620px);border-radius:10px;border:1px solid #b69a5e55;overflow:hidden;background:#0a0f0c url('./casino-table-salon.webp') right 34%/cover no-repeat;box-shadow:0 16px 50px #0007}
.room-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(97deg,#05080699 0%,#060b07f2 8%,#081009e6 38%,#0a130cb0 58%,#11190f45 82%,#141d1226 100%)}
.room-hero::after{content:'';position:absolute;inset:auto 0 0 0;height:38%;background:linear-gradient(#0000,#060a07b3)}
.room-hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:24px;width:100%;max-width:640px;padding:44px 48px;text-align:left;color:#f1e5c9}
.room-hero .realism-hero-brand svg{width:34px;height:auto}
.room-hero .realism-hero-brand>span{font:400 23px Georgia,serif;letter-spacing:5px}
.room-hero h1{margin:0;font:400 clamp(30px,3.4vw,45px)/1.18 Georgia,serif;letter-spacing:-.3px;color:#f5ead0;text-shadow:0 2px 16px #000d}
.room-hero-proofs{display:flex;flex-wrap:wrap;gap:12px 28px;margin:0;padding:0;list-style:none}
.room-hero-proofs li{display:flex;align-items:center;gap:10px;font-size:18px;line-height:1.45;color:#ecdfc2;text-shadow:0 1px 10px #000d}
.room-hero-proofs li::before{content:'';flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:#d9b96c;box-shadow:0 0 7px #d9b96c99}
.room-hero .button.primary{margin:0;min-height:48px;padding:14px 28px;gap:9px}
@media(max-width:1000px){
 .room-hero-copy{max-width:560px;padding:36px 30px;gap:20px}
}
@media(max-width:700px){
 .lobby-hero.room-hero{min-height:clamp(420px,calc(100svh - 330px),560px);background-position:62% 30%}
 .room-hero-copy{align-items:center;text-align:center;padding:28px 18px 26px;gap:18px}
 .room-hero h1{font-size:clamp(27px,7.6vw,32px);line-height:1.2}
 .room-hero-proofs{flex-direction:column;align-items:center;gap:10px}
 .room-hero-proofs li{font-size:18px}
 .room-hero .button.primary{width:100%;max-width:340px;justify-content:center}
 .room-hero::before{background:linear-gradient(#070c08d9,#081009e6 45%,#0a130cc4)}
}
@media(max-width:360px){
 .room-hero h1{font-size:25px}
}
/* M1 S3 — "Start here" rail: three gentle first seats at the top of the Casino floor,
   directly above the catalogue. The hero's "Explore the games" scrolls to #start-here. */
.start-here-rail{margin:30px 0 38px;scroll-margin-top:100px}
.start-here-rail .section-heading{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:12px}
.start-here-rail .section-heading .muted{font-size:14px}
.start-here-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.start-here-card{display:flex;flex-direction:column;padding:22px 20px 20px;border:1px solid #c7af7a33;border-radius:9px;background:radial-gradient(at 100% 0,#baa77514,transparent 62%),#141b14}
.start-here-card h3{font-family:var(--serif);font-size:27px;line-height:1.15;margin:8px 0 6px;color:#e6e6d4}
.start-here-card p{font-size:16px;line-height:1.6;color:#b9c3ae;margin:0 0 16px;flex:1}
.start-here-card .game-card-actions{display:flex;gap:10px;margin-top:auto}
/* 44px targets come from the shared .game-card-actions rule; Comfort Mode's
   global 48px button floor must keep outranking this, so no min-height here. */
.start-here-card .game-card-actions button{flex:1 1 0;padding:8px 10px}
@media(max-width:760px){
 .start-here-cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:10px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
 .start-here-card{flex:0 0 min(320px,84vw);scroll-snap-align:start}
}
/* M1 S3 — the stake chips and the primary action (Deal / Spin / Roll / Draw) stay
   above the fold for every table, card, dice and number game, when a game opens and
   after a round settles. Layout and control placement only: each family's existing
   controls block becomes a sticky console pinned to the bottom of the viewport until
   its natural flow position scrolls into view. Engines, settlement, payouts, artwork
   and the shell boxes measured by qa/shell-geometry.mjs are untouched.

   Sticky consoles per family:
   - Blackjack / Baccarat / Jacks or Better: .game-bottom (result line + stake + actions)
   - European Roulette: .round-controls.roulette-controls
   - Craps / Sic Bo: .dice-control-panel (wager meter + stake + Roll/Shake)
   - Keno: .keno-console   ·   Money Wheel: .wk-console (new wrapper, same controls)
   - Expansion & club tables (incl. Joker Poker, Bingo 90): .ext-round-controls
   - Video poker cabinets: .vp-physical-deck (denomination, coins and DEAL deck)

   Wrappers that clipped with overflow:hidden switch to overflow:clip — identical
   clipping, but no scroll container, which would break position:sticky inside. */
.keno-cabinet{overflow:clip}
.money-wheel-room{overflow:clip}

body.game-view #game-surface :is(.game-bottom,.round-controls.roulette-controls,.dice-control-panel,.keno-console,.wk-console,.ext-round-controls,.vp-physical-deck){position:sticky;bottom:0;z-index:15}

/* Roulette's and the Money Wheel's consoles live one level up (last grid row of
   the room) so their sticky containing block starts above the fold on phones. */
.roulette-layout>.roulette-controls{grid-column:1/-1}
.money-wheel-room>.wk-console{grid-column:1/-1}

/* Consoles that sat directly on the felt get an opaque calm panel so pinned
   controls stay legible without hiding what is beneath them for good. */
body.game-view #game-surface .round-controls.roulette-controls{background:#13231cf4;border:1px solid #c7af7a33;border-radius:9px;backdrop-filter:blur(7px);flex-wrap:wrap}
/* The roulette result line rides inside the console so a spin's outcome is
   always readable beside the chips — never hidden beneath the pinned panel. */
body.game-view #game-surface .roulette-controls>.round-result{flex:0 0 auto;width:100%;margin:0;padding:0 2px;min-height:0;text-align:left}
body.game-view #game-surface .wk-console{padding:14px 16px 16px;border:1px solid #c7af7a33;border-radius:9px;background:#101712f4;backdrop-filter:blur(7px)}
body.game-view #game-surface .ext-round-controls{background:linear-gradient(120deg,#ffffff08,#0009),#191d18ef;backdrop-filter:blur(7px)}
body.game-view #game-surface :is(.game-bottom,.dice-control-panel,.keno-console,.vp-physical-deck){box-shadow:0 -12px 28px #0007}

/* Above the fixed mobile tab bar, the pinned console respects the bar and the
   device safe area. 1000px matches the breakpoint that shows .mobile-nav. */
@media(max-width:1000px){
 body.game-view #game-surface :is(.game-bottom,.round-controls.roulette-controls,.dice-control-panel,.keno-console,.wk-console,.ext-round-controls,.vp-physical-deck){bottom:calc(67px + env(safe-area-inset-bottom))}
}

/* The smallest phones (320–360px wide) get tighter console chrome so every
   pinned block still clears the tab bar at 320x568. Buttons and chips keep
   their own minimum target heights; only paddings, gaps and the result line's
   empty reserve shrink. */
@media(max-width:360px){
 body.game-view #game-surface .round-controls{padding:8px 10px;gap:10px}
 body.game-view #game-surface .game-bottom .result-area{padding-top:4px}
 body.game-view #game-surface :is(.game-bottom .round-result,.ext-round-status .round-result){min-height:0;padding:6px 10px;margin-top:6px}
 body.game-view #game-surface .ext-round-controls{padding:8px 10px;gap:10px}
}

/* On phones the pinned video-poker deck keeps only the live controls: the five
   HOLD keys mirror tapping the cards themselves and the brushed hardware strip
   is decorative, so both yield their height to keep the dealt cards in view. */
@media(max-width:760px){
 body.game-view #game-surface .vp-physical-deck :is(.vp-hold-bank,.vp-hardware){display:none}
}
/* Founding-list form, shared by the static founding.html page and the in-app
   #/founding route (this file is appended to the app CSS bundle by scripts/build.mjs).
   Self-contained: 18px body text, every control at least 48px tall. */
.founding-form, .founding-closed { max-width: 620px; font-size: 18px; line-height: 1.65; }
.founding-closed { padding: 26px 28px; border: 1px solid #50614966; border-radius: 9px; background: #19221a66; }
.founding-closed p { margin: 0 0 12px; color: #c9cfbe; }
.founding-closed p:last-child { margin-bottom: 0; }
.founding-closed strong { color: #ece5d3; font-size: 19px; }
.founding-label { display: block; font-size: 18px; color: #e9e2d0; margin: 22px 0 8px; }
.founding-input { width: 100%; box-sizing: border-box; min-height: 52px; padding: 12px 15px; font-size: 18px; color: #efe9da; background: #0c130f; border: 1px solid #8a7b55; border-radius: 6px; }
.founding-input:focus-visible, .founding-band input:focus-visible + span, .founding-consent input:focus-visible, .founding-submit:focus-visible { outline: 3px solid #dfc693; outline-offset: 3px; }
.founding-bands { margin: 26px 0 0; padding: 0; border: 0; }
.founding-bands legend { font-size: 18px; color: #e9e2d0; padding: 0; margin-bottom: 4px; }
.founding-note { font-size: 15px; color: #b3baa8; margin: 4px 0 12px; }
.founding-band-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.founding-band { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 8px 14px; border: 1px solid #50614999; border-radius: 6px; background: #121a1466; color: #d8d2c2; font-size: 17px; cursor: pointer; }
.founding-band input { width: 22px; height: 22px; accent-color: #bfa566; flex: 0 0 auto; }
.founding-band:has(input:checked) { border-color: #dfc693; color: #f0ead9; background: #2318080f; }
.founding-consent { display: flex; align-items: flex-start; gap: 12px; margin: 24px 0 0; font-size: 17px; color: #d8d2c2; cursor: pointer; }
.founding-consent input { width: 24px; height: 24px; margin-top: 2px; accent-color: #bfa566; flex: 0 0 auto; }
.founding-submit { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; margin-top: 24px; padding: 12px 28px; font-size: 18px; border-radius: 6px; border: 1px solid #dfc693; background: #dfc693; color: #182017; cursor: pointer; }
.founding-submit:hover { background: #ecd9ae; }
.founding-submit:disabled { opacity: .55; cursor: default; }
/* The result message is scrolled to the viewport centre and focused after every
   submit outcome; the scroll margins keep it clear of the app's fixed mobile tab
   bar (~68px + safe area) and the sticky top bar if the browser clamps the scroll. */
.founding-status { min-height: 1.6em; margin: 18px 0 0; font-size: 18px; scroll-margin-top: 96px; scroll-margin-bottom: calc(110px + env(safe-area-inset-bottom)); }
.founding-status:focus { outline: none; }
.founding-status.is-done { color: #cfe3bb; }
.founding-status.is-problem { color: #eccfa8; }
.founding-status.is-quiet { color: #b3baa8; }
/* Success: the spent form gives way to one calm, unmistakable panel. */
.founding-form.is-complete > :not(.founding-status) { display: none; }
.founding-form.is-complete .founding-status.is-done { margin: 10px 0 0; padding: 24px 26px; border: 1px solid #9cb57c59; border-radius: 9px; background: #18261a; color: #d9e8c6; font-size: 19px; line-height: 1.65; }
/* The trap field is invisible to people (including screen readers) but present for
   automated form fills; any value in it cancels the network request client-side. */
.founding-extra { position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 560px) { .founding-band-grid { grid-template-columns: 1fr; } }
/* In-app #/founding route layout (unused on the static page, harmless there). */
.founding-panel { margin: 6px 0 34px; }
.founding-after { max-width: 65ch; }
.founding-after h2 { font-size: 26px; }
.founding-after p { font-size: 16px; line-height: 1.7; }
.founding-after a { color: #dfc693; }
