/* The athlete archive leads; supporting resources retain their own context. */
html, body { background: #f5f7f9; }
.app-shell { display:block; min-height:100vh; }
.workspace { margin:0 auto; padding:0; width:100%; min-width:0; background:transparent; }
.view-shell { max-width:1240px; margin:0 auto; padding:32px 32px 48px; }
.record-header { padding:20px max(32px,calc((100vw - 1176px)/2)); display:flex; align-items:center; justify-content:space-between; gap:32px; color:white; background:var(--navy); border-bottom:3px solid var(--red); }
.record-brand { display:flex; align-items:center; gap:12px; color:white; text-decoration:none; }
.record-brand img { border-radius:50%; object-fit:cover; background:#fff; }
.record-brand strong, .record-brand small { display:block; }
.record-brand strong { font-size:19px; letter-spacing:-.03em; }
.record-brand small { margin-top:4px; color:#c5ceda; font-size:12px; }
.record-header nav { display:flex; gap:8px; }
.record-header nav button { color:#cbd5e1; background:transparent; border:0; border-radius:5px; min-height:44px; padding:10px 18px; font-size:15px; font-weight:700; }
.record-header nav button[aria-current] { color:white; background:#233247; }
.record-header nav button:hover { color:white; background:#26394c; }
.record-search-home { max-width:840px; margin:12px auto 36px; }
.record-search-home h1 { font-size:clamp(36px,5vw,60px); line-height:1.06; letter-spacing:-.05em; color:var(--navy); margin:12px 0 18px; }
.record-search-home>p { font-size:17px; line-height:1.6; color:var(--muted); }
.record-search-form { margin-top:24px; }
.record-search-form>label { display:block; color:var(--ink); font-weight:750; margin-bottom:9px; font-size:14px; }
.record-search-form>div { display:flex; align-items:center; gap:12px; border:1px solid #bbc8d7; padding:7px 8px 7px 18px; border-radius:8px; background:white; box-shadow:0 5px 18px #07111f08; }
.record-search-form svg { width:22px; height:22px; flex:none; color:var(--muted); }
.record-search-form input { width:100%; min-width:0; border:0; background:none; font-size:18px; padding:11px 0; color:var(--ink); outline-offset:3px; }
.record-search-form button { flex:none; min-height:44px; padding:10px 24px; }
.record-disciplines { display:flex; gap:8px; margin-top:14px; }
.record-disciplines button { padding:9px 16px; border:1px solid var(--line); border-radius:5px; background:white; font-size:13px; color:var(--muted); min-height:40px; }
.record-disciplines button[aria-pressed=true] { background:var(--navy); color:white; border-color:var(--navy); }
.record-search-home .record-coverage { font-size:12px; color:#617186; margin-top:18px; }
.record-list-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.record-list-heading h2 { margin:0; font-size:20px; }
.record-list-heading>span { font-size:13px; color:var(--muted); }
.record-directory-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.record-person { display:flex; gap:12px; align-items:center; border:1px solid var(--line); border-radius:7px; padding:17px 14px; min-width:0; background:white; text-align:left; color:var(--ink); }
.record-person:hover { border-color:var(--blue); box-shadow:0 4px 12px #07111f08; }
.record-person .avatar { width:40px; height:40px; border-radius:7px; font-size:13px; flex:none; }
.record-person-name { flex:1; min-width:0; }
.record-person strong { display:block; line-height:1.3; font-size:15px; overflow-wrap:anywhere; }
.record-person small { display:block; font-size:11px; line-height:1.5; color:var(--muted); margin-top:5px; }
.record-person-count { flex:none; text-align:right; }
.record-person-count b { font-size:17px; }
.record-person>svg { width:16px; height:16px; flex:none; color:var(--blue); }
.record-pagination { display:flex; justify-content:center; align-items:center; gap:20px; margin-top:24px; font-size:13px; }
.record-pagination button,.record-filter-row>button { border:1px solid var(--line); border-radius:5px; background:white; padding:10px 16px; min-height:42px; color:var(--blue); }
.record-pagination button:disabled { opacity:.4; cursor:default; }
.record-profile-return { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0 0 24px; }
.record-profile-return button { display:flex; align-items:center; gap:8px; padding:8px 0; border:0; background:transparent; color:var(--blue); min-height:42px; font-weight:700; font-size:13px; }
.record-profile-return svg { width:17px; height:17px; }
.record-profile-return button:first-child svg { transform:rotate(180deg); }
.record-profile-header { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:36px; padding:28px 32px; background:var(--navy); color:white; border-radius:8px; }
.record-profile-header h1 { font-size:clamp(34px,4vw,52px); line-height:1.1; margin:10px 0 14px; letter-spacing:-.045em; overflow-wrap:anywhere; }
.record-profile-header p { color:#cbd5e1; line-height:1.6; margin:0; }
.record-profile-header .eyebrow { color:#ff9b92; }
.record-profile-header dl { display:flex; gap:24px; margin:0; }
.record-profile-header dl>div { min-width:0; }
.record-profile-header dt { color:#cbd5e1; font-size:11px; max-width:96px; }
.record-profile-header dd { margin:6px 0 0; font-size:30px; font-weight:800; }
.record-profile-tabs { display:flex; gap:8px; margin:24px 0; border-bottom:1px solid var(--line); }
.record-profile-tabs button { background:transparent; color:var(--muted); font-size:14px; font-weight:750; min-height:46px; padding:12px 20px; border:0; border-bottom:3px solid transparent; margin-bottom:-1px; }
.record-profile-tabs button[aria-current] { color:var(--navy); border-bottom-color:var(--red); }
.record-profile>.board-section,.record-training>.board-section { margin-top:20px; }
.record-section-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; margin-bottom:18px; }
.record-section-heading h2,.record-history h2 { font-size:23px; line-height:1.25; margin:0; letter-spacing:-.03em; }
.record-section-heading p,.record-history>p { color:var(--muted); font-size:14px; line-height:1.6; }
.record-section-heading label,.record-filter-row label,.record-select-label,.record-resource-toolbar label { display:flex; flex-direction:column; gap:7px; font-size:12px; font-weight:700; color:var(--muted); }
.record-section-heading select,.record-filter-row input,.record-filter-row select,.record-select-label select,.record-resource-toolbar input { min-height:42px; padding:9px 12px; background:white; border:1px solid #cdd7e2; border-radius:5px; color:var(--ink); font:inherit; font-size:14px; max-width:100%; }
.record-growth-chart { display:flex; align-items:end; gap:14px; overflow-x:auto; padding:10px 4px 12px; }
.record-growth-year { flex:1 0 64px; min-width:64px; max-width:145px; background:transparent; border:0; color:var(--ink); text-align:center; padding:0 8px; }
.record-growth-year>span { display:block; font-weight:800; font-size:16px; }
.record-bar-track { display:flex; align-items:end; height:142px; background:#edf1f5; margin:9px 0 12px; border-radius:3px; }
.record-bar-track>i { display:block; width:100%; background:var(--blue); border-radius:3px 3px 0 0; min-height:0; }
.record-growth-year:hover .record-bar-track>i { background:var(--red); }
.record-growth-year>b,.record-growth-year>small { display:block; font-size:13px; line-height:1.5; }
.record-growth-year>small { font-size:11px; color:var(--muted); }
.record-method { margin-top:20px; border-top:1px solid var(--line); padding-top:14px; color:var(--muted); font-size:13px; line-height:1.7; }
.record-method summary { cursor:pointer; font-weight:700; }
.record-season-list article { display:grid; grid-template-columns:64px minmax(0,1fr) auto; gap:18px; padding:18px 0; border-top:1px solid var(--line); align-items:center; }
.record-season-list article>b { font-size:22px; color:var(--blue); }
.record-season-list strong { font-size:14px; }
.record-season-list p { font-size:12px; color:var(--muted); margin:5px 0 0; overflow-wrap:anywhere; }
.record-season-list button { display:flex; align-items:center; gap:8px; color:var(--blue); border:0; background:none; font-weight:700; font-size:12px; padding:12px 0; }
.record-season-list svg { width:15px; height:15px; }
.record-filter-row { display:flex; gap:14px; align-items:end; margin:22px 0; flex-wrap:wrap; }
.record-filter-search { flex:1; min-width:160px; }
.record-filter-row>label:not(.record-filter-search) { max-width:330px; }
.record-history .record-count { font-size:13px; }
.record-results-list { border-top:1px solid var(--line); }
.record-result { border-bottom:1px solid var(--line); }
.record-result summary { display:grid; grid-template-columns:76px minmax(0,1fr) 112px; align-items:center; gap:18px; list-style:none; cursor:pointer; padding:18px 4px; }
.record-result summary:after { display:none; }
.record-result-year { color:var(--blue); font-weight:800; font-size:15px; }
.record-result small { display:block; color:var(--muted); font-size:12px; font-weight:500; margin-top:6px; line-height:1.5; }
.record-result-title strong { font-size:14px; line-height:1.55; display:block; }
.record-result-score { text-align:right; }
.record-result-score .score-pill { display:inline-flex; }
.record-result-body { padding:18px 20px; background:#f4f7fa; border-radius:6px; margin-bottom:16px; font-size:13px; line-height:1.6; }
.record-source-links { display:flex; flex-direction:column; gap:12px; margin:18px 0; }
.record-source-links a { display:flex; gap:8px; align-items:center; color:var(--blue); overflow-wrap:anywhere; font-size:13px; line-height:1.6; }
.record-source-links svg { width:16px; height:16px; flex:none; }
.record-source-row { display:flex; gap:12px; flex-wrap:wrap; border-top:1px solid var(--line); padding:12px 0; align-items:center; }
.record-source-row>span:first-child { flex-basis:100%; }
.record-international-title { margin-top:32px; }
.record-international-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.record-international-list article { border:1px solid var(--line); background:white; padding:18px; border-radius:6px; font-size:13px; line-height:1.6; }
.record-international-list article>span { font-size:12px; color:var(--muted); }
.record-international-list h4 { font-size:16px; margin:8px 0; }
.record-international-list a { display:block; margin-top:12px; color:var(--blue); }
.record-international-list svg { width:15px; height:15px; }
.record-data-note { font-size:12px; color:var(--muted); margin:28px 0 0; line-height:1.7; }
.record-page-heading h1 { font-size:clamp(32px,4vw,49px); letter-spacing:-.04em; line-height:1.12; overflow-wrap:anywhere; margin:12px 0 18px; max-width:1000px; }
.record-page-heading p { color:var(--muted); line-height:1.7; }
.record-resource-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:28px; }
.record-resource-grid button { display:grid; grid-template-columns:30px 1fr 20px; text-align:left; align-items:start; gap:12px; padding:24px; border:1px solid var(--line); border-radius:7px; color:var(--ink); background:white; }
.record-resource-grid button>strong { font-size:17px; }
.record-resource-grid button>span { grid-column:2; font-size:13px; line-height:1.6; color:var(--muted); }
.record-resource-grid button>svg { width:23px; height:23px; color:var(--blue); }
.record-resource-grid button>svg:last-child { grid-column:3; grid-row:1; width:18px; }
.record-event-list { background:white; border:1px solid var(--line); border-radius:7px; }
.record-event-list>button { display:grid; grid-template-columns:60px minmax(0,1fr) 95px 18px; align-items:center; gap:18px; padding:20px; border:0; border-bottom:1px solid var(--line); text-align:left; background:none; color:var(--ink); width:100%; }
.record-event-list>button:last-child { border-bottom:0; }
.record-event-list strong,.record-event-list small { display:block; }
.record-event-list strong { font-size:15px; line-height:1.5; }
.record-event-list small { font-size:12px; color:var(--muted); margin-top:5px; }
.record-event-list>button>span:nth-last-child(2) { font-size:12px; color:var(--muted); text-align:right; }
.record-event-list svg { width:17px; height:17px; color:var(--blue); }
.record-live-feature { display:flex; align-items:center; justify-content:space-between; gap:28px; margin:24px 0 30px; padding:24px 26px; border:1px solid #ced8e4; border-left:4px solid var(--red); border-radius:8px; background:white; }
.record-live-feature>div:first-child { min-width:0; }
.record-live-feature span { display:flex; align-items:center; gap:8px; color:var(--blue); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.record-live-feature span i { width:8px; height:8px; border-radius:50%; background:#16a36a; box-shadow:0 0 0 4px #16a36a18; }
.record-live-feature h2 { margin:8px 0 7px; font-size:21px; line-height:1.3; letter-spacing:-.025em; }
.record-live-feature p { margin:0; color:var(--muted); font-size:13px; line-height:1.55; }
.record-live-actions { display:flex; align-items:center; gap:14px; flex:none; }
.record-live-actions button,.record-live-actions a { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:42px; white-space:nowrap; text-decoration:none; }
.record-live-actions a { color:var(--blue); font-size:13px; font-weight:750; }
.record-live-actions svg { width:16px; height:16px; }
.record-resource-toolbar { display:flex; gap:32px; align-items:end; max-width:1240px; margin:auto; padding:24px 32px 0; }
.record-resource-toolbar label { flex:1; max-width:600px; }
.site-rights-footer { max-width:1240px; margin:auto; padding:24px 32px; border-top:1px solid var(--line); background:transparent; display:flex; gap:20px; flex-wrap:wrap; justify-content:space-between; color:var(--muted); }
.site-rights-footer nav { display:flex; gap:20px; align-items:center; flex-wrap:wrap; }
.site-rights-footer button,.site-rights-footer a { border:0; background:transparent; border-radius:0; padding:6px 0; color:var(--muted); font-size:12px; font-weight:650; text-decoration:none; }
.board-section { box-shadow:none; }
.training-source-strip { grid-template-columns:minmax(0,1fr) auto; }
.training-source-copy { min-width:0; }
.record-profile .profile-grid { display:block; }
.record-profile .honor-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.record-profile .honor-item { width:100%; }
.gear-visual-intro h1 { font-size:clamp(32px,4vw,48px); }
.gear-jump-links button { padding:12px 18px; border:1px solid var(--line); border-radius:6px; background:white; font-weight:750; color:var(--ink); }
.record-team-step { display:grid; grid-template-columns:22px minmax(0,1fr); gap:14px; padding:20px 0; border-top:1px solid var(--line); }
.record-team-step input { margin-top:5px; width:18px; height:18px; }
.record-team-step strong { font-size:17px; }
.record-team-step p { font-size:14px; line-height:1.7; color:var(--muted); }
.record-team-step a { color:var(--blue); font-size:13px; }
.record-support-details { margin-top:20px; border:1px solid var(--line); border-radius:8px; background:white; padding:22px; }
.record-support-details>summary { cursor:pointer; font-weight:750; }
.record-support-details .board-section { border:0; padding:20px 0 0; }
button,a,input,select,summary { scroll-margin-top:20px; }
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible { outline:3px solid #4386c8; outline-offset:3px; }
@media(max-width:1000px) {
  .record-directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .record-profile-header { grid-template-columns:minmax(0,1fr); gap:24px; }
  .record-profile-header dl { gap:36px; }
}
@media(max-width:600px) {
  .record-header { padding:14px 16px 0; display:block; }
  .record-brand { gap:10px; }
  .record-brand img { width:36px; height:36px; }
  .record-brand strong { font-size:17px; }
  .record-brand small { font-size:10px; margin-top:3px; }
  .record-header nav { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin-top:12px; }
  .record-header nav button { font-size:13px; padding:10px 4px; border-radius:4px 4px 0 0; min-width:0; }
  .view-shell { padding:24px 16px 36px; }
  .record-search-home { margin:0 0 28px; }
  .record-search-home h1 { margin:10px 0 14px; }
  .record-search-home>p { font-size:14px; }
  .record-search-form { margin-top:20px; }
  .record-search-form>div { padding:5px 6px 5px 12px; gap:7px; }
  .record-search-form svg { width:18px; }
  .record-search-form input { font-size:16px; }
  .record-search-form button { font-size:13px; padding:10px 12px; }
  .record-search-home .record-coverage { font-size:11px; }
  .record-directory-grid { grid-template-columns:1fr; gap:9px; }
  .record-person { padding:15px 12px; }
  .record-profile-header { padding:24px 20px; }
  .record-profile-header h1 { font-size:36px; }
  .record-profile-header dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
  .record-profile-header dt { font-size:10px; }
  .record-profile-header dd { font-size:27px; }
  .record-profile-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin:20px 0; }
  .record-profile-tabs button { padding:12px 4px; font-size:12px; white-space:nowrap; }
  .record-profile-return { gap:12px; margin-bottom:18px; }
  .record-profile-return button { font-size:12px; }
  .record-profile .board-section,.record-training>.board-section { padding:20px 16px; }
  .record-section-heading { flex-wrap:wrap; gap:14px; }
  .record-section-heading h2,.record-history h2 { font-size:21px; }
  .record-growth-chart { gap:8px; }
  .record-growth-year { padding:0 4px; flex-basis:52px; min-width:52px; }
  .record-bar-track { height:120px; }
  .record-season-list article { grid-template-columns:48px minmax(0,1fr); gap:10px 12px; }
  .record-season-list article>button { grid-column:2; justify-self:start; padding:0; }
  .record-season-list article>b { align-self:start; }
  .record-filter-row { gap:12px; }
  .record-filter-row label { flex:1; min-width:110px; }
  .record-filter-search { flex-basis:100%!important; }
  .record-filter-row input,.record-filter-row select { width:100%; font-size:16px; }
  .record-result summary { grid-template-columns:48px minmax(0,1fr); gap:10px; padding:16px 0; }
  .record-result-score { grid-column:2; text-align:left; }
  .record-result-body { padding:14px 12px; }
  .record-international-list,.record-resource-grid,.record-profile .honor-list { grid-template-columns:1fr; }
  .record-event-list>button { grid-template-columns:42px minmax(0,1fr) 16px; gap:12px; padding:16px 12px; }
  .record-event-list>button>span:nth-last-child(2) { grid-column:2; grid-row:2; text-align:left; }
  .record-event-list>button>svg { grid-column:3; grid-row:1; }
  .record-live-feature { align-items:stretch; flex-direction:column; gap:18px; margin:20px 0 24px; padding:20px 18px; }
  .record-live-actions { align-items:stretch; flex-direction:column; gap:10px; }
  .record-live-actions button,.record-live-actions a { width:100%; }
  .record-resource-toolbar { padding:20px 16px 0; flex-wrap:wrap; gap:14px; }
  .record-resource-toolbar label { flex-basis:100%; }
  .site-rights-footer { padding:22px 16px; font-size:11px; gap:12px; }
  .site-rights-footer nav { gap:16px; }
  .training-source-strip { grid-template-columns:1fr; }
}

.record-honor-count,.record-international-list>.record-pagination,.domestic-medal-grid>.record-pagination { grid-column:1 / -1; }
.record-honor-year-control { display:flex; align-items:end; justify-content:space-between; gap:16px; margin:0 0 20px; padding:14px 16px; border:1px solid var(--line); border-left:4px solid var(--red); border-radius:7px; background:#f8fafc; }
.record-honor-year-control label { display:grid; gap:7px; color:var(--muted); font-size:12px; font-weight:800; }
.record-honor-year-control select { min-width:150px; color:var(--ink); background:white; }
.record-honor-year-control p { margin:0; color:var(--navy); font-size:13px; font-weight:850; }
.event-host-badge { width:fit-content; min-height:24px; display:inline-flex!important; align-items:center; gap:6px; padding:2px 8px!important; border:1px solid #d6dee8; border-radius:999px; background:#fff!important; color:var(--ink)!important; font-size:11px!important; font-style:normal; font-weight:800!important; line-height:1.2; text-transform:none!important; white-space:nowrap; vertical-align:middle; }
.event-host-flag { min-height:0!important; padding:0!important; border:0!important; background:transparent!important; color:inherit!important; font-size:17px!important; line-height:1!important; }
.event-host-country { min-height:0!important; padding:0!important; border:0!important; background:transparent!important; color:inherit!important; font-size:11px!important; font-weight:800!important; line-height:1.2!important; text-transform:none!important; }
.record-honor-kicker { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.elite-record-year .event-host-country { display:none!important; }
.team-honor-date { display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
.team-roster-meta .event-host-badge { margin-right:4px; }
.honor-item .event-host-badge { margin:1px 0 2px; }
.olympic-medal-date { display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
.record-profile-honor-filter .record-section-heading { align-items:end; }
.record-profile .elite-record-list,.record-profile .team-honor-list { max-height:none; overflow:visible; padding-right:0; }

.record-issf-coverage { margin:14px 0; padding:12px 14px; border:1px solid #cbd5e1; border-radius:10px; background:#f8fafc; color:#334155; font-size:.88rem; line-height:1.45; }
.record-issf-coverage strong { color:#0f172a; }
.record-issf-coverage a { display:inline-flex; align-items:center; gap:4px; color:#1d4f91; font-weight:700; }
.record-issf-coverage a svg { width:14px; height:14px; }
.record-issf-coverage.is-verified { border-color:#a7d8c4; background:#f0fdf8; }
.record-issf-coverage.is-review { border-color:#e7c56b; background:#fff9e8; }
@media (max-width: 640px) {
  .record-honor-year-control { align-items:stretch; flex-direction:column; gap:10px; }
  .record-honor-year-control select { width:100%; }
  .record-profile-honor-filter .record-section-heading { align-items:stretch; }
  .record-profile-honor-filter .record-honor-year-control { margin:0; }
}
.record-organizer-forms>details>summary { cursor:pointer; font-size:20px; font-weight:700; }
.record-result-score::after { content:"Details ⌄"; display:block; margin-top:8px; font-size:11px; color:var(--blue); }
.record-result[open] .record-result-score::after { content:"Close ⌃"; }

.site-rights-footer nav button { width:auto; flex:none; min-height:32px; }
.record-score-breakdown { display:flex; flex-wrap:wrap; gap:12px 24px; margin:12px 0; grid-column:1 / -1; }
.record-score-breakdown div { min-width:85px; }
.record-score-breakdown dt { font-size:11px; color:var(--muted); }
.record-score-breakdown dd { margin:3px 0 0; font-size:16px; font-weight:700; color:var(--navy); }
