.west-stage{position:relative;isolation:isolate;overflow:hidden;border-radius:18px;border:1px solid #a77842;background:#142424 url('/assets/western-scene.webp') center/cover;box-shadow:0 18px 70px #0009;padding:18px 20px 0;color:#e8d5b2;max-width:1250px;margin:auto}.west-stage:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#03131420,#07161635 25%,#07161660 50%,#07161635 75%,#03131420)}.west-title{text-align:center;text-shadow:0 3px 1px #1e160b,0 0 20px #000;padding-bottom:12px}.west-title>span{letter-spacing:4px;font-size:8px;color:#e7c892}.west-title h2{font:bold clamp(32px,4vw,52px)/1 Georgia,serif;letter-spacing:3px;color:#f6d38d;margin:5px 0 0;-webkit-text-stroke:.5px #54371f}.west-title p{font-size:10px;letter-spacing:6px;margin:3px 0 0;color:#9ebdb0}.west-status{display:flex;justify-content:space-between;max-width:510px;margin:0 auto 6px;gap:10px;font-weight:750;font-size:9px;letter-spacing:1.5px;text-shadow:0 1px 6px #000}.west-board-wrap{position:relative;max-width:510px;margin:auto;padding:10px;background:repeating-linear-gradient(0deg,#35291e,#35291e 3px,#3d2f21 4px,#483522 8px);border:2px solid #b28b52;border-radius:7px;box-shadow:0 0 0 3px #1e1b13,0 0 0 5px #94734755,0 15px 45px #0009,inset 0 0 12px #000}.west-board{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));aspect-ratio:1;gap:3px;padding:3px;background:#101a16;overflow:hidden}.west-cell{position:relative;aspect-ratio:1;display:grid;place-items:center;background:linear-gradient(150deg,#3f5146,#1b3029);border:1px solid #d2bea12b;box-shadow:inset 0 0 10px #0006;overflow:hidden;transition:background .12s}.west-cell:nth-child(even){background:linear-gradient(150deg,#34463d,#152720)}.west-cell svg{width:83%;height:83%;filter:drop-shadow(2px 3px 1px #0008)}.west-rank{font:900 clamp(25px,4vw,58px)/1 Georgia,serif;color:var(--ink);text-shadow:2px 3px #06130b,-1px -1px #f5ebd64d;-webkit-text-stroke:1px #10261e;background:#c6c4a717;padding:0 5px;transform:rotate(-4deg);border:1px solid #b5c0a42b}.west-cell:nth-child(even) .west-rank{transform:rotate(3deg)}.west-special{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;height:90%;width:90%;background:linear-gradient(155deg,#5b3227,#361b19);border:2px solid #c39a5a;color:#efc889;box-shadow:inset 0 0 12px #0008;text-shadow:1px 2px #241711}.west-special b{font:900 clamp(14px,2vw,26px)/1 Georgia,serif}.west-special small{font-size:6px;letter-spacing:1px;margin:4px 0}.west-special.versus b{font-size:clamp(27px,4vw,45px)}.west-special.wild{background:linear-gradient(155deg,#9b6d37,#583919)}.west-special.scatter{background:linear-gradient(160deg,#38413a,#141e1c);border-style:dashed}.west-special.s12{color:#df8b63}.west-special.s13{color:#b5c1d2}.west-special i{font-size:18px;font-style:normal}.west-empty{color:#7f8c7033;font-size:20px}.west-cell.blank{background:#14221ca6}.west-cell.winning{background:#9d793a;box-shadow:inset 0 0 12px #f7d68e;border-color:#ffe6a5;animation:westPulse .8s 2}.west-cell.locked:after{content:'◆';position:absolute;bottom:1px;right:4px;color:#f4d58c;font-size:9px}.rolling .west-cell{filter:blur(1.6px);transform:translateY(2px);opacity:.7}.west-duel{position:absolute;top:0;bottom:0;width:20%;z-index:3;border:2px solid #eec78b;background:#583124;box-shadow:0 0 18px #edaa5366;display:flex;flex-direction:column;animation:westReveal .25s ease-out;overflow:hidden}.duelist{position:relative;flex:1;background-image:url('/assets/western-scene.webp');background-size:auto 170%;filter:sepia(.2)}.duelist.outlaw{background-position:0 18%}.duelist.sheriff{background-position:100% 16%;transform:scaleX(-1)}.duelist span{position:absolute;bottom:5px;left:0;right:0;text-align:center;font:bold clamp(20px,3.5vw,42px)/1 Georgia;color:#ffe1a2;text-shadow:2px 3px #24110b}.duelist.sheriff span{transform:scaleX(-1)}.duel-vs{text-align:center;background:#3a1915;color:#ffe4b8;font:bold clamp(22px,3.5vw,46px)/1.3 Georgia;border-block:2px solid #b68d59;z-index:1}.duel-wild{text-align:center;background:#5d3e23;padding:5px 0;font-size:12px;letter-spacing:1px}.resolved .duelist.defeated{filter:grayscale(1) brightness(.28)}.resolved .duel-vs{color:#fff0b0;background:#92532f}.west-board.shot{animation:westShot .25s}.west-winbar{text-align:center;padding:14px 8px 12px;max-width:650px;margin:auto;text-shadow:1px 2px 4px #000;background:radial-gradient(ellipse,#091c17b0,transparent 70%)}.west-winbar>small{display:block;font-size:8px;letter-spacing:2px;color:#c8c2ab}.west-winbar>strong{display:block;font:bold 29px/1.2 Georgia;color:#f2d69c;font-variant-numeric:tabular-nums}.west-winbar>span{display:block;font-size:11px;min-height:19px;margin-top:4px;color:#e0dccd}.west-controls{display:flex;align-items:center;justify-content:center;gap:30px;max-width:640px;margin:0 auto;padding:12px 10px;border-block:1px solid #9f855742;background:#081813e8;border-radius:12px}.west-controls>label{font-size:8px;letter-spacing:1px;color:#bdc4ad}.west-controls select{width:100px;padding:8px;margin-top:3px;background:#1d2c23;border:1px solid #8f835d;color:#f0d6a2}.west-spin{border-radius:50%;width:68px;height:68px;background:radial-gradient(circle at 30% 20%,#efd7a0,#a47235 70%);color:#332615;font:bold 50px/1 Georgia;border:3px solid #e0b66e;box-shadow:0 0 0 4px #0b1713,0 0 0 5px #997647,0 5px 15px #0008;transition:transform .12s}.west-spin:hover:not(:disabled){transform:rotate(25deg)}.west-spin:active{transform:scale(.95)}.west-bonus{display:flex;align-items:center;gap:8px;border:1px solid #a17e49;border-radius:6px;background:#3d2c1a;color:#edd5a4;padding:9px;font-size:22px}.west-bonus span{font-size:9px;letter-spacing:1px;line-height:1.4;text-align:left}.west-balance small{display:block;font-size:7px;letter-spacing:1px;color:#bac0a7}.west-balance strong{font-size:19px;color:#f0d6a2;font-variant-numeric:tabular-nums}.west-options{display:flex;justify-content:center;gap:25px;align-items:center;padding:12px;font-size:10px;background:#061711c7;margin:10px -20px 0}.west-options button{background:none;color:#d4d4bd;font-size:10px}.west-options label{display:flex;gap:6px;align-items:center}.west-overlay{position:absolute;inset:7px;background:radial-gradient(ellipse,#46321ff5,#0a1716f5);z-index:5;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:20px;padding:18px;border:1px solid #f2cc8a;animation:westReveal .3s}.west-overlay small{font-size:11px;letter-spacing:3px;color:#cbb087}.west-overlay strong{font:bold clamp(24px,4vw,43px)/1.1 Georgia;color:#f7d299;text-shadow:0 2px 3px #000}.west-overlay span{font-size:10px;letter-spacing:2px;color:#b7c1b1}.west-overlay button{font-size:12px}.west-below{display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap;margin:20px 0;color:#869a95;font-size:11px}.west-below button{font-size:11px}.west-lines{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0;font:12px monospace}.west-bonus-list{display:grid;gap:12px;margin:20px 0}.west-buy{display:flex;align-items:center;gap:14px;padding:17px 13px;color:#edcca0;border:1px solid #806b42;border-radius:9px;background:linear-gradient(120deg,#35291f,#16221e);text-align:left}.west-buy>span{font-size:28px}.west-buy>div{flex:1}.west-buy small{display:block;font-size:10px;color:#adbaad;margin-top:5px}.west-buy>strong{font-size:15px}.west-buy:hover{border-color:#f1d2a2}.game-card:has(a[href="#game/western"]) .card-art{background:url('/assets/western-scene.webp') center/cover!important}.game-card:has(a[href="#game/western"]) .card-art svg{display:none}.game-card:has(a[href="#game/western"]) .card-art:after{content:'FORAJIDOS';font:bold clamp(22px,2vw,32px) Georgia;color:#f6d38d;text-shadow:2px 3px 4px #000;letter-spacing:1px;background:#13221b88;padding:15px}.game-card:has(a[href="#game/classic"]) .card-art>svg{opacity:1}.west-stage.expanded{position:fixed;inset:0;z-index:1000;border-radius:0;max-width:none;overflow:auto;padding-top:10px}.west-expanded{overflow:hidden}.west-stage.expanded .west-board-wrap{max-width:min(570px,calc(100dvh - 300px))}.west-stage.expanded .west-status{max-width:min(570px,calc(100dvh - 300px))}.west-stage.expanded .west-title{padding-bottom:6px}.west-stage.expanded .west-title h2{font-size:34px}.west-stage.expanded .west-controls{padding:6px 10px}.west-stage.expanded .west-winbar{padding:6px}.west-stage.expanded .west-options{margin-top:6px}
@keyframes westReveal{from{opacity:0;transform:scaleY(.7)}to{opacity:1;transform:scaleY(1)}}@keyframes westPulse{50%{filter:brightness(1.4)}}@keyframes westShot{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(3px)}}
@media(min-width:1600px){.games-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:540px){.west-stage{padding:14px 8px 0;margin:0 -9px;border-radius:12px;background-position:center}.west-title h2{font-size:35px}.west-title>span{font-size:7px;letter-spacing:3px}.west-title p{font-size:8px;letter-spacing:4px}.west-status{font-size:7px;letter-spacing:1px}.west-board-wrap{padding:5px;border-width:1px}.west-board{gap:2px;padding:2px}.west-rank{font-size:38px}.west-special b{font-size:17px}.west-special.versus b{font-size:32px}.west-special small{font-size:5px;letter-spacing:.5px}.west-special{border-width:1px}.west-special i{font-size:16px}.west-duel{border-width:1px}.duelist span{font-size:26px}.duel-vs{font-size:32px}.duel-wild{font-size:9px;padding:3px 0}.west-winbar{padding:10px 5px}.west-winbar>strong{font-size:25px}.west-winbar>span{font-size:9px;min-height:26px}.west-controls{gap:12px;padding:9px 6px}.west-controls select{width:77px;font-size:12px;padding:7px}.west-controls>label{font-size:7px}.west-bonus{padding:7px 5px;gap:4px;font-size:16px}.west-bonus span{font-size:7px;letter-spacing:.3px}.west-spin{width:55px;height:55px;font-size:40px;flex-shrink:0}.west-balance strong{font-size:13px}.west-balance small{font-size:6px;letter-spacing:.2px}.west-options{margin:8px -8px 0;padding:12px 4px;gap:16px}.west-options button,.west-options label{font-size:9px}.west-below{gap:12px;font-size:9px}.west-below button{font-size:10px}.west-lines{grid-template-columns:1fr 1fr;font-size:11px}.west-buy{gap:8px;padding:14px 9px}.west-buy b{font-size:13px}.west-buy>strong{font-size:13px}.west-stage.expanded .west-board-wrap{max-width:min(100%,calc(100dvh - 285px))}.west-stage.expanded .west-status{max-width:min(100%,calc(100dvh - 285px))}.west-stage.expanded .west-rank{font-size:clamp(20px,9vw,44px)}}
body:has(.west-stage) .topbar{height:64px}body:has(.west-stage) main{padding-top:16px}.west-stage{background-size:100% 100%}.west-title{padding-bottom:8px}.west-title h2{font-size:38px}.west-board-wrap,.west-status{max-width:clamp(300px,calc(100dvh - 405px),510px)}.west-winbar{padding:8px}.west-winbar>strong{font-size:25px}.west-controls{padding:8px 10px}.west-spin{width:58px;height:58px;font-size:44px}.west-options{margin-top:6px;padding:9px}.rolling .west-cell>*{animation:westRoll .12s linear infinite}.rolling .west-cell:nth-child(5n+2)>*{animation-delay:-.04s}.rolling .west-cell:nth-child(5n+4)>*{animation-delay:-.08s}@keyframes westRoll{from{transform:translateY(-65%)}to{transform:translateY(65%)}}
@media(max-width:540px){.west-board-wrap,.west-status{max-width:100%}.west-stage{background-size:auto 100%}.west-title h2{font-size:35px}.west-stage.expanded .west-controls{max-width:420px}.west-stage.expanded .west-board-wrap{max-width:min(100%,calc(100dvh - 280px))}}
.west-paylines{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none;filter:drop-shadow(0 0 3px #f9b549)}.west-paylines polyline{fill:none;stroke:#ffe3a7;stroke-width:2;stroke-dasharray:8 4;opacity:.65}.west-duel{container-type:inline-size}.duelist span{font-size:clamp(14px,28cqw,38px)}.duel-vs{font-size:clamp(17px,32cqw,42px)}.west-stage.expanded .west-board-wrap,.west-stage.expanded .west-status{max-width:min(570px,calc(100dvh - 340px))}
@media(max-width:540px){.west-stage.expanded .west-board-wrap,.west-stage.expanded .west-status{max-width:min(100%,calc(100dvh - 320px))}}
@media(prefers-reduced-motion:reduce){.west-duel,.west-overlay,.west-board.shot,.west-cell.winning,.rolling .west-cell>*{animation:none}.rolling .west-cell{filter:none;transform:none}}

/* Symbols size against the cell, not the viewport: prevents clipped 10 / VS. */
.west-cell{container-type:inline-size}.west-cell .west-rank{font-size:64cqw;padding:0 2px}.west-cell .west-special b{font-size:28cqw}.west-cell .west-special.versus b{font-size:58cqw}.west-cell .west-special small{font-size:9cqw;letter-spacing:0}.west-cell .west-special i{font-size:24cqw}
