/* Surface finishes only. Seat coordinates, card sizes and game hit areas stay with the scene. */
.table-shell[data-table-theme="arena"]{--felt-center:#237559;--felt-edge:#103e32;--rail:#24362e}
.table-shell[data-table-theme="carbon"]{--felt-center:#354340;--felt-edge:#182522;--rail:#202725}
:is(#poker-table,.preview-table)[data-table-theme="arena"] .poker-felt{background-image:radial-gradient(ellipse at 50% 8%,#cce9b51a,transparent 58%),repeating-linear-gradient(0deg,#ffffff03 0 1px,transparent 1px 4px),radial-gradient(ellipse at 50% 35%,var(--felt-center),var(--felt-edge))}
:is(#poker-table,.preview-table)[data-table-theme="carbon"] .poker-felt{background-image:repeating-linear-gradient(45deg,#ffffff04 0 2px,transparent 2px 6px),repeating-linear-gradient(-45deg,#00000010 0 2px,transparent 2px 6px),radial-gradient(ellipse at 50% 30%,var(--felt-center),var(--felt-edge))}
:is(#poker-table,.preview-table)[data-table-theme="arena"] .poker-felt{box-shadow:0 1px 0 1px #d7f75b45,0 6px 0 #14231d,0 10px 0 #070e0b,0 18px 24px -8px #000b,inset 0 0 0 2px #c9dbb333,inset 0 14px 24px #001a1370,inset 0 -3px 7px #ffffff0a}
:is(#poker-table,.preview-table)[data-table-theme="carbon"] .poker-felt{box-shadow:0 1px 0 1px #8eaba54d,0 6px 0 #101716,0 10px 0 #070b0a,0 18px 24px -8px #000b,inset 0 0 0 1px #b5cbc42e,inset 0 16px 26px #0007}
:is(#poker-table,.preview-table)[data-rail-style="carbon"] .poker-felt{--rail:#202825;border-color:var(--rail)}
:is(#poker-table,.preview-table)[data-rail-style="chrome"] .poker-felt{--rail:#67746d;border-color:var(--rail)}
.preview-table[data-rail-style="walnut"] .poker-felt{--rail:#524134;border-color:var(--rail)}
.preview-table[data-rail-style="brass"] .poker-felt{--rail:#766846;border-color:var(--rail)}
[data-card-back="graphite"] .ultra-card.card-hidden{background:repeating-linear-gradient(45deg,#39444d 0 1px,#222e36 1px 5px);color:#d7e3e2}
[data-card-back="gold"] .ultra-card.card-hidden{background:repeating-linear-gradient(45deg,#897349 0 1px,#574c34 1px 5px);color:#f4e6bb}
[data-card-back="carbon"] .ultra-card.card-hidden{background:repeating-linear-gradient(45deg,#ffffff0b 0 2px,transparent 2px 6px),repeating-linear-gradient(-45deg,#0007 0 2px,#27322e 2px 6px);color:#e1efda;border-color:#b7c3b8}
[data-card-back="circuit"] .ultra-card.card-hidden{background:linear-gradient(135deg,transparent 40%,#d7f75b28 41% 43%,transparent 44%),repeating-linear-gradient(90deg,#d7f75b12 0 1px,transparent 1px 9px),linear-gradient(145deg,#284632,#101c18);color:#d7f75b;border-color:#c6dba6}
[data-deck="four-color"] .ultra-card[data-suit="c"]{color:#167447}
[data-deck="four-color"] .ultra-card[data-suit="d"]{color:#2466b0}
[data-deck="noir"] .ultra-card:where(:not(.card-hidden):not(.card-placeholder)){background:#1c2725;border-color:#73867e;color:#f5f6f2}
[data-deck="noir"] .ultra-card.red{color:#ff8d97}
[data-deck="ivory"] .ultra-card:where(:not(.card-hidden):not(.card-placeholder)){background:linear-gradient(135deg,#fffdf5,#f4edda);border-color:#e7dab7;color:#18211c}
[data-deck="ivory"] .ultra-card.red{color:#b42032}
[data-deck="contrast"] .ultra-card:where(:not(.card-hidden):not(.card-placeholder)){background:#fff;border-color:#fff;color:#000;box-shadow:0 0 0 1px #0008,0 2px 3px #0005}
[data-deck="contrast"] .ultra-card.red{color:#b9001d}
[data-deck="contrast"] .card-rank{stroke:currentColor;stroke-width:12;stroke-linejoin:round}

/* Complete surface presets share the current geometry and validated brand assets. */
:is(.table-shell,[data-branding-preview])[data-table-surface="emerald"]{--surface-center:#286451;--surface-edge:#154438;--surface-rail:#26362d;--surface-room:#0c1612;--surface-stitch:#8ca781}
:is(.table-shell,[data-branding-preview])[data-table-surface="onyx"]{--surface-center:#38404b;--surface-edge:#1b242d;--surface-rail:#303940;--surface-room:#11191f;--surface-stitch:#9aaaba}
:is(.table-shell,[data-branding-preview])[data-table-surface="royal"]{--surface-center:#494058;--surface-edge:#292438;--surface-rail:#5c5340;--surface-room:#18151e;--surface-stitch:#b7a67b}
:is(.table-shell,[data-branding-preview])[data-table-surface="arena"]{--surface-center:#237559;--surface-edge:#103e32;--surface-rail:#24362e;--surface-room:#101b16;--surface-stitch:#b4d76b}
:is(.table-shell,[data-branding-preview])[data-table-surface="carbon"]{--surface-center:#354340;--surface-edge:#182522;--surface-rail:#202725;--surface-room:#101715;--surface-stitch:#90aaa0}
:is(.table-shell,[data-branding-preview])[data-table-surface="classic-blue"]{--surface-center:#236486;--surface-edge:#102f48;--surface-rail:#263139;--surface-room:#0d1720;--surface-stitch:#91b2c0}
:is(.table-shell,[data-branding-preview])[data-table-surface="midnight"]{--surface-center:#263849;--surface-edge:#101b28;--surface-rail:#242b32;--surface-room:#0c121a;--surface-stitch:#7a8e9e}
:is(.table-shell,[data-branding-preview])[data-table-surface="ultra-special"]{--surface-center:#286c50;--surface-edge:#123d30;--surface-rail:#33362f;--surface-room:#101914;--surface-stitch:#c5b47d}

:is(#poker-table,.preview-table,[data-branding-preview]):is([data-table-surface="classic-blue"],[data-table-surface="midnight"],[data-table-surface="ultra-special"]) :is(.poker-felt,.branding-preview-felt){
 --felt-center:var(--surface-center);--felt-edge:var(--surface-edge);--rail:var(--surface-rail);
 border-color:var(--surface-rail);color:#f1f5f3;
 background-image:radial-gradient(ellipse at 50% 10%,#ffffff0e,transparent 65%),repeating-linear-gradient(0deg,#ffffff03 0 1px,transparent 1px 4px),repeating-linear-gradient(90deg,#00000004 0 1px,transparent 1px 4px),radial-gradient(ellipse at 50% 35%,var(--surface-center),var(--surface-edge));
 box-shadow:0 -1px 0 1px #ffffff18,0 1px 0 1px #060a0899,0 5px 0 #141b18,0 9px 0 #080d0b,0 15px 22px -6px #000a,inset 0 0 0 1px color-mix(in srgb,var(--surface-stitch),transparent 45%),inset 0 12px 22px #0005,inset 0 -2px 5px #ffffff12;
}
:is(#poker-table,.preview-table):is([data-table-surface="classic-blue"],[data-table-surface="midnight"],[data-table-surface="ultra-special"]) .poker-felt::after{border:1px dashed color-mix(in srgb,var(--surface-stitch),transparent 70%);opacity:.8}
:is(#poker-table,.preview-table,[data-branding-preview]):is([data-table-surface="classic-blue"],[data-table-surface="midnight"],[data-table-surface="ultra-special"]) :is(.game-area,.branding-table-preview){background-color:var(--surface-room);background-image:var(--brand-background-image,none);background-position:center;background-size:cover}
#poker-table[data-table-theme=room][data-table-surface]:not([data-table-surface="custom"]) :is(#hand-stage,.pot-display strong,.pot-display>span:not(.chip-stack)){color:#e9f0ef}
/* A player's explicit rail choice remains independent of the room's default. */
:is(#poker-table,.preview-table)[data-rail-style="walnut"] .poker-felt{border-color:#524134}
:is(#poker-table,.preview-table)[data-rail-style="brass"] .poker-felt{border-color:#766846}
:is(#poker-table,.preview-table)[data-rail-style="carbon"] .poker-felt{border-color:#202825}
:is(#poker-table,.preview-table)[data-rail-style="chrome"] .poker-felt{border-color:#67746d}
#poker-table[data-card-size="compact"]{--card-scale:.92}
#poker-table[data-card-size="large"]{--card-scale:1.06}
@media(max-width:720px),(max-width:1100px) and (max-height:500px){#poker-table[data-card-size="large"]{--card-scale:1.02}}
#poker-table .is-eliminated{border-style:dashed;color:var(--color-text-secondary)}
#poker-table .is-eliminated .player-avatar{opacity:.65}
#poker-table .seat-tag[data-kind="eliminated"]{color:#b9c1c7}
#poker-table .player-seat:is([data-presence="temporarily_disconnected"],[data-presence="absence_expired"]) .player-avatar{border-style:dashed}
#poker-table .seat-tag[data-kind="offline"]{color:var(--color-warning)}

/* Existing finishes keep their approved treatment when selected as the room default. */
:is(#poker-table,.preview-table)[data-table-theme="room"]:is([data-table-surface="emerald"],[data-table-surface="onyx"],[data-table-surface="royal"],[data-table-surface="arena"],[data-table-surface="carbon"]) .poker-felt{--felt-center:var(--surface-center);--felt-edge:var(--surface-edge);--rail:var(--surface-rail)}
:is(#poker-table,.preview-table)[data-table-theme="room"][data-rail-style="matte"]:is([data-table-surface="emerald"],[data-table-surface="onyx"],[data-table-surface="royal"],[data-table-surface="arena"],[data-table-surface="carbon"]) .poker-felt{border-color:var(--surface-rail)}
#poker-table[data-table-theme="room"]:is([data-table-surface="emerald"],[data-table-surface="onyx"],[data-table-surface="royal"],[data-table-surface="arena"],[data-table-surface="carbon"]) .game-area{background-color:var(--surface-room)}
[data-branding-preview]:is([data-table-surface="emerald"],[data-table-surface="onyx"],[data-table-surface="royal"],[data-table-surface="arena"],[data-table-surface="carbon"]) .branding-preview-felt{background:radial-gradient(ellipse at 50% 35%,var(--surface-center),var(--surface-edge));border-color:var(--surface-rail);color:#e9f0ef}
