*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0a0a0a;--bg-secondary: #141414;--bg-tertiary: #1a1a1a;--text-primary: #fafafa;--text-secondary: #a1a1a1;--text-muted: #525252;--accent: #22c55e;--accent-dim: rgba(34, 197, 94, .1);--red: #ef4444;--red-dim: rgba(239, 68, 68, .1);--border: #262626;--card-width: 60px;--card-height: 84px}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh}.app{max-width:1200px;margin:0 auto;padding:2rem}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.header h1{font-size:1.5rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.header h1 span{color:var(--accent)}.connection-status{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted)}.status-dot.connected{background:var(--accent);box-shadow:0 0 8px var(--accent)}.table-container{background:radial-gradient(ellipse 120% 80% at 50% 40%,#1e6b3a,#165c30,#0f4a26 60%,#0a3a1c);border-radius:1.5rem;padding:2rem;margin-bottom:2rem;position:relative;border:12px solid transparent;background-clip:padding-box;box-shadow:inset 0 0 60px #0006,inset 0 2px 20px #ffffff0d,0 8px 32px #0009}.table-container:before{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px;border-radius:1.5rem;background:linear-gradient(180deg,#5a3d28,#4a3020 15%,#3d2518,#2e1c12 85%,#241610);z-index:-1;box-shadow:inset 0 2px 4px #ffffff1a,inset 0 -2px 4px #0000004d,0 4px 16px #0006}.table-container:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:.75rem;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='felt'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23felt)'/%3E%3C/svg%3E");opacity:.08;pointer-events:none;mix-blend-mode:overlay}.table-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;position:relative;z-index:1}.table-name{font-size:1.125rem;font-weight:500;color:#e8f5e9;text-shadow:0 2px 4px rgba(0,0,0,.6)}.pot-display{font-family:JetBrains Mono,monospace;text-shadow:0 2px 8px rgba(0,0,0,.6);font-size:1.75rem;font-weight:700;color:gold;background:linear-gradient(180deg,gold,#ffb300);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.board{display:flex;justify-content:center;gap:.75rem;margin:2rem 0;min-height:var(--card-height);position:relative;z-index:1}.card{width:var(--card-width);height:var(--card-height);background:#fff;border-radius:.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:JetBrains Mono,monospace;font-size:1.25rem;font-weight:600;box-shadow:0 4px 12px #0000004d}.card.red{color:var(--red)}.card.black{color:#1a1a1a}.card.mini{width:32px;height:44px;font-size:.75rem}.card.face-down{background:linear-gradient(135deg,#1e3a5f,#2563eb);color:transparent;position:relative;overflow:hidden;border:2px solid #1e3a5f}.card.face-down.mini{border-width:1px}.card-back{position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:.25rem;background:linear-gradient(145deg,#4a5568,#2d3748);display:flex;align-items:center;justify-content:center}.card.mini .card-back{top:1px;right:1px;bottom:1px;left:1px}.card-back-pattern{width:70%;height:70%;border:1px solid rgba(255,255,255,.15);border-radius:.125rem;background:repeating-linear-gradient(45deg,transparent,transparent 2px,rgba(255,255,255,.05) 2px,rgba(255,255,255,.05) 4px)}.card-placeholder{width:var(--card-width);height:var(--card-height);border:2px dashed var(--border);border-radius:.5rem;opacity:.3}.players-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:2rem}.player-card{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:.75rem;padding:1rem;position:relative}.player-card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.player-card.folded{opacity:.5}.player-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.player-name{font-size:.875rem;font-weight:600;color:var(--text-primary)}.player-position-badge{font-size:.625rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;background:var(--bg-primary);padding:.125rem .375rem;border-radius:.25rem}.player-position{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.player-status{font-size:.75rem;padding:.125rem .5rem;border-radius:1rem;background:var(--bg-primary);color:var(--text-secondary)}.player-status.all-in{background:var(--red-dim);color:var(--red)}.player-stack{font-family:JetBrains Mono,monospace;font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.player-bet{font-size:.875rem;color:var(--text-secondary)}.player-bet span{font-family:JetBrains Mono,monospace;color:var(--accent)}.player-cards{display:flex;gap:.375rem;margin-top:.75rem}.player-cards .card{width:32px;height:44px;font-size:.7rem;box-shadow:0 2px 4px #0000004d}.action-log{background:var(--bg-secondary);border-radius:1rem;padding:1.5rem}.action-log h2{font-size:1rem;font-weight:500;margin-bottom:1rem;color:var(--text-secondary)}.log-entries{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto}.log-entry{font-size:.875rem;color:var(--text-secondary);padding:.5rem;background:var(--bg-tertiary);border-radius:.5rem;font-family:JetBrains Mono,monospace}.log-entry .action{color:var(--text-primary);font-weight:500}.log-entry .amount{color:var(--accent)}.join-form{max-width:400px;margin:4rem auto;text-align:center}.join-form h2{font-size:1.5rem;margin-bottom:1rem}.join-form p{color:var(--text-secondary);margin-bottom:2rem}.join-form input{width:100%;padding:1rem;font-size:1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:.5rem;color:var(--text-primary);font-family:JetBrains Mono,monospace;margin-bottom:1rem}.join-form input:focus{outline:none;border-color:var(--accent)}.join-form button{width:100%;padding:1rem;font-size:1rem;font-weight:500;background:var(--accent);color:var(--bg-primary);border:none;border-radius:.5rem;cursor:pointer;transition:opacity .2s}.join-form button:hover{opacity:.9}.winner-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:100}.winner-card{background:var(--bg-secondary);border:2px solid var(--accent);border-radius:1rem;padding:2rem 3rem;text-align:center;animation:pop-in .3s ease-out}@keyframes pop-in{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.winner-card h2{font-size:1.5rem;margin-bottom:.5rem;color:var(--accent)}.winners-list{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap;margin-top:1rem}.winner-card .winner-details{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:#0003;border-radius:.5rem;min-width:150px}.winner-card .winner-name{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.winner-card .winner-cards{display:flex;gap:.5rem;justify-content:center}.winner-card .winner-cards .card{transform:scale(1.2);box-shadow:0 4px 12px #0006}.winner-card .winner-board{display:flex;gap:.5rem;justify-content:center;padding:.75rem 1rem;background:#00640066;border-radius:.5rem;margin-bottom:.5rem}.winner-card .winner-board .card{transform:scale(.9)}.winner-card .amount{font-family:JetBrains Mono,monospace;font-size:2rem;font-weight:700;margin-bottom:.5rem}.winner-card .hand{color:var(--text-secondary)}@media(max-width:768px){.app{padding:1rem}.players-grid{grid-template-columns:1fr 1fr}.board{gap:.5rem}.card{width:50px;height:70px;font-size:1rem}}
