:root{--bg: #0f1419;--panel: #1a222c;--text: #e8edf2;--muted: #8b98a5;--felt: #0b6b3a;--felt-dark: #084d2a;--accent: #f5c542;--danger: #d9453d;--warn: #e07b1f;--wood-dark: #231307;--wood: #4a2b14;--wood-light: #6e4423;--wood-plank-a: #5c3a1f;--wood-plank-b: #4a2d16;--brass: #c9992f;--brass-light: #f2d98a;--pub-wall: #3b2819;--pub-wall-dark: #241709}*{box-sizing:border-box}html{overflow-x:hidden}body{margin:0;min-height:100vh;overflow-x:hidden;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.pub-scene{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none;background-image:url(https://images.unsplash.com/photo-1514933651103-005eec06c04b?w=1920&q=70&auto=format&fit=crop);background-size:cover;background-position:center 35%}.pub-scene:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center 45%,#08060459,#080604d1),linear-gradient(180deg,#0806048c,#08060459 30%,#0806049e 58%,#0e0905f0)}.topbar{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;background:repeating-linear-gradient(90deg,var(--wood-light) 0 2px,transparent 2px 60px),linear-gradient(180deg,var(--wood) 0%,var(--wood-dark) 100%);border-bottom:3px solid var(--brass);box-shadow:0 6px 16px #00000073}.brand{color:var(--brass-light);font-weight:800;font-size:1.4rem;text-decoration:none;letter-spacing:.02em;text-shadow:0 1px 0 #000,0 0 14px rgba(242,217,138,.45)}.namefield{display:flex;align-items:center;gap:.5rem;color:#d8c6ab;font-size:.9rem}.name-input-wrap{display:flex;align-items:center;gap:.4rem}.name-enter-btn{padding:.45rem .8rem;font-size:.85rem}.topbar-right{display:flex;align-items:center;gap:1rem}.avatar-picker{position:relative}.avatar-btn{display:flex;align-items:center;gap:.5rem;background:#0f1419;color:var(--text);border:1px solid var(--brass);border-radius:99px;padding:.3rem .9rem .3rem .3rem;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}.avatar-btn:hover{filter:brightness(1.15)}.avatar-btn-img{width:1.8rem;height:1.8rem;border-radius:50%;background:#1a222c;object-fit:cover}.avatar-btn-placeholder{width:1.8rem;height:1.8rem;border-radius:50%;background:#1a222c;display:grid;place-items:center;font-size:1rem}.avatar-panel{position:absolute;top:calc(100% + .6rem);right:0;z-index:50;width:20rem;max-height:24rem;flex-direction:column;background:linear-gradient(165deg,#1d2530,#11161c);border:1px solid var(--brass);border-radius:10px;box-shadow:0 16px 32px #0009;overflow:hidden}.avatar-panel:not([hidden]){display:flex}.avatar-panel[hidden]{display:none}.avatar-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.6rem .8rem;border-bottom:1px solid rgba(201,153,47,.3);font-weight:700;font-size:.85rem;color:var(--brass-light);flex-shrink:0}.avatar-close{background:#ffffff14;border:1px solid rgba(255,255,255,.25);color:var(--text);border-radius:50%;width:1.7rem;height:1.7rem;display:grid;place-items:center;cursor:pointer;font-size:.85rem;line-height:1;flex-shrink:0}.avatar-close:hover{background:var(--danger);border-color:var(--danger)}.avatar-grid{overflow-y:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;padding:.75rem}.avatar-option{display:flex;flex-direction:column;align-items:center;gap:.3rem;background:transparent;border:1px solid transparent;border-radius:8px;padding:.4rem .2rem;cursor:pointer;color:var(--text);font-size:.72rem}.avatar-option:hover{background:#c9992f2e;border-color:var(--brass)}.avatar-option img{width:2.8rem;height:2.8rem;border-radius:50%;background:#0f1419;object-fit:cover}.avatar-scroll{overflow-y:auto}.avatar-scroll .avatar-grid{overflow:visible;padding-top:.3rem}.avatar-upload-row{padding:.75rem .75rem 0}.avatar-upload{width:100%}.avatar-section-title{padding:.6rem .75rem 0;color:var(--brass-light);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.avatar-option.photo{padding:.25rem}.avatar-option.photo img{width:3.4rem;height:3.4rem}.avatar-option span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.felt-picker{position:relative}.felt-btn{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:#0f1419;border:1px solid var(--brass);border-radius:50%;cursor:pointer;padding:0}.felt-btn:hover{filter:brightness(1.15)}.felt-btn-swatch{width:1.5rem;height:1.5rem;border-radius:50%;border:1px solid rgba(255,255,255,.4)}.felt-swatch-panel{width:14rem;max-height:22rem}.felt-swatch-grid{overflow-y:auto;display:flex;flex-direction:column;gap:.3rem;padding:.6rem}.felt-swatch-option{display:flex;align-items:center;gap:.6rem;background:transparent;border:1px solid transparent;border-radius:8px;padding:.45rem .6rem;cursor:pointer;color:var(--text);font-size:.85rem;font:inherit}.felt-swatch-option:hover{background:#c9992f2e;border-color:var(--brass)}.felt-swatch{width:1.6rem;height:1.6rem;border-radius:50%;border:1px solid rgba(255,255,255,.4);flex-shrink:0}input,select{background:#0f1419;color:var(--text);border:1px solid #2f3c4b;border-radius:6px;padding:.45rem .6rem;font:inherit}main{position:relative;z-index:1;padding:1rem;max-width:1760px;margin:0 auto}.panel{background:linear-gradient(165deg,#1a222cdb,#12181fdb);border:1px solid rgba(201,153,47,.25);border-radius:10px;padding:1rem;box-shadow:0 10px 24px #00000059;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.muted{color:var(--muted)}.btn{display:inline-block;background:#2b3846;color:var(--text);border:0;border-radius:8px;padding:.6rem 1.1rem;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}.btn:hover{filter:brightness(1.15)}.btn.small{padding:.3rem .7rem;font-size:.85rem}.btn.primary{background:var(--accent);color:#1b1b1b}.btn.danger{background:var(--danger)}.btn.warn{background:var(--warn)}.lobby{display:grid;grid-template-columns:2fr 1fr;gap:1rem;align-items:start}.lobby-main{display:flex;flex-direction:column;gap:1rem}.table-list{display:flex;flex-direction:column;gap:.5rem}.table-row{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 1rem;background:#222d39;border-radius:8px;color:var(--text);text-decoration:none}.table-row:hover{background:#2b3846}.create-form{display:flex;flex-direction:column;gap:.7rem}.create-form label{display:flex;flex-direction:column;gap:.25rem;color:var(--muted);font-size:.85rem}@media(max-width:800px){.lobby{grid-template-columns:1fr}}.room-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.9rem}.room-card{display:flex;flex-direction:column;align-items:stretch;gap:.35rem;text-align:left;background:linear-gradient(160deg,var(--room-a) 0%,var(--room-b) 100%);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1rem;color:var(--text);font:inherit;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.room-card:hover{transform:translateY(-3px);box-shadow:0 8px 18px #00000059}.room-card.full{opacity:.75}.room-card.green{--room-a: #1d4d33;--room-b: #0f2e1f}.room-card.teal{--room-a: #124b4f;--room-b: #0b2e30}.room-card.gold{--room-a: #6b531a;--room-b: #3a2d0d}.room-card.purple{--room-a: #3c2159;--room-b: #231235}.room-card.red{--room-a: #5a1f23;--room-b: #341114}.room-card.dark{--room-a: #2a2f36;--room-b: #141720}.room-icon{font-size:1.6rem;line-height:1}.room-name{font-weight:700;font-size:1.05rem}.room-blurb{color:var(--muted);font-size:.8rem}.room-meta{display:flex;justify-content:space-between;font-size:.8rem;color:var(--muted)}.room-occupancy{display:flex;align-items:center;gap:.5rem;margin-top:.15rem}.room-bar{flex:1;height:.4rem;border-radius:99px;background:#ffffff26;overflow:hidden}.room-bar-fill{height:100%;background:var(--accent);border-radius:99px}.room-count{font-size:.78rem;font-weight:700;color:var(--accent);white-space:nowrap}.game-layout{display:grid;grid-template-columns:16rem 1fr;gap:1rem;align-items:start}.game{display:flex;flex-direction:column;gap:.8rem;min-width:0}.table-head{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.table-head h2{margin:0;flex:1}.badge.paused{background:var(--warn);color:#1b1b1b;font-weight:700;padding:.2rem .7rem;border-radius:99px;font-size:.8rem}@media(max-width:900px){.game-layout{grid-template-columns:1fr}.game{order:1}.side-col{display:contents}.hand-panel{order:0}.reaction-panel,.chat-panel{order:2}}.side-col{display:flex;flex-direction:column;gap:1rem;min-width:0}.reaction-panel{display:flex;flex-direction:column;gap:.6rem}.reaction-panel h3{margin:0}.reaction-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem}.reaction-btn{display:grid;place-items:center;padding:.25rem;border-radius:10px;border:1px solid var(--brass);background:linear-gradient(160deg,#2a1c10,#171007);cursor:pointer;transition:transform .15s,box-shadow .15s}.reaction-img{width:100%;max-width:2.6rem;aspect-ratio:1;display:block;pointer-events:none;-webkit-user-select:none;user-select:none}.reaction-btn:hover:not(:disabled){transform:scale(1.15);box-shadow:0 4px 10px #00000080}.reaction-btn:active:not(:disabled){transform:scale(.92)}.reaction-btn:disabled{cursor:not-allowed;filter:grayscale(.8);opacity:.45}.reaction-hint{font-size:.78rem;text-align:center;display:none}.reaction-panel.locked .reaction-hint{display:block}.react-float{position:absolute;width:4.5rem;height:4.5rem;z-index:2;pointer-events:none;filter:drop-shadow(0 4px 6px rgba(0,0,0,.55));animation:react-rise var(--dur, 2.6s) ease-out forwards;will-change:transform,opacity}@keyframes react-rise{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}10%{opacity:1;transform:translate(-50%,-70%) scale(1.5)}22%{transform:translate(-50%,-90%) scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-260%) scale(1.1)}}.react-spark{position:absolute;width:var(--size, 1.5rem);height:var(--size, 1.5rem);pointer-events:none;opacity:0;animation:react-spark 1.8s ease-out var(--delay, 0ms) forwards}@keyframes react-spark{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}15%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% - var(--rise))) scale(1.1)}}@media(prefers-reduced-motion:reduce){.react-float,.react-spark{animation-duration:.01s!important}}.chat-panel{display:flex;flex-direction:column;gap:.6rem;height:28rem}.chat-panel h3{margin:0}.chat-log{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;background:#11181f;border-radius:8px;padding:.6rem}.chat-msg{word-break:break-word}.chat-name{color:var(--accent);font-weight:700}.chat-form{display:flex;gap:.4rem}.chat-form input{flex:1;min-width:0}@media(max-width:900px){.chat-panel{height:16rem}}.toolbar{display:flex;justify-content:center;gap:.7rem;flex-wrap:wrap}.felt-wrap{position:relative;padding:4.5rem 5.5rem}.felt-wrap.vertical{width:100%;max-width:620px;margin:0 auto;padding:4.5rem 2.5rem}.felt-wrap:before{content:"";position:absolute;top:-1.2rem;left:50%;transform:translate(-50%);width:70%;height:60%;background:radial-gradient(ellipse at top,#ffd68c38,#ffd68c00 70%);pointer-events:none;z-index:0}.table-shadow{position:absolute;left:50%;bottom:1.6rem;transform:translate(-50%);width:70%;height:2.6rem;background:radial-gradient(ellipse at center,#0000008c,#0000 72%);filter:blur(6px);z-index:0}.table-shadow:after{content:"";position:absolute;top:.5rem;right:15%;bottom:.5rem;left:15%;background:radial-gradient(ellipse at center,#000000bf,#0000 80%);filter:blur(1px)}.table-pedestal{position:absolute;left:50%;bottom:.3rem;transform:translate(-50%);width:18%;min-width:4.5rem;max-width:7rem;height:3.4rem;background:linear-gradient(180deg,var(--wood-light) 0%,var(--wood) 55%,var(--wood-dark) 100%);clip-path:polygon(32% 0,68% 0,100% 100%,0% 100%);box-shadow:inset 2px 0 5px #ffffff1a,inset -3px 0 6px #0006;z-index:0}.table-pedestal:after{content:"";position:absolute;left:50%;bottom:-.4rem;transform:translate(-50%);width:190%;height:.6rem;border-radius:50%;background:linear-gradient(180deg,var(--brass-light) 0%,var(--brass) 100%);box-shadow:0 6px 16px #0009}.felt{position:relative;z-index:1;width:100%;aspect-ratio:9 / 5;border-radius:50%;border:1.4rem solid transparent;background:radial-gradient(ellipse at 50% 38%,var(--felt) 0%,var(--felt-dark) 78%,#052f1a 100%) padding-box,repeating-linear-gradient(48deg,var(--wood-light) 0 7px,var(--wood) 7px 14px) border-box;box-shadow:0 0 0 5px var(--brass),0 0 0 6px #00000080,0 20px 45px #000000a6,inset 0 0 70px #0000008c,inset 0 -20px 60px #00000059}.felt:before{content:"";position:absolute;top:.6rem;right:.6rem;bottom:.6rem;left:.6rem;border-radius:50%;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(0,0,0,.035) 0 1px,transparent 1px 3px);border:1px dashed rgba(242,217,138,.25);pointer-events:none}.felt.vertical{aspect-ratio:1 / 2}.board{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem}.community{display:flex;gap:.5rem;min-height:6.4rem}.pot-area{display:flex;flex-direction:column;align-items:center;gap:.5rem}.pot-chips{position:relative;width:5.5rem;height:3.2rem}.pot{background:linear-gradient(160deg,#2a1c10,#171007);border:1px solid var(--brass);padding:.35rem 1.1rem;border-radius:99px;font-weight:700;font-size:1.05rem;color:var(--brass-light);box-shadow:0 4px 10px #00000073}.card{position:relative;width:4.4rem;height:6.2rem;background:linear-gradient(165deg,#fffdf7,#f2ead8 55%,#e9dec4);color:#171310;border-radius:10%;font-family:Georgia,Times New Roman,serif;font-weight:700;font-size:1.5rem;line-height:1;border:1px solid rgba(0,0,0,.2);box-shadow:0 1px #fffc inset,0 4px 8px #0000008c;overflow:hidden}.card:before{content:"";position:absolute;top:6%;right:6%;bottom:6%;left:6%;border:1px solid rgba(0,0,0,.12);border-radius:8%;pointer-events:none}.card.red{color:#a81c2e}.corner{position:absolute;top:6%;left:9%;display:flex;flex-direction:column;align-items:center;line-height:1;z-index:1}.corner.rotated{top:auto;left:auto;bottom:6%;right:9%;transform:rotate(180deg)}.corner-rank{font-size:.68em}.corner-suit{font-size:.56em;margin-top:.05em}.pip{position:absolute;top:26%;right:16%;bottom:26%;left:16%;display:grid;place-items:center;font-size:1.6em;opacity:.85;text-shadow:0 1px 0 rgba(255,255,255,.5)}.card.back{background:radial-gradient(circle,rgba(255,255,255,.08) 0 2px,transparent 3px) 0 0/10px 10px,repeating-linear-gradient(45deg,#23408e,#23408e 5px,#1b3170 5px,#1b3170 10px);border:2px solid var(--brass-light)}.card.back:before{content:"✦";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:1.5em;color:var(--brass-light);opacity:.85;text-shadow:0 0 5px rgba(0,0,0,.6);border:none}.sitter{position:absolute;left:50%;top:50%;z-index:-1;width:6.4rem;height:6.4rem;pointer-events:none;transform:translate(calc(-50% + var(--ox, 0rem)),calc(-50% + var(--oy, 0rem)))}.sitter-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;border-radius:2.4rem 2.4rem 0 0;filter:drop-shadow(0 6px 8px rgba(0,0,0,.6)) saturate(1.05) contrast(1.04);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 55%,transparent 100%),linear-gradient(to right,transparent 0%,#000 14%,#000 86%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to bottom,#000 0%,#000 55%,transparent 100%),linear-gradient(to right,transparent 0%,#000 14%,#000 86%,transparent 100%);mask-composite:intersect}.felt.vertical .sitter{display:none}@media(max-width:700px){.sitter{display:none}}.seat{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:.2rem;min-width:8.5rem}.seat.lower{flex-direction:column-reverse}.seat.empty{opacity:.85}.hole-wrap{position:relative}.hole{display:flex;gap:.2rem}.hole .card{width:3.4rem;height:4.8rem;font-size:1.15rem}.card.dealing{animation:deal-in 1.1s cubic-bezier(.22,.8,.3,1) both;will-change:transform,opacity}.card.dealing.flip{animation-name:deal-flip}@keyframes deal-in{0%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(-220deg) scale(.45)}15%{opacity:1}to{opacity:1;transform:none}}@keyframes deal-flip{0%{opacity:0;transform:translate(var(--dx),var(--dy)) rotateY(90deg) scale(.5)}20%{opacity:1}to{opacity:1;transform:none}}.card.dealing.reveal{animation:deal-reveal var(--dur) ease-in-out both}.card.dealing.reveal:after{content:"✦";position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:grid;place-items:center;font-size:1.5em;color:var(--brass-light);background:radial-gradient(circle,rgba(255,255,255,.08) 0 2px,transparent 3px) 0 0/10px 10px,repeating-linear-gradient(45deg,#23408e,#23408e 5px,#1b3170 5px,#1b3170 10px);border:2px solid var(--brass-light);border-radius:inherit;animation:reveal-back var(--dur) linear both;animation-delay:inherit}@keyframes deal-reveal{0%{opacity:0;transform:perspective(900px) translate(var(--dx),var(--dy)) rotate(-200deg) rotateY(0) scale(.45);filter:drop-shadow(0 0 0 transparent)}8%{opacity:1}25%{transform:perspective(900px) translate(0) rotate(0) rotateY(0) scale(1)}32%{transform:perspective(900px) translateY(-.5rem) rotate(0) rotateY(0) scale(1.12);filter:drop-shadow(0 0 10px rgba(232,200,120,.55))}38%{transform:perspective(900px) translateY(-.5rem) rotate(-2deg) rotateY(0) scale(1.12)}44%{transform:perspective(900px) translateY(-.5rem) rotate(2deg) rotateY(0) scale(1.12)}50%{transform:perspective(900px) translateY(-.5rem) rotate(-1.5deg) rotateY(0) scale(1.14)}55%{transform:perspective(900px) translateY(-.5rem) rotate(0) rotateY(0) scale(1.16)}62%{opacity:1;transform:perspective(900px) translateY(-.5rem) rotate(0) rotateY(90deg) scale(1.2)}62.01%{transform:perspective(900px) translateY(-.5rem) rotate(0) rotateY(-90deg) scale(1.2)}85%{transform:perspective(900px) translateY(-.5rem) rotate(0) rotateY(0) scale(1.2);filter:drop-shadow(0 0 16px rgba(255,224,140,.95))}to{opacity:1;transform:perspective(900px) translate(0) rotate(0) rotateY(0) scale(1);filter:drop-shadow(0 0 0 transparent)}}@keyframes reveal-back{0%,62%{opacity:1}62.01%,to{opacity:0}}@media(prefers-reduced-motion:reduce){.card.dealing{animation-duration:.01s}.card.dealing.reveal,.card.dealing.reveal:after{animation-duration:.01s}}.peek-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;display:grid;place-items:start center;padding-top:7%;box-sizing:border-box;background:radial-gradient(ellipse at center,#00000073,#000000d1 80%);border-radius:50%;animation:peek-fade 1.4s ease-out both}.felt-box{position:relative;z-index:1}.felt-box .felt{z-index:0}.egg-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;pointer-events:none;overflow:visible}.throw-fly{position:absolute;font-size:1.8rem;line-height:1;filter:drop-shadow(0 4px 4px rgba(0,0,0,.5));will-change:transform}.throw-fly.fly-axe,.throw-fly.fly-chair{font-size:2.3rem}.impact-item{position:absolute;font-size:3rem;line-height:1;filter:drop-shadow(0 4px 5px rgba(0,0,0,.6));animation:impact-hold 4.5s ease-out forwards}.impact-item.axe{--tilt: -40deg}.impact-item.chair{--tilt: 80deg}@keyframes impact-hold{0%{opacity:0;transform:translate(-50%,-50%) rotate(0) scale(2)}6%{opacity:1;transform:translate(-50%,-50%) rotate(var(--tilt, 0deg)) scale(1)}9%{transform:translate(-46%,-50%) rotate(calc(var(--tilt, 0deg) + 6deg)) scale(1)}12%{transform:translate(-54%,-50%) rotate(calc(var(--tilt, 0deg) - 6deg)) scale(1)}15%{transform:translate(-50%,-50%) rotate(var(--tilt, 0deg)) scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-30%) rotate(var(--tilt, 0deg)) scale(1)}}.impact-word{position:absolute;font-size:1.3rem;font-weight:900;letter-spacing:.04em;color:#ffe94d;-webkit-text-stroke:1px #3a1d00;text-shadow:0 2px 0 #3a1d00,0 0 8px rgba(0,0,0,.7);white-space:nowrap;animation:impact-word 1.5s ease-out forwards}@keyframes impact-word{0%{opacity:0;transform:translate(-50%,-20%) rotate(-8deg) scale(.4)}15%{opacity:1;transform:translate(-50%,-90%) rotate(-8deg) scale(1.3)}70%{opacity:1;transform:translate(-50%,-130%) rotate(-8deg) scale(1)}to{opacity:0;transform:translate(-50%,-180%) rotate(-8deg) scale(1)}}.egg-splat{position:absolute;width:4.2rem;height:3.6rem;transform:translate(-50%,-50%) rotate(var(--rot, 0deg));background:radial-gradient(ellipse at 30% 35%,rgba(255,255,255,.95) 0 28%,transparent 30%),radial-gradient(ellipse at 72% 60%,rgba(255,255,255,.9) 0 24%,transparent 26%),radial-gradient(ellipse at 50% 50%,rgba(255,252,240,.92) 0 52%,transparent 56%);border-radius:46% 54% 52% 48%/55% 45%;filter:drop-shadow(0 2px 3px rgba(0,0,0,.45));animation:egg-splat-life 8s ease-out forwards}.egg-yolk{position:absolute;left:50%;top:50%;width:1.5rem;height:1.4rem;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe27a,#f2a900 70%)}@keyframes egg-splat-life{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--rot, 0deg)) scale(.3)}5%{opacity:1;transform:translate(-50%,-50%) rotate(var(--rot, 0deg)) scale(1.25)}10%{transform:translate(-50%,-50%) rotate(var(--rot, 0deg)) scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-42%) rotate(var(--rot, 0deg)) scale(1)}}.throw-row{display:flex;justify-content:center;gap:.3rem;margin-top:.25rem}.throw-btn{padding:.1rem .5rem;border-radius:99px;border:1px solid var(--brass);background:linear-gradient(180deg,#fff6d6,#f1d58a);color:#3a2d0d;font-size:.95rem;line-height:1.3;cursor:pointer;transition:transform .15s,box-shadow .15s}.throw-btn:hover{transform:scale(1.15) rotate(-5deg);box-shadow:0 3px 8px #00000080}.throw-btn:active{transform:scale(.95)}@media(prefers-reduced-motion:reduce){.impact-item{animation-duration:2s}}@media(prefers-reduced-motion:reduce){.egg-splat{animation-duration:3s}}.peek-overlay[hidden]{display:none}@keyframes peek-fade{0%{opacity:0}to{opacity:1}}.peek-panel{display:flex;flex-direction:column;align-items:center;gap:.9rem;animation:peek-rise 1.6s cubic-bezier(.22,.8,.3,1) both}@keyframes peek-rise{0%{opacity:0;transform:translateY(2rem) scale(.6)}to{opacity:1;transform:none}}.peek-title{color:var(--brass-light);font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 2px 6px rgba(0,0,0,.8)}.peek-cards{display:flex;gap:1.2rem}.peek-card{filter:drop-shadow(0 14px 14px rgba(0,0,0,.6));animation:peek-hover 6s ease-in-out infinite alternate}.peek-card:nth-child(2){animation-delay:-3s}@keyframes peek-hover{0%{transform:translateY(-.7rem) rotate(-3deg)}to{transform:translateY(.7rem) rotate(3deg)}}.peek-inner{position:relative}.peek-face{backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform 1.6s cubic-bezier(.4,0,.2,1)}.peek-face.back{transform:perspective(900px) rotateY(0)}.peek-face.front{position:absolute;top:0;right:0;bottom:0;left:0;transform:perspective(900px) rotateY(-180deg)}.peek-overlay.open .peek-face.back{transform:perspective(900px) rotateY(180deg)}.peek-overlay.open .peek-face.front{transform:perspective(900px) rotateY(0)}.peek-face .card{width:5.4rem;height:7.7rem;font-size:1.9rem}.peek-open{min-width:8rem;font-size:1rem}@media(max-width:700px){.peek-face .card{width:3.8rem;height:5.4rem;font-size:1.3rem}.peek-cards{gap:.7rem}}@media(prefers-reduced-motion:reduce){.peek-card{animation:none}.peek-face{transition-duration:.01s}}.magnifier-btn{position:absolute;top:-.4rem;right:-.5rem;width:1.55rem;height:1.55rem;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fffef4,#d8c6ab 70%,#9c7b45);border:2px solid var(--brass);color:#1a1208;font-size:.8rem;display:grid;place-items:center;cursor:pointer;box-shadow:0 3px 8px #0000008c;z-index:3}.magnifier-btn:hover{filter:brightness(1.15)}.lens{position:absolute;left:50%;z-index:60;filter:drop-shadow(0 10px 20px rgba(0,0,0,.65))}.lens.above{top:0;transform:translate(-50%,calc(-100% - 1.1rem))}.lens.below{top:100%;transform:translate(-50%,1.1rem)}.lens-glass{position:relative;display:flex;gap:.4rem;align-items:center;justify-content:center;width:13rem;height:13rem;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffffff59,#ffffff0a 55%,#0000004d),var(--felt-dark);border:.55rem solid var(--brass);box-shadow:0 0 0 3px #00000073,inset 0 0 25px #00000080,inset 0 10px 22px #ffffff26;overflow:hidden}.lens-card{width:4.6rem;height:6.6rem;font-size:1.9rem}.lens.below .lens-glass{order:2}.lens-handle{position:absolute;left:50%;top:100%;transform:translate(-50%);width:.6rem;height:2.4rem;background:linear-gradient(180deg,var(--brass-light),var(--wood-dark));border-radius:0 0 .3rem .3rem}.lens.below .lens-handle{top:auto;bottom:100%;transform:translate(-50%) rotate(180deg)}.plate{background:linear-gradient(160deg,#1d2530,#0f141a);border:2px solid var(--brass);border-radius:9px;padding:.3rem .8rem;text-align:center;box-shadow:0 4px 10px #00000080,inset 0 1px #ffffff0f}.pinfo{display:flex;align-items:center;justify-content:center;gap:.45rem}.avatar{width:2.1rem;height:2.1rem;border-radius:50%;background:#0f1419;border:1px solid var(--brass);object-fit:cover;flex-shrink:0}.seat.me .avatar{border-color:var(--accent)}.seat.turn .avatar{border-color:#4cd964}.seat.bot .avatar{border-color:#6fa8dc}.bot-badge{background:#2a4d6e;color:#9fd3ff;font-size:.65rem;font-weight:800;padding:.07rem .38rem;border-radius:4px;letter-spacing:.03em}.take-seat{margin-top:.15rem}.seat.me .plate{border-color:var(--accent)}.seat.turn .plate{border-color:#4cd964;box-shadow:0 0 12px #4cd964}.seat.folded{opacity:.45}.pname{font-weight:600;font-size:.98rem;max-width:7.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pstack{color:var(--accent);font-size:.92rem}.timer-ring{position:relative;width:2.3rem;height:2.3rem;border-radius:50%;background:conic-gradient(var(--accent) calc(var(--pct, 1) * 360deg),rgba(0,0,0,.55) 0deg);display:grid;place-items:center;box-shadow:0 2px 6px #00000080;transition:background .2s linear}.timer-ring:before{content:"";position:absolute;top:.2rem;right:.2rem;bottom:.2rem;left:.2rem;border-radius:50%;background:#11181f}.timer-ring.danger{background:conic-gradient(var(--danger) calc(var(--pct, 1) * 360deg),rgba(0,0,0,.55) 0deg);animation:timer-pulse 1s infinite}@keyframes timer-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.timer-num{position:relative;z-index:1;font-size:.85rem;font-weight:800;color:#9fe8b0}.timer-ring.danger .timer-num{color:#ff9b94}.last{font-size:.76rem;background:#0000008c;padding:.12rem .55rem;border-radius:99px}.chip{position:relative;width:2.1em;height:2.1em;border-radius:50%;background:repeating-conic-gradient(var(--chip-a) 0deg 30deg,var(--chip-b) 30deg 60deg);border:2px solid rgba(255,255,255,.85);box-shadow:0 2px #00000059,0 3px 5px #00000073}.chip:after{content:"";position:absolute;top:22%;right:22%;bottom:22%;left:22%;border-radius:50%;background:var(--chip-a);border:1px solid rgba(255,255,255,.6)}.chip.white{--chip-a: #e9e9e9;--chip-b: #9a2222}.chip.red{--chip-a: #c23a34;--chip-b: #f4e9d8}.chip.green{--chip-a: #1f7a42;--chip-b: #f4e9d8}.chip.blue{--chip-a: #2763b8;--chip-b: #f4e9d8}.chip.black{--chip-a: #1c1c1f;--chip-b: #c9992f}.chip.purple{--chip-a: #5b2f8a;--chip-b: #f4e9d8}.chip.yellow{--chip-a: #e8c530;--chip-b: #3a2d0d}.chip-stack{position:relative;width:2.1em;height:3.2em}.chip-stack .chip{position:absolute;left:0;bottom:calc(var(--i) * .4em)}.chip-amount{position:absolute;top:-1.5em;left:50%;transform:translate(-50%);font-weight:800;font-size:.85em;color:var(--brass-light);background:#000000a6;padding:.08em .5em;border-radius:99px;white-space:nowrap}.pot-chip{position:absolute;left:calc(50% + var(--x, 0));top:calc(50% + var(--y, 0));width:1.7em;height:1.7em;transform:translate(-50%,-50%) rotate(var(--r, 0deg))}.dealer-btn{position:absolute;top:-.3rem;right:-1rem;width:2.05rem;height:2.05rem;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fffef4,#ece6d6);color:#111;font-weight:800;display:grid;place-items:center;font-size:1.1rem;border:2px solid var(--brass);box-shadow:0 0 10px 2px #f2d98ab3;z-index:2}.table-console{position:relative;z-index:2;margin:-1.8rem auto 0;width:min(94%,46rem);padding:.9rem 1.3rem 1.1rem;background:linear-gradient(180deg,var(--wood) 0%,var(--wood-dark) 100%);border:2px solid var(--brass);border-radius:18px;box-shadow:0 10px 24px #0000008c,inset 0 1px #ffffff14}.status{text-align:center;color:var(--accent);font-weight:600;min-height:1.5rem;margin-bottom:.4rem}.table-console.idle{visibility:hidden}.hand-panel{display:flex;flex-direction:column;gap:.3rem}.hand-panel h3{margin:0}.hand-panel .status{text-align:left;margin:0;min-height:0;font-size:1.05rem}.hand-wait{color:var(--muted);font-size:.9rem;min-height:1.2rem}.hand-wait[hidden]{display:none}.seat.winner .plate{border-color:var(--accent);box-shadow:0 0 18px 4px #f5c542d9;animation:winner-glow 1.2s ease-in-out infinite alternate}@keyframes winner-glow{0%{box-shadow:0 0 10px 2px #f5c54299}to{box-shadow:0 0 24px 8px #f5c542f2}}.win-chip{position:absolute;width:1.9rem;height:1.9rem;font-size:.8rem;pointer-events:none;will-change:transform}.win-pulse{position:absolute;width:6rem;height:6rem;border-radius:50%;border:4px solid var(--accent);transform:translate(-50%,-50%);pointer-events:none;animation:win-pulse 1s ease-out forwards}@keyframes win-pulse{0%{opacity:1;transform:translate(-50%,-50%) scale(.3)}to{opacity:0;transform:translate(-50%,-50%) scale(1.8)}}.win-banner{position:absolute;z-index:3;transform:translate(-50%,-100%);text-align:center;padding:.4rem 1rem .5rem;border-radius:14px;border:2px solid var(--accent);background:linear-gradient(180deg,#3c260ef5,#180e06f5);box-shadow:0 8px 22px #0009,0 0 22px #f5c54299;white-space:nowrap;pointer-events:none;animation:win-banner 5.5s ease-out forwards}.win-name{font-weight:800;color:#fff;font-size:1rem}.win-amount{font-weight:900;font-size:1.7rem;color:var(--accent);text-shadow:0 2px 6px rgba(0,0,0,.7)}.win-hand{font-size:.85rem;color:var(--brass-light)}@keyframes win-banner{0%{opacity:0;transform:translate(-50%,-60%) scale(.5)}8%{opacity:1;transform:translate(-50%,-100%) scale(1.15)}14%{transform:translate(-50%,-100%) scale(1)}85%{opacity:1;transform:translate(-50%,-112%) scale(1)}to{opacity:0;transform:translate(-50%,-125%) scale(1)}}.tommy-gun{position:absolute;pointer-events:none;filter:drop-shadow(0 4px 4px rgba(0,0,0,.6))}.muzzle-flash{position:absolute;width:2.6rem;height:2.6rem;opacity:0;pointer-events:none;background:radial-gradient(circle,#fff 0 18%,#ffd34d 30%,#ff7a1a 60%,transparent 70%);clip-path:polygon(50% 0,62% 32%,100% 20%,72% 50%,100% 80%,62% 68%,50% 100%,38% 68%,0 80%,28% 50%,0 20%,38% 32%)}.tommy-bullet{position:absolute;width:1.1rem;height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,#ffe08a 40%,#fff);box-shadow:0 0 6px 1px #ffd25ae6;pointer-events:none}.bullet-hole{position:absolute;width:.55rem;height:.55rem;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,#000 0 45%,#2a2a2a 60%,transparent 70%);box-shadow:0 0 0 2px #ffffff40;pointer-events:none;animation:bullet-hole 7s ease-out forwards}@keyframes bullet-hole{0%{opacity:1;scale:1.8}6%{scale:1}80%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.seat.winner .plate{animation:none}}.actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.7rem;min-height:3.2rem}.raise{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem}.raise .amount-wrap{width:6rem;flex-shrink:0}.raise input[type=range]{flex:1 1 6rem;min-width:4rem}.chip-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:7;pointer-events:none}.chip-rack{position:absolute;transform:translateY(-50%);display:flex;flex-direction:column;align-items:stretch;gap:.25rem;padding:.5rem .7rem .3rem;font-size:.8rem;pointer-events:auto;background:linear-gradient(180deg,#3a2412eb,#1e1208eb);border:1px solid var(--brass);border-radius:12px;box-shadow:0 6px 14px #0000008c,inset 0 1px #ffffff1a}.chip-rack[hidden],.rack-clear[hidden]{display:none}.chip-rack.chips-active{box-shadow:0 0 10px 2px #f5c542a6,0 6px 14px #0000008c}.rack-piles{display:flex;flex-wrap:nowrap;align-items:flex-end;gap:.9em;padding-top:1.2em}.rack-foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.rack-clear{border:1px solid var(--brass);background:#00000080;color:var(--brass-light);border-radius:50%;width:1.5rem;height:1.5rem;line-height:1;cursor:pointer}.rack-clear:hover{background:#f5c54240}.rack-tools{display:flex;align-items:center;gap:.3rem}.rack-pro{border:1px solid var(--brass);background:#00000080;color:var(--brass-light);border-radius:99px;height:1.5rem;padding:0 .55rem;font-size:.72rem;font-weight:700;line-height:1;cursor:pointer;white-space:nowrap}.rack-pro[hidden]{display:none}.rack-pro:hover{background:#f5c54240}.rack-pro.on{background:var(--accent);color:#1b1b1b}.chip-layer.pro{--pitch: .22em}.chip-layer.pro .rack-piles{gap:.55em}.chip-layer.pro .chip{border-width:1px}.chip-rack.cascade .chip{animation:chip-drop .4s cubic-bezier(.3,.9,.4,1) both;animation-delay:calc(var(--p, 0) * 90ms + var(--i) * 26ms)}@keyframes chip-drop{0%{opacity:0;transform:translateY(-3.2em) rotate(-25deg)}70%{opacity:1;transform:translateY(.2em) rotate(3deg)}to{opacity:1;transform:translateY(0) rotate(0)}}.chip-layer.tidying .play-stack .chip{animation:chip-drop .4s cubic-bezier(.3,.9,.4,1) both;animation-delay:calc(var(--i) * 26ms)}.my-chips-total{font-weight:800;color:var(--brass-light);background:#0009;padding:.05em .6em;border-radius:99px}.pile-stack{position:relative;flex:0 0 auto;width:2.1em;height:calc(2.1em + (var(--n, 6) - 1) * var(--pitch, .3em));touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}.pile-stack .chip,.play-stack .chip{position:absolute;left:0;bottom:calc(var(--i) * var(--pitch, .3em));transition:transform .14s ease-out,box-shadow .14s}.pile-stack .chip{transform:translate(calc(var(--lift, 0) * var(--fan, 0em)),calc(var(--lift, 0) * -1.1em)) rotate(calc(var(--lift, 0) * var(--tilt, 0deg)));box-shadow:0 calc(1px + var(--lift, 0) * 5px) 0 #00000059,0 calc(3px + var(--lift, 0) * 8px) calc(5px + var(--lift, 0) * 6px) #00000073}.pile-count{position:absolute;right:-1.15em;bottom:0;font-size:.8em;font-weight:800;color:#fff;text-shadow:0 1px 2px #000}.pile-stack.riffle .chip,.play-stack.riffle .chip{animation:chip-riffle .55s ease-in-out both;animation-delay:calc(var(--i) * 35ms)}@keyframes chip-riffle{0%,to{transform:translate(var(--dx, 0em)) rotate(0)}35%{transform:translate(.8em,-.5em) rotate(10deg)}65%{transform:translate(-.6em,-.25em) rotate(-8deg)}}.play-stack{position:absolute;width:2.1rem;height:2.1rem;font-size:.8rem;transform:translate(-50%);pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;filter:drop-shadow(0 3px 3px rgba(0,0,0,.35))}.play-stack .chip{left:50%;margin-left:-1.05em;transform:translate(var(--dx, 0em))}.play-stack.landed .chip:last-child{animation:chip-land .25s ease-out}@keyframes chip-land{0%{transform:translate(var(--dx, 0em),-1.2em)}to{transform:translate(var(--dx, 0em))}}.play-stack:hover .chip:last-child{box-shadow:0 6px #0000004d,0 10px 14px #00000080}.ghost-count{position:absolute;right:-.9rem;bottom:-.4rem;font-size:.8rem;font-weight:800;color:#fff;background:#000000bf;border-radius:99px;padding:0 .35rem}.felt.drop-ready .pot-area{outline:3px dashed var(--accent);outline-offset:.5rem;border-radius:1rem}.felt.pot-hot .pot-area{background:#f5c54233}.chip-val{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:grid;place-items:center;font-size:.62em;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8);pointer-events:none}.chip.white .chip-val,.chip.yellow .chip-val{color:#1b1b1b;text-shadow:none}.chip-ghost{position:fixed;z-index:1000;width:2.8rem;height:2.8rem;transform:translate(-50%,-50%) scale(1.15);pointer-events:none;box-shadow:0 10px 18px #0009}.bet-zone{display:flex;align-items:flex-end;gap:1.3rem;min-width:6.5rem;min-height:3.6rem;padding:.4rem .7rem;border:2px dashed rgba(245,197,66,.55);border-radius:999px;background:#0000004d;font-size:.8rem;transition:background .15s,border-color .15s}.bet-zone.drop-ready{outline:3px dashed var(--accent);outline-offset:-6px}.bet-zone.drop-ready{background:#f5c54238;border-color:var(--accent)}.bet-total{align-self:center;font-weight:800;font-size:1.1em;color:var(--brass-light)}.bet-stack{position:relative;width:2.1em;height:2.4em;cursor:pointer;animation:chip-pop .25s ease-out}.bet-stack .chip{position:absolute;left:0;bottom:calc(var(--i) * .3em)}.bet-stack:hover{filter:brightness(1.25)}.bet-count{position:absolute;right:-1.1em;bottom:0;font-size:.8em;font-weight:800;color:#fff;text-shadow:0 1px 2px #000}@keyframes chip-pop{0%{transform:translateY(-.8em) scale(1.25)}to{transform:none}}.amount-wrap{position:relative;display:flex;align-items:center}.amount-wrap .currency-prefix{position:absolute;left:.6rem;color:var(--muted);font-weight:700;pointer-events:none}.amount-wrap input{padding-left:1.5rem;flex:1;min-width:0}.log{max-height:10rem;overflow-y:auto;font-size:.85rem;color:var(--muted);display:flex;flex-direction:column;gap:.2rem}.toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);background:var(--danger);padding:.7rem 1.2rem;border-radius:8px;font-weight:600;z-index:10}@media(max-width:700px){main{padding:.6rem}.felt-wrap{padding:1.5rem .5rem}.felt-wrap.vertical{padding:1.5rem .4rem}.card{width:2.7rem;height:3.9rem;font-size:1rem}.hole .card{width:2.2rem;height:3.1rem;font-size:.85rem}.community{min-height:3.6rem;gap:.3rem}.seat{min-width:4rem}.pname{max-width:4.5rem;font-size:.75rem}.avatar{width:1.4rem;height:1.4rem}.plate{padding:.22rem .5rem}.pstack{font-size:.78rem}.magnifier-btn{width:1.9rem;height:1.9rem;font-size:.85rem;top:-.55rem;right:-.7rem;z-index:5}.lens-glass{width:9.5rem;height:9.5rem;gap:.2rem;border-width:.4rem}.lens-card{width:3.2rem;height:4.5rem;font-size:1.25rem}.timer-ring{width:1.8rem;height:1.8rem}.timer-num{font-size:.72rem}.dealer-btn{width:1.6rem;height:1.6rem;font-size:.85rem}.chip-amount{font-size:.78em}.table-console{width:100%;padding:.7rem .6rem .8rem;border-radius:12px;margin-top:-1.2rem}.status{font-size:.85rem}.actions{gap:.45rem;min-height:2.6rem}.raise{width:100%}.raise .amount-wrap{width:4.5rem}.btn{padding:.5rem .8rem;font-size:.88rem}.btn.small{padding:.3rem .6rem;font-size:.8rem}.topbar{flex-wrap:wrap;gap:.5rem;padding:.6rem .8rem}.topbar-right{width:100%;justify-content:flex-end;flex-wrap:wrap;gap:.5rem}.namefield{flex:1 1 auto;min-width:0}.name-input-wrap{flex:1;min-width:0}#player-name{width:100%;min-width:4rem}.game-layout{gap:.6rem}.chat-panel{height:14rem}}
