/* Cinematic artwork is split exactly at the supplied door's central seam. */
#transition.snake-cinematic{z-index:70;isolation:isolate;container-type:inline-size;background:transparent}
#transition.snake-cinematic>.transition-door,#transition.snake-cinematic>.transition-medallion{display:none}
.snake-door-surface{position:absolute;inset:0;z-index:1;will-change:transform;pointer-events:none}
.snake-cinematic-door{position:absolute;top:0;width:50%;height:100%;overflow:hidden;will-change:transform}
.snake-cinematic-door.left{left:0;width:var(--door-left-width,50%)}
.snake-cinematic-door.right{right:0;width:var(--door-right-width,50%)}
.snake-cinematic-door-art{position:absolute;top:0;width:200%;height:100%;max-width:none;object-fit:fill;user-select:none;pointer-events:none}
.snake-cinematic-door.left .snake-cinematic-door-art{left:0;width:var(--door-left-art-width,200%)}
.snake-cinematic-door.right .snake-cinematic-door-art{right:0;width:var(--door-right-art-width,200%)}
.snake-chain-sign{position:absolute;z-index:5;top:0;left:50%;width:min(48%,800px);aspect-ratio:1;transform-origin:50% 0;will-change:transform;filter:drop-shadow(0 12px 12px #000a);pointer-events:none}
.snake-chain-sign-art{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}
.snake-chain-copy{position:absolute;left:16%;right:16%;top:55%;height:31%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:9px;color:#fff2c5;text-shadow:0 2px 2px #100b03}
.snake-chain-title{width:100%;height:42px;flex-shrink:0;padding:0;margin:0}
.snake-chain-lead{font:400 clamp(14px,1.32cqw,23px)/1.3 var(--game-font);margin:0}
.snake-chain-detail{font:400 clamp(12px,1.10cqw,19px)/1.45 var(--game-font);margin:0;color:#f1dba6}
.snake-chain-emblems{display:flex;align-items:center;justify-content:center;gap:42px;height:66px;flex-shrink:0}
.snake-chain-snake{height:66px;width:66px;display:block;background-size:200% 200%;background-position:0 0}
.snake-chain-net{height:66px;width:66px;object-fit:contain}
.snake-cinematic-live{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:900px){
  #game>#transition.snake-cinematic{position:fixed;inset:0;width:100vw;height:100svh;transform:none}
  .snake-cinematic-door.left,.snake-cinematic-door.right{width:50%}
  .snake-cinematic-door.left .snake-cinematic-door-art,.snake-cinematic-door.right .snake-cinematic-door-art{width:max(100vw,177.6833157svh);height:auto;top:50%;transform:translate(var(--door-source-shift,-50%),-50%)}
  .snake-cinematic-door.left .snake-cinematic-door-art{left:100%;right:auto}
  .snake-cinematic-door.right .snake-cinematic-door-art{right:auto;left:0}
  .snake-chain-sign{width:min(100%,620px);top:0}
  .snake-chain-copy{left:14%;right:14%;top:57%;height:29%;gap:3px}
  .snake-chain-title{height:18px}
  .snake-chain-lead{font-size:clamp(12px,2.9vw,17px)}
  .snake-chain-detail{font-size:clamp(11px,2.8vw,15px)}
  .snake-chain-emblems{display:none}
  .snake-chain-snake,.snake-chain-net{height:38px;width:38px}
}

/* The same chained sign becomes an illustrated payout panel for the finale. */
.snake-chain-copy.snake-chain-winnings{gap:9px}
.snake-chain-winnings .snake-finale-title{height:70px;display:flex;align-items:center;justify-content:center}
.snake-finale-title-art{display:block;width:100%;height:100%;object-fit:contain}
.snake-finale-amount{display:flex;align-items:center;justify-content:center;width:100%;height:96px;margin:0;flex-shrink:0;filter:drop-shadow(0 2px 3px #0008)}
.snake-finale-multiplier{display:flex;align-items:center;justify-content:center;width:90%;height:24px;margin:0;flex-shrink:0}
@media(max-width:900px){
  .snake-chain-copy.snake-chain-winnings{gap:3px}
  .snake-chain-winnings .snake-finale-title{height:clamp(28px,8vw,42px)}
  .snake-finale-amount{height:clamp(35px,10vw,54px)}
  .snake-finale-multiplier{height:clamp(11px,3.2vw,18px)}
}

body:has(#transition.snake-cinematic.active)>.dev-tools{visibility:hidden}

.bonus-chain-animal{display:block;width:66px;height:66px;background-size:400% 400%;background-repeat:no-repeat;filter:drop-shadow(0 3px 4px #0009)}

/* Snake discovery keeps all three illustrated outcomes visible on the sign. */
.snake-chain-copy.snake-chain-discovery{gap:min(.538cqw,9px)}
.snake-chain-discovery .snake-chain-title{height:min(2.512cqw,42px)}
.snake-chain-discovery .snake-chain-lead,.snake-chain-discovery .snake-chain-detail{white-space:nowrap}
.snake-chain-discovery .snake-chain-emblems{height:min(4.665cqw,78px);gap:min(1.794cqw,30px)}
.snake-chain-discovery .snake-chain-snake,.snake-chain-discovery .snake-chain-net{width:min(3.948cqw,66px);height:min(3.948cqw,66px)}
.snake-chain-discovery .snake-chain-golden{width:min(4.665cqw,78px);height:min(4.665cqw,78px)}
.snake-chain-golden{width:78px;height:78px;background-position:100% 100%;filter:drop-shadow(0 0 5px #ffdd7655)}
@media(max-width:900px){
  .snake-chain-copy.snake-chain-discovery{top:55%;height:33%;gap:2px}
  .snake-chain-discovery .snake-chain-title{height:clamp(16px,4.4vw,22px)}
  .snake-chain-discovery .snake-chain-lead{font-size:clamp(9.5px,2.65vw,14px);line-height:1.2}
  .snake-chain-discovery .snake-chain-detail{font-size:clamp(10px,2.65vw,14px);line-height:1.2}
  .snake-chain-discovery .snake-chain-emblems{display:flex;height:clamp(34px,10vw,48px);gap:clamp(16px,6vw,28px)}
  .snake-chain-discovery .snake-chain-snake,.snake-chain-discovery .snake-chain-net{height:clamp(30px,8.7vw,42px);width:clamp(30px,8.7vw,42px)}
  .snake-chain-discovery .snake-chain-golden{height:clamp(34px,10vw,48px);width:clamp(34px,10vw,48px)}
}

.snake-chain-winnings.has-stake-return{gap:5px}
.has-stake-return .snake-finale-title{height:60px}
.has-stake-return .snake-finale-amount{height:82px}
.snake-finale-stake-return{margin:0;width:100%;color:#ffe3a1;font:400 clamp(10px,.85cqw,14px)/1.25 var(--game-font);text-align:center;text-wrap:balance}
@media(max-width:900px){.snake-chain-winnings.has-stake-return{gap:3px}.has-stake-return .snake-finale-title{height:clamp(24px,7vw,34px)}.has-stake-return .snake-finale-amount{height:clamp(32px,9vw,46px)}.snake-finale-stake-return{font-size:clamp(8px,2.3vw,12px)}}
