body:has(.match-page-shell){background:hsl(var(--background))}.match-board-stage{position:relative;width:100%;min-width:0;background-color:hsl(var(--background));background-image:url(/textures/match-linen-light.svg?geometry=1);background-size:512px 512px;background-repeat:repeat;overflow-x:clip;--seat-box-depth:clamp(62px,8.5vw,78px);--match-side-row-offset:0px;--match-trick-row-offset:0px}.dark .match-board-stage{background-image:url(/textures/match-linen-dark.svg?geometry=1)}.match-board-shell:before{background-color:hsl(var(--background));background-image:url(/textures/match-linen-light.svg?geometry=1);background-size:512px 512px;background-position:0 0;background-repeat:repeat}.dark .match-board-shell:before{background-image:url(/textures/match-linen-dark.svg?geometry=1)}.match-board-table-frame{min-width:0}.match-board-controls{position:absolute;top:clamp(.45rem,1.4vh,.75rem);left:0;z-index:var(--layer-board-chrome);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:var(--layer-board-chrome);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){.match-board-shell .match-board-stage{--match-board-mobile-top-rail-height:clamp(12.4px,1.48vh,15.2px)}.match-board-shell .match-board-stage:before{content:"";position:absolute;inset:0 0 auto;z-index:var(--layer-board-raised);height:var(--match-board-mobile-top-rail-height);background:hsl(var(--background));border-bottom:1px solid hsl(var(--border));pointer-events:none}.match-board-shell .seat-box-north{top:calc(var(--match-board-mobile-top-rail-height) - 1px);z-index:var(--layer-board-rail)}.match-board-shell .match-board-controls,.match-board-shell .team-info-box{top:calc(var(--match-board-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:var(--text-16);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}.action-bar-dock{position:relative}.tribute-overlay-host{position:absolute;inset:auto 0 100% 0;z-index:var(--layer-tribute-host);max-height:70svh;pointer-events:none}.tribute-tray{display:flex;max-height:100%;justify-content:center;padding:0 clamp(.5rem,2.5vw,1rem);pointer-events:none}.tribute-tray-panel{display:flex;width:100%;max-width:46rem;max-height:100%;flex-direction:column;overflow:hidden;border:1px solid hsl(var(--border)/.95);border-bottom:0;border-radius:clamp(.75rem,1.8vw,1.125rem) clamp(.75rem,1.8vw,1.125rem) 0 0;background:hsl(var(--card)/.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 -8px 22px hsl(220 35% 8%/.14);pointer-events:auto;transition:height var(--duration-tray-resize) var(--ease-settle)}.tribute-tray-body{flex:none}.match-result-overlay{position:fixed;inset:0;z-index:var(--layer-round-overlay);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{content:"";position:absolute;inset:0 .75rem auto;height:3px;border-radius:0 0 2px 2px;background:hsl(var(--team-blue))}.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:var(--text-11);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:var(--text-14);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:var(--text-11);font-weight:750;letter-spacing:.09em;text-transform:uppercase}.match-result-rank strong{color:hsl(var(--foreground));font-size:var(--text-27);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:var(--text-18);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:var(--text-12);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:var(--text-14);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:var(--text-13);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:var(--layer-preparing-overlay)}.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:var(--text-14);font-weight:750}.match-preparing-panel small{margin-top:.14rem;color:hsl(var(--muted-foreground));font-size:var(--text-12);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(72px,7.9vw,88px);--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));--seat-corner-radius:clamp(.75rem,1.8vw,1.125rem);box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:clamp(.25rem,1vw,.5rem);padding:clamp(.5rem,1.5vw,.875rem);border:1px solid hsl(var(--border)/.95);border-radius:var(--seat-corner-radius);background:linear-gradient(145deg,hsl(var(--seat-team-hsl)/.09),transparent 52%),hsl(var(--card)/.94);box-shadow:0 8px 20px hsl(220 35% 8%/.12),inset 0 1px 0 hsl(var(--background)/.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);isolation:isolate;z-index:1;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.seat-box:hover{box-shadow:0 10px 24px hsl(220 35% 8%/.15),inset 0 1px 0 hsl(var(--background)/.8);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:0 8px 20px hsl(220 35% 8%/.12),inset 0 1px 0 hsl(var(--background)/.72)}.seat-box:before{--seat-bloom-start-size:0% 100%;--seat-bloom-rest-size:40% 100%;--seat-bloom-peak-size:60% 100%;--seat-bloom-axis:90deg;--seat-bloom-closed:scaleX(0);--seat-bloom-color:color-mix(in srgb,var(--seat-team-color) 72%,white);background-color:var(--seat-team-color);background-image:linear-gradient(var(--seat-bloom-axis),transparent 0,var(--seat-bloom-color) 24%,var(--seat-bloom-color) 50%,var(--seat-bloom-color) 76%,transparent 100%);background-size:var(--seat-bloom-rest-size);background-position:50%;background-repeat:no-repeat;opacity:1;filter:brightness(1.05) saturate(1.06);transform:var(--seat-bloom-closed);transform-origin:center;transition:transform var(--duration-base) var(--ease-card);will-change:transform;z-index:1}.seat-box:after,.seat-box:before{content:"";position:absolute;pointer-events:none}.seat-box:after{opacity:0;transition:opacity var(--duration-base) linear;will-change:opacity;z-index:0}.seat-box-active:after{opacity:1;transition:opacity var(--duration-seat-bloom) var(--ease-arrive)}.seat-box-active:before{transform:scale(1);transition:transform 0s linear;animation:seat-stripe-activate var(--duration-seat-bloom) var(--ease-arrive) both,seat-stripe-breathe 2.5s ease-in-out var(--duration-seat-bloom) infinite}.dark .seat-box:before{--seat-bloom-color:color-mix(in srgb,var(--seat-team-color) 60%,black)}.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;border-top:5px solid var(--seat-team-color);border-radius:0 0 var(--seat-corner-radius) var(--seat-corner-radius)}.seat-box-north,.seat-box-south{left:50%;transform:translateX(-50%)}.seat-box-south{bottom:0;border-bottom:5px solid var(--seat-team-color);border-radius:var(--seat-corner-radius) var(--seat-corner-radius) 0 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;border-left:5px solid var(--seat-team-color);border-radius:0 var(--seat-corner-radius) var(--seat-corner-radius) 0}.seat-box-east{right:0;border-right:5px solid var(--seat-team-color);border-radius:var(--seat-corner-radius) 0 0 var(--seat-corner-radius)}.seat-box-north:after,.seat-box-north:before{top:-5px;left:-1px;right:-1px;height:5px}.seat-box-north:after{box-shadow:0 3px 9px hsl(var(--seat-team-hsl)/.28),0 4px 12px hsl(var(--seat-team-hsl)/.16)}.seat-box-south:after,.seat-box-south:before{right:-1px;bottom:-5px;left:-1px;height:5px}.seat-box-south:after{box-shadow:0 -3px 9px hsl(var(--seat-team-hsl)/.28),0 -4px 12px hsl(var(--seat-team-hsl)/.16)}.seat-box-west:before{--seat-bloom-closed:scaleY(0);--seat-bloom-start-size:100% 0%;--seat-bloom-rest-size:100% 40%;--seat-bloom-peak-size:100% 60%;--seat-bloom-axis:180deg}.seat-box-west:after,.seat-box-west:before{top:-1px;bottom:-1px;left:-5px;width:5px}.seat-box-west:after{box-shadow:3px 0 9px hsl(var(--seat-team-hsl)/.28),4px 0 12px hsl(var(--seat-team-hsl)/.16)}.seat-box-east:before{--seat-bloom-closed:scaleY(0);--seat-bloom-start-size:100% 0%;--seat-bloom-rest-size:100% 40%;--seat-bloom-peak-size:100% 60%;--seat-bloom-axis:180deg}.seat-box-east:after,.seat-box-east:before{top:-1px;right:-5px;bottom:-1px;width:5px}.seat-box-east:after{box-shadow:-3px 0 9px hsl(var(--seat-team-hsl)/.28),-4px 0 12px hsl(var(--seat-team-hsl)/.16)}@media (prefers-reduced-motion:reduce){.seat-box:before{transition:none}.seat-box-active:before{animation:none;background-size:var(--seat-bloom-rest-size);opacity:1;filter:brightness(1.04) saturate(1.04)}}.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(--seat-team-hsl)/.1);border:1px solid hsl(var(--seat-team-hsl)/.32);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:clamp(.875rem,2vw,1rem);color:hsl(var(--seat-team-hsl));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:var(--layer-board-raised)}.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:var(--layer-board-raised);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:var(--layer-board-raised);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:var(--layer-board-raised);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}.combo-badge{position:relative;display:inline-flex;align-items:center;gap:.28rem;padding:.26rem .62rem;border-radius:999px;border:1px solid hsl(var(--border)/.92);background:hsl(var(--background)/.94);color:hsl(var(--foreground)/.78);font-size:.62rem;font-weight:760;letter-spacing:.05em;line-height:1;white-space:nowrap;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}.combo-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}.combo-badge>*{position:relative;z-index:1}.combo-badge-bomb{background:linear-gradient(135deg,hsl(var(--background)/.9),rgb(245 158 11/.14));border-color:rgb(245 158 11/.34);color:rgb(180 83 9);box-shadow:0 8px 18px rgba(15,23,42,.12),0 2px 8px rgb(245 158 11/.12),inset 0 1px 0 hsl(var(--background)/.52)}.dark .combo-badge-bomb{background:linear-gradient(135deg,hsl(var(--background)/.78),rgb(245 158 11/.2));border-color:rgb(245 158 11/.4);color:rgb(252 211 77);box-shadow:0 8px 18px rgba(0,0,0,.18),0 2px 8px rgb(245 158 11/.14),inset 0 1px 0 hsl(var(--background)/.28)}.combo-badge-invalid{background:linear-gradient(135deg,hsl(var(--background)/.9),rgb(220 38 38/.12));border-color:rgb(220 38 38/.3);color:rgb(185 28 28);box-shadow:0 8px 18px rgba(15,23,42,.12),0 2px 8px rgb(220 38 38/.1),inset 0 1px 0 hsl(var(--background)/.52)}.dark .combo-badge-invalid{background:linear-gradient(135deg,hsl(var(--background)/.78),rgb(220 38 38/.18));border-color:rgb(220 38 38/.38);color:rgb(248 113 113);box-shadow:0 8px 18px rgba(0,0,0,.18),0 2px 8px rgb(220 38 38/.12),inset 0 1px 0 hsl(var(--background)/.28)}.combo-badge-selected{background:linear-gradient(135deg,hsl(var(--background)/.9),hsl(var(--primary)/.12));border-color:hsl(var(--primary)/.34);color:hsl(var(--primary))}.dark .combo-badge-selected{background:linear-gradient(135deg,hsl(var(--background)/.78),hsl(var(--primary)/.18));border-color:hsl(var(--primary)/.4);color:hsl(var(--primary))}.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:var(--text-12);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 var(--duration-bar-text) ease-in-out,opacity var(--duration-bar-text) ease-in-out,transform var(--duration-bar-text) ease-in-out}.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:var(--text-15);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-replay-step{flex:0 0 auto;width:2.15rem;min-width:2.15rem;padding-inline:0}.action-bar-round-select{font-size:var(--text-13);font-weight:600}.action-bar-round-select,.action-bar-step-counter{flex:0 0 auto;font-variant-numeric:tabular-nums;white-space:nowrap}.action-bar-step-counter{font-size:var(--text-13);font-weight:600;color:hsl(var(--muted-foreground));text-align:center}.action-bar{position:relative;z-index:var(--layer-action-bar);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:transform var(--duration-base) var(--ease-settle),background-color var(--duration-base) linear,margin-top var(--duration-base) var(--ease-card)}.action-bar:before{content:"";position:absolute;left:-2%;top:-.82rem;width:104%;height:1.7rem;border-radius:999px;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(0);transform-origin:center;opacity:.42;visibility:hidden;animation:action-bar-siri-ripple 2.65s ease-in-out infinite;animation-play-state:paused;transition:filter var(--duration-base) linear,visibility 0s linear var(--duration-base);pointer-events:none}.action-bar-ready:before{filter:blur(5px) saturate(1.16) opacity(1);visibility:visible;animation-play-state:running;transition:filter var(--duration-base) linear,visibility 0s linear 0s}.action-bar:after{content:"";position:absolute;left:0;top:-.1rem;width:100%;height:3px;border-radius:999px;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)) opacity(0);transform-origin:center;opacity:.67;visibility:hidden;animation:action-bar-siri-line 2.65s ease-in-out infinite;animation-play-state:paused;transition:filter var(--duration-base) linear,visibility 0s linear var(--duration-base);pointer-events:none}.action-bar-ready:after{filter:blur(.35px) drop-shadow(0 0 .55rem hsl(var(--primary)/.34)) opacity(1);visibility:visible;animation-play-state:running;transition:filter var(--duration-base) linear,visibility 0s linear 0s}.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:var(--text-11);line-height:1.2;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:var(--text-13)}.action-bar .action-bar-controls>.action-bar-replay-step{padding-inline:0}.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:var(--text-12)}.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:var(--text-11);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:var(--text-12)}.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:var(--text-13)}.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{background-color:hsl(var(--background))}.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{position:relative;z-index:1}.action-bar-pane.is-leaving{position:absolute;inset:0;z-index:0;pointer-events:none}.action-bar-turn-label{position:relative;display:inline-block;overflow:hidden;white-space:nowrap;vertical-align:bottom;transition:width var(--duration-bar-text) var(--ease-card)}.action-bar-turn-letters.is-sizer{position:static;visibility:hidden}.action-bar-turn-letters{position:absolute;top:0;white-space:pre}.action-bar-turn-label.is-anchor-start .action-bar-turn-letters{left:0}.action-bar-turn-label.is-anchor-end .action-bar-turn-letters{right:0}.action-bar-turn-letter{display:inline-block}.action-bar-turn-text.is-morphing .action-bar-turn-letters.is-incoming .action-bar-turn-letter.is-crossing{animation:action-bar-letter-in calc(var(--duration-bar-text) * .5) linear both;animation-delay:calc(var(--letter-index) * var(--letter-stagger))}.action-bar-turn-text.is-morphing .action-bar-turn-letters.is-outgoing .action-bar-turn-letter.is-crossing{animation:action-bar-letter-out calc(var(--duration-bar-text) * .5) linear both;animation-delay:calc(var(--letter-index) * var(--letter-stagger))}.action-bar-turn-text.is-morphing .action-bar-turn-letters.is-incoming .action-bar-turn-letter.is-surplus{animation:action-bar-letter-in calc(var(--duration-bar-text) * var(--letter-span)) linear both;animation-delay:calc(var(--duration-bar-text) * var(--letter-phase))}.action-bar-turn-text.is-morphing .action-bar-turn-letters.is-outgoing .action-bar-turn-letter.is-surplus{animation:action-bar-letter-out calc(var(--duration-bar-text) * var(--letter-span)) linear both;animation-delay:calc(var(--duration-bar-text) * var(--letter-phase))}.action-bar-pane.is-leaving .action-bar-controls{visibility:hidden}.action-bar-controls-placeholder{min-height:2.75rem;opacity:0;pointer-events:none}.action-bar-button{transition:transform var(--duration-base) var(--ease-settle),background-color var(--duration-base) linear,border-color var(--duration-base) linear,filter var(--duration-base) linear,opacity var(--duration-base) linear}.action-bar .action-bar-button:disabled,.action-bar .action-bar-button[data-action-disabled=true]{opacity:.45;filter:saturate(.5);cursor:not-allowed;box-shadow:none}.action-bar-button:not(:disabled):not([data-action-disabled=true]):active{transform:translateY(1px) scale(.99);transition-duration:var(--duration-instant);transition-timing-function:var(--ease-press)}@media (prefers-reduced-motion:reduce){.action-bar-turn-text.is-morphing .action-bar-turn-letters.is-incoming .action-bar-turn-letter.is-crossing,.action-bar-turn-text.is-morphing .action-bar-turn-letters.is-incoming .action-bar-turn-letter.is-surplus,.action-bar-turn-text.is-morphing .action-bar-turn-letters.is-outgoing .action-bar-turn-letter.is-crossing,.action-bar-turn-text.is-morphing .action-bar-turn-letters.is-outgoing .action-bar-turn-letter.is-surplus{animation-duration:1ms;animation-delay:0s}.action-bar-turn-label,.tribute-tray-panel{transition:none}.action-bar:after,.action-bar:before{animation:none;opacity:.4;transform:none}.action-bar-turn-text.is-my-turn{animation:none;opacity:1}.seat-action-badge-move .seat-action-badge-label{animation:none;opacity:1;text-shadow:0 0 10px hsl(var(--primary-foreground)/.85)}}.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:var(--text-11);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)}}.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) var(--ease-settle) 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{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(.match-board-shell){overflow-y:hidden;overscroll-behavior-y:none}.match-board-shell{--match-board-height:clamp(400px,60vh,calc(100vh - 20rem));--match-board-side-seat-row:clamp(216px,32.4vh,calc(54vh - 10.8rem));--match-board-side-seat-half-height:clamp(45px,6vw,60px);--match-board-hand-rise-limit:calc(var(--match-board-side-seat-row) + var(--match-board-side-seat-half-height) + 18px);height:100vh;min-height:100vh;overflow-x:clip;overflow-y:auto;overscroll-behavior-y:none;-webkit-overflow-scrolling:touch}.match-board-shell:before{content:"";width:100%;flex:1 1 auto;min-height:var(--match-board-hand-rise-limit)}.match-board-shell>.match-board-main{display:contents}.match-board-shell .match-board-stage{position:fixed;inset:0 0 auto;z-index:0;height:var(--match-board-height)}.match-board-shell>:is(.action-bar,.hand-container){flex-shrink:0}}@supports (height:100svh){@media (max-width:767px){.match-board-shell{--match-board-height:clamp(400px,60svh,calc(100svh - 20rem));--match-board-side-seat-row:clamp(216px,32.4svh,calc(54svh - 10.8rem));height:100svh;min-height:100svh}}}@media (max-width:639px){.match-board-shell{--match-board-side-seat-half-height:clamp(41px,12vw,52px)}}@media (display-mode:standalone) and (max-width:639px){.match-board-shell{--match-board-height:clamp(360px,50svh,430px);--match-board-side-seat-row:clamp(194.4px,27svh,232.2px)}.match-board-shell .match-board-stage{overflow:visible}.match-board-shell :is(.seat-box-east,.seat-box-west){top:calc(var(--match-board-side-seat-row) - var(--match-board-side-seat-half-height));transform:none}}@media (min-width:1024px){body:has(.match-board-shell){overflow-y:hidden;overscroll-behavior-y:none}.match-board-shell{--match-board-height:clamp(270px,40.5vh,calc(75vh - 15rem));--match-board-side-seat-row:clamp(145.8px,21.87vh,calc(40.5vh - 8.1rem));--match-board-side-seat-half-height:clamp(42px,4.4vw,55px);--match-board-half-height:clamp(135px,20.25vh,calc(37.5vh - 7.5rem));--match-board-trick-offset:clamp(16.8px,1.76025vw,22px);--match-board-trick-half-height:max(60px,calc(clamp(39.2px, 3.22vw, 50.4px) + 18.2px));--match-board-blocker-bottom:max(calc(var(--match-board-side-seat-row) + var(--match-board-side-seat-half-height)),calc(var(--match-board-half-height) + var(--match-board-trick-offset) + var(--match-board-trick-half-height)));--match-board-hand-rise-limit:calc(var(--match-board-blocker-bottom) + 18px);height:100vh;min-height:100vh;overflow-x:clip;overflow-y:auto;overscroll-behavior-y:none;scrollbar-width:none}.match-board-shell::-webkit-scrollbar{display:none}.match-board-shell:before{content:"";width:100%;flex:1 1 auto;min-height:var(--match-board-hand-rise-limit)}.match-board-shell>.match-board-main{display:contents}.match-board-shell .match-board-stage{position:fixed;inset:0 0 auto;z-index:0;height:var(--match-board-height)}.match-board-shell :is(.seat-box-east,.seat-box-west){top:54%}.match-board-shell>:is(.action-bar,.hand-container){flex-shrink:0}@supports (height:100svh){.match-board-shell{--match-board-height:clamp(270px,40.5svh,calc(75svh - 15rem));--match-board-side-seat-row:clamp(145.8px,21.87svh,calc(40.5svh - 8.1rem));--match-board-half-height:clamp(135px,20.25svh,calc(37.5svh - 7.5rem));height:100svh;min-height:100svh}}}[data-motion=reduce] .match-preparing-spinner,[data-motion=reduce] .match-result-waiting{animation:none}[data-motion=reduce] .seat-box:before{transition:none}[data-motion=reduce] .seat-box-active:before{animation:none;background-size:var(--seat-bloom-rest-size);opacity:1;filter:brightness(1.04) saturate(1.04)}[data-motion=reduce] .action-bar-turn-text.is-morphing .action-bar-turn-letters.is-incoming .action-bar-turn-letter.is-crossing,[data-motion=reduce] .action-bar-turn-text.is-morphing .action-bar-turn-letters.is-incoming .action-bar-turn-letter.is-surplus,[data-motion=reduce] .action-bar-turn-text.is-morphing .action-bar-turn-letters.is-outgoing .action-bar-turn-letter.is-crossing,[data-motion=reduce] .action-bar-turn-text.is-morphing .action-bar-turn-letters.is-outgoing .action-bar-turn-letter.is-surplus{animation-duration:1ms;animation-delay:0s}[data-motion=reduce] .action-bar-turn-label,[data-motion=reduce] .tribute-tray-panel{transition:none}[data-motion=reduce] .action-bar:after,[data-motion=reduce] .action-bar:before{animation:none;opacity:.4;transform:none}[data-motion=reduce] .action-bar-turn-text.is-my-turn{animation:none;opacity:1}[data-motion=reduce] .seat-action-badge-move .seat-action-badge-label{animation:none;opacity:1;text-shadow:0 0 10px hsl(var(--primary-foreground)/.85)}@media(max-width:639px){.game-board-container .deck-card-wrapper{scale:.9}}.playing-card{--card-emphasis-shadow:0 0 0 0 transparent;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-color:hsl(var(--card-face));display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;box-shadow:var(--card-emphasis-shadow),0 1px 1px rgba(64,53,38,.18),0 4px 8px -3px rgba(35,30,23,.24),inset 0 1px 0 rgba(255,255,255,.82),inset 0 0 0 1px rgba(111,92,65,.055);transition:transform .22s var(--ease-card),box-shadow 0s;transform-origin:center bottom;cursor:pointer;contain:layout style}button.playing-card{font:inherit;color:inherit;text-align:inherit;-moz-appearance:none;appearance:none;-webkit-appearance:none}.playing-card:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px;z-index:3}.playing-card:not(.playing-card-back){background-color:#f9f7f1;background-image:linear-gradient(145deg,#fffefa,#f9f7f1 58%,#efebe2);border-color:color-mix(in srgb,hsl(var(--card-border)) 88%,#8d7b62 12%)}.dark .playing-card:not(.playing-card-back){background-color:#9d9a93;background-image:linear-gradient(145deg,#aaa8a1,#9d9a93 58%,#908d86);border-color:color-mix(in srgb,hsl(var(--card-border)) 82%,#c4baa8 18%)}.card-corner{position:absolute;z-index:2;display:flex;flex-direction:column;align-items:center;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:var(--card-emphasis-shadow),0 1px 1px rgba(64,53,38,.18),0 4px 8px -3px rgba(35,30,23,.24),inset 0 1px 0 rgba(255,255,255,.82),inset 0 0 0 1px rgba(111,92,65,.055);z-index:var(--layer-board-raised)}.playing-card-selected{--card-emphasis-shadow:0 0 0 3px hsl(var(--primary));z-index:var(--layer-hand-card-selected);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)}@media (max-width:767px){.playing-card{transition:transform .34s var(--ease-card),box-shadow 0s}.hand-stack{transition-duration:.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}.deck-top-minimal-card{position:absolute;inset:0;z-index:var(--layer-board-raised)}.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:var(--layer-hand-card-selected)}.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:opacity .2s ease}.hand-container{--hand-card-selected-lift:12px;--hand-stack-card-offset:-70%;--hand-inline-padding:clamp(.5rem,2vw,1rem);width:100%;min-height:220px;background:hsl(var(--card));border-top:2px solid hsl(var(--border));padding:clamp(1rem,3vh,1.5rem) var(--hand-inline-padding);box-shadow:0 -4px 6px -1px #0000001a;transition:min-height .38s var(--ease-card)}.hand-scroll-viewport{position:relative;z-index:var(--layer-hand-viewport);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{--hand-edge-veil-width:clamp(14px,2.2vw,20px);position:relative;width:calc(100% + var(--hand-inline-padding) + var(--hand-inline-padding));margin-inline:calc(0px - var(--hand-inline-padding));min-width:0}.hand-card-stage:after,.hand-card-stage:before{content:"";position:absolute;inset-block:0;z-index:var(--layer-hand-veil);width:var(--hand-edge-veil-width);opacity:0;pointer-events:none;transition:opacity .18s ease}.hand-card-stage:before{left:0;background:linear-gradient(to right,hsl(var(--card)/.97) 0,hsl(var(--card)/.74) 42%,transparent 100%)}.hand-card-stage:after{right:0;background:linear-gradient(to left,hsl(var(--card)/.97) 0,hsl(var(--card)/.74) 42%,transparent 100%)}.hand-card-stage[data-scroll-left=true]:before,.hand-card-stage[data-scroll-right=true]:after{opacity:1}.hand-card-stage .hand-grid{box-sizing:border-box;padding-inline:10px}.hand-empty-state-overlay{position:absolute;inset:0;z-index:var(--layer-hand-overlay);display:grid;place-items:center;pointer-events:none}.deck-card-wrapper{position:relative;cursor:pointer;transition:all .2s var(--ease-card)}.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:var(--text-13);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:var(--layer-board-raised);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}.auto-deal-overlay{inset:0;z-index:var(--layer-deal-overlay);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) var(--ease-throw) 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){.tribute-card-highlight{animation:none;box-shadow:0 0 0 3px hsl(var(--primary)/.9),0 0 14px 5px hsl(var(--primary)/.35)}.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:var(--layer-hand-stack);overflow:visible;perspective:1200px}.hand-grid>:first-child{margin-left:auto}.hand-grid>:last-child{margin-right:auto}.hand-stack{z-index:var(--layer-hand-stack)}.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:var(--layer-hand-card-shell)}.hand-container .playing-card{position:relative;z-index:var(--layer-hand-card)}.hand-container .playing-card:hover{z-index:var(--layer-hand-card-hover)}.hand-container .playing-card-selected,.hand-container .playing-card-selected:hover{z-index:var(--layer-hand-card-lifted)}.hand-card-hidden{opacity:0;will-change:opacity}.hand-card-revealing{animation:hand-card-reveal .4s var(--ease-settle) both}.hand-play-exit-overlay{transform-origin:center bottom;will-change:transform,opacity;animation:hand-card-play-exit .22s var(--ease-settle) both;backface-visibility:hidden}.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}.hand-card-count-badge{background:transparent;color:hsl(var(--foreground));font-weight:700;font-size:clamp(.625rem,1.5vw,.75rem);margin-left:clamp(.75rem,2vw,2rem);padding:0;border-radius:0;box-shadow:none}.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}.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}[data-motion=reduce] .tribute-card-highlight{animation:none;box-shadow:0 0 0 3px hsl(var(--primary)/.9),0 0 14px 5px hsl(var(--primary)/.35)}[data-motion=reduce] .auto-deal-packet{display:none}[data-motion=reduce] .auto-deal-seat-marker{--auto-deal-arrival-delay:60ms!important;animation-duration:.36s}