/* Court intro broadcast overlay. Sizes follow the 16:10 game frame through container units. */
#court-intro{position:absolute;inset:0;z-index:40;overflow:hidden;background:#000;color:#f4fbf8;font-family:Nunito,Arial,sans-serif;cursor:pointer;opacity:0;transition:opacity .28s ease;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none;--accent:#a2d8ef;--bar:8.5%}
#court-intro.shown{opacity:1}
#court-intro.leaving{opacity:0;transition-duration:.45s;pointer-events:none}
.ci-stage,.ci-stage video{position:absolute;inset:0;width:100%;height:100%}
.ci-stage video{object-fit:cover;opacity:0;transition:opacity .45s ease}
.rolling .ci-stage video{opacity:1}
.ci-shade{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 80% 70% at 50% 52%,#0000 50%,#000a 100%),linear-gradient(0deg,#000b 0,#0000 38%);transition:opacity .9s ease}
.lit .ci-shade{opacity:.55}
.outro .ci-shade{opacity:0}
.ci-flash{position:absolute;inset:0;pointer-events:none;opacity:0;mix-blend-mode:screen;background:radial-gradient(ellipse 70% 60% at 50% 38%,#fff 0,color-mix(in srgb,var(--accent) 45%,#fff0) 45%,#fff0 75%)}
.lit .ci-flash{animation:ci-flash .75s cubic-bezier(.2,.7,.3,1) both}
.ci-bars i{position:absolute;left:0;right:0;height:var(--bar);background:#000;transition:transform .65s cubic-bezier(.65,0,.2,1)}
.ci-bars i:first-child{top:0}
.ci-bars i:last-child{bottom:0}
.lit .ci-bars i:first-child{transform:translateY(-101%)}
.lit .ci-bars i:last-child{transform:translateY(101%)}
.ci-bug{position:absolute;top:calc(var(--bar) + 2.2cqw);left:3.4cqw;width:max(64px,10cqw);height:auto;opacity:0;transform:translateY(-8px);filter:drop-shadow(0 .3cqw .8cqw #000c);transition:opacity .6s ease .35s,transform .6s cubic-bezier(.2,.8,.2,1) .35s,top .65s cubic-bezier(.65,0,.2,1)}
.rolling .ci-bug{opacity:.94;transform:none}
.lit .ci-bug{top:2.4cqw}
.ci-card{position:absolute;left:4.2cqw;bottom:calc(var(--bar) + 3.4cqw);display:grid;justify-items:start;gap:.55cqw;max-width:62cqw;pointer-events:none;transition:bottom .65s cubic-bezier(.65,0,.2,1),opacity .5s ease,transform .5s ease}
.lit .ci-card{bottom:5cqw;animation:ci-jolt .38s ease-out}
.outro .ci-card,.outro .ci-bug{opacity:0;transform:translateX(-2.4cqw);transition-delay:0s}
.ci-label{display:flex;align-items:center;gap:1cqw;color:var(--accent);font-size:max(10px,1.55cqw);font-weight:900;letter-spacing:.34em;text-shadow:0 1px 8px #000c;opacity:0;transform:translateX(-1.2cqw);transition:opacity .6s ease .75s,transform .7s cubic-bezier(.2,.8,.2,1) .75s}
.ci-label::before{content:'';width:max(22px,4.2cqw);height:max(2px,.26cqw);border-radius:2px;background:var(--accent);box-shadow:0 0 1.2cqw var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .8s cubic-bezier(.2,.8,.2,1) .85s}
.rolling .ci-label{opacity:1;transform:none}
.rolling .ci-label::before{transform:scaleX(1)}
.ci-name{position:relative;font-size:max(22px,5.6cqw);font-weight:900;line-height:1;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;color:#f7fcfa;filter:drop-shadow(0 .35cqw 1.1cqw #000d);opacity:0}
.ci-name::after{content:attr(data-text);position:absolute;inset:0;color:transparent;background:linear-gradient(100deg,#fff0 35%,color-mix(in srgb,var(--accent) 70%,#fff) 50%,#fff0 65%) 160% 0/250% 100% no-repeat;-webkit-background-clip:text;background-clip:text}
.lit .ci-name{animation:ci-slam .6s cubic-bezier(.16,1,.3,1) both}
.lit .ci-name::after{animation:ci-sheen 1.1s ease-in-out .35s both}
.ci-caption{font-size:max(11px,1.7cqw);font-weight:800;letter-spacing:.06em;color:#dcefe8;text-shadow:0 1px 8px #000d;opacity:0;transform:translateY(.8cqw);transition:opacity .5s ease .3s,transform .6s cubic-bezier(.2,.8,.2,1) .3s}
.lit .ci-caption{opacity:1;transform:none}
.ci-skip{position:absolute;right:3.2cqw;bottom:calc(var(--bar) + 2.4cqw);display:flex;align-items:center;gap:.6cqw;min-height:34px;padding:.6cqw 1.3cqw .6cqw 1.6cqw;overflow:hidden;border:1px solid #ffffff38;border-radius:999px;background:#0c211eb3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#f4fbf8;font:900 max(11px,1.25cqw)/1 Nunito,Arial,sans-serif;letter-spacing:.16em;cursor:pointer;opacity:0;transition:opacity .4s ease .45s,bottom .65s cubic-bezier(.65,0,.2,1),background-color .2s ease,border-color .2s ease,transform .15s ease}
.ci-skip::after{content:'';position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--accent);transform:scaleX(var(--progress,0));transform-origin:left}
.ci-skip svg{width:max(11px,1.2cqw);height:max(11px,1.2cqw);fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
.rolling .ci-skip{opacity:1}
.lit .ci-skip{bottom:2.6cqw}
.ci-skip:hover{background:#163a34d9;border-color:color-mix(in srgb,var(--accent) 70%,#fff0)}
.ci-skip:hover svg{transform:translateX(3px)}
.ci-skip:active{transform:scale(.96)}
.ci-skip:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@keyframes ci-flash{0%{opacity:.9}100%{opacity:0}}
@keyframes ci-slam{0%{opacity:0;transform:scale(1.16);letter-spacing:.22em;filter:blur(10px) drop-shadow(0 .35cqw 1.1cqw #000d)}60%{opacity:1}100%{opacity:1;transform:none;letter-spacing:.02em;filter:blur(0) drop-shadow(0 .35cqw 1.1cqw #000d)}}
@keyframes ci-sheen{to{background-position:-60% 0}}
@keyframes ci-jolt{0%{transform:translateY(0)}25%{transform:translateY(-.5cqw)}60%{transform:translateY(.2cqw)}100%{transform:none}}
@media(prefers-reduced-motion:reduce){#court-intro,#court-intro *{animation:none!important;transition:none!important}}
