/* Purposeful chart hierarchy; no diagram control covers a plotted point. */
html body .tvpt-period-chart{--tvpt-chart-color:#e9c573;min-width:0}
html body .tvpt-period-controls{padding:18px 16px 0}
html body .tvpt-period-head{display:grid;grid-template-columns:minmax(160px,1fr) minmax(0,1.4fr);gap:18px;align-items:center;margin-bottom:18px}
html body .tvpt-period-value{display:grid;gap:5px;color:var(--muted,#b3c1c4);font-size:12px;line-height:1.35}
html body .tvpt-period-value strong{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px;color:var(--text,#f4efe1);font-size:26px;letter-spacing:-.035em;line-height:1.25}
html body .tvpt-period-value strong small{font-size:11px;font-weight:500;letter-spacing:0;color:var(--muted,#b3c1c4)}
html body .tvpt-period-value.up strong{color:#80dba7}
html body .tvpt-period-value.down strong{color:#f5a6a6}
html body .tvpt-period-dates{font-size:11px;color:var(--muted,#b3c1c4)}
html body .tvpt-period-nav{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;gap:8px;align-items:center;text-align:center;font-size:12px;line-height:1.45;color:var(--gold,#e9c573)}
html body .tvpt-period-nav .btn{padding:0;min-width:36px;min-height:38px;font-size:22px}
html body .tvpt-period-filters{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:12px;margin-bottom:14px}
html body .tvpt-period-filters label{display:grid;gap:6px;font-size:11px;color:var(--muted,#b3c1c4)}
html body .tvpt-period-filters select{width:100%;min-width:0;height:40px;font-size:13px}
html body .tvpt-period-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:14px}
html body .tvpt-period-metrics .btn{min-width:0;padding:8px 4px;font-size:11px;min-height:36px;white-space:normal}
html body .tvpt-period-metrics .btn.active{border-color:#e9c573;background:rgba(233,197,115,.12);color:#ffe5a3}
html body .tvpt-period-caption{display:flex;flex-wrap:wrap;gap:6px 12px;justify-content:space-between;font-size:11px;color:var(--muted,#b3c1c4);line-height:1.5}
html body .tvpt-period-note{font-size:11px;color:#d7c698;margin:8px 0 0;line-height:1.5}
html body .progress-chart svg.tvpt-period-svg{display:block;width:100%;height:auto;aspect-ratio:840/330;min-height:0;margin:10px 0 0;overflow:visible}
html body .tvpt-period-svg .tvpt-period-grid{stroke:rgba(200,210,210,.12);stroke-width:1}
html body .tvpt-period-svg .tvpt-period-baseline{stroke:rgba(233,197,115,.45);stroke-width:1;stroke-dasharray:5 6}
html body .tvpt-period-svg .tvpt-period-label{font:14px Arial,sans-serif;fill:#b6c3c5}
html body .tvpt-period-svg .tvpt-period-line{stroke:var(--tvpt-chart-color);stroke-width:2.5;fill:none;stroke-linecap:round}
html body .tvpt-period-svg .progress-chart-gym-point{fill:var(--tvpt-chart-color);stroke:#10181a;stroke-width:2;cursor:pointer}
html body .tvpt-period-svg .progress-chart-gym-point:is(:focus,.selected){outline:none;stroke:#fff8dd;stroke-width:4}
html body .tvpt-period-pr{display:flex;align-items:center;gap:9px;padding:12px 16px;border-top:1px solid rgba(200,210,210,.12);font-size:12px}
html body .tvpt-period-pr b{display:block;font-weight:600}
html body .tvpt-period-pr small{display:block;margin-top:4px;color:var(--muted,#b3c1c4);font-size:11px;line-height:1.45}
html body .tvpt-period-method{padding:0 16px 13px;color:var(--muted,#b3c1c4);font-size:11px}
html body .tvpt-period-method summary{cursor:pointer;min-height:30px;line-height:30px;color:#dbc58e}
html body .tvpt-period-method p{font-size:12px;line-height:1.6;margin:8px 0}
html body .tvpt-period-detail{margin:0 12px 12px;flex-wrap:wrap}
@media(max-width:600px){
 html body .tvpt-period-controls{padding:14px 10px 0}
 html body .tvpt-period-head{grid-template-columns:1fr;gap:12px}
 html body .tvpt-period-value strong{font-size:25px}
 html body .tvpt-period-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 html body .tvpt-period-svg .tvpt-period-label{font-size:24px}
 html body .tvpt-period-pr,html body .tvpt-period-method{padding-left:10px;padding-right:10px}
}
