/* A single continuous table moves from the living clubhouse into the match. */
.table-flight{
 position:absolute;left:0;top:0;z-index:26;display:block;
 transform-origin:center center;pointer-events:none;will-change:transform;
 filter:drop-shadow(0 var(--flight-shadow,16px) 23px rgba(0,0,0,.48));
}
#app.entering-match .masthead,
#app.entering-match .room-details,
#app.entering-match .lobby-panel{opacity:0;transform:translateY(12px);pointer-events:none;
 transition:opacity .42s ease,transform .65s cubic-bezier(.2,.8,.2,1);}
#app .masthead,#app .room-details,#app .lobby-panel{transition:opacity .28s ease,transform .45s ease;}
.game-screen.entering{background:transparent;pointer-events:none;}
.game-screen.entering::before{
 content:'';position:absolute;inset:0;pointer-events:none;
 background:radial-gradient(ellipse 85% 75% at 50% 52%,#25456b 0%,#15263e 68%,#0e172a 100%);
 animation:room-to-table 1.3s ease-in-out both;
}
.game-screen.entering .table-play-area{visibility:hidden;}
.game-screen.entering .match-hud,.game-screen.entering .shot-rail,.game-screen.entering .tools-rail{animation:match-controls-in .47s .80s both;}
@keyframes room-to-table{0%,14%{opacity:0}100%{opacity:1}}
@keyframes match-controls-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}

/* Warm pool-hall spotlight follows the one physical table through its flight. */
.flight-stage{position:absolute;inset:0;z-index:23;pointer-events:none;opacity:0;will-change:opacity}
.flight-stage:before{content:'';position:absolute;inset:0;
 background:radial-gradient(ellipse 36% 31% at var(--flight-x,50%) var(--flight-y,50%),rgba(245,223,172,.2) 0%,rgba(222,184,127,.064) 55%,transparent 100%);
}
#app.entering-match .room{filter:brightness(.51);transition:filter .56s ease-out}
#app .room{transition:filter .3s ease-in}
@media(prefers-reduced-motion:reduce){
 .table-flight,.flight-stage{display:none}
 #app.entering-match .masthead,#app.entering-match .room-details,
 #app.entering-match .lobby-panel{transition:none}
 .game-screen.entering::before,.game-screen.entering .match-hud,.game-screen.entering .shot-rail,.game-screen.entering .tools-rail{animation:none}
}
