@font-face{font-family:Barlow;src:url('/assets/fonts/barlow-condensed-800.ttf') format('truetype');font-weight:800;font-display:swap}
@font-face{font-family:Barlow;src:url('/assets/fonts/barlow-condensed-700.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:DM;src:url('/assets/fonts/dm-sans-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:DM;src:url('/assets/fonts/dm-sans-600.ttf') format('truetype');font-weight:500 800;font-display:swap}
:root{--paper:#f6f5ed;--ink:#262c25;--muted:#7b8073;--green:#247b46;--deep:#155631;--yellow:#f1d278;--line:#dddfd2;--white:#fffef8;--red:#bd4552;--display:Barlow,'Arial Narrow',Impact,sans-serif;--body:DM,Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.6 var(--body);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button{color:inherit}a{color:inherit}button,input,select{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #aa862d}button{transition:background .15s,transform .15s}button:active:not(:disabled){transform:translateY(1px)}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.05}svg.icon{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.wrap{max-width:1360px;padding:0 56px;margin:auto}.site-header{height:98px;border-bottom:1px solid var(--line)}.header-inner{height:100%;display:flex;align-items:center;gap:64px}.brand{border:0;background:none;display:flex;align-items:center;gap:11px;padding:0;text-decoration:none}.brand-symbol{width:39px;height:39px;background:var(--green);border-radius:50%;display:grid;place-items:center;color:var(--yellow);font-family:Georgia,serif;font-size:32px;line-height:1}.brand-word{font-family:var(--display);font-size:39px;font-weight:800;letter-spacing:-1.6px;line-height:1}.header-nav{display:flex;gap:31px;height:100%;align-items:center}.nav-link{border:0;background:none;color:var(--muted);font-size:13px;font-weight:600;padding:10px 0;position:relative}.nav-link.active{color:var(--green)}.nav-link.active:after{content:'';position:absolute;height:3px;background:var(--green);left:0;right:0;bottom:-25px}.header-right{margin-left:auto;display:flex;align-items:center;gap:22px}.play-label{display:flex;align-items:center;gap:7px;color:#777d70;font-size:11px}.play-label .icon{width:15px;height:15px}.avatar-small{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#e5e9dc;border:1px solid #d7dfce;font-size:12px;font-weight:600}.lobby{padding-top:48px}.intro{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:36px}.intro h1{font:800 81px/.95 var(--display);letter-spacing:-1.4px}.intro-copy{max-width:280px;padding-bottom:6px;margin-right:17px}.intro-copy>p{font-size:14px;line-height:1.8;color:#71776a}.private-note{display:flex;align-items:center;gap:8px;margin-top:17px;font-size:11px;color:var(--green);font-weight:600}.status-dot{width:6px;height:6px;border-radius:50%;background:#479257;display:inline-block}.lobby-grid{display:grid;grid-template-columns:minmax(230px,300px) minmax(350px,1fr) 228px;gap:25px;align-items:stretch}.poster{align-self:stretch}.poster img{display:block;width:100%;height:100%;object-fit:cover;border-radius:12px;box-shadow:0 3px 0 #d7d9ca;max-height:480px}.setup-card{border:1px solid #d7dccf;background:var(--white);border-radius:14px;overflow:hidden;min-width:0}.setup-tabs{display:flex;background:#eeefe5;border-bottom:1px solid var(--line);padding:7px;gap:4px}.setup-tab{border:0;background:transparent;flex:1;padding:11px 9px;font-weight:600;font-size:12px;border-radius:8px;display:flex;gap:8px;align-items:center;justify-content:center;color:#7b8171}.setup-tab .icon{width:16px;height:16px}.setup-tab.active{background:var(--white);color:var(--ink);box-shadow:0 1px 4px #344c1812}.setup-body{padding:25px 27px 21px}.setup-body h2{font:800 28px/1.1 var(--display);margin-bottom:4px}.setup-subtitle{font-size:12px;color:var(--muted);margin-bottom:22px}.form-field{display:flex;flex-direction:column;gap:6px;position:relative}.form-field label{font-size:11px;font-weight:600;color:#515a4c}.form-field input,.form-field select{width:100%;height:43px;padding:10px 12px;background:#fffefa;border:1px solid #d7dccf;border-radius:7px;color:var(--ink);font-size:12px}.form-field input::placeholder{color:#9b9f93}.form-field input:focus,.form-field select:focus{border-color:var(--green)}.form-field input:focus-visible,.form-field select:focus-visible{outline:2px solid #247b4622;outline-offset:1px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:16px}.form-row.triple{grid-template-columns:1fr 1fr 1fr;margin:16px 0 20px}.form-hint{font-size:10px;color:var(--muted);margin-top:3px}.btn{border:1px solid var(--line);background:var(--white);padding:11px 17px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:12px;font-weight:600;line-height:1.5;text-decoration:none;white-space:nowrap}.btn:hover:not(:disabled){background:#eceee3}.btn .icon{width:17px;height:17px}.btn-primary{background:var(--green);color:#fffef0;border-color:var(--green)}.btn-primary:hover:not(:disabled){background:var(--deep)}.btn-ink{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn-ink:hover:not(:disabled){background:#41493b}.btn-yellow{background:var(--yellow);border-color:var(--yellow);color:#353927}.btn-yellow:hover:not(:disabled){background:#e5c463}.btn-wide{width:100%}.btn-quiet{background:transparent;border-color:transparent;color:var(--muted)}.btn-small{padding:7px 11px;font-size:11px}.btn-danger{color:var(--red);border-color:#e2c7c6;background:#fffaf4}.setup-footnote{display:flex;align-items:center;justify-content:center;gap:6px;font-size:10px;color:#838a79;margin-top:12px}.setup-footnote .icon{width:12px;height:12px}.feature-stack{display:flex;flex-direction:column;gap:18px}.house-card{border:1px solid var(--line);border-radius:12px;padding:22px 20px 15px;flex:1;background:#f0f1e7}.house-card h2{font:800 25px var(--display);margin-bottom:20px}.feature{display:flex;gap:11px;margin-bottom:19px;align-items:flex-start}.feature-icon{height:29px;width:29px;border-radius:50%;background:#e4e9d9;color:var(--green);display:grid;place-items:center;flex-shrink:0}.feature-icon .icon{width:15px;height:15px}.feature strong{display:block;font-size:11px;font-weight:600;margin-bottom:3px}.feature p{font-size:10px;line-height:1.6;color:#838a78}.practice-card{border:1px solid #dfd2a1;background:#f6edcf;border-radius:12px;padding:18px 18px 14px}.practice-card>span{font-family:Georgia,serif;font-size:25px;color:#92792d}.practice-card h3{font:800 23px var(--display);margin:7px 0}.practice-card p{font-size:10px;color:#8a8061;line-height:1.7;margin-bottom:10px}.text-button{padding:0;background:none;border:0;display:flex;align-items:center;gap:9px;font-size:11px;font-weight:600;color:var(--ink)}.text-button .icon{width:15px;height:15px}.under-table{margin:34px 0 38px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.under-title{display:flex;align-items:center;gap:12px}.small-cards{position:relative;width:45px;height:37px;margin-right:4px}.mini-paper{position:absolute;background:#fffef5;border:1px solid #b9c3b0;width:25px;height:34px;border-radius:3px;text-align:center;font:20px/32px Georgia,serif;transform:rotate(-14deg);left:1px;top:0}.mini-paper+ .mini-paper{left:18px;top:2px;transform:rotate(13deg);color:var(--red)}.under-title h3{font:700 21px var(--display);margin-bottom:4px}.under-title p{font-size:10px;color:var(--muted)}.under-note{font-size:11px;color:#858b7e}.suit-divider{font-family:Georgia,serif;letter-spacing:8px;color:#aeb8a3;font-size:17px}.site-footer{display:flex;justify-content:space-between;align-items:center;color:#929787;font-size:10px;padding-bottom:27px}.footer-left{display:flex;align-items:center;gap:10px}.footer-left .footer-brand{font:800 20px var(--display);letter-spacing:-.5px;color:#58634d}.footer-right{display:flex;gap:20px;align-items:center}.footer-right button{border:0;background:transparent;font-size:10px;color:inherit;padding:0}.recent-buttons{display:flex;gap:8px;flex-wrap:wrap}.recent-room{border:1px solid var(--line);border-radius:6px;background:var(--white);font-size:10px;padding:8px 11px;text-align:left;display:flex;gap:15px;align-items:center}.recent-room span{display:block;color:var(--muted);font-size:9px}.form-error{font-size:11px;color:#a9323e;padding:7px 0;line-height:1.5;min-height:0}.form-error:empty{display:none}.join-form .form-row{grid-template-columns:1fr}.join-form .form-field{margin-bottom:16px}.join-form .code-input{font-family:var(--display);font-size:25px;letter-spacing:5px;text-transform:uppercase;height:56px}.join-info{padding:12px;background:#f2f3ea;color:#7a846f;font-size:10px;border-radius:6px;margin:0 0 20px;display:flex;gap:8px}.join-info .icon{width:15px;height:15px}
.setup-storage-note{font-size:8px;color:#919987;text-align:center;line-height:1.6;margin-top:12px}
/* A private table */
.room-main{padding-top:27px}.room-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:20px}.room-title{display:flex;align-items:center;gap:17px}.back-btn{border:1px solid var(--line);background:transparent;width:34px;height:34px;border-radius:50%;display:grid;place-items:center}.back-btn .icon{width:16px;height:16px}.room-title h1{font:800 38px/.98 var(--display);letter-spacing:-.3px;margin-bottom:5px}.room-meta{display:flex;gap:8px;align-items:center;font-size:10px;color:var(--muted)}.room-meta code{font:600 10px var(--body);letter-spacing:1px;color:var(--green);padding:2px 5px;background:#e8eedf;border-radius:3px}.room-tools{display:flex;align-items:center;gap:7px}.room-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:23px}.game-column{min-width:0}.table-shell{height:493px;background:#ecefe3;border-radius:16px;border:1px solid #d8dfd0;position:relative;overflow:hidden}.table-status{position:absolute;top:17px;left:20px;display:flex;gap:7px;align-items:center;font-size:10px;color:#6f7c63}.table-status .status-dot{width:5px;height:5px}.hand-count{position:absolute;right:20px;top:17px;font-size:10px;color:#839077}.felt{position:absolute;inset:70px 62px 76px;background:#277d4b;border-radius:48%;border:8px solid #36573a;box-shadow:0 0 0 1px #c6cfbb,0 0 0 5px #e2e7d8,0 9px 0 #d5ddc9,inset 0 0 0 2px #8eae6b66,inset 0 0 65px #174b2c55}.felt:before{content:'';position:absolute;inset:16px;border-radius:48%;border:1px dashed #a3bf8766;pointer-events:none}.table-mark{position:absolute;top:21px;left:0;right:0;text-align:center;font-family:var(--display);font-size:24px;letter-spacing:-1px;color:#b9ce9d77;font-weight:800}.center-board{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);text-align:center;width:100%;padding:0 12px}.pot-label{color:#c6dcaf;font-size:9px;font-weight:600;letter-spacing:1px;line-height:1.4}.pot-amount{font:700 35px/1 var(--display);color:#fff7d8;display:flex;align-items:center;justify-content:center;gap:7px;margin:3px 0 16px}.pot-amount .icon{width:20px;height:20px;color:var(--yellow)}.board-cards{display:flex;gap:7px;justify-content:center}.playing-card{display:inline-flex;position:relative;background:#fffbed;border:1px solid #ded9c0;border-radius:6px;box-shadow:1px 3px 0 #12392133;width:52px;height:75px;color:#242c29;flex-shrink:0;flex-direction:column;align-items:flex-start;line-height:1;padding:5px 6px;font-family:Georgia,serif}.playing-card.red{color:#b73948}.playing-card .card-rank{font-weight:700;font-size:21px}.playing-card .card-suit-small{font-size:15px;margin-top:2px}.playing-card .card-suit{position:absolute;right:7px;bottom:7px;font-size:29px}.playing-card .card-corner{position:absolute;right:5px;top:5px;transform:rotate(180deg);font-size:8px;opacity:.55}.playing-card.card-back{background:#eee9d1;align-items:center;justify-content:center;padding:3px;overflow:hidden}.card-back:before{content:'';position:absolute;inset:3px;border-radius:3px;background-color:#215a3b;background-image:repeating-linear-gradient(45deg,transparent,transparent 4px,#8cac7466 4px,#8cac7466 5px),repeating-linear-gradient(-45deg,transparent,transparent 4px,#8cac7466 4px,#8cac7466 5px);border:1px solid #39643e}.card-back:after{content:'♣';z-index:1;font-family:Georgia,serif;font-size:23px;color:#e5d89b;background:#215a3b;border:1px solid #a4b47e88;border-radius:50%;width:29px;height:29px;display:grid;place-items:center}.playing-card.empty-card{background:#3b8a5833;border:1px solid #c9ddac3d;box-shadow:none;align-items:center;justify-content:center;padding:0;color:#c8dba933;font-size:25px}.street-label{font-size:8px;color:#d0dfb2aa;margin-top:12px;letter-spacing:.7px;text-transform:uppercase}.player-seat{position:absolute;transform:translate(-50%,-50%);width:116px;text-align:center;z-index:2}.seat-avatar{width:38px;height:38px;border:3px solid #edf0e3;border-radius:50%;margin:0 auto -10px;background:#d9e4d0;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;position:relative;z-index:2;box-shadow:0 0 0 1px #c1cfb6}.player-seat.is-turn .seat-avatar{border-color:var(--yellow);box-shadow:0 0 0 2px #c7a840}.player-seat.is-me .seat-avatar{background:#e7cd83}.seat-label{background:#faf9ef;border:1px solid #d4dccb;border-radius:8px;padding:12px 8px 6px;box-shadow:0 2px 0 #cad4be66;position:relative}.player-seat.is-turn .seat-label{border-color:#d5b346;box-shadow:0 0 0 2px #e2cb6e66}.seat-name{display:flex;justify-content:center;align-items:center;gap:4px;font-size:10px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seat-you{color:var(--muted);font-weight:400;font-size:8px}.seat-stack{font-family:var(--display);font-weight:700;font-size:19px;line-height:1.2;color:#3b5a32}.dealer-chip{position:absolute;right:-8px;top:-6px;font-size:8px;font-weight:600;background:#f7edcd;border:1px solid #cabd8d;border-radius:50%;width:18px;height:18px;display:grid;place-items:center;box-shadow:0 1px 2px #23321e22}.seat-action{font-size:8px;background:#e3e9d7;color:#607450;border-radius:4px;padding:1px 5px;display:inline-block;margin-top:3px;min-height:14px}.is-folded .seat-avatar,.is-folded .seat-label{opacity:.52}.seat-cards{position:absolute;display:flex;justify-content:center;gap:3px;left:50%;top:-41px;transform:translateX(-50%);z-index:-1}.seat-cards .playing-card{width:31px;height:44px;border-radius:3px;padding:3px 4px;box-shadow:none}.seat-cards .card-rank{font-size:13px}.seat-cards .card-suit-small{font-size:9px;margin-top:1px}.seat-cards .card-suit{font-size:17px;bottom:3px;right:3px}.seat-cards .card-corner{display:none}.seat-cards .card-back:after{font-size:14px;width:20px;height:20px}.seat-cards .playing-card:first-child{transform:rotate(-8deg)}.seat-cards .playing-card:last-child{transform:rotate(8deg)}.seat-bet{font-size:9px;font-weight:600;color:#375932;background:#f5ebc7;border-radius:10px;position:absolute;left:50%;bottom:-22px;transform:translateX(-50%);padding:1px 7px;white-space:nowrap}.my-hand{position:absolute;bottom:100px;left:50%;transform:translateX(-50%);display:flex;gap:5px;z-index:3}.my-hand .playing-card{width:50px;height:70px}.my-hand .playing-card:first-child{transform:rotate(-7deg) translateY(2px)}.my-hand .playing-card:last-child{transform:rotate(7deg) translateY(2px)}.my-hand .playing-card{border:1px solid #d5c791;box-shadow:0 3px 5px #193b2522}.empty-seat{border:1px dashed #acbaa0;border-radius:50%;width:31px;height:31px;display:grid;place-items:center;color:#a2b295;background:#eff1e8b3}.empty-seat .icon{width:12px;height:12px}.waiting-center{color:#f7f4da;position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px}.waiting-center .waiting-suits{font-family:Georgia,serif;color:var(--yellow);font-size:24px;letter-spacing:10px;margin:6px 0 12px}.waiting-center h2{font:700 32px var(--display);margin-bottom:8px}.waiting-center p{max-width:220px;font-size:10px;color:#c1d5af;margin-bottom:17px;text-align:center;line-height:1.7}.waiting-code{font-family:var(--display);font-size:27px;letter-spacing:5px;color:var(--yellow);border:1px dashed #b9cc8366;border-radius:5px;padding:1px 10px 2px;margin-bottom:14px}.waiting-center .btn{font-size:10px;padding:8px 14px}.table-message{min-height:44px;display:flex;justify-content:space-between;align-items:center;gap:9px;padding:10px 4px;font-size:11px;color:var(--muted)}.table-message strong{color:var(--green);font-weight:600}.connection-status{font-size:10px;display:flex;align-items:center;gap:5px;color:#7e8975}.connection-status.reconnecting{color:#a77c21}.connection-status.reconnecting .status-dot{background:#b28c30}.action-tray{border:1px solid #d5dccb;background:#fffef6;border-radius:11px;padding:16px 19px;display:flex;align-items:center;justify-content:space-between;min-height:95px;gap:16px}.action-info{min-width:125px}.action-info h3{font:700 23px var(--display);margin-bottom:5px}.action-info p{font-size:10px;color:#89917e}.action-buttons{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.action-buttons .btn{min-width:77px;font-size:11px;padding:10px 15px}.action-buttons .btn-fold{background:#f5e9e5;border-color:#ead7d0;color:#a55554}.action-buttons .btn-call{background:#e4edda;border-color:#ceddc2;color:#3e6537}.raise-controls{display:flex;align-items:center;gap:6px}.raise-field{border:1px solid #d7dccf;border-radius:6px;width:83px;height:39px;font-size:11px;padding:8px;background:#fffefa}.quick-bets{display:flex;gap:5px;justify-content:flex-end;margin-top:7px}.quick-bets button{background:transparent;border:0;font-size:8px;color:#8a927d;padding:2px 6px;border-radius:4px}.quick-bets button:hover{background:#e9eddf;color:var(--green)}.room-side{border:1px solid #d7dccf;border-radius:12px;background:#fffef7;display:flex;flex-direction:column;min-width:0;height:632px;overflow:hidden}.side-room-header{padding:18px 17px;border-bottom:1px solid var(--line)}.side-room-header h2{font:700 24px var(--display);margin-bottom:4px}.side-room-header p{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:5px}.side-tabs{display:flex;gap:0;padding:0 15px;border-bottom:1px solid var(--line)}.side-tab{border:0;background:none;flex:1;font-size:10px;color:#8b937e;padding:13px 4px;position:relative}.side-tab.active{color:var(--green);font-weight:600}.side-tab.active:after{content:'';position:absolute;bottom:0;left:7px;right:7px;height:2px;background:var(--green)}.chat-content{overflow-y:auto;flex:1;padding:20px 16px;scrollbar-width:thin}.chat-welcome{text-align:center;margin-top:33px}.chat-welcome .icon{width:30px;height:30px;color:#9aaa8b;margin-bottom:9px}.chat-welcome h3{font:700 22px var(--display);margin-bottom:9px}.chat-welcome p{font-size:10px;color:#8e9682;max-width:180px;margin:auto;line-height:1.8}.system-chat{text-align:center;font-size:9px;color:#96a087;margin-bottom:18px}.chat-message{margin-bottom:16px}.chat-meta{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#8e9882;margin-bottom:4px}.chat-meta strong{color:#576d46;font-size:10px;font-weight:600}.chat-bubble{background:#eff2e7;border-radius:0 7px 7px 7px;padding:8px 10px;font-size:11px;overflow-wrap:anywhere;line-height:1.6}.chat-message.mine .chat-bubble{background:#e4edd8}.chat-form{border-top:1px solid var(--line);display:flex;align-items:center;gap:5px;padding:12px}.chat-form input{font-size:10px;border:0;outline:none;padding:7px;min-width:0;flex:1;background:transparent;color:var(--ink)}.chat-form button{border:0;background:#e4ecd8;display:grid;place-items:center;width:30px;height:30px;border-radius:6px;color:var(--green)}.chat-form .icon{width:14px;height:14px}.chat-note{padding:0 16px 12px;font-size:8px;color:#a2aa95}.activity-item{border-left:1px solid #d9e0cd;padding:0 0 15px 13px;margin-left:3px;position:relative;font-size:10px;color:#6f7f61;line-height:1.6}.activity-item:before{content:'';position:absolute;left:-3px;top:6px;background:#9bb284;border:2px solid var(--white);height:6px;width:6px;border-radius:50%}.activity-item time{display:block;font-size:8px;color:#9aa38e;margin-top:2px}.room-bottom{padding:21px 0 25px;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#8b9580}.room-bottom-note{display:flex;align-items:center;gap:7px}.room-bottom .icon{width:13px;height:13px}.room-bottom .text-button{font-size:10px;color:#7c896e}.winner-strip{background:#eee5b9;border:1px solid #d6c879;border-radius:7px;padding:8px 13px;margin-bottom:10px;display:flex;align-items:center;gap:9px;font-size:11px;color:#6e612b}.winner-strip .icon{width:17px;height:17px}.deadline{font:700 17px var(--display);color:#b49a4a;margin-left:6px}.muted{color:var(--muted)}
/* Dialogs */
dialog{border:1px solid #d0d7c5;border-radius:15px;background:var(--paper);color:var(--ink);box-shadow:0 20px 80px #17251d33;padding:0;width:min(92vw,600px);max-height:88vh}dialog::backdrop{background:#16271ccc;backdrop-filter:blur(3px)}.modal-header{padding:25px 29px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.modal-header h2{font:800 36px var(--display)}.modal-header p{font-size:11px;color:var(--muted);margin-top:7px}.modal-close{border:1px solid var(--line);background:transparent;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;flex-shrink:0}.modal-close .icon{width:15px;height:15px}.modal-body{padding:23px 29px 28px}.modal-body p{font-size:12px;line-height:1.8;color:#75816b;margin-bottom:15px}.modal-body h3{font:700 25px var(--display);margin:19px 0 12px}.rules-flow{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:20px}.rules-flow span{font-size:10px;border:1px solid #d4ddc9;border-radius:5px;padding:5px 10px;background:#edf0e4;color:#557046}.hand-rankings{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:30px;counter-reset:hands}.hand-rankings li{padding:9px 0;border-bottom:1px solid var(--line);font-size:11px;display:flex;gap:10px;align-items:center;counter-increment:hands}.hand-rankings li:before{content:counter(hands);font:700 17px var(--display);color:#98a28b;width:15px}.hand-example{font-family:Georgia,serif;font-size:11px;color:#709062;letter-spacing:1px;margin-left:auto}.modal-notice{background:#e9eedf;border:1px solid #d4dec7;padding:12px 15px;border-radius:7px;font-size:10px;color:#738364;margin-top:20px}.results-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.results-top h3{margin:0;font:700 24px var(--display)}.results-top span{font-size:10px;color:var(--muted)}.score-row{border-top:1px solid var(--line);padding:13px 0;display:flex;align-items:center;gap:12px}.score-rank{font:700 24px var(--display);color:#a0aa92;width:20px}.score-name{font-size:12px;font-weight:600}.score-name small{display:block;font-size:9px;color:var(--muted);font-weight:400;margin-top:2px}.score-value{margin-left:auto;font:700 30px var(--display);color:var(--green)}.score-value.negative{color:#a45654}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:23px}.modal-summary{margin:0 0 20px;display:flex;gap:25px;font-size:10px;color:#879178}.modal-summary strong{font:700 26px var(--display);display:block;color:var(--ink)}#toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,15px);background:#243d29;color:#f7f6e8;padding:11px 20px;border:1px solid #4c6a42;box-shadow:0 4px 20px #192e2422;border-radius:8px;font-size:12px;opacity:0;pointer-events:none;z-index:10;max-width:90vw;transition:opacity .15s,transform .15s;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}.lobby-enter{animation:page-in .45s ease-out}@keyframes page-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.action-pending{pointer-events:none;opacity:.6}.ended-banner{background:#eee7c4;border:1px solid #dace9c;border-radius:8px;padding:13px 15px;font-size:11px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;gap:10px}
@media(min-width:1450px){.wrap{max-width:1440px;padding:0 64px}.lobby{padding-top:58px}.intro{margin-bottom:40px}.intro h1{font-size:91px}.lobby-grid{grid-template-columns:310px minmax(370px,1fr) 250px;gap:30px}.setup-body{padding:29px 32px 26px}.poster img{max-height:485px}.table-shell{height:550px}.room-side{height:689px}.felt{inset:77px 70px 83px}.table-message{min-height:44px}}
@media(max-width:1150px){.wrap{padding:0 32px}.lobby-grid{grid-template-columns:250px minmax(330px,1fr);gap:24px}.feature-stack{grid-column:1/-1;display:grid;grid-template-columns:1fr 280px;gap:24px}.house-card{display:flex;align-items:center;gap:25px;padding:18px 22px}.house-card h2{font-size:23px;max-width:65px;margin:0}.feature{margin:0;flex:1;gap:8px}.feature p{max-width:120px}.feature-icon{height:24px;width:24px}.practice-card{padding:17px}.practice-card>span{display:none}.practice-card h3{margin-top:0}.practice-card p{margin-bottom:8px}.intro h1{font-size:76px}.poster img{max-height:450px}.room-layout{grid-template-columns:minmax(0,1fr) 230px;gap:16px}.felt{inset:75px 42px 85px}.table-shell{height:480px}.room-side{height:619px}.player-seat{width:100px}.playing-card{width:44px;height:65px}.playing-card .card-rank{font-size:18px}.playing-card .card-suit{font-size:26px}.board-cards{gap:5px}.action-tray{padding:14px;gap:10px}.action-buttons .btn{padding:9px 10px;min-width:64px}.action-info{min-width:90px}.action-info h3{font-size:20px}.raise-field{width:68px}.room-tools .btn span{display:none}}
@media(max-width:850px){.wrap{padding:0 24px}.header-inner{gap:35px}.site-header{height:80px}.header-nav{gap:23px}.nav-link.active:after{bottom:-16px}.intro h1{font-size:68px}.intro-copy{margin:0;max-width:240px}.intro-copy>p{font-size:12px}.private-note{font-size:10px}.lobby{padding-top:36px}.lobby-grid{grid-template-columns:230px 1fr;gap:20px}.setup-body{padding:24px 20px}.form-row{grid-template-columns:1fr;gap:13px}.form-row.triple{grid-template-columns:1fr 1fr 1fr;gap:8px}.feature-stack{grid-template-columns:1fr 230px;gap:20px}.house-card{gap:20px;flex-wrap:wrap}.house-card h2{max-width:100%;width:100%;font-size:23px}.feature p{display:none}.feature{align-items:center}.feature strong{font-size:10px;margin:0}.poster img{max-height:none;object-fit:cover}.under-note{display:none}.room-layout{grid-template-columns:1fr}.room-side{height:300px;display:grid;grid-template-columns:180px 1fr;grid-template-rows:auto 1fr auto}.side-room-header{grid-column:1;grid-row:1;border-bottom:0}.side-tabs{grid-column:1;grid-row:2;padding:0 12px;flex-direction:column;justify-content:flex-start;border-bottom:0}.side-tab{flex:0;text-align:left;padding:10px}.side-tab.active:after{left:0;width:2px;height:20px;bottom:auto;top:10px}.chat-content{grid-column:2;grid-row:1/3;border-left:1px solid var(--line);padding:17px}.chat-form{grid-column:2;grid-row:3;border-left:1px solid var(--line)}.chat-note{grid-column:1;grid-row:3;font-size:8px;padding:13px}.chat-welcome{margin-top:10px}.felt{inset:70px 60px 76px}.table-shell{height:490px}.player-seat{width:113px}.playing-card{width:52px;height:75px}.room-heading{margin-bottom:20px}.room-main{padding-top:24px}.room-title h1{font-size:34px}.action-info{min-width:130px}.action-buttons .btn{padding:10px 16px}.raise-field{width:80px}}
@media(max-width:620px){.wrap{padding:0 18px}.site-header{height:72px}.header-inner{gap:26px}.brand{gap:8px}.brand-word{font-size:33px}.brand-symbol{height:31px;width:31px;font-size:26px}.header-nav{gap:20px}.nav-link{font-size:11px}.nav-link.active:after{bottom:-15px;height:2px}.header-right{gap:10px}.play-label{display:none}.avatar-small{width:29px;height:29px;font-size:10px}.lobby{padding-top:30px}.intro{align-items:flex-start;gap:20px;margin-bottom:27px}.intro h1{font-size:59px;letter-spacing:-1px}.intro-copy{max-width:150px;padding-top:4px}.intro-copy>p{font-size:10px;line-height:1.8}.private-note{font-size:8px;gap:5px;line-height:1.6;margin-top:12px}.lobby-grid{grid-template-columns:1fr;gap:20px}.poster{grid-row:2;max-height:390px;overflow:hidden;border-radius:12px;background:#297b43;position:relative}.poster img{width:285px;max-height:393px;margin:auto;object-fit:contain;box-shadow:none}.poster:before,.poster:after{content:'♣';font:80px Georgia,serif;position:absolute;top:150px;color:#98b57533;left:10px;transform:rotate(-15deg)}.poster:after{left:auto;right:10px;content:'♠';transform:rotate(15deg)}.setup-card{grid-row:1}.setup-body{padding:23px 22px}.setup-body h2{font-size:29px}.setup-subtitle{font-size:11px;margin-bottom:20px}.form-row{grid-template-columns:1fr 1fr;gap:12px}.form-field label{font-size:10px}.form-field input,.form-field select{height:43px;font-size:11px}.form-row.triple{gap:10px;margin-bottom:20px}.setup-footnote{margin-top:14px}.feature-stack{grid-row:3;grid-column:auto;grid-template-columns:1fr;gap:18px}.house-card{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;padding:20px}.house-card h2{grid-column:1/-1}.feature{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.feature p{display:block;font-size:9px;max-width:none}.feature strong{font-size:10px;margin-bottom:4px}.practice-card{display:grid;grid-template-columns:1fr auto;gap:3px 20px;padding:20px}.practice-card h3{grid-column:1;grid-row:1}.practice-card p{grid-column:1;grid-row:2;margin:3px 0 0}.practice-card .text-button{grid-column:2;grid-row:1/3;align-self:center}.under-table{margin:27px 0 25px;padding:18px 0;flex-wrap:wrap}.under-title h3{font-size:20px}.under-title p{font-size:9px}.under-table .suit-divider{margin-left:auto;font-size:14px;letter-spacing:4px}.recent-buttons{width:100%}.recent-room{flex:1;justify-content:space-between}.site-footer{font-size:9px;align-items:flex-start}.footer-left{gap:8px}.footer-left .footer-brand{font-size:18px}.footer-right{gap:12px}.footer-right button{font-size:9px}.room-main{padding-top:21px}.room-title{gap:10px}.room-title h1{font-size:29px;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-heading{gap:8px;align-items:flex-start}.back-btn{height:28px;width:28px}.room-meta{font-size:8px;gap:5px;flex-wrap:wrap}.room-meta code{font-size:8px}.room-tools{gap:4px;align-self:center}.room-tools .btn{padding:8px 9px}.room-tools .btn .icon{width:15px;height:15px}.table-shell{height:474px;border-radius:12px;margin:0 -5px}.felt{inset:81px 26px 81px;border-width:6px;border-radius:44%}.felt:before{inset:11px;border-radius:44%}.table-mark{top:23px;font-size:20px}.center-board{top:47%;padding:0 4px}.pot-amount{font-size:30px;margin-bottom:14px}.pot-label{font-size:8px}.board-cards{gap:4px}.playing-card{width:39px;height:57px;border-radius:4px;padding:4px}.playing-card .card-rank{font-size:17px}.playing-card .card-suit-small{font-size:11px;margin-top:1px}.playing-card .card-suit{font-size:21px;bottom:5px;right:5px}.playing-card .card-corner{font-size:7px}.street-label{font-size:7px;margin-top:12px}.player-seat{width:84px}.seat-avatar{width:30px;height:30px;font-size:9px;border-width:2px;margin-bottom:-9px}.seat-label{border-radius:6px;padding:11px 4px 5px}.seat-name{font-size:8px;gap:2px}.seat-you{font-size:7px}.seat-stack{font-size:17px}.seat-action{font-size:7px;min-height:12px;padding:0 4px;margin-top:2px}.dealer-chip{height:16px;width:16px;font-size:7px;right:-5px}.seat-cards{top:-30px;gap:2px}.seat-cards .playing-card{width:24px;height:35px;padding:2px 3px}.seat-cards .card-rank{font-size:10px}.seat-cards .card-suit-small{font-size:8px}.seat-cards .card-suit{font-size:13px}.seat-cards .card-back:after{width:16px;height:16px;font-size:11px}.my-hand{bottom:101px;gap:4px}.my-hand .playing-card{width:40px;height:57px}.seat-bet{font-size:7px;bottom:-18px;padding:1px 6px}.table-status{font-size:8px;top:14px;left:14px}.hand-count{font-size:8px;top:14px;right:14px}.waiting-center h2{font-size:28px}.waiting-center p{font-size:9px;max-width:200px}.waiting-center .waiting-suits{font-size:21px}.waiting-code{font-size:25px}.waiting-center .btn{font-size:9px}.table-message{font-size:10px;min-height:45px;padding:11px 1px;align-items:center}.connection-status{font-size:8px;flex-shrink:0}.action-tray{padding:15px;flex-direction:column;gap:14px;align-items:stretch;min-height:120px}.action-info{display:flex;align-items:center;justify-content:space-between;min-width:0}.action-info h3{font-size:22px;margin:0}.action-info p{font-size:9px}.action-buttons{justify-content:stretch;gap:6px;flex-wrap:nowrap}.action-buttons>.btn{flex:1;padding:11px 10px;min-width:0}.raise-controls{flex:1.8;gap:5px}.raise-controls .btn{flex:1;padding:11px 12px;min-width:0}.raise-field{width:68px;height:41px;padding:8px;font-size:11px}.quick-bets{justify-content:center;gap:16px;margin-top:0}.quick-bets button{font-size:9px}.room-side{height:330px;grid-template-columns:120px 1fr}.side-room-header{padding:18px 13px}.side-room-header h2{font-size:21px}.side-room-header p{font-size:9px;display:block}.side-room-header p .icon{display:none}.side-tabs{padding:0 7px}.side-tab{font-size:9px;padding:12px 9px}.chat-note{font-size:7px;padding:12px}.chat-content{padding:17px 12px}.chat-meta strong{font-size:9px}.chat-bubble{font-size:10px}.room-bottom{font-size:8px;gap:10px;align-items:flex-start;padding:20px 0}.room-bottom-note{max-width:210px;align-items:flex-start;line-height:1.7}.room-bottom-note .icon{margin-top:2px;flex-shrink:0}.room-bottom .text-button{font-size:9px;white-space:nowrap}.winner-strip{font-size:10px;line-height:1.6;padding:8px 10px}.modal-header{padding:21px 22px 18px}.modal-header h2{font-size:32px}.modal-body{padding:19px 22px 25px}.hand-rankings{grid-template-columns:1fr}.modal-actions .btn{font-size:10px;padding:10px 12px}.score-value{font-size:26px}.score-name{font-size:11px}.ended-banner{font-size:10px}.ended-banner .btn{font-size:9px;padding:8px}}
@media(max-width:370px){.header-inner{gap:18px}.header-nav{gap:13px}.intro h1{font-size:53px}.intro-copy{max-width:125px}.intro-copy>p{font-size:9px}.intro-copy .private-note{font-size:7px}.form-row{grid-template-columns:1fr}.form-row.triple{grid-template-columns:1fr 1fr 1fr}.table-shell{height:450px}.felt{inset:82px 24px 80px}.playing-card{width:35px;height:51px}.player-seat{width:76px}.seat-name{font-size:7px}.room-title h1{max-width:146px}.room-tools .btn{padding:7px}.room-tools{gap:3px}.action-buttons>.btn{font-size:10px}.raise-controls .btn{font-size:10px;padding:11px 8px}.raise-field{width:58px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* The deck, card backs and payout use the same gold accents as the felt. */
.table-deck {
  position: absolute;
  top: 8px;
  left: calc(50% - 112px);
  width: 24px;
  height: 32px;
  display: grid;
  place-items: center;
  border: 2px solid #f6e9bd;
  border-radius: 4px;
  background: #1b5537;
  color: #f1da94;
  font: 15px Georgia, serif;
  transform: rotate(-12deg);
  box-shadow: 2px 2px 0 #cfbd85, 4px 4px 0 #183b2d;
}
.playing-card > .playing-card.flip-cover {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  transform: none;
  box-shadow: none;
}
.player-seat.is-winner .seat-label {
  background: #fff2c4;
  border-color: #b99436;
  box-shadow: 0 0 0 2px #efcd70, 0 3px 0 #75541e44;
}
.player-seat.is-winner .seat-avatar {
  border-color: #edcb6d;
}
.player-seat.is-winner .seat-action {
  color: #614513;
  background: #f2d783;
  font-weight: 700;
}
.hand-result {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 24px;
  margin-top: 12px;
  padding: 12px 16px;
  border: 1px solid #c19c47;
  border-left: 5px solid #a87620;
  border-radius: 8px;
  color: #372a12;
  background: #f9e8ad;
}
.hand-result-heading {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.hand-result-heading .icon {
  flex: none;
  width: 24px;
  height: 24px;
  color: #785018;
}
.hand-result h2 {
  margin: 0;
  font: 700 clamp(24px, 4vw, 35px)/1.05 var(--display);
  overflow-wrap: anywhere;
}
.hand-payouts {
  flex: 1 1 auto;
  display: grid;
  gap: 4px;
  max-width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
.hand-payouts li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 4px 12px;
  flex-wrap: wrap;
}
.hand-payouts li > span { overflow-wrap: anywhere; }
.hand-payouts li > span small { display: block; color: #654c23; }
.hand-payouts strong {
  margin-left: auto;
  color: #245939;
  font: 700 clamp(23px, 3.8vw, 32px)/1 var(--display);
  white-space: nowrap;
}
.hand-payouts strong small { font-size: .56em; }
@media (max-width: 620px) {
  .table-deck { left: calc(50% - 89px); width: 20px; height: 26px; }
  .hand-result { padding: 10px 12px; column-gap: 12px; }
}

/* Betting controls and wagers */
.seat-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.seat-stack { font-size: clamp(16px, 2vw, 20px); font-variant-numeric: tabular-nums; }
.seat-stack small {
  color: #50614d;
  font: 600 9px var(--body, system-ui);
}
.seat-wager {
  display: flex;
  align-items: baseline;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0 5px;
  margin: 4px -3px 0;
  padding: 3px;
  border-radius: 4px;
  background: #e9c86c;
  color: #30230a;
  font-size: 9px;
  font-weight: 700;
  line-height: 1.1;
}
.seat-wager strong {
  font: 700 clamp(15px, 2vw, 21px)/1 var(--display);
  font-variant-numeric: tabular-nums;
}
.is-folded .seat-label { opacity: 1; background: #e7e9de; }
.is-folded .seat-wager { background: #d7dccb; color: #435240; }
.pot-display {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 8px;
  margin-bottom: 16px;
}
.pot-display .pot-amount { margin: 0; }
.center-board .street-label { font-size: 10px; color: #f0eed9; }
.street-label strong { color: #ffe495; font-variant-numeric: tabular-nums; }
.street-label span { margin: 0 3px; }

.action-tray.betting-tray {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-content: stretch;
  gap: 12px;
  padding: 14px;
  border: 1px solid #2e4437;
  border-radius: 12px;
  background: #172a21;
  color: #fff9e9;
}
.betting-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.betting-heading .action-info { display: block; }
.betting-heading .action-info h3 { color: #fff9e9; margin: 0; }
.betting-heading .action-info p { color: #bdcbbc; margin: 3px 0 0; }
.bet-clock {
  color: #ffe296;
  background: #2b4033;
  border-radius: 6px;
  padding: 5px 9px;
  font-size: 14px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.bet-clock:empty { display: none; }
.betting-buttons {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  gap: 8px;
}
.bet-action {
  appearance: none;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 3px;
  min-height: 59px;
  border: 1px solid transparent;
  border-radius: 8px;
  padding: 6px 4px;
  font: 700 14px/1.1 var(--body, system-ui);
  font-variant-numeric: tabular-nums;
  cursor: pointer;
  box-shadow: inset 0 -3px 0 #0003;
  transition: filter .15s ease, transform .15s ease;
}
.bet-action:hover:not(:disabled) { filter: brightness(1.09); }
.bet-action:active:not(:disabled) { transform: translateY(2px); }
.bet-action strong { font: 700 clamp(16px, 2.4vw, 24px)/1 var(--display); overflow-wrap: anywhere; }
.bet-action:disabled, .bet-preset:disabled { opacity: .42; cursor: not-allowed; }
.bet-fold { color: #f7eee4; background: #303a33; border-color: #657067; }
.bet-match { color: #fffaf0; background: #326849; border-color: #56856a; }
.bet-commit { color: #2e210b; background: #efcc76; border-color: #ffde8e; }

.bet-sizing { display: grid; gap: 7px; border-top: 1px solid #3a4b3e; padding-top: 10px; }
.bet-presets { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.bet-preset {
  min-height: 38px;
  padding: 3px;
  border: 1px solid #516458;
  border-radius: 6px;
  background: #24372c;
  color: #f7f1df;
  font: 650 12px var(--body, system-ui);
  cursor: pointer;
}
.bet-preset:hover:not(:disabled) { background: #384e3e; }
.bet-preset[aria-pressed="true"] { border-color: #edcc80; color: #ffe399; background: #3c402b; }
.bet-size-fields { display: flex; align-items: center; gap: 12px; min-height: 42px; }
.bet-size-fields input[type="range"] { flex: 1; min-width: 0; height: 38px; margin: 0; accent-color: #efcc76; }
.bet-size-note { flex: 1; color: #c6d1c4; font-size: 12px; }
.bet-amount-label {
  display: flex;
  align-items: center;
  gap: 6px;
  border: 1px solid #576a5d;
  border-radius: 6px;
  padding: 0 7px;
  color: #c8d3c6;
  font-size: 11px;
}
.bet-amount-label input {
  width: clamp(65px, 13vw, 115px);
  min-height: 39px;
  padding: 3px 0;
  border: 0;
  background: transparent;
  color: #fff9e9;
  font: 700 16px var(--body, system-ui);
  font-variant-numeric: tabular-nums;
}
.betting-tray :is(button, input):focus-visible { outline: 2px solid #ffe296; outline-offset: 2px; }
@media (min-width: 850px) {
  .action-tray.betting-tray:has(.bet-sizing) {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
  }
  .betting-heading { grid-column: 1 / -1; }
  .bet-sizing { border-top: 0; border-left: 1px solid #3a4b3e; padding: 0 0 0 12px; }
}
@media (max-width: 620px) {
  .table-compact { height: clamp(360px, 45dvh, 420px); }
  .table-compact .felt { inset-block: 63px 65px; }
  .table-compact .center-board { top: 51%; }
  .table-compact .pot-display { align-items: center; gap: 7px; margin-bottom: 8px; }
  .table-compact .pot-amount { margin: 0; font-size: 23px; }
  .table-compact .pot-amount .icon { width: 15px; height: 15px; }
  .table-compact .street-label { margin-top: 7px; }
  .table-compact .my-hand { bottom: 79px; }
  .table-compact .my-hand .playing-card { height: 47px; }
  .seat-stack small { font-size: 8px; }
  .seat-wager { margin-inline: -1px; }
  .action-tray.betting-tray { padding: 11px; gap: 9px; }
  .bet-preset { min-height: 44px; }
  .bet-action { font-size: 13px; min-height: 54px; }
  .bet-amount-label input { min-height: 43px; }
}

/* A full crew needs a clear lane for the board and the private hand. Keep
   positions responsive through the seat-slot hooks, independent of identity. */
.table-shell:not(.table-compact) .center-board { top: 42%; width: max-content; max-width: calc(100% - 16px); padding: 0; }
.table-shell:not(.table-compact) .my-hand { bottom: 125px; }
.table-shell:not(.table-compact) .seat-name { white-space: normal; overflow-wrap: anywhere; }
.table-shell:not(.table-compact) .player-seat[data-slot='0'] { top: 87% !important; }
.table-shell:not(.table-compact) .player-seat[data-slot='1'],
.table-shell:not(.table-compact) .player-seat[data-slot='7'] { top: 78% !important; }
.table-shell:not(.table-compact) .player-seat[data-slot='2'],
.table-shell:not(.table-compact) .player-seat[data-slot='6'] { top: 44% !important; }
.table-shell:not(.table-compact) .player-seat[data-slot='3'],
.table-shell:not(.table-compact) .player-seat[data-slot='4'],
.table-shell:not(.table-compact) .player-seat[data-slot='5'] { top: 18% !important; }
.table-shell:not(.table-compact) .seat-cards:has(.card-back) { top: -18px; gap: 2px; }
.table-shell:not(.table-compact) .seat-cards .card-back { width: 17px; height: 25px; padding: 1px; }
.table-shell:not(.table-compact) .seat-cards .card-back:after { width: 12px; height: 12px; font-size: 10px; }
@media (max-width: 620px) {
  .table-shell:not(.table-compact) .board-cards .playing-card { width: 31px; height: 47px; }
  .table-shell:not(.table-compact) .board-cards .card-rank { font-size: 16px; }
  .table-shell:not(.table-compact) .board-cards .card-suit { font-size: 18px; bottom: 4px; right: 4px; }
  .table-shell:not(.table-compact) .board-cards .card-suit-small { font-size: 10px; }
  .table-shell:not(.table-compact) .table-deck { display: none; }
  .table-shell:not(.table-compact) .seat-name { font-size: 9px; }
  .waiting-center .waiting-suits { display: none; }
  .waiting-center h2 { font-size: 24px; margin-bottom: 4px; }
  .waiting-center p { line-height: 1.4; margin-bottom: 6px; }
  .waiting-code { font-size: 21px; line-height: 1.3; margin-bottom: 6px; }
  .waiting-center .btn { min-height: 44px; padding: 9px 14px; }
}
.table-shell:not(.table-compact) .seat-name { display: block; }
.table-shell:not(.table-compact) .seat-you { display: inline-block; margin-left: 3px; white-space: nowrap; }
.table-shell:not(.table-compact) .player-seat[data-slot='4'] { top: 16% !important; }
.table-status, .hand-count { z-index: 4; background: #ecefe3; }

/* Keep the waiting-room deal button clear in short landscape viewports too. */
@media (max-height: 500px) and (orientation: landscape) {
  .waiting-center .waiting-suits { display: none; }
  .waiting-center h2 { font-size: 24px; margin-bottom: 4px; }
  .waiting-center p { line-height: 1.4; margin-bottom: 6px; }
  .waiting-code { font-size: 21px; line-height: 1.3; margin-bottom: 6px; }
  .waiting-center .btn { min-height: 44px; padding: 9px 14px; }
}
/* Long viewer names keep their label while leaving the card fan unobstructed. */
@media (min-width: 621px) {
  .table-shell:not(.table-compact) .is-me .seat-avatar { width: 30px; height: 30px; border-width: 2px; margin-bottom: -12px; font-size: 10px; }
}
@media (min-width: 621px) {
  .table-shell:not(.table-compact) .my-hand { bottom: 132px; }
}
@media (min-width: 621px) {
  .table-shell:not(.table-compact) .center-board { top: calc(42% - 6px); }
}
@media (min-width: 621px) {
  .table-shell:not(.table-compact) .player-seat[data-slot='4'] { top: calc(16% - 12px) !important; }
}
