:root{--afl-navy:#0b1b3a;--afl-pink:#ff2e63;--afl-blue:#1f8cff;}
.afl-nav{background:linear-gradient(135deg,var(--afl-navy),#132a5b 55%,#0b1b3a);}
.afl-card{border:0;border-radius:16px;background:linear-gradient(180deg,#fff,#fbfbff);}
.afl-btn{border-radius:12px;}
.team-logo{width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(0,0,0,.12));}
.afl-vs{font-weight:800;letter-spacing:.08em;color:var(--afl-navy);opacity:.55;}
.afl-ball{display:inline-block;width:28px;height:18px;margin-right:6px;vertical-align:middle;background:radial-gradient(ellipse at 38% 32%,#e8943a,#c4621e 52%,#7c3210);border-radius:50%;transform:rotate(-18deg);position:relative;animation:footy-bounce 2.4s ease-in-out infinite;flex-shrink:0;}
.afl-ball::before{content:'';position:absolute;top:50%;left:12%;right:12%;height:1.5px;background:rgba(255,255,255,.6);border-radius:999px;transform:translateY(-50%);}
.afl-ball::after{content:'';position:absolute;top:15%;left:42%;right:42%;bottom:15%;border-top:1.5px solid rgba(255,255,255,.75);border-bottom:1.5px solid rgba(255,255,255,.75);border-radius:999px;}
@keyframes footy-bounce{0%,100%{transform:translateY(0) rotate(-18deg);}45%{transform:translateY(-7px) rotate(-10deg);}60%{transform:translateY(0) rotate(-22deg);}}
.afl-pop{animation:pop-in .38s ease-out both;}@keyframes pop-in{from{transform:translateY(6px);opacity:0}to{transform:translateY(0);opacity:1}}
.afl-hover-mark{transition:transform .18s ease,box-shadow .18s ease;} .afl-hover-mark:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(0,0,0,.12)!important;}
.afl-kick{position:relative;overflow:hidden;} .afl-kick::before{content:'';position:absolute;left:-40%;top:-30%;width:30%;height:160%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transform:rotate(22deg);} .afl-kick:hover::before{animation:kick-shine .55s ease-out;} @keyframes kick-shine{to{left:120%;}}
.afl-goal-flags{width:44px;height:14px;margin:0 auto 10px;position:relative;} .afl-goal-flags::before,.afl-goal-flags::after{content:'';position:absolute;width:16px;height:10px;border-radius:2px;background:var(--afl-pink);top:2px;animation:flag-wave 1.4s ease-in-out infinite;} .afl-goal-flags::before{left:4px;transform-origin:left center;} .afl-goal-flags::after{right:4px;background:var(--afl-blue);transform-origin:right center;animation-delay:.2s;} @keyframes flag-wave{0%,100%{transform:rotate(0)}50%{transform:rotate(14deg)}}
.afl-radio{display:block;width:45%;} .afl-radio input{display:none;} .afl-radio-card{display:flex;align-items:center;gap:10px;border:2px solid rgba(11,27,58,.12);border-radius:14px;padding:10px 12px;background:#fff;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease;}
.afl-radio input:checked + .afl-radio-card{border-color:var(--afl-blue);box-shadow:0 10px 20px rgba(31,140,255,.18);transform:translateY(-1px);} .afl-radio input:disabled + .afl-radio-card{opacity:.55;filter:saturate(.6);}
.afl-winner{background:linear-gradient(90deg,rgba(255,46,99,.08),rgba(31,140,255,.06));
}