/* Hold'em poker — styles for the poker bits rendered INTO the professional Whist table.
   The felt, crests and card faces come from holdem-gameplay.css (.holdem-* pro classes);
   here we only style poker-specific pieces: the community board + pot, betting bar,
   status tags, hole cards, and the leave/chat chrome. Dark-green felt + gold accents. */

/* The pro felt hides #holdemTrick until a Whist trick is played — force it visible for poker
   so the community board + pot show centered. */
body.holdem-poker-mode #holdemTrick {
    display: flex !important;
    align-items: center;
    justify-content: center;
}

/* (Footer/.nav-rail kept visible — user wants the bottom nav: MESE/CHAT/SETARI/MENU + balance.) */
/* Strip whist-only bits from MY poker dock: ATU pill + the hand-sort buttons (poker shows 2 cards). */
body.holdem-poker-mode #dockAtu,
body.holdem-poker-mode #dockSortSuit,
body.holdem-poker-mode #dockSortRank { display: none !important; }
#holdemRoot .holdem-timer-pill.holdem-timer-urgent .holdem-timer-text { color: #fca5a5; }

/* ── Center: community board + pot (rendered into #holdemTrick) ── */
#holdemRoot .holdem-pk-center {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}
#holdemRoot .holdem-pk-pot {
    font-size: 1.2rem;
    font-weight: 800;
    color: #ffd76a;
    background: radial-gradient(circle at 35% 30%, #1d7d46, #0c3f25);
    border: 2px solid #ffd76a;
    border-radius: 999px;
    padding: 7px 26px;
    letter-spacing: .5px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, .55), inset 0 0 12px rgba(255, 215, 106, .25);
}
#holdemRoot .holdem-pk-boardrow {
    display: flex;
    gap: 10px;
    justify-content: center;
}
#holdemRoot .holdem-card.holdem-pk-board { box-shadow: 0 6px 16px rgba(0, 0, 0, .45); }
/* Board cards: reuse the premium .holdem-card; empty slots are dashed placeholders. */
#holdemRoot .holdem-pk-slot {
    width: 58px; height: 82px;
    border-radius: 9px;
    background: rgba(255, 255, 255, .05);
    border: 1px dashed rgba(255, 255, 255, .18);
    box-shadow: none;
}
#holdemRoot .holdem-card.holdem-pk-board { width: 58px; height: 82px; }
/* (.holdem-pk-phase eliminat — textele de fază/câștigător apar în dock, în scaunul de jos) */

/* ── SCAUNELE ADVERSARILOR = ACEEAȘI PIELE (cerere user): tenta aurie sus + chenar .42 +
      umbre ca blazonul; inelul ::before FĂRĂ accent albastru; discul de jetoane AURIU
      (era verde — alt limbaj). „La rând" = pulsul auriu existent (hdTurnPulse), fără verde. ── */
body.holdem-poker-mode .holdem-opp-card {
    background:
        linear-gradient(180deg, rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.07), transparent 42%),
        linear-gradient(135deg, rgba(var(--holdem-panel-rgb, 28, 35, 53), 0.97), rgba(var(--holdem-deep-rgb, 12, 18, 32), 0.97)) !important;
    border-color: rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.42) !important;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.62), inset 0 1px 0 rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.30), inset 0 -1px 0 rgba(0, 0, 0, 0.45) !important;
}
body.holdem-poker-mode .holdem-opp-card::before {
    background: linear-gradient(135deg, rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.15), transparent 30%, transparent 70%, rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.12)) !important;
}
body.holdem-poker-mode .holdem-opp-score {
    background: radial-gradient(circle at 30% 30%, #ffedb0 0%, #ffd700 38%, #8a6d1a 100%) !important;
    color: #2a1f04 !important;
    box-shadow:
        0 0 16px rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.55),
        0 3px 8px rgba(0, 0, 0, 0.6),
        inset 0 2px 4px rgba(255, 255, 255, 0.5),
        inset 0 -2px 4px rgba(0, 0, 0, 0.3) !important;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35) !important;
}

/* ── SIDEBAR: secțiunile (info masă / toasts / 📜 Jurnal) = ACEEAȘI PIELE ca blazonul și
      dock-ul (cerere user) — gradient auriu+navy, chenar auriu, fir auriu sus, titlu Cinzel. ── */
body.holdem-poker-mode .holdem-sb-section {
    background:
        linear-gradient(180deg, rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.07), transparent 42%),
        linear-gradient(135deg, rgba(var(--holdem-panel-rgb, 28, 35, 53), 0.98), rgba(var(--holdem-deep-rgb, 12, 18, 32), 0.99)) !important;
    border: 1.5px solid rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.42) !important;
    border-radius: 14px !important;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.30), inset 0 -1px 0 rgba(0, 0, 0, 0.45) !important;
    position: relative;
}
body.holdem-poker-mode .holdem-sb-section::after {
    content: ''; position: absolute; top: 0; left: 15px; right: 15px; height: 1px;
    background: linear-gradient(90deg, transparent, rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.75), transparent);
    pointer-events: none;
}
body.holdem-poker-mode .holdem-sb-title {
    font-family: 'Cinzel', 'Oswald', serif !important;
    font-size: 12.5px !important; font-weight: 700 !important;
    letter-spacing: 1.4px !important; text-transform: uppercase !important;
    color: var(--holdem-gold, #ffd700) !important;
}

/* ── Info masă + Jurnal: în SIDEBAR-ul din dreapta (panoul Whist, încadrat) —
      fără pastile plutitoare. Rânduri label/valoare + linii de jurnal. ── */
#holdemRoot .hd-irow {
    display: flex; justify-content: space-between; align-items: center;
    padding: 4px 2px; font-size: .86rem; color: #cfd8e4;
    border-bottom: 1px dashed rgba(255, 255, 255, .07);
}
#holdemRoot .hd-irow:last-child { border-bottom: none; }
#holdemRoot .hd-irow b { color: #ffd76a; font-weight: 800; font-variant-numeric: tabular-nums; }
#holdemRoot .hd-lrow { font-size: .78rem; color: #aebccb; line-height: 1.45; padding: 2px 0; }
#holdemRoot .holdem-sb-history { max-height: 240px; overflow-y: auto; }

/* ── JURNAL ELEGANT (cerere user: „parcă arunci un scris de-a valma") — fiecare tip de rând
      are structura lui: acțiune = nume + verb-chip colorat la dreapta; câștig = trofeu + sumă
      aurie + mâna câștigătoare; fază/mână nouă = separatoare fine centrate. ── */
#holdemRoot .hd-lrow.hd-l-act {
    display: flex; align-items: center; justify-content: space-between; gap: 8px;
    padding: 3px 2px; border-bottom: 1px dashed rgba(255, 255, 255, .06);
}
#holdemRoot .hd-lrow.hd-l-act b {
    font-weight: 700; color: #dde6f0; min-width: 0; overflow: hidden;
    text-overflow: ellipsis; white-space: nowrap;
}
#holdemRoot .hd-l-verb {
    flex: none; display: inline-flex; align-items: center;
    font-size: .62rem; font-weight: 800; letter-spacing: .5px; text-transform: uppercase;
    padding: 2px 7px; border-radius: 999px; border: 1px solid; line-height: 1.3;
    font-variant-numeric: tabular-nums;
}
#holdemRoot .hd-v-fold  { color: #f0a3a3; border-color: rgba(239, 68, 68, .4);  background: rgba(239, 68, 68, .10); }
#holdemRoot .hd-v-check, #holdemRoot .hd-v-call { color: #9fe7bd; border-color: rgba(34, 197, 94, .35); background: rgba(34, 197, 94, .10); }
#holdemRoot .hd-v-bet, #holdemRoot .hd-v-raise  { color: #ffd76a; border-color: rgba(255, 215, 0, .4);  background: rgba(255, 215, 0, .10); }
#holdemRoot .hd-v-allin { color: #ff9eb5; border-color: rgba(225, 29, 72, .45); background: rgba(225, 29, 72, .12); }
#holdemRoot .hd-v-info  { color: #9fb2c8; border-color: rgba(148, 163, 184, .3); background: rgba(148, 163, 184, .08); }
/* separator de fază: — FLOP — */
#holdemRoot .hd-lrow.hd-l-phase {
    display: flex; align-items: center; gap: 8px; padding: 6px 0 4px;
    font-size: .6rem; font-weight: 800; letter-spacing: 2px; text-transform: uppercase;
    color: rgba(255, 215, 0, .65);
}
#holdemRoot .hd-l-phase i {
    flex: 1; height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 215, 0, .28), transparent);
}
/* mână nouă: chip central MÂNA #N */
#holdemRoot .hd-lrow.hd-l-hand { display: flex; justify-content: center; padding: 7px 0 5px; }
#holdemRoot .hd-l-handchip {
    font-family: 'Cinzel', serif; font-size: .64rem; font-weight: 800; letter-spacing: 1.2px;
    color: #ffd76a; padding: 2px 10px; border-radius: 999px;
    border: 1px solid rgba(255, 215, 0, .35);
    background: linear-gradient(180deg, rgba(255, 215, 0, .08), rgba(255, 215, 0, .02));
}
/* câștig: 🏆 nume +N · mâna câștigătoare */
#holdemRoot .hd-lrow.hd-l-win {
    display: flex; align-items: center; flex-wrap: wrap; gap: 5px;
    padding: 4px 2px; border-bottom: 1px dashed rgba(255, 255, 255, .06);
}
#holdemRoot .hd-lrow.hd-l-win b { color: #ffe9a8; font-weight: 800; }
#holdemRoot .hd-l-win .hd-l-amt {
    font-family: 'Oswald', sans-serif; font-weight: 800; color: #ffd700;
    font-variant-numeric: tabular-nums;
}
#holdemRoot .hd-l-win em { width: 100%; font-style: italic; font-size: .68rem; color: #9fb2c8; padding-left: 20px; }
/* rând informativ (rebuy, intră în joc etc.) */
#holdemRoot .hd-lrow.hd-l-info { font-size: .7rem; font-style: italic; color: #8da1b8; padding: 3px 2px; }

