/* Poker extends the homepage tokens; personal felt themes remain local. */
#poker-table{color:var(--color-text);background:var(--color-background)}
#poker-table .table-heading{background:var(--color-surface);border-color:var(--color-border);border-radius:var(--radius-sm) var(--radius-sm) 0 0;padding-inline:10px}
#poker-table .table-header-brand,#poker-table .table-header-brand b{color:var(--color-text);font-style:normal}
#poker-table .table-wallet{background:var(--color-surface-elevated);border-color:var(--color-border)}
#poker-table .table-wallet small,#poker-table .table-room>span{color:var(--color-text-secondary)}
#poker-table .table-wallet strong{color:var(--color-primary)}
#poker-table .table-deposit{background:var(--color-primary);border:1px solid var(--color-primary);color:var(--color-ink);border-radius:var(--radius-sm);box-shadow:none;transition:background var(--motion-fast),transform var(--motion-fast)}
#poker-table .table-deposit:hover{background:var(--color-primary-hover)}
#poker-table .table-deposit:active{transform:translateY(1px)}
#poker-table .table-connection{padding-inline:10px;color:var(--color-text-secondary)}
#poker-table .table-customization-controls{display:flex;align-items:center;gap:5px;min-height:44px;padding:2px 10px;margin:0;overflow:visible}
#poker-table .table-customization-controls .table-tool{position:relative;display:grid;place-items:center;flex:none;width:38px;height:38px;min-height:38px;padding:8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);background:var(--color-surface);cursor:pointer;box-shadow:none;transition:color var(--motion-fast),background var(--motion-fast),border-color var(--motion-fast),transform var(--motion-fast)}
#poker-table .table-tool .product-icon{width:19px;height:19px}
#poker-table .table-tool:hover{background:var(--color-surface-elevated);color:var(--color-text)}
#poker-table .table-tool[aria-pressed=true]{color:var(--color-primary);border-color:color-mix(in srgb,var(--color-primary) 50%,var(--color-border));background:color-mix(in srgb,var(--color-primary) 7%,var(--color-surface))}
#poker-table .table-tool:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}
#poker-table .table-tool:active{transform:translateY(1px)}
#poker-table [data-sound-icon]{display:grid;place-items:center}
#poker-table #table-sound-toggle[data-sound=off]{color:var(--color-text-secondary)}
#poker-table .table-customization-controls .table-audio-status{position:static;flex:1;min-width:0;max-width:260px;height:auto;margin-left:auto;text-align:right;font-size:10px;color:var(--color-text-secondary);background:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
#poker-table .table-room h1,#poker-table .table-stakes strong{color:var(--color-text)}
#poker-table .table-chip-flight{color:var(--color-primary)}
.table-tool-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.table-tools-divider{height:19px;width:1px;background:var(--color-border);margin-inline:3px}
#poker-table .game-area{border:0;border-radius:var(--radius-md);background:radial-gradient(ellipse at 50% 38%,color-mix(in srgb,var(--color-felt) 16%,var(--color-surface)),var(--color-background) 75%);box-shadow:none}
#poker-table .poker-felt{border-color:var(--rail);background-color:var(--felt-edge);background-image:repeating-linear-gradient(88deg,#ffffff05 0 1px,transparent 1px 3px),repeating-linear-gradient(2deg,#0000000a 0 1px,transparent 1px 4px),radial-gradient(ellipse at 48% 18%,color-mix(in srgb,var(--felt-center) 90%,#fff),var(--felt-center) 35%,var(--felt-edge) 84%);box-shadow:0 1px 0 1px #ffffff26,0 6px 0 color-mix(in srgb,var(--rail) 65%,#000),0 9px 0 1px #060b09,0 18px 20px -6px #000b,0 28px 34px -14px #0009,inset 0 0 0 1px #cde9d34d,inset 0 3px 5px #0009,inset 0 15px 28px #0005,inset 0 -3px 6px #ffffff09}
#poker-table .poker-felt:before{content:"";position:absolute;inset:-11px;border-radius:inherit;border:1px solid #ffffff36;box-shadow:inset 0 5px 5px #ffffff28,inset 0 -5px 5px #000a,0 1px 0 #000a,0 3px 0 #ffffff09;pointer-events:none}
#poker-table .poker-felt:after{content:"";position:absolute;inset:9px;border-radius:inherit;border:1px dashed #d5ead32b;box-shadow:0 0 0 1px #00000012;pointer-events:none}
#poker-table .table-watermark{position:absolute;top:25%;left:50%;width:clamp(150px,44%,360px);transform:translate(-50%,-50%);opacity:.18;pointer-events:none;user-select:none;display:flex;justify-content:center;filter:drop-shadow(0 1px 0 #0005);}
#poker-table .table-watermark img{display:block;width:100%;height:clamp(34px,4vw,54px);object-fit:contain;}
#poker-table .table-watermark .brand{font-size:clamp(16px,2.2vw,30px);gap:9px;letter-spacing:-.5px;}
#poker-table .table-watermark .brand-mark{width:1.35em;height:1.45em;font-size:1.35em;border-radius:2px 2px 8px 2px;}
#poker-table .table-watermark [hidden]{display:none;}
#poker-table .poker-arena[data-mobile-layout=true] .table-watermark{top:23%;width:62%;opacity:.17;}
#poker-table .poker-arena[data-mobile-layout=true] .table-watermark .brand{font-size:clamp(14px,4.1vw,20px);gap:6px;}
#poker-table .poker-arena[data-mobile-layout=true] .table-watermark img{height:34px;}
#poker-table[data-table-theme=room] .poker-felt{border-color:var(--brand-rail,var(--rail))}
#poker-table[data-table-theme=room] .game-area{background-color:var(--brand-background,var(--color-background));background-image:var(--brand-background-image,none);background-size:cover;background-position:center}
#poker-table[data-table-theme=room] #hand-stage,#poker-table[data-table-theme=room] .pot-display strong,#poker-table[data-table-theme=room] .pot-display>span:not(.chip-stack){color:var(--brand-table-ink,var(--color-text))}
#poker-table[data-rail-style=walnut] .poker-felt{border-color:#524134}
#poker-table[data-rail-style=brass] .poker-felt{border-color:#766846}
#poker-table .table-wordmark{color:color-mix(in srgb,var(--color-text) 22%,transparent);letter-spacing:.22em;font-size:10px;font-weight:600}
#poker-table .table-brand-logo{object-fit:contain;filter:none;opacity:.65}
#poker-table #hand-stage{color:color-mix(in srgb,var(--color-text) 70%,transparent);letter-spacing:.14em}
#poker-table .player-seat:not(.empty){border-color:var(--color-border);background:var(--color-surface);box-shadow:0 3px 6px #0004}
#poker-table .player-seat.is-you{border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border));background:var(--color-surface-elevated)}
#poker-table .player-seat.is-turn{border-color:var(--color-primary);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-primary) 25%,transparent)}
#poker-table .player-avatar{border-color:var(--color-text-secondary);box-shadow:0 2px 4px #0005}
#poker-table .is-turn .player-avatar{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 15%,transparent)}
#poker-table .seat-name,#poker-table .seat-stack{color:var(--color-text)}
#poker-table .seat-stack{padding:1px 3px;border-radius:4px;background:linear-gradient(180deg,color-mix(in srgb,var(--color-background) 90%,#fff),var(--color-background));box-shadow:inset 0 1px #ffffff14,0 1px 2px #0005;font-weight:750;font-variant-numeric:tabular-nums;text-shadow:0 1px #0006;}
#poker-table .stack-currency{font-size:.8em;line-height:1;font-weight:550;color:var(--color-text-secondary);}
#poker-table .seat-tag{color:var(--color-text-secondary);font-weight:500}
#poker-table .seat-tag[data-kind=turn],#poker-table .seat-tag[data-kind=winner]{color:var(--color-primary)}
#poker-table .seat-tag[data-kind=all_in],#poker-table .seat-tag[data-kind=offline]{color:var(--color-warning)}
#poker-table .player-seat.is-winner{border-color:color-mix(in srgb,var(--color-primary) 65%,var(--color-border));box-shadow:0 3px 8px #0006,inset 0 1px #ffffff15;}
#poker-table .is-winner .player-avatar{border-color:var(--color-primary);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-primary) 40%,transparent),0 0 10px color-mix(in srgb,var(--color-primary) 18%,transparent);}
#poker-table .seat-victory{display:flex;align-items:center;justify-content:center;gap:3px;border-radius:3px;background:linear-gradient(110deg,color-mix(in srgb,var(--color-primary) 15%,var(--color-surface)),var(--color-surface));font-weight:700;}
#poker-table .winner-trophy{width:11px;height:11px;flex:none;color:var(--color-primary);filter:drop-shadow(0 1px 1px #0006);pointer-events:none;}
#poker-table .winner-hand-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#poker-table .empty{border-color:color-mix(in srgb,var(--color-text-secondary) 35%,transparent);background:color-mix(in srgb,var(--color-surface) 20%,transparent);color:var(--color-text-secondary)}
#poker-table .seat-bet{background:color-mix(in srgb,var(--color-background) 88%,transparent);color:var(--color-text);border-radius:4px;box-shadow:inset 0 1px #ffffff1c,0 2px 3px #0005;font-weight:650;font-variant-numeric:tabular-nums;}
#poker-table .pot-display,#poker-table .pot-display strong{color:var(--color-text)}
#poker-table .pot-display>span{color:var(--color-text-secondary);letter-spacing:.1em}
#poker-table .ultra-card{box-shadow:0 2px 3px #0006,0 0 0 1px #fff4}
#poker-table .seat-cards .ultra-card.winning-card{outline:1px solid color-mix(in srgb,var(--color-primary) 75%,transparent);outline-offset:1px;box-shadow:0 3px 6px #0007}
#poker-table .seat-name[data-blind]:not([data-blind=""]){padding-right:0;margin-right:23px}
#poker-table .seat-name[data-blind]:not([data-blind=""]):after{content:none}
.seat-position{position:absolute;right:3px;top:3px;display:grid;place-items:center;width:19px;height:14px;font:700 8px/1 Inter,sans-serif;letter-spacing:.01em;border:1px solid var(--color-primary);border-radius:3px;color:var(--color-primary);background:var(--color-surface);box-sizing:border-box}
.seat-position[data-position=BB]{background:var(--color-primary);color:var(--color-ink);border-radius:7px;box-shadow:inset 2px 0 color-mix(in srgb,var(--color-ink) 25%,transparent)}
#poker-table .dealer-chip{color:var(--color-background);background:var(--color-text);border-color:var(--color-background);box-shadow:0 0 0 1px var(--color-text-secondary);font-weight:800}
.hand-combination{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%);display:grid;gap:3px;min-width:130px;max-width:210px;width:max-content;margin:0;padding:7px 14px;border:1px solid color-mix(in srgb,var(--color-primary) 50%,var(--color-border));border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-primary);text-align:center;pointer-events:none;line-height:1.3}
.hand-combination[hidden]{display:none}.hand-combination small{color:var(--color-text-secondary);font-size:8px;letter-spacing:.08em;text-transform:uppercase}.hand-combination strong{font-size:12px;font-weight:650}
#poker-table .table-center:has(.hand-combination:not([hidden])) .table-wordmark{visibility:hidden}
#poker-table .action-panel{background:var(--color-surface);border-top-color:var(--color-border)}

