.tournament-announcement { padding: 72px 0; text-align: left; }
.tournament-reveal { opacity:0; transform:translateY(26px); transition:opacity .7s ease var(--reveal-delay,0ms), transform .8s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms); }
.tournament-date.tournament-reveal { transform:translateY(38px) scale(.97); }
.tournament-reveal.tournament-visible { opacity:1; transform:translateY(0) scale(1); }
@media(prefers-reduced-motion:reduce) { .tournament-reveal, .tournament-date.tournament-reveal { opacity:1; transform:none; transition:none; } }
.tournament-announcement .register-inner { max-width: 1120px; }
.tournament-announcement .register-overlay { background: linear-gradient(110deg,rgba(55,3,12,.97),rgba(126,6,24,.91) 65%,rgba(40,4,12,.85)); }
.tournament-topline { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; padding-bottom:26px; border-bottom:1px solid #ffffff30; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:1.5px; }
.tournament-status { padding:9px 15px; border:1px solid #f8d77780; border-radius:30px; background:#f8d77718; color:#ffe298; }
.tournament-status:hover { background:#f8d77730; color:#fff0c0; }
.tournament-status:focus-visible { outline:2px solid #ffe298; outline-offset:4px; }
.tournament-eyebrow { margin:34px 0 12px; font-size:13px; letter-spacing:3px; text-transform:uppercase; color:#ffe298; }
.tournament-announcement .register-title { font-size:clamp(25px,4vw,44px); margin-bottom:12px; }
.tournament-headline { font-family:var(--font-heading); font-size:clamp(52px,8vw,100px); font-weight:800; text-transform:uppercase; line-height:.98; margin:0 0 24px; }
.tournament-headline span { color:#f8d777; }
.tournament-intro { font-size:18px; line-height:1.65; color:#f4dfe2; margin-bottom:30px; }
.tournament-dates { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.tournament-date { padding:26px; border:1px solid #ffffff38; border-radius:16px; background:linear-gradient(135deg,#ffffff14,#ffffff05); }
.tournament-step { color:#ffe298; font-weight:700; font-size:12px; letter-spacing:1.5px; text-transform:uppercase; }
.tournament-date h3 { font-family:var(--font-heading); font-size:clamp(28px,3.5vw,42px); line-height:1.15; margin:14px 0 10px; color:white; }
.tournament-date h3 span { color:#ffe298; }
.tournament-date p { color:#f4dfe2; margin:0; }
.tournament-date-footer { display:flex; flex-direction:column; gap:5px; border-top:1px solid #ffffff26; margin-top:22px; padding-top:18px; font-size:14px; }
.tournament-date-footer span { color:#ecd1d5; }
.tournament-link { background:#f8d777; color:#420610; margin-top:26px; gap:24px; border-radius:8px; }
.tournament-link:hover { background:#ffe7a4; color:#420610; }
.confirmed-teams { border-top:1px solid #ffffff30; margin-top:42px; padding-top:24px; min-width:0; }
.confirmed-teams-heading { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; align-items:center; }
.confirmed-teams-heading h3 { font-family:var(--font-heading); font-size:25px; text-transform:uppercase; }
.confirmed-teams-heading>span { color:#ffe298; font-size:13px; }
#confirmedTeamsPending { color:#ecd1d5; margin-top:12px; font-size:14px; }
.confirmed-teams-window { overflow:hidden; margin-top:20px; }
.confirmed-teams-track { display:flex; width:max-content; animation:confirmed-scroll 65s linear infinite; }
.confirmed-teams-group { display:flex; gap:12px; padding-right:12px; }
.confirmed-team { width:174px; flex-shrink:0; display:flex; align-items:center; gap:12px; padding:14px; background:#fff; color:#32101a; border-radius:10px; font-size:13px; font-weight:700; }
.confirmed-team img { width:44px; height:44px; flex-shrink:0; object-fit:contain; }
.confirmed-team span { min-width:0; overflow-wrap:anywhere; }
.confirmed-teams-window:hover .confirmed-teams-track { animation-play-state:paused; }
@keyframes confirmed-scroll { to { transform:translateX(-50%); } }
@media(max-width:600px) { .tournament-announcement { padding:42px 0; } .tournament-dates { grid-template-columns:1fr; } .tournament-date { padding:22px; } .tournament-topline { font-size:11px; } .tournament-intro { font-size:16px; } }
@media(prefers-reduced-motion:reduce) { .confirmed-teams-track { animation:none; } .confirmed-teams-window { overflow-x:auto; } .confirmed-teams-group[aria-hidden] { display:none; } }
