/* TRUCUZIN — Truco de Bar Premium V1.
 * SCOPED to Truco/Baralho Limpo. The square Brazilian bar-table silhouette,
 * hit boxes, player positioning, timers and gameplay logic stay untouched.
 * Only lighting, materials, frames, feedback and HUD are restyled.
 */
html body #game:not([data-match-type="poker"]){
 --tcz-ivory:#eee5d4;--tcz-edge:#b9a88b;--tcz-shadow:#473024;
 --tcz-accent:#e9c679;--tcz-core:#cfc0a4;--tcz-lustre:#fff9e7;
 --tcz-room1:#0c2628;--tcz-room2:#060f14;
 /* Neutral lounge, not wood: retain the approved square bar-table materials. */
 background:radial-gradient(ellipse at 50% 42%,#20484c 0%,#102d33 43%,#081920 78%,#060e14 100%);
}
/* MESA DE BAR V3 — rebuilt, not patched.
 * One single molded SVG top is the complete tabletop. The original edge
 * path and rectangle exist for legacy layout only and paint nothing.
 * Never clip a path to fake-away a shelf; never paint the box behind the SVG.
 * The original viewBox, card positions, table dimensions, seats and hit areas
 * are deliberately unchanged. All material variables are cosmetic only.
 */
html body #game:not([data-match-type="poker"]){
 --tcz-light:#fffdf5;--tcz-mid:#f0ebe1;--tcz-low:#d9d2c6;
 --tcz-stroke:#fffaf0;--tcz-mold:#8c7f6a26;
}
/* Use the SVG silhouette alone: NO rectangular background, box-shadow,
   stacked slab, faux wood, 95%-height paint or clip-path. */
html body #game:not([data-match-type="poker"]) .plastic-table{
 background:none!important;
 border:0!important;
 border-radius:0;
 box-shadow:none!important;
 filter:none;
 isolation:isolate;
}
html body #game:not([data-match-type="poker"]) .plastic-table::before,
html body #game:not([data-match-type="poker"]) .plastic-table::after{
 display:none!important;
 content:none!important;
}
html body #game:not([data-match-type="poker"]) .table-shell{
 filter:none!important;
 overflow:visible;
 pointer-events:none;
}
/* Old deep edge path (40 SVG units below the top) is deliberately not drawn.
   The top silhouette carries its own subtle outline and soft shadow. */
html body #game:not([data-match-type="poker"]) .table-shell .table-edge{
 fill:none!important;
 stroke:none!important;
 filter:none!important;
}
html body #game:not([data-match-type="poker"]) .table-shell #table-top stop:nth-child(1){
 stop-color:var(--tcz-light);
}
html body #game:not([data-match-type="poker"]) .table-shell #table-top stop:nth-child(2){
 stop-color:var(--tcz-mid);
}
html body #game:not([data-match-type="poker"]) .table-shell #table-top stop:nth-child(3){
 stop-color:var(--tcz-low);
}
html body #game:not([data-match-type="poker"]) .table-shell .table-top{
 fill:url(#table-top)!important;
 stroke:var(--tcz-stroke)!important;
 stroke-width:5;
 stroke-linejoin:round;
 filter:drop-shadow(0 13px 12px #020d1668);
}
/* A single quiet molded inset, no second rectangle or decorative scratches. */
html body #game:not([data-match-type="poker"]) .plastic-table .molded-line{
 border:1px solid var(--tcz-mold);
 border-radius:8%;
 background:none;
 box-shadow:inset 0 2px 5px #ffffff40;
 pointer-events:none;
}
/* Cosmetic themes retain the same shop IDs, exact SVG shape and gameplay
   geometry; only the gradient stops and thin trim vary. */
