/* Design pixels on the uniformly scaled1000×1777.778 portrait cabinet. */
#portraitTurboButton, .portrait-bet-label { display:none; }
html[data-slot-orientation="portrait"] #artboard .cabinet-button {
  display:block; position:absolute; z-index:12;
  left:var(--portrait-x); top:var(--portrait-y); right:auto; bottom:auto;
  width:max(var(--portrait-face-width),calc(44px / var(--slot-cabinet-scale,1)));
  height:max(var(--portrait-face-height),calc(44px / var(--slot-cabinet-scale,1)));
  min-width:0; min-height:0; margin:0; padding:0; border:0;
  border-radius:18%; background:none; background-image:none;
  font-size:0; color:transparent; line-height:1;
  transform:translate(-50%,-50%); transition:none; animation:none;
  filter:none; opacity:1; touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
html[data-slot-orientation="portrait"] #artboard .cabinet-button::before {
  content:""; position:absolute; z-index:1; inset:auto; left:50%; top:50%;
  width:var(--portrait-face-width); height:var(--portrait-face-height);
  background:var(--portrait-face) center/contain no-repeat;
  border:0; border-radius:0; opacity:1; filter:none; box-shadow:none;
  transform:translate3d(-50%,-50%,0); transition:none; animation:none; pointer-events:none;
}
html[data-slot-orientation="portrait"] #artboard .cabinet-button::after { display:none; content:none; }
html[data-slot-orientation="portrait"] #artboard .cabinet-button:active { transform:translate(-50%,-50%); }
html[data-slot-orientation="portrait"] #artboard .cabinet-button:disabled::before { filter:saturate(.55); opacity:.66; }
html[data-slot-orientation="portrait"] #artboard .cabinet-button:focus-visible { outline:3px solid #ffeb91; outline-offset:3px; }
html[data-slot-orientation="portrait"] #artboard #portraitTurboButton {
  --portrait-x:161.412px; --portrait-y:1319.718px;
  --portrait-face-width:150px; --portrait-face-height:72.115px;
  --portrait-face:url('../assets/art/mobile/portrait-turbo-off.webp');
}
/* Only the sprite owns a compositor layer: avoids transient resizing when reels start. */
html[data-slot-orientation="portrait"] #artboard #portraitTurboButton::before { will-change:transform; transform:translate3d(-50%,-50%,0); opacity:1; filter:none; }
html[data-slot-orientation="portrait"] #artboard #portraitTurboButton[aria-pressed="true"] { --portrait-face:url('../assets/art/mobile/portrait-turbo-on.webp'); }
html[data-slot-orientation="portrait"] #artboard #betDownButton {
  --portrait-x:315.889px; --portrait-y:1320.033px;
  --portrait-face-width:81px; --portrait-face-height:81px;
  --portrait-face:url('../assets/art/mobile/portrait-face-minus.webp');
}
html[data-slot-orientation="portrait"] #artboard #betUpButton {
  --portrait-x:684.426px; --portrait-y:1320.033px;
  --portrait-face-width:81px; --portrait-face-height:81px;
  --portrait-face:url('../assets/art/mobile/portrait-face-plus.webp');
}
html[data-slot-orientation="portrait"] #artboard #maxBetButton {
  --portrait-x:838.588px; --portrait-y:1319.087px;
  --portrait-face-width:150px; --portrait-face-height:72.458px;
  --portrait-face:url('../assets/art/mobile/portrait-face-max.webp');
}
html[data-slot-orientation="portrait"] #artboard #menuButton {
  --portrait-x:242.749px; --portrait-y:1528.419px;
  --portrait-face-width:133.039px; --portrait-face-height:133.039px;
  --portrait-face:url('../assets/art/mobile/portrait-menu-insert.webp');
}
html[data-slot-orientation="portrait"] #artboard #autoButton {
  --portrait-x:756px; --portrait-y:1528.419px;
  --portrait-face-width:133.039px; --portrait-face-height:133.039px;
  --portrait-face:url('../assets/art/mobile/portrait-auto-insert.webp');
}
html[data-slot-orientation="portrait"] #artboard #autoButton[data-mode="stop"] { --portrait-face:url('../assets/art/mobile/portrait-auto-stop-insert.webp'); }
html[data-slot-orientation="portrait"] #artboard #spinButton {
  --portrait-x:499.685px; --portrait-y:1515.178px;
  --portrait-face-width:235px; --portrait-face-height:235px;
  --portrait-face:url('../assets/art/ui/spin-idle.png');
}
html[data-slot-orientation="portrait"] #artboard #spinButton:is(.is-spinning,.is-autoplay),
html[data-slot-orientation="portrait"] #artboard.is-autoplay #spinButton { --portrait-face:url('../assets/art/ui/stop-idle.png'); }
html[data-slot-orientation="portrait"] #artboard #autoplayRemainingBadge {
  position:absolute; z-index:18; left:499.685px; top:1515.178px;
  width:64px; height:64px; padding:0; margin:0; box-sizing:border-box;
  display:flex; align-items:center; justify-content:center;
  transform:translate(-50%,-50%); border-radius:7px;
  background:#fff0bc; box-shadow:inset 0 0 6px #d89525;
  color:#2a1a04; text-shadow:none; font:800 34px/1 Arial,sans-serif;
  font-variant-numeric:tabular-nums; pointer-events:none;
}
html[data-slot-orientation="portrait"] #artboard #autoplayRemainingBadge[hidden] { display:none; }
html[data-slot-orientation="portrait"] #artboard .bet-meter {
  left:500px; top:1318.141px; right:auto; bottom:auto;
  width:190px; height:70px; padding:0; margin:0;
  display:flex; flex-direction:column; gap:3px; align-items:center; justify-content:center;
  transform:translate(-50%,-50%); background:none;
}
html[data-slot-orientation="portrait"] #artboard .portrait-bet-label {
  display:block; position:static; margin:0; padding:0;
  font:700 20px/1 Arial,sans-serif; color:#dfc078; letter-spacing:.07em;
}
html[data-slot-orientation="portrait"] #artboard .bet-meter output {
  position:static; inset:auto; width:auto; height:auto; padding:0; margin:0;
  transform:none; max-width:100%; overflow:hidden; color:#fff1c6;
  font:800 35px/1 Arial,sans-serif; letter-spacing:-.02em;
  text-align:center; text-shadow:0 1px 3px #000;
}


/* Native glyph inserts share the cabinet’s painted collar and remain precisely registered. */
html[data-slot-orientation="portrait"] #artboard :is(#menuButton,#autoButton)::before { will-change:transform; }