/* ── Dock-ul din dreapta-jos (Cockpit-ul, ca la Whist) RĂMÂNE — e standardul platformei:
      Rândul · Mâna # · ⏱ timer · unelte (temă/reacții/refresh). Adaptat la poker în renderDock:
      fără ATU, fără sortare/scoreboard (le ascunde JS-ul), fără dubluri de pot. ── */

/* ── FIX „se vede waiting room-ul la scroll sub masă": #roomWaitingView stă în .game-area
      SUB gamePlayView; un race la start/rematch îl lăsa uneori display:block → pagina creștea
      și se vedea la scroll. În modul poker activ stă ascuns forțat. (holdem-poker-mode cade în
      <450ms după finalul jocului → waiting room-ul de rematch se afișează normal.) ── */
body.holdem-poker-mode #roomWaitingView { display: none !important; }

/* ── Bets as real chips ON THE FELT, in front of each player toward the pot
      (replaces the bet badge crammed inside the crest). ── */
#holdemRoot .holdem-opp-stats .holdem-pk-bet { display: none; } /* opponents use felt chips instead */
/* JETON REAL de cazinou (cerere user: „jetoane reale și deasupra lor cifra"):
   cifra într-o capsulă mică SUS, sub ea jetonul — disc colorat pe demnominație (alb <5,
   roșu <25, verde <100, negru <500, mov <1000, auriu 1000+), cu 6 dungi albe pe margine
   (repeating-conic), disc interior mai deschis, inel interior punctat și grosime de teanc
   (umbre orizontale dedesubt). */
#holdemRoot .hd-feltbet {
    position: absolute; z-index: 7; white-space: nowrap;
    display: flex; flex-direction: column; align-items: center; gap: 3px;
    background: none; border: none; box-shadow: none; padding: 0;
}
#holdemRoot .hd-feltbet .hd-chipamt {
    font-family: 'Oswald', sans-serif; font-weight: 800; font-size: .72rem; line-height: 1;
    color: #ffe9a8; padding: 2px 7px; border-radius: 999px;
    background: rgba(10, 16, 36, .85); border: 1px solid rgba(255, 215, 0, .4);
    box-shadow: 0 2px 6px rgba(0, 0, 0, .5); font-variant-numeric: tabular-nums;
}
#holdemRoot .hd-feltbet .hd-chip {
    --chipC: #c0392b; --chipIn: #e05545; --chipD: #7e2218;   /* default: roșu (5) */
    width: 26px; height: 26px; border-radius: 50%; display: block; position: relative; flex: none;
    background:
        radial-gradient(circle at 38% 30%, rgba(255, 255, 255, .45), rgba(255, 255, 255, 0) 46%),
        radial-gradient(circle, var(--chipIn) 0 55%, rgba(0, 0, 0, 0) 55%),
        repeating-conic-gradient(rgba(255, 255, 255, .92) 0 16deg, var(--chipC) 16deg 60deg);
    border: 1px solid rgba(0, 0, 0, .5);
    box-shadow: 0 2px 0 var(--chipD), 0 4px 0 rgba(0, 0, 0, .38), 0 6px 12px rgba(0, 0, 0, .55);
}
#holdemRoot .hd-feltbet .hd-chip::after {
    content: ""; position: absolute; inset: 5px; border-radius: 50%;
    border: 1.5px dashed rgba(255, 255, 255, .55);
}
/* Denominații (culori reale de cazinou) */
#holdemRoot .hd-feltbet .hd-chip.hd-c1   { --chipC: #b9c2d4; --chipIn: #e8edf6; --chipD: #828c9e; }
#holdemRoot .hd-feltbet .hd-chip.hd-c5   { --chipC: #c0392b; --chipIn: #e05545; --chipD: #7e2218; }
#holdemRoot .hd-feltbet .hd-chip.hd-c25  { --chipC: #1f8a4c; --chipIn: #2fae66; --chipD: #14572f; }
#holdemRoot .hd-feltbet .hd-chip.hd-c100 { --chipC: #23272f; --chipIn: #424857; --chipD: #0c0e12; }
#holdemRoot .hd-feltbet .hd-chip.hd-c500 { --chipC: #6d28a8; --chipIn: #8b3fd0; --chipD: #471a6e; }
#holdemRoot .hd-feltbet .hd-chip.hd-c1k  { --chipC: #d4a017; --chipIn: #f1c232; --chipD: #8a6a0e; }
/* Scaunele de SUS au cărțile atârnate sub crest → jetonul stă SUB cărți (nu peste ele);
   nordul (centrat cu potul) e deviat lateral ca să nu intre în capsula POT. */
#holdemRoot .holdem-opp-north .hd-feltbet { top: calc(100% + 30px); left: 30%; transform: translateX(-50%); }
#holdemRoot .holdem-opp-ne .hd-feltbet { top: calc(100% + 30px); left: 16%; }
#holdemRoot .holdem-opp-nw .hd-feltbet { top: calc(100% + 30px); right: 16%; }
#holdemRoot .holdem-opp-east .hd-feltbet { right: calc(100% + 8px); top: 50%; transform: translateY(-50%); }
#holdemRoot .holdem-opp-west .hd-feltbet { left: calc(100% + 8px); top: 50%; transform: translateY(-50%); }
/* Jetonul MEU: pe postav, jos-centru — „în fața mea", ca la masa reală (la 62% stătea în
   colțul stânga-jos, înghesuit lângă pachet + cărțile arse; verificat vizual la audit). */
#holdemRoot .holdem-my-crest .hd-feltbet, #holdemRoot #holdemMyInfo > .hd-feltbet {
    bottom: calc(100% + 84px); top: auto; left: 150%;
}
/* Centrul (board sus + pot SUB el) coboară sub banda jetoanelor scaunelor de sus: jetonul
   real (cifră + disc) ține ~42px de la +30px sub scaun (bottom ≈ seat+72px). Părintele e
   flex-centrat vertical → margin-ul împinge efectiv ~jumătate; 132px ⇒ board top ~196 (6px
   sub jeton), board 196-278, pot 288-334, felt până la 350 — zero suprapuneri. */
#holdemRoot .holdem-pk-center { margin-top: 132px; }
/* Potul stă la 10px sub board — capsulă separată, nu lipită de cărți. */
#holdemRoot .holdem-pk-center .holdem-pk-pot { margin-top: 10px; }

/* ── SB/BB badge on a crest (Dealer 'D' = pro .is-dealer) ── */
#holdemRoot .holdem-opp-card, #holdemRoot .holdem-my-crest { position: relative; }
#holdemRoot .holdem-pk-pos {
    position: absolute; top: -8px; left: -8px; z-index: 4;
    min-width: 22px; height: 22px; padding: 0 5px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 999px; font-size: .66rem; font-weight: 800; color: #1a1205;
    background: linear-gradient(135deg, #e2e8f0, #94a3b8); box-shadow: 0 2px 5px rgba(0, 0, 0, .45);
}
#holdemRoot .holdem-pk-pos[data-pos="BB"] { background: linear-gradient(135deg, #fcd34d, #d97706); }
#holdemRoot .holdem-pk-pos[data-pos="SB"] { background: linear-gradient(135deg, #93c5fd, #2563eb); color: #fff; }
#holdemRoot .holdem-pk-pos[data-pos="BTN"] { background: linear-gradient(135deg, #f8fafc, #cbd5e1); color: #0f172a; }
#holdemRoot .holdem-pk-pos[data-pos="CO"], #holdemRoot .holdem-pk-pos[data-pos="HJ"] { background: linear-gradient(135deg, #a7f3d0, #34d399); color: #064e3b; }