html[data-table-theme="table-emerald"] body #game:not([data-match-type="poker"]){
 --tcz-light:#5b9f82;--tcz-mid:#156648;--tcz-low:#0c3d2e;
 --tcz-stroke:#c9bb79;--tcz-mold:#eed39b21;
}
html[data-table-theme="table-midnight"] body #game:not([data-match-type="poker"]){
 --tcz-light:#6b91b9;--tcz-mid:#294c77;--tcz-low:#101f40;
 --tcz-stroke:#d8c088;--tcz-mold:#e4c68b24;
}
html[data-table-theme="table-bronze-imperial"] body #game:not([data-match-type="poker"]){
 --tcz-light:#ba8760;--tcz-mid:#805039;--tcz-low:#4a2a1f;
 --tcz-stroke:#f3c78e;--tcz-mold:#e9c1943a;
}
html[data-table-theme="table-safira-real"] body #game:not([data-match-type="poker"]){
 --tcz-light:#77b5d1;--tcz-mid:#165477;--tcz-low:#07243e;
 --tcz-stroke:#f0d390;--tcz-mold:#ffe0a533;
}
html[data-table-theme="table-rubi-suprema"] body #game:not([data-match-type="poker"]){
 --tcz-light:#db9294;--tcz-mid:#842e41;--tcz-low:#451a29;
 --tcz-stroke:#eec686;--tcz-mold:#ffcf962c;
}
html[data-table-theme="table-onix-noturno"] body #game:not([data-match-type="poker"]){
 --tcz-light:#8e929a;--tcz-mid:#3c414c;--tcz-low:#191c29;
 --tcz-stroke:#dac69b;--tcz-mold:#e3d0ac30;
}
html[data-table-theme="table-trono-imortal"] body #game:not([data-match-type="poker"]){
 --tcz-light:#9589c1;--tcz-mid:#46345f;--tcz-low:#211935;
 --tcz-stroke:#ffe3a7;--tcz-mold:#f4d5a733;
}
html body #game:not([data-match-type="poker"]) .scoreboard{
 border-color:var(--tcz-accent);
 background:linear-gradient(165deg,#174a3e,#061c1b 88%);
 box-shadow:inset 0 1px #fff5,0 9px 0 #131f1aa6,0 17px 25px #0008,0 0 0 3px #1516125c;
}
html body #game:not([data-match-type="poker"]) .scoreboard .stake{
 background:linear-gradient(165deg,#ffedae,#c89a43 58%,#99732f);
 box-shadow:inset 0 1px #fff7,0 0 19px #efbe5c34;
}
html body #game:not([data-match-type="poker"]) .trick-tracker li{
 background:linear-gradient(#164f3f,#092a26);
 border:1px solid #d6b97c8a;border-radius:6px;
 box-shadow:inset 0 1px #ffffff24,0 2px 5px #0006;
}
/* The result color is gameplay language and overrides the neutral premium skin.
   Winner assignment stays on the server: ours=green, theirs=red, tie=yellow. */
