/* Compact selection cards; full six-axis analysis lives in the profile dialog. */
.pro-card .pro-detail-cue{display:block;text-align:center;font-size:11px;line-height:1.5;margin:4px 0 10px;color:var(--tier-accent,#a8cfff);font-weight:650}
.pro-home-stage .pro-avatar-hint{display:flex;align-items:center;gap:7px;padding:9px 11px;margin:9px 0;border:1px solid var(--tier-line,#38557b);border-radius:9px;background:var(--tier-input,#101e32);color:var(--tier-ink,#e6f0ff);font-size:12px;font-weight:650}
.pro-avatar-hint>span{font-size:18px;color:var(--tier-accent,#9acbff)}
.home-pro-roster .pro-card{display:flex;flex-direction:column}
.home-pro-roster .pro-card-top{order:0}
.home-pro-roster .pro-detail-cue{order:1}
.home-pro-roster .pro-select{order:2;margin-top:auto}
.regular-mode .pro-avatar-hint{display:none}
.control-notices,.control-stage,#tableTools{display:contents}

/* A full-screen stage with a reserved action tray. No hand state changes row sizes. */
@media(max-width:1100px) and (orientation:portrait){
  html.portrait:has(#app.on),html.portrait:has(#app.on) body{height:100%;overflow:hidden;overscroll-behavior:none}
  html.portrait #app.on{position:fixed;inset:0;height:100dvh;min-height:0;overflow:hidden;overscroll-behavior:none}
  html.portrait #left{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:96px minmax(0,1fr) 28px 190px;gap:4px;flex:1 1 0;height:100%;min-height:0;overflow:hidden;padding:calc(6px + var(--table-safe-top,env(safe-area-inset-top,0px))) 8px calc(6px + var(--table-safe-bottom,env(safe-area-inset-bottom,0px)));box-sizing:border-box}
  html.portrait #left>*,html.portrait .control-stage>*{min-width:0}
  html.portrait .topbar{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:24px 44px 16px;gap:4px;align-content:start;margin:0;min-width:0}
  html.portrait .topbar .pill{height:24px;padding:2px;box-sizing:border-box}
  html.portrait #btnMember,html.portrait #btnPanel,html.portrait #btnTools{height:44px;min-height:44px;grid-column:span 2;grid-row:2}
  html.portrait .topbar>.play-quota{grid-column:1/-1;grid-row:3;line-height:16px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  html.portrait .topbar #tableTools{display:none;position:absolute;top:92px;left:0;right:0;padding:10px;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;border:1px solid var(--tier-line,#38557b);border-radius:12px;background:var(--page);box-shadow:0 12px 28px #0009;z-index:25}
  html.portrait .topbar.tools-open #tableTools{display:grid}
  html.portrait .topbar.tools-open #tableTools .tb{grid-row:auto;grid-column:span 2;order:0;font-size:12px}
  html.portrait .topbar.tools-open #tableTools #btnThink,html.portrait .topbar.tools-open #tableTools [data-solver-open],html.portrait .topbar.tools-open #tableTools .speedbox,html.portrait .topbar.tools-open #tableTools #btnRebuy{grid-column:span 3;order:0}
  html.portrait #tablewrap,html.portrait[data-players] #tablewrap{min-height:0;flex:1 1 0;flex-basis:0;height:100%;margin:0}
  html.portrait #table{width:100%!important;height:100%!important}
  html.portrait #posbar{margin:0;min-height:0;height:28px;box-sizing:border-box;overflow:hidden}
  html.portrait #controls{display:grid;grid-template-rows:48px minmax(0,1fr);gap:4px;height:190px;min-height:190px;max-height:190px;margin:0;padding:0;position:relative;bottom:auto;overflow:hidden;background:var(--page)}
  html.portrait .control-notices{display:flex;gap:6px;min-height:0;align-items:stretch;overflow:hidden}
  html.portrait .control-stage{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);min-height:0;overflow:hidden}
  html.portrait .control-stage>#actionBox,html.portrait .control-stage>#waitMsg,html.portrait .control-stage>#handEndBar{grid-area:1/1;align-self:end;min-height:0;max-height:100%;margin:0;box-sizing:border-box}
  html.portrait #reviewPeek{flex:1 1 0;width:auto;min-width:0;min-height:44px;height:48px;margin:0;padding:4px 8px;line-height:1.4;font-size:11px}
  html.portrait #tableWalletNotice{display:flex;flex:2 1 0;min-width:0;flex-wrap:nowrap;align-items:center;height:48px;padding:3px 6px;gap:5px;margin:0;box-sizing:border-box}
  html.portrait #tableWalletNotice p{flex:1 1 0;min-width:0;font-size:10px;line-height:14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  html.portrait #tableRebuyButton{flex:0 0 auto;width:auto;min-height:40px;max-width:92px;font-size:10px;padding:3px 6px;line-height:1.4}
  html.portrait #waitMsg{padding:10px 6px;line-height:1.5;overflow:auto;color:var(--muted);text-align:center;align-self:stretch;display:flex;align-items:center;justify-content:center}
  html.portrait #actionBox .act{height:48px;min-height:48px;padding:7px 2px;font-size:14px}
  html.portrait #sizeRow{gap:4px;margin-top:5px}
  html.portrait #sizeRow .qb{min-height:42px;height:42px;padding:2px;font-size:11px}
  html.portrait #betSlider{height:32px;margin:0}
  html.portrait #handEndBar.on{height:134px;grid-template-columns:26px minmax(0,1fr);grid-template-rows:36px 18px 48px;gap:5px;padding:8px}
  html.portrait #heStats{align-items:center}
  html.portrait #heDesc{min-width:0;line-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  html.portrait #nextBtn{height:48px;min-height:48px;padding:8px;font-size:15px;align-self:end}
  html.portrait .seat{padding:15px 4px 3px;box-sizing:border-box}
  html.portrait .seat .avatar{width:36px;height:36px;top:-23px}
  html.portrait .seat .scards{min-height:38px;height:38px;margin-top:2px;gap:3px}
  html.portrait .seat .card.sm{height:36px;width:27px}
  html.portrait .seat.hero .card{--cs:.82}
  html.portrait .seat-outcome,html.portrait .seat-outcome:empty{height:18px;min-height:18px;overflow:hidden}
  html.portrait .seat-hand{height:12px;min-height:12px;font-size:9px;line-height:12px;overflow:hidden;white-space:nowrap}
  html.portrait .seat .wintag{font-size:9px;line-height:16px}
  html.portrait[data-players="6"] #centerZone,html.portrait[data-players="7"] #centerZone,html.portrait[data-players="8"] #centerZone{top:54%}
  html.portrait[data-players="7"] .seat,html.portrait[data-players="8"] .seat{width:96px}
  html.portrait[data-players="7"] .seat.hero,html.portrait[data-players="8"] .seat.hero{width:110px}
}
@media(max-width:1100px) and (orientation:portrait) and (max-height:720px){
  html.portrait #left{grid-template-rows:90px minmax(0,1fr) 24px 172px;gap:3px;padding:calc(4px + var(--table-safe-top,env(safe-area-inset-top,0px))) 6px calc(4px + var(--table-safe-bottom,env(safe-area-inset-bottom,0px)))}
  html.portrait #controls{height:172px;min-height:172px;max-height:172px;grid-template-rows:40px minmax(0,1fr);gap:3px}
  html.portrait #tableWalletNotice,html.portrait #reviewPeek{height:40px;min-height:40px}
  html.portrait #tableRebuyButton{min-height:36px}
  html.portrait #posbar{height:24px;padding:1px 4px}
  html.portrait #myPosDesc{display:none}
  html.portrait #actionBox .act{height:44px;min-height:44px;font-size:12px}
  html.portrait #sizeRow .qb{height:38px;min-height:38px;font-size:10px}
  html.portrait #handEndBar.on{height:126px;grid-template-rows:30px 16px 46px;gap:4px}
  html.portrait #nextBtn{height:46px;min-height:46px}
  html.portrait .seat{transform:translate(-50%,-50%) scale(.86)}
  html.portrait:is([data-players="6"],[data-players="7"],[data-players="8"]) .seat{padding:10px 3px 2px;transform:translate(-50%,-50%) scale(.82)}
  html.portrait:is([data-players="6"],[data-players="7"],[data-players="8"]) .seat .avatar{width:28px;height:28px;top:-17px}
  html.portrait:is([data-players="6"],[data-players="7"],[data-players="8"]) .seat .snamerow{height:12px;min-height:12px;line-height:12px}
  html.portrait:is([data-players="6"],[data-players="7"],[data-players="8"]) .seat .sname{font-size:9px;line-height:12px}
  html.portrait:is([data-players="6"],[data-players="7"],[data-players="8"]) .seat .sstack{font-size:10px;line-height:12px;height:12px;margin:0;gap:2px}
  html.portrait:is([data-players="6"],[data-players="7"],[data-players="8"]) .seat .spos{font-size:8px;padding:0 2px;line-height:11px}
  html.portrait:is([data-players="6"],[data-players="7"],[data-players="8"]) .seat .scards{height:28px;min-height:28px;margin:2px 0 0}
  html.portrait:is([data-players="6"],[data-players="7"],[data-players="8"]) .seat .card{width:21px;height:28px;--cs:.62}
  html.portrait:is([data-players="6"],[data-players="7"],[data-players="8"]) .seat .card .r{font-size:12px}
  html.portrait:is([data-players="6"],[data-players="7"],[data-players="8"]) .seat .card .s{font-size:10px}
  html.portrait:is([data-players="6"],[data-players="7"],[data-players="8"]) .seat-outcome{height:14px;min-height:14px}
  html.portrait:is([data-players="6"],[data-players="7"],[data-players="8"]) .seat .wintag{font-size:9px;line-height:12px;margin:0}
  html.portrait:is([data-players="6"],[data-players="7"],[data-players="8"]) .seat-hand{height:10px;min-height:10px;font-size:8px;line-height:10px}
  html.portrait[data-players="6"] #board .card,html.portrait[data-players="7"] #board .card,html.portrait[data-players="8"] #board .card{--cs:.5}
  html.portrait[data-players="6"] #board,html.portrait[data-players="7"] #board,html.portrait[data-players="8"] #board{gap:2px}
}
@media(max-width:600px) and (orientation:portrait) and (max-height:620px){
  html.portrait .seat,html.portrait:is([data-players="6"],[data-players="7"],[data-players="8"]) .seat{padding:6px 3px 2px;transform:translate(-50%,-50%) scale(.82)}
  html.portrait .seat .avatar,html.portrait:is([data-players="6"],[data-players="7"],[data-players="8"]) .seat .avatar{width:24px;height:24px;top:-15px}
  html.portrait .seat .snamerow,html.portrait:is([data-players="6"],[data-players="7"],[data-players="8"]) .seat .snamerow{height:11px;min-height:11px;line-height:11px}
  html.portrait .seat .sname{font-size:9px;line-height:11px}
  html.portrait .seat .sstack,html.portrait:is([data-players="6"],[data-players="7"],[data-players="8"]) .seat .sstack{font-size:10px;line-height:11px;height:11px;margin:0;gap:2px}
  html.portrait .seat .spos{font-size:8px;padding:0 2px;line-height:10px}
  html.portrait .seat .scards,html.portrait:is([data-players="6"],[data-players="7"],[data-players="8"]) .seat .scards{height:24px;min-height:24px;margin:1px 0 0}
  html.portrait .seat .card,html.portrait:is([data-players="6"],[data-players="7"],[data-players="8"]) .seat .card{width:19px;height:24px;--cs:.52}
  html.portrait .seat .card .r{font-size:12px}
  html.portrait .seat .card .s{font-size:10px}
  html.portrait .seat-outcome,html.portrait .seat-outcome:empty,html.portrait:is([data-players="6"],[data-players="7"],[data-players="8"]) .seat-outcome{height:12px;min-height:12px}
  html.portrait .seat .wintag{font-size:9px;line-height:11px;margin:0}
  html.portrait .seat-hand{display:none}
  html.portrait #centerZone{gap:2px;top:50%}
  html.portrait #board{height:28px;min-height:28px;gap:2px}
  html.portrait #board .card{--cs:.45}
  html.portrait #streetTag{font-size:8px}
  html.portrait #potLine{font-size:10px;line-height:16px;padding:1px 5px}
}
@media(max-width:360px) and (orientation:portrait){
  html.portrait[data-players="6"] .seat,html.portrait[data-players="7"] .seat,html.portrait[data-players="8"] .seat{width:86px}
  html.portrait[data-players="6"] .seat.hero,html.portrait[data-players="7"] .seat.hero,html.portrait[data-players="8"] .seat.hero{width:100px}
  html.portrait .seat .sname{font-size:9px;max-width:100%}
}
@media(min-width:601px) and (max-width:1100px) and (orientation:portrait){
  html.portrait #left{grid-template-rows:96px minmax(0,1fr) 32px 202px;padding:12px 20px calc(12px + var(--table-safe-bottom,env(safe-area-inset-bottom,0px)));padding-top:calc(12px + var(--table-safe-top,env(safe-area-inset-top,0px)));gap:8px}
  html.portrait .topbar{width:100%;max-width:960px;justify-self:center}
  html.portrait #posbar,html.portrait #controls{width:100%;max-width:720px;justify-self:center}
  html.portrait #controls{height:202px;min-height:202px;max-height:202px;grid-template-rows:52px minmax(0,1fr)}
  html.portrait #posbar{height:32px}
  html.portrait .seat,html.portrait[data-players] .seat{width:140px;padding:22px 7px 5px;transform:translate(-50%,-50%)}
  html.portrait .seat.hero,html.portrait[data-players] .seat.hero{width:166px}
  html.portrait .seat .avatar{width:52px;height:52px;top:-30px}
  html.portrait .seat .sname{font-size:13px;max-width:100%}
  html.portrait .seat .sstack{font-size:14px;line-height:20px}
  html.portrait .seat .scards{height:52px;min-height:52px;margin-top:4px;gap:5px}
  html.portrait .seat .card{--cs:1.05;width:36px;height:50px}
  html.portrait .seat .card .r{font-size:18px}
  html.portrait .seat .card .s{font-size:15px}
  html.portrait .seat .wintag{font-size:11px}
  html.portrait .seat-hand{font-size:10px}
  html.portrait #board .card{--cs:1.05}
  html.portrait #centerZone{width:70%;gap:9px}
  html.portrait #potLine{font-size:16px;padding:6px 14px}
  html.portrait #streetTag{font-size:12px}
  html.portrait #right{width:min(800px,100%);left:50%;right:auto;transform:translate(-50%,105%);height:min(78dvh,860px)}
  html.portrait #right.open{transform:translate(-50%,0)}
}
