/* GIRUZIN V1925 — animações cinematográficas, sem dependências externas */
:root{--g1925-mint:#54ffd0;--g1925-blue:#59b9ff;--g1925-gold:#ffe18a;--g1925-ease:cubic-bezier(.16,1,.3,1)}
@keyframes g1925-arrive{0%{opacity:0;transform:translateY(24px) scale(.97);filter:blur(7px)}65%{opacity:1;filter:blur(0)}100%{transform:translateY(0) scale(1)}}
@keyframes g1925-sheen{0%{background-position:-220% 0}100%{background-position:220% 0}}
@keyframes g1925-breathe{0%,100%{box-shadow:0 0 0 1px #54ffd022,0 8px 26px #0003}50%{box-shadow:0 0 0 1px #54ffd077,0 12px 34px #20e7b72b}}
@keyframes g1925-live-dot{0%,100%{opacity:1;box-shadow:0 0 0 0 #ff4e68aa}50%{opacity:.65;box-shadow:0 0 0 7px #ff4e6800}}
@keyframes g1925-goal-flash{0%{opacity:0;transform:scale(.72) rotate(-3deg);filter:blur(12px)}18%{opacity:1;filter:blur(0)}35%{transform:scale(1.06) rotate(1deg)}58%{transform:scale(.99)}100%{opacity:1;transform:scale(1)}}
@keyframes g1925-goal-rays{0%{opacity:0;transform:scale(.2) rotate(0)}30%{opacity:.9}100%{opacity:0;transform:scale(1.8) rotate(25deg)}}
@keyframes g1925-ball{0%{transform:translate(-30vw,15vh) rotate(-360deg) scale(.45);opacity:0}65%{opacity:1}100%{transform:translate(0,0) rotate(0) scale(1)}}
@keyframes g1925-card{0%{opacity:0;transform:translateY(-35px) rotate(-12deg) scale(.65)}65%{opacity:1;transform:translateY(4px) rotate(2deg) scale(1.08)}100%{transform:translateY(0) rotate(0) scale(1)}}
@keyframes g1925-line-sweep{0%{transform:translateX(-120%);opacity:0}25%{opacity:1}100%{transform:translateX(120%);opacity:0}}
@keyframes g1925-pulse-ring{0%{transform:scale(.55);opacity:.8}100%{transform:scale(1.6);opacity:0}}
@keyframes g1925-score-pop{0%{transform:scale(1)}28%{transform:scale(1.35);color:#fff4ad;text-shadow:0 0 24px #ffe18a}65%{transform:scale(.94)}100%{transform:scale(1)}}
@keyframes g1925-glint{0%{transform:translateX(-160%) skewX(-18deg)}100%{transform:translateX(260%) skewX(-18deg)}}
/* Cards e painéis: entrada escalonada e brilho de transmissão */
.panel,.match-card,.mc-card,.fixture-card,.game-card,.league-card,.test-center,.gn-panel{position:relative;isolation:isolate;animation:g1925-arrive .65s var(--g1925-ease) both}
.panel::after,.match-card::after,.mc-card::after,.fixture-card::after,.game-card::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(110deg,transparent 25%,#b6ffef0b 45%,#fff0 62%);background-size:220% 100%;animation:g1925-sheen 8s ease-in-out infinite;z-index:-1}
.panel:hover,.match-card:hover,.mc-card:hover,.fixture-card:hover,.game-card:hover{transform:translateY(-3px);border-color:#54ffd077;box-shadow:0 14px 38px #0004,0 0 0 1px #54ffd01c;transition:transform .28s var(--g1925-ease),box-shadow .28s,border-color .28s}
/* Ao vivo */
.live,.is-live,.live-badge,[data-status="live"]{animation:g1925-breathe 2.8s ease-in-out infinite}
.live::before,.is-live::before,.live-badge::before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#ff4e68;vertical-align:middle;animation:g1925-live-dot 1.4s ease-in-out infinite}
/* Gols, comemoração e placar */
.goal-overlay{isolation:isolate;overflow:hidden}
.goal-overlay.active,.goal-overlay.show,.goal-overlay[aria-hidden="false"]{animation:g1925-goal-flash .75s var(--g1925-ease) both}
.goal-overlay.active::before,.goal-overlay.show::before{content:"";position:absolute;inset:-35%;z-index:-1;pointer-events:none;background:repeating-conic-gradient(from 0deg at 50% 50%,#ffe18a00 0deg 7deg,#ffe18a25 8deg 9deg,#59b9ff00 10deg 18deg);animation:g1925-goal-rays 1.25s ease-out both}
#goalVisual{animation:g1925-goal-flash .72s var(--g1925-ease) both}
#goalVisual::after{content:"";position:absolute;inset:-12%;pointer-events:none;background:linear-gradient(105deg,transparent 35%,#fff9 49%,transparent 63%);animation:g1925-glint 1.1s .12s ease-out both}
.score,.score-value,.match-score,.mc-score,[id*="ScoreHS"],[id*="ScoreAS"]{font-variant-numeric:tabular-nums}
.score.updated,.score-value.updated,.match-score.updated,.mc-score.updated{animation:g1925-score-pop .72s var(--g1925-ease) both}
/* Eventos de cartão e pênalti */
.red-card-v1791,.event-red,.red-card,.event-card-red{transform-origin:50% 90%}
.red-card-v1791{animation:g1925-card .52s var(--g1925-ease) both}
.event-penalty,.penalty-event,[data-event*="penalt"]{position:relative}
.event-penalty::after,.penalty-event::after,[data-event*="penalt"]::after{content:"";position:absolute;inset:-4px;border:1px solid #ffe18a99;border-radius:inherit;pointer-events:none;animation:g1925-pulse-ring 1.4s ease-out infinite}
/* Linha do tempo: marcadores com brilho e entrada */
.timeline li,.timeline-item,.event-item,.match-event,.event-row{animation:g1925-arrive .45s var(--g1925-ease) both}
.timeline li::marker{color:var(--g1925-mint)}
.timeline li:hover,.timeline-item:hover,.event-item:hover,.match-event:hover,.event-row:hover{background-image:linear-gradient(90deg,#54ffd012,transparent);transition:background .2s ease}
/* Campo e bola */
.pitch1795-field,.pitch{box-shadow:inset 0 0 35px #001d11aa,0 0 0 1px #b8ffe522; background-size:100% 100%,200% 100%;}
.pitch1795-ball,.ball{filter:drop-shadow(0 0 7px #fff9) drop-shadow(0 3px 4px #001b12);}
.pitch1795-move{animation:pitch1795-run 1.4s var(--g1925-ease) both,g1925-ball 1.4s ease-out both}
/* Botões de teste e controles */
button,.button,[role="button"]{transition:transform .22s var(--g1925-ease),filter .22s ease,box-shadow .22s ease}
button:hover,.button:hover,[role="button"]:hover{filter:brightness(1.12);box-shadow:0 5px 18px #0003}
button:active,.button:active,[role="button"]:active{transform:scale(.97)}
button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--g1925-mint);outline-offset:3px}
/* Linha luminosa de transmissão */
.section-head,.gsc-head,.pitch1795-title{position:relative;overflow:hidden}
.section-head::after,.gsc-head::after,.pitch1795-title::after{content:"";position:absolute;left:0;bottom:0;width:45%;height:1px;background:linear-gradient(90deg,transparent,var(--g1925-mint),transparent);animation:g1925-line-sweep 5s ease-in-out infinite}
/* Respeita acessibilidade e aparelhos modestos */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
@media(max-width:600px){.panel:hover,.match-card:hover,.mc-card:hover,.fixture-card:hover,.game-card:hover{transform:none}.goal-overlay.active::before,.goal-overlay.show::before{opacity:.55}}
