/* BEGIN sports-roles-inline-001.css */

:root{
  --bg:#F5F8FD;
  --card:#FFFFFF;
  --navy:#071833;
  --text:#12213A;
  --muted:#65748B;
  --blue:#2563EB;
  --sky:#0EA5E9;
  --line:#D9E5F3;
  --soft:#EEF6FF;
  --shadow:0 18px 44px rgba(16,42,91,.10);
  --max:1180px;
}
*{box-sizing:border-box;}
html{
  min-height:100%;
  scroll-behavior:smooth;
  scrollbar-gutter:stable;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body{
  min-height:100vh;
  margin:0;
  padding:0;
  overflow-x:hidden;
  background:radial-gradient(circle at 78% 14%,rgba(14,165,233,.10),transparent 32%),var(--bg);
  color:var(--text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.5;
}
a{color:inherit;text-decoration:none;}
button, input{font:inherit;}
.container{width:min(var(--max),calc(100% - 72px));margin-inline:auto;}

/* Shared public header: current sticky layout, without a duplicate body offset. */

















/* Premium connected introduction area: title, stat, and filter toolbar. */
.reference-main{
  position:relative;
  isolation:isolate;
  width:min(var(--max),calc(100% - 72px));
  margin:20px auto 22px;
  padding:18px 20px 28px;
  overflow:hidden;
  border:1px solid #D7E5F5;
  border-radius:30px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.94) 210px,#FFFFFF 330px);
  box-shadow:
    0 18px 44px rgba(16,42,91,.085),
    inset 0 1px 0 rgba(255,255,255,.96);
}
.reference-main::before, .reference-main::after{
  content:"";
  position:absolute;
  z-index:0;
  pointer-events:none;
  border-radius:50%;
  filter:blur(.2px);
}
.reference-main::before{
  top:-115px;
  left:-92px;
  width:330px;
  height:260px;
  background:radial-gradient(circle,rgba(37,99,235,.095),rgba(37,99,235,0) 70%);
}
.reference-main::after{
  top:-92px;
  right:80px;
  width:360px;
  height:250px;
  background:radial-gradient(circle,rgba(14,165,233,.085),rgba(14,165,233,0) 70%);
}
.reference-main>*{
  position:relative;
  z-index:1;
}
.reference-back{
  width:fit-content;
  min-height:30px;
  margin:0 0 11px;
  padding:6px 10px;
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(37,99,235,.12);
  border-radius:999px;
  background:rgba(255,255,255,.76);
  color:#1D4ED8;
  box-shadow:0 5px 14px rgba(16,42,91,.035);
  font-size:11.5px;
  line-height:1;
  font-weight:680;
  letter-spacing:-.004em;
  transition:background .16s ease,border-color .16s ease,transform .16s ease;
}
.reference-back:hover{
  transform:translateY(-1px);
  border-color:rgba(37,99,235,.24);
  background:#FFFFFF;
}
.reference-back:focus-visible{
  outline:3px solid rgba(37,99,235,.17);
  outline-offset:2px;
}
.reference-intro-row{
  margin:0 0 13px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(240px,286px);
  gap:22px;
  align-items:center;
}
.reference-copy{
  min-width:0;
  padding:1px 0 2px;
}
.reference-copy h1{
  margin:0;
  color:var(--navy);
  font-size:clamp(34px,3.15vw,46px);
  line-height:.98;
  font-weight:720;
  letter-spacing:-.038em;
}
.reference-stat-card{
  width:100%;
  max-width:286px;
  min-height:58px;
  padding:10px 14px;
  justify-self:end;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.25);
  border-radius:18px;
  background:
    radial-gradient(circle at 92% 18%,rgba(255,255,255,.16),transparent 34%),
    linear-gradient(135deg,#071833 0%,#0A46B8 54%,#149EE2 100%);
  color:#FFFFFF;
  box-shadow:
    0 12px 26px rgba(17,65,145,.16),
    inset 0 1px 0 rgba(255,255,255,.18);
}
.reference-stat-card>div{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
}
.hero-stat{
  flex:0 0 auto;
  font-size:34px;
  line-height:.9;
  font-weight:780;
  letter-spacing:-.045em;
}
.hero-stat span{color:#8EE7FF;}
.reference-stat-card p{
  margin:0;
  color:#EAF3FF;
  font-size:11.8px;
  line-height:1.15;
  font-weight:620;
}
.toolbar{
  margin:0 0 18px;
  padding:9px 10px;
  display:block;
  border:1px solid #DCE9F7;
  border-radius:18px;
  background:
    linear-gradient(180deg,rgba(249,252,255,.96),rgba(242,248,255,.92));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.96),
    0 8px 20px rgba(16,42,91,.035);
}
.filter-row{
  width:100%;
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}
.filter-btn{
  min-height:36px;
  padding:8px 12px;
  border:1px solid #D9E6F4;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:#30445F;
  box-shadow:0 3px 9px rgba(16,42,91,.025);
  font-size:11.4px;
  line-height:1;
  font-weight:620;
  cursor:pointer;
  white-space:nowrap;
  transition:
    transform .15s ease,
    border-color .15s ease,
    background .15s ease,
    color .15s ease,
    box-shadow .15s ease;
}
.filter-btn:hover{
  transform:translateY(-1px);
  border-color:#BCD5F3;
  background:#FFFFFF;
  color:#1D4ED8;
  box-shadow:0 6px 14px rgba(37,99,235,.07);
}
.filter-btn.active{
  border-color:#84B5F5;
  background:linear-gradient(135deg,#EAF3FF,#F3F9FF);
  color:#174DB5;
  box-shadow:
    0 6px 15px rgba(37,99,235,.09),
    inset 0 1px 0 rgba(255,255,255,.95);
  font-weight:700;
}
.filter-btn:focus-visible{
  outline:3px solid rgba(37,99,235,.18);
  outline-offset:2px;
}
.sports-grid{
  width:100%;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  align-items:stretch;
}
.sport-card{
  --scv-card-accent:#2563EB;
  --scv-card-accent-rgb:37,99,235;
  position:relative;
  isolation:isolate;
  min-width:0;
  height:100%;
  padding:17px 17px 16px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(var(--scv-card-accent-rgb),.16);
  border-radius:24px;
  background:#FFFFFF;
  box-shadow:
    0 11px 26px rgba(16,42,91,.055),
    inset 0 1px 0 rgba(255,255,255,.95);
  outline:none;
  transition:
    transform .18s ease,
    border-color .18s ease,
    box-shadow .18s ease;
}
.sport-card::before{
  content:"";
  position:absolute;
  top:0;
  left:17px;
  right:17px;
  z-index:2;
  height:3px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,var(--scv-card-accent),rgba(var(--scv-card-accent-rgb),.42));
  box-shadow:0 4px 12px rgba(var(--scv-card-accent-rgb),.13);
  pointer-events:none;
}
.sport-card>*{
  position:relative;
  z-index:1;
}
.sport-card[data-category="Team field"]{
  --scv-card-accent:#2563EB;
  --scv-card-accent-rgb:37,99,235;
}
.sport-card[data-category="Court"]{
  --scv-card-accent:#0891B2;
  --scv-card-accent-rgb:8,145,178;
}
.sport-card[data-category="Racket"]{
  --scv-card-accent:#0F9F8F;
  --scv-card-accent-rgb:15,159,143;
}
.sport-card[data-category="Combat"]{
  --scv-card-accent:#7C3AED;
  --scv-card-accent-rgb:124,58,237;
}
.sport-card[data-category="Bat & ball"]{
  --scv-card-accent:#D97706;
  --scv-card-accent-rgb:217,119,6;
}
.sport-card[data-category="Ice"], .sport-card[data-category="Aquatic"]{
  --scv-card-accent:#0284C7;
  --scv-card-accent-rgb:2,132,199;
}
.sport-card[data-category="Endurance"], .sport-card[data-category="Track & field"]{
  --scv-card-accent:#16A34A;
  --scv-card-accent-rgb:22,163,74;
}
.sport-card[data-category="Racing"]{
  --scv-card-accent:#1D4ED8;
  --scv-card-accent-rgb:29,78,216;
}
.sport-card[data-category="Precision"]{
  --scv-card-accent:#4F46E5;
  --scv-card-accent-rgb:79,70,229;
}
.sport-card[data-category="Judged"]{
  --scv-card-accent:#BE185D;
  --scv-card-accent-rgb:190,24,93;
}
.sport-card:focus-visible{
  border-color:rgba(var(--scv-card-accent-rgb),.58);
  box-shadow:
    0 0 0 4px rgba(var(--scv-card-accent-rgb),.13),
    0 16px 34px rgba(16,42,91,.10);
}
.sport-top{
  margin:2px 0 14px;
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:13px;
  align-items:center;
}
.sport-icon, .sport-fallback{
  width:48px;
  height:48px;
  border-radius:16px;
  background:linear-gradient(135deg,#0755D8,#009AFF);
  object-fit:cover;
  box-shadow:
    0 10px 22px rgba(var(--scv-card-accent-rgb),.18),
    0 0 0 4px rgba(var(--scv-card-accent-rgb),.055);
}
.sport-fallback{
  display:none;
  place-items:center;
  color:#FFFFFF;
  font-size:11px;
  font-weight:760;
}
.sport-card h2{
  margin:0;
  color:var(--navy);
  font-size:18.5px;
  line-height:1.08;
  font-weight:740;
  letter-spacing:-.022em;
  overflow-wrap:anywhere;
}
.sport-card p:not(.roles){
  margin:4px 0 0;
  display:flex;
  align-items:center;
  gap:6px;
  color:#667790;
  font-size:11.1px;
  line-height:1.22;
  font-weight:600;
}
.sport-card p:not(.roles)::before{
  content:"";
  width:6px;
  height:6px;
  flex:0 0 auto;
  border-radius:50%;
  background:var(--scv-card-accent);
  box-shadow:0 0 0 3px rgba(var(--scv-card-accent-rgb),.08);
}
.role-list, .roles{
  margin:0;
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  gap:6px;
}
.role-list span, .roles span{
  min-height:24px;
  max-width:100%;
  padding:4px 8px;
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(var(--scv-card-accent-rgb),.13);
  border-radius:10px;
  background:#FFFFFF;
  color:#40536D;
  font-size:10.9px;
  line-height:1.15;
  font-weight:520;
  overflow-wrap:anywhere;
  transition:
    border-color .14s ease,
    color .14s ease,
    transform .14s ease;
}
@media (hover:hover) and (pointer:fine){
  .sport-card:hover{
    transform:translateY(-3px);
    border-color:rgba(var(--scv-card-accent-rgb),.32);
    box-shadow:
      0 18px 38px rgba(16,42,91,.105),
      0 8px 22px rgba(var(--scv-card-accent-rgb),.055),
      inset 0 1px 0 rgba(255,255,255,.98);
  }
  .role-list span:hover, .roles span:hover{
    transform:translateY(-1px);
    border-color:rgba(var(--scv-card-accent-rgb),.22);
    color:#263B56;
  }
}
@media (max-width:1179px){
  .sports-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
  }
}
@media (max-width:760px){
  .sports-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  .sport-card{
    padding:15px 15px 14px;
    border-radius:21px;
  }
  .sport-card::before{
    left:15px;
    right:15px;
  }
  .sport-top{
    margin-top:1px;
    margin-bottom:12px;
    grid-template-columns:44px minmax(0,1fr);
    gap:11px;
  }
  .sport-icon, .sport-fallback{
    width:44px;
    height:44px;
    border-radius:15px;
  }
  .sport-card h2{
    font-size:17.2px;
    font-weight:720;
  }
  .sport-card p:not(.roles){
    font-size:10.7px;
  }
  .role-list, .roles{
    gap:5px;
  }
  .role-list span, .roles span{
    min-height:23px;
    padding:4px 7px;
    border-radius:9px;
    font-size:10.65px;
  }
}
@media (prefers-reduced-motion:reduce){
  .sport-card, .role-list span, .roles span{
    transition:none;
  }
}

.category-note{
  grid-column:1/-1;
  margin:6px 0 0;
  padding:11px 13px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:1px solid #DFEAF7;
  border-radius:16px;
  background:linear-gradient(180deg,#FFFFFF 0%,#F9FCFF 100%);
  color:var(--navy);
  box-shadow:0 7px 18px rgba(16,42,91,.035);
}
.category-note strong{font-weight:700;letter-spacing:-.012em;}
.category-note span{color:#6B7C93;font-size:.86rem;font-weight:520;}
.empty{display:none;margin:18px 0 0;color:#6B7C93;font-weight:600;}

@media (max-width:900px){
  .reference-main{
    width:min(100% - 36px,760px);
    margin-top:16px;
    padding:17px 18px 24px;
    border-radius:26px;
  }
  .reference-intro-row{
    grid-template-columns:minmax(0,1fr) minmax(220px,250px);
    gap:16px;
    margin-bottom:12px;
  }
  .reference-stat-card{
    max-width:250px;
    min-height:56px;
    padding:10px 13px;
  }
  .hero-stat{font-size:31px;}
  .reference-copy h1{font-size:clamp(31px,5.5vw,40px);}
  .toolbar{padding:9px;}
}
@media (max-width:700px){
  .reference-main{
    width:min(100% - 24px,760px);
    padding:16px;
    border-radius:24px;
  }
  .reference-main::before{
    top:-105px;
    left:-120px;
  }
  .reference-main::after{
    top:-90px;
    right:-135px;
  }
  .reference-intro-row{
    grid-template-columns:1fr;
    gap:11px;
  }
  .reference-stat-card{
    max-width:none;
    justify-self:stretch;
  }
}
@media (max-width:520px){
  .reference-main{
    width:min(100% - 18px,760px);
    margin-top:11px;
    padding:14px;
    border-radius:22px;
  }
  .reference-back{
    min-height:29px;
    margin-bottom:10px;
    padding:6px 9px;
    font-size:11.2px;
  }
  .reference-copy h1{
    margin-top:0;
    font-size:30px;
    line-height:1;
  }
  .reference-stat-card{
    min-height:54px;
    padding:9px 12px;
    border-radius:17px;
  }
  .reference-stat-card>div{gap:10px;}
  .hero-stat{font-size:29px;}
  .reference-stat-card p{font-size:11.1px;}
  .toolbar{
    margin-bottom:15px;
    padding:8px;
    border-radius:16px;
  }
  .filter-row{gap:6px;}
  .filter-btn{
    min-height:40px;
    padding:9px 11px;
    font-size:11.2px;
  }
  .category-note{display:block;}
  .category-note span{display:block;margin-top:4px;}
}

/* Current compact public footer. */
.scv-global-footer{
  position:static;
  margin-top:10px;
  padding:0;
  background:
    radial-gradient(circle at 16% 0%,rgba(37,99,235,.16),transparent 30%),
    radial-gradient(circle at 88% 8%,rgba(14,165,233,.12),transparent 26%),
    linear-gradient(135deg,#06142B 0%,#071A36 56%,#062640 100%);
  border-top:1px solid rgba(148,178,220,.16);
  color:#DCE8FF;
}
.scv-footer-shell{width:min(1180px,calc(100% - 72px));margin:0 auto;padding:34px 0 18px;}
.scv-footer-main{display:grid;grid-template-columns:minmax(340px,.95fr) minmax(430px,1.05fr);gap:44px;align-items:start;}
.scv-footer-brand-block{min-width:0;max-width:620px;}
.scv-footer-logo{width:fit-content;margin:0 0 10px;display:block;line-height:0;}
.scv-footer-logo-img{display:block;width:auto;height:38px;max-width:176px;object-fit:contain;}
.scv-footer-text{margin:0;max-width:560px;color:#B6C9E7;font-size:13.35px;line-height:1.52;font-weight:500;}
.scv-footer-chips{margin-top:14px;display:flex;flex-wrap:wrap;gap:6px;}
.scv-footer-chip{
  min-height:24px;
  padding:5px 8px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid rgba(176,203,240,.16);
  border-radius:999px;
  background:rgba(255,255,255,.045);
  color:#D8E6FA;
  font-size:10.05px;
  line-height:1;
  font-weight:540;
  white-space:nowrap;
}
.scv-footer-chip::before{content:"";width:5px;height:5px;border-radius:50%;background:#22C55E;box-shadow:0 0 0 2px rgba(34,197,94,.10);}
.scv-footer-nav{padding-top:4px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;align-items:start;}
.scv-footer-col{min-width:0;}
.scv-footer-col+.scv-footer-col{padding-left:30px;border-left:1px solid rgba(170,199,236,.15);}
.scv-footer-col h3{margin:0 0 11px;color:#F2F7FF;font-size:10.35px;line-height:1;font-weight:720;letter-spacing:.078em;text-transform:uppercase;opacity:.88;}
.scv-footer-col a{width:fit-content;max-width:100%;margin:0 0 7px;display:block;color:#B9CBE7;font-size:12.45px;line-height:1.25;font-weight:480;}
.scv-footer-col a:hover{color:#FFFFFF;text-decoration:underline;text-underline-offset:3px;transform:translateX(1px);}
.scv-footer-bottom{margin-top:22px;padding-top:14px;justify-content:flex-start;border-top:1px solid rgba(170,199,236,.14);color:#8DA7CD;}
.scv-footer-bottom p{margin:0;color:#8DA7CD;font-size:11.55px;line-height:1.35;font-weight:480;}
@media (max-width:900px){
  .scv-footer-shell{width:min(100% - 28px,760px);padding:24px 0 14px;}
  .scv-footer-main{grid-template-columns:1fr;gap:18px;}
  .scv-footer-nav{padding-top:16px;border-top:1px solid rgba(170,199,236,.10);}
  .scv-footer-col+.scv-footer-col{padding-left:22px;}
  .scv-footer-bottom{margin-top:18px;padding-top:13px;}
}
@media (max-width:640px){
  .scv-global-footer{margin-top:8px;}
  .scv-footer-shell{width:min(100% - 24px,760px);padding:22px 0 13px;}
  .scv-footer-main{gap:16px;}
  .scv-footer-logo-img{height:34px;max-width:160px;}
  .scv-footer-text{max-width:none;font-size:12.7px;line-height:1.48;font-weight:480;}
  .scv-footer-chips{display:none;}
  .scv-footer-nav{grid-template-columns:repeat(3,minmax(0,1fr));padding-top:16px;}
  .scv-footer-col+.scv-footer-col{padding-left:18px;}
  .scv-footer-col h3{margin-bottom:10px;font-size:10.1px;font-weight:700;letter-spacing:.075em;}
  .scv-footer-col a{margin-bottom:8px;font-size:11.8px;line-height:1.23;font-weight:470;}
  .scv-footer-bottom{margin-top:17px;padding-top:13px;}
  .scv-footer-bottom p{font-size:11.35px;font-weight:470;}
}
@media (max-width:390px){
  .scv-footer-shell{width:min(100% - 20px,760px);}
  .scv-footer-col+.scv-footer-col{padding-left:13px;}
}


/* END sports-roles-inline-001.css */

/* BEGIN sports-roles-inline-002.css */

.scv-page-content{opacity:1;transform:none;transition:opacity .14s ease,transform .14s ease;}
html.scv-soft-loading .scv-page-content{opacity:.18;transform:translateY(2px);pointer-events:none;}
html.scv-soft-loading .scv-global-footer{opacity:1!important;transform:none!important;}
.scv-global-footer{contain:layout paint style;}
@media (prefers-reduced-motion:reduce){.scv-page-content{transition:none!important;}}


/* END sports-roles-inline-002.css */
