/* Interactive game table; shared arcade shell retains its dimensions. */
.stage-revolver .stage-content{padding:0!important;overflow:hidden}
.rv-table{height:100%;min-height:0;display:grid;grid-template-rows:54px minmax(0,1fr) 68px 50px;gap:8px;padding:8px 20px 4px;box-sizing:border-box;background:radial-gradient(ellipse at 50% 40%,#88958513,transparent 68%)}
.rv-heading{text-align:center;display:flex;flex-direction:column;gap:6px;justify-content:center;min-width:0}
.rv-heading strong{font-size:17px;font-weight:700;color:#e4e9dc}.rv-heading>span{font-size:12px;color:#aebeae;line-height:1.4}
.rv-workbench{position:relative;min-height:0;display:grid;place-items:center;container-type:size;isolation:isolate}
.rv-drum-wrap{width:min(290px,90cqw,90cqh);aspect-ratio:1;position:relative;filter:drop-shadow(0 16px 14px #071b1877)}
.rv-drum{position:relative;box-sizing:border-box;width:100%;height:100%;border:3px solid #73857e;border-radius:50%;background:repeating-conic-gradient(from 12deg,#ffffff03 0deg 1deg,transparent 1deg 5deg),conic-gradient(#68746f,#293b36 14%,#8a9489 27%,#2b3b34 42%,#172820 55%,#6b7970 77%,#68746f);box-shadow:inset 0 0 0 6px #101f1977,inset 0 0 0 8px #9ca99833,inset 0 -12px 18px #0d191b88}
.rv-drum:before{content:'';position:absolute;inset:10px;border:1px solid #e6ebdd25;border-radius:50%;pointer-events:none}
.rv-hub{position:absolute;left:50%;top:50%;translate:-50% -50%;width:18%;height:18%;border-radius:50%;background:linear-gradient(140deg,#aeb7a8,#45564c 40%,#263c30 65%,#7d8c7d);box-shadow:0 2px 4px #0008,inset 0 0 0 2px #b6c1ad55;display:grid;place-items:center}.rv-hub i{width:30%;height:30%;border-radius:50%;background:#21372e;box-shadow:inset 0 1px 3px #0009}
.rv-chamber{position:absolute;left:var(--x);top:var(--y);translate:-50% -50%;width:23%;aspect-ratio:1;padding:0;border-radius:50%;border:2px solid #7b897c;background:radial-gradient(circle at 50% 62%,#283b31,#0d1c18 70%);box-shadow:inset 0 3px 8px #0008,0 1px 0 #dce1cb33;display:grid;place-items:center;cursor:pointer;touch-action:none;color:#c0cbb7;-webkit-tap-highlight-color:transparent}
.rv-chamber:disabled{opacity:1;cursor:default}.rv-chamber small{position:absolute;bottom:-16px;font-size:10px;font-weight:600;color:#d3ddc8;line-height:1}.rv-chamber-label{font-size:25px;font-weight:400;line-height:1;color:#94a591}
.rv-chamber:not(:disabled):hover,.rv-chamber.rv-drop-target{border-color:#e2d1a4;box-shadow:0 0 0 3px #dec28a33,inset 0 3px 8px #0006}
.rv-chamber:focus-visible,.rv-cartridge:focus-visible,.rv-clear:focus-visible,.rv-trigger:focus-visible{outline:2px solid #d9e7ac;outline-offset:4px}
.rv-base{display:grid;place-items:center;width:85%;height:85%;border-radius:50%;background:conic-gradient(#f3dda0,#a7894f,#d9c086,#79623d,#e5cd90,#f3dda0);box-shadow:inset 0 0 0 3px #e3c98f,inset 0 0 0 4px #927444,0 2px 4px #0009;animation:rv-seat .18s ease-out}
.rv-base i{width:30%;height:30%;border:1px solid #776343;border-radius:50%;background:linear-gradient(135deg,#d6c6a5,#968363)}
.rv-chamber.is-next{border-color:#d3e2a3;box-shadow:0 0 0 3px #d3e2a32b,inset 0 3px 8px #0008}
.rv-chamber.is-empty{border-color:#adc292;background:#314c35}.rv-chamber.is-empty .rv-chamber-label{color:#d7e7ad;font-size:20px}.rv-chamber.is-hit{border-color:#cd8b79;box-shadow:0 0 0 3px #d97e6730}
.rv-tray{display:flex;align-items:center;justify-content:center;gap:16px;min-width:0;background:#071d172b;border-radius:14px;padding:4px 14px;border:1px solid #829d8020}
.rv-tray>span{font-size:12px;white-space:nowrap;color:#beccb3}.rv-cartridges{display:flex;gap:8px;height:100%;align-items:center}
.rv-cartridge{width:40px;height:54px;display:grid;place-items:center;padding:0;border:0;background:transparent;border-radius:9px;touch-action:none;cursor:grab}.rv-cartridge:disabled{opacity:.16;cursor:default}.rv-cartridge:not(:disabled):hover{background:#e3d4ae0d;transform:translateY(-2px)}
.rv-casing{display:block;position:relative;width:18px;height:40px;border-radius:6px 6px 2px 2px;background:linear-gradient(90deg,#7f663d,#efd69b 28%,#bc9e67 64%,#765c35);box-shadow:inset 0 1px 0 #f6e2b8,2px 3px 3px #0004;pointer-events:none}.rv-casing:before{content:'';position:absolute;top:0;left:0;right:0;height:11px;border-radius:6px 6px 0 0;background:linear-gradient(90deg,#786b55,#cdc2a2 35%,#827353);border-bottom:1px solid #675238}.rv-casing:after{content:'';position:absolute;bottom:0;left:-2px;right:-2px;height:4px;border-radius:2px;background:linear-gradient(90deg,#927345,#edda9f,#a98c57)}
.rv-clear{border:0;background:transparent;color:#d6dfcd;font-size:12px;padding:10px 6px;min-height:44px;cursor:pointer;white-space:nowrap}.rv-clear:disabled{opacity:.35;cursor:default}
.rv-payout{display:flex;align-items:center;justify-content:space-between;width:min(100%,400px);justify-self:center;padding:0 6px;box-sizing:border-box;color:#b6c7b1;font-size:12px;line-height:1.4}.rv-payout small{display:block;font-size:11px}.rv-payout strong{display:flex;align-items:center;gap:7px;color:#e1eacb;font-size:24px;font-variant-numeric:tabular-nums}.rv-payout .funds-mark{width:20px;height:20px}.is-lost .rv-payout strong{color:#e4a895}.is-won .rv-payout strong{color:#d4e8a3}
.rv-trigger{position:absolute;inset:0 24% 0 -3%;border:0;padding:0;background:none;cursor:pointer;border-radius:16px}.rv-trigger:disabled{opacity:1;cursor:default}.rv-trigger .revolver-side{width:min(100cqw,150cqh);translate:-50% -50%}.rv-table.is-playing .rv-drum-wrap{width:min(180px,34cqw,66cqh);margin-left:auto;margin-right:1%}.rv-table.is-playing .rv-chamber small{bottom:-13px;font-size:9px}.rv-table.is-playing .rv-chamber-label{font-size:17px}.rv-table.is-playing .rv-heading{position:relative;z-index:1}
.rv-progress{display:flex;gap:9px;align-items:center;justify-content:center}.rv-progress span{display:grid;place-items:center;border-radius:50%;width:26px;height:26px;border:1px solid #67826e66;color:#8eab95;font-size:11px;box-sizing:border-box}.rv-progress .is-empty{color:#d3e6a6;background:#6a8c5138}.rv-progress .is-hit{color:#ecc3ac;background:#9d584c66}.rv-progress .is-next{color:#e5eccc;border-color:#c7d99d}
.rv-drag-ghost{position:fixed;z-index:2000;pointer-events:none;translate:-50% -50%;filter:drop-shadow(0 7px 6px #0006);transform:rotate(-12deg)}
.rv-preview-cases{position:absolute;bottom:18%;left:44%;display:flex;gap:10px;transform:rotate(28deg)}.rv-preview-cases .rv-casing{width:12px;height:29px}.rv-preview-cases .rv-casing:last-child{transform:translateY(5px)}
@keyframes rv-seat{from{transform:scale(1.25);opacity:.3}to{transform:scale(1);opacity:1}}
@media(prefers-reduced-motion:reduce){.rv-base{animation:none}.rv-cartridge{transition:none}}

.rv-illustration{width:100%;height:100%;display:block;overflow:visible;filter:drop-shadow(0 12px 8px #081c1660)}
.rv-trigger .rev-muzzle{left:90%;top:35%;width:10%;height:14%}.rv-trigger .rev-smoke{left:90%;top:35%}
.revolver-art .revolver-side{width:min(96cqw,144cqh)}

.rv-chamber[data-rv-slot="0"]{--x:50%;--y:17%}
.rv-chamber[data-rv-slot="1"]{--x:78.579%;--y:33.5%}
.rv-chamber[data-rv-slot="2"]{--x:78.579%;--y:66.5%}
.rv-chamber[data-rv-slot="3"]{--x:50%;--y:83%}
.rv-chamber[data-rv-slot="4"]{--x:21.421%;--y:66.5%}
.rv-chamber[data-rv-slot="5"]{--x:21.421%;--y:33.5%}

/* Independent illustration and cylinder regions prevent overlapping hit targets. */
.rv-table{grid-template-rows:42px minmax(0,1fr) 66px 62px;gap:10px;padding:6px 16px 8px}
.rv-workbench,.rv-table.is-playing .rv-workbench{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:20px;padding:0;align-items:stretch}
.rv-trigger{position:relative;inset:auto;min-width:0;min-height:0;width:100%;height:100%;opacity:1;touch-action:manipulation;align-self:stretch}
.rv-trigger .revolver-side{width:min(91cqw,180cqh);aspect-ratio:51/26;translate:-50% -50%}
.rv-drum-area{min-width:0;min-height:0;display:grid;place-items:center;container-type:size;width:100%;height:100%;align-self:stretch;justify-self:stretch}
.rv-drum-wrap,.rv-table.is-playing .rv-drum-wrap{width:min(91cqw,88cqh,284px);margin:0;aspect-ratio:1}
.rv-drum{background:linear-gradient(145deg,#758579,#3e5348 40%,#223a2e 72%,#566f5c);border-color:#92a28a;box-shadow:inset 0 0 0 6px #152e2277,inset 0 0 0 8px #b4c1a43b,0 8px 18px #071b1844;transform:rotate(var(--rv-turn,0deg))}
.rv-drum[data-rv-turn="1"]{--rv-turn:-60deg;--rv-counter:60deg}.rv-drum[data-rv-turn="2"]{--rv-turn:-120deg;--rv-counter:120deg}.rv-drum[data-rv-turn="3"]{--rv-turn:-180deg;--rv-counter:180deg}.rv-drum[data-rv-turn="4"]{--rv-turn:-240deg;--rv-counter:240deg}.rv-drum[data-rv-turn="5"]{--rv-turn:-300deg;--rv-counter:300deg}
.rv-chamber-label{transform:rotate(var(--rv-counter,0deg))}
.rv-trigger-piece{transform-box:fill-box;transform-origin:50% 0}
.rv-trigger .rev-muzzle{left:97%;top:27%;width:9%;height:18%}.rv-trigger .rev-smoke{left:97%;top:27%}
.rv-tray{gap:12px}.rv-cartridges{gap:3px}.rv-cartridge{width:44px;height:52px}
.rv-tray [data-rv-reset]{border:1px solid #9cae7d77;border-radius:10px;background:#53653c44;font-weight:650;padding:10px 12px;color:#e0e9c7}
.stage-revolver{grid-template-rows:25px minmax(0,1fr)!important;gap:10px!important}
.stage-revolver>.arcade-result:empty{display:none}
.rv-chamber{width:24%}
.rv-chamber.is-fired{border-color:#efaa8e;box-shadow:0 0 0 4px #d77a604d,inset 0 0 0 2px #e8a48a}
.rv-chamber.is-covered{background:linear-gradient(140deg,#667b69,#354d3e 65%,#263e32);box-shadow:inset 0 0 0 4px #253d3066,inset 0 1px #c2cbb344,0 1px 2px #071a1655;border-color:#7e947a}
.rv-chamber.is-covered:after{content:'';position:absolute;inset:21%;border-radius:50%;border:1px solid #a9bb9628}
.rv-chamber.is-empty{background:radial-gradient(circle,#081b13 36%,#203c2b 70%);border-color:#96b082;box-shadow:inset 0 3px 9px #020c08bb}
.rv-chamber.is-next{border-color:#d4e6a6;box-shadow:0 0 0 3px #d3e2a32b,inset 0 2px 4px #11271b66}
.rv-progress span{width:12px;height:12px;border-radius:50%;font-size:0}
.rv-progress .is-empty{background:#a5be8d;border-color:#a5be8d}.rv-progress .is-hit{background:#c7826c;border-color:#c7826c}
.rv-progress .is-next{box-shadow:0 0 0 3px #c7d99d22}
.rv-payout{width:100%;max-width:540px;padding:8px 12px;display:grid;grid-template-columns:1fr 1fr;gap:16px;border-radius:12px;background:#0d251c99;align-items:center}
.rv-total,.rv-next{display:flex;flex-direction:column;gap:2px;min-width:0}.rv-total>span{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.rv-next{align-items:flex-end;text-align:right}.rv-payout strong{font-size:22px;line-height:1.2;font-variant-numeric:tabular-nums}.rv-next strong{font-size:18px;color:#cad4b4}.rv-payout small{font-size:11px}.rv-payout .funds-mark{flex:none}
.revolver-controls .game-fact strong{white-space:nowrap}.revolver-help{line-height:1.5;margin-top:12px}
.revolver-art .revolver-side{width:min(94cqw,188cqh);aspect-ratio:51/26}
@media(max-width:700px){
 .arcade-page[data-game="revolver"] .stage-revolver{height:560px!important;min-height:560px!important}
 .rv-table{grid-template-rows:40px minmax(0,1fr) 64px 62px;gap:8px;padding:0 0 4px}
 .rv-heading{gap:4px}.rv-heading strong{font-size:16px}.rv-heading>span{font-size:11px;line-height:1.4;max-width:270px;align-self:center}
 .rv-workbench,.rv-table.is-playing .rv-workbench{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,.43fr) minmax(0,.57fr);gap:12px}
 .rv-trigger .revolver-side{width:min(96cqw,196cqh)}
 .rv-drum-wrap,.rv-table.is-playing .rv-drum-wrap{width:min(198px,88cqw,98cqh)}
 .rv-tray{display:grid;grid-template-columns:1fr auto;grid-template-rows:44px 16px;gap:0 8px;padding:2px 8px;border:0;background:#102c2180}
 .rv-cartridges{grid-column:1/-1;justify-content:center;gap:6px;height:44px}.rv-cartridge{width:44px;height:44px}.rv-casing{height:31px;width:16px}
 .rv-tray>span{font-size:11px;justify-self:end}.rv-clear{min-height:24px;padding:2px 6px;font-size:11px}
 .rv-progress{grid-column:1/-1;gap:12px}.rv-progress span{width:12px;height:12px}
 .rv-tray [data-rv-reset]{grid-column:1/-1;justify-self:center;min-height:36px;padding:6px 14px;font-size:12px}
 .rv-table.is-playing .rv-tray{grid-template-rows:18px 36px;align-content:center}
 .rv-table.is-playing:not(.is-lost):not(.is-won) .rv-progress{grid-row:1/3}
 .rv-payout{gap:8px;padding:8px 10px;font-size:11px}.rv-payout strong{font-size:22px}.rv-next strong{font-size:19px}.rv-payout .funds-mark{width:17px;height:17px}
 .rv-preview-cases{display:none}
 .arcade-page[data-game="revolver"] .chicken-quick{gap:8px}
}

@media(max-width:700px){
 .rv-table.is-loading .rv-tray{grid-template-columns:minmax(0,1fr) 52px;grid-template-rows:16px 44px;column-gap:6px}
 .rv-table.is-loading .rv-cartridges{grid-column:1;grid-row:1/3;gap:2px;width:100%}
 .rv-table.is-loading .rv-cartridge{flex:1;min-width:0;max-width:44px}
 .rv-table.is-loading .rv-tray>span{grid-column:2;grid-row:1;justify-self:center}
 .rv-table.is-loading .rv-clear{grid-column:2;grid-row:2;min-height:44px;width:52px;padding:4px}
}

.rv-table.is-lost .rv-next strong,.rv-table.is-won .rv-next strong{color:#b8c7ab;font-size:15px}
@media(max-width:700px){
 .revolver-controls .game-fact,.revolver-controls .revolver-help{display:none}
 .rv-heading>span{color:#c2cfb5}
}
@media(max-width:700px){
 .arcade-page[data-game="revolver"] .chicken-quick>span{display:none}
 .arcade-page[data-game="revolver"] .arcade-quick.chicken-quick{min-height:68px}
}
