:root{--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--tri-text);background:var(--tri-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}#root{text-align:center;border-inline:1px solid var(--tri-border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}:where(h1,h2,h3,h4,h5,h6){color:var(--tri-text-heading)}h1,h2{font-family:var(--heading);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--tri-text);border-radius:4px;display:inline-flex}code{background:var(--tri-surface);padding:4px 8px;font-size:15px;line-height:135%}.latest-news{box-sizing:border-box;text-align:left;border:1px solid var(--tri-border);background:var(--tri-surface);border-radius:16px;min-width:0;max-width:none;margin-left:auto;margin-right:auto;padding:0 14px}.latest-news__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 12px;padding-top:6px;display:flex}.latest-news__header h2{margin:0;padding:8px 0;font-size:18px;font-weight:600;line-height:1.4}.latest-news__channel{min-height:44px;color:var(--tri-muted);white-space:nowrap;align-items:center;gap:5px;margin-left:auto;font-size:12px;text-decoration:none;display:inline-flex}.latest-news__channel svg{width:17px;height:17px;color:var(--tri-accent)}.latest-news__row:last-child{border-bottom:0}.latest-news__row{box-sizing:border-box;min-height:56px;color:var(--tri-text);border-bottom:1px solid var(--tri-border);align-items:center;gap:10px;padding:10px 0;text-decoration:none;display:flex}.latest-news__icon{width:30px;height:30px;color:var(--tri-accent);background:color-mix(in srgb, var(--tri-accent) 10%, transparent);border-radius:50%;flex:0 0 30px;place-items:center;display:grid}.latest-news__icon svg{width:17px;height:17px}.latest-news__title{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;min-width:0;font-size:14px;font-weight:500;line-height:20px;display:-webkit-box;overflow:hidden}.latest-news__chevron{color:var(--tri-accent);flex:none;font-size:22px;line-height:24px}.latest-news a:hover{color:var(--tri-accent)}.latest-news a:focus-visible{outline:2px solid var(--tri-accent);outline-offset:2px;border-radius:4px}.bottom-nav__icon{width:24px;height:24px;margin:0 auto;display:block}.bottom-nav button{place-items:center;display:grid}@media (width<=640px){.bottom-nav__icon{width:22px;height:22px}}.feedback-page{max-width:680px}.feedback-page h1{font-size:26px}.feedback-context,.feedback-privacy{color:var(--tri-muted);overflow-wrap:anywhere;font-size:14px;line-height:1.5}.feedback-page fieldset{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.feedback-page label{margin-top:12px;font-weight:500}.feedback-page input,.feedback-page select,.feedback-page textarea{box-sizing:border-box;border:1px solid var(--tri-border-strong);background:var(--tri-surface);width:100%;min-width:0;min-height:44px;color:var(--tri-text);font:inherit;border-radius:10px;padding:12px;font-size:16px}.feedback-page textarea{resize:vertical}.feedback-page button,.feedback-entry{min-height:44px}.feedback-page button{border:1px solid var(--tri-border-strong);background:var(--tri-surface);color:var(--tri-text);font:inherit;cursor:pointer;border-radius:10px;padding:10px 16px}.feedback-page .feedback-submit{background:var(--tri-accent);color:var(--tri-bg);font-weight:600}.feedback-page :focus-visible,.feedback-entry:focus-visible{outline:2px solid var(--tri-accent);outline-offset:3px}.feedback-page :disabled{opacity:.65;cursor:wait}.feedback-page small{color:var(--tri-muted);overflow-wrap:anywhere}.feedback-page [role=alert],.feedback-page [id$=-error]{color:var(--tri-accent)}.feedback-page [id$=-error]:empty{display:none}.feedback-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.feedback-success{gap:16px;display:grid}.feedback-entry{color:var(--tri-muted);font:inherit;cursor:pointer;background:0 0;border:0;margin-top:12px;padding:10px 0;font-size:13px}button.more-card.feedback-entry{text-align:left;width:100%;color:var(--tri-text);margin:0;padding:20px 50px 20px 20px}.more-card.feedback-entry strong{margin-bottom:7px;font-size:18px;display:block}.more-card.feedback-entry small{color:var(--tri-muted);font-size:13px}.app.feedback-page{text-align:left}.feedback-page .page-back-button{align-items:center;margin-bottom:8px;display:inline-flex;position:static}.app.feedback-page>.section:first-of-type{margin-top:12px}.feedback-page h1{margin:0 0 14px}.feedback-page h1:focus{outline:none}.athlete-detail__hero{text-align:left;grid-template-columns:132px minmax(0,1fr);align-items:start;gap:22px;margin-bottom:22px;padding-right:104px;display:grid}.athlete-detail__portrait-wrap{aspect-ratio:1;width:132px}.app--athlete-detail .athlete-detail__image,.app--athlete-detail .athlete-detail__image--placeholder{border:1px solid var(--tri-border);object-fit:cover;object-position:top center;background:var(--tri-surface);width:100%;height:100%;color:var(--tri-muted);box-sizing:border-box;border-radius:24px;place-items:center;margin:0;font-size:42px;font-weight:800;display:grid}.athlete-detail__identity{text-align:left;min-width:0;padding-top:2px}.app--athlete-detail .athlete-detail__identity h1{color:var(--tri-text);letter-spacing:-.6px;overflow-wrap:anywhere;text-align:left;margin:0 0 6px;padding:0;font-size:clamp(26px,5vw,36px);line-height:1.04}.athlete-detail__flag-inline{white-space:nowrap;overflow-wrap:normal;vertical-align:.08em;margin-left:4px;font-size:.72em;display:inline-block}.athlete-detail__facts{color:var(--tri-muted);overflow-wrap:anywhere;text-align:left;margin:5px 0 0;font-size:13px;font-weight:400;line-height:1.45}.app--athlete-detail .athlete-detail__identity .athlete-detail__meta{color:var(--tri-muted);overflow-wrap:anywhere;text-align:left;margin:0;padding:0;font-size:14px;font-weight:500;line-height:1.4}.athlete-detail__socials{justify-content:flex-start;align-items:center;gap:9px;margin-top:13px;display:flex}.athlete-social-icon{border:1px solid var(--tri-border-strong);width:36px;height:36px;color:var(--tri-text);background:#ffffff05;border-radius:11px;place-items:center;transition:border-color .15s,color .15s,background .15s,transform .15s;display:grid}.athlete-social-icon:hover{background:var(--tri-accent-soft);color:var(--tri-accent);border-color:#f3b72b9e;transform:translateY(-1px)}.athlete-social-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.athlete-social-icon__dot,.athlete-social-icon__play{fill:currentColor;stroke:none}.athlete-detail__achievements-list{list-style:none;padding-left:0!important}.athlete-detail__achievements-list li{grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px;display:grid}.athlete-achievement__icon{align-self:start;place-items:center;width:28px;height:26px;margin-top:-1px;display:grid}.athlete-achievement__emoji{font-size:20px;line-height:1}.athlete-achievement__laurel{fill:url(#laurelGreen);stroke:#3b9f46;stroke-width:.45px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 1px #00000038);width:25px;height:25px;overflow:visible}.app--athlete-detail .athlete-results-year__toggle{grid-template-columns:minmax(0,1fr) auto 26px;gap:8px;min-height:44px;display:grid}.app--athlete-detail .athlete-results-year__toggle>*{overflow-wrap:anywhere;min-width:0}.app--athlete-detail .athlete-results-year__chevron{grid-column:3;place-items:center;width:26px;height:26px;display:grid}.athlete-results-year__label{border:1px solid color-mix(in srgb, var(--tri-accent) 40%, transparent);background:var(--tri-surface-raised);color:var(--tri-accent);border-radius:6px;grid-column:2;padding:4px 10px;font-size:15px;font-weight:800;line-height:1.3;display:inline-block}.athlete-results-year+.athlete-results-year{border-top:1px solid var(--tri-border);margin-top:0}@media (width<=640px){.athlete-detail__hero{grid-template-columns:112px minmax(0,1fr);align-items:start;gap:18px;margin-bottom:22px;padding-right:0}.athlete-detail__portrait-wrap{width:112px}.app--athlete-detail .athlete-detail__image,.app--athlete-detail .athlete-detail__image--placeholder{border-radius:20px}.athlete-detail__identity{padding-top:1px}.app--athlete-detail .athlete-detail__identity h1{margin-bottom:6px;font-size:clamp(22px,6vw,27px);line-height:1.05}.athlete-detail__socials{margin-top:11px}.athlete-social-icon{border-radius:10px;width:34px;height:34px}.athlete-social-icon svg{width:18px;height:18px}.athlete-detail__achievements-list li{grid-template-columns:26px minmax(0,1fr);gap:8px}.athlete-achievement__icon{width:26px}.athlete-achievement__laurel{width:23px;height:23px}}@media (width<=420px){.athlete-detail__hero{grid-template-columns:104px minmax(0,1fr);gap:15px}.athlete-detail__portrait-wrap{width:104px}.app--athlete-detail .athlete-detail__identity h1{font-size:22px}}.race-detail-page--table{max-width:1180px}.race-detail-page--table .race-detail__summary{max-width:720px;margin:0 auto}.results-table{text-align:left;margin-top:30px}.results-table__toolbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:12px;display:flex}.results-table__title-row{align-items:center;gap:14px;width:100%;display:flex}.results-table__toolbar h2{margin:0;font-size:22px}.results-table__gender-tabs{border:1px solid var(--tri-border);background:var(--tri-surface);border-radius:12px;gap:4px;margin-left:auto;padding:4px;display:flex}.results-table__gender-tabs button{color:#999;cursor:pointer;background:0 0;border:0;border-radius:8px;min-width:76px;padding:8px 14px;font-size:12px;font-weight:700}.results-table__gender-tabs button.is-active{background:var(--tri-accent);color:var(--tri-bg)}.results-table__sort-tabs{border:1px solid var(--tri-border);background:var(--tri-surface);border-radius:12px;gap:4px;padding:4px;display:none}.results-table__sort-tabs button{color:#999;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 11px}.results-table__sort-tabs button.is-active{background:var(--tri-accent);color:var(--tri-bg);font-weight:700}.results-table__desktop-wrap{border:1px solid var(--tri-border);background:var(--tri-surface);box-sizing:border-box;border-radius:18px;width:100%;overflow-x:auto}.results-table__desktop{table-layout:fixed;border-collapse:collapse;width:100%;min-width:740px}.results-table__desktop th{color:#858585;text-transform:uppercase;letter-spacing:.5px;text-align:left;border-bottom:1px solid var(--tri-border);padding:13px 7px;font-size:11px}.results-table__desktop th button{color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;margin:-5px -7px;padding:5px 7px;transition:background .16s,color .16s}.results-table__desktop th button:hover{color:var(--tri-accent)}.results-table__desktop th button.is-active-sort{background:var(--tri-accent);color:var(--tri-bg);font-weight:800}.results-table__desktop td{border-bottom:1px solid var(--tri-border);color:#d7d7d7;white-space:nowrap;text-overflow:ellipsis;padding:12px 7px;font-size:12px;overflow:hidden}.results-table__desktop th:first-child,.results-table__desktop td:first-child{width:6%}.results-table__desktop th:nth-child(2),.results-table__desktop td:nth-child(2){width:31%}.results-table__desktop th:nth-child(n+3),.results-table__desktop td:nth-child(n+3){text-align:center;width:10.5%}.results-table__desktop th:nth-child(n+3) button{margin-left:auto;margin-right:auto}.results-table__desktop tbody tr:last-child td{border-bottom:0}.results-table__desktop tbody tr.is-clickable{cursor:pointer}.results-table__desktop tbody tr.is-clickable:hover{background:var(--tri-surface-raised)}.results-table__position{font-weight:800;color:var(--tri-accent)!important}.results-table__position small,.results-table__mobile-rank small{color:#777;font-size:inherit;margin-left:4px;font-weight:800}.results-table__athlete{align-items:center;gap:8px;min-width:0;display:flex}.results-table__athlete img,.results-table__mobile-athlete img,.results-table__avatar{object-fit:cover;border-radius:50%;flex:0 0 34px;width:34px;height:34px}.results-table__avatar{background:var(--tri-border);color:#b8b8b8;place-items:center;font-weight:700;display:grid}.results-table__athlete div{flex-direction:column;gap:3px;min-width:0;display:flex;overflow:hidden}.results-table__athlete strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.results-table__athlete small,.results-table__mobile-athlete small{color:#777;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:10px;display:block;overflow:hidden}.results-table__total{font-weight:800;color:#fff!important}.best-split-badge{border:1px solid var(--tri-accent);color:var(--tri-accent);border-radius:7px;margin:-4px -7px;padding:3px 6px;font-weight:800;line-height:1.2;display:inline-block}.results-table__mobile{display:none}@media (width>=701px){.race-detail-page--table{box-sizing:border-box;width:100%;max-width:none;margin-left:0;margin-right:0}.race-detail-page--table .race-detail__summary{width:100%;max-width:none;margin-left:0;margin-right:0}.results-table{width:100%}}@media (orientation:landscape) and (width<=900px){.results-table__desktop{min-width:0}.results-table__desktop th,.results-table__desktop td{padding-left:5px;padding-right:5px}.results-table__athlete{gap:6px}.results-table__athlete img,.results-table__avatar{flex-basis:30px;width:30px;height:30px}}@media (width<=700px) and (orientation:portrait){.results-table__desktop-wrap{display:none}.results-table__mobile{border:1px solid var(--tri-border);background:var(--tri-surface);border-radius:18px;display:block;overflow:hidden}.results-table__toolbar{flex-direction:column;align-items:stretch}.results-table__title-row{justify-content:space-between;min-height:44px}.results-table__gender-tabs{margin-left:auto}.results-table__gender-tabs button{min-width:72px;padding:9px 12px}.results-table__sort-tabs{box-sizing:border-box;grid-template-columns:repeat(4,1fr);width:100%;display:grid}.results-table__sort-tabs button{padding:9px 4px;font-size:12px}.results-table__mobile-head,.results-table__mobile-row{grid-template-columns:48px minmax(0,1fr) 72px;align-items:center;gap:8px;display:grid}.results-table__mobile-head{color:#777;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--tri-border);padding:10px 12px;font-size:10px}.results-table__mobile-head span:last-child{text-align:right}.results-table__mobile-row{border:0;border-bottom:1px solid var(--tri-border);color:#fff;text-align:left;background:0 0;width:100%;padding:11px 12px}.results-table__mobile-row:last-child{border-bottom:0}.results-table__mobile-rank{color:var(--tri-accent);white-space:nowrap;font-size:13px;font-weight:800}.results-table__mobile-athlete{align-items:center;gap:8px;min-width:0;display:flex}.results-table__mobile-athlete>span:last-child{min-width:0}.results-table__mobile-athlete strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.results-table__mobile-athlete img,.results-table__mobile-athlete .results-table__avatar{flex-basis:32px;width:32px;height:32px}.results-table__mobile-time{text-align:right;font-size:12px}}.app{color:#fff;background:radial-gradient(circle at 100% 0,#ffbe3214,#0000 35%),#171717;min-height:100vh;padding:20px 20px 110px}.hero{background:linear-gradient(135deg,#ffffff08,#0000),#1e1e1e;border:1px solid #343434;border-radius:28px;flex-direction:column;justify-content:space-between;min-height:360px;padding:28px;display:flex}.hero__brand{align-items:center;gap:16px;display:flex}.hero__logo-image{object-fit:cover;border-radius:16px;width:64px;height:64px}.hero h1{letter-spacing:1px;margin:0;font-size:28px}.hero__brand p{color:#a8a8a8;margin:4px 0 0}.hero__text h2{margin:0;font-size:clamp(38px,7vw,64px);line-height:.95}.hero__text h2 span{color:#f3b72b}.hero__text p{color:#a8a8a8;margin:18px 0 0;font-size:12px;line-height:1.5}.section{margin-top:32px}.section__header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;display:flex}.section__header h2{text-transform:uppercase;margin:0;font-size:22px}.section__header button{color:#f3b72b;cursor:pointer;background:0 0;border:0;font-size:16px}.race-card,.news-card{background:#202020;border:1px solid #333;border-radius:22px;justify-content:space-between;align-items:center;margin-bottom:14px;padding:22px;display:flex}.race-card{cursor:pointer}.race-card h3,.news-card h3{margin:8px 0;font-size:20px}.race-card p,.news-card p{color:#a8a8a8;margin:0}.race-card__tag{color:#f3b72b;border:1px solid #f3b72b;border-radius:7px;padding:5px 9px;font-size:13px;display:inline-block}.race-card__tag--blue{color:#21b7c8;border-color:#21b7c8}.race-card__arrow{color:#8e8e8e;font-size:34px}.features{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px;display:grid}.feature-card{text-align:center;cursor:pointer;background:#202020;border:1px solid #343434;border-radius:24px;min-height:200px;padding:24px 18px}.feature-card__icon{margin-bottom:18px;font-size:34px}.feature-card h3{text-transform:uppercase;margin:0 0 10px;font-size:18px}.feature-card p{color:#a8a8a8;margin:0;line-height:1.4}.news-card__telegram{background:#229ed9;border-radius:50%;place-items:center;width:44px;height:44px;font-size:22px;display:grid}.bottom-nav{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#1c1c1cf0;border:1px solid #343434;border-radius:24px;grid-template-columns:repeat(5,1fr);gap:8px;padding:12px;display:grid;position:fixed;bottom:18px;left:20px;right:20px}.bottom-nav button{color:#a8a8a8;background:0 0;border:0;min-height:50px;font-size:24px}.calendar-search{box-sizing:border-box;color:#fff;background:#202020;border:1px solid #343434;border-radius:16px;outline:none;width:100%;margin-bottom:14px;padding:16px 18px;font-size:16px}.calendar-search:focus{border-color:#f3b72b}.calendar-filters{gap:8px;margin-bottom:20px;display:flex;overflow-x:auto}.calendar-filters button{color:#a8a8a8;white-space:nowrap;cursor:pointer;background:#202020;border:1px solid #343434;border-radius:20px;padding:9px 14px}.calendar-filters button.filter-active{color:#171717;background:#f3b72b;border-color:#f3b72b}.calendar-results{margin-top:4px}.race-detail-page{max-width:720px;margin:0 auto}.race-detail-back{color:#f3b72b;cursor:pointer;background:0 0;border:0;margin-bottom:20px;font-size:14px}.race-detail{text-align:center}.race-detail h1{margin:14px 0 8px;font-size:34px;line-height:1.1}.race-detail-meta{color:#a8a8a8;margin:0;font-size:15px}.race-detail-countdown{color:#9b9b9b;text-align:center;background:#242424;border:1px solid #3a3a3a;border-radius:18px;margin-top:24px;padding:34px 20px;font-size:18px;font-weight:600}.race-detail-distances{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px;display:grid}.race-detail-distance{background:#202020;border:1px solid #343434;border-radius:18px;flex-direction:column;align-items:center;gap:6px;padding:18px 8px;display:flex}.race-detail-distance span{font-size:28px}.race-detail-distance strong{font-size:18px}.race-detail-distance small{color:#8d8d8d;font-size:12px}.race-detail-about,.athlete-detail__about,.athlete-detail__achievements,.athlete-detail__results{text-align:left;background:#202020;border:1px solid #343434;border-radius:20px;margin-top:24px;padding:20px}.race-detail-about h2,.athlete-detail__about h2,.athlete-detail__achievements h2,.athlete-detail__results h2{margin:0 0 10px;font-size:20px}.race-detail-about p,.athlete-detail__about p{color:#b8b8b8;margin:0;font-size:14px;line-height:1.6}.athletes-list,.more-list{flex-direction:column;gap:12px;display:flex}.athlete-card{cursor:pointer;background:#202020;border:1px solid #343434;border-radius:20px;align-items:center;gap:16px;padding:18px;display:flex}.athlete-card__flag{background:#292929;border-radius:14px;place-items:center;width:48px;height:48px;font-size:26px;display:grid}.athlete-card__info{flex:1}.athlete-card__info h3{margin:0 0 6px;font-size:18px}.athlete-card__info p{color:#8e8e8e;margin:0;font-size:13px}.athlete-card__arrow{color:#8e8e8e;font-size:30px}.athlete-detail-page{max-width:720px;margin:0 auto}.athlete-detail{text-align:center}.athlete-detail__flag{background:#202020;border:1px solid #343434;border-radius:20px;place-items:center;width:72px;height:72px;margin:0 auto 14px;font-size:38px;display:grid}.athlete-detail h1{margin:0;font-size:32px;line-height:1.1}.athlete-detail__meta{color:#a8a8a8;margin:10px 0 0;font-size:14px}.athlete-detail__achievements ul{margin:0;padding-left:20px}.athlete-detail__achievements li{color:#d0d0d0;margin-bottom:10px;line-height:1.4}.athlete-detail__achievements li:last-child{margin-bottom:0}.athlete-detail__image{object-fit:cover;object-position:top center;border:1px solid #343434;border-radius:24px;width:180px;height:180px;margin:0 auto 18px;display:block}.athlete-detail__flag-inline{vertical-align:middle;font-size:20px}.more-card{cursor:pointer;background:#202020;border:1px solid #343434;border-radius:20px;padding:20px 50px 20px 20px;position:relative}.more-card h3{margin:0 0 7px;font-size:18px}.more-card p{color:#8e8e8e;margin:0;font-size:13px}.more-card span{color:#8e8e8e;font-size:30px;position:absolute;top:50%;right:20px;transform:translateY(-50%)}.race-card__series{text-transform:uppercase;letter-spacing:.5px;font-size:12px;color:#f3b72b!important;margin-top:8px!important}.calendar-time-filters{box-sizing:border-box;background:#202020;border:1px solid #343434;border-radius:14px;grid-template-columns:repeat(3,1fr);gap:4px;width:100%;margin:14px 0 12px;padding:4px;display:grid}.calendar-time-filters button{color:#a8a8a8;cursor:pointer;background:0 0;border:0;border-radius:10px;min-height:42px;padding:10px 8px;font-size:14px}.calendar-time-filters button.filter-active{color:#171717;background:#f3b72b;font-weight:600}.race-results{text-align:left;margin-top:24px}.race-results h2{margin:0 0 14px;font-size:20px}.race-results__list,.athlete-results-list{flex-direction:column;gap:10px;display:flex}.race-result-card{background:#202020;border:1px solid #343434;border-radius:18px;padding:16px}.race-result-card__top{align-items:center;gap:12px;display:flex}.race-result-card__position,.athlete-result-card__place{color:#171717;background:#f3b72b;border-radius:10px;flex-shrink:0;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.race-result-card__athlete{flex-direction:column;flex:1;gap:3px;display:flex}.race-result-card__athlete small{color:#8e8e8e;font-size:12px}.race-result-card__time{font-size:15px}.race-result-card__splits{color:#a8a8a8;flex-wrap:wrap;gap:12px;margin-top:12px;font-size:12px;display:flex}.athlete-detail__results h2{margin-bottom:14px}.athlete-result-card{cursor:pointer;border-bottom:1px solid #343434;align-items:center;gap:12px;padding:14px 0;display:flex}.athlete-result-card:last-child{border-bottom:0}.athlete-result-card__info{flex-direction:column;flex:1;gap:4px;display:flex}.athlete-result-card__info span{color:#8e8e8e;font-size:12px}.athlete-result-card__time{font-size:14px}@media (width<=640px){.app{padding:12px 12px 100px}.hero{min-height:320px;padding:22px}.features{grid-template-columns:1fr}.feature-card{min-height:auto}.bottom-nav{left:12px;right:12px}.race-detail-page,.athlete-detail-page{margin-top:8px}.race-detail h1{font-size:28px}.race-detail-distances{gap:8px}.race-detail-distance{padding:14px 6px}.race-detail-distance strong{font-size:16px}.race-detail-about,.athlete-detail__about,.athlete-detail__achievements{padding:18px}.athlete-detail h1{font-size:27px}.athlete-detail__flag{width:64px;height:64px;font-size:34px}.race-result-card--clickable{cursor:pointer}.race-result-card--clickable:hover{background:#252525}}.app{position:relative}.hero{justify-content:flex-start;gap:34px;min-height:0;padding:24px 28px}.hero__brand{gap:14px}.hero__brand p{margin-top:2px}.hero__text{margin:0}.hero__text h2{line-height:.98}.hero__text p{margin-top:12px}.features--compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:24px}.feature-card--compact{text-align:left;border-radius:16px;align-items:center;gap:12px;min-height:0;padding:14px 16px;display:flex}.feature-card--compact .feature-card__icon{color:#f3b72b;text-align:center;flex:0 0 34px;width:34px;margin:0;font-size:25px;line-height:1}.feature-card--compact .feature-card__copy{min-width:0}.feature-card--compact h3{text-transform:uppercase;margin:0 0 4px;font-size:14px;line-height:1.15}.feature-card--compact p{margin:0;font-size:11px;line-height:1.25}.page-back-button{z-index:30;color:#f3b72b;cursor:pointer;background:#171717;border:1px solid #f3b72b;border-radius:10px;padding:9px 14px;font-size:15px;font-weight:600;line-height:1;position:absolute;top:20px;right:20px}.race-detail-page__distance-tag{z-index:30;position:absolute;top:20px;left:20px}.page-back-button:hover{background:#242018}.race-card--compact{grid-template-columns:68px minmax(0,1fr) 28px;align-items:center;gap:16px;padding:14px 18px;display:grid}.race-card__series-column{flex-direction:column;justify-content:center;align-items:center;gap:8px;min-width:0;display:flex}.race-card__series-mark{color:#f3b72b;letter-spacing:-.4px;background:#101010;border-radius:50%;align-self:center;place-items:center;width:58px;height:58px;font-size:18px;font-weight:900;display:grid;overflow:hidden;box-shadow:inset 0 0 0 1px #2b2b2b}.race-card__series-image{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.race-card__content{text-align:left;min-width:0}.race-card--compact h3{margin:0 0 7px;line-height:1.2}.race-card__info-row{color:#a9a9a9;align-items:center;gap:10px;min-width:0;font-size:13px;line-height:1.2;display:flex}.race-card__info-item{white-space:nowrap;align-items:center;gap:6px;min-width:0;display:inline-flex}.race-card__info-item>span:last-child{text-overflow:ellipsis;overflow:hidden}.race-card__info-divider{background:#555;flex:0 0 1px;width:1px;height:16px}.race-card__info-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:0 0 18px;width:18px;height:18px}.race-card__info-icon--calendar,.race-card__info-icon--location{color:#f3b72b}.race-card__location{margin:0!important}.race-card__meta-row{align-items:center;gap:10px;min-width:0;margin-top:11px;display:flex}.race-card__meta-row .race-card__series{min-width:0;font-weight:700;margin:0!important}.race-card__tag--series{min-width:52px;color:inherit;text-align:center;box-sizing:border-box;background:0 0;border:1px solid;border-radius:6px;padding:3px 9px;font-size:12px;font-weight:700;line-height:1}.race-card--ironman{--race-series-color:#ff3b3f}.race-card--roth{--race-series-color:#ff4b55}.race-card--ironman .race-card__tag--series,.race-card--ironman .race-card__series,.race-card--t100 .race-card__tag--series,.race-card--t100 .race-card__series,.race-card--roth .race-card__tag--series,.race-card--roth .race-card__series{color:var(--race-series-color)}.race-card__gender{color:#f3b72b;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;align-items:center;gap:4px;margin-left:auto;font-size:12px;display:inline-flex}.race-card__gender-symbol{-webkit-text-stroke:.35px currentColor;font-family:Arial,Helvetica,sans-serif;font-size:1.25em;font-weight:900;line-height:1}.race-card__arrow{text-align:center;flex:0 0 28px}.calendar-filters button{box-sizing:border-box;text-transform:uppercase;min-height:42px;padding-top:10px;padding-bottom:10px;font-size:14px}.series-filter__circle,.series-filter__label,.calendar-filters--series .series-filter--disabled{display:none}.athlete-card{text-align:left}.athlete-card__flag{flex:0 0 48px}.athlete-card__image{object-fit:cover;object-position:top center;border:1px solid #343434;border-radius:50%;flex:0 0 48px;width:48px;height:48px}.athlete-card__image--placeholder{color:#a8a8a8;background:#303030;place-items:center;font-weight:700;display:grid}.athlete-card__info{text-align:left;min-width:0}.athlete-results-year h3{margin:0 0 10px;font-size:18px}.athlete-result-card{grid-template-columns:46px minmax(0,1fr) 78px;align-items:center;gap:16px;min-height:62px;padding:14px 0;display:grid}.athlete-result-card__place{justify-self:start}.athlete-result-card__info{text-align:left;min-width:0}.athlete-result-card__info strong{line-height:1.3}.athlete-result-card__time{text-align:right;white-space:nowrap;justify-self:end}@media (width>=701px){.calendar-filters--series{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.calendar-filters--series>button:not(.series-filter--disabled){color:#c8c8c8;white-space:nowrap;background:0 0;border:1px solid #555;border-radius:12px;width:100%;min-width:0;min-height:40px;padding:9px 14px;font-size:12px;font-weight:700;line-height:1.15;transition:border-color .16s,color .16s,background .16s}.calendar-filters--series>button:not(.series-filter--disabled):hover{color:#fff;background:#151515;border-color:#777}.calendar-filters--series>button.filter-active:not(.series-filter--disabled){color:#f3b72b;background:0 0;border-color:#f3b72b}.race-detail-page.race-detail-page--table,.athlete-detail-page{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}.race-detail-page--table .race-detail,.race-detail-page--table .race-detail__summary,.race-detail-page--table .race-detail-about,.race-detail-page--table .results-table,.race-detail-page--table .results-table__toolbar,.race-detail-page--table .results-table__desktop-wrap,.athlete-detail-page .athlete-detail{box-sizing:border-box;width:100%!important;max-width:none!important}.race-detail-page--table .race-detail__summary{margin-left:0!important;margin-right:0!important}.race-detail-page--table .race-detail h1{text-wrap:balance;max-width:calc(100% - 240px);margin-left:auto;margin-right:auto}}@media (width<=700px){.calendar-filters--series{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:8px;margin-top:14px;margin-bottom:18px;display:grid}.calendar-filters--series button,.calendar-filters--series .series-filter--disabled{color:#8f8f8f;background:0 0;border:0;border-radius:0;flex-direction:column;align-items:center;gap:7px;min-width:0;min-height:0;padding:0;font-size:10px;line-height:1.15;display:flex}.calendar-filters--series button:hover{background:0 0}.calendar-filters--series button.filter-active{color:#f3b72b;background:0 0}.series-filter__desktop-label{display:none}.series-filter__circle{box-sizing:border-box;color:#8f8f8f;letter-spacing:0;border:2px solid #555;border-radius:50%;place-items:center;width:54px;height:54px;font-size:20px;font-weight:800;line-height:1;transition:border-color .16s,color .16s,background .16s;display:grid}.series-filter__label{color:currentColor;letter-spacing:.1px;text-align:center;white-space:nowrap;min-height:24px;font-size:9px;font-weight:700;line-height:1.25;display:block}.calendar-filters--series button.filter-active .series-filter__circle{color:#f3b72b;border-color:#f3b72b}.calendar-filters--series .series-filter--disabled{opacity:.42;cursor:default}}@media (width<=640px){.hero{gap:28px;padding:18px}.hero__logo-image{width:54px;height:54px}.hero__text p{margin-top:10px}.features--compact{gap:8px}.feature-card--compact{text-align:center;border-radius:14px;flex-direction:column;gap:7px;padding:11px 9px}.feature-card--compact .feature-card__icon{flex:none;width:auto;font-size:22px}.feature-card--compact h3{margin-bottom:0;font-size:10px}.feature-card--compact p{display:none}.page-back-button{padding:9px 12px;font-size:14px;top:12px;right:12px}.race-detail-page__distance-tag{top:12px;left:12px}.race-detail-page{margin-top:56px}.race-card--compact{grid-template-columns:50px minmax(0,1fr) 20px;gap:11px 9px;padding:13px 8px}.race-card__series-column{gap:6px}.race-card__series-mark{width:48px;height:48px;font-size:15px}.race-card__tag--series{border-radius:5px;min-width:48px;padding:3px 6px;font-size:10px}.race-card--compact h3{margin-bottom:7px;font-size:16px}.race-card__info-row{gap:7px;font-size:11px}.race-card__info-item{gap:4px}.race-card__info-icon{flex-basis:15px;width:15px;height:15px}.race-card__info-divider{height:13px}.race-card__meta-row{gap:7px;margin-top:9px}.race-card__meta-row .race-card__series,.race-card__gender{font-size:9px}.race-card__arrow{flex-basis:20px;font-size:28px}}.race-card--t100{--race-series-color:#22d3e6}.race-card--ironman .race-card__series,.race-card--t100 .race-card__series,.race-card--roth .race-card__series{color:var(--race-series-color)!important}.app--race-detail .race-detail-page__distance-tag{color:var(--race-series-color);border-color:currentColor}.app.app--home-experiment{--home-section-gap:24px;--home-nav-height:76px;--home-nav-bottom:calc(18px + env(safe-area-inset-bottom,0px));padding-bottom:calc(var(--home-nav-height) + var(--home-nav-bottom) + var(--home-section-gap))}.home-content{gap:var(--home-section-gap);margin-top:8px;display:grid}.home-content>:is(.home-showcase,.section,.features){width:100%;min-width:0;margin:0}.home-content .race-card:last-child{margin-bottom:0}.app--home-experiment .bottom-nav{box-sizing:border-box;height:var(--home-nav-height);bottom:var(--home-nav-bottom)}.home-header{padding:18px 0 8px}.home-header__top-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.home-header h1{white-space:nowrap;color:#fff;letter-spacing:.2px;align-items:center;gap:10px;margin:0;font-size:20px;font-weight:800;line-height:1;display:inline-flex}.home-wordmark__mark{box-sizing:border-box;width:36px;height:36px;box-shadow:inset 0 0 0 1.5px var(--tri-accent);color:var(--tri-accent);background:0 0;border-radius:50%;flex:none;place-items:center;display:grid}.home-wordmark__mark svg{width:22px;height:22px}.home-header h2{color:#f7f7f5;letter-spacing:-.25px;margin:9px 0 0;font-size:21px;line-height:1.08}.home-header h2 span{color:#f3b72b}.home-header__settings{color:#d3d5d8;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:36px;height:36px;padding:0;display:grid}.home-header__settings svg{width:25px;height:25px}.home-header__settings:hover,.home-header__settings:focus-visible{color:#fff;background:#23272d;outline:none}.home-showcase{margin-top:8px}.home-showcase__track{scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;gap:12px;padding:0 0 2px;display:flex;position:relative;overflow-x:auto}.home-showcase__track::-webkit-scrollbar{display:none}.showcase-card{isolation:isolate;box-sizing:border-box;scroll-snap-align:center;cursor:pointer;background:linear-gradient(145deg,#252b33eb,#101317fa),#1c2026;border:1px solid #2d3239;border-radius:22px;flex:0 0 100%;min-width:0;min-height:245px;position:relative;overflow:hidden;box-shadow:0 18px 42px #00000047}.showcase-card:before{content:"";z-index:-2;opacity:.9;background:radial-gradient(circle at 78% 28%,#ffffff2e,#0000 24%),linear-gradient(150deg,#0000 10%,#ffffff0b 11%,#0000 12%),linear-gradient(160deg,#343b44 0%,#1f252c 45%,#111418 100%);position:absolute;inset:0}.showcase-card--2:before{background:radial-gradient(circle at 26% 20%,#f3b72b21,#0000 22%),linear-gradient(160deg,#3a3e45 0%,#20252b 48%,#111418 100%)}.showcase-card--3:before{background:radial-gradient(circle at 75% 20%,#ffffff1f,#0000 20%),linear-gradient(160deg,#303841 0%,#1d2329 50%,#101317 100%)}.showcase-card--has-image:before{background-image:var(--showcase-image);opacity:1;background-position:50%;background-size:cover}.showcase-card__shade{z-index:-1;background:linear-gradient(#07080a0f 0%,#07080a3d 38%,#07080ae6 100%);position:absolute;inset:0}.showcase-card__content{text-align:left;flex-direction:column;align-items:flex-start;display:flex;position:absolute;bottom:18px;left:18px;right:74px}.showcase-card__eyebrow{color:#f3f4f5;letter-spacing:.1px;text-shadow:0 1px 5px #000000e6,0 0 12px #0000008c;margin-bottom:8px;padding-left:9px;font-size:12px;font-weight:650;position:relative}.showcase-card__eyebrow:before{content:"";background:#f3b72b;border-radius:999px;width:2px;position:absolute;top:1px;bottom:1px;left:0;box-shadow:0 0 8px #f3b72b3d}.showcase-card__tag{color:#f5f5f2;letter-spacing:.35px;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f11157a;border:1px solid #ffffff6b;border-radius:999px;margin-bottom:8px;padding:4px 8px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.showcase-card h2{color:#fff;letter-spacing:-.7px;text-align:left;text-wrap:balance;width:100%;max-width:100%;margin:0 0 10px;font-size:clamp(25px,6.8vw,36px);line-height:.98}.showcase-card__meta{flex-direction:column;align-items:flex-start;gap:5px;display:flex}.showcase-card__meta p{color:#d1d4d7;text-align:left;align-items:center;gap:6px;margin:0;font-size:12px;line-height:1.25;display:flex}.showcase-card__meta p:first-child{color:#f3b72b;font-weight:700}.showcase-card__meta svg{stroke-width:1.9px;flex:0 0 14px;width:14px;height:14px}.showcase-card__open{color:#f3b72b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f111594;border:1px solid #f3b72b;border-radius:50%;place-items:center;width:46px;height:46px;padding:0;font-size:24px;line-height:1;display:grid;position:absolute;bottom:18px;right:16px}.home-showcase__hint{justify-content:center;gap:6px;margin:11px 0 1px;display:flex}.home-showcase__hint span{background:#3d4249;border-radius:999px;width:18px;height:3px}.home-showcase__hint span.is-active{background:#f3b72b}.home-races-section{margin-top:18px}.home-races-section__header button{align-items:center;gap:7px;min-height:44px;margin-right:19px;padding:0;display:inline-flex}.home-races-section__chevron,.race-card__arrow{width:28px;height:28px;color:var(--tri-muted)}.app--home-experiment .section__header h2,.app--home-experiment .section__header h1{color:#f4f4f2}.app--home-experiment .section__header button{color:#aeb2b7}.app--home-experiment .race-card,.app--home-experiment .feature-card,.app--home-experiment .news-card{background:#1b1f24;border-color:#2d3239}.features--compact{margin-top:24px}.feature-card--compact{text-align:center;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:138px;padding:20px;display:flex;position:relative}.feature-card--compact .feature-card__icon{color:#f3b72b;text-align:center;flex:0 0 48px;place-items:center;width:48px;height:48px;margin:0 auto;line-height:1;display:grid}.feature-card--compact .feature-card__icon svg{width:40px;height:40px;display:block}.feature-card--compact .feature-card__copy{text-align:center;place-items:center;width:100%;min-width:0;min-height:34px;display:grid}.feature-card--compact .feature-card__title{letter-spacing:.15px;text-transform:uppercase;text-align:center;text-wrap:balance;max-width:132px;margin:0 auto;font-size:14px;font-weight:700;line-height:1.2}.feature-card--compact p{display:none}.feature-card--compact:hover{background:#21262c;border-color:#454b53}.feature-card--disabled{cursor:default;opacity:.38;filter:saturate(.35)}.feature-card--disabled:hover{background:#1b1f24;border-color:#343940}.feature-card--disabled .feature-card__icon{color:#9a9a9a}.settings-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000009e;justify-content:center;align-items:flex-end;padding:18px;display:flex;position:fixed;inset:0}.settings-sheet{background:#171b20;border:1px solid #343a42;border-radius:24px;width:min(100%,520px);overflow:hidden;box-shadow:0 -12px 40px #00000059}.settings-sheet__handle{background:#555b63;border-radius:999px;width:42px;height:4px;margin:9px auto 2px}.settings-sheet__header{border-bottom:1px solid #2c3138;justify-content:space-between;align-items:center;padding:17px 18px 14px;display:flex}.settings-sheet__header h2{margin:0;font-size:21px}.settings-sheet__header button{color:#ddd;cursor:pointer;background:0 0;border:0;width:36px;height:36px;padding:0;font-size:30px;line-height:1}.settings-sheet__list{padding:0 18px 14px}.settings-row{color:#f2f2f2;text-align:left;border-bottom:1px solid #292e35;justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:70px;display:flex}.settings-row:last-child{border-bottom:0}.settings-row>div{flex-direction:column;gap:4px;min-width:0;display:flex}.settings-row strong{font-size:15px}.settings-row div span{color:var(--tri-text-disabled);font-size:12px}.settings-row--button{font:inherit;background:0 0;border-top:0;border-left:0;border-right:0;padding:0}.settings-row--button:disabled,.settings-row--disabled{opacity:.72}.settings-row__arrow{color:#777e86;font-size:28px}.settings-switch{background:#333941;border-radius:999px;flex:0 0 48px;width:48px;height:28px;position:relative;box-shadow:inset 0 0 0 1px #444b54}.settings-switch span{background:#8b929a;border-radius:50%;width:22px;height:22px;position:absolute;top:3px;left:3px}@media (width<=640px){.home-header{padding:15px 0 5px}.home-header h2{margin-top:8px;font-size:clamp(18px,5.1vw,22px)}.home-header__settings{width:34px;height:34px}.home-header__settings svg{width:24px;height:24px}.home-showcase__track{gap:10px;padding-inline:0}.showcase-card{border-radius:20px;min-width:0;min-height:230px}.showcase-card__content{bottom:16px;left:16px;right:68px}.showcase-card__open{width:42px;height:42px;font-size:22px;bottom:16px;right:14px}.features--compact{margin-top:24px}.feature-card--compact{border-radius:17px;gap:7px;min-height:116px;padding:15px 10px}.feature-card--compact .feature-card__icon{flex-basis:38px;width:38px;height:38px}.feature-card--compact .feature-card__icon svg{width:31px;height:31px}.feature-card--compact .feature-card__copy{min-height:28px}.feature-card--compact .feature-card__title{letter-spacing:0;max-width:96px;font-size:10px;line-height:1.15}.settings-overlay{padding:10px}.settings-sheet{border-radius:22px}}.features.features--compact{grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:visible}.features--compact>*{box-sizing:border-box;min-width:0;font:inherit;color:var(--tri-text)}.feature-card--compact .feature-card__title{display:block}.feature-card--compact small{color:var(--tri-muted);margin-top:6px;font-size:11px;display:block}.feature-card--disabled{opacity:.65}@media (width<=640px){.home-races-section__header button{margin-right:9px}.home-races-section__chevron,.race-card__arrow{width:20px;height:24px}}.athlete-results-year+.athlete-results-year{margin-top:12px}.athlete-results-year__toggle{color:#fff;width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;padding:0 0 10px;font-size:18px;font-weight:700;display:flex}.athlete-results-year__chevron{color:#f3b72b;font-size:26px;line-height:1;transition:transform .16s;display:inline-block;transform:rotate(0)}.athlete-results-year__chevron--open{transform:rotate(90deg)}.athlete-result-card__medal{text-align:left;justify-self:start;width:46px;font-size:27px;line-height:1;color:inherit!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important}.athlete-result-card__place{border:1px solid var(--tri-accent);width:38px;height:38px;color:var(--tri-accent);background:0 0;border-radius:50%;font-size:13px;font-weight:800;line-height:1}.race-card--compact{grid-template-rows:auto auto auto;grid-template-columns:96px minmax(0,1fr) 28px;align-items:center;gap:6px;display:grid}.race-card__series-mark{grid-area:1/1/3;place-self:center}.race-card__title{grid-area:1/2;justify-self:stretch;width:100%;text-align:left!important;margin:0!important}.race-card__info-row{grid-area:2/2;position:static}.race-card__tag--series{white-space:nowrap;grid-area:3/1;place-self:center}.race-card__meta-row{grid-area:3/2;align-self:center;align-items:center;min-width:0;margin-top:0;display:flex;position:static}.race-card__gender{align-self:center;line-height:1;margin-top:0!important;margin-bottom:0!important}.race-card__gender-symbol{line-height:1}.race-card__arrow{grid-area:1/3/4;align-self:center}.calendar-archive{margin-top:18px}.calendar-archive+.calendar-archive{margin-top:10px}.calendar-archive__toggle{color:#fff;width:100%;min-height:50px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #ffffff24;border-left:0;border-right:0;justify-content:space-between;align-items:center;padding:0 4px;font-size:22px;font-weight:800;display:flex}.calendar-archive__chevron{color:#f3b72b;font-size:30px;line-height:1;transition:transform .16s;display:inline-block;transform:rotate(0)}.calendar-archive__chevron--open{transform:rotate(90deg)}.calendar-archive__races{padding-top:10px}.race-season-switcher{justify-content:center;gap:8px;margin:18px 0 22px;display:flex}.race-season-switcher__year{border:1px solid var(--tri-border-strong);min-width:70px;color:var(--tri-muted);font:inherit;background:0 0;border-radius:999px;padding:8px 14px;font-weight:700}.race-season-switcher__year--active{color:#f3b72b;border-color:#f3b72b}.race-season-switcher__year:disabled{cursor:default;opacity:.55}.race-winners{border-top:1px solid #ffffff1f;margin-top:28px;padding-top:22px}.race-winners h2{margin:0 0 16px}.race-winners__year{align-items:flex-start;gap:20px;display:flex}.race-winners__year-label{color:#f3b72b;font-size:18px}.race-winners__people{flex:1;gap:9px;display:grid}.race-winner{grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.race-winner>span:last-child{color:#b9b9b9;font-variant-numeric:tabular-nums}@media (width<=700px){.race-season-switcher__year{min-width:62px;padding-inline:11px}.race-winners__year{gap:14px}}@media (width<=640px){.athlete-result-card__medal{width:38px;font-size:25px}.athlete-result-card__place{width:36px;height:36px;font-size:12px}.race-card--compact{grid-template-columns:96px minmax(0,1fr) 20px;gap:5px 6px}.calendar-archive__toggle{min-height:46px;font-size:20px}}.calendar-search-wrap{margin-bottom:14px;position:relative}.calendar-search-wrap .calendar-search{box-sizing:border-box;width:100%;margin-bottom:0;padding-right:64px}.calendar-search-clear{color:#7e7e7e;cursor:pointer;opacity:.9;appearance:none;background:0 0;border:0;width:48px;height:48px;margin:0;padding:0;font-size:0;line-height:0;display:block;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.calendar-search-clear:before,.calendar-search-clear:after{content:"";transform-origin:50%;background:currentColor;border-radius:999px;width:30px;height:2px;margin:0;position:absolute;top:50%;left:50%}.calendar-search-clear:before{transform:translate(-50%,-50%)rotate(45deg)}.calendar-search-clear:after{transform:translate(-50%,-50%)rotate(-45deg)}.calendar-search-clear:hover,.calendar-search-clear:focus-visible{color:#b8b8b8;outline:none}@media (width<=700px){.calendar-filters--series{grid-template-columns:repeat(3,76px);justify-content:center;column-gap:24px}}@media (width<=640px){.race-card--compact{grid-template-columns:50px minmax(0,1fr) 20px;column-gap:9px;padding-left:8px;padding-right:8px}.race-card__series-mark,.race-card__tag--series{transform:translate(2px)}.race-card__title,.race-card__info-row,.race-card__meta-row{transform:translate(5px)}.race-card__meta-row{padding-left:0}}@media (width<=400px){.race-card--compact h3{margin-bottom:6px;font-size:15px;line-height:1.15}.race-card__info-row{flex-direction:column;align-items:flex-start;gap:4px;font-size:10px;line-height:1.15}.race-card__info-divider{display:none}.race-card__info-item{gap:4px;width:100%}.race-card__info-item>span:last-child{max-width:100%}.race-card__meta-row{gap:6px;margin-top:7px}.race-card__meta-row .race-card__series,.race-card__gender{font-size:8px;line-height:1.1}.race-card__tag--series{padding:3px 5px;font-size:9px}.race-card__info-icon{flex-basis:14px;width:14px;height:14px}.calendar-search-clear{width:48px;height:48px;right:8px}.calendar-search-clear:before,.calendar-search-clear:after{width:30px;height:2px}}:root{--tri-shell-width:1126px;--tri-page-gutter:20px;--tri-bg:#0f1115;--tri-surface:#1b1f24;--tri-surface-raised:#20252b;--tri-border:#2d3239;--tri-border-strong:#3a414a;--tri-text:#f4f4f2;--tri-muted:#aeb2b7;--tri-muted-soft:#7f858d;--tri-text-heading:var(--tri-text);--tri-text-disabled:#7f858d;--tri-accent:#f3b72b;--tri-accent-soft:#f3b72b1f}.app{background:var(--tri-bg);color:var(--tri-text)}.app--home-experiment{background:radial-gradient(circle at 50% -10%, #f3b72b09, transparent 34%), var(--tri-bg)}.app:not(.app--race-detail)>.section:first-of-type{margin-top:24px}.app:not(.app--race-detail)>.section:first-of-type>.section__header{align-items:center;min-height:42px;margin-bottom:18px;padding-right:106px}.app:not(.app--race-detail)>.section:first-of-type>.section__header h1{color:var(--tri-text);letter-spacing:-.45px;text-transform:none;margin:0;padding-left:11px;font-size:clamp(24px,5vw,32px);line-height:1.05;position:relative}.app:not(.app--race-detail)>.section:first-of-type>.section__header h1:before{content:"";background:var(--tri-accent);border-radius:999px;width:2px;position:absolute;top:3px;bottom:2px;left:0}.app--race-detail>.race-detail-page{margin-top:58px}.page-back-button,.race-detail-back{border:1px solid var(--tri-border-strong);color:var(--tri-muted);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1b1f24d1;border-radius:999px;font-weight:650;transition:border-color .15s,color .15s,background .15s}.page-back-button:hover,.race-detail-back:hover{background:var(--tri-surface-raised);color:var(--tri-accent);border-color:#f3b72b9e}.calendar-search-wrap{position:relative}.calendar-search,.calendar-time-filters,.calendar-filters button{border-color:var(--tri-border);background:var(--tri-surface)}.calendar-search{min-height:50px;color:var(--tri-text);border-radius:15px;box-shadow:inset 0 1px #ffffff04}.calendar-search::placeholder{color:var(--tri-muted-soft)}.calendar-search:focus{border-color:#f3b72bad;box-shadow:0 0 0 3px #f3b72b12}.calendar-search-clear{color:var(--tri-muted)}.calendar-time-filters{background:var(--tri-surface);border-radius:15px;padding:4px}.calendar-time-filters button,.calendar-filters button{color:var(--tri-muted)}.calendar-time-filters button{border-radius:11px;transition:background .15s,color .15s}.calendar-time-filters button.filter-active{background:var(--tri-accent-soft);color:var(--tri-accent);box-shadow:inset 0 0 0 1px #f3b72b47}.calendar-archive__toggle{color:var(--tri-text)}.race-card,.news-card,.athlete-card,.more-card,.feature-card,.race-result-card{border-color:var(--tri-border);background:var(--tri-surface);box-shadow:0 10px 24px #0000001a}.race-card:hover,.athlete-card:hover,.more-card:hover,.race-result-card--clickable:hover{border-color:var(--tri-border-strong);background:var(--tri-surface-raised)}.race-card p,.news-card p,.athlete-card__info p,.more-card p,.race-result-card__athlete small,.race-result-card__splits{color:var(--tri-muted)}.race-card__series-mark,.athlete-card__flag,.athlete-card__image--placeholder{box-shadow:inset 0 0 0 1px var(--tri-border);background:#14171b}.athlete-card__arrow,.more-card>span,.race-card__arrow{color:#737981}.race-card__gender{font-weight:800}.race-detail-meta,.athlete-detail__meta{color:var(--tri-muted)}.race-detail h1,.athlete-detail h1{color:var(--tri-text);letter-spacing:-.5px}.race-detail-countdown,.race-detail-distance,.race-detail-about,.athlete-detail__about,.athlete-detail__achievements,.athlete-detail__results{border-color:var(--tri-border);background:var(--tri-surface)}.race-detail-countdown,.race-detail-distance small,.race-detail-about p,.athlete-detail__about p{color:var(--tri-muted)}.race-detail-distance{box-shadow:0 8px 20px #00000014}.athlete-detail__flag,.athlete-detail__image{border-color:var(--tri-border);background:var(--tri-surface)}.athlete-detail__achievements li{color:#d7d9dc}.athlete-result-card{border-bottom-color:var(--tri-border)}.athlete-result-card:hover{background:var(--tri-surface-raised)}.athlete-result-card__info span{color:var(--tri-muted)}.race-result-card__position{background:var(--tri-accent);color:var(--tri-bg)}.athlete-result-card__place{border-color:var(--tri-accent);color:var(--tri-accent);background:0 0}.bottom-nav{border-color:var(--tri-border);background:#14171bf0;box-shadow:0 12px 34px #00000052}.bottom-nav button{color:var(--tri-muted)}.bottom-nav__active{color:var(--tri-accent)!important}@media (width<=700px){.app:not(.app--race-detail)>.section:first-of-type{margin-top:18px}.app:not(.app--race-detail)>.section:first-of-type>.section__header{min-height:38px;margin-bottom:16px;padding-right:92px}.app:not(.app--race-detail)>.section:first-of-type>.section__header h1{font-size:clamp(22px,6.2vw,28px)}.app--race-detail>.race-detail-page{margin-top:56px}.calendar-filters--series button,.calendar-filters--series .series-filter--disabled{background:0 0}.series-filter__circle{border-color:var(--tri-border-strong);color:var(--tri-muted)}.calendar-filters--series button.filter-active .series-filter__circle{border-color:var(--tri-accent);color:var(--tri-accent);background:#f3b72b0e}}@media (width<=420px){.app:not(.app--race-detail)>.section:first-of-type>.section__header{padding-right:82px}.app:not(.app--race-detail)>.section:first-of-type>.section__header h1{font-size:21px}}#root{width:var(--tri-shell-width);border:0}body{background:var(--tri-bg)}.app{box-sizing:border-box;padding-inline:var(--tri-page-gutter)}.app>.section,.app .more-content{box-sizing:border-box;width:100%;max-width:none;margin-inline:0}.bottom-nav{left:max(var(--tri-page-gutter), calc((100vw - var(--tri-shell-width)) / 2 + var(--tri-page-gutter)));right:max(var(--tri-page-gutter), calc((100vw - var(--tri-shell-width)) / 2 + var(--tri-page-gutter)));grid-template-columns:repeat(4,minmax(0,1fr))}.page-back-button{right:var(--tri-page-gutter)}.race-detail-page__distance-tag{left:var(--tri-page-gutter)}.app :is(button,a):focus-visible{outline:2px solid var(--tri-accent);outline-offset:3px}@media (width<=640px){:root{--tri-page-gutter:12px}}.app--athletes .athletes-page{width:100%;max-width:none;margin-inline:0}.athletes-page__header>div{min-width:0}.app--athlete-detail .athlete-detail-page{margin-top:56px}.app--athlete-detail .athlete-detail>h1,.app--athlete-detail .athlete-detail__meta{box-sizing:border-box;padding-right:104px}.athlete-detail__section-toggle{width:100%;color:var(--tri-text);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:0;display:flex}.athlete-detail__section-toggle>span:first-child{font-size:18px;font-weight:700}.athlete-detail__section-chevron{color:var(--tri-accent);font-size:24px;font-weight:700;line-height:1;transition:transform .16s;transform:rotate(0)}.athlete-detail__section-chevron--open{transform:rotate(90deg)}.athlete-detail__section-body{margin-top:14px}.athlete-detail__section-body--collapsed{max-height:4.4em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 0% 30%,#000000eb 48%,#000000ad 68%,#00000057 86%,#0000 100%);mask-image:linear-gradient(#000 0% 30%,#000000eb 48%,#000000ad 68%,#00000057 86%,#0000 100%)}.athlete-detail__bio-list,.athlete-detail__achievements ul{margin:0;padding-left:20px}.athlete-detail__bio-list li,.athlete-detail__achievements li{color:var(--tri-muted);margin:0 0 8px;line-height:1.45}.athlete-detail__bio-list li:last-child,.athlete-detail__achievements li:last-child{margin-bottom:0}.athletes-gender-filter{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:24px;display:grid}.athletes-gender-card{border:1px solid var(--tri-border);background:var(--tri-surface);min-width:0;min-height:94px;color:var(--tri-muted);cursor:pointer;border-radius:18px;grid-template-rows:30px auto auto;place-items:center;gap:3px;padding:12px 8px 10px;transition:border-color .15s,background .15s,color .15s,transform .15s;display:grid}.athletes-gender-card:hover{border-color:var(--tri-border-strong);background:var(--tri-surface-raised)}.athletes-gender-card.is-active{background:var(--tri-accent-soft);color:var(--tri-accent);border-color:#f3b72bd1;box-shadow:inset 0 0 0 1px #f3b72b1f}.athletes-gender-card__symbol{font-size:28px;font-weight:700;line-height:1}.athletes-gender-card__label{color:currentColor;letter-spacing:.6px;font-size:12px;font-weight:800}.athletes-gender-card__count{color:var(--tri-muted-soft);font-size:11px;font-weight:700}.athletes-gender-card.is-active .athletes-gender-card__count{color:#f3b72bc7}.athletes-country-scroller{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:10px;margin:0 -2px 22px;padding:1px 2px 4px;display:flex;overflow-x:auto}.athletes-country-scroller::-webkit-scrollbar{display:none}.athletes-country-chip{min-height:82px;color:var(--tri-muted);scroll-snap-align:start;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:18px;flex:0 0 68px;align-content:center;place-items:center;gap:3px;padding:9px 6px 8px;transition:border-color .15s,background .15s,color .15s;display:grid}.athletes-country-chip:hover{background:#ffffff06}.athletes-country-chip.is-active{color:var(--tri-accent);background:#f3b72b13;border-color:#f3b72b6b}.athletes-country-chip__flag{border:1px solid var(--tri-border);background:#15181c;border-radius:50%;place-items:center;width:42px;height:42px;font-size:24px;line-height:1;display:grid}.athletes-country-chip.is-active .athletes-country-chip__flag{border-color:var(--tri-accent)}.athletes-country-chip__code{letter-spacing:.45px;font-size:10px;font-weight:800}.athletes-country-chip__count{color:var(--tri-muted-soft);font-size:9px;font-weight:700}.athletes-list--profiles{gap:10px}.athlete-card--profile{border-radius:20px;gap:13px;min-height:84px;padding:12px 14px}.athlete-card__portrait-wrap{flex:0 0 60px;width:60px;height:60px;position:relative}.athlete-card--profile .athlete-card__image,.athlete-card--profile .athlete-card__image--placeholder{border:1px solid var(--tri-border);object-fit:cover;object-position:top center;width:60px;height:60px;color:var(--tri-muted);box-sizing:border-box;background:#14171b;border-radius:17px;place-items:center;margin:0;font-size:22px;font-weight:700;display:grid}.athlete-card--profile .athlete-card__image--placeholder{background:radial-gradient(circle at 72% 22%,#f3b72b21,#0000 34%),linear-gradient(145deg,#20252b,#111419);border-color:#343a42;position:relative;overflow:hidden}.athlete-card--profile .athlete-card__image--placeholder:after{content:"";background:var(--tri-accent);opacity:.45;width:48px;height:2px;position:absolute;bottom:7px;right:-11px;transform:rotate(-27deg);box-shadow:0 7px #f3b72b24}.athlete-placeholder-icon{z-index:1;fill:none;stroke:#aeb2b7;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:47px;height:47px;position:relative}.athlete-placeholder-icon__goggles{stroke:var(--tri-accent);stroke-width:2.1px}.athlete-placeholder-icon__swash{stroke:#f3b72b47;stroke-width:2px}.athlete-card__flag-badge{border:2px solid var(--tri-surface);background:#16191d;border-radius:50%;place-items:center;width:25px;height:25px;font-size:14px;line-height:1;display:grid;position:absolute;bottom:-5px;right:-5px}.athlete-card--profile .athlete-card__info h3{color:var(--tri-text);margin:0 0 2px;font-size:16px;line-height:1.15}.athlete-card__name-en{color:var(--tri-muted);margin-bottom:6px;font-size:11px;line-height:1.15;display:block}.athlete-card--profile .athlete-card__info p{color:var(--tri-muted-soft);letter-spacing:.28px;text-transform:uppercase;font-size:10px;font-weight:700}.athlete-card--profile .athlete-card__arrow{margin-left:auto;font-size:28px}.athletes-empty{border:1px dashed var(--tri-border-strong);min-height:150px;color:var(--tri-muted);text-align:center;border-radius:20px;align-content:center;place-items:center;gap:8px;padding:22px;display:grid}.athletes-empty strong{color:var(--tri-text);font-size:15px}.athletes-empty span{max-width:290px;font-size:12px;line-height:1.4}@media (width>=701px) and (orientation:landscape){.app--athletes .athletes-page{box-sizing:border-box;width:100%;max-width:none}}@media (width<=640px){.app--athletes .athletes-page{margin-top:18px}.app--athlete-detail .athlete-detail-page{margin-top:0;padding-top:52px}.app--athlete-detail .athlete-detail>h1,.app--athlete-detail .athlete-detail__meta{padding-right:0}.athletes-gender-filter{gap:8px;margin-bottom:21px}.athletes-gender-card{border-radius:16px;min-height:86px}.athletes-gender-card__symbol{font-size:25px}.athletes-country-scroller{gap:7px;margin-right:-12px;padding-right:12px}.athletes-country-chip{flex-basis:64px;min-height:78px}.athletes-country-chip__flag{width:40px;height:40px;font-size:23px}.athlete-card--profile{box-sizing:border-box;border-radius:18px;gap:12px;min-height:80px;padding:8px 12px}.athlete-card__portrait-wrap,.athlete-card--profile .athlete-card__image,.athlete-card--profile .athlete-card__image--placeholder{width:56px;height:56px}.athlete-card--profile .athlete-card__info h3{font-size:14px}.athlete-card--profile .athlete-card__name-en{margin-bottom:4px}.athlete-placeholder-icon{width:43px;height:43px}}.athletes-presentation-count{color:var(--tri-muted);text-align:left;margin:0;font-size:12px}.app--athletes{overflow-anchor:none}.athletes-disclosure{text-align:center;margin-top:16px}.athletes-disclosure .athletes-presentation-count{text-align:center}.athletes-expand{width:100%;min-height:64px;color:var(--tri-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;margin-top:4px;padding:8px 12px;font-size:14px;display:flex}.athletes-expand__chevron{width:64px;height:16px;transition:transform .15s}.athletes-expand:active .athletes-expand__chevron{transform:translateY(3px)scale(.97)}.athletes-presentation-count:focus-visible{outline:2px solid var(--tri-accent);outline-offset:3px}@media (prefers-reduced-motion:reduce){.athletes-expand__chevron{transition:none}.athletes-expand:active .athletes-expand__chevron{transform:none}}.bottom-nav{-webkit-backdrop-filter:blur(30px)saturate(165%);backdrop-filter:blur(30px)saturate(165%);background:linear-gradient(#ffffff18,#ffffff07),#1a1d2185;border:1px solid #ffffff2e;overflow:hidden;box-shadow:0 20px 50px #00000075,inset 0 1px #ffffff29,inset 0 -1px #ffffff09}.bottom-nav:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(118deg,#ffffff1c 0%,#ffffff09 22%,#0000 46%,#ffffff05 74%,#fff1 100%);position:absolute;inset:0}.bottom-nav:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:1px;box-shadow:inset 0 0 22px #ffffff05}.bottom-nav button{z-index:1;border-radius:18px;transition:background .16s,color .16s,box-shadow .16s,transform .16s;position:relative}.bottom-nav button:active{transform:scale(.96)}.bottom-nav button.bottom-nav__active{background:linear-gradient(#ffffff16,#ffffff06),#f3b72b16;box-shadow:inset 0 0 0 1px #f3b72b1a,inset 0 1px #ffffff1a}.page-back-button,.race-detail-back{-webkit-backdrop-filter:blur(24px)saturate(160%);backdrop-filter:blur(24px)saturate(160%);box-shadow:0 10px 28px #00000057,inset 0 1px #ffffff24,inset 0 -1px #ffffff06;color:#f4f4f2!important;background:linear-gradient(#ffffff18,#ffffff06),#1c1f2385!important;border:1px solid #ffffff2e!important}.page-back-button:hover,.race-detail-back:hover{color:var(--tri-accent)!important;background:linear-gradient(#ffffff21,#ffffff0a),#21242994!important;border-color:#ffffff47!important}.page-back-button:active,.race-detail-back:active{transform:scale(.96)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.bottom-nav,.page-back-button,.race-detail-back{background:#191c20f0!important}}.more-content{text-align:left;max-width:720px;margin:0 auto}.more-content>h1{margin:12px 0 24px;font-size:28px}.more-block{margin:0 0 20px}.more-block>h2{color:var(--tri-muted);margin:0 0 10px;font-size:14px;font-weight:600}.more-panel{box-sizing:border-box;border:1px solid var(--tri-border);background:var(--tri-surface);width:100%;color:var(--tri-text);border-radius:16px;padding:16px}.more-panel h3,.more-panel strong{margin:0;font-size:15px;font-weight:600;line-height:1.4}.more-panel .more-brand{letter-spacing:.04em;font-size:20px}.more-panel p,.more-panel small{color:var(--tri-muted);margin:6px 0 0;font-size:13px;line-height:1.55;display:block}.more-panel .more-version{margin-top:12px;font-size:12px}.more-action{text-align:left;cursor:pointer;align-items:center;gap:16px;min-height:64px;font-family:inherit;text-decoration:none;display:flex}.more-action>span:first-child{flex:1;min-width:0}.more-action:hover{border-color:var(--tri-accent)}.more-indicator{color:var(--tri-accent);flex:none;font-size:22px}.more-handle{color:var(--tri-accent);margin-left:6px;font-size:13px;font-weight:400;display:inline-block}.more-information>div+div{border-top:1px solid var(--tri-border);margin-top:16px;padding-top:16px}.more-information a{min-height:44px;color:var(--tri-accent);align-items:center;gap:4px;display:inline-flex}.more-content :is(a,button):focus-visible{outline:2px solid var(--tri-accent);outline-offset:3px}.more-panel{overflow-wrap:anywhere}.more-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.showcase-card--has-image:before{opacity:1;background:linear-gradient(180deg, #07080a08 0%, #07080a1f 34%, #07080a85 70%, #07080ad6 100%), var(--showcase-image) center / cover no-repeat}.showcase-card--has-image.showcase-card--2:before,.showcase-card--has-image.showcase-card--3:before{background:linear-gradient(180deg, #07080a08 0%, #07080a1f 34%, #07080a85 70%, #07080ad6 100%), var(--showcase-image) center / cover no-repeat}.showcase-card__tag-row{flex-wrap:wrap;gap:6px;display:flex}.showcase-card__title{flex-wrap:wrap;align-items:baseline;column-gap:.22em;display:flex}.showcase-card__title-part{white-space:nowrap}
