/* 1000 × 1777.778 portrait cabinet. Original 1672 × 941 reel art is uniformly scaled. */
.portraitForest,.portraitLogoFallback,.portraitLogoVideo,.portraitFireflies{display:none}
.portraitAwardGroup,.portraitPresentationGroup{display:contents}
html[data-slot-orientation="portrait"] .gameStage{aspect-ratio:9/16;background:#01070b;isolation:isolate;visibility:visible;overflow:clip}
html[data-slot-orientation="portrait"] .portraitForest{display:block;position:absolute;inset:0;z-index:0;pointer-events:none;background:#01070b url('../assets/art/mobile/portrait-forest.webp') center / cover no-repeat}
/* Fade the forest below the opaque root silhouette into the surrounding letterbox. */
html[data-slot-orientation="portrait"] .portraitForest {
  -webkit-mask-image: linear-gradient(to bottom, #000 0, #000 calc(100% - 10cqw), #000c calc(100% - 7cqw), #0006 calc(100% - 4cqw), transparent calc(100% - 2cqw));
  mask-image: linear-gradient(to bottom, #000 0, #000 calc(100% - 10cqw), #000c calc(100% - 7cqw), #0006 calc(100% - 4cqw), transparent calc(100% - 2cqw));
}
/* Extend the matching scene behind the transparent upper cabinet edges; keep the lower scene registration. */
html[data-slot-orientation="portrait"] .isBonus .portraitForest{background-image:url('../assets/art/mobile/portrait-haunted-forest.webp')}
/* Fill the forest from behind the reels through the open edges of the footer. */
html[data-slot-orientation="portrait"] .portraitForest::before,html[data-slot-orientation="portrait"] .portraitForestHaunted{position:absolute;inset:36% 0 0;background-position:center;background-size:cover;background-repeat:no-repeat}
html[data-slot-orientation="portrait"] .portraitForest::before{content:'';background-image:url('../assets/art/mobile/portrait-forest.webp')}
html[data-slot-orientation="portrait"] .portraitForestHaunted{background-image:url('../assets/art/mobile/portrait-haunted-forest.webp');opacity:0;transition:opacity 500ms}
html[data-slot-orientation="portrait"] .isBonus .portraitForestHaunted{opacity:1}
html[data-slot-orientation="portrait"] #gameCanvas{z-index:3}
html[data-slot-orientation="portrait"] :is(.reelBackdrop,.reelSideEdge,.fairyFootShrub,.lanternGlow,.moonGlow,.owlAnimation,.paylineRail,.orientationHint,.sceneVignette,#fairyAura,#ambientMotes){display:none!important}
/* Source1536x592: visible artworkx34..1520,y110..422.
   Uniform scaling keeps every butterfly inside the header; padding is transparent. */
html[data-slot-orientation="portrait"] :is(.portraitLogoFallback,.portraitLogoVideo){display:block;position:absolute;left:2.44921875%;top:-6.33177083cqw;width:94%;height:auto;aspect-ratio:1536/592;pointer-events:none;z-index:5;opacity:0;visibility:hidden;transform:none}
html[data-slot-orientation="portrait"] .portraitLogoFallback.isReady.isSelected{opacity:1;visibility:visible;transition:opacity 180ms ease}
/* Hide the still during motion so moving butterflies cannot leave a second copy. */
html[data-slot-orientation="portrait"] .portraitLogoFallback.isReady.isSelected.isCovered{opacity:0}
html[data-slot-orientation="portrait"] .portraitLogoVideo{z-index:6;transition:opacity 180ms ease,visibility 0s linear 180ms}
html[data-slot-orientation="portrait"] .portraitLogoVideo.isReady.isPlaying{opacity:1;visibility:visible;transition:opacity 180ms ease,visibility 0s linear 0s}
/* Let the authored flames extend into the top letterbox; other cabinet edges stay clipped. */
html[data-slot-orientation="portrait"] .gameStage.isBonus{overflow:visible;clip-path:inset(-6.4cqw 0 0)}
/* Gate and mushroom overlays cover the full header, including its flame overflow. */
html[data-slot-orientation="portrait"] .gameStage.isBonus:has(:is(#bonusIntro,#mushroomScene):not([hidden])){overflow:clip;clip-path:none}
html[data-slot-orientation="portrait"] :is(#logoAnimation,#bonusLogoAnimation){display:none!important}
html[data-slot-orientation="portrait"] .bonusRain{inset:auto;left:0;top:49.5%;width:100%;height:18%;object-fit:cover;z-index:1;mask-image:linear-gradient(transparent,#000 20% 85%,transparent)}
html[data-slot-orientation="portrait"] .fairyCharacter,html[data-slot-orientation="portrait"] .gameStage.isBonus .fairyCharacter{inset:auto;left:-1%;top:25%;width:102%;height:81.4725%;transform:none;z-index:1;contain:layout style;clip-path:inset(0 0 47.835% 0)}
html[data-slot-orientation="portrait"] .fairyCharacter::before{display:none}
html[data-slot-orientation="portrait"] .fairyFigureRoot{transform:none!important}
/* Align the taller base still with the movie headshot for static/unsupported-video fallback. */
html[data-slot-orientation="portrait"] .fairyVisualStackBase .fairyFigureFallback{transform:translateY(6.4554%)}
html[data-slot-orientation="portrait"] .fairyFigureVideo{transform:none}
html[data-slot-orientation="portrait"] .fairyFigureBonusVideo{transform:none;clip-path:none}
html[data-slot-orientation="portrait"] .portraitFireflies{display:block;position:absolute;z-index:0;left:0;top:51%;width:100%;height:15%;pointer-events:none;overflow:hidden}
.portraitFireflies i{position:absolute;left:var(--x);top:var(--y);width:.75cqw;aspect-ratio:1;border-radius:50%;background:#b6fff0;box-shadow:0 0 1.1cqw .3cqw #65eaff70;animation:woodland-drift var(--duration) var(--delay) ease-in-out infinite alternate}
@keyframes woodland-drift{0%{transform:translate3d(0,3cqw,0);opacity:.15}50%{opacity:.65}100%{transform:translate3d(3cqw,-6cqw,0);opacity:.25}}
/* Retain the original gate silhouette: crop at the outside, never squeeze the carving. */
html[data-slot-orientation="portrait"] .bonusGateLeaf img{object-fit:cover}
html[data-slot-orientation="portrait"] .bonusGateLeafLeft img{object-position:right center}
html[data-slot-orientation="portrait"] .bonusGateLeafRight img{object-position:left center}
html[data-slot-orientation="portrait"] :is(.portraitAwardGroup,.portraitPresentationGroup){display:grid;place-items:center;position:absolute;inset:0;z-index:5;pointer-events:none}
html[data-slot-orientation="portrait"] .portraitPresentationGroup .presentationCard{pointer-events:auto}
html[data-slot-orientation="portrait"] .bonusAwardPlaque{width:96cqw;animation:none!important;transform:translate(-50%,-50%);filter:none}
html[data-slot-orientation="portrait"] .bonusAwardCanvas{inset:auto;left:calc(50% - 82.75862cqw);top:calc(50% - 46.57684cqw);width:165.51724cqw;height:93.15368cqw;animation:none!important}
html[data-slot-orientation="portrait"] .bonusIntro:is([data-phase="popup"],[data-phase="fade"]) :is(.bonusAwardPlaque,.bonusAwardCanvas){opacity:1}
html[data-slot-orientation="portrait"] .bonusIntro[data-phase="popup"] .portraitAwardGroup{animation:portrait-plaque-arrive 680ms cubic-bezier(.16,.88,.24,1.08) both}
html[data-slot-orientation="portrait"] .bonusIntro[data-phase="fade"] .portraitAwardGroup{animation:portrait-plaque-out var(--bonus-fade-time) ease-in both}
@keyframes portrait-plaque-arrive{from{opacity:0;transform:translateY(6cqw) scale(.85)}to{opacity:1;transform:none}}
@keyframes portrait-plaque-out{to{opacity:0;transform:translateY(-4cqw) scale(.95)}}
html[data-slot-orientation="portrait"] .bigWinCanvas{inset:auto;left:-13.7%;top:calc(50% - 35.85cqw);width:127.4%;height:71.7cqw}
html[data-slot-orientation="portrait"] .presentationOverlay.isBonusSummary .presentationCard{width:96cqw;animation:none}
html[data-slot-orientation="portrait"] .presentationOverlay.isBonusSummary .bigWinCanvas{left:calc(50% - 82.75862cqw);top:calc(50% - 46.57684cqw);width:165.51724cqw;height:93.15368cqw;animation:none}
html[data-slot-orientation="portrait"] .presentationOverlay.isBonusSummary .portraitPresentationGroup{animation:portrait-plaque-arrive 560ms cubic-bezier(.16,.88,.24,1.08) both}
html[data-slot-orientation="portrait"] .presentationCard{width:90%;min-height:0;padding:8cqw 6cqw;border-radius:4cqw}
html[data-slot-orientation="portrait"] :is(#presentationKicker,#presentationCopy){font-size:3.6cqw}
html[data-slot-orientation="portrait"] #presentationTitle{font-size:8cqw}
html[data-slot-orientation="portrait"] #presentationValue{font-size:8cqw}
html[data-slot-orientation="portrait"] #presentationFairy{display:none}
html[data-slot-orientation="portrait"] :is(#presentationContinue,.skipPresentationButton,.bonusIntroSkip){min-height:44px;font-size:14px;padding:10px 18px}
html[data-slot-orientation="portrait"] #presentationContinue{margin-top:5cqw}
html[data-slot-orientation="portrait"] .bonusIntroSkip{z-index:8}
html[data-slot-orientation="portrait"] .presentationBurst{width:120%;aspect-ratio:1;height:auto}
html[data-slot-orientation="portrait"] .toast{font-size:12px;max-width:90%;bottom:37%;padding:10px 14px;z-index:180}
@media(prefers-reduced-motion:reduce){.portraitFireflies i{animation:none;opacity:.3}html[data-slot-orientation="portrait"] .portraitAwardGroup,html[data-slot-orientation="portrait"] .portraitPresentationGroup{animation:none!important}}
.portraitMeters,.portraitConsole{display:none}
html[data-slot-orientation="portrait"] .portraitConsole{display:block;position:absolute;left:0;top:64.8%;width:100%;height:auto;z-index:9;pointer-events:none}
html[data-slot-orientation="portrait"] .hud{z-index:21}
html[data-slot-orientation="portrait"] .presentationOverlay.isBigWin .portraitPresentationGroup .presentationCard{pointer-events:none}
html[data-slot-orientation="portrait"] .skipPresentationButton{z-index:8}
html[data-slot-orientation="portrait"] #coinFx{inset:auto;left:-16.088328%;top:4.21875%;width:131.861199%;height:41.744578%;object-fit:fill}
/* The expanded bitmap covers the cabinet; native coin coordinates remain centered. */
html[data-slot-orientation="portrait"] .presentationCoinFx{inset:auto;left:50%;top:50%;width:calc(100% * 1672 / 941);height:auto;transform:translate(-50%,-50%)}


.portraitUpperCabinet,.portraitReelGrid{display:none}
html[data-slot-orientation="portrait"] :is(.sceneBackground,.sceneForeground){display:none!important}
html[data-slot-orientation="portrait"] .portraitUpperCabinet{display:block;position:absolute;left:0;top:5.625%;width:100%;height:auto;z-index:2;pointer-events:none}
html[data-slot-orientation="portrait"] #gameCanvas{inset:auto;left:-10.318062814486067%;top:4.841719831175428%;width:120.42006092635306%;height:38.121915967872916%;transform:none}
html[data-slot-orientation="portrait"] .portraitReelGrid{display:block;position:absolute;left:7.471264367816092%;top:10.959051724000943%;width:85.05747126436782%;height:25.36059446959452%;z-index:2;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 calc(20% - 1px),#a98b364a calc(20% - 1px) 20%),repeating-linear-gradient(transparent 0 calc(33.333333% - 1px),#9f843b38 calc(33.333333% - 1px) 33.333333%)}