/* ── Side pots under the main pot ── */
#holdemRoot .holdem-pk-sidepots { display: flex; gap: 6px; flex-wrap: wrap; justify-content: center; margin-top: 5px; }
#holdemRoot .holdem-pk-sidepot {
    font-size: .72rem; color: #cfe0d4; background: rgba(0, 0, 0, .32);
    border: 1px solid rgba(255, 215, 106, .25); border-radius: 999px; padding: 2px 9px;
}

/* ── Poker status on crests ── */
#holdemRoot .holdem-pk-tag {
    display: inline-block;
    padding: 1px 8px;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .3px;
}
#holdemRoot .holdem-pk-tag.fold { background: rgba(120, 130, 145, .35); color: #c7d0db; }
#holdemRoot .holdem-pk-tag.allin { background: #ef4444; color: #fff; }
#holdemRoot .holdem-pk-tag.out { background: rgba(15, 20, 28, .75); color: #94a3b8; border: 1px solid rgba(148, 163, 184, .4); letter-spacing: .5px; }
#holdemRoot .holdem-pk-tag.sitout { background: rgba(217, 119, 6, .28); color: #fcd34d; }
#holdemRoot .holdem-pk-tag.disc { background: rgba(220, 38, 38, .3); color: #fca5a5; }
#holdemRoot .holdem-pk-bet { display: inline-block; background: linear-gradient(135deg, #f6c453, #d99b1c); color: #3a2600; padding: 2px 10px; border-radius: 999px; font-weight: 800; font-size: .8rem; box-shadow: 0 2px 6px rgba(0, 0, 0, .4); }
#holdemRoot .holdem-pk-folded { opacity: .5; }
/* Eliminated (busted, 0 chips) seat — dimmed + desaturated. */
#holdemRoot .holdem-pk-out { opacity: .42; filter: grayscale(.85); }
#holdemRoot .holdem-pk-out .holdem-pk-pos { display: none !important; }

/* ── Per-seat move clock (countdown on the active player's crest) ── */
#holdemRoot .holdem-pk-seatclock {
    position: absolute; top: -10px; right: -10px; z-index: 5;
    min-width: 26px; height: 26px; padding: 0 6px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 999px; font-size: .72rem; font-weight: 800; color: #1a1205;
    background: linear-gradient(135deg, #fde68a, #f59e0b);
    box-shadow: 0 0 0 2px rgba(255, 255, 255, .25), 0 3px 8px rgba(0, 0, 0, .5);
}
#holdemRoot .holdem-pk-seatclock.urgent {
    background: linear-gradient(135deg, #fca5a5, #dc2626); color: #fff;
    animation: holdemSeatPulse .7s ease-in-out infinite;
}
@keyframes holdemSeatPulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.14); } }

/* My hole cards (in #holdemMyHand) — two premium faces, centered. */
#holdemRoot .holdem-my-hand.holdem-pk-hole {
    display: flex;
    gap: 10px;
    justify-content: center;
    align-items: center;
}

/* Opponent revealed hole cards at showdown (small). */
#holdemRoot .holdem-card.holdem-pk-mini { width: 40px; height: 57px; }
#holdemRoot .holdem-card.holdem-pk-mini .holdem-card-rank { font-size: .8rem; }
#holdemRoot .holdem-card.holdem-pk-mini .holdem-card-pip { font-size: 1.2rem; }

/* ── Betting bar (bottom-center, above the player dock) ── */
/* ── BET BAR + PLAYER AREA = UN SINGUR BLOC UNITAR (cerere user): betbar-ul preia EXACT
      pielea lui .holdem-player-area (același gradient navy, aceeași bordură aurie 2px .32,
      același inset auriu, radius 14 doar sus) și stă lipit deasupra ei, fără cusătură. ── */
#holdemRoot .holdem-player-area { position: relative; }
/* SCAUNUL SUB MASĂ, NU DEASUPRA (cerere user): rândul de jos al grilei primește loc și pentru
   consola de pariere (132px + 64px), iar cutia e împinsă în jos cu înălțimea consolei →
   betbar-ul (ancorat deasupra cutiei) intră EXACT în spațiul rezervat, fără să acopere postavul. */
body.holdem-poker-mode .holdem-root { grid-template-rows: minmax(0, 1fr) 196px !important; }
body.holdem-poker-mode .holdem-player-area { margin-top: 70px !important; }
#holdemRoot .holdem-betbar { height: 64px; box-sizing: border-box; }
/* Pe scaunul MEU, badge-ul de poziție + ceasul stau JOS, COMPLET ÎN INTERIORUL blocului
   (sus erau tăiate de consolă; la -8px ieșeau din marginea de jos a cutiei) */
#holdemRoot .holdem-my-crest .holdem-pk-pos { top: auto; bottom: 2px; left: -8px; }
#holdemRoot .holdem-my-crest .holdem-pk-seatclock { top: auto; bottom: 0; right: -10px; }
/* Inelul de timer de pe avatarul MEU: AURIU în poker (era stroke verde din whist —
   spec user: culoarea avatarului nu se schimbă niciodată; auriul e paleta casei) */
body.holdem-poker-mode #holdemMyInfo .holdem-timer-ring .ring-fg {
    stroke: var(--holdem-gold, #ffd700) !important;
    filter: drop-shadow(0 0 6px rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.8)) !important;
}
/* ═══ UN SINGUR CHENAR (cerere user — „două bucăți" pentru că fiecare panou avea gradientul
   și chenarul lui, iar la îmbinare se vedea saltul de ton): cutia NU mai are fundal/bordură
   proprii — TOTUL e desenat de ::before, care acoperă ȘI consola (top:-64px) ȘI scaunul →
   un singur panou, un singur gradient, un singur chenar aurit. ═══ */
body.holdem-poker-mode .holdem-player-area {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}
body.holdem-poker-mode .holdem-player-area::before {
    content: '';
    position: absolute;
    left: 0; right: 0; bottom: 0; top: -64px;   /* include consola de pariere */
    background: linear-gradient(180deg, rgba(20, 28, 48, 0.98) 0%, rgba(var(--holdem-deep-rgb, 12, 18, 32), 0.95) 100%);
    border: 2px solid rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.32);
    border-radius: 14px;
    box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.5), 0 8px 28px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.15);
    z-index: 0;
    pointer-events: none;
}
body.holdem-poker-mode .holdem-player-area > * { position: relative; z-index: 1; }
#holdemRoot .holdem-betbar {
    position: absolute;
    left: 0; right: 0; bottom: 100%;
    margin: 0;
    z-index: 6;
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
    padding: 11px 18px;
    /* FĂRĂ fundal/bordură proprii — chenarul unic e ::before-ul cutiei */
    background: none;
    border: none;
    border-bottom: 1px solid rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.16);   /* fir separator subtil */
    border-radius: 0;
}
#holdemRoot .holdem-betbar.hd-betbar-in { animation: hdBetbarIn .3s cubic-bezier(.2, .9, .3, 1.25) both; }

/* ── DOCK-ul (Rândul/Mâna/timer/unelte) = ACEEAȘI PIELE ca blazonul .holdem-my-crest —
      tot rândul de jos vorbește un singur limbaj vizual (cerere user). ── */
