:root{--ink:#172e2d;--green:#0e4843;--cream:#f4efe4;--gold:#d9a538;--paper:#fffdf8;--red:#b94b38;--table-overlay:#1f262a94}html,body{overscroll-behavior-x:none}*{box-sizing:border-box}body{min-width:0;color:var(--ink);background:var(--cream);margin:0;font-family:DM Mono,monospace}.pwa-pull-refresh{z-index:200;top:max(.5rem, env(safe-area-inset-top));transform:translate(-50%, calc(-100% - 1rem + var(--pull-distance)));color:#f4efe4;white-space:nowrap;pointer-events:none;background:#0e4843;border:1px solid #d9a538;border-radius:999px;align-items:center;gap:.45rem;padding:.55rem .8rem;font-size:.72rem;transition:transform .18s ease-out;display:flex;position:fixed;left:50%;box-shadow:0 4px 12px #001b1999}.pwa-pull-refresh.dragging{transition:none}.pwa-pull-refresh>span{font-size:1.2rem;line-height:.8}button,input{font:inherit}button{cursor:pointer}.page-shell{grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);min-height:100vh;display:grid;overflow:hidden}.hero{background:radial-gradient(circle at 72% 22%, #2b675c 0 1%, transparent 28%), var(--green);min-height:100vh;color:var(--cream);padding:clamp(2.5rem,7vw,7rem);position:relative;overflow:hidden}.hero:after{content:"";border:1px solid #d9a53855;border-radius:50%;width:55vw;height:55vw;position:absolute;bottom:-35vw;left:-23vw}.eyebrow{letter-spacing:.13em;text-transform:uppercase;color:var(--gold);margin:0 0 .85rem;font-size:.68rem}h1,h2{margin:0;font-family:Playfair Display,serif;line-height:.91}h1{z-index:1;letter-spacing:-.07em;font-size:clamp(4rem,9vw,8.5rem);position:relative}h1 em{color:var(--gold)}.intro{color:#d8e0d6;max-width:28rem;margin:2.2rem 0 0;font-size:.88rem;line-height:1.8}.home-public-links{z-index:1;flex-wrap:wrap;gap:.7rem 1.4rem;margin-top:2rem;font-size:.72rem;display:flex;position:relative}.home-public-links a{color:var(--cream);text-underline-offset:.2em}.card-fan{width:clamp(270px,32vw,450px);height:530px;position:absolute;bottom:-11rem;right:clamp(-3rem,3vw,5rem)}.card-fan img{border-radius:12px;width:42%;position:absolute;bottom:0;box-shadow:0 25px 40px #001b1888}.card-fan img:first-child{left:3%;transform:rotate(-16deg)}.card-fan img:nth-child(2){left:30%;transform:rotate(-2deg)}.card-fan img:nth-child(3){left:57%;transform:rotate(14deg)}.panel{background:var(--paper);place-items:center;padding:2rem;display:grid}.auth-form,.lobby{width:min(100%,27rem)}h2{letter-spacing:-.06em;font-size:clamp(2.25rem,4vw,3.4rem)}.auth-form h2{margin-bottom:2.8rem}.auth-mode-prompt{text-align:center;margin:1rem 0 0;font-size:.76rem}.auth-mode-link{color:var(--green);text-underline-offset:.2em;cursor:pointer;background:0 0;border:0;margin:0;padding:0;font-size:.76rem;text-decoration:underline;display:inline}.auth-mode-link:hover,.auth-mode-link:focus-visible{color:var(--red)}label{letter-spacing:.03em;gap:.6rem;margin:1.3rem 0;font-size:.72rem;display:grid}input:not([type=range]):not([type=checkbox]){width:100%;color:var(--ink);background:0 0;border:0;border-bottom:1px solid #b9c0b9;outline:none;padding:.9rem 0}input:not([type=range]):not([type=checkbox]):focus{border-color:var(--green)}.auth-form .remember-me{cursor:pointer;align-items:center;gap:.65rem;margin:1.35rem 0 0;display:flex}.auth-form .remember-me input{width:1rem;height:1rem;accent-color:var(--green);margin:0}.primary-button{background:var(--red);color:#fff;letter-spacing:.04em;border:0;border-radius:2px;width:100%;margin-top:2rem;padding:1rem 1.25rem;font-size:.76rem;transition:transform .16s,background .16s}.primary-button:hover:not(:disabled){background:#9e382b;transform:translateY(-2px)}.primary-button:disabled{opacity:.65;cursor:wait}.panel-heading{justify-content:space-between;align-items:start;margin-bottom:3rem;display:flex}.global-player-stats{grid-template-columns:repeat(4,max-content);gap:.2rem .8rem;margin:.55rem 0 0;font-size:.58rem;display:grid}.global-player-stats div{display:contents}.global-player-stats dt{color:#68746e}.global-player-stats dd{margin:0;font-family:DM Mono,monospace}.panel-heading h2{font-size:2.8rem}.quiet-button{color:#66716c;background:0 0;border:0;font-size:.68rem;text-decoration:underline}fieldset{border:0;margin:0;padding:0}legend{margin-bottom:.9rem;font-size:.72rem}.segmented{border:1px solid #c4cac3;grid-template-columns:repeat(3,1fr);display:grid}.segmented button{color:var(--ink);background:0 0;border:0;border-right:1px solid #c4cac3;padding:.8rem}.segmented button:last-child{border:0}.segmented .selected{background:var(--green);color:#fff}.lobby label{grid-template-columns:1fr auto;align-items:center;margin-top:2.2rem}.lobby label span{color:var(--red);font-size:1rem}input[type=range]{width:100%;accent-color:var(--red)}.hint{color:#75807a;margin:.8rem 0 0;font-size:.67rem;line-height:1.65}.message{width:min(100%,27rem);margin:1.2rem 0 0;padding:1rem;font-size:.7rem;line-height:1.6}.error{color:#8d3023;background:#f9e8e2}.success{color:#18563f;background:#e3f0e9}.message p{margin:0}.message small{margin-top:.45rem;font-size:.6rem;display:block}.retry-sync{color:inherit;background:0 0;border:1px solid;margin-top:.65rem;padding:.45rem .65rem;font-size:.62rem;display:block}@media (max-width:800px){.page-shell{grid-template-columns:1fr}.hero{min-height:43vh;padding:3rem 2rem}.card-fan{width:260px;bottom:-12rem;right:-.5rem}.panel{min-height:57vh;padding:3rem 1.5rem}.intro{max-width:16rem}}
:root{--table-layer-trick-collection:2;--table-layer-excuse-return:13;--table-layer-excuse-avatar:15;--table-layer-trick:20;--table-layer-hand:21;--table-layer-hand-badge:23;--table-layer-card-flight:60;--table-layer-card-followup:61;--table-layer-autoplay-flight:101;--table-layer-above-autoplay-flight:102;--table-layer-autoplay-card-followup:var(--table-layer-above-autoplay-flight);--table-layer-flight-badge:var(--table-layer-above-autoplay-flight);--table-layer-seat-reactions:var(--table-layer-above-autoplay-flight);--table-layer-final-trick-score:103;--table-layer-autoplay-backdrop:110;--table-layer-autoplay-resume:112;--table-layer-hand-actions:113;--table-layer-saved-deals-modal:114;--table-layer-stats-modal:114;--table-layer-review-modal:114;--table-layer-controls:120;--table-layer-confirmation-modal:121;--table-layer-connection-backdrop:130;--table-layer-debug-modal:150;--table-layer-socket-debug-modal:151}
:root{--table-trick-card-shadow:0 4px 8px #002c;--table-trick-card-drop-shadow:drop-shadow(0 4px 5px #002c)}.game-page{color:var(--ink)}.debug-trigger{color:#68746e;background:0 0;border:0;padding:0;font-size:.6rem;text-decoration:underline}.debug-trigger.dark{color:var(--cream);position:absolute;top:2rem;right:2rem}.debug-panel{color:var(--ink);text-align:left;font-size:.67rem}.debug-panel p{color:#68746e;line-height:1.5}.debug-copy{background:var(--green);color:#fff;border:0;width:100%;padding:.7rem;font-size:.65rem}.debug-panel ol{margin:1rem 0 0;padding:0;list-style:none}.debug-panel li{border-bottom:1px solid #e0e0d8;padding:.6rem 0}.debug-panel time{color:#78847d}.debug-panel b{color:var(--red)}.debug-panel pre{white-space:pre-wrap;word-break:break-word;background:#edf0eb;max-height:8rem;margin:.4rem 0 0;padding:.45rem;font:.58rem/1.4 DM Mono,monospace;overflow:auto}.table-and-deck{-webkit-user-select:none;user-select:none;background:radial-gradient(#1c766c,#07443e);order:1;width:100%;min-width:0;max-width:100%;position:relative;overflow:visible}.felt{background:0 0;min-height:30rem;margin:1rem 1.5rem 0;position:relative;overflow:hidden}.felt:before{display:none}.felt>.table-round-number{z-index:0;color:#f5ecd7b3;pointer-events:none;font:.75rem DM Mono,monospace;position:absolute;bottom:.65rem;left:.75rem}.opponent,.player-self{z-index:1;color:#f5ecd7;text-align:center;justify-items:center;gap:.22rem;width:9rem;font-size:.62rem;display:grid;position:absolute}.opponent small,.player-self small{color:#e8d7a8aa}.player-badge{z-index:1;justify-items:center;width:100%;display:grid;position:relative}.player-badge-portrait-area{width:3.8rem;height:3.8rem;position:relative}.player-badge-avatar{background:#f0cb84 url(/avatar-default.svg) 50%/cover no-repeat;border:2px solid #e8c772;border-radius:50%;width:3.35rem;height:3.35rem;display:block;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #9b6b32,0 3px 9px #001d1bb3}.player-badge-avatar.bot-avatar{background:#154e42 url(/avatar-bot.svg) 50%/cover no-repeat;box-shadow:0 0 0 2px #0b3a33,0 3px 9px #001d1bb3}.player-badge-card-count{z-index:2;text-shadow:0 1px 3px #001c1acc;font:700 .82rem/1 system-ui,sans-serif;position:absolute;top:50%;right:calc(100% + .15rem);transform:translateY(-50%);color:#fff5d5!important}.player-badge-role,.player-badge-dealer{z-index:4;position:absolute;top:-.2rem}.player-badge-role{top:-.4rem;right:-.4rem}.player-badge-dealer{top:1.15rem;left:calc(100% - .2rem)}.player-badge-called{z-index:7;position:absolute;bottom:-.1rem;right:-1.75rem;box-shadow:0 2px 5px #001c1a99}.player-badge-indicators{z-index:7;flex-direction:column;align-items:flex-start;gap:.12rem;display:flex;position:absolute;top:-.2rem;left:-.2rem}.player-badge-indicators:empty{display:none}.player-badge-assistance-history{z-index:6;pointer-events:none;position:absolute;inset:0}.assistance-history-indicator{background:#0b3d35;border:1px solid #e8c772;border-radius:50%;place-items:center;width:1.05rem;height:1.05rem;animation:.7s both assistant-indicator-bounce;display:grid;position:absolute;bottom:.65rem;box-shadow:0 1px 4px #001c1a99}.assistance-history-seen{color:#8ed5ff;left:-.1rem}.assistance-history-used{color:#f5df9b;right:-.1rem}.assistance-history-indicator svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:.78rem;height:.78rem}.player-badge-indicators>.assistant-indicator{color:#3d94dc;width:1.65rem;height:1.65rem;box-shadow:0 1px 4px #001c1a99;box-shadow:none;background:0 0;border:0;border-radius:50%;flex:0 0 1.65rem;place-items:center;display:inline-grid;position:relative;translate:-.45rem -.27rem}.player-badge-indicators>.assistant-indicator>.assistant-indicator-content{place-items:center;width:100%;height:100%;animation:.65s both assistant-indicator-bounce-in;display:grid;position:relative}.player-badge-indicators>.assistant-indicator>.assistant-indicator-content>svg{stroke:#1d62a8;width:1.8rem;height:1.8rem}.player-badge-indicators>.assistant-indicator>.assistant-indicator-content.assistant-indicator-state-change{animation:.55s both assistant-indicator-bounce}.player-badge-indicators>.assistant-indicator .assistant-indicator-seen{z-index:1;box-shadow:none;background:0 0;border:0;animation:none;bottom:-.15rem;left:auto;right:-.15rem}.player-badge-indicators>.assistant-indicator .assistant-indicator-seen svg{width:.78rem;height:.78rem}.player-self .assistant-indicator-disabled{opacity:.7}.player-badge-indicators>.assistant-indicator>.assistant-indicator-content.assistant-indicator-exit{animation:.5s ease-in forwards assistant-indicator-bounce-away}@keyframes assistant-indicator-bounce-away{0%{opacity:1;transform:translateY(0)scale(1)}35%{opacity:1;transform:translateY(.1rem)scale(1.25)}to{opacity:0;transform:translateY(-.85rem)scale(.2)}}@keyframes assistant-indicator-bounce{0%{transform:scale(1)}35%{transform:scale(1.28)}65%{transform:scale(.9)}85%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes assistant-indicator-bounce-in{0%{opacity:0;transform:scale(.35)}55%{opacity:1;transform:scale(1.35)}75%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.assistance-history-indicator,.player-badge-indicators>.assistant-indicator>.assistant-indicator-content{animation:none}.player-badge-indicators>.assistant-indicator>.assistant-indicator-content.assistant-indicator-exit{opacity:0;animation:none}}.player-badge-indicators svg{width:.9rem;height:.9rem}.player-badge-portrait-area>.seat-turn-countdown{z-index:3;contain:paint;pointer-events:none;width:4.24rem;height:4.24rem;position:absolute;top:-.22rem;left:-.22rem}.player-badge-portrait-area>.seat-turn-countdown text{display:none}.player-badge-portrait-area .turn-countdown-track{stroke:#4a765a}.player-badge-portrait-area .turn-countdown-progress{stroke:#79c994;filter:drop-shadow(0 0 2px #a8e2b3)}.seat-name{z-index:6;box-sizing:border-box;color:#fff4d4;background:linear-gradient(#205c4d,#0b3d35);border:1px solid #ad915b;border-radius:.46rem;justify-content:center;align-items:center;gap:.25rem;min-width:5.3rem;max-width:100%;min-height:1.5rem;margin-top:-.72rem;padding:.1rem .42rem;font:700 .68rem/1.15 Playfair Display,serif;transition:background .2s,box-shadow .2s;display:flex;position:relative;box-shadow:0 2px #082f29,0 4px 8px #001b1999}.seat-name>.offline-indicator{background:#0b3d35;border:1px solid #e8c772;border-radius:50%;place-items:center;width:1.1rem;height:1.1rem;display:grid;position:absolute;top:-.45rem;left:-.45rem;box-shadow:0 1px 4px #001c1a99}.seat-name>.offline-indicator svg{width:.8rem;height:.8rem}.player-badge-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.dealer-marker,.role-marker,.assistant-indicator{border-radius:50%;place-items:center;width:1.2rem;height:1.2rem;font-family:Playfair Display,serif;font-size:.75rem;display:inline-grid}.assistant-indicator{color:#f7d577}.role-marker{color:#f5df9b;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:0 0;border:1px solid #f5df9b80;width:1.6rem;height:1.6rem;box-shadow:0 1px 4px #0003}.player-badge-role .role-marker{animation:.78s both role-marker-appears}@keyframes role-marker-appears{0%{transform:scale(0)}52%{transform:scale(2)}72%{transform:scale(.82)}85%{transform:scale(1.13)}94%{transform:scale(.97)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.player-badge-role .role-marker{animation:none}}.role-marker svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1.4rem;height:1.4rem;display:block}.taker-marker,.partner-marker{background:#0c433a}.defender-marker{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:0}.defender-marker svg{fill:#0c433a;filter:drop-shadow(0 2px 2px #0006)}.assistant-indicator svg{fill:currentColor;stroke:#6a4219;stroke-width:1.2px;stroke-linecap:round;stroke-linejoin:round;width:1.2rem;height:1.2rem}.dealer-marker{background:var(--gold);color:#563510}.current-player .player-badge-avatar{box-shadow:0 0 0 3px #f8d86b,0 0 15px 4px #f8d86b99}.current-player .seat-name{color:#123d39;background:linear-gradient(#ebcc72,#cda142);box-shadow:0 2px #866224,0 0 12px #f8d86b99}.current-player small{color:#fff4c6}.players-5 .seat-1{top:54%;right:5%}.players-5 .seat-2{top:12%;right:18%}.players-5 .seat-3{top:12%;left:18%}.players-5 .seat-4{top:54%;left:5%}.players-4 .seat-1{top:47%;right:5%}.players-4 .seat-2{top:6%;left:50%;transform:translate(-50%)}.players-4 .seat-3{top:47%;left:5%}.players-3 .seat-1{top:16%;right:14%}.players-3 .seat-2{top:16%;left:14%}.player-self{z-index:auto;bottom:4%;left:calc(50% - 4.5rem)}.player-self .player-badge{z-index:3}.bid-badge{z-index:7;min-height:1.15rem;text-shadow:none;white-space:nowrap;background:#123d39dd;border:1px solid #fff4be77;border-radius:999px;justify-content:center;align-items:center;padding:.08rem .42rem;font-size:.6rem;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:calc(100% - .4rem);left:50%;transform:translate(-50%);color:#fff4d4!important}.bid-badge.contract{background:#6a4219e8;border-color:#e3b94e;color:#fff3c4!important}.bid-badge.pass{opacity:.82}.called-card{background:#fff4c9;border:1px solid #e5bf54;border-radius:999px;justify-content:center;align-items:center;gap:.12rem;max-width:8rem;padding:.1rem .4rem;font-weight:800;line-height:1;display:inline-flex;color:#191510!important;font-size:1.05rem!important}.called-card strong{font-size:1.2em}.called-card span{font-size:1.35em;line-height:1;transform:translateY(-.01em)}.called-card .red-suit{color:#c9212e}.called-card .black-suit{color:#15120f}.mini-hand{width:6rem;display:flex;overflow:hidden}.mini-hand img{border-radius:2px;width:1.1rem;margin-right:-.7rem;box-shadow:0 1px 2px #002}.mini-trick-packets{z-index:0;justify-self:center;width:0;min-width:0;height:1.85rem;margin-top:.3rem;display:block;position:relative;overflow:visible}.mini-trick-packet{transform-origin:50% 100%;width:1.1rem;height:1.85rem;transition:left .26s ease-in;display:block;position:absolute;top:0;transform:translate(-50%)}.mini-trick-target{visibility:hidden;pointer-events:none;width:1.1rem;height:1.85rem;position:absolute;top:0;transform:translate(-50%)}.mini-trick-packet img,.mini-trick-target img{transform-origin:50% calc(100% + .75rem);margin:0;transition:transform .26s ease-in;position:absolute;left:0}.mini-trick-packet.excuse-card img,.mini-trick-target.excuse-card img{transform-origin:50%;transition:transform .42s cubic-bezier(.22,1,.36,1)}.mini-trick-packet img{box-shadow:0 2px 5px #00121157,0 0 2px #0012114d}.mini-trick-packet.newly-collected{animation:mini-trick-packet-settles var(--card-collection-bounce-duration,.34s) ease-out both}.mini-trick-packet.newly-collected img{animation:mini-trick-packet-shadow-settles var(--card-collection-bounce-duration,.34s) ease-out both}@keyframes mini-trick-packet-settles{0%{transform:translate(-50%)scale(1)}42%{transform:translate(-50%)scale(1.1)}74%{transform:translate(-50%)scale(.97)}to{transform:translate(-50%)scale(1)}}@keyframes mini-trick-packet-shadow-settles{0%{box-shadow:0 2px 9px #00121129,0 0 3px #00121114}to{box-shadow:0 2px 5px #00121157,0 0 2px #0012114d}}@media (prefers-reduced-motion:reduce){.mini-trick-packet{transition:none}.mini-trick-packet.newly-collected,.mini-trick-packet.newly-collected img{animation:none}.mini-trick-packet img{transition:none}}.mini-hand .leaving-back{animation:1s ease-out forwards mini-card-leaves}@keyframes mini-card-leaves{to{opacity:0;transform:translateY(-.35rem)scale(.9)}}
.trick{z-index:2;color:#d6e3d3aa;width:13rem;height:10rem;font-size:.7rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.final-score-anchor{z-index:9;inset:var(--table-window-top-clearance,4.5rem) 0 1rem;pointer-events:none;justify-content:center;align-items:safe center;display:flex;position:absolute}.final-score-on-table{box-sizing:border-box;color:#fff2ce;pointer-events:auto;background:linear-gradient(135deg,#0d4d44f7,#06352ff7),#073c35;border:1px solid #ddc477a8;border-radius:.55rem;flex:none;width:min(22rem,100% - 2rem);padding:1.1rem 1.2rem 1.2rem;position:relative;box-shadow:0 0 0 3px #06352fb8,0 14px 34px #001c}.final-score-close{z-index:1;color:#fff2ce;cursor:pointer;background:#06352f;border:1px solid #ddc477;border-radius:50%;place-items:center;width:2rem;height:2rem;padding:0;font:1.3rem/1 Arial,sans-serif;display:grid;position:absolute;top:-.7rem;right:-.7rem}.final-score-close:hover,.final-score-close:focus-visible{outline-offset:2px;background:#195d4d;outline:2px solid #ffe39a}.final-score-on-table header{text-align:center;border-bottom:1px solid #d8bd7366;padding:.2rem 1.7rem .85rem;position:relative}.final-score-on-table header strong{color:#ffe39a;margin-top:.3rem;font:700 1.2rem Playfair Display,serif;display:block}.final-score-summary{background:#062d2999;border:1px solid #d8bd734d;border-radius:.25rem;gap:.12rem;margin-top:.65rem;padding:.38rem .55rem;display:grid}.final-score-summary p{color:#e2ead5;justify-content:space-between;margin:0;font:.76rem Playfair Display,serif;display:flex}.final-score-summary strong{color:#fff4d1;font:700 .8rem DM Mono,monospace}.final-score-on-table dl{gap:.25rem;margin:.8rem 0 0;font-size:.78rem;display:grid}.final-score-on-table dl div{background:#032d29a6;border-radius:.18rem;justify-content:space-between;gap:1rem;padding:.32rem .5rem;display:flex}.final-score-on-table dt{color:#e2ead5}.final-score-on-table dd{color:#fff4d1;margin:0;font-family:DM Mono,monospace;font-weight:700}.final-score-on-table .final-score-total{color:#ffe39a;background:#195d4de6;border:1px solid #c7a95188;margin-top:.3rem;font-size:.88rem}.final-player-scores{z-index:8;color:#fff2ce;pointer-events:auto;gap:.38rem;min-width:7.6rem;font-size:.74rem;display:grid;position:absolute;top:50%;left:calc(50% + 12.5rem);transform:translateY(-50%)}.final-player-scores p{background:#073b35ed;border:1px solid #d8bd7377;border-radius:.25rem;grid-template-columns:1fr;justify-content:space-between;justify-items:center;gap:.9rem;margin:0;padding:.4rem .5rem;display:grid;box-shadow:0 3px 8px #0019}.final-player-scores strong{color:#ffe39a;font-family:DM Mono,monospace}.final-player-scores span{color:#f5df9b;place-items:center;width:1.4rem;height:1.4rem;display:grid}.final-player-scores svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1.3rem;height:1.3rem}.chelem-table-announcement{z-index:9;border:1px solid var(--gold);width:max-content;max-width:calc(100% - 2rem);color:var(--green);text-align:center;pointer-events:none;background:#fffdf8ed;border-radius:.4rem;padding:.65rem 1rem;font:700 1rem Playfair Display,serif;position:absolute;top:3.5rem;left:50%;transform:translate(-50%);box-shadow:0 8px 22px #001b1780}
.trick figure.opaque-card-arrival{animation-name:card-arrives-opaque}.trick .card-face{aspect-ratio:480/850;contain:layout;display:block;position:relative;overflow:visible}.trick figure .card-badges{opacity:0;animation:.55s linear both trick-card-index-appears}@keyframes trick-card-index-appears{0%,15%{opacity:0}75%,to{opacity:1}}.trick img{width:100%;filter:var(--table-trick-card-drop-shadow);border-radius:4px;display:block}@keyframes card-arrives{0%{opacity:0;transform:translate(calc(var(--from-x) - var(--card-arrival-drag-x,0px)), calc(var(--from-y) - var(--card-arrival-drag-y,0px))) rotate(var(--from-rotation))}to{opacity:1;transform:translate(0, 0) rotate(var(--rotation,0deg))}}@keyframes card-arrives-opaque{0%{opacity:1;transform:translate(calc(var(--from-x) - var(--card-arrival-drag-x,0px)), calc(var(--from-y) - var(--card-arrival-drag-y,0px))) rotate(var(--from-rotation))}to{opacity:1;transform:translate(0, 0) rotate(var(--rotation,0deg))}}@media (prefers-reduced-motion:reduce){.trick figure{animation:none}}.trick>p{width:max-content;margin:0;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.trick figure{width:5.5rem;transform:rotate(var(--rotation,0deg));animation:card-arrives var(--trick-card-arrival-duration,.55s) cubic-bezier(.2, .65, .4, 1) both;margin:0;position:absolute;top:.4rem;left:0}.trick figcaption{color:#f7edd4;text-align:center;margin-top:.25rem;font-size:.54rem}.trick figure:nth-of-type(2){--rotation:5deg;top:.7rem;left:1.6rem}.trick figure:nth-of-type(3){--rotation:-6deg;top:.3rem;left:3.2rem}.trick figure:nth-of-type(4){--rotation:9deg;top:.8rem;left:4.8rem}.trick figure:nth-of-type(5){--rotation:-10deg;top:.45rem;left:6.4rem}.from-top{--from-x:0;--from-y:-13rem;--from-rotation:-4deg}.from-left{--from-x:-14rem;--from-y:1rem;--from-rotation:-12deg}.from-right{--from-x:14rem;--from-y:1rem;--from-rotation:12deg}.from-upper-right{--from-x:10rem;--from-y:-10rem;--from-rotation:10deg}.from-bottom{--from-x:0;--from-y:13rem;--from-rotation:4deg}.trick figure.collecting.from-top{animation:.7s ease-in both collect-top}.trick figure.collecting.from-left{animation:.7s ease-in both collect-left}.trick figure.collecting.from-right{animation:.7s ease-in both collect-right}.trick figure.collecting.from-upper-right{animation:.7s ease-in both collect-upper-right}.trick figure.collecting.from-bottom{animation:.7s ease-in both collect-bottom}@keyframes collect-top{to{opacity:0;transform:translateY(-13rem)}}@keyframes collect-left{to{opacity:0;transform:translate(-14rem,1rem)}}@keyframes collect-right{to{opacity:0;transform:translate(14rem,1rem)}}@keyframes collect-upper-right{to{opacity:0;transform:translate(10rem,-10rem)}}@keyframes collect-bottom{to{opacity:0;transform:translateY(13rem)}}@media (prefers-reduced-motion:reduce){.trick figure{animation:none}}.trick figure.collecting.collect-to-from-top{animation:.7s ease-in both collect-top}.trick figure.collecting.collect-to-from-left{animation:.7s ease-in both collect-left}.trick figure.collecting.collect-to-from-right{animation:.7s ease-in both collect-right}.trick figure.collecting.collect-to-from-upper-right{animation:.7s ease-in both collect-upper-right}.trick figure.collecting.collect-to-from-bottom{animation:.7s ease-in both collect-bottom}.trick-card-placeholder{visibility:hidden}.from-upper-left{--from-x:-10rem;--from-y:-10rem;--from-rotation:-10deg}
.trick.collecting{--trick-collection-duration:var(--card-collection-duration,.7s);z-index:var(--table-layer-trick-collection);pointer-events:none;transform-origin:50%;transform:translate(-50%,-50%)}.trick.collecting:not(.excuse-return){--trick-collection-duration:var(--card-collection-visual-duration,1s)}.trick.collecting.excuse-return{--trick-collection-duration:var(--card-collection-duration,.7s);z-index:var(--table-layer-excuse-return)}.felt:has(>.trick.excuse-return) .player-self .player-badge{z-index:var(--table-layer-excuse-avatar)}.trick.collecting .trick-card-placeholder.excuse-source-handoff{visibility:visible;animation:.12s linear both excuse-source-handoff}.trick.collecting.excuse-return .excuse-return-visibility{display:block;position:relative}.trick.collecting.excuse-return.excuse-return-handoff .excuse-return-visibility{animation:.12s linear both excuse-return-reveal}@keyframes excuse-source-handoff{0%{opacity:1}to{opacity:0}}@keyframes excuse-return-reveal{0%{opacity:0}to{opacity:1}}.trick.collecting.awaiting-target{animation:none}.trick.collecting.collect-to-from-top{animation:trick-collect-top var(--trick-collection-duration) ease-in both}.trick.collecting.collect-to-from-left{animation:trick-collect-left var(--trick-collection-duration) ease-in both}.trick.collecting.collect-to-from-right{animation:trick-collect-right var(--trick-collection-duration) ease-in both}.trick.collecting.collect-to-from-upper-right{animation:trick-collect-upper-right var(--trick-collection-duration) ease-in both}.trick.collecting.collect-to-from-upper-left{animation:trick-collect-upper-left var(--trick-collection-duration) ease-in both}.trick.collecting.collect-to-from-bottom{animation:trick-collect-bottom var(--trick-collection-duration) ease-in both}.trick.collecting.collect-to-target{animation:trick-collect-target var(--trick-collection-duration) cubic-bezier(.45, 0, .75, 1) both}.trick.collecting.collect-to-target.excuse-return{animation:trick-collect-excuse-return var(--trick-collection-duration) ease-in both}.trick.collecting.collect-to-target:not(.excuse-return){animation:none}.trick-collection-motion,.trick-collection-flip{position:absolute;inset:0}.trick.collecting.collect-to-target:not(.excuse-return) figure:not(.trick-card-placeholder){transform-origin:50%;animation:trick-collection-card-travel-curved var(--collect-card-duration) linear var(--collect-card-delay) both, trick-collection-card-align var(--collect-card-duration) ease-in var(--collect-card-delay) both, trick-collect-target-shrink var(--collect-card-duration) ease-out var(--collect-card-delay) both, trick-collection-card-merge var(--trick-collection-duration) linear both;transform:none}.trick.collecting.collect-to-target.collect-to-self:not(.excuse-return) figure:not(.trick-card-placeholder){animation-name:trick-collection-card-travel-self,trick-collection-card-align,trick-collect-target-shrink,trick-collection-card-merge}.trick.collecting.collect-to-target:not(.excuse-return) figure.trick-card-keeper{--collect-merge-opacity:1}.trick.collecting.collect-to-target:not(.excuse-return) figure:not(.trick-card-placeholder):after{z-index:2;content:"";pointer-events:none;animation:trick-collection-card-turns-back var(--collect-card-duration) linear var(--collect-card-delay) both;background:url(/cards/web/back.webp) 50%/cover no-repeat;border-radius:4px;position:absolute;inset:0}.trick.collecting.collect-to-target.excuse-return figure:not(.trick-card-placeholder){perspective:480px;animation:excuse-return-align var(--trick-collection-duration) ease-in both}.trick.collecting.excuse-return .excuse-return-flip{transform-style:preserve-3d;display:block;position:relative}.trick.collecting.collect-to-target.excuse-return:not(.excuse-face-return) .excuse-return-flip{animation:trick-collection-card-flip var(--trick-collection-duration) linear both}.trick.collecting.collect-to-target.excuse-return:not(.excuse-face-return) .excuse-return-flip .card-face{animation:trick-collection-front-visibility var(--trick-collection-duration) linear both}.trick.collecting.collect-to-target.excuse-return:not(.excuse-face-return) .excuse-return-flip:after{content:"";pointer-events:none;transform:rotate3d(.08716, .99619, 0, var(--collect-flip-angle,180deg));animation:trick-collection-back-visibility var(--trick-collection-duration) linear both;background:url(/cards/web/back.webp) 50%/cover no-repeat;border-radius:4px;position:absolute;inset:0}@keyframes excuse-return-align{0%{transform:rotate(var(--collect-start-angle,var(--rotation,0deg)))}87.5%,to{transform:rotate(var(--collect-end-angle,0deg))}}@keyframes trick-collection-card-travel-curved{0%{translate:0}12.5%{translate:calc(var(--collect-translate-target-x,0px) * .015625 + var(--collect-focal-x,0px) * .061524) calc(var(--collect-translate-target-y,0px) * .015625 + var(--collect-focal-y,0px) * .061524 + var(--collect-underpass-y,0px) * .4375)}25%{translate:calc(var(--collect-translate-target-x,0px) * .0625 + var(--collect-focal-x,0px) * .234376) calc(var(--collect-translate-target-y,0px) * .0625 + var(--collect-focal-y,0px) * .234376 + var(--collect-underpass-y,0px) * .75)}37.5%{translate:calc(var(--collect-translate-target-x,0px) * .140625 + var(--collect-focal-x,0px) * .483398) calc(var(--collect-translate-target-y,0px) * .140625 + var(--collect-focal-y,0px) * .483398 + var(--collect-underpass-y,0px) * .9375)}50%{translate:calc(var(--collect-translate-target-x,0px) * .25 + var(--collect-focal-x,0px) * .75) calc(var(--collect-translate-target-y,0px) * .25 + var(--collect-focal-y,0px) * .75 - var(--collect-avatar-lift,0px) * .2 + var(--collect-underpass-y,0px))}62.5%{translate:calc(var(--collect-translate-target-x,0px) * .390625 + var(--collect-focal-x,0px) * .952148) calc(var(--collect-translate-target-y,0px) * .390625 + var(--collect-focal-y,0px) * .952148 - var(--collect-avatar-lift,0px) * .65 + var(--collect-underpass-y,0px) * .9375)}75%{translate:calc(var(--collect-translate-target-x,0px) * .5625 + var(--collect-focal-x,0px) * .984376) calc(var(--collect-translate-target-y,0px) * .5625 + var(--collect-focal-y,0px) * .984376 - var(--collect-avatar-lift,0px) + var(--collect-underpass-y,0px) * .75)}87.5%{translate:calc(var(--collect-translate-target-x,0px) * .765625 + var(--collect-focal-x,0px) * .717774) calc(var(--collect-translate-target-y,0px) - var(--collect-avatar-lift,0px) + var(--collect-underpass-y,0px) * .4375 - var(--collect-underpass-target-correction,0px))}to{translate:var(--collect-translate-target-x,0px) var(--collect-translate-target-y,0px)}}@keyframes trick-collection-card-travel-self{0%{translate:0}12.5%{translate:calc(var(--collect-translate-target-x,0px) * .234375) calc(var(--collect-translate-target-y,0px) * .234375 + var(--collect-underpass-y,0px) * .4375)}25%{translate:calc(var(--collect-translate-target-x,0px) * .4375) calc(var(--collect-translate-target-y,0px) * .4375 + var(--collect-underpass-y,0px) * .75)}37.5%{translate:calc(var(--collect-translate-target-x,0px) * .609375) calc(var(--collect-translate-target-y,0px) * .609375 + var(--collect-underpass-y,0px) * .9375)}50%{translate:calc(var(--collect-translate-target-x,0px) * .75) calc(var(--collect-translate-target-y,0px) * .75 + var(--collect-underpass-y,0px))}62.5%{translate:calc(var(--collect-translate-target-x,0px) * .859375) calc(var(--collect-translate-target-y,0px) * .859375 + var(--collect-underpass-y,0px) * .9375)}75%{translate:calc(var(--collect-translate-target-x,0px) * .9375) calc(var(--collect-translate-target-y,0px) * .9375 + var(--collect-underpass-y,0px) * .75)}87.5%{translate:calc(var(--collect-translate-target-x,0px) * .984375) calc(var(--collect-translate-target-y,0px) * .984375 + var(--collect-underpass-y,0px) * .4375)}93.75%{translate:calc(var(--collect-translate-target-x,0px) * .996094) calc(var(--collect-translate-target-y,0px) * .996094 + var(--collect-underpass-y,0px) * .234375)}to{translate:var(--collect-translate-target-x,0px) var(--collect-translate-target-y,0px)}}@keyframes trick-collection-card-align{0%{rotate:var(--collect-start-angle,var(--rotation,0deg))}85%,to{rotate:var(--collect-end-angle,0deg)}}@keyframes trick-collection-card-turns-back{0%,45%{opacity:0}55%,to{opacity:1}}@keyframes trick-collection-card-flip{0%{transform:rotate3d(.08716,.99619,0,0)}5%{animation-timing-function:cubic-bezier(.42,0,.75,.625);transform:rotate3d(.08716,.99619,0,0)}65%{transform:rotate3d(.08716, .99619, 0, var(--collect-edge-angle,90deg));animation-timing-function:cubic-bezier(.3,.15,.58,1)}85%,to{transform:rotate3d(.08716, .99619, 0, var(--collect-flip-angle,180deg))}}@keyframes trick-collection-front-visibility{0%,69.99%{visibility:visible}70%,to{visibility:hidden}}@keyframes trick-collection-back-visibility{0%,69.99%{visibility:hidden}70%,to{visibility:visible}}@keyframes trick-collect-target{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}95%{opacity:1;transform:translate(calc(-50% + var(--collect-x)), calc(-50% + var(--collect-y))) rotate(var(--collect-angle,0deg)) scale(var(--collect-end-scale,.1))}to{opacity:0;transform:translate(calc(-50% + var(--collect-x)), calc(-50% + var(--collect-y))) rotate(var(--collect-angle,0deg)) scale(var(--collect-end-scale,.1))}}@keyframes trick-collect-excuse-return{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}87.5%{opacity:1;transform:translate(calc(-50% + var(--collect-x)), calc(-50% + var(--collect-y))) scale(var(--collect-end-scale,.1))}94%{opacity:1;transform:translate(calc(-50% + var(--collect-x)), calc(-50% + var(--collect-y))) scale(calc(var(--collect-end-scale,.1) * 1.08))}to{opacity:1;transform:translate(calc(-50% + var(--collect-x)), calc(-50% + var(--collect-y))) scale(var(--collect-end-scale,.1))}}@keyframes trick-collect-target-shrink{0%{scale:1}85%,to{scale:var(--collect-end-scale,.1)}}@keyframes trick-collection-card-merge{0%,60%{opacity:1}85%,to{opacity:var(--collect-merge-opacity,0)}}
.excuse-compensation-back{z-index:1;opacity:0;pointer-events:none;width:1.1rem;height:1.85rem;animation:excuse-compensation-flies var(--excuse-compensation-duration) linear both, excuse-compensation-shadow var(--excuse-compensation-duration) linear both;animation-delay:var(--compensation-animation-delay,0s);border-radius:2px;animation-fill-mode:forwards;position:absolute}.excuse-compensation-scale,.excuse-compensation-card{border-radius:inherit;width:100%;height:100%;display:block}.excuse-compensation-scale{perspective:500px;animation:excuse-compensation-scales var(--excuse-compensation-duration) linear both, excuse-compensation-corners var(--excuse-compensation-duration) linear both;animation-delay:var(--compensation-animation-delay,0s)}.excuse-compensation-card{transform-style:preserve-3d;animation:excuse-compensation-flip var(--excuse-compensation-duration) linear both;animation-delay:var(--compensation-animation-delay,0s);position:relative}.excuse-compensation-card:before,.excuse-compensation-card:after{content:"";border-radius:inherit;backface-visibility:hidden;position:absolute;inset:0}.excuse-compensation-card:before{background:url(/cards/web/back.webp) 50%/cover no-repeat}.excuse-compensation-card:after{background:var(--compensation-face-image) center / cover no-repeat;transform:rotate3d(.08716,.99619,0,180deg)}@keyframes excuse-compensation-flip{0%,4%{animation-timing-function:ease-in;transform:rotate3d(.08716,.99619,0,0)}22%,60%{animation-timing-function:ease-in;transform:rotate3d(.08716,.99619,0,180deg)}82%,to{transform:rotate3d(.08716,.99619,0,360deg)}}@keyframes excuse-compensation-flies{0%{opacity:1;transform:translate(-50%, -50%) rotate(var(--compensation-from-angle));animation-timing-function:linear}42.5%{opacity:1;transform:translate(calc(-50% + var(--compensation-mid-x)), calc(-50% + var(--compensation-mid-y))) rotate(var(--compensation-mid-angle));animation-timing-function:linear}85%{opacity:1;transform:translate(calc(-50% + var(--compensation-dx)), calc(-50% + var(--compensation-dy))) rotate(var(--compensation-to-angle))}to{opacity:0;transform:translate(calc(-50% + var(--compensation-dx)), calc(-50% + var(--compensation-dy))) rotate(var(--compensation-to-angle))}}@keyframes excuse-compensation-scales{0%{animation-timing-function:ease-in-out;transform:scale(1)}42.5%{transform:scale(var(--compensation-peak-scale));animation-timing-function:ease-in-out}85%,to{transform:scale(var(--compensation-end-scale))}}@keyframes excuse-compensation-corners{0%{border-radius:var(--compensation-source-radius);animation-timing-function:ease-in-out}42.5%{border-radius:var(--compensation-peak-radius);animation-timing-function:ease-in-out}85%,to{border-radius:var(--compensation-end-radius)}}@keyframes excuse-compensation-shadow{0%{filter:drop-shadow(0 1px 2px #002c)}42.5%{filter:drop-shadow(0 calc(1px * var(--compensation-peak-scale)) calc(2px * var(--compensation-peak-scale)) #002c)}85%,to{filter:drop-shadow(0 calc(1px * var(--compensation-end-scale)) calc(2px * var(--compensation-end-scale)) #002c)}}.trick.collecting img{animation:trick-collection-shadow-leave var(--trick-collection-duration) ease-out both}.trick.collecting .card-badges,.trick.collecting figure.hand-card-arrival-managed .card-badges{animation:trick-collection-indices-leave var(--trick-collection-duration) ease-out both}.trick.collecting.collect-to-target.excuse-return .card-badges{opacity:1;animation:none}.trick.collecting.collect-to-target.excuse-return img{animation:none}@keyframes trick-collection-indices-leave{0%{opacity:1}30%,to{opacity:0}}@keyframes trick-collection-shadow-leave{0%,95%{filter:drop-shadow(0 4px 5px #002c)}to{filter:drop-shadow(0 0 #0000)}}@keyframes trick-collect-top{to{opacity:0;transform:translate(-50%,calc(-50% - 13rem))scale(.65)}}@keyframes trick-collect-left{to{opacity:0;transform:translate(calc(-50% - 18rem),calc(7rem - 50%))scale(.65)}}@keyframes trick-collect-right{to{opacity:0;transform:translate(calc(18rem - 50%),calc(7rem - 50%))scale(.65)}}@keyframes trick-collect-upper-right{to{opacity:0;transform:translate(calc(14rem - 50%),calc(-50% - 10rem))scale(.65)}}@keyframes trick-collect-upper-left{to{opacity:0;transform:translate(calc(-50% - 14rem),calc(-50% - 10rem))scale(.65)}}@keyframes trick-collect-bottom{to{opacity:0;transform:translate(-50%,calc(13rem - 50%))scale(.65)}}
.discard-table-overlay{--public-card-width:var(--table-choice-card-width,min(5rem, 20vw));--public-card-gap:.55rem;z-index:4;top:var(--table-choice-top-clearance);bottom:var(--table-choice-bottom-clearance);width:calc(100% - 2rem);height:max-content;max-height:calc(100% - var(--table-choice-top-clearance) - var(--table-choice-bottom-clearance));box-sizing:border-box;color:#fff4c9;text-align:center;grid-template-rows:auto minmax(0,1fr) auto;justify-items:center;gap:.7rem;margin-block:auto;display:grid;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}.discard-table-overlay>p{text-shadow:0 2px 3px #002c;margin:0;font-family:Playfair Display,serif;font-size:1.15rem}.discard-card-stage{overscroll-behavior:contain;align-content:start;justify-items:center;width:100%;min-height:0;display:grid;position:relative;overflow:hidden auto}.discard-card-stage .public-card-rows{padding-block:1rem}.discard-card-stage .public-card-row{box-sizing:border-box;padding-inline:1rem}.discard-table-overlay:not(.bot-discard-presentation){--public-card-width:min(var(--table-choice-card-width), 18dvh)}.discard-table-overlay:not(.bot-discard-presentation) .discard-card-stage .public-card-rows{width:calc(100% - 2rem)}.discard-table-overlay:not(.bot-discard-presentation) .discard-card-stage .public-card-row{padding-inline:0}.bot-discard-presentation{pointer-events:none;background:#062f2be6;border:1px solid #fff4d485;border-radius:.45rem;width:min(36rem,100% - 2rem);padding:.75rem;top:46%;box-shadow:0 5px 15px #0029}@media (max-width:650px){.bot-discard-presentation{padding-inline:.25rem}.bot-discard-presentation .discard-card-stage .public-card-row{padding-inline:0}.bot-discard-presentation[data-card-count="6"]{--public-card-width:min(var(--table-choice-card-width), calc((100vw - 2.5rem - 2px) / 4.5))}}.discard-card-stage .discard-empty{width:100%;font-family:inherit;font-size:.85rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.discard-selected-card{cursor:pointer;background:0 0;border:0;border-radius:4px;width:100%;padding:0;display:block}.discard-selected-card:focus-visible{outline-offset:3px;outline:3px solid #f7d577}.discard-stage-inserting .discard-selected-card{animation:none}.public-card-item.discard-stage-removing,.discard-stage-removing .discard-selected-card{visibility:hidden}.discard-table-overlay .primary-button{min-width:12rem;margin:0}.bid-table-overlay{z-index:7;color:#fff4d4;background:#062f2be6;border:1px solid #fff4d485;border-radius:.45rem;justify-items:center;gap:.4rem;width:min(34rem,100% - 2rem);padding:.6rem .7rem;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 5px 15px #0029}.bid-table-overlay p{margin:0;font-size:.72rem}.bid-table-overlay .actions{gap:.35rem}.bid-table-overlay .actions button{min-height:2.45rem;padding:.62rem .9rem;font-size:.76rem}.bid-chelem-action{justify-items:center;margin-bottom:.8rem;display:grid}.bid-chelem-action .bid-chelem-button{background:var(--red);color:#fff;border:0;border-radius:2px;justify-content:center;align-items:center;gap:.35rem;width:6.8rem;height:2.55rem;min-height:0;margin:0;padding:0;display:flex;box-shadow:0 3px 10px #0028}.bid-chelem-action .bid-chelem-button:hover:not(:disabled){background:#9e382b}.bid-chelem-action .bid-chelem-button[aria-pressed=true]{background:#a92e28;box-shadow:inset 0 0 0 2px #ffe5a2,0 3px 10px #0028}.bid-chelem-action .bid-chelem-button[aria-pressed=true]:before{content:"✓";font-size:1.2rem;line-height:1}.bid-table-overlay .bid-chelem-hint{color:#ffe5a2;text-align:center;margin:.4rem 0 0;font-size:.65rem}.bid-chelem-hint[aria-hidden=true]{visibility:hidden}.public-cards-overlay{z-index:3;background:var(--table-overlay);pointer-events:none;animation:.2s ease-out both presentation-overlay-in;position:absolute;inset:0}@keyframes presentation-overlay-in{0%{opacity:0}to{opacity:1}}.public-cards-reveal{--public-card-width:var(--played-card-width,5.2rem);--public-card-gap:.55rem;--public-center-shift:0px;z-index:4;width:calc(100% - 2rem);transform:translate(-50%, calc(-50% + var(--public-center-shift)));color:#fff4c9;text-align:center;justify-items:center;animation:.25s ease-out both kitty-reveal-in;display:grid;position:absolute;top:50%;left:50%;overflow:visible}.public-cards-reveal:has(.two-row-public-cards){--public-center-shift:calc(var(--public-card-width) * .442708 - var(--public-title-outer-height,2.1rem) * .5)}.public-cards-reveal p{text-shadow:0 2px 3px #002c;margin:0 0 .7rem;font-family:Playfair Display,serif;font-size:1.15rem}.public-card-rows{--public-row-stagger-offset:var(--public-row-stagger-base,0px);grid-template-columns:minmax(0,1fr);gap:.65rem;width:100%;min-width:0;display:grid;overflow-x:clip}.public-card-rows.two-row-public-cards{grid-template-rows:calc(var(--public-card-width) * .885417) auto;row-gap:0}.public-card-row{width:calc(100% - var(--public-row-stagger-offset,0px));justify-content:center;justify-self:center;min-width:0;display:flex}.two-row-public-cards .public-card-row:first-child{z-index:0;min-height:0;transform:translateX(calc(var(--public-row-stagger-offset,0px) * -.5));position:relative}.two-row-public-cards .public-card-row+.public-card-row{z-index:1;transform:translateX(calc(var(--public-row-stagger-offset,0px) * .5));position:relative}.public-card-item{width:var(--public-card-width);flex:0 0 var(--public-card-width);display:block}.public-card-empty-slot{aspect-ratio:480/850;visibility:hidden}.public-card-item .card-face{width:100%}.public-card-item img{border-radius:4px;box-shadow:0 4px 9px #002c}@keyframes kitty-reveal-in{0%{opacity:0}to{opacity:1}}.bids{color:#fbf0d8;text-align:left;gap:.35rem;font-size:.58rem;display:grid;position:absolute;bottom:1rem;right:1.5rem}.seat-turn-countdown{color:#a8e2b3;width:1.8rem;height:1.8rem;display:inline-flex}.seat-turn-countdown svg{width:100%;height:100%;transform:rotate(-90deg)}.seat-turn-countdown circle{fill:none;stroke-width:4px}.turn-countdown-track{stroke:#d5dfd9}.turn-countdown-progress{stroke:#79c994;stroke-linecap:round;stroke-dasharray:113.1;transition:stroke-dashoffset .18s linear}.seat-turn-countdown.assistant-advice-visible{color:#b7ecff}.seat-turn-countdown.assistant-advice-visible .turn-countdown-progress{stroke:#36bff4;filter:drop-shadow(0 0 2px #7bdcff)}.seat-turn-countdown.tick-warning{color:#ffd27b}.seat-turn-countdown.tick-warning .turn-countdown-progress{stroke:#f4a13a;filter:drop-shadow(0 0 2px #ffd27b)}.seat-turn-countdown text{fill:currentColor;transform-origin:50%;font-family:system-ui,sans-serif;font-size:13px;font-weight:800;transform:rotate(90deg)}.actions{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.actions button{color:var(--green);background:#fff;border:1px solid #aec1b8;padding:.55rem .75rem;font-size:.66rem}.actions button:disabled{color:#989892;opacity:.7;cursor:not-allowed;background:#e4e3dd;border-color:#c7c7c2}.compact{width:auto;margin:0;padding:.7rem 1.2rem}.score-details{justify-items:center;gap:.35rem;display:grid}.score-details>strong{color:var(--green);font-family:Playfair Display,serif;font-size:1rem}.score-details>p{margin:0}.score-deltas{color:#47655e;flex-wrap:wrap;justify-content:center;gap:.35rem .75rem;max-width:38rem;font-size:.64rem;display:flex}.score-deltas span{white-space:nowrap}.error-toast{z-index:30;color:#7e281f;text-align:left;background:#fff8f4;border:1px solid #b64d40;border-radius:.4rem;gap:.35rem;width:min(29rem,100vw - 2rem);padding:.85rem 1rem;animation:.18s ease-out both toast-in;display:grid;position:fixed;top:1.25rem;left:50%;transform:translate(-50%);box-shadow:0 9px 26px #1b292166}.error-toast p{margin:0;font-size:.72rem;line-height:1.4}.error-toast small{color:#865149;font:.56rem DM Mono,monospace}.error-toast .retry-sync{justify-self:start}.retry-sync{color:#7e281f;background:#fff;border:1px solid #a65347;padding:.35rem .5rem;font-size:.58rem}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-.5rem)}to{opacity:1;transform:translate(-50%)}}.review-trick{color:#47655e;background:0 0;border:0;margin:0 0 .65rem;padding:0;font-size:.61rem;text-decoration:underline}.call-options{justify-content:center;gap:.6rem;padding:.7rem .65rem .2rem .15rem;display:flex;overflow-x:auto}.call-options button{width:4.1rem;color:var(--green);background:0 0;border:1px solid #0000;gap:.3rem;padding:0;font-size:.51rem;line-height:1.25;display:grid}.call-options button:hover{border-color:var(--gold)}.call-options img{border-radius:3px;width:100%;box-shadow:0 2px 5px #30251b66}.card-face{width:100%;display:block;position:relative}.card-face img{width:100%;display:block}@font-face{font-family:Card Liberation Serif;src:url(/fonts/LiberationSerif-Bold.ttf)format("truetype");font-style:normal;font-weight:700;font-display:swap}.called-card,.card-badges text{font-family:Card Liberation Serif,Liberation Serif,serif}.card-badges{z-index:1;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0;overflow:visible}.card-badges circle{fill:#fff;fill-opacity:.5}.card-badges text{fill:#182b29;font-size:62px;font-weight:700}.red-card-badges text{fill:#b4332d}.suit-card-badges text{font-size:92px;font-weight:800}@media (max-width:767px),(orientation:landscape) and (max-width:950px) and (max-height:500px){.card-badges text{font-family:Arial,Helvetica,sans-serif}}
.hand{--hand-base-card-width:clamp(5.5rem, 10vw, 6.6rem);--hand-card-width:var(--hand-base-card-width);--hand-card-overlap:0px;--hand-card-overlap-width:0px;--hand-card-shadow:var(--table-trick-card-shadow);--hand-edge-gap:var(--hand-top-gap,clamp(.5rem, 1.5vw, 1rem));--hand-side-gap:var(--hand-edge-gap);-webkit-user-select:none;user-select:none;background:var(--table-overlay);justify-content:safe center;align-items:end;gap:clamp(-.5rem,-.5vw,0);min-height:5.2rem;padding:.35rem 1rem .65rem;scroll-padding-inline:1rem;display:flex;overflow:visible}.hand:before,.hand:after{content:"";flex:0 0 .45rem}.hand-scroll-area{z-index:0;box-sizing:border-box;width:100%;height:max(100%, calc(var(--hand-card-height,11rem) + 3rem));padding:var(--hand-edge-gap) var(--hand-side-gap) 1.55rem;overscroll-behavior-x:contain;scrollbar-width:none;justify-content:safe center;align-items:flex-start;display:flex;position:absolute;top:0;left:0;overflow:auto}.hand-scroll-area::-webkit-scrollbar{display:none}.hand-card-size-probe{width:var(--hand-base-card-width);visibility:hidden;pointer-events:none;height:0;position:absolute}.hand-side-gap-probe{width:var(--hand-side-gap);visibility:hidden;pointer-events:none;height:0;position:absolute}.hand button{isolation:isolate;width:var(--hand-card-width);background:0 0;border:0;border-radius:5px;flex:none;height:clamp(2.4rem,4.05vw,3.75rem);padding:0;transition:transform .15s;position:relative;overflow:hidden}.hand button:not(:disabled){cursor:pointer}.hand button:disabled{cursor:not-allowed}.hand.inactive-hand{pointer-events:auto}.hand.finished-hand{pointer-events:none}.hand.finished-hand .hand-scroll-area{visibility:hidden}.final-hand-action{--final-hand-lift:1.2rem;--final-hand-message-to-button-gap:1.6rem;z-index:3;justify-content:safe center;align-items:center;gap:var(--final-hand-message-to-button-gap);padding:.5rem 1rem calc(.5rem + 2 * var(--final-hand-lift));pointer-events:auto;flex-direction:column;display:flex;position:absolute;inset:0}.final-hand-perspective{color:#f4e8c5;text-align:center;width:min(100% - 2rem,32rem);margin:0;font:700 1.2rem Playfair Display,serif}.rematch-in-hand-slot{flex:none;place-items:center;width:7.9rem;height:3rem;display:grid}.hand .rematch-in-hand{background:var(--red);color:#fff;border:0;border-radius:2px;width:7.9rem;height:3rem;margin:0;padding:0;box-shadow:0 3px 10px #0028}.hand img{width:100%;box-shadow:var(--hand-card-shadow);border-radius:5px;display:block}.hand-card-being-moved{visibility:hidden!important}.hand-moving-card{--hand-card-shadow:var(--table-trick-card-shadow);z-index:var(--table-layer-card-flight);box-sizing:border-box;pointer-events:none;transform-origin:0 0;background:0 0;border:0;border-radius:5px;margin:0;padding:0;display:block;position:fixed;overflow:visible}.hand-card-flight-layer{z-index:var(--table-layer-card-flight);pointer-events:none;position:fixed;inset:0;overflow:clip;transform:translateZ(0)}.hand-card-flight-layer.autoplay-card-flight{z-index:var(--table-layer-autoplay-flight)}.hand-moving-card,.hand-moving-card .card-face,.hand-moving-card img{opacity:1!important}.hand-moving-card img{width:100%;box-shadow:var(--table-trick-card-shadow);border-radius:5px;display:block}.hand-moving-card.playing-to-trick img{box-shadow:none;filter:var(--table-trick-card-drop-shadow);border-radius:4px}.hand .not-playable img{filter:none;opacity:1}.hand .not-playable:after{content:"";z-index:2;border-radius:inherit;pointer-events:none;background:#0d1a1794;position:absolute;inset:0}.master-trump-marker{z-index:3;color:#b37a10;text-shadow:0 1px 1px #fff;pointer-events:none;background:#fff9;border-radius:50%;place-items:center;width:1.05rem;height:1.05rem;font-size:.9rem;line-height:1;display:grid;position:absolute;top:1.24rem;left:.14rem}.team-secure-trump-marker{color:#1765bd}.hand .not-playable .master-trump-marker{z-index:1}.hand-card-placeholder{width:var(--hand-card-width);margin-left:var(--hand-card-overlap);flex:none}.hand-card-placeholder.first-card-placeholder{margin-left:0}.hand button.discard-hand-inserting{animation:none;overflow:visible}.hand button.first-discard-hand-inserting{animation:none}.hand button.discard-hand-inserting .card-face{width:100%;animation:none}@keyframes discard-hand-inserts{0%{width:0;margin-left:0}to{width:var(--hand-card-width);margin-left:var(--hand-card-overlap)}}@keyframes first-discard-hand-inserts{0%{width:0}to{width:var(--hand-card-width)}}@keyframes hand-card-placeholder-closes{to{width:0;margin-left:0}}@keyframes first-hand-card-placeholder-closes{to{width:var(--hand-card-overlap-width)}}.trick figure{opacity:1}.trick figure.hand-card-arrival-managed{animation:none}.trick figure.hand-card-arrival-managed .card-badges{opacity:1;animation:none}@keyframes card-arrives{0%{opacity:1;transform:translate(var(--from-x), var(--from-y)) rotate(var(--from-rotation))}to{opacity:1;transform:translate(0, 0) rotate(var(--rotation,0deg))}}.trick{width:17rem}.trick figure{transform:rotate(var(--rotation,0deg));--rotation:0deg;--from-rotation:0deg;top:.4rem}.trick figure:nth-of-type(2){--rotation:0deg;top:.4rem;left:2.75rem}.trick figure:nth-of-type(3){--rotation:0deg;top:.4rem;left:5.5rem}.trick figure:nth-of-type(4){--rotation:0deg;top:.4rem;left:8.25rem}.trick figure:nth-of-type(5){--rotation:0deg;top:.4rem;left:11rem}.score-deltas{grid-template-columns:minmax(11rem,1fr);gap:.3rem;width:min(24rem,100%);display:grid}.score-deltas span{border-bottom:1px solid #b9c6bd;justify-content:space-between;padding:.25rem .5rem;display:flex}
.table-stats{color:var(--green);background:#eee9dd;border-top:1px solid #d1c9b9;padding:1rem 1.5rem 1.35rem}.table-stats>header{justify-content:space-between;align-items:baseline;gap:1rem;width:min(52rem,100%);margin:0 auto .7rem;display:flex}.table-stats>header .table-stats-tabs{flex-wrap:wrap;gap:.35rem 1rem;display:flex}.table-stats-tabs button{color:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin:0;padding:0 0 .35rem;font:700 1rem Playfair Display,serif}.table-stats-tabs button[aria-selected=true]{border-bottom-color:currentColor}.table-stats-tabs button[aria-selected=false]{opacity:.65}.table-stats-tabs button:focus-visible{outline-offset:3px;outline:2px solid}.table-stats [role=tabpanel][hidden]{display:none}.table-stats>header p{color:#68746e;margin:0;font-size:.64rem}.table-last-round-scores{box-sizing:border-box;border-bottom:1px solid #c8d0c5;width:min(52rem,100%);margin:0 auto .75rem;padding:0 0 .75rem}.table-last-round-scores .final-score-on-table{width:100%;box-shadow:none;color:inherit;background:0 0;border:0;border-radius:0;padding:0}.table-last-round-scores .final-score-on-table header{padding:0 0 .65rem}.table-last-round-scores .final-score-on-table header strong,.table-last-round-scores .final-score-summary p,.table-last-round-scores .final-score-summary strong,.table-last-round-scores .final-score-on-table dt,.table-last-round-scores .final-score-on-table dd{color:inherit}.table-last-round-scores .final-score-summary{background:0 0;border:0;border-radius:0}.table-last-round-scores .final-score-on-table .final-score-total{border-top:1px solid #d8bd7366}.table-last-round-scores .final-score-on-table dl{margin-bottom:.7rem}.table-last-round-scores table{border-collapse:collapse;width:100%;font-size:.72rem}.table-last-round-scores th,.table-last-round-scores td{border-bottom:1px solid #c8d0c5;padding:.3rem .2rem}.table-last-round-scores tr:last-child th,.table-last-round-scores tr:last-child td{border-bottom:0}.table-last-round-scores th{text-align:left}.table-last-round-scores td,.table-last-round-scores thead th:last-child{text-align:right;font-family:DM Mono,monospace}.table-stats-list{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.55rem;width:min(52rem,100%);margin:auto;display:grid}.table-stats-list article{background:#fffdf8;border:1px solid #c8d0c5;border-radius:.3rem;padding:.65rem .7rem}.table-stats-list h3{margin:0 0 .45rem;font:700 .74rem DM Mono,monospace}.table-stats-list dl{grid-template-columns:1fr auto;gap:.24rem .75rem;margin:0;font-size:.62rem;display:grid}.table-stats-list dl div{display:contents}.table-stats-list dt{color:#68746e}.table-stats-list dd{text-align:right;margin:0;font-family:DM Mono,monospace}.table-stats-modal-backdrop{z-index:var(--table-layer-stats-modal);background:#011412b8;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.table-stats-modal{width:min(46rem,100%);max-height:min(42rem, calc(100dvh - var(--table-window-top-clearance) - 2rem));background:linear-gradient(135deg,#0d4d44,#06352f);border:1px solid #ddc477a8;border-radius:.55rem;display:grid;position:relative;overflow:hidden;box-shadow:0 0 0 3px #06352fb8,0 14px 34px #001c}.table-stats-modal .table-stats{min-height:0;max-height:min(42rem, calc(100dvh - var(--table-window-top-clearance) - 2rem));color:#fff2ce;background:0 0;border:0;padding:1.4rem 1.3rem 1.3rem;overflow:auto}.table-stats-modal .table-stats>header{border-bottom:1px solid #d8bd7366;padding:0 2.25rem .8rem 0}.table-stats-modal .table-stats-tabs button{color:#ffe39a;font-size:clamp(1rem,3vw,1.45rem)}.table-stats-modal .table-stats>header p,.table-stats-modal .table-stats-list dt{color:#d9e3ca}.table-stats-modal .table-stats>header p{font-size:.82rem}.table-stats-modal .table-last-round-scores{border-color:#d8bd7377}.table-stats-modal .table-last-round-scores th,.table-stats-modal .table-last-round-scores td{border-color:#d8bd7355}.table-stats-modal .table-stats-list article{background:#032d29a6;border-color:#d8bd7377}.table-stats-modal .table-stats-list h3,.table-stats-modal .table-stats-list dd{color:#fff4d1}.table-stats-modal .table-stats-list h3{font-size:.9rem}.table-stats-modal .table-stats-list dl{font-size:.78rem}.table-stats-modal-close{z-index:1;color:#fff2ce;background:#073b35;border:1px solid #d8bd7399;border-radius:50%;place-items:center;width:1.8rem;height:1.8rem;padding:0;font-size:1.3rem;display:grid;position:absolute;top:.65rem;right:.7rem}.trick figure.from-bottom{--rotation:5deg;--from-rotation:0deg;top:calc(4.45rem + 30px);left:5.75rem}.players-4 .trick:not(.final-discard):not(.collecting) figure.from-bottom{transform-origin:50% 33.333%}.trick figure.from-right{--rotation:60deg;--from-rotation:70deg;top:3.8rem;left:10.4rem}.trick figure.from-upper-right{--rotation:30deg;--from-rotation:40deg;top:.45rem;left:8.9rem}.trick figure.from-top{--rotation:0deg;--from-rotation:-4deg;top:.05rem;left:5.75rem}.trick figure.from-upper-left{--rotation:-30deg;--from-rotation:-40deg;top:.45rem;left:2.6rem}.trick figure.from-left{--rotation:-60deg;--from-rotation:-70deg;top:3.8rem;left:1.1rem}.trick.final-discard figure{--rotation:0deg;--from-rotation:0deg}.trick{top:calc(50% - 50px)}.trick.final-discard{width:21rem}.trick.final-discard figure{top:.7rem;left:0}.trick.final-discard figure:nth-child(2){top:.7rem;left:2.75rem}.trick.final-discard figure:nth-child(3){top:.7rem;left:5.5rem}.trick.final-discard figure:nth-child(4){top:.7rem;left:8.25rem}.trick.final-discard figure:nth-child(5){top:.7rem;left:11rem}.trick.final-discard figure:nth-child(6){top:.7rem;left:13.75rem}
.hand{z-index:2;align-items:flex-start;height:6.3rem;min-height:6.3rem;padding:1.45rem 1rem .65rem;position:relative;overflow:visible}.hand button{height:auto;overflow:visible}@media (hover:hover) and (pointer:fine){.hand .playable:hover{transform:translateY(-1.1rem)}}.hand .from-public-kitty{transform:translateY(-10px)}.hand:not(.two-row-hand) .hand-row{display:contents}.hand:not(.two-row-hand) .hand-row>*+*{margin-left:var(--hand-card-overlap)}.hand.two-row-hand{flex-direction:column;align-items:safe center;padding:0;display:flex;overflow:visible}.hand.two-row-hand:before,.hand.two-row-hand:after{display:none}.hand.two-row-hand .hand-scroll-area{height:max(100%, calc(var(--hand-card-height,11rem) + var(--hand-row-vertical-overlap) + 3rem));padding-bottom:1.55rem;padding-inline:var(--hand-side-gap);flex-direction:column;justify-content:flex-start;align-items:safe center}.hand.two-row-hand .hand-row{z-index:0;width:var(--hand-row-width);min-width:var(--hand-row-width);height:var(--hand-row-vertical-overlap);flex:none;justify-content:safe center;align-items:flex-start;gap:0;margin-inline:0;transition:height .28s cubic-bezier(.22,1,.36,1),transform .28s cubic-bezier(.22,1,.36,1);display:flex;position:relative;overflow:visible}.hand.two-row-hand .hand-row.hand-reflow-measuring{transition:none}.hand.two-row-hand .hand-row>*+*{margin-left:var(--hand-card-overlap)}.hand.two-row-hand .hand-row+.hand-row{height:var(--hand-card-height);z-index:100;margin-right:calc(var(--hand-row-stagger-offset) * .5);transform:translateX(calc(var(--hand-row-stagger-offset) * .5))}.hand.two-row-hand .hand-row-upper{transform:translateX(calc(var(--hand-row-stagger-offset) * -.5))}.hand.two-row-hand.staggered-hand .hand-row{width:calc(var(--hand-row-width) + var(--hand-row-stagger-offset));min-width:calc(var(--hand-row-width) + var(--hand-row-stagger-offset));transform:none}.hand.two-row-hand.staggered-hand .hand-row-upper{justify-content:flex-start}.hand.two-row-hand.staggered-hand .hand-row+.hand-row{justify-content:flex-end;margin-right:0;transform:none}@media (prefers-reduced-motion:reduce){.hand.two-row-hand .hand-row{transition:none}}.hand.two-row-hand .hand-row,.hand.two-row-hand button,.hand.two-row-hand button .card-face{opacity:1}.hand.two-row-hand .card-face{isolation:isolate}.hand .bot-suggested img,.hand-moving-card.bot-suggested img,.hand .bot-suggested-discard img,.hand-moving-card.bot-suggested-discard img{box-shadow:var(--hand-card-shadow), 0 0 12px #62d7ff;outline:3px solid #62d7ff}.discard-card-stage .bot-suggested-discard img{outline:3px solid #62d7ff;box-shadow:0 4px 9px #002c,0 0 12px #62d7ff}.hand button:focus{outline:none}.hand button:focus-visible img{filter:brightness(1.08)}.debug-kitty-card{flex:0 0 8.4rem;width:8.4rem;display:block}.debug-kitty-card+.debug-kitty-card{margin-left:-4.2rem}.debug-kitty-card img{outline:3px solid var(--gold);outline-offset:-3px;box-shadow:0 0 0 2px #6a4b0a,0 0 12px #d9a538}.debug-cards img{border-radius:5px;box-shadow:0 3px 7px #081f1ca8}
.felt>.trick-modal-backdrop{position:absolute}.felt>.review-modal-backdrop{z-index:var(--table-layer-review-modal);background:0 0}.trick-modal-backdrop{z-index:105;-webkit-user-select:none;user-select:none;background:#081c1bb8;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.confirmation-modal-backdrop{z-index:var(--table-layer-confirmation-modal)}.game-page .trick-modal-backdrop,.game-page .table-stats-modal-backdrop,.game-page .connection-backdrop,.game-page .deal-switch-backdrop{padding-top:calc(var(--table-window-top-clearance) + 1.25rem);place-items:safe center;top:0;overflow-y:auto}.game-page .table-stats-modal-backdrop{padding-top:calc(var(--table-window-top-clearance) + 1rem)}.game-page .deal-switch-backdrop{padding-top:var(--table-window-top-clearance)}.game-page .trick-modal-backdrop>:is(.trick-modal,.saved-deals-modal,.leave-confirmation){max-height:calc(100dvh - var(--table-window-top-clearance) - 2.5rem);overflow-y:auto}.trick-modal-backdrop input,.trick-modal-backdrop textarea{-webkit-user-select:text;user-select:text}.trick-modal-backdrop img{-webkit-user-drag:none}.table-management-backdrop{z-index:110}.trick-modal{background:var(--paper);border:1px solid #d9a538;border-radius:.6rem;gap:1rem;width:min(34rem,100%);padding:1rem;display:grid;box-shadow:0 18px 50px #0009}.trick-modal header{justify-content:space-between;align-items:center;display:flex}.trick-modal h2{color:var(--green);font-size:1.3rem}.trick-modal header button{width:2rem;height:2rem;color:var(--green);background:#e6ded0;border:0;border-radius:50%;font-size:1.4rem;line-height:1}.trick-modal-cards{justify-content:center;align-items:flex-start;min-height:7.6rem;padding:.25rem;display:flex;overflow-x:auto}.trick-modal-cards .card-face{flex:0 0 5.4rem;width:5.4rem}.trick-modal-cards .card-face+.card-face{margin-left:-2.7rem}.trick-modal-cards img{border-radius:5px;box-shadow:0 4px 9px #1c281d99}.trick-modal .primary-button{justify-self:center}.petit-sec-reveal{z-index:12}.petit-sec-reveal p{font-size:1rem;font-weight:700}.kitty-reveal.kitty-collecting{pointer-events:none}.kitty-reveal.kitty-collect-to-from-bottom{animation:.7s ease-in both kitty-collect-bottom}.kitty-reveal.kitty-collect-to-from-right{animation:.7s ease-in both kitty-collect-right}.kitty-reveal.kitty-collect-to-from-upper-right{animation:.7s ease-in both kitty-collect-upper-right}.kitty-reveal.kitty-collect-to-from-top{animation:.7s ease-in both kitty-collect-top}.kitty-reveal.kitty-collect-to-from-upper-left{animation:.7s ease-in both kitty-collect-upper-left}.kitty-reveal.kitty-collect-to-from-left{animation:.7s ease-in both kitty-collect-left}@keyframes kitty-collect-bottom{to{opacity:0;transform:translate(-50%, calc(-50% + var(--public-center-shift) + 13rem)) scale(.4)}}@keyframes kitty-collect-right{to{opacity:0;transform:translate(calc(-50% + 14rem), calc(-50% + var(--public-center-shift) + 7rem)) scale(.4)}}@keyframes kitty-collect-upper-right{to{opacity:0;transform:translate(calc(-50% + 10rem), calc(-50% + var(--public-center-shift) - 10rem)) scale(.4)}}@keyframes kitty-collect-top{to{opacity:0;transform:translate(-50%, calc(-50% + var(--public-center-shift) - 13rem)) scale(.4)}}@keyframes kitty-collect-upper-left{to{opacity:0;transform:translate(calc(-50% - 10rem), calc(-50% + var(--public-center-shift) - 10rem)) scale(.4)}}@keyframes kitty-collect-left{to{opacity:0;transform:translate(calc(-50% - 14rem), calc(-50% + var(--public-center-shift) + 7rem)) scale(.4)}}.poignee-reveal{--poignee-top-clearance:max(3.5rem, env(safe-area-inset-top));z-index:5;box-sizing:border-box;height:100%;padding-block:var(--poignee-top-clearance);grid-template-rows:max-content max-content;align-content:safe center;max-height:100%;top:0;overflow-y:auto;transform:translate(-50%)}.poignee-reveal p{font-size:1.1rem;font-weight:700}.poignee-row{height:calc(var(--poignee-card-width) * 1.56);justify-content:center;display:flex}.poignee-row+.poignee-row{margin-top:calc(var(--poignee-card-width) * -.78)}.redeal-notice{z-index:12;top:max(.75rem, env(safe-area-inset-top));border:1px solid var(--gold);color:var(--green);text-align:center;background:#fffdf8ed;border-radius:.4rem;padding:.75rem 1rem;font:700 1rem Playfair Display,serif;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 22px #001b1780}.trick-modal{padding-bottom:.75rem}.trick-modal-cards.last-trick-layout{width:17rem;height:15rem;min-height:15rem;margin:auto;padding:0;position:relative;overflow:visible}.trick-modal-cards.last-trick-layout figure{width:5.4rem;transform:translateY(-30px) rotate(var(--rotation));margin:0;position:absolute}.trick-modal-cards.last-trick-layout figure.from-bottom{--rotation:0deg;top:calc(4.45rem + 30px);left:5.75rem}.trick-modal-cards.last-trick-layout figure.from-right{--rotation:60deg;top:3.8rem;left:10.4rem}.trick-modal-cards.last-trick-layout figure.from-upper-right{--rotation:30deg;top:.45rem;left:8.9rem}.trick-modal-cards.last-trick-layout figure.from-top{--rotation:0deg;top:.05rem;left:5.75rem}.trick-modal-cards.last-trick-layout figure.from-upper-left{--rotation:-30deg;top:.45rem;left:2.6rem}.trick-modal-cards.last-trick-layout figure.from-left{--rotation:-60deg;top:3.8rem;left:1.1rem}.actions .bot-suggested-bid{border-color:#62d7ff;box-shadow:inset 0 0 0 2px #62d7ff,inset 0 0 12px #62d7ffc7}.call-options .bot-suggested-call{border-color:#62d7ff;box-shadow:0 0 0 2px #093542,0 0 12px #62d7ff}
.debug-game-state{color:#fff4d4;gap:.8rem;display:grid}.debug-game-state-bot-hands{gap:.8rem;display:grid}.debug-game-state article{margin:0}.debug-game-state h3{margin:0 0 .35rem;font-size:.7rem}.debug-cards{align-items:flex-start;height:6.5rem;padding:.2rem .35rem .5rem;display:flex;overflow:auto hidden}.debug-cards .card-face{flex:0 0 8.4rem;width:8.4rem}.debug-cards .card-face+.card-face{margin-left:-4.2rem}.table-loading{background:var(--green);min-height:100vh;color:var(--cream);padding:clamp(2.5rem,8vw,7rem)}.table-loading .message{margin-top:2rem}.table-exit{color:var(--cream);font:inherit;background:0 0;border:0;margin:0 0 3rem;padding:0;font-size:.7rem;text-decoration:underline}@media (max-width:650px){.felt{border-width:9px;border-radius:10%/5%;margin:.6rem .65rem 0}.opponent,.player-self{width:min(9rem,43vw)}.player-self{left:calc(50% - min(4.5rem,21.5vw))}.players-5 .seat-1,.players-5 .seat-2{right:2%}.players-5 .seat-3,.players-5 .seat-4{left:2%}.players-3 .seat-1{right:2%}.players-3 .seat-2,.opponent-1{left:2%}.opponent-2{right:2%}.opponent-3{display:none}.trick{gap:.25rem}.trick figure{width:3.7rem}.final-score-on-table{width:min(18.5rem,100% - 1.25rem);padding:.95rem 1rem 1rem}.final-score-on-table header{padding-inline:1rem}.final-score-on-table dl{font-size:.7rem}.final-score-anchor{flex-direction:column;justify-content:safe center;align-items:center;gap:.8rem}.final-player-scores{flex:none;max-width:calc(100% - .5rem);display:flex;position:static;transform:none}.final-player-scores p{box-sizing:border-box;aspect-ratio:1;width:3.8rem}.bids{right:.75rem}.hand{justify-content:safe center}.actions button{font-size:.58rem}}.waiting-tables{margin:1.5rem 0 2rem}.waiting-tables-heading,.waiting-table-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.waiting-tables h3{margin:0;font:700 1.4rem Playfair Display,serif}.waiting-tables-list{gap:.8rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.waiting-table{background:var(--cream);border:1px solid #d1c9b9;border-radius:.4rem;padding:1rem}.waiting-table h4{overflow-wrap:anywhere;margin:0;font:700 1rem Playfair Display,serif}.waiting-table-heading span{flex-shrink:0;font-size:.65rem}.waiting-table p,.waiting-tables-empty{font-size:.72rem;line-height:1.6}.waiting-table-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.waiting-table-actions .primary-button{width:auto}.salon-page{max-width:76rem;min-height:100vh;margin:auto;padding:clamp(1.2rem,4vw,3rem)}.salon-page h1{font-size:clamp(2rem,5vw,3.5rem)}.salon-page h2{font-size:2rem}.salon-columns{grid-template-columns:minmax(0,2fr) minmax(16rem,1fr);align-items:start;gap:2rem;display:grid}.create-table,.waiting-room{background:var(--paper);border:1px solid #d1c9b9;border-radius:.5rem;margin:1.5rem 0;padding:1.5rem}.waiting-room li{padding:.35rem 0}.lobby-error-overlay{z-index:60;background:var(--paper);border:1px solid var(--red);padding:1rem;position:fixed;bottom:1rem;left:1rem;right:1rem}.lobby-error-overlay button{float:right}@media (max-width:750px){.salon-columns{grid-template-columns:1fr}}.felt .seat-0{bottom:4%;left:50%;transform:translate(-50%)}.table-status{font-weight:700}.create-table form{margin-bottom:2rem}.replacement-backdrop{z-index:100;background:#08110ff2;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.replacement-screen{background:var(--paper);text-align:center;border:1px solid #d9a538;border-radius:.6rem;width:min(30rem,100%);padding:2rem;box-shadow:0 18px 50px #000c}.replacement-screen h1{color:var(--green);margin:0;font-size:1.45rem}.replacement-screen p{margin:1rem 0 0}.replacement-screen .primary-button{width:auto;margin:1.5rem auto 0}.lobby-seat-picker-buttons{text-align:center;gap:.2rem;margin:1.5rem 0;display:grid}.lobby-seat-picker-seat{width:100%;font:inherit;text-align:center;justify-content:center;align-items:center;gap:.75rem;display:flex}.lobby-seat-picker-seat.primary-button{margin:0;padding:.7rem .85rem}.lobby-seat-picker-seat.is-occupied{color:var(--ink);cursor:default;opacity:1;background:0 0;border:0;padding:.55rem 0}.lobby-seat-picker-seat>:first-child{font-weight:700}.lobby-seat-picker-seat sup{margin-left:.05em;font-size:.72em}.lobby-seat-picker-memory-marker{border:1px solid;border-radius:50%;place-items:center;width:1.1rem;height:1.1rem;font-family:serif;font-size:.85rem;font-weight:700;line-height:1;display:grid}.lobby-seat-picker-seat>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.connection-backdrop{z-index:var(--table-layer-connection-backdrop);background:#2a2f2fb8;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.connection-screen{background:var(--paper);text-align:center;border:1px solid #aeb4b1;border-radius:.6rem;width:min(30rem,100%);padding:2rem;box-shadow:0 18px 50px #0009}.connection-screen h1{color:var(--green);margin:0;font-size:1.45rem}.connection-screen p{margin:1rem 0 0;line-height:1.6}.connection-screen .primary-button{width:auto;margin:1.5rem auto 0}.variant-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.game-format-tabs{border-bottom:1px solid #b9c6bd;gap:.35rem;margin:1rem 0 0;display:flex}.game-format-tabs [role=tab]{color:#47655e;font:inherit;background:0 0;border:0;border-bottom:3px solid #0000;padding:.6rem .85rem;font-weight:700}.table-list-tabs{gap:.5rem;margin:1.25rem 0 .5rem;display:flex}.table-list-tabs [role=tab]{color:inherit;background:0 0;border:1px solid #b9c6bd;border-radius:999px;padding:.55rem .8rem}.table-list-tabs [role=tab][aria-selected=true]{border-color:var(--gold);background:color-mix(in srgb, var(--gold) 18%, transparent)}.more-tables-button{margin:1rem auto 0;display:block}.game-format-tabs [role=tab][aria-selected=true]{border-bottom-color:var(--gold);color:var(--green)}.game-format-panel{padding-top:1rem}.new-table-action{margin-top:1rem}.variant-actions .primary-button{margin:0}.trick.poignee-active{visibility:hidden}.autoplay-veil{z-index:var(--table-layer-autoplay-backdrop);pointer-events:none;background:#141c1b80;position:fixed;inset:0}.autoplay-backdrop{z-index:var(--table-layer-autoplay-backdrop);cursor:pointer;background:0 0;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.deal-switch-backdrop{z-index:120;color:#fff4d4;text-align:center;background:#05262273;place-items:center;font:700 1.25rem Playfair Display,serif;display:grid;position:fixed;inset:0}.hand.autoplay-hand-accessible,.hand.autoplay-hand-accessible .hand-scroll-area{cursor:pointer}.hand.autoplay-hand-accessible button{pointer-events:none}.autoplay-resume-button{z-index:var(--table-layer-autoplay-resume);right:max(1rem, env(safe-area-inset-right));bottom:max(1.5rem, env(safe-area-inset-bottom));left:max(1rem, env(safe-area-inset-left));margin:0;width:min(22rem,100% - 2rem);margin-inline:auto;position:fixed}.auto-playing-status{color:#47655e;margin:.4rem 0 .7rem;font-size:.68rem}.auto-playing-status .quiet-button{color:var(--red);margin-left:.4rem;font-weight:700}.sleeping-indicator{color:#fff;align-items:baseline;font-family:Georgia,serif;font-weight:700;line-height:1;display:inline-flex}.sleeping-indicator span{animation:2s ease-in-out infinite sleeping-fade;display:inline-block}.sleeping-indicator span+span{margin-left:-.18em}.sleeping-indicator span:first-child{font-size:.62rem;animation-delay:0s}.sleeping-indicator span:nth-child(2){font-size:.78rem;animation-delay:.22s}.sleeping-indicator span:nth-child(3){font-size:.98rem;animation-delay:.44s}@keyframes sleeping-fade{0%,32%,to{opacity:.34}16%{opacity:1}}@media (prefers-reduced-motion:reduce){.sleeping-indicator span{opacity:1;animation:none}}
.app-toasts{z-index:113;top:max(1rem, env(safe-area-inset-top));left:max(1rem, env(safe-area-inset-left));pointer-events:none;width:min(22rem,100vw - 2rem);display:grid;position:fixed}@media (max-width:650px){.app-toasts{top:max(4.5rem, calc(env(safe-area-inset-top) + 4rem))}}.app-toast-item{grid-template-rows:1fr;margin-bottom:.55rem;transition:grid-template-rows .22s ease-in,margin-bottom .22s ease-in;display:grid;overflow:hidden}.app-toast-item.leaving{grid-template-rows:0fr;margin-bottom:0}.app-toast{pointer-events:auto;color:#fff8df;letter-spacing:.01em;text-align:left;background:linear-gradient(135deg,#063a34,#011f1c),#011f1c;border:1px solid #e8cd78;border-radius:.35rem;align-items:center;gap:.7rem;width:100%;padding:.78rem .55rem .78rem .95rem;font:700 .85rem/1.35 Playfair Display,serif;animation:.2s ease-out both app-toast-in;display:flex;box-shadow:0 0 0 2px #001c19cc,0 12px 30px #000b}.app-toast-item>.app-toast{min-height:0}.app-toast>span{flex:1}.contract-toast-content{align-items:center;gap:.35rem;display:flex}.contract-toast-text{min-width:0}.contract-toast-contract{white-space:nowrap}.app-toast .toast-called-card .red-suit{color:#c9212e}.app-toast .toast-called-card .black-suit{color:#15120f}.app-toast .toast-called-card{vertical-align:-.16em;flex-shrink:0;min-width:2.45rem;margin-left:0;padding:.15rem .48rem;font-size:1.32rem!important}.app-toast.leaving{pointer-events:none;animation:.22s ease-in both app-toast-out}.app-toast button{color:#fff9e5;background:#0d5148;border:1px solid #f6df94;border-radius:50%;flex:none;place-items:center;width:1.6rem;height:1.6rem;padding:0;font:1.2rem/1 Arial,sans-serif;display:grid}.app-toast button:hover,.app-toast button:focus-visible{background:#1c675b}@keyframes app-toast-in{0%{opacity:0;transform:translateY(-.7rem)}to{opacity:1;transform:translateY(0)}}@keyframes app-toast-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-.7rem)}}
:is(html:has(.game-page),body:has(.game-page)){overflow-anchor:none;background:#07443e;height:100%;overflow:clip}.game-page{--table-window-top-clearance:max(4.5rem, calc(env(safe-area-inset-top) + 4rem));background:radial-gradient(#1c766c,#07443e);height:100dvh;min-height:0;display:block;position:relative;overflow:clip}.table-and-deck{--hand-zone-min-height:clamp(7.25rem, 13vw, 8.75rem);--felt-min-height:clamp(20rem, 62vh, 42rem);flex-direction:column;height:100dvh;min-height:100dvh;display:flex;overflow:visible}.table-and-deck>.hand-zone{box-sizing:border-box;z-index:auto;background:0 0;flex-direction:column;flex:auto;order:2;min-height:0;display:flex;position:relative;overflow:visible}.table-and-deck>.hand-zone:before{content:"";z-index:5;background:var(--table-overlay);pointer-events:none;position:absolute;inset:0}.table-and-deck>.felt:not(:has(>.public-cards-overlay))>.trick:not(.collecting):not(.final-discard):not(.hand-card-flight-host):has(>figure){z-index:var(--table-layer-trick)}body:has(>.hand-card-flight-layer>.hand-moving-card.playing-to-trick) .table-and-deck>.felt:not(:has(>.public-cards-overlay))>.trick:not(.collecting):not(.final-discard):has(>figure.hand-card-arrival-managed~figure){z-index:var(--table-layer-card-followup)}body:has(>.hand-card-flight-layer.autoplay-card-flight>.hand-moving-card.playing-to-trick) .table-and-deck>.felt:not(:has(>.public-cards-overlay))>.trick:not(.collecting):not(.final-discard):has(>figure.hand-card-arrival-managed~figure){z-index:var(--table-layer-autoplay-card-followup)}.table-and-deck>.felt>.trick.hand-card-flight-host{z-index:var(--table-layer-card-flight)}.table-and-deck>.felt>.trick.hand-card-flight-host.autoplay-card-flight{z-index:var(--table-layer-autoplay-flight)}.table-and-deck>.felt>.trick.collecting.collect-to-self:not(.excuse-return){z-index:var(--table-layer-trick-collection)}.table-and-deck>.felt:where(:has(>.trick:not(.collecting):not(.final-discard)>figure):not(:has(>.public-cards-overlay)))>.player-self .player-badge{z-index:var(--table-layer-hand-badge)}.table-and-deck>.felt:has(>.public-cards-overlay)>.player-self .player-badge{z-index:2}.table-and-deck>.hand-zone>.hand{box-sizing:border-box;z-index:var(--table-layer-hand);background:0 0;flex:auto;width:100%;height:auto;min-height:0;display:block;overflow:visible}.table-and-deck>.hand-zone>.hand.discard-hand{--hand-overflow-clearance:1rem}.table-and-deck>.hand-zone .hand-scroll-area{top:calc(-1 * var(--hand-overflow-clearance,0rem));width:auto;height:auto;min-height:0;padding-top:calc(var(--hand-edge-gap) + var(--hand-overflow-clearance,0rem));padding-inline:var(--hand-side-gap);padding-bottom:calc(1.55rem + var(--hand-overflow-clearance,0rem));overflow-anchor:none;contain:paint;background:0 0;bottom:0;left:0;right:0;overflow-y:clip}.table-and-deck>.hand-zone .hand.two-row-hand .hand-scroll-area{padding-inline:var(--hand-side-gap)}@media (min-width:651px){.table-and-deck>.hand-zone>.hand{--hand-edge-gap:var(--hand-top-gap,clamp(1rem, 3vw, 2rem))}.table-and-deck>.hand-zone .hand-scroll-area{padding-top:calc(var(--hand-edge-gap) + var(--hand-overflow-clearance,0rem))}}.sort-before-bid-button{color:#fff4d4;cursor:pointer;background:#073d35;border:1px solid #d9bd71;border-radius:.4rem;width:max-content;max-width:calc(100% - 2rem);margin-top:.35rem;padding:.65rem 1rem;font:700 .78rem DM Mono,monospace}.sort-before-bid-button:hover{background:#0c5549}.sort-before-bid-button:focus-visible{outline-offset:2px;outline:3px solid #62d7ff}@media (max-height:600px){.table-and-deck{--hand-zone-min-height:12rem;--felt-min-height:clamp(18rem, calc(100dvh - 12rem), 20rem)}}.hand-top-action{z-index:3;top:max(4.5rem, calc(env(safe-area-inset-top) + 4rem));position:fixed;left:50%;transform:translate(-50%)}.hand-top-action-live-score{z-index:22;top:max(1.5rem, calc(env(safe-area-inset-top) + .75rem))}.hand-top-action .bot-suggested-chelem{box-shadow:inset 0 0 0 2px #62d7ff,0 0 12px #62d7ff}.hand-top-action .rematch-in-hand{background:var(--red);color:#fff;opacity:1;pointer-events:auto;border:0;border-radius:2px;width:7.9rem;height:3rem;margin:0;padding:0;box-shadow:0 3px 10px #0028}.hand-top-action .rematch-in-hand:hover:not(:disabled){background:#9e382b}.felt{min-height:var(--felt-min-height);flex:none;margin:0;overflow:visible}@media (orientation:landscape){.table-and-deck>.felt{min-height:min(18rem, var(--felt-min-height));flex:0 1 var(--felt-min-height)}}@media (orientation:landscape) and (max-width:650px){.felt .player-self{bottom:clamp(-.62rem,25dvh - 215px,4%)}}@media (orientation:landscape) and (max-width:650px) and (max-height:500px){.felt .player-self{bottom:-1.4rem}}@media (min-width:651px){.felt .player-self{bottom:clamp(1rem,4%,2.5rem);left:calc(clamp(24%,9vw + 13rem,40%) - 4.5rem)}}@media (min-width:1200px) and (min-height:651px){.felt.players-5>.player-self{left:calc(31% - 4.5rem)}}@media (min-width:651px) and (max-width:950px) and (max-height:700px){.felt .player-self{bottom:clamp(.25rem,1.5%,1rem)}}@media (min-width:651px) and (max-height:650px) and (orientation:landscape){.felt.players-5>.player-self{bottom:calc(clamp(1rem,4%,2.5rem) - .5rem);left:calc(clamp(24%,9vw + 13rem,40%) - 4.25rem)}.felt.players-5>.opponent.seat-3{top:calc(12% - .5rem)}}@media (min-width:651px) and (max-width:950px) and (max-height:650px) and (orientation:landscape){.felt.players-5>.player-self{bottom:calc(clamp(.25rem,1.5%,1rem) - .5rem)}}@media (min-width:651px) and (max-height:600px) and (orientation:landscape){.felt.players-5>.player-self{left:calc(50% - 4.5rem)}}@media (orientation:portrait) and (min-height:550px),(min-height:600px){.felt :is(.opponent,.player-self):has(.bid-badge.contract)>.mini-trick-packets{margin-top:.85rem}}
.hand-table-actions{z-index:var(--table-layer-hand-actions);top:-1.5rem;right:max(1rem, calc(env(safe-area-inset-right) + .5rem));align-items:center;gap:.45rem;display:flex;position:absolute}.hand-table-actions .table-review-actions{gap:.45rem;display:flex}.hand-table-actions .table-review-actions.final-review-actions{flex-direction:row-reverse}.table-review-actions button{color:#fff4d4;background:#123d39e8;border:1px solid #fff4be99;border-radius:50%;place-items:center;width:2.25rem;height:2.25rem;display:grid}.table-review-actions svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.3rem;height:1.3rem}.table-corner-actions{z-index:var(--table-layer-controls);top:max(.75rem, calc(env(safe-area-inset-top) + .5rem));right:max(.75rem, calc(env(safe-area-inset-right) + .5rem));align-items:center;gap:.4rem;display:flex;position:absolute}.table-menu-trigger,.table-sound-trigger{appearance:none;color:#fff4d4;touch-action:manipulation;background:#123d39cc;border:1px solid #fff4be77;border-radius:.3rem;place-items:center;width:2rem;height:2rem;padding:0;font-size:1rem;line-height:1;display:grid}.table-menu-trigger:hover,.table-menu-trigger[aria-expanded=true],.table-sound-trigger:hover,.table-sound-trigger[aria-pressed=false]{background:#123d39}.table-menu-trigger{background:#123d39;border-color:#fff4be99}.table-sound-trigger svg{width:1.1rem;height:1.1rem}.table-menu-trigger svg{width:1.25rem;height:1.25rem}.table-sound-trigger[aria-pressed=false]{color:#fff4d488}.table-menu{min-width:14rem;max-height:calc(100dvh - 4.5rem - env(safe-area-inset-bottom));background:#123d39;border:1px solid #fff4be77;border-radius:.3rem;padding:.25rem;position:absolute;top:calc(100% + .35rem);right:0;overflow-y:auto;box-shadow:0 .4rem 1.2rem #0006}.table-menu button,.table-menu a{color:#fff4d4;width:100%;font:inherit;text-align:left;background:0 0;border:0;border-radius:.18rem;padding:.5rem .6rem;font-size:.65rem;text-decoration:none;display:block}.table-menu button:hover,.table-menu button:focus-visible,.table-menu a:hover,.table-menu a:focus-visible{background:#ffffff1c}.table-menu-wake-control{padding:.35rem 0 .45rem}.table-menu-wake-label{color:#e8d7a8;margin:0 .35rem .3rem;font-size:.62rem;display:block}.table-menu-wake-options{border:1px solid #c7a95188;border-radius:.18rem;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;display:grid;overflow:hidden}.table-menu .table-menu-wake-option{text-align:center;background:#0b332e;border:0;border-radius:0;place-items:center;width:100%;min-height:2rem;padding:.35rem .15rem;display:grid}.table-menu .table-menu-wake-option+.table-menu-wake-option{border-left:1px solid #c7a95188}.table-menu .table-menu-wake-option[aria-checked=true]{color:#ffe39a;background:#195d4de6;font-weight:700}.table-menu .table-menu-wake-option:disabled{opacity:.45;cursor:not-allowed}
.saved-deals-backdrop{z-index:var(--table-layer-saved-deals-modal)}.saved-deals-modal{width:min(38rem,100%);max-height:calc(100dvh - var(--table-window-top-clearance,0px) - 2.5rem);background:var(--paper);border:1px solid #d9a538;border-radius:.6rem;gap:1rem;padding:1.1rem;display:grid;overflow:auto;box-shadow:0 18px 50px #0009}.saved-deals-modal header{justify-content:space-between;gap:1rem;display:flex}.saved-deals-modal header .eyebrow{margin-bottom:.35rem}.saved-deals-modal h2{color:var(--green);font-size:1.5rem}.saved-deals-header-actions{align-items:start;gap:.35rem;display:flex}.saved-deals-header-actions>button,.saved-deal-icon{width:2rem;height:2rem;color:var(--green);background:#fff;border:1px solid #b9c6bd;border-radius:.28rem;place-items:center;padding:0;display:grid}.saved-deals-help{color:#53645d;margin:0;font-size:.67rem;line-height:1.55}.saved-deal-save{align-items:end;gap:.7rem;display:flex}.saved-deal-save label{flex:1;margin:0}.saved-deal-save .primary-button{flex:none;margin:0}@media (max-width:650px){.saved-deal-save{grid-template-columns:minmax(0,1fr);display:grid}.saved-deal-save label{min-width:0}}.saved-deals-modal .message{width:auto;margin:0}.saved-deals-list{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.saved-deals-list li{border:1px solid #d1c9b9;border-radius:.35rem;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem;display:flex}.saved-deals-list strong,.saved-deals-list small{display:block}.saved-deals-list strong{font-size:.72rem}.saved-deals-list small{color:#68746e;margin-top:.2rem;font-size:.58rem}.saved-deals-list li>div:last-child{gap:.35rem;display:flex}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.saved-deal-rename{align-items:end;gap:.35rem;width:100%;display:flex}.saved-deal-rename label{flex:1;margin:0;font-size:.62rem}.saved-deal-rename input{padding:.35rem 0}.saved-deals-modal .invite-user-button{width:2rem;height:2rem;color:var(--green);background:#fff;border:1px solid #b9c6bd;border-radius:.28rem;place-items:center;padding:0;display:grid}.saved-deals-modal .invite-user-button:hover{background:#edf4ef}.saved-deals-modal .invite-user-button svg{display:block}.saved-deal-icon.destructive{color:var(--red)}.saved-deal-confirmation{border:1px solid var(--red);background:#fff6f2;border-radius:.35rem;gap:.7rem;padding:.85rem;display:grid}.saved-deal-save-confirmation-backdrop{z-index:1;background:#081c1bb8;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.saved-deal-save-confirmation-backdrop .saved-deal-confirmation{width:min(27rem,100%);box-shadow:0 18px 50px #0009}.saved-deal-confirmation h3,.saved-deal-confirmation p{margin:0}.saved-deal-confirmation h3{color:var(--red);font:700 1rem Playfair Display,serif}.saved-deal-confirmation p{font-size:.65rem}.saved-deal-confirmation>div{justify-content:end;gap:.5rem;display:flex}.saved-deal-confirmation>div>button:first-child{color:var(--green);background:#fff;border:1px solid #b9c6bd;border-radius:.25rem;padding:.5rem .75rem;font-size:.65rem}.saved-deal-confirmation .primary-button{background:var(--red)}.replay-options{background:#fffaf0;border-color:#d9a538}.replay-options h3{color:var(--green)}.replay-options>div{flex-wrap:wrap}.replay-options .primary-button{background:var(--green)}
.game-problem-report-backdrop{z-index:var(--table-layer-debug-modal);place-items:safe center;overflow-y:auto}.game-problem-report-dialog{max-height:calc(100dvh - 2.5rem);overflow-y:auto}.game-problem-report-dialog form{gap:.65rem;display:grid}.game-problem-report-dialog form>p{margin:0 0 .35rem}.game-problem-report-dialog label{font-weight:600}.game-problem-report-dialog textarea,.game-problem-report-dialog select{width:100%;color:var(--green);font:inherit;background:#fff;border:1px solid #b9c6bd;border-radius:.3rem;padding:.6rem}.game-problem-report-dialog textarea{resize:vertical}.game-problem-report-actions{justify-content:flex-end;gap:.65rem;margin-top:.35rem;display:flex}
.debug-game-state-header{justify-content:flex-end;display:flex}.debug-game-state-header .debug-trigger{color:#fff4d4}@media (max-width:650px){.table-and-deck{--felt-min-height:clamp(18rem, 68vh, 30rem)}.felt{--table-notice-clearance:max(4.5rem, calc(env(safe-area-inset-top) + 4rem));min-height:var(--felt-min-height);border-radius:0;margin:0}.public-cards-reveal:not(.poignee-reveal){height:max-content;max-height:none;transform:translate(-50%, calc(-50% + var(--public-center-shift)));margin-block:0;top:50%;bottom:auto;overflow:visible}.poignee-reveal{--poignee-top-clearance:var(--table-notice-clearance);height:100%;max-height:100%;margin-block:0;top:0;bottom:auto;overflow-y:auto}.chelem-table-announcement,.redeal-notice{top:var(--table-notice-clearance)}.table-corner-actions{top:1rem;right:max(.5rem, calc(env(safe-area-inset-right) + .5rem))}.table-menu-trigger,.table-sound-trigger{width:2.5rem;height:2.5rem}}@media (max-width:650px) and (orientation:portrait){.table-and-deck{--hand-zone-min-height:clamp(9rem, 24dvh, 12rem);--felt-min-height:min(clamp(18rem, 76dvh, 30rem), max(18rem, calc(100dvh - var(--hand-zone-min-height))))}.table-and-deck>.hand-zone>.hand{--hand-edge-gap:1rem;--hand-side-gap:calc(1.25 * var(--hand-edge-gap))}.felt .poignee-reveal{width:100%;padding-inline:0}.table-and-deck>.hand-zone .hand-scroll-area{top:calc(-2rem - var(--hand-overflow-clearance,0rem));padding-top:calc(2rem + var(--hand-edge-gap) + var(--hand-overflow-clearance,0rem));padding-bottom:calc(.5rem + var(--hand-overflow-clearance,0rem))}.table-and-deck>.hand-zone .hand.two-row-hand .hand-row+.hand-row{margin-top:.5rem}}@media (min-width:480px) and (max-width:650px) and (orientation:portrait) and (min-aspect-ratio:4/5){.table-and-deck{--felt-min-height:min(clamp(18rem, 66dvh, 30rem), max(18rem, calc(100dvh - var(--hand-zone-min-height))))}}@media (max-width:650px) and (orientation:portrait) and (max-height:620px){.table-and-deck>.hand-zone .hand.two-row-hand .hand-row+.hand-row{margin-top:0}}@media (orientation:landscape) and (max-height:500px) and (max-width:950px){.table-and-deck{--felt-min-height:min(clamp(15rem, 60dvh, 17rem), max(12rem, calc(100dvh - 8rem)));--hand-zone-min-height:8rem}.table-and-deck>.hand-zone .hand-scroll-area{padding-bottom:calc(.5rem + var(--hand-overflow-clearance,0rem))}.table-and-deck:has(>.felt>:is(.public-cards-reveal,.bot-discard-presentation)){overflow-y:clip}}@media (min-width:651px) and (max-width:1024px) and (orientation:landscape){.table-and-deck>.hand-zone .hand.two-row-hand .hand-row+.hand-row{margin-top:0}}@media (min-width:651px) and (max-width:1366px){.table-and-deck>.hand-zone>.hand{--hand-side-gap:.75rem}}@media (min-width:1025px){.table-and-deck>.hand-zone .hand.two-row-hand .hand-row+.hand-row{margin-top:-1rem}}@media (hover:hover) and (pointer:fine) and (min-width:651px){.table-and-deck>.hand-zone .hand-scroll-area{--hand-hover-clearance:2rem;top:calc(-1 * var(--hand-hover-clearance) - var(--hand-overflow-clearance,0rem));padding-top:calc(var(--hand-edge-gap) + var(--hand-hover-clearance) + var(--hand-overflow-clearance,0rem))}}@media (min-width:651px) and (max-width:1024px) and (orientation:landscape) and (min-height:501px) and (max-height:600px){.table-and-deck{--hand-zone-min-height:clamp(7.25rem, 13vw, 8.75rem)}}@media (orientation:landscape) and (min-width:651px) and (max-width:950px) and (max-height:500px){.felt .public-cards-reveal,.felt .bot-discard-presentation{--public-card-width:min(var(--played-card-width,5.2rem), 22dvh);box-sizing:border-box;z-index:4;top:max(3.5rem, calc(env(safe-area-inset-top) + 3rem));height:max-content;max-height:calc(100dvh - max(3.5rem, calc(env(safe-area-inset-top) + 3rem)));margin-block:0;bottom:auto;overflow-y:clip;transform:translate(-50%)}.felt .bot-discard-presentation{--public-card-width:var(--table-choice-card-width)}.felt .poignee-reveal{--public-card-width:min(var(--played-card-width,5.2rem), 5.2rem);--poignee-top-clearance:max(3.5rem, calc(env(safe-area-inset-top) + 3rem));align-content:start;height:max-content;max-height:100dvh;padding-bottom:0;top:0}.felt.players-5 .live-game-score{top:max(.5rem, env(safe-area-inset-top))}.felt.players-5>.opponent.seat-2{right:12%}.felt.players-5>.opponent.seat-3{left:12%}.seat-reactions-frame.players-5 .seat-reactions-layer .seat-2{right:19%}.seat-reactions-frame.players-5 .seat-reactions-layer .seat-3{left:19%}}
.leave-confirmation{background:var(--paper);width:min(26rem,100%);color:var(--ink);text-align:center;border:1px solid #d9a538;border-radius:.6rem;gap:1rem;padding:1.25rem;display:grid;box-shadow:0 18px 50px #0009}.leave-confirmation h2{color:var(--green);font-size:1.45rem}.leave-confirmation p{margin:0;font-size:.72rem;line-height:1.55}.leave-confirmation>div{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.leave-confirmation :is(button,a){width:auto;color:var(--green);background:#fff;border:1px solid #aebeb5;justify-content:center;align-items:center;margin:0;padding:.65rem .9rem;font-size:.65rem;text-decoration:none;display:inline-flex}.leave-confirmation .primary-button{border-color:var(--red);background:var(--red);color:#fff}.redeal-vote-notice{z-index:104;left:50%;top:max(5rem, env(safe-area-inset-top));background:var(--paper);width:max-content;max-width:calc(100vw - 2rem);color:var(--ink);border:1px solid #d9a538;border-radius:.6rem;flex-wrap:wrap;justify-content:center;align-items:center;gap:.65rem;padding:.65rem .9rem;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 8px 24px #0008}.redeal-vote-notice>div{gap:.5rem;display:flex}.redeal-vote-notice button{padding:.5rem .7rem}.sort-before-bid-confirmation .primary-button{background:#073d35;border-color:#073d35}.opponent-cut-risks{background:#0c2723;border:1px solid #d0ded6;border-radius:.35rem;margin:.85rem 0;padding:.7rem}.opponent-cut-risks h3{color:#fff4d4;margin:0;font-size:.72rem}.opponent-cut-risks>p{color:#c7d8d0;margin:.3rem 0 .55rem;font-size:.58rem;line-height:1.45}.opponent-cut-risks ul{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.opponent-cut-risk{color:#fffdf8;border-radius:.25rem;grid-template-columns:auto 1fr auto;align-items:center;gap:.35rem;padding:.38rem .45rem;font-size:.65rem;display:grid}.risk-suit{font-size:1.1rem;line-height:1}.risk-suit.red-suit{color:#ff7770}.risk-suit.black-suit{color:#fff4d4}.opponent-cut-risk strong{font-variant-numeric:tabular-nums}.opponent-cut-risk.risk-low{background:#216653}.opponent-cut-risk.risk-medium{background:#976c18}.opponent-cut-risk.risk-high{background:#a63d35}.current-trick-cut-risk{color:#fffdf8;background:#2a6b58;border-radius:.25rem;grid-template-columns:1fr auto;align-items:center;gap:.35rem .75rem;margin:.55rem 0;padding:.48rem .55rem;font-size:.65rem;display:grid}.current-trick-cut-risk strong{font-variant-numeric:tabular-nums}.current-trick-cut-risk b{color:#fff4d4;grid-column:1/-1;font-size:.6rem}.current-trick-cut-risk.cut-already-made{background:#a63d35;box-shadow:inset 0 0 0 1px #ffb1a7}.team-trick-win-probabilities{background:#102b27;border:1px solid #d0ded6;border-radius:.35rem;margin:.85rem 0;padding:.7rem}.team-trick-win-probabilities h3{color:#fff4d4;margin:0;font-size:.72rem}.team-trick-win-probabilities>p{color:#c7d8d0;margin:.3rem 0 .55rem;font-size:.58rem;line-height:1.45}.current-team-trick-win{color:#fffdf8;border-radius:.25rem;grid-template-columns:1fr auto;align-items:center;gap:.35rem .75rem;margin:.55rem 0;padding:.48rem .55rem;font-size:.65rem;display:grid}.current-team-trick-win strong,.team-trick-win-probability strong{font-variant-numeric:tabular-nums}.team-trick-win-probabilities ul{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.team-trick-win-probability{color:#fffdf8;border-radius:.25rem;grid-template-columns:auto 1fr auto;align-items:center;gap:.35rem;padding:.38rem .45rem;font-size:.65rem;display:grid}.team-trick-win-card{color:#fff4d4;text-align:center;min-width:1.65rem;font-family:Georgia,serif;font-weight:700}.current-team-trick-win.win-high,.team-trick-win-probability.win-high{background:#216653}.current-team-trick-win.win-medium,.team-trick-win-probability.win-medium{background:#976c18}.current-team-trick-win.win-low,.team-trick-win-probability.win-low{background:#a63d35}.debug-replay{color:#594012;background:#f5e7bd;border:1px solid #b98c31;width:100%;margin-top:.7rem;padding:.7rem;font-size:.65rem;font-weight:700}.debug-replay:disabled{opacity:.65;cursor:wait}.debug-replay-help{font-size:.58rem;line-height:1.5;margin:.45rem 0 .7rem!important}.debug-replay-error{background:#f9e8e2;border:1px solid #b64d40;margin:.5rem 0;padding:.5rem;font-size:.6rem;color:#8d3023!important}
.table-seat-list{gap:.5rem;margin:.8rem 0;padding:0;list-style:none;display:grid}.table-seat{background:#fffdf8;border:1px solid #d1c9b9;border-radius:.35rem;align-items:center;gap:.7rem;padding:.5rem .7rem;font-size:.75rem;transition:transform .16s,box-shadow .16s,opacity .16s;display:flex;position:relative}.table-seat.is-dragging{pointer-events:none;z-index:1;border-color:var(--gold);transition:none;transform:scale(1.025);box-shadow:0 .45rem 1rem #172e2d33}.table-seat-handle{color:#000;width:2rem;min-width:2rem;max-width:2rem;height:2rem;font:inherit;cursor:grab;touch-action:none;background:#fff;border:1px solid #000;border-radius:.25rem;flex:none;place-items:center;padding:0;display:grid}.table-seat-grip{background:#000;border-radius:2px;width:.85rem;height:2px;box-shadow:0 -.3rem #000,0 .3rem #000}.table-seat-handle:active{cursor:grabbing}.table-seat-number{color:#6a5a48;min-width:4.5rem}.table-seat-name{color:#000;font-weight:600}.table-seat-take{color:#000;width:2rem;height:2rem;font:inherit;background:#fffdf8;border:1px solid #d1c9b9;border-radius:.25rem;place-items:center;padding:0;font-size:1rem;line-height:1;display:grid}.table-seat-take:disabled{cursor:default;opacity:.3}.table-seat-actions{gap:.3rem;margin-left:auto;display:flex}.table-seat-actions button{color:#000;width:2rem;height:2rem;font:inherit;background:#fff;border:1px solid #000;border-radius:.25rem;place-items:center;padding:0;font-size:1rem;line-height:1;display:grid}.table-seat-actions button:disabled{cursor:default;opacity:.3}.table-management-inline{border-top:1px solid #d1c9b9;margin-top:1rem;padding-top:1rem}.table-management-inline>h3{margin:0}.table-seats-save{border:1px solid var(--green);background:var(--green);color:#fff;border-radius:.25rem;place-items:center;width:2rem;height:2rem;margin-top:.8rem;padding:0;font-size:1rem;display:grid}.table-seats-save:disabled{cursor:default;opacity:.35}.table-seats-save:hover:not(:disabled){background:#0a3834}.saved-deals-modal .table-seats-save{background:var(--green)!important;color:#fff!important;border:1px solid var(--green)!important}.saved-deals-modal .table-seats-save:hover:not(:disabled){background:#9e382b!important}
.live-game-score{top:max(.75rem, calc(env(safe-area-inset-top) + .5rem));left:max(.75rem, calc(env(safe-area-inset-left) + .5rem));color:#fff;text-shadow:0 1px 2px #001b18;background:#103f32cc;border:1px solid #fff6;border-radius:.4rem;padding:.45rem 1.05rem .45rem .6rem;position:absolute;box-shadow:0 3px 12px #0004}.live-game-score.above-complete-trick{z-index:var(--table-layer-final-trick-score);animation:.46s ease-out both live-score-final-trick-bounce}@keyframes live-score-final-trick-bounce{0%{translate:0 6px;scale:.94}48%{translate:0 -4px;scale:1.07}74%{translate:0 1px;scale:.985}to{translate:0;scale:1}}@media (prefers-reduced-motion:reduce){.live-game-score.above-complete-trick{animation:none}}.live-game-score dl{align-items:center;margin:0;display:flex}.live-game-score dl>div{--score-reel-duration:.7s;align-items:center;display:flex}.live-score-pair{align-items:center;display:flex}.live-game-score dl>div+div{border-left:1px solid #f5df9b66;margin-left:.25rem;padding-left:.25rem}.live-game-score dt{color:#f5df9b;margin-right:3px;font-size:1.18rem;font-weight:700;line-height:1}.live-game-score dt svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1em;height:1em;display:block}.live-game-score dd{font-variant-numeric:tabular-nums;flex:0 0 3.6ch;width:3.6ch;margin:0;font-size:1.08rem;font-weight:700;line-height:1}.score-value{--score-reel-duration:.7s;grid-template-columns:1ch 1ch .6ch 1ch;width:3.6ch;display:grid;position:relative;top:1px}.score-value.is-changing .score-digit,.score-value.is-changing .score-comma{animation:score-color-flash .55s ease-out var(--score-reel-duration) forwards}.score-digit{height:1em;display:block;overflow:hidden}.score-digit-track{display:block}.score-digit-track>span{justify-content:center;align-items:center;height:1em;display:flex}.score-digit.is-rolling .score-digit-track{animation:score-reel var(--score-reel-duration) linear both}.score-comma{text-align:center;position:relative;left:-.2ch}@keyframes score-reel{0%{transform:translateY(0)}to{transform:translateY(var(--score-reel-distance))}}@keyframes score-color-flash{0%{color:#fff2aa}45%{color:#fff2aa}to{color:#fff}}@keyframes score-pop{0%{transform:translateY(0)scale(1)}40%{transform:translateY(-.16rem)scale(1.3)}to{transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.score-value.is-changing .score-digit,.score-value.is-changing .score-comma{animation:none}.score-digit.is-rolling .score-digit-track{transform:translateY(var(--score-reel-distance));animation:none}}.score-placeholder{visibility:hidden}@media (max-width:650px){.live-game-score{top:1rem}}@media (max-width:600px){.live-game-score{left:max(.5rem, calc(env(safe-area-inset-left) + .5rem));min-width:0}}
.password-field{display:block;position:relative}.password-field input{padding-right:2.7rem}.password-visibility{color:#5f7069;background:0 0;border:0;place-items:center;width:2.2rem;height:2.2rem;padding:0;display:grid;position:absolute;top:50%;right:.1rem;transform:translateY(-50%)}.password-visibility:hover,.password-visibility:focus-visible{color:var(--green)}.password-visibility:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.password-visibility svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1.15rem;height:1.15rem}.poignee-declaration-modal{text-align:center;width:min(44rem,100%)}.poignee-declaration-modal>p{margin:.1rem 0 .7rem}.poignee-levels{flex-wrap:wrap;justify-content:center;gap:.45rem;display:flex}.poignee-levels .selected{border-color:var(--gold);background:var(--green);color:var(--cream)}.poignee-choice-cards{--poignee-card-width:clamp(4.4rem, 9vw, 6.1rem);min-height:calc(var(--poignee-card-width) * 1.95);flex-direction:column;align-items:center;padding:.25rem;display:flex;overflow:visible}.poignee-choice-cards .poignee-row{height:calc(var(--poignee-card-width) * 1.56);justify-content:center;display:flex}.poignee-choice-cards .poignee-row+.poignee-row{margin-top:calc(var(--poignee-card-width) * -.78)}.poignee-choice-cards .card-face{width:var(--poignee-card-width);flex:0 0 var(--poignee-card-width)}.poignee-choice-cards .poignee-row .card-face+.card-face{margin-left:calc(var(--poignee-card-width) * -.3)}.poignee-choice-cards img{border-radius:4px;box-shadow:0 4px 8px #002c}.poignee-declaration-modal .actions .primary-button{border-color:var(--red);background:var(--red);color:#fff}.poignee-declaration-modal .actions .primary-button:hover:not(:disabled){background:#9e382b}.offline-indicator{color:#9aa3a6;align-items:center;display:inline-flex}.offline-indicator svg{width:1rem;height:1rem}@media (max-width:650px) and (orientation:portrait){.table-and-deck>.hand-zone>.hand{padding-top:1.7rem}}@media (max-width:650px){.felt{order:1}.hand{order:2}.table-stats{order:4}}body:is(:has(>.hand-card-flight-layer>.hand-moving-card.playing-to-trick),:has(.felt>.trick>.hand-moving-card.playing-to-trick)) .felt .player-self .player-badge{z-index:var(--table-layer-flight-badge)}@media (max-width:650px) and (orientation:portrait){.felt .player-self{bottom:-.925rem}.trick figure{width:5.5rem}.felt.players-5>.opponent.seat-2,.felt.players-5>.opponent.seat-3{top:13.5%}.players-5 .seat-1,.players-5 .seat-4{top:61%}.felt.players-5>.opponent.seat-1{right:0}.felt.players-5>.opponent.seat-4{left:0}.poignee-choice-cards{--poignee-card-width:clamp(5rem, 24vw, 6.8rem)}}.table-review-actions button:focus{outline:none}.table-review-actions button:focus-visible,.table-review-actions button:active{background:#0a3834;border-color:#f7d577;box-shadow:0 0 0 3px #f7d57788,0 0 12px #f7d577aa}.pwa-install{justify-items:start;gap:.55rem;display:grid}.auth-pwa-install{margin-top:1.2rem}.lobby-pwa-install{justify-items:center;margin-top:1.35rem}.pwa-install-button{border:1px solid var(--green);background:var(--green);color:#fff;border-radius:.25rem;padding:.72rem 1rem;font-size:.7rem}.pwa-install-button:hover{background:#093a36}.pwa-install-instructions{color:#596762;max-width:19rem;margin:0;font-size:.64rem;line-height:1.55}.pwa-install-card{background:var(--paper);border:1px solid #d1c9b9;border-radius:.5rem;place-items:center;margin:1.5rem 0;padding:1.1rem;display:grid}.pwa-install-card .pwa-install{justify-items:center}@media (max-width:650px) and (orientation:portrait){.live-game-score{left:max(.75rem, calc(env(safe-area-inset-left) + .5rem))}}@media (min-width:651px){.live-game-score{top:max(1.5rem, calc(env(safe-area-inset-top) + .75rem));left:50%;transform:translate(-50%)}.felt.players-4 .live-game-score{top:max(.75rem, calc(env(safe-area-inset-top) + .5rem));left:max(.75rem, calc(env(safe-area-inset-left) + .5rem));transform:none}.felt{order:1}.hand{order:2}.table-stats{order:4}}@media (min-width:651px) and (max-width:1024px) and (orientation:portrait){.table-and-deck{--hand-zone-min-height:max(8rem, clamp(7.25rem, 13vw, 8.75rem))}.table-and-deck>.hand-zone>.hand{padding-top:1.7rem}.trick figure{width:clamp(5.5rem,15vw,6.8rem)}.poignee-choice-cards{--poignee-card-width:clamp(5rem, 24vw, 6.8rem)}.table-corner-actions,.felt.players-4 .live-game-score{top:max(calc(.75rem + 5px), calc(env(safe-area-inset-top) + .5rem))}}@media (min-width:651px){.trick:not(.final-discard) figure{width:7.5rem;margin-top:-1.77rem;margin-left:-1rem}}
.trick:not(.final-discard){top:calc(50% - var(--trick-fan-top-shift,35px) + var(--trick-vertical-offset,0px) + var(--trick-drag-y,0px));left:calc(50% + var(--trick-drag-x,0px));width:var(--trick-fan-width,17rem);height:var(--trick-fan-height,10rem)}.trick:not(.collecting){--card-arrival-drag-x:var(--trick-drag-x,0px);--card-arrival-drag-y:var(--trick-drag-y,0px)}.trick.draggable-trick figure{cursor:grab;touch-action:none}.trick.draggable-trick:active figure{cursor:grabbing}.trick:not(.final-discard) figure{width:var(--trick-card-width,7.5rem);margin:0}.trick:not(.final-discard) figure.from-bottom{top:var(--trick-card-bottom-top,calc(2.68rem + 30px));left:var(--trick-card-center-left,4.75rem)}.trick:not(.final-discard) figure.from-right{top:var(--trick-card-side-top,2.03rem);left:var(--trick-card-right-left,9.4rem)}.trick:not(.final-discard) figure.from-upper-right{top:var(--trick-card-upper-top,-1.32rem);left:var(--trick-card-upper-right-left,7.9rem)}.trick:not(.final-discard) figure.from-top{top:var(--trick-card-top-top,-1.72rem);left:var(--trick-card-center-left,4.75rem)}.trick:not(.final-discard) figure.from-upper-left{top:var(--trick-card-upper-top,-1.32rem);left:var(--trick-card-upper-left-left,1.6rem)}.trick:not(.final-discard) figure.from-left{top:var(--trick-card-side-top,2.03rem);left:var(--trick-card-left-left,.1rem)}@media (max-width:400px) and (orientation:portrait){.trick:not(.final-discard){--side-card-inset:var(--trick-side-card-inset,max(.35rem, calc(11rem - 50vw)))}.trick:not(.final-discard) figure.from-left{left:calc(var(--trick-card-left-left,.1rem) + var(--side-card-inset))}.trick:not(.final-discard) figure.from-right{left:calc(var(--trick-card-right-left,9.4rem) - var(--side-card-inset))}}
.table-compass-rose{top:calc(50% - var(--trick-fan-top-shift,35px) + var(--trick-vertical-offset,0px));aspect-ratio:1;opacity:1;pointer-events:none;-webkit-user-select:none;user-select:none;width:min(11rem,42vw,34vh);position:absolute;left:50%;transform:translate(-50%)}.table-compass-rose svg{width:100%;height:100%;overflow:visible}.table-compass-rose text{fill:#f1dfaa;letter-spacing:.015em;stroke:none;font:400 36.4px Playfair Display,Georgia,serif}.table-compass-rose .compass-north-label{fill:#fff0bd}.felt.players-4>.opponent.seat-2>.table-compass-rose{display:none}@media (max-width:650px) and (orientation:portrait){.felt.players-4>.table-compass-rose{display:none}.felt.players-4>.opponent.seat-2>.table-compass-rose{display:block;top:calc(100% + 12px)}}
.felt{--table-choice-card-width:var(--played-card-width,5.2rem);--table-choice-top-clearance:var(--table-notice-clearance,var(--table-window-top-clearance,4.5rem));--table-choice-bottom-clearance:2.5rem}.call-card-selection{--table-choice-card-width:min(var(--played-card-width,5.2rem), 18dvh);z-index:8;width:min(calc(4 * var(--table-choice-card-width) + 5.5rem), calc(100% - 2rem));box-sizing:border-box;color:#fff4d4;-webkit-user-select:none;user-select:none;background:#062f2bb8;border:1px solid #fff4d48c;border-radius:.6rem;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);justify-items:center;gap:.35rem;height:max-content;max-height:calc(100% - 1rem);padding:.5rem 1rem;display:grid;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 8px 22px #00100e80}.call-card-selection img{-webkit-user-drag:none}.call-card-selection>p{margin:0;font-family:Playfair Display,serif;font-size:1.1rem;font-weight:700}.call-card-selection .call-options{--call-action-clearance:3rem;box-sizing:border-box;width:100%;min-height:0;padding:1.25rem .85rem var(--call-action-clearance);overscroll-behavior:contain;scroll-padding-bottom:var(--call-action-clearance);grid-area:2/1/4;overflow:hidden auto}.call-card-selection .call-options .public-card-rows{--public-card-width:var(--table-choice-card-width);--public-card-gap:.55rem;overflow-x:visible}.call-card-selection .call-options button{box-sizing:border-box;width:var(--table-choice-card-width);aspect-ratio:480/850;flex:0 0 var(--table-choice-card-width);outline-offset:-2px;border:0;border-radius:.35rem;outline:2px solid #0000;align-self:start;height:auto;overflow:visible}.call-card-selection .call-options button:hover{outline-color:var(--gold)}.call-card-selection .call-options button.selected-call{outline-color:#f7d577;box-shadow:0 0 0 2px #f7d57742}.call-card-selection .call-options img{height:100%;display:block}.call-card-selection .call-options .card-face{height:100%}.call-card-selection .primary-button{z-index:1;grid-area:3/1;align-self:end;min-width:8rem;position:relative}.call-card-selection .call-options button.bot-suggested-call{outline-color:#62d7ff;position:relative;box-shadow:0 0 0 2px #093542e6,0 0 14px #62d7ff}.call-card-selection .call-options button.bot-suggested-call .assistant-indicator{z-index:2;width:1.65rem;height:1.65rem;position:absolute;top:-.7rem;right:-.65rem}.call-card-selection .call-options button.bot-suggested-call .assistant-indicator svg{width:1.5rem;height:1.5rem}.call-card-selection .call-options button.selected-call,.call-card-selection .call-options button.selected-call.bot-suggested-call{outline-color:#fff7c7;box-shadow:0 0 0 3px #fff7c7b8,0 0 16px #f7d577e6}@media (max-width:650px){.felt .call-card-selection{width:min(30rem,100% - 1rem);padding:.7rem}.call-card-selection .call-options{display:block}.call-card-selection .call-options button{z-index:1;width:var(--table-choice-card-width);align-self:start;position:relative}}@media (max-width:650px) and (orientation:portrait){.felt .call-card-selection{--call-portrait-top-clearance:max(5.5rem, calc(env(safe-area-inset-top) + 5rem));top:var(--call-portrait-top-clearance);height:max-content;max-height:calc(100% - var(--call-portrait-top-clearance) - .5rem);margin-block:auto;bottom:.5rem;transform:translate(-50%)}}@media (max-width:650px){.hand-top-action-live-score{top:max(1rem, calc(env(safe-area-inset-top) + .5rem));left:max(.75rem, calc(env(safe-area-inset-left) + .5rem));transform:none}}@media (min-width:651px){.hand-top-action-live-score{top:max(.5rem, env(safe-area-inset-top));left:max(.5rem, calc(env(safe-area-inset-left) + .5rem));transform:none}}
.reaction-picker-backdrop{z-index:19;background:0 0;border:0;position:absolute;inset:0}.hand-reaction-control{z-index:1;position:relative}.table-reaction-trigger{color:#fff4d4;background:#123d39;border:1px solid #fff4be99;border-radius:50%;place-items:center;width:2.25rem;height:2.25rem;padding:0;display:grid}.table-reaction-trigger:hover,.table-reaction-trigger[aria-expanded=true]{background:#1c675c}.table-reaction-trigger svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:1.3rem;height:1.3rem}.reaction-picker{z-index:2;background:linear-gradient(135deg,#0d4d44,#06352f);border:1px solid #ddc477b8;border-radius:.4rem;grid-template-columns:repeat(4,3.25rem);gap:.3rem;padding:.45rem;display:grid;position:absolute;bottom:calc(100% + .5rem);right:0;box-shadow:0 10px 26px #001c}.reaction-picker button{background:#06352f;border:1px solid #0000;border-radius:.3rem;place-items:center;width:3.25rem;height:3.25rem;padding:.12rem;display:grid}.reaction-picker button:hover,.reaction-picker button:focus-visible{background:#195d4d;border-color:#e8cd78}.reaction-picker img{width:100%;height:100%}.seat-reactions-frame{z-index:var(--table-layer-seat-reactions);pointer-events:none;position:fixed}.seat-reactions-layer{pointer-events:none;position:absolute;inset:0}.seat-reaction-anchor{position:absolute}.seat-reactions-layer .seat-0{bottom:calc(12% + .2rem);left:50%;transform:translate(-50%)}.players-5 .seat-reactions-layer .seat-1{top:68%;right:26%}.players-5 .seat-reactions-layer .seat-2{top:28%;right:25%}.players-5 .seat-reactions-layer .seat-3{top:28%;left:25%}.players-5 .seat-reactions-layer .seat-4{top:68%;left:26%}.players-4 .seat-reactions-layer .seat-1{top:60%;right:26%}.players-4 .seat-reactions-layer .seat-2{top:25%;left:50%;transform:translate(-50%)}.players-4 .seat-reactions-layer .seat-3{top:60%;left:26%}.players-3 .seat-reactions-layer .seat-1{top:32%;right:26%}.players-3 .seat-reactions-layer .seat-2{top:32%;left:26%}.seat-reaction{z-index:7;pointer-events:none;place-items:center;width:12rem;height:12rem;animation:.68s ease-out both seat-reaction-travel;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.seat-reaction.leaving{animation:.68s ease-in both seat-reaction-depart}.seat-reaction-size{width:100%;height:100%;animation:.68s cubic-bezier(.55,0,1,1) both seat-reaction-scale;display:block}.seat-reaction-size img{filter:drop-shadow(0 .2rem .3rem #001c);width:100%;height:100%;animation:.18s ease-in-out .68s seat-reaction-bounce;display:block}.seat-reaction.leaving .seat-reaction-size{animation:.68s ease-out both seat-reaction-shrink}.seat-reaction.reaction-punch{animation-duration:.76s}.seat-reaction.reaction-punch .seat-reaction-size{animation:.76s cubic-bezier(.55,0,1,1) both reaction-punch-scale}.seat-reaction.reaction-punch .seat-reaction-size img{animation:.18s ease-in-out .76s reaction-punch-bounce}.seat-reaction.reaction-punch.leaving{animation-duration:.68s;animation-timing-function:ease-in}.seat-reaction.reaction-punch.leaving .seat-reaction-size{animation:.68s ease-out both reaction-punch-shrink}@keyframes seat-reaction-travel{0%{opacity:0;transform:translate(calc(-50% + var(--reaction-origin-x,0px)), calc(-50% + var(--reaction-origin-y,0px)))}30%{opacity:1}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes seat-reaction-depart{0%{opacity:1;transform:translate(-50%,-50%)}70%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--reaction-origin-x,0px)), calc(-50% + var(--reaction-origin-y,0px)))}}@keyframes seat-reaction-scale{0%{transform:scale(.12)}to{transform:scale(1)}}@keyframes seat-reaction-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.4)}}@keyframes seat-reaction-shrink{0%{transform:scale(1)}to{transform:scale(.12)}}@keyframes reaction-punch-scale{0%{transform:rotate(-24deg)scale(.12)}to{transform:rotate(0)scale(1)}}@keyframes reaction-punch-bounce{0%,to{transform:rotate(0)scale(1)}50%{transform:rotate(-3deg)scale(1.85)}}@keyframes reaction-punch-shrink{0%{transform:rotate(0)scale(1)}to{transform:rotate(-24deg)scale(.12)}}@media (prefers-reduced-motion:reduce){.seat-reaction,.seat-reaction-size,.seat-reaction-size img{animation:none!important}}@media (max-width:600px){.seat-reactions-layer .seat-0{bottom:calc(17% + .2rem)}.players-5 .seat-reactions-layer .seat-1,.players-4 .seat-reactions-layer .seat-1{top:68%;right:31%}.players-5 .seat-reactions-layer .seat-4,.players-4 .seat-reactions-layer .seat-3{top:68%;left:31%}.players-5 .seat-reactions-layer .seat-2{top:30%;right:31%}.players-5 .seat-reactions-layer .seat-3{top:30%;left:31%}.players-4 .seat-reactions-layer .seat-2{top:27%}.players-3 .seat-reactions-layer .seat-1{top:34%;right:31%}.players-3 .seat-reactions-layer .seat-2{top:34%;left:31%}}
.debug-modal-backdrop{z-index:var(--table-layer-debug-modal);box-sizing:border-box;padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));background:#071b1bce;place-items:safe center;display:grid;position:fixed;inset:0}.debug-modal-backdrop-socket{z-index:var(--table-layer-socket-debug-modal)}.debug-modal{box-sizing:border-box;color:#fff4d4;background:#092f2b;border:1px solid #d9bd71;border-radius:.6rem;flex-direction:column;width:min(70rem,100%);min-height:0;max-height:calc(100dvh - 2rem);display:flex;overflow:hidden;box-shadow:0 18px 50px #0009}.debug-modal-socket{width:min(40rem,100%);color:var(--ink);background:#fffdf8}.debug-modal-header{border-bottom:1px solid #d9bd7180;flex:none;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.debug-modal-header h2{margin:0;font:700 1rem Playfair Display,serif}.debug-modal-header button{width:2rem;height:2rem;color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:50%;flex:none;place-items:center;padding:0;font-size:1.3rem;display:grid}.debug-modal-header button:focus-visible{outline-offset:2px;outline:3px solid #62d7ff}.debug-panel,.debug-game-state{overscroll-behavior:contain;min-height:0;padding:1rem;overflow-y:auto}.debug-game-state-header .debug-trigger{font-size:.7rem}