#poker-table .table-leave{background:color-mix(in srgb,var(--color-danger) 8%,var(--color-surface));border-color:color-mix(in srgb,var(--color-danger) 45%,var(--color-border));color:var(--color-danger);border-radius:var(--radius-sm);animation:table-leave-arrive 180ms ease-out;transition:background var(--motion-fast),border-color var(--motion-fast),transform var(--motion-fast)}
#poker-table .table-leave:hover:not(:disabled){background:color-mix(in srgb,var(--color-danger) 16%,var(--color-surface));border-color:var(--color-danger)}
#poker-table .table-leave:active:not(:disabled){transform:translateY(1px)}
@keyframes table-leave-arrive{from{opacity:.5;transform:translateY(2px)}to{opacity:1;transform:none}}
#poker-table .table-panel,#poker-table .join-dialog{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text);box-shadow:var(--shadow-modal)}
#poker-table .table-panel header{border-color:var(--color-border)}
#poker-table .table-panel p,#poker-table .table-panel label,#poker-table .table-sidebar{color:var(--color-text-secondary)}
#poker-table :is(input,select){background:var(--color-background);color:var(--color-text);border-color:var(--color-border)}
/* Reserve the clock footprint before its first tick so collision layout stays valid. */
#poker-table .seat-clock{display:grid;place-items:center;width:38px;height:18px;padding:2px;font-variant-numeric:tabular-nums;background:var(--color-surface);border-color:var(--color-primary);color:var(--color-text)}
#poker-table .seat-clock[data-urgent=true]{background:color-mix(in srgb,var(--color-danger) 15%,var(--color-surface));color:var(--color-danger);border-color:var(--color-danger)}
#poker-table #hand-result{background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface));color:var(--color-text);border-color:var(--color-border)}
.table-rake-note{font-size:12px;line-height:1.6;color:var(--color-text-secondary);padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-elevated)}
/* Same site controls, with a denser room browser and collapsible mobile filters. */
.lobby-shell,.tournament-lobby{color:var(--color-text)}
.lobby-shell .lobby-panel,.lobby-shell .lobby-selection,.tournament-lobby .tournament-card{background:var(--color-surface);border-color:var(--color-border);box-shadow:none}
.lobby-shell .lobby-wallet,.tournament-lobby .table-wallet{background:var(--color-surface-elevated);border-color:var(--color-border);color:var(--color-text);border-radius:var(--radius-sm)}
.lobby-shell .lobby-wallet strong{color:var(--color-primary)}
.lobby-shell .lobby-game-tabs a,.tournament-lobby .tournament-tabs a{border-color:var(--color-border);background:var(--color-surface);color:var(--color-text-secondary)}
.lobby-shell .lobby-game-tabs a[aria-current],.tournament-lobby .tournament-tabs a[aria-current]{background:color-mix(in srgb,var(--color-primary) 7%,var(--color-surface));border-color:var(--color-primary);color:var(--color-primary)}
.lobby-shell .lobby-filter,.tournament-lobby .tournament-filters{background:var(--color-surface);border-color:var(--color-border)}
.lobby-shell .lobby-filter :is(input,select),.tournament-lobby .tournament-filters :is(input,select){background:var(--color-background);border-color:var(--color-border);color:var(--color-text)}
.lobby-shell .lobby-row{background:var(--color-surface);border-color:var(--color-border);transition:background var(--motion-fast),border-color var(--motion-fast)}
.lobby-shell .lobby-row:hover{background:var(--color-surface-elevated)}
.lobby-shell .lobby-row.selected{background:color-mix(in srgb,var(--color-primary) 5%,var(--color-surface));box-shadow:inset 2px 0 var(--color-primary);border-color:var(--color-border)}
.lobby-shell .lobby-row .button.primary{background:var(--color-primary);color:var(--color-ink);border-color:var(--color-primary)}
.lobby-shell .lobby-columns{background:var(--color-surface-elevated);color:var(--color-text-secondary)}
.lobby-shell .table-emblem{background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface));color:var(--color-primary);border-color:var(--color-border)}
.lobby-shell .seat-indicators i{background:var(--color-border)}.lobby-shell .seat-indicators i.occupied{background:var(--color-primary)}
.lobby-shell .preview-felt{background:var(--color-felt);border-color:var(--color-border);box-shadow:0 4px 8px #0003,inset 0 0 0 1px #ffffff20}
.lobby-shell .lobby-intro{border-color:var(--color-border);background:transparent;color:var(--color-text-secondary);padding-block:9px}
.lobby-shell .lobby-shortcuts a{border-color:var(--color-border);color:var(--color-text-secondary);background:transparent}
.lobby-shell .lobby-shortcuts a:hover{color:var(--color-primary)}
.lobby-shell .room-state,.tournament-lobby .tournament-state{background:color-mix(in srgb,var(--color-success) 12%,var(--color-surface));color:var(--color-success)}
.lobby-shell .room-state[data-state=full]{color:var(--color-warning);background:color-mix(in srgb,var(--color-warning) 10%,var(--color-surface))}
.lobby-shell .room-state[data-state=paused]{color:var(--color-text-secondary);background:var(--color-surface-elevated)}
.tournament-lobby .tournament-facts dt{color:var(--color-text-secondary)}
.lobby-advanced-filters{grid-column:1/-1;border-top:1px solid var(--color-border);padding-top:10px}
.lobby-advanced-filters summary{color:var(--color-text-secondary);cursor:pointer;font-size:12px;padding:7px 0}
.lobby-advanced-fields{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:12px 0 3px}
.lobby-advanced-fields input{min-width:0;width:100%;min-height:42px;padding:8px 10px;border:1px solid;border-radius:var(--radius-sm);font:inherit}
.lobby-advanced-filters>p{font-size:11px;color:var(--color-text-secondary);margin:8px 0}
.lobby-filters-panel>summary{display:none;padding:13px 16px;border-block:1px solid var(--color-border);color:var(--color-text);font-size:12px;font-weight:600;cursor:pointer}
.lobby-filters-panel>summary small{color:var(--color-primary);font-size:10px;margin-left:8px}
@media(min-width:901px){.lobby-shell .room-preview{height:125px;margin-block:8px}.lobby-shell .preview-felt{height:90px;top:15px}.lobby-shell .selected-room-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px;margin-block:10px;padding-block:12px}.lobby-shell .selected-room-details>div{display:grid;gap:4px;padding:0}.lobby-shell .selected-room-details dd{margin:0}.lobby-shell .lobby-selection{padding:18px}.lobby-shell .selected-room-help{margin-block:8px}}
@media(max-width:900px){.lobby-advanced-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.lobby-selection #selected-room-rake{grid-column:2;grid-row:9}.lobby-selection .selected-room-help:last-child{grid-row:10}}
@media(max-width:720px){
 #poker-table .table-customization-controls .table-audio-status{position:absolute;width:1px;height:1px;min-width:0;flex:none;padding:0;margin:-1px;clip-path:inset(50%);overflow:hidden}
 #poker-table .table-customization-controls{gap:3px;min-height:44px;padding:0 3px}
 #poker-table .table-customization-controls .table-tool{width:36px;height:40px;min-height:40px;padding:8px}
 .table-tools-divider{margin-inline:1px}
 #poker-table .table-customization-controls .tournament-table-picker{min-width:0;flex:1}
 #poker-table .tournament-table-picker select{width:100%;min-width:0}
 #poker-table .table-heading{padding-inline:4px}
 .hand-combination{bottom:calc(100% + 8px);padding:5px 10px;min-width:116px;max-width:170px}
 .hand-combination strong{font-size:11px}.hand-combination small{font-size:7px}
 .lobby-filters-panel>summary{display:list-item;list-style-position:inside;min-height:44px}
 .lobby-filters-panel[open] .lobby-filter{padding-top:14px}
 .lobby-shell .lobby-game-tabs a{font-size:11px;min-height:48px}
 .lobby-shell .lobby-row{margin-bottom:6px;border-bottom:1px solid var(--color-border)}
}
@media(max-width:350px){#poker-table .table-customization-controls{gap:1px}#poker-table .table-customization-controls .table-tool{width:34px}.table-tools-divider{display:none}}
@media(max-height:500px) and (orientation:landscape){
 #poker-table .table-customization-controls{min-height:30px}#poker-table .table-customization-controls .table-tool{height:28px;min-height:28px;width:32px;padding:5px}
 .hand-combination{padding:3px 8px;bottom:calc(100% + 2px);min-width:105px}.hand-combination small{display:none}.hand-combination strong{font-size:9px}
 .seat-position{height:12px;font-size:7px;width:17px}
}
#poker-table[data-motion=off] .table-leave{animation:none}
@media(prefers-reduced-motion:reduce){#poker-table .winning-card,#poker-table .is-winner,#poker-table .table-leave,#poker-table .table-tool,.lobby-shell .lobby-row{animation:none!important;transition:none!important}}