html body #game:not([data-match-type="poker"]) .trick-tracker li.ours{
 color:#e2ffec;border-color:#4bed9e;
 background:linear-gradient(165deg,#168354,#064b32);
 box-shadow:inset 0 1px #ffffff50,0 0 7px #22c77940;
}
html body #game:not([data-match-type="poker"]) .trick-tracker li.theirs{
 color:#ffe5e1;border-color:#ff756b;
 background:linear-gradient(165deg,#ac342f,#5b191b);
 box-shadow:inset 0 1px #ffffff45,0 0 7px #e74e4340;
}
html body #game:not([data-match-type="poker"]) .trick-tracker li.tie{
 color:#fff2bc;border-color:#f6d251;
 background:linear-gradient(165deg,#9c7618,#654705);
 box-shadow:inset 0 1px #ffffff45,0 0 7px #efc74433;
}
html body #game:not([data-match-type="poker"]) .trick-tracker li.ours b{background:#239868;color:#fff}
html body #game:not([data-match-type="poker"]) .trick-tracker li.theirs b{background:#ca5147;color:#fff}
html body #game:not([data-match-type="poker"]) .trick-tracker li.tie b{background:#e2b832;color:#27200b}
html body #game:not([data-match-type="poker"]) .trick-tracker li:is(.ours,.theirs,.tie) small{
 color:inherit;font-weight:950;
}
html body #game:not([data-match-type="poker"]) .seat{
 background:linear-gradient(135deg,#11634f,#063125 75%);
 border-color:var(--tcz-accent);
 box-shadow:inset 0 1px #ffffff36,0 5px 12px #000a;
}
html body #game:not([data-match-type="poker"]) .seat.active{
 box-shadow:inset 0 1px #ffffff7a,0 0 0 4px #fad47d45,0 0 22px #e7bc6b55,0 7px 15px #0009;
}
html body #game:not([data-match-type="poker"]) .seat .seat-timer{
 filter:drop-shadow(0 0 4px #f4ce81);color:#ffe4a9;
}
html body #game:not([data-match-type="poker"]) .card,
html body #game:not([data-match-type="poker"]) .mini-card,
html body #game:not([data-match-type="poker"]) .table-card{
 border-color:#b6a98c;
 background:linear-gradient(118deg,#fff,#fffdf6 58%,#e8e0d0);
 box-shadow:0 3px 1px #18100b33,0 11px 16px #100b0988,inset 0 1px #fff;
 backface-visibility:hidden;
}
html body #game:not([data-match-type="poker"]) .card:not(:disabled):focus-visible{
 outline:3px solid #fff0b9;outline-offset:3px;
}
html body #game:not([data-match-type="poker"]) .message{
 color:#fff4d2;border:1px solid #edca7e99;
 background:linear-gradient(140deg,#073a2fef,#1e2a26f2);
 box-shadow:inset 0 1px #ffffff35,0 6px 17px #0008;
 text-shadow:0 1px 2px #000;backdrop-filter:blur(5px);
}
html body #game:not([data-match-type="poker"]) .actions .truco,
html body #game:not([data-match-type="poker"]) #truco-button{
 background:linear-gradient(170deg,#f67e58,#b92928 60%,#7a181b);
 border-color:#ffe0ab;color:#fff9dd;
 text-shadow:0 2px 2px #5a0d0b;
 box-shadow:inset 0 2px #ffffff55,inset 0 -5px #671519,0 7px 18px #0009;
}
html body #game:not([data-match-type="poker"]) .actions button:not(.truco){
 border:1px solid #d9bc83ad;
 box-shadow:inset 0 1px #ffffff44,0 5px 10px #0007;
}
html body #game:not([data-match-type="poker"]) .raise-dialog,
html body #game:not([data-match-type="poker"]) .abandonment-dialog,
html body #game:not([data-match-type="poker"]) .match-result{
 border-color:var(--tcz-accent);color:#fff2d6;
 background:radial-gradient(ellipse at 50% 0,#a37b3844,transparent 55%),
 linear-gradient(155deg,#103b32,#0e1823 85%);
 box-shadow:inset 0 1px #fff7,0 13px 0 #171b1f,0 28px 70px #000d;
}
html body #game:not([data-match-type="poker"]) .raise-dialog>strong,
html body #game:not([data-match-type="poker"]) .eleven-dialog>strong{
 color:#ffe1a2;text-shadow:0 2px 3px #0008;
}
html body #game:not([data-match-type="poker"]) .raise-dialog button,
html body #game:not([data-match-type="poker"]) .abandonment-dialog button,
html body #game:not([data-match-type="poker"]) .match-result button{
 border:1px solid #e8ca8d99;box-shadow:inset 0 1px #fff7,0 5px 9px #0009;
}
html body #game:not([data-match-type="poker"]) .raise-dialog button:focus-visible,
html body #game:not([data-match-type="poker"]) .abandonment-dialog button:focus-visible,
html body #game:not([data-match-type="poker"]) .match-result button:focus-visible{
 outline:3px solid #fff1b9;outline-offset:3px;
}
html body #game:not([data-match-type="poker"]) .quick-message-bubble{
 color:#33230b;border-color:#e5c180;
 background:linear-gradient(140deg,#fff9df,#e9c697);
 box-shadow:0 14px 30px #0009,inset 0 1px #fff;
}
html body #game:not([data-match-type="poker"]) .shuffle-effect strong,
html body #game:not([data-match-type="poker"]) .between-hands strong{
 color:#ffe1a2;text-shadow:0 3px 6px #000b;
}
@media(prefers-reduced-motion:reduce){
 html body #game:not([data-match-type="poker"]) .card,
 html body #game:not([data-match-type="poker"]) .table-card{animation:none!important;transition:none!important}
}
/* Low-height landscape is governed by the existing tested viewport CSS.
 * No changes to widths, positions, transforms, card hit areas or z-index. */
