.table-options{max-width:520px;max-height:85dvh;overflow:auto}.table-options h2{display:inline-block;margin-right:35px}.table-options label{margin-top:20px}.table-options p{font-size:13px}.options-button{font-size:12px;min-height:34px;padding:5px 12px}.stbl-layout .meld-line{position:relative;padding-bottom:20px}.canasta-ribbon{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:9px;font-weight:700;letter-spacing:1px;border-radius:3px;background:#727b78;color:white}.canasta-ribbon.clean{background:#d4af37;color:#14241d}.stbl-layout .meld-zone h3{font-size:12px!important;color:#e7d6a1!important;letter-spacing:.4px!important}.motion-off .card,.motion-off .table-event,.motion-off .morto-arriving{animation:none!important;transition:none!important}body[data-deck=blue] .deck-back,body[data-deck=blue] .mini-back{background:repeating-linear-gradient(45deg,#142a46,#142a46 5px,#2d5370 6px)!important}body[data-deck=wine] .deck-back,body[data-deck=wine] .mini-back{background:repeating-linear-gradient(45deg,#51232c,#51232c 5px,#834050 6px)!important}
/* Stable viewport board: updates never change the height of the hand or team zones. */
body.playing:has(.stbl-layout){height:100dvh;overflow:hidden}
body.playing:has(.stbl-layout)>header{height:44px;min-height:44px;padding-block:4px}
body.playing:has(.stbl-layout) main{height:calc(100dvh - 44px);padding:6px 12px!important;max-width:none;overflow:hidden;box-sizing:border-box}
#match.stbl-layout{height:100%;display:grid;grid-template-rows:36px 25px 38px minmax(0,1fr);gap:3px;position:relative}
#match.stbl-layout[hidden]{display:none}
#match.stbl-layout>.row{margin:0;min-height:0;gap:8px}
#match.stbl-layout h1{font-size:18px;margin:0}#match.stbl-layout .eyebrow{display:none}
#match.stbl-layout #score{font-size:11px;padding:3px 10px;margin:0}#match.stbl-layout #connection{font-size:10px}
#match.stbl-layout #back{font-size:11px;min-height:28px;padding:4px 10px}
#match.stbl-layout .table-toolbar{grid-row:3;margin:0;display:flex;justify-content:space-between;align-items:center;gap:8px}
#match.stbl-layout .theme-picker{display:none}.stbl-layout .sort-buttons button{min-height:28px;padding:4px 12px;font-size:11px}
#match.stbl-layout .felt{grid-row:4;margin:0!important;height:100%!important;min-height:0;box-sizing:border-box;overflow:hidden!important;padding:10px!important;display:grid;grid-template-rows:minmax(0,1fr) 140px 16px;gap:4px;border-radius:20px}
#match.stbl-layout .table-arena{height:100%!important;min-height:0!important;display:grid!important;grid-template-columns:1fr!important;grid-template-rows:64px minmax(0,1fr) 88px minmax(0,1fr)!important;gap:5px!important}
#match.stbl-layout #opponents{grid-row:1;position:static!important;display:flex!important;justify-content:space-around;gap:8px;min-height:0}
#match.stbl-layout #opponents .seat{position:relative!important;inset:auto!important;transform:none!important;display:grid!important;grid-template-columns:48px minmax(0,1fr);grid-template-rows:repeat(3,auto);width:auto!important;min-width:0!important;max-width:240px;flex:1;padding:3px 8px!important;border:2px solid transparent;border-radius:12px;box-sizing:border-box}
#match.stbl-layout .seat img{width:48px!important;height:48px!important;grid-row:1/4}#match.stbl-layout .seat span{font-size:12px!important;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#match.stbl-layout .seat small{font-size:10px!important}#match.stbl-layout .mini-hand{display:none!important}
#match.stbl-layout #opponents .active-seat{background:#edd08224;border-color:#ffda6c;box-shadow:0 0 16px #edc86155}
#match.stbl-layout .active-seat .seat-clock{color:#ffdf80;font-weight:900}#match.stbl-layout .active-seat:after{content:'';position:absolute;left:7px;bottom:0;width:var(--remaining,100%);max-width:calc(100% - 14px);height:3px;background:#ffda6c;border-radius:3px}#match.stbl-layout .urgent{border-color:#ff9475!important}
#match.stbl-layout #melds{display:contents!important}
#match.stbl-layout .meld-zone{position:relative!important;inset:auto!important;grid-column:1!important;width:100%!important;height:100%!important;min-height:0!important;box-sizing:border-box;padding:23px 8px 5px!important;display:grid!important;gap:5px!important;overflow:hidden!important;align-content:stretch;grid-template-columns:repeat(var(--meld-cols,3),minmax(0,1fr));grid-template-rows:repeat(var(--meld-rows,1),minmax(0,1fr))}
#match.stbl-layout .meld-other{grid-row:2!important}#match.stbl-layout .meld-own{grid-row:4!important}
#match.stbl-layout .meld-zone h3{position:absolute!important;top:4px;left:8px;margin:0!important;font-size:10px!important;width:auto;transform:none}
#match.stbl-layout .meld-line{position:relative;min-width:0;width:100%;height:100%;min-height:0;display:block;padding:0!important;margin:0;overflow:visible}
#match.stbl-layout .meld-line .card{position:absolute!important;top:0;left:calc(var(--card-i)*var(--card-step));width:var(--card-w)!important;height:var(--card-h)!important;margin:0!important;max-width:none;box-sizing:border-box}
#match.stbl-layout .meld-line .card-index b{font-size:clamp(12px,2.1vh,23px)}#match.stbl-layout .meld-line .card-index i{font-size:12px}#match.stbl-layout .meld-line .card-pip{font-size:25px}
#match.stbl-layout .canasta-ribbon{top:calc(var(--card-h) - 13px);bottom:auto;width:calc(var(--card-w) + (var(--card-n) - 1)*var(--card-step));height:13px;font-size:8px;line-height:13px;z-index:2}
#match.stbl-layout .drop-hint{display:none}
#match.stbl-layout #center{position:relative!important;inset:auto!important;transform:none!important;grid-row:3!important;grid-column:1!important;width:100%!important;height:88px;min-height:0!important;display:grid!important;grid-template-columns:54px minmax(0,1fr) 52px!important;gap:15px!important;padding:0!important;margin:0!important}
#match.stbl-layout .pile{height:88px;min-height:0;padding:0;max-width:none}#match.stbl-layout .stock-pile .deck-back,#match.stbl-layout .empty-pile,#match.stbl-layout .discard-fan .card{width:46px!important;height:65px!important;min-width:0}
#match.stbl-layout .stock-pile strong{bottom:22px}#match.stbl-layout .pile small{font-size:9px;letter-spacing:.5px}#match.stbl-layout .discard-fan{display:flex;justify-content:flex-start;align-items:center;height:66px;padding:0;gap:0}#match.stbl-layout .discard-pile{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
#match.stbl-layout .discard-fan .card-index b{font-size:21px}#match.stbl-layout .discard-fan .card-pip{font-size:26px}#match.stbl-layout .dead-piles{display:flex;flex-direction:column;gap:5px;width:52px}#match.stbl-layout .dead-piles .mini-back{width:39px;height:24px;line-height:22px;font-size:16px}#match.stbl-layout .dead-piles small{font-size:8px}
#match.stbl-layout .pending-purchase{outline:2px solid #ffda6c;border-radius:8px;background:#ffda6c16}
#match.stbl-layout .hand-dock{height:140px!important;min-height:0!important;padding:0!important;margin:0!important;display:grid;grid-template-rows:25px minmax(0,1fr);min-width:0}
#match.stbl-layout .hand-heading{margin:0;padding:0;gap:8px;min-height:25px}#match.stbl-layout .hand-heading h3{font-size:11px;margin:0}#match.stbl-layout .hand-heading span{font-size:10px;display:block}#match.stbl-layout .hand-heading button{min-height:22px;padding:2px 8px;font-size:10px}
#match.stbl-layout #hand{display:block!important;position:relative;height:100%;width:100%;min-height:0;padding:0!important;overflow:visible!important}
#match.stbl-layout #hand .card{position:absolute!important;left:var(--hand-x);top:var(--hand-y);width:var(--hand-w)!important;height:var(--hand-h)!important;margin:0!important;transform:none!important;box-sizing:border-box;transition:box-shadow .15s}
#match.stbl-layout #hand .card-index b{font-size:clamp(15px,2.7vh,28px)}#match.stbl-layout #hand .card-index i{font-size:14px}#match.stbl-layout #hand .card-pip{font-size:32px}
#match.stbl-layout .table-signature{display:none}
#match.stbl-layout .match-reference{position:static!important;margin:0!important;padding:0!important;font-size:8px;line-height:14px;opacity:.65;justify-content:flex-end;gap:6px}
#match.stbl-layout .match-reference button{min-height:14px;padding:0 4px;font-size:8px;border:0;background:transparent}.match-reference span{user-select:text}
#match.stbl-layout #actions:has(#nextRound[hidden]){display:none}#match.stbl-layout #actions:not(:has(#nextRound[hidden])){position:absolute;z-index:10;bottom:165px;right:20px;padding:6px}
.table-feedback{position:fixed;top:92px;bottom:auto;left:50%;max-width:min(540px,90vw);padding:9px 16px;font-size:12px;border-radius:10px;pointer-events:none}
.joker-art{position:absolute;width:76%;height:82%;object-fit:contain;left:19%;top:6%}.joker-word{position:absolute;bottom:5%;left:0;right:0;font-size:8px;font-weight:900;letter-spacing:1px;text-align:center}.joker-card.red .joker-art{filter:hue-rotate(315deg)}.joker-card .card-index{z-index:1}.joker-card .card-index b{font-size:18px!important}
.meld-preview{position:fixed;max-width:calc(100vw - 16px);max-height:40dvh;overflow:auto;pointer-events:none}.preview-cards{flex-wrap:wrap!important}
@media(max-width:700px){body.playing:has(.stbl-layout)>header{display:none}body.playing:has(.stbl-layout) main{height:100dvh;padding:4px!important}#match.stbl-layout{grid-template-rows:30px 21px 32px minmax(0,1fr)}#match.stbl-layout h1{font-size:14px}#match.stbl-layout #score{font-size:9px}#match.stbl-layout .felt{padding:7px!important;grid-template-rows:minmax(0,1fr) 130px 14px}#match.stbl-layout .table-arena{grid-template-rows:55px minmax(0,1fr) 88px minmax(0,1fr)!important}#match.stbl-layout #opponents{gap:1px}#match.stbl-layout #opponents .seat{padding:2px!important;grid-template-columns:30px minmax(0,1fr)}#match.stbl-layout .seat img{width:29px!important;height:29px!important}#match.stbl-layout .seat span{font-size:9px!important}#match.stbl-layout .seat small{font-size:8px!important}#match.stbl-layout .hand-dock{height:130px!important}#match.stbl-layout .match-reference{font-size:6px}#match.stbl-layout .meld-zone{padding-top:19px!important}#match.stbl-layout .meld-zone h3{font-size:8px!important}}
@media(max-height:540px){#match.stbl-layout .felt{grid-template-rows:minmax(0,1fr) 80px 12px}#match.stbl-layout .hand-dock{height:80px!important}#match.stbl-layout .table-arena{grid-template-rows:40px minmax(0,1fr) 52px minmax(0,1fr)!important}#match.stbl-layout #center{height:52px}#match.stbl-layout .pile{height:52px}#match.stbl-layout .stock-pile .deck-back,#match.stbl-layout .empty-pile,#match.stbl-layout .discard-fan .card{height:36px!important;width:26px!important}#match.stbl-layout .discard-fan{height:36px}#match.stbl-layout .seat img{height:30px!important;width:30px!important}}
#match.stbl-layout .table-toolbar{position:static!important;inset:auto!important;transform:none!important;width:auto!important}
#match.stbl-layout .stock-pile .deck-back{margin:0 auto!important;box-sizing:border-box}
#match.stbl-layout .stock-pile{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px}
#match.stbl-layout .stock-pile small{position:static!important}
#match.stbl-layout .meld-line .card-index b{font-size:calc(var(--card-h)*.27)}#match.stbl-layout .meld-line .card-index i{font-size:calc(var(--card-h)*.17)}#match.stbl-layout .meld-line .card-pip{font-size:calc(var(--card-h)*.38)}
/* Spatial seats and bounded play regions, shared by touch and desktop. */
#match.stbl-layout .felt{--seat-size:58px;--hand-space:145px;position:relative;grid-template-rows:minmax(0,1fr) var(--hand-space);padding:12px!important}
#match.stbl-layout.hand-expanded .felt{--hand-space:clamp(180px,35dvh,300px)}
#match.stbl-layout .table-arena{position:relative;grid-template-rows:64px minmax(0,1fr) 84px minmax(0,1fr)!important;padding:0 8px;box-sizing:border-box}
#match.stbl-layout #opponents{display:contents!important}
#match.stbl-layout #opponents .seat{position:absolute!important;display:grid!important;grid-template-columns:var(--seat-size) auto;grid-template-rows:repeat(3,auto);max-width:210px;width:max-content!important;min-width:0!important;padding:2px 6px!important;z-index:5;background:#062122ed;gap:0 6px}
#match.stbl-layout .seat img{width:var(--seat-size)!important;height:var(--seat-size)!important}
#match.stbl-layout #opponents .seat-north{top:0!important;left:50%!important;transform:translateX(-50%)!important}
#match.stbl-layout #opponents .seat-self{top:calc(100% + 4px)!important;left:0!important;max-width:130px;grid-template-columns:var(--seat-size)}
#match.stbl-layout #opponents .seat-self img{grid-row:auto}
#match.stbl-layout .seat-self span,#match.stbl-layout .seat-self small{grid-column:1;white-space:nowrap}
#match.stbl-layout #opponents .seat-west{top:48%!important;left:-4px!important;transform:translateY(-50%)!important;grid-template-columns:var(--seat-size);max-width:78px}
#match.stbl-layout #opponents .seat-east{top:48%!important;right:-4px!important;left:auto!important;transform:translateY(-50%)!important;grid-template-columns:var(--seat-size);max-width:78px}
#match.stbl-layout .seat-west img,#match.stbl-layout .seat-east img{grid-row:auto}
#match.stbl-layout.four-seats .table-arena{padding-inline:90px}
#match.stbl-layout #opponents .active-seat{border-color:#ffe49a;background:#314c32;box-shadow:0 0 0 2px #d4af3744,0 0 20px #d4af3770}
#match.stbl-layout .active-seat img{box-shadow:0 0 0 3px #ffdc70,0 0 18px #ffdc7088}
#match.stbl-layout .meld-zone{border:1px solid #cfdbcc50;border-radius:7px;background:#071e231f}
#match.stbl-layout .meld-line{align-self:center;max-height:110px}
#match.stbl-layout .meld-zone.inspecting .meld-line:not(.meld-expanded){opacity:.25;filter:brightness(.7)}
#match.stbl-layout .meld-zone .meld-expanded{position:absolute!important;inset:23px 7px 5px!important;width:calc(100% - 14px)!important;height:calc(100% - 28px)!important;max-height:none;z-index:8;filter:drop-shadow(0 5px 5px #0008)}
#match.stbl-layout #center{height:84px;grid-template-columns:54px minmax(0,1fr) 48px!important;gap:10px!important;align-items:center}
#match.stbl-layout .discard-fan{overflow:hidden!important;width:100%;position:relative}
#match.stbl-layout .discard-fan .card{position:absolute;left:0;top:0}
#match.stbl-layout .discard-fan .card:nth-last-child(2){left:3px}
#match.stbl-layout .discard-fan .card:last-child{left:6px}
#match.stbl-layout .dead-piles{align-items:center}
#match.stbl-layout .match-reference{position:absolute!important;top:calc(50% + 27px);left:50%;transform:translate(-50%,-50%);font-size:8px;line-height:11px;white-space:nowrap;pointer-events:none;z-index:1;opacity:.48;max-width:100%}
#match.stbl-layout .hand-dock{height:100%!important;padding-left:85px!important;box-sizing:border-box;grid-template-rows:25px minmax(0,1fr)}
#match.stbl-layout #hand .card.selected{box-shadow:inset 0 0 0 3px #f4c954,0 0 8px #f4c95477!important;filter:brightness(1.06)}
#match.stbl-layout .hand-heading h3{display:none}#match.stbl-layout .hand-heading span{margin-right:auto}
#match.stbl-layout #hand .card-index b{font-size:calc(var(--hand-h)*.28)}#match.stbl-layout #hand .card-index i{font-size:calc(var(--hand-h)*.17)}#match.stbl-layout #hand .card-pip{font-size:calc(var(--hand-h)*.38)}
#match.stbl-layout #hand .card-index{left:7%;top:5%}
#match.stbl-layout .table-feedback{top:auto;bottom:calc(var(--hand-space,145px) + 25px);max-width:min(440px,80vw);background:#f7efda;color:#172d27;border:1px solid #d4af37;box-shadow:0 4px 14px #0004;font-size:12px}
@media(max-width:700px){
 #match.stbl-layout .felt{--seat-size:38px;--hand-space:115px;padding:6px!important;border-radius:12px}
 #match.stbl-layout .table-arena{grid-template-rows:48px minmax(0,1fr) 78px minmax(0,1fr)!important;padding-inline:0}
 #match.stbl-layout #opponents .seat{grid-template-columns:var(--seat-size) auto;padding:1px 4px!important}
 #match.stbl-layout #opponents .seat-self{max-width:54px;grid-template-columns:var(--seat-size)}
 #match.stbl-layout .hand-dock{padding-left:57px!important}
 #match.stbl-layout.four-seats .table-arena{padding-inline:43px}
 #match.stbl-layout #opponents .seat-west,#match.stbl-layout #opponents .seat-east{--seat-size:28px;max-width:43px;overflow:hidden;padding:1px!important}
 #match.stbl-layout #opponents .seat-west span,#match.stbl-layout #opponents .seat-east span{font-size:7px!important}
 #match.stbl-layout #opponents .seat-west small,#match.stbl-layout #opponents .seat-east small{font-size:7px!important}
 #match.stbl-layout #center{height:78px;gap:5px!important;grid-template-columns:46px minmax(0,1fr) 32px!important}
 #match.stbl-layout .dead-piles{width:32px}#match.stbl-layout .dead-piles .mini-back{width:29px;height:19px;line-height:16px}
 #match.stbl-layout .match-reference{font-size:6px;top:calc(50% + 22px)}
 #match.stbl-layout .hand-heading span{font-size:8px}#match.stbl-layout .hand-heading button{font-size:9px;padding:2px 4px}
 #match.stbl-layout .meld-zone .meld-expanded{inset:19px 4px 4px!important;width:calc(100% - 8px)!important;height:calc(100% - 23px)!important}
}
@media(max-height:540px){
 body.playing:has(.stbl-layout)>header{display:none}body.playing:has(.stbl-layout) main{height:100dvh;padding:3px!important}
 #match.stbl-layout{grid-template-rows:24px 18px 28px minmax(0,1fr);gap:1px}
 #match.stbl-layout .felt{--seat-size:28px;--hand-space:77px;padding:4px!important}
 #match.stbl-layout .table-arena{grid-template-rows:35px minmax(0,1fr) 43px minmax(0,1fr)!important}
 #match.stbl-layout #center,#match.stbl-layout .pile{height:43px}#match.stbl-layout .pile small{font-size:7px}
 #match.stbl-layout .dead-piles{flex-direction:row;width:48px;gap:2px}#match.stbl-layout .dead-piles .mini-back{width:20px;height:14px;line-height:12px;font-size:10px}#match.stbl-layout .dead-piles small{display:none}
 #match.stbl-layout .hand-heading{min-height:20px}#match.stbl-layout .hand-dock{grid-template-rows:20px minmax(0,1fr);padding-left:68px!important}
 #match.stbl-layout.hand-expanded .felt{--hand-space:120px}
 #match.stbl-layout .seat span{font-size:9px!important}#match.stbl-layout .seat small{font-size:8px!important}
 #match.stbl-layout .meld-zone{padding-top:14px!important}#match.stbl-layout .meld-zone h3{font-size:8px!important;top:1px}
 #match.stbl-layout .match-reference{font-size:6px}
}
#match.stbl-layout .stock-pile .deck-back,#match.stbl-layout .empty-pile{min-height:0!important;flex-shrink:0}
#match.stbl-layout .pile{min-width:0!important;width:auto!important}
#match.stbl-layout .seat img{border-radius:50%!important}
#match.stbl-layout .meld-zone{margin:0!important}
#match.stbl-layout .seat span{width:auto!important;max-width:100%;min-width:0!important;padding:0!important}
#match.stbl-layout .seat-self{overflow:visible}
#match.stbl-layout .card-pip{top:40%!important;left:35%!important}
#match.stbl-layout .stock-pile strong{top:43px!important;bottom:auto!important}
@media(max-height:540px){#match.stbl-layout .stock-pile strong{top:19px!important;font-size:8px;padding:0 3px}}
@media(max-height:540px){
 #match.stbl-layout .stock-pile .deck-back,#match.stbl-layout .empty-pile,#match.stbl-layout .discard-fan .card{height:30px!important;width:22px!important}
 #match.stbl-layout .discard-fan{height:30px}
 #match.stbl-layout .stock-pile{gap:1px}
 #match.stbl-layout .stock-pile .deck-back{font-size:22px}
 #match.stbl-layout .stock-pile strong{top:17px!important;min-width:16px}
 #match.stbl-layout .discard-fan .card-index b{font-size:12px}#match.stbl-layout .discard-fan .card-index i{font-size:7px}#match.stbl-layout .discard-fan .card-pip{font-size:12px}
}
@media(max-width:700px){#match.stbl-layout .match-reference{left:59%;max-width:calc(100% - 170px);white-space:normal;text-align:center;overflow-wrap:anywhere;line-height:8px}}
#match.stbl-layout .seat small{max-width:100%;overflow:hidden;text-overflow:ellipsis}
#match.stbl-layout .seat-north .mini-hand{display:flex!important;left:calc(100% + 6px);top:16px;bottom:auto;transform:none}
#match.stbl-layout .seat-north .mini-hand .mini-back{width:19px;height:27px;font-size:14px}
@media(max-width:700px){#match.stbl-layout #opponents .seat-west,#match.stbl-layout #opponents .seat-east{grid-template-columns:var(--seat-size)!important}#match.stbl-layout #opponents .seat-west span,#match.stbl-layout #opponents .seat-east span,#match.stbl-layout #opponents .seat-west small,#match.stbl-layout #opponents .seat-east small{grid-column:1}}
#match.stbl-layout .seat-north .mini-hand{width:48px;right:auto;height:27px}
#match.stbl-layout .seat-north .mini-hand .mini-back{flex:0 0 19px}
/* One-handed controls; preferences slide over the right edge. */
#match.stbl-layout{grid-template-rows:30px 23px minmax(0,1fr)}
#match.stbl-layout .table-toolbar{display:none!important}
#match.stbl-layout .felt{grid-row:3}
#match.stbl-layout>.options-button{position:absolute;right:0;top:0;width:34px;min-height:30px;padding:3px;font-size:19px;z-index:10}
#match.stbl-layout>.row:first-child{padding-right:42px}
.side-options{position:fixed;inset:0 0 0 auto;margin:0;width:min(360px,92vw);max-width:none;height:100dvh;max-height:100dvh;box-sizing:border-box;border-radius:18px 0 0 18px;border:1px solid #b79855;background:#08231f;padding:22px;box-shadow:-15px 0 50px #0008}
.side-options[open]{animation:options-in .2s ease-out}.side-options::backdrop{background:#0007}
@keyframes options-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
#match.stbl-layout .sort-cycle{white-space:nowrap;min-width:55px;min-height:24px;font-size:10px;background:#d4af3720;border-color:#d4af37;color:#f4dda2}
#match.stbl-layout .hand-heading{justify-content:flex-end;gap:5px}
#match.stbl-layout #selectionHint{display:none}
#match.stbl-layout .hand-heading .expand-hand{margin-left:auto}
#match.stbl-layout #opponents .seat{grid-template-columns:var(--seat-size)!important;width:calc(var(--seat-size) + 12px)!important;min-height:calc(var(--seat-size) + 12px);max-width:none;overflow:visible;cursor:pointer;z-index:7}
#match.stbl-layout .seat:not(.seat-expanded)>span:not(.morto-owner),#match.stbl-layout .seat:not(.seat-expanded) .seat-clock{display:none}
#match.stbl-layout .seat:not(.seat-expanded) .seat-count{position:absolute;right:-2px;bottom:-2px;width:18px;max-width:18px;white-space:nowrap;font-size:9px!important;background:#061b19;border:1px solid #d4af37;border-radius:4px;padding:1px;overflow:hidden;text-overflow:clip;color:#fff}
#match.stbl-layout #opponents .seat-expanded{width:max-content!important;max-width:180px;grid-template-columns:var(--seat-size) auto!important;background:#082720;z-index:12}
#match.stbl-layout .seat-expanded img{grid-row:1/4!important}
#match.stbl-layout .seat-expanded>span,#match.stbl-layout .seat-expanded>small{grid-column:2!important;max-width:110px}
#match.stbl-layout .seat-north .mini-hand{display:none!important}
#match.stbl-layout .seat-self:not(.seat-expanded){top:calc(100% + 25px)!important}
#match.stbl-layout .seat.active-seat:after{bottom:-6px;left:0;width:var(--remaining,100%);max-width:100%;height:5px;box-shadow:0 0 5px #efbd53}
#match.stbl-layout .seat.urgent:after{background:#f18f64}
#match.stbl-layout .morto-owner{position:absolute;left:-5px;top:-5px;width:18px!important;height:18px;border-radius:4px;background:#e2c77b;color:#102d25;text-align:center;line-height:18px;font-size:11px!important;z-index:3}
#match.stbl-layout .morto-team{position:absolute;right:6px;top:4px;color:#f0d995;font-size:9px}
#match.stbl-layout .table-arena>.dead-piles{position:absolute!important;left:0;right:auto;top:1px;bottom:auto;transform:none;width:43px;gap:5px;z-index:4}
#match.stbl-layout .table-arena>.dead-piles .mini-back{box-shadow:2px 2px 0 #c7c3aa,3px 3px 0 #17392f}
#match.stbl-layout #center{grid-template-columns:54px minmax(0,1fr)!important}
#match.stbl-layout .discard-pile{max-width:120px;border-radius:5px;justify-self:start;overflow:visible}
#match.stbl-layout .discard-fan{overflow:visible!important;isolation:isolate}
#match.stbl-layout .discard-fan:before,#match.stbl-layout .discard-fan:after{content:'';position:absolute;top:2px;left:1px;width:44px;height:62px;background:#e9e4d6;border:1px solid #b6b39e;border-radius:5px;z-index:-1}
#match.stbl-layout .discard-fan:after{left:3px;top:1px}
@media(max-width:700px){#match.stbl-layout .hand-dock{padding-left:48px!important}#match.stbl-layout .table-arena>.dead-piles{left:0;width:32px}#match.stbl-layout .table-arena>.dead-piles small{font-size:6px}#match.stbl-layout .sort-cycle{font-size:9px;min-width:50px}#match.stbl-layout #center{grid-template-columns:46px minmax(0,1fr)!important}}
@media(max-height:540px){#match.stbl-layout{grid-template-rows:24px 18px minmax(0,1fr)}#match.stbl-layout .discard-fan:before,#match.stbl-layout .discard-fan:after{width:20px;height:28px}#match.stbl-layout .table-arena>.dead-piles{flex-direction:row;width:48px}}
#match.stbl-layout .seat-expanded .seat-count:after{content:' cartas'}
#match.stbl-layout .seat.active-seat:after{display:none}
.turn-progress{display:none!important}
#match.stbl-layout .seat.active-seat .turn-progress{display:block!important;position:absolute;bottom:-7px;left:0;width:100%!important;height:5px;border-radius:3px;background:#020e0b;overflow:hidden;grid-column:auto!important}
.turn-progress i{display:block;height:100%;width:var(--remaining,100%);background:#f5d16f;transition:width .25s linear}
.urgent .turn-progress i{background:#f18f64}
#match.stbl-layout .discard-fan .card{min-height:0!important;min-width:0!important}

/* Inspect a meld where it lies; never turn it into a floating tooltip panel. */
#match.stbl-layout .meld-zone .meld-expanded{inset:auto!important;left:var(--inspect-x)!important;top:var(--inspect-y)!important;width:var(--inspect-w)!important;height:var(--inspect-h)!important}
#match.stbl-layout.table-in-motion .card,#match.stbl-layout.table-in-motion .morto-arriving{animation:none!important}
#match.table-in-motion .table-event{visibility:hidden}
#match.table-in-motion #hand,#match.table-in-motion .pile,#match.table-in-motion .meld-zone{pointer-events:none}
#match.stbl-layout .clear-cards{color:#f5d786;border-color:#d4af3766}
#match.stbl-layout .clear-cards[hidden]{display:none!important}
#match.stbl-layout .seat-north:not(.seat-expanded) .mini-hand{display:flex!important;position:absolute;left:calc(100% + 6px);top:8px;width:48px;height:27px;transform:none}
#match.stbl-layout .seat-north .mini-hand .mini-back{flex:0 0 19px;width:19px;height:27px}

#match.stbl-layout .meld-zone .meld-line:not(.meld-expanded){position:absolute!important;left:var(--packed-x);top:var(--packed-y);width:var(--packed-w)!important}
#match.stbl-layout .meld-inspect-slot{display:none}
#match.stbl-layout .seat-self.seat-expanded{max-width:80px!important;grid-template-columns:var(--seat-size)!important}
#match.stbl-layout .seat-self.seat-expanded>span,#match.stbl-layout .seat-self.seat-expanded>small{display:none!important}
#match.stbl-layout .seat-self.seat-expanded .seat-count{display:block!important;position:absolute!important;grid-column:auto!important}
#match.stbl-layout #hand .card.selected{background:#ffe29a!important;box-shadow:inset 0 0 0 3px #f4c954,0 0 7px #f4c95480!important}
/* Board furniture: aligned rails, readable team scores, independent hand controls. */
#match.stbl-layout .felt{--hand-space:180px}
#match.stbl-layout .table-arena{grid-template-rows:72px minmax(0,1fr) 84px minmax(0,1fr)!important}
#match.stbl-layout #opponents .seat-north{left:76px!important;top:2px!important;transform:none!important}
#match.stbl-layout #opponents .seat-self,#match.stbl-layout #opponents .seat-self:not(.seat-expanded){left:8px!important;top:calc(100% + 7px)!important;transform:none!important}
#match.stbl-layout #opponents .seat-self.seat-expanded{width:calc(var(--seat-size) + 12px)!important;max-width:none}
#match.stbl-layout .table-arena>.dead-piles{left:8px!important;top:5px!important;width:44px;display:flex;flex-direction:column!important;align-items:center;justify-content:flex-start;gap:6px;margin:0;padding:0}
#match.stbl-layout .table-arena>.dead-piles .mini-back{position:relative!important;inset:auto!important;transform:none!important;display:block;flex:none;width:38px!important;height:23px!important;line-height:21px;margin:0!important;box-sizing:border-box}
#match.stbl-layout .table-arena>.dead-piles small{display:none}
#match.stbl-layout .hand-dock{padding:0!important;grid-template-rows:64px minmax(0,1fr)}
#match.stbl-layout .hand-heading{height:64px;min-height:0;padding:0 6px 0 94px;display:flex;justify-content:flex-end;align-items:center;gap:8px;box-sizing:border-box}
#match.stbl-layout .hand-heading .sort-cycle{margin-left:auto}
#match.stbl-layout .hand-heading .expand-hand{margin-left:0}
#match.stbl-layout .hand-heading button{height:34px;min-height:34px;font-size:13px;padding:4px 12px}
#match.stbl-layout .meld-zone h3{left:50%!important;top:1px!important;transform:translateX(-50%)!important;font-size:20px!important;line-height:24px!important;font-weight:800;letter-spacing:.2px!important;background:#061b20;border:1px solid #b89957;border-radius:0 0 6px 6px;padding:0 18px!important;white-space:nowrap;z-index:3}
#match.stbl-layout #score{font-size:13px;background:transparent;border:0;padding:0 3px}
@media(max-width:700px){
 #match.stbl-layout .felt{--hand-space:156px}
 #match.stbl-layout .table-arena{grid-template-rows:54px minmax(0,1fr) 78px minmax(0,1fr)!important}
 #match.stbl-layout #opponents .seat-north{left:54px!important}
 #match.stbl-layout .table-arena>.dead-piles{left:3px!important;top:3px!important;width:34px;gap:5px}
 #match.stbl-layout .table-arena>.dead-piles .mini-back{width:29px!important;height:19px!important;line-height:17px}
 #match.stbl-layout .hand-dock{grid-template-rows:51px minmax(0,1fr)}
 #match.stbl-layout .hand-heading{height:51px;padding-left:62px;gap:4px}
 #match.stbl-layout .hand-heading button{height:30px;min-height:30px;font-size:11px;padding:3px 7px}
 #match.stbl-layout .meld-zone h3{font-size:17px!important;line-height:23px!important;padding-inline:12px!important}
 #match.stbl-layout #score{font-size:11px}
}
@media(max-height:540px){
 #match.stbl-layout .felt{--hand-space:102px}
 #match.stbl-layout .table-arena{grid-template-rows:40px minmax(0,1fr) 43px minmax(0,1fr)!important}
 #match.stbl-layout .hand-dock{grid-template-rows:39px minmax(0,1fr)}
 #match.stbl-layout .hand-heading{height:39px;padding-left:64px}
 #match.stbl-layout .hand-heading button{height:27px;min-height:27px;font-size:11px}
 #match.stbl-layout .table-arena>.dead-piles{top:0!important;gap:3px;width:28px}
 #match.stbl-layout .table-arena>.dead-piles .mini-back{width:24px!important;height:15px!important;line-height:13px;font-size:10px}
 #match.stbl-layout #opponents .seat-north{left:49px!important}
 #match.stbl-layout .meld-zone h3{font-size:14px!important;line-height:20px!important}
}
#match.stbl-layout .felt{--hand-space:194px}
#match.stbl-layout .hand-dock{grid-template-rows:78px minmax(0,1fr)}
#match.stbl-layout .hand-heading{height:78px}
#match.stbl-layout .meld-own h3{top:auto!important;bottom:0;border-radius:6px 6px 0 0}
@media(max-width:700px){#match.stbl-layout .felt{--hand-space:162px}#match.stbl-layout .hand-dock{grid-template-rows:57px minmax(0,1fr)}#match.stbl-layout .hand-heading{height:57px}}
@media(max-height:540px){#match.stbl-layout .felt{--hand-space:108px}#match.stbl-layout .hand-dock{grid-template-rows:45px minmax(0,1fr)}#match.stbl-layout .hand-heading{height:45px}}
#match.table-loading .felt,#match.table-loading .table-toolbar,#match.table-loading #actions,#match.table-loading .match-reference{visibility:hidden!important}
.option-section{margin:22px 0;border-top:1px solid #d4af3744;padding-top:12px}.option-section h3{font-size:19px;color:#ecd08b;margin:0 0 12px}.option-tabs{display:flex;gap:3px}.option-tabs button{flex:1;padding:9px 3px;border-radius:7px 7px 0 0;font-size:12px}.option-tabs [aria-selected=true]{background:#d4af37;color:#09231e}.option-panels{background:#031b18;padding:12px;border:1px solid #d4af3755;border-top:3px solid #d4af37;border-radius:0 0 8px 8px}.option-panel{display:flex;flex-wrap:wrap;gap:8px}.option-panel[hidden]{display:none}.option-choice{flex:1;min-width:75px;font-size:12px;padding:10px 5px}.option-choice[aria-pressed=true]{outline:2px solid #e5c66c;background:#295044}.deck-sample{display:block;margin:0 auto 8px;width:33px;height:47px;line-height:43px;border:2px solid #efe9d7;border-radius:4px;background:repeating-linear-gradient(45deg,#0f3d32,#0f3d32 5px,#396954 6px);color:#e5c66c;font-size:25px}.deck-sample[data-deck=blue]{background:#1b2a46}.deck-sample[data-deck=wine]{background:#6b2e2e}.deck-preview{display:flex;justify-content:center;width:100%;padding:10px 0}.deck-preview .card{width:44px!important;height:66px!important;min-width:0;min-height:0;position:relative;margin-left:-6px}.deck-preview .card-index b{font-size:19px}.deck-preview .card-pip{font-size:26px}.theme-emerald{background:#0f3d32}.theme-midnight{background:#1b2a46}.theme-wine{background:#6b2e2e}
.options-roster{display:flex;gap:12px;justify-content:space-around;padding:12px 0;border-bottom:1px solid #d4af3744}.options-roster>div{flex:1;text-align:center}.options-roster strong{font-size:12px;color:#ecd08b}.option-player{display:flex;align-items:center;flex-direction:column;gap:4px;margin-top:8px;font-size:11px}.option-player img{width:42px;height:42px;border-radius:50%;border:1px solid #d4af37}
/* Centre rail: distinct stock/discard targets, crossed dead hands at the right. */
#match.stbl-layout #center{grid-template-columns:54px minmax(0,1fr) 88px!important;column-gap:32px!important}
#match.stbl-layout #center>.dead-piles{position:relative!important;grid-column:3;justify-self:center;align-self:center;width:78px!important;height:70px;display:block!important;inset:auto!important;margin:0;padding:0;transform:none!important}
#match.stbl-layout #center>.dead-piles .mini-back{position:absolute!important;display:block;left:50%!important;top:50%!important;width:40px!important;height:58px!important;line-height:54px;margin:0!important;box-sizing:border-box;transform:translate(-50%,-50%)!important;box-shadow:2px 2px 0 #d7ceac,3px 3px 0 #082c24}
#match.stbl-layout #center>.dead-piles .mini-back:nth-child(2){transform:translate(-50%,-50%) rotate(90deg)!important;z-index:1}
#match.stbl-layout #center>.dead-piles small{display:none}
#match.stbl-layout #opponents .seat-self,#match.stbl-layout #opponents .seat-self.seat-expanded{background:transparent!important;border-color:transparent!important;box-shadow:none!important;border-radius:50%;padding:2px!important;width:calc(var(--seat-size) + 8px)!important;min-height:calc(var(--seat-size) + 8px);grid-template-columns:var(--seat-size)!important}
#match.stbl-layout .seat-self img{grid-row:1!important;border:2px solid #cdb273!important;box-sizing:border-box}
#match.stbl-layout .seat-self .seat-count{position:absolute!important;right:-2px!important;bottom:0!important;background:#061b19;border:1px solid #d4af37;border-radius:4px;font-size:10px!important;max-width:24px;padding:1px 3px!important}
#match.stbl-layout .seat-self .seat-count:after{content:''}
#match.stbl-layout .seat-self .turn-progress{bottom:-5px!important;left:5px!important;width:calc(100% - 10px)!important}
@media(max-width:700px){#match.stbl-layout #center{grid-template-columns:46px minmax(0,1fr) 62px!important;column-gap:22px!important}#match.stbl-layout #center>.dead-piles{width:60px!important;height:64px}#match.stbl-layout #center>.dead-piles .mini-back{width:33px!important;height:48px!important;line-height:44px}}
@media(max-height:540px){#match.stbl-layout #center{grid-template-columns:30px minmax(0,1fr) 46px!important;column-gap:24px!important}#match.stbl-layout #center>.dead-piles{width:44px!important;height:38px}#match.stbl-layout #center>.dead-piles .mini-back{width:22px!important;height:32px!important;line-height:28px;font-size:17px}}
/* No second CSS animation when the flight animation completes. */
#match.stbl-layout .played,#match.stbl-layout .morto-arriving{animation:none!important;transform:none!important}
#match.stbl-layout .seat,#match.stbl-layout .seat img{transition:box-shadow .2s,border-color .2s!important}
#match.stbl-layout #opponents .seat-expanded{width:calc(var(--seat-size) + 12px)!important;grid-template-columns:var(--seat-size)!important;max-width:none!important}
#match.stbl-layout .seat-expanded>span:not(.morto-owner),#match.stbl-layout .seat-expanded>.seat-clock{display:none!important}
#match.stbl-layout .seat-expanded .seat-count{position:absolute!important;right:-2px;bottom:-2px;width:18px;max-width:18px;font-size:9px!important;background:#061b19;border:1px solid #d4af37;border-radius:4px;padding:1px;grid-column:auto!important}
#match.stbl-layout .seat-expanded .seat-count:after{content:''}
#match.stbl-layout #opponents .seat.active-seat img{outline:3px solid #ffe29a;outline-offset:2px;box-shadow:0 0 18px #ffe29a99!important}
#match.stbl-layout .seat.active-seat:before{content:'JOGANDO';position:absolute;left:calc(100% + 10px);top:8px;font-size:11px;font-weight:800;letter-spacing:.6px;color:#ffe29a;white-space:nowrap}
#match.stbl-layout .seat-self.active-seat:before{content:'SUA VEZ'}
#match.stbl-layout .seat.active-seat .mini-hand{top:32px!important}
#match.stbl-layout .felt .table-arena{grid-template-rows:72px minmax(0,1fr) 116px minmax(0,1fr)!important}
#match.stbl-layout #center,#match.stbl-layout #center .pile{height:116px}
#match.stbl-layout #center{grid-template-columns:72px minmax(0,1fr) 88px!important}
#match.stbl-layout .stock-pile .deck-back,#match.stbl-layout .empty-pile,#match.stbl-layout .discard-fan .card{width:64px!important;height:92px!important;min-height:0!important}
#match.stbl-layout .discard-fan{height:94px}
#match.stbl-layout .discard-fan:before,#match.stbl-layout .discard-fan:after{width:62px;height:90px}
#match.stbl-layout .stock-pile strong{top:70px!important;font-size:13px}
#match.stbl-layout .discard-fan .card-index b{font-size:28px}#match.stbl-layout .discard-fan .card-index i{font-size:18px}#match.stbl-layout .discard-fan .card-pip{font-size:32px}
#match.stbl-layout .match-result{position:absolute;inset:10px;z-index:25;width:min(640px,calc(100% - 20px));max-height:calc(100% - 20px);height:max-content;overflow:auto;margin:auto;box-sizing:border-box;padding:20px;background:#0c2c26}
#match.stbl-layout .match-result[hidden]{display:none}
.result-breakdown table{width:100%;border-collapse:collapse;font-size:15px}.result-breakdown th,.result-breakdown td{padding:8px;border-bottom:1px solid #d4af3733;text-align:right;font-variant-numeric:tabular-nums}.result-breakdown th:first-child{text-align:left}.result-breakdown thead{color:#f4dda0}.result-breakdown tbody tr:last-child{font-weight:800;background:#d4af3722}
@media(max-width:700px){#match.stbl-layout .felt .table-arena{grid-template-rows:54px minmax(0,1fr) 106px minmax(0,1fr)!important}#match.stbl-layout #center,#match.stbl-layout #center .pile{height:106px}#match.stbl-layout #center{grid-template-columns:64px minmax(0,1fr) 62px!important;column-gap:20px!important}#match.stbl-layout .stock-pile .deck-back,#match.stbl-layout .empty-pile,#match.stbl-layout .discard-fan .card{width:56px!important;height:82px!important}#match.stbl-layout .discard-fan{height:84px}#match.stbl-layout .discard-fan:before,#match.stbl-layout .discard-fan:after{width:54px;height:80px}#match.stbl-layout .stock-pile strong{top:61px!important}#match.stbl-layout .match-result h2{font-size:24px}#match.stbl-layout .match-result>p{font-size:16px}.result-breakdown table{font-size:13px}.result-breakdown th,.result-breakdown td{padding:7px 4px}}
@media(max-height:540px){#match.stbl-layout .felt .table-arena{grid-template-rows:40px minmax(0,1fr) 64px minmax(0,1fr)!important}#match.stbl-layout #center,#match.stbl-layout #center .pile{height:64px}#match.stbl-layout .stock-pile .deck-back,#match.stbl-layout .empty-pile,#match.stbl-layout .discard-fan .card{width:36px!important;height:50px!important}#match.stbl-layout .discard-fan{height:51px}#match.stbl-layout .discard-fan:before,#match.stbl-layout .discard-fan:after{width:34px;height:48px}#match.stbl-layout .stock-pile strong{top:32px!important}#match.stbl-layout .discard-fan .card-index b{font-size:18px}#match.stbl-layout .discard-fan .card-index i{font-size:11px}#match.stbl-layout .discard-fan .card-pip{font-size:20px}}

/* Balanced shared scale for central piles and compact result. */
#match.stbl-layout .felt .table-arena{grid-template-rows:72px minmax(0,1fr) 94px minmax(0,1fr)!important}
#match.stbl-layout #center,#match.stbl-layout #center .pile{height:94px}
#match.stbl-layout #center{grid-template-columns:60px minmax(0,1fr) 84px!important}
#match.stbl-layout .stock-pile .deck-back,#match.stbl-layout .empty-pile,#match.stbl-layout .discard-fan .card{width:50px!important;height:72px!important}
#match.stbl-layout .discard-fan{height:74px}
#match.stbl-layout .discard-fan:before,#match.stbl-layout .discard-fan:after{width:48px;height:70px}
#match.stbl-layout .stock-pile strong{top:51px!important;font-size:11px}
#match.stbl-layout .discard-fan .card-index b{font-size:23px}
#match.stbl-layout .discard-fan .card-index i{font-size:14px}
#match.stbl-layout .discard-fan .card-pip{font-size:27px}
#match.stbl-layout #center>.dead-piles{width:80px!important;height:80px}
#match.stbl-layout #center>.dead-piles .mini-back{width:48px!important;height:70px!important;display:grid!important;place-items:center;padding:0!important;text-indent:0;line-height:1!important;font-size:25px!important;text-align:center}
#match.stbl-layout .match-result{width:min(440px,calc(100% - 20px));padding:14px 18px;border-radius:12px}
#match.stbl-layout .match-result h2{font-size:22px;margin:0 0 5px}
#match.stbl-layout .match-result>p{font-size:16px;margin:6px 0 10px}
#match.stbl-layout .match-result>p.muted{font-size:11px;margin:9px 0}
#match.stbl-layout .match-result button{font-size:13px;min-height:34px;padding:7px 16px}
.result-breakdown table{font-size:12px}
.result-breakdown th,.result-breakdown td{padding:5px 4px}
@media(max-width:700px){
 #match.stbl-layout .felt .table-arena{grid-template-rows:54px minmax(0,1fr) 86px minmax(0,1fr)!important}
 #match.stbl-layout #center,#match.stbl-layout #center .pile{height:86px}
 #match.stbl-layout #center{grid-template-columns:48px minmax(0,1fr) 72px!important;column-gap:16px!important}
 #match.stbl-layout .stock-pile .deck-back,#match.stbl-layout .empty-pile,#match.stbl-layout .discard-fan .card{width:44px!important;height:64px!important}
 #match.stbl-layout .discard-fan{height:66px}
 #match.stbl-layout .discard-fan:before,#match.stbl-layout .discard-fan:after{width:42px;height:62px}
 #match.stbl-layout .stock-pile strong{top:43px!important}
 #match.stbl-layout #center>.dead-piles{width:70px!important;height:72px}
 #match.stbl-layout #center>.dead-piles .mini-back{width:42px!important;height:62px!important;font-size:22px!important}
}
@media(max-height:540px){
 #match.stbl-layout .felt .table-arena{grid-template-rows:40px minmax(0,1fr) 64px minmax(0,1fr)!important}
 #match.stbl-layout #center,#match.stbl-layout #center .pile{height:64px}
 #match.stbl-layout .stock-pile .deck-back,#match.stbl-layout .empty-pile,#match.stbl-layout .discard-fan .card{width:34px!important;height:48px!important}
 #match.stbl-layout .discard-fan{height:50px}
 #match.stbl-layout .discard-fan:before,#match.stbl-layout .discard-fan:after{width:32px;height:46px}
 #match.stbl-layout .stock-pile strong{top:29px!important}
 #match.stbl-layout #center>.dead-piles{height:58px}
 #match.stbl-layout #center>.dead-piles .mini-back{width:32px!important;height:46px!important;font-size:20px!important}
}

/* Opponent hands show the real count, with backs only. */
#match.stbl-layout #opponents .seat:not(.seat-self) .mini-hand{display:block!important;position:absolute;left:calc(100% + 14px);top:12px!important;width:clamp(100px,16vw,240px);height:48px;transform:none;pointer-events:none}
#match.stbl-layout #opponents .seat .mini-hand .mini-back{position:absolute!important;left:calc(var(--back-i) * min(17px,(100% - 32px) / max(1,var(--back-count) - 1)));top:0;width:32px!important;height:46px!important;display:grid;place-items:center;margin:0!important;padding:0!important;transform:none!important;line-height:1;font-size:19px;box-sizing:border-box;border:1px solid #e5d8ad;border-radius:4px;box-shadow:1px 1px 2px #0008}
#match.stbl-layout #opponents .seat:not(.seat-self).active-seat .mini-hand{top:23px!important}
#match.stbl-layout .seat.active-seat:before{top:0;font-size:10px}
#match.stbl-layout #opponents .seat.active-seat{border-color:#ffe29a!important;background:#173c2e!important;box-shadow:0 0 0 2px #ebcd70,0 0 18px #ebcd7044!important}
#match.stbl-layout .hand-heading .sort-cycle{min-height:30px;padding:5px 12px;font-size:12px;font-weight:700}
@media(max-width:700px){
 #match.stbl-layout #opponents .seat:not(.seat-self) .mini-hand{left:calc(100% + 8px);width:90px;height:34px;top:7px!important}
 #match.stbl-layout #opponents .seat .mini-hand .mini-back{width:23px!important;height:33px!important;font-size:15px;left:calc(var(--back-i) * min(10px,(100% - 23px) / max(1,var(--back-count) - 1)))}
 #match.stbl-layout #opponents .seat:not(.seat-self).active-seat .mini-hand{top:19px!important}
 #match.stbl-layout.four-seats #opponents .seat:not(.seat-self) .mini-hand{width:45px;left:calc(100% + 3px)}
 #match.stbl-layout .hand-heading .sort-cycle{font-size:10px;padding:4px 8px;min-height:27px}
}
@media(max-height:540px){#match.stbl-layout #opponents .seat:not(.seat-self) .mini-hand{height:26px;top:2px!important}#match.stbl-layout #opponents .seat .mini-hand .mini-back{height:25px!important;width:18px!important;font-size:12px}#match.stbl-layout #opponents .seat:not(.seat-self).active-seat .mini-hand{top:12px!important}}
/* Keep the corner suit distinct from the large central suit at every pile size. */
#match.stbl-layout #discardPile .card-index:not(.bottom){top:3px!important;left:4px!important;line-height:1!important;text-align:left}
#match.stbl-layout #discardPile .card-index b{font-size:20px!important;line-height:1!important}
#match.stbl-layout #discardPile .card-index i{font-size:11px!important;line-height:1!important;text-align:left;margin:1px 0 0}
#match.stbl-layout #discardPile .card-pip{top:auto!important;left:auto!important;right:5px!important;bottom:6px!important;font-size:29px!important;line-height:1!important;transform:none!important}
#match.stbl-layout #stockPile .deck-back{display:grid!important;place-items:center;box-sizing:border-box;padding:0 0 10px!important;text-align:center;line-height:1!important;font-size:32px!important}
@media(max-width:700px){#match.stbl-layout #discardPile .card-index b{font-size:18px!important}#match.stbl-layout #discardPile .card-index i{font-size:10px!important}#match.stbl-layout #discardPile .card-pip{font-size:25px!important;right:4px!important;bottom:4px!important}#match.stbl-layout #stockPile .deck-back{font-size:28px!important}}
@media(max-height:540px){#match.stbl-layout #discardPile .card-index b{font-size:13px!important}#match.stbl-layout #discardPile .card-index i{font-size:8px!important}#match.stbl-layout #discardPile .card-pip{font-size:19px!important;right:3px!important;bottom:3px!important}#match.stbl-layout #stockPile .deck-back{font-size:22px!important}}
/* One baseline for the central piles; a dedicated player/control rail beside the hand. */
#match.stbl-layout #center{--pile-h:72px;--dead-w:48px;align-items:start!important;padding-top:3px!important;box-sizing:border-box}
#match.stbl-layout #center .pile{justify-content:flex-start!important;align-self:start!important;padding:0!important;margin:0!important;border:0!important;gap:5px!important}
#match.stbl-layout #center .discard-fan{height:var(--pile-h)!important;min-height:var(--pile-h);align-items:flex-start!important;margin:0!important;padding:0!important}
#match.stbl-layout #center>.dead-piles{height:var(--pile-h)!important;align-self:start!important;margin:0!important}
#match.stbl-layout #center>.dead-piles .mini-back{height:var(--pile-h)!important;width:var(--dead-w)!important;top:50%!important}
#match.stbl-layout #center>.dead-piles small{display:block!important;position:absolute;top:calc(100% + 5px);left:0;right:0;text-align:center;font-size:9px;line-height:12px;letter-spacing:.5px}
#match.stbl-layout .hand-dock{position:relative;padding:0 0 0 208px!important;grid-template-rows:minmax(0,1fr)!important;align-items:stretch}
#match.stbl-layout .hand-heading{position:absolute;left:92px;top:50%;transform:translateY(-50%);width:106px;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:8px}
#match.stbl-layout .hand-heading .sort-cycle,#match.stbl-layout .hand-heading .expand-hand{margin:0!important;width:100%;font-size:10px;padding:6px 4px;min-height:32px}
#match.stbl-layout .hand-heading>span{display:none!important}
#match.stbl-layout #opponents .seat-self,#match.stbl-layout #opponents .seat-self.seat-expanded{top:calc(100% + 28px)!important;left:0!important;width:82px!important;min-height:98px!important;height:98px;box-sizing:border-box;display:flex!important;flex-direction:column;align-items:center;justify-content:flex-start;padding:5px!important;background:#092a25!important;border:1px solid #b49a5e!important;border-radius:9px!important;box-shadow:0 3px 10px #0005!important;transform:none!important}
#match.stbl-layout #opponents .seat-self img{width:60px!important;height:60px!important;border-radius:5px!important;padding:0}
#match.stbl-layout #opponents .seat-self>span:not(.turn-progress):not(.morto-owner){display:block!important;font-size:11px!important;line-height:15px;color:#f4dda0}
#match.stbl-layout #opponents .seat-self .seat-count{position:static!important;font-size:9px!important;border:0;background:none;padding:0;max-width:none;width:auto}
#match.stbl-layout #opponents .seat-self .seat-count:after{content:' cartas'}
#match.stbl-layout #opponents .seat-self .turn-progress{position:absolute;left:5px!important;right:5px!important;bottom:2px!important;width:calc(100% - 10px)!important;height:4px!important}
#match.stbl-layout #opponents .seat-self:before{display:none}
@media(max-width:700px){
 #match.stbl-layout #center{--pile-h:64px;--dead-w:44px}
 #match.stbl-layout .hand-dock{padding-left:139px!important}
 #match.stbl-layout .hand-heading{left:59px;width:73px;gap:6px}
 #match.stbl-layout .hand-heading .sort-cycle,#match.stbl-layout .hand-heading .expand-hand{font-size:8px;min-height:28px;padding:4px 2px;white-space:normal}
 #match.stbl-layout #opponents .seat-self,#match.stbl-layout #opponents .seat-self.seat-expanded{top:calc(100% + 27px)!important;width:54px!important;min-height:77px!important;height:77px;padding:3px!important}
 #match.stbl-layout #opponents .seat-self img{width:42px!important;height:42px!important}
 #match.stbl-layout #opponents .seat-self>span:not(.turn-progress):not(.morto-owner){font-size:9px!important;line-height:12px}
 #match.stbl-layout #opponents .seat-self .seat-count{font-size:8px!important}
}
@media(max-height:540px){
 #match.stbl-layout #center{--pile-h:48px;--dead-w:34px}
 #match.stbl-layout .hand-dock{padding-left:139px!important}
 #match.stbl-layout .hand-heading{left:59px;width:73px;gap:3px}
 #match.stbl-layout .hand-heading .sort-cycle,#match.stbl-layout .hand-heading .expand-hand{font-size:8px;min-height:24px;padding:2px}
 #match.stbl-layout #opponents .seat-self,#match.stbl-layout #opponents .seat-self.seat-expanded{top:calc(100% + 2px)!important;width:54px!important;min-height:68px!important;height:68px;padding:2px!important}
 #match.stbl-layout #opponents .seat-self img{width:34px!important;height:34px!important}
 #match.stbl-layout #opponents .seat-self>span:not(.turn-progress):not(.morto-owner){font-size:9px!important;line-height:12px}
}
body.playing:has(.stbl-layout)>header{display:none!important}
body.playing:has(.stbl-layout) main{height:100dvh!important}
#match.stbl-layout .hand-heading{padding:0!important;height:auto!important;flex-wrap:nowrap!important;z-index:8}
#match.stbl-layout #center .pile,#match.stbl-layout #center .pile:hover,#match.stbl-layout #center .card{transform:none!important}
#match.stbl-layout #center .discard-fan .card{margin:0!important;align-self:start!important}
#match.stbl-layout #hand{align-self:center;height:100%!important}
#match.stbl-layout .hand-heading .sort-cycle{font-size:22px;width:42px;align-self:center;line-height:1}
#match.stbl-layout .canasta-ribbon.complete{background:linear-gradient(90deg,#c8dce5,#f5fbff,#98b9ca);color:#153244}
#match.stbl-layout .canasta-ribbon.royal{background:linear-gradient(90deg,#c89a28,#ffec9e,#c89a28);color:#472710;box-shadow:0 0 8px #f4d06b88;font-weight:900}
#match.stbl-layout #opponents .seat:not(.seat-self),#match.stbl-layout #opponents .seat:not(.seat-self).seat-expanded{width:82px!important;height:68px;min-height:68px;display:flex!important;flex-direction:column;align-items:center;padding:3px!important;background:#092a25;border:1px solid #b49a5e;border-radius:7px!important}
#match.stbl-layout #opponents .seat:not(.seat-self) img{width:44px!important;height:44px!important;border-radius:4px!important;padding:0}
#match.stbl-layout #opponents .seat:not(.seat-self)>span:not(.turn-progress):not(.morto-owner){display:block!important;font-size:10px!important;line-height:13px}
#match.stbl-layout #opponents .seat:not(.seat-self).active-seat{outline:2px solid #ffdc75;box-shadow:0 0 20px #e8ca6688!important}
@media(max-width:700px){#match.stbl-layout #opponents .seat:not(.seat-self),#match.stbl-layout #opponents .seat:not(.seat-self).seat-expanded{width:54px!important;height:50px;min-height:50px}#match.stbl-layout #opponents .seat:not(.seat-self) img{width:31px!important;height:31px!important}#match.stbl-layout #opponents .seat:not(.seat-self)>span:not(.turn-progress):not(.morto-owner){font-size:8px!important;line-height:11px}}
@media(max-height:540px){#match.stbl-layout #opponents .seat:not(.seat-self),#match.stbl-layout #opponents .seat:not(.seat-self).seat-expanded{height:38px;min-height:38px}#match.stbl-layout #opponents .seat:not(.seat-self) img{width:23px!important;height:23px!important}}
/* Shared player frame geometry for both sides of the table. */
#match.stbl-layout{--player-width:82px;--player-height:98px;--portrait-size:60px;--player-padding:5px;--player-name:11px;--player-count:9px;--player-rail:104px}
#match.stbl-layout .felt .table-arena{grid-template-rows:var(--player-rail) minmax(0,1fr) 94px minmax(0,1fr)!important}
#match.stbl-layout #opponents .seat:is(.seat-self,.seat-north,.seat-west,.seat-east),#match.stbl-layout #opponents .seat.seat-expanded:is(.seat-self,.seat-north,.seat-west,.seat-east){width:var(--player-width)!important;height:var(--player-height)!important;min-height:var(--player-height)!important;padding:var(--player-padding)!important;border-radius:9px!important;justify-content:flex-start!important;box-sizing:border-box}
#match.stbl-layout #opponents .seat:is(.seat-self,.seat-north,.seat-west,.seat-east) img{width:var(--portrait-size)!important;height:var(--portrait-size)!important;border-radius:5px!important;padding:0}
#match.stbl-layout #opponents .seat>span:not(.turn-progress):not(.morto-owner){font-size:var(--player-name)!important;line-height:15px!important}
#match.stbl-layout #opponents .seat:is(.seat-self,.seat-north,.seat-west,.seat-east) .seat-count{position:static!important;font-size:var(--player-count)!important;border:0!important;background:none!important;padding:0!important;max-width:none!important;width:auto!important}
#match.stbl-layout #opponents .seat:is(.seat-self,.seat-north,.seat-west,.seat-east) .seat-count:after{content:' cartas'}
#match.stbl-layout:not(.four-seats) #opponents .seat-north{left:0!important;top:2px!important;transform:none!important}
#match.stbl-layout .hand-heading .expand-hand{position:relative;width:42px;align-self:center;font-size:22px;line-height:1;padding:6px 4px}
#match.stbl-layout .expand-hand:after{content:attr(data-label);display:none;position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);padding:5px 9px;background:#092a25;border:1px solid #d4af37;border-radius:5px;font-size:11px;white-space:nowrap;pointer-events:none;z-index:30}
#match.stbl-layout .expand-hand:hover:after,#match.stbl-layout .expand-hand:focus:after{display:block}
@media(max-width:700px){#match.stbl-layout{--player-width:54px;--player-height:77px;--portrait-size:42px;--player-padding:3px;--player-name:9px;--player-count:8px;--player-rail:83px}#match.stbl-layout .felt .table-arena{grid-template-rows:var(--player-rail) minmax(0,1fr) 86px minmax(0,1fr)!important}#match.stbl-layout #opponents .seat>span:not(.turn-progress):not(.morto-owner){line-height:12px!important}}
@media(max-height:540px){#match.stbl-layout{--player-width:54px;--player-height:68px;--portrait-size:34px;--player-padding:2px;--player-name:9px;--player-count:8px;--player-rail:72px}#match.stbl-layout .felt .table-arena{grid-template-rows:var(--player-rail) minmax(0,1fr) 64px minmax(0,1fr)!important}#match.stbl-layout #opponents .seat>span:not(.turn-progress):not(.morto-owner){line-height:12px!important}}
#match.stbl-layout:not(.four-seats) #opponents .seat-north{left:8px!important}
/* The hand rail has one top edge and fixed, identical icon controls. */
#match.stbl-layout .felt{--hand-space:126px}
#match.stbl-layout .hand-dock{padding-left:146px!important}
#match.stbl-layout .hand-heading{left:92px;top:2px!important;transform:none!important;width:42px;height:98px!important;gap:8px;justify-content:flex-start!important}
#match.stbl-layout .hand-heading .sort-cycle,#match.stbl-layout .hand-heading .expand-hand{width:42px!important;min-width:42px!important;max-width:42px!important;height:42px!important;min-height:42px!important;padding:0!important;margin:0!important;border-width:1px!important;border-radius:9px!important;box-sizing:border-box;display:grid;place-items:center;font-size:22px!important;line-height:1!important;flex:none}
@media(max-width:700px){#match.stbl-layout .felt{--hand-space:114px}#match.stbl-layout .hand-dock{padding-left:103px!important}#match.stbl-layout .hand-heading{left:62px;width:33px;height:77px!important;gap:7px}#match.stbl-layout .hand-heading .sort-cycle,#match.stbl-layout .hand-heading .expand-hand{width:33px!important;min-width:33px!important;max-width:33px!important;height:33px!important;min-height:33px!important;font-size:19px!important}}
@media(max-height:540px){#match.stbl-layout .felt{--hand-space:76px}#match.stbl-layout .hand-dock{padding-left:103px!important}#match.stbl-layout .hand-heading{left:62px;width:30px;height:68px!important;gap:5px}#match.stbl-layout .hand-heading .sort-cycle,#match.stbl-layout .hand-heading .expand-hand{width:30px!important;min-width:30px!important;max-width:30px!important;height:30px!important;min-height:30px!important;font-size:18px!important}}
#match.stbl-layout .hand-dock{padding-left:156px!important}
#match.stbl-layout .hand-heading{left:102px;top:3px!important;gap:14px}
@media(max-width:700px){#match.stbl-layout .hand-dock{padding-left:109px!important}#match.stbl-layout .hand-heading{left:68px;gap:11px}}
@media(max-height:540px){#match.stbl-layout .hand-dock{padding-left:109px!important}#match.stbl-layout .hand-heading{left:68px;gap:8px}}
/* Match stock/discard proportions to the central strip, independently of hand size. */
#match.stbl-layout #center{--pile-h:80px;--dead-w:54px;grid-template-columns:68px minmax(0,1fr) 90px!important}
#match.stbl-layout #stockPile .deck-back,#match.stbl-layout #discardPile .card,#match.stbl-layout .empty-pile{width:56px!important;height:80px!important}
#match.stbl-layout #stockPile strong{top:59px!important}
#match.stbl-layout .discard-fan:before,#match.stbl-layout .discard-fan:after{width:54px;height:78px}
@media(max-width:700px){#match.stbl-layout #center{--pile-h:64px;--dead-w:44px;grid-template-columns:50px minmax(0,1fr) 72px!important}#match.stbl-layout #stockPile .deck-back,#match.stbl-layout #discardPile .card,#match.stbl-layout .empty-pile{width:44px!important;height:64px!important}#match.stbl-layout #stockPile strong{top:43px!important}.stbl-layout .discard-fan:before,.stbl-layout .discard-fan:after{width:42px;height:62px}}
@media(max-height:540px){#match.stbl-layout #center{--pile-h:48px;--dead-w:34px}#match.stbl-layout #stockPile .deck-back,#match.stbl-layout #discardPile .card,#match.stbl-layout .empty-pile{width:34px!important;height:48px!important}#match.stbl-layout #stockPile strong{top:29px!important}}
