/* Keep the entry scene in the exact same containing block as the reels. */
.reels-surface{position:relative;contain:layout paint;isolation:isolate}
.reels-surface>#slot-entry{position:absolute;inset:0;width:100%;height:100%;min-height:0;max-height:100%;overflow:hidden;z-index:25;box-sizing:border-box;backdrop-filter:none;contain:layout paint}
#slot-entry .entry-poster-copy{margin:32px 5% 12px;max-width:65%;max-height:calc(100% - 44px);overflow:auto}
#slot-entry .entry-poster-copy h2{font-size:clamp(26px,4vw,52px);margin:8px 0}
#slot-entry .entry-symbols{margin:10px 0}
#slot-entry .entry-continue{margin-top:12px;animation:entry-button-breathe 3s ease-in-out infinite}
@keyframes entry-button-breathe{50%{transform:translateY(-2px)}}
/* Moving sprites use composited transforms without per-cell blur/filter passes. */
.theme-princess .reel-window{contain:paint}
.theme-princess .rolling .symbol{filter:none;opacity:1}
.theme-princess .symbol .paint-sprite{filter:none}
.theme-princess .rolling .symbol .paint-sprite{animation:none}
.theme-princess .royal-cleared .position-multi{transition:transform .2s,opacity .2s}
.buy-bonus-button{display:grid;place-items:center;gap:3px;background:#805269;color:#ffe2af;border:2px solid #d2a575;border-radius:8px;padding:7px 10px;min-height:52px;font-size:20px;line-height:1}
.buy-bonus-button span{font-size:12px;font-weight:900;white-space:nowrap}.buy-bonus-button:disabled{opacity:.45;cursor:not-allowed}.buy-bonus-button[hidden]{display:none}
.bonus-shop{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:22px 0}
.bonus-package{display:grid;gap:12px;padding:18px 10px;background:#70465f;color:#fff0cc;border:2px solid #ba8a66;border-radius:9px;text-align:center}.bonus-package strong{color:#fff0cc;font-size:19px}.bonus-package span{font-size:14px;line-height:1.4}.bonus-package b{font-size:23px}.bonus-package small{font-size:12px}.bonus-package:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:600px){#slot-entry .entry-poster-copy{max-width:85%}#slot-entry .entry-symbols{display:none}#slot-entry .entry-poster-copy p{font-size:14px}.buy-bonus-button{min-height:45px;padding:5px;font-size:17px}.buy-bonus-button span{font-size:10px}.spin-actions{flex-wrap:wrap;justify-content:flex-end}.bonus-shop{grid-template-columns:1fr}.bonus-package{gap:7px;padding:12px}}
@media(prefers-reduced-motion:reduce){#slot-entry .entry-continue{animation:none}}
/* Revised painted symbols share a quiet rose tile surface. */
.theme-princess .symbol .symbol-art{border-radius:10px}
.theme-princess .symbol[data-symbol="13"] .symbol-caption{font-size:clamp(9px,1vw,13px)}
.theme-princess .symbol.scatter{overflow:hidden;background:#a6748e33}
.theme-princess .symbol.scatter .fs-art{height:100%;max-height:100%;width:auto;max-width:100%;transform:scale(1.09);transform-origin:center}
.theme-princess .symbol.scatter:before{content:'';position:absolute;inset:2px;border-radius:9px;background:conic-gradient(from 35deg,#ff94d4,#96e9e8,#d2acff,#ffe5a1,#ff94d4);padding:2px;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;opacity:.55;pointer-events:none;z-index:3;animation:fs-soft-shimmer 3.4s ease-in-out infinite}
.theme-princess .scatter .symbol-caption{z-index:4;font-size:clamp(18px,2.3vw,28px);bottom:1px;box-shadow:0 1px 4px #44273977}
.theme-princess .rolling .scatter:before{animation:none;opacity:.55}
.royal-projectile .paint-sprite{border-radius:50%}
@keyframes fs-soft-shimmer{50%{opacity:.95}}
@media(prefers-reduced-motion:reduce){.theme-princess .symbol.scatter:before{animation:none}}
/* Anticipation is a white theatrical beam, never a recolor of the symbols. */
.theme-princess .reel-window.anticipating{background:transparent;box-shadow:none;animation:none;filter:none;position:relative}
.theme-princess .reel-window.anticipating:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:5;background:linear-gradient(90deg,transparent 4%,#fff9e810 20%,#fffef03d 50%,#fff9e810 80%,transparent 96%);clip-path:polygon(42% 0,58% 0,100% 100%,0 100%);opacity:.8;animation:princess-spotlight 1.8s ease-in-out infinite}
.theme-princess .reel-window.anticipating:before{content:'';position:absolute;top:0;left:20%;width:60%;height:8px;background:#fff7d5;box-shadow:0 0 15px 5px #fff4d76b;border-radius:50%;z-index:6;pointer-events:none}
@keyframes princess-spotlight{50%{opacity:.5}}
@media(prefers-reduced-motion:reduce){.theme-princess .reel-window.anticipating:after{animation:none}}
.theme-princess .symbol .symbol-art{border-radius:0;background-color:transparent}
.royal-projectile .paint-sprite{border-radius:0}
