      :root {
        --card-w: 78px; --card-h: 112px;
        --gold: #ffe600; --red: #e51e47; --blue: #3b82f6; --green: #22c55e; --purple: #a855f7;
        --sand: #f5e8c7; --ocean: #0ea5e9; --sunset: #fb923c; --palm: #166534;
      }
      body { background: linear-gradient(to bottom, #0ea5e9 0%, #bae6fd 40%, #fefce8 70%, #f5e8c7 100%); }
      .plo-main { padding: 32px 48px 60px; max-width: 1280px; margin: 0 auto; }
      .table-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 24px; }
      .table-title { color: #166534; font-size: clamp(32px, 6vw, 64px); font-weight: 900; letter-spacing: -0.055em; line-height: 0.9; text-transform: lowercase; text-shadow: 0 2px 4px rgba(0,0,0,0.2); }
      .header-stack { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
      .info-box, .balance-box { background: rgba(255,255,255,0.92); border: 2px solid #166534; color: #166534; padding: 10px 16px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; font-size: 13px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); border-radius: 6px; }
      .balance-box { display: flex; gap: 16px; align-items: center; }
      .balance-label { font-size: 11px; opacity: 0.7; }
      .balance-amount { font-size: 22px; font-weight: 900; }
      .plo-table { background: linear-gradient(145deg, #fefce8, #f5e8c7); border: 12px solid #166534; border-radius: 32px; padding: 32px; box-shadow: 0 20px 60px rgba(0,0,0,0.3), inset 0 0 80px rgba(255,255,255,0.6); position: relative; min-height: 620px; overflow: hidden; }
      .table-felt { position: absolute; inset: 16px; background: radial-gradient(circle at 30% 20%, rgba(16,185,129,0.15), transparent 50%), radial-gradient(circle at 70% 80%, rgba(234,179,8,0.12), transparent 60%), #d1fae5; border-radius: 20px; z-index: 0; }
      .plo-table::before { content: "🏖️"; position: absolute; top: 20px; left: 40px; font-size: 48px; opacity: 0.15; z-index: 0; }
      .plo-table::after { content: "🌴"; position: absolute; bottom: 30px; right: 50px; font-size: 64px; opacity: 0.12; z-index: 0; }
      .players { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 40px; }
      .player { display: flex; align-items: center; gap: 24px; }
      .player.villain { justify-content: flex-end; }
      .player-info { min-width: 180px; }
      .player-name { font-size: 18px; font-weight: 700; color: #166534; margin-bottom: 4px; }
      .player-stack { font-size: 15px; color: #166534; }
      .player-stack .amount { color: #166534; font-weight: 800; }
      .cards { display: flex; gap: 12px; }
      .card { width: var(--card-w); height: var(--card-h); background: transparent; border: none; padding: 0; box-shadow: none; transition: transform 0.3s cubic-bezier(0.23,1,0.32,1), box-shadow 0.3s ease; animation: dealCard 0.4s ease-out backwards; }
      .card:hover { transform: translateY(-8px) rotate(1deg); }
      .card svg { width: 100%; height: 100%; display: block; }
      .four-color-hearts { color: #e51e47; } .four-color-diamonds { color: #3b82f6; } .four-color-clubs { color: #22c55e; } .four-color-spades { color: #a855f7; }
      @keyframes dealCard { from { opacity: 0; transform: translateY(-60px) rotate(-12deg) scale(0.6); } to { opacity: 1; transform: translateY(0) rotate(0) scale(1); } }
      .community { display: flex; justify-content: center; gap: 16px; margin: 40px 0; position: relative; z-index: 1; }
      .community-label { position: absolute; top: -28px; left: 50%; transform: translateX(-50%); background: rgba(255,255,255,0.95); padding: 4px 18px; border-radius: 999px; font-size: 12px; letter-spacing: 1px; border: 1px solid #166534; color: #166534; box-shadow: 0 2px 6px rgba(0,0,0,0.1); }
      .pot-display { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background: rgba(255,255,255,0.95); border: 4px solid #166534; border-radius: 999px; padding: 12px 36px; text-align: center; z-index: 2; box-shadow: 0 8px 24px rgba(0,0,0,0.2); transition: transform 0.2s ease; }
      .pot-display:hover { transform: translate(-50%, -50%) scale(1.05); }
      .pot-label { font-size: 11px; opacity: 0.7; letter-spacing: 2px; color: #166534; }
      .pot-amount { font-size: 28px; font-weight: 900; color: #166534; transition: all 0.3s ease; }
      .actions { display: flex; gap: 12px; justify-content: center; margin-top: 24px; flex-wrap: wrap; }
      .action-btn { background: #166534; color: #fefce8; border: 3px solid #052e16; padding: 14px 28px; font-size: 15px; font-weight: 700; letter-spacing: 0.5px; cursor: pointer; transition: all 0.2s cubic-bezier(0.23,1,0.32,1); text-transform: uppercase; border-radius: 6px; box-shadow: 0 4px 12px rgba(22,101,52,0.3); }
      .action-btn:hover { background: #052e16; transform: translateY(-2px) scale(1.02); box-shadow: 0 8px 20px rgba(22,101,52,0.4); }
      .action-btn:active { transform: scale(0.96); }
      .action-btn:disabled { opacity: 0.4; cursor: not-allowed; transform: none; }
      .raise-input { background: rgba(255,255,255,0.95); border: 3px solid #166534; color: #166534; padding: 14px 18px; font-size: 18px; font-weight: 800; width: 120px; text-align: center; border-radius: 6px; }
      .game-log { margin-top: 24px; background: rgba(255,255,255,0.92); border: 2px solid #166534; padding: 16px; height: 140px; overflow-y: auto; font-size: 13px; line-height: 1.5; border-radius: 8px; box-shadow: inset 0 2px 8px rgba(0,0,0,0.05); }
      .log-entry { margin-bottom: 4px; color: #166534; }
      .log-entry .highlight { color: #fb923c; font-weight: 700; }
      .status-bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 16px; font-size: 14px; flex-wrap: wrap; }
      .blinds { background: rgba(255,255,255,0.9); padding: 6px 14px; border-radius: 999px; border: 2px solid #166534; color: #166534; }
      .turn-message { background: rgba(255,255,255,0.92); border: 2px solid #166534; border-radius: 999px; color: #166534; font-weight: 800; padding: 6px 16px; text-align: center; }
      .four-color-note { font-size: 12px; opacity: 0.7; text-align: center; margin-top: 8px; color: #166534; }
      .winner-glow { animation: winnerPulse 1.2s ease-in-out 3; }
      @keyframes winnerPulse { 0%,100%: { box-shadow: 0 0 0 0 rgba(251,146,60,0.4); } 50% { box-shadow: 0 0 0 20px rgba(251,146,60,0); } }
      .sound-toggle { position: fixed; bottom: 20px; right: 20px; background: #166534; color: white; border: none; padding: 10px 16px; border-radius: 999px; font-size: 13px; cursor: pointer; z-index: 100; box-shadow: 0 4px 12px rgba(0,0,0,0.2); }
      .api-panel, .lobby-panel { background: rgba(255,255,255,0.95); border: 2px solid #166534; padding: 16px 20px; margin-bottom: 20px; border-radius: 12px; }
      .api-panel { display: grid; grid-template-columns: 1.8fr 1fr auto; gap: 16px; align-items: end; }
      .lobby-panel { display: grid; grid-template-columns: 1fr auto auto; gap: 14px; align-items: end; }
      .api-panel label, .lobby-panel label { display: flex; flex-direction: column; gap: 6px; color: #166534; font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
      .api-panel input, .lobby-panel input { border: 2px solid #166534; background: #fff; color: #166534; padding: 12px 14px; font-size: 15px; border-radius: 6px; }
      .status-chip { border: 2px solid #166534; color: #166534; padding: 10px 16px; font-size: 12px; font-weight: 800; text-transform: uppercase; border-radius: 6px; }
      .status-chip.ok { border-color: #22c55e; background: rgba(34,197,94,0.1); }
      .status-chip.bad { border-color: #e51e47; background: rgba(229,30,71,0.1); }
      .mini-btn { background: #166534; color: #fefce8; border: 2px solid #052e16; padding: 12px 20px; font-weight: 700; border-radius: 6px; cursor: pointer; }
      .mini-btn.secondary { background: transparent; border-color: #166534; color: #166534; }
      .banner-note { color: #166534; border: 2px solid #166534; padding: 14px 18px; background: rgba(255,255,255,0.9); margin-bottom: 16px; border-radius: 8px; }
      .casino-bg {
        position: fixed;
        inset: 0;
        z-index: -1;
        background: #0a0a0a;
        overflow: hidden;
      }
      .casino-bg::before {
        content: '';
        position: absolute;
        inset: 0;
        background: 
          radial-gradient(circle at 20% 30%, rgba(255,230,0,0.03) 0%, transparent 50%),
          radial-gradient(circle at 80% 70%, rgba(229,30,71,0.04) 0%, transparent 60%);
      }
      .distant-table {
        position: absolute;
        width: 180px;
        height: 110px;
        background: #111;
        border: 8px solid #222;
        border-radius: 60px;
        opacity: 0.18;
        filter: blur(2px);
        box-shadow: 0 10px 30px rgba(0,0,0,0.6);
      }
      .distant-slot {
        position: absolute;
        width: 92px;
        height: 140px;
        background: #0a0a0a;
        border: 4px solid #222;
        border-radius: 8px;
        opacity: 0.15;
        filter: blur(3px);
        box-shadow: 0 8px 20px rgba(0,0,0,0.5);
      }
      .distant-reel {
        position: absolute;
        width: 22px;
        height: 90px;
        background: #1a1a1a;
        top: 22px;
        border: 1px solid #333;
      }
      .restart-btn { background: #fb923c; color: #111; border: 3px solid #c2410c; padding: 10px 20px; font-weight: 700; border-radius: 6px; margin-left: 12px; }
