/* Fine details across the lounge and the new arcade tables. */
.game-workspace{border-color:#373c49;box-shadow:0 12px 40px #03071244;}
.game-workspace .game-stage{background:radial-gradient(ellipse at 50% 22%,#56627a0a,transparent 70%),linear-gradient(145deg,#101827,#0a1220);}
.game-workspace .game-controls{border-right:1px solid #353844;}
.game-workspace .game-controls .button{letter-spacing:0;}
.game-workspace .control-help{font-size:12px;line-height:1.7;color:#aaaeb9;}
.game-workspace .original-error:empty{display:none;}
.game-workspace .original-error{color:#f3bac8;line-height:1.6;}
.game-workspace button:focus-visible,.game-tabs button:focus-visible{outline:2px solid #e6bc78;outline-offset:3px;}
.game-workspace .extra-stage-value>strong{font-family:var(--numeric,var(--sans));font-variant-numeric:tabular-nums;font-size:clamp(28px,3.4vw,48px);overflow-wrap:anywhere;text-align:center;max-width:100%;}
.game-workspace .extra-stage-value{margin:17px 0;}
.game-outcome{gap:14px;line-height:1.6;}
.game-outcome>span{min-width:0;overflow-wrap:anywhere;}
.game-rps .extra-trail,.game-flip .extra-trail{flex-wrap:wrap;}
.game-workspace .stage-round-history{padding:2px 0;}
.game-workspace .original-stage-heading{gap:12px;line-height:1.5;color:#939bab;font-size:10px;letter-spacing:.8px;}
.game-workspace .blackjack-shoe .playing-card.is-hidden{box-shadow:0 5px 12px #020d1755;}
.arcade-layout .extra-stage{min-height:560px;}
.darts-board{display:block;width:100%;height:390px;max-width:640px;margin:0 auto;overflow:visible;}
.dart-projectile{filter:drop-shadow(1px 2px 1px #0009);}
.dart-projectile.in-flight{filter:drop-shadow(4px 8px 3px #0008);}
.dart-pay-legend{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;max-width:590px;width:100%;margin:6px auto;}
.dart-pay-legend>span{display:grid;justify-items:center;gap:6px;border:1px solid #ffffff10;border-radius:6px;padding:10px 4px;background:#161f2d;font-size:12px;}
.dart-pay-legend i{width:9px;height:9px;border-radius:50%;background:var(--ring);border:1px solid #ffffff24;}
.dart-pay-legend b{color:#e1d7c6;font-family:var(--numeric,var(--sans));font-weight:600;}
.dart-pay-legend small{color:#8d96a8;font-size:9px;}
.case-vault{display:flex;justify-content:center;padding:25px 0 20px;}
.case-vault .case-art{width:165px;height:138px;filter:drop-shadow(0 8px 20px #dba85915);}
.case-reel-window{position:relative;width:100%;height:172px;overflow:hidden;border:1px solid #43404a;border-radius:10px;background:linear-gradient(#141b2a,#0d1523);box-shadow:inset 0 0 18px #0005;margin:12px 0 0;}
.case-reel-window:before,.case-reel-window:after{content:'';position:absolute;top:0;bottom:0;width:15%;z-index:2;pointer-events:none;}
.case-reel-window:before{left:0;background:linear-gradient(90deg,#0d1523,transparent);}
.case-reel-window:after{right:0;background:linear-gradient(270deg,#0d1523,transparent);}
.case-reel-marker{position:absolute;inset:0 auto 0 50%;width:1px;background:#e3b87555;z-index:3;box-shadow:0 0 16px #ffb64d44;pointer-events:none;}
.case-reel-marker:before,.case-reel-marker:after{content:'';position:absolute;left:-6px;border-left:6px solid transparent;border-right:6px solid transparent;}
.case-reel-marker:before{top:0;border-top:9px solid #ebbd79;}
.case-reel-marker:after{bottom:0;border-bottom:9px solid #ebbd79;}
.case-reel-track{display:flex;gap:10px;width:max-content;position:relative;left:50%;padding:16px 0;will-change:transform;}
.case-prize{display:grid;justify-items:center;align-content:center;gap:6px;flex:0 0 124px;width:124px;height:138px;border:1px solid #ffffff10;border-bottom:3px solid var(--rarity);border-radius:7px;background:linear-gradient(#222b3a,#171f2c);}
.case-prize .case-art{width:75px;height:63px;}
.case-prize strong{font:600 18px var(--numeric,var(--sans));color:var(--rarity);}
.case-prize>span{font:10px var(--sans);color:#97a1b2;}
.case-prize.is-winner{border-color:var(--rarity);box-shadow:inset 0 0 24px #c4aa7112,0 0 16px #d9b87718;}
.arcade-paytable{margin-top:12px;border-top:1px solid #ffffff0c;padding-top:15px;color:#a7adba;font-size:11px;}
.arcade-paytable summary{cursor:pointer;width:fit-content;margin:auto;}
.arcade-paytable>div{display:grid;gap:0;max-width:480px;margin:14px auto 0;}
.arcade-paytable>div>span{display:grid;grid-template-columns:12px 1fr 80px 70px;align-items:center;padding:10px 5px;gap:8px;border-bottom:1px solid #ffffff08;}
.arcade-paytable i{width:7px;height:7px;border-radius:50%;background:var(--rarity);}
.arcade-paytable b{font-weight:500;}.arcade-paytable strong{color:#e0d7c6;text-align:right;}.arcade-paytable small{text-align:right;color:#949cad;}
.mole-round-track{display:flex;justify-content:center;gap:7px;padding:20px 0 4px;}
.mole-round-track span{display:grid;place-items:center;width:28px;height:28px;border:1px solid #2d394b;border-radius:50%;font:11px var(--numeric,var(--sans));background:#171f2e;color:#728199;}
.mole-round-track .is-safe{color:#e8c383;background:#e1b57318;border-color:#e1b57366;}
.mole-round-track .is-current{color:#e8d9c2;border-color:#bd995f;}
.mole-garden{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));align-content:center;gap:8px;width:min(100%,570px);height:270px;margin:0 auto;}
.mole-hole{position:relative;grid-column:span 2;height:106px;border:0;background:none;min-width:0;outline-offset:1px;color:#9b9dac;}
.mole-hole:nth-child(5){grid-column:2 / span 2;}
.mole-rim{position:absolute;left:4%;right:4%;top:30px;height:44px;border-radius:50%;background:#07101e;box-shadow:inset 0 6px 8px #0008,0 3px 0 #26374a;border:7px solid #334257;}
.mole-hole:not(:disabled):hover .mole-rim{border-color:#94774e;box-shadow:inset 0 6px 8px #0008,0 3px 0 #4e3c28,0 0 20px #daa45818;}
.mole-hole>small{position:absolute;left:0;right:0;bottom:8px;font:10px var(--numeric,var(--sans));color:#77849a;}
.mole-peek{position:absolute;left:12%;right:12%;top:-12px;transform:translateY(35px) scale(.5);opacity:0;z-index:1;transition:transform .2s,opacity .2s;}
.mole-art{width:100%;height:auto;display:block;}
.mole-hole.has-mole .mole-peek{opacity:1;transform:translateY(0) scale(1);}
.mole-hole.has-mole .mole-rim{border-color:#4a4650;}
.mole-hole:disabled{opacity:1;}
.mole-hammer{display:none;position:absolute;left:55%;top:-10px;width:8px;height:54px;background:linear-gradient(90deg,#977344,#efd4a0,#987847);border-radius:3px;z-index:4;transform:rotate(-40deg);transform-origin:bottom;}
.mole-hammer i{position:absolute;left:-20px;top:-2px;width:48px;height:24px;background:linear-gradient(#d58c94,#772b43);border:2px solid #cfa487;border-radius:7px;box-shadow:0 4px 5px #0005;}
.is-striking .mole-hammer{display:block;animation:moleStrike .65s ease-in-out forwards;}
.mole-miss{position:absolute;left:0;right:0;top:29px;color:#e47892;font:30px var(--sans);z-index:3;}
.arcade-lobby{display:flex;align-items:center;justify-content:center;width:100%;height:100%;position:relative;}
.lobby-darts .darts-board{height:170px;width:255px;transform:rotate(-9deg);}
.lobby-cases .case-art{width:135px;height:113px;transform:rotate(-8deg);filter:drop-shadow(0 8px 8px #0005);}
.lobby-cases .case-art+svg{position:absolute;width:93px;height:78px;transform:rotate(13deg);left:52%;top:44%;}
.lobby-moles .mole-art{width:118px;height:118px;}
.lobby-moles>span{position:absolute;left:70%;top:18%;color:#be9c67;font:40px var(--sans);transform:rotate(12deg);}
.game-darts .lobby-art,.game-cases .lobby-art{background:radial-gradient(ellipse at 50% 50%,#67533b44,#141e2e 80%);}
.game-moles .lobby-art{background:radial-gradient(ellipse at 50% 50%,#68454b44,#141e2e 80%);}
@keyframes moleStrike{0%{transform:rotate(-55deg) translateY(-8px)}65%{transform:rotate(25deg) translateY(13px)}100%{transform:rotate(20deg) translateY(13px)}}
@media(max-width:700px){
 .game-workspace .game-controls{border-right:0;border-top:1px solid #353844;}
 .game-workspace .original-stage{min-height:330px;}
 .game-workspace .extra-stage-value>strong{font-size:32px;}
 .game-outcome{align-items:flex-start;gap:6px;padding:14px;flex-direction:column;}
 .arcade-layout .extra-stage{min-height:0;}
 .darts-board{height:240px;margin:-5px auto 0;}
 .dart-pay-legend{gap:3px;}.dart-pay-legend>span{font-size:10px;padding:8px 2px;gap:5px;}.dart-pay-legend small{font-size:7px;}
 .case-vault{padding:10px 0;}.case-vault .case-art{width:120px;height:100px;}
 .case-reel-window{height:150px;}.case-reel-track{gap:7px;padding:13px 0;}
 .case-prize{width:85px;flex-basis:85px;height:122px;}.case-prize .case-art{width:64px;height:53px;}.case-prize strong{font-size:14px;}.case-prize>span{font-size:9px;}
 .arcade-paytable>div>span{grid-template-columns:9px 1fr 70px 60px;gap:5px;}
 .mole-garden{gap:2px;height:220px;}.mole-hole{height:88px;}.mole-rim{top:25px;height:34px;border-width:5px;}.mole-hole>small{bottom:8px;}
 .mole-peek{top:0;}.mole-round-track{gap:5px;padding-top:15px;}.mole-round-track span{width:24px;height:24px;font-size:10px;}
 .mole-hammer{height:40px;left:50%;top:0;}.mole-hammer i{width:38px;height:20px;left:-16px;}
 .lobby-darts .darts-board{height:142px;width:190px;}.lobby-cases .case-art{width:109px;height:91px;}.lobby-cases .case-art+svg{width:65px;height:55px;}.lobby-moles .mole-art{width:95px;height:95px;}
}
@media(prefers-reduced-motion:reduce){.is-striking .mole-hammer{animation:none;transform:rotate(20deg) translateY(13px);}.mole-peek{transition:none;}}

.case-vault.is-opening .case-art{animation:vaultGlow 1.4s ease-in-out infinite;}
.mole-hole.is-hit-flash .mole-rim{border-color:#b49563;}
@keyframes vaultGlow{50%{filter:drop-shadow(0 0 16px #d8a76244);transform:translateY(-3px);}}
@media(prefers-reduced-motion:reduce){.case-vault.is-opening .case-art{animation:none;}}

/* Give every table's primary artwork enough room to read. */
.game-workspace .dragon-tower{width:min(100%,460px);max-width:460px;gap:8px;margin:25px auto;}
.game-workspace .tower-floor button{height:44px;}
.game-workspace .tower-floor>span{color:#9aa7bb;}
.game-workspace .tower-floor.is-current>span{color:#e5c68d;}
.game-workspace .tower-floor button.is-dragon svg{fill:#a7476133;stroke:#f09cb2;}
.game-workspace .pump-machine:before{content:'';position:absolute;left:-88px;bottom:7px;width:99px;height:27px;border:3px solid #6c6171;border-top:0;border-radius:0 0 24px 24px;z-index:0;opacity:.8;}
.game-workspace .mine-tile:not(.is-gem):not(.is-mine){background:linear-gradient(145deg,#343440,#252b39);border-color:#424652;}
.game-workspace .tile-seal{font-size:24px;opacity:.55;}
.game-workspace .limbo-scene.is-win .orbit-one{border-color:#e8bd7444;}
.game-workspace .limbo-scene.is-loss .orbit-one{border-color:#be597444;}
.game-workspace .hilo-streak{font-variant-numeric:tabular-nums;}
.game-workspace .rps-choices button{min-height:65px;}
@media(max-width:700px){.game-workspace .tower-floor button{height:40px;}.game-workspace .dragon-tower{gap:7px;}.game-workspace .pump-machine:before{left:-65px;width:77px;}.game-workspace .tile-seal{font-size:19px;}}

@media(max-width:700px){.game-workspace .keno-grid{grid-template-columns:repeat(5,minmax(0,1fr));}.game-workspace .keno-grid button{min-height:44px;font-size:14px;}}