/* Premium feedback outside #game is enabled only while a non-Poker match is visible. */
body:has(#game:not([data-match-type="poker"]):not(.hidden)) #toast{
 border:1px solid #e8c57a;border-radius:14px;padding:12px 19px;
 background:linear-gradient(125deg,#0d4939ed,#121925f5);
 box-shadow:inset 0 1px #fff7,0 12px 30px #000a;
 color:#fff1ca;letter-spacing:.03em;text-shadow:0 1px #000;
}
body:has(#game:not([data-match-type="poker"]):not(.hidden)) #raise-effect strong{
 color:#fff6cb;text-shadow:0 3px #824022,0 7px 8px #350903,0 0 35px #ffad52;
 filter:drop-shadow(0 9px 12px #08030099);
}
body:has(#game:not([data-match-type="poker"]):not(.hidden)) #raise-effect .fire{
 filter:drop-shadow(0 -20px 30px #a9362566);
}


/* PHASE 1 V2 — Private/Public Truco waiting-room polish.
 * The existing game interactions and the Poker waiting state are not touched. */
/* Keep the pre-existing Poker waiting layout exactly as before the wrapper. */
html body #waiting:not(.waiting-truco-premium) .waiting-stage,
html body #waiting:not(.waiting-truco-premium) .waiting-stage-head,
html body #waiting:not(.waiting-truco-premium) .waiting-stage-heading,
html body #waiting:not(.waiting-truco-premium) .waiting-stage-status,
html body #waiting:not(.waiting-truco-premium) .waiting-roster,
html body #waiting:not(.waiting-truco-premium) .waiting-actions{display:contents}
html body #waiting:not(.waiting-truco-premium) .waiting-kicker,
html body #waiting:not(.waiting-truco-premium) .waiting-roster>strong,
html body #waiting:not(.waiting-truco-premium) .room-code em{display:none}

html body #waiting.waiting-truco-premium{
 display:grid;place-items:center;align-content:safe center;
 box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;
 padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right))
         max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));
 background:radial-gradient(ellipse at 50% 20%,#166047 0%,#0a362e 42%,#031a1a 80%,#061319 100%);
 color:#f8eed5;
}
html body #waiting.waiting-truco-premium .waiting-stage{
 display:grid;justify-items:stretch;gap:clamp(10px,1.75vh,17px);
 width:min(560px,100%);max-width:100%;min-width:0;
 margin:auto;padding:clamp(16px,3vw,27px);
 border:1px solid #e4b95f;border-radius:25px;
 background:linear-gradient(145deg,#144635ee,#09251fe8 66%,#081b1df0);
 box-shadow:inset 0 1px #fff8,0 3px 0 #99753866,0 18px 45px #00180db0;
 text-align:center;
}
html body #waiting.waiting-truco-premium .waiting-stage-head{
 display:flex;align-items:center;justify-content:center;gap:clamp(12px,3vw,20px);
 min-width:0;text-align:left;
}
html body #waiting.waiting-truco-premium .waiting-icon{
 flex:none;width:clamp(62px,15vw,94px);height:auto;max-height:94px;
 object-fit:contain;border:2px solid #ecca79;border-radius:20px;
 box-shadow:0 7px 18px #0008,0 0 0 4px #fff1b60d;
}
html body #waiting.waiting-truco-premium .waiting-stage-heading{min-width:0;display:grid;gap:5px}
html body #waiting.waiting-truco-premium .waiting-kicker{
 color:#f5d681;font:900 clamp(10px,1.5vw,12px)/1.4 system-ui;letter-spacing:.11em;
}
html body #waiting.waiting-truco-premium .waiting-stage-heading p{
 margin:0;color:#d9e9df;font:600 clamp(12px,2vw,14px)/1.45 system-ui;
}
html body #waiting.waiting-truco-premium .room-code{
 display:grid;justify-items:center;align-content:center;gap:4px;
 width:min(330px,100%);min-height:112px;padding:13px 20px;
 margin:0 auto;border:2px solid #f5d47c;border-radius:16px;
 color:#fff7d3;background:linear-gradient(150deg,#0b3f30,#04231e);
 box-shadow:inset 0 1px #ffebae65,0 6px 0 #4d3c1d77,0 12px 19px #0006;
 cursor:copy;touch-action:manipulation;
}
html body #waiting.waiting-truco-premium .room-code span#waiting-code{
 color:#fffbe8;font:1000 clamp(28px,6vw,38px)/1.05 system-ui;letter-spacing:.20em;
 font-variant-numeric:tabular-nums;
}
html body #waiting.waiting-truco-premium .room-code small{
 color:#ecca83;font:850 10px/1.3 system-ui;letter-spacing:.15em;
}
html body #waiting.waiting-truco-premium .room-code em{
 color:#b7dccc;font:800 10px/1.4 system-ui;letter-spacing:.05em;font-style:normal;
}
html body #waiting.waiting-truco-premium .room-code em span{color:#ffdb83}
html body #waiting.waiting-truco-premium .room-code:focus-visible{
 outline:3px solid #fff2b5;outline-offset:4px;
}
html body #waiting.waiting-truco-premium .waiting-stage-status{
 display:grid;justify-items:center;gap:5px;min-width:0;
}
html body #waiting.waiting-truco-premium #waiting-status{
 margin:0;color:#fff8df;font:900 clamp(19px,3.8vw,27px)/1.22 system-ui;
 overflow-wrap:anywhere;text-shadow:0 2px 7px #0007;
}
html body #waiting.waiting-truco-premium .loader{display:flex;justify-content:center;gap:7px}
html body #waiting.waiting-truco-premium .loader i{
 display:block;width:8px;height:8px;border-radius:50%;background:#f3d678;
 animation:bounce 1.3s ease-in-out infinite;
}
html body #waiting.waiting-truco-premium .waiting-roster{
 min-width:0;display:grid;gap:8px;padding:12px 14px;
 border:1px solid #f0cf8569;border-radius:14px;
 background:linear-gradient(150deg,#0a3028,#061b1c);
}
html body #waiting.waiting-truco-premium .waiting-roster>strong{
 color:#e9c67e;font:850 10px/1.25 system-ui;letter-spacing:.12em;text-align:left;
}
html body #waiting.waiting-truco-premium .waiting-players{
 display:grid;gap:6px;min-width:0;width:100%;max-height:min(155px,20dvh);
 overflow-y:auto;overflow-x:hidden;
 padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;
 color:#f9f2db;text-align:left;
}
html body #waiting.waiting-truco-premium .waiting-players span{
 display:block;min-width:0;padding:8px 11px;border-radius:9px;
 background:#1962475a;box-shadow:inset 0 1px #ffffff22;
 font:800 12px/1.4 system-ui;overflow-wrap:anywhere;
}
html body #waiting.waiting-truco-premium .hint{
 margin:0 auto;max-width:430px;color:#bfdbcd;
 font:550 12px/1.45 system-ui;
}
html body #waiting.waiting-truco-premium .hint b{color:#ffe5a6}
html body #waiting.waiting-truco-premium .waiting-actions{
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;
 width:100%;min-width:0;align-items:stretch;
}
html body #waiting.waiting-truco-premium .waiting-actions button{
 margin:0;min-width:0;min-height:48px;padding:10px;
 border:1px solid #f0d28b9a;border-radius:12px;
 color:#fff7dd;font:900 clamp(11px,1.8vw,13px)/1.3 system-ui;
 background:linear-gradient(#195e46,#0b382d);
 box-shadow:inset 0 1px #ffffff3f,0 5px 12px #0006;
 cursor:pointer;touch-action:manipulation;
}
html body #waiting.waiting-truco-premium .waiting-actions #waiting-abandon{
 border-color:#ec918599;
 background:linear-gradient(#9d433b,#692520);color:#fff4ed;
}
html body #waiting.waiting-truco-premium .waiting-actions #add-waiting-bot{
 grid-column:1/-1;
}
html body #waiting.waiting-truco-premium .waiting-actions button:focus-visible{
 outline:3px solid #fff0b2;outline-offset:2px;
}
@media(max-width:460px){
 html body #waiting.waiting-truco-premium{padding:8px 10px}
 html body #waiting.waiting-truco-premium .waiting-stage{padding:13px;gap:11px;border-radius:18px}
 html body #waiting.waiting-truco-premium .waiting-icon{width:60px}
 html body #waiting.waiting-truco-premium .waiting-actions button{min-height:46px;font-size:10.5px}
}
@media(max-height:650px) and (orientation:landscape){
 html body #waiting.waiting-truco-premium{display:block;padding:8px max(10px,env(safe-area-inset-right))}
 html body #waiting.waiting-truco-premium .waiting-stage{
  width:min(760px,100%);grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:9px 15px;padding:12px 18px;
 }
 html body #waiting.waiting-truco-premium .waiting-stage-head{grid-column:1;justify-content:flex-start}
 html body #waiting.waiting-truco-premium .waiting-icon{width:54px}
 html body #waiting.waiting-truco-premium .room-code{grid-column:1;min-height:76px}
 html body #waiting.waiting-truco-premium .waiting-stage-status{grid-column:2;grid-row:1;align-self:center}
 html body #waiting.waiting-truco-premium .waiting-roster{grid-column:2;grid-row:2}
 html body #waiting.waiting-truco-premium .hint{grid-column:1;text-align:center;font-size:10px}
 html body #waiting.waiting-truco-premium .waiting-actions{grid-column:2;align-self:center}
 html body #waiting.waiting-truco-premium #waiting-ad{grid-column:1/-1}
}
@media(prefers-reduced-motion:reduce){
 html body #waiting.waiting-truco-premium .loader i{animation:none}
}


