.casino-home,.game-page{min-height:100vh}.lobby{position:relative;z-index:1;width:min(1180px,calc(100% - 36px));margin:auto;padding:70px 0}.hero{text-align:center}.hero h1{font-size:clamp(42px,7vw,78px)}.hero>p:last-child{color:var(--muted)}
.game-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:45px}.game-tile{position:relative;min-height:430px;display:flex;flex-direction:column;justify-content:space-between;padding:28px;overflow:hidden;border:1px solid var(--line);border-radius:18px;color:var(--ink);background:linear-gradient(160deg,rgba(18,64,48,.93),rgba(3,17,13,.97));text-decoration:none;box-shadow:0 20px 55px rgba(0,0,0,.3);transition:transform .25s,border-color .25s}.game-tile:hover{transform:translateY(-8px);border-color:var(--gold)}.game-tile::after{content:"";position:absolute;width:260px;height:260px;right:-80px;top:-80px;border-radius:50%;background:var(--tile-glow,#29a06e);filter:blur(80px);opacity:.16}.roulette-tile{--tile-glow:#dc514c}.tres-tile{--tile-glow:#e6b74e}.game-icon{position:relative;z-index:1;display:grid;place-items:center;width:120px;height:120px;margin:25px auto;border:1px solid var(--gold);border-radius:50%;color:var(--gold-bright);font:600 37px Georgia,serif;box-shadow:0 0 40px rgba(232,189,104,.11)}.wheel-icon{border:12px dotted #dcb860;box-shadow:inset 0 0 0 20px #8e252c}.game-tile small{color:var(--gold);font-size:9px;letter-spacing:.16em}.game-tile h2{margin:7px 0;font:500 34px Georgia,serif}.game-tile p{min-height:66px;color:var(--muted);font-size:13px;line-height:1.6}.game-tile b{font-size:10px;letter-spacing:.13em}.lobby-settings{width:min(430px,100%);margin:55px auto 0;padding:22px;border:1px solid var(--line);border-radius:14px;background:rgba(4,18,13,.7)}.lobby-settings h2{margin:0 0 12px;font:500 20px Georgia,serif}.shared-themes{max-width:none}
.game-page{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 370px;width:min(1450px,100%);margin:auto}.roulette-stage{position:relative;display:grid;place-items:center;align-content:center;min-height:760px;background:radial-gradient(circle,#17543e,#08291e 65%,#04140f)}.roulette-wheel{position:relative;width:min(520px,75vw);aspect-ratio:1;border:24px solid #352019;border-radius:50%;background:conic-gradient(#b62d37 0 9.73deg,#171717 9.73deg 19.46deg,#b62d37 19.46deg 29.19deg,#171717 29.19deg 38.92deg,#b62d37 38.92deg 48.65deg,#171717 48.65deg 58.38deg,#b62d37 58.38deg 68.11deg,#171717 68.11deg 77.84deg,#b62d37 77.84deg 87.57deg,#171717 87.57deg 97.3deg,#b62d37 97.3deg 107.03deg,#171717 107.03deg 116.76deg,#b62d37 116.76deg 126.49deg,#171717 126.49deg 136.22deg,#b62d37 136.22deg 145.95deg,#171717 145.95deg 155.68deg,#b62d37 155.68deg 165.41deg,#171717 165.41deg 175.14deg,#176a42 175.14deg 184.87deg,#171717 184.87deg 194.6deg,#b62d37 194.6deg 204.33deg,#171717 204.33deg 214.06deg,#b62d37 214.06deg 223.79deg,#171717 223.79deg 233.52deg,#b62d37 233.52deg 243.25deg,#171717 243.25deg 252.98deg,#b62d37 252.98deg 262.71deg,#171717 262.71deg 272.44deg,#b62d37 272.44deg 282.17deg,#171717 282.17deg 291.9deg,#b62d37 291.9deg 301.63deg,#171717 301.63deg 311.36deg,#b62d37 311.36deg 321.09deg,#171717 321.09deg 330.82deg,#b62d37 330.82deg 340.55deg,#171717 340.55deg 350.28deg,#b62d37 350.28deg);box-shadow:inset 0 0 0 18px #c89c47,inset 0 0 0 37px #151515,0 25px 60px #000}.roulette-wheel::after{content:"◆";position:absolute;top:-48px;left:50%;translate:-50% 0;color:#ffe198;font-size:35px}.wheel-center{position:absolute;inset:30%;display:grid;place-items:center;border:12px solid #b98c3d;border-radius:50%;background:radial-gradient(circle,#e3bf6f,#5e3c17);box-shadow:0 8px 30px #000}.wheel-center span{font:700 55px Georgia,serif;color:#fff;text-shadow:0 2px 5px #000}.spinning{animation:wheel-spin 1.3s cubic-bezier(.18,.72,.16,1)}@keyframes wheel-spin{to{rotate:1440deg}}.result-panel{text-align:center;margin-top:30px}.result-panel>strong{display:block;font:700 42px Georgia,serif}.result-panel>strong.red{color:#f26a71}.result-panel>strong.green{color:#62dda0}.result-panel>span{color:var(--muted);font-size:12px}.history{display:flex;justify-content:center;gap:5px;margin-top:12px}.history i{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;font-size:9px;font-style:normal;background:#222}.history .red{background:#a62933}.history .green{background:#176a42}
.roulette-board{padding:28px;background:var(--panel);overflow:auto}.board-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:8px}.board-toolbar label,.advanced-form label{display:grid;gap:5px;color:var(--muted);font-size:9px;letter-spacing:.1em}.board-toolbar select,.advanced-form select,.advanced-form input{min-width:0;padding:10px;border:1px solid var(--line);border-radius:7px;color:var(--ink);background:#0b251b}.board-toolbar .primary-btn{grid-column:1/-1}.number-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-top:20px}.number-cell{min-height:40px;border:1px solid rgba(255,255,255,.15);color:#fff;font-weight:800;cursor:pointer}.number-cell.red{background:#a82c36}.number-cell.black{background:#171a19}.number-cell.green{grid-column:1/-1;background:#176a42}.outside-bets{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:5px}.outside-cell{min-height:38px;border:1px solid var(--line);color:#e6d9ba;background:#12382a;font-size:9px;cursor:pointer}.outside-cell.red{background:#872a31}.outside-cell.black{background:#161918}.advanced-bets{margin-top:18px;padding:13px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:10px}.advanced-bets summary{color:var(--gold);cursor:pointer;font-weight:800}.advanced-form{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.advanced-form button{grid-column:1/-1}.bet-slip{margin-top:18px;border-top:1px solid var(--line);padding-top:15px}.bet-slip>div:first-child{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}#betList{display:grid;gap:5px;margin-top:8px}#betList div{display:grid;grid-template-columns:1fr auto 20px;gap:7px;padding:7px;border-radius:5px;background:rgba(255,255,255,.04);font-size:10px}#betList button{border:0;color:#aaa;background:transparent;cursor:pointer}.rules-box{padding:18px clamp(18px,5vw,76px);border-top:1px solid var(--line);background:#06110d}.rules-box h2{font:500 18px Georgia,serif}.rules-box p{color:var(--muted);font-size:11px;line-height:1.6}
.tres-page{grid-template-columns:minmax(0,1fr) 340px}.tres-table{position:relative;min-height:850px;overflow:hidden;background:radial-gradient(ellipse,#175e44,#093326 64%,#051b14);border:15px solid #321d14;border-radius:10px 10px 38% 38%}.table-center{position:absolute;z-index:1;left:50%;top:36%;translate:-50% -50%;text-align:center}.table-center h1{width:400px;font-size:21px}.draw-piles{display:flex;justify-content:center;gap:30px;margin-top:25px}.draw-piles button{display:grid;grid-template-columns:64px auto;align-items:center;gap:8px;border:0;color:var(--muted);background:transparent;cursor:pointer;text-align:left}.draw-piles button:disabled{opacity:.45}.pile{display:grid;place-items:center;width:64px;height:90px;border:2px solid #eee;border-radius:7px;background:#f3eee4;color:#1b1b1b;font:700 19px Georgia,serif}.pile.red{color:#c72d3a}.card-back-mini{color:#e8bd68;background:repeating-linear-gradient(45deg,#174f3b 0 3px,#0b2d22 3px 7px)}.tres-seats{position:absolute;inset:0}.tyd-seat{position:absolute;width:210px;padding:10px;border:1px solid rgba(232,189,104,.38);border-radius:12px;background:rgba(3,31,23,.74);transform:translate(-50%,-50%)}.tyd-seat:nth-child(1){left:50%;top:80%}.tyd-seat:nth-child(2){left:20%;top:67%;rotate:8deg}.tyd-seat:nth-child(3){left:17%;top:25%;rotate:16deg}.tyd-seat:nth-child(4){left:83%;top:25%;rotate:-16deg}.tyd-seat:nth-child(5){left:80%;top:67%;rotate:-8deg}.tyd-seat.active{border-color:#ffe195;box-shadow:0 0 25px rgba(232,189,104,.23)}.tyd-seat header{display:flex;align-items:center;gap:7px}.tyd-seat header>span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#28523f;color:#ffe19a;font-weight:800}.tyd-seat header b,.tyd-seat header small{display:block}.tyd-seat header b{font-size:11px}.tyd-seat header small{color:var(--muted);font-size:8px}.tyd-hand{display:flex;justify-content:center;min-height:78px;margin-top:7px}.tyd-card{width:50px;height:72px;margin-left:-21px;border:1px solid #fff;border-radius:5px;color:#171717;background:#f6f2e9;box-shadow:0 4px 7px #000;cursor:pointer}.tyd-card:first-child{margin-left:0}.tyd-card.red{color:#c72d3a}.tyd-card b,.tyd-card i{display:block;font-family:Georgia,serif;font-style:normal}.tyd-card i{font-size:22px}.hidden-card{color:#e8bd68;background:repeating-linear-gradient(45deg,#174f3b 0 3px,#0b2d22 3px 7px)}.tres-controls{min-height:850px}.participant-setup{display:grid;gap:7px;margin:20px 0}.participant-row{display:grid;grid-template-columns:25px 1fr 85px;gap:6px}.participant-row>span{display:grid;place-items:center;color:var(--gold);font-size:10px}.participant-row input,.participant-row select{min-width:0;padding:8px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:#0b251b;font-size:10px}.turn-guide{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.turn-guide small,.turn-guide strong{display:block}.turn-guide small{color:var(--muted);font-size:8px;letter-spacing:.13em}.turn-guide strong{margin-top:4px;color:var(--gold-bright)}.turn-guide p{color:var(--muted);font-size:10px;line-height:1.5}
.theme-night .roulette-stage,.theme-night .tres-table{background:radial-gradient(circle,#163a3c,#07151a 70%)}.theme-elegant .roulette-stage,.theme-elegant .tres-table{background:radial-gradient(circle,#176449,#07291e 70%)}
@media(max-width:950px){.game-grid{grid-template-columns:1fr}.game-tile{min-height:300px}.game-page,.tres-page{grid-template-columns:1fr}.roulette-stage{min-height:650px}.roulette-board,.tres-controls{min-height:auto}.tres-table{min-height:800px}}
@media(max-width:620px){.lobby{padding-top:40px}.game-tile{padding:20px}.game-page{display:block}.roulette-stage{min-height:500px}.roulette-wheel{width:330px}.roulette-board{padding:18px}.tres-table{min-height:auto;padding:280px 10px 20px;border-width:8px}.table-center{top:145px}.table-center h1{width:280px}.tres-seats{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:8px}.tyd-seat,.tyd-seat:nth-child(n){position:relative;left:auto;top:auto;rotate:0;transform:none;width:auto}.tyd-seat:nth-child(5){grid-column:1/-1}.tyd-card{width:42px;height:62px;margin-left:-20px}.advanced-form{grid-template-columns:1fr}.game-grid{margin-top:30px}}

/* Premios secundarios de Tres y Dos */
.participant-row{grid-template-columns:25px minmax(0,1fr) 76px 62px}
.side-entry{display:grid;place-items:center;gap:2px;padding:3px;border:1px solid var(--line);border-radius:6px;color:var(--muted);font-size:7px;cursor:pointer}
.participant-row .side-entry input{width:auto;padding:0;accent-color:var(--gold)}
.side-entry:has(input:checked){border-color:var(--gold);color:var(--gold-bright);background:rgba(232,189,104,.07)}
.side-help{margin:-7px 0 16px;color:var(--muted);font-size:9px;line-height:1.5}
.side-prizes{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;width:390px;margin:18px auto 0}
.side-prizes>div{padding:7px;border:1px solid rgba(232,189,104,.25);border-radius:7px;background:rgba(0,0,0,.16)}
.side-prizes span,.side-prizes b,.side-prizes small{display:block}
.side-prizes span{color:var(--gold);font-size:7px;letter-spacing:.1em}
.side-prizes b{margin:3px 0;color:var(--gold-bright);font:600 16px Georgia,serif}
.side-prizes small{overflow:hidden;color:var(--muted);font-size:7px;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:620px){.tres-table{padding-top:350px}.table-center{top:175px}.side-prizes{width:290px}.participant-row{grid-template-columns:22px minmax(0,1fr) 72px 58px}}

/* Rueda numerada y giro cinemático */
.roulette-wheel{--wheel-radius:clamp(127px,15vw,202px);isolation:isolate;background:#21150f;box-shadow:inset 0 0 0 10px #b88938,inset 0 0 0 18px #17120f,0 25px 60px #000}
.roulette-wheel::after{display:none}
.wheel-rotor{position:absolute;z-index:1;inset:18px;border:7px solid #c79a47;border-radius:50%;box-shadow:inset 0 0 0 18px #19130f,inset 0 0 38px #000,0 0 0 3px #5d3a19;transition:transform 4.2s cubic-bezier(.08,.64,.12,1);will-change:transform}
.wheel-rotor::after{content:"";position:absolute;inset:27%;border:4px solid #c79a47;border-radius:50%;background:radial-gradient(circle,#563917,#17110c 72%);box-shadow:0 0 0 9px #16100c,0 8px 24px #000}
.wheel-numbers{position:absolute;inset:0;border-radius:50%}
.wheel-numbers span{position:absolute;z-index:3;left:50%;top:50%;display:grid;place-items:center;width:20px;height:20px;color:#fff;font:800 10px Georgia,serif;text-shadow:0 1px 3px #000;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(calc(-1 * var(--wheel-radius))) rotate(calc(-1 * var(--angle)))}
.wheel-numbers span.green{color:#d6ffdf}.wheel-numbers span.red{color:#fff1e7}
.wheel-center{z-index:4;inset:35%;border-width:8px;pointer-events:none}
.wheel-center span{font-size:42px}
.wheel-pointer{position:absolute;z-index:7;top:-37px;left:50%;translate:-50% 0;color:#ffe4a0;font-size:34px;filter:drop-shadow(0 3px 4px #000)}
.wheel-ball{position:absolute;z-index:6;left:50%;top:50%;width:13px;height:13px;margin:-6px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#d7c9a9 65%,#74674e);box-shadow:0 2px 5px #000;transform:rotate(0) translateY(calc(-1 * var(--wheel-radius) + 25px));transform-origin:center}
.roulette-wheel.is-spinning{box-shadow:inset 0 0 0 10px #e0b65f,inset 0 0 0 18px #17120f,0 0 45px rgba(231,185,83,.3),0 25px 60px #000}
.roulette-wheel.is-spinning .wheel-ball{animation:ball-orbit 4.2s cubic-bezier(.12,.62,.13,1) forwards}
.roulette-wheel.is-spinning .wheel-center{animation:center-pulse .7s ease-in-out infinite alternate}
@keyframes ball-orbit{0%{transform:rotate(0) translateY(calc(-1 * var(--wheel-radius) + 18px))}70%{transform:rotate(-1800deg) translateY(calc(-1 * var(--wheel-radius) + 25px))}100%{transform:rotate(-2340deg) translateY(calc(-1 * var(--wheel-radius) + 50px))}}
@keyframes center-pulse{to{filter:brightness(1.25);box-shadow:0 0 25px rgba(255,213,121,.35)}}
@media(max-width:620px){.roulette-wheel{--wheel-radius:127px}.wheel-rotor{inset:14px}.wheel-numbers span{width:16px;height:16px;font-size:8px}.wheel-center span{font-size:33px}}

/* Vestíbulo de cuatro juegos y mesa de dominó */
.game-grid{grid-template-columns:repeat(2,1fr)}
.domino-tile{--tile-glow:#e7d8b6}.domino-icon{display:flex;flex-direction:column;border-radius:12px;rotate:18deg;background:#eee7d7;color:#171717}.domino-icon i{display:grid;place-items:center;width:72%;height:42%;font-style:normal}.domino-icon i+ i{border-top:2px solid #26221c}
.domino-page{grid-template-columns:minmax(0,1fr) 350px}.domino-table{position:relative;min-height:850px;overflow:hidden;background:radial-gradient(ellipse,#236148,#0a3628 68%,#051c15);border:15px solid #331d13;border-radius:12px 12px 35% 35%;box-shadow:inset 0 0 80px rgba(0,0,0,.25)}.domino-table::before{content:"";position:absolute;inset:12%;border:2px solid rgba(231,190,91,.25);border-radius:45%}.domino-center{position:absolute;z-index:2;left:50%;top:48%;width:min(660px,72%);translate:-50% -50%;text-align:center}.domino-center h1{font-size:20px}.domino-chain{display:flex;flex-wrap:wrap;align-content:center;justify-content:center;min-height:190px;max-height:300px;overflow:auto;padding:24px;gap:2px;border:1px dashed rgba(255,255,255,.1);border-radius:45%;background:rgba(0,0,0,.08)}.domino-chain:empty::after{content:'La cadena aparecerá aquí';color:rgba(255,255,255,.25);font-size:10px;letter-spacing:.12em}.domino-seats{position:absolute;inset:0}.domino-seat{position:absolute;z-index:3;width:270px;padding:9px;border:1px solid rgba(232,189,104,.27);border-radius:12px;background:rgba(3,27,20,.8);box-shadow:0 8px 20px rgba(0,0,0,.25)}.domino-seat.active{border-color:#ffe295;box-shadow:0 0 25px rgba(232,189,104,.28)}.domino-seat.seat-0{left:50%;bottom:18px;translate:-50% 0}.domino-seat.seat-1{right:15px;top:50%;translate:0 -50%}.domino-seat.seat-2{left:50%;top:18px;translate:-50% 0}.domino-seat.seat-3{left:15px;top:50%;translate:0 -50%}.domino-seat header{display:flex;align-items:center;gap:7px}.domino-seat header>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:var(--gold-bright);background:#28523f;font-weight:800}.domino-seat header b,.domino-seat header small{display:block}.domino-seat header b{font-size:11px}.domino-seat header small{color:var(--muted);font-size:8px}.domino-hand{display:flex;justify-content:center;min-height:42px;margin-top:7px}.domino-hand .domino-tile-piece{margin-left:-14px}.domino-hand .domino-tile-piece:first-child{margin-left:0}
.domino-tile-piece{display:flex;width:66px;height:34px;padding:2px;border:1px solid #fff;border-radius:5px;color:#151515;background:linear-gradient(145deg,#fffdf5,#d9d3c4);box-shadow:0 3px 7px rgba(0,0,0,.55)}button.domino-tile-piece{cursor:pointer;transition:translate .15s,filter .15s}button.domino-tile-piece:hover:not(:disabled){translate:0 -7px;filter:brightness(1.08)}button.domino-tile-piece:disabled{cursor:not-allowed;filter:brightness(.65)}.domino-half{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:50%;padding:2px}.domino-half+.domino-half{border-left:1px solid #24211d}.domino-half i{display:grid;place-items:center}.domino-half i.pip::after{content:"";width:4px;height:4px;border-radius:50%;background:#171717;box-shadow:inset 0 1px 1px rgba(255,255,255,.2)}.tile-back{display:grid;place-items:center;color:#e8bd68;background:repeating-linear-gradient(45deg,#173e32 0 3px,#09231a 3px 7px);border-color:#cfc5aa}.end-chooser{position:absolute;z-index:6;left:50%;bottom:-55px;display:grid;grid-template-columns:1fr 1fr;gap:6px;width:280px;padding:9px;translate:-50% 0;border:1px solid var(--gold);border-radius:8px;background:#071a13;box-shadow:0 10px 30px #000}.end-chooser[hidden]{display:none}.end-chooser span{grid-column:1/-1;color:var(--gold-bright);font-size:10px}.domino-controls{min-height:850px}.domino-person{grid-template-columns:25px minmax(0,1fr) 82px 28px}.domino-person>b{display:grid;place-items:center;color:var(--gold);font-size:8px}.domino-reset{display:block;margin:17px auto}.domino-score{padding-top:16px;border-top:1px solid var(--line)}.domino-score>small{color:var(--muted);font-size:8px;letter-spacing:.13em}#scoreBoard{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}#scoreBoard>div{padding:9px;border:1px solid var(--line);border-radius:7px;background:rgba(255,255,255,.03)}#scoreBoard span,#scoreBoard b,#scoreBoard small{display:block}#scoreBoard span{font-size:9px}#scoreBoard b{margin:3px 0;color:var(--gold-bright);font:600 24px Georgia,serif}#scoreBoard small{color:var(--muted);font-size:7px}.theme-night .domino-table{background:radial-gradient(ellipse,#163c3e,#07171b 70%)}.theme-elegant .domino-table{background:radial-gradient(ellipse,#176449,#06281e 70%)}
@media(max-width:1000px){.domino-page{grid-template-columns:1fr}.domino-controls{min-height:auto}.domino-table{min-height:820px}}
@media(max-width:680px){.game-grid{grid-template-columns:1fr}.domino-table{min-height:auto;padding:250px 8px 20px;border-width:8px}.domino-center{top:125px;width:90%}.domino-chain{min-height:135px;max-height:160px;padding:14px;border-radius:20px}.domino-seats{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:8px}.domino-seat,.domino-seat.seat-0,.domino-seat.seat-1,.domino-seat.seat-2,.domino-seat.seat-3{position:relative;inset:auto;left:auto;right:auto;top:auto;bottom:auto;width:auto;translate:0 0}.domino-hand .domino-tile-piece{margin-left:-22px}.domino-tile-piece{width:57px;height:31px}.end-chooser{position:fixed;bottom:18px}.domino-person{grid-template-columns:22px minmax(0,1fr) 75px 25px}}

/* Orientación de fichas: verticales y dobles atravesados */
.domino-tile-piece{flex-direction:column;width:36px;height:68px}
.domino-half{width:100%;height:50%}
.domino-half+.domino-half{border-top:1px solid #24211d;border-left:0}
.domino-chain{align-items:center}
.domino-chain .domino-tile-piece.is-double{flex-direction:row;width:68px;height:36px;margin-inline:5px}
.domino-chain .domino-tile-piece.is-double .domino-half{width:50%;height:100%}
.domino-chain .domino-tile-piece.is-double .domino-half+.domino-half{border-top:0;border-left:1px solid #24211d}
.domino-hand{align-items:flex-end}
.domino-hand .domino-tile-piece{margin-left:-7px}
.domino-hand .domino-tile-piece:first-child{margin-left:0}
.end-chooser{position:fixed;z-index:30;left:50%;bottom:24px;width:min(440px,calc(100% - 28px));padding:16px;translate:-50% 0;background:rgba(5,22,16,.97);box-shadow:0 18px 65px #000,0 0 0 9999px rgba(0,0,0,.28);backdrop-filter:blur(12px)}
.end-chooser span{font-size:12px;text-align:center}
.pending-tile{grid-column:1/-1;display:grid;place-items:center;min-height:80px}
.pending-tile .domino-tile-piece{transform:rotate(-8deg);box-shadow:0 8px 18px #000}
.end-chooser .outline-btn{min-height:42px;font-size:9px}
@media(max-width:680px){.domino-tile-piece{width:31px;height:59px}.domino-chain .domino-tile-piece.is-double{width:59px;height:31px}.domino-hand .domino-tile-piece{margin-left:-6px}.end-chooser{bottom:14px}}

/* Solo los dobles se muestran acostados, incluso dentro de la mano */
.domino-tile-piece.is-double{flex-direction:row;width:68px;height:36px;margin-inline:3px}
.domino-tile-piece.is-double .domino-half{width:50%;height:100%}
.domino-tile-piece.is-double .domino-half+.domino-half{border-top:0;border-left:1px solid #24211d}
@media(max-width:680px){.domino-tile-piece.is-double{width:59px;height:31px}}

/* Mano de dominó: todas acostadas, separadas y reordenables */
.domino-seat{width:292px}
.domino-hand{justify-content:flex-start;align-items:center;gap:8px;min-height:48px;padding:6px 3px 9px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--gold) rgba(0,0,0,.15)}
.domino-hand .domino-tile-piece,.domino-hand .domino-tile-piece.is-double{flex:0 0 62px;flex-direction:row;width:62px;height:34px;margin:0;cursor:grab}
.domino-hand .domino-tile-piece .domino-half,.domino-hand .domino-tile-piece.is-double .domino-half{width:50%;height:100%}
.domino-hand .domino-tile-piece .domino-half+.domino-half,.domino-hand .domino-tile-piece.is-double .domino-half+.domino-half{border-top:0;border-left:1px solid #24211d}
.domino-hand .domino-tile-piece.dragging{opacity:.3;translate:0 -9px;cursor:grabbing}
.domino-hand .domino-tile-piece.playable{outline:2px solid rgba(255,220,128,.75);outline-offset:2px;box-shadow:0 0 14px rgba(255,210,95,.3)}
.domino-hand .domino-tile-piece.not-playable{filter:brightness(.82)}
.domino-hand .domino-tile-piece:hover:not(:disabled){translate:0 -5px;filter:brightness(1.07)}
@media(max-width:680px){.domino-seat{width:auto}.domino-hand .domino-tile-piece,.domino-hand .domino-tile-piece.is-double{flex-basis:57px;width:57px;height:31px}}

/* Manos organizables y reclamo manual en Tres y Dos */
.side-prizes.two-prizes{grid-template-columns:repeat(2,1fr);width:300px}
.tyd-seat{width:245px}
.tyd-hand{align-items:flex-end;min-height:88px;padding-inline:3px}
.tyd-card{width:47px;height:76px;margin-left:-8px;cursor:grab;transition:translate .16s,rotate .16s,opacity .16s,filter .16s}
.tyd-card:first-child{margin-left:0}
.tyd-card:hover:not(:disabled){z-index:5;translate:0 -9px;rotate:-2deg;filter:brightness(1.06)}
.tyd-card:active:not(:disabled){cursor:grabbing}
.tyd-card.dragging{opacity:.35;translate:0 -12px}
.hand-tools{display:grid;gap:7px;margin-top:10px}
.claim-btn{min-height:45px;border:1px solid #f3d27b;border-radius:8px;color:#1c2519;background:linear-gradient(135deg,#ffe7a1,#cf9638);font-size:10px;font-weight:900;letter-spacing:.09em;cursor:pointer;box-shadow:0 8px 22px rgba(213,160,62,.16)}
.claim-btn:disabled{cursor:not-allowed;opacity:.3;filter:grayscale(.6)}
.claim-btn:not(:disabled){animation:claim-glow 1s ease-in-out infinite alternate}
@keyframes claim-glow{to{box-shadow:0 0 24px rgba(255,215,113,.45)}}
@media(max-width:620px){.side-prizes.two-prizes{width:270px}.tyd-seat{width:auto}.tyd-card{width:42px;height:67px;margin-left:-8px}.tyd-hand{overflow-x:auto;justify-content:flex-start;padding-bottom:5px}}

/* Mesa de dominó inspirada en una mesa física para cuatro jugadores */
@media(min-width:1001px){
  .domino-table{
    min-height:900px;
    border-width:18px;
    border-radius:28px;
    background:radial-gradient(circle at 50% 45%,#2b7257 0,#15513c 52%,#0a3024 100%);
    box-shadow:inset 0 0 0 3px rgba(238,194,92,.2),inset 0 0 95px rgba(0,0,0,.28),0 20px 55px rgba(0,0,0,.35)
  }
  .domino-table::before{
    inset:4.5%;
    border:1px solid rgba(239,199,101,.3);
    border-radius:20px
  }
  .domino-table::after{
    content:"DOMINÓ  ·  DOBLE SEIS";
    position:absolute;
    left:50%;
    top:20%;
    translate:-50% 0;
    color:rgba(238,199,104,.2);
    font:600 17px Georgia,serif;
    letter-spacing:.22em;
    white-space:nowrap
  }
  .domino-center{top:50%;width:min(720px,66%)}
  .domino-center h1{margin-bottom:12px;color:rgba(255,242,204,.8)}
  .domino-chain{
    flex-wrap:wrap;
    justify-content:center;
    min-height:180px;
    max-height:220px;
    padding:28px 34px;
    overflow-x:hidden;
    overflow-y:auto;
    border-color:rgba(255,255,255,.12);
    border-radius:22px;
    background:rgba(2,24,17,.17);
    scrollbar-width:thin;
    scrollbar-color:rgba(232,189,104,.7) transparent
  }
  .domino-chain:empty{justify-content:center}
  .domino-seat{
    border-color:rgba(232,189,104,.36);
    background:linear-gradient(145deg,rgba(5,37,27,.94),rgba(2,24,18,.9));
    box-shadow:0 9px 24px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.04)
  }
  .domino-seat.seat-0,.domino-seat.seat-2{width:470px}
  .domino-seat.seat-0{bottom:22px}
  .domino-seat.seat-2{top:22px}
  .domino-seat.seat-0 .domino-hand,.domino-seat.seat-2 .domino-hand{justify-content:center}
  .domino-seat.seat-1,.domino-seat.seat-3{
    display:flex;
    flex-direction:column;
    align-items:center;
    width:112px;
    max-height:600px;
    padding:10px 8px
  }
  .domino-seat.seat-1{right:22px}
  .domino-seat.seat-3{left:22px}
  .domino-seat.seat-1 header,.domino-seat.seat-3 header{width:100%}
  .domino-seat.seat-1 .domino-hand,.domino-seat.seat-3 .domino-hand{
    flex-direction:column;
    justify-content:center;
    align-items:center;
    width:76px;
    max-height:480px;
    margin-top:10px;
    padding:4px 7px;
    overflow-x:hidden;
    overflow-y:auto
  }
  .domino-seat.seat-1 .domino-tile-piece,.domino-seat.seat-3 .domino-tile-piece{flex:0 0 34px}
}

/* Orientación final: mano vertical; normales horizontales y dobles verticales en mesa */
.domino-chain .domino-tile-piece:not(.is-double){
  flex-direction:row;
  width:68px;
  height:36px;
  margin-inline:2px
}
.domino-chain .domino-tile-piece:not(.is-double) .domino-half{width:50%;height:100%}
.domino-chain .domino-tile-piece:not(.is-double) .domino-half+.domino-half{border-top:0;border-left:1px solid #24211d}
.domino-chain .domino-tile-piece.is-double{
  flex-direction:column;
  width:36px;
  height:68px;
  margin-inline:5px
}
.domino-chain .domino-tile-piece.is-double .domino-half{width:100%;height:50%}
.domino-chain .domino-tile-piece.is-double .domino-half+.domino-half{border-top:1px solid #24211d;border-left:0}
.domino-hand .domino-tile-piece,.domino-hand .domino-tile-piece.is-double{
  flex:0 0 36px;
  flex-direction:column;
  width:36px;
  height:68px;
  margin:0
}
.domino-hand .domino-tile-piece .domino-half,.domino-hand .domino-tile-piece.is-double .domino-half{width:100%;height:50%}
.domino-hand .domino-tile-piece .domino-half+.domino-half,.domino-hand .domino-tile-piece.is-double .domino-half+.domino-half{border-top:1px solid #24211d;border-left:0}
@media(min-width:1001px){
  .domino-seat.seat-1 .domino-tile-piece,.domino-seat.seat-3 .domino-tile-piece{flex-basis:68px}
}
@media(max-width:680px){
  .domino-chain .domino-tile-piece:not(.is-double){width:59px;height:31px}
  .domino-chain .domino-tile-piece.is-double{width:31px;height:59px}
  .domino-hand .domino-tile-piece,.domino-hand .domino-tile-piece.is-double{flex-basis:31px;width:31px;height:59px}
}

/* Cadena en serpentina y puestos laterales fuera del área de juego */
.domino-chain{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.domino-chain-row{display:flex;align-items:center;justify-content:center;min-height:70px;gap:2px}
.domino-chain-row.reverse{flex-direction:row-reverse}
.domino-chain-row .chain-corner:not(.is-double){rotate:90deg;margin-inline:18px}
.domino-chain-row:nth-child(even) .chain-corner:not(.is-double){rotate:-90deg}
@media(min-width:681px){
  .domino-center{width:calc(100% - 250px);max-width:760px}
  .domino-chain{min-height:250px;max-height:390px;padding:18px 12px}
  .domino-seat.seat-0,.domino-seat.seat-2{width:min(470px,calc(100% - 280px))}
  .domino-seat.seat-1,.domino-seat.seat-3{display:flex;flex-direction:column;align-items:center;width:92px;max-height:620px;padding:9px 6px}
  .domino-seat.seat-1{right:10px}
  .domino-seat.seat-3{left:10px}
  .domino-seat.seat-1 header,.domino-seat.seat-3 header{width:100%;overflow:hidden}
  .domino-seat.seat-1 header>span,.domino-seat.seat-3 header>span{flex:0 0 25px;width:25px;height:25px}
  .domino-seat.seat-1 header div,.domino-seat.seat-3 header div{min-width:0}
  .domino-seat.seat-1 header b,.domino-seat.seat-3 header b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .domino-seat.seat-1 .domino-hand,.domino-seat.seat-3 .domino-hand{flex-direction:column;justify-content:flex-start;align-items:center;width:48px;max-height:500px;padding:7px 5px;overflow-x:hidden;overflow-y:auto}
  .domino-seat.seat-1 .domino-tile-piece,.domino-seat.seat-3 .domino-tile-piece{flex:0 0 68px}
}
@media(max-width:680px){
  .domino-chain{display:flex;min-height:150px;max-height:230px}
  .domino-chain-row{min-height:61px}
  .domino-chain-row .chain-corner:not(.is-double){margin-inline:15px}
}

/* Recorrido continuo: línea, giro y regreso desde el mismo extremo */
.domino-chain{
  justify-content:center;
  gap:0;
  padding:16px;
  overflow:auto
}
.domino-chain-row{
  flex:0 0 68px;
  justify-content:flex-start;
  width:min(100%,490px);
  min-height:68px;
  gap:0
}
.domino-chain-row.reverse{flex-direction:row-reverse;justify-content:flex-start}
.domino-chain-row.single{justify-content:center}
.domino-chain-row .domino-tile-piece{flex:0 0 auto;margin:0;border-radius:3px;box-shadow:0 2px 4px rgba(0,0,0,.45)}
.domino-chain-row .domino-tile-piece+.domino-tile-piece{margin-left:-1px}
.domino-chain-row.reverse .domino-tile-piece+.domino-tile-piece{margin-right:-1px;margin-left:0}
.domino-chain-row .chain-corner:not(.is-double),
.domino-chain-row:nth-child(even) .chain-corner:not(.is-double){
  flex-direction:column;
  width:36px;
  height:68px;
  margin:0;
  rotate:0deg
}
.domino-chain-row .chain-corner:not(.is-double) .domino-half{width:100%;height:50%}
.domino-chain-row .chain-corner:not(.is-double) .domino-half+.domino-half{border-top:1px solid #24211d;border-left:0}
.domino-chain-row .row-entry:not(.is-double){translate:0 -16px}
@media(max-width:680px){
  .domino-chain-row{flex-basis:59px;width:min(100%,360px);min-height:59px}
  .domino-chain-row .chain-corner:not(.is-double),
  .domino-chain-row:nth-child(even) .chain-corner:not(.is-double){width:31px;height:59px;margin:0}
  .domino-chain-row .row-entry:not(.is-double){translate:0 -14px}
}

.domino-bonus{width:max-content;max-width:90%;margin:8px auto 10px;padding:8px 15px;border:1px solid #f0c866;border-radius:999px;color:#fff2bd;background:linear-gradient(135deg,rgba(124,75,12,.92),rgba(56,34,5,.94));font-size:10px;font-weight:900;letter-spacing:.08em;box-shadow:0 0 24px rgba(239,190,72,.3);animation:domino-bonus-pulse .75s ease-in-out infinite alternate}
.domino-bonus[hidden]{display:none}
@keyframes domino-bonus-pulse{to{scale:1.035;box-shadow:0 0 34px rgba(255,207,88,.48)}}

/* Flujo real: dos brazos desde la salida, uno gira arriba y otro abajo */
.domino-chain{display:block;min-height:430px;max-height:620px;padding:8px;overflow:auto}
.domino-path-layout{position:relative;width:700px;height:600px;margin:auto}
.domino-path-tile{position:absolute;left:50%;top:50%;margin:0!important;transform:translate(calc(-50% + var(--path-x)),calc(-50% + var(--path-y)));box-shadow:0 2px 5px rgba(0,0,0,.5)!important}
.domino-path-tile.path-opening{z-index:3;outline:2px solid rgba(241,198,91,.42);outline-offset:2px}
.domino-chain .domino-path-tile.path-turn:not(.is-double){flex-direction:column;width:36px;height:68px}
.domino-chain .domino-path-tile.path-turn:not(.is-double) .domino-half{width:100%;height:50%}
.domino-chain .domino-path-tile.path-turn:not(.is-double) .domino-half+.domino-half{border-top:1px solid #24211d;border-left:0}
@media(max-width:680px){
  .domino-chain{min-height:390px;max-height:520px;padding:4px}
  .domino-path-layout{width:700px;height:520px;scale:.86;transform-origin:top center;margin-bottom:-70px}
  .domino-chain .domino-path-tile.path-turn:not(.is-double){width:31px;height:59px}
}

.domino-history{margin-top:12px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.025)}
.domino-history summary{display:flex;justify-content:space-between;padding:11px;color:var(--gold);font-size:8px;font-weight:900;letter-spacing:.12em;cursor:pointer;list-style:none}
.domino-history summary::-webkit-details-marker{display:none}
.domino-history summary span{display:grid;place-items:center;min-width:22px;height:18px;border-radius:999px;color:#102016;background:var(--gold)}
#historyList{display:grid;gap:5px;max-height:220px;padding:0 9px 9px;overflow-y:auto}
#historyList>div{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:8px;border-radius:6px;background:rgba(255,255,255,.04)}
#historyList span{color:var(--muted);font-size:8px}
#historyList strong{grid-row:1/3;grid-column:2;color:var(--gold-bright);font:700 17px Georgia,serif}
#historyList small{color:#eee;font-size:9px}
#historyList p{margin:5px;color:var(--muted);font-size:9px;text-align:center}
