*{box-sizing:border-box}.muted,.data-note,.method-note{color:var(--muted)}.month-hero{display:flex;justify-content:space-between;align-items:end;gap:28px;padding:18px 0 26px}.month-hero h2{margin:.16rem 0;font-size:clamp(2.25rem,5vw,4rem);line-height:.95;letter-spacing:-.055em}.month-hero p{margin:9px 0 0;color:var(--muted)}.selectors{display:flex;gap:10px;flex-wrap:wrap}.selectors label{color:var(--muted);font-size:.67rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.selectors select{display:block;min-width:170px;margin-top:6px;padding:9px 34px 9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink)}.notice.error{border-left:5px solid var(--rose)}
.kpi-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:28px;border-block:1px solid var(--line)}.kpi-strip article{position:relative;padding:19px 20px}.kpi-strip article:first-child{padding-left:0}.kpi-strip article+article:before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:1px;background:var(--line)}.kpi-strip strong,.kpi-strip span,.kpi-strip small{display:block}.kpi-strip strong{font-size:clamp(1.35rem,2.4vw,2rem);line-height:1}.kpi-strip span{margin-top:7px;color:var(--ink);font-size:.68rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.kpi-strip small{margin-top:4px;color:var(--muted);font-size:.68rem}
.mileage-hero{padding:clamp(22px,3vw,34px);border:1px solid color-mix(in srgb,var(--line) 65%,transparent);border-top:4px solid var(--green);border-radius:22px;background:linear-gradient(145deg,var(--card),color-mix(in srgb,var(--card) 93%,var(--green-soft)));box-shadow:var(--shadow)}.section-head{display:flex;justify-content:space-between;align-items:start;gap:18px}.section-head h2{margin:.12rem 0;font-size:clamp(1.35rem,2.4vw,1.85rem);letter-spacing:-.025em}.section-head p{margin:.3rem 0 0;color:var(--muted)}.section-number{color:var(--green);font-size:.68rem;font-weight:900;letter-spacing:.11em}.mileage-summary{display:flex;align-items:end;gap:7px 18px;flex-wrap:wrap;text-align:right}.mileage-summary strong{font-size:1.65rem}.mileage-summary span{color:var(--muted);font-size:.72rem;font-weight:750}.chart{margin-top:20px}
.story-grid,.outcome-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:42px}.story-panel,.outcome-panel{padding:25px 26px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--card) 76%,transparent)}.score{color:var(--green);font-size:2.5rem;line-height:1}.method-note{margin:8px 0 16px;font-size:.72rem}.execution-track{height:11px;overflow:hidden;border-radius:99px;background:color-mix(in srgb,var(--line) 62%,transparent)}.execution-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green2),var(--green))}.execution-counts{display:flex;gap:8px 18px;flex-wrap:wrap;margin:12px 0 24px;color:var(--muted);font-size:.72rem}.execution-counts b{color:var(--ink);font-size:.9rem}.session-list h3{margin:0 0 6px;color:var(--green);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.execution-row{display:grid;grid-template-columns:62px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent)}.execution-row time,.execution-row small{display:block;color:var(--muted);font-size:.7rem}.execution-row strong{font-size:.8rem}.pill,.assessment{display:inline-flex;align-items:center;padding:5px 9px;border-radius:99px;background:var(--green-soft);color:var(--green);font-size:.66rem;font-weight:850}.pill.partial{background:#fff3dd;color:#885d1f}.pill.substituted{background:#eaf0f3;color:#456474}.pill.missed{background:#f3dfe3;color:#7a3042}.extras-note{margin:13px 0 0;padding:10px 12px;border-radius:9px;background:var(--green-soft);color:var(--muted);font-size:.72rem}.detail-drawer{margin-top:16px;border-top:1px solid var(--line)}.detail-drawer>summary{padding:14px 0;color:var(--green);font-size:.76rem;font-weight:850;cursor:pointer}.detail-drawer[open]>summary{margin-bottom:4px}
.composition-values{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:24px 0 16px}.composition-values article{position:relative;padding:0 12px}.composition-values article:first-child{padding-left:0}.composition-values article+article:before{content:"";position:absolute;inset:2px auto 2px 0;width:1px;background:var(--line)}.composition-values strong,.composition-values span,.composition-values small{display:block}.composition-values strong{font-size:1.15rem}.composition-values span{margin-top:4px;font-size:.75rem;font-weight:850}.composition-values small{color:var(--muted);font-size:.64rem}.intensity-spectrum{display:flex;height:28px;overflow:hidden;border-radius:99px;background:var(--line)}.intensity-spectrum span{display:flex;align-items:center;justify-content:center;min-width:0;color:#fff;font-size:.67rem;white-space:nowrap;overflow:hidden}.intensity-spectrum .recovery{background:#6dafa3;color:#173f30}.intensity-spectrum .easy{background:#83c5a2;color:#173f30}.intensity-spectrum .steady{background:#75a9cb}.intensity-spectrum .threshold{background:#d7a34a}.intensity-spectrum .fast{background:#df735b}.spectrum-axis{display:flex;justify-content:space-between;margin-top:6px;color:var(--muted);font-size:.61rem;text-transform:uppercase}.structure-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:20px}.structure-strip div{padding:10px;border-radius:9px;background:var(--green-soft)}.structure-strip span,.structure-strip strong{display:block}.structure-strip span{color:var(--muted);font-size:.63rem}.structure-strip strong{margin-top:3px;font-size:.9rem}
.key-section{margin-top:52px;padding-block:0 10px}.key-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.key-session{padding:19px;border-top:3px solid var(--green);border-radius:12px;background:var(--card);box-shadow:var(--shadow)}.key-session:nth-child(2){border-top-color:var(--gold)}.key-session:nth-child(3){border-top-color:var(--blue)}.session-role{color:var(--green);font-size:.64rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.key-session h3{min-height:2.5em;margin:12px 0 8px;font-size:1rem}.key-session>strong{font-size:1.35rem}.key-session p{margin:4px 0 20px;color:var(--muted);font-size:.75rem}.key-session a{color:var(--green);font-size:.73rem;font-weight:900;text-decoration:none}.all-key-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.all-key-grid .key-session{box-shadow:none}
.outcome-panel{min-height:260px}.fitness-outcome{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-top:24px}.fitness-outcome strong,.fitness-outcome span{display:block}.fitness-outcome strong{font-size:clamp(2.6rem,5vw,4rem);line-height:.9}.fitness-outcome span{margin-top:9px;color:var(--muted);font-size:.68rem;font-weight:850;text-transform:uppercase}.fitness-outcome p{max-width:160px;color:var(--muted);text-align:right}.fitness-outcome p b{display:block;color:var(--green);font-size:1.2rem}.fitness-range{display:flex;align-items:center;gap:12px;margin-top:24px;color:var(--muted);font-size:.72rem}.fitness-range i{flex:1;height:1px;background:var(--line)}.fitness-range b{color:var(--ink)}.data-note{font-size:.68rem}.context-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:20px}.context-grid div{padding:15px 10px;border-bottom:1px solid var(--line)}.context-grid div:nth-child(odd){padding-left:0;border-right:1px solid var(--line)}.context-grid strong,.context-grid span{display:block}.context-grid strong{font-size:1.45rem}.context-grid span{margin-top:4px;color:var(--muted);font-size:.68rem}.supported-insight{padding:11px 13px;border-left:3px solid var(--green);background:var(--green-soft);font-size:.76rem}
.coaching-card{margin-top:48px;padding:clamp(24px,4vw,38px);border-radius:20px;background:linear-gradient(140deg,var(--green-soft),var(--card));border-top:4px solid var(--green)}.assessment{font-size:.72rem}.coach-summary{max-width:760px;margin:18px 0 26px;font-size:1.1rem;line-height:1.55}.coach-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.coach-columns>div+div{padding-left:24px;border-left:1px solid var(--line)}.coach-columns h3,.coaching-detail h3{color:var(--green);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.coach-columns ul{margin:0;padding:0;list-style:none}.coach-columns li{position:relative;padding-left:15px}.coach-columns li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:900}.coach-columns p,.coach-columns li{font-size:.78rem;line-height:1.5}.coaching-full-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.ai-status{margin:10px 0;color:var(--muted)}.provenance-note{color:var(--muted);font-size:.7rem;line-height:1.5}
html[data-theme="dark"] .mileage-hero,html[data-theme="dark"] .coaching-card{background:linear-gradient(145deg,var(--card),color-mix(in srgb,var(--card) 90%,var(--green-soft)))}html[data-theme="dark"] .story-panel,html[data-theme="dark"] .outcome-panel{background:color-mix(in srgb,var(--card) 75%,transparent)}
@media(max-width:800px){.month-hero{display:block}.selectors{margin-top:18px}.kpi-strip{grid-template-columns:repeat(2,1fr)}.kpi-strip article:first-child{padding-left:16px}.kpi-strip article:nth-child(odd):before{display:none}.kpi-strip article:last-child{grid-column:1/-1}.story-grid,.outcome-grid,.key-grid,.coach-columns{grid-template-columns:1fr}.coach-columns>div+div{padding:16px 0 0;border-left:0;border-top:1px solid var(--line)}.all-key-grid{grid-template-columns:1fr 1fr}.mileage-summary{text-align:left}.chart{overflow-x:auto}.execution-row{grid-template-columns:58px 1fr auto}}
@media(max-width:480px){.month-hero{padding-top:8px}.selectors label,.selectors select{width:100%}.kpi-strip article{padding:15px 12px}.kpi-strip small{display:none}.mileage-hero{padding:18px 10px}.mileage-hero .section-head{display:block}.mileage-summary{margin-top:12px}.story-grid,.outcome-grid{margin-top:30px}.story-panel,.outcome-panel{padding:20px 12px}.composition-values{grid-template-columns:1fr 1fr;gap:16px 0}.composition-values article:nth-child(3){padding-left:0}.composition-values article:nth-child(3):before{display:none}.intensity-spectrum span b{display:none}.structure-strip{grid-template-columns:1fr 1fr}.key-section{margin-top:38px}.key-grid{gap:9px}.key-session h3{min-height:0}.all-key-grid,.coaching-full-columns{grid-template-columns:1fr}.fitness-outcome{display:block}.fitness-outcome p{text-align:left}.coaching-card{padding:22px 16px}.section-head h2{font-size:1.35rem}}
.composition-values{grid-template-columns:repeat(5,minmax(0,1fr))}.intensity-spectrum .zone1{background:#6dafa3}.intensity-spectrum .zone2{background:#83c5a2}.intensity-spectrum .zone3{background:#75a9cb}.intensity-spectrum .zone4{background:#d7a34a}.intensity-spectrum .zone5{background:#df735b}