#holdemRoot .holdem-player-dock {
    background:
        linear-gradient(180deg, rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.07), transparent 42%),
        linear-gradient(135deg, rgba(var(--holdem-panel-rgb, 28, 35, 53), 0.98), rgba(var(--holdem-deep-rgb, 12, 18, 32), 0.99)) !important;
    border: 1.5px solid rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.42) !important;
    border-radius: 16px 32px 32px 16px !important;   /* oglinda blazonului (capul rotunjit spre exterior) */
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.62), inset 0 1px 0 rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.30), inset 0 -1px 0 rgba(0, 0, 0, 0.45) !important;
    position: relative;
}
#holdemRoot .holdem-player-dock::after {
    content: ''; position: absolute; top: 0; left: 15px; right: 43px; height: 1px;
    background: linear-gradient(90deg, transparent, rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.75), transparent);
    pointer-events: none;
}
/* „Rândul: X" = același font ca numele din blazon (Cinzel auriu uppercase) */
#holdemRoot .holdem-dock-turn {
    font-family: 'Cinzel', 'Oswald', serif !important;
    font-size: 12.5px !important; font-weight: 700 !important;
    letter-spacing: 1.4px !important; text-transform: uppercase !important;
    color: var(--holdem-gold, #ffd700) !important;
    background: none !important; border: none !important;
}
/* pastilele (Mâna #N, timer) = chips navy+gold ca segmentele keystone din blazon */
#holdemRoot .holdem-dock-round, #holdemRoot #dockRoundInfo {
    background:
        linear-gradient(135deg, rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.13), rgba(184, 134, 11, 0.05)),
        rgba(var(--holdem-deep-rgb, 12, 18, 32), 0.9) !important;
    border: 1px solid rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.40) !important;
    color: var(--holdem-gold, #ffd700) !important;
    border-radius: 10px !important; font-weight: 800 !important; font-variant-numeric: tabular-nums;
}
#holdemRoot .holdem-timer-pill {
    background: rgba(var(--holdem-deep-rgb, 12, 18, 32), 0.85) !important;
    border: 1px solid rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.40) !important;
    box-shadow: inset 0 1px 0 rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.18) !important;
}
#holdemRoot .holdem-timer-pill .holdem-timer-text { color: var(--holdem-gold, #ffd700) !important; font-weight: 800; }
/* uneltele (🎨 😊 🔄) — butoane navy+gold, hover auriu */
#holdemRoot .holdem-dock-btn {
    background: rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.08) !important;
    border: 1px solid rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.30) !important;
    border-radius: 9px !important;
}
#holdemRoot .holdem-dock-btn:hover { background: rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.18) !important; }
/* (regula verde de aici a fost ELIMINATĂ — cerere user: culorile scaunului NU se schimbă;
   comportamentul de „rândul meu" = doar glow auriu pulsând, definit mai jos la seatPulse) */

/* ── RÂNDUL MEU (standard PokerStars, cerere user): NU se schimbă fundal / bordură / culori.
      DOAR glow exterior auriu + pulsare lentă pe întregul bloc. ── */
@keyframes seatPulse {
    0%, 100% { box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.5), 0 8px 28px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.15), 0 0 0 0 rgba(var(--holdem-gold-rgb, 255, 215, 0), 0); }
    50% { box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.5), 0 8px 28px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.15), 0 0 26px 5px rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.40); }
}
/* pulsul rulează pe CHENARUL UNIC (::before) — un singur glow pe tot blocul */
body.holdem-poker-mode .holdem-player-area.hd-area-my-turn::before { animation: seatPulse 1.5s infinite ease-in-out; }
/* Crest-ul + avatarul MEU la rând: FĂRĂ verde (gameplay.css le înverzea) — bordura și inelele
   rămân EXACT ca idle (aurii); doar pulsul de glow auriu pe crest. Culorile NU se schimbă. */
@keyframes seatCrestPulse {
    0%, 100% { box-shadow: 0 10px 26px rgba(0, 0, 0, 0.62), inset 0 1px 0 rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.30), inset 0 -1px 0 rgba(0, 0, 0, 0.45), 0 0 0 0 rgba(var(--holdem-gold-rgb, 255, 215, 0), 0); }
    50% { box-shadow: 0 10px 26px rgba(0, 0, 0, 0.62), inset 0 1px 0 rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.30), inset 0 -1px 0 rgba(0, 0, 0, 0.45), 0 0 18px 3px rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.45); }
}
body.holdem-poker-mode #holdemMyInfo.current-turn .holdem-my-crest {
    border-color: rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.42) !important;
    animation: seatCrestPulse 1.5s infinite ease-in-out !important;
}
body.holdem-poker-mode #holdemMyInfo.current-turn .holdem-my-avatar {
    box-shadow:
        0 0 0 2.5px rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.95),
        0 0 0 5px rgba(92, 66, 16, 0.95),
        0 0 16px rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.30),
        0 7px 18px rgba(0, 0, 0, 0.62) !important;   /* identic cu idle — fără inele verzi */
}

/* ═══ SCAUNUL DE JOS — DIMENSIUNI FIXE + ZONE FIXE (standard PokerStars, cerere user):
       NIMIC nu împinge sau redimensionează scaunul — nume lung, jetoane 10→100000, badge-uri,
       timer, fold/all-in/dealer: se schimbă DOAR informația, nu structura/dimensiunea. ═══ */
body.holdem-poker-mode #holdemMyInfo {
    flex: 0 0 300px !important;
    width: 300px !important; max-width: 300px !important;
    height: 84px !important; min-height: 84px !important;
    overflow: visible !important;
}
body.holdem-poker-mode #holdemMyInfo .holdem-my-crest {
    flex: 1 1 auto !important; min-width: 0 !important;
    height: 72px !important; box-sizing: border-box !important;
}
/* numele: o singură linie cu ellipsis — nu împinge nimic */
body.holdem-poker-mode #holdemMyInfo .holdem-my-name {
    white-space: nowrap !important; overflow: hidden !important;
    text-overflow: ellipsis !important; max-width: 100% !important;
}
/* segmentele: lățimi minime fixe + cifre tabulare → valorile cresc fără niciun salt de layout */
body.holdem-poker-mode #holdemMyInfo .holdem-keyseg {
    min-width: 56px; box-sizing: border-box; justify-content: center; text-align: center;
}
body.holdem-poker-mode #holdemMyInfo .holdem-keyseg .kseg-val { font-variant-numeric: tabular-nums; white-space: nowrap; }
body.holdem-poker-mode #holdemMyInfo .holdem-keyseg-score { min-width: 92px; }
/* pastila „JOC AUTOMAT": mică, ÎNCADRATĂ, în dreptul numelui (cerere user) — rândul numelui
   e flex cu înălțime fixă, deci apariția pastilei nu mișcă restul layoutului. */
body.holdem-poker-mode #holdemMyInfo .holdem-my-namerow {
    display: flex; align-items: center; gap: 6px; min-width: 0;
}
body.holdem-poker-mode #holdemMyInfo .holdem-my-namerow .holdem-my-name { flex: 0 1 auto; min-width: 0; }
body.holdem-poker-mode #holdemMyInfo .holdem-my-auto {
    position: static !important; transform: none !important; margin: 0 !important;
    flex: none; display: inline-flex !important; align-items: center; gap: 4px;
    font-size: 7.5px !important; font-weight: 800; letter-spacing: .6px; text-transform: uppercase;
    color: #fbbf24 !important; background: rgba(251, 191, 36, .1) !important;
    border: 1px solid rgba(251, 191, 36, .45) !important; border-radius: 4px;
    padding: 2px 6px !important; line-height: 1; white-space: nowrap;
}
body.holdem-poker-mode #holdemMyInfo .holdem-my-auto[hidden] { display: none !important; }
body.holdem-poker-mode #holdemMyInfo .holdem-my-auto::before {
    content: '●'; font-size: 6px; line-height: 1; animation: hdAutoBlink 1.2s infinite;
}
@keyframes hdAutoBlink { 50% { opacity: .25; } }
/* responsive proporțional — aceleași zone, scalate, fără rupturi sau spații goale */
@media (max-width: 900px) {
    body.holdem-poker-mode #holdemMyInfo { flex-basis: 260px !important; width: 260px !important; max-width: 260px !important; height: 76px !important; min-height: 76px !important; }
    body.holdem-poker-mode #holdemMyInfo .holdem-my-crest { height: 64px !important; }
    body.holdem-poker-mode #holdemMyInfo .holdem-keyseg { min-width: 48px; }
    body.holdem-poker-mode #holdemMyInfo .holdem-keyseg-score { min-width: 78px; }
}
@media (max-width: 600px) {
    body.holdem-poker-mode #holdemMyInfo { flex-basis: 228px !important; width: 228px !important; max-width: 228px !important; height: 68px !important; min-height: 68px !important; }
    body.holdem-poker-mode #holdemMyInfo .holdem-my-crest { height: 58px !important; }
    body.holdem-poker-mode #holdemMyInfo .holdem-keyseg { min-width: 42px; }
    body.holdem-poker-mode #holdemMyInfo .holdem-keyseg-score { min-width: 66px; }
}
/* BUTOANELE = jetoane din ACELAȘI metal ca blazonul/dock-ul (navy+gold, Cinzel, fir auriu),
   cu semantica păstrată doar în culoarea textului + bordurii (fold roșu / call verde /
   raise auriu / all-in crimson) — nu mai sunt gradiente pline străine de limbaj. */
