/* varsity-numbers.css: the Varsity numbers register, and the number shown on athlete profiles and team cards. */

/* Register page */
.vn-intro{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(32px,5vw,70px);align-items:end;padding-bottom:clamp(30px,4vw,48px);border-bottom:1px solid var(--line)}
.vn-intro h2{font-size:clamp(32px,4.4vw,50px);margin:8px 0 16px}
.vn-intro p{color:#3f4b59;max-width:700px}
.vn-totals{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0}
.vn-totals div{padding:16px 18px;background:var(--ox);color:#fff;border-top:4px solid var(--gold)}
.vn-totals div.cam{background:var(--cam-light);color:var(--ox);border-top-color:var(--cam)}
.vn-totals dt{font-size:12px;letter-spacing:.12em;text-transform:uppercase;opacity:.85}
.vn-totals dd{margin:4px 0 0;font-family:"Barlow Condensed","Roboto",sans-serif;font-size:44px;font-weight:600;line-height:1}

.vn-tool{position:sticky;top:var(--vn-top,84px);z-index:5;background:var(--cream);padding:22px 0 14px;margin-top:10px;border-bottom:1px solid var(--line)}
.vn-tabs{display:flex;flex-wrap:wrap;gap:8px}
.vn-tabs button{font:inherit;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:11px 16px;min-height:44px;border:1px solid var(--line);background:#fff;color:var(--ox);cursor:pointer}
.vn-tabs button.ox[aria-pressed="true"]{background:var(--ox);border-color:var(--ox);color:#fff}
.vn-tabs button.cam[aria-pressed="true"]{background:var(--cam);border-color:var(--cam);color:var(--ox)}
.vn-tabs button:focus-visible,.vn-search input:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.vn-search{margin-top:14px;display:flex;align-items:center;gap:14px}
.vn-search label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.vn-search input{flex:1;max-width:460px;font:inherit;font-size:16px;padding:11px 14px;border:1px solid #b9b6af;background:#fff;color:var(--ink)}
.vn-count{margin:12px 0 0;font-size:14px;color:var(--muted)}
.vn-years{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px;font-size:13px}
.vn-years span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px}
.vn-years a{color:var(--ox);font-weight:700;text-decoration:none;border-bottom:1px solid var(--gold)}
.vn-years[hidden]{display:none}

.vn-year{scroll-margin-top:230px;padding-top:30px}
.vn-year h3{display:flex;align-items:baseline;gap:14px;margin:0 0 14px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.vn-year h3 span{font-family:"Barlow Condensed","Roboto",sans-serif;font-size:30px;font-weight:600;color:var(--ox)}
.vn-year h3 small{font-size:13px;color:var(--muted);font-family:inherit;font-weight:400}
.vn-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:10px}
.vn-results{margin-top:26px}
.vn-tile{scroll-margin-top:240px}
.vn-tile>a,.vn-tile>div{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;height:100%;padding:12px 14px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--ox);color:var(--ink);text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}
.vn-tile.cam>a,.vn-tile.cam>div{border-left-color:var(--cam)}
.vn-tile>a:hover,.vn-tile>a:focus-visible{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,33,71,.12);outline:none}
.vn-tile>a:focus-visible{box-shadow:0 0 0 3px var(--gold)}
.vn-no{grid-row:1 / span 3;font-family:"Barlow Condensed","Roboto",sans-serif;font-size:34px;font-weight:600;line-height:1;color:var(--ox);min-width:2.1ch;text-align:center}
.vn-name{font-weight:700;font-size:15px;line-height:1.25}
.vn-col{font-size:13px;color:var(--muted);line-height:1.3}
.vn-list-name{font-size:12px;color:#765d22;letter-spacing:.03em}
.vn-tile.is-hl>a,.vn-tile.is-hl>div{background:#fff8e6;box-shadow:0 0 0 3px var(--gold)}
.vn-empty{margin:30px 0;color:var(--muted)}
.vn-note{margin-top:var(--space);padding:clamp(26px,4vw,40px);background:#fff;border:1px solid var(--line)}
.vn-note p{color:#3f4b59;max-width:760px}

@media (max-width:900px){.vn-intro{grid-template-columns:1fr}}
@media (max-width:560px){
  .vn-tool{position:static}
  .vn-tabs button{flex:1 1 calc(50% - 8px);padding:10px 8px;font-size:12px}
  .vn-search{flex-direction:column;align-items:stretch;gap:6px}
  .vn-grid{grid-template-columns:1fr 1fr;gap:8px}
  .vn-tile>a,.vn-tile>div{padding:10px;column-gap:8px}
  .vn-no{font-size:28px}
  .vn-name{font-size:14px}
  .vn-totals dd{font-size:36px}
}

/* Number on athlete profiles and team cards (varsity-numbers-ui.js) */
.vn-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ox);text-decoration:none;border:1px solid var(--gold);padding:3px 8px;background:#fff}
.vn-badge b{font-family:"Barlow Condensed","Roboto",sans-serif;font-size:17px;letter-spacing:.02em;line-height:1}
a.vn-badge:hover,a.vn-badge:focus-visible{background:var(--gold);color:#fff}
.tm-athlete-top .vn-badge{margin-left:auto}
.vn-profile-vest{display:block;margin:0 0 18px;text-align:center;text-decoration:none;color:inherit}
.vn-profile-vests{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.vn-profile-vest span{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.vn-profile-vest b{display:block;font-family:"Barlow Condensed","Roboto",sans-serif;font-size:64px;font-weight:600;line-height:1;margin-top:4px}
