body:has(.match-page-shell){--background:216 24% 96%;--foreground:220 28% 14%;--card:216 30% 99%;--card-foreground:220 28% 14%;--popover:216 30% 99%;--popover-foreground:220 28% 14%;--primary:218 48% 29%;--primary-foreground:210 40% 98%;--secondary:216 18% 90%;--secondary-foreground:220 28% 18%;--muted:216 18% 92%;--muted-foreground:218 11% 40%;--accent:216 27% 90%;--accent-foreground:218 48% 24%;--border:216 18% 82%;--input:216 18% 78%;--ring:218 48% 35%;--team-blue:218 48% 29%;--team-red:350 43% 34%;background:hsl(var(--background))}.dark body:has(.match-page-shell){--background:222 30% 8%;--foreground:215 22% 92%;--card:221 25% 11%;--card-foreground:215 22% 92%;--popover:221 25% 11%;--popover-foreground:215 22% 92%;--primary:214 58% 70%;--primary-foreground:222 34% 12%;--secondary:218 19% 19%;--secondary-foreground:215 22% 90%;--muted:220 20% 15%;--muted-foreground:216 13% 65%;--accent:218 26% 18%;--accent-foreground:215 47% 78%;--border:218 17% 23%;--input:218 17% 27%;--ring:214 58% 70%;--team-blue:214 58% 70%;--team-red:350 48% 68%}.match-board-stage{position:relative;width:100%;min-width:0;overflow-x:clip;--seat-box-depth:clamp(62px,8.5vw,78px);--match-side-row-offset:0px;--match-trick-row-offset:0px}.match-board-table-frame{min-width:0}.match-board-controls{position:absolute;top:clamp(.45rem,1.4vh,.75rem);left:0;z-index:24;display:inline-flex;align-items:center;min-height:2.15rem;padding:.15rem .2rem .15rem .1rem;border:1px solid hsl(var(--border)/.9);border-left:0;border-radius:0 999px 999px 0;background:hsl(var(--background)/.86);box-shadow:0 6px 18px hsl(220 35% 8%/.1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.match-board-chat-button,.match-board-menu-button,.match-board-share-button{width:1.8rem!important;height:1.8rem!important;min-width:1.8rem!important;padding:0!important;border-radius:999px!important;color:hsl(var(--foreground)/.82)!important}.match-board-share-button{border-left:1px solid hsl(var(--border)/.75);border-radius:0 999px 999px 0!important}.match-board-controls:has(.match-board-chat-button) .match-board-share-button{border-radius:0!important}.match-board-chat-button{border-left:1px solid hsl(var(--border)/.75)!important;border-radius:0 999px 999px 0!important}.match-board-chat-button:hover,.match-board-menu-button:hover,.match-board-share-button:hover{background:hsl(var(--primary)/.09)!important;color:hsl(var(--primary))!important}.match-share-dialog{width:calc(100vw - 2rem)!important;max-width:28rem!important;border-radius:.75rem!important}.match-share-code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;align-items:center}.match-share-code-row input{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:800;letter-spacing:.12em}.team-info-box{position:absolute;top:clamp(.45rem,1.4vh,.75rem);right:0;z-index:24;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;min-width:4.7rem;min-height:2.15rem;padding:.28rem .65rem .28rem .75rem;background:hsl(var(--background)/.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid hsl(var(--border)/.9);border-right:0;border-radius:999px 0 0 999px;box-shadow:0 6px 18px hsl(220 35% 8%/.1);width:auto}@media(min-width:640px){.team-info-box{min-width:5.8rem;min-height:2.7rem;gap:.2rem;padding:.38rem .9rem .38rem 1rem}}.team-info-scores{display:flex;align-items:center;justify-content:center;gap:.55rem;width:100%}@media(min-width:640px){.team-info-scores{gap:.75rem}}.team-info-meta{display:inline-flex;align-items:center;justify-content:center;gap:.2rem;color:hsl(var(--muted-foreground));font-size:.55rem;font-weight:750;letter-spacing:.08em;line-height:1;text-transform:uppercase}.team-info-meta svg{width:.62rem;height:.62rem}@media(max-width:639px){.live-match-page-shell .match-board-stage{--live-match-mobile-top-rail-height:clamp(12.4px,1.48vh,15.2px)}.live-match-page-shell .match-board-stage:before{content:"";position:absolute;inset:0 0 auto;z-index:10;height:var(--live-match-mobile-top-rail-height);background:hsl(var(--background));border-bottom:1px solid hsl(var(--border));pointer-events:none}.live-match-page-shell .seat-box-north{top:var(--live-match-mobile-top-rail-height)}.live-match-page-shell .match-board-controls,.live-match-page-shell .team-info-box{top:calc(var(--live-match-mobile-top-rail-height) + clamp(.45rem, 1.4vh, .75rem))}.game-board-container{--card-width:clamp(45px,7.2vw,72px);--card-height:clamp(63px,10.08vw,100.8px)}.match-board-stage{--seat-box-width:clamp(82px,24vw,104px);--seat-box-depth:clamp(64px,18vw,76px);--seat-avatar-size:clamp(1.8rem,3.6vw,2.475rem)}.match-board-stage .seat-box{gap:.3rem;padding:.42rem .52rem}}.team-level-rank{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;font-size:1.05rem;font-weight:800;line-height:1;white-space:nowrap;transition:color .3s ease,filter .3s ease,opacity .3s ease,transform .3s ease}@media(min-width:640px){.team-level-rank{min-width:1.5rem;font-size:clamp(1.25rem,2.1vw,1.45rem)}}.team-level-rank-blue{color:hsl(var(--team-blue))}.team-level-rank-red{color:hsl(var(--team-red))}.team-level-rank:not(.team-level-rank-active){opacity:.86;transform:scale(.96)}.team-level-rank-active{filter:drop-shadow(0 2px 5px currentColor);transform:scale(1.08)}.game-board-container{position:relative;width:100%;min-height:clamp(400px,60vh,calc(100vh - 20rem));background:transparent;border:0;border-radius:0;overflow:hidden}.match-page-shell{min-height:100vh}.match-page-shell .match-board-stage:has(.tribute-phase-layer){z-index:31}.match-page-shell .match-board-stage:has(.tribute-phase-layer) .match-board-controls{z-index:401}.match-result-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:1rem;overflow-y:auto;background:radial-gradient(circle at 15% 8%,hsl(var(--team-blue)/.16),transparent 30%),radial-gradient(circle at 85% 92%,hsl(var(--team-red)/.14),transparent 32%),hsl(var(--background)/.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.match-terminal-shell{background:radial-gradient(circle at 12% 4%,hsl(var(--team-blue)/.13),transparent 30%),radial-gradient(circle at 88% 96%,hsl(var(--team-red)/.12),transparent 32%),hsl(var(--background))}.match-terminal-main{display:grid;flex:1;place-items:center;width:100%;padding:clamp(1.25rem,5vw,3rem) 1rem}.match-result-panel,.match-status-panel{position:relative;width:min(100%,32rem);overflow:hidden;border:1px solid hsl(var(--border));border-radius:.75rem;background:hsl(var(--card)/.98);box-shadow:0 18px 45px hsl(220 35% 8%/.16)}.match-result-panel:before,.match-status-panel:before{position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,hsl(var(--team-blue)/.88),hsl(var(--primary)),hsl(var(--team-red)/.88));content:""}.match-result-header{padding:clamp(1.5rem,4vw,2rem) clamp(1.25rem,5vw,2.5rem) 1.25rem;text-align:center}.match-result-kicker,.match-status-kicker{margin:0;color:hsl(var(--muted-foreground));font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.match-result-header h1,.match-status-panel h1{margin:.4rem 0 0;color:hsl(var(--foreground));font-size:clamp(1.7rem,6vw,2.25rem);font-weight:750;letter-spacing:-.045em;line-height:1}.match-result-summary,.match-status-panel>p:not(.match-status-kicker){margin:.7rem auto 0;max-width:27rem;color:hsl(var(--muted-foreground));font-size:.9rem;line-height:1.5}.match-result-summary strong{color:hsl(var(--foreground));font-weight:750}.match-result-winner{display:flex;align-items:center;justify-content:center;gap:.8rem;min-height:6.2rem;padding:1rem 1.25rem;border-block:1px solid hsl(var(--border)/.85);background:hsl(var(--muted)/.52);color:hsl(var(--foreground))}.match-result-winner[data-team=blue]{background:linear-gradient(90deg,hsl(var(--team-blue)/.1),hsl(var(--muted)/.35))}.match-result-winner[data-team=red]{background:linear-gradient(90deg,hsl(var(--team-red)/.1),hsl(var(--muted)/.35))}.match-result-winner-mark{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--card)/.8);color:hsl(var(--primary))}.match-result-winner-mark svg{width:1.25rem;height:1.25rem}.match-result-winner[data-team=blue] .match-result-winner-copy strong,.match-result-winner[data-team=blue] .match-result-winner-mark{color:hsl(var(--team-blue))}.match-result-winner[data-team=red] .match-result-winner-copy strong,.match-result-winner[data-team=red] .match-result-winner-mark{color:hsl(var(--team-red))}.match-result-winner-copy{display:grid;gap:.15rem}.match-result-follow-up>span,.match-result-next>span,.match-result-winner-copy small{color:hsl(var(--muted-foreground));font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.match-result-winner-copy strong{color:hsl(var(--foreground));font-size:clamp(1.45rem,5vw,1.9rem);font-weight:800;letter-spacing:-.04em;line-height:1}.match-result-ranks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.match-result-rank{display:grid;gap:.4rem;padding:1rem 1.25rem}.match-result-rank+.match-result-rank{border-left:1px solid hsl(var(--border))}.match-result-rank span{color:hsl(var(--muted-foreground));font-size:.68rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.match-result-rank strong{color:hsl(var(--foreground));font-size:1.7rem;font-weight:800;line-height:1}.match-result-rank-blue strong{color:hsl(var(--team-blue))}.match-result-rank-red strong{color:hsl(var(--team-red))}.match-result-follow-up,.match-result-next{display:grid;gap:.3rem;margin:0 1.25rem;padding:1rem 0;border-top:1px solid hsl(var(--border)/.78);color:hsl(var(--foreground));text-align:center}.match-result-follow-up strong,.match-result-next strong{font-size:1.15rem;font-weight:800;letter-spacing:-.025em;line-height:1.1}.match-result-next[data-team=blue] strong{color:hsl(var(--team-blue))}.match-result-next[data-team=red] strong{color:hsl(var(--team-red))}.match-result-follow-up small,.match-result-next small{color:hsl(var(--muted-foreground));font-size:.78rem;line-height:1.45}.match-result-actions{padding:1rem 1.25rem 1.25rem;border-top:1px solid hsl(var(--border)/.78)}.match-result-action-slot{min-height:2.75rem}.match-result-primary-action,.match-status-action{width:100%;min-height:2.75rem;font-size:.9rem;font-weight:700}.match-result-waiting{display:flex;align-items:center;justify-content:center;min-height:2.75rem;color:hsl(var(--muted-foreground));font-size:.82rem;font-weight:650;animation:match-result-pulse 1.8s ease-in-out infinite}.match-status-panel{padding:clamp(1.75rem,5vw,2.5rem);text-align:center}.match-status-actions{display:grid;justify-items:center;gap:1.25rem;margin-top:1.5rem}.match-preparing-overlay{z-index:101}.match-preparing-panel{display:flex;align-items:center;gap:.85rem;width:min(100%,24rem);padding:1rem 1.1rem;border:1px solid hsl(var(--border));border-radius:.75rem;background:hsl(var(--card)/.98);box-shadow:0 14px 36px hsl(220 35% 8%/.14)}.match-preparing-spinner{width:1.9rem;height:1.9rem;flex:0 0 auto;border-left:2px solid hsl(var(--team-blue)/.22);border-bottom:2px solid hsl(var(--team-blue)/.22);border-right-color:hsl(var(--team-blue)/.22);border-top-color:hsl(var(--team-blue)/.22);border-top:2px solid hsl(var(--team-blue));border-right:2px solid hsl(var(--team-red));border-radius:999px;animation:match-result-spin .85s linear infinite}.match-preparing-panel p,.match-preparing-panel small{display:block;margin:0}.match-preparing-panel p{color:hsl(var(--foreground));font-size:.9rem;font-weight:750}.match-preparing-panel small{margin-top:.14rem;color:hsl(var(--muted-foreground));font-size:.72rem;line-height:1.35}@media (max-width:420px){.match-result-header{padding-inline:1.1rem}.match-result-actions,.match-result-rank{padding-inline:1rem}.match-result-follow-up,.match-result-next{margin-inline:1rem}}@media (prefers-reduced-motion:reduce){.match-preparing-spinner,.match-result-waiting{animation:none}}@supports (min-height:100svh){.match-page-shell{min-height:100svh}.game-board-container{min-height:clamp(400px,60svh,calc(100svh - 20rem))}}@media(min-width:1024px){.game-board-container{--card-width:clamp(51px,7.2vw,78px);--card-height:clamp(71.4px,10.08vw,109.2px);width:133.333333%;margin-left:-16.666667%;margin-right:-16.666667%;min-height:clamp(360px,54vh,calc(100vh - 20rem));zoom:.75}.match-board-stage{--seat-box-width:clamp(84px,8.8vw,110px);--seat-box-depth:clamp(60px,6.6vw,74px);--seat-avatar-size:clamp(1.75rem,2.45vw,2.2rem);--match-side-row-offset:clamp(16.8px,1.76vw,22px);--match-trick-row-offset:clamp(22.4px,2.347vw,29.333px)}.match-board-stage .seat-box{gap:clamp(.18rem,.55vw,.32rem);padding:clamp(.48rem,1vw,.68rem) clamp(.4rem,.9vw,.6rem)}.match-board-stage .seat-player-name{font-size:clamp(.7rem,.9vw,.78rem)}.seat-box-east,.seat-box-west{top:calc(54% + var(--match-side-row-offset))}.match-board-stage .match-trick-region{top:calc(50% + var(--match-trick-row-offset))}}@supports (min-height:100svh){@media(min-width:1024px){.game-board-container{min-height:clamp(360px,54svh,calc(100svh - 20rem))}}}.seat-box{position:absolute;--seat-team-hsl:var(--ring);--seat-team-color:hsl(var(--seat-team-hsl));display:flex;align-items:center;justify-content:center;gap:clamp(.25rem,1vw,.5rem);padding:clamp(.5rem,1.5vw,.875rem);border:2px solid var(--seat-team-color,hsl(var(--border)));border-radius:999px;background:transparent;box-shadow:none;isolation:isolate;z-index:1;transition:border-color .2s ease,box-shadow .2s ease}.seat-box:hover{border-color:hsl(var(--seat-team-hsl)/.82);box-shadow:none;filter:none;z-index:1}.seat-box-blue{--seat-team-hsl:var(--team-blue);--seat-team-color:hsl(var(--seat-team-hsl))}.seat-box-red{--seat-team-hsl:var(--team-red);--seat-team-color:hsl(var(--seat-team-hsl))}.seat-box-active{box-shadow:none}.seat-box-active:before{border-radius:inherit;border:2px solid var(--seat-team-color);box-shadow:none;animation:seat-breathe 2s ease-in-out infinite}.seat-box-active:after,.seat-box-active:before{content:"";position:absolute;inset:-4px;pointer-events:none;z-index:0}.seat-box-active:after{border-radius:inherit;background:transparent;border:1.5px solid var(--seat-team-color);animation:seat-ripple 2s cubic-bezier(.25,.46,.45,.94) infinite}.seat-box-north,.seat-box-south{width:var(--seat-box-width);min-width:var(--seat-box-width);min-height:var(--seat-box-depth);flex-direction:column}.seat-box-north{top:0}.seat-box-north,.seat-box-south{left:50%;transform:translateX(-50%)}.seat-box-south{bottom:0}.seat-box-east,.seat-box-west{top:54%;width:var(--seat-box-depth);min-width:var(--seat-box-depth);height:var(--seat-box-width);min-height:var(--seat-box-width);flex-direction:row;gap:.18rem;padding-inline:.28rem;transform:translateY(-50%)}.seat-box-west{left:0}.seat-box-east{right:0}.seat-box-north,.seat-box-north:after,.seat-box-north:before{border-top-width:0;border-radius:0 0 999px 999px}.seat-box-west,.seat-box-west:after,.seat-box-west:before{border-left-width:0;border-radius:0 999px 999px 0}.seat-box-east,.seat-box-east:after,.seat-box-east:before{border-right-width:0;border-radius:999px 0 0 999px}.seat-box-west:after,.seat-box-west:before{transform-origin:left center}.seat-box-east:after,.seat-box-east:before{transform-origin:right center}.match-board-stage .seat-box-south{visibility:hidden;pointer-events:none}.seat-player-avatar{position:relative;width:var(--seat-avatar-size);height:var(--seat-avatar-size);border-radius:50%;overflow:hidden;background:hsl(var(--muted));border:1px solid hsl(var(--seat-team-hsl)/.44);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:clamp(.875rem,2vw,1rem);color:hsl(var(--muted-foreground));flex:0 0 var(--seat-avatar-size);z-index:2}.seat-player-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.seat-player-name{min-width:0;max-width:100%;overflow:hidden;font-weight:600;font-size:clamp(.75rem,1.5vw,.8125rem);color:hsl(var(--card-foreground));text-align:center;text-overflow:ellipsis;white-space:nowrap;position:relative;z-index:2}.seat-box-north .seat-player-name{order:1}.seat-box-north .seat-player-avatar{order:2}.seat-box-south .seat-player-avatar{order:1}.seat-box-south .seat-player-name{order:2}.seat-box-east .seat-player-name,.seat-box-west .seat-player-name{max-height:calc(var(--seat-box-width) - .8rem);max-width:.9rem;line-height:1;text-align:left;text-overflow:ellipsis;writing-mode:vertical-rl;transform:rotate(180deg)}.seat-box-west .seat-player-name{order:1}.seat-box-west .seat-player-avatar{order:2}.seat-box-east .seat-player-avatar{order:1}.seat-box-east .seat-player-name{order:2}.seat-badge,.seat-card-count-badge,.seat-finish-badge,.seat-start-badge{border:1px solid hsl(var(--border)/.92);box-shadow:0 6px 14px hsl(220 35% 8%/.11),inset 0 1px 0 hsl(var(--background)/.52);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);isolation:isolate;overflow:hidden;z-index:10}.seat-badge:before,.seat-card-count-badge:before,.seat-finish-badge:before,.seat-start-badge:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,hsl(var(--background)/.46),transparent 52%);opacity:.82;pointer-events:none;z-index:0}.seat-badge>*,.seat-card-count-badge>*,.seat-finish-badge>*,.seat-start-badge>*{position:relative;z-index:1}.seat-start-badge{top:-.45rem;min-height:1.45rem;padding:.2rem .52rem;background:hsl(var(--background)/.94);font-weight:780;letter-spacing:.09em;text-transform:uppercase}.seat-card-count-badge,.seat-start-badge{position:absolute;right:-.45rem;z-index:10;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;color:hsl(var(--foreground)/.78);font-size:.55rem;line-height:1}.seat-card-count-badge{bottom:-.45rem;gap:.28rem;min-width:0;min-height:1.35rem;padding:.18rem .46rem;background:hsl(var(--background)/.96);border-color:var(--seat-team-color);font-weight:720;letter-spacing:.04em;white-space:nowrap}.seat-card-count-value{min-width:1.1ch;text-align:center;font-variant-numeric:tabular-nums}.seat-card-count-icon{width:.78rem;height:.78rem;flex:0 0 auto;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;opacity:.82}.seat-finish-badge{position:absolute;top:-.45rem;left:-.45rem;z-index:10;display:inline-flex;align-items:center;gap:.32rem;padding:.22rem .45rem .22rem .22rem;border-radius:999px;background:linear-gradient(135deg,hsl(var(--background)/.9),rgb(var(--finish-badge-rgb,59 130 246)/.14));border-color:rgb(var(--finish-badge-rgb,59 130 246)/.3);color:var(--finish-badge-text,hsl(var(--foreground)/.76));box-shadow:0 8px 18px rgba(15,23,42,.12),0 2px 8px rgb(var(--finish-badge-rgb,59 130 246)/.1),inset 0 1px 0 hsl(var(--background)/.52)}.seat-finish-badge-medal{display:inline-flex;align-items:center;justify-content:center;min-width:1.7rem;height:1.7rem;padding:0 .38rem;border-radius:999px;font-size:.6rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;background:linear-gradient(135deg,hsl(var(--background)/.82),rgb(var(--finish-badge-rgb,59 130 246)/.18));border:1px solid rgb(var(--finish-badge-rgb,59 130 246)/.24);color:var(--finish-badge-text,hsl(var(--foreground)/.78));box-shadow:0 4px 10px rgb(var(--finish-badge-rgb,59 130 246)/.1),inset 0 1px 0 hsl(var(--background)/.62)}.seat-finish-badge-copy{display:flex;flex-direction:column;align-items:flex-start;line-height:1}.seat-finish-badge-order{font-size:.62rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.seat-finish-badge-state{font-size:.5rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.72}.seat-finish-badge-place-1{--finish-badge-rgb:245 158 11;--finish-badge-text:rgb(146 64 14)}.seat-finish-badge-place-2{--finish-badge-rgb:148 163 184;--finish-badge-text:rgb(71 85 105)}.seat-finish-badge-place-3{--finish-badge-rgb:217 119 6;--finish-badge-text:rgb(154 77 34)}.seat-finish-badge-place-4{--finish-badge-rgb:100 116 139;--finish-badge-text:rgb(71 85 105)}.dark .seat-finish-badge{background:linear-gradient(135deg,hsl(var(--background)/.78),rgb(var(--finish-badge-rgb,59 130 246)/.2));border-color:rgb(var(--finish-badge-rgb,59 130 246)/.38);box-shadow:0 8px 18px rgba(0,0,0,.18),0 2px 8px rgb(var(--finish-badge-rgb,59 130 246)/.12),inset 0 1px 0 hsl(var(--background)/.28)}.dark .seat-finish-badge-medal{background:linear-gradient(135deg,hsl(var(--background)/.7),rgb(var(--finish-badge-rgb,59 130 246)/.24));border-color:rgb(var(--finish-badge-rgb,59 130 246)/.34);box-shadow:0 4px 10px rgb(var(--finish-badge-rgb,59 130 246)/.13),inset 0 1px 0 hsl(var(--background)/.26)}.dark .seat-finish-badge-place-1{--finish-badge-text:rgb(252 211 77)}.dark .seat-finish-badge-place-2{--finish-badge-text:rgb(203 213 225)}.dark .seat-finish-badge-place-3{--finish-badge-text:rgb(251 191 36)}.dark .seat-finish-badge-place-4{--finish-badge-text:rgb(203 213 225)}.seat-action-badge{position:absolute;top:-.38rem;right:-.38rem;z-index:10;display:inline-flex;align-items:center;justify-content:center;gap:.28rem;min-width:0;min-height:1.35rem;padding:.18rem .46rem;border-radius:999px;background:hsl(var(--background)/.94);border-color:hsl(var(--border));color:hsl(var(--foreground)/.72);font-size:.55rem;font-weight:720;letter-spacing:.085em;line-height:1;text-transform:uppercase}.seat-action-badge-pass{background:linear-gradient(135deg,hsl(var(--background)/.88),rgb(107 114 128/.16));border-color:rgb(107 114 128/.34);color:hsl(var(--muted-foreground))}.dark .seat-action-badge-pass{background:linear-gradient(135deg,hsl(var(--background)/.78),rgb(107 114 128/.22));border-color:rgb(107 114 128/.42);color:hsl(var(--foreground)/.7)}.seat-action-badge-move{background:hsl(var(--background)/.96);border-color:var(--seat-team-color);color:hsl(var(--foreground)/.78)}.seat-action-badge-timer{min-width:2.55rem;padding-inline:.44rem;letter-spacing:.04em;font-variant-numeric:tabular-nums}.seat-action-badge-dot{width:.34rem;height:.34rem;flex:0 0 auto;border-radius:999px;background:var(--seat-team-color);box-shadow:0 0 0 3px hsl(var(--seat-team-hsl)/.12)}.seat-action-badge-pass .seat-action-badge-dot{background:rgb(107 114 128/.74);box-shadow:0 0 0 3px rgb(107 114 128/.1)}.seat-action-badge-move .seat-action-badge-dot{background:var(--seat-team-color);box-shadow:0 0 0 3px hsl(var(--seat-team-hsl)/.16)}.seat-action-badge-label{animation:none}.seat-action-badge-interactive{cursor:pointer;box-shadow:0 10px 22px rgba(15,23,42,.14),inset 0 1px 0 hsl(var(--background)/.54)}.seat-action-badge-interactive:after{content:"";position:absolute;inset:-1px;border-radius:inherit;background:hsl(var(--primary)/.07);opacity:0;transition:opacity .16s ease;pointer-events:none;z-index:0}.seat-action-badge-interactive:hover:after{opacity:1}.seat-action-badge-move .seat-action-badge-label{animation:seat-action-text-pulse 1.1s ease-in-out infinite}.seat-action-badge-timer .seat-action-badge-label{min-width:1.45rem;text-align:center}.seat-box-north .seat-action-badge,.seat-box-north .seat-start-badge{top:auto;right:-.3rem;bottom:-.48rem;left:auto}.seat-box-north .seat-card-count-badge,.seat-box-north .seat-finish-badge{top:auto;right:auto;bottom:-.48rem;left:-.3rem}.seat-box-south .seat-action-badge,.seat-box-south .seat-start-badge{top:-.48rem;right:-.3rem;bottom:auto;left:auto}.seat-box-south .seat-card-count-badge,.seat-box-south .seat-finish-badge{top:-.48rem;right:auto;bottom:auto;left:-.3rem}.seat-box-west .seat-action-badge,.seat-box-west .seat-start-badge{top:auto;right:-.48rem;bottom:-.3rem;left:auto}.seat-box-west .seat-card-count-badge,.seat-box-west .seat-finish-badge{top:-.3rem;right:-.48rem;bottom:auto;left:auto}.seat-box-east .seat-action-badge,.seat-box-east .seat-start-badge{top:auto;right:auto;bottom:-.3rem;left:-.48rem}.seat-box-east .seat-card-count-badge,.seat-box-east .seat-finish-badge{top:-.3rem;right:auto;bottom:auto;left:-.48rem}.action-bar-turn-text{display:block;text-align:center;font-size:.75rem;font-weight:600;letter-spacing:.05em;line-height:1.2;margin-bottom:.5rem;color:hsl(var(--muted-foreground));opacity:.7;animation:none;min-height:.9rem;transform:translateY(0);transition:color .22s ease,opacity .22s ease,transform .22s ease}.action-bar-status-timer{display:inline-flex;flex:0 0 auto;align-items:baseline;gap:.25rem;letter-spacing:0;margin-left:.35rem;vertical-align:baseline}.action-bar-status-timer-separator{color:hsl(var(--muted-foreground));opacity:.65}.action-bar-status-timer .turn-timer-text{display:inline-block;font-size:inherit;line-height:inherit;min-width:4ch;text-align:left}.action-bar-turn-text.is-my-turn{color:hsl(var(--primary));opacity:1;animation:turn-pulse 1.6s ease-in-out infinite}.action-bar-turn-text.is-round-end,.action-bar-turn-text.is-waiting{opacity:.58}.turn-timer-text{color:rgb(17 24 39);font-size:.95rem;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.01em;line-height:1;white-space:nowrap}.dark .turn-timer-text{color:rgb(255 255 255)}.dark .turn-timer-text.is-urgent,.turn-timer-text.is-urgent{color:rgb(220 38 38)}.seat-action-badge .turn-timer-text{color:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit}.action-bar{position:relative;z-index:30;background:hsl(var(--card));border-top:1px solid hsl(var(--border));padding:.75rem 1rem;opacity:1;transform:translateY(0);min-height:clamp(76px,9vh,94px);transition:opacity .78s ease,transform .78s ease,background-color .78s ease,margin-top .38s cubic-bezier(.25,.46,.45,.94)}.action-bar-ready:before{left:-2%;top:-.82rem;width:104%;height:1.7rem;background:radial-gradient(circle at 9% 68%,hsl(var(--team-blue)/.58),transparent 25%),radial-gradient(circle at 36% 18%,hsl(var(--primary)/.5),transparent 29%),radial-gradient(circle at 64% 18%,hsl(var(--accent-foreground)/.32),transparent 29%),radial-gradient(circle at 91% 68%,hsl(var(--team-red)/.5),transparent 25%);filter:blur(5px) saturate(1.16);opacity:.42;animation:action-bar-siri-ripple 2.65s ease-in-out infinite}.action-bar-ready:after,.action-bar-ready:before{content:"";position:absolute;border-radius:999px;transform-origin:center;pointer-events:none}.action-bar-ready:after{left:0;top:-.1rem;width:100%;height:3px;background:linear-gradient(90deg,hsl(var(--team-blue)/.08),hsl(var(--team-blue)/.62) 18%,hsl(var(--primary)/.86) 42%,hsl(var(--accent-foreground)/.56) 62%,hsl(var(--team-red)/.58) 84%,hsl(var(--team-red)/.08));filter:blur(.35px) drop-shadow(0 0 .55rem hsl(var(--primary)/.34));animation:action-bar-siri-line 2.65s ease-in-out infinite}.action-bar .action-bar-controls>button{padding-inline:2rem}.action-bar .action-bar-button{min-width:8rem;padding-inline:2.5rem}@media (min-width:1024px){.action-bar{padding:.7rem .75rem;min-height:clamp(64px,7.5vh,78px)}.action-bar-turn-text{font-size:.7rem;line-height:1;margin-bottom:.35rem;min-height:.9rem}.action-bar-controls{gap:.5rem}.action-bar .action-bar-controls>button{height:2.15rem;padding-inline:2.3rem;font-size:.8rem}.action-bar .action-bar-button{min-width:8.75rem;padding-inline:2.8rem}.action-bar .action-bar-controls>button svg{width:.9rem;height:.9rem}.action-bar .action-bar-controls>.inline-flex{padding:.35rem .6rem;font-size:.78rem}.action-bar-controls-placeholder{min-height:2.15rem}}@media (max-width:639px){.action-bar{padding:.5rem .75rem;min-height:clamp(62px,7.4vh,76px)}.action-bar-turn-text{font-size:.7rem;line-height:1.15;margin-bottom:.35rem;min-height:.75rem}.action-bar-controls{gap:.5rem;flex-wrap:wrap}.action-bar .action-bar-controls>button{height:2.25rem;padding-inline:2rem;font-size:.78rem}.action-bar .action-bar-button{min-width:7.75rem;padding-inline:2.35rem}.action-bar .action-bar-controls>button svg{width:1rem;height:1rem}.action-bar .action-bar-controls>.inline-flex{padding:.45rem .65rem;font-size:.8rem}.action-bar-controls-placeholder{min-height:2.25rem}}@supports (height:100svh){@media (max-width:639px){.action-bar{min-height:clamp(62px,7.4svh,76px)}}}.action-bar.inactive{opacity:.72}.action-bar-round-end,.action-bar-waiting{opacity:.62}.action-bar-replay{opacity:.96}.action-bar-controls{transition:opacity .72s ease,transform .72s ease,filter .72s ease}.action-bar-crossfade{position:relative;width:100%}.action-bar-pane{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:1}.action-bar-pane.is-entering{animation:action-bar-pane-fade-in .76s ease both}.action-bar-pane.is-leaving{position:absolute;inset:0;pointer-events:none;animation:action-bar-pane-fade-out .76s ease both}.action-bar-pane.is-entering .action-bar-controls{animation:action-bar-controls-y-in .76s ease both}.action-bar-pane.is-leaving .action-bar-controls{animation:action-bar-controls-y-out .76s ease both}.action-bar-controls-placeholder{min-height:2.75rem;opacity:0;pointer-events:none}.action-bar-round-end .action-bar-controls,.action-bar-waiting .action-bar-controls{opacity:.64;filter:saturate(.82);transform:none}.action-bar-replay .action-bar-controls{opacity:1;filter:none;transform:none}.action-bar-button{--action-button-base-opacity:0.78;--action-button-available-opacity:0;opacity:calc(var(--action-button-base-opacity) + var(--action-button-available-opacity));transition:transform .54s ease,background-color .54s ease,border-color .54s ease,filter .54s ease}.action-bar-button.is-action-available{--action-button-available-opacity:0.18}.action-bar .action-bar-button:disabled,.action-bar .action-bar-button[data-action-disabled=true]{opacity:calc(var(--action-button-base-opacity) + var(--action-button-available-opacity))!important;filter:saturate(.82)}.action-bar-button:not(:disabled):active{transform:translateY(1px) scale(.99)}@media (prefers-reduced-motion:reduce){.action-bar-pane.is-entering,.action-bar-pane.is-entering .action-bar-controls,.action-bar-pane.is-leaving,.action-bar-pane.is-leaving .action-bar-controls{animation-duration:1ms}.action-bar-ready:after,.action-bar-ready:before{animation:none;opacity:.4;transform:none}}.trick-display-root{width:100%;transform:translateY(clamp(.75rem,3.6vh,1.5rem))}@media (max-width:767px){.trick-display-root{transform:translateY(calc(-.35rem - 10px))}}.trick-fan-container{display:flex;flex-direction:column;align-items:center;gap:8px}.trick-username-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:hsl(var(--muted-foreground)/.7);white-space:nowrap}.trick-summary .trick-summary-label{color:hsl(var(--primary)/.5);font-style:italic}.trick-summary .trick-cards-fan{opacity:.6;filter:saturate(.7);transition:opacity .4s ease}.trick-cards-fan{display:flex;flex-direction:row;align-items:flex-end;justify-content:center;padding-top:16px;padding-bottom:8px;max-width:100%;overflow:visible;will-change:transform}.trick-card-item{flex-shrink:0;filter:drop-shadow(0 10px 18px rgba(15,23,42,.16));will-change:transform,opacity}.trick-card-visual{display:block}@media (min-width:1024px){.trick-card-visual{--card-width:clamp(74.667px,6.133vw,96px);--card-height:clamp(104.534px,8.586vw,134.4px)}.trick-display-static .trick-card-visual{--card-width:clamp(56px,4.6vw,72px);--card-height:clamp(78.4px,6.44vw,100.8px)}}.trick-pass-badge{display:inline-flex;align-items:center;justify-content:center;min-width:84px;padding:.35rem .85rem;border-radius:999px;background:rgba(245,158,11,.16);border:1px solid rgba(245,158,11,.28);color:rgb(180 83 9);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 10px 28px rgba(245,158,11,.18)}.seat-action-modal-trick{--card-width:clamp(42px,11vw,58px);--card-height:clamp(58.8px,15.4vw,81.2px);display:flex;justify-content:center;overflow:visible;padding:.5rem 0 .15rem}.seat-action-modal-card-fan{display:flex;align-items:flex-end;justify-content:center;max-width:100%;overflow:visible;padding:.5rem 0 .35rem}.seat-action-modal-card-item{flex-shrink:0;transform-origin:bottom center;filter:drop-shadow(0 8px 14px rgba(15,23,42,.14))}.seat-action-modal-progress{height:3px;background:hsl(var(--muted)/.55);overflow:hidden}.seat-action-modal-progress-fill{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left center;background:linear-gradient(90deg,hsl(var(--primary)/.52),hsl(var(--primary)/.92));animation-name:seat-action-modal-progress-fill;animation-timing-function:linear;animation-fill-mode:forwards}@media (max-width:480px){.trick-cards-fan{padding-top:10px}.trick-card-item{transform-origin:bottom center!important}}@media (max-width:767px){.trick-card-item{filter:none}.trick-card-visual{--card-width:clamp(48px,7.8vw,76px);--card-height:clamp(67.2px,10.92vw,106.4px)}.trick-card-item-mobile-entry{animation:mobile-trick-card-entry var(--trick-entry-duration,.56s) cubic-bezier(.22,1,.36,1) var(--trick-entry-delay,0s) both;transform:translate3d(var(--trick-entry-x,0),var(--trick-entry-y,0),0) scale(.82) rotate(var(--trick-entry-rotate,0deg));backface-visibility:hidden}.trick-card-visual{filter:drop-shadow(0 8px 14px rgba(15,23,42,.14))}}.action-bar-wait-text{text-align:center;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:hsl(var(--muted-foreground)/.5);margin-bottom:4px;animation:wait-fade 1.8s ease-in-out infinite}.trick-summary{animation:summary-appear .35s ease forwards}.action-bar{display:flex;flex-direction:column;align-items:center;justify-content:center}@media (display-mode:standalone) and (max-width:639px){.match-page-shell .game-board-container{min-height:clamp(360px,50svh,430px)}}@media (max-width:767px){body:has(.live-match-page-shell){overflow-y:hidden;overscroll-behavior-y:none}.live-match-page-shell{--live-match-board-height:clamp(400px,60vh,calc(100vh - 20rem));--live-match-side-seat-row:clamp(216px,32.4vh,calc(54vh - 10.8rem));--live-match-side-seat-half-height:clamp(45px,6vw,60px);--live-match-hand-rise-limit:calc(var(--live-match-side-seat-row) + var(--live-match-side-seat-half-height) + 18px);height:100vh;min-height:100vh;overflow-x:clip;overflow-y:auto;overscroll-behavior-y:none;-webkit-overflow-scrolling:touch}.live-match-page-shell:before{content:"";width:100%;flex:1 1 auto;min-height:var(--live-match-hand-rise-limit)}.live-match-page-shell>.match-board-main{display:contents}.live-match-page-shell .match-board-stage{position:fixed;inset:0 0 auto;z-index:0;height:var(--live-match-board-height)}.live-match-page-shell>:is(.action-bar,.hand-container){flex-shrink:0}}@supports (height:100svh){@media (max-width:767px){.live-match-page-shell{--live-match-board-height:clamp(400px,60svh,calc(100svh - 20rem));--live-match-side-seat-row:clamp(216px,32.4svh,calc(54svh - 10.8rem));height:100svh;min-height:100svh}}}@media (max-width:639px){.live-match-page-shell{--live-match-side-seat-half-height:clamp(41px,12vw,52px)}}@media (display-mode:standalone) and (max-width:639px){.live-match-page-shell{--live-match-board-height:clamp(360px,50svh,430px);--live-match-side-seat-row:clamp(194.4px,27svh,232.2px)}.live-match-page-shell .match-board-stage{overflow:visible}.live-match-page-shell :is(.seat-box-east,.seat-box-west){top:calc(var(--live-match-side-seat-row) - var(--live-match-side-seat-half-height));transform:none}.live-match-page-shell .seat-box-west.seat-box-active:after,.live-match-page-shell .seat-box-west.seat-box-active:before{left:0}.live-match-page-shell .seat-box-east.seat-box-active:after,.live-match-page-shell .seat-box-east.seat-box-active:before{right:0}}@media (min-width:1024px){body:has(.live-match-page-shell){overflow-y:hidden;overscroll-behavior-y:none}.live-match-page-shell{--live-match-board-height:clamp(270px,40.5vh,calc(75vh - 15rem));--live-match-side-seat-row:clamp(145.8px,21.87vh,calc(40.5vh - 8.1rem));--live-match-side-seat-half-height:clamp(42px,4.4vw,55px);--live-match-board-half-height:clamp(135px,20.25vh,calc(37.5vh - 7.5rem));--live-match-trick-offset:clamp(16.8px,1.76025vw,22px);--live-match-trick-half-height:max(60px,calc(clamp(39.2px, 3.22vw, 50.4px) + 18.2px));--live-match-blocker-bottom:max(calc(var(--live-match-side-seat-row) + var(--live-match-side-seat-half-height)),calc(var(--live-match-board-half-height) + var(--live-match-trick-offset) + var(--live-match-trick-half-height)));--live-match-hand-rise-limit:calc(var(--live-match-blocker-bottom) + 18px);height:100vh;min-height:100vh;overflow-x:clip;overflow-y:auto;overscroll-behavior-y:none;scrollbar-width:none}.live-match-page-shell::-webkit-scrollbar{display:none}.live-match-page-shell:before{content:"";width:100%;flex:1 1 auto;min-height:var(--live-match-hand-rise-limit)}.live-match-page-shell>.match-board-main{display:contents}.live-match-page-shell .match-board-stage{position:fixed;inset:0 0 auto;z-index:0;height:var(--live-match-board-height)}.live-match-page-shell :is(.seat-box-east,.seat-box-west){top:54%}.live-match-page-shell>:is(.action-bar,.hand-container){flex-shrink:0}@supports (height:100svh){.live-match-page-shell{--live-match-board-height:clamp(270px,40.5svh,calc(75svh - 15rem));--live-match-side-seat-row:clamp(145.8px,21.87svh,calc(40.5svh - 8.1rem));--live-match-board-half-height:clamp(135px,20.25svh,calc(37.5svh - 7.5rem));height:100svh;min-height:100svh}}}@media(max-width:639px){.game-board-container .deck-card-wrapper{scale:.9}}.playing-card{width:var(--card-width);height:var(--card-height);aspect-ratio:5/7;container-type:inline-size;border-radius:clamp(4px,1vw,8px);border:2px solid hsl(var(--card-border));background:hsl(var(--card-face));justify-content:center;position:relative;box-shadow:0 2px 4px #0000001a;transition:transform .22s cubic-bezier(.25,.46,.45,.94),box-shadow 0s;transform-origin:center bottom;cursor:pointer;contain:layout style}.card-corner,.playing-card{display:flex;flex-direction:column;align-items:center}.card-corner{position:absolute;z-index:2;line-height:1}.card-corner-top{top:7cqw;left:7cqw}.card-corner-bottom{right:7cqw;bottom:7cqw;transform:rotate(180deg)}.card-corner-rank{color:currentColor;font-family:serif;font-size:23cqw;font-weight:800;line-height:.9}.card-center-content{display:flex;width:100%;height:100%;align-items:center;justify-content:center}.card-center-suit{font-family:serif;font-size:53.333cqw;line-height:1}.card-face-art-shell{padding:4cqw}.card-face-art{display:block;width:100%;height:100%;max-width:none;max-height:none}.card-joker-corner{display:flex;flex-direction:column;align-items:center;font-family:serif;font-size:12.5cqw;font-weight:800;line-height:1}.card-joker-star{margin-top:2cqw;font-size:11.5cqw}.card-joker-symbol{font-size:40cqw;filter:drop-shadow(0 2px 2px rgba(0,0,0,.1))}.playing-card:hover{box-shadow:0 2px 4px #0000001a;z-index:10}.playing-card-selected{z-index:15;transition:box-shadow 0s!important}.playing-card-selected,.playing-card-selected:hover{transform:translateY(calc(var(--hand-card-selected-lift, 12px) * -1)) scale(var(--hand-card-selected-scale,1.04)) translateZ(0);box-shadow:0 0 0 3px hsl(var(--primary)),0 2px 4px #0000001a}@media (max-width:767px){.playing-card{transition:transform .34s cubic-bezier(.25,.46,.45,.94),box-shadow 0s}.hand-stack{transition-duration:.52s,.28s}.hand-container{transition-duration:.52s}}.playing-card-back{position:relative;padding:0;background:transparent;border:none;overflow:visible;box-shadow:0 4px 14px rgba(15,23,42,.14)}.playing-card-back .deck-top-minimal{inset:0;pointer-events:none}.playing-card-back:after{content:"◆";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:34cqw;color:rgba(255,255,255,.1);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.playing-card-back:before{display:none}.playing-card-back-inner{width:100%;height:100%;border-radius:calc(clamp(4px, 1vw, 8px) - 3px);border:2px solid #fbfaf0;box-shadow:inset 0 0 0 4px #a01a1e,inset 0 0 0 6px #fbfaf0;background:radial-gradient(circle at center,rgba(255,255,255,.16) 0,rgba(255,255,255,.04) 28%,transparent 58%),radial-gradient(#ffffff22 1px,transparent 0),linear-gradient(180deg,#b32024,#991a1d);background-size:auto,8px 8px,auto;display:flex;align-items:center;justify-content:center}.playing-card-back-core{width:32%;height:32%;border-radius:999px;border:1px solid rgba(251,250,240,.92);box-shadow:inset 0 0 0 3px rgba(251,250,240,.18),0 0 0 2px rgba(251,250,240,.12);background:radial-gradient(circle at center,rgba(251,250,240,.3) 0,rgba(251,250,240,.06) 52%,transparent 64%)}.deck-top-minimal-card{position:absolute;inset:0;z-index:10}.grouped-card{border-color:hsl(var(--primary)/.6);background-color:hsl(var(--group-color)/.08);box-shadow:0 0 0 2px hsl(var(--group-color)/.5),0 2px 4px #0000001a}.grouped-card.playing-card-selected{box-shadow:0 0 0 3px hsl(var(--primary)),0 2px 4px #0000001a;z-index:15}.card-suit-red{color:hsl(var(--card-suit-red))}.card-suit-black{color:hsl(var(--card-suit-black))}.deck-container{position:absolute;top:60%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem}.hand-stack{transition:transform .38s cubic-bezier(.25,.46,.45,.94),opacity .2s ease}.hand-container{--hand-card-selected-lift:12px;--hand-stack-card-offset:-70%;width:100%;min-height:220px;background:linear-gradient(to top,hsl(var(--card)),hsl(var(--card)/.95));border-top:2px solid hsl(var(--border));padding:clamp(1rem,3vh,1.5rem) clamp(.5rem,2vw,1rem);box-shadow:0 -4px 6px -1px #0000001a;transition:min-height .38s cubic-bezier(.25,.46,.45,.94)}.hand-scroll-viewport{position:relative;z-index:180;min-height:calc(var(--card-height) + var(--hand-card-selected-lift) + 1rem);overflow-y:hidden;overflow-anchor:none;overscroll-behavior-x:contain}.hand-card-stage{position:relative;width:100%;min-width:0}.hand-empty-state-overlay{position:absolute;inset:0;z-index:250;display:grid;place-items:center;pointer-events:none}.deck-card-wrapper{position:relative;cursor:pointer;transition:all .2s cubic-bezier(.25,.46,.45,.94)}.deck-card-wrapper:hover:not(.disabled):not(.drawing){transform:scale(1.08)}.deck-card-wrapper.disabled{cursor:not-allowed;opacity:.6}.deck-card-wrapper.disabled:hover{transform:none}.deck-card-wrapper.drawing{cursor:wait;opacity:.8}.deck-card-wrapper.drawing:hover{transform:none}.deck-count-display{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:20px;padding:.3rem .7rem;font-weight:400;font-size:.8rem;color:hsl(var(--card-foreground));box-shadow:0 4px 10px rgba(0,0,0,.04)}.deck-shadow-layer{background-color:#7a1515;border-radius:var(--radius,8px);border:1px solid rgba(0,0,0,.4);z-index:0}.deck-shadow-layer,.deck-top-minimal{position:absolute;width:100%;height:100%}.deck-top-minimal{inset:0;z-index:10;background-color:#fbfaf0;border-radius:var(--radius,8px);border:1px solid #cbd5e1;padding:6px;box-sizing:border-box}.deck-top-minimal:after{content:"";display:block;width:100%;height:100%;background-color:#a01a1e;border-radius:calc(var(--radius, 8px) - 4px);border:2px solid #fbfaf0;box-shadow:inset 0 0 0 4px #a01a1e,inset 0 0 0 6px #fbfaf0;background-image:radial-gradient(#ffffff22 1px,transparent 0);background-size:8px 8px}.deck-depth-1,.deck-depth-2,.deck-depth-3,.deck-depth-layer,.deck-facedown-stack,.deck-top-card{display:none}.draw-overlay{display:none!important}.draw-overlay-scrim{position:fixed;inset:0;z-index:9999;pointer-events:none}.draw-overlay-card-shell{position:fixed;pointer-events:none;filter:drop-shadow(0 10px 22px rgba(0,0,0,.2));perspective:1100px;contain:layout paint style;transform:translateZ(0);will-change:opacity}.draw-overlay-card-stage{transform:translateZ(0) scale(.98);transform-origin:center center;opacity:1;transition:transform .58s cubic-bezier(.25,.46,.45,.94),opacity .58s ease;will-change:transform,opacity}.draw-overlay-card-stage.is-flying{transform:translate3d(var(--draw-fly-x),var(--draw-fly-y),0) scale(.96) rotate(0deg);opacity:.96}.draw-card-flip{position:relative;width:var(--card-width);height:var(--card-height);transform-style:preserve-3d;transform:translateZ(0);transition:transform .36s cubic-bezier(.25,.46,.45,.94);will-change:transform}.draw-card-flip.is-revealed{transform:rotateY(180deg)}.draw-card-face{position:absolute;inset:0;backface-visibility:hidden;transform-style:preserve-3d;transform:translateZ(0)}.draw-card-face-back{transform:rotateY(0deg)}.draw-card-face-front{transform:rotateY(180deg)}.draw-card-face>*{backface-visibility:hidden}.draw-overlay-caption{position:fixed;left:50%;top:calc(50% + 138px);transform:translateX(-50%);color:#fff;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 2px 8px rgba(0,0,0,.6);white-space:nowrap;pointer-events:none;z-index:10000}.auto-deal-overlay{inset:0;z-index:9000;overflow:hidden;contain:layout style paint;--auto-deal-card-width:clamp(34px,4.2vw,46px);--auto-deal-card-height:calc(var(--auto-deal-card-width) * 1.4)}.auto-deal-overlay,.auto-deal-packet,.auto-deal-seat-marker{position:fixed;pointer-events:none}.auto-deal-packet{width:var(--auto-deal-card-width);height:var(--auto-deal-card-height)}.auto-deal-packet-card{position:absolute;inset:0;width:100%;height:100%;--card-width:100%;--card-height:100%;cursor:default;transition:none}.auto-deal-packet{z-index:3;opacity:0;filter:drop-shadow(0 7px 14px hsl(220 22% 9%/.18));animation:auto-deal-packet-flight var(--auto-deal-flight-ms) cubic-bezier(.22,.68,.31,1) var(--auto-deal-delay) both;will-change:transform,opacity}.auto-deal-seat-marker{z-index:1;width:clamp(30px,3.8vw,44px);height:2px;border-radius:999px;opacity:0;background:linear-gradient(90deg,transparent,hsl(var(--auto-deal-team)/.78),transparent);box-shadow:0 0 12px hsl(var(--auto-deal-team)/.28);animation:auto-deal-seat-arrival .68s ease-out var(--auto-deal-arrival-delay) both}.auto-deal-seat-marker-blue{--auto-deal-team:var(--team-blue)}.auto-deal-seat-marker-red{--auto-deal-team:var(--team-red)}.auto-deal-overlay[data-reduced-motion=true] .auto-deal-packet{display:none}.auto-deal-overlay[data-reduced-motion=true] .auto-deal-seat-marker{--auto-deal-arrival-delay:60ms!important;animation-duration:.36s}@media (prefers-reduced-motion:reduce){.auto-deal-packet{display:none}.auto-deal-seat-marker{--auto-deal-arrival-delay:60ms!important;animation-duration:.36s}}.hand-container-suspended{overflow:hidden}.hand-header-suspended{visibility:hidden}.hand-grid{display:flex;flex-wrap:nowrap;gap:clamp(.25rem,1vw,.75rem);justify-content:flex-start;align-items:flex-end;padding-left:15px;padding-right:15px;position:relative;z-index:220;overflow:visible;perspective:1200px}.hand-grid>:first-child{margin-left:auto}.hand-grid>:last-child{margin-right:auto}.hand-stack{z-index:220}.hand-card-shell,.hand-stack{transform-origin:center bottom;contain:layout style;position:relative}.hand-card-shell{width:var(--card-width);height:var(--card-height);transition:opacity .16s ease-out;z-index:230}.hand-container .playing-card{position:relative;z-index:240}.hand-container .playing-card:hover{z-index:280}.hand-container .playing-card-selected,.hand-container .playing-card-selected:hover{z-index:320}.hand-card-hidden{opacity:0;will-change:opacity}.hand-card-revealing{animation:hand-card-reveal .4s cubic-bezier(.22,1,.36,1) both}.hand-play-exit-overlay{transform-origin:center bottom;will-change:transform,opacity;animation:hand-card-play-exit .22s cubic-bezier(.22,1,.36,1) both;backface-visibility:hidden}.practice-hand-shake{animation:practice-hand-shake .52s cubic-bezier(.36,.07,.19,.97) both}.hand-grid-suspended{min-height:calc(var(--card-height) + var(--hand-card-selected-lift) + 1rem)}.hand-header{justify-content:space-between;max-width:1400px;margin:0 auto clamp(.125rem,.7vh,.35rem);padding:0 .25rem;position:relative;z-index:1;height:30px;min-height:30px}.hand-header,.tribute{display:flex;align-items:center}.tribute{position:absolute;top:52%;left:50%;transform:translate(-50%,-50%);flex-direction:column;gap:.75rem}.tributetext{font-size:1.25rem;font-weight:700;color:hsl(var(--foreground));background:hsl(var(--accent));padding:.5rem 1.5rem;border-radius:99px;box-shadow:0 4px 10px rgba(0,0,0,.1);text-align:center}.badge-tribute{background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground))}.badge-return,.badge-tribute{border-radius:calc(var(--radius) - 2px);padding:.25rem .75rem;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.2em}.badge-return{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.hand-title{font-weight:600;font-size:clamp(.875rem,2vw,.9375rem);color:hsl(var(--card-foreground))}.hand-card-count-badge{background:transparent;color:#000;font-weight:700;font-size:clamp(.625rem,1.5vw,.75rem);margin-left:clamp(.75rem,2vw,2rem);padding:0;border-radius:0;box-shadow:none}.dark .hand-card-count-badge{color:#d1d5db}.shuffle-animation{animation:shuffle .5s ease-in-out infinite}.deal-animation{animation:deal .3s ease-out}@media (min-width:1024px){.tribute{top:48%}.hand-container{--card-width:clamp(56px,4.6vw,72px);--card-height:clamp(78.4px,6.44vw,100.8px);--hand-card-selected-lift:12px;min-height:clamp(210px,26vh,252px);padding:.5rem .75rem .8rem}.hand-header{height:40px;min-height:40px;margin-bottom:.35rem}.hand-grid{gap:clamp(.24rem,.55vw,.56rem);padding-top:calc(var(--card-height) * .55)!important}.hand-scroll-viewport{overflow:visible!important;padding-bottom:.55rem!important}}.tribute-turn-timer-row{display:flex;min-height:2.75rem;align-items:center;justify-content:center}.playing-card-wildcard-glow{animation:wildcard-pulse 2.2s ease-in-out infinite}.seat-action-modal-card-item .playing-card{cursor:default}.tribute-card-highlight{border-radius:8px;animation:tribute-ring-pulse 1.2s ease-in-out infinite;cursor:pointer}.chat-app-shell{min-height:100dvh;max-height:100dvh;overflow:hidden;overscroll-behavior:none}body:has(.chat-app-shell){overflow:hidden;overscroll-behavior:none}body:has(.chat-app-shell) .chat-app-shell{height:100dvh;min-height:100dvh;max-height:100dvh;overflow:hidden}body:has(.chat-app-shell) .chat-app-main{height:calc(100dvh - 4rem);min-height:0;max-height:calc(100dvh - 4rem);overflow:hidden;overscroll-behavior:none}.chat-conversation-shell{--chat-bottom-inset:env(safe-area-inset-bottom,0px);isolation:isolate;min-height:0;max-height:100%;overflow:hidden}.chat-conversation-background{min-height:0;overflow-x:hidden;overscroll-behavior:contain;background-color:hsl(var(--muted)/.34);background-image:radial-gradient(circle at 1px 1px,hsl(var(--foreground)/.035) 1px,transparent 0),linear-gradient(135deg,hsl(var(--primary)/.025),transparent 45%);background-size:22px 22px,100% 100%;padding-bottom:1rem!important;scrollbar-gutter:stable}.chat-composer{position:relative;z-index:2;width:100%;padding-bottom:calc(.625rem + var(--chat-bottom-inset))!important;background:hsl(var(--background));isolation:isolate}.chat-scroll-latest{bottom:calc(4.85rem + var(--chat-bottom-inset))!important;z-index:3}.chat-dialog-overlay{z-index:110!important}.chat-dialog-content{z-index:120!important;isolation:isolate;overflow:hidden;overscroll-behavior:none}@media (display-mode:standalone) and (max-width:639px){.chat-conversation-shell{--chat-bottom-inset:max(env(safe-area-inset-bottom,0px),2rem)}}@media (max-width:639px){.chat-conversation-shell.chat-conversation-standalone{--chat-bottom-inset:max(env(safe-area-inset-bottom,0px),2rem)}.chat-dialog-overlay{background:hsl(var(--background))!important}.chat-dialog-content{right:0!important;bottom:0!important;top:0!important;left:0!important;width:100vw!important;max-width:none!important;height:100dvh!important;max-height:100dvh!important;transform:none!important;border-radius:0!important;border-width:0!important}}@media (min-width:640px){.chat-composer{padding-bottom:.75rem!important}.chat-conversation-background{padding-bottom:1rem!important}}