/* iPad mini: separate readable hand cards, large previews and touch controls. */
.tablet-hand-caption,.tablet-card-browser,.tablet-zoom-hint,.tablet-nav-toggle{display:none}
.card-enlarge{display:block;background:none;border:0;padding:0;border-radius:8px;cursor:zoom-in}
.bigcard .bigcard-close{position:absolute;right:max(16px,env(safe-area-inset-right));top:max(16px,env(safe-area-inset-top));min-height:44px;min-width:100px;justify-content:center}
.bigcard{overflow:auto;overscroll-behavior:contain;cursor:default}
.bigcard>.cf{flex:none}
@media(min-width:700px) and (max-width:1180px){
  body.arena{-webkit-text-size-adjust:100%}
  body.arena .arena-top,body.in-game .arena-top{position:relative;z-index:32;flex:none;margin:0;padding:6px max(14px,env(safe-area-inset-right)) 6px max(14px,env(safe-area-inset-left));min-height:58px;border-radius:0;clip-path:none;overflow:visible;gap:12px;flex-wrap:nowrap}
  body.arena .arena-top .brand-sub{display:none}
  body.arena .arena-top .topbar-right{display:none}
  .tablet-nav-toggle{display:inline-flex;min-height:44px;min-width:100px;margin-left:auto;justify-content:center;font-size:14px;gap:8px}
  body.arena.tablet-nav-open .arena-top .topbar-right{display:flex;position:absolute;top:100%;right:12px;max-width:600px;max-height:75dvh;overflow:auto;padding:12px;background:#191f27;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px #0008;flex-wrap:wrap;justify-content:flex-start;gap:8px}
  body.arena .arena-top .topbar-right .btn{min-height:44px;font-size:13px;padding:8px 12px;gap:8px}
  body.arena .arena-top .topbar-right .btn span{display:inline}
  .arena .setup{margin-top:14px}
  .arena .fac{min-height:110px}
  .arena .fac .fac-ab{font-size:14px;line-height:1.6}
  .arena .fac .fac-info{border:1px solid var(--line);background:#10151b}
  body.in-game{padding-top:env(safe-area-inset-top)}
  body.in-game .game{padding:8px max(10px,env(safe-area-inset-right)) 4px max(10px,env(safe-area-inset-left));overscroll-behavior:contain}
  body.in-game .board{gap:10px;margin:0 auto}
  body.in-game .lane{padding:5px 8px;gap:5px}
  body.in-game .lane-head{height:44px;min-height:44px;font-size:11px}
  body.in-game .lane-head b{font-size:14px}
  body.in-game .lane-score{height:30px;min-height:30px}
  body.in-game .lane-score .sc{font-size:15px}
  body.in-game .lane-score .vs{font-size:10px}
  body.in-game .gslot.target::before,body.in-game .gslot.asked::before{inset:0}
  body.in-game .gslot{width:calc(100% - 10px)}
  body.in-game .opponent-tray{display:block;padding:4px 10px 0}
  body.in-game .opponent-tray .rival-cards{display:none}
  body.in-game .player-tray{grid-template-columns:minmax(0,1fr);gap:4px}
  body.in-game .player-tray .pbar{display:flex;flex-wrap:wrap;gap:5px 8px;padding:3px 8px;min-height:50px;align-content:center;overflow:visible}
  body.in-game .player-tray .pname{flex-basis:auto;min-width:0;font-size:12px}
  body.in-game .player-tray .pbar .stat{font-size:12px;gap:4px}
  body.in-game .player-tray .pbar .stat.link{min-height:44px;padding:4px 8px}
  body.in-game .player-tray .pbar .fchips{flex-basis:auto;margin-left:auto;gap:6px}
  body.in-game .player-tray .fchip{min-height:44px;font-size:11px;padding:6px}
  body.in-game .player-tray .disk{font-size:13px}
  body.in-game .player-tray .charge-mini{font-size:12px}
  body.in-game .own-tray .pbar{grid-row:1}
  body.in-game .own-tray .hands{grid-row:2;gap:18px;padding:8px 5px 5px;overflow-x:auto;align-items:flex-start;scroll-snap-type:x proximity;scroll-padding:5px;touch-action:pan-x;scrollbar-width:thin}
  body.in-game .hand{gap:12px;align-items:flex-start}
  body.in-game .hand .hcard{margin-left:0!important;flex:none;scroll-snap-align:start;touch-action:pan-x}
  body.in-game .hand .hcard .cf{margin-inline:auto}
  .tablet-hand-caption{display:flex;flex-direction:column;gap:4px;width:var(--hand-w);padding:7px 3px 3px;text-align:left;white-space:normal;font:12px/1.35 system-ui,sans-serif}
  .tablet-hand-caption>b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}
  .tablet-hand-caption>span{color:var(--text-dim);font-size:10px}
  body.in-game .charge{padding-left:14px;gap:10px;min-width:max-content;align-items:flex-start}
  body.in-game .charge .lbl{font-size:12px}
  body.in-game .charge .hcard{min-width:64px;min-height:96px;touch-action:pan-x}
  body.in-game .dock{padding:6px max(10px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));gap:5px;max-height:60dvh}
  body.in-game .dock-tools .cloud-save-status{display:none}
  body.in-game .dock-tools{gap:8px}
  body.in-game .dock-turn{font-size:12px}
  body.in-game .dock-tools>.row{gap:6px}
  body.in-game .status .prompt{min-height:44px;font:14px/1.45 system-ui,sans-serif;gap:12px}
  body.in-game .status .btn{min-height:44px;min-width:44px;font-size:13px;padding:8px 12px}
  body.in-game .ask{max-height:30dvh;padding:10px;font:15px/1.5 system-ui,sans-serif}
  body.in-game .ask-opts{max-height:20dvh;gap:8px}
  body.in-game .opt{min-height:44px;font-size:14px;padding:10px 12px}
  body.arena .sheet-box,body.in-game .sheet-box{display:grid;grid-template-columns:240px minmax(0,1fr);width:min(900px,100%);gap:16px 22px;max-height:92dvh;padding:16px 22px calc(22px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;overflow:auto;overscroll-behavior:contain;align-items:start}
  .tablet-card-browser{grid-column:1 / -1;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding-bottom:12px}
  .tablet-card-browser>span{flex:1;color:var(--text-dim);font-size:14px;text-align:center}
  .tablet-card-browser>.btn{justify-content:center;min-width:48px;min-height:48px;font-size:22px}
  body.in-game .sheet-info h3{font-size:24px;line-height:1.3;margin:0 0 12px}
  body.in-game .sheet-info>.muted{font:14px/1.6 system-ui,sans-serif;margin:0 0 16px}
  body.in-game .sheet-info>.cardtext{font:17px/1.7 system-ui,sans-serif;margin:0 0 16px}
  body.in-game .sheet-info .notes{font:13px/1.5 system-ui,sans-serif;padding-left:18px}
  body.in-game .sheet-info .col{gap:12px;margin-top:18px}
  body.in-game .sheet-info .btn,body.in-game .sheet-info .btn.big{min-height:52px;justify-content:center;padding:12px 16px;white-space:normal;text-align:center;font-size:15px}
  .tablet-zoom-hint{display:block;color:var(--text-dim);font:12px/1.5 system-ui,sans-serif;text-align:center;margin-top:10px}
  body.arena .modal-box,body.in-game .modal-box{width:min(900px,96vw);max-height:92dvh;padding:56px 24px 24px}
  body.in-game .pv{gap:24px;flex-wrap:nowrap;align-items:flex-start}
  body.in-game .pv .cf{max-width:none}
  body.in-game .pv-info{min-width:0;font:15px/1.65 system-ui,sans-serif}
  body.in-game .pv-info h3{font-size:23px;line-height:1.3}
  body.in-game .pv-info p,body.in-game .pv-info .cardtext{font:16px/1.65 system-ui,sans-serif}
  body.in-game .pv-info .notes{font-size:13px;line-height:1.5}
  body.arena .modal-box .close{width:44px;height:44px;top:6px;right:8px;font-size:28px}
  .bigcard{gap:14px;padding:76px 24px 24px;background:#090d12}
  .bigcard .cardtext{font:17px/1.65 system-ui,sans-serif;max-width:640px;margin:0;text-align:left}
  .arena button:focus-visible,.arena [tabindex]:focus-visible{outline:3px solid var(--amber-hi);outline-offset:3px}
}
@media(min-width:700px) and (max-width:1180px) and (orientation:landscape){
  body.in-game .sheet-box{max-height:94dvh;grid-template-columns:210px minmax(0,1fr);width:min(880px,100%)}
  body.in-game .sheet-card .cf{max-width:210px;max-height:none}
  body.in-game .own-tray .hands{padding-top:6px}
}
@media(prefers-reduced-motion:reduce){.arena .hcard{transition:none}}

@media(min-width:700px) and (max-width:1180px){body.arena .arena-top .arena-compact-menu{display:none}}

/* Hand selection uses the full printed card face, with actions below it. */
body.arena .sheet-box.hand-sheet,
body.in-game .sheet-box.hand-sheet {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  width: min(560px, 100%);
  max-height: calc(100dvh - env(safe-area-inset-top) - 8px);
  padding: 12px max(12px, env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
  overflow-y: auto;
}
.hand-sheet .tablet-card-browser { width: 100%; }
.hand-sheet-toolbar { width: 100%; min-height: 44px; display: flex; align-items: center; justify-content: space-between; }
.hand-sheet-close { min-height: 44px; min-width: 44px; justify-content: center; font-size: 24px; }
.hand-sheet .sheet-card { max-width: 100%; }
.hand-sheet .sheet-card .cf { max-width: 100%; }
.hand-sheet .sheet-info { width: 100%; flex: none; }
body.in-game .hand-sheet .sheet-info .col { margin: 0; gap: 8px; }
body.in-game .hand-sheet .sheet-info .btn,
body.in-game .hand-sheet .sheet-info .btn.big { min-height: 48px; justify-content: center; font-size: 14px; padding: 9px 12px; }
.hand-sheet .sheet-info .hint { margin: 0; text-align: center; }
.hand-sheet .pv-info-panel { inset: 64px 12px auto; max-height: calc(100% - 76px); width: auto; }

/* Effect choices open a readable card before the decision is committed. */
.ask-card-preview { cursor: default; }
body.arena:has(.ask-card-preview) .card-hover { display: none!important; }
.ask-card-actions { width: min(500px, 100%); display: flex; gap: 8px; flex: none; }
.ask-card-actions .btn { min-height: 52px; flex: 1; justify-content: center; text-align: center; white-space: normal; }
.ask-card-actions .btn.primary { flex: 1.7; }

.frz-choices{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.arena .frz-choice{display:flex;flex-direction:column;gap:9px;min-width:124px;min-height:44px;padding:12px;white-space:normal;max-width:180px}.frz-choice>.cf{pointer-events:none}.frz-choice>span{font-size:13px}.frz-choice>b{font-size:14px;color:#9adbe8}

.facs{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.fac-card-tile{min-width:0;border:1px solid var(--line);border-top:4px solid var(--fc);border-radius:10px;padding:10px;background:#19212a}
.fac-card-tile.taken.p0{outline:2px solid var(--me)}.fac-card-tile.taken.p1{outline:2px solid var(--op)}
.fac-picture{display:block;padding:0;border:0;width:100%;background:transparent;cursor:zoom-in;text-align:initial;color:inherit;touch-action:manipulation}
.fac-picture .faction-card{pointer-events:none}.fac-card-caption{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:10px 0;color:var(--fc)}
.fac-side{font-size:12px;color:#aeb8c4}.fac-card-actions{display:flex;flex-wrap:wrap;gap:6px}.fac-card-actions .btn{min-height:44px;flex:1;padding:7px;font-size:12px;white-space:nowrap}
.fac-card-tile .faction-card__panel .rich-text,.faction-zoom .faction-card__panel .rich-text{font-size:inherit;line-height:inherit}
.faction-zoom{width:100%;max-width:680px;margin:16px auto}.faction-zoom .faction-card__panel{font-size:clamp(12px,2.5vw,19px)}
@media(max-width:540px){.facs{grid-template-columns:1fr}.fac-card-actions .btn{font-size:14px}}

.fac-card-actions .btn{min-width:0;overflow:hidden;text-overflow:ellipsis}