#holdemRoot .holdem-betbtn {
    border: 1.5px solid rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.42);
    border-radius: 12px;
    padding: 11px 20px;
    font-family: 'Cinzel', 'Oswald', serif;
    font-size: .88rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    cursor: pointer;
    color: var(--holdem-gold, #ffd700);
    background:
        linear-gradient(180deg, rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.07), transparent 42%),
        linear-gradient(135deg, rgba(var(--holdem-panel-rgb, 28, 35, 53), 0.98), rgba(var(--holdem-deep-rgb, 12, 18, 32), 0.99));
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.22);
    transition: transform .12s, filter .12s, box-shadow .12s, border-color .12s;
}
#holdemRoot .holdem-betbtn:hover {
    transform: translateY(-2px);
    filter: brightness(1.18);
    box-shadow: 0 7px 18px rgba(0, 0, 0, .5), inset 0 1px 0 rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.3);
}
#holdemRoot .holdem-betbtn:active { transform: translateY(0) scale(.97); }
#holdemRoot .holdem-betbtn.fold { border-color: rgba(248, 113, 113, 0.6); color: #fca5a5; }
#holdemRoot .holdem-betbtn.call, #holdemRoot .holdem-betbtn.check { border-color: rgba(74, 222, 128, 0.6); color: #86efac; }
#holdemRoot .holdem-betbtn.raise, #holdemRoot .holdem-betbtn.next { border-color: rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.8); color: var(--holdem-gold, #ffd700); box-shadow: 0 4px 12px rgba(0, 0, 0, .45), inset 0 1px 0 rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.32), 0 0 14px rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.18); }
#holdemRoot .holdem-betbtn.allin { border-color: rgba(248, 113, 113, 0.85); color: #f87171; }
#holdemRoot .holdem-betbar-hint { color: #aebccb; font-size: .9rem; font-style: italic; padding: 4px 6px; }
#holdemRoot .holdem-raisewrap { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: center; }
#holdemRoot .holdem-raise-presets { display: flex; gap: 6px; }
/* preset-urile (½ POT / POT) = jetoane mici din ACELAȘI metal (fără fundal albicios străin) */
#holdemRoot .holdem-betbtn.preset {
    padding: 8px 12px; font-size: .74rem;
    border-color: rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.32);
    color: rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.85);
}
/* firul auriu de sus — identic cu cel de pe crest (::after) și dock: aceeași semnătură */
#holdemRoot .holdem-betbar::after {
    content: ''; position: absolute; top: 0; left: 18px; right: 18px; height: 1px;
    background: linear-gradient(90deg, transparent, rgba(var(--holdem-gold-rgb, 255, 215, 0), 0.75), transparent);
    pointer-events: none;
}
#holdemRoot .holdem-raise-slider { width: 150px; accent-color: #ffd76a; }
#holdemRoot .holdem-raise-val { min-width: 42px; text-align: center; font-weight: 800; color: #ffd76a; }

/* ═══ ANIMAȚII — jocul trăiește de la împărțire la showdown ═══ */
/* Aterizarea cărții împărțite (cartea zburată de dealer „se așază" pe masă) */
@keyframes hdDealIn {
    0% { opacity: 0; transform: scale(.3) rotate(-6deg); }
    70% { opacity: 1; transform: scale(1.08) rotate(2deg); }
    100% { opacity: 1; transform: scale(1) rotate(0); }
}
@keyframes hdFlipIn {
    0% { opacity: 0; transform: perspective(700px) rotateY(92deg) translateY(-6px); }
    60% { opacity: 1; }
    100% { opacity: 1; transform: perspective(700px) rotateY(0) translateY(0); }
}
@keyframes hdToss {
    0% { opacity: 0; transform: translateY(-26px) scale(.4); }
    65% { opacity: 1; transform: translateY(3px) scale(1.1); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes hdBump { 0% { transform: scale(1); } 40% { transform: scale(1.16); } 100% { transform: scale(1); } }
@keyframes hdWinGlow {
    0%, 100% { box-shadow: 0 0 0 0 rgba(255, 215, 106, 0); }
    35% { box-shadow: 0 0 28px 7px rgba(255, 215, 106, .55); }
}
@keyframes hdBetbarIn {
    from { opacity: 0; transform: translateY(20px) scale(.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes hdTurnPulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(255, 215, 106, 0); }
    50% { box-shadow: 0 0 0 4px rgba(255, 215, 106, .30); }
}
@keyframes hdFloatUp {
    0% { opacity: 0; transform: translate(-50%, 8px) scale(.8); }
    20% { opacity: 1; transform: translate(-50%, 0) scale(1.05); }
    100% { opacity: 0; transform: translate(-50%, -52px) scale(1); }
}
#holdemRoot .hd-deal { animation: hdDealIn .34s cubic-bezier(.25, .9, .35, 1.15) both; }
/* ── PACHETUL DE CĂRȚI — în STÂNGA mesei (cerere user), colțul de JOS al feltului
      (liber pe toate layouturile; la mijloc se bătea cu scaunul de vest). ── */
#holdemRoot .holdem-pk-deck {
    position: absolute;
    left: 22px; bottom: 18px;
    width: 48px; height: 68px;
    z-index: 3;
    filter: drop-shadow(0 5px 9px rgba(0, 0, 0, .45));
}
/* dacă vreun render vechi mai pune pachetul în boardrow, acolo nu se afișează */
#holdemRoot .holdem-pk-boardrow .holdem-pk-deck { display: none; }
#holdemRoot .hd-deckcard {
    position: absolute; inset: 0;
    border-radius: 6px;
    background:
        radial-gradient(circle at 50% 40%, rgba(255, 215, 106, .15), transparent 58%),
        repeating-linear-gradient(45deg, #16243c 0 5px, #1b2c49 5px 10px);
    border: 1px solid rgba(255, 215, 106, .45);
    box-shadow: inset 0 0 0 3px rgba(9, 15, 27, .75);
}
#holdemRoot .hd-deckcard:nth-child(1) { transform: translate(4px, 4px) rotate(2deg); opacity: .8; }
#holdemRoot .hd-deckcard:nth-child(2) { transform: translate(2px, 2px) rotate(-1deg); opacity: .9; }
#holdemRoot .hd-deckcard:nth-child(3) { transform: none; }

/* Cartea care ZBOARĂ de la dealer la jucător (animateDeal) — model navy+gold */
.hd-flycard {
    position: fixed; width: 28px; height: 40px; z-index: 115; pointer-events: none;
    border-radius: 4px; opacity: .95;
    background:
        radial-gradient(circle at 50% 40%, rgba(255, 215, 106, .18), transparent 60%),
        repeating-linear-gradient(45deg, #16243c 0 4px, #1b2c49 4px 8px);
    border: 1px solid rgba(255, 215, 106, .45);
    box-shadow: 0 4px 12px rgba(0, 0, 0, .5);
    transition: transform .32s cubic-bezier(.45, .05, .4, 1), opacity .34s ease;
}
#holdemRoot .hd-flip { animation: hdFlipIn .5s ease-out both; backface-visibility: hidden; }
#holdemRoot .hd-toss { animation: hdToss .4s cubic-bezier(.3, .9, .4, 1.2) both; }
#holdemRoot .hd-bump { animation: hdBump .45s ease-out; }
#holdemRoot .hd-win-glow, #holdemRoot .holdem-opp-card.hd-win-glow { animation: hdWinGlow 1.15s ease-in-out 2; }
.hd-float-label {
    position: fixed; z-index: 130; pointer-events: none;
    transform: translate(-50%, 0);
    color: #ffd76a; font-weight: 900; font-size: 1.15rem;
    text-shadow: 0 2px 8px rgba(0, 0, 0, .8), 0 0 18px rgba(255, 215, 106, .4);
    animation: hdFloatUp 1.45s ease-out both;
}
/* Rândul activ pulsează discret (inel auriu) — DOAR adversarii;
   crest-ul MEU are propriul puls (seatCrestPulse) — fără dublură de animație. */
#holdemRoot .holdem-opp-card.current-turn { animation: hdTurnPulse 1.7s ease-in-out infinite; }
/* Cărțile mele „respiră" la hover */
#holdemRoot .holdem-pk-hole .holdem-card { transition: transform .16s ease; }
#holdemRoot .holdem-pk-hole .holdem-card:hover { transform: translateY(-10px); }
/* Poker Normal — schimbul de cărți: cărțile selectabile + selecția (ridicate, inel auriu) */
#holdemRoot .holdem-pk-hole .holdem-card.hd-selectable { cursor: pointer; }
#holdemRoot .holdem-pk-hole .holdem-card.hd-sel {
    transform: translateY(-16px);
    box-shadow: 0 0 0 3px rgba(255, 215, 106, .85), 0 10px 22px rgba(0, 0, 0, .5);
}
#holdemRoot .holdem-pk-hole .holdem-card.hd-sel:hover { transform: translateY(-16px); }
/* Spatele cărților mari de pe sud (spectator / pre-deal): model navy+gold premium —
   înainte erau albe/goale (moșteneau fața de carte). */
#holdemRoot .holdem-pk-hole .holdem-card-back {
    background:
        radial-gradient(circle at 50% 40%, rgba(255, 215, 106, .14), transparent 55%),
        repeating-linear-gradient(45deg, #16243c 0 6px, #1b2c49 6px 12px) !important;
    border: 2px solid rgba(255, 215, 106, .4);
    box-shadow: inset 0 0 0 3px rgba(9, 15, 27, .75), 0 4px 10px rgba(0, 0, 0, .45);
}
/* ═══════════════════ v15 — REALISM PACK ═══════════════════ */

/* 1) Mâna MEA în clar, sub cărți („Două perechi, A și 10") — ca la camerele reale.
   E sibling cu #holdemMyHand într-un flex ROW → îl ancorăm absolut, centrat SUB cărți
   (verificat live: fără absolute aterizează în dreapta, lângă dock). */
body.holdem-poker-mode .holdem-player-area { position: relative; }
#hdMyHandName {
    position: absolute; left: 50%; transform: translateX(-50%); bottom: 3px;
    z-index: 3; pointer-events: none; text-align: center;
    font-family: 'Cinzel', serif; font-size: .66rem; font-weight: 800;
    letter-spacing: 1.1px; text-transform: uppercase; color: #ffd76a;
    white-space: nowrap; line-height: 1.2;
    /* capsulă — lizibilă chiar peste colțurile cărților, nimic tăiat (audit v15.2) */
    background: rgba(10, 16, 36, .88);
    border: 1px solid rgba(255, 215, 0, .35);
    border-radius: 999px; padding: 2px 11px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .45);
}

