
:root { --ink:#13221d; --muted:#66736d; --line:#dce4df; --paper:#f7f8f5; --green:#0d5c45; --lime:#cff26b; --orange:#eb7047; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
main { overflow:hidden; }
.site-header, .intro, .stats, .content-section, .split-section, .club-section, footer { max-width:1180px; margin:0 auto; padding-left:28px; padding-right:28px; }
.site-header { position:relative; height:76px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:8px; color:var(--ink); font-size:17px; font-weight:800; letter-spacing:.06em; }
.brand-mark { display:block; width:36px; height:28px; background:var(--green); -webkit-mask-image:linear-gradient(#000 0 0),url("/zatopo-handmark.png"); -webkit-mask-position:center,center calc(50% + 5px); -webkit-mask-repeat:no-repeat; -webkit-mask-size:100% 100%,36px 36px; -webkit-mask-composite:xor; mask-image:linear-gradient(#000 0 0),url("/zatopo-handmark.png"); mask-position:center,center calc(50% + 5px); mask-repeat:no-repeat; mask-size:100% 100%,36px 36px; mask-composite:exclude; }
.brand-name { color:var(--green); line-height:1; }
.triathlon-marks { display:flex; align-items:center; gap:13px; margin-left:43px; color:var(--green); opacity:.78; }
.triathlon-marks svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; }
nav { display:flex; gap:29px; margin-left:auto; margin-right:36px; }
nav a, .header-action { font-size:14px; font-weight:700; color:#394841; }
nav a:hover, .header-action:hover { color:var(--green); }
.header-action { border:1px solid #aab9b1; padding:9px 13px; }
.profile-claim-link { display:inline-flex; margin-top:22px; border:1px solid #a8c3b7; padding:10px 13px; color:var(--green); font-size:13px; font-weight:800; }
.profile-claim-link:hover { background:#edf2ee; }.claim-panel { max-width:620px; padding-top:80px; padding-bottom:80px; }.claim-panel h1 { font-size:42px; }.claim-panel > p { color:var(--muted); font-size:17px; line-height:1.55; }.claim-panel label { display:grid; gap:7px; color:var(--ink); font-size:13px; font-weight:800; }.claim-panel input { width:100%; }
.mobile-menu { display:none; }
.intro { display:grid; grid-template-columns:1fr 288px; gap:48px; padding-top:78px; padding-bottom:66px; }
.eyebrow { color:var(--green); font-size:11px; font-weight:800; letter-spacing:.13em; margin:0 0 13px; }
h1,h2,h3,p { margin-top:0; } h1 { max-width:780px; margin-bottom:21px; font-size:clamp(40px,5.2vw,69px); line-height:.98; letter-spacing:-.045em; } h2 { font-size:28px; line-height:1.05; letter-spacing:-.025em; margin-bottom:0; } h3 { margin:0; }
.lede { max-width:650px; color:var(--muted); font-size:18px; line-height:1.55; margin-bottom:0; }
.season-card { align-self:end; padding:26px; background:var(--green); color:#fff; min-height:210px; display:flex; flex-direction:column; justify-content:flex-end; }
.season-card span { color:var(--lime); font-size:11px; font-weight:800; letter-spacing:.14em; }.season-card strong { font-size:63px; letter-spacing:-.065em; line-height:.95; }.season-card p { margin:11px 0 0; color:#c1d6ce; font-size:13px; }
.stats { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding-top:22px; padding-bottom:22px; }.stats div { border-right:1px solid var(--line); padding:0 20px; }.stats div:first-child { padding-left:0; }.stats div:last-child { border:0; }.stats strong { display:block; color:var(--green); font-size:30px; letter-spacing:-.04em; }.stats span { color:var(--muted); font-size:13px; }.stats-detail { grid-template-columns:repeat(5,1fr); border-top:0; }.stats-detail strong { font-size:24px; }.stats-detail span { font-size:12px; }
.content-section,.club-section { padding-top:82px; }.section-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:27px; }.section-heading > a { color:var(--green); font-size:14px; font-weight:700; white-space:nowrap; }.section-heading > a span { margin-left:7px; font-size:18px; }
.race-list { border-top:2px solid var(--ink); }.race-row { display:grid; grid-template-columns:78px 1fr auto auto auto; gap:20px; align-items:center; min-height:91px; padding:14px 8px 14px 0; border-bottom:1px solid var(--line); transition:background .18s; }.race-row:hover { background:#edf2ee; }.date-box strong { display:block; font-size:22px; letter-spacing:-.04em; }.date-box span { color:var(--muted); font-size:11px; font-weight:700; }.race-title h3 { font-size:18px; }.race-title p { color:var(--muted); font-size:13px; margin:6px 0 0; }.race-type { color:var(--muted); font-size:11px; font-style:normal; font-weight:800; text-align:right; }.race-status { color:var(--green); border:1px solid #a8c3b7; font-size:11px; font-weight:800; padding:6px 8px; }.race-detail { color:var(--green); font-size:12px; font-weight:800; white-space:nowrap; }
.cup-section { padding-bottom:13px; }.cup-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:2px solid var(--ink); }.cup-card { position:relative; min-height:145px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); padding:24px 20px 19px 0; transition:background .18s; }.cup-card:nth-child(3n) { border-right:0; }.cup-card:hover { background:#edf2ee; }.cup-card:hover h3 { color:var(--green); }.cup-line { display:block; width:35px; height:5px; margin-bottom:21px; }.blue{background:#2868bd}.red{background:#cb363b}.orange{background:#d26a27}.green{background:#18935b}.teal{background:#22a9a1}.violet{background:#7a59b7}.cup-card h3 { font-size:18px; margin-bottom:20px; }.cup-card div { display:flex; justify-content:space-between; color:var(--muted); font-size:12px; padding-right:18px; }.cup-card b { color:var(--green); }
.split-section { display:grid; grid-template-columns:1.5fr .7fr; gap:66px; padding-top:82px; }.compact { margin-bottom:20px; }.result-list { border-top:2px solid var(--ink); }.result-row { min-height:70px; padding:14px 0; display:grid; grid-template-columns:95px 1fr 36px; align-items:center; border-bottom:1px solid var(--line); gap:12px; }.result-row:hover strong { color:var(--green); }.result-date { color:var(--muted); font-size:12px; }.result-row strong { display:block; font-size:15px; }.result-row small { display:block; color:var(--muted); font-size:12px; margin-top:4px; }.result-row em { color:var(--green); font-style:normal; font-size:11px; font-weight:800; }
.directory { background:var(--green); color:#fff; padding:31px; align-self:stretch; }.directory .eyebrow { color:var(--lime); }.directory h2 { font-size:30px; }.directory > p:not(.eyebrow) { color:#c9d9d1; font-size:14px; line-height:1.5; margin:17px 0 24px; }.directory-links { border-top:1px solid #4b816e; }.directory-links a { display:grid; grid-template-columns:50px 1fr auto; gap:10px; padding:15px 0; border-bottom:1px solid #4b816e; font-size:14px; font-weight:700; }.directory-links span { color:var(--lime); }.directory-links b { font-size:19px; }
.club-section { padding-bottom:80px; }.club-list { border-top:2px solid var(--ink); }.club-list a { display:grid; grid-template-columns:53px 1fr auto 25px; align-items:center; gap:16px; padding:19px 0; border-bottom:1px solid var(--line); }.club-list a:hover strong { color:var(--green); }.club-list a > span { color:var(--green); font-size:12px; font-weight:800; }.club-list strong { font-size:17px; }.club-list em { color:var(--muted); font-size:13px; font-style:normal; }.club-list b { color:var(--green); font-size:20px; }
.listing-hero,.detail-hero,.listing,.detail-content { max-width:1180px; margin:0 auto; padding-left:28px; padding-right:28px; }.listing-hero { padding-top:76px; padding-bottom:55px; border-bottom:1px solid var(--line); }.listing-hero h1,.detail-hero h1 { font-size:clamp(43px,5.5vw,70px); margin:0 0 14px; }.listing-hero > p:last-child,.detail-hero > p { color:var(--muted); font-size:17px; margin:0; }.listing { padding-top:38px; padding-bottom:80px; }.listing-filter { display:flex; justify-content:space-between; border-bottom:2px solid var(--ink); padding-bottom:14px; color:var(--muted); font-size:13px; font-weight:700; }.table-list { border-bottom:1px solid var(--line); }.table-row { min-height:77px; display:grid; grid-template-columns:145px 1fr 58px 85px 24px; align-items:center; gap:16px; border-top:1px solid var(--line); padding:13px 0; }.table-row:hover strong { color:var(--green); }.table-row time { color:var(--muted); font-size:13px; }.table-row strong { display:block; font-size:16px; }.table-row small { display:block; color:var(--muted); font-size:12px; margin-top:5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.table-row em { color:var(--green); font-size:11px; font-style:normal; font-weight:800; }.table-row b { color:var(--muted); font-size:12px; font-weight:700; }.table-row i { color:var(--green); font-size:20px; font-style:normal; }.athlete-result-row { grid-template-columns:145px 1fr 92px 24px; }.athlete-result-row .zpi-score { color:var(--green); text-align:right; }.athlete-result-row.zpi-best { background:#edf7f1; }.athlete-result-row.zpi-best .zpi-score { font-weight:800; }.standalone { border-bottom:1px solid var(--line); }.compact-list { padding-top:45px; }.detail-hero { padding-top:43px; padding-bottom:53px; border-bottom:1px solid var(--line); }.back-link { display:inline-block; cursor:pointer; border:0; background:transparent; color:var(--green); padding:0; font:inherit; font-size:13px; font-weight:700; margin-bottom:41px; }.detail-hero .eyebrow { margin-bottom:11px; }.detail-meta { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }.detail-meta a { border:1px solid #a8c3b7; color:var(--green); padding:8px 10px; font-size:12px; font-weight:700; }.detail-content { display:grid; grid-template-columns:1fr 340px; gap:85px; padding-top:66px; padding-bottom:85px; }.detail-content.results-summary { grid-template-columns:1fr; }.detail-copy { max-width:600px; color:var(--muted); font-size:16px; line-height:1.6; margin:18px 0 0; }.source-links { display:grid; align-content:start; gap:10px; }.source-links a { display:flex; justify-content:space-between; padding:15px 17px; color:#fff; background:var(--green); font-size:14px; font-weight:700; }.source-links a:nth-child(n+2) { color:var(--green); background:transparent; border:1px solid #a8c3b7; }.athlete-list .table-row { grid-template-columns:85px 1fr 58px; }.athlete-list .table-row:hover { background:transparent; }
.athlete-link { display:block; color:var(--ink); font-size:16px; font-weight:700; }.athlete-link:hover { color:var(--green); }.profile-stats { display:flex; flex-wrap:wrap; align-items:center; gap:14px 34px; margin-top:28px; }.profile-stats span { color:var(--muted); font-size:13px; }.profile-stats strong { color:var(--green); font-size:24px; margin-right:6px; }.profile-stats .zpi-profile-stat { display:flex; align-items:center; gap:34px; padding:7px 12px; background:#edf7f1; color:var(--green); font-weight:700; }.profile-stats .zpi-profile-stat > span { display:inline-flex; align-items:center; color:var(--green); white-space:nowrap; }.profile-stats .zpi-profile-stat strong { margin:0 6px 0 0; }.zpi-profile-link { display:inline-flex; align-items:center; color:var(--green); white-space:nowrap; }.zpi-profile-link:hover { color:var(--ink); }.empty-state { padding:24px 0; color:var(--muted); font-size:14px; }
.review-status { display:inline-flex; justify-content:center; width:max-content; padding:6px 8px; border:1px solid var(--line); color:var(--muted); font-size:11px; font-weight:800; text-transform:uppercase; }.review-status.approved { border-color:#a8c3b7; color:var(--green); }.review-status.pending { border-color:#e0b991; color:#a34e1c; background:#fff8ef; }.review-status.rejected { color:#8a4545; border-color:#d8abab; }.track-source { color:var(--green); font-size:12px; font-weight:800; }.review-summary { display:grid; grid-template-columns:auto 1fr; align-items:baseline; gap:0 12px; max-width:620px; margin-bottom:34px; }.review-summary strong { color:var(--green); font-size:42px; letter-spacing:-.05em; }.review-summary span { color:var(--ink); font-weight:800; font-size:16px; }.review-summary p { grid-column:1 / -1; margin:9px 0 0; color:var(--muted); line-height:1.5; font-size:14px; }
.category-tabs { display:flex; flex-wrap:wrap; gap:7px; margin:0 0 18px; }.category-tabs button { appearance:none; cursor:pointer; border:1px solid #a8c3b7; background:transparent; color:var(--green); padding:8px 10px; font-family:inherit; font-size:12px; font-weight:700; }.category-tabs button.active { background:var(--green); color:#fff; border-color:var(--green); }
.admin-list { border-top:2px solid var(--ink); }.admin-row { display:grid; grid-template-columns:150px 1fr 25px; gap:20px; align-items:center; min-height:104px; border-bottom:1px solid var(--line); }.admin-row:hover strong { color:var(--green); }.admin-row > span { color:var(--muted); font-size:12px; }.admin-row > span b { display:block; color:var(--green); font-size:27px; letter-spacing:-.04em; }.admin-row strong { display:block; font-size:18px; }.admin-row small { display:block; max-width:660px; margin-top:7px; color:var(--muted); font-size:13px; line-height:1.4; }.admin-row i { color:var(--green); font-size:20px; font-style:normal; }
.review-row { display:grid; grid-template-columns:1.1fr auto auto minmax(250px,.8fr) auto; gap:12px; align-items:center; padding:15px 0; border-top:1px solid var(--line); }.review-row time,.race-admin-row time { display:block; margin-bottom:5px; color:var(--muted); font-size:12px; }.review-row strong,.race-admin-row strong { display:block; font-size:15px; }.review-row small,.race-admin-row small { display:block; margin-top:5px; color:var(--muted); font-size:12px; }.review-fields { display:grid; gap:7px; }.review-row input { width:100%; min-width:0; border:1px solid #a8c3b7; background:#fff; color:var(--ink); padding:10px; font:inherit; font-size:12px; }.review-actions { display:flex; gap:6px; }.review-actions button { cursor:pointer; border:1px solid var(--green); background:var(--green); color:#fff; padding:10px; font:inherit; font-size:12px; font-weight:800; }.review-actions button.secondary { background:transparent; color:var(--green); }.review-actions button:disabled { cursor:wait; opacity:.55; }.admin-message { margin:0 0 20px; padding:12px; border:1px solid #a8c3b7; color:var(--green); font-size:13px; font-weight:700; }.race-admin-row { display:grid; grid-template-columns:1fr auto auto; gap:16px; align-items:center; padding:16px 0; border-top:1px solid var(--line); }
footer { display:grid; grid-template-columns:200px 1fr auto; gap:35px; align-items:center; border-top:1px solid var(--line); padding-top:29px; padding-bottom:35px; color:var(--muted); font-size:12px; } footer p { margin:0; max-width:430px; line-height:1.45; } footer > span { text-align:right; }
@media(max-width:760px) { .site-header,.intro,.stats,.content-section,.split-section,.club-section,footer,.listing-hero,.detail-hero,.listing,.detail-content { padding-left:18px; padding-right:18px; }.site-header { height:63px; }.header-action, .site-header > nav { display:none; }.triathlon-marks { display:flex; gap:7px; margin-left:20px; }.triathlon-marks svg { width:17px; height:17px; stroke-width:2; }.mobile-menu { display:block; margin-left:auto; }.mobile-menu summary { display:grid; width:38px; height:38px; padding:9px; cursor:pointer; list-style:none; border:1px solid #aab9b1; place-content:center; gap:4px; }.mobile-menu summary::-webkit-details-marker { display:none; }.mobile-menu summary span { display:block; width:18px; height:2px; background:var(--green); }.mobile-menu nav { position:absolute; z-index:20; top:55px; right:18px; display:grid; width:190px; padding:8px 16px; border:1px solid #aab9b1; background:#fff; box-shadow:0 10px 24px rgba(19,34,29,.12); }.mobile-menu nav a { padding:12px 0; border-bottom:1px solid var(--line); color:var(--ink); font-size:14px; font-weight:700; }.mobile-menu nav a:last-child { border:0; color:var(--green); }.intro { grid-template-columns:1fr; gap:28px; padding-top:53px; padding-bottom:42px; }.season-card { min-height:145px; }.stats,.stats-detail { grid-template-columns:repeat(2,1fr); gap:20px 0; }.stats div:nth-child(2) { border:0; }.stats div:nth-child(3) { padding-left:0; }.content-section,.club-section,.split-section { padding-top:57px; }.race-row { grid-template-columns:58px minmax(0,1fr) auto auto; gap:10px; }.race-status { display:none; }.race-title h3 { font-size:16px; }.race-type { max-width:54px; font-size:10px; }.race-detail { font-size:11px; }.cup-grid { grid-template-columns:repeat(2,1fr); }.cup-card:nth-child(3n) { border-right:1px solid var(--line); }.cup-card:nth-child(2n) { border-right:0; }.split-section { grid-template-columns:1fr; gap:30px; }.directory { min-height:260px; }.club-list a { grid-template-columns:38px 1fr 18px; gap:8px; }.club-list em { display:none; }.detail-content { grid-template-columns:1fr; gap:32px; padding-top:45px; padding-bottom:54px; }.table-row { grid-template-columns:76px 1fr 44px; gap:10px; }.table-row b,.table-row i { display:none; }.athlete-result-row { grid-template-columns:76px 1fr 60px 20px; }.athlete-result-row .zpi-score { display:block; font-size:11px; } footer { grid-template-columns:1fr; gap:17px; } footer > span { text-align:left; } }
@media(max-width:760px) { .review-row,.race-admin-row { grid-template-columns:1fr; gap:10px; }.review-fields { grid-template-columns:1fr; } }
.race-catalog-row.completed { background:#f4f6f4; }.race-catalog-row.completed:hover { background:#e9eeea; }.race-catalog-row.upcoming { background:#fff; }.race-badges { display:inline-flex; flex-wrap:wrap; gap:4px; margin-left:6px; vertical-align:middle; }.race-badge { display:inline-flex; align-items:center; border:1px solid currentColor; padding:1px 5px; color:var(--green); font-size:10px; font-weight:800; line-height:1.3; letter-spacing:.04em; text-transform:uppercase; white-space:nowrap; }.race-badge.championship,.race-badge.zpi-tier.tier-1 { color:#9a6f16; }.race-badge.zpi-tier.tier-2 { color:#6f7880; }.race-badge.zpi-tier.tier-3 { color:#9a6339; }.detail-meta .race-badges { margin-left:0; }.participant-header { min-height:46px; color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.participant-header time,.participant-header em { color:var(--muted); font-size:11px; font-style:normal; }
.admin-form { display:grid; grid-template-columns:2fr 1fr 1fr 1fr 2fr auto; gap:8px; padding:14px 0 24px; border-bottom:2px solid var(--ink); }.admin-form strong { grid-column:1 / -1; }.admin-form input { min-width:0; border:1px solid #a8c3b7; padding:10px; font:inherit; font-size:12px; }.admin-form button { border:1px solid var(--green); background:var(--green); color:#fff; padding:10px; font:inherit; font-weight:800; cursor:pointer; }
.gender-tabs { display:flex; gap:0; margin:0 0 14px; }.gender-tabs button { cursor:pointer; border:1px solid #a8c3b7; background:#fff; color:var(--green); padding:10px 16px; font:inherit; font-size:13px; font-weight:800; }.gender-tabs button + button { border-left:0; }.gender-tabs button.active { background:var(--green); border-color:var(--green); color:#fff; }.directory-filters { display:flex; align-items:center; justify-content:space-between; gap:16px; border-bottom:2px solid var(--ink); padding-bottom:14px; }.directory-filters select { border:1px solid #a8c3b7; background:#fff; padding:9px; color:var(--ink); font:inherit; font-size:13px; }
.athlete-search { position:relative; flex:1; max-width:360px; }.athlete-search input { box-sizing:border-box; width:100%; border:1px solid #a8c3b7; padding:10px 12px; font:inherit; font-size:13px; }.athlete-suggestions { position:absolute; z-index:4; top:100%; left:0; right:0; border:1px solid #a8c3b7; background:#fff; }.athlete-suggestions a { display:flex; justify-content:space-between; gap:12px; padding:10px 12px; border-top:1px solid var(--line); font-size:13px; font-weight:700; }.athlete-suggestions a:first-child { border-top:0; }.athlete-suggestions a:hover { background:#edf2ee; }.athlete-suggestions span { color:var(--muted); font-size:12px; font-weight:400; }
.directory-table { border-top:2px solid var(--ink); border-bottom:1px solid var(--line); }.directory-row { display:grid; grid-template-columns:100px 100px minmax(180px,1.1fr) minmax(180px,1fr); align-items:center; gap:16px; min-height:58px; border-top:1px solid var(--line); color:var(--muted); font-size:13px; }.directory-row strong { color:var(--ink); font-size:16px; }.directory-row:hover strong { color:var(--green); }.directory-header { min-height:42px; color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.directory-sort { display:flex; align-items:center; gap:8px; color:var(--muted); }.directory-sort select { border:1px solid #a8c3b7; background:#fff; color:var(--ink); padding:8px; font:inherit; font-size:13px; }.club-table-row { grid-template-columns:145px minmax(220px, 1fr) minmax(140px, .45fr) 76px; }.club-table-row > small { color:var(--muted); font-size:12px; }.club-detail { color:var(--green); font-size:12px; font-weight:800; white-space:nowrap; }
.profile-filter { display:flex; flex-wrap:wrap; gap:7px; padding:16px 0; border-bottom:1px solid var(--line); }.profile-filter button { cursor:pointer; border:1px solid #a8c3b7; background:#fff; color:var(--green); padding:8px 10px; font:inherit; font-size:12px; font-weight:800; }.profile-filter button.active { background:var(--green); border-color:var(--green); color:#fff; }.profile-filter span { margin-left:4px; opacity:.72; }
.club-link { color:var(--green); font-weight:700; }.club-link:hover { text-decoration:underline; }
.athlete-state.matched { background:#e8f4f5; }.athlete-state.active { background:#fff3cf; box-shadow:inset 3px 0 0 #e8b64b; }.directory-row.athlete-state.matched:hover,.participant-row.athlete-state.matched:hover { background:#e8f4f5; }.directory-row.athlete-state.active:hover,.participant-row.athlete-state.active:hover { background:#fff3cf; }.directory-admin .athlete-search { margin-bottom:12px; }.directory-admin-form { grid-template-columns:repeat(3,minmax(0,1fr)); }.directory-admin-form strong { grid-column:1 / -1; }.directory-admin-form input[name="admin_note"] { grid-column:span 2; }.admin-form .secondary { border:1px solid var(--green); background:transparent; color:var(--green); }
.stats-detail { grid-template-columns:repeat(4,1fr); }.stats-detail .stat-matched,.stats-detail .stat-active { padding:7px 20px; }.stats-detail .stat-matched { background:#e8f4f5; border-right:0; margin-right:14px; }.stats.stats-detail .stat-active { background:#fff3cf; border-left:1px solid var(--line); }
@media(max-width:760px) { .stats,.stats-detail { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; padding-top:0; padding-bottom:0; }.stats div,.stats-detail div { display:flex; min-height:86px; flex-direction:column; justify-content:center; padding:15px 12px; border-right:0; border-bottom:1px solid var(--line); }.stats div:nth-child(2) { border-bottom:1px solid var(--line); }.stats div:nth-child(odd) { padding-left:0; border-right:1px solid var(--line); }.stats div:nth-child(even) { padding-right:0; }.stats div:nth-child(n+3) { border-bottom:0; }.stats-detail .stat-matched,.stats.stats-detail .stat-active { margin:0; border-left:0; } }
@media(max-width:760px) and (orientation:portrait) { .club-table-row { grid-template-columns:56px minmax(150px,1fr) minmax(72px,.5fr); }.club-table-row > small { display:block; }.club-table-row .club-detail { display:none; } }
@media(max-width:760px) and (orientation:landscape) { .club-table { overflow-x:auto; }.club-table-row { grid-template-columns:110px minmax(200px,1fr) 110px 70px; min-width:540px; }.club-table-row .club-detail { display:block; font-size:11px; text-align:right; } }
.admin-race-link { display:block; }.admin-open { align-self:center; color:var(--green); font-size:12px; font-weight:800; white-space:nowrap; }.result-source-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:28px; }.result-source-panel { border-top:2px solid var(--ink); padding-top:20px; }.result-source-panel h2 { margin-bottom:18px; }.result-source-panel input { box-sizing:border-box; width:100%; border:1px solid #a8c3b7; padding:11px; font:inherit; font-size:13px; }.result-source-panel p:not(.eyebrow) { min-height:40px; margin:12px 0; color:var(--muted); font-size:13px; line-height:1.4; }.result-source-actions { display:flex; flex-wrap:wrap; gap:8px; }.result-source-panel button { cursor:pointer; border:1px solid var(--green); background:var(--green); color:#fff; padding:10px 13px; font:inherit; font-size:13px; font-weight:800; }.result-source-panel button.secondary,.race-publication-control button.secondary { background:transparent; color:var(--green); }
.review-actions button.danger { border-color:#a44d4d; background:transparent; color:#8a4545; }.start-list-source-panel { max-width:620px; border-top:2px solid var(--ink); padding-top:20px; }.start-list-source-panel h2 { margin-bottom:18px; }.start-list-source-panel input { width:100%; border:1px solid #a8c3b7; padding:11px; font:inherit; font-size:13px; }.start-list-source-panel p:not(.eyebrow) { color:var(--muted); font-size:13px; line-height:1.45; }.start-list-source-panel button { cursor:pointer; border:1px solid var(--green); background:var(--green); color:#fff; padding:10px 13px; font:inherit; font-size:13px; font-weight:800; }
.admin-check { display:flex; align-items:center; gap:8px; font-size:13px; font-weight:700; }.admin-check input { width:auto !important; }.admin-cup-layout { display:grid; grid-template-columns:minmax(220px, .55fr) minmax(0, 1.45fr); gap:28px; margin-top:28px; align-items:start; }.cup-picker { display:grid; gap:3px; width:100%; border:0; border-bottom:1px solid var(--line); background:transparent; padding:13px; text-align:left; cursor:pointer; font:inherit; }.cup-picker.active { background:#e8f2ed; }.cup-picker small { color:var(--muted); font-size:12px; }
.result-source-panel select, .source-form input { width:100%; border:1px solid #a8c3b7; padding:11px; font:inherit; font-size:13px; }.source-form { display:grid; gap:8px; padding-top:14px; margin-top:14px; border-top:1px solid var(--line); }.source-form strong { font-size:13px; }
@media (max-width:760px) { .admin-cup-layout { grid-template-columns:1fr; } }
.race-details-editor { margin-bottom:48px; }.race-details-editor .eyebrow { margin-bottom:12px; }.race-detail-form { padding-top:0; }.race-publication-control { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:24px; padding-top:18px; border-top:1px solid var(--line); }.race-publication-control strong { font-size:14px; }.race-publication-control p { margin:4px 0 0; color:var(--muted); font-size:12px; }.race-publication-control button { cursor:pointer; border:1px solid var(--green); padding:10px 13px; font:inherit; font-size:13px; font-weight:800; white-space:nowrap; }
.season-statistics { max-width:1180px; margin:0 auto; padding:68px 28px 0; }.statistics-note { color:var(--muted); font-size:12px; font-weight:700; }.statistics-tabs { margin-top:22px; margin-bottom:10px; }.season-statistics > .gender-tabs:not(.statistics-tabs) { margin-bottom:20px; }.season-ranking-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:0 34px; border-top:2px solid var(--ink); }.season-ranking { border-bottom:1px solid var(--line); padding:21px 0 15px; }.season-ranking h3 { margin:0 0 14px; font-size:16px; }.info-hint { position:relative; display:inline-grid; width:16px; height:16px; margin-left:6px; border:1px solid currentColor; border-radius:50%; color:var(--green); cursor:help; font-size:11px; font-weight:800; line-height:1; place-items:center; vertical-align:2px; outline:none; }.info-hint-popover { position:absolute; z-index:10; left:0; bottom:calc(100% + 8px); display:none; width:260px; padding:10px 12px; background:var(--ink); color:#fff; font-size:12px; font-weight:500; line-height:1.4; box-shadow:0 6px 18px rgba(0,0,0,.16); }.info-hint:hover .info-hint-popover, .info-hint:focus .info-hint-popover { display:block; }.season-ranking ol { list-style:none; padding:0; margin:0; }.season-ranking li { display:grid; grid-template-columns:30px minmax(0,1fr) auto; gap:9px; align-items:center; min-height:32px; color:var(--muted); font-size:13px; }.season-ranking a { color:var(--ink); font-weight:700; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.season-ranking a:hover { color:var(--green); }.season-ranking b { color:var(--green); font-size:12px; text-align:right; }.ranking-more { margin-top:11px; cursor:pointer; border:0; background:transparent; padding:0; color:var(--green); font:inherit; font-size:12px; font-weight:800; }.participation-comparison > div { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px; }.participation-comparison span { display:block; color:var(--muted); font-size:12px; }.participation-comparison strong { display:block; margin-bottom:4px; color:var(--green); font-size:24px; }
.rivalry-names { display:flex; min-width:0; align-items:center; gap:5px; overflow:hidden; }.rivalry-names i { color:var(--muted); font-size:11px; font-style:normal; }.rivalry-names a { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media(max-width:760px) { .season-statistics { padding:57px 18px 0; }.season-ranking-grid { grid-template-columns:1fr; }.statistics-note { display:none; } }
@media(max-width:760px) { .result-source-grid { grid-template-columns:1fr; }.directory-filters { align-items:stretch; flex-direction:column; }.athlete-search { max-width:none; }.directory-row { min-width:620px; padding:0 6px; } .directory-table { overflow-x:auto; } }
.participant-table { border-top:2px solid var(--ink); border-bottom:1px solid var(--line); }.participant-row { display:grid; align-items:center; min-height:55px; gap:14px; border-top:1px solid var(--line); color:var(--ink); font-size:13px; }.participant-table.results .participant-row { grid-template-columns:82px 90px 70px 120px minmax(160px,1.3fr) minmax(140px,1fr); }.participant-table.start-list .participant-row { grid-template-columns:80px 150px minmax(180px,1.4fr) minmax(150px,1fr); }.participant-row > span:first-child { color:var(--muted); }.participant-row > span:nth-child(4),.participant-row > span:last-child { color:var(--muted); }.participant-header { min-height:42px; color:var(--muted)!important; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.participant-header > span { color:var(--muted)!important; }
.result-track-row { display:grid; grid-template-columns:150px 1fr auto auto; align-items:center; gap:16px; min-height:72px; border-top:1px solid var(--line); }.result-track-row > span:first-child { color:var(--muted); font-size:13px; }.result-track-row strong { display:block; font-size:16px; }.result-track-row small { display:block; color:var(--muted); font-size:12px; margin-top:5px; }
.race-catalog-row { grid-template-columns:145px 1fr 58px 85px 80px; }.race-catalog-row i { color:var(--green); font-size:12px; font-style:normal; font-weight:800; white-space:nowrap; }
.zpi-ranking-grid { grid-template-columns:minmax(0, 1fr); max-width:720px; }.race-catalog-table { overflow-x:auto; overscroll-behavior-x:contain; }
.zpi-full-page { max-width:900px; }.zpi-full-page .gender-tabs { margin-bottom:22px; }.zpi-full-table { border-top:2px solid var(--ink); border-bottom:1px solid var(--line); }.zpi-full-row { display:grid; grid-template-columns:86px minmax(0,1fr) 100px 100px; align-items:center; min-height:52px; gap:16px; border-top:1px solid var(--line); color:var(--ink); font-size:14px; }.zpi-full-row > span:first-child { color:var(--muted); }.zpi-full-row b { color:var(--green); text-align:right; }.zpi-full-row > span:nth-child(3) { color:var(--muted); text-align:center; }.zpi-full-row:not(.zpi-full-header):hover strong { color:var(--green); }.zpi-full-header { min-height:40px; color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.zpi-full-header > span { color:var(--muted)!important; }.zpi-full-header > span:nth-child(3),.zpi-full-header > span:last-child { text-align:center; }
.zpi-view-tabs { margin-top:-4px; }.zpi-category-select { display:flex; align-items:center; gap:10px; margin:0 0 20px; color:var(--muted); font-size:13px; font-weight:700; }.zpi-category-select select { border:1px solid #a8c3b7; background:#fff; padding:9px 34px 9px 10px; color:var(--ink); font:inherit; font-size:13px; font-weight:800; }.race-catalog-row .race-badges { display:flex; width:max-content; margin:7px 0 0; }
@media(max-width:760px) { .result-track-row { grid-template-columns:minmax(0,1fr) auto; gap:8px 12px; align-items:start; padding:13px 0; }.result-track-row > span:first-child { grid-column:1; grid-row:1; }.result-track-row > span:nth-child(2) { grid-column:1; grid-row:2; }.result-track-row .review-status { grid-column:2; grid-row:1; }.result-track-row .track-source { grid-column:2; grid-row:2; align-self:start; font-size:11px; white-space:nowrap; }.info-hint-popover { right:auto; left:50%; width:min(280px,calc(100vw - 36px)); transform:translateX(-50%); }.race-catalog-table .race-catalog-row { grid-template-columns:145px minmax(260px,1fr) 90px 92px 80px; min-width:700px; padding-left:6px; padding-right:6px; }.race-catalog-table .race-catalog-row b,.race-catalog-table .race-catalog-row i { display:block; }.zpi-ranking-grid { max-width:none; } }
@media(max-width:760px) { .zpi-full-row { grid-template-columns:52px minmax(0,1fr) 58px 64px; gap:8px; font-size:13px; }.zpi-full-header { font-size:10px; }.zpi-full-row > span:nth-child(3) { text-align:right; }.zpi-full-header > span:nth-child(3),.zpi-full-header > span:last-child { text-align:right; } }
@media(min-width:600px) and (max-width:900px) and (max-height:600px) and (orientation:landscape) { .season-statistics { padding-top:46px; }.season-ranking-grid { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:740px; margin-left:auto; margin-right:auto; gap:0 26px; }.zpi-ranking-grid { grid-template-columns:minmax(0,1fr); max-width:620px; }.race-catalog-table .race-catalog-row { grid-template-columns:145px minmax(260px,1fr) 90px 92px 80px; min-width:700px; padding-left:6px; padding-right:6px; }.race-catalog-table .race-catalog-row b,.race-catalog-table .race-catalog-row i { display:block; } }
.participant-table.results .participant-row { grid-template-columns:82px minmax(160px,1.3fr) 90px 70px 120px minmax(140px,1fr); }
@media(max-width:760px) { .participant-table.results .participant-row { grid-template-columns:68px 160px 76px 60px 110px 150px; } }
@media(max-width:760px) { .participant-table.results .participant-row { grid-template-columns:56px minmax(180px,1fr) 78px 54px 86px 150px; min-width:686px; }.participant-table.results .participant-row > span:nth-child(2) { min-width:0; }.participant-table.results .participant-row > span:nth-child(2) .athlete-link,.participant-table.results .participant-row > span:nth-child(2) > strong { overflow-wrap:normal; word-break:normal; } }
@media(max-width:760px) { .submission-form input[type="date"] { box-sizing:border-box; min-width:0; width:100%; height:40px; line-height:1.2; } }
.participant-pagination { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 0 0; color:var(--muted); font-size:13px; }.participant-pagination p { margin:0; }.participant-pagination-controls { display:flex; align-items:center; gap:10px; }.participant-pagination button { border:1px solid #a8c3b7; background:#fff; color:var(--green); padding:8px 12px; font:inherit; font-weight:700; cursor:pointer; }.participant-pagination button:disabled { opacity:.45; cursor:not-allowed; }.participant-pagination-page { min-width:100px; text-align:center; }
@media(max-width:760px) { .participant-pagination { align-items:flex-start; flex-direction:column; gap:12px; }.participant-pagination-controls { width:100%; justify-content:space-between; } }
.profile-race-badges { display:block; margin:4px 0 0; }.profile-race-badges .race-badges { margin-left:0; }
@media(max-width:760px) and (orientation:portrait) { .profile-race-badges { display:none; } }
.race-badge.outside-rankings { color:#787f7a; }
.account-role-control { grid-column:1 / -1; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:14px 0; border-top:1px solid var(--line); }.account-role-control span { display:grid; gap:3px; }.account-role-control b { font-size:13px; }.account-role-control small { color:var(--muted); font-size:12px; }.account-role-control button { white-space:nowrap; } @media(max-width:760px) { .account-role-control { align-items:flex-start; flex-direction:column; }.account-role-control button { width:100%; } }
.race-detail-form .race-settings-row { grid-column:1 / -1; display:grid; grid-template-columns:max-content minmax(175px,1fr) minmax(0,1fr) max-content; min-height:48px; align-items:center; gap:18px; padding:12px 0 0; border-top:1px solid var(--line); }.race-detail-form .race-settings-row .admin-check { font-size:13px; }.race-detail-form .race-settings-row .admin-check input { width:18px !important; height:18px; margin:0; flex:0 0 18px; accent-color:var(--green); }.zpi-tier-select { display:flex; align-items:center; gap:9px; color:var(--muted); font-size:12px; font-weight:800; white-space:nowrap; }.zpi-tier-select select { min-width:0; flex:1; border:1px solid #a8c3b7; background:#fff; padding:10px; color:var(--ink); font:inherit; font-size:12px; font-weight:700; }.race-detail-form .race-settings-row button { min-width:148px; padding:12px 16px; } @media(max-width:760px) { .race-detail-form .race-settings-row { grid-template-columns:max-content minmax(130px,1fr) max-content; gap:10px; }.race-detail-form .race-settings-row .admin-check { font-size:11px; line-height:1.2; }.race-detail-form .race-settings-row .admin-check:last-of-type { grid-column:1 / span 2; }.race-detail-form .race-settings-row button { min-width:112px; padding:11px 10px; font-size:12px; } }
.race-detail-form .race-elite-settings-row { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(210px,.75fr) minmax(0,1fr); align-items:center; gap:18px; padding:0 0 12px; border-bottom:1px solid var(--line); }.race-detail-form .race-elite-settings-row .admin-check { font-size:13px; }.race-detail-form .race-elite-settings-row .admin-check input { width:18px !important; height:18px; margin:0; flex:0 0 18px; accent-color:var(--green); }.race-detail-form .race-elite-settings-row .elite-international-check { color:var(--green); }.race-badge.elite-tier { border-style:dashed; } @media(max-width:760px) { .race-detail-form .race-elite-settings-row { grid-template-columns:1fr; gap:10px; }.race-detail-form .race-elite-settings-row .admin-check { font-size:12px; } }
.race-completion-control { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:18px; margin-top:18px; border-top:1px solid var(--line); }.race-completion-control strong { font-size:14px; }.race-completion-control p { margin:4px 0 0; color:var(--muted); font-size:12px; }.race-completion-control button { cursor:pointer; border:1px solid var(--green); padding:10px 13px; font:inherit; font-size:13px; font-weight:800; white-space:nowrap; } @media(max-width:760px) { .race-completion-control { align-items:flex-start; flex-direction:column; }.race-completion-control button { width:100%; } }
@media(max-width:760px) { footer { grid-template-columns:auto minmax(0,1fr); gap:12px; align-items:start; } footer p { padding-top:2px; } footer > span { grid-column:1 / -1; text-align:left; } }
@media(max-width:760px) and (orientation:landscape) { .site-header { height:58px; }.triathlon-marks { gap:5px; margin-left:12px; }.triathlon-marks svg { width:15px; height:15px; }.site-header > nav { display:flex; gap:11px; margin-left:auto; margin-right:10px; }.site-header > nav a { font-size:12px; }.header-action { display:inline-flex; padding:6px 8px; font-size:11px; }.mobile-menu { display:none; } }
.community-poll { padding-bottom:82px; }.account-poll { margin:38px 0 0; padding-top:24px; border-top:2px solid var(--ink); }.account-poll .poll-results { border-top:0; }.poll-status { border:1px solid #a8c3b7; color:var(--green); padding:7px 9px; font-size:11px; font-weight:800; white-space:nowrap; }.community-poll-copy { max-width:600px; margin:0 0 22px; color:var(--muted); font-size:14px; line-height:1.55; }.poll-results { border-top:2px solid var(--ink); }.poll-results > div { display:grid; grid-template-columns:minmax(230px,.72fr) minmax(160px,1fr) 130px; gap:20px; align-items:center; min-height:58px; border-bottom:1px solid var(--line); font-size:14px; font-weight:700; }.poll-results i { display:block; height:8px; overflow:hidden; background:#e5ebe7; }.poll-results i b { display:block; width:0; height:100%; background:var(--green); transition:width .2s ease; }.poll-results small { color:var(--muted); font-size:12px; font-weight:400; text-align:right; }.poll-results > div:first-child i b { background:var(--orange); }.poll-results > div:nth-child(2) i b { background:#5f8d7c; }.poll-vote button { width:100%; cursor:pointer; border:0; background:transparent; padding:0; color:var(--ink); font:inherit; font-weight:800; text-align:left; }.poll-vote > div:hover button { color:var(--green); }.poll-vote > div.selected button { color:var(--green); }.poll-vote button:disabled { cursor:default; }.poll-vote > div.selected { background:#edf7f1; }@media(max-width:760px) { .community-poll { padding-bottom:57px; }.account-poll { padding-top:20px; }.poll-results > div { grid-template-columns:1fr auto; gap:7px 12px; padding:12px 0; }.poll-results i { grid-column:1 / -1; grid-row:2; }.poll-results small { font-size:11px; } }
@media(max-width:760px) { .participant-table { overflow-x:auto; }.participant-row { min-width:690px; padding:0 6px; }.participant-table.results .participant-row { grid-template-columns:68px 76px 60px 110px 160px 150px; }.participant-table.start-list .participant-row { grid-template-columns:70px 125px 170px 150px; } }
.claim-review { display:grid; gap:12px; }.claim-review-row { display:flex; align-items:center; justify-content:space-between; gap:24px; border:1px solid var(--line); padding:18px 20px; }.claim-review-row h2 { margin:8px 0 4px; font-size:17px; }.claim-review-row p,.claim-review-row small { margin:0; color:var(--muted); }.claim-review-actions { display:flex; flex-wrap:wrap; gap:8px; }.claim-review-actions button { cursor:pointer; border:1px solid var(--green); background:var(--green); color:#fff; padding:10px 12px; font:inherit; font-size:12px; font-weight:800; }.claim-review-actions button.secondary-button { background:transparent; color:var(--green); }.status-pill { display:inline-block; border-radius:999px; padding:4px 8px; font-size:10px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }.status-pending_review { background:#f3e8ba; color:#69520c; }.status-pending_email { background:#e7edf0; color:#42525a; }.status-approved { background:#d9eee4; color:#1d6548; }.status-rejected { background:#f4e1df; color:#8d3b32; }
@media(max-width:640px) { .claim-review-row { align-items:flex-start; flex-direction:column; } }
.single-form { grid-template-columns:minmax(0, 1fr) auto; max-width:620px; }.single-form label { grid-column:1; }.single-form button { align-self:end; }.development-link { padding:12px; border:1px dashed #a8c3b7; color:var(--muted); font-size:13px; }.development-link a { color:var(--green); font-weight:800; }.account-page { max-width:980px; }.account-email { color:var(--muted); }.account-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:24px 0 44px; }.account-actions button { cursor:pointer; border:1px solid #a8c3b7; background:transparent; color:var(--green); padding:10px 13px; font:inherit; font-size:13px; font-weight:800; }.submission-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:28px; }.submission-form { display:grid; align-content:start; gap:11px; border-top:2px solid var(--ink); padding-top:20px; }.submission-form h2 { font-size:24px; margin-bottom:8px; }.submission-form label { display:grid; gap:6px; color:var(--ink); font-size:12px; font-weight:800; }.submission-form input,.submission-form textarea { width:100%; border:1px solid #a8c3b7; padding:10px; background:#fff; color:var(--ink); font:inherit; font-size:13px; }.submission-form textarea { min-height:96px; resize:vertical; }.submission-form button { justify-self:start; cursor:pointer; border:1px solid var(--green); background:var(--green); color:#fff; padding:11px 13px; font:inherit; font-size:13px; font-weight:800; }
@media(max-width:760px) { .single-form { grid-template-columns:1fr; }.single-form button { justify-self:start; }.submission-grid { grid-template-columns:1fr; } }
@media(max-width:760px) {
  .submission-grid,
  .submission-form,
  .submission-form label { min-width:0; }
  .submission-form input[type="date"] {
    display:block;
    max-width:100%;
    overflow:hidden;
    -webkit-appearance:none;
    appearance:none;
  }
  .submission-form input[type="date"]::-webkit-date-and-time-value { min-width:0; text-align:left; }
  .submission-form input[type="date"]::-webkit-calendar-picker-indicator { margin:0; }
}
.submission-message { max-width:680px; margin-top:9px !important; white-space:pre-wrap; }.submission-links { display:flex; flex-wrap:wrap; gap:12px; margin-top:10px; }.submission-links a { color:var(--green); font-size:12px; font-weight:800; }
.claim-review-actions button.danger-button { border-color:#d8abab; background:transparent; color:#8a4545; }
.submission-form button.privacy-button { border-color:#a8c3b7; background:transparent; color:var(--green); }
.claim-review-actions textarea { min-height:54px; width:220px; border:1px solid #a8c3b7; padding:8px; font:inherit; font-size:12px; resize:vertical; }.my-submissions { margin-top:52px; border-top:2px solid var(--ink); padding-top:20px; }.my-submissions h2 { margin-bottom:18px; font-size:24px; }.my-submissions article { display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:start; border-top:1px solid var(--line); padding:13px 0; }.my-submissions article strong { font-size:14px; }.my-submissions article p { grid-column:2; margin:0; color:var(--muted); font-size:13px; line-height:1.45; }
.claim-form { grid-template-columns:minmax(0, 1fr) minmax(0, 1.3fr) auto; max-width:900px; }.claim-form textarea { min-height:44px; width:100%; border:1px solid #a8c3b7; padding:10px; background:#fff; color:var(--ink); font:inherit; font-size:12px; resize:vertical; }
@media(max-width:760px) { .claim-form { grid-template-columns:1fr; }.claim-form button { justify-self:start; } }
@media(max-width:760px) {
  input,
  textarea,
  select {
    font-size:16px !important;
  }
}
.ranking-title-row { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:flex-start; gap:0 8px; margin-bottom:14px; }.ranking-title-row h3 { margin-bottom:0; }.zpi-full-link { color:var(--green); font-size:16px; font-weight:800; white-space:nowrap; }.zpi-full-link:hover { color:var(--ink); }
.gender-tabs a { cursor:pointer; border:1px solid #a8c3b7; background:#fff; color:var(--green); padding:10px 16px; font:inherit; font-size:13px; font-weight:800; }
.gender-tabs a + a { border-left:0; }
.gender-tabs a.active { background:var(--green); border-color:var(--green); color:#fff; }
.category-tabs a { cursor:pointer; border:1px solid #a8c3b7; background:transparent; color:var(--green); padding:8px 10px; font-family:inherit; font-size:12px; font-weight:700; }
.category-tabs a.active { background:var(--green); border-color:var(--green); color:#fff; }
.account-actions .profile-claim-link { margin-top:0; }.account-actions button { display:inline-flex; align-items:center; }.claim-note { max-width:600px; margin:8px 0 !important; color:var(--muted) !important; font-size:13px; line-height:1.4; white-space:pre-wrap; }
.account-top { display:flex; justify-content:space-between; gap:28px; align-items:flex-start; margin-bottom:44px; }.account-top h1 { margin-bottom:10px; }.account-top .account-actions { justify-content:flex-end; margin:0; }.account-actions .privacy-button { border-color:#d8abab; color:#8a4545; }
@media(max-width:760px) { .account-top { align-items:stretch; flex-direction:column; }.account-top .account-actions { justify-content:flex-start; } }
.cup-source { display:block; margin:-11px 0 8px; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }.data-source-note { margin:28px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
@media(max-width:760px) { .participant-table.results .participant-row { grid-template-columns:56px minmax(180px,1fr) 78px 54px 86px 150px; min-width:686px; }.participant-table.results .participant-row > span:nth-child(2) { min-width:0; }.participant-table.results .participant-row > span:nth-child(2) .athlete-link,.participant-table.results .participant-row > span:nth-child(2) > strong { overflow-wrap:normal; word-break:normal; } }