/* V5 AUDITED TABLE MATERIAL
 * Replaces the V4 19x17 micrograin pattern and flattened SVG finish.
 * Only three legacy tables opt into these visually richer structural layers.
 * The five expensive themes retain their exact pre-existing CSS/materials.
 * All hit areas, DOM element bounds, positions and rules remain unchanged.
 */
html body #game:not([data-match-type="poker"]) .table-shell .tcz-v5-depth,
html body #game:not([data-match-type="poker"]) .table-shell .tcz-v5-finish{
 display:none;
 pointer-events:none;
}
/* Keep the premium themes on their already approved presentation.
   A missing theme defaults to the original free classic. */
html:is(:not([data-table-theme]),[data-table-theme="table-classic"],[data-table-theme="table-emerald"],[data-table-theme="table-midnight"])
 body #game:not([data-match-type="poker"]) .table-shell .tcz-v5-depth,
html:is(:not([data-table-theme]),[data-table-theme="table-classic"],[data-table-theme="table-emerald"],[data-table-theme="table-midnight"])
 body #game:not([data-match-type="poker"]) .table-shell .tcz-v5-finish{
 display:inline;
}
html:is(:not([data-table-theme]),[data-table-theme="table-classic"])
 body #game:not([data-match-type="poker"]){
 --tcz-v5-side-hi:#f9f2e7;
 --tcz-v5-side-mid:#bdb4a8;
 --tcz-v5-side-low:#90877b;
 --tcz-v5-glint:#fffaf0;
}
html[data-table-theme="table-emerald"] body #game:not([data-match-type="poker"]){
 --tcz-v5-side-hi:#6cac8c;
 --tcz-v5-side-mid:#115e43;
 --tcz-v5-side-low:#063729;
 --tcz-v5-glint:#f6e6ab;
}
html[data-table-theme="table-midnight"] body #game:not([data-match-type="poker"]){
 --tcz-v5-side-hi:#6c90b9;
 --tcz-v5-side-mid:#244b75;
 --tcz-v5-side-low:#0a1b3d;
 --tcz-v5-glint:#e4d7a6;
}
/* The whole-table drop-shadow on V3/V4 was filtered each time the table
   moved. Only the static silhouette shadow paints for these three tables. */
