@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-hebrew-wght-normal-DdnsCkLr.woff2)format("woff2-variations");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-latin-ext-wght-normal-CYrqKuxd.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-latin-wght-normal-DM6njrJ3.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{box-sizing:border-box}html{overflow-x:clip}html,body{background:var(--color-background);min-height:100dvh;color:var(--color-text);font-family:var(--font-body);-webkit-text-size-adjust:100%;margin:0;font-size:100%;line-height:1.5}button,input{font:inherit}:focus-visible{outline:3px solid var(--color-secondary);outline-offset:3px}:root{--outline:var(--color-outline);--sticker-shadow:3px 3px 0 var(--outline);--card-w:clamp(60px, 17.5vw, 100px);--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1)}.card{object-fit:contain;width:var(--card-w);aspect-ratio:2/3;height:auto;filter:drop-shadow(var(--sticker-shadow));display:block}.badge,.chip{border:2px solid var(--outline);font-family:var(--font-display);vertical-align:middle;white-space:nowrap;border-radius:999px;margin-left:.35rem;padding:0 .5rem;font-size:.8rem;font-weight:600;line-height:1.5;display:inline-block}.badge{background:var(--color-highlight);color:var(--color-on-highlight)}.chip{background:var(--color-background);color:var(--color-text);animation:chip-pop .26s var(--ease-spring) both}.chip--turn{background:var(--color-highlight);color:var(--color-on-highlight)}.stripes{gap:3px;display:grid}.stripes span{border-radius:3px;height:6px;display:block}.stripes span:first-child{background:var(--color-highlight)}.stripes span:nth-child(2){background:var(--color-sunset)}.stripes span:nth-child(3){background:var(--color-primary)}.stripes span:nth-child(4){background:var(--color-felt)}.button-primary,.button-secondary{border:3px solid var(--outline);min-height:48px;font-family:var(--font-display);box-shadow:var(--sticker-shadow);cursor:pointer;touch-action:manipulation;transition:transform .12s var(--ease-out), box-shadow .12s var(--ease-out);border-radius:999px;padding:.5rem 1.5rem;font-size:1.25rem;font-weight:700}.button-primary{background:var(--color-primary);color:var(--color-on-primary)}.button-primary--compact{padding:.4rem 1rem;font-size:1.2rem}.button-secondary{background:var(--color-background);color:var(--color-text);padding:.4rem 1.1rem;font-size:1.1rem}.button-primary:active,.button-secondary:active{box-shadow:1px 1px 0 var(--outline);transform:translate(2px,2px)}.button-primary:disabled,.button-secondary:disabled{opacity:.45;box-shadow:none;cursor:not-allowed;transform:none}.home{max-width:480px;min-height:100dvh;padding:max(1rem, env(safe-area-inset-top)) 1rem max(1rem, env(safe-area-inset-bottom));text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:clamp(.6rem,2.5dvh,1.25rem);margin:0 auto;display:flex}.home__title{margin:0;line-height:0}.home__logo{width:min(88vw,400px,75dvh);height:auto}.home__tagline{font-family:var(--font-display);margin:0;font-size:1.35rem;font-weight:700}.home .stripes{width:100%}.segmented{border:0;gap:.5rem;margin:0;padding:0;display:flex}.segmented__legend{width:100%;margin-bottom:.5rem;font-weight:700}.segmented__option{cursor:pointer;position:relative}.segmented__option input{opacity:0;cursor:pointer;position:absolute;inset:0}.segmented__option span{border:3px solid var(--outline);background:var(--color-background);min-width:6rem;min-height:44px;font-family:var(--font-display);border-radius:14px;padding:.5rem .75rem;font-weight:600;display:block}.segmented__option input:checked+span{background:var(--color-highlight);color:var(--color-on-highlight);box-shadow:var(--sticker-shadow)}.segmented__option input:focus-visible+span{outline:3px solid var(--color-secondary);outline-offset:3px}.home__play{width:100%}.home__note{margin:0;font-size:.95rem}.game{--card-w:clamp(46px, min(17vw, 10dvh), 100px);max-width:560px;height:100dvh;padding:max(.5rem, env(safe-area-inset-top)) max(.75rem, env(safe-area-inset-right)) max(.5rem, env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left));overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;flex-direction:column;gap:.5rem;margin:0 auto;display:flex;overflow:hidden}.topbar{align-items:center;gap:.5rem;display:flex}.topbar__title{flex:1;min-width:0;margin:0;line-height:0}.topbar__logo{object-fit:contain;object-position:left center;width:auto;max-width:100%;height:clamp(34px,7dvh,60px)}.topbar__exit{border:3px solid var(--outline);background:var(--color-background);width:44px;height:44px;color:var(--color-text);cursor:pointer;touch-action:manipulation;border-radius:50%;place-items:center;display:grid}.score{gap:.4rem;margin:0;display:flex}.score__item{border:3px solid var(--outline);background:var(--color-background);min-width:4rem;box-shadow:var(--sticker-shadow);text-align:center;border-radius:12px;padding:.1rem .4rem}.score dt{font-size:.7rem;font-weight:700;line-height:1.2}.score__value{animation:score-pop .45s var(--ease-spring) both}@keyframes score-pop{0%{scale:1.6}}.score dd{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--color-primary);margin:0;font-size:1.35rem;font-weight:700;line-height:1.1}.felt{border:4px solid var(--outline);background:var(--color-felt);min-height:0;box-shadow:4px 4px 0 var(--outline);color:var(--color-on-felt);border-radius:24px;flex:1;grid-template:"corner top info""left trick right"minmax(0,1fr)/minmax(0,1fr) auto minmax(0,1fr);place-items:center;gap:.25rem;padding:.5rem;display:grid;position:relative;overflow:clip;container-type:size}.felt__corner{grid-area:corner;place-self:start}.felt__tricks{font-family:var(--font-display);text-align:right;grid-area:info;place-self:start end;margin:0;font-size:.85rem;font-weight:600}.seat{flex-direction:column;align-items:center;gap:.1rem;min-width:0;display:flex}.seat--top{grid-area:top}.seat--left{grid-area:left}.seat--right{grid-area:right}.seat__name{font-family:var(--font-display);white-space:nowrap;text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:.15rem .3rem;margin:0;font-weight:600;display:flex}.seat__name .badge{margin-left:0}.seat--turn .seat__name{-webkit-text-decoration:underline 3px var(--color-highlight);text-decoration:underline 3px var(--color-highlight);text-underline-offset:4px}.seat--out .seat__cards{opacity:.45}.seat__cards{--mini-w:calc(var(--card-w) * .62);perspective:700px;align-items:center;gap:.15rem;display:flex}.seat__stack{align-items:flex-end;display:flex}.seat--left .seat__cards,.seat--right .seat__cards{flex-direction:column}.seat--left .pinte,.seat--right .pinte{margin:calc(var(--card-w) * -.25) 0 0}.seat--top .seat__stack{min-height:calc(var(--mini-w) * 1.5)}.seat--top .card--mini{transform-origin:50% 130%;rotate:calc((var(--i) - (var(--n) - 1) / 2) * 7deg)}.seat--top .card--mini+.card--mini{margin-left:calc(var(--mini-w) * -.55)}.seat--left .seat__stack,.seat--right .seat__stack{min-height:calc(var(--mini-w) * 1.5);flex-direction:column;align-items:center}.seat--left .card--mini+.card--mini,.seat--right .card--mini+.card--mini{margin-top:calc(var(--mini-w) * 1.5 * -.74)}.seat--left .card--mini{rotate:calc((var(--i) - (var(--n) - 1) / 2) * -3deg)}.seat--right .card--mini{rotate:calc((var(--i) - (var(--n) - 1) / 2) * 3deg)}.seat__info{min-height:1.6rem;margin:0}.seat__info .chip:first-child{margin-left:0}.card--mini{width:var(--mini-w);filter:drop-shadow(2px 2px 0 var(--outline));animation:card-land .32s var(--ease-spring) both}@keyframes card-land{0%{opacity:0;scale:1.35}}.pinta{border:3px solid var(--outline);background:var(--color-background);color:var(--color-text);box-shadow:var(--sticker-shadow);border-radius:14px;align-items:center;gap:.3rem;margin:0;padding:.15rem .5rem .15rem .2rem;display:flex}.pinta__icon{width:2rem;height:2rem}.pinta__text{flex-direction:column;line-height:1.05;display:flex}.pinta__label{font-size:.7rem;font-weight:700}.pinta__suit{font-family:var(--font-display);color:var(--color-primary);text-transform:capitalize;font-size:1rem;font-weight:700}.pinte{animation:pinte-flip .65s var(--ease-spring) both;margin:0 0 0 .2rem;position:relative;transform:rotate(6deg)}.card--pinte{width:calc(var(--card-w) * .8)}@keyframes pinte-flip{0%{rotate:y 90deg;scale:1.4}55%{rotate:y 0deg;scale:1.25}}.pinte__tag{z-index:1;border:2px solid var(--outline);background:var(--color-highlight);color:var(--color-on-highlight);font-family:var(--font-display);white-space:nowrap;border-radius:999px;padding:0 .4rem;font-size:.7rem;font-weight:700;line-height:1.4;position:absolute;bottom:-.6rem;left:50%;translate:-50%}.pinte__tag--hand{top:-.8rem;bottom:auto}.trick{--cross-w:2.6;--cross-h:3.4;--trick-top:7rem;--trick-w:max(32px, min(calc(var(--card-w) * 1.1), calc((100cqh - var(--trick-top)) / var(--cross-h)), calc((100cqw - 9rem) / var(--cross-w))));z-index:2;width:calc(var(--trick-w) * var(--cross-w));height:calc(var(--trick-w) * var(--cross-h));margin-inline:calc(var(--trick-w) * -.25);grid-area:trick;position:relative}.trick__cards{position:absolute;inset:0}.trick__slot{animation-duration:.34s;animation-timing-function:var(--ease-spring);animation-fill-mode:both;position:absolute}.trick__slot--top{animation-name:play-from-top}.trick__slot--bottom{animation-name:play-from-bottom}.trick__slot--left{animation-name:play-from-left}.trick__slot--right{animation-name:play-from-right}@keyframes play-from-top{0%{opacity:0;translate:-50% -22cqh;rotate:-25deg;scale:.8}}@keyframes play-from-bottom{0%{opacity:0;translate:-50% 30cqh;rotate:20deg;scale:1.2}}@keyframes play-from-left{0%{opacity:0;translate:-25cqw -50%;rotate:-30deg;scale:.8}}@keyframes play-from-right{0%{opacity:0;translate:25cqw -50%;rotate:30deg;scale:.8}}.trick{--trick-win-at:1.3s;--trick-collect-at:2.8s}.trick__cards--to-top{animation:collect-top .5s ease-in var(--trick-collect-at) forwards}.trick__cards--to-bottom{animation:collect-bottom .5s ease-in var(--trick-collect-at) forwards}.trick__cards--to-left{animation:collect-left .5s ease-in var(--trick-collect-at) forwards}.trick__cards--to-right{animation:collect-right .5s ease-in var(--trick-collect-at) forwards}@keyframes collect-top{to{opacity:0;translate:0 -30cqh;scale:.4}}@keyframes collect-bottom{to{opacity:0;translate:0 35cqh;scale:.4}}@keyframes collect-left{to{opacity:0;translate:-32cqw;scale:.4}}@keyframes collect-right{to{opacity:0;translate:32cqw;scale:.4}}.trick__slot .card{width:var(--trick-w)}.trick__slot--top{top:0;left:50%;translate:-50%}.trick__slot--bottom{bottom:0;left:50%;translate:-50%}.trick__slot--left{top:50%;left:0;translate:0 -50%}.trick__slot--right{top:50%;right:0;translate:0 -50%}.trick__slot{z-index:1}.trick__slot--winner{z-index:5;transition:z-index 0s var(--trick-win-at)}.trick__slot .card{border-radius:8px}.trick__slot--winner .card{animation:trick-win .45s var(--ease-spring) var(--trick-win-at) both, trick-glow .7s ease-in-out calc(var(--trick-win-at) + .45s) infinite alternate}.trick__cards--done .trick__slot:not(.trick__slot--winner) .card{animation:trick-lose .4s ease-out var(--trick-win-at) both}@keyframes trick-win{0%{outline-offset:1px;outline:4px solid #0000;scale:1}to{outline:4px solid var(--color-highlight);outline-offset:1px;box-shadow:0 0 0 3px var(--outline);scale:1.14}}@keyframes trick-glow{0%{outline:4px solid var(--color-highlight);outline-offset:1px;box-shadow:0 0 0 3px var(--outline);scale:1.14}to{outline:4px solid var(--color-highlight);outline-offset:1px;box-shadow:0 0 0 3px var(--outline), 0 0 18px 6px var(--color-highlight);scale:1.17}}@keyframes trick-lose{to{filter:brightness(.7)saturate(.6)}}.trick__caption{z-index:11;border:2px solid var(--outline);background:var(--color-background);color:var(--color-text);font-family:var(--font-display);white-space:nowrap;box-shadow:var(--sticker-shadow);animation:chip-pop .3s var(--ease-spring) calc(var(--trick-win-at) + .15s) both;border-radius:999px;margin:0;padding:0 .6rem;font-size:.85rem;font-weight:700;position:absolute;top:50%;left:50%;translate:-50% -50%}@keyframes chip-pop{0%{opacity:0;scale:.4}}.deal{--deal-w:calc(var(--card-w) * .62);--deal-flight:.64s;--from-x:50cqw;--from-y:55cqh;z-index:2;pointer-events:none;position:absolute;inset:0}.deal--from-top{--from-x:50cqw;--from-y:22cqh}.deal--from-left{--from-x:16cqw;--from-y:60cqh}.deal--from-right{--from-x:84cqw;--from-y:60cqh}.deal--from-bottom{--from-x:50cqw;--from-y:88cqh}.deal__deck{translate:calc(var(--from-x) - 50%) calc(var(--from-y) - 50%);animation:deck-in .3s var(--ease-spring) both;position:absolute;top:0;left:0}.deal__half{display:grid}.deal__half>*{grid-area:1/1}.deal__half>*+*{translate:2px -2px}.deal__half--b{position:absolute;inset:0}.deal__deck--shuffling .deal__half--a{animation:.56s ease-in-out 2 riffle-a}.deal__deck--shuffling .deal__half--b{animation:.56s ease-in-out 2 riffle-b}@keyframes riffle-a{50%{translate:-60%;rotate:-12deg}}@keyframes riffle-b{50%{translate:60%;rotate:12deg}}@keyframes deck-in{0%{opacity:0;scale:.6}}.card--deck{width:var(--deal-w)}.deal__card{animation:deal-fly var(--deal-flight) cubic-bezier(.25, .8, .35, 1) forwards;position:absolute;top:0;left:0}.card--deal{width:var(--deal-w)}.deal__card--to-top{--to-x:50cqw;--to-y:14cqh;--spin:360deg}.deal__card--to-left{--to-x:13cqw;--to-y:62cqh;--spin:270deg}.deal__card--to-right{--to-x:87cqw;--to-y:62cqh;--spin:-270deg}.deal__card--to-bottom{--to-x:50cqw;--to-y:112cqh;--spin:360deg}@keyframes deal-fly{0%{translate:calc(var(--from-x) - 50%) calc(var(--from-y) - 50%);opacity:1;rotate:0deg;scale:1}45%{scale:1.3}85%{opacity:1}to{translate:calc(var(--to-x) - 50%) calc(var(--to-y) - 50%);rotate:var(--spin);opacity:0;scale:.9}}.actions{z-index:1;border:3px solid var(--outline);background:var(--color-background);box-shadow:var(--sticker-shadow);border-radius:18px;flex-direction:column;justify-content:center;gap:.4rem;padding:.5rem .6rem;display:flex;position:relative}.actions__status{min-height:1.5rem;font-family:var(--font-display);text-align:center;margin:0;font-weight:700}.panel{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;display:flex}.panel--grid{grid-template-columns:1fr 1fr;display:grid}.panel .button-primary,.panel .button-secondary{min-width:0;min-height:44px;padding:.3rem .6rem}.panel__label{text-align:center;width:100%;font-weight:700}.panel__range{min-width:8rem;height:44px;accent-color:var(--color-primary);touch-action:manipulation;flex:1}.panel__value{font-variant-numeric:tabular-nums;min-width:7rem}.hand{z-index:1;flex-direction:column;align-items:center;display:flex;position:relative}.hand__title{font-family:var(--font-display);margin:0;font-size:1.05rem;font-weight:700}.hand__note{margin:0;font-size:.9rem}.hand__cards{min-height:calc(var(--card-w) * 1.5 + 1rem);justify-content:center;margin:1.4rem 0 0;padding:0 0 .5rem;list-style:none;display:flex}.hand__slot{--offset:calc(var(--i) - (var(--n) - 1) / 2);transform:translateY(calc(var(--offset) * var(--offset) * 3px)) rotate(calc(var(--offset) * 4deg));perspective:700px;position:relative}.hand__slot+.hand__slot{margin-left:calc(var(--card-w) * -.12)}@keyframes hand-flip{0%{opacity:0;translate:0 -40px;rotate:y 100deg;scale:1.15}}.hand__card{cursor:default;touch-action:manipulation;transition:transform .15s var(--ease-out), opacity .15s var(--ease-out);animation:hand-flip .42s var(--ease-spring) both;background:0 0;border:0;padding:0;display:block;position:relative}.hand--turn .hand__card:disabled{opacity:.45}.hand__card--playable{cursor:pointer;transform:translateY(-10px)}.hand__card--playable:active{transform:translateY(-4px)scale(.97)}@media (orientation:landscape) and (width>=520px){.trick{--cross-w:2.9;--cross-h:3.05;--trick-top:9.5rem}.seat--top .card--pinte{width:var(--mini-w)}.game{--card-w:clamp(40px, min(7.5vw, 16.5dvh), 110px);grid-template:"top top""felt."minmax(0,1fr)"felt actions""felt hand""felt."minmax(0,1fr)/minmax(0,1fr) clamp(290px,34vw,460px);gap:.5rem .75rem;max-width:1280px;display:grid}.topbar{grid-area:top}.felt{grid-area:felt}.actions{grid-area:actions;align-self:center;min-height:9rem}.hand{grid-area:hand;margin-top:1rem}.hand__cards{margin-top:1.5rem}.hand__slot+.hand__slot{margin-left:calc(var(--card-w) * -.22)}.deal__card--to-bottom{--to-x:115cqw;--to-y:95cqh}}.toast{z-index:20;border:3px solid var(--outline);background:var(--color-highlight);color:var(--color-on-highlight);font-family:var(--font-display);box-shadow:var(--sticker-shadow);white-space:nowrap;animation:toast-in .38s var(--ease-spring) both;border-radius:999px;margin:0;padding:.4rem 1rem;font-size:1.1rem;font-weight:700;position:fixed;top:4.5rem;left:50%;translate:-50%}@keyframes toast-in{0%{opacity:0;translate:-50% -16px;scale:.7}}.dialog-backdrop{z-index:30;background:color-mix(in srgb, var(--color-outline) 55%, transparent);place-items:center;padding:1rem;animation:.18s ease-out both fade-in;display:grid;position:fixed;inset:0}.dialog{border:4px solid var(--outline);background:var(--color-background);width:min(100%,380px);max-height:100%;box-shadow:5px 5px 0 var(--outline);text-align:center;animation:dialog-in .38s var(--ease-spring) both;border-radius:20px;padding:1.25rem;overflow:auto}@keyframes dialog-in{0%{opacity:0;translate:0 40px;scale:.9}}.dialog__title{font-family:var(--font-display);color:var(--color-primary);margin:0;font-size:1.5rem}.dialog__points{font-family:var(--font-display);margin:.25rem 0 .5rem;font-size:1.3rem;font-weight:700}.dialog__list{margin:0 0 1rem;padding:0;list-style:none}.dialog__actions{gap:.75rem;display:grid}@keyframes fade-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.trick__slot,.trick__cards,.trick__caption,.hand__card,.card--mini,.pinte,.deal__deck,.deal__half,.deal__card,.score__value,.chip,.toast,.dialog,.dialog-backdrop{animation:none}.hand__card,.button-primary,.button-secondary{transition:none}}.score__item--us{background:var(--color-team-us);color:var(--color-on-team-us)}.score__item--them{background:var(--color-team-them);color:var(--color-on-team-them)}.score__item--us dd,.score__item--them dd{color:inherit}.team-pill{border:2px solid var(--outline);min-width:1.6rem;font-family:var(--font-display);text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;margin-left:.25rem;padding:0 .4rem;font-weight:700;display:inline-block}.team-pill--us{background:var(--color-team-us);color:var(--color-on-team-us)}.team-pill--them{background:var(--color-team-them);color:var(--color-on-team-them)}.felt__tricks{align-items:center;display:flex}.felt__tricks-label{margin-right:.1rem}.seat__name:before,.hand__title:before{content:"";border:2px solid var(--outline);vertical-align:middle;border-radius:50%;width:.7rem;height:.7rem;display:inline-block}.seat--us .seat__name:before,.hand__title:before{background:var(--color-team-us)}.seat--them .seat__name:before{background:var(--color-team-them)}.hand__title:before{margin-right:.35rem}.trick__caption{background:var(--color-team-them);color:var(--color-on-team-them)}.trick__caption--us,.toast--us{background:var(--color-team-us);color:var(--color-on-team-us)}.toast--them{background:var(--color-team-them);color:var(--color-on-team-them)}.dialog__title--us{color:var(--color-team-us)}.dialog__title--them{color:var(--color-text)}.dialog__title--them:after,.dialog__title--us:after{content:"";border-radius:3px;width:60%;height:6px;margin:.4rem auto 0;display:block}.dialog__title--us:after{background:var(--color-team-us)}.dialog__title--them:after{background:var(--color-team-them)}.team-text--us{color:var(--color-team-us)}.team-text--them{color:var(--color-text)}.dialog__contract{margin:0 0 .6rem}.score-table{border-collapse:separate;border-spacing:0 .3rem;font-variant-numeric:tabular-nums;width:100%;margin:0 0 .75rem}.score-table th[scope=row]{text-align:left;padding-right:.5rem;font-weight:700}.score-table__us,.score-table__them{border:2px solid var(--outline);width:32%;font-family:var(--font-display);text-align:center;padding:.2rem .4rem;font-weight:700}.score-table__us{background:var(--color-team-us);color:var(--color-on-team-us);border-radius:10px 0 0 10px}.score-table__them{background:var(--color-team-them);color:var(--color-on-team-them);border-left:0;border-radius:0 10px 10px 0}.score-table__total td{font-size:1.3rem}.hand__card--playable{cursor:grab;touch-action:none}.hand__card--selected{transform:translateY(-18px)scale(1.05)}.hand__card--selected .card{outline:4px solid var(--color-highlight);outline-offset:2px;border-radius:8px}.hand__card--dragged{opacity:0}.drag-card{z-index:50;pointer-events:none;will-change:transform;filter:drop-shadow(6px 10px 0 color-mix(in srgb, var(--color-outline) 45%, transparent));position:fixed}.card--drag{width:100%}.felt--drop{cursor:pointer}.felt--drop:after{content:"";z-index:3;border:3px dashed var(--color-highlight);pointer-events:none;border-radius:18px;animation:.9s ease-in-out infinite alternate drop-pulse;position:absolute;inset:6px}@keyframes drop-pulse{0%{opacity:.45}to{opacity:1}}@media (prefers-reduced-motion:reduce){.felt--drop:after{animation:none}}.seat{position:relative}.seat--turn .seat__name{border:2px solid var(--outline);background:var(--color-highlight);color:var(--color-on-highlight);box-shadow:var(--sticker-shadow);border-radius:999px;padding:0 .5rem;text-decoration:none}.seat>*{z-index:1;position:relative}.seat--turn:before{content:"";z-index:0;border:3px solid var(--color-highlight);background:color-mix(in srgb, var(--color-highlight) 18%, transparent);pointer-events:none;border-radius:18px;animation:1.1s ease-in-out infinite alternate turn-breathe;position:absolute;inset:-.35rem}@keyframes turn-breathe{0%{opacity:.55;scale:.97}to{opacity:1;scale:1.02}}.thinking{vertical-align:middle;gap:2px;margin-left:.25rem;display:inline-flex}.thinking i{background:currentColor;border-radius:50%;width:4px;height:4px;animation:1s ease-in-out infinite thinking}.thinking i:nth-child(2){animation-delay:.15s}.thinking i:nth-child(3){animation-delay:.3s}@keyframes thinking{0%,60%,to{opacity:.25;translate:0}30%{opacity:1;translate:0 -3px}}.actions--my-turn{background:color-mix(in srgb, var(--color-highlight) 28%, var(--color-background));animation:1.1s ease-in-out infinite alternate my-turn}.actions--my-turn .actions__status{font-size:1.15rem}@keyframes my-turn{0%{box-shadow:var(--sticker-shadow), 0 0 0 0 var(--color-highlight)}to{box-shadow:var(--sticker-shadow), 0 0 0 5px var(--color-highlight)}}.hand--turn .hand__title{border:2px solid var(--outline);background:var(--color-highlight);color:var(--color-on-highlight);box-shadow:var(--sticker-shadow);border-radius:999px;padding:0 .6rem}.trick__labels{z-index:10;pointer-events:none;position:absolute;inset:0}.trick__who{border:2px solid var(--outline);font-family:var(--font-display);white-space:nowrap;box-shadow:2px 2px 0 var(--outline);animation:chip-pop .26s var(--ease-spring) .26s both;border-radius:999px;padding:0 .4rem;font-size:.7rem;font-weight:700;line-height:1.35;position:absolute;translate:-50% -50%}.trick__who--top{top:0;left:50%}.trick__who--bottom{top:100%;left:50%}.trick__who--left,.trick__who--right{top:calc((var(--cross-h) / 2 + .75) / var(--cross-h) * 100%)}.trick__who--left{left:calc(.5 / var(--cross-w) * 100%)}.trick__who--right{left:calc((var(--cross-w) - .5) / var(--cross-w) * 100%)}@media (prefers-reduced-motion:reduce){.seat--turn:before,.thinking i,.actions--my-turn,.trick__who,.trick__slot .card,.trick__cards--done .trick__slot .card{animation:none}.trick__slot--winner .card{outline:4px solid var(--color-highlight);outline-offset:1px}}.gallery{max-width:1100px;margin:0 auto;padding:1.5rem 1rem 3rem}.gallery__title{font-family:var(--font-display);color:var(--color-primary)}.gallery h2{font-family:var(--font-display);text-transform:capitalize}.gallery__row{flex-wrap:wrap;gap:1rem;display:flex}.gallery__suit{width:96px;height:96px}.gallery__card{width:150px}.home__section{flex-direction:column;align-items:center;gap:.6rem;width:100%;display:flex}.home__section-title{font-family:var(--font-display);margin:0;font-size:1.1rem;font-weight:700}.home__buttons{gap:.6rem;width:100%;display:grid}.entry{max-width:480px;min-height:100dvh;padding:max(1rem, env(safe-area-inset-top)) 1rem max(1rem, env(safe-area-inset-bottom));flex-direction:column;justify-content:center;gap:1rem;margin:0 auto;display:flex}.entry__title{font-family:var(--font-display);text-align:center;margin:0;font-size:1.8rem}.entry__form{gap:.9rem;display:grid}.field{gap:.25rem;display:grid}.field__label{font-family:var(--font-display);font-weight:700}.field__input{border:3px solid var(--outline);background:var(--color-background);width:100%;min-width:0;min-height:52px;color:var(--color-text);box-shadow:var(--sticker-shadow);border-radius:14px;padding:.5rem .9rem;font-size:1.15rem}.field__input[aria-invalid=true]{border-color:var(--color-primary)}.field__input--code{font-family:var(--font-display);letter-spacing:.4em;text-align:center;text-transform:uppercase;font-size:1.8rem;font-weight:700}.field__hint{margin:0;font-size:.9rem}.entry__error,.lobby__error{text-align:center;margin:0;font-weight:700}.entry__error:not(:empty),.lobby__error:not(:empty){border:2px solid var(--outline);border-left:8px solid var(--color-primary);border-radius:10px;padding:.35rem .75rem}.lobby{max-width:560px;min-height:100dvh;padding:max(.75rem, env(safe-area-inset-top)) .75rem max(.75rem, env(safe-area-inset-bottom));flex-direction:column;gap:.5rem;margin:0 auto;display:flex}.lobby--loading{text-align:center;font-family:var(--font-display);justify-content:center;align-items:center;font-size:1.2rem}.lobby__code{border:3px solid var(--outline);background:var(--color-highlight);color:var(--color-on-highlight);box-shadow:var(--sticker-shadow);text-align:center;border-radius:20px;padding:.4rem .6rem .6rem}.lobby__code-label,.lobby__share-hint{margin:0;font-weight:700}.lobby__code-value{justify-content:center;gap:.4rem;margin:.25rem 0;display:flex}.lobby__letter{border:3px solid var(--outline);background:var(--color-background);width:2.7rem;height:3.1rem;color:var(--color-text);font-family:var(--font-display);box-shadow:var(--sticker-shadow);animation:card-land .32s var(--ease-spring) both;border-radius:12px;place-items:center;font-size:1.9rem;font-weight:700;display:grid}.lobby__letter:nth-child(2){animation-delay:60ms}.lobby__letter:nth-child(3){animation-delay:.12s}.lobby__letter:nth-child(4){animation-delay:.18s}.lobby__share{grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.4rem;display:grid}.lobby__share .button-primary,.lobby__share .button-secondary{min-height:44px;padding:.25rem .5rem;font-size:1rem;line-height:1.15}.lobby__whatsapp:only-child{grid-column:1/-1}.lobby__whatsapp{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.lobby__table{grid-template-columns:1fr 1fr 1fr;grid-template-areas:".top.""left felt right"".bottom.";place-items:center;gap:.4rem;display:grid;position:relative}.lobby__felt{border:3px solid var(--outline);background:var(--color-felt);width:100%;box-shadow:var(--sticker-shadow);border-radius:18px;grid-area:felt;align-self:stretch;place-items:center;display:grid}.lobby__felt-logo{opacity:.85;width:85%;height:auto}.lobby-seat{border:3px solid var(--outline);width:100%;min-height:6.5rem;box-shadow:var(--sticker-shadow);text-align:center;animation:card-land .32s var(--ease-spring) both;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:.35rem .25rem;display:flex}.lobby-seat--top{grid-area:top}.lobby-seat--left{grid-area:left}.lobby-seat--right{grid-area:right}.lobby-seat--bottom{grid-area:bottom}.lobby-seat--us{background:var(--color-team-us);color:var(--color-on-team-us)}.lobby-seat--them{background:var(--color-team-them);color:var(--color-on-team-them)}.lobby-seat--empty{background:var(--color-background);color:var(--color-text);box-shadow:none;border-style:dashed}.lobby-seat--me{outline:4px solid var(--color-highlight);outline-offset:2px}.lobby-seat--moving{animation:.9s ease-in-out infinite alternate turn-breathe}.lobby-seat__name{max-width:100%;font-family:var(--font-display);overflow-wrap:anywhere;align-items:center;gap:.3rem;margin:0;font-size:1.05rem;font-weight:700;line-height:1.2;display:flex}.lobby-seat__dot{border:2px solid var(--outline);background:currentColor;border-radius:50%;flex:none;width:.7rem;height:.7rem}.lobby-seat--empty.lobby-seat--us .lobby-seat__dot{background:var(--color-team-us)}.lobby-seat--empty.lobby-seat--them .lobby-seat__dot{background:var(--color-team-them)}.lobby-seat__tags{margin:0}.lobby-seat__tags:empty{display:none}.lobby-seat__tags .chip:first-child,.lobby-seat__tags .badge:first-child{margin-left:0}.lobby-seat__actions{gap:.3rem;width:100%;display:grid}.lobby-seat__actions .button-secondary,.lobby-seat__actions .button-primary{min-height:44px;box-shadow:2px 2px 0 var(--outline);padding:.2rem .3rem;font-size:.85rem;line-height:1.1}.lobby__footer{text-align:center;gap:.4rem;margin-top:auto;display:grid}.lobby__status{font-family:var(--font-display);margin:0;font-size:1.25rem;font-weight:700}.lobby__hint{margin:0}@media (prefers-reduced-motion:reduce){.lobby__letter,.lobby-seat,.lobby-seat--moving{animation:none}}@media (orientation:landscape) and (height<=800px){.home{grid-template-rows:auto auto auto 1fr;grid-template-columns:1fr 1fr;align-content:center;gap:.6rem 2rem;max-width:880px;display:grid}.home__title,.home__tagline,.home .stripes{grid-column:1}.home__logo{width:min(40vw,320px)}.home__section:first-of-type{grid-area:1/2/span 2;align-self:end}.home__section:last-of-type{grid-area:3/2/span 2;align-self:start}.entry{gap:.5rem;max-width:640px}.entry__title{font-size:1.5rem}.entry__form{grid-template-columns:1fr 1fr;gap:.6rem 1rem}.entry__form .field,.entry__error{grid-column:1/-1}.lobby{grid-template:"code table""footer table"/minmax(0,1fr) minmax(0,1.1fr);align-content:center;column-gap:1rem;max-width:900px;display:grid}.lobby--loading{display:flex}.lobby__code{grid-area:code}.lobby__table{grid-area:table;align-self:center}.lobby__footer{grid-area:footer;align-self:start}.lobby-seat{min-height:0;padding:.25rem}.lobby__table{gap:.3rem}.lobby__letter{width:2.4rem;height:2.7rem;font-size:1.6rem}.lobby__code-label,.lobby__share-hint,.lobby__hint{font-size:.9rem}.lobby__status{font-size:1.1rem}}@media (width>=700px) and (height>=900px){.home{gap:1.25rem;max-width:560px}.home__logo{width:min(70vw,480px)}.entry{max-width:560px}.lobby{justify-content:center;gap:1.25rem;max-width:640px}.lobby__footer{margin-top:0}.lobby__letter{width:3.4rem;height:4rem;font-size:2.4rem}.lobby-seat{gap:.4rem;min-height:9rem}.lobby-seat__name{font-size:1.3rem}.lobby-seat__actions .button-secondary,.lobby-seat__actions .button-primary{font-size:1rem}}.seat__label{text-overflow:ellipsis;white-space:nowrap;max-width:min(8rem,28vw);overflow:hidden}.trick__who{text-overflow:ellipsis;max-width:min(6.5rem,30vw);overflow:hidden}.seat--top .card--pinte{width:var(--mini-w)}@media (width<=599px){.pinta{border-width:2px;border-radius:10px;gap:.2rem;padding:.1rem .35rem .1rem .15rem}.pinta__icon{width:1.4rem;height:1.4rem}.pinta__label{font-size:.6rem}.pinta__suit{font-size:.85rem}.felt__tricks-label{display:none}}html:has(.game){overscroll-behavior:none;height:100dvh;overflow:hidden}html:has(.game) body{overscroll-behavior:none;height:100dvh;overflow:hidden}@media (orientation:portrait) and (height<=700px){.home{gap:.5rem}.home__logo{width:min(72vw,300px)}.home__tagline{font-size:1.15rem}}@media (height<=860px){.lobby{gap:.4rem}.lobby__code{padding:.35rem .5rem .5rem}.lobby__letter{width:2.4rem;height:2.8rem;font-size:1.7rem}.lobby__table{grid-template-areas:"top top top""left felt right""bottom bottom bottom";gap:.35rem}.lobby-seat--top,.lobby-seat--bottom{flex-flow:wrap;justify-content:center;align-items:center;gap:.25rem .5rem;min-height:0;padding:.3rem .5rem}.lobby-seat--top .lobby-seat__actions,.lobby-seat--bottom .lobby-seat__actions{flex-wrap:wrap;justify-content:center;gap:.3rem;width:auto;display:flex}.lobby-seat--left,.lobby-seat--right{min-height:0}.lobby__felt{min-height:5rem}.lobby__footer{grid-template-columns:1fr 1fr;gap:.4rem}.lobby__status,.lobby__hint,.lobby__error,.lobby__footer>button:only-of-type{grid-column:1/-1}}@media (height<=700px){.lobby__hint,.lobby__share-hint{display:none}.lobby__status{font-size:1.1rem}}@media (orientation:landscape) and (height<=420px){.home,.entry,.lobby{padding-top:.5rem;padding-bottom:.5rem}.home{row-gap:.35rem}.home__section{gap:.35rem}.home__section-title,.segmented__legend{margin:0;font-size:.9rem}.home .button-primary,.home .button-secondary,.entry .button-primary,.entry .button-secondary,.lobby__footer .button-primary,.lobby__footer .button-secondary{min-height:44px;padding-top:.2rem;padding-bottom:.2rem;font-size:1.05rem}.entry__title{font-size:1.25rem}.field__hint{display:none}.field__input{min-height:44px;padding-top:.25rem;padding-bottom:.25rem}.field__input--code{font-size:1.5rem}.lobby-seat__actions .button-secondary,.lobby-seat__actions .button-primary{min-height:40px}}@media (orientation:landscape) and (height<=340px){.home__section-title{display:none}}@media (orientation:landscape) and (width>=520px) and (height<=500px){.game{gap:.35rem .6rem}.actions{min-height:0}.hand{margin-top:0}.hand__cards{min-height:calc(var(--card-w) * 1.5 + .5rem);margin-top:1rem;padding-bottom:.25rem}}.chip--away{background:var(--color-text);color:var(--color-background)}.seat--away .seat__cards{opacity:.6}
