#gee-poker { max-width: 1040px; margin: 0 auto; font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; color:#fff; }
#gee-poker .gee-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
#gee-poker .gee-title h3 { margin:0; }
#gee-poker .gee-meta span { margin-right:10px; font-size:14px; opacity:.9; }

/* Felt oval layout */
.gee-oval { position: relative; background: radial-gradient(ellipse at center, #0b5137 0%, #063725 60%, #052a1d 100%); border-radius: 40px; padding: 18px; box-shadow: inset 0 0 0 6px rgba(0,0,0,.25), inset 0 0 60px rgba(0,0,0,.45); min-height: 520px; }
.gee-felt-oval { position: absolute; inset: 14px; border-radius: 36px; pointer-events:none; box-shadow: inset 0 0 0 3px rgba(255,255,255,0.08); }

/* Seats around the oval */
.gee-seat { position:absolute; width: 230px; height: 130px; background: rgba(0,0,0,0.22); border: 1px solid rgba(255,255,255,0.18); border-radius: 14px; padding:10px; overflow:hidden; transition: transform .2s ease, box-shadow .2s ease; }
.gee-seat-top { display:flex; align-items:center; gap:10px; }
.gee-seat-icon { width:48px; height:48px; border-radius:50%; background:#1f2937; background-size:cover; background-position:center; border:2px solid rgba(255,255,255,0.35); }
.gee-seat-name { font-weight:700; text-shadow:0 1px 0 rgba(0,0,0,.4); }
.gee-seat-badge { margin-left:auto; }
.gee-seat-stack { font-size:13px; opacity:.95; margin-top:4px; }
.gee-seat-cards { position:absolute; right:8px; bottom:8px; display:flex; gap:6px; }
.gee-seat-action { position:absolute; left:8px; bottom:8px; font-size:12px; background:rgba(0,0,0,.35); padding:3px 6px; border-radius:6px; opacity:.95; }
.gee-seat-street { position:absolute; left:8px; bottom:30px; font-size:12px; opacity:.9; }

/* Seat positions (4-max) */
.seat-pos-1 { left: 22px; top: 24px; }
.seat-pos-2 { right: 22px; top: 24px; }
.seat-pos-3 { left: 22px; bottom: 24px; }
.seat-pos-4 { right: 22px; bottom: 24px; }

/* Board & pot center */
.gee-center { position:absolute; left:50%; top:50%; transform: translate(-50%,-50%); text-align:center; width: 520px; }
.gee-pot-pill { background: rgba(0,0,0,.35); padding:6px 12px; border-radius:999px; font-weight:700; margin-bottom:6px; box-shadow: inset 0 0 0 1px rgba(255,255,255,0.15); }
.gee-stage { margin-bottom:4px; font-weight:700; opacity:.9; }
.gee-stats { margin: 6px auto 10px; font-size: 14px; opacity: .9; }
.gee-cards { display:flex; gap:8px; justify-content:center; }
.card { width:46px; height:64px; background:#fff; color:#111; border-radius:8px; border:1px solid #e5e7eb; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:18px; box-shadow: 0 4px 10px rgba(0,0,0,.25); }
.card.red { color:#c1121f; }

/* Dealer button */
.dealer-btn { position:absolute; top:6px; right:6px; width:22px; height:22px; background:#fff; color:#111; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; border:1px solid #ddd; box-shadow:0 1px 2px rgba(0,0,0,.3); }

/* Chip leader */
.gleader { box-shadow: 0 0 0 2px #fbbf24 inset, 0 0 12px rgba(251,191,36,.6); }
.gee-seat .crown { font-size:16px; }

/* Turn indicator */
.turn { box-shadow: 0 0 0 2px #22c55e inset, 0 0 18px rgba(34,197,94,.8); animation: pulse 1s ease-in-out infinite; transform: scale(1.02); }
@keyframes pulse { 0%{ box-shadow:0 0 0 2px #22c55e inset, 0 0 6px rgba(34,197,94,.6);} 50%{ box-shadow:0 0 0 2px #22c55e inset, 0 0 18px rgba(34,197,94,1);} 100%{ box-shadow:0 0 0 2px #22c55e inset, 0 0 6px rgba(34,197,94,.6);} }

/* Toast + win banner */
.gee-turn-banner, .gee-win-banner { position: fixed; left: 50%; transform: translateX(-50%); z-index: 10000; background: rgba(0,0,0,.75); padding: 10px 16px; border-radius: 999px; font-weight:800; letter-spacing:.5px; box-shadow: 0 6px 18px rgba(0,0,0,.35); display:none; }
#gee-turn-toast { top: 18px; border: 1px solid rgba(34,197,94,.6); color:#bbf7d0; }
#gee-win-banner { bottom: 18px; border:1px solid rgba(251,191,36,.7); color:#ffd166; }
.gee-win-banner.show, .gee-turn-banner.show { display:block; }

/* Controls */
#gee-poker .gee-controls { display:flex; flex-direction:column; gap:10px; margin:12px 0; }
#gee-poker .gee-actions { display:flex; flex-wrap:wrap; gap:6px; }
#gee-poker .gee-joins { display:flex; flex-wrap:wrap; gap:6px; }
#gee-poker .gee-btn { background:#0ea5e9; color:#fff; border:none; padding:8px 12px; border-radius:8px; cursor:pointer; }
#gee-poker .gee-btn:disabled { opacity:.5; cursor:not-allowed; }
#gee-poker .gee-btn:hover { opacity:.95; }
#gee-poker .gee-btn-secondary { background:#ef4444; }
#gee-poker .gee-btn-light { background:#64748b; }
#gee-poker .gee-btn-accent { background:#22c55e; }

/* Icon picker */
.gee-icon-picker { margin-top:8px; background:rgba(0,0,0,.2); padding:8px; border-radius:10px; }
.gee-icon-row { display:flex; gap:8px; }
.gee-icon-choice { width:34px; height:34px; border-radius:50%; border:2px solid rgba(255,255,255,.2); cursor:pointer; }
.gee-icon-choice:hover { transform: scale(1.05); }

/* Action log */
.gee-log { background: rgba(0,0,0,.28); padding: 10px; border-radius: 10px; max-height: 160px; overflow:auto; font-size: 13px; line-height: 1.4; border: 1px solid rgba(255,255,255,.12); }

/* Simple coin animation */
.gee-coin { position:absolute; width:14px; height:14px; border-radius:50%; background: radial-gradient(circle at 30% 30%, #ffd166, #ca8a04); pointer-events:none; opacity:.9; transform: scale(0.8); box-shadow: 0 0 6px rgba(0,0,0,.4); animation: coinPop .6s ease forwards; }
@keyframes coinPop { 0% { transform: translate(0,0) scale(.6); opacity: .0; } 50% { opacity: 1; } 100% { transform: translate(0,-16px) scale(1); opacity:.0; } }