/* Silent team entrance: existing layout and portraits remain unchanged. */
.pixel-home .lineup-rosters section{animation:team-arrive .58s cubic-bezier(.16,.7,.18,1) both;--entry-x:-115%;transform-origin:center}
.pixel-home .lineup-rosters section:nth-child(2){--entry-x:115%;animation-delay:60ms}
.pixel-home .lineups{overflow:hidden}
.pixel-home .lineups:after{content:'';position:absolute;left:calc(50% - 7px);top:4%;height:90%;width:14px;background:#d8e8f3;clip-path:polygon(35% 0,100% 0,65% 18%,100% 33%,40% 50%,85% 65%,20% 85%,45% 100%,0 100%,20% 78%,0 61%,50% 42%,10% 27%);pointer-events:none;animation:entry-seam .72s both}
@keyframes team-arrive{0%{transform:translateX(var(--entry-x))}72%{transform:translateX(0)}84%{transform:translateX(calc(var(--entry-x)*-.015))}100%{transform:translateX(0)}}
@keyframes entry-seam{0%,55%{opacity:0}65%{opacity:1}100%{opacity:0}}
.match-entry{position:fixed;inset:0;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;background:rgba(5,13,30,.92);color:#fff;text-align:center;font-family:system-ui,sans-serif;overflow:hidden;box-sizing:border-box}
.entry-logo{font-family:DotGothic16,system-ui,sans-serif;font-size:clamp(30px,6vw,72px);line-height:1.2;margin:0;color:#fff;letter-spacing:.025em;animation:logo-enter .5s cubic-bezier(.16,.8,.2,1) both}
.entry-teams{margin:0;font-size:clamp(14px,2vw,22px);max-width:90%;overflow-wrap:anywhere;color:#b6cee9}
.entry-start{color:#76cce8;font-size:18px;letter-spacing:.32em}.entry-honors{margin:0;font-size:14px;max-width:90%;overflow-wrap:anywhere;color:#d9e4ee}
.entry-skip{position:absolute;bottom:16px;right:20px;min-height:44px;padding:8px 22px;border:1px solid #7695bc;background:#10233f;color:#fff;font:16px system-ui;cursor:pointer}.entry-skip:focus-visible{outline:3px solid #fff;outline-offset:3px}
@keyframes logo-enter{0%{transform:scale(.82);opacity:0}70%{transform:scale(1.025);opacity:1}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.pixel-home .lineup-rosters section,.pixel-home .lineups:after,.entry-logo{animation:none}.pixel-home .lineups:after{display:none}}
/* Team introduction + logo share one three-second timeline. */
.pixel-home .lineup-rosters section{animation-duration:.8s;animation-timing-function:cubic-bezier(.18,.8,.24,1)}
@keyframes team-arrive{0%{transform:translateX(var(--entry-x)) scale(.96)}58%{transform:translateX(calc(var(--entry-x)*-.055)) scale(1.035)}72%{transform:translateX(calc(var(--entry-x)*.022)) scale(.985)}86%{transform:translateX(calc(var(--entry-x)*-.008)) scale(1.008)}100%{transform:none}}
.pixel-home .lineups:after{width:22px;left:calc(50% - 11px);background:#f2f7fa;animation-duration:.95s}
.pixel-home .banner.home{background-color:color-mix(in srgb,var(--pixel-own) 88%,#071022)}.pixel-home .banner.away{background-color:color-mix(in srgb,var(--pixel-away) 84%,#071022)}
.pixel-home .lineup-rosters button:after{background:#030914;border-color:#32a3df;box-shadow:inset 0 0 0 1px #102740,0 2px 0 #000}
.match-entry{padding:0;background:rgba(5,10,20,.77);gap:0}
.entry-faceoff{position:absolute;inset:36px 28px 54px;display:grid;grid-template-columns:1fr 1fr;gap:38px;animation:faceoff-exit .24s 2.35s both}
.entry-side{position:relative;display:flex;flex-direction:column;padding:12px 16px;background:#075dd0;clip-path:polygon(0 0,98% 0,93% 17%,100% 34%,94% 52%,100% 70%,93% 86%,98% 100%,0 100%);--entry-x:-130%;animation:team-arrive .7s both;box-shadow:inset 0 3px #79b6f3,inset 0 -3px #013984}
.entry-side-1{background:#d83c2c;clip-path:polygon(2% 0,100% 0,100% 100%,2% 100%,7% 84%,0 66%,6% 48%,0 30%,7% 14%);--entry-x:130%;animation-delay:.045s;box-shadow:inset 0 3px #f49a72,inset 0 -3px #8f211f}
.entry-side h2{font:800 clamp(16px,2.5vw,30px)/1.2 system-ui;margin:0 0 6px;letter-spacing:.015em;overflow-wrap:anywhere}
.entry-players{flex:1;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:6px;min-height:0}
.entry-player{grid-column:span 2;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;min-width:0;min-height:0;position:relative}
.entry-player:nth-child(-n+2){grid-column:span 3}
.entry-player canvas{width:clamp(48px,7.6vw,96px);height:clamp(48px,7.6vw,96px);image-rendering:pixelated;flex-shrink:0}
.entry-name{align-self:stretch;background:#070d19;border-bottom:2px solid #c6d7e8;padding:3px 2px;min-width:0}
.entry-name b{display:block;font:700 13px/1.15 system-ui;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entry-name small{display:block;font:11px/1.2 system-ui;color:#d5dfeb}.entry-title{display:block;font:10px/1.2 system-ui;color:#f2d478;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.entry-vs{position:absolute;top:46%;left:50%;transform:translate(-50%,-50%) rotate(-8deg);font:900 38px/1 system-ui;font-style:italic;color:white;text-shadow:3px 3px #000;animation:vs-hit .28s .45s both,faceoff-exit .24s 2.35s both}
.entry-logo,.entry-start,.entry-teams{position:relative;animation:final-mark .35s 2.4s both}.entry-logo{font-family:system-ui;font-weight:900;font-style:italic;font-size:clamp(30px,6vw,72px);letter-spacing:-.03em}.entry-start{margin-top:12px}.entry-teams{margin-bottom:10px}
.entry-skip{bottom:6px;right:12px;background:#0a1526;border:1px solid #a4bdd6;min-height:42px;font-size:13px;padding:5px 16px}
@keyframes faceoff-exit{to{opacity:0;transform:scale(1.04)}}
@keyframes final-mark{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
@keyframes vs-hit{from{opacity:0;scale:1.8}to{opacity:1;scale:1}}
@media(min-width:1100px) and (min-height:600px){.entry-faceoff{inset:12% 8% 15%;gap:56px}.entry-name b{font-size:20px}.entry-name small{font-size:15px}.entry-title{font-size:14px}.entry-player canvas{width:144px;height:144px}.entry-vs{font-size:62px}.entry-side{padding:18px 26px}}
@media(prefers-reduced-motion:reduce){.entry-faceoff,.entry-side,.entry-vs,.entry-logo,.entry-start,.entry-teams{animation:none}.entry-logo,.entry-start,.entry-teams{display:none}.entry-faceoff{inset:12px 28px 54px}}
@media(max-width:1099px){.entry-faceoff{inset:24px 28px 54px}.entry-player canvas{width:80px;height:80px}}
body:has(.match-entry) #banner{visibility:hidden}
.entry-side:before{content:'';position:absolute;width:210px;height:210px;border:2px solid rgba(255,255,255,.12);border-radius:50%;top:40px;left:calc(50% - 105px);pointer-events:none}.entry-side h2,.entry-players{position:relative;z-index:1}
.pixel-home .banner h2{font-family:system-ui,sans-serif;font-weight:800;letter-spacing:-.025em}.pixel-home .banner small{color:#e5eef9}.pixel-home .court canvas{filter:brightness(.82) saturate(1.05)}
