:root{--ink:#eaf3ff;--muted:#96aabc;--line:#25445f;--panel:#0e2a44;--panel2:#123553;--accent:#ff5b3d;--cyan:#39d5db}
*{box-sizing:border-box}
body{margin:0;background:#071b31;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
main{max-width:1180px;margin:auto;padding:44px 28px 64px}
header{display:flex;align-items:flex-end;justify-content:space-between;padding:4px 0 34px;border-bottom:1px solid var(--line)}
h1,h2,p{margin:0}
h1{font-size:clamp(2.25rem,5vw,4.5rem);line-height:.98;letter-spacing:-.065em;margin:5px 0 12px}
.sub{color:var(--muted);font-size:1.05rem}.eyebrow{font-size:.72rem;font-weight:760;letter-spacing:.12em;color:var(--cyan)}.updated{color:var(--muted);font-size:.85rem;text-align:right}
.tabs{display:flex;gap:8px;margin:22px 0 -6px}.tab{border-radius:999px}.tab.active{background:var(--cyan);border-color:var(--cyan);color:#062039;font-weight:750}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0}.metric,.card{background:linear-gradient(135deg,var(--panel),var(--panel2));border:1px solid var(--line);border-radius:18px}.metric{padding:20px}.metric strong{font-size:2rem;letter-spacing:-.05em;display:block;margin-top:8px}.metric span{color:var(--muted);font-size:.88rem}
.grid{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin-bottom:14px;align-items:start}.start-card{align-self:start}.volume-grid{grid-template-columns:1fr}.card{padding:24px}.card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.card h2{font-size:1.35rem;letter-spacing:-.03em;margin-top:4px}.card-head>span{font-size:.8rem;color:var(--muted);white-space:nowrap}
.bars{height:226px;display:flex;align-items:end;gap:8px;margin-top:20px;padding:16px 0 28px;border-top:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 32%,rgba(150,170,188,.17) 32.5%,transparent 33%)}
.bar{height:100%;flex:1;display:flex;align-items:end;position:relative;min-width:0}.bar i{display:block;background:linear-gradient(180deg,var(--cyan),#247baa);width:100%;min-height:4px;border-radius:5px 5px 1px 1px;transition:filter .15s,background .15s}.bar b{position:absolute;font-size:.7rem;bottom:-20px;left:50%;transform:translateX(-50%);font-weight:600;color:var(--muted);white-space:nowrap}.bar em{display:none;position:absolute;z-index:2;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);font-style:normal;font-size:.74rem;font-weight:750;white-space:nowrap;color:#062039;background:var(--cyan);padding:4px 6px;border-radius:5px}.bar:hover i,.bar:focus i{background:var(--accent);filter:brightness(1.1)}.bar:hover em,.bar:focus em{display:block}
.start-card{background:linear-gradient(150deg,#173960,#0a253e)}.start-date{font-size:2.1rem;font-weight:750;letter-spacing:-.06em;color:var(--accent);margin:20px 0 12px}.route{color:var(--muted);line-height:1.5;border-top:1px solid var(--line);padding-top:14px}
.workouts{margin-top:14px}button{border:1px solid var(--line);background:transparent;color:var(--ink);padding:8px 12px;border-radius:9px;font:inherit;font-size:.85rem;cursor:pointer}button:hover{border-color:var(--cyan)}
table{width:100%;border-collapse:collapse;margin-top:18px;font-size:.92rem}th{text-align:left;color:var(--muted);font-weight:600;font-size:.76rem;letter-spacing:.06em;text-transform:uppercase}th,td{padding:13px 8px;border-bottom:1px solid rgba(37,68,95,.7)}td:nth-child(n+3),th:nth-child(n+3){text-align:right}.kind{max-width:300px}.hint{display:block;color:var(--muted);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:290px;margin-top:3px}
.results-view{margin-top:24px}.results-heading{margin:0 0 14px}.results-heading h2{font-size:1.7rem;letter-spacing:-.04em;margin-top:4px}.results-list{display:grid;gap:10px}.result{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 22px;background:linear-gradient(135deg,var(--panel),var(--panel2));border:1px solid var(--line);border-radius:16px}.result h3{font-size:1.13rem;margin:5px 0 0}.result-note{color:var(--muted);font-size:.86rem;margin-top:5px}.result-score{text-align:right}.result-score strong{display:block;font-size:1.6rem;letter-spacing:-.05em;color:var(--accent)}.result-score span{color:var(--muted);font-size:.83rem}
.chart-card{background:#fff;color:#111;border:0;border-radius:24px;box-shadow:0 10px 24px rgba(0,0,0,.14)}.chart-card h2{font-size:1.55rem;letter-spacing:-.04em}.strava-kicker{color:#fc4c02;font-weight:800;font-size:.72rem;letter-spacing:.1em;margin-bottom:12px}.strava-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0 28px}.strava-stats span{display:block;color:#626262;font-size:.83rem;margin-bottom:4px}.strava-stats strong{display:block;font-size:1.37rem;line-height:1.08;letter-spacing:-.04em}.chart-caption{font-size:.9rem;font-weight:650;margin-bottom:10px}.strava-chart{width:100%;overflow:hidden}.strava-chart svg{display:block;width:100%;height:auto;overflow:visible}.chart-grid line{stroke:#dedede;stroke-width:1}.chart-grid text{font-size:14px;fill:#555}.chart-area{fill:#fc4c02;opacity:.2}.chart-line{fill:none;stroke:#fc4c02;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.chart-point{cursor:pointer}.chart-point circle{fill:#fff;stroke:#fc4c02;stroke-width:3}.chart-point.selected circle{fill:#fc4c02;stroke:#ffd4c2;stroke-width:7}.selected-guide{stroke:#383838;stroke-width:2}.month{font-size:13px;fill:#555;text-anchor:middle;font-weight:700}.chart-total{margin-top:4px;padding-top:16px;border-top:1px solid #e5e5e5;color:#555;font-size:.84rem}
@media(max-width:720px){main{padding:28px 16px}header{align-items:flex-start;flex-direction:column;gap:18px}.updated{text-align:left}.metrics,.grid{grid-template-columns:1fr}.card{padding:20px}.card-head{gap:8px}.card-head>span{padding-top:4px;font-size:.78rem}.table-wrap{overflow:auto}.kind{min-width:190px}.bars{height:260px;gap:9px;margin-top:18px;padding-bottom:30px}.bar b{font-size:.66rem}.bar em{font-size:.72rem}.result{align-items:flex-start;flex-direction:column}.result-score{text-align:left}}
.volume-bar{cursor:pointer}.volume-bar rect{fill:#fc4c02;opacity:.82;transition:opacity .15s,fill .15s}.volume-bar:not(.selected):hover rect,.volume-bar:not(.selected):focus rect{opacity:1}.volume-bar.selected rect{fill:#fc4c02;opacity:1;stroke:#ffc5ab;stroke-width:4}.chart-card .selected-guide{stroke:#383838;stroke-width:2}.chart-card .strava-stats{grid-template-columns:repeat(2,1fr);gap:20px 12px}
.chart-card{background:linear-gradient(135deg,var(--panel),var(--panel2));color:var(--ink);border:1px solid var(--line);box-shadow:none}.chart-card h2{font-size:1.35rem}.chart-card .strava-stats span,.chart-card .chart-total{color:var(--muted)}.chart-card .strava-stats strong{color:var(--ink)}.chart-card .chart-total{border-top-color:var(--line)}.chart-grid line{stroke:rgba(150,170,188,.24)}.chart-grid text,.month{fill:var(--muted)}.volume-bar rect{fill:url(#barGradient);opacity:1}.volume-bar.selected rect{fill:var(--cyan);stroke:none}.strava-chart svg defs{display:block}.discipline-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:14px 0}.discipline{padding:16px;background:linear-gradient(135deg,var(--panel),var(--panel2));border:1px solid var(--line);border-radius:14px}.discipline p{color:var(--muted);font-size:.8rem}.discipline strong{display:block;margin:5px 0;font-size:1.28rem;letter-spacing:-.04em;color:var(--cyan)}.discipline span{color:var(--muted);font-size:.74rem}.source-link{display:block;margin-top:14px;text-align:center;padding:13px;border:1px solid var(--line);border-radius:12px;color:var(--cyan);text-decoration:none;font-weight:700}.source-link:hover{border-color:var(--cyan)}@media(max-width:720px){.discipline-grid{grid-template-columns:repeat(2,1fr)}.discipline{padding:14px}.chart-card .strava-stats{grid-template-columns:repeat(2,1fr)}}
