/* Genuine portrait framing; native page content and all existing controls stay intact. */
.portraitPanelShade,.portraitPanelClose,#portraitPaytableSelect { display:none; }
html:not([data-slot-orientation="portrait"]) :is(.portraitPanelShade,.portraitPanelClose,#portraitPaytableSelect) { display:none!important; }
html[data-slot-orientation="portrait"] .portraitPanelShade { display:block;position:fixed;z-index:190;inset:0;background:#070809d9;backdrop-filter:blur(5px); }
html[data-slot-orientation="portrait"] :is(#gameMenu,#autoplayMenu,#qaMenu) {
  --portrait-panel-width:min(96vw,420px,calc((100dvh - 24px) * .8));
  position:fixed;z-index:200;left:50%;top:50%;right:auto;bottom:auto;
  width:var(--portrait-panel-width);height:calc(var(--portrait-panel-width) * 1402 / 1122);max-width:none;max-height:none;
  padding:calc(var(--portrait-panel-width) * .215) calc(var(--portrait-panel-width) * .15) calc(var(--portrait-panel-width) * .14);
  border:0;border-radius:0;display:flex;flex-direction:column;justify-content:center;gap:7px;
  background:url('../assets/art/ui/menu-popup-frame.png') center / contain no-repeat;
  transform:translate(-50%,-50%);animation:none;filter:drop-shadow(0 12px 22px #000b);box-shadow:none;overflow:visible;
}
html[data-slot-orientation="portrait"] :is(#gameMenu,#autoplayMenu,#qaMenu) h2 { margin:0 0 7px;font:700 clamp(23px,6.5vw,30px)/1.1 Georgia,serif;letter-spacing:.015em;color:#ffe39b;text-align:center; }
html[data-slot-orientation="portrait"] :is(#gameMenu,#autoplayMenu,#qaMenu) button { min-width:0;min-height:44px;padding:8px 9px;margin:0;border-width:1px;border-radius:7px;font-size:14px;line-height:1.2; }
html[data-slot-orientation="portrait"] #gameMenu > button { width:100%; }
html[data-slot-orientation="portrait"] #gameMenu > p { display:none; }
html[data-slot-orientation="portrait"] :is(#gameMenu,#autoplayMenu) button[aria-pressed="true"] { color:#d5fbff;border-color:#6bdde8;box-shadow:inset 0 0 0 1px #183b3f,0 0 8px #45e8ff33; }
html[data-slot-orientation="portrait"] :is(#autoplayMenu,#qaMenu) p { margin:0 0 7px;font-size:12px;line-height:1.4;color:#e5cba0;text-align:center; }
html[data-slot-orientation="portrait"] #autoplayMenu .choice-grid { margin:0;gap:8px; }
html[data-slot-orientation="portrait"] #autoplayMenu .choice-grid button { min-height:48px;font-size:22px; }
html[data-slot-orientation="portrait"] #autoplayCancelButton { margin-top:3px; }
html[data-slot-orientation="portrait"] :is(#gameMenu,#autoplayMenu,#qaMenu) > .portraitPanelClose {
  display:grid;place-items:center;position:absolute;top:8%;right:10%;width:44px;height:44px;min-height:44px;max-width:44px;padding:0;
  border:1px solid #f0c065;border-radius:50%;color:#fff0bd;background:#321c11;font:700 28px/1 Georgia,serif;
}
html[data-slot-orientation="portrait"] #qaMenu { width:min(94vw,430px);height:auto;max-height:90dvh;padding:60px 18px 20px;overflow:auto;background:#20120e;border:2px solid #bb8d47;border-radius:14px; }
html[data-slot-orientation="portrait"] #qaMenu .portraitPanelClose { top:9px;right:10px; }
html[data-slot-orientation="portrait"] #qaMenu .qa-grid { gap:8px;margin:8px 0; }
html[data-slot-orientation="portrait"] #qaMenu .qa-grid button { font-size:12px; }
html[data-slot-orientation="portrait"] :is(#gameMenu,#autoplayMenu,#qaMenu) button:focus-visible { outline:2px solid #7cecff;outline-offset:2px; }


/* The authored leather field runs from roughly 18% to 82% of the frame.
   Keep rows inside that field, with room for focus rings beside the brass. */
html[data-slot-orientation="portrait"] :is(#gameMenu,#autoplayMenu) {
  --portrait-panel-width:min(98vw,440px,calc((100dvh - 16px) * .8));
  padding:calc(var(--portrait-panel-width) * .24) calc(var(--portrait-panel-width) * .21) calc(var(--portrait-panel-width) * .19);
  gap:clamp(7px,2vw,9px);
}
html[data-slot-orientation="portrait"] :is(#gameMenu,#autoplayMenu) h2 {
  margin:0 0 4px;font-size:clamp(23px,6.5vw,28px);line-height:1.1;
}
html[data-slot-orientation="portrait"] :is(#gameMenu,#autoplayMenu) button:not(.portraitPanelClose) {
  flex-shrink:0;min-height:clamp(44px,11.8vw,48px);font-size:14px;
}
html[data-slot-orientation="portrait"] #paytableButton { grid-template-columns:24px minmax(0,1fr);column-gap:7px; }
html[data-slot-orientation="portrait"] #paytableButton::before { width:24px; }
html[data-slot-orientation="portrait"] #autoplayMenu .autoplay-help { margin:0 0 3px;line-height:1.35;text-wrap:balance; }
html[data-slot-orientation="portrait"] #autoplayMenu .choice-grid { flex-shrink:0;gap:8px; }
html[data-slot-orientation="portrait"] #autoplayMenu .choice-grid button { min-height:48px;font-size:22px; }
html[data-slot-orientation="portrait"] #autoplayCancelButton { margin-top:2px; }
html[data-slot-orientation="portrait"] :is(#gameMenu,#autoplayMenu) > .portraitPanelClose {
  top:8%;right:10%;border:0;border-radius:0;box-shadow:none;font-size:25px;
  background:radial-gradient(circle,#351f13 0 49%,#c79548 50% 54%,transparent 55%);
  filter:drop-shadow(0 2px 2px #0008);
}

html[data-slot-orientation="portrait"] #paytableDialog {
  width:min(96vw,500px,calc((100dvh - 20px) * 2 / 3));height:auto;max-height:none;aspect-ratio:2/3;overflow:visible;animation:none;
}
html[data-slot-orientation="portrait"] #paytableDialog .dialogFrame { border-radius:0;background:url('../assets/art/mobile/portrait-frontier-ledger.webp') center / 100% 100% no-repeat;box-shadow:0 20px 60px #000b; }
html[data-slot-orientation="portrait"] #paytableDialog .paytableStage { background:none;container-type:normal; }
html[data-slot-orientation="portrait"] #paytableDialog .paytablePage { animation:none; }
html[data-slot-orientation="portrait"] #paytableDialog .paytablePage::before,
html[data-slot-orientation="portrait"] #paytableDialog .paytablePage::after { display:none; }
html[data-slot-orientation="portrait"] #paytableDialog .dialog-close { top:5.5%;right:7%;width:44px;height:44px;font-size:30px; }
html[data-slot-orientation="portrait"] #paytableDialog .paytablePageTitle { position:absolute;inset:11% 12% auto;display:block;width:auto;height:auto;padding:0;border:0;background:none;box-shadow:none;text-align:center; }
html[data-slot-orientation="portrait"] #paytableDialog .paytablePageTitle > span { display:block;font-size:10px;line-height:1.2;letter-spacing:.13em;color:#8de7f5; }
html[data-slot-orientation="portrait"] #paytableDialog .paytablePageTitle h2 { position:static;height:auto;margin:5px 0 0;padding:0;background:none; }
html[data-slot-orientation="portrait"] #paytableDialog .paytablePageTitle h2 strong { font-size:clamp(20px,6vw,30px);line-height:1.05;white-space:normal; }
html[data-slot-orientation="portrait"] #paytableDialog .paytablePageBody {
  inset:23% 8.5% 17%;display:block;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#bb904d #17120c;touch-action:pan-y;padding:0 4px 10px 0;outline-offset:-2px;
}
html[data-slot-orientation="portrait"] #paytableDialog .paytablePageBody > * { margin-bottom:10px; }
html[data-slot-orientation="portrait"] #paytableDialog .paytablePageLead { display:block;height:auto;font-size:12px;line-height:1.4;margin:0 0 12px; }
html[data-slot-orientation="portrait"] #paytableDialog .paytablePayoutCards { height:auto;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:none;gap:10px; }
html[data-slot-orientation="portrait"] #paytableDialog .paytablePayoutCards .paytablePayoutCard { display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-rows:auto auto;min-height:106px;padding:9px;gap:5px 7px;align-items:center; }
html[data-slot-orientation="portrait"] #paytableDialog .paytablePayoutCards .paytablePayoutSymbol { grid-row:1/3;height:64px; }
html[data-slot-orientation="portrait"] #paytableDialog .paytablePayoutCards .paytablePayoutSymbol img { width:100%;height:100%; }
html[data-slot-orientation="portrait"] #paytableDialog .paytablePayoutCards .paytablePayoutCard h3 { margin:0;min-height:0;font-size:13px;line-height:1.2;align-self:center; }
html[data-slot-orientation="portrait"] #paytableDialog .paytablePayoutCards .paytablePayoutMatrix { grid-column:1/3;grid-template-rows:23px 28px;min-height:51px; }
html[data-slot-orientation="portrait"] #paytableDialog .paytablePayoutCards .paytablePayoutMatrix :is(span,strong) { font-size:12px;letter-spacing:0; }
html[data-slot-orientation="portrait"] #paytableDialog .paytablePayoutCards .paytablePayoutSymbol { grid-row:1; }
html[data-slot-orientation="portrait"] #paytableDialog :is(.paytableSpecialGrid,.paytableFreeGrid,.paytableFreeRules,.paytableWaysRules,.paytableInfoNotes) { display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:none;height:auto;gap:10px; }
html[data-slot-orientation="portrait"] #paytableDialog .paytableRuleCard { grid-template-columns:70px minmax(0,1fr);padding:10px;gap:5px;overflow:visible; }
html[data-slot-orientation="portrait"] #paytableDialog .paytableRuleSymbol { height:90px;align-self:center; }
html[data-slot-orientation="portrait"] #paytableDialog :is(.paytableRuleCopy,.paytableFreeHeroCopy) { padding:0; }
html[data-slot-orientation="portrait"] #paytableDialog :is(.paytableRuleCopy,.paytableFreeHeroCopy) > span { font-size:10px;line-height:1.3; }
html[data-slot-orientation="portrait"] #paytableDialog :is(.paytableRuleCopy,.paytableFreeHeroCopy,.paytableScatterPanel,.paytableRetriggerPanel) h3 { font-size:15px;line-height:1.2;margin:5px 0 8px; }
html[data-slot-orientation="portrait"] #paytableDialog :is(.paytableRuleCopy,.paytableFreeHeroCopy,.paytableFreeRules,.paytableWaysRules,.paytableInfoNotes) p { font-size:12px;line-height:1.5; }
html[data-slot-orientation="portrait"] #paytableDialog :is(.paytableScatterPanel,.paytableRetriggerPanel) { display:block;padding:10px;height:auto;overflow:visible; }
html[data-slot-orientation="portrait"] #paytableDialog .paytableTableScroll { height:auto;overflow:visible; }
html[data-slot-orientation="portrait"] #paytableDialog table { height:auto; }
html[data-slot-orientation="portrait"] #paytableDialog :is(th,td),
html[data-slot-orientation="portrait"] #paytableDialog :is(.paytableRetriggerTable th,.paytableRetriggerTable td) { font-size:11px;line-height:1.3;padding:8px 4px;overflow-wrap:anywhere; }
html[data-slot-orientation="portrait"] #paytableDialog .paytableRibbon { display:block;padding:10px;font-size:12px;line-height:1.4; }
html[data-slot-orientation="portrait"] #paytableDialog .paytableFreeHero { display:block;padding:12px; }
html[data-slot-orientation="portrait"] #paytableDialog .paytableMultiplierPair { max-width:220px;margin:0 auto 12px;gap:12px; }
html[data-slot-orientation="portrait"] #paytableDialog .paytableMultiplierPair img { height:100px; }
html[data-slot-orientation="portrait"] #paytableDialog .paytableMultiplierPair figcaption { font-size:12px;line-height:1.5; }
html[data-slot-orientation="portrait"] #paytableDialog .paytableFreeRules article { display:grid;grid-template-columns:72px minmax(0,1fr);padding:11px;gap:8px; }
html[data-slot-orientation="portrait"] #paytableDialog .paytableFreeRules strong { font-size:11px;line-height:1.4; }
html[data-slot-orientation="portrait"] #paytableDialog .paytableWaysDiagram { display:block;padding:12px; }
html[data-slot-orientation="portrait"] #paytableDialog :is(.paytableWaysLegend,.paytableWaysFlow) { display:flex;flex-direction:column;gap:7px;padding:5px;font-size:10px;line-height:1.3; }
html[data-slot-orientation="portrait"] #paytableDialog .paytableWaysProof { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px 7px;padding:13px 0; }
html[data-slot-orientation="portrait"] #paytableDialog .paytableWaysProof::before { display:none; }
html[data-slot-orientation="portrait"] #paytableDialog :is(.paytableWaysOperator,.paytableWaysEquals) { display:none; }
html[data-slot-orientation="portrait"] #paytableDialog .paytableWaysReelLabel { font-size:9px;line-height:1.2;padding:3px; }
html[data-slot-orientation="portrait"] #paytableDialog .paytableWaysBuffaloStack { height:65px; }
html[data-slot-orientation="portrait"] #paytableDialog .paytableWaysBuffaloStack em { font-size:12px; }
html[data-slot-orientation="portrait"] #paytableDialog .paytableWaysResult { grid-column:1/4;padding:12px;border-radius:8px; }
html[data-slot-orientation="portrait"] #paytableDialog .paytableWaysResult span { font-size:28px; }
html[data-slot-orientation="portrait"] #paytableDialog .paytableWaysResult small { font-size:12px; }
html[data-slot-orientation="portrait"] #paytableDialog .paytableWaysRules article { display:grid;grid-template-columns:25px minmax(0,1fr);padding:11px;gap:9px; }
html[data-slot-orientation="portrait"] #paytableDialog .paytableWaysRules strong { font-size:20px; }
html[data-slot-orientation="portrait"] #paytableDialog .paytableStatsGrid { grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;height:auto;gap:9px; }
html[data-slot-orientation="portrait"] #paytableDialog .paytableStatCard { padding:14px 6px;gap:8px; }
html[data-slot-orientation="portrait"] #paytableDialog .paytableStatCard strong { font-size:22px;line-height:1.2; }
html[data-slot-orientation="portrait"] #paytableDialog .paytableStatCard span { font-size:11px;line-height:1.3; }
html[data-slot-orientation="portrait"] #paytableDialog .paytableInfoNotes { padding:12px; }
html[data-slot-orientation="portrait"] #paytableDialog #paytableTabs.paytableControls { position:absolute;left:9%;right:9%;bottom:6.3%;width:82%;min-width:0;height:44px;transform:none;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px; }
html[data-slot-orientation="portrait"] #paytableDialog .paytablePager { min-width:0; }
html[data-slot-orientation="portrait"] #paytableDialog :is(.paytableCurrentPage,.paytableDots) { display:none; }
html[data-slot-orientation="portrait"] #paytableDialog .paytableNavButton { width:44px;height:44px;min-width:44px;font-size:30px;line-height:1; }
html[data-slot-orientation="portrait"] #portraitPaytableSelect { display:block;width:100%;min-width:0;height:44px;border:1px solid #ae8745;border-radius:6px;background:#21180f;color:#ffe9ba;font:700 11px/1.2 system-ui;padding:4px; }
@media (prefers-reduced-motion:reduce) { html[data-slot-orientation="portrait"] :is(#gameMenu,#autoplayMenu,#qaMenu,#paytableDialog,.paytablePage) { animation:none!important;transition:none!important; } }

