:root{--background:#f7f9f6;--foreground:#17201a;--muted:#637064;--line:#d8dfd6;--surface:#fff;--accent:#27624a;--header-height:88px;--bg-opacity:.93}@media (max-width:640px){:root{--bg-opacity:.7}}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background-color:var(--background);color:var(--foreground);background:linear-gradient(rgba(247, 249, 246, var(--bg-opacity)), rgba(247, 249, 246, var(--bg-opacity))), url(/topographic-background-white.svg);background-position:50%;background-size:100%;font-family:Helvetica,sans-serif}button,input,select{font:inherit}button:not(:disabled),select:not(:disabled){cursor:pointer}a{color:var(--muted);text-decoration:underline}a:hover{color:var(--foreground)}.eyebrow{color:var(--muted);letter-spacing:0;text-transform:uppercase;margin:0 0 10px;font-size:.95rem;font-weight:700}h1{letter-spacing:0;margin:0;font-size:clamp(2.5rem,6vw,3.2rem);line-height:.9}h2{margin:0}.page-shell{max-width:1180px;margin:0 auto;padding:16px 20px 0}.page-header{max-width:720px}.section-note{color:var(--muted)}.page-shell>section+section{border-top:1px solid var(--line);margin-top:28px;padding-top:28px}.faq-list{gap:12px;max-width:900px;margin:36px 0 0;padding:0;list-style:none;display:grid}.faq-list li{min-width:0}.faq-list details{background:var(--surface);border:1px solid var(--line);border-radius:10px;scroll-margin-top:12px;overflow:hidden}.faq-list details[open]{border-color:var(--accent)}.faq-list summary{cursor:pointer;justify-content:space-between;align-items:center;gap:24px;padding:20px 22px;font-size:1.15rem;font-weight:700;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{color:var(--accent);content:"+";flex:none;font-size:1.5rem;line-height:1;transition:transform .16s}.faq-list details[open] summary{border-bottom:1px solid var(--line);color:var(--accent)}.faq-list details[open] summary:after{transform:rotate(45deg)}.faq-list summary:hover{background:#edf4ee}.faq-list summary:focus-visible{outline-offset:-3px;outline:3px solid #27624a4d}.faq-answer{padding:2px 22px 22px}.faq-answer p{color:var(--muted);max-width:760px;margin:16px 0 0;line-height:1.65}
.home{padding:0 20px}.hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:860px;min-height:clamp(320px,42vh,390px);margin:0 auto;padding:48px 0 24px;display:flex}#home-title{margin-bottom:.9em;font-family:Helvetica,sans-serif}.search-panel{z-index:3;width:100%;max-width:700px;position:relative}.search{gap:10px;width:100%;display:grid;position:relative}.search-icon{color:var(--muted);pointer-events:none;stroke:currentColor;stroke-linecap:round;stroke-width:2px;z-index:1;width:25px;height:25px;position:absolute;top:50%;left:24px;transform:translateY(-50%)}.search:focus-within .search-icon{color:var(--accent)}.search-icon circle{fill:none}.search input{appearance:none;background:var(--surface);border:1.5px solid var(--foreground);color:var(--foreground);border-radius:999px;outline:none;width:100%;min-height:64px;padding:0 26px 0 64px;font-size:1.33rem}.search input:focus{border-color:var(--accent);box-shadow:0 0 0 4px #27624a26}.search-results{background:var(--surface);border:1px solid var(--line);text-align:left;z-index:2;border-radius:18px;margin-top:0;display:grid;position:absolute;top:calc(100% + 10px);left:0;right:0;overflow:hidden;box-shadow:0 18px 44px #17201a1a}.search-results a{color:var(--foreground);justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;text-decoration:none;display:flex}.search-results a+a,.possible-results{border-top:1px solid var(--line)}.possible-results p{color:var(--muted);letter-spacing:0;text-transform:uppercase;margin:0;padding:12px 18px 4px;font-size:.78rem;font-weight:700}.search-results a:focus-visible,.search-results a:hover{background:#edf4ee;outline:none}.search-results small,.rank-list small{color:var(--muted)}.home-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1180px;margin:0 auto;display:grid}.summary-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:18px}.section-heading{margin-bottom:16px}.section-heading h2,.about-strip h2{letter-spacing:0;margin:4px 0 0;font-size:1.35rem;line-height:1.15}.rank-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.rank-list li{justify-content:space-between;align-items:center;gap:12px;display:flex}.rank-list strong,.rank-list small{display:block}.rank-list b{color:var(--accent);font-size:1.1rem}.latest-update-panel{font-size:.9rem}.latest-update-date{color:var(--muted);margin:10px 0 0}.latest-update-section{border-top:1px solid var(--line);padding:14px 0}.latest-update-section:last-child{padding-bottom:0}.latest-update-section h3{margin:0 0 10px;font-size:.92rem}.latest-update-list{gap:7px;margin:0;padding-left:20px;display:grid}.mover-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.mover-list li{grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:6px;display:grid}.movement-arrow,.mover-change b{color:var(--accent)}.next-rated-race{gap:6px;display:grid}.next-rated-race h3{margin-bottom:4px}.next-rated-race-link{color:var(--accent);justify-self:start;font-size:1.08rem;font-weight:700;text-decoration:none}.next-rated-race-link:focus-visible,.next-rated-race-link:hover{text-underline-offset:3px;outline:none;text-decoration:underline}.next-rated-race time{color:var(--muted)}.next-rated-race p{color:var(--muted);margin:4px 0 0;line-height:1.4}.latest-update-sr-only{clip-path:inset(50%);width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.about-strip{border-top:1px solid var(--line);max-width:1180px;margin:36px auto 0;padding-top:32px}.about-strip p{color:var(--muted);font-size:1.08rem;line-height:1.6}@media (max-width:640px){.home{min-height:auto}.home-grid{grid-template-columns:1fr}.hero{min-height:auto;padding:36px 0 52px}.search-results{margin-top:10px;position:static}}@media (min-width:641px) and (max-width:1040px){.home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.athlete-hero{text-align:center;gap:24px;display:grid}.athlete-hero h1{overflow-wrap:anywhere;font-size:clamp(3.125rem,10vw,5rem)}.athlete-summary{text-align:left;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:8px 0 0;display:grid}.athlete-summary div{background:var(--surface);border:1px solid var(--line);border-radius:10px;min-width:0;padding:18px}.athlete-summary dt{color:var(--muted);text-transform:uppercase;font-size:.88rem;font-weight:700}.athlete-summary dd{margin:6px 0 0;font-size:1.2rem;font-weight:700}.athlete-summary [data-emphasis] dd{color:var(--accent);font-size:1.9rem}.athlete-summary [data-emphasis=rating] dd{font-size:2.25rem}.athlete-rating-note{color:var(--muted);margin:-8px 0 0}.profile-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.profile-actions-section{border-top:1px solid var(--line);margin-top:40px;padding-top:24px}.profile-actions button{background:var(--surface);border:1px solid var(--line);color:var(--foreground);cursor:pointer;border-radius:999px;padding:11px 16px}.profile-actions button:focus-visible,.profile-actions button:hover{border-color:var(--accent);outline:none}.athlete-section{margin-top:56px}.athlete-section h2{margin:18px 0 8px;font-size:1.5rem}.race-table{border-collapse:collapse;width:100%}.race-table th,.race-table td{border-bottom:1px solid var(--line);text-align:left;padding:14px 16px}.race-table th{color:var(--muted);font-size:.88rem;font-weight:700}.race-table tr:last-child td{border-bottom:0}.race-table a{color:var(--foreground);text-underline-offset:3px}@media (max-width:640px){.athlete-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.athlete-summary div{padding:16px}.race-table th,.race-table td{padding:12px 8px}}
.race-directory-wrap{overflow:auto}.race-directory{background:var(--surface);border:1px solid var(--line);border-collapse:collapse;border-radius:8px;width:100%}.race-directory th,.race-directory td{border-bottom:1px solid var(--line);text-align:left;padding:14px 16px}.race-directory th{background:var(--surface);color:var(--muted);z-index:1;font-size:.88rem;position:sticky;top:0}.race-directory tbody tr:hover td{background:#edf4ee}.race-directory tbody tr{cursor:pointer}.race-directory tbody tr:focus-within{outline:2px solid var(--accent);outline-offset:-2px}.race-directory th button{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.race-directory a,.rank-list a{color:var(--foreground);text-decoration:none}.race-directory a:hover,.rank-list a:hover{color:var(--accent)}.race-hero{gap:12px;max-width:800px;display:grid}.badge{border:1px solid var(--accent);color:var(--accent);letter-spacing:0;text-transform:uppercase;border-radius:999px;justify-self:start;margin:0;padding:7px 11px;font-size:.82rem;font-weight:700;display:inline-flex}.section-note{margin-bottom:0}.race-facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.race-fact{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px 24px}.race-fact span,.race-fact strong,.race-fact a{display:block}.race-fact span{color:var(--muted);font-size:.88rem}.race-fact strong,.race-fact a{color:var(--foreground);overflow-wrap:anywhere;margin-top:8px;font-size:1.08rem;line-height:1.3}.race-history{grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:40px;margin-top:56px;display:grid}.race-history h2{margin:0 0 16px;font-size:1.4rem}.race-history-table-wrap{overflow-x:auto}.race-history-table{border-collapse:collapse;width:100%}.race-history-table th,.race-history-table td{border-bottom:1px solid var(--line);text-align:left;padding:13px 12px}.race-history-table th{color:var(--muted);font-size:.88rem}.race-history-table tr:last-child td{border-bottom:0}@media (max-width:820px){.race-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.race-history{grid-template-columns:1fr}}@media (max-width:560px){.race-facts{grid-template-columns:1fr}}
.rankings-locator{max-width:440px;scroll-margin-top:calc(env(safe-area-inset-top) + 12px);z-index:5;margin-bottom:16px;position:relative}.rankings-locator label{color:var(--muted);margin-bottom:6px;font-size:.78rem;font-weight:700;display:block}.rankings-locator input{background:var(--surface);border:1px solid var(--line);color:var(--foreground);border-radius:6px;width:100%;min-height:44px;padding:0 12px}.rankings-locator input:focus{border-color:var(--accent);outline-offset:2px;outline:2px solid #27624a26}.rankings-locator-results{background:var(--surface);border:1px solid var(--line);touch-action:pan-y;border-radius:6px;max-height:288px;margin:6px 0 0;padding:0;list-style:none;position:absolute;left:0;right:0;overflow-y:auto;box-shadow:0 16px 32px #17201a1f}.rankings-locator-results li+li{border-top:1px solid var(--line)}.rankings-locator-results button{color:var(--foreground);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;min-height:48px;padding:8px 12px;display:flex}.rankings-locator-results button:hover,.rankings-locator-results button:focus-visible{background:#edf4ee;outline:none}.rankings-locator-results small{color:var(--muted);text-align:right;margin-left:12px}.rankings-locator-empty{color:var(--muted);padding:12px}.rankings-table-shell{position:relative}.rankings-table-scroll:after{content:"";height:calc(max(min(68vh,720px),420px) - 104px);display:block}.rankings-position-nav{background:var(--surface);border:1px solid var(--line);box-sizing:border-box;white-space:nowrap;border-bottom:0;border-radius:8px 8px 0 0;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:10px 12px;display:flex}.rankings-position-summary{text-align:center;min-width:116px}.rankings-position-nav button,.rankings-position-nav input{background:var(--surface);border:1px solid var(--line);color:var(--foreground);border-radius:6px;min-height:34px}.rankings-position-nav button{padding:0 9px}.rankings-position-nav button:disabled{opacity:.4}.rankings-position-nav form{align-items:center;gap:6px;display:flex}.rankings-position-nav input{width:72px;padding:0 7px}.rankings-position-nav button:focus-visible,.rankings-position-nav input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rankings-position-error{color:#8a2f24;font-size:.75rem}.rankings-rank{color:var(--muted);font-variant-numeric:tabular-nums}.rankings-table tbody tr.is-located:focus{outline:2px solid var(--accent);outline-offset:-2px}.rankings-table tbody tr.is-located:focus td,.rankings-table tbody tr.is-located:focus-within td{background:#d9eadf}@media (max-width:640px){.rankings-locator{max-width:none}.rankings-position-nav{flex-wrap:wrap;justify-content:space-between}.rankings-position-error{text-align:center;flex:1 0 100%}.rankings-table-scroll:after{height:calc(max(62vh,380px) - 104px)}}
.rankings-page{max-width:1280px;margin:0 auto;padding:10px 20px 0}.rankings-controls-row{grid-template-columns:minmax(240px,.75fr) minmax(480px,1.25fr);align-items:end;gap:12px;margin-bottom:16px;display:grid}.rankings-controls-row .rankings-locator,.rankings-controls-row .rankings-toolbar{max-width:none;margin-bottom:0}.rankings-toolbar{grid-template-columns:auto minmax(160px,1fr) auto;align-items:end;gap:12px;margin-bottom:16px;display:grid}.ranking-control{border:0;gap:6px;min-width:0;margin:0;padding:0;display:grid}.ranking-control>span,.ranking-control legend{color:var(--muted);padding:0;font-size:.78rem;font-weight:700}.ranking-control select,.rankings-toolbar-meta button{-webkit-appearance:none;background:var(--surface);border:1px solid var(--line);color:var(--foreground);border-radius:6px;min-height:40px;padding:0 10px}.ranking-segmented{border:1px solid var(--line);border-radius:6px;min-height:40px;display:flex;overflow:hidden}.ranking-segmented button{background:var(--surface);color:var(--muted);border:0;padding:0 11px}.ranking-segmented button+button{border-left:1px solid var(--line)}.ranking-segmented button[aria-pressed=true]{background:var(--accent);color:#fff}.ranking-control select:focus-visible,.ranking-segmented button:focus-visible,.rankings-toolbar-meta button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rankings-toolbar-meta{align-items:flex-end;gap:6px;display:grid}.rankings-toolbar-meta button{cursor:pointer}.rankings-toolbar-meta button:disabled{cursor:default;opacity:.45}.rankings-table-frame{border:1px solid var(--line);border-radius:0 0 8px 8px;overflow-x:auto}.rankings-table-scroll{min-width:100%;height:min(68vh,720px);min-height:420px;position:relative;overflow-y:auto}.rankings-table{background:var(--surface);border-collapse:collapse;table-layout:fixed;min-width:100%;display:grid}.rankings-table thead{background:var(--surface);z-index:2;display:grid;position:sticky;top:0}.rankings-table tbody{display:grid;position:relative}.rankings-table tr{width:100%;display:flex}.rankings-table tbody tr{cursor:pointer;position:absolute;top:0;left:0}.rankings-table th,.rankings-table td{border-bottom:1px solid var(--line);text-align:left;flex:none;align-items:center;min-width:0;padding:0 14px;display:flex}.rankings-table th{color:var(--muted);height:46px;font-size:.82rem;font-weight:700}.rankings-table th button{color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:5px;min-width:0;padding:0;display:flex}.rankings-table th button span{flex:0 0 10px}.rankings-table th button:focus-visible{color:var(--foreground);outline:2px solid var(--accent);outline-offset:3px}.rankings-table td{text-overflow:ellipsis;white-space:nowrap;height:52px;font-size:.92rem;overflow:hidden}.rankings-table tbody tr:hover td{background:#edf4ee}.rankings-table tbody tr:focus-within{outline:2px solid var(--accent);outline-offset:-2px}.rankings-table a{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;font-weight:700;text-decoration:none;overflow:hidden}.rankings-table a:focus-visible,.rankings-table a:hover{color:var(--accent);outline:none}@media (max-width:640px){.rankings-table-scroll{height:62vh;min-height:380px}}@media (max-width:820px){.rankings-controls-row{grid-template-columns:1fr}}@media (max-width:640px){.rankings-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.rankings-toolbar{grid-template-columns:1fr}.ranking-segmented button{flex:1}}
.site-header{justify-content:space-between;align-items:center;gap:24px;padding:18px clamp(20px,5vw,56px);display:flex}.brand{color:var(--foreground);align-items:center;gap:12px;min-width:0;text-decoration:none;display:inline-flex}.brand strong,.brand small{display:block}.brand strong{letter-spacing:0;font-size:1rem}.brand small{color:var(--muted);margin-top:2px;font-size:.78rem}.brand-mark{border:1px solid var(--line);color:var(--accent);border-radius:999px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.brand-mark svg{width:30px;height:30px}.brand-mark path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.6px}.site-nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.site-nav a{color:var(--muted);border-radius:999px;padding:10px 12px;text-decoration:none}.site-nav a:focus-visible,.site-nav a:hover{background:var(--surface);color:var(--foreground);outline:none}.site-footer{border-top:1px solid var(--line);margin-top:34px;padding:20px}.site-footer-inner{justify-content:space-between;align-items:center;gap:20px;max-width:1180px;margin:0 auto;display:flex}.site-footer small{color:var(--muted)}.site-footer nav{flex-wrap:wrap;gap:12px 24px;display:flex}.site-footer a{color:var(--muted);text-underline-offset:3px}.site-footer a:focus-visible,.site-footer a:hover{color:var(--foreground)}@media (max-width:640px){.site-header{flex-direction:column;align-items:flex-start}.site-nav{justify-content:space-around;width:100%}.site-nav a{padding:6px 7px}.site-footer-inner{flex-direction:column;align-items:flex-start}}
