:root{--navy:#080b70;--red:#e71829;--ink:#202147}*{box-sizing:border-box}body{margin:0;background:#f4f5ff;color:var(--ink);font:16px/1.65 'DM Sans',sans-serif}h1,h2,h3{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;line-height:1.05;margin:0 0 15px}a{color:inherit}a:hover{color:var(--red)}.container{width:min(1120px,calc(100% - 36px));margin:auto}.top{background:#060747;color:#e5e5ff;padding:9px 0;font-size:12px}.top .container{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.top a{text-decoration:none}.site-header{background:white;box-shadow:0 6px 25px #090b6c15;border-bottom:4px solid var(--red)}.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 0}.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--navy);font:900 24px/.8 'Barlow Condensed',sans-serif}.logo img{width:64px;height:64px;object-fit:contain}.logo small{display:block;color:var(--red);font-size:13px;letter-spacing:.12em;margin-top:8px}.nav{display:flex;align-items:center;gap:22px;font-size:13px;font-weight:800;text-transform:uppercase}.nav a{text-decoration:none}.nav a.active{color:var(--red)}.hero{background:radial-gradient(circle at 75% 0,#3335b2,#101174 53%,#07084f);padding:80px 0 70px;color:#fff;position:relative;overflow:hidden}.hero:after{content:'';width:400px;height:400px;border-radius:50%;border:55px solid #ffffff0b;position:absolute;right:-100px;top:-130px;pointer-events:none}.kicker{font-size:13px;font-weight:900;letter-spacing:.2em;color:#ff6973;text-transform:uppercase}.hero h1{font-size:clamp(70px,11vw,125px);margin:16px 0;color:#fff}.hero p{font-size:18px;color:#daddff;max-width:680px;margin:0}.main{padding:70px 0}.grid{display:grid;grid-template-columns:1.3fr .7fr;gap:25px}.panel{background:#fff;border:1px solid #dfe0f5;border-radius:10px;padding:32px;box-shadow:0 10px 28px #0a0b7010}.panel h2{font-size:43px;color:var(--navy)}.meta{margin:0 0 30px;border-left:5px solid var(--red);padding-left:18px}.meta strong{display:block}.roster{width:100%;border-collapse:collapse;text-align:left}.roster th{background:#111379;color:#fff;padding:12px;font-size:12px;letter-spacing:.1em;text-transform:uppercase}.roster td{padding:13px 12px;border-bottom:1px solid #e6e8f3}.roster tr:nth-child(even) td{background:#f7f8ff}.roster td:first-child{width:72px;font-weight:900;color:#cf1524}.notice{padding:18px;border-left:5px solid #e71829;background:#fff4f5;color:#5c2540}.button{display:inline-block;padding:14px 18px;background:var(--red);color:#fff!important;text-decoration:none;border-radius:5px;font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.05em;margin:8px 0}.button:hover{background:#ae0f1b}.side-links{display:grid;gap:12px;margin-top:20px}.side-links a{border:1px solid #d8d9f3;padding:12px;border-radius:5px;text-decoration:none;color:#111379;font-size:14px;font-weight:800}.side-links a:hover{border-color:var(--red)}.fine{font-size:13px;color:#72748f}.footer{background:#080951;color:#dfe0ff;padding:34px 0;font-size:13px}.footer .container{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:15px}.footer a{color:#fff}.mobile-menu{display:none;background:transparent;border:0;font-size:30px;color:var(--navy)}@media(max-width:800px){.grid{grid-template-columns:1fr}.mobile-menu{display:block}.nav{display:none;position:absolute;z-index:4;top:104px;left:0;right:0;background:#fff;padding:24px;flex-direction:column;align-items:flex-start;box-shadow:0 12px 30px #0002}.nav.open{display:flex}}@media(max-width:520px){.panel{padding:21px}.roster{font-size:13px}.roster th,.roster td{padding:10px 7px}.hero{padding:60px 0}.hero h1{font-size:68px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* Shared season reference panels for all roster routes. */
.roster-reference{padding:1.5rem 0 4rem;background:#f5f7fb;color:#14233c}
.roster-reference-card{background:#fff;border:1px solid #dce2eb;border-radius:18px;padding:clamp(1.15rem,3vw,2rem);box-shadow:0 12px 35px rgba(10,30,64,.06);margin:0 0 1.5rem}
.roster-reference h2{font-size:clamp(1.55rem,3vw,2.2rem);margin:.2rem 0 .65rem;color:#152e57}
.roster-eyebrow{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:#b62838;margin:0}
.roster-age-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:.7rem;margin-top:1.3rem}
.roster-age-item{border:1px solid #e1e6ee;background:#f7f9fc;border-radius:10px;padding:.9rem 1rem;display:flex;flex-direction:column;gap:.32rem}
.roster-age-item strong{color:#173866}.roster-age-item span{font-size:.9rem;color:#46546a}
.roster-notice{background:#fff8e9;border-left:4px solid #c88e25;border-radius:8px;padding:1rem;line-height:1.6}
.roster-table-wrap{overflow-x:auto;margin:1.2rem 0;-webkit-overflow-scrolling:touch}
.roster-tournaments{width:100%;border-collapse:collapse;min-width:680px;font-size:.92rem}
.roster-tournaments th,.roster-tournaments td{padding:.8rem .75rem;text-align:left;border-bottom:1px solid #e3e8ef;vertical-align:top}
.roster-tournaments th{background:#173866;color:#fff;font-weight:700}
.roster-tournaments tbody tr:nth-child(even){background:#f6f8fb}
.roster-resource-links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}
.roster-resource-links a{display:inline-block;background:#b62838;color:#fff;padding:.72rem 1rem;border-radius:8px;font-weight:700;text-decoration:none}
.roster-resource-links a:last-child{background:#173866}
.roster-resource-links a:hover,.roster-resource-links a:focus-visible{filter:brightness(1.12);text-decoration:underline}
