/* The table owns the viewport; secondary tasks live in dismissible panels. */
.table-quick,.table-shortcuts{display:none}
.room-dialog{border:1px solid #cad3bd;border-radius:18px;background:#faf9f1;color:#253d30;width:min(680px,calc(100% - 32px));max-height:85dvh;margin:auto;padding:24px;box-shadow:0 24px 90px #001b23aa;overflow:auto;overscroll-behavior:contain}
.room-dialog::backdrop{background:#051c18b8;backdrop-filter:blur(5px)}
.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.dialog-heading h2{font-size:20px;margin:0}.dialog-heading button{border:1px solid #d1d8c5;border-radius:50%;width:40px;height:40px;background:transparent;color:inherit;font-size:18px;cursor:pointer;flex-shrink:0}
.room-tabs{display:flex;gap:8px;margin-bottom:20px}.room-tabs button{flex:1;min-height:42px;background:#edf0e4;border:1px solid transparent;border-radius:7px;color:#617351;cursor:pointer;font-size:13px}.room-tabs button[aria-pressed=true]{background:#214f40;color:#fff6df}
.room-dialog .room-lobby,.room-dialog .room-chips,.room-dialog .room-showdown{padding:0;border:0;background:transparent;margin:0}.room-dialog .room-members{grid-template-columns:repeat(3,1fr)}.room-dialog .room-lobby-heading .tiny-label{display:none}.room-dialog .room-lobby-heading h2{font-size:17px}.room-dialog .room-footer-actions{border-top:1px solid #d7ddcd;padding-top:16px}.room-dialog .room-rules{border:0;margin:0}.room-dialog .room-rules summary{display:none}.room-dialog .practice-log{margin-top:20px}.room-dialog .practice-log ol{font-size:12px}.room-dialog .room-action-row{margin:0}.room-dialog .room-action-row>div{margin-top:14px}.room-dialog .room-action-row .button{font-size:14px;min-height:48px;padding:12px 24px}.room-dialog .room-action-row small{font-size:12px;line-height:1.8;margin-top:12px}.room-dialog .room-action-row label{font-size:13px}.dialog-notice,#room-chip-lock{font-size:12px;background:#f2e5cf;padding:12px;border-radius:6px;margin-bottom:16px}.room-dialog .room-showdown{margin-top:20px}
.room-focus{background:#10392f;padding:0;color:#ebeedc}.room-focus>header,.room-focus>footer{display:none}.room-focus .rooms-main{width:100%;max-width:none;margin:0;padding:0;min-height:0}.room-focus #room-live{height:100vh;height:100dvh;min-height:540px;display:flex;flex-direction:column;max-width:1100px;margin:auto}
.room-focus .room-heading{flex:none;padding:12px 20px;gap:10px;flex-wrap:nowrap;align-items:center;border-bottom:1px solid #afc79922;background:#11372f}.room-focus .room-heading>div:first-child{display:flex;align-items:center;gap:16px}.room-focus .room-heading h1{font:12px sans-serif;white-space:nowrap;margin:0;color:#a8c1ad}.room-focus .room-heading h1 span{font:20px Georgia;letter-spacing:2px;color:#eff0d8;margin-left:5px}.room-focus .room-heading .eyebrow{font-size:11px;letter-spacing:1px;color:#acc2a6}.room-focus .room-share{width:auto;gap:10px}.room-focus .room-share .button{padding:8px 13px;min-height:38px;font-size:12px;color:#e5e9d5;border-color:#abc29b44;background:transparent}.room-focus .room-connection{font-size:0}.room-focus .room-connection:before{width:7px;height:7px;margin:0}.room-focus .room-connection.offline{font-size:10px;max-width:70px}
.room-focus #room-game{flex:1;min-height:0;display:flex;scroll-margin:0}.room-focus .room-game-shell{display:flex;flex:1;margin:0;border:0;border-radius:0;background:transparent;min-width:0}.room-focus .practice-table{flex:1;display:flex;flex-direction:column;min-width:0;padding:16px 24px calc(12px + env(safe-area-inset-bottom,0px));background:radial-gradient(ellipse at 50% 40%,#28634e,#10392f 80%)}.room-focus .practice-toolbar{flex:none;font-size:11px;max-width:850px;width:100%;margin:auto}.room-focus .practice-arena{flex:1;width:100%;height:auto;min-height:310px;max-width:850px;margin:16px auto 0}.room-focus .practice-felt{inset:65px 6% 115px;border-radius:180px;background:#1c5140b8}.room-focus #room-seats{position:absolute;inset:32px 0 145px;pointer-events:none}.room-focus .practice-self{bottom:12px;min-width:0;width:150px}.room-focus .room-hole .card{width:43px;height:61px;font-size:22px}.room-focus #room-self{margin-top:8px;font-size:12px;max-width:none}.room-focus #room-self small{font-size:10px;margin-top:2px}.room-focus .practice-table-bottom{flex:none;font-size:10px;padding-top:10px;max-width:850px;width:100%;margin:auto;color:#afc6a7}.room-focus .practice-table-bottom>.room-table-order{display:none}
.room-focus .table-quick{display:block;position:absolute;bottom:33px;min-height:56px;width:calc((100% - 174px)/2);max-width:180px;border-radius:12px;border:1px solid #b5c89a55;padding:12px 8px;font:600 15px/1.4 sans-serif;cursor:pointer;transition:background .15s,transform .15s}.room-focus .table-quick:active:not(:disabled){transform:scale(.97)}.room-focus .table-quick-left{left:3%;color:#d8e4ce;background:#1c483b}.room-focus .table-quick-right{right:3%;color:#173a2d;background:#e7c788;border-color:#ebd39e;box-shadow:0 4px 20px #001e1933}.room-focus .table-quick:disabled{opacity:.42;cursor:default;box-shadow:none}.room-focus .practice-controls{flex:none;max-width:850px;width:100%;margin:auto;padding:12px 0 0;gap:8px}.room-focus .room-turn-heading{min-height:28px}.room-focus .practice-status{font:500 17px/1.4 sans-serif;color:#f0e6c9}.room-focus #room-countdown{font-size:18px;color:#e1c78f}.room-focus #room-help,.room-focus #room-actions{display:none!important}.room-focus .table-shortcuts{display:flex;gap:8px;order:3}.room-focus .table-shortcuts button{flex:1;min-height:44px;padding:8px;border:1px solid #aac19e33;border-radius:8px;background:#154335;color:#d7e0c7;font-size:13px;cursor:pointer}.room-focus .table-shortcuts button:disabled{opacity:.35}.room-focus #table-see{color:#efd29c;border-color:#bc9c6266}.room-focus #room-next-inline{border:0;border-radius:0;background:transparent;padding:0;order:2}.room-focus #room-next-status{font-size:11px;color:#b2c8a8;margin:0}.room-focus .room-notice{position:fixed;top:66px;left:50%;transform:translateX(-50%);width:calc(100% - 32px);max-width:650px;z-index:40;box-shadow:0 6px 20px #06251b44}.room-focus button:focus-visible{outline:2px solid #f8d697;outline-offset:3px}
@media(min-width:800px){.room-focus .practice-seat-cards .card{width:30px;height:42px}.room-focus .practice-seat-name{font-size:12px}.room-focus .practice-seat>b{font-size:12px}.room-focus .practice-seat>small{font-size:10px}.room-focus .practice-board .card{width:43px;height:62px}.room-focus .practice-felt{gap:16px}.room-focus .practice-pot{font-size:40px}}
@media(max-width:560px){.room-dialog{width:100%;max-width:100vw;max-height:88dvh;margin:auto 0 0;border-radius:20px 20px 0 0;padding:20px 18px calc(22px + env(safe-area-inset-bottom,0px));border-bottom:0}.room-dialog .room-members{grid-template-columns:repeat(2,1fr)}.room-focus .room-heading{padding:10px 12px;gap:6px}.room-focus .room-heading>div:first-child{display:block}.room-focus .room-heading .eyebrow{font-size:9px;margin-bottom:3px;letter-spacing:0}.room-focus .room-heading h1{font-size:10px}.room-focus .room-heading h1 span{font-size:18px}.room-focus .room-share{gap:7px}.room-focus .room-share .button{padding:7px 11px;font-size:11px}.room-focus .practice-table{padding:12px 12px calc(10px + env(safe-area-inset-bottom,0px))}.room-focus .practice-toolbar{font-size:10px}.room-focus .practice-arena{margin-top:14px;min-height:280px}.room-focus #room-seats{inset:24px 0 132px}.room-focus .practice-felt{inset:54px 3% 115px;border-width:4px;gap:9px}.room-focus .practice-felt:before{inset:7px}.room-focus .practice-board-hint{font-size:8px;max-width:65%}.room-focus .practice-self{width:124px;bottom:12px}.room-focus .room-hole{gap:4px}.room-focus .room-hole .card{width:36px;height:52px;font-size:18px}.room-focus .table-quick{bottom:37px;width:calc((100% - 142px)/2);min-height:52px;font-size:13px;padding:10px 6px;border-radius:10px}.room-focus .table-quick-left{left:0}.room-focus .table-quick-right{right:0}.room-focus #room-self{font-size:11px}.room-focus #room-self small{font-size:9px}.room-focus .practice-controls{padding-top:10px;gap:7px}.room-focus .practice-status{font-size:15px}.room-focus .practice-table-bottom{font-size:9px;padding-top:8px}.room-focus .practice-seat-name{font-size:10px}.room-focus .practice-seat>b{font-size:9px}.room-focus .practice-seat>small{font-size:8px}.room-focus .practice-seat-cards .card{width:21px;height:29px}.room-focus .table-shortcuts button{font-size:12px}.room-focus .room-next-inline>p{line-height:1.4}.room-focus .practice-board .card{width:27px;height:40px;font-size:13px}.room-focus .practice-board .suit{font-size:15px}}
@media(max-height:660px){.room-focus .practice-arena{margin-top:8px}.room-focus .practice-table{padding-top:8px}.room-focus .practice-felt{inset:43px 5% 104px;gap:5px}.room-focus #room-seats{inset:22px 0 124px}.room-focus .practice-board-hint{display:none}.room-focus .practice-table-bottom{padding-top:5px}.room-focus .practice-controls{padding-top:7px;gap:5px}}
/* Reserve the readiness line so cards and primary actions never jump at settlement. */
.room-focus #room-next-inline,.room-focus #room-next-inline[hidden]{display:flex!important;align-items:center;min-height:28px;height:28px}
.room-focus #room-next-inline[hidden]{visibility:hidden}
.room-focus #room-next-status{line-height:14px}

/* Navigation stays visible even when the global header is hidden. */
.room-identity{display:flex;align-items:center;gap:16px;min-width:0}
.room-heading-label{min-width:0}
.room-home{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:40px;min-width:48px;padding:8px;border:1px solid #a4b79766;border-radius:7px;color:var(--ink);font-size:12px;white-space:nowrap;text-decoration:none}
.room-focus .room-heading>div.room-identity{display:flex;gap:10px;min-width:0}
.room-focus .room-home{color:#e5e9d5;border-color:#abc29b44}
.room-home:focus-visible{outline:2px solid #e7c788;outline-offset:3px}
.room-focus .room-heading-label .eyebrow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:560px){.room-focus .room-heading>div.room-identity{gap:7px;flex:1}.room-focus .room-home{min-width:44px;min-height:40px;padding:6px;font-size:11px}.room-focus .room-heading h1 span{font-size:16px;letter-spacing:1px;margin-left:3px}.room-focus .room-share{flex-shrink:0;gap:6px}.room-focus .room-share .button{padding:7px 9px}.room-focus .room-connection.offline{font-size:0}}

.room-exit-actions{display:flex;gap:18px;align-items:center;flex-shrink:0}
.room-exit-actions .room-danger{color:#a33f32}
.room-confirm-actions{display:flex;gap:12px;margin-top:24px}
.room-confirm-actions .button{flex:1;justify-content:center;min-height:46px;font-size:13px}
#room-dissolve-description,#room-dissolve-active{font-size:14px;line-height:1.8}
#room-dissolve-active{color:#a33f32;margin-top:12px}
#room-dissolve-confirm{background:#a33f32;color:#fff8ed;border:1px solid #a33f32}
@media(max-width:560px){.room-dialog .room-footer-actions{flex-wrap:wrap;gap:14px}.room-exit-actions{width:100%;justify-content:space-between}.room-exit-actions .text-link{min-height:40px;font-size:12px}}

.room-reveal-setting{padding:18px;background:#edf0e3;border:1px solid #ced8bf;border-radius:10px;margin-bottom:20px}
.room-reveal-setting>div{display:flex;align-items:center;justify-content:space-between;gap:14px}
.room-reveal-setting h3{font-size:16px;margin:0}
.room-reveal-setting p{font-size:12px;line-height:1.8;margin:12px 0 0;color:#607154}
.room-reveal-setting small{display:block;margin-top:12px;font-size:11px;color:#758169}
#room-reveal-toggle{flex-shrink:0;border:1px solid #aab99d;border-radius:24px;padding:9px 14px;min-height:42px;background:#fafbf5;color:#526446;cursor:pointer;font-size:12px}
#room-reveal-toggle[aria-checked=true]{background:#245740;color:#fff5dc;border-color:#245740}
.room-reveal-badge{border:1px solid #adc39e44;border-radius:14px;color:#adc3a3;background:transparent;padding:5px 10px;min-height:30px;font-size:10px;cursor:pointer;line-height:1.2}
.room-reveal-badge.enabled{color:#f3d494;border-color:#d9ba7855;background:#d9ba7815}
.room-focus .practice-toolbar{align-items:center;gap:8px}
.room-game-shell .practice-seat.folded.revealed{opacity:1}
.room-game-shell .practice-seat.folded.revealed .practice-seat-name,.room-game-shell .practice-seat.folded.revealed>b{opacity:.6}
.room-game-shell .practice-seat.folded.revealed>small{color:#e9c487}
/* Personal comforts stay in the room panel; only a running countdown appears on the table. */
.room-personal-settings{border:1px solid #d3dcc8;background:#f2f3e9;border-radius:10px;padding:18px;margin-bottom:18px}
.room-personal-settings h3{font-size:16px;margin:0 0 8px}.room-personal-settings label{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid #dbe1cf;cursor:pointer;font-size:13px}.room-personal-settings label span{flex:1}.room-personal-settings small{display:block;color:#7e8d72;font-size:10px;line-height:1.7;margin-top:3px}.room-personal-settings input{width:20px;height:20px;min-width:20px;accent-color:#315b40}.room-personal-settings>p{font-size:11px;line-height:1.8;color:#7e8d72;margin:12px 0 0}
.room-focus #room-next-inline{gap:10px;justify-content:space-between}.room-focus #room-auto-cancel{flex-shrink:0;min-height:28px;color:#e6c88e;font-size:10px;padding:2px 0}.room-summary-record{margin-bottom:18px;width:100%;justify-content:center;font-size:12px}.room-summary-link{white-space:nowrap}.room-summary-before-close{display:block;margin-top:16px;color:#796b47;min-height:32px;font-size:12px}.room-summary-table-wrap{overflow:auto;margin:18px 0}.room-summary-table{border-collapse:collapse;width:100%;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.room-summary-table th,.room-summary-table td{padding:12px 8px;text-align:right;border-bottom:1px solid #d8dfcb}.room-summary-table th:first-child{text-align:left}.room-summary-table thead{font-size:10px;color:#7a886d}.room-summary-table th[scope=row]{max-width:150px;white-space:normal;overflow-wrap:anywhere}.room-summary-table th small{display:block;font-size:9px;color:#91a080;font-weight:400}.room-summary-table .negative{color:#a4533b}.room-summary-table .positive{color:#315b40}.room-summary-note,#room-summary-meta,#room-summary-export-status{font-size:11px;line-height:1.8;color:#7a886d}.room-summary-note{margin-bottom:16px}#room-summary-export{width:100%;justify-content:center;font-size:13px;margin-top:8px}#room-action-confirm-description{font-size:14px;line-height:1.9}
@keyframes room-turn-flash{0%,100%{filter:none}25%,65%{filter:drop-shadow(0 0 16px #f3d18bcc)}}
.room-turn-flash{animation:room-turn-flash 1.4s ease-in-out}
@media(prefers-reduced-motion:reduce){.room-turn-flash{animation:none;outline:2px solid #e6c88e;outline-offset:7px;border-radius:8px}}
@media(max-width:560px){.room-summary-table{font-size:10px}.room-summary-table th,.room-summary-table td{padding:11px 4px}.room-summary-table th[scope=row]{max-width:82px}.room-summary-table thead{font-size:9px}.room-personal-settings{padding:16px}.room-dialog .room-footer-actions .room-summary-link{min-height:34px;font-size:12px}.room-confirm-actions .button{padding:11px 9px;font-size:12px}}
