/* One signal per card. Every chart in a group shares the selected instant. */
.signal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;min-width:0}
.signal-grid>.signal-card{min-width:0;margin:0;padding:15px 14px 10px;border:1px solid color-mix(in srgb,var(--signal) 48%,transparent);border-radius:12px;background:color-mix(in srgb,var(--signal) 6%,var(--paper,#101013));color:var(--ink,#f4f4f5);container-type:inline-size}
.signal-card .signal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin:0 0 8px;padding:0;border:0}
.signal-card .signal-name{display:flex;align-items:center;gap:7px;margin:3px 0 0;font-size:var(--fs-12,12px);font-weight:500;line-height:1.4;letter-spacing:0;min-width:0;color:inherit}
.signal-reading{text-align:right;flex-shrink:0}
.signal-name i{width:13px;height:3px;flex-shrink:0;background:var(--signal);border-radius:3px}
.signal-card .signal-value{display:block;color:var(--signal);font-size:var(--fs-22,22px);font-weight:550;line-height:1.2;letter-spacing:-.4px;margin:0 0 3px;font-variant-numeric:tabular-nums;white-space:nowrap}
.signal-value small{font-size:var(--fs-11,11px);font-weight:400;letter-spacing:0}
.signal-card .signal-range{font-size:var(--fs-10,10px);color:var(--muted,#a1a1aa);margin:0;line-height:1.4}
.signal-card .signal-plot,.signal-card .data-plot{display:block;width:100%;height:auto;min-height:0;max-height:none;margin:0;overflow:visible;aspect-ratio:auto}
.signal-card .signal-plot{cursor:crosshair;touch-action:pan-y}
.signal-card .signal-axis,.signal-card .data-plot text{font-size:var(--fs-10,10px);fill:var(--muted,#a1a1aa);font-family:inherit}
.signal-card .data-plot .plot-unit{font-size:var(--fs-10,10px)}
.signal-gridlines{stroke:var(--line,#ffffff16);stroke-width:1;stroke-dasharray:3 4;fill:none}
.signal-card .signal-cursor,.signal-card .plot-cursor{stroke:var(--ink,#fff);stroke-width:1;stroke-dasharray:3 3;opacity:.65;fill:none}
.signal-point{stroke:var(--paper,#101013);stroke-width:1.5}
.signal-card .chart-series-line{filter:brightness(1.1)}
.chart-grid>.chart-card:has(.chart-signals){grid-column:1/-1}
.analysis-pair:has(.chart-signals){grid-template-columns:1fr}
:root[data-background="light"] .signal-card .signal-value{color:var(--ink)}
@media(max-width:760px){
 .signal-grid{gap:8px;margin-top:14px}
 .signal-grid>.signal-card{padding:11px 9px 8px;border-radius:10px}
 .signal-card .signal-header{gap:5px;margin-bottom:6px}
 .signal-card .signal-name{font-size:var(--fs-10,10px);gap:4px;overflow-wrap:anywhere}
 .signal-name i{width:9px}
 .signal-card .signal-value{font-size:var(--fs-16,16px);margin:0 0 3px}
 .signal-value small{font-size:var(--fs-9,9px)}
 .signal-card .signal-range{font-size:var(--fs-8,8px)}
 .signal-card .data-plot text{font-size:var(--fs-13,13px)}
 .signal-card .signal-axis{font-size:var(--fs-12,12px)}
}
@media(max-width:360px){.signal-grid{gap:6px}.signal-grid>.signal-card{padding:10px 7px 7px}.signal-card .signal-name{font-size:var(--fs-9,9px)}.signal-card .signal-value{font-size:var(--fs-14,14px)}.signal-value small{font-size:var(--fs-8,8px)}}
@container(max-width:180px){
 .signal-card .signal-header{display:grid;grid-template-columns:minmax(0,1fr);justify-content:normal;gap:5px}
 .signal-card .signal-name{margin:0;overflow-wrap:normal}
 .signal-reading{display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:baseline;gap:5px}
 .signal-card .signal-value{margin:0}
}
/* Tre segnali (forma, fatica e freschezza; evoluzione epigenetica…): uno accanto all'altro, quindi più piccoli. */
@media(min-width:761px){.chart-signals.signals-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* App › Training › Attività: i sei segnali della seduta su 3 colonne e 2 righe, come nella vetrina (sul telefono restano 2). */
@media(min-width:761px){.route-card .route-signals{grid-template-columns:repeat(3,minmax(0,1fr))}}