html:is(:not([data-table-theme]),[data-table-theme="table-classic"],[data-table-theme="table-emerald"],[data-table-theme="table-midnight"])
 body #game:not([data-match-type="poker"]) .table-shell .table-top{
 filter:none;
}
html body #game:not([data-match-type="poker"]) .table-shell .tcz-v5-side{
 stroke-linejoin:round;
}
html body #game:not([data-match-type="poker"]) .table-shell .tcz-v5-sheen{opacity:.76}
html body #game:not([data-match-type="poker"]) .table-shell .tcz-v5-grain{opacity:.40}
html body #game:not([data-match-type="poker"]) .table-shell .tcz-v5-signature{
 fill:#746858;
 fill-opacity:.19;
 font:600 21px Georgia,serif;
 letter-spacing:5.5px;
}
html body #game:not([data-match-type="poker"]) .table-shell .tcz-v5-subtitle{
 fill:#716656;
 fill-opacity:.15;
 font:550 10px Georgia,serif;
 letter-spacing:3px;
}
html:is([data-table-theme="table-emerald"],[data-table-theme="table-midnight"])
 body #game:not([data-match-type="poker"]) .table-shell .tcz-v5-signature{
 fill:#f6ecd2;fill-opacity:.21;
}
html:is([data-table-theme="table-emerald"],[data-table-theme="table-midnight"])
 body #game:not([data-match-type="poker"]) .table-shell .tcz-v5-subtitle{
 fill:#f5ead6;fill-opacity:.17;
}
html:is(:not([data-table-theme]),[data-table-theme="table-classic"])
 body #game:not([data-match-type="poker"]) .plastic-table .molded-line{
 box-shadow:inset 0 2px 5px #fff9,inset 0 -3px 8px #55452f0d;
}
html:is([data-table-theme="table-emerald"],[data-table-theme="table-midnight"])
 body #game:not([data-match-type="poker"]) .plastic-table .molded-line{
 box-shadow:inset 0 2px 6px #ffffff24,inset 0 -3px 8px #00000012;
}
/* Accessibility and low-tier mobile performance: remove the only Gaussian
   blur and translucent backdrop on touch layouts. Do not alter game timers. */
