/* Marathon dashboard styles, scoped to .dash so they never leak into other pages */
.dash h1,.dash h2,.dash .big b,.dash .fig b{font-family:"Bricolage Grotesque",system-ui,sans-serif}
.dash h1{font-size:1.15rem;font-weight:700;margin:0}
.dash h2{font-size:1.05rem;font-weight:700;margin:0 0 14px}
.dash .top{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center}
.dash .chips{display:flex;flex-wrap:wrap;gap:6px}
.dash .chips button{border:1px solid var(--line);background:transparent;color:var(--mut);padding:5px 14px;border-radius:99px;cursor:pointer;font:inherit;font-size:.85rem;transition:background .2s,color .2s}
.dash .chips button:hover{color:var(--ink)}
.dash .chips button.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.dash button:focus-visible,.dash input:focus-visible{outline:2px solid var(--m);outline-offset:2px}
.dash .src{font-size:.82rem;margin:10px 0 0}
.dash .big{margin-top:24px;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px}
.dash .big b{font-size:clamp(4rem,15vw,9.5rem);line-height:.9;font-weight:800;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.dash .big em{font-style:normal;font-family:"Bricolage Grotesque",sans-serif;font-size:clamp(1.4rem,4vw,2.4rem);font-weight:700;color:var(--mut)}
.dash .lede{color:var(--mut);margin:10px 0 0;max-width:60ch}
.dash #line svg{width:100%;height:auto;display:block;overflow:visible}
.dash .stats{display:grid;grid-template-columns:repeat(5,1fr);margin-top:26px;border-top:1px solid var(--line)}
.dash .fig{padding:16px 14px 6px 0}
.dash .fig b{display:block;font-size:2.2rem;line-height:1.1;font-weight:700;font-variant-numeric:tabular-nums}
.dash .fig span{color:var(--mut);font-size:.85rem}
.dash .fig.m b{color:var(--m)}
.dash .fig.u b{color:var(--u)}
.dash .grid{display:grid;grid-template-columns:repeat(12,1fr);gap:0 36px}
.dash .s{grid-column:span 12;border-top:1px solid var(--line);padding:24px 0 8px;margin-top:22px;min-width:0}
.dash .c7{grid-column:span 7}
.dash .c5{grid-column:span 5}
.dash .c4{grid-column:span 4}
.dash .mut{color:var(--mut)}
.dash .bars{display:flex;gap:6px;height:210px}
.dash .col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}
.dash .col u{text-decoration:none;font-size:.75rem;height:16px;color:var(--mut);font-variant-numeric:tabular-nums}
.dash .stk{flex:1;width:100%;display:flex;flex-direction:column;justify-content:flex-end}
.dash .stk i{display:block;width:100%;height:0;transition:height .9s cubic-bezier(.2,.9,.3,1)}
.dash .stk i.m{background:var(--m)}
.dash .stk i.u{background:var(--u);border-radius:4px 4px 0 0}
.dash .stk i.m:first-child{border-radius:4px 4px 0 0}
.dash .col span{font-size:.75rem;color:var(--mut)}
.dash .leg{display:flex;gap:16px;margin-top:12px;font-size:.85rem;color:var(--mut)}
.dash .leg i,.dash .lg i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}
.dash .donuts{display:flex;gap:22px;flex-wrap:wrap}
.dash .dw{flex:1;min-width:130px}
.dash .dn{position:relative;width:100%;max-width:150px}
.dash .dn svg{transform:rotate(-90deg);display:block}
.dash .dn circle{fill:none;stroke-width:4;transition:stroke-dasharray 1.1s cubic-bezier(.2,.9,.3,1),stroke-dashoffset 1.1s cubic-bezier(.2,.9,.3,1)}
.dash .dn .c{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.dash .dn .c b{font-family:"Bricolage Grotesque",sans-serif;font-size:1.6rem;line-height:1}
.dash .dn .c small{color:var(--mut);font-size:.7rem}
.dash .lg{list-style:none;padding:0;margin:10px 0 0;font-size:.85rem;color:var(--mut)}
.dash .heat{display:grid;grid-template-columns:44px repeat(12,1fr);gap:4px;align-items:center}
.dash .heat b{font-size:.8rem;font-weight:600;color:var(--mut)}
.dash .heat span.h{text-align:center;font-size:.72rem;color:var(--mut)}
.dash .heat .x{aspect-ratio:1;border-radius:6px;display:grid;place-content:center;font-size:.78rem;font-weight:600;background:color-mix(in srgb,var(--m) var(--a,0%),var(--line));color:var(--ink);transition:opacity .4s}
.dash .heat .x.f{background:transparent;border:1px dashed var(--line);color:transparent}
.dash .heat .x.on{color:#fff}
.dash .dim{opacity:.28}
.dash .facts{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.dash .facts b{display:block;font-family:"Bricolage Grotesque",sans-serif;font-size:1.5rem;line-height:1.2}
.dash .facts span{color:var(--mut);font-size:.85rem}
.dash .row{display:grid;grid-template-columns:1fr auto;gap:2px 10px;margin-bottom:12px;font-size:.9rem}
.dash .row .t{grid-column:1/-1;height:6px;border-radius:3px;background:var(--line);overflow:hidden}
.dash .row .t i{display:block;height:100%;width:0;border-radius:3px;transition:width 1s cubic-bezier(.2,.9,.3,1)}
.dash .row small{color:var(--mut)}
.dash .tools{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin-bottom:12px}
.dash .tools input{flex:1;min-width:180px;padding:9px 14px;border-radius:99px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font:inherit}
.dash .tw{overflow-x:auto}
.dash table{width:100%;border-collapse:collapse;min-width:560px}
.dash th,.dash td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left}
.dash th{font-size:.8rem;color:var(--mut);font-weight:600;cursor:default}
.dash th.sort{cursor:pointer}
.dash tbody tr{transition:background .15s}
.dash tbody tr:hover{background:var(--glow)}
.dash .tag{display:inline-block;padding:1px 10px;border-radius:99px;font-size:.78rem;font-weight:600;color:#fff}
.dash .tag.Marathon{background:var(--m)}
.dash .tag.Ultra{background:var(--u);color:#1b1500}
.dash .no{color:var(--mut)}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes fade{from{opacity:0}to{opacity:1}}
.dash .ln{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 2s cubic-bezier(.4,.1,.2,1) forwards}
.dash .ar{animation:fade 1.6s .5s both}
.dash .pt{animation:fade .4s both}
@media(max-width:860px){.dash .c7,.dash .c5,.dash .c4{grid-column:span 12}
.dash .stats{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){.dash *{animation:none!important;transition:none!important}
.dash .ln{stroke-dashoffset:0}}

.dash{padding:28px 0 64px;font-size:15px;line-height:1.5}

.dash a.sv{display:inline-block;border:1px solid var(--line);color:var(--link);padding:2px 12px;border-radius:99px;font-size:.8rem;text-decoration:none;white-space:nowrap}
.dash a.sv:hover{background:var(--glow)}
.dash button.sv{border:1px solid var(--line);background:transparent;color:var(--link);padding:2px 12px;border-radius:99px;font:inherit;font-size:.8rem;font-weight:400;cursor:pointer;white-space:nowrap}
.dash button.sv:hover{background:var(--glow);opacity:1}
.dash tr.detail:hover{background:transparent}
.dash tr.detail td{background:var(--panel);padding:14px 12px}
.dash .sv-link{margin:10px 0 0;font-size:.85rem}
.dash .strava-embed-placeholder{max-width:560px}
