#portraitCabinet, #portraitCabinetForeground {display:none;}
#portraitReelViewport {display:contents;}
html[data-slot-orientation="portrait"] #portraitCabinet {display:block;position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;image-rendering:pixelated;}
html[data-slot-orientation="portrait"] #portraitCabinetForeground {display:block;position:absolute;inset:0;width:100%;height:100%;z-index:5;pointer-events:none;image-rendering:pixelated;}
html[data-slot-orientation="portrait"] #gameShell {background:#070022;box-shadow:none;}
html[data-slot-orientation="portrait"] #portraitReelViewport {display:block;position:absolute;left:var(--portrait-reel-x);top:var(--portrait-reel-y);width:var(--portrait-reel-w);height:var(--portrait-reel-h);overflow:hidden;clip-path:inset(.793650794% 0);z-index:2;background:transparent;}
html[data-slot-orientation="portrait"] #portraitReelViewport #reelCanvas,
html[data-slot-orientation="portrait"] #portraitReelViewport #reelFrameForeground {visibility:visible;position:absolute;inset:auto;left:-37.872340426%;top:-43.253968254%;width:177.872340426%;height:186.706349206%;max-width:none;max-height:none;image-rendering:pixelated;}
html[data-slot-orientation="portrait"] #portraitReelViewport #reelFrameForeground {display:block;}
html[data-slot-orientation="portrait"] #devButton {display:none;}
/* Add headroom for the thinking arc while preserving the original actor origin and stage bottom. */
html[data-slot-orientation="portrait"] .draculaStage {left:0;top:42.2%;width:100%;height:28.5%;z-index:4;clip-path:none;overflow:hidden;}
html[data-slot-orientation="portrait"] .draculaWorld {inset:0;width:100%;height:100%;}
html[data-slot-orientation="portrait"] .draculaEncounter {left:19%;top:5.263157895%;width:62%;height:auto;aspect-ratio:1;}
html[data-slot-orientation="portrait"] .draculaThinkingMarks {top:-3%;left:48%;width:18%;}
html[data-slot-orientation="portrait"] .bonusParty {top:47%;height:22.5%;bottom:auto;overflow:hidden;z-index:3;}
html[data-slot-orientation="portrait"] .bonusPartyLeft {left:12%;top:0;width:32%;height:auto;aspect-ratio:175/185;mask-image:linear-gradient(to bottom,transparent,black 9%,black 100%),linear-gradient(to right,transparent,black 9%,black 91%,transparent);mask-composite:intersect;}
html[data-slot-orientation="portrait"] .bonusPartyRight {right:10%;top:0;width:35%;height:auto;aspect-ratio:168/175;mask-image:linear-gradient(to bottom,transparent,black 9%,black 100%),linear-gradient(to right,transparent,black 9%,black 91%,transparent);mask-composite:intersect;}
html[data-slot-orientation="portrait"] .bonusPartyLeft canvas {position:absolute;left:0;top:-105.405405%;width:233.142857%;height:298.378378%;}
html[data-slot-orientation="portrait"] .bonusPartyRight canvas {position:absolute;left:-133.333333%;top:-131.428571%;width:233.333333%;height:333.714286%;}
/* Native bonus header holders follow the same uniform projection as the reels. */
html[data-slot-orientation="portrait"] #bonusHud {z-index:6;}
html[data-slot-orientation="portrait"] #bonusLevel {left:14.808362369%;top:4.899825784%;width:10.6271777%;height:2.155923345%;box-sizing:border-box;padding:0 0 0 .125em;font:400 calc(34 * var(--slot-cabinet-scale) * 1px)/1.125 'Micro Pixel',monospace;font-synthesis:none;letter-spacing:0;text-shadow:none;}
html[data-slot-orientation="portrait"] #potionMeter {left:31.707%;top:2.695%;width:36.847%;height:5.194%;}
html[data-slot-orientation="portrait"] #ignitionMeter {left:72.735%;top:4.802%;width:19.512%;height:2.696%;}
html[data-slot-orientation="portrait"] .portraitBonus #balanceMeter,
html[data-slot-orientation="portrait"] .portraitBonus #winMeter {visibility:hidden;}
html[data-slot-orientation="portrait"] .bonusStatsPanel {left:0;top:0;width:100%;height:100%;aspect-ratio:auto;}
html[data-slot-orientation="portrait"] .bonusStatsPanel>img {display:none;}
/* The bonus readouts use the exact black wells in lower-cabinet-v4 (1182×1330).
   The two-word labels wrap at a natural space; numerals retain normal widths.
   Reserve seven compact-credit characters so larger wins also fit at 320px. */
html[data-slot-orientation="portrait"] .bonusStat {
 --bonus-meter-width:312.182741117;
 --bonus-label-size:max(8px,calc(22 * var(--slot-cabinet-scale) * 1px));
 --bonus-meter-gap:max(3px,calc(10 * var(--slot-cabinet-scale) * 1px));
 --bonus-meter-padding:max(2px,calc(7 * var(--slot-cabinet-scale) * 1px));
 top:37.937857143%;height:3.314464286%;width:31.218274112%;
 transform:none;box-sizing:border-box;display:flex;flex-direction:row;
 align-items:center;justify-content:space-between;gap:var(--bonus-meter-gap);
 padding:0 var(--bonus-meter-padding);color:#ffe739;
 font:400 var(--bonus-label-size)/1 'Micro Pixel',monospace;
 font-synthesis:none;letter-spacing:0;text-shadow:none;
}
html[data-slot-orientation="portrait"] .bonusFreeSpins {left:10.913705584%;right:auto;}
html[data-slot-orientation="portrait"] .bonusTotalWin {left:58.121827411%;right:auto;width:31.133671743%;--bonus-meter-width:311.336717428;}
html[data-slot-orientation="portrait"] .bonusStat span {
 flex:0 0 calc(5 * .75 * var(--bonus-label-size));white-space:normal;
 text-align:left;font:inherit;line-height:1;
}
html[data-slot-orientation="portrait"] .bonusStat strong {
 flex:1 1 auto;min-width:0;text-align:right;white-space:nowrap;color:#fff7be;
 font:400 min(max(13px,calc(36 * var(--slot-cabinet-scale) * 1px)),calc((var(--bonus-meter-width) * var(--slot-cabinet-scale) * 1px - 2 * var(--bonus-meter-padding) - 5 * .75 * var(--bonus-label-size) - var(--bonus-meter-gap)) / 5.25))/1.125 'Micro Pixel',monospace;
 font-synthesis:none;font-variant-numeric:tabular-nums;letter-spacing:0;text-shadow:none;
}
html[data-slot-orientation="portrait"] .flyingPotion {width:19%;}

/* One native video plane preserves the supplied boomerang and matches the still's crop. */
#portraitPartyVideo {display:none;}
html[data-slot-orientation="portrait"] #portraitPartyVideo {display:block;position:absolute;z-index:1;object-fit:cover;object-position:center;pointer-events:none;image-rendering:pixelated;opacity:0;transition:opacity 140ms linear;}
html[data-slot-orientation="portrait"] #portraitPartyVideo.isReady {opacity:1;}
html[data-slot-orientation="portrait"] #portraitPartyVideo[hidden] {display:none;}
