/* Shared premium tabletop treatment for Darts and Mexican Train. */
.retro-darts .newgame-panel,.newgame-app:has(.retro-board-wrap) .newgame-panel{background:radial-gradient(circle at 35% 25%,#2a1730,#090812 68%);border:10px solid #412416;box-shadow:inset 0 0 0 3px #a9713f,inset 0 0 60px #000,8px 8px 0 #1e1338}
.retro-board-wrap{position:relative;display:grid;place-items:center;align-self:start;padding:clamp(28px,5vw,58px);border:8px solid #56311d;border-radius:24px;background:radial-gradient(circle,#342017 0 42%,#140b09 43% 58%,#311b12 59% 100%);box-shadow:inset 0 0 0 3px #b77a40,inset 0 0 45px #000,0 18px 30px #000a;isolation:isolate}
.retro-board-wrap:before{content:"THROW LINE  •  CLICK THE BOARD";position:absolute;left:50%;bottom:8px;z-index:5;transform:translateX(-50%);padding:6px 12px;border:1px solid #f4d66f;border-radius:999px;background:#0b0b12dd;color:#f9e59a;font:800 clamp(.55rem,1.2vw,.72rem) "Courier New",monospace;letter-spacing:.08em;white-space:nowrap;box-shadow:0 0 16px #f6ca4e44}
.retro-board-wrap:after{content:"";position:absolute;inset:14px;border:2px solid #d7a66344;border-radius:16px;pointer-events:none;box-shadow:inset 0 0 25px #e6aa5d22}
.darts-board{position:relative;z-index:2;width:min(100%,660px);border:12px solid #161416;border-radius:50%;box-shadow:0 0 0 4px #8d643c,0 0 0 15px #24140d,0 18px 25px #000c,inset 0 0 25px #000;filter:saturate(.92) contrast(1.05);transition:filter .18s,transform .18s}
.darts-board:hover{filter:saturate(1.1) contrast(1.08) brightness(1.05);transform:scale(1.012);cursor:crosshair}
.flying-dart{z-index:9;font-size:82px;color:#f8e56a;filter:drop-shadow(6px 9px 3px #000a);text-shadow:2px 2px 0 #af3477}
.flying-dart.throw{animation:premium-dart-flight .52s cubic-bezier(.12,.72,.18,1) forwards}
@keyframes premium-dart-flight{0%{left:105%;top:-18%;transform:scale(2.1) rotate(-38deg);opacity:1;filter:blur(1px) drop-shadow(12px 18px 8px #000)}72%{left:var(--x);top:var(--y);transform:scale(.72) rotate(-38deg);opacity:1;filter:blur(0) drop-shadow(3px 5px 2px #000)}86%{left:var(--x);top:var(--y);transform:scale(.63) rotate(-43deg);opacity:1}100%{left:var(--x);top:var(--y);transform:scale(.66) rotate(-40deg);opacity:0}}
.darts-side{padding:14px;border:2px solid #755131;border-radius:14px;background:linear-gradient(180deg,#17121f,#0b0a11);box-shadow:inset 0 0 24px #000,5px 6px 0 #281833}.darts-player{position:relative;overflow:hidden;border-color:#59466d;background:linear-gradient(90deg,#181323,#0c0b12)}.darts-player.active{border-color:#f0cf59;box-shadow:0 0 0 2px #8e6827,0 0 20px #f0cf5944}.darts-player.active:before{content:"THROWING";position:absolute;right:8px;top:8px;color:#f0cf59;font:800 .58rem "Courier New",monospace;letter-spacing:.1em}

.train-game .domino-layout{padding:22px;background:linear-gradient(135deg,#5d321c,#2b160e);border:3px solid #d29c59;border-radius:22px;box-shadow:inset 0 0 0 10px #3b2014,inset 0 0 0 13px #a9713e,0 18px 34px #000a}
.train-table{border:8px solid #2a170f;border-radius:42px;background:radial-gradient(ellipse at center,#2d8060 0,#1a644b 52%,#0d3b2d 100%);box-shadow:inset 0 0 0 3px #bd8246,inset 0 0 95px #001c14,0 12px 24px #000a}
.train-table:before{content:"MEXICAN TRAIN";position:absolute;left:50%;top:18px;z-index:1;transform:translateX(-50%);color:#e6cf9566;font:900 clamp(1rem,2.4vw,2rem) Georgia,serif;letter-spacing:.25em;white-space:nowrap;text-shadow:0 2px 0 #08291f}
.train-hub{background:radial-gradient(circle,#8e512e,#3d1d10 68%);border-color:#f1cf83;box-shadow:0 0 0 9px #101a15,0 0 0 12px #bd8246,0 15px 30px #000b}.train-hub:after{content:"★";position:absolute;top:-20px;color:#e8c66f;font-size:22px;text-shadow:0 2px #000}
.table-rail{height:20px;border-color:#c2bbb3;background:repeating-linear-gradient(90deg,transparent 0 15px,#70442a 15px 21px,transparent 21px 33px);box-shadow:0 0 0 4px #12271fcc,0 4px 8px #0007}
.track-domino{background:linear-gradient(145deg,#fffbe8,#e2d7bb);border-color:#2c2118;box-shadow:2px 4px 0 #0e0a0788}.track-domino b{position:relative}.track-domino b:after{content:none}
.placement-spot{color:#ddbd65;opacity:.82;transition:.18s}.placement-spot i{border-style:solid;border-radius:50%;background:#172d23e8;box-shadow:0 0 0 4px #c79a4844,0 0 18px currentColor}.table-train:hover .placement-spot{opacity:1;color:#fff0a0;transform:scale(1.14)}.table-train:hover .table-rail{filter:brightness(1.18)}
.train-game .domino-hand{padding:18px 12px;border:4px solid #6f4528;background:linear-gradient(#2d1b13,#130d0a);box-shadow:inset 0 3px 10px #000,0 5px 0 #1b100b}.train-game .domino-hand .domino{background:linear-gradient(145deg,#fffced,#d8ccb0);box-shadow:3px 6px 0 #090604aa}.train-game .domino-hand .domino.selected{outline-color:#f4d36c;box-shadow:0 0 24px #f4d36c,3px 7px 0 #090604aa;transform:translateY(-10px)}
@media(max-width:760px){.retro-board-wrap{padding:32px 22px 46px}.retro-board-wrap:before{bottom:9px}.darts-side{padding:9px}.train-game .domino-layout{padding:10px}.train-table{border-width:5px}.train-table:before{font-size:.8rem;letter-spacing:.16em}}

.train-table-status{position:absolute;left:18px;bottom:16px;z-index:10;display:flex;gap:8px;flex-wrap:wrap;pointer-events:none}.train-table-status span{padding:7px 10px;border:1px solid #d9b66b;border-radius:999px;background:#0a2119e6;color:#f7e5b2;font:800 .64rem "Courier New",monospace;box-shadow:0 3px 8px #0008}.train-table-status b{color:#d9ff70}
.table-train.blocked{filter:grayscale(.7) brightness(.62);opacity:.62}.table-train.blocked .placement-spot{animation:none;color:#8b8171;box-shadow:none}.table-train.legal{z-index:7;filter:brightness(1.16)}.table-train.legal .placement-spot{opacity:1;color:#d9ff70;transform:scale(1.13)}.table-train.legal .placement-spot i{animation:legal-place 1s ease-in-out infinite;box-shadow:0 0 0 5px #d9ff7040,0 0 28px #d9ff70}.table-train.illegal-bump{animation:illegal-bump .28s ease}
.train-help-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:12px;border:1px solid #90683f;border-radius:10px;background:#110e0c;color:#e7d8b7;font:700 .68rem/1.4 "Courier New",monospace}.train-help-strip span{display:flex;align-items:center;gap:8px}.train-help-strip b{display:grid;place-items:center;flex:0 0 25px;height:25px;border-radius:50%;background:#d9bd68;color:#1a130d}.train-game .newgame-message{font-weight:900;letter-spacing:.04em}.train-game .duel-player.active{box-shadow:0 0 0 2px #d9bd68,0 0 18px #d9bd6844}

/* Site-wide cabinet polish */
:root{--arcade-ease:cubic-bezier(.22,.8,.24,1);--arcade-fast:160ms;--arcade-smooth:320ms;--arcade-panel:linear-gradient(145deg,#151329ee,#0a0917f2);--arcade-edge:#ffffff1c;--arcade-glow:#45f3cb33}
#game-screen,[class$="-app"],[class*="-app "]{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
.game-card,.chess-mode-card,.connect-mode-card,.naval-mode-card,.race-map-card,.race-car-card,.duel-lobby-card,.duel-player,.darts-player,.newgame-panel,.newgame-toolbar,.blackjack-table,.poker-table,.uno-table,.chess-board-wrap,.naval-board-card,.connect-board-wrap,.vector-stage,.slot-machine{border-radius:12px;transition:transform var(--arcade-smooth) var(--arcade-ease),border-color var(--arcade-fast) ease,box-shadow var(--arcade-smooth) var(--arcade-ease),filter var(--arcade-fast) ease,background-color var(--arcade-fast) ease}
.newgame-panel,.duel-entry,.chess-menu,.connect-menu,.naval-mode-menu,.blackjack-shell,.poker-shell,.uno-shell,.chess-shell,.naval-shell,.connect-shell,.vector-shell,.slot-shell{isolation:isolate;box-shadow:0 18px 50px #0007,inset 0 1px 0 var(--arcade-edge)}
button,.game-card,[role="button"]{transition:transform var(--arcade-fast) var(--arcade-ease),box-shadow var(--arcade-fast) ease,filter var(--arcade-fast) ease,border-color var(--arcade-fast) ease,background-color var(--arcade-fast) ease;color var(--arcade-fast) ease}
button:not(:disabled):hover,.game-card:hover,[role="button"]:hover{filter:brightness(1.1);will-change:transform}
button:not(:disabled):active,.game-card:active,[role="button"]:active{transform:translateY(2px) scale(.985);transition-duration:70ms}
button:focus-visible,.game-card:focus-visible,[role="button"]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d9ff70;outline-offset:3px;box-shadow:0 0 0 5px #d9ff7026,0 0 26px #d9ff7044}
input,select,textarea{border-radius:8px;transition:border-color var(--arcade-fast) ease,box-shadow var(--arcade-fast) ease,background-color var(--arcade-fast) ease}
canvas,.chess-board,.naval-grid,.connect-board,.train-table,.retro-board-wrap{box-shadow:0 16px 44px #0008,inset 0 1px 0 #fff1;transition:box-shadow var(--arcade-smooth) ease,filter var(--arcade-smooth) ease}
.domino,.playing-card,.uno-card,.blackjack-card,.chess-piece,.connect-disc,.ship,.track-domino{backface-visibility:hidden;transform:translateZ(0);transition:transform var(--arcade-smooth) var(--arcade-ease),filter var(--arcade-fast) ease,box-shadow var(--arcade-smooth) ease,opacity var(--arcade-fast) ease}
.domino:hover,.uno-card:hover,.playing-card:hover{filter:brightness(1.08);transform:translateY(-7px) translateZ(0)}
.duel-toast,.newgame-message,.blackjack-message,.connect-status,.chess-status,.suggestion-toast{transition:opacity var(--arcade-fast) ease,transform var(--arcade-smooth) var(--arcade-ease),background-color var(--arcade-fast) ease,color var(--arcade-fast) ease}
.duel-roster,.domino-hand,.blackjack-hand,.uno-hand,.poker-hand,.race-map-grid,.race-car-grid{scroll-behavior:smooth;scrollbar-color:#6f5ba5 #0a0917;scrollbar-width:thin}
@keyframes cabinet-enter{from{opacity:0;transform:translateY(12px) scale(.992)}to{opacity:1;transform:none}}
#game-screen>[class$="-app"],#game-screen>[class*="-app "],#game-screen>.game-shell{animation:cabinet-enter .42s var(--arcade-ease) both}
@media(hover:hover){.chess-mode-card:hover,.connect-mode-card:hover,.naval-mode-card:hover,.race-map-card:hover,.race-car-card:hover,.duel-lobby-card:hover{transform:translateY(-4px);box-shadow:0 14px 28px #0007,0 0 22px var(--arcade-glow)}}
@media(max-width:760px){.newgame-panel,.newgame-toolbar,.blackjack-table,.poker-table,.uno-table,.chess-board-wrap,.naval-board-card,.connect-board-wrap,.vector-stage{border-radius:8px}button{min-height:42px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}

/* Original touch-game-inspired darts controls */
.pigeon-darts .darts-layout{grid-template-columns:minmax(340px,660px) minmax(260px,1fr);align-items:start}.pigeon-darts .retro-board-wrap{position:relative;padding:34px;border-radius:28px;background:radial-gradient(circle at 50% 45%,#383947 0 42%,#14151c 63%,#08090e 100%);box-shadow:inset 0 0 0 3px #ffffff1c,inset 0 -18px 42px #0009,0 24px 55px #0009;overflow:hidden}.pigeon-darts .retro-board-wrap:after{content:"";position:absolute;inset:18px;border:1px solid #ffffff18;border-radius:50%;pointer-events:none}.pigeon-darts .darts-board{position:relative;z-index:2;border:10px solid #0a0b10;border-radius:50%;box-shadow:0 0 0 6px #c3a66f,0 0 0 12px #12131a,0 20px 45px #000b;cursor:none}.darts-reticle{position:absolute;z-index:7;width:42px;height:42px;transform:translate(-50%,-50%);pointer-events:none;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 2px #1118,0 0 18px #fff8;transition:left 70ms linear,top 70ms linear,transform .16s ease,opacity .16s ease}.darts-reticle:before,.darts-reticle:after{content:"";position:absolute;left:50%;top:50%;background:#fff;box-shadow:0 0 4px #000}.darts-reticle:before{width:58px;height:2px;transform:translate(-50%,-50%)}.darts-reticle:after{width:2px;height:58px;transform:translate(-50%,-50%)}.darts-reticle i{position:absolute;inset:15px;border-radius:50%;background:#ff477e;box-shadow:0 0 12px #ff477e}.darts-reticle.fired{transform:translate(-50%,-50%) scale(.6);opacity:.25}.pigeon-darts .flying-dart{z-index:9}.darts-control-card{display:grid;gap:7px;padding:14px 16px;border:1px solid #8f82b8;border-radius:12px;background:linear-gradient(145deg,#242139,#11101d);box-shadow:inset 0 1px 0 #fff2,0 8px 22px #0006}.darts-control-card strong{color:#fff0a8;font-size:.88rem;letter-spacing:.1em}.darts-control-card span{color:#bfb7d3;font-size:.67rem;line-height:1.35}.pigeon-darts .darts-player{display:grid;grid-template-columns:1fr auto;align-items:center;padding:14px 16px;border-radius:12px;background:linear-gradient(135deg,#1a1928,#0e0e17)}.pigeon-darts .darts-player b{font-size:2.2rem}.pigeon-darts .darts-player.active{transform:translateX(5px);background:linear-gradient(135deg,#173c35,#111a1b)}.pigeon-darts .darts-log{border-radius:10px;background:#090a12;scroll-behavior:smooth}.pigeon-darts .darts-log div{padding:6px 8px;border-bottom:1px solid #ffffff0c}.pigeon-darts .newgame-message{padding:11px;border-radius:10px;background:#090a12;border:1px solid #ffffff16}
@media(max-width:800px){.pigeon-darts .darts-layout{grid-template-columns:1fr}.pigeon-darts .retro-board-wrap{padding:24px}.pigeon-darts .darts-side{grid-template-columns:1fr}.darts-reticle{width:34px;height:34px}.darts-reticle:before{width:48px}.darts-reticle:after{height:48px}}

/* Casino-quality standard deck and smoother Blackjack motion */
.blackjack-app .blackjack-table{background:radial-gradient(ellipse at 50% 48%,#167557 0,#0b553f 48%,#07372e 70%,#071511 100%)}.blackjack-app .blackjack-hand{perspective:900px}.blackjack-app .bj-card{box-sizing:border-box;width:100px;height:142px;border:1px solid #c9c2b4;border-radius:9px;background:linear-gradient(135deg,#fff 0,#fbfaf5 62%,#e9e4d8 100%);color:#111;box-shadow:0 1px 0 #fff inset,0 10px 18px #0006,3px 4px 0 #16120d;font-family:Georgia,"Times New Roman",serif;overflow:hidden;animation:bj-premium-deal .5s cubic-bezier(.2,.86,.24,1.15) both;animation-delay:calc(var(--bj-index,0) * 85ms)}.blackjack-app .bj-card:before{content:"";position:absolute;inset:4px;border:1px solid #17171717;border-radius:6px;pointer-events:none}.blackjack-app .bj-card.red{color:#c61532}.blackjack-app .bj-corner{left:8px;top:7px;gap:1px;font-size:22px;line-height:.78}.blackjack-app .bj-corner small{font-size:17px}.blackjack-app .bj-corner.bottom{right:8px;bottom:7px;left:auto;top:auto}.blackjack-app .bj-suit{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}.blackjack-app .bj-suit b{font:700 28px/1 Georgia,serif}.blackjack-app .bj-suit i{font:normal 46px/1 Georgia,serif}.blackjack-app .bj-card.back{border:5px solid #f7f1df;background:repeating-linear-gradient(45deg,#132b5b 0 5px,#f0ede3 5px 7px,#a51d38 7px 12px,#f0ede3 12px 14px);box-shadow:inset 0 0 0 3px #132b5b,0 10px 18px #0006,3px 4px 0 #16120d}.blackjack-app .bj-card.back:after{content:"AH";inset:24px 12px;border:3px double #f7f1df;border-radius:8px;background:#132b5be8;color:#fff;font:900 25px/1 Georgia,serif;transform:none;text-shadow:2px 2px 0 #a51d38}.blackjack-app .blackjack-action{border-radius:9px;transition:transform .16s cubic-bezier(.2,.8,.2,1),box-shadow .18s ease,filter .18s ease}.blackjack-app .blackjack-action:not(:disabled):hover{transform:translateY(-3px);box-shadow:0 9px 18px #0007,0 0 18px #ffe26930}.blackjack-app .blackjack-action:not(:disabled):active{transform:translateY(1px) scale(.97)}.blackjack-app .blackjack-action.danger:not(:disabled){border-color:#ffd467;background:linear-gradient(#a54f18,#63300f);color:#fff4c7}.blackjack-app .blackjack-action.danger:disabled{filter:grayscale(.7);opacity:.38}.blackjack-app .blackjack-score{border-radius:7px;transition:transform .24s ease,color .24s ease}.blackjack-app .blackjack-message{border-radius:9px;backdrop-filter:blur(8px)}@keyframes bj-premium-deal{0%{opacity:0;transform:translate3d(150px,-110px,80px) rotate(22deg) scale(.7)}72%{opacity:1;transform:translate3d(-5px,4px,0) rotate(-2deg) scale(1.035)}100%{opacity:1;transform:none}}@media(max-width:650px){.blackjack-app .bj-card{width:78px;height:112px}.blackjack-app .bj-corner{font-size:17px}.blackjack-app .bj-corner small{font-size:13px}.blackjack-app .bj-suit b{font-size:22px}.blackjack-app .bj-suit i{font-size:35px}}
.blackjack-app .bj-suit b{display:none}.blackjack-app .bj-suit i{font-size:54px}@media(max-width:650px){.blackjack-app .bj-suit i{font-size:40px}}
@keyframes legal-place{50%{transform:scale(1.14);box-shadow:0 0 0 9px #d9ff7015,0 0 38px #d9ff70}}@keyframes illegal-bump{25%{transform:rotate(var(--angle)) translateX(70px)}75%{transform:rotate(var(--angle)) translateX(82px)}}
@media(max-width:760px){.train-table-status{left:10px;bottom:8px}.train-table-status span{font-size:.55rem;padding:5px 7px}.train-help-strip{grid-template-columns:1fr;font-size:.62rem}}

.naval-cell.placement-preview{z-index:4;background:linear-gradient(135deg,#9ec1cb,#587b91)!important;box-shadow:inset 0 0 0 3px #d9ff70,0 0 14px #d9ff7088;transform:scale(1.04)}.naval-cell.placement-preview:after{content:"";position:absolute;inset:22%;border-radius:50%;background:#d9ff70;box-shadow:0 0 8px #d9ff70}.naval-cell.placement-invalid{z-index:4;background:#772b45!important;box-shadow:inset 0 0 0 3px #ff668c}.naval-grid:focus-visible{outline:3px solid #ffdb68;outline-offset:4px}.naval-current-ship:after{content:"CLICK A STARTING SQUARE • RIGHT-CLICK OR PRESS R TO ROTATE";display:block;grid-column:1/-1;margin-top:7px;color:#78f4ff;font:800 .58rem/1.4 "Courier New",monospace;letter-spacing:.05em}.naval-current-ship{flex-wrap:wrap}

/* Cleaner Blackjack table: stable cards, quieter depth, and motion only for new cards. */
.blackjack-app .blackjack-shell{overflow:hidden;border-radius:14px}.blackjack-app .blackjack-toolbar{gap:12px;padding:14px 18px;background:linear-gradient(180deg,#171225,#0c0917);box-shadow:0 1px 0 #ffffff12 inset}.blackjack-app .blackjack-table{padding-top:24px;background:radial-gradient(ellipse at 50% 46%,#187b5a 0,#0c5a43 47%,#073a30 72%,#061a15 100%)}.blackjack-app .blackjack-table:after{opacity:.42}.blackjack-app .blackjack-hand{gap:0;filter:none}.blackjack-app .blackjack-hand .bj-card{margin-left:-12px}.blackjack-app .bj-card{box-shadow:0 1px 0 #fff inset,0 8px 16px #0005,2px 3px 0 #16120d;animation:none}.blackjack-app .bj-card.fresh{animation:bj-premium-deal .46s cubic-bezier(.2,.82,.25,1) both;animation-delay:calc(var(--bj-index,0) * 55ms)}.blackjack-app .bj-card.reveal{animation:bj-card-reveal .4s cubic-bezier(.2,.8,.2,1) both}.blackjack-app .blackjack-message{padding:11px 16px;border-width:1px;box-shadow:0 8px 22px #0006}.blackjack-app .blackjack-actions{gap:10px}.blackjack-app .blackjack-action{min-width:104px;padding:10px 15px;border-width:1px;box-shadow:0 5px 12px #0005}.blackjack-app .blackjack-action:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 8px 16px #0006,0 0 14px #ffe26924}.blackjack-app .blackjack-help{opacity:.82}@keyframes bj-card-reveal{0%{opacity:.6;transform:rotateY(88deg) scale(.92)}100%{opacity:1;transform:none}}@media(max-width:650px){.blackjack-app .blackjack-toolbar{padding:12px}.blackjack-app .blackjack-table{padding-top:18px}.blackjack-app .blackjack-hand .bj-card{margin-left:-16px}.blackjack-app .blackjack-action{min-width:88px;padding:9px 10px}}

/* Skill-based darts: a smaller target, pullback power, and readable throw feedback. */
.skill-darts .darts-layout{grid-template-columns:minmax(380px,560px) minmax(260px,1fr);gap:28px}.darts-aim-stage{display:grid;justify-items:center;align-content:start;gap:18px;min-height:610px;padding:34px 28px 24px;border-radius:24px;background:radial-gradient(circle at 50% 34%,#343743 0 34%,#151720 58%,#090a0f 100%);box-shadow:inset 0 0 0 2px #ffffff14,inset 0 -30px 70px #000a}.skill-darts .retro-board-wrap{width:min(100%,470px);padding:24px}.skill-darts .darts-board{width:100%;border-width:9px;cursor:crosshair;touch-action:none}.skill-darts .darts-reticle{width:32px;height:32px}.skill-darts .darts-reticle:before{width:46px}.skill-darts .darts-reticle:after{height:46px}.darts-aim-stage.charging .darts-reticle{animation:darts-aim-breathe .42s ease-in-out infinite alternate}.darts-power{display:grid;grid-template-columns:auto minmax(130px,230px);align-items:center;gap:7px 12px;width:min(100%,470px);color:#fff1b0;font:800 .68rem/1.2 "Courier New",monospace;letter-spacing:.09em}.darts-power i{height:15px;overflow:hidden;border:1px solid #aaa1bd;border-radius:999px;background:#090a10;box-shadow:inset 0 2px 5px #000}.darts-power b{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#e74969 0 34%,#f2c752 55%,#65e695 69% 88%,#f25a65 100%);transition:width 35ms linear}.darts-power em{grid-column:1/-1;color:#aca5bb;font-style:normal;text-align:center}.skill-darts .flying-dart.throw{animation-duration:.52s}.skill-darts .newgame-message{font-weight:800;letter-spacing:.04em}@keyframes darts-aim-breathe{from{transform:translate(-50%,-50%) scale(.9)}to{transform:translate(-50%,-50%) scale(1.12)}}@media(max-width:800px){.skill-darts .darts-layout{grid-template-columns:1fr}.darts-aim-stage{min-height:0;padding:22px 16px}.skill-darts .retro-board-wrap{width:min(100%,430px);padding:18px}.darts-power{width:min(100%,430px)}}

/* Unified, restrained motion for every card table. */
:is(.bs-app,.blackjack-app,.uno-app,.uno-online-app,.poker-app){--card-ease:cubic-bezier(.2,.82,.24,1);--card-fast:160ms;--card-smooth:360ms}
:is(.bs-app,.blackjack-app,.uno-app,.uno-online-app,.poker-app) button{transition:transform var(--card-fast) var(--card-ease),filter var(--card-fast) ease,box-shadow var(--card-fast) ease,border-color var(--card-fast) ease}
:is(.bs-app,.blackjack-app,.uno-app,.uno-online-app,.poker-app) button:not(:disabled):active{transform:translateY(1px) scale(.97)}

/* Poker: deal the private hand and community street with a compact table slide. */
.poker-app .poker-table-shell{animation:card-table-arrive .42s var(--card-ease) both}.poker-app .community-cards .playing-card:not(.empty){animation:poker-community-deal .4s var(--card-ease) both}.poker-app .community-cards .playing-card:nth-child(2){animation-delay:55ms}.poker-app .community-cards .playing-card:nth-child(3){animation-delay:110ms}.poker-app .community-cards .playing-card:nth-child(4){animation-delay:165ms}.poker-app .community-cards .playing-card:nth-child(5){animation-delay:220ms}.poker-app .hole-cards .playing-card:not(.empty){animation:poker-hole-deal .38s var(--card-ease) both}.poker-app .hole-cards .playing-card:nth-child(2){animation-delay:70ms}.poker-app .poker-seat.current{animation:poker-turn-settle .38s var(--card-ease) both}.poker-app .poker-pot,.poker-app .poker-message{transition:color .2s ease,text-shadow .2s ease,transform .2s var(--card-ease)}.poker-app .poker-actions button:not(:disabled):hover{transform:translateY(-2px);filter:brightness(1.1);box-shadow:3px 6px 0 #030209,0 0 14px #33f5e020}

/* BS: smoother selection, deal fan, pile landing, and challenge feedback. */
.bs-app .bs-card-button{transform-origin:50% 100%;transition:transform .2s var(--card-ease),filter .16s ease}.bs-app .bs-card-button:hover:not(:disabled),.bs-app .bs-card-button.selected{transform:translateY(-14px) rotate(-1deg)}.bs-app .bs-card-button.selected{animation:card-select-settle .28s var(--card-ease) both}.bs-app .bs-card-button.bs-card-dealt{animation-duration:.46s;animation-timing-function:var(--card-ease);animation-delay:calc(var(--bs-card-index) * 22ms)}.bs-app .bs-pile.bs-pile-pop{animation-duration:.38s;animation-timing-function:var(--card-ease)}.bs-app .bs-play-button:not(:disabled):hover,.bs-app .bs-challenge:not(:disabled):hover{transform:translateY(-2px);filter:brightness(1.08)}

/* UNO: fan movement, draw press, discard landing, and turn focus. */
:is(.uno-app,.uno-online-app) .uno-card-button{transform-origin:50% 115%;transition:transform .2s var(--card-ease),filter .16s ease,opacity .16s ease}:is(.uno-app,.uno-online-app) .uno-card-button.playable:hover,:is(.uno-app,.uno-online-app) .uno-card-button.playable:focus-visible{transform:translateY(-14px) rotate(-1.5deg) scale(1.025)}:is(.uno-app,.uno-online-app) .uno-card-button.uno-card-dealt{animation-duration:.38s;animation-timing-function:var(--card-ease);animation-delay:calc(var(--uno-card-index) * 26ms)}:is(.uno-app,.uno-online-app) .uno-center-card.uno-discard-pop>div{animation-duration:.36s;animation-timing-function:var(--card-ease)}:is(.uno-app,.uno-online-app) .uno-draw-pile:not(:disabled):hover{transform:translateY(-4px) rotate(-1deg);filter:brightness(1.07)}:is(.uno-app,.uno-online-app) .uno-opponent-cards .uno-card{transition:margin .28s var(--card-ease),transform .28s var(--card-ease),opacity .2s ease}

/* Blackjack already tracks new cards; refine the landing and control response. */
.blackjack-app .bj-card.fresh{animation-duration:.42s;animation-timing-function:var(--card-ease)}.blackjack-app .bj-card.reveal{animation-duration:.36s;animation-timing-function:var(--card-ease)}.blackjack-app .blackjack-chip{transition:transform .18s var(--card-ease),filter .16s ease,box-shadow .18s ease}.blackjack-app .blackjack-chip:not(:disabled):hover{transform:translateY(-3px) rotate(-1deg);filter:brightness(1.08)}

@keyframes card-table-arrive{from{opacity:.2;transform:translateY(10px) scale(.992)}to{opacity:1;transform:none}}@keyframes poker-community-deal{0%{opacity:0;transform:translate(72px,-46px) rotate(10deg) scale(.78)}72%{opacity:1;transform:translate(-2px,2px) rotate(-1deg) scale(1.025)}100%{opacity:1;transform:none}}@keyframes poker-hole-deal{0%{opacity:0;transform:translate(38px,-62px) rotate(9deg) scale(.78)}72%{opacity:1;transform:translate(-2px,2px) rotate(-1deg) scale(1.025)}100%{opacity:1;transform:none}}@keyframes poker-turn-settle{0%{filter:brightness(.82);box-shadow:4px 4px 0 #030209}55%{filter:brightness(1.12);box-shadow:4px 4px 0 #7d315d,0 0 28px #ffe26955}100%{filter:none}}@keyframes card-select-settle{0%{transform:translateY(-5px) scale(.98)}65%{transform:translateY(-16px) rotate(-1deg) scale(1.035)}100%{transform:translateY(-14px) rotate(-1deg)}}
@media(prefers-reduced-motion:reduce){:is(.bs-app,.blackjack-app,.uno-app,.uno-online-app,.poker-app) *,:is(.bs-app,.blackjack-app,.uno-app,.uno-online-app,.poker-app) *:before,:is(.bs-app,.blackjack-app,.uno-app,.uno-online-app,.poker-app) *:after{animation-duration:.001ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

/* Bright mobile-message-inspired darts presentation with original Arcade Hub styling. */
.newgame-app.skill-darts .newgame-panel{margin-top:14px;padding:18px;border:0;border-radius:24px;background:#eef0f3;box-shadow:0 12px 36px #00000024}.newgame-app.skill-darts .newgame-toolbar{border:0;background:#fff;box-shadow:0 8px 26px #00000018}.newgame-app.skill-darts .retro-board-wrap{background:radial-gradient(circle,#d9d9d7 0 49%,#c4c4c3 50% 55%,#f7f7f6 56% 100%);box-shadow:none}.newgame-app.skill-darts .retro-board-wrap:before{display:none}
.skill-darts{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#1f2024}.skill-darts .newgame-shell{max-width:1040px;padding:18px}.skill-darts .newgame-toolbar{padding:13px 17px;border:0;border-radius:18px;background:#fff;color:#17181b;box-shadow:0 8px 26px #00000018}.skill-darts .newgame-toolbar h2{font-family:inherit;font-size:clamp(1.3rem,3vw,1.85rem);letter-spacing:-.02em}.skill-darts .newgame-toolbar label{color:#74777d;font:700 .73rem/1.2 inherit}.skill-darts .newgame-toolbar select{margin-left:6px;padding:6px 8px;border:1px solid #d9dadd;border-radius:9px;background:#f4f5f7;color:#202124}.skill-darts .newgame-button{border:0;border-radius:12px;background:#e9eaed;color:#232428;font-family:inherit;box-shadow:none}.skill-darts .newgame-button.primary{background:#2479f2;color:#fff;box-shadow:0 5px 14px #2479f23b}.skill-darts .newgame-panel{margin-top:14px;padding:18px;border:0;border-radius:24px;background:#eef0f3;box-shadow:0 12px 36px #00000024}.skill-darts .darts-layout{grid-template-columns:minmax(350px,540px) minmax(250px,1fr);gap:18px}.skill-darts .darts-aim-stage{min-height:555px;padding:27px 22px 20px;border:0;border-radius:22px;background:linear-gradient(180deg,#fff,#f6f7f9);box-shadow:0 5px 20px #00000012}.skill-darts .retro-board-wrap{width:min(100%,420px);padding:21px;background:radial-gradient(circle,#d9d9d7 0 49%,#c4c4c3 50% 55%,#f7f7f6 56% 100%);box-shadow:none}.skill-darts .retro-board-wrap:after{display:none}.skill-darts .darts-board{border:8px solid #252628;box-shadow:0 0 0 5px #b7b8ba,0 10px 24px #0003;filter:none}.skill-darts .darts-board:hover{filter:none;transform:none}.skill-darts .darts-reticle{width:30px;height:30px;border-color:#2479f2;box-shadow:0 0 0 2px #fff,0 2px 9px #2479f299}.skill-darts .darts-reticle:before,.skill-darts .darts-reticle:after{background:#2479f2}.skill-darts .darts-reticle i{inset:12px;background:#2479f2;box-shadow:none}.skill-darts .darts-power{color:#4a4d53;font-family:inherit;font-size:.72rem;letter-spacing:.03em}.skill-darts .darts-power i{height:12px;border:0;background:#dedfe3;box-shadow:none}.skill-darts .darts-power b{background:linear-gradient(90deg,#ff5a63 0 36%,#ffbd35 52%,#35c66f 68% 88%,#ff5a63 100%)}.skill-darts .darts-power em{color:#8b8e94;font-size:.67rem}.skill-darts .darts-side{gap:10px;padding:0;border:0;background:transparent;box-shadow:none}.skill-darts .darts-control-card{padding:14px;border:0;border-radius:17px;background:#fff;color:#1d1e21;box-shadow:0 5px 18px #00000012}.skill-darts .darts-control-card strong{color:#202124;font-family:inherit;font-size:.83rem}.skill-darts .darts-control-card span{color:#777b82;font-family:inherit;font-size:.68rem}.skill-darts .darts-player{padding:14px 15px;border:0;border-radius:17px;background:#fff;box-shadow:0 4px 14px #00000010;color:#202124}.skill-darts .darts-player strong{font-family:inherit;font-size:.82rem}.skill-darts .darts-player b{color:#24262a;font-family:inherit;font-size:2.15rem}.skill-darts .darts-player.active{border:0;background:#e9f2ff;box-shadow:inset 0 0 0 2px #2479f2,0 5px 15px #2479f220;transform:none}.skill-darts .darts-player.active:before{color:#2479f2;font-family:inherit}.skill-darts .newgame-message{margin:0;padding:12px;border:0;border-radius:15px;background:#fff;color:#2479f2;font-family:inherit;font-size:.75rem;box-shadow:0 4px 14px #0000000d}.skill-darts .darts-log{border:0;border-radius:15px;background:#fff;color:#5d6066;font-family:inherit;font-size:.75rem;box-shadow:0 4px 14px #0000000d}.skill-darts .flying-dart{color:#2479f2;text-shadow:0 4px 8px #0005}@media(max-width:800px){.skill-darts .newgame-shell{padding:8px}.skill-darts .newgame-panel{padding:10px}.skill-darts .darts-layout{grid-template-columns:1fr}.skill-darts .darts-aim-stage{min-height:0}.skill-darts .retro-board-wrap{width:min(100%,390px)}.skill-darts .darts-side{grid-template-columns:1fr 1fr}.skill-darts .darts-control-card,.skill-darts .newgame-message,.skill-darts .darts-log{grid-column:1/-1}}
