/* CardLab Vegas Table — felt, warm wood, cardstock and quiet focus */
.vt-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}
.vt-header small{font-size:14px;color:var(--muted,#718176);font-weight:550}
.vt-back{border:1px solid var(--line,#dce4d9);border-radius:10px;background:var(--surface,#fff);padding:13px 17px;font-size:13px;font-weight:750;white-space:nowrap;min-height:46px}
.vt-back:hover{border-color:#cba65d}
.vt-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:19px}
.vt-stats>div{border:1px solid var(--line,#dae5d9);border-radius:13px;background:var(--surface,#fff);padding:16px;min-width:0}
.vt-stats span{display:block;color:var(--muted,#67806f);font-size:11px;margin-bottom:8px}
.vt-stats strong{display:block;font-size:20px;color:var(--text,#193d2d);font-variant-numeric:tabular-nums}
.vt-table-wrap{border-radius:18px;background:linear-gradient(150deg,#eae8df,#dce6d9);padding:20px 18px 12px;box-shadow:0 13px 26px #103d2a1b}
.vt-table{height:clamp(490px,56vw,680px);position:relative;border-radius:49% / 40%;
 background:radial-gradient(ellipse at center 35%,#1f795c 0%,#13533e 48%,#103b2f 82%,#0b2a23 100%);
 border:14px solid #704a30;box-shadow:inset 0 0 0 5px #cea76d,inset 0 0 0 9px #1f583d,inset 0 0 65px #031910b8,
 0 0 0 4px #ac8758,0 9px 18px #132d2244;overflow:hidden}
.vt-table::after{content:'';position:absolute;inset:8%;border-radius:49% / 37%;border:2px solid #d8bd7945;pointer-events:none}
.vt-table-lettering{position:absolute;top:5%;left:50%;transform:translateX(-50%);color:#ead7a6c9;font-weight:850;letter-spacing:.24em;font-size:10px;white-space:nowrap}
.vt-table-mark{position:absolute;top:56%;left:50%;transform:translateX(-50%);color:#e3d1a25e;font-size:clamp(12px,2vw,24px);letter-spacing:.17em;font-weight:900;text-align:center;white-space:nowrap}
.vt-dealer{position:absolute;z-index:2;top:34%;left:50%;transform:translateX(-50%);text-align:center;color:#f9f2de}
.vt-dealer>strong{display:block;font-size:12px;letter-spacing:.12em;margin-bottom:10px;text-shadow:0 2px 5px #09241d}
.vt-dealer>small{display:block;color:#f0dfbd;font-size:11px;margin-top:6px}
.vt-cards{display:flex;gap:5px;justify-content:center;flex-wrap:nowrap;min-height:45px}
.vt-card{position:relative;width:45px;height:64px;display:flex;flex-direction:column;justify-content:center;align-items:center;flex:0 0 auto;
 border-radius:6px;background:linear-gradient(132deg,#fffef9 0%,#f0ebdf 100%);border:1px solid #d1c8b9;
 color:#193729;font-family:Georgia,serif;box-shadow:0 2px 0 #d0c6b4,0 6px 9px #061e173d}
.vt-card>b{position:absolute;top:4px;left:5px;font-size:14px;line-height:1}.vt-card>i{font-size:28px;font-style:normal}
.vt-card.vt-red{color:#b23a44}.vt-card.vt-back{background:repeating-linear-gradient(135deg,#274d75,#274d75 4px,#1f3d5f 4px,#1f3d5f 8px);
 color:#dce9fb;border:3px double #d8d5be}.vt-back>b{position:static;font-size:21px}
.vt-placeholder{display:grid;place-items:center;border:1px dashed #edddb58a;color:#ebdfb9;font-size:12px;padding:0 14px;min-height:52px;border-radius:5px}
.vt-seat{position:absolute;z-index:3;left:var(--seat-x);top:var(--seat-y);transform:translate(-50%,-50%);
 width:clamp(94px,16vw,182px);max-width:29%;text-align:center;
 background:linear-gradient(150deg,#14392ecc,#09291edc);border:1px solid #bb9b68a0;border-radius:13px;
 padding:8px 7px;color:#f5f2dd;box-shadow:0 5px 17px #061f1b99}
.vt-seat.vt-human{border-color:#f4d88b;border-width:2px;background:linear-gradient(150deg,#255c46f5,#113a2df2);width:clamp(160px,23vw,230px)}
.vt-seat.vt-seat-active{box-shadow:0 0 0 3px #edc572,0 5px 20px #001d18b2}
.vt-seat-label{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:6px}
.vt-seat-label strong{font-size:12px}.vt-seat-label small{font-size:10px;color:#e2d7bc}
.vt-seat .vt-card{width:30px;height:41px;border-radius:4px}
.vt-seat .vt-card>b{font-size:9px;top:3px;left:3px}.vt-seat .vt-card>i{font-size:19px}
.vt-seat .vt-card.vt-back>b{font-size:17px}
.vt-seat-hands{display:flex;flex-direction:column;gap:6px;max-height:162px;overflow:auto;scrollbar-width:thin}
.vt-hand{padding:2px;border-radius:6px;border:1px solid transparent}
.vt-hand-active{border-color:#f2d087;background:#ffffff1d}
.vt-hand-info{display:flex;justify-content:space-between;gap:4px;font-size:9px;line-height:1.25;color:#e5dfc2;margin-bottom:4px}
.vt-hand-info>span:last-child{text-align:right}
.vt-waiting{padding:9px 0;color:#a9c8b5;font-size:11px}
.vt-net{display:inline-block;margin-top:4px;padding:3px 7px;font-size:11px;font-weight:850;border-radius:6px;background:#092b21bd}
.vt-positive{color:#9be3bc!important}.vt-negative{color:#ffb5ac!important}
.vt-table-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:5px;font-size:11px;margin:14px 5px 0;color:#486959}
.vt-table-foot>b{color:#234632}
.vt-controls,.vt-info,.vt-history{margin-top:19px;padding:23px;background:var(--surface,#fff);border:1px solid var(--line,#dce4d8);border-radius:16px}
.vt-controls h2{font-size:21px;color:var(--text,#173f2e);margin:0 0 8px}
.vt-controls p,.vt-info p,.vt-history p{font-size:13px;color:var(--muted,#637b6e);line-height:1.7;margin:5px 0 15px}
.vt-info h3,.vt-history h2{font-size:17px;margin:0 0 12px}
.vt-config{display:flex;flex-wrap:wrap;gap:12px;margin:15px 0 18px;align-items:end}
.vt-select-group{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted,#677b6e);font-weight:750}
.vt-select{padding:11px 14px;border:1px solid var(--line,#cadbc9);border-radius:9px;color:var(--text,#173c2b);background:var(--surface,#fff);min-width:130px;min-height:45px}
.vt-bet-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:14px 0}
.vt-bet-row>span{margin-right:9px;font-size:13px}
.vt-chip{border:3px dashed #f4f0d8;background:#1f674c;color:white;border-radius:50%;width:59px;height:59px;min-width:59px;font-size:12px;font-weight:800;box-shadow:0 4px 0 #12432e}
.vt-chip-selected{background:#9b7533;box-shadow:0 0 0 3px #dabd7d,0 4px 0 #7a5a25}
.vt-action-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:17px}
.vt-button{min-height:48px;border-radius:11px;border:1px solid transparent;padding:12px 17px;font-size:14px;font-weight:800}
.vt-primary{background:#d9b66f;color:#16382b}.vt-outline{border-color:#c7d6c7;background:var(--surface,#fff);color:var(--text,#1b4a35)}
.vt-button:focus-visible,.vt-chip:focus-visible,.vt-select:focus-visible{outline:3px solid #b77f22;outline-offset:3px}
.vt-result{display:flex;align-items:baseline;gap:13px;margin:15px 0}
.vt-result strong{font-size:36px;font-variant-numeric:tabular-nums}
.vt-result .vt-positive{color:#238451!important}.vt-result .vt-negative{color:#b54f4e!important}
.vt-result span{color:var(--muted,#65796c);font-size:12px}
.vt-history-list>div{display:flex;justify-content:space-between;align-items:center;gap:9px;padding:11px 0;border-bottom:1px solid var(--line,#dce4d9);font-size:13px}
.vt-history-list .vt-positive{color:#21824a!important}.vt-history-list .vt-negative{color:#bc4d45!important}
.vt-disclaimer{color:var(--muted,#667e70);font-size:12px;line-height:1.7;margin:18px 0}
.vt-mode-cta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:13px 17px;background:linear-gradient(115deg,#e5eee5,#f7f1de);border:1px solid #d4e0cb;border-radius:12px;margin:0 0 19px}
.vt-mode-cta p{font-size:12px;line-height:1.5;flex:1;margin:0;color:#486552}
.vt-mode-cta a{background:#103c31;color:#f5f1dd;padding:12px 16px;min-height:44px;border-radius:9px;font-size:12px;font-weight:800}
[data-theme="dark"] .vt-table-wrap{background:#233f30}
[data-theme="dark"] .vt-mode-cta{background:#214a36;border-color:#3b684e}
[data-theme="dark"] .vt-mode-cta p{color:#d5e4d1}
@media(prefers-reduced-motion:no-preference){.vt-card-new{animation:vt-deal .42s cubic-bezier(.2,.7,.23,1) both;animation-delay:var(--vt-deal-delay,0ms)}.vt-dealer .vt-card-new{animation-name:vt-hole-flip}.vt-chip{transition:transform .12s ease}.vt-chip:hover{transform:translateY(-3px)}@keyframes vt-deal{from{opacity:0;transform:translate(10px,-28px) rotate(-12deg) scale(.85)}to{opacity:1;transform:translate(0,0) rotate(0) scale(1)}}@keyframes vt-hole-flip{from{opacity:.2;transform:rotateY(90deg)}to{opacity:1;transform:rotateY(0deg)}}}
.reduce-motion .vt-card{animation:none!important}
@media(max-width:900px){.vt-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.vt-table-wrap{padding:13px}.vt-table{height:610px}.vt-seat{width:135px}.vt-seat.vt-human{width:190px}.vt-seat-hands{max-height:150px}}
@media(max-width:600px){.vt-header{align-items:flex-start;flex-direction:column}.vt-stats strong{font-size:16px}
.vt-table-wrap{padding:7px 6px 12px}.vt-table{height:565px;border-width:9px;border-radius:38% / 30%;box-shadow:inset 0 0 0 3px #cea76d,0 5px 12px #132d2244}
.vt-seat{width:112px;max-width:32%;padding:5px 4px;border-radius:8px}
.vt-seat.vt-human{width:155px;max-width:48%}
.vt-seat-label{flex-direction:column;margin-bottom:3px}.vt-seat-label strong{font-size:10px}.vt-seat-label small{font-size:9px}
.vt-seat .vt-card{width:23px;height:32px}.vt-seat .vt-card>b{font-size:8px}.vt-seat .vt-card>i{font-size:15px}
.vt-seat-hands{max-height:135px;gap:3px}.vt-hand-info{font-size:8px}
.vt-card{width:36px;height:52px}.vt-card>b{font-size:12px}.vt-card>i{font-size:24px}
.vt-dealer{top:34%}.vt-table-lettering{font-size:8px;letter-spacing:.1em}
.vt-table-mark{font-size:10px;top:55%}.vt-table-foot{font-size:10px}
.vt-controls,.vt-info,.vt-history{padding:16px}.vt-action-row .vt-button{flex:1 1 135px}.vt-config{gap:9px}
.vt-result strong{font-size:28px}}

/* Dealer is intentionally inboard; the upper rim is reserved for bot seats. */
.vt-coach{margin-top:15px;padding:17px 20px;border:1px solid #d3dec9;border-radius:14px;background:linear-gradient(105deg,#f4f5e9,#faf8ee)}
.vt-coach-head{display:flex;justify-content:space-between;gap:10px;align-items:center}
.vt-coach-head>strong{font-size:15px;color:#235842}.vt-coach-head>small{color:#806b39;font-size:11px;font-weight:800}
.vt-coach p{font-size:12px;line-height:1.7;color:#556f5e;margin:8px 0 0}
.vt-coach-action{display:inline-block;margin:9px 0 0;background:#245b49;color:#f9f5e6;padding:8px 13px;border-radius:10px;font-weight:850;font-size:16px}
.vt-coach-caution{font-size:11px!important;color:#7b724f!important}
.vt-activity{margin-top:14px;border:1px solid var(--line,#dee8da);background:var(--surface,#fff);border-radius:12px;padding:12px 17px}
.vt-activity>strong{display:block;font-size:12px;color:var(--text,#234a35);margin-bottom:9px}
.vt-activity-rows{display:flex;flex-wrap:wrap;gap:7px}
.vt-activity-rows>span{border:1px solid var(--line,#dce9dc);border-radius:7px;padding:7px 10px;font-size:11px;color:var(--text,#2b523d)}
[data-theme="dark"] .vt-coach{background:#244b3c;border-color:#41654c}
[data-theme="dark"] .vt-coach-head>strong,[data-theme="dark"] .vt-coach p{color:#e2eee0}
[data-theme="dark"] .vt-coach-head>small{color:#e8cf86}

/* Casino chip piles are purely decorative; amounts come from the engine. */
.vt-chip-pile{width:68px;height:28px;display:flex;align-items:flex-end;justify-content:center;position:relative;margin:5px auto 2px;flex:0 0 auto;pointer-events:none}
.vt-chip-disc{position:absolute;bottom:10px;width:34px;height:11px;border-radius:50%;border:3px dashed #f9efc5;background:linear-gradient(120deg,#c69b48,#94602a);box-shadow:0 2px 0 #654b29,0 4px 3px #03190c66;transform:translateY(calc(var(--vt-chip-index)*-4px))}
.vt-chip-label{position:absolute;bottom:0;left:50%;transform:translateX(-50%);font-size:9px;font-weight:850;line-height:1;color:#f3e5b9;background:#082a218c;padding:1px 4px;border-radius:5px}
.vt-history-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px}
.vt-history-replay{border:1px solid var(--line,#cbd8c8);color:var(--text,#22553d);border-radius:8px;min-height:44px;padding:12px;font-weight:800;text-align:center;font-size:12px;background:var(--surface,#fff)}
.vt-history-replay:hover{border-color:#b9934d}
@media(prefers-reduced-motion:reduce){.vt-card-new{animation:none!important}.vt-chip{transition:none!important}}
.reduce-motion .vt-card-new{animation:none!important}
@media(max-width:600px){.vt-history-list>div{grid-template-columns:minmax(0,1fr) auto}.vt-history-replay{grid-column:1/-1}.vt-chip-pile{width:50px;height:22px}.vt-chip-disc{width:26px;height:9px;border-width:2px}.vt-chip-label{font-size:8px}}
