:root{--ink:#15171b;--muted:#68717f;--paper:#f5f3ee;--panel:#fff;--line:#d9d7cf;--red:#df3f32;--blue:#2858d8;--green:#187a62;--amber:#c28b23;--charcoal:#0f1218}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}.site-header{z-index:10;color:#fff;background:linear-gradient(#0f1218e0,#0f121800);justify-content:space-between;align-items:center;gap:20px;padding:18px clamp(18px,4vw,56px);display:flex;position:fixed;top:0;left:0;right:0}.wordmark{align-items:center;gap:11px;min-width:0;display:inline-flex}.wordmark span{border:1px solid #ffffff8c;border-radius:50%;place-items:center;width:34px;height:34px;font-size:.77rem;font-weight:800;display:grid}.wordmark strong{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}nav{text-transform:uppercase;flex-wrap:wrap;justify-content:flex-end;gap:16px;font-size:.82rem;font-weight:700;display:flex}nav a{color:#fffc}nav a:hover{color:#fff}.hero{color:#fff;background:var(--charcoal);align-items:end;min-height:86svh;padding:130px clamp(18px,6vw,82px) 78px;display:grid;position:relative;overflow:hidden}.hero-image{object-fit:cover;object-position:center}.hero-shade{background:linear-gradient(90deg,#0f1218eb 0%,#0f12189e 38%,#0f12182e 100%),linear-gradient(#0f12187a 0%,#0f12182e 50%,#0f1218e0 100%);position:absolute;inset:0}.hero-content{z-index:1;max-width:780px;position:relative}.eyebrow{color:var(--red);letter-spacing:0;text-transform:uppercase;margin:0 0 12px;font-size:.78rem;font-weight:850}.hero h1{letter-spacing:0;max-width:760px;margin:0;font-size:clamp(3rem,8vw,7.6rem);line-height:.9}.hero-copy{color:#ffffffd1;max-width:620px;margin:25px 0 0;font-size:clamp(1.05rem,2vw,1.38rem);line-height:1.5}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.hero-actions a{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1c;border:1px solid #ffffff47;border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:12px 16px;font-weight:800;display:inline-flex}.hero-actions a:first-child{color:var(--ink);background:#fff}.section{padding:72px clamp(18px,5vw,72px)}.section-heading{max-width:780px;margin-bottom:30px}.section-heading.compact{max-width:680px}.section-heading h2{letter-spacing:0;margin:0;font-size:clamp(2rem,4vw,4rem);line-height:.98}.section-heading p:not(.eyebrow){color:var(--muted);margin:16px 0 0;font-size:1.04rem;line-height:1.6}.source-pill{border:1px solid var(--line);max-width:100%;color:var(--muted);background:#fff;border-radius:8px;align-items:center;gap:8px;margin-top:18px;padding:9px 11px;font-size:.88rem;line-height:1.35;display:inline-flex}.source-pill svg{color:var(--green);flex:none}.source-pill strong{color:var(--ink);flex:none}.source-pill.error svg{color:var(--amber)}.source-pill.sample svg{color:var(--blue)}.stats-band{background:#fff}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.stat-card,.race-card,.goal-card,.training-card,.rhythm-card,.notes-grid article,.identity-panel{border:1px solid var(--line);background:var(--panel);border-radius:8px}.stat-card{min-height:210px;padding:20px}.stat-card svg{color:var(--blue)}.stat-card span,.card-topline span,.activity-row span,.goal-card span,.training-card span{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:800;display:block}.stat-card strong{margin:22px 0 9px;font-size:clamp(2.25rem,5vw,4.2rem);line-height:.9;display:block}.stat-card p,.race-card p,.goal-card p,.training-card p,.rhythm-card p,.notes-grid p,.identity-panel p,.activity-row p{color:var(--muted);line-height:1.55}.mileage-panel{border:1px solid var(--line);background:#faf9f5;border-radius:8px;margin-top:16px;padding:18px}.mileage-panel>div:first-child{align-items:center;gap:9px;display:flex}.mileage-panel svg{color:var(--green)}.mileage-panel h3{margin:0;font-size:1rem;line-height:1.2}.mileage-chart{grid-template-columns:repeat(8,minmax(0,1fr));align-items:end;gap:10px;min-height:190px;margin-top:18px;display:grid}.mileage-week{grid-template-rows:1fr auto auto;align-items:end;gap:7px;min-width:0;min-height:168px;display:grid}.mileage-week span{background:linear-gradient(180deg, var(--red), var(--amber));border-radius:6px 6px 2px 2px;width:100%;min-height:8px;display:block}.mileage-week strong,.mileage-week small{text-align:center;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mileage-week strong{font-size:.9rem}.mileage-week small{color:var(--muted);font-size:.72rem;font-weight:750}.split-section{grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);align-items:start;gap:22px;display:grid}.activity-list{gap:10px;display:grid}.activity-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:22px 0;display:grid}.activity-row h3,.race-card h3,.goal-card h3,.training-card h3,.rhythm-card h3{margin:7px 0 0;font-size:1.24rem;line-height:1.15}.activity-row p{margin:8px 0 0}.activity-meta{text-align:right;min-width:92px}.activity-meta strong{font-size:1.35rem;display:block}.activity-meta small{color:var(--muted);font-weight:700}.identity-panel{background:var(--charcoal);color:#fff;padding:24px;position:sticky;top:96px}.identity-panel svg{color:var(--green)}.identity-panel h2{margin:18px 0 0;font-size:2rem;line-height:1}.identity-panel p{color:#ffffffb8}.identity-panel dl{gap:13px;margin:26px 0 0;display:grid}.identity-panel div{border-top:1px solid #ffffff24;padding-top:13px}.identity-panel dt{color:#ffffff85;text-transform:uppercase;font-size:.75rem;font-weight:800}.identity-panel dd{margin:4px 0 0;font-weight:750}.race-section,.skills-section{background:#edeae2}.race-grid,.goal-board,.training-grid,.notes-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.race-card,.goal-card,.training-card,.notes-grid article{padding:20px}.card-topline,.training-title{align-items:center;gap:9px;display:flex}.card-topline svg{color:var(--amber)}.race-footer{justify-content:space-between;align-items:end;gap:14px;margin-top:28px;display:flex}.race-footer strong{font-size:1.08rem}.race-footer span{color:var(--red);font-weight:900}.goals-section,.rhythm-section{background:var(--charcoal);color:#fff}.goals-section .section-heading p:not(.eyebrow),.rhythm-section .section-heading p:not(.eyebrow){color:#ffffff9e}.goal-card{color:#fff;background:#181c24;border-color:#ffffff1f}.goal-card p{color:#ffffffa6}.goal-card strong{color:#fff;margin-top:22px;font-size:.86rem;display:inline-block}.training-section{background:#fff}.training-title svg{color:var(--green)}.progress-track{background:#eceae4;border-radius:99px;height:9px;margin-top:22px;overflow:hidden}.progress-track div{border-radius:inherit;background:linear-gradient(90deg, var(--green), var(--blue));height:100%}.skill-table{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:hidden}.skill-row{border-top:1px solid var(--line);grid-template-columns:1fr .9fr .75fr 1.6fr;align-items:center;gap:18px;padding:17px 18px;display:grid}.skill-row:first-child{border-top:0}.skill-row span,.skill-row p{color:var(--muted)}.skill-row p{margin:0;line-height:1.45}.table-head{background:var(--ink);color:#fff;text-transform:uppercase;font-size:.78rem;font-weight:800}.table-head span{color:#ffffffad}.rhythm-grid{grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:10px;display:grid}.rhythm-card{background:#181c24;border-color:#ffffff1f;grid-template-rows:auto 1fr auto auto;gap:12px;min-height:250px;padding:16px;display:grid}.rhythm-card strong{color:#fff9}.rhythm-bar{border-left:1px solid #ffffff1a;align-items:end;min-height:92px;padding-left:10px;display:flex}.rhythm-bar span{background:var(--red);border-radius:99px 99px 0 0;width:16px;display:block}.rhythm-card h3{color:#fff}.rhythm-card p{color:#ffffff9e;margin:0}.notes-section{background:var(--paper)}.notes-grid article{align-items:flex-start;gap:12px;display:flex}.notes-grid svg{color:var(--blue);flex:none}.notes-grid p{margin:0}@media (max-width:980px){.stats-grid,.race-grid,.goal-board,.training-grid,.notes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split-section{grid-template-columns:1fr}.identity-panel{position:static}.rhythm-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.skill-row{grid-template-columns:1fr .85fr}.mileage-chart{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:18px}}@media (max-width:700px){.site-header{align-items:flex-start;position:absolute}nav{display:none}.hero{min-height:92svh;padding-top:118px;padding-bottom:58px}.hero-image{object-position:62% center}.hero-shade{background:linear-gradient(90deg,#0f1218f2 0%,#0f12189e 76%,#0f12184d 100%),linear-gradient(#0f121833 0%,#0f1218eb 100%)}.hero h1{font-size:clamp(3rem,18vw,4.6rem)}.section{padding:52px 18px}.stats-grid,.race-grid,.goal-board,.training-grid,.notes-grid,.rhythm-grid,.activity-row{grid-template-columns:1fr}.activity-meta{text-align:left}.source-pill{flex-direction:column;align-items:flex-start}.mileage-chart{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-table{background:0 0;border:0}.skill-row,.skill-row.table-head{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:1fr;gap:6px;margin-bottom:10px}.skill-row.table-head{display:none}.rhythm-card{min-height:188px}}
