.celebration-layer{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;z-index:5;padding:20px}
.celebration-shell{width:100%;container-type:inline-size;filter:drop-shadow(0 8px 16px #0009)}
.scoring-event{position:relative;isolation:isolate;display:flex;align-items:center;gap:2%;min-height:16cqw;padding:1.5cqw 3cqw;overflow:hidden;background:linear-gradient(110deg,var(--event-color),#10151e 80%);color:#fff;border:2px solid #b6c3d3;border-radius:5px;font-family:'Barlow Condensed',Arial,sans-serif;animation:event-lifetime var(--duration) both cubic-bezier(.16,1,.3,1)}
.event-grid{position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(115deg,transparent 0,transparent 14px,#ffffff09 15px,#ffffff09 16px);animation:grid-drift var(--duration) linear both}
.event-wipe{position:absolute;z-index:4;top:0;bottom:0;width:28%;left:-50%;transform:skew(-20deg);background:linear-gradient(90deg,transparent,#ffffff8c,transparent);animation:event-sweep var(--duration) both;pointer-events:none}
.event-logo{width:16%;flex-shrink:0;display:grid;place-items:center;animation:logo-reveal var(--duration) both}
.event-logo img{width:100%;height:14cqw;object-fit:contain;filter:drop-shadow(0 3px 5px #0007)}
.event-initials{font-size:7cqw;font-weight:900}
.event-copy{min-width:0;flex:1;display:flex;flex-direction:column;position:relative}
.broadcast-tag{font:700 clamp(8px,1.2cqw,13px) 'DM Sans',Arial;letter-spacing:.18em;color:#e0e7efbb;animation:text-reveal var(--duration) both}
.event-title{display:block;white-space:nowrap;font-size:8.8cqw;line-height:1.05;letter-spacing:-.02em;font-weight:900;text-shadow:0 3px 0 #0005;animation:text-reveal var(--duration) both}
.event-team{font:600 clamp(10px,1.6cqw,18px) 'DM Sans',Arial;letter-spacing:.03em;animation:detail-reveal var(--duration) both;display:flex;align-items:center;gap:12px}
.event-team b{font-size:1.2em;color:#fff;border-left:1px solid #ffffff60;padding-left:12px}
.event-score{flex-shrink:0;width:10%;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;border-left:1px solid #ffffff50;padding-left:1.5%;animation:score-reveal var(--duration) both}
.event-score small{font-size:1.8cqw;letter-spacing:.1em;font-weight:700}
.event-score strong{font-size:7cqw;font-weight:900}
.goalposts{width:8%;height:11cqw;color:#ffc943;flex-shrink:0;animation:detail-reveal var(--duration) both;overflow:visible}
.kick-ball{transform-box:fill-box;transform-origin:center;animation:kick-flight var(--duration) both}
.event-fieldgoal .event-title{font-size:8cqw}
.preview.celebrating #score-wrap{opacity:0;transition:opacity .12s}
.replay-buttons{display:flex;gap:7px;margin:-6px 0 18px}.replay-buttons .btn{flex:1;font-size:10px;padding:7px 8px;background:transparent}
.animation-settings{border-top:1px solid #d8decf;margin-top:18px;padding-top:18px}.animation-settings .field{margin-bottom:10px}
/* CBS: textured, rectangular team-color takeover. */
.event-cbs{border:0;border-radius:3px;background:var(--event-color);box-shadow:inset 0 -5px #0003}
.event-cbs .event-grid{background:radial-gradient(#ffffff44 .7px,transparent .9px);background-size:5px 5px}
.event-cbs .event-title{font-weight:800;letter-spacing:.02em}
.event-cbs .event-score{background:#080b10a3;border:1px solid #ffffff35;padding:1.5cqw 1cqw;width:12%}
/* FOX: oversized italic type and hard sliding panels. */
.event-fox{border:0;border-radius:0;background:linear-gradient(110deg,var(--event-color) 0 72%,#101515 72%);transform-origin:center;animation:fox-lifetime var(--duration) both}
.event-fox .event-title{font-style:italic;font-size:9.8cqw;letter-spacing:-.04em}
.event-fox .broadcast-tag{color:white;font-weight:900}
.event-fox .event-score{border:0}
/* Prime: clipped TNF geometry and a silver headline plate. */
.event-prime{border-radius:0;clip-path:polygon(0 0,100% 0,96% 100%,4% 100%);padding-left:4%;padding-right:4%;background:linear-gradient(115deg,var(--event-color),#12171e 62%)}
.event-prime .event-title{font-style:italic;background:linear-gradient(#f3f7fb,#b0c5d7);color:#121922;text-shadow:none;padding:0 1cqw;transform:skew(-8deg);font-size:8cqw}
.event-prime .broadcast-tag{font:900 italic 2.6cqw 'Barlow Condensed',Arial;letter-spacing:0;color:#e8eef3}
/* ESPN and NFL Network: metallic frame, dark core, colored illuminated trim. */
.event-espn{border:3px solid #2b69e7;background:linear-gradient(110deg,var(--event-color),#141518 45%);box-shadow:inset 0 0 15px #2b69e799}
.event-espn .event-title{font-style:italic;background:linear-gradient(#fff,#b8c9e8);background-clip:text;-webkit-text-fill-color:transparent}
.event-espn .event-grid{background:repeating-linear-gradient(0deg,transparent 0,transparent 3px,#81abff0c 4px)}
.event-nfl{border-color:#56c8d3;border-radius:6px;box-shadow:inset 0 0 14px #56c8d380;background:linear-gradient(110deg,var(--event-color),#14191d 65%)}
.event-nfl .broadcast-tag{color:#9df5ff}
.event-nfl .event-title{text-shadow:0 3px #0008,0 0 12px #5bf0ff40}
/* NBC: curved silver-edged ends with a circular score medallion. */
.event-nbc{border-radius:8cqw 8cqw 0 0 /100% 100% 0 0;border-color:#b6c0c9;background:linear-gradient(#ffffff24,transparent 45%),linear-gradient(110deg,var(--event-color),#222b36 80%);padding:2cqw 4cqw}
.event-nbc .event-score{width:12cqw;height:12cqw;border:2px solid #b6c0c9;border-radius:50%;padding:0;background:radial-gradient(#485a6b,#1e2835);box-shadow:inset 0 0 8px #ffffff40}
.event-nbc .event-score strong{font-size:6cqw}
.event-nbc .event-title{font-size:8.2cqw}
/* Netflix: flat broadcast bar, red edge, and a moving ribbon highlight. */
.event-netflix{border:1px solid #a1a8ac;border-bottom:4px solid #df1726;border-radius:3px;background:linear-gradient(105deg,var(--event-color),#131719 75%)}
.event-netflix .broadcast-tag{color:#ff8b93;letter-spacing:.25em}
.event-netflix .event-title{letter-spacing:.01em}
.event-netflix .event-grid{background:repeating-linear-gradient(110deg,transparent 0,transparent 8%,#ffffff0a 8%,#ffffff0a 9%)}
@keyframes event-lifetime{0%{opacity:0;transform:scaleX(.03) scaleY(.75)}7%{opacity:1;transform:scaleX(1) scaleY(1)}88%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(12%) scaleX(.85)}}
@keyframes fox-lifetime{0%{opacity:0;transform:translateX(-110%) skewX(-12deg)}9%{opacity:1;transform:translateX(0) skewX(0)}88%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(110%)}}
@keyframes logo-reveal{0%,5%{opacity:0;transform:scale(1.8) translateX(-35%)}14%,88%{opacity:1;transform:scale(1) translateX(0)}100%{opacity:0;transform:scale(.85)}}
@keyframes text-reveal{0%,9%{opacity:0;clip-path:inset(0 100% 0 0);translate:5% 0}20%,90%{opacity:1;clip-path:inset(0);translate:0 0}100%{opacity:0}}
@keyframes detail-reveal{0%,17%{opacity:0;translate:0 12px}26%,88%{opacity:1;translate:0 0}100%{opacity:0}}
@keyframes score-reveal{0%,22%{opacity:0;transform:translateY(60%)}32%{opacity:1;transform:translateY(-4%)}38%,88%{opacity:1;transform:translateY(0)}100%{opacity:0}}
@keyframes event-sweep{0%,12%{left:-50%}35%,80%{left:150%}100%{left:150%}}
@keyframes grid-drift{from{transform:translateX(-3%)}to{transform:translateX(3%)}}
@keyframes kick-flight{0%,18%{opacity:0;transform:translateY(10px) scale(1.2)}24%{opacity:1}46%{opacity:1;transform:translateY(-72px) scale(.5) rotate(180deg)}52%,100%{opacity:0;transform:translateY(-85px) scale(.4) rotate(220deg)}}
@media(max-width:550px){.celebration-layer{padding:12px}.scoring-event{min-height:26cqw;padding-top:3cqw;padding-bottom:3cqw;gap:2%}.event-logo{width:17%}.event-logo img{height:20cqw}.event-team{font-size:2.2cqw;gap:5px}.event-team b{padding-left:5px}.broadcast-tag{font-size:1.5cqw;letter-spacing:.08em}.event-score small{font-size:2.5cqw}.event-score strong{font-size:9cqw}.event-nbc .event-score{width:13cqw;height:13cqw}.event-nbc .event-score strong{font-size:7cqw}.goalposts{height:16cqw;width:7%}}
@media(prefers-reduced-motion:reduce){.scoring-event,.event-fox{animation:reduced-event var(--duration) both}.event-logo,.event-title,.broadcast-tag,.event-team,.event-score,.goalposts{animation:none}.event-grid,.event-wipe,.kick-ball{animation:none}.event-wipe,.kick-ball{display:none}@keyframes reduced-event{0%,96%{opacity:1}100%{opacity:0}}}
