/* Theme refinement layer. Loaded after index-*.css; overrides only.
   Palette: navy for type and controls, emerald for the court and wins,
   a muted gold for hairline accents. Page and panel backgrounds are
   unchanged so the embedded camera archive still blends in. */
:root{
  --navy:#1f2a55;
  --heading-blue:#1f2a55;
  --ink:#1d2433;
  --emerald:#164b3b;
  --teal:#164b3b;
  --muted:#5a605c;
  --line:#dadbcf;
  --line-strong:#c2c4b6;
  --gold:#b08d3c;
  --sans:var(--font-geist-sans),"Helvetica Neue",Arial,sans-serif;
  --mono:var(--font-geist-mono),ui-monospace,SFMono-Regular,Consolas,monospace;
}

html{scroll-padding-top:84px}
body{color:var(--ink);font-family:var(--sans);text-rendering:optimizeLegibility}
::selection{background:var(--navy);color:#f7f6f0}
a,button{transition:color .2s,background-color .2s,border-color .2s,text-decoration-color .2s}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--navy);outline-offset:4px}

/* Small-caps style labels share one voice */
.section-label,.preview-label,.athlete-name,.visual-topline,.stat-strip span,
.match-table thead th,.media-index,.achievement-grid article p,
.school-recognition>span,.footer-grid small,.value-grid small,.rank-card small,.rank-card span{
  font-family:var(--mono);font-weight:500;text-transform:uppercase
}

/* Header */
.site-header{background:#f7f6f0e0;-webkit-backdrop-filter:saturate(150%) blur(14px);backdrop-filter:saturate(150%) blur(14px)}
.nav{height:76px}
.brand{color:var(--navy)}
.brand span{background:var(--navy);width:40px;height:40px;font-size:14px;letter-spacing:.02em}
.brand b{font-size:11px;letter-spacing:.14em;line-height:1.25}
.navlinks{gap:30px}
.navlinks a{color:var(--muted);padding:6px 0;position:relative}
.navlinks a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--navy);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.navlinks a:hover{color:var(--navy)}
.navlinks a:hover:after{transform:scaleX(1)}
.nav .button{color:var(--navy);border-bottom:1px solid var(--line-strong);font-size:12px;font-weight:500}
.nav .button:hover{background:none;transform:none;border-color:var(--navy);color:var(--navy)}

