:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff3d6;--bg-soft:#fff8e6;--bg-2:#fff;--bg-3:#f0d9a4;--fg:#2a1a0a;--muted:#8a6a4a;--accent:#dc2626;--accent-strong:#991b1b;--danger:#b91c1c;--ok:#16a34a;--red:#ef4444;--yellow:#facc15;--green:#22c55e;--blue:#2563eb;--wild:#1f2937;--shadow:0 6px 18px #5028002e;--shadow-sm:0 2px 6px #50280024;--radius:14px}*{box-sizing:border-box}html,body,#root{background:radial-gradient(circle at 20% 10%, #fff7e0 0%, transparent 55%), radial-gradient(circle at 80% 90%, #ffeec0 0%, transparent 60%), var(--bg);color:var(--fg);-webkit-tap-highlight-color:transparent;background-attachment:fixed;min-height:100vh;margin:0;padding:0;font-family:ui-rounded,SF Pro Rounded,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button{font:inherit;cursor:pointer;background:var(--accent);color:#fff;letter-spacing:.01em;min-width:48px;min-height:48px;box-shadow:var(--shadow-sm);border:0;border-radius:12px;padding:.85rem 1.3rem;font-weight:700;transition:transform 80ms,filter .1s,box-shadow .12s}button:hover{filter:brightness(1.06)}button:active{transform:translateY(1px);box-shadow:0 1px 3px #5028002e}button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}button.ghost{background:var(--bg-2);color:var(--fg);border:2px solid var(--bg-3);box-shadow:var(--shadow-sm)}button.danger{background:var(--danger);color:#fff}button.success{background:var(--ok);color:#fff}input,select{font:inherit;width:100%;color:var(--fg);border:2px solid var(--bg-3);background:#fffdf6;border-radius:12px;outline:none;min-height:48px;padding:.75rem .9rem;transition:border-color .12s,box-shadow .12s}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 4px #dc262626}label{display:block}label>.muted{margin-bottom:.35rem;font-size:.85rem}.app{flex-direction:column;min-height:100vh;display:flex}.center{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1rem;padding:1.5rem;display:flex}.card{background:var(--bg-2);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid #f3e3bf;width:100%;max-width:460px;padding:1.6rem}.brand{letter-spacing:-.02em;color:var(--accent);text-shadow:0 2px #fff8;font-size:2.4rem;font-weight:800}.muted{color:var(--muted)}.danger-text{color:var(--danger);font-weight:600}.row{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.col{flex-direction:column;gap:1rem;display:flex}.right{margin-left:auto}.fullscreen{position:fixed;inset:0}.tdc-root{grid-template-rows:auto 1fr auto;height:100vh;display:grid}.tdc-header{border-bottom:2px solid var(--bg-3);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fff8e6eb;align-items:center;gap:1rem;padding:.9rem 1.4rem;display:flex}.tdc-table{justify-content:center;align-items:center;display:flex;position:relative}.tdc-center{align-items:center;gap:1.5rem;display:flex}.tdc-footer{border-top:2px solid var(--bg-3);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fff8e6eb;align-items:center;gap:.7rem;padding:.7rem 1.2rem;display:flex}.tdc-footer-start{border-radius:12px;flex:1;min-height:52px;padding:.9rem 1.4rem;font-size:1.15rem;font-weight:700}.tdc-footer-start:disabled{opacity:.55;cursor:not-allowed}.tdc-footer-start.is-starting{opacity:1;cursor:progress;background:linear-gradient(110deg, var(--ok,#16a34a) 0%, var(--ok,#16a34a) 35%, #ffffff73 50%, var(--ok,#16a34a) 65%, var(--ok,#16a34a) 100%);background-size:220% 100%;justify-content:center;align-items:center;gap:.6rem;animation:1.4s linear infinite btn-shimmer;display:inline-flex}@keyframes btn-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}.btn-spinner{border:2.5px solid #ffffff73;border-top-color:#fff;border-radius:50%;width:1.1rem;height:1.1rem;animation:.8s linear infinite btn-spin}@keyframes btn-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.tdc-footer-start.is-starting{animation:none}.btn-spinner{animation:1.5s linear infinite btn-spin}}.seat-ring{width:min(78vmin,700px);height:min(78vmin,700px);position:relative}.seat{text-align:center;background:var(--bg-2);width:110px;height:130px;box-shadow:var(--shadow-sm);border:3px solid #0000;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:.3rem;margin-top:-65px;margin-left:-55px;padding:.5rem .4rem;font-size:.85rem;transition:transform .38s,box-shadow .38s,border-color .38s,opacity .28s;display:flex;position:absolute}.seat.empty{border-style:dashed;border-color:var(--bg-3);cursor:pointer;color:var(--muted);background:#ffffff8c}.seat.empty:hover{background:#ffffffd9}.seat.taken{border-color:var(--bg-3)}.seat.ready{border-color:var(--ok)}.seat.active{border-color:var(--accent);z-index:5;border-width:4px;animation:1.4s ease-in-out infinite seat-active-pulse;transform:scale(1.16)}@keyframes seat-active-pulse{0%,to{box-shadow:0 0 0 4px #dc262659, 0 0 28px 8px #dc26268c, var(--shadow)}50%{box-shadow:0 0 0 8px #dc262673, 0 0 56px 16px #dc2626d9, var(--shadow)}}.seat.disconnected{opacity:.45}.seat .name{font-weight:700}.seat .count{font-size:1.3rem;font-weight:800}.seat .count-row{justify-content:center;align-items:center;gap:.35rem;display:flex}.seat .hand-icons{align-items:flex-end;display:inline-flex}.seat .hand-icon{background:linear-gradient(135deg,#1e3a8a 0%,#1e40af 50%,#1d4ed8 100%);border:1px solid #fff;border-radius:2px;width:8px;height:14px;margin-left:-3px;display:inline-block;box-shadow:0 1px 2px #0003}.seat .hand-icon:first-child{margin-left:0}.seat.active .hand-icon{transform:translateY(-1px)}.seat .badge{border:2px solid #0003;border-radius:50%;width:1rem;height:1rem;display:inline-block;box-shadow:inset 0 1px 2px #0002}.seat-ring.compact .seat{width:112px;height:124px;box-shadow:none;background:0 0;border:none;border-radius:50%;gap:0;margin-top:-56px;margin-left:-56px;padding:0;overflow:visible}.seat-ring.compact .seat.empty,.seat-ring.compact .seat.taken,.seat-ring.compact .seat.ready{box-shadow:none;background:0 0;border:none}.seat-ring.compact .seat .seat-avatar{color:#fff;text-shadow:0 1px 2px #0006;border:4px solid var(--bg-3);width:92px;height:92px;box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;font-size:2.4rem;font-weight:800;transition:border-color .28s,transform .28s,box-shadow .28s;display:flex}.seat-ring.compact .seat.ready .seat-avatar{border-color:var(--ok);box-shadow:0 0 0 6px #22c55e38, var(--shadow-sm)}.seat-ring.compact .seat.disconnected .seat-avatar{opacity:.4}.seat-ring.compact .seat .seat-name{color:var(--fg);white-space:nowrap;text-overflow:ellipsis;text-align:center;max-width:120px;margin-top:6px;font-size:.95rem;font-weight:700;overflow:hidden}.seat-ring.compact .seat.empty .seat-num{border:3px dashed var(--bg-3);width:92px;height:92px;color:var(--fg);background:#ffffffb3;border-radius:50%;justify-content:center;align-items:center;font-size:2.6rem;font-weight:800;line-height:1;animation:2.2s ease-in-out infinite empty-seat-glow;display:flex}.seat-ring.compact .seat.empty{cursor:pointer}.seat-ring.compact .seat.empty:hover .seat-num{border-color:var(--accent);color:var(--accent);background:#fff}@keyframes empty-seat-glow{0%,to{border-color:var(--bg-3);box-shadow:0 0 #dc262600,0 0 12px 2px #dc26262e}50%{border-color:var(--accent);box-shadow:0 0 0 6px #dc26262e,0 0 28px 8px #dc26266b}}@media (prefers-reduced-motion:reduce){.seat-ring.compact .seat.empty .seat-num{animation:none}}.phc-seat-prompt{text-align:center;color:var(--fg);max-width:28rem;padding:0 .5rem;font-size:1.05rem;font-weight:600;line-height:1.35}.seat-grid{grid-template-columns:repeat(4,1fr);gap:.7rem;width:100%;max-width:28rem;padding:0 .25rem;display:grid}.seat-grid-item{aspect-ratio:1;border:2px solid var(--bg-3);background:var(--bg-2);cursor:default;color:var(--fg);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:.5rem .35rem;font-family:inherit;transition:transform .12s,border-color .2s,background .2s;display:flex}.seat-grid-item.empty{color:var(--muted);background:#fff9;border-style:dashed}.seat-grid-item.taken{background:var(--bg-2);border-color:var(--bg-3);opacity:.85}.seat-grid-item.ready{border-color:var(--ok)}.seat-grid-item.mine{border-color:var(--accent);opacity:1;background:#dc262614}.seat-grid-item.tappable{cursor:pointer;color:var(--fg);background:#fffffff2}.seat-grid-item.tappable:hover,.seat-grid-item.tappable:active{border-color:var(--accent);background:#fff;transform:scale(.97)}.seat-grid-item:disabled{cursor:not-allowed}.seat-grid-number{font-size:1.8rem;font-weight:800;line-height:1}.seat-grid-name{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.7rem;font-weight:600;overflow:hidden}@media (width<=360px){.seat-grid{grid-template-columns:repeat(4,1fr);gap:.5rem}.seat-grid-number{font-size:1.5rem}}.status-dot{background:var(--muted);border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.status-dot.status-connected{background:var(--ok);box-shadow:0 0 0 3px #22c55e2e}.status-dot.status-connecting{background:#f59e0b}.status-dot.status-disconnected{background:#ef4444}.kebab{position:relative}.kebab-trigger{min-width:36px;min-height:36px;padding:.3rem .7rem;font-size:1.4rem;line-height:1}.kebab-menu{background:var(--bg-1,#fff);border:1px solid var(--bg-3);z-index:100;border-radius:12px;flex-direction:column;gap:2px;min-width:180px;padding:.35rem;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 28px #0000002e}.kebab-item{text-align:left;cursor:pointer;color:var(--fg);background:0 0;border:none;border-radius:8px;align-items:center;gap:.7rem;min-height:44px;padding:.7rem .9rem;font-size:1rem;display:flex}.kebab-item:hover,.kebab-item:focus-visible{background:var(--bg-2);outline:none}.kebab-item-danger{color:#b91c1c;font-weight:600}.kebab-item-danger:hover{background:#ef44441a}.action-bar{left:50%;bottom:max(1rem, env(safe-area-inset-bottom,0));z-index:50;pointer-events:none;width:min(90%,560px);display:flex;position:fixed;transform:translate(-50%)}.action-bar>*{pointer-events:auto}.action-bar .primary-cta{border-radius:16px;flex:1;min-height:64px;padding:1.1rem 1.4rem;font-size:1.35rem;font-weight:800;box-shadow:0 6px 18px #0000002e}.action-bar .primary-cta:disabled{opacity:.55;cursor:not-allowed}.phc-main:has(.action-bar),.tdc-table:has(.action-bar){padding-bottom:calc(96px + env(safe-area-inset-bottom,0))}.card-face{color:#fff;width:84px;height:120px;box-shadow:var(--shadow);text-shadow:0 1px 2px #0006;-webkit-user-select:none;user-select:none;border:4px solid #fff;border-radius:12px;outline:2px solid #0003;flex-direction:column;justify-content:center;align-items:center;font-weight:800;display:flex;position:relative}.card-face.small{border-width:3px;width:56px;height:80px;font-size:1rem}.card-face.tiny{border-width:2px;width:32px;height:48px;font-size:.7rem}.card-face .label{letter-spacing:.06em;text-transform:uppercase;font-size:.6rem;font-weight:700;position:absolute;bottom:4px}.card-face .symbol{font-size:2.4rem}.card-face.small .symbol{font-size:1.6rem}.card-face.tiny .symbol{font-size:1rem}.color-red{background:var(--red)}.color-yellow{background:var(--yellow);color:#2a1a00;text-shadow:0 1px 2px #fff8}.color-green{background:var(--green)}.color-blue{background:var(--blue)}.color-wild{background:linear-gradient(135deg, var(--red) 0%, var(--yellow) 33%, var(--green) 66%, var(--blue) 100%)}.card-back{width:84px;height:120px;box-shadow:var(--shadow);color:#fff7;letter-spacing:.05em;text-shadow:0 2px 4px #0007;background:linear-gradient(135deg,#dc2626 0%,#7f1d1d 100%);border:4px solid #fff;border-radius:12px;outline:2px solid #0003;justify-content:center;align-items:center;font-size:1.8rem;font-style:italic;font-weight:900;display:flex}.card-back.small{border-width:3px;width:56px;height:80px;font-size:1.2rem}.card-back.tiny{border-width:2px;width:32px;height:48px;font-size:.7rem}.pile{flex-direction:column;align-items:center;gap:.5rem;display:flex}.pile-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;font-weight:700}.deck-stack{cursor:pointer;width:84px;height:120px;position:relative}.deck-stack>*{position:absolute}.deck-stack>:first-child{transform:translate(-3px,-3px)rotate(-2deg)}.deck-stack>:nth-child(2){transform:translate(0)}.phc-root{grid-template-rows:auto 1fr auto;min-height:100vh;display:grid}.phc-header{border-bottom:2px solid var(--bg-3);background:#fff8e6d9;align-items:center;gap:.6rem;padding:.9rem 1rem;display:flex}.phc-main{flex-direction:column;align-items:center;gap:1rem;padding:1rem;display:flex}.phc-hand{flex-wrap:wrap;justify-content:center;gap:.4rem;display:flex}.phc-hand .card-face{cursor:pointer;transition:transform .12s}.phc-hand .card-face.playable{outline:3px solid var(--accent);outline-offset:2px}.phc-hand .card-face.unplayable{filter:grayscale(.5);opacity:.55}.phc-hand .card-face:active{transform:translateY(2px)scale(.98)}.phc-hand.waiting{filter:grayscale(.55)brightness(.92);opacity:.7;transition:filter .2s,opacity .2s}.phc-hand.waiting .card-face{cursor:default}.turn-banner{width:100%;max-width:460px;box-shadow:var(--shadow-sm);text-align:center;border:2px solid #0000;border-radius:14px;justify-content:center;align-items:center;gap:.6rem;padding:.85rem 1rem;font-size:1.15rem;font-weight:800;display:flex}.turn-banner .turn-meta{opacity:.7;text-transform:uppercase;letter-spacing:.05em;margin-left:auto;font-size:.8rem;font-weight:600}.turn-banner.my-turn{background:linear-gradient(135deg, var(--accent) 0%, #f97316 100%);color:#fff;box-shadow:0 0 0 3px #dc262640, var(--shadow);border-color:#fff;animation:1.6s ease-in-out infinite pulse-mine}.turn-banner.not-my-turn{background:var(--bg-soft);color:var(--muted);border-color:var(--bg-3)}.turn-banner .turn-badge{border:2px solid #fff;border-radius:50%;width:1.1rem;height:1.1rem;display:inline-block;box-shadow:0 0 0 1px #0003,inset 0 1px 2px #0002}@keyframes pulse-mine{0%,to{box-shadow:0 0 0 3px #dc262633, var(--shadow)}50%{box-shadow:0 0 0 6px #dc262659, var(--shadow)}}.phc-controls{border-top:2px solid var(--bg-3);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fff8e6f2;flex-direction:column;gap:.5rem;padding:.8rem;display:flex;position:sticky;bottom:0}.phc-controls-row{gap:.5rem;display:flex}.phc-controls-row button{flex:1}.toast{background:var(--danger);color:#fff;z-index:100;box-shadow:var(--shadow);border-radius:999px;padding:.7rem 1.2rem;font-weight:700;position:fixed;top:1rem;left:50%;transform:translate(-50%)}.modal-backdrop{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#2814008c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:var(--bg-2);width:100%;max-width:420px;box-shadow:var(--shadow);border:1px solid #f3e3bf;border-radius:16px;padding:1.6rem}.color-grid{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.color-grid button{color:#fff;text-shadow:0 1px 2px #0008;height:80px;font-size:1.1rem}.qr-block{box-shadow:var(--shadow-sm);background:#fff;border-radius:12px;flex-direction:column;align-items:center;gap:.6rem;padding:1rem;display:flex}.code-display{letter-spacing:.5rem;text-align:center;color:var(--accent);text-shadow:0 2px #fff8;font-size:3.4rem;font-weight:900}.winner-banner{text-align:center;background:linear-gradient(90deg, var(--red) 0%, var(--yellow) 33%, var(--green) 66%, var(--blue) 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:1rem 0;font-size:2.4rem;font-weight:900}.history-list{flex-direction:column;gap:.4rem;display:flex}.history-list .item{background:var(--bg-soft);border:1px solid var(--bg-3);border-radius:10px;gap:1rem;padding:.55rem .85rem;display:flex}.discard-stack{display:inline-block;position:relative}.discard-shadow{pointer-events:none;background:#0000002e;border:1px solid #0000001f;border-radius:12px;width:84px;height:120px;position:absolute;box-shadow:0 2px 6px #0000002e}.discard-shadow.shadow-1{z-index:1;top:-3px;left:-3px;transform:rotate(-3deg)}.discard-shadow.shadow-2{z-index:0;top:-6px;left:-7px;transform:rotate(-6deg)}.discard-stack .discard-slot{z-index:2;position:relative}.discard-slot{animation:.62s cubic-bezier(.22,.85,.3,1.05) card-land;display:inline-block}@keyframes card-land{0%{opacity:0;transform:translate(var(--from-x,0px), var(--from-y,-28px)) rotate(var(--from-rot,-10deg)) scale(1.04)}55%{opacity:1;transform:translateY(2px)rotate(2deg)scale(1.04)}to{opacity:1;transform:translate(0)rotate(0)scale(1)}}.replay-panel{border:2px solid var(--bg-3);z-index:6;text-align:center;background:#fffffff5;border-radius:18px;min-width:min(520px,92%);padding:1.1rem 1.3rem;position:absolute;top:8%;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #0000002e}.replay-panel-title{color:var(--accent);margin-bottom:.4rem;font-size:1.4rem;font-weight:800}.replay-panel-tally{justify-content:center;align-items:center;gap:.8rem;margin-bottom:.7rem;font-size:1.05rem;font-weight:700;display:flex}.replay-panel-tally .tally-yes{color:var(--ok,#16a34a)}.replay-panel-tally .tally-no{color:#dc2626}.replay-panel-seats{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:.7rem;display:flex}.replay-seat{background:var(--bg-2);border:2px solid var(--bg-3);border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .7rem;font-weight:600;display:inline-flex}.replay-seat .replay-seat-vote{font-size:1.05rem;font-weight:800}.replay-seat-yes{border-color:var(--ok,#16a34a);background:#22c55e1f}.replay-seat-yes .replay-seat-vote{color:var(--ok,#16a34a)}.replay-seat-no{background:#dc26261f;border-color:#dc2626}.replay-seat-no .replay-seat-vote{color:#dc2626}.replay-seat-pending{opacity:.7}.replay-seat-pending .replay-seat-vote{color:var(--muted)}.replay-panel-actions{margin-top:.5rem}.replay-panel-actions .row{justify-content:center;gap:.7rem}.replay-panel-actions button{padding:.7rem 1.2rem;font-size:1.05rem}.replay-waiting{text-align:center;justify-content:center}.lobby-status-strip{white-space:nowrap;color:var(--muted);z-index:4;background:#ffffffd9;border-radius:999px;padding:.35rem .9rem;font-size:.95rem;font-weight:600;position:absolute;bottom:.6rem;left:50%;transform:translate(-50%);box-shadow:0 2px 6px #00000014}.up-next-strip{border:2px solid var(--bg-3);z-index:4;background:#ffffffeb;border-radius:999px;align-items:center;gap:1.2rem;padding:.6rem 1.1rem;font-size:1.05rem;font-weight:600;animation:.38s cubic-bezier(.2,.8,.3,1.1) up-next-pop;display:flex;position:absolute;bottom:1rem;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #00000024}.up-next-strip .up-next-now,.up-next-strip .up-next-next{align-items:center;gap:.5rem;display:flex}.up-next-strip .up-next-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.7rem;font-weight:700}.up-next-strip .up-next-name{font-weight:800}.up-next-strip .up-next-arrow{color:var(--accent);font-size:1.4rem;font-weight:800}@keyframes up-next-pop{0%{opacity:0;transform:translate(-50%,6px)scale(.96)}to{opacity:1;transform:translate(-50%)scale(1)}}.color-flash{pointer-events:none;z-index:30;animation:.75s ease-out forwards color-flash;position:fixed;inset:0}.color-flash.flash-red{background:radial-gradient(circle,#ef44448c 0%,#0000 65%)}.color-flash.flash-yellow{background:radial-gradient(circle,#facc1599 0%,#0000 65%)}.color-flash.flash-green{background:radial-gradient(circle,#22c55e8c 0%,#0000 65%)}.color-flash.flash-blue{background:radial-gradient(circle,#2563eb8c 0%,#0000 65%)}@keyframes color-flash{0%{opacity:0}25%{opacity:1}to{opacity:0}}.direction-arrow{animation:.6s ease-in-out direction-flip;display:inline-block}@keyframes direction-flip{0%{transform:rotate(0)scale(1)}40%{transform:rotate(180deg)scale(1.4)}to{transform:rotate(360deg)scale(1)}}.phc-hand .card-face{animation:.36s cubic-bezier(.2,.85,.35,1.05) backwards card-deal}.phc-hand .card-face:first-child{animation-delay:20ms}.phc-hand .card-face:nth-child(2){animation-delay:80ms}.phc-hand .card-face:nth-child(3){animation-delay:.14s}.phc-hand .card-face:nth-child(4){animation-delay:.2s}.phc-hand .card-face:nth-child(5){animation-delay:.26s}.phc-hand .card-face:nth-child(6){animation-delay:.32s}.phc-hand .card-face:nth-child(7){animation-delay:.38s}.phc-hand .card-face:nth-child(n+8){animation-delay:.44s}@keyframes card-deal{0%{opacity:0;transform:translateY(48px)scale(.78)rotate(-6deg)}to{opacity:1;transform:translateY(0)scale(1)rotate(0)}}.turn-announce{background:linear-gradient(135deg, var(--accent) 0%, #f97316 100%);color:#fff;z-index:50;pointer-events:none;border:3px solid #fff;border-radius:18px;align-items:center;gap:.8rem;padding:1.1rem 1.8rem;font-size:clamp(1.4rem,2.6vw,2rem);font-weight:800;animation:1.4s ease-in-out forwards turn-announce;display:flex;position:fixed;top:22%;left:50%;transform:translate(-50%);box-shadow:0 12px 40px #3c1e0052}.turn-announce .turn-badge{border:3px solid #fff;border-radius:50%;width:1.5rem;height:1.5rem;box-shadow:inset 0 1px 3px #0003}@keyframes turn-announce{0%{opacity:0;transform:translate(-50%,-10px)scale(.92)}18%{opacity:1;transform:translate(-50%)scale(1)}82%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-8px)scale(.96)}}.draw-announce{color:#fff;z-index:51;pointer-events:none;background:linear-gradient(135deg,#0ea5e9 0%,#14b8a6 100%);border:3px solid #fff;border-radius:18px;align-items:center;gap:.8rem;padding:1.1rem 1.8rem;font-size:clamp(1.4rem,2.6vw,2rem);font-weight:800;animation:1.6s ease-in-out forwards turn-announce;display:flex;position:fixed;top:22%;left:50%;transform:translate(-50%);box-shadow:0 12px 40px #001e3c52}.draw-announce .turn-badge{border:3px solid #fff;border-radius:50%;width:1.5rem;height:1.5rem;box-shadow:inset 0 1px 3px #0003}.draw-fly{z-index:4;pointer-events:none;margin-top:-56px;margin-left:-40px;animation:.9s cubic-bezier(.34,1.2,.6,1) forwards card-fly-to-seat;position:absolute;top:50%;left:50%}@keyframes card-fly-to-seat{0%{opacity:0;transform:translate(0)rotate(0)scale(.8)}18%{opacity:1;transform:translateY(-6px)rotate(0)scale(1.05)}to{opacity:0;transform:translate(var(--to-x,0), var(--to-y,0)) rotate(var(--to-rot,0deg)) scale(.7)}}@media (prefers-reduced-motion:reduce){.seat.active,.discard-slot{animation:none}.color-flash{animation:.75s ease-out forwards color-flash-fade}@keyframes color-flash-fade{0%,to{opacity:0}25%{opacity:.6}}.direction-arrow,.phc-hand .card-face{animation:none}.turn-announce{animation:1.4s ease-in-out forwards turn-announce-fade}@keyframes turn-announce-fade{0%,to{opacity:0}18%,82%{opacity:1}}.draw-announce{animation:1.6s ease-in-out forwards turn-announce-fade}.draw-fly{animation:.9s ease-out forwards draw-fly-fade}@keyframes draw-fly-fade{0%{opacity:0}25%,70%{opacity:1}to{opacity:0}}.turn-banner.my-turn{animation:none}}
