.gb-chart{--chart-lime:var(--w-protein);--chart-cyan:var(--w-activity);--chart-gold:var(--w-stress);position:relative;min-width:0;padding-top:6px}
.chart-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 18px}.chart-latest{display:flex;flex-direction:column;gap:5px;min-width:0}.chart-latest strong{font-size:clamp(1.45rem,3.5vw,2rem);font-weight:650;letter-spacing:-.045em;font-variant-numeric:tabular-nums;line-height:1.12}.chart-latest span{font-size:12px;color:var(--muted,#94a49e)}
.gb-chart .chart-period-toggle{padding:6px 10px;min-height:44px;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--muted,#94a49e);font-size:12px;white-space:nowrap}.gb-chart .chart-period-toggle[aria-pressed=true]{color:var(--chart-lime);border-color:var(--muted);background:var(--accent-soft)}
.chart-legend{display:flex;gap:8px 15px;flex-wrap:wrap;align-items:center;font-size:12px;line-height:1.4;color:var(--muted,#94a49e);margin-bottom:10px}.chart-legend-item{display:inline-flex;align-items:center;gap:6px}.chart-legend-item i{display:inline-block;width:14px;height:3px;border-radius:3px;background:var(--chart-lime)}.chart-legend-item.range i{height:8px;background:#efc57e45;border:1px solid var(--chart-gold)}.chart-legend-item.target i{height:0;background:none;border-top:2px dashed var(--muted);border-radius:0}.chart-legend-item.average i{background:var(--chart-cyan)}
.chart-plot{position:relative;isolation:isolate}.gb-chart svg{width:100%;height:auto;min-height:0;display:block;overflow:visible;touch-action:pan-y;border-radius:10px}.gb-chart svg:focus-visible{outline:1px solid var(--chart-cyan);outline-offset:5px}.chart-grid-line{stroke:var(--line);stroke-width:1;shape-rendering:crispEdges}.chart-axis,.chart-unit{fill:var(--muted,#94a49e);font-size:10px;font-family:inherit;font-variant-numeric:tabular-nums}.chart-unit{font-size:9px;opacity:.7}.chart-value-line,.chart-target-line,.chart-average-line,.chart-range-line{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.chart-value-line{stroke:var(--chart-lime);stroke-width:3}.chart-target-line{stroke:var(--muted);stroke-width:1.4;stroke-dasharray:5 6;opacity:.85}.chart-average-line{stroke:var(--chart-cyan);stroke-width:1.8;opacity:.95}.chart-range-line{stroke:var(--chart-gold);stroke-width:1.5;stroke-dasharray:3 4;opacity:.8}.chart-range-band{fill:#efc57e18;stroke:none}.chart-value-point{fill:var(--chart-lime);stroke:var(--panel,#121c18);stroke-width:2}.chart-average-point{fill:var(--chart-cyan)}.chart-range-stem,.chart-range-cap{stroke:var(--chart-gold);stroke-width:2;stroke-linecap:round}.chart-range-plus{fill:var(--chart-gold);font:600 14px sans-serif}.chart-cursor{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 4;pointer-events:none}
.chart-tooltip{position:absolute;top:16px;z-index:2;display:flex;flex-direction:column;gap:5px;max-width:min(290px,78%);padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);box-shadow:0 8px 24px #14203a20;backdrop-filter:none;pointer-events:none;font-size:12px;overflow-wrap:anywhere}.chart-tooltip>strong{font-size:12px;font-weight:550;color:var(--muted)}.chart-tooltip-value{font-size:1.15rem;font-variant-numeric:tabular-nums;font-weight:600}.chart-tooltip small{font-size:12px;color:var(--muted);line-height:1.45}
.chart-target-point{fill:var(--muted)}
.chart-panel .chart-caption,.chart-panel .chart-hint,.gb-chart .chart-caption,.gb-chart .chart-hint{min-height:0;color:var(--muted,#94a49e);font-size:12px;line-height:1.6;margin:7px 0 0}.gb-chart .chart-hint{opacity:.7;font-size:12px;margin-top:2px}.chart-values{margin-top:9px;border-top:1px solid var(--line)}.chart-values summary{font-size:12px;min-height:44px;padding:10px 0}.chart-values table{font-variant-numeric:tabular-nums}.chart-values td{font-size:12px}.chart-empty{min-height:240px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;text-align:center;color:var(--muted,#94a49e)}.chart-empty-symbol{display:grid;place-items:center;border:1px solid var(--line);border-radius:14px;width:48px;height:48px;background:var(--raised);font-size:1.7rem;color:var(--chart-lime)}.chart-empty strong{color:var(--text,var(--text));font-size:.95rem;font-weight:550}.chart-panel .chart-empty p{min-height:0;max-width:240px;font-size:12px;line-height:1.6;margin:0}
@media(max-width:450px){.chart-topline{margin-bottom:16px}.chart-latest strong{font-size:1.5rem}.chart-legend{gap:8px 12px;font-size:12px}.chart-axis{font-size:10px}.chart-tooltip{padding:10px 12px}.chart-hint{display:none}}
@media(prefers-reduced-motion:no-preference){.chart-value-point{transition:r .12s ease}.gb-chart .chart-period-toggle{transition:background .15s,color .15s}}