/* 2) Showdown: cele 5 cărți câștigătoare APRINSE, restul stinse */
#holdemRoot .hd-win-card {
    box-shadow: 0 0 0 2px rgba(255, 215, 0, .85), 0 0 18px rgba(255, 215, 0, .55) !important;
    transform: translateY(-3px);
    transition: transform .3s ease, box-shadow .3s ease;
    z-index: 3;
}
#holdemRoot .hd-dull-card { filter: brightness(.45) saturate(.6); transition: filter .3s ease; }

/* 3) Eticheta acțiunii pe scaun („RAISE 78") — flash scurt lângă crest */
#holdemRoot .hd-actflash, body.holdem-poker-mode .hd-actflash {
    position: absolute; left: 50%; top: -14px; transform: translateX(-50%);
    z-index: 30; pointer-events: none; white-space: nowrap;
    font-family: 'Oswald', sans-serif; font-size: .66rem; font-weight: 800;
    letter-spacing: .8px; padding: 3px 10px; border-radius: 999px; border: 1px solid;
    background: rgba(10, 16, 36, .92); box-shadow: 0 4px 12px rgba(0, 0, 0, .5);
    animation: hdAfPop 1.5s ease forwards; font-variant-numeric: tabular-nums;
}
@keyframes hdAfPop {
    0% { opacity: 0; transform: translateX(-50%) translateY(6px) scale(.85); }
    12%, 80% { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); }
    100% { opacity: 0; transform: translateX(-50%) translateY(-8px) scale(.95); }
}
#holdemRoot .hd-af-fold  { color: #f0a3a3; border-color: rgba(239, 68, 68, .55); }
#holdemRoot .hd-af-check, #holdemRoot .hd-af-call { color: #9fe7bd; border-color: rgba(34, 197, 94, .5); }
#holdemRoot .hd-af-bet, #holdemRoot .hd-af-raise  { color: #ffd76a; border-color: rgba(255, 215, 0, .55); }
#holdemRoot .hd-af-allin { color: #ff9eb5; border-color: rgba(225, 29, 72, .6); }
#holdemRoot .hd-af-info  { color: #9fb2c8; border-color: rgba(148, 163, 184, .45); }
/* pe crest-ul MEU eticheta apare deasupra blocului de jos */
body.holdem-poker-mode .holdem-my-crest .hd-actflash { top: -22px; }

/* 4) Discul dealerului „D" — zboară de la vechiul buton la noul */
.hd-dealerfly {
    position: fixed; z-index: 130; width: 26px; height: 26px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-family: 'Cinzel', serif; font-weight: 800; font-size: 13px; color: #1a2236;
    background: radial-gradient(circle at 35% 30%, #fff, #e8e2cf 60%, #cfc5a6);
    border: 1px solid rgba(0, 0, 0, .4); box-shadow: 0 3px 8px rgba(0, 0, 0, .5);
    pointer-events: none; opacity: .95;
    transition: transform .85s cubic-bezier(.5, .05, .35, 1), opacity .85s ease;
}

/* 5) BURN PILE — cărțile arse, cu fața-n jos, lângă pachet */
#hdBurnPile {
    position: absolute; left: 84px; bottom: 18px; width: 34px; height: 48px;
    border-radius: 6px; z-index: 2; opacity: 0; transform: rotate(14deg);
    background:
        linear-gradient(160deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, 0) 50%),
        repeating-linear-gradient(45deg, #16243c 0 5px, #1b2c49 5px 10px);
    border: 1.5px solid rgba(255, 215, 106, .28);
    box-shadow: inset 0 0 0 2px rgba(9, 15, 27, .7), 0 3px 7px rgba(0, 0, 0, .45);
    transition: opacity .3s ease;
}
#hdBurnPile:not([data-n="0"]) { opacity: .9; }
#hdBurnPile[data-n="2"] { box-shadow: inset 0 0 0 2px rgba(9, 15, 27, .7), -2px 2px 0 #10203a, 0 3px 7px rgba(0, 0, 0, .45); }
#hdBurnPile[data-n="3"] { box-shadow: inset 0 0 0 2px rgba(9, 15, 27, .7), -2px 2px 0 #10203a, -4px 4px 0 #0c1830, 0 3px 7px rgba(0, 0, 0, .45); }
#hdBurnPile.hd-burned { animation: hdBump .35s ease; }

/* 6) SIT OUT (pauză) — scaunul rămâne, dar e estompat + badge „PAUZĂ" */
#holdemRoot .holdem-opp-card.hd-sitout { opacity: .55; filter: saturate(.55); }
#holdemRoot .holdem-opp-card.hd-sitout::before { content: none; }
#holdemRoot .hd-sitout .holdem-opp-name::after,
body.holdem-poker-mode #holdemMyInfo.hd-sitout .holdem-my-name::after {
    content: '☕ PAUZĂ'; display: inline-block; margin-left: 6px;
    font-size: 7.5px; font-weight: 800; letter-spacing: .6px;
    color: #9fb2c8; background: rgba(148, 163, 184, .12);
    border: 1px solid rgba(148, 163, 184, .4); border-radius: 4px;
    padding: 1px 5px; vertical-align: middle;
}
body.holdem-poker-mode #holdemMyInfo.hd-sitout .holdem-my-crest { opacity: .7; }

/* 7) Side pots — capsule sub potul principal, cu eligibilii la hover */
#holdemRoot .holdem-pk-sidepot b { font-family: 'Oswald', sans-serif; color: #ffd76a; font-variant-numeric: tabular-nums; }

/* 8) „Vezi mâna" — timeline-ul mâinii în Tabela Scor */
#holdemRoot .hd-replayable, .holdem-sb-rank.hd-replayable { cursor: pointer; }
.holdem-sb-rank.hd-replayable:hover { background: rgba(255, 215, 0, .06); }
.hd-replay-eye {
    font-style: normal; font-size: .6rem; color: #ffd76a; opacity: .8;
    border: 1px solid rgba(255, 215, 0, .35); border-radius: 4px; padding: 1px 4px; margin-right: 4px;
}
.hd-replay-tl {
    margin: 2px 6px 8px 28px; padding: 8px 10px; border-radius: 10px;
    background: linear-gradient(180deg, rgba(255, 215, 0, .05), rgba(255, 215, 0, .01));
    border: 1px solid rgba(255, 215, 0, .18);
}
.hd-replay-board { display: flex; gap: 4px; margin-bottom: 6px; }
/* v17: rândul cărților câștigătorului (hole) — apare sub board în replay-ul mâinii.
   Permite vizual verificarea: „Două perechi" → vezi cărțile + cele aprinse câștigătoare. */
.hd-replay-hole {
    display: flex; align-items: center; gap: 6px; margin: 0 0 6px;
    padding: 4px 6px; border-radius: 8px;
    background: rgba(255, 215, 0, .04);
    border: 1px dashed rgba(255, 215, 0, .22);
}
.hd-replay-hole-who {
    color: #ffd76a; font-weight: 700; font-size: .72rem;
    font-family: 'Cinzel', serif; letter-spacing: .3px; margin-right: 4px;
}
.hd-replay-hole .holdem-pk-mini { transform: scale(.85); }
.hd-replay-row {
    display: flex; align-items: center; gap: 8px; padding: 2px 0;
    font-size: .7rem; color: #aebccb; border-bottom: 1px dashed rgba(255, 255, 255, .05);
}
.hd-replay-row:last-child { border-bottom: none; }
.hd-replay-row b { color: #dde6f0; font-weight: 700; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hd-replay-row span { font-family: 'Oswald', sans-serif; font-weight: 700; color: #ffd76a; font-variant-numeric: tabular-nums; }
.hd-replay-row em { margin-left: auto; font-style: italic; font-size: .62rem; color: #8da1b8; }

/* 9) Jetoanele pozițiilor noi (mese 7-9): ese/wsw lateral (ca east/west), nne sus (ca north) */
#holdemRoot .holdem-opp-ese .hd-feltbet { right: calc(100% + 8px); top: 50%; transform: translateY(-50%); }
#holdemRoot .holdem-opp-wsw .hd-feltbet { left: calc(100% + 8px); top: 50%; transform: translateY(-50%); }
#holdemRoot .holdem-opp-nne .hd-feltbet { top: calc(100% + 30px); left: 50%; transform: translateX(-50%); }
/* La 8-9 locuri scaunul wsw stă jos-stânga → pachetul + cărțile arse se mută spre centru-stânga.
   Clasele hd-has-wsw/hd-has-nne le pune holdem-table.js la render (NU :has() — pe o masă care
   se re-randează des, :has() declanșează recalc de stil scump la fiecare mutație de DOM). */
#holdemRoot .holdem-table-area.hd-has-wsw .holdem-pk-deck { left: 30%; }
#holdemRoot .holdem-table-area.hd-has-wsw #hdBurnPile { left: calc(30% + 62px); }
/* La 9 locuri rândul de sus are 4 scaune → re-spațiere uniformă (verificat live: cu pozițiile
   de bază nne se suprapunea cu north/ne). Centre la ~11/36/61/86% din lățime. */
#holdemRoot .holdem-table-area.hd-has-nne .holdem-opp-nw { left: 4%; }
#holdemRoot .holdem-table-area.hd-has-nne .holdem-opp-north { left: 36%; transform: none; }
#holdemRoot .holdem-opp-nne { top: 14px; left: 56%; right: auto; }
#holdemRoot .holdem-table-area.hd-has-nne .holdem-opp-ne { right: 2%; }
/* jetonul lui north nu mai are translateX (north nu mai e centrat cu transform) */
#holdemRoot .holdem-table-area.hd-has-nne .holdem-opp-north .hd-feltbet { left: 50%; }

/* 10) Responsive — masa de poker pe ecrane mici: centru mai sus, jetoane mai aproape,
      pachet mai mic, butoane care încap pe rânduri. */
@media (max-width: 900px) {
    #holdemRoot .holdem-pk-center { margin-top: 112px; }
    #holdemRoot .holdem-opp-north .hd-feltbet,
    #holdemRoot .holdem-opp-ne .hd-feltbet,
    #holdemRoot .holdem-opp-nw .hd-feltbet,
    #holdemRoot .holdem-opp-nne .hd-feltbet { top: calc(100% + 22px); }
    #holdemRoot .hd-feltbet .hd-chip { width: 22px; height: 22px; }
    #holdemRoot .hd-feltbet .hd-chipamt { font-size: .64rem; padding: 1px 6px; }
    #holdemRoot .holdem-pk-deck { transform: scale(.85); transform-origin: bottom left; }
    #hdMyHandName { font-size: .6rem; }
    #holdemRoot .holdem-betbtn { padding: 9px 14px; font-size: .78rem; }
}
@media (max-width: 600px) {
    #holdemRoot .holdem-pk-center { margin-top: 92px; }
    #holdemRoot .holdem-opp-north .hd-feltbet,
    #holdemRoot .holdem-opp-ne .hd-feltbet,
    #holdemRoot .holdem-opp-nw .hd-feltbet,
    #holdemRoot .holdem-opp-nne .hd-feltbet { top: calc(100% + 16px); }
    #holdemRoot .hd-feltbet .hd-chip { width: 19px; height: 19px; }
    #holdemRoot .hd-feltbet .hd-chip::after { inset: 4px; }
    #holdemRoot .holdem-pk-deck { transform: scale(.7); transform-origin: bottom left; }
    #holdemRoot .holdem-betbtn { padding: 8px 10px; font-size: .7rem; letter-spacing: .5px; }
    #holdemRoot .holdem-raise-slider { max-width: 110px; }
    #holdemRoot .hd-actflash { font-size: .58rem; }
}

/* Accesibilitate: utilizatorii cu reduced-motion nu primesc animații */
@media (prefers-reduced-motion: reduce) {
    #holdemRoot .hd-deal, #holdemRoot .hd-flip, #holdemRoot .hd-toss, #holdemRoot .hd-bump,
    #holdemRoot .hd-win-glow, .hd-float-label, #holdemRoot .holdem-betbar.hd-betbar-in,
    #holdemRoot .holdem-opp-card.current-turn,
    body.holdem-poker-mode .holdem-player-area.hd-area-my-turn::before,
    body.holdem-poker-mode #holdemMyInfo.current-turn .holdem-my-crest,
    #holdemRoot .hd-actflash, .hd-dealerfly, #hdBurnPile.hd-burned,
    body.holdem-poker-mode #holdemMyInfo .holdem-my-auto::before,
    #holdemRoot .holdem-my-info.current-turn .holdem-my-crest { animation: none !important; }
}


/* ═══════════════════ v16 — ANIMATION BIBLE TOP 5 (C9/C10/J2+J3/J9+J10/C7 + C15) ═══════════════════ */

/* C9 — FLOP SWEEP: cele 3 cărți ies LIPITE din pachet ca un bloc (cu spatele), alunecă la
   sloturi (evantai), apoi se întorc pe rând. Iluzia de flip = scaleX (fără 3D fragil):
   elementul e fața; ::after e spatele care dispare exact pe muchie. --fi = indexul cărții. */
#holdemRoot .holdem-pk-board.hd-flopsweep {
    position: relative;
    animation: hdFlopSweep 1.05s cubic-bezier(.4, .08, .3, 1) both;
    animation-delay: calc(var(--fi) * 95ms);
}
#holdemRoot .holdem-pk-board.hd-flopsweep::after {
    content: ''; position: absolute; inset: 0; border-radius: inherit; z-index: 4;
    background:
        linear-gradient(160deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, 0) 50%),
        repeating-linear-gradient(45deg, #16243c 0 6px, #1b2c49 6px 12px);
    border: 2px solid rgba(255, 215, 106, .4); box-sizing: border-box;
    animation: hdFlopBack 1.05s linear both;
    animation-delay: calc(var(--fi) * 95ms);
}
@keyframes hdFlopSweep {
    0%   { opacity: 0; transform: translateX(calc(var(--fi) * -52px - 70px)) translateY(-6px) scaleX(1); }
    28%  { opacity: 1; transform: translateX(calc(var(--fi) * -52px)) translateY(0) scaleX(1); }
    56%  { transform: translateX(0) scaleX(1); }
    72%  { transform: translateX(0) scaleX(.06); }
    100% { opacity: 1; transform: translateX(0) scaleX(1); }
}
@keyframes hdFlopBack {
    0%, 71%  { opacity: 1; }
    74%, 100% { opacity: 0; }
}

