:root{--p31-coral: #cc6247;--p31-teal: #5DCAA5;--p31-cyan: #4db8a8;--p31-amber: #cda852;--p31-lavender: #8b7cc9;--p31-phosphorus: #3ba372;--p31-phosphor: #00FF88;--p31-fuchsia: #e879f9;--p31-void: #0f1115;--p31-surface: #161920;--p31-surface2: #1c2028;--p31-cloud: #d8d6d0;--p31-paper: #f4f4f5;--p31-ink: #1e293b;--p31-muted: #6b7280;--p31-border-subtle: rgba(255, 255, 255, .06);--p31-glass-border: rgba(255, 255, 255, .08);--p31-glass-surface: rgba(255, 255, 255, .04);--p31-font-sans: "Atkinson Hyperlegible", sans-serif;--p31-font-mono: "JetBrains Mono", monospace;--p31-text-xs: .75rem;--p31-text-sm: .875rem;--p31-text-base: 1rem;--p31-text-md: 1.0625rem;--p31-text-lg: 1.125rem;--p31-text-xl: 1.25rem;--p31-text-2xl: 1.5rem;--p31-text-3xl: 1.875rem;--p31-text-4xl: 2.25rem;--p31-space-1: .25rem;--p31-space-2: .5rem;--p31-space-3: .75rem;--p31-space-4: 1rem;--p31-space-5: 1.25rem;--p31-space-6: 1.5rem;--p31-space-8: 2rem;--p31-space-10: 2.5rem;--p31-space-12: 3rem;--p31-space-16: 4rem;--p31-radius-sm: 4px;--p31-radius-md: 8px;--p31-radius-lg: 12px;--p31-radius-xl: 16px;--p31-radius-full: 9999px;--p31-shadow-sm: 0 1px 2px rgba(0, 0, 0, .06);--p31-shadow-md: 0 4px 14px rgba(0, 0, 0, .08);--p31-shadow-lg: 0 12px 40px rgba(0, 0, 0, .12);--p31-shadow-glow-teal: 0 0 24px rgba(37, 137, 125, .25);--p31-motion-instant: .1s;--p31-motion-fast: .15s;--p31-motion-normal: .25s;--p31-motion-slow: .4s;--p31-motion-glacial: .8s;--p31-ease-standard: cubic-bezier(.4, 0, .2, 1);--p31-ease-emphasized: cubic-bezier(.2, 0, 0, 1);--p31-ease-decelerate: cubic-bezier(0, 0, .2, 1);--p31-focus-ring: 2px solid rgba(77, 184, 168, .55);--p31-focus-offset: 2px;--p31-z-base: 0;--p31-z-dropdown: 50;--p31-z-sticky: 100;--p31-z-overlay: 200;--p31-z-modal: 300;--p31-z-toast: 400}html,body,#root{height:100%;overflow:hidden}body{font-family:var(--p31-font-sans);background:var(--p31-void);color:var(--p31-cloud);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.arcade-background{position:fixed;inset:0;background:var(--p31-void);z-index:-1;overflow:hidden}.arcade-background:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at top,rgba(93,202,165,.08) 0%,transparent 50%),radial-gradient(ellipse at bottom,rgba(139,124,201,.05) 0%,transparent 50%)}.arcade-background:after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%235DCAA5' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");opacity:.4}.p31-gray-rock .arcade-background:before,.p31-gray-rock .arcade-background:after{opacity:0}.p31-alive .arcade-background:before{animation:arcadeMeshPulse 12s ease-in-out infinite}@keyframes arcadeMeshPulse{0%,to{transform:translate(0) scale(1);opacity:.6}50%{transform:translate(-1%,-1%) scale(1.02);opacity:.8}}@media (prefers-reduced-motion: reduce){.p31-alive .arcade-background:before{animation:none}}.glass-card{background:var(--p31-glass-surface);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--p31-glass-border);border-radius:var(--p31-radius-lg);box-shadow:var(--p31-shadow-lg);transition:all var(--p31-motion-fast) var(--p31-ease-standard)}.glass-card:hover{border-color:#5dcaa533;box-shadow:0 8px 32px #5dcaa51a}.arcade-button{padding:var(--p31-space-2) var(--p31-space-4);background:var(--p31-glass-surface);border:1px solid var(--p31-glass-border);border-radius:var(--p31-radius-md);color:var(--p31-cloud);font-family:var(--p31-font-sans);font-size:var(--p31-text-sm);cursor:pointer;transition:all var(--p31-motion-fast) var(--p31-ease-standard)}.arcade-button:hover{background:#ffffff14;border-color:#5dcaa54d}.arcade-button:focus-visible{outline:var(--p31-focus-ring);outline-offset:var(--p31-focus-offset)}.arcade-button.primary{background:var(--p31-cyan);border-color:var(--p31-cyan);color:var(--p31-void)}.arcade-button.primary:hover{background:#3aa89a;box-shadow:0 4px 12px #4db8a84d}.arcade-button.success{background:var(--p31-phosphorus);border-color:var(--p31-phosphorus);color:var(--p31-cloud)}.arcade-button.danger{background:var(--p31-coral);border-color:var(--p31-coral);color:var(--p31-cloud)}.arcade-header{padding:var(--p31-space-4) var(--p31-space-6);background:var(--p31-glass-surface);backdrop-filter:blur(20px);border-bottom:1px solid var(--p31-glass-border);display:flex;justify-content:space-between;align-items:center}.arcade-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:var(--p31-void);color:var(--p31-cloud)}.arcade-loading-spinner{font-size:var(--p31-text-4xl);margin-bottom:var(--p31-space-4)}.arcade-loading-spinner:before{content:"◐";animation:arcadeSpin 1s linear infinite}@keyframes arcadeSpin{0%{content:"◐"}25%{content:"◓"}50%{content:"◑"}75%{content:"◒"}to{content:"◐"}}@media (prefers-reduced-motion: reduce){.arcade-loading-spinner:before{animation:none;content:"◐"}}::-webkit-scrollbar-track{background:#0000004d;border-radius:var(--p31-radius-sm)}::-webkit-scrollbar-thumb{background:#4db8a84d;border-radius:var(--p31-radius-sm)}::-webkit-scrollbar-thumb:hover{background:#4db8a880}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.slide-in{animation:slideIn var(--p31-motion-normal) var(--p31-ease-standard)}.slide-up{animation:slideUp var(--p31-motion-normal) var(--p31-ease-standard)}@media (prefers-reduced-motion: reduce){.slide-in,.slide-up{animation:none;opacity:1;transform:none}}.gradient-text{background:linear-gradient(135deg,var(--p31-cyan) 0%,var(--p31-lavender) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}:focus-visible{outline:var(--p31-focus-ring);outline-offset:var(--p31-focus-offset)}.spoon-indicator{display:inline-flex;align-items:center;gap:var(--p31-space-1);padding:var(--p31-space-1) var(--p31-space-2);background:var(--p31-glass-surface);border-radius:var(--p31-radius-lg);font-family:var(--p31-font-mono);font-size:var(--p31-text-xs)}.spoon-high{color:var(--p31-teal)}.spoon-medium{color:var(--p31-amber)}.spoon-low{color:var(--p31-coral)}.spoon-empty{color:var(--p31-muted)}.spoon-icon-loading:before{content:"◐"}.spoon-icon-inactive:before{content:"○"}.spoon-icon-active:before{content:"●"}.p31-return-ribbon{position:fixed;bottom:0;left:0;right:0;height:48px;background:var(--p31-glass-surface);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--p31-glass-border);display:flex;align-items:center;justify-content:center;gap:var(--p31-space-1);padding:0 var(--p31-space-4);z-index:var(--p31-z-sticky);font-family:var(--p31-font-sans);font-size:var(--p31-text-sm);transition:transform var(--p31-motion-normal) var(--p31-ease-standard),opacity var(--p31-motion-normal) var(--p31-ease-standard)}.p31-gray-rock .p31-return-ribbon{transform:translateY(100%);opacity:0;pointer-events:none}.p31-alive .p31-return-ribbon{transform:translateY(0);opacity:1;pointer-events:auto}.p31-return-ribbon{transform:translateY(0);opacity:1}.p31-ribbon-nav{display:flex;align-items:center;gap:var(--p31-space-1)}.p31-ribbon-link{display:flex;align-items:center;gap:var(--p31-space-1);padding:var(--p31-space-2) var(--p31-space-3);color:var(--p31-cloud);text-decoration:none;border-radius:var(--p31-radius-md);transition:all var(--p31-motion-fast) var(--p31-ease-standard);white-space:nowrap}.p31-ribbon-link:hover{background:#ffffff14;color:var(--p31-teal)}.p31-ribbon-link:focus-visible{outline:var(--p31-focus-ring);outline-offset:var(--p31-focus-offset)}.p31-ribbon-link.active{background:#5dcaa526;color:var(--p31-teal)}.p31-ribbon-separator{color:var(--p31-muted);opacity:.4;font-size:var(--p31-text-xs);padding:0 var(--p31-space-1);user-select:none}.p31-ribbon-home{display:flex;align-items:center;gap:var(--p31-space-2);font-weight:600;color:var(--p31-teal);margin-right:var(--p31-space-2)}.p31-ribbon-link:focus-visible{outline:var(--p31-focus-ring);outline-offset:2px}@media (prefers-contrast: high){.p31-return-ribbon{background:var(--p31-ink);border-top:2px solid var(--p31-cloud)}.p31-ribbon-link:hover,.p31-ribbon-link.active{background:var(--p31-cloud);color:var(--p31-ink)}}@media (prefers-reduced-motion: reduce){.p31-return-ribbon{transition:none}}@media (max-width: 640px){.p31-return-ribbon{height:44px;padding:0 var(--p31-space-2);gap:0}.p31-ribbon-link{padding:var(--p31-space-1) var(--p31-space-2);font-size:var(--p31-text-xs)}.p31-ribbon-link span:not(:first-child){display:none}.p31-ribbon-home span{display:none}}:root{--cards-felt: var(--p31-surface);--cards-felt-pattern: rgba(255, 255, 255, .02);--card-width: 80px;--card-height: 112px}.card-table{background-color:var(--cards-felt);background-image:radial-gradient(circle at 20% 30%,rgba(93,202,165,.03) 0%,transparent 40%),radial-gradient(circle at 80% 70%,rgba(139,124,201,.03) 0%,transparent 40%);position:relative}.playing-card{width:var(--card-width);height:var(--card-height);background:var(--p31-paper);border-radius:var(--p31-radius-md);box-shadow:0 2px 4px #0000004d,0 1px 2px #0003;display:flex;flex-direction:column;justify-content:space-between;padding:var(--p31-space-1);font-family:var(--p31-font-sans);cursor:pointer;transition:transform var(--p31-motion-fast) var(--p31-ease-standard),box-shadow var(--p31-motion-fast) var(--p31-ease-standard);user-select:none}.playing-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000004d,0 4px 8px #0003}.playing-card.selected{transform:translateY(-12px);box-shadow:0 0 0 2px var(--p31-cyan)}.playing-card.disabled{opacity:.5;cursor:not-allowed}.card-corner{display:flex;flex-direction:column;align-items:center;line-height:1}.card-rank{font-size:var(--p31-text-sm);font-weight:700}.card-suit{font-size:var(--p31-text-xs)}.card-red .card-rank,.card-red .card-suit{color:var(--p31-coral)}.card-black .card-rank,.card-black .card-suit{color:var(--p31-ink)}.card-back{background:repeating-linear-gradient(45deg,var(--p31-cyan),var(--p31-cyan) 4px,var(--p31-teal) 4px,var(--p31-teal) 8px);border:2px solid var(--p31-paper)}.card-center{display:flex;align-items:center;justify-content:center;font-size:var(--p31-text-2xl);flex:1}.card-hand{display:flex;gap:calc(var(--p31-space-1) * -1);padding:var(--p31-space-4)}.card-hand .playing-card:hover{z-index:10}.card-stack{position:relative;width:var(--card-width);height:var(--card-height)}.card-stack .playing-card{position:absolute;top:0;left:0}.card-stack .playing-card:nth-child(2){transform:translate(2px,2px)}.card-stack .playing-card:nth-child(3){transform:translate(4px,4px)}.card-stack .playing-card:nth-child(4){transform:translate(6px,6px)}.game-status{display:flex;justify-content:space-between;align-items:center;background:var(--p31-glass-surface);border-top:1px solid var(--p31-glass-border);padding:var(--p31-space-2) var(--p31-space-4);font-family:var(--p31-font-mono);font-size:var(--p31-text-xs)}.status-item{display:flex;align-items:center;gap:var(--p31-space-2)}.status-label{color:var(--p31-muted);text-transform:uppercase}.status-value{color:var(--p31-cloud);font-weight:600}.chip-stack{display:flex;flex-direction:column-reverse;align-items:center;position:relative}.poker-chip{width:40px;height:40px;border-radius:var(--p31-radius-full);border:4px dashed var(--p31-paper);box-shadow:0 2px 4px #0000004d;position:relative}.poker-chip.white{background:#f5f5f5;border-color:var(--p31-ink)}.poker-chip.red{background:var(--p31-coral)}.poker-chip.blue{background:var(--p31-cyan)}.poker-chip.green{background:var(--p31-phosphorus)}.poker-chip.black{background:#1a1a1a;border-color:var(--p31-paper)}.card-action{min-width:80px;min-height:44px;padding:var(--p31-space-2) var(--p31-space-4);font-size:var(--p31-text-sm);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.card-action.check{background:var(--p31-surface);border-color:var(--p31-glass-border)}.card-action.call{background:var(--p31-cyan);border-color:var(--p31-cyan);color:var(--p31-void)}.card-action.raise{background:var(--p31-lavender);border-color:var(--p31-lavender);color:var(--p31-cloud)}.card-action.fold{background:var(--p31-coral);border-color:var(--p31-coral);color:var(--p31-cloud)}.dealer-button{width:28px;height:28px;border-radius:var(--p31-radius-full);background:var(--p31-amber);color:var(--p31-void);font-family:var(--p31-font-sans);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000004d}.pot-display{background:var(--p31-surface);border:2px solid var(--p31-glass-border);border-radius:var(--p31-radius-xl);padding:var(--p31-space-2) var(--p31-space-6);text-align:center}.pot-label{font-family:var(--p31-font-mono);font-size:10px;color:var(--p31-muted);text-transform:uppercase}.pot-amount{font-size:var(--p31-text-xl);font-weight:700;color:var(--p31-phosphor)}.player-seat{display:flex;flex-direction:column;align-items:center;gap:var(--p31-space-2);padding:var(--p31-space-3);border-radius:var(--p31-radius-lg);transition:background var(--p31-motion-fast) var(--p31-ease-standard)}.player-seat.active{background:#5dcaa51a;box-shadow:0 0 0 2px var(--p31-teal)}.player-seat.folded{opacity:.5}.player-avatar{width:48px;height:48px;border-radius:var(--p31-radius-full);background:var(--p31-surface2);display:flex;align-items:center;justify-content:center;font-family:var(--p31-font-mono);font-size:var(--p31-text-lg);color:var(--p31-cloud)}.player-name{font-family:var(--p31-font-sans);font-size:var(--p31-text-xs);color:var(--p31-cloud);max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-stack{font-family:var(--p31-font-mono);font-size:var(--p31-text-xs);color:var(--p31-teal)}@media (max-width: 640px){:root{--card-width: 60px;--card-height: 84px}.card-hand{gap:calc(var(--p31-space-1) * -2);padding:var(--p31-space-2)}.card-action{min-width:64px;min-height:40px;padding:var(--p31-space-1) var(--p31-space-2);font-size:var(--p31-text-xs)}}@media (prefers-contrast: high){.playing-card{border:2px solid var(--p31-ink)}.playing-card.selected{box-shadow:0 0 0 4px var(--p31-cyan)}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}#root{width:100vw;height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0000001a}::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff4d}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}.card-hover{transition:transform .2s ease,box-shadow .2s ease}.card-hover:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000004d}button{transition:all .2s ease}button:active{transform:scale(.98)}button:focus{outline:2px solid #3b82f6;outline-offset:2px}:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast: high){.card-front{border:2px solid currentColor}}
