/* Snake uses exact crops of the supplied 1672×941 sanctuary. */
.snake-sanctuary.fl-bonus{position:relative;display:block;isolation:isolate;width:100%;height:100%;min-height:0;padding:0;overflow:hidden;background:#09261d;font-family:var(--game-font);container-type:inline-size}
.snake-sanctuary.fl-bonus::before,.snake-sanctuary.fl-bonus::after{content:none}
.snake-sanctuary *{box-sizing:border-box}
.snake-positioned{left:var(--snake-left);top:var(--snake-top);width:var(--snake-width);height:var(--snake-height)}
.snake-scene-image{position:absolute;inset:0;width:100%;height:100%;z-index:-2;pointer-events:none;user-select:none}
.snake-sr-only,.snake-sanctuary h2.snake-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.snake-mobile-scenery,.snake-mobile-title,.snake-mobile-panel-art,.snake-mobile-board-art,.snake-mobile-legend-title,.snake-mobile-legend-icon{display:none}
.snake-win,.snake-stake,.snake-remaining{position:absolute;margin:0;padding:0;container-type:inline-size;pointer-events:none}
.snake-clean-patch{position:absolute;pointer-events:none}
.snake-win-multiplier,.snake-win-amount,.snake-stake-amount,.snake-star-boost{position:absolute;display:flex;align-items:center;justify-content:center;margin:0;padding:0;text-align:center;font-family:var(--game-font);font-weight:400;line-height:1;color:#fff0c6;white-space:nowrap}
.snake-win-multiplier{font-size:min(30cqw,calc(120cqw / var(--snake-digits)));color:#ffe488;text-shadow:0 2px 1px #713300,0 4px 4px #201600}
.snake-win-multiplier.gold-text>.gold-text-art{width:90%;height:90%}
.snake-win-amount{font-size:min(12.5cqw,calc(102cqw / var(--snake-digits)));text-shadow:0 2px 2px #120e06}
.snake-stake-amount{font-size:min(11.5cqw,calc(103cqw / var(--snake-digits)));text-shadow:0 2px 2px #120e06}
.snake-star-boost{font-size:max(8px,3.1cqw);color:#f9e6a0;text-shadow:0 1px 2px #05190d}
.snake-star-boost[hidden]{display:none}
.snake-remaining-rows{position:absolute;inset:0}
.snake-remaining-row{position:absolute;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff1c2;font-size:8cqw;line-height:1.25;text-shadow:0 2px 3px #070d08}
.snake-remaining-count{display:flex;flex-direction:column;align-items:center}
.snake-remaining-row[data-snake-value="100"],.snake-remaining-row[data-snake-value="0"]{font-size:5.6cqw;letter-spacing:-.03em}
.snake-remaining-row[data-snake-value="100"]{color:#ffe197}
.snake-remaining-row.is-empty{opacity:.55}
.snake-sanctuary .snake-basket-grid{position:absolute;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(6,minmax(0,1fr));gap:0;max-height:none;padding:0}
.snake-sanctuary .snake-pot{position:relative;display:block;isolation:isolate;min-width:0;min-height:0;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;cursor:pointer;touch-action:manipulation;transition:none;opacity:1;overflow:hidden;-webkit-tap-highlight-color:transparent}
.snake-sanctuary .snake-pot:not(:disabled):hover{border:0;background:radial-gradient(ellipse,#ffdb6b2b,transparent 70%);box-shadow:inset 0 0 14px #ffe29b7d}
.snake-sanctuary .snake-pot:focus-visible{outline:3px solid #fff3af;outline-offset:-5px;box-shadow:inset 0 0 0 6px #3b9b48}
.snake-sanctuary .snake-pot:disabled{opacity:1;cursor:default}
.snake-sanctuary .snake-pot:active{transform:none}
.snake-pot-clean{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.snake-closed-basket,.snake-collect-net{position:absolute;z-index:1;inset:3% 3% 4%;width:94%;height:93%;object-fit:contain;pointer-events:none;user-select:none}
.snake-closed-basket{transform-origin:50% 90%;animation:snake-sanctuary-sway var(--snake-sway-duration,8s) ease-in-out var(--snake-sway-delay,0s) infinite}
.snake-collect-net{inset:3%;width:94%;height:94%;filter:drop-shadow(0 3px 3px #0008)}
.snake-pot:hover .snake-closed-basket,.snake-pot:focus .snake-closed-basket,.snake-pot:disabled .snake-closed-basket,.snake-page-hidden .snake-closed-basket,.snake-bonus-host[aria-busy="true"] .snake-closed-basket{animation-play-state:paused}
body.reduced-motion .snake-closed-basket{animation:none;transform:none}
.snake-pot-revealing .snake-collect-net{animation:snake-sanctuary-net .6s cubic-bezier(.18,.95,.3,1.12) both}
@keyframes snake-sanctuary-sway{0%,16%,43%,100%{transform:translateY(0) rotate(0)}22%{transform:translateY(-.6%) rotate(-1.7deg)}29%{transform:translateY(-1%) rotate(1.35deg)}36%{transform:translateY(-.3%) rotate(-.7deg)}}
@keyframes snake-sanctuary-net{from{opacity:0;transform:translateY(-10%) scale(.82)}to{opacity:1;transform:translateY(0) scale(1)}}
.snake-revealed-snake{position:absolute;z-index:1;inset:2% 4% 9%;background-image:var(--snake-icons);background-size:200% 200%;background-position:var(--snake-x) var(--snake-y);background-repeat:no-repeat;filter:drop-shadow(0 4px 3px #0008);pointer-events:none}
.snake-pot-prize{position:absolute;z-index:2;bottom:6%;left:0;width:100%;font:400 clamp(12px,1.53cqw,26px)/1 var(--game-font);color:#fff6cf;text-align:center;text-shadow:-1px -1px 0 #13301a,1px -1px 0 #13301a,-1px 1px 0 #13301a,1px 1px 0 #13301a,0 2px 3px #000;pointer-events:none}
.snake-pot-collect .snake-pot-prize{color:#ff4137}
.snake-pot-golden .snake-revealed-snake{filter:drop-shadow(0 0 6px #ffeab980)}
.snake-pot-revealing .snake-revealed-snake{animation:snake-sanctuary-emerge .75s cubic-bezier(.18,.95,.3,1.2) both}
.snake-pot-revealing .snake-pot-prize{animation:snake-sanctuary-prize .55s .15s ease-out both}
@keyframes snake-sanctuary-emerge{from{transform:translateY(40%) scale(.65);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}
@keyframes snake-sanctuary-prize{from{transform:translateY(7px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(max-width:900px){
  .snake-sanctuary.fl-bonus{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"title title" "win stake" "board board" "remaining remaining";align-items:center;gap:8px 6px;width:100%;height:auto;min-height:100%;padding:12px 12px 18px;overflow:hidden;background:#082b21;container-type:inline-size}
  .snake-scene-image{display:none}
  .snake-mobile-scenery{position:absolute;display:block;z-index:-2;inset:0;width:100%;height:100%;opacity:.72}
  .snake-mobile-title{display:block;grid-area:title;position:relative;align-self:start;width:100%;height:auto;aspect-ratio:820 / 242;margin:0}
  .snake-win,.snake-stake,.snake-remaining{position:relative!important;inset:auto!important;width:100%!important;height:auto!important}
  .snake-win{grid-area:win;aspect-ratio:337 / 323}
  .snake-stake{grid-area:stake;aspect-ratio:337 / 155;align-self:center}
  .snake-mobile-panel-art{display:block;position:absolute;inset:0;width:100%;height:100%}
  .snake-win-multiplier{font-size:min(30cqw,calc(120cqw / var(--snake-digits)))}
  .snake-win-amount{font-size:min(12.5cqw,calc(102cqw / var(--snake-digits)))}
  .snake-stake-amount{font-size:min(11.5cqw,calc(103cqw / var(--snake-digits)))}
  .snake-star-boost{font-size:max(8px,3.6cqw)}
  .snake-sanctuary .snake-basket-grid{position:relative!important;inset:auto!important;grid-area:board;width:100%!important;height:auto!important;aspect-ratio:634 / 627;max-height:none;margin:0;box-shadow:0 4px 14px #0007}
  .snake-mobile-board-art{position:absolute;display:block;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
  .snake-pot-prize{font-size:clamp(12px,4cqw,22px)}
  .snake-pot-collect .snake-pot-prize{font-size:clamp(8px,2cqw,12px)}
  .snake-sanctuary .snake-pot:focus-visible{outline-width:2px;outline-offset:-3px;box-shadow:inset 0 0 0 4px #3b9b48}
  .snake-remaining{grid-area:remaining;display:flex;flex-direction:column;align-items:center;padding:0 5px 9px;border:1px solid #bda15980;border-radius:5px;background:#132017ed;box-shadow:inset 0 0 12px #ab751c22}
  .snake-legend-clean{display:none}
  .snake-mobile-legend-title{display:block;width:75%;height:auto;aspect-ratio:337 / 56;margin:-2px auto 0}
  .snake-remaining-rows{position:relative;inset:auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;gap:3px}
  .snake-remaining-row{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;display:flex;flex-direction:column;justify-content:flex-start;gap:2px;font-size:clamp(12px,3.4cqw,15px);line-height:1.22;min-width:0}
  .snake-mobile-legend-icon{display:block;width:82%;height:auto;aspect-ratio:78 / 63;object-fit:contain}
  .snake-remaining-count{min-height:2.5em;justify-content:center}
  .snake-remaining-row[data-snake-value="100"],.snake-remaining-row[data-snake-value="0"]{font-size:clamp(9px,2.6cqw,12px);letter-spacing:-.04em}
}
body.reduced-motion .snake-pot-revealing .snake-revealed-snake,body.reduced-motion .snake-pot-revealing .snake-pot-prize,body.reduced-motion .snake-pot-revealing .snake-collect-net{animation:none}


/* Action reveals follow Turbo while idle basket sway keeps its natural pace. */
body.turbo-mode .snake-pot-revealing .snake-collect-net{animation-duration:.15s}
body.turbo-mode .snake-pot-revealing .snake-revealed-snake{animation-duration:.1875s}
body.turbo-mode .snake-pot-revealing .snake-pot-prize{animation-duration:.1375s;animation-delay:.0375s}
