/* Device scope keeps phone rotation and phone-sized controls independent of tablet window size. */
html[data-device="ipad"] #rotate { display:none; }
html[data-device="ipad"] .sheet { max-height:calc(100dvh - var(--sat) - var(--sab) - 24px); overflow-y:auto; }
html[data-device="ipad"] .view:not(.scroll) { overflow-y:auto; scrollbar-width:none; }
@media (min-width:700px) {
  html[data-device="ipad"] { --col:min(100%,820px); }
  html[data-device="ipad"] .view.home .home-main { gap:clamp(28px,4dvh,48px); }
  html[data-device="ipad"] .view.decks.col23 .deck-list { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; }
  html[data-device="ipad"] .view.decks.col23 .deck-card { min-width:0; max-width:100%; }
  html[data-device="ipad"] .view.view.howto.col23 > .steps { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); }
  html[data-device="ipad"] .view.view.howto.col23 .step { min-width:0; }
  html[data-device="ipad"] .pp-mode-dialog { width:min(440px,92vw); }
  html[data-device="ipad"] .phone main { max-width:620px; }
  html[data-device="ipad"] .host .lobby-grid,html[data-device="ipad"] .host .results-layout { width:100%; }
}
@media (min-width:900px) and (orientation:landscape) {
  html[data-device="ipad"] { --col:min(100%,1040px); }
  html[data-device="ipad"] .view.home .home-main {
    display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,390px); grid-template-rows:auto auto;
    justify-content:center; align-content:center; align-items:center; gap:18px clamp(32px,5vw,70px); padding-inline:4%;
  }
  html[data-device="ipad"] .view.home .hero { grid-column:1; grid-row:1 / span 2; }
  html[data-device="ipad"] .view.home .menu { grid-column:2; grid-row:1 / span 2; width:100%; justify-self:center; }
  html[data-device="ipad"] .view.home:has(.resume-card) .menu { grid-row:2; }
  html[data-device="ipad"] .view.home .resume-card { grid-column:2; grid-row:1; }
  html[data-device="ipad"] .view.view.setup.col23 {
    display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; align-content:start; column-gap:16px;
  }
  html[data-device="ipad"] .view.setup.col23 > :is(.screen-title,.sticky-cta) { grid-column:1/-1; }
  html[data-device="ipad"] .view.setup.col23 > .card { min-width:0; width:auto; }
  html[data-device="ipad"] .view.settings.col23 { max-width:780px; }
  html[data-device="ipad"] .host .lobby-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (min-width:700px) and (max-width:899px) and (orientation:portrait) {
  html[data-device="ipad"] .host .lobby-grid { grid-template-columns:1fr; max-width:660px; }
  html[data-device="ipad"] .host .lobby-players .roster { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(min-width:700px) {
  html[data-device="ipad"] .view.home { --btn-max:360px; }
}
@media(min-width:900px) and (orientation:landscape) {
  html[data-device="ipad"] .view.setup.col23 .card.grid2 { grid-template-columns:1fr; }
}

/* Portrait favors one reading column; landscape uses parallel panels when both fit. */
@media(min-width:700px) and (orientation:portrait) {
  html[data-device="ipad"] body.host #app { max-width:min(100%,780px); margin-inline:auto; }
  html[data-device="ipad"] .host :is(.lobby-grid,.ballot-layout,.results-layout) { max-width:680px; margin-inline:auto; width:100%; grid-template-columns:minmax(0,1fr); }
  html[data-device="ipad"] .host #app .results-layout:has(.standings) { grid-template-columns:minmax(0,1fr); }
  html[data-device="ipad"] .host #app .results-layout .result-summary { grid-row:1; }
  html[data-device="ipad"] .host .lobby-players .roster { grid-template-columns:repeat(3,minmax(0,1fr)); }
  html[data-device="ipad"] .host .ballot-heading { justify-items:center; }
  html[data-device="ipad"] body.host .pp-ad-dialog.pp-ad-dialog { width:min(690px,calc(100vw - 56px)); height:min(660px,calc(100dvh - 64px)); }
  html[data-device="ipad"] .view.home .hero { gap:16px; }
  html[data-device="ipad"] .view.home .home-foot { width:min(100%,620px); align-self:center; }
}
@media(min-width:900px) and (orientation:landscape) {
  html[data-device="ipad"] .host .lobby-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(18px,2vw,30px); }
  html[data-device="ipad"] .host #app .results-layout:has(.standings) { grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); }
  html[data-device="ipad"] .view.setup.col23 > .card:last-of-type { grid-column:1/-1; }
  html[data-device="ipad"] .host .stage-footer .actions { margin-inline:auto; }
}
