main{max-width:1500px;padding:20px 28px}.heading{margin-bottom:12px}.heading h1{font-size:29px}.heading .eyebrow{font-size:11px}.table-workspace{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:24px;align-items:start}.game-column{min-width:0}.player-controls{display:flex;gap:9px;align-items:center;padding:10px 0 14px;font-size:13px}.player-controls>span{margin-right:auto;color:#c3cebd}.player-controls button{font-size:13px;padding:8px 11px}.play-top{margin:0 0 6px;font-size:13px}.table-workspace .table-chat{margin:0;padding:16px;position:sticky;top:16px;display:flex;flex-direction:column;height:670px;max-height:calc(100vh - 32px)}.chat-heading{display:block}.chat-heading>span{display:block;margin-top:6px;text-align:left;max-width:none}.chat-messages{flex:1;min-height:120px;height:auto}.chat-compose{gap:7px}.chat-compose input{width:100%;padding:10px;font-size:14px}.chat-compose button{padding:9px 12px;font-size:14px}.chat-message{padding:9px}.chat-message p{font-size:14px}.chat-message time{display:block;margin:4px 0 0;font-size:11px}.game{height:510px;padding:0;position:relative;margin-top:10px}.game .table{position:absolute;inset:66px 16px 72px;min-height:0;padding:0;border-width:14px;border-radius:50%;background:radial-gradient(ellipse at center,#287a50,#165438 75%);box-shadow:0 0 0 3px #0d130f,0 0 0 5px #8a6b3e,0 14px 35px #0007,inset 0 0 30px #092d20aa}.table:before{inset:11px;border-radius:50%}.table:after{border-radius:50%}.game .opponents{position:absolute;inset:0;display:block;z-index:3;pointer-events:none}.game .opponents .seat{position:absolute;transform:translateX(-50%);width:116px;max-width:none;min-width:0;padding:9px 6px;border-radius:11px;background:linear-gradient(#263d30,#11261c);box-shadow:0 4px 12px #0005;pointer-events:auto}.game .opponents .seat-position-1{left:12%;top:59%}.game .opponents .seat-position-2{left:21%;top:7%}.game .opponents .seat-position-3{left:50%;top:0}.game .opponents .seat-position-4{left:79%;top:7%}.game .opponents .seat-position-5{left:88%;top:59%}.game .opponents .card{width:29px;height:41px;font-size:15px;padding:3px}.game .opponents .card .suit{font-size:17px}.game .opponents .cards{gap:4px;min-height:41px}.game .opponents .card.private{margin-left:2px;outline-offset:1px}.game .seat-name{font-size:13px;margin:7px 0 0;line-height:1.25;overflow-wrap:anywhere}.game .stack{font-size:13px;margin-top:5px}.game .seat-status{font-size:11px;line-height:1.25;min-height:14px}.game .seat-bet{position:absolute;left:50%;bottom:-26px;transform:translateX(-50%);background:#112c1ec9;border-radius:20px;padding:4px 9px;white-space:nowrap;margin:0;font-size:12px}.game .hero .seat-bet{top:-27px;bottom:auto}.game .casino-dealer{right:-15px;top:27px;width:30px;height:30px;border:2px solid #cabf99;font:bold 16px Georgia;color:#20251b;letter-spacing:0}.game .board-zone{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);padding:0;width:64%;text-align:center}.felt-brand{font-size:15px;letter-spacing:3px;margin-bottom:11px}.felt-brand span{font-size:9px;margin-top:5px}.game .board{margin:11px 0;gap:6px}.game .board .card{width:46px;height:65px;font-size:20px}.game .board .card .suit{font-size:23px}.game .pot{padding:4px 12px;font-size:10px}.game .pot strong{font-size:22px}.game .river-note{font-size:10px;max-width:220px;margin:9px auto 0}.game .hero{left:50%;bottom:0;min-width:180px;max-width:240px;padding:11px 18px;border-width:1px;z-index:4}.game .hero .card{width:41px;height:58px;font-size:19px}.game .hero .suit{font-size:22px}.game .hero .seat-name{display:block;margin:7px 0 0}.game .hero .stack{display:block}.game .hero .seat-status{margin:5px 0 0}.seat-reserved{font-size:10px;align-self:center;color:#a5b39c;letter-spacing:1px}.game .seat.folded{opacity:.68}.action-panel{margin-top:14px;padding:15px;display:block;min-height:132px}.action-panel .status p{max-width:none;font-size:15px;margin:5px 0 12px}#controls{justify-content:flex-start;gap:7px}#controls button{padding:10px 13px;font-size:14px}.raise-controls input{width:75px;padding:9px 6px;font-size:14px}#controls .all-in{order:10;flex-grow:0;padding:7px 10px;font-size:12px;background:transparent;border:1px solid #72715f;color:#c7b998;box-shadow:none;font-weight:500}#controls .all-in:hover{background:#39362a;color:#f1deb5}.pot-button{border-color:#a68e56;color:#ead19b}.auto-deal-note{font-size:14px;color:#d6c190;margin:0}.bottom{display:block;margin-top:18px}.bottom>div:first-child{display:none}.bottom .history ol{font-size:13px}.session-note{font-size:12px}.lobby-seats{grid-template-columns:repeat(2,minmax(0,1fr))}.lobby{padding:22px}.invite>div{flex-wrap:wrap}.invite input{flex-basis:180px}
@media(max-width:1000px){main{padding:16px}.table-workspace{grid-template-columns:minmax(0,1fr) 240px;gap:16px}.game .opponents .seat{width:98px}.game .opponents .seat-position-1{left:11%}.game .opponents .seat-position-5{left:89%}.game .board-zone{width:66%}.game .board .card{width:38px;height:55px}.game .board{gap:4px}.game .opponents .card{width:24px;height:36px}.game .opponents .card .suit{font-size:14px}}
@media(max-width:850px){.table-workspace{grid-template-columns:1fr}.table-workspace .table-chat{position:static;height:300px;max-height:none}.chat-heading{display:flex;align-items:center}.chat-heading>span{margin:0;font-size:11px}.chat-message time{display:inline;margin-left:8px}.game{height:520px}.game .table{inset:74px 16px 75px}.game .opponents .seat{width:105px}.game .opponents .seat-position-1{left:13%;top:59%}.game .opponents .seat-position-5{left:87%;top:59%}.game .board-zone{top:48%;width:60%}.game .board .card{width:43px;height:61px}.game .opponents .card{width:27px;height:38px}.game .opponents .cards{gap:3px}.game .hero{min-width:190px}.player-controls{flex-wrap:wrap}.player-controls>span{flex:1 1 160px}.heading{margin-bottom:8px}.heading h1{font-size:27px}.heading .eyebrow{font-size:10px}.game:has(.opponents .seat:nth-child(4)) .table{min-height:0}.lobby-seats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:440px){main{padding:12px 9px}.game{height:505px}.game .opponents .seat{width:88px;padding:7px 3px}.game .opponents .seat-position-2{left:15%;top:10%}.game .opponents .seat-position-4{left:85%;top:10%}.game .opponents .seat-position-1{left:13%;top:60%}.game .opponents .seat-position-5{left:87%;top:60%}.game .opponents .card{width:23px;height:33px;font-size:12px}.game .opponents .card .suit{font-size:13px}.game .seat-name{font-size:12px}.game .stack{font-size:12px}.game .board .card{width:35px;height:50px;font-size:16px}.game .board .card .suit{font-size:19px}.felt-brand{font-size:11px;letter-spacing:2px}.felt-brand span{font-size:8px}.game .casino-dealer{right:-7px;width:26px;height:26px;font-size:14px}.game .hero{min-width:168px;padding:9px 14px}.game .hero .card{width:36px;height:51px}.game .river-note{display:none}.game .table{inset:87px 8px 74px}.action-panel{padding:12px}#controls button{padding:9px 11px;font-size:13px}.player-controls button{font-size:12px}.table-chat{padding:14px}.chat-heading h2{font-size:21px}}

.blind-marker{position:absolute;left:-8px;top:28px;display:grid;place-items:center;min-width:27px;height:24px;padding:0 4px;border:1px solid #bda56d;border-radius:6px;background:#16231c;color:#f4db9d;font:700 11px system-ui;z-index:4}
/* Large tables gain a taller rail and four separated rows on each side. */
.game.large-table{height:1040px}
.game.large-table .table{inset:70px 24px 90px;border-radius:45%}
.game.large-table .opponents .seat{width:120px}
.game.large-table .seat-name{min-height:34px;max-height:34px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.game.large-table .seat-status{height:30px;min-height:30px;overflow:hidden}
.game.large-table .board-zone{top:50%;width:60%}
.game.large-table .opponents .seat-position-d1{left:15%;top:795px}
.game.large-table .opponents .seat-position-d2{left:11%;top:600px}
.game.large-table .opponents .seat-position-d3{left:11%;top:300px}
.game.large-table .opponents .seat-position-d4{left:22%;top:105px}
.game.large-table .opponents .seat-position-d5{left:50%;top:0}
.game.large-table .opponents .seat-position-d6{left:78%;top:105px}
.game.large-table .opponents .seat-position-d7{left:89%;top:300px}
.game.large-table .opponents .seat-position-d8{left:89%;top:600px}
.game.large-table .opponents .seat-position-d9{left:85%;top:795px}
.game.large-table .hero .seat-name{display:block}
.practice-setup{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.practice-setup select{font:inherit;color:#f4f1e9;background:#20302b;padding:9px;border:1px solid #718075;border-radius:8px}
.practice-setup span{font-size:13px;color:var(--muted)}
@media(max-width:1100px){
 .table-workspace:has(.large-table){grid-template-columns:1fr}
 .table-workspace:has(.large-table) .table-chat{position:static;height:300px;max-height:none}
}
@media(max-width:600px){
 .game.large-table{height:1240px}
 .game.large-table .table{inset:95px 16px 105px;border-radius:44%}
 .game.large-table .opponents .seat{width:104px;padding:9px 5px}
 .game.large-table .opponents .card{width:26px;height:38px;font-size:14px}
 .game.large-table .opponents .card .suit{font-size:16px}
 .game.large-table .opponents .seat-position-d1{left:19%;top:885px}
 .game.large-table .opponents .seat-position-d2{left:18%;top:690px}
 .game.large-table .opponents .seat-position-d3{left:18%;top:365px}
 .game.large-table .opponents .seat-position-d4{left:19%;top:170px}
 .game.large-table .opponents .seat-position-d5{left:50%;top:0}
 .game.large-table .opponents .seat-position-d6{left:81%;top:170px}
 .game.large-table .opponents .seat-position-d7{left:82%;top:365px}
 .game.large-table .opponents .seat-position-d8{left:82%;top:690px}
 .game.large-table .opponents .seat-position-d9{left:81%;top:885px}
 .game.large-table .board-zone{top:50%;width:90%}
 .game.large-table .board .card{width:40px;height:56px;font-size:18px}
 .game.large-table .hero{bottom:0}
 .game.large-table .seat-name,.game.large-table .stack{font-size:13px}
 .game.large-table .seat-status{font-size:12px}
}
/* Keep the central board clear of the upper seats at wide sizes. */
.game .board-zone{max-width:280px}
@media(max-width:600px){
 .game:is([data-seats="4"],[data-seats="5"],[data-seats="6"]){height:780px}
 .game:is([data-seats="4"],[data-seats="5"],[data-seats="6"]) .opponents :is(.seat-position-2,.seat-position-4){top:40px}
 .game:is([data-seats="4"],[data-seats="5"],[data-seats="6"]) .opponents :is(.seat-position-1,.seat-position-5){top:440px}
 .game:is([data-seats="4"],[data-seats="5"],[data-seats="6"]) .board-zone{top:35%;width:80%}
}
/* Put dealer/blind markers above the cards, with room above the top seat. */
.game{margin-top:40px}
.game .casino-dealer{top:-31px;right:2px}
.game .blind-marker{top:-27px;left:2px}
@media(max-width:600px){
 .game.large-table{height:1380px}
 .game.large-table .board-zone{top:calc(50% - 35px)}
 .game.large-table .opponents :is(.seat-position-d2,.seat-position-d8){top:790px}
 .game.large-table .opponents :is(.seat-position-d1,.seat-position-d9){top:985px}
}
