:root{--felt-900:#0e2a22;--felt-800:#11392d;--felt-700:#145c45;--felt-500:#1f8a63;--ink:#f4efe6;--ink-muted:#a9bdb3;--gold:#f2b53a;--gold-deep:#c98d1d;--chip-white:#f1ece2;--chip-red:#e2483d;--chip-blue:#3a7be0;--chip-black:#1b1d22;--table-felt:#145c45;--table-felt-hi:#1a7354;--table-rim:#0b2019;--card-face:#f6f1e7;--card-back:#11392d;--card-line:#f2b53a52;--card-shine:#fff3;--space-1:4px;--space-2:8px;--space-4:16px;--space-6:24px;--radius-sm:10px;--radius-md:16px;--radius-pill:999px;--shadow-lift:0 4px 0 #00000059,inset 0 1px 0 #ffffff2e;--bounce:cubic-bezier(.34,1.56,.64,1);--font:"Rubik",system-ui,-apple-system,"Segoe UI",sans-serif;--buncss-light: ;--buncss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;margin:0}body{background:var(--felt-900);color:var(--ink);font-family:var(--font);overscroll-behavior:none;background-image:radial-gradient(circle at 50% -10%,#1f8a6359,#0000 60%);background-attachment:fixed;font-size:16px;line-height:24px}button{font:inherit;color:inherit}#root{min-height:100%}.app{display:flex;padding:env(safe-area-inset-top)0 0;flex-direction:column;max-width:480px;min-height:100dvh;margin:0 auto}@media (min-width:640px){.app{background:#0e2a2299;border-left:1px solid #ffffff0d;border-right:1px solid #ffffff0d}}.btn{border-radius:var(--radius-md);padding:14px var(--space-4);cursor:pointer;box-shadow:var(--shadow-lift);transition:transform .18s var(--bounce),box-shadow .12s ease,filter .12s ease;display:inline-flex;user-select:none;border:0;justify-content:center;align-items: center;gap:6px;min-height:52px;font-size:16px;font-weight:700;line-height:20px}.btn:active:not(:disabled){transform:translateY(2px)scale(.98);box-shadow:0 1px #00000059}.btn:disabled{background:var(--felt-700);color:var(--ink-muted);box-shadow:none;cursor:default}.btn-lg{width:100%;min-height:58px;font-size:18px}.btn-gold{background:var(--gold);color:var(--felt-900)}.btn-felt{background:var(--felt-500);color:var(--ink)}.btn-red{background:var(--chip-red);color:#fff}.btn b{font-weight:800}.grow{flex:1}.btn.armed{box-shadow:0 0 0 3px var(--gold),var(--shadow-lift);animation:nudge .3s var(--bounce)}@keyframes nudge{40%{transform:scale(1.03)}}.icon-btn{border-radius:var(--radius-pill);background:var(--felt-700);box-shadow:var(--shadow-lift);cursor:pointer;display:grid;transition:transform .18s var(--bounce);border:0;place-items: center;width:40px;height:40px}.icon-btn:active{transform:translateY(2px)}.dots,.dots:before,.dots:after{background:var(--ink);display:block;position:relative;border-radius:50%;width:4px;height:4px}.dots:before,.dots:after{content:"";position:absolute;top:0}.dots:before{left:-7px}.dots:after{left:7px}.chip{display:inline-block;position:relative;background:repeating-conic-gradient(from 0deg,transparent 0 22.5deg,#ffffffd9 22.5deg 45deg);border-radius:50%;flex:none;box-shadow:0 2px #00000059,inset 0 1px #ffffff59}.chip:after{content:"";position:absolute;background:var(--c);border-radius:50%;inset:18%;box-shadow:0 0 0 1.5px #ffffff59}.chip{background-color:var(--c)}.chip-white{--c:var(--chip-white);background-image:repeating-conic-gradient(from 0deg,transparent 0 22.5deg,#3a7be0bf 22.5deg 45deg)}.chip-white:after{box-shadow:0 0 0 1.5px #1b1d2226}.chip-red{--c:var(--chip-red)}.chip-blue{--c:var(--chip-blue)}.chip-black{--c:var(--chip-black);box-shadow:0 0 0 1px #f4efe673,0 2px #00000059}.chip-black:after{box-shadow:0 0 0 1.5px #f4efe699}.chip-gold{--c:var(--gold)}.chip-stack{position:relative;display:inline-block;flex:none}.chip-stack>span{position:absolute;display:block;line-height:0;left:0}.fx-layer{position:fixed;pointer-events:none;z-index:60;inset:0}.fx-chip{position:absolute;will-change:transform;width:22px;height:22px;top:0;left:0}.avatar{display:inline-grid;border-radius:50%;flex:none;place-items: center;font-weight:800;box-shadow:inset 0 -3px #0003,inset 0 1px #ffffff4d}.avatar-red{background:var(--chip-red);color:#fff}.avatar-blue{background:var(--chip-blue);color:#fff}.avatar-gold{background:var(--gold);color:var(--felt-900)}.avatar-green{background:var(--felt-500);color:var(--ink)}.avatar-white{background:var(--chip-white);color:var(--felt-900)}.menu{display:flex;padding:var(--space-6)var(--space-4)calc(var(--space-6) + env(safe-area-inset-bottom));flex-direction:column;flex:1;justify-content:center;gap:36px}.logo{text-align:center}.logo-chips{position:relative;height:84px;margin-bottom:8px}.logo-chip{position:absolute;animation:chip-in .7s var(--bounce)both;top:12px;left:50%}.logo-chip.c1{animation-delay:80ms;transform:translate(-88px)rotate(-14deg)}.logo-chip.c2{animation-delay:0s;z-index:1;top:0;transform:translate(-32px)}.logo-chip.c3{animation-delay:.16s;transform:translate(34px)rotate(14deg)}@keyframes chip-in{0%{opacity:0;translate:0 -40px}to{opacity:1;translate:0}}.logo-name{letter-spacing:-.03em;animation:rise .6s var(--bounce).12s both;margin:0;font-size:64px;font-weight:800;line-height:60px}.logo-tag{color:var(--ink-muted);animation:rise .6s ease .24s both;max-width:260px;margin:10px auto 0;font-size:15px;line-height:21px}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.menu-card{display:flex;padding:var(--space-4);background:var(--felt-700);box-shadow:var(--shadow-lift);animation:rise .6s ease .32s both;border-radius:22px;flex-direction:column;gap:12px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:4px}.field-label{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:600}.field-hint.error{color:#ff8c84;font-size:13px}.input{border-radius:var(--radius-md);padding:14px var(--space-4);background:var(--felt-900);color:var(--ink);font:inherit;outline:none;border:2px solid #0000;width:100%;transition:border-color .15s;font-size:17px;box-shadow:inset 0 2px #00000040}.input:focus{border-color:var(--gold)}.input-error{border-color:var(--chip-red)}.input-code{text-align:center;letter-spacing:.3em;text-transform:uppercase;padding-left:calc(var(--space-4) + .3em);font-size:40px;font-weight:800;line-height:48px}.sheet-wrap{position:fixed;z-index:40;display:flex;animation:fade .16s ease both;background:#05100c99;justify-content:center;align-items: flex-end;inset:0}html.sheet-open,html.sheet-open body{overflow:hidden;overscroll-behavior:none}.sheet-wrap{overscroll-behavior:none;touch-action:none}.sheet{background:var(--felt-800);padding:10px var(--space-4)0;display:flex;overflow:hidden;animation:sheet-up .32s var(--bounce)backwards;border-radius:26px 26px 0 0;flex-direction:column;width:100%;max-width:480px;max-height:88dvh;box-shadow:0 -8px 30px #00000059,inset 0 1px #ffffff14}.sheet-head{position:relative;touch-action:none;user-select:none;-webkit-user-select:none;flex:none;padding-bottom:12px}.sheet-body{overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;display:flex;padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom));flex-direction:column;flex:auto;gap:12px;min-height:0}.sheet-body>*{flex-shrink:0}.sheet-x{position:absolute;cursor:pointer;color:var(--ink);display:grid;background:#ffffff14;border:0;border-radius:50%;place-items: center;width:44px;height:44px;top:0;right:-8px}.sheet-x:active{background:#ffffff29}.sheet-grip{background:#ffffff2e;border-radius:3px;width:40px;height:5px;margin:0 auto 4px}.sheet-form{display:flex;flex-direction:column;gap:12px}.sheet-title{margin:0;padding-right:44px;font-size:22px;font-weight:800;line-height:28px}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:none}}@keyframes fade{0%{opacity:0}}.segmented{display:flex;gap:8px}.seg{border-radius:var(--radius-sm);background:var(--felt-700);cursor:pointer;box-shadow:var(--shadow-lift);transition:transform .18s var(--bounce),background .15s;border:0;flex:1;min-height:46px;padding:12px 6px;font-weight:700}.seg:active{transform:translateY(2px)}.seg.on{background:var(--gold);color:var(--felt-900)}.table{display:flex;--cards-out:42px;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;flex-direction:column;flex:1;min-height:100dvh}.table input,.table textarea{user-select:text;-webkit-user-select:text}.topbar{display:flex;padding:12px var(--space-4)8px;align-items: center;gap:10px}.wordmark{letter-spacing:-.02em;flex:1;font-size:20px;font-weight:800}.code-pill{background:var(--felt-700);border-radius:var(--radius-pill);color:var(--ink-muted);cursor:pointer;box-shadow:var(--shadow-lift);border:0;padding:8px 14px;font-size:14px}.code-pill b{color:var(--gold);letter-spacing:.12em;margin-left:4px}.ring-wrap{overflow-y:auto;overflow-x:hidden;flex:1 1 0;min-height:0}.table:has(.my-cards) .ring-wrap{padding-bottom:var(--cards-out)}.ring{position:relative}.felt-oval{position:absolute;background:radial-gradient(ellipse at 50% 35%,var(--table-felt-hi),var(--table-felt)70%);border:7px solid var(--table-rim);border-radius:50%;box-shadow:inset 0 0 0 2px #ffffff0d,inset 0 8px 18px #0000002e,0 6px #0000004d}.ring-center{position:absolute;display:flex;flex-direction:column;align-items: center;gap:8px;top:50%;left:50%;transform:translate(-50%,-50%)}.street{display:flex;align-items:baseline;gap:8px;height:20px}.street-label{font-size:15px;font-weight:800;line-height:20px}.hand-num{color:var(--ink-muted);font-size:12px}.board{display:flex;gap:4px}.card-slot{width:var(--board-card-w,42px);height:calc(var(--board-card-w,42px)*1.4);transition:background .3s ease,border-color .3s ease,transform .4s var(--bounce);border:2px dashed #f4efe638;border-radius:7px}.card-slot.on{border:2px solid var(--chip-white);background:#f4efe6eb;transform:translateY(-3px);box-shadow:0 3px #00000040}.card-slot.on:after{content:"";display:block;border:2px solid #e2483d59;border-radius:4px;height:calc(100% - 12px);margin:6px}.pot{display:flex;border-radius:var(--radius-pill);background:#00000047;align-items: center;gap:8px;min-height:40px;padding:6px 14px 6px 16px}.pot-label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);font-size:12px;font-weight:600}.pot-value{color:var(--gold);font-variant-numeric:tabular-nums;font-size:24px;font-weight:800;line-height:28px}.invite{border-radius:var(--radius-md);cursor:pointer;display:flex;background:0 0;border:2px dashed #f2b53a80;flex-direction:column;align-items: center;gap:2px;padding:10px 14px;font-size:15px}.invite b{color:var(--gold);letter-spacing:.12em}.invite span{color:var(--ink-muted);font-size:12px}.seat{position:absolute;translate:-50% -50%;scale:var(--seat-scale,1);display:flex;text-align:center;animation:pop .36s var(--bounce)backwards;flex-direction:column;align-items: center;width:64px;transition:left .4s,top .4s,opacity .2s}.seat-cards{display:flex;position:relative;z-index:1;align-items: flex-end;gap:2px;height:26px;margin-bottom:-6px}.seat-avatar{position:relative;display:grid}.seat-avatar .avatar{border:2px solid var(--felt-900);box-sizing:content-box;transition:box-shadow .2s}.seat.turn .seat-avatar .avatar{box-shadow:0 0 0 3px var(--gold);animation:breathe 1.6s ease-in-out infinite}@keyframes breathe{50%{transform:scale(1.08)}}.seat.out{opacity:.4}.seat.out .avatar{filter:grayscale(.8)}.seat.winner .seat-avatar .avatar{box-shadow:0 0 0 3px var(--gold),0 0 14px #f2b53a99}.offline{position:absolute;background:var(--chip-red);border:2px solid var(--felt-900);border-radius:50%;width:12px;height:12px;bottom:-3px;left:-3px}.seat.is-offline .avatar{filter:grayscale(1);opacity:.6}.badge{position:absolute;z-index:2;border-radius:var(--radius-pill);background:var(--felt-900);color:var(--ink);padding:0 4px;font-size:9px;font-weight:800;line-height:13px;top:50%;right:-20px;translate:0 -50%}.badge-d{background:var(--chip-white);color:var(--felt-900)}.side-left .badge{left:-12px;right:auto}.side-left .badge-blind,.side-right .badge-blind{top:calc(50% - 15px)}.side-right .badge-d{right:-12px}.side-right .badge-blind{right:-14px}.side-left .both-badges .badge-blind{top:50%;left:auto;right:-14px}.side-right .both-badges .badge-blind{top:50%;left:-14px;right:auto}.tag{position:absolute;white-space:nowrap;border-radius:var(--radius-pill);background:var(--felt-900);color:var(--ink-muted);padding:0 5px;font-size:9px;font-weight:800;line-height:13px;bottom:-6px;left:50%;translate:-50%}.tag-allin{background:var(--chip-red);color:#fff}.tag-offline{background:var(--felt-900);color:#ff8c84}.seat-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:64px;margin-top:5px;font-size:12px;font-weight:600;line-height:15px}.seat.winner .seat-name{color:var(--gold)}.seat-cards .pcard-sm{margin-bottom:-2px}.seat-stack{font-variant-numeric:tabular-nums;color:var(--gold);font-size:13px;font-weight:800;line-height:16px}.seat-bet{position:absolute;display:flex;color:var(--gold);white-space:nowrap;font-variant-numeric:tabular-nums;pointer-events:none;align-items: center;gap:2px;font-size:11px;font-weight:700;translate:-50% -50%}.seat-bet.show{animation:pop .32s var(--bounce)both}@keyframes pop{0%{scale:.6;opacity:0}}.actionbar{position:sticky;background:var(--felt-800);padding:14px var(--space-4)calc(var(--space-4) + env(safe-area-inset-bottom));display:flex;z-index:10;border-radius:26px 26px 0 0;flex-direction:column;gap:12px;transition:box-shadow .2s;bottom:0;box-shadow:0 -6px 24px #0000004d,inset 0 1px #ffffff14}.actionbar.my-turn{box-shadow:0 -6px 24px #0000004d,inset 0 3px 0 var(--gold)}.me-row{display:flex;align-items: center;gap:12px}.me-info{display:flex;flex-direction:column;flex:1;gap:2px;min-width:0}.me-top{display:flex;white-space:nowrap;align-items:baseline;gap:10px}.me-hand{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink-muted);font-size:14px;line-height:18px}.me-hand b{color:var(--gold);font-weight:800}.me-hand.muted{font-size:12px}.me-label{color:var(--ink-muted);font-size:13px}.me-stack{font-variant-numeric:tabular-nums;font-size:26px;font-weight:800;line-height:30px}.me-bet{color:var(--gold);margin-left:auto;font-size:13px;font-weight:600}.actions{display:flex;gap:10px}.actions .btn{min-width:0}.turn-actions{gap:8px}.turn-actions .side-btn{flex:0 0 96px;padding-left:6px;padding-right:6px}@media (max-width:360px){.turn-actions .side-btn{flex-basis:84px;font-size:15px}}.two-line{display:flex;flex-direction:column;align-items: center;min-width:0;max-width:100%;line-height:1.1}.two-line-verb{opacity:.85;font-size:12px;font-weight:700}.two-line-value{font-size:19px;font-weight:800}.two-line>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.btn:has(.two-line){padding-top:6px;padding-bottom:6px}.pre-actions .btn{min-width:0}.pre-btn{opacity:.85}.pre-btn .two-line-value{white-space:normal;overflow:visible;text-align:center;font-size:16px}.pre-btn.on{opacity:1;box-shadow:0 0 0 3px var(--gold),var(--shadow-lift)}.pre-hint{color:var(--ink-muted);text-align:center;margin:8px 0 0;font-size:13px}.wait{color:var(--ink-muted);min-height:52px;margin:0;padding:14px 0}.wait b{color:var(--ink)}.wait-wrap{display:flex;flex-direction:column;gap:10px}.raise-value{display:flex;justify-content:center;align-items: center;gap:20px}.raise-num{color:var(--gold);text-align:center;font-variant-numeric:tabular-nums;min-width:150px;font-size:48px;font-weight:800;line-height:56px}.step{background:var(--felt-700);box-shadow:var(--shadow-lift);cursor:pointer;transition:transform .18s var(--bounce);border:0;border-radius:50%;width:48px;height:48px;font-size:26px;font-weight:700}.step:active{transform:translateY(2px)scale(.95)}.slider{accent-color:var(--gold);width:100%;height:32px}.hint{color:var(--ink-muted);margin:0;font-size:14px;line-height:20px}.pot-pick{background:var(--felt-700);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:10px;padding:12px}.pot-pick-head{display:flex;justify-content:space-between;font-weight:600}.pot-pick-head b{color:var(--gold);font-size:20px}.pick-list{display:flex;flex-wrap:wrap;gap:8px}.pick{border-radius:var(--radius-pill);background:var(--felt-900);cursor:pointer;transition:transform .22s var(--bounce),background .15s;box-shadow:var(--shadow-lift);border:0;padding:10px 16px;font-weight:700}.pick.on{background:var(--gold);color:var(--felt-900);transform:scale(1.05)}.info-row{display:flex;border-bottom:1px solid #ffffff14;justify-content:space-between;padding:10px 0}.info-row span{color:var(--ink-muted)}.toggle-row{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #ffffff14;align-items: center;width:100%}.toggle-row>span:first-child{color:var(--ink);font-weight:600}.switch{position:relative;border-radius:var(--radius-pill);background:var(--felt-700);flex:none;width:46px;height:28px;transition:background .16s}.switch:after{content:"";position:absolute;background:var(--ink);transition:transform .18s var(--bounce);border-radius:50%;width:22px;height:22px;top:3px;left:3px}.switch.on{background:var(--gold)}.switch.on:after{background:var(--felt-900);transform:translate(18px)}.log{list-style:none;color:var(--ink-muted);overflow:auto;max-height:220px;margin:0;padding:0;font-size:14px;line-height:20px}.log li{border-bottom:1px solid #ffffff0f;padding:6px 0}.log li:first-child{color:var(--ink)}.turn-bar{display:block;overflow:hidden;background:#00000059;border-radius:2px;width:44px;height:4px;margin:3px auto 0}.turn-bar>span{display:block;background:var(--gold);transform-origin:left;animation:turn-bar var(--dur,1s)linear forwards;height:100%}@keyframes turn-bar{0%{transform:scaleX(var(--from,1))}to{transform:scaleX(0)}}.turn-bar.mine{border-radius:2px;width:auto;height:3px;margin:2px 0 0}.turn-bar.mine>span{animation:turn-bar var(--dur)linear forwards,turn-bar-red 1ms var(--red-delay)forwards}@keyframes turn-bar-red{to{background:var(--chip-red)}}.seg:disabled{opacity:.45;cursor:default}.avatar.avatar-bot{border-radius:9px}.tag-bot{background:var(--felt-700);color:var(--ink-muted);font-weight:700}.bot-row{align-items: center;padding:6px 0}.bot-row b{color:var(--ink)}.bot-remove{min-height:36px;padding:6px 12px;font-size:14px}.slot{position:absolute;color:var(--ink);display:flex;cursor:pointer;touch-action:none;z-index:2;transition:transform .16s var(--bounce);background:0 0;border:0;flex-direction:column;align-items: center;gap:4px;width:56px;padding:4px 0;translate:-50% -50%}.slot .avatar{border:2px solid var(--felt-900);box-sizing:content-box}.slot-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:56px;font-size:12px;font-weight:700}.slot-empty{display:grid;color:var(--ink-muted);border:2px dashed #ffffff47;border-radius:50%;place-items: center;width:32px;height:32px;font-size:13px;font-weight:800}.slot.target .slot-empty{border-color:var(--gold);color:var(--gold)}.slot.picked .avatar{box-shadow:0 0 0 3px var(--gold)}.slot.picked{transform:translateY(-4px)}.slot.dragging{z-index:20;opacity:.9;transition:none}.arrange-center{display:flex;text-align:center;flex-direction:column;align-items: center;gap:4px;max-width:220px}.arrange-center b{font-size:16px}.arrange-center span{color:var(--ink-muted);font-size:13px;line-height:17px}.arrange-btn,.show-btn{min-height:44px}.arrange-hint{min-height:0;padding:4px 0;font-size:14px;line-height:19px}.tag-away{background:var(--ink-muted);color:var(--felt-900)}.away-row{display:flex;color:var(--ink-muted);align-items: center;gap:10px;font-size:13px;line-height:17px}.away-row .btn{flex:none;min-height:44px;padding:8px 14px;font-size:15px}.hand-log{list-style:none;overflow:auto;max-height:340px;margin:0;padding:0}.hand-log li:first-child{padding-top:0}.hand-log li{display:flex;border-bottom:1px solid #ffffff0f;flex-direction:column;gap:4px;padding:10px 0}.hand-log-n{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:700}.hand-log-line{font-size:14px;font-weight:600;line-height:19px}.hand-log-cards{display:flex;flex-wrap:wrap;align-items: center;gap:4px;margin-top:2px}.hand-log-hole{display:inline-flex;align-items: center;gap:3px;margin-left:8px}.hand-log-who{color:var(--gold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:70px;margin-right:2px;font-size:12px;font-weight:700}.share-code{text-align:center;letter-spacing:.3em;color:var(--gold);padding-left:.3em;font-size:44px;font-weight:800;line-height:52px}.share-link{font-size:14px}.banner{position:fixed;left:50%;top:calc(64px + env(safe-area-inset-top));z-index:30;background:var(--gold);color:var(--felt-900);display:flex;text-align:center;box-shadow:0 8px 0 var(--gold-deep),0 20px 40px #0006;animation:win .45s var(--bounce)both;cursor:pointer;user-select:none;border-radius:20px;flex-direction:column;align-items: center;width:max-content;max-width:calc(100% - 32px);padding:10px 20px;transform:translate(-50%)}@media (max-width:360px){.banner{top:calc(92px + env(safe-area-inset-top))}}.banner-title{letter-spacing:-.02em;font-size:24px;font-weight:800;line-height:28px}.banner-text{text-wrap:balance;font-size:15px;font-weight:700;line-height:20px}.banner-text+.banner-text{margin-top:4px}@keyframes win{0%{opacity:0;transform:translate(-50%)scale(.5)rotate(-6deg)}to{opacity:1;transform:translate(-50%)scale(1)rotate(0)}}.toast{position:fixed;top:calc(64px + env(safe-area-inset-top));z-index:70;text-align:center;background:var(--ink);color:var(--felt-900);border-radius:var(--radius-pill);animation:toast-in .3s var(--bounce)both;width:max-content;max-width:calc(100% - 32px);padding:10px 18px;font-size:15px;font-weight:600;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000059}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-16px)}}.conn{position:fixed;z-index:80;background:var(--chip-red);color:#fff;padding:calc(3px + env(safe-area-inset-top))16px 3px;text-align:center;font-size:13px;font-weight:600;line-height:18px;top:0;left:0;right:0}.loading{display:grid;color:var(--ink-muted);flex:1;place-items: center}.seat.my-turn .seat-avatar .avatar{box-shadow:0 0 0 2px var(--gold);animation:none}.seat.my-turn .seat-avatar:after{content:"";position:absolute;pointer-events:none;animation:turn-wave 1.4s ease-out infinite;border-radius:50%;inset:0}@keyframes turn-wave{0%{box-shadow:0 0 0 2px #f2b53ad9}to{box-shadow:0 0 0 9px #f2b53a00}}.turn-tag{display:inline-block;background:var(--gold);color:var(--felt-900);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:800;line-height:14px}.turn-callout{position:absolute;display:grid;z-index:5;pointer-events:none;place-items: center;inset:0}.turn-callout span{background:var(--gold);color:var(--felt-900);animation:callout 1.3s ease both;border-radius:12px;padding:8px 20px;font-size:18px;font-weight:800;line-height:22px;box-shadow:0 3px #0000004d}@keyframes callout{0%{transform:scale(.8);opacity:0;animation-timing-function:var(--bounce)}18%{transform:scale(1);opacity:1}80%{transform:scale(1);opacity:1}to{transform:scale(1);opacity:0}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.undo-btn{min-height:44px;font-size:15px}.sound-btn{color:var(--ink)}.sound-btn.muted{color:var(--ink-muted);background:var(--felt-800)}.pcard{position:relative;display:inline-block;overflow:hidden;user-select:none;transition:transform .26s var(--bounce),opacity .2s,box-shadow .2s;border-radius:7px;flex:none;font-weight:800;line-height:1;box-shadow:0 3px #00000047}.pcard-face{background:var(--card-face)}.pcard-red{color:var(--chip-red)}.pcard-dark{color:var(--chip-black)}.pc-corner{position:absolute;display:flex;letter-spacing:-.04em;flex-direction:column;align-items: center}.pc-corner span,.pc-mid,.pc-solo span{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.pc-tl{top:4px;left:4px}.pc-br{bottom:4px;right:4px;transform:rotate(180deg)}.pc-mid{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pc-solo{position:absolute;display:flex;letter-spacing:-.04em;flex-direction:column;justify-content:center;align-items: center;gap:1px;inset:0}.pcard-xs{border-radius:3px;width:18px;height:25px;box-shadow:0 1px #0000004d}.pcard-sm{border-radius:4px;width:24px;height:34px;font-size:12px;box-shadow:0 2px #00000047}.pcard-lg{width:var(--board-card-w,42px);height:calc(var(--board-card-w,42px)*1.4)}.pcard-lg .pc-corner{font-size:calc(var(--board-card-w,42px)*.33)}.pcard-lg .pc-mid{font-size:calc(var(--board-card-w,42px)*.38)}.pcard-xl{border-radius:8px;width:60px;height:85px}.pcard-xl .pc-corner{font-size:16px}.pcard-xl .pc-mid{font-size:23px}.pcard-back{--mosaic:5px;background-color:var(--card-back);background-image:linear-gradient(105deg,transparent 40%,var(--card-shine)50%,transparent 60%),repeating-linear-gradient(45deg,transparent 0 var(--mosaic),var(--card-line)var(--mosaic)calc(var(--mosaic) + 1px)),repeating-linear-gradient(-45deg,transparent 0 var(--mosaic),var(--card-line)var(--mosaic)calc(var(--mosaic) + 1px));animation:card-shine 3.6s ease-in-out infinite;background-repeat:no-repeat,repeat,repeat;background-size:300% 100%,auto,auto}.pcard-xs.pcard-back,.pcard-sm.pcard-back{--mosaic:3.5px;animation-duration:5s}@keyframes card-shine{0%,55%{background-position:120% 0,0 0,0 0}to{background-position:-20% 0,0 0,0 0}}.pcard.best{box-shadow:0 0 0 2px var(--gold),0 3px 0 #00000047;transform:translateY(-5px)}.pcard.dim{opacity:.38}.deal-in{animation:deal-in .45s var(--bounce)backwards}@keyframes deal-in{0%{transform:translateY(-120px)rotate(-25deg)scale(.6);opacity:0}}.flip-in{animation:flip-in .42s ease-out backwards}.seat-cards.show-pop{animation:show-pop .4s var(--bounce);transform-origin:50% 100%;z-index:3}@keyframes show-pop{45%{transform:scale(1.3)}}.deck{position:relative;display:inline-block;width:var(--board-card-w,42px);height:calc(var(--board-card-w,42px)*1.4);flex:none}.deck .deck-card{position:absolute;transform:translate(calc(var(--i)*-.5px),calc(var(--i)*-1px));top:0;left:0}.deck.deck-idle{position:absolute;width:18px;height:25px;margin:-12px 0 0 12px;top:50%;left:100%}.deck.shuffling .deck-card{animation:riffle 1s ease-in-out both;animation-delay:calc(var(--i)*45ms)}@keyframes riffle{0%,to{transform:translate(calc(var(--i)*-.5px),calc(var(--i)*-1px))}30%{transform:translate(calc(var(--i)*3px - 14px),calc(var(--i)*-1px))rotate(-6deg)}34%{transform:translate(calc(var(--i)*3px - 14px),calc(var(--i)*-1px))rotate(-6deg)}62%{transform:translate(calc(var(--i)*-3px + 14px),calc(var(--i)*-2px))rotate(6deg)}80%{transform:translate(calc(var(--i)*-.5px),calc(var(--i)*-1px))rotate(0deg)}}.board-deck{min-height:calc(var(--board-card-w,42px)*1.4);justify-content:center;align-items: center}.board-deck .deck{margin:0 auto}.pot{position:relative}@keyframes flip-in{0%{transform:rotateY(90deg)}}.my-cards{position:relative;display:flex;margin:calc(-1*var(--cards-out))0 0;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;background:0 0;border:0;align-self: flex-start;align-items: flex-start;gap:8px;padding:0}.my-cards.dim{opacity:.45}.my-cards .flip{position:relative;perspective:600px;width:66px;height:94px}.my-cards .flip .pcard{position:absolute;backface-visibility:hidden;transition:transform .38s var(--bounce);inset:0}.my-cards .pcard-xl{width:66px;height:94px}@media (max-width:360px){.table{--cards-out:36px}.my-cards{gap:6px}.my-cards .flip,.my-cards .pcard-xl{width:56px;height:80px}.my-cards .pcard-xl .pc-corner{font-size:14px}.my-cards .pcard-xl .pc-mid{font-size:19px}.me-hand{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:16px}}.my-cards .flip-face{transform:rotateY(180deg)}.my-cards.peek .flip-back{transform:rotateY(-180deg)}.my-cards.peek .flip-face{transform:rotateY(0)}.my-cards.peek .flip{transition:transform .2s;transform:translateY(-6px)}.mode-hint{min-height:40px}.theme-name{text-transform:none;letter-spacing:0;color:var(--ink);margin-left:6px;font-style:normal;font-weight:600}.swatches{display:flex;flex-wrap:wrap;gap:10px}.swatch{cursor:pointer;box-shadow:var(--shadow-lift);transition:transform .18s var(--bounce);border:3px solid;border-radius:50%;width:44px;height:30px}.swatch-card{cursor:pointer;transition:transform .18s var(--bounce);background:0 0;border:0;border-radius:9px;padding:0}.swatch-card .pcard{border-radius:6px;width:34px;height:48px}.swatch.on,.swatch-card.on{outline:3px solid var(--gold);outline-offset:2px;transform:scale(1.06)}.sons-page{display:flex;flex-direction:column;gap:10px;max-width:480px;margin:0 auto;padding:24px 16px 40px}.sons-page h1{margin:0;font-size:28px}.sons-row{text-align:left;flex-direction:column;align-items: flex-start;gap:2px;min-height:60px}.sons-row span{opacity:.8;font-size:13px;font-weight:500}
