/* One structural layout owner. Legacy battle-layout/stud-redesign/mobile-actions
   are retained as recovery sources but are not loaded by these entry pages. */
body.p200-frame :is(#practice-main,.online-active #online-main){--frame-table:584px;--frame-opponent:194px;--frame-board:150px;--frame-hero:228px;--frame-action:252px;--frame-card-w:48px;--frame-card-h:66px;box-sizing:border-box!important;width:100%!important;max-width:1500px!important;margin:0 auto!important;padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom))!important;height:var(--frame-height,100dvh)!important;min-height:0!important;max-height:none!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:44px 36px minmax(0,1fr)!important;gap:4px!important;align-content:start!important;position:relative!important;overflow:visible!important}
body.p200-frame :is(#practice-main,.online-active #online-main)>header{grid-row:1;min-height:44px!important;height:44px;margin:0!important;display:flex;align-items:center;justify-content:space-between;gap:4px}
body.p200-frame :is(#practice-main,.online-active #online-main) header :is(.eyebrow,.title-sub){display:none!important}
body.p200-frame :is(#practice-main,.online-active #online-main) h1{font-size:22px;margin:0;line-height:24px}
body.p200-frame :is(#practice-main,.online-active #online-main) .header-tools{display:flex;flex-wrap:nowrap;gap:4px;min-width:0;max-width:100%;padding:0}
body.p200-frame :is(#practice-main,.online-active #online-main) .header-tools button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:4px 8px}
body.p200-frame :is(#practice-main,.online-active #online-main)>.mode-switch{display:none!important}
body.p200-frame :is(#practice-main,.online-active #online-main)>.current-game-banner{position:static!important;grid-row:2;min-height:0!important;height:36px;margin:0!important;padding:2px 8px!important;box-shadow:none;display:flex;gap:8px;align-items:center;justify-content:space-between;overflow:visible!important}
body.p200-frame :is(#practice-main,.online-active #online-main) .current-game-caption{display:none!important}
body.p200-frame :is(#practice-main,.online-active #online-main) .current-game-banner h2{font-size:20px;line-height:24px;margin:0}
body.p200-frame :is(#practice-main,.online-active #online-main) .game-limit{font-size:12px!important;line-height:16px;max-width:none!important;padding:2px 5px;white-space:nowrap}
body.p200-frame :is(#practice-play,.online-active #online-play){grid-row:3;display:grid!important;grid-template-columns:minmax(0,1fr) 300px!important;grid-template-rows:20px var(--frame-table)!important;gap:4px 10px!important;min-width:0;min-height:0;align-content:start!important}
body.p200-frame :is(#practice-play,.online-active #online-play)>.session-bar{grid-column:1/-1;grid-row:1;display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;margin:0!important;gap:6px;font-size:12px;line-height:20px;height:20px;min-width:0;white-space:nowrap}
body.p200-frame :is(#practice-play,.online-active #online-play)>.table{grid-column:1;grid-row:2;display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:var(--frame-opponent) var(--frame-board) var(--frame-hero)!important;height:var(--frame-table)!important;min-height:0!important;max-height:none!important;gap:6px!important;padding:0 6px!important;border-width:0!important;align-content:start!important;position:relative;overflow:visible!important}
body.p200-frame :is(#practice-play,.online-active #online-play) .poker-rail{inset:12px 0!important;pointer-events:none}
body.p200-frame :is(#practice-play,.online-active #online-play) .seat{position:relative!important;display:grid!important;grid-template-columns:110px minmax(0,1fr) 154px!important;grid-template-rows:32px minmax(0,1fr) 26px!important;gap:2px 6px!important;min-width:0;min-height:0!important;height:100%!important;padding:0!important;margin:0!important;align-content:start!important;background:transparent!important;box-shadow:none!important;border-color:transparent!important}
body.p200-frame :is(#practice-play,.online-active #online-play) .opponent{grid-row:1}
body.p200-frame :is(#practice-play,.online-active #online-play) .hero{grid-row:3}
body.p200-frame :is(#practice-play,.online-active #online-play) .seat-meta{display:contents!important}
body.p200-frame :is(#practice-play,.online-active #online-play) .seat-heading{position:static!important;inset:auto!important;transform:none!important;grid-column:1/3!important;grid-row:1!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:nowrap!important;height:32px!important;min-height:0!important;width:auto!important;padding:0!important;margin:0!important;gap:5px!important}
body.p200-frame :is(#practice-play,.online-active #online-play) .seat-name{display:none!important}
body.p200-frame :is(#practice-play,.online-active #online-play) .blind-position{font-size:16px!important;line-height:22px!important;min-width:0;width:auto;padding:0 4px!important;white-space:nowrap}
body.p200-frame :is(#practice-play,.online-active #online-play) .dealer-button{position:static!important;display:inline-flex;align-items:center;justify-content:center;width:24px!important;height:24px!important;font-size:16px!important;line-height:24px;margin:0!important;flex-shrink:0}
body.p200-frame :is(#practice-play,.online-active #online-play) .dealer-button[hidden]{display:none!important}
body.p200-frame :is(#practice-play,.online-active #online-play) .time-bank{font-size:16px!important;line-height:22px!important;width:auto!important;max-width:100%;margin:0;padding:0;white-space:nowrap;overflow-wrap:normal}
body.p200-frame :is(#practice-play,.online-active #online-play) .stack-cluster{position:static!important;inset:auto!important;transform:none!important;grid-column:3!important;grid-row:1!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:22px 3px 3px!important;gap:2px!important;width:100%!important;min-width:0!important;max-width:none!important;height:32px!important;margin:0!important;padding:0!important;align-self:start!important}
body.p200-frame :is(#practice-play,.online-active #online-play) .stack{grid-column:1!important;grid-row:1!important;width:100%!important;min-width:0!important;margin:0!important;line-height:22px!important;font-size:21px!important;white-space:nowrap;text-align:right}
body.p200-frame :is(#practice-play,.online-active #online-play) .stack small{font-size:10px!important;line-height:14px!important;margin:0 0 0 2px}
body.p200-frame :is(#practice-play,.online-active #online-play) .stack-bar{grid-column:1!important;grid-row:2!important;width:100%!important;height:3px!important;margin:0!important}
body.p200-frame :is(#practice-play,.online-active #online-play) .turn-time-bar{grid-column:1!important;grid-row:3!important;width:100%!important;height:3px!important;margin:0!important;min-height:0!important}
/* Clock text remains in the independent .time-bank node above. */
body.p200-frame :is(#practice-play,.online-active #online-play) .turn-time-bar small{display:none!important}
body.p200-frame :is(#practice-play,.online-active #online-play) .profile-slot{position:static!important;inset:auto!important;transform:none!important;grid-column:1!important;grid-row:2!important;display:block!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:100%;margin:0!important;padding:0!important;align-self:center!important;pointer-events:none}
body.p200-frame :is(#practice-play,.online-active #online-play) .profile-picture{width:90px!important;height:90px!important;max-width:100%!important;margin:auto!important;object-fit:contain}
body.p200-frame :is(#practice-play,.online-active #online-play) .profile-slot figcaption{display:block!important;font-size:11px;line-height:13px;height:26px!important;min-height:0!important;margin:0!important;overflow-wrap:anywhere;overflow:hidden}
body.p200-frame :is(#practice-play,.online-active #online-play) .hand-action-row{position:static!important;inset:auto!important;transform:none!important;grid-column:2/4!important;grid-row:2/4!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr) 26px!important;gap:2px!important;min-width:0;width:100%!important;height:100%!important;min-height:0!important;padding:0!important;margin:0!important;align-items:center;justify-items:center;overflow:visible!important}
body.p200-frame :is(#practice-play,.online-active #online-play) .hand-action-row>div:empty:not(.cards){display:none}
body.p200-frame :is(#practice-play,.online-active #online-play) .hand-action-row>.cards{position:static!important;inset:auto!important;transform:none!important;grid-column:1!important;grid-row:1!important;display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:center!important;gap:4px!important;width:max-content!important;max-width:100%!important;min-height:0!important;padding:0!important;margin:0!important;order:0!important;align-self:center}
body.p200-frame :is(#practice-play,.online-active #online-play) .hand-action-row>:is(.action-side,.seat-action,.opponent-action){position:static!important;inset:auto!important;transform:none!important;grid-column:1!important;grid-row:2!important;width:100%!important;max-width:100%!important;min-height:0!important;height:26px!important;margin:0!important;padding:0!important;display:flex!important;align-items:center;justify-content:center;gap:4px;font-size:15px!important;line-height:22px!important;white-space:normal;overflow-wrap:anywhere;background:transparent!important;border:0!important;order:0!important}
body.p200-frame :is(#practice-play,.online-active #online-play) :is(.seat-action,.opponent-action) :is(strong,span){font-size:inherit!important;line-height:inherit!important;margin:0 3px 0 0!important;display:inline!important}
body.p200-frame :is(#practice-play,.online-active #online-play) .your-turn{position:static!important;inset:auto!important;transform:none!important;grid-column:1!important;grid-row:3!important;visibility:hidden;min-height:0!important;height:26px!important;padding:0!important;margin:0!important;font-size:13px!important;line-height:26px!important;text-align:center;white-space:nowrap;color:#ffe69b}
body.p200-frame :is(#practice-play,.online-active #online-play) .hero:has(.needs-action) .your-turn{visibility:visible}
body.p200-frame :is(#practice-play,.online-active #online-play) .put{display:none!important}
body.p200-frame :is(#practice-play,.online-active #online-play) .card{width:var(--frame-card-w)!important;height:var(--frame-card-h)!important;min-height:0!important;font-size:22px!important;flex:none!important;margin:0!important}
body.p200-frame :is(#practice-play,.online-active #online-play) .card .suit{font-size:22px!important}
body.p200-frame :is(#practice-play,.online-active #online-play) .board-zone{grid-column:1!important;grid-row:2!important;position:relative!important;inset:auto!important;transform:none!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:34px 20px minmax(0,1fr)!important;gap:0!important;min-height:0!important;height:100%!important;align-content:start!important;align-items:center;justify-items:center;padding:0!important;margin:0!important}
body.p200-frame :is(#practice-play,.online-active #online-play) .pot-label{position:static!important;inset:auto!important;transform:none!important;grid-column:1!important;grid-row:1!important;display:flex!important;align-items:center;justify-content:center;gap:6px;margin:0!important;padding:0!important;line-height:34px!important;font-size:13px!important;white-space:nowrap}
body.p200-frame :is(#practice-play,.online-active #online-play) :is(#pot,#online-pot){font-size:30px!important;line-height:34px!important}
body.p200-frame :is(#practice-play,.online-active #online-play) :is(#street,#online-street){position:static!important;inset:auto!important;transform:none!important;grid-column:1!important;grid-row:2!important;min-height:0!important;height:20px!important;padding:0!important;margin:0!important;font-size:15px!important;line-height:20px!important;width:auto!important;max-width:100%;white-space:nowrap}
body.p200-frame :is(#practice-play,.online-active #online-play) .board{position:static!important;inset:auto!important;transform:none!important;grid-column:1!important;grid-row:3!important;display:flex!important;align-items:center;justify-content:center;min-height:0!important;height:var(--frame-card-h)!important;padding:0!important;margin:0!important;gap:4px!important;order:0!important}
body.p200-frame :is(#practice-play,.online-active #online-play) .pot-chips{position:absolute!important;inset:-15px auto auto calc(50% + 6px)!important;margin:0!important;height:18px!important;width:52px!important;transform:scale(.75)!important;transform-origin:center top;pointer-events:none}
/* Private and exposed Stud rows preserve deal indices and owner-only reveal. */
body.p200-frame :is(#practice-play,.online-active #online-play) .stud-table-hand{position:relative!important;display:grid!important;grid-template-rows:1fr 1fr!important;gap:4px!important;width:max-content!important;height:auto!important;min-height:0!important;padding:0!important;margin:0!important}
body.p200-frame :is(#practice-play,.online-active #online-play) .stud-table-hand :is(.stud-public-row,.stud-private-row){position:static!important;display:flex!important;gap:4px;align-items:center;justify-content:center;width:max-content!important;height:auto!important;border:0;overflow:visible}
body.p200-frame :is(#practice-play,.online-active #online-play) .stud-table-hand .stud-public-row{grid-row:1}
body.p200-frame :is(#practice-play,.online-active #online-play) .stud-table-hand .stud-private-row{grid-row:2}
body.p200-frame :is(#practice-play,.online-active #online-play) .stud-card{position:relative;display:inline-flex;flex:none}
body.p200-frame :is(#practice-play,.online-active #online-play) .opponent .stud-table-hand{display:block!important;width:150px!important;height:125px!important}
body.p200-frame :is(#practice-play,.online-active #online-play) .opponent .stud-table-hand .stud-private-row{position:absolute!important;top:0;left:15px}
body.p200-frame :is(#practice-play,.online-active #online-play) .opponent .stud-table-hand .stud-public-row{position:absolute!important;top:50px;left:22px;gap:0;flex-direction:row}
body.p200-frame :is(#practice-play,.online-active #online-play) .opponent .stud-public-row .stud-card+.stud-card{margin-left:-8px}
/* Each newly dealt street sits above the previous street, during and after dealing. */
body.p200-frame :is(#practice-play,.online-active #online-play) .stud-public-row>.stud-card{position:relative}
body.p200-frame :is(#practice-play,.online-active #online-play) .hero .stud-public-row{gap:0}
body.p200-frame :is(#practice-play,.online-active #online-play) .hero .stud-public-row .stud-card+.stud-card{margin-left:-5px}
body.p200-frame :is(#practice-play,.online-active #online-play) .stud-public-row>.stud-card:nth-child(1){z-index:1}
body.p200-frame :is(#practice-play,.online-active #online-play) .stud-public-row>.stud-card:nth-child(2){z-index:2}
body.p200-frame :is(#practice-play,.online-active #online-play) .stud-public-row>.stud-card:nth-child(3){z-index:3}
body.p200-frame :is(#practice-play,.online-active #online-play) .stud-public-row>.stud-card:nth-child(4){z-index:4}
body.p200-frame :is(#practice-play,.online-active #online-play) .opponent .stud-public-row .stud-card:nth-child(1){transform:rotate(-6deg)}
body.p200-frame :is(#practice-play,.online-active #online-play) .opponent .stud-public-row .stud-card:nth-child(2){transform:translateY(8px) rotate(-2deg)}
body.p200-frame :is(#practice-play,.online-active #online-play) .opponent .stud-public-row .stud-card:nth-child(3){transform:translateY(16px) rotate(3deg)}
body.p200-frame :is(#practice-play,.online-active #online-play) .opponent .stud-public-row .stud-card:nth-child(4){transform:translateY(24px) rotate(7deg)}
body.p200-frame :is(#practice-play,.online-active #online-play) .opponent .stud-table-hand .card{width:32px!important;height:44px!important;font-size:18px!important}
/* Right history and controls share one fixed-height column. */
body.p200-frame :is(#practice-play,.online-active #online-play)>.action-panel{grid-column:2;grid-row:2;position:relative!important;inset:auto!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr) auto!important;width:100%!important;height:var(--frame-table)!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;gap:6px!important;overflow:visible!important;align-self:start}
body.p200-frame .stud-action-history{display:block;grid-row:1;min-height:0;overflow:auto;padding:8px;border:1px solid #9c8253;border-radius:9px;background:#191714e8;color:#f5e9d4}
body.p200-frame .stud-action-history h2{font-size:16px;line-height:22px;margin:0 0 6px}
body.p200-frame .stud-history-street{padding:4px 0;border-top:1px solid #8b7650}
body.p200-frame .stud-history-street h3{font-size:12px;line-height:17px;margin:0;color:#eacb82}
body.p200-frame .stud-history-street ol{margin:0;padding-left:20px;font-size:13px;line-height:18px}
body.p200-frame :is(#actions,#online-actions){grid-row:2;min-width:0}
body.p200-frame :is(#actions,#online-actions)>.buttons{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important;margin:0!important;min-height:48px}
body.p200-frame :is(#actions,#online-actions)>.buttons button{min-width:0;min-height:44px;padding:3px;font-size:14px;line-height:18px;overflow-wrap:anywhere}
body.p200-frame :is(#actions,#online-actions)>.draw-buttons{grid-template-columns:1fr 1fr!important}
body.p200-frame :is(#actions,#online-actions) .raise-controls{display:grid!important;grid-template-columns:minmax(0,1fr) 126px!important;grid-template-rows:44px 44px 44px 44px!important;gap:2px!important;margin:4px 0 0!important;padding:0!important}
body.p200-frame :is(#actions,#online-actions) .raise-row{grid-column:1/-1!important;grid-row:1!important;display:grid!important;grid-template-columns:66px 44px minmax(0,1fr) 44px!important;gap:3px!important;min-width:0}
body.p200-frame :is(#actions,#online-actions) .raise-row label{font-size:11px;line-height:14px;align-self:center;margin:0;min-width:0}
body.p200-frame :is(#actions,#online-actions) .raise-row label small{display:none}
body.p200-frame :is(#actions,#online-actions) .raise-row :is(input,button){width:100%;min-width:0!important;min-height:44px!important;height:44px!important;padding:3px!important;margin:0!important}
body.p200-frame :is(#actions,#online-actions) .raise-row input{font-size:18px!important;text-align:center}
body.p200-frame :is(#actions,#online-actions) .raise-controls>input[type=range]{grid-column:1/-1!important;grid-row:2!important;width:100%;min-height:44px!important;height:44px!important;margin:0!important;padding:0!important}
body.p200-frame :is(#actions,#online-actions) .presets{grid-column:1/-1!important;grid-row:3!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:3px!important;width:100%;margin:0!important}
body.p200-frame :is(#actions,#online-actions) .presets:has(button:nth-child(6)){grid-template-columns:repeat(6,minmax(0,1fr))!important}
body.p200-frame :is(#actions,#online-actions) .presets button{min-width:0;min-height:44px!important;height:44px;padding:2px!important;font-size:11px;line-height:14px}
body.p200-frame :is(#actions,#online-actions) .raise-controls>.range-info{grid-column:1!important;grid-row:4!important;margin:0!important;font-size:11px;line-height:14px;align-self:center;overflow-wrap:anywhere}
body.p200-frame :is(#actions,#online-actions) .amount-unit-note{display:none}
body.p200-frame :is(#actions,#online-actions) .amount-voice-details{grid-column:2!important;grid-row:4!important;min-width:0;align-self:start;position:relative}
body.p200-frame :is(#actions,#online-actions) .amount-voice-details summary{display:flex;align-items:center;justify-content:center;min-height:44px;height:44px;padding:2px;font-size:11px;line-height:14px;border:1px solid #817564;border-radius:8px;cursor:pointer;touch-action:manipulation}
body.p200-frame :is(#actions,#online-actions) .amount-voice-details[open] .amount-entry-assist{position:absolute;bottom:44px;right:0;z-index:65;width:min(320px,85vw);padding:10px;background:#26231f;border:1px solid #9c8253;border-radius:10px}
body.p200-frame :is(#practice-play,.online-active #online-play) :is(.rule-note,.current-hand-line){display:none}
body.p200-frame :is(#practice-play,.online-active #online-play) .status{position:absolute;top:0;left:0;right:0;z-index:2;font-size:12px;line-height:16px;margin:0;pointer-events:none}
body.p200-frame :is(#practice-play,.online-active #online-play) .status:not([data-error=true]){display:none}
body.p200-frame :is(#practice-play,.online-active #online-play) .result:empty{display:none}
body.p200-frame :is(#practice-play,.online-active #online-play) .result{position:absolute;left:0;right:0;bottom:188px;display:grid;grid-template-columns:minmax(0,1fr) 94px;gap:0 4px;max-height:60px;margin:0;padding:0;background:transparent;border:0;font-size:11px;line-height:13px}
body.p200-frame :is(#practice-play,.online-active #online-play) .result p{grid-column:1;margin:0;font-size:11px;line-height:13px}
body.p200-frame :is(#practice-play,.online-active #online-play) .result p.muted{display:none}
body.p200-frame :is(#practice-play,.online-active #online-play) .result button{grid-column:2;grid-row:1/4;min-height:44px;height:48px;padding:3px;font-size:13px;line-height:16px;align-self:center}
body.p200-frame :is(#practice-main,.online-active #online-main)[data-frame-limit=fixed] .result{bottom:0;max-height:100%}
body.p200-frame :is(#hero-cards,#you-cards).needs-action{outline:2px solid #b9925a;outline-offset:2px;border-radius:7px}
body.p200-frame :is(#hero-cards,#you-cards) .draw-card-choice{position:relative;border:0;padding:0;background:transparent;color:inherit;cursor:pointer;flex:none;min-height:44px;min-width:44px}
body.p200-frame .draw-card-choice.draw-selected{outline:2px dashed #c7ad72;outline-offset:2px}
body.p200-frame .draw-card-choice.draw-selected .card{opacity:.28}
body.p200-frame .draw-choice-mark{display:none;position:absolute;inset:35% 0 auto;font-size:11px;color:#b79e67;font-weight:900}
body.p200-frame .draw-selected .draw-choice-mark{display:block}
.start-chooser{display:grid;gap:8px;padding:12px;margin:8px 0 14px;border:1px solid #9c8253;border-radius:10px;background:#342e26}.start-chooser select,.start-chooser button{min-height:44px;margin:0;width:100%}#host-create-controls>#create-room{display:block;width:100%;min-height:44px;margin:8px 0 12px}
@media(max-width:899px){
 body.p200-frame:has(#practice-main),body.p200-frame.online-active{overflow-x:hidden!important;overflow-y:auto!important}
 body.p200-frame :is(#practice-main,.online-active #online-main){grid-template-rows:44px minmax(0,1fr)!important;--frame-card-w:38px;--frame-card-h:50px}
 body.p200-frame :is(#practice-main,.online-active #online-main)>header{justify-content:flex-end!important}
 body.p200-frame :is(#practice-main,.online-active #online-main)>header>div:first-child{display:none}
 body.p200-frame :is(#practice-main,.online-active #online-main) .header-tools>a{display:none}
 body.p200-frame :is(#practice-main,.online-active #online-main) .header-tools button[data-short]{min-width:44px!important;width:44px!important;font-size:0!important;padding:2px!important}
 body.p200-frame :is(#practice-main,.online-active #online-main) .header-tools button[data-short]::after{content:attr(data-short);font:700 12px/18px system-ui}
 body.p200-frame :is(#practice-main,.online-active #online-main)>.current-game-banner{position:absolute!important;inset:max(8px,env(safe-area-inset-top)) auto auto 8px!important;width:calc(100% - 160px)!important;height:44px!important;padding:0!important;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;border:0}
 body.p200-frame :is(#practice-main,.online-active #online-main) .current-game-banner h2{font-size:14px!important;line-height:15px;white-space:normal;overflow-wrap:normal}
 body.p200-frame :is(#practice-main,.online-active #online-main) .game-limit{font-size:10px!important;line-height:12px;padding:0 3px!important}
 body.p200-frame :is(#practice-play,.online-active #online-play){grid-row:2;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:20px var(--frame-table) var(--frame-action)!important;gap:4px!important}
 body.p200-frame :is(#practice-play,.online-active #online-play)>.session-bar{font-size:11px;line-height:20px;gap:4px}
 body.p200-frame :is(#practice-play,.online-active #online-play)>.session-bar :is(#round-label,#rank-summary){display:none}
 body.p200-frame :is(#practice-play,.online-active #online-play)>.table{padding:0!important;border:0!important}
 body.p200-frame :is(#practice-play,.online-active #online-play) .seat{grid-template-columns:60px minmax(0,1fr) 110px!important;grid-template-rows:30px minmax(0,1fr) 18px!important;gap:0 4px!important;border:0!important}
 body.p200-frame :is(#practice-play,.online-active #online-play) .seat-heading{height:30px!important;gap:3px!important}
 body.p200-frame :is(#practice-play,.online-active #online-play) .time-bank{font-size:13px!important;line-height:20px!important;letter-spacing:-.02em}
 body.p200-frame :is(#practice-play,.online-active #online-play) .blind-position{font-size:13px!important;line-height:20px!important;padding:0 2px!important}
 body.p200-frame :is(#practice-play,.online-active #online-play) .dealer-button{width:20px!important;height:20px!important;font-size:13px!important;line-height:20px}
 body.p200-frame :is(#practice-play,.online-active #online-play) .stack-cluster{height:30px!important;grid-template-rows:22px 2px 2px!important;gap:2px!important}
 body.p200-frame :is(#practice-play,.online-active #online-play) .stack{font-size:19px!important}
 body.p200-frame :is(#practice-play,.online-active #online-play) .profile-picture{width:52px!important;height:52px!important}
 body.p200-frame :is(#practice-play,.online-active #online-play) .profile-slot figcaption{position:absolute;left:0;bottom:0;width:60px;height:16px!important;font-size:10px;line-height:16px;white-space:nowrap;overflow:hidden}
 body.p200-frame :is(#practice-play,.online-active #online-play) .hero .profile-slot figcaption{bottom:18px}
 body.p200-frame :is(#practice-play,.online-active #online-play) .your-turn{font-size:10px!important;line-height:18px!important;height:18px!important}
 body.p200-frame :is(#practice-play,.online-active #online-play) .hand-action-row{grid-template-rows:minmax(0,1fr) 20px!important;gap:0!important}
 body.p200-frame :is(#practice-play,.online-active #online-play) .hand-action-row>:is(.action-side,.seat-action,.opponent-action){height:20px!important;font-size:12px!important;line-height:18px!important}
 body.p200-frame :is(#practice-play,.online-active #online-play) .board-zone{grid-template-rows:24px 24px minmax(0,1fr)!important}
 body.p200-frame :is(#practice-play,.online-active #online-play) .pot-label{line-height:24px!important;font-size:11px!important}
 body.p200-frame :is(#practice-play,.online-active #online-play) :is(#pot,#online-pot){font-size:24px!important;line-height:24px!important}
 body.p200-frame :is(#practice-play,.online-active #online-play) :is(#street,#online-street){height:24px!important;font-size:13px!important;line-height:24px!important}
 body.p200-frame :is(#practice-play,.online-active #online-play) .board{height:40px!important}
 body.p200-frame :is(#practice-play,.online-active #online-play) .board .card{width:30px!important;height:40px!important;font-size:17px!important}
 body.p200-frame :is(#practice-play,.online-active #online-play) .board .card .suit{font-size:17px!important}
 body.p200-frame :is(#practice-play,.online-active #online-play) .pot-chips{transform:scale(.55)!important}
 body.p200-frame :is(#practice-play,.online-active #online-play)>.action-panel{grid-column:1;grid-row:3;display:block!important;height:var(--frame-action)!important;padding:4px!important;gap:0!important;border:0;box-shadow:none;background:transparent}
 body.p200-frame .stud-action-history{display:none!important}
 body.p200-frame :is(#actions,#online-actions){min-height:52px}
 body.p200-frame :is(#actions,#online-actions)>.buttons{min-height:52px;align-items:start}
 body.p200-frame :is(#actions,#online-actions):not(:has(>.buttons))::before{content:'';display:block;height:52px}
 body.p200-frame :is(#actions,#online-actions) .raise-controls{margin-top:4px!important}
 body.p200-frame :is(#practice-play,.online-active #online-play) .result{top:4px;bottom:auto;left:4px;right:4px;height:52px;max-height:52px}
 body.p200-frame :is(#practice-main,.online-active #online-main)[data-frame-family=stud] .hero .stud-table-hand .card{width:32px!important;height:44px!important;font-size:18px!important}
 body.p200-frame :is(#practice-main,.online-active #online-main)[data-frame-family=stud] .opponent .stud-table-hand{width:136px!important;height:124px!important}
 body.p200-frame :is(#practice-main,.online-active #online-main)[data-frame-family=stud] .opponent .profile-slot{align-self:center!important}
}
@media(prefers-reduced-motion:reduce){body.p200-frame .card{transition:none!important}}
/* Completion keeps the same reserved command lane as live play. */
body.p200-frame :is(#actions,#online-actions):not(:has(>.buttons))::before{content:'';display:block;height:52px}
body.p200-frame :is(#practice-main,.online-active #online-main)[data-frame-limit=fixed] :is(#actions,#online-actions){min-height:126px}
/* Guest cue animation stays inside the seat's hand lane, never over the pot. */
body.p200-frame :is(#practice-play,.online-active #online-play) .table-cue{position:absolute!important;inset:auto 0 0 116px!important;min-height:0!important;height:26px!important;padding:0!important;border:0!important;border-radius:0;box-shadow:none!important;background:#26231f;z-index:5;display:flex;align-items:center;justify-content:center}
body.p200-frame :is(#practice-play,.online-active #online-play) .table-cue:empty{display:none!important}
body.p200-frame :is(#practice-play,.online-active #online-play) .table-cue strong{font-size:13px!important;line-height:20px!important;margin:0;letter-spacing:0}
body.p200-frame :is(#practice-play,.online-active #online-play) .table-cue small{display:none}
body.p200-frame :is(#practice-play,.online-active #online-play) .table-cue.cue-draw{inset:32px 0 0 116px!important;height:auto!important;min-height:0!important;display:flex;flex-direction:column-reverse;justify-content:space-between;background:transparent}
body.p200-frame :is(#practice-play,.online-active #online-play) .draw-stage{position:relative;transform:none!important;flex:1;width:100%;max-width:240px;min-height:0;height:auto;margin:0}
body.p200-frame :is(#practice-play,.online-active #online-play) .cue-back{width:28px;height:36px;left:calc(50% - 84px + var(--slot)*35px);top:0}
body.p200-frame :is(#practice-play,.online-active #online-play) .draw-muck{top:auto;bottom:0;font-size:9px;line-height:12px}
body.p200-frame :is(#practice-play,.online-active #online-play) .cue-leave{animation:frame-cue-muck 1200ms both}
body.p200-frame :is(#practice-play,.online-active #online-play) .cue-refill{animation:frame-cue-refill 1200ms both}
body.p200-frame .hand-action-row:has(.table-cue.cue-draw:not(:empty))>.cards{visibility:hidden!important}
@keyframes frame-cue-muck{0%{transform:translateY(0);opacity:1}37.5%,62.5%{transform:translateY(16px);opacity:1}100%{transform:translateY(16px);opacity:0}}
@keyframes frame-cue-refill{0%,62.5%{transform:translateY(-12px);opacity:0}100%{transform:translateY(0);opacity:1}}
@media(max-width:899px){
 body.p200-frame :is(#practice-play,.online-active #online-play) .opponent{--frame-seat-height:var(--frame-opponent)}
 body.p200-frame :is(#practice-play,.online-active #online-play) .hero{--frame-seat-height:var(--frame-hero)}
 body.p200-frame :is(#practice-play,.online-active #online-play) .profile-picture{height:clamp(32px,calc(var(--frame-seat-height) - 80px),52px)!important}
 body.p200-frame :is(#practice-play,.online-active #online-play) .profile-slot figcaption{position:static!important;height:16px!important;line-height:16px;width:60px}
 body.p200-frame :is(#practice-play,.online-active #online-play) .opponent .hand-action-row>.cards:not(.stud-hand) .card{width:32px!important;height:44px!important;font-size:18px!important}
 body.p200-frame :is(#practice-play,.online-active #online-play) .table-cue{inset:auto 0 0 64px!important;height:20px!important}
 body.p200-frame :is(#practice-play,.online-active #online-play) .table-cue.cue-draw{inset:30px 0 0 64px!important;height:auto!important}
}
@media(prefers-reduced-motion:reduce){body.p200-frame .cue-leave,body.p200-frame .cue-refill{animation:none!important}}
/* A retry uses the reserved command slot rather than adding a new row. */
body.p200-frame :is(#actions,#online-actions)>:is(#retry,#retry-inline){position:absolute;top:4px;left:4px;right:4px;width:calc(100% - 8px);min-height:44px;height:44px;padding:3px}
html:has(body.p200-frame #practice-main),html:has(body.p200-frame.online-active){overflow-x:hidden!important;overflow-y:auto!important}
body.p200-frame :is(#practice-play,.online-active #online-play) :is(#street,#online-street).result-banner{font-size:20px!important;line-height:20px!important;min-height:0!important;letter-spacing:.02em!important}
@media(max-width:899px){body.p200-frame :is(#practice-play,.online-active #online-play) :is(#street,#online-street).result-banner{font-size:18px!important;line-height:24px!important}}
/* Long Hi/Lo hand descriptions are explicitly expandable; payout and Next stay visible. */
body.p200-frame :is(#practice-play,.online-active #online-play) .result{grid-template-columns:minmax(0,1fr) 70px 94px;grid-template-rows:20px 32px;height:52px;max-height:52px;align-items:center}
body.p200-frame :is(#practice-play,.online-active #online-play) .result:not(:has(button)){grid-template-columns:minmax(0,1fr) 70px}
body.p200-frame :is(#practice-play,.online-active #online-play) .result .result-awards{grid-column:1;grid-row:1/3;align-self:center;font-size:11px;line-height:14px}
body.p200-frame :is(#practice-play,.online-active #online-play) .result .guest-result-outcome{grid-column:1;grid-row:1;font-size:13px;line-height:18px}
body.p200-frame :is(#practice-play,.online-active #online-play) .result:has(.guest-result-outcome) .result-awards{grid-row:2}
body.p200-frame :is(#practice-play,.online-active #online-play) .result button{grid-column:3;grid-row:1/3;margin:0!important}
body.p200-frame :is(#practice-play,.online-active #online-play) .result-breakdown{grid-column:2;grid-row:1/3;position:static;min-width:0}
body.p200-frame :is(#practice-play,.online-active #online-play) .result-breakdown summary{display:flex;align-items:center;justify-content:center;min-height:44px;height:44px;border:1px solid #817564;border-radius:8px;font-size:11px;line-height:14px;cursor:pointer;touch-action:manipulation}
body.p200-frame :is(#practice-play,.online-active #online-play) .result-breakdown[open]>div{position:absolute;bottom:56px;right:0;z-index:66;max-height:55vh;overflow:auto;width:min(320px,85vw);padding:12px;background:#26231f;border:1px solid #9c8253;border-radius:10px;font-size:14px;line-height:20px}
body.p200-frame :is(#actions,#online-actions)>:is(#raise-big,#online-raise-big){position:static!important;display:block;width:100%;min-height:44px;height:44px;margin:4px 0 0;padding:3px;font-size:14px}
body.p200-frame :is(#practice-play,.online-active #online-play) .table-cue{overflow:visible!important}
@media(max-width:899px){:is(#battle-current-history,#battle-past-history)[open]{top:calc(max(8px,env(safe-area-inset-top)) + 46px);max-height:calc(var(--p200-action-top,70dvh) - max(8px,env(safe-area-inset-top)) - 58px)}}
@media(min-width:900px){
 body.p200-frame :is(#practice-play,.online-active #online-play) .opponent .profile-picture{height:min(90px,calc(var(--frame-opponent) - 84px))!important}
 body.p200-frame :is(#practice-play,.online-active #online-play) .hero .profile-picture{height:min(90px,calc(var(--frame-hero) - 84px))!important}
}

/* v55: reserve independent command lanes and keep pause out of the 20px session row. */
body.p200-frame :is(#actions,#online-actions){position:relative}
@media(min-width:900px){body.p200-frame :is(#practice-main,.online-active #online-main)[data-frame-limit=fixed] .result{bottom:74px}}
@media(max-width:899px){
 body.p200-frame.online-active #online-main:has(#online-pause:not([hidden]))>.current-game-banner{width:calc(100% - 208px)!important}
}

/* v56: short safe-area screens reclaim whitespace, never control/font size. */
@media(max-width:899px){
 body.p200-frame :is(#practice-main,.online-active #online-main)[data-frame-compact=true]{gap:2px!important}
 body.p200-frame :is(#practice-main,.online-active #online-main)[data-frame-compact=true] :is(#practice-play,#online-play){gap:2px!important}
 body.p200-frame :is(#practice-main,.online-active #online-main)[data-frame-compact=true] .table{gap:2px!important}
 body.p200-frame :is(#practice-main,.online-active #online-main)[data-frame-compact=true][data-frame-limit=variable] .action-panel{padding:2px!important}
 body.p200-frame :is(#practice-main,.online-active #online-main)[data-frame-compact=true][data-frame-limit=variable] .raise-controls{gap:0!important;margin-top:0!important}
}

@media(max-width:899px){
 body.p200-frame :is(#practice-main,.online-active #online-main)[data-frame-compact=true][data-frame-limit=variable] .result{top:2px}
 body.p200-frame :is(#practice-main,.online-active #online-main)[data-frame-compact=true][data-frame-limit=variable] .action-panel>.manual-reaction{bottom:6px}
}

/* Private mobile candidate: preserve labels/amounts; separate minimum clamp marker. */
body.p200-frame :is(#actions,#online-actions) .presets .preset-minimum{display:block;font:inherit;line-height:13px;white-space:nowrap}
@media(max-width:899px){
 /* Reserve independent character columns, including five-card showdown. */
 body.p200-frame :is(#practice-play,.online-active #online-play) .opponent .profile-slot{justify-self:start!important}
 body.p200-frame :is(#practice-play,.online-active #online-play) .opponent .profile-picture{margin-left:0!important;margin-right:auto!important}
 body.p200-frame :is(#practice-play,.online-active #online-play) .hero{grid-template-columns:84px minmax(0,1fr) 110px!important}
 body.p200-frame :is(#practice-play,.online-active #online-play) .hero .profile-picture{width:78px!important;height:clamp(32px,calc(var(--frame-hero) - 64px),78px)!important}
 body.p200-frame :is(#practice-play,.online-active #online-play) .hero .profile-slot figcaption{width:84px}
 body.p200-frame :is(#practice-play,.online-active #online-play) .hero .table-cue{left:88px!important}
 body.p200-frame :is(#practice-play,.online-active #online-play) .hero .hand-action-row>.cards:not(.stud-hand){gap:3px!important}
 body.p200-frame :is(#actions,#online-actions) .presets button{overflow-wrap:normal;word-break:normal;line-height:14px}
}

/* Short visible viewport: preserve 44px hit targets while relocating auxiliary controls. */
@media(max-width:899px){
 body.p200-frame :is(#practice-main,#online-main)[data-frame-dense=true] .action-panel{padding:2px!important}
 body.p200-frame :is(#practice-main,#online-main)[data-frame-dense=true] :is(#actions,#online-actions){min-height:44px}
 body.p200-frame :is(#practice-main,#online-main)[data-frame-dense=true] :is(#actions,#online-actions)>.buttons{min-height:44px}
 body.p200-frame :is(#practice-main,#online-main)[data-frame-dense=true] :is(#actions,#online-actions):not(:has(>.buttons))::before{height:44px}
 body.p200-frame :is(#practice-main,#online-main)[data-frame-dense=true] .raise-controls{grid-template-columns:minmax(0,1fr) 96px!important;grid-template-rows:44px 44px 44px 20px!important;gap:0!important;margin-top:0!important}
 body.p200-frame :is(#practice-main,#online-main)[data-frame-dense=true] .raise-controls>input[type=range]{grid-column:1!important;grid-row:2!important}
 body.p200-frame :is(#practice-main,#online-main)[data-frame-dense=true] .amount-voice-details{grid-column:2!important;grid-row:2!important;width:44px!important;margin-left:0}
 body.p200-frame :is(#practice-main,#online-main)[data-frame-dense=true] .raise-controls>.range-info{grid-column:1/-1!important;grid-row:4!important;font-size:11px;line-height:18px;white-space:normal}
 body.p200-frame :is(#practice-main,#online-main)[data-frame-dense=true][data-frame-limit=variable] .action-panel>.manual-reaction{top:90px!important;bottom:auto!important;right:2px!important}
 body.p200-frame :is(#practice-main,#online-main)[data-frame-dense=true][data-frame-limit=fixed] :is(#actions,#online-actions){min-height:96px}
 body.p200-frame :is(#practice-main,#online-main)[data-frame-dense=true][data-frame-limit=fixed] .action-panel>.manual-reaction{top:50px!important;bottom:auto!important;right:2px!important}
 body.p200-frame :is(#practice-main,#online-main)[data-frame-dense=true] .result{top:2px!important;height:44px!important;max-height:44px!important;grid-template-rows:18px 26px}
 body.p200-frame :is(#practice-main,#online-main)[data-frame-dense=true] .result button{height:44px!important}
}

/* Equal side lanes keep the active opponent wager left of a centered pot, even
   for large amounts and on a narrow phone. */
body.p200-frame #practice-play .table .board-zone{
 grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
}
body.p200-frame #practice-play .board-zone .pot-label{grid-column:2!important}
body.p200-frame #practice-play .board-zone #street{grid-column:2!important}
body.p200-frame #practice-play .board-zone #board{grid-column:1/-1!important}
body.p200-frame #practice-play .board-zone .opponent-wager{
 position:static!important;grid-column:1;grid-row:1;justify-self:end;
 width:auto;max-width:100%;padding-right:8px;text-align:right;
 font-size:13px;line-height:16px;
}

/* Give the hero's two meters 5px each inside the existing 32px lane. */
body.p200-frame #practice-play .hero .stack-cluster{
 grid-template-rows:20px 5px 5px!important;gap:1px!important;height:32px!important;
}
body.p200-frame #practice-play .hero .stack{line-height:20px!important}
body.p200-frame #practice-play .hero :is(.stack-bar,.turn-time-bar){height:5px!important}
@media(max-width:899px){
 body.p200-frame #practice-play .board-zone .opponent-wager{font-size:11px;line-height:14px;padding-right:4px}
 body.p200-frame #practice-play .hero .stack-cluster{grid-template-rows:18px 5px 5px!important;height:30px!important}
 body.p200-frame #practice-play .hero .stack{line-height:18px!important}
}

/* Draw and Stud use a distinct hero lane: cards first, then stack and both
   meters, then the turn cue. Flop keeps its established header stack. */
body.p200-frame :is(#practice-main,.online-active #online-main):is([data-frame-family=draw],[data-frame-family=stud]) :is(#practice-play,#online-play) .hero{
 grid-template-rows:32px minmax(0,1fr) 32px 26px!important;
}
body.p200-frame :is(#practice-main,.online-active #online-main):is([data-frame-family=draw],[data-frame-family=stud]) :is(#practice-play,#online-play) .hero .hand-action-row{grid-row:2!important}
body.p200-frame :is(#practice-main,.online-active #online-main):is([data-frame-family=draw],[data-frame-family=stud]) :is(#practice-play,#online-play) .hero .stack-cluster{
 grid-column:2/4!important;grid-row:3!important;justify-self:center!important;
 width:min(100%,360px)!important;grid-template-rows:20px 5px 5px!important;
 gap:1px!important;height:32px!important;
}
body.p200-frame :is(#practice-main,.online-active #online-main):is([data-frame-family=draw],[data-frame-family=stud]) :is(#practice-play,#online-play) .hero .stack{line-height:20px!important;text-align:center!important}
body.p200-frame :is(#practice-main,.online-active #online-main):is([data-frame-family=draw],[data-frame-family=stud]) :is(#practice-play,#online-play) .hero :is(.stack-bar,.turn-time-bar){height:5px!important}
body.p200-frame :is(#practice-main,.online-active #online-main):is([data-frame-family=draw],[data-frame-family=stud]) :is(#practice-play,#online-play) .hero .your-turn{grid-row:4!important}
@media(max-width:899px){
 body.p200-frame :is(#practice-main,.online-active #online-main):is([data-frame-family=draw],[data-frame-family=stud]) :is(#practice-play,#online-play) .hero{grid-template-rows:30px minmax(0,1fr) 30px 18px!important}
 body.p200-frame :is(#practice-main,.online-active #online-main):is([data-frame-family=draw],[data-frame-family=stud]) :is(#practice-play,#online-play) .hero .stack-cluster{grid-template-rows:18px 5px 5px!important;height:30px!important}
 body.p200-frame :is(#practice-main,.online-active #online-main):is([data-frame-family=draw],[data-frame-family=stud]) :is(#practice-play,#online-play) .hero .stack{line-height:18px!important}
}
/* A 360×640 Stud frame has a 166px hero lane. Preserve all four lanes by
   tightening only the two-row Stud cards and last-action text there. */
@media(max-width:899px) and (max-height:680px){
 body.p200-frame :is(#practice-main,.online-active #online-main)[data-frame-family=stud] :is(#practice-play,#online-play) .hero .hand-action-row{grid-template-rows:minmax(0,1fr) 16px!important}
 body.p200-frame :is(#practice-main,.online-active #online-main)[data-frame-family=stud] :is(#practice-play,#online-play) .hero .hand-action-row>:is(.action-side,.seat-action){height:16px!important;line-height:16px!important}
 body.p200-frame :is(#practice-main,.online-active #online-main)[data-frame-family=stud] :is(#practice-play,#online-play) .hero .stud-table-hand{gap:2px!important}
 body.p200-frame :is(#practice-main,.online-active #online-main)[data-frame-family=stud] :is(#practice-play,#online-play) .hero .stud-table-hand .card{height:34px!important;font-size:15px!important}
 body.p200-frame :is(#practice-main,.online-active #online-main)[data-frame-family=stud] :is(#practice-play,#online-play) .hero .stud-table-hand .card .suit{font-size:15px!important}
}