/* C10 — TURN/RIVER cu HANG TIME: flip-ul se OPREȘTE ~90ms pe muchie (suspans), apoi cade. */
#holdemRoot .holdem-pk-board.hd-flip-hang {
    animation: hdFlipHang .72s cubic-bezier(.45, .05, .35, 1) both;
    backface-visibility: hidden;
}
@keyframes hdFlipHang {
    0%   { opacity: 0; transform: perspective(700px) rotateY(92deg) translateY(-6px); }
    34%  { opacity: 1; transform: perspective(700px) rotateY(88deg) translateY(-2px); }
    47%  { transform: perspective(700px) rotateY(88deg) translateY(-2px); }
    100% { opacity: 1; transform: perspective(700px) rotateY(0) translateY(0); }
}

/* J2+J3 — TEANC PE DENOMINAȚII + SPLASH: pariul = până la 3 discuri suprapuse (cel mai mare
   jos), capsula cu suma ușor PESTE teanc (nu crește înălțimea spre board). La mărire,
   discurile cad în cascadă (75ms între ele). */
#holdemRoot .hd-feltbet .hd-chipamt { position: relative; z-index: 12; margin-bottom: -7px; }
#holdemRoot .hd-feltbet .hd-chipstack {
    position: relative; display: block; width: 26px;
    height: calc(26px + (var(--n, 1) - 1) * 4px);
}
#holdemRoot .hd-feltbet .hd-chipstack .hd-chip {
    position: absolute; left: 0; bottom: calc(var(--ci, 0) * 4px);
    z-index: calc(1 + var(--ci, 0));
}
#holdemRoot .hd-feltbet.hd-splash .hd-chipstack .hd-chip {
    animation: hdChipDrop .35s cubic-bezier(.3, .9, .4, 1.2) backwards;
    animation-delay: calc(var(--ci, 0) * 75ms);
}
@keyframes hdChipDrop {
    0%   { opacity: 0; transform: translateY(-26px) scale(1.15); }
    100% { opacity: 1; transform: none; }
}
@media (max-width: 900px) {
    #holdemRoot .hd-feltbet .hd-chipstack { width: 22px; height: calc(22px + (var(--n, 1) - 1) * 4px); }
}
@media (max-width: 600px) {
    #holdemRoot .hd-feltbet .hd-chipstack { width: 19px; height: calc(19px + (var(--n, 1) - 1) * 3px); }
    #holdemRoot .hd-feltbet .hd-chipstack .hd-chip { bottom: calc(var(--ci, 0) * 3px); }
}

/* J9 — POT PUSH: clona potului ALUNECĂ pe postav (nu prin aer) — umbră joasă de contact
   care „mătură" postavul, păstrează forma capsulei. */
.hd-potpush {
    box-shadow: 0 3px 0 rgba(0, 0, 0, .25), 0 10px 16px -6px rgba(0, 0, 0, .55) !important;
    filter: brightness(1.05);
}

/* C15 — SLOW-ROLL SHINE: la mâini mari (chintă+), cărțile câștigătoare primesc un sweep
   dublu de lumină — clipa de ceremonie dinaintea plății. */
#holdemRoot .hd-win-card.hd-slowroll { overflow: hidden; }
#holdemRoot .hd-win-card.hd-slowroll::after {
    content: ''; position: absolute; top: -20%; bottom: -20%; left: -60%; width: 45%;
    transform: skewX(-14deg); pointer-events: none;
    background: linear-gradient(105deg, transparent, rgba(255, 235, 170, .55) 50%, transparent);
    animation: hdCardShine .8s ease-out .25s 2;
}
@keyframes hdCardShine {
    0% { left: -60%; }
    100% { left: 130%; }
}

/* C7 — SQUEEZE PEEK (touch): ții degetul pe cărțile tale și tragi în jos — se „strâng"
   progresiv pe muchia de jos (rotateX condus de --peek din JS), apoi revin cu arc. */
#holdemRoot .holdem-my-hand { perspective: 600px; touch-action: none; }
#holdemRoot .holdem-my-hand .holdem-card { transition: transform .25s ease; }
#holdemRoot .holdem-my-hand.hd-peeking .holdem-card {
    transform: rotateX(calc(var(--peek, 0) * .8deg)) translateY(calc(var(--peek, 0) * .15px));
    transform-origin: 50% 100%;
    transition: none;
}

/* accesibilitate v16: reduced-motion = stările finale instant */
@media (prefers-reduced-motion: reduce) {
    #holdemRoot .holdem-pk-board.hd-flopsweep,
    #holdemRoot .holdem-pk-board.hd-flopsweep::after,
    #holdemRoot .holdem-pk-board.hd-flip-hang,
    #holdemRoot .hd-feltbet.hd-splash .hd-chipstack .hd-chip,
    #holdemRoot .hd-win-card.hd-slowroll::after { animation: none !important; }
    #holdemRoot .holdem-pk-board.hd-flopsweep::after { opacity: 0; }
    #holdemRoot .holdem-my-hand .holdem-card { transition: none; }
}

/* ═══════════════════ v17 (#1) — SIT&GO TURNEE ═══════════════════ */
/* Panou turneu în sidebar — separator + medalii pentru premii. */
#holdemRoot .hd-sng-sep, body.holdem-poker-mode .hd-sng-sep {
    border-top: 1px solid rgba(255, 215, 106, .22);
    padding-top: 6px; margin-top: 4px;
}
body.holdem-poker-mode .hd-sng-prize span { font-size: 11px; letter-spacing: .3px; opacity: .92; }
body.holdem-poker-mode .hd-sng-prize b { color: var(--holdem-gold, #ffd700); font-weight: 800; }

/* Modal final turneu — encadrat ca scoreboard, podium + clasament + buton close */
.hd-sng-overlay { display: flex !important; align-items: center; justify-content: center; padding: 18px; }
.hd-sng-card {
    width: min(420px, 94vw); max-width: 420px;
    background: linear-gradient(140deg, rgba(38, 25, 64, .98), rgba(20, 12, 38, .98));
    border: 2px solid rgba(255, 215, 106, .55);
    border-radius: 16px; padding: 22px 22px 18px;
    box-shadow: 0 30px 70px rgba(0, 0, 0, .8), inset 0 1px 0 rgba(255, 255, 255, .1);
    color: #fff7e0; animation: hdSngPop .55s cubic-bezier(.3, 1.4, .5, 1) both;
}
@keyframes hdSngPop {
    0%   { opacity: 0; transform: translateY(40px) scale(.85); }
    100% { opacity: 1; transform: none; }
}
.hd-sng-head { display: flex; gap: 14px; align-items: center; margin-bottom: 14px; }
.hd-sng-crown { font-size: 44px; animation: hdSngBounce 1.6s ease-in-out infinite; }
@keyframes hdSngBounce {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-6px); }
}
.hd-sng-title {
    font-family: 'Cinzel', serif; font-size: 18px; font-weight: 800;
    color: var(--holdem-gold, #ffd700); letter-spacing: .8px;
}
.hd-sng-sub { font-size: 12px; opacity: .82; margin-top: 2px; }
.hd-sng-sub b { color: #fff; }
.hd-sng-rows {
    display: flex; flex-direction: column; gap: 6px;
    margin: 12px 0 16px;
    max-height: 60vh; overflow-y: auto;
}
.hd-sng-row {
    display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 10px;
    padding: 9px 12px; border-radius: 10px;
    background: linear-gradient(135deg, rgba(255, 215, 106, .06), rgba(0, 0, 0, .12));
    border: 1px solid rgba(255, 215, 106, .18);
}
.hd-sng-me {
    border-color: rgba(255, 215, 106, .55);
    box-shadow: 0 0 0 1px rgba(255, 215, 106, .25), 0 6px 16px rgba(0, 0, 0, .4);
}
.hd-sng-place { font-size: 22px; text-align: center; }
.hd-sng-name { font-weight: 700; color: #fff; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hd-sng-name em { color: var(--holdem-gold, #ffd700); font-style: normal; font-size: 11px; }
.hd-sng-prize { font-weight: 800; color: var(--holdem-gold, #ffd700); font-variant-numeric: tabular-nums; }
.hd-sng-row:first-child .hd-sng-prize { font-size: 17px; }
.hd-sng-close {
    display: block; width: 100%; padding: 10px;
    background: linear-gradient(135deg, var(--holdem-gold, #ffd700), #c08e10);
    color: #2a1d04; border: none; border-radius: 10px;
    font-family: 'Cinzel', serif; font-size: 13px; font-weight: 800;
    letter-spacing: 1px; text-transform: uppercase; cursor: pointer;
    transition: transform .15s, box-shadow .15s;
}
.hd-sng-close:hover { transform: translateY(-1px); box-shadow: 0 8px 18px rgba(255, 215, 106, .35); }
@media (prefers-reduced-motion: reduce) {
    .hd-sng-card, .hd-sng-crown { animation: none !important; }
}