@media (max-width:740px), (pointer:coarse){
 html:is(:not([data-table-theme]),[data-table-theme="table-classic"],[data-table-theme="table-emerald"],[data-table-theme="table-midnight"])
  body #game:not([data-match-type="poker"]) .table-shell .tcz-v5-shadow{
  opacity:0;
  filter:none;
 }
 html body #game:not([data-match-type="poker"]) .table-shell .tcz-v5-grain{opacity:.20}
 html body #game:not([data-match-type="poker"]) .message{backdrop-filter:none}
 html:is(:not([data-table-theme]),[data-table-theme="table-classic"],[data-table-theme="table-emerald"],[data-table-theme="table-midnight"])
  body #game:not([data-match-type="poker"]) .plastic-table.table-slap{animation:none!important}
}

/* V6 SHOP=GAME — product truth is the exact SAME standalone SVG asset.
 * Never draw a theme by tint-only after the product graphic has been approved.
 * Existing three heritage themes remain precisely on V5; others opt into a
 * fully styled graphic that follows the original 1000x860 physical silhouette.
 */
html body #game:not([data-match-type="poker"]) .table-shell .tcz-v6-premium-art{
 display:none;
 pointer-events:none;
}
html[data-table-theme="table-bronze-imperial"] body #game:not([data-match-type="poker"]) .table-shell .tcz-v6-premium-art[data-premium-theme="table-bronze-imperial"]{display:inline;}
html[data-table-theme="table-safira-real"] body #game:not([data-match-type="poker"]) .table-shell .tcz-v6-premium-art[data-premium-theme="table-safira-real"]{display:inline;}
html[data-table-theme="table-rubi-suprema"] body #game:not([data-match-type="poker"]) .table-shell .tcz-v6-premium-art[data-premium-theme="table-rubi-suprema"]{display:inline;}
html[data-table-theme="table-onix-noturno"] body #game:not([data-match-type="poker"]) .table-shell .tcz-v6-premium-art[data-premium-theme="table-onix-noturno"]{display:inline;}
html[data-table-theme="table-trono-imortal"] body #game:not([data-match-type="poker"]) .table-shell .tcz-v6-premium-art[data-premium-theme="table-trono-imortal"]{display:inline;}
html[data-table-theme="table-bronze-imperial"] body #game:not([data-match-type="poker"]) .table-shell .table-top,
html[data-table-theme="table-safira-real"] body #game:not([data-match-type="poker"]) .table-shell .table-top,
html[data-table-theme="table-rubi-suprema"] body #game:not([data-match-type="poker"]) .table-shell .table-top,
html[data-table-theme="table-onix-noturno"] body #game:not([data-match-type="poker"]) .table-shell .table-top,
html[data-table-theme="table-trono-imortal"] body #game:not([data-match-type="poker"]) .table-shell .table-top{
 filter:none!important; /* the single cached premium SVG owns its 3D */
}
/* Actual product graphic shown uncropped in the shop, exactly as at the table. */
.customization-item-preview.table img[src*="table-bronze-imperial.svg"],
.customization-item-preview.table img[src*="table-safira-real.svg"],
.customization-item-preview.table img[src*="table-rubi-suprema.svg"],
.customization-item-preview.table img[src*="table-onix-noturno.svg"],
.customization-item-preview.table img[src*="table-trono-imortal.svg"]{
 object-fit:contain;
 width:100%;
 height:180px;
}
.customization-item-preview.table:has(img[src*="table-bronze-imperial.svg"]),
.customization-item-preview.table:has(img[src*="table-safira-real.svg"]),
.customization-item-preview.table:has(img[src*="table-rubi-suprema.svg"]),
.customization-item-preview.table:has(img[src*="table-onix-noturno.svg"]),
.customization-item-preview.table:has(img[src*="table-trono-imortal.svg"]){
 background:radial-gradient(ellipse at 50% 42%,#1e413f,#061a20 70%);
 min-height:180px;
}
@media(max-width:700px){
 .customization-item-preview.table img[src*="table-bronze-imperial.svg"],
 .customization-item-preview.table img[src*="table-safira-real.svg"],
 .customization-item-preview.table img[src*="table-rubi-suprema.svg"],
 .customization-item-preview.table img[src*="table-onix-noturno.svg"],
 .customization-item-preview.table img[src*="table-trono-imortal.svg"]{height:145px;}
}