/* Buttons */
.button,.hero .button,.sponsor-section .button{background:var(--navy);border-color:var(--navy);color:#f7f6f0;border-radius:2px;font-size:13px;letter-spacing:.005em}
.button:hover,.hero .button:hover,.sponsor-section .button:hover{background:var(--emerald);border-color:var(--emerald);color:#f7f6f0;transform:translateY(-1px)}
.text-link{color:var(--navy);border-bottom:1px solid var(--gold);font-size:13px}
.text-link span{transition:transform .2s;display:inline-block}
.text-link:hover{color:var(--emerald)}
.text-link:hover span{transform:translate(2px,2px)}

/* Hero */
.hero h1{font-family:var(--sans);font-weight:700;letter-spacing:-.045em;line-height:.94}
.preview-label{font-size:11px;letter-spacing:.12em;color:var(--muted)}
.preview-label span{background:var(--gold);width:6px;height:6px}
.athlete-name{font-size:11px;letter-spacing:.14em;color:var(--muted)}
.lede{font-size:17px;line-height:1.65;max-width:460px}
.visual-topline{font-size:9px;letter-spacing:.12em}
.visual-caption strong{font-family:var(--sans);letter-spacing:-.035em}
.rank-card{background:#f7f6f0;border:1px solid var(--line);color:var(--navy)}
.rank-card small,.rank-card span{font-size:8px;letter-spacing:.1em}
.registration-card strong{font-family:var(--sans);font-variant-numeric:tabular-nums;letter-spacing:-.02em}

/* Ranking strip */
.stat-strip{border-top:1px solid var(--line);padding-top:0}
.stat-strip>a{border-left:1px solid var(--line);padding:30px 28px 28px}
.stat-strip>a:first-child{border-left:0;padding-left:0}
.stat-strip strong{font-family:var(--sans);font-size:42px;font-weight:600;letter-spacing:-.045em;color:var(--navy);font-variant-numeric:tabular-nums}
.stat-strip span{font-size:10px;letter-spacing:.1em;color:var(--ink);margin-top:14px}
.stat-strip>a small{font-size:11px;margin-top:8px}
.stat-strip>a:hover{background:none}
.stat-strip>a:hover strong{color:var(--emerald)}
.ranking-context{font-size:11px;padding-top:4px}

/* Section typography */
h2{font-family:var(--sans);font-weight:600;letter-spacing:-.045em;line-height:1.04}
h3{font-family:var(--sans)}
.section-label{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.12em;color:var(--muted)}
.section-label:before{content:"";flex:none;width:28px;height:1px;background:var(--gold)}
.body-copy{font-size:16px;line-height:1.75;max-width:58ch}
.heading-row>p{font-size:14px;line-height:1.65;max-width:340px}
.dummy-note{font-size:12px;line-height:1.7}
.profile-source{font-size:12px;color:var(--navy);text-decoration-thickness:1px;text-decoration-color:var(--line-strong)}
.profile-source:hover{text-decoration-color:var(--navy)}

/* Bio card */
.mini-avatar{background:var(--navy)}
.bio-head p{font-size:12px}
.bio-card dl div{font-size:13px;grid-template-columns:104px 1fr;align-items:baseline}
.bio-card dt{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.bio-card dd a{color:var(--navy);text-decoration-thickness:1px;text-decoration-color:var(--line-strong)}
.bio-card dd a:hover{text-decoration-color:var(--navy)}

/* Highlights */
.achievement-grid{border-top:0}
.achievement-grid article{border-top:1px solid var(--line-strong)!important;transition:border-color .25s}
.achievement-grid article:hover{border-top-color:var(--navy)!important}
.achievement-grid .medal{font-size:13px;letter-spacing:.08em;color:var(--gold)}
.achievement-grid article p{font-size:10px;letter-spacing:.1em;color:var(--muted);margin-top:34px}
.achievement-grid h3{font-weight:600;letter-spacing:-.03em}
.achievement-grid small{font-size:13px;line-height:1.6}

/* Results */
.filters{background:#e6e5db;border-radius:999px;padding:4px;gap:2px}
.filters button{border:0;border-radius:999px;padding:8px 18px;font-size:12px;font-weight:500;color:var(--muted)}
.filters button:hover{color:var(--navy)}
.filters button.active{background:var(--navy);color:#f7f6f0;border-radius:999px}
.match-table{border-top:1px solid var(--navy)}
.match-table thead th{font-size:10px;letter-spacing:.1em;padding-top:16px;padding-bottom:16px}
.match-table b{font-size:15px;color:var(--navy)}
.match-table small{font-size:11px}
.match-table td{font-size:14px}
.match-table .score{font-family:var(--mono);font-size:14px;font-weight:500;letter-spacing:-.01em}
.match-table tbody tr{transition:background-color .2s}
.match-table tbody tr:hover{background:#eeede580}
.result-source:hover{text-decoration:none}
.result-source:hover b{color:var(--emerald)}
.win,.loss{border-radius:50%;width:30px;height:30px;font-family:var(--mono);font-size:11px}
.win{background:#dcebe2;color:var(--emerald)}
.loss{background:none;color:var(--muted);box-shadow:inset 0 0 0 1px var(--line-strong)}

/* Press */
.media-card{border-top:1px solid var(--line-strong);transition:border-color .25s}
.media-card:hover{border-color:var(--navy)}
.media-index{font-size:10px;letter-spacing:.12em;color:var(--gold)}
.media-card small{font-size:11px}
.media-card h3{font-weight:600;letter-spacing:-.03em}
.media-card p{font-size:14px;line-height:1.65}
.media-action,.school-recognition b{font-size:12px;color:var(--navy);font-weight:500}
.media-card:hover .media-action,.school-recognition:hover b{color:var(--emerald)}
.school-recognition{background:var(--pale);border-top:0;margin-top:44px;padding:30px 32px}
.school-recognition>span{font-size:10px;letter-spacing:.1em;color:var(--muted)}
.school-recognition h3{font-weight:600}
.school-recognition p{font-size:13px}

/* Next chapter + sources */
.sponsor-grid>div>p:not(.section-label){font-size:16px;line-height:1.7}
.value-grid article{border-top:1px solid var(--line-strong)}
.value-grid small{font-size:10px;letter-spacing:.08em;color:var(--gold)}
.value-grid strong{font-weight:600;margin-top:16px}
.value-grid span{font-size:13px;line-height:1.6}
.sources-grid>a{border-top:1px solid var(--line-strong);transition:border-color .25s}
.sources-grid>a:hover{border-color:var(--navy)}
.sources-grid h3{font-size:14px;font-weight:600}
.sources-grid p{font-size:13px;line-height:1.65}

/* Footer */
footer{background:var(--navy);color:#f7f6f0;padding:64px 0 28px}
footer .brand.inverse{color:#f7f6f0}
footer .brand.inverse span{background:#f7f6f0;color:var(--navy)}
.footer-grid p{color:#c3c9dd;font-size:13px}
.footer-grid small{color:#9fa8c6;font-size:10px;letter-spacing:.12em}
.footer-grid a{color:#f7f6f0;font-size:13px;border-bottom:1px solid #ffffff40;padding-bottom:3px}
.footer-grid a:hover{border-color:#f7f6f0}
.legal{border-top:1px solid #ffffff24;color:#9fa8c6;font-size:11px}
footer a:focus-visible{outline-color:#f7f6f0}

@media (width<=1000px){
  .navlinks{gap:20px}
  .stat-strip>a{padding:26px 18px 24px}
  .stat-strip strong{font-size:34px}
}

@media (width<=700px){
  html{scroll-padding-top:74px}
  .nav{height:66px}
  .brand span{width:36px;height:36px;font-size:13px}
  .brand b{font-size:10px}
  .nav .button{font-size:11px}
  .preview-label{font-size:10px;letter-spacing:.08em}
  .athlete-name{font-size:10px}
  .lede{font-size:15px}
  .stat-strip>a{padding:24px 14px 22px}
  .stat-strip>a:nth-child(odd){border-left:0;padding-left:0}
  .stat-strip>a:nth-child(n+3){border-top:1px solid var(--line)}
  .stat-strip strong{font-size:36px}
  .stat-strip span{font-size:10px;letter-spacing:.06em}
  .stat-strip>a small{font-size:11px}
  .ranking-context{font-size:11px;padding-top:14px}
  .section-label{font-size:10px}
  .body-copy{font-size:15px}
  .heading-row>p{font-size:14px;max-width:none}
  .bio-card dl div{font-size:13px;grid-template-columns:96px 1fr}
  .achievement-grid article{min-height:0;padding-bottom:6px}
  .achievement-grid article p{font-size:10px;margin-top:22px}
  .achievement-grid small{font-size:13px}
  .filters{display:inline-flex}
  .dummy-note{font-size:12px}
  .school-recognition{padding:24px 22px}
  .value-grid span{font-size:13px}
  .legal{font-size:11px}

  /* Results become stacked cards instead of a sideways-scrolling table */
  .match-table{overflow:visible}
  .match-table table{min-width:0;display:block}
  .match-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .match-table tbody{display:block}
  .match-table tbody tr{display:grid;grid-template-columns:1fr auto;grid-template-areas:"event badge" "opp score" "round round";gap:6px 14px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}
  .match-table tbody th,.match-table tbody td{border:0;padding:0;width:auto}
  .match-table tbody th{grid-area:event}
  .match-table tbody td:nth-child(2){grid-area:round;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
  .match-table tbody td:nth-child(3){grid-area:opp;font-size:14px;margin-top:6px}
  .match-table tbody td:nth-child(4){grid-area:score;margin-top:6px}
  .match-table tbody td:nth-child(5){grid-area:badge;align-self:start;justify-self:end}
  .visual-caption strong{font-size:20px;padding:8px 10px}
  .rank-card{padding:11px 14px}
  .registration-card strong{font-size:20px;margin:3px 0}
}

@media (prefers-reduced-motion:reduce){
  .navlinks a:after,.text-link span{transition:none}
  .button:hover,.hero .button:hover{transform:none}
}
