/* Dense information, readable plots and native controls, from phone to desktop. */
.insight-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 22px;padding:5px;background:#ffffff04;border:1px solid #ffffff0b;border-radius:13px}
.insight-tabs button{background:transparent;color:#a1a1aa;padding:12px 16px;min-height:44px;border:1px solid transparent;border-radius:9px;font-size:var(--fs-12,12px);white-space:nowrap;flex:1}
.insight-tabs button[aria-pressed=true]{background:var(--module-tint);border-color:color-mix(in srgb,var(--module-accent) 35%,transparent);color:#fff}
.insight-section-heading{margin:25px 0 15px}.insight-section-heading h2{font-size:var(--fs-19,19px);font-weight:550;letter-spacing:-.5px}.insight-section-heading p{font-size:var(--fs-12,12px);color:#a1a1aa;margin:7px 0;line-height:1.7}
.demo-data-banner{display:flex;align-items:center;gap:9px;border:1px solid #ffffff0d;border-radius:9px;padding:10px 13px;font-size:var(--fs-10,10px);line-height:1.6;color:#9ca3af;margin-bottom:20px}.demo-data-banner .status-dot{background:#a855f7;flex-shrink:0}
.chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:22px}.chart-grid>*{min-width:0}.chart-card{min-width:0;padding:22px;overflow:hidden}.chart-card+.chart-card{margin-top:0}.chart-grid .card{margin-bottom:0}
.plot-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:15px}.plot-heading>div{min-width:0}.plot-heading h2{font-size:var(--fs-18,18px);letter-spacing:-.4px;line-height:1.3;margin-top:6px}.plot-heading p:not(.eyebrow){font-size:var(--fs-11,11px);color:#a1a1aa;line-height:1.7;margin-top:7px}.plot-heading .eyebrow{font-size:var(--fs-9,9px);line-height:1.5}
.plot-expand{display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;background:#ffffff06;border:1px solid #ffffff12;border-radius:9px;font-size:var(--fs-22,22px);color:#a1a1aa}.plot-expand:hover{background:#a855f71f;color:#e9d5ff}
.plot-ranges{display:flex;justify-content:flex-end;gap:4px;margin:0 0 6px}.plot-ranges button{color:#9ca3af;font-size:var(--fs-11,11px);border-radius:6px;background:transparent;padding:8px 12px;min-height:36px}.plot-ranges button[aria-pressed=true]{background:#a855f726;color:#e9d5ff}
.plot-legend{display:flex;gap:4px 13px;flex-wrap:wrap;margin-bottom:9px}.plot-legend button{display:flex;align-items:center;gap:6px;background:transparent;color:#d1d5db;padding:6px 0;min-height:30px;font-size:var(--fs-10,10px);text-align:left}.plot-legend button[aria-pressed=false]{opacity:.4;text-decoration:line-through}.plot-legend i,.plot-readout i,.area-trend i,.sleep-legend i,.route-color-key i{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0}
.data-plot{width:100%;height:auto;display:block;overflow:visible}.data-plot text{fill:#9ca3af;font-family:inherit;font-size:var(--fs-12,12px)}.data-plot .plot-unit{font-size:var(--fs-11,11px)}.plot-grid{stroke:#ffffff12;stroke-dasharray:3 4;stroke-width:1;fill:none}.plot-cursor{stroke:#ffffff4d;stroke-width:1;stroke-dasharray:3 4}.radar-plot text{font-size:var(--fs-12,12px)}
.plot-readout{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:11px 0;min-height:54px;border-bottom:1px solid #ffffff0b;font-size:var(--fs-10,10px);color:#9ca3af}.plot-readout>span{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.plot-readout strong{color:#f4f4f5;font-size:var(--fs-12,12px);font-weight:600}.plot-readout small{font-size:var(--fs-10,10px);font-weight:400;color:#a1a1aa}.plot-readout .point-label{color:#e9d5ff;background:#a855f716;padding:5px 7px;border-radius:5px}
.plot-scrubber{display:flex;align-items:center;gap:15px;font-size:var(--fs-10,10px);color:#a1a1aa;min-height:44px}.plot-scrubber>span{flex-shrink:0}.plot-scrubber input,.route-slider-label input{width:100%;accent-color:#a855f7;cursor:pointer;height:28px;min-width:0}.plot-values{border-top:1px solid #ffffff0b;margin-top:4px}.plot-values summary{cursor:pointer;font-size:var(--fs-11,11px);color:#c4b5fd;padding:13px 0;min-height:44px}.plot-source{font-size:var(--fs-10,10px)!important;line-height:1.65!important;color:#858590!important;margin-top:9px!important;margin-bottom:0!important}
.data-table-scroll{overflow:auto;max-height:400px;width:100%;margin:10px 0;overscroll-behavior:contain;border:1px solid #ffffff12;border-radius:8px}.data-table-scroll table{border-collapse:collapse;width:100%;font-size:var(--fs-11,11px);text-align:right;white-space:nowrap}.data-table-scroll caption{text-align:left;color:#9ca3af;font-size:var(--fs-10,10px);padding:11px;background:#ffffff03;white-space:normal}.data-table-scroll td,.data-table-scroll th{padding:12px 14px;border-bottom:1px solid #ffffff0d}.data-table-scroll th:first-child{text-align:left}.data-table-scroll th{font-weight:500;color:#9ca3af}.data-table-scroll td{font-variant-numeric:tabular-nums;color:#eee}.data-table-scroll thead{background:#17171d;position:sticky;top:0}.data-table-scroll tbody tr:hover{background:#a855f709}
.chart-dialog{width:min(960px,calc(100vw - 30px));max-width:960px}.chart-dialog .sheet-content{padding:12px}.expanded-chart{border:0;box-shadow:none;background:transparent}.expanded-chart .data-plot{max-height:56vh;min-height:240px}.expanded-chart .plot-heading{display:none}.expanded-chart .plot-readout{font-size:var(--fs-13,13px)}.expanded-chart .plot-readout strong{font-size:var(--fs-17,17px)}
.analysis-overview{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);gap:20px;margin-bottom:20px}.analysis-overview>.card{margin:0;min-width:0}.twin-card{background:radial-gradient(ellipse at 50% 70%,#22d3ee09,transparent 65%),#09090c;overflow:hidden}.twin-stage{height:440px;position:relative;isolation:isolate;overflow:hidden}.twin-stage img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:screen;opacity:.85}.twin-orbit{position:absolute;left:50%;top:47%;border:1px solid #a855f726;border-radius:50%;transform:translate(-50%,-50%);z-index:-1}.orbit-one{width:260px;height:260px}.orbit-two{width:340px;height:340px;border-style:dashed;border-color:#a855f715}.twin-score{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);text-align:center;padding:12px 30px;border:1px solid #a855f73d;border-radius:14px;background:#08060dd9;backdrop-filter:blur(8px)}.twin-score>span{font-size:var(--fs-9,9px);color:#c084fc;text-transform:uppercase;letter-spacing:2px}.twin-score strong{display:block;font-size:32px;font-weight:500;line-height:1.2}.twin-score small{font-size:var(--fs-10,10px);color:#9ca3af;margin-left:4px}.twin-label{position:absolute;display:flex;flex-direction:column;gap:5px;background:#0a090cbd;padding:8px;border:1px solid #ffffff0d;border-radius:9px;font-size:var(--fs-9,9px);backdrop-filter:blur(6px)}.twin-label i{width:14px;height:2px;border-radius:2px}.twin-label b{font-size:var(--fs-16,16px);font-weight:500}.tl-one{top:16%;left:1%}.tl-two{top:28%;right:1%}.tl-three{top:52%;left:1%}.tl-four{top:64%;right:0}
.areas-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.area-trend{padding:13px 11px;background:#ffffff03;border:1px solid #ffffff0e;border-radius:11px;text-align:left;min-width:0;color:#fff}.area-trend>span{font-size:var(--fs-10,10px);display:flex;align-items:center;gap:5px;white-space:nowrap}.area-trend>div{margin-top:13px;display:flex;flex-direction:column;gap:9px}.area-trend strong{font-size:25px;font-weight:500;letter-spacing:-1px}.area-trend strong small{font-size:var(--fs-9,9px);color:#71717a;letter-spacing:0;margin-left:3px}.area-trend>small{display:block;font-size:var(--fs-9,9px);color:#858590;margin-top:10px}.area-trend:hover{border-color:#a855f750;background:#a855f70d}.spark-chart{width:100%;height:38px}
.ai-inline{display:flex;align-items:center;gap:18px;border:1px solid #a855f73d;background:linear-gradient(105deg,#a855f719,#ec48990b);border-radius:15px;padding:21px;margin:20px 0}.ai-inline-icon{font-size:30px;color:#c084fc}.ai-inline>div{flex:1}.ai-inline strong{font-size:var(--fs-14,14px);font-weight:550}.ai-inline p{font-size:var(--fs-11,11px);color:#a1a1aa;line-height:1.8;margin-top:6px}.ai-inline button{background:#a855f726;color:#e9d5ff;border:1px solid #a855f747;border-radius:9px;padding:13px;font-size:var(--fs-11,11px)}
.source-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:18px}.source-status-grid>div{display:flex;flex-direction:column;gap:8px;border-left:2px solid #a855f73d;padding:3px 12px}.source-status-grid span{font-size:var(--fs-10,10px);color:#9ca3af}.source-status-grid strong{font-size:var(--fs-14,14px);font-weight:500}.source-status-grid small{font-size:var(--fs-10,10px);color:#858590}
.today-insights{min-width:0;order:3}.today-insights .insight-section-heading{margin-top:4px}.today-insights .card{margin-bottom:0}.today-insights .insight-tabs{margin-bottom:12px}.sleep-total{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:16px 0}.sleep-total>strong{font-size:32px;font-weight:500;letter-spacing:-1px;white-space:nowrap}.sleep-total>strong span{font-size:var(--fs-14,14px);margin:0 5px;color:#9ca3af}.sleep-total>span{font-size:var(--fs-10,10px);color:#9ca3af;max-width:125px;text-align:right}.sleep-hypnogram{width:100%;display:block;margin:22px 0}.sleep-legend{display:flex;justify-content:space-between;gap:14px}.sleep-legend>span{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:var(--fs-10,10px);color:#a1a1aa}.sleep-legend strong{display:block;flex-basis:100%;color:#fff;margin-top:3px;padding-left:12px;font-size:var(--fs-15,15px);font-weight:500}.wellness-extra{display:flex;flex-wrap:wrap;gap:12px 18px;font-size:var(--fs-10,10px);color:#9ca3af;padding:14px 0}.wellness-extra strong{color:#d1d5db;font-size:var(--fs-11,11px);margin-left:4px}
.physio-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:22px}.physio-highlights>div{padding:20px;background:#ffffff04;border:1px solid #ffffff10;border-radius:12px}.physio-highlights span{font-size:var(--fs-10,10px);color:#9ca3af;display:block;margin-bottom:10px}.physio-highlights strong{font-size:29px;font-weight:500;letter-spacing:-1px}.physio-highlights small{font-size:var(--fs-12,12px);letter-spacing:0;color:#9ca3af}.physio-highlights .small-value{font-size:var(--fs-15,15px);letter-spacing:0}
.route-card{overflow:hidden;padding:22px;margin-bottom:22px!important}.ride-kpis{display:flex;flex-wrap:wrap;gap:15px 25px;margin:20px 0}.ride-kpis>div{min-width:60px}.ride-kpis small{display:block;font-size:var(--fs-10,10px);color:#9ca3af;margin-bottom:6px}.ride-kpis strong{display:block;font-size:var(--fs-22,22px);font-weight:500;letter-spacing:-.6px}.ride-kpis em,.route-readout em{font-style:normal;font-weight:400;font-size:var(--fs-10,10px);color:#9ca3af;letter-spacing:0}
.route-map-stage{position:relative;height:410px;border:1px solid #ffffff16;border-radius:13px;overflow:hidden;background:#101217;isolation:isolate}.route-fallback{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab}.route-map-live{position:absolute;inset:0;opacity:0;pointer-events:none}.map-ready .route-map-live{opacity:1;pointer-events:auto}.map-ready .route-fallback{visibility:hidden}.route-controls{position:absolute;right:10px;top:10px;display:flex;flex-direction:column;gap:6px;z-index:2}.route-controls button{width:38px;height:38px;display:grid;place-items:center;border-radius:8px;border:1px solid #ffffff26;background:#0a0a12e6;backdrop-filter:blur(8px);color:#f4f4f5;font-size:var(--fs-19,19px)}.route-controls button[data-map=3d]{font-size:var(--fs-12,12px)}.route-controls button:disabled{opacity:.35;cursor:default}.route-controls button[aria-pressed=true]{border-color:#a855f7;background:#36124f}.route-map-caption{position:absolute;top:10px;left:10px;z-index:1;display:flex;flex-direction:column;gap:7px;font-size:var(--fs-9,9px);pointer-events:none}.route-map-caption span{padding:6px 9px;border-radius:6px;background:#07070be3;color:#a1a1aa;align-self:flex-start}.route-map-caption span+span{color:#34d399}.route-attribution{position:absolute;bottom:0;right:0;padding:3px 6px;background:#09090be3;color:#a1a1aa;font-size:var(--fs-9,9px);z-index:2}.route-attribution a:hover{text-decoration:underline}
.route-color-key{display:flex;flex-wrap:wrap;gap:9px 14px;color:#9ca3af;font-size:var(--fs-9,9px);margin:11px 0 19px}.route-color-key>span{display:flex;gap:5px;align-items:center}.route-readout{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;background:#ffffff03;border:1px solid #ffffff0b;border-radius:10px;padding:14px}.route-readout small{display:block;font-size:var(--fs-9,9px);color:#9ca3af;margin-bottom:7px}.route-readout strong{font-size:var(--fs-18,18px);font-weight:500;white-space:nowrap}.route-trace-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px}.route-trace-heading h3{font-size:var(--fs-13,13px);font-weight:500}.route-trace-heading>span{font-size:var(--fs-10,10px);color:#9ca3af}.route-trace-heading select{max-width:100%;font-size:var(--fs-11,11px);padding:8px;background:#17171e;color:#e5e7eb;border:1px solid #ffffff26;border-radius:7px;min-height:38px}.route-trace{display:block;width:100%;max-height:200px;margin-top:10px;cursor:crosshair}.route-slider-label{font-size:var(--fs-10,10px);color:#9ca3af;display:flex;flex-direction:column;gap:5px;margin:15px 0 20px}.route-card .btn{font-size:var(--fs-12,12px)}.primary-col .route-map-stage{height:360px}.primary-col .route-readout{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.secondary-col .chart-card{padding:20px 15px}.secondary-col .chart-card .plot-heading h2{font-size:var(--fs-16,16px)}.secondary-col .chart-card .data-plot text{font-size:var(--fs-14,14px)}.secondary-col .chart-card .plot-readout{gap:9px}
:root[data-module=nutrition] .content-grid:has([data-chart="energy-week"]){grid-template-columns:minmax(0,1fr)}:root[data-module=nutrition] .content-grid:has([data-chart="energy-week"])>.secondary-col{display:none}
.segmented{flex-wrap:wrap}.segmented button{min-height:40px}.footer-note{margin-top:36px}
@media(min-width:1200px){.route-map-stage{height:470px}.analysis-overview .areas-card{padding:24px}.areas-grid{gap:12px}.area-trend{padding:17px 13px}}
@media(max-width:1100px){.analysis-overview{grid-template-columns:1fr}.twin-stage{height:380px}.areas-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.area-trend>div{flex-direction:row;align-items:center}.spark-chart{max-width:95px}.chart-grid{gap:15px}.route-readout{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}
@media(max-width:760px){
 .chart-grid{grid-template-columns:1fr;gap:16px;margin-bottom:18px}.chart-card{padding:18px 15px}.plot-heading h2{font-size:var(--fs-18,18px)}.plot-heading{margin-bottom:12px}.plot-expand{width:38px;height:38px}.plot-legend button{min-height:36px}.data-plot text{font-size:var(--fs-15,15px)}.data-plot .plot-unit{font-size:var(--fs-13,13px)}.plot-readout{gap:8px 12px}.plot-source{font-size:var(--fs-10,10px)!important}.plot-ranges button{min-height:40px}.plot-scrubber{min-height:48px}.plot-values summary{padding:15px 0}.insight-tabs{margin-bottom:18px;gap:4px;padding:4px}.insight-tabs button{font-size:var(--fs-11,11px);padding:10px 9px}.insight-section-heading h2{font-size:var(--fs-18,18px)}.insight-section-heading p{font-size:var(--fs-12,12px)}.demo-data-banner{font-size:var(--fs-10,10px);margin-bottom:16px}
 .analysis-overview{gap:16px;margin-bottom:16px}.twin-stage{height:390px}.twin-card{padding:20px 15px}.areas-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.areas-card{padding:18px 12px}.area-trend{padding:12px 9px}.area-trend>span{font-size:var(--fs-9,9px);gap:4px;white-space:normal;min-height:24px}.area-trend>div{flex-direction:column;align-items:stretch;margin-top:9px;gap:3px}.area-trend strong{font-size:26px}.area-trend>small{font-size:var(--fs-8,8px);margin-top:4px}.spark-chart{max-width:none;height:30px}.twin-label{font-size:var(--fs-10,10px)}.ai-inline{flex-wrap:wrap;gap:10px;padding:18px}.ai-inline>div{flex-basis:calc(100% - 50px)}.ai-inline button{margin-left:37px;min-height:44px}.today-insights{order:3;margin-bottom:8px}.today-grid .timeline{order:4}.today-grid .water-card{order:5}.today-grid .checkin{order:6}.sleep-card{padding:20px 15px}.sleep-hypnogram text{font-size:var(--fs-14,14px)}.sleep-total>strong{font-size:31px}.sleep-legend{gap:10px}.sleep-legend>span{font-size:var(--fs-9,9px)}.wellness-extra{font-size:var(--fs-9,9px);gap:8px 12px}
 .route-card{padding:18px 14px}.route-map-stage,.primary-col .route-map-stage{height:330px;margin:0 -4px}.ride-kpis{gap:16px;margin:16px 0 20px}.ride-kpis>div{min-width:70px;flex:1}.ride-kpis strong{font-size:var(--fs-22,22px)}.ride-kpis small{font-size:var(--fs-10,10px)}.route-readout{grid-template-columns:repeat(3,minmax(0,1fr));padding:12px;gap:18px 8px}.route-readout strong{font-size:var(--fs-18,18px)}.route-trace text{font-size:var(--fs-13,13px)}.route-trace-heading{gap:7px}.route-trace-heading select{font-size:var(--fs-10,10px);max-width:178px}.route-trace-heading h3{font-size:var(--fs-12,12px)}.route-slider-label{font-size:var(--fs-10,10px)}.route-controls button{width:40px;height:40px}.route-color-key{font-size:var(--fs-9,9px);gap:8px 10px}.route-color-key>span:first-child{flex-basis:100%}.route-map-caption{left:8px;top:8px}
 .physio-highlights{gap:8px}.physio-highlights>div{padding:15px 10px}.physio-highlights strong{font-size:var(--fs-23,23px)}.physio-highlights span{font-size:var(--fs-9,9px);line-height:1.6;min-height:28px}.physio-highlights small{font-size:var(--fs-10,10px)}.physio-highlights .small-value{font-size:var(--fs-12,12px)}.source-status-grid{gap:19px 10px}.source-status-grid>div{padding-left:9px}.source-status-grid strong{font-size:var(--fs-12,12px)}.source-status-grid span{font-size:var(--fs-10,10px)}.chart-dialog{width:100%;max-width:100%;height:92dvh;max-height:92dvh;margin:auto 0 0;border-radius:20px 20px 0 0}.chart-dialog .sheet-content{padding:0 2px}.expanded-chart .data-plot{min-height:220px;max-height:50vh}.expanded-chart .plot-readout strong{font-size:var(--fs-15,15px)}.chart-dialog .plot-heading{display:none}
}
@media(max-width:359px){.insight-tabs button{font-size:var(--fs-10,10px);padding:9px 6px}.areas-card{padding:15px 10px}.area-trend{padding:9px 6px}.area-trend>span{font-size:var(--fs-8,8px)}.route-readout strong{font-size:var(--fs-16,16px)}.route-trace-heading select{max-width:152px}.ride-kpis strong{font-size:var(--fs-20,20px)}.plot-legend{gap:3px 10px}.plot-legend button{font-size:var(--fs-9,9px)}}
.route-map-stage>.route-map-live{position:absolute;inset:0;width:100%;height:100%}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

@media(max-width:760px){.insight-tabs[aria-label="Viste Training"]{display:grid;grid-template-columns:1fr 1fr}.data-plot text{font-size:var(--fs-12,12px)}.data-plot .plot-unit{font-size:var(--fs-11,11px)}.radar-plot text{font-size:var(--fs-11,11px)}.expanded-chart .data-plot{max-height:52vh}}

.training-tab-short{display:none}
@media(max-width:760px){.insight-tabs[aria-label="Viste Training"]{grid-template-columns:repeat(4,minmax(0,1fr))}.insight-tabs[aria-label="Viste Training"] button{padding:9px 4px;font-size:var(--fs-11,11px)}.training-tab-full{display:none}.training-tab-short{display:inline}}

/* Signal brightness is scoped to data lines: axes, labels and card surfaces retain their palette. */
.chart-series-line,.route-segments path,.score-ring svg circle[stroke-dasharray]{filter:brightness(1.1)}
/* Only the floating Digital Twin boxes receive luminous colored borders. */
.twin-card .tl-one{--twin-color:#fb7185}.twin-card .tl-two{--twin-color:#34d399}.twin-card .tl-three{--twin-color:#ff3fae}.twin-card .tl-four{--twin-color:#fb923c}.twin-card .twin-score{--twin-color:#c084fc}
.twin-card .twin-label,.twin-card .twin-score{border:2px solid var(--twin-color);box-shadow:0 0 12px color-mix(in srgb,var(--twin-color) 38%,transparent),inset 0 0 9px color-mix(in srgb,var(--twin-color) 12%,transparent);background:#0a090ce8}
.twin-card .twin-label i{background:var(--twin-color)!important;box-shadow:0 0 7px var(--twin-color)}
.week-picker{display:grid;gap:13px}.week-navigation{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:10px}.week-navigation>div{text-align:center;display:grid;gap:6px}.week-navigation small{font-size:var(--fs-9,9px);letter-spacing:1.2px;color:#fb923c}.week-navigation strong{font-size:var(--fs-16,16px);font-weight:550}.week-arrow{width:44px;height:44px;border:1px solid #ffffff26;border-radius:12px;background:#ffffff05;color:#f4f4f5;display:grid;place-items:center}.week-arrow:hover{border-color:#fb923c;background:#f9731615}.week-arrow .previous{transform:rotate(180deg)}.week-today{justify-self:center;min-height:38px;padding:8px 14px;background:#a855f71a;border:1px solid #a855f73d;color:#d8b4fe;border-radius:9px;font-size:var(--fs-11,11px)}.day[aria-current=date]:not(.active){border-color:#a855f7}.calendar-session .tag{white-space:normal;line-height:1.5}.calendar-session .stat-strip{grid-template-columns:1fr 2fr}.calendar-session .stat strong{font-size:var(--fs-18,18px)}
.route-summary{display:flex;flex-wrap:wrap;align-items:center;gap:18px 24px;margin:20px 0}.route-summary .ride-kpis{flex:1 1 380px;margin:0}.route-summary .effort-settings{flex:1 1 400px;min-width:0;margin:0}.effort-settings{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;border:1px solid #a855f740;background:#a855f710;border-radius:10px;margin-bottom:12px}.effort-settings[hidden]{display:none}.effort-settings strong{font-size:var(--fs-12,12px);font-weight:550;color:#e9d5ff}.effort-settings p{font-size:var(--fs-10,10px);line-height:1.6;color:#a1a1aa;margin-top:5px}.effort-settings label{font-size:var(--fs-10,10px);color:#c4b5fd;min-width:130px;display:grid;grid-template-columns:1fr auto;gap:4px}.effort-settings input{grid-column:1/-1;width:100%;height:30px;accent-color:#a855f7}.effort-settings output{font-variant-numeric:tabular-nums;color:#fff}.effort-copy{min-width:0}.effort-settings .effort-mobile-copy,.effort-presets{display:none}.effort-presets{gap:4px;flex-shrink:0}.effort-presets button{width:44px;height:44px;padding:0;border:1px solid #a855f740;border-radius:8px;background:transparent;color:#c4b5fd;font-size:var(--fs-13,13px);font-weight:600;font-variant-numeric:tabular-nums}.effort-presets button[aria-pressed=true]{background:#7e22ce;border-color:#c084fc;color:#fff;box-shadow:0 0 12px #a855f726}.effort-presets button:focus-visible{outline:2px solid #e9d5ff;outline-offset:3px}.route-readout,.primary-col .route-readout{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 10px}.route-readout .effort-percent{margin:5px 0 0;color:#c4b5fd;font-size:var(--fs-9,9px)}.telemetry-explanation{font-size:var(--fs-11,11px);line-height:1.6;color:#a1a1aa;margin:8px 0 12px}
@media(max-width:760px){.week-navigation strong{font-size:var(--fs-14,14px)}.week-navigation small{font-size:var(--fs-8,8px)}.route-summary{gap:14px;margin:16px 0 18px}.route-summary .ride-kpis,.route-summary .effort-settings{flex-basis:100%}.effort-settings{flex-direction:row;align-items:center;gap:8px;padding:8px 10px}.effort-settings .effort-desktop-copy,.effort-settings .effort-range{display:none}.effort-settings .effort-mobile-copy{display:block}.effort-settings strong{font-size:var(--fs-12,12px)}.effort-settings p{margin-top:3px}.effort-presets{display:flex}.route-readout,.primary-col .route-readout{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.twin-card .twin-label{padding:8px}.calendar-session .stat strong{font-size:var(--fs-15,15px)}}
.route-trace{touch-action:pan-y}
@media(max-width:760px){}
@media(max-width:359px){.twin-card .tl-four{top:56%}}

/* One date control per daily view, beside the title on desktop and below it on mobile. */
.page-heading.calendar-page-heading{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(420px,1.2fr);align-items:center;gap:36px;margin-bottom:26px}
.calendar-page-heading .heading-copy{min-width:0}.calendar-page-heading .heading-tools{display:block;width:100%;min-width:0}
.calendar-page-heading .week-picker{gap:10px}.calendar-page-heading .week-navigation{gap:10px}.calendar-page-heading .week-navigation small{color:var(--module-accent)}
.calendar-page-heading .week-navigation strong{font-size:var(--fs-14,14px)}.calendar-page-heading .day{min-height:62px;gap:5px}.calendar-page-heading .day strong{font-size:var(--fs-19,19px)}
.calendar-page-heading .week-today{justify-self:end;min-height:32px;padding:6px 11px;margin-top:0}
.nutrition-empty{max-width:760px;padding:30px}.nutrition-empty h2{margin-top:18px}.nutrition-empty p{line-height:1.7}
@media(max-width:1100px){.page-heading.calendar-page-heading{grid-template-columns:1fr;gap:22px}.calendar-page-heading .heading-tools{max-width:760px}.calendar-page-heading .week-today{justify-self:center}}
@media(max-width:760px){.page-heading.calendar-page-heading{gap:20px;margin-bottom:20px}.calendar-page-heading .heading-tools{display:block}.calendar-page-heading .week-navigation strong{font-size:var(--fs-13,13px)}.calendar-page-heading .day{min-height:60px;gap:6px}.calendar-page-heading .day strong{font-size:var(--fs-16,16px)}.nutrition-empty{padding:22px}.calendar-page-heading .week-picker{gap:11px}}

/* Session archive: each activity owns its detail and its measured signals. */
.activity-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.activity-filters button{min-height:44px;padding:8px 18px;border:1px solid #ffffff20;border-radius:22px;background:#ffffff04;color:#a1a1aa;font-size:var(--fs-12,12px)}.activity-filters button[aria-pressed=true]{border-color:#a855f7;background:#a855f71f;color:#e9d5ff}.session-day-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 16px}.session-day-heading h3{font-size:var(--fs-15,15px)}.session-day-heading>span{font-size:var(--fs-11,11px);color:#a1a1aa}.session-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.session-preview{padding:0;overflow:hidden}.session-open{display:block;width:100%;text-align:left;background:transparent;color:inherit;padding:22px;cursor:pointer}.session-open:hover{background:#a855f709}.session-open:focus-visible{outline:2px solid #c084fc;outline-offset:-4px}.session-open h3{font-size:var(--fs-22,22px);margin:18px 0 8px;letter-spacing:-.5px}.session-preview-meta,.session-time{color:#a1a1aa;font-size:var(--fs-12,12px)}.session-time{font-size:var(--fs-10,10px)}.session-map-thumb{height:160px;overflow:hidden;border-radius:12px;margin:20px 0 0;background:#121416}.activity-map-preview{display:block;width:100%;height:100%}.session-spark{display:flex;gap:12px;align-items:center;justify-content:space-between;min-height:70px;margin-top:8px}.session-spark>span{font-size:var(--fs-11,11px);color:#a1a1aa}.session-spark .spark-chart{width:50%;height:60px;max-width:230px}.session-strength-thumb{margin-top:20px}.session-exercise-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));height:160px;gap:10px;align-items:center;background:linear-gradient(125deg,#a855f716,#111);border:1px solid #a855f726;border-radius:12px;padding:15px}.session-exercise-thumbs img{width:100%;height:100%;max-height:115px;object-fit:contain}.session-open-label{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff14;padding-top:16px;margin-top:8px;font-size:var(--fs-12,12px);color:#d8b4fe}.preview-attribution{display:block;text-align:right;font-size:var(--fs-9,9px);color:#9ca3af;margin:-13px 22px 13px;position:relative}.session-back{margin-bottom:20px}.program-activity h2{margin-top:20px}.day-session-count{display:grid;place-items:center;min-width:16px;height:16px;border-radius:50%;background:#a855f735;color:#e9d5ff;font-size:var(--fs-9,9px)}.day.active .day-session-count{background:#ffffff24;color:white}.day:has(.day-session-count){gap:3px}
.strength-session{margin-bottom:22px}.strength-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:24px 0 30px}.strength-summary small{display:block;color:#a1a1aa;font-size:var(--fs-11,11px);margin-bottom:8px}.strength-summary strong{font-size:26px;font-weight:500}.strength-summary em,.strength-current em{font-style:normal;font-size:var(--fs-11,11px);color:#a1a1aa;font-weight:400}.strength-section-title{font-size:var(--fs-16,16px);margin-bottom:16px}.strength-exercises{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.strength-exercise{border:1px solid #a855f72e;border-radius:12px;background:#ffffff02;min-width:0;overflow:hidden}.strength-exercise summary{cursor:pointer;display:flex;align-items:center;gap:13px;list-style:none;padding:16px}.strength-exercise summary::-webkit-details-marker{display:none}.strength-exercise summary>img{width:65px;height:70px;object-fit:contain}.strength-exercise summary>span{flex:1;min-width:0;display:grid;gap:7px}.strength-exercise summary strong{font-size:var(--fs-14,14px)}.strength-exercise summary small{color:#a1a1aa;font-size:var(--fs-11,11px);line-height:1.5}.strength-exercise summary>b{color:#c084fc;font-size:var(--fs-18,18px)}.strength-exercise[open] summary>b{transform:rotate(180deg)}.strength-exercise-content{padding:0 16px 16px}.strength-exercise-content>p{font-size:var(--fs-12,12px);color:#a1a1aa;line-height:1.7;margin-bottom:12px}.strength-exercise table{min-width:0}.strength-exercise td{white-space:normal}.strength-exercise th,.strength-exercise td{font-size:var(--fs-11,11px);padding:9px 5px}.strength-exercise caption{font-size:var(--fs-11,11px);text-align:left;color:#d8b4fe;padding:8px 0}.strength-current{display:grid;grid-template-columns:1fr 2fr 1.4fr 2fr;gap:16px;background:#a855f70b;border:1px solid #a855f726;border-radius:12px;padding:16px;margin:22px 0}.strength-current small{display:block;font-size:var(--fs-10,10px);color:#a1a1aa;margin-bottom:8px}.strength-current strong{font-size:var(--fs-15,15px);font-weight:500;line-height:1.5}.strength-current em{display:block}.strength-timeline{display:flex;height:8px;gap:3px;border-radius:6px;overflow:hidden;margin-bottom:22px}.strength-signal-toggles{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.strength-signal-toggles button{display:flex;align-items:center;gap:8px;min-height:44px;font-size:var(--fs-11,11px);color:#e4e4e7;border:1px solid color-mix(in srgb,var(--signal) 40%,transparent);background:color-mix(in srgb,var(--signal) 7%,transparent);border-radius:9px;padding:10px 12px}.strength-signal-toggles button i{width:14px;height:3px;background:var(--signal);filter:brightness(1.1)}.strength-signal-toggles button small{color:var(--signal);font-size:var(--fs-10,10px)}.strength-signal-toggles button[aria-pressed=false]{opacity:.45;background:transparent}.strength-signal{margin:18px 0}.strength-signal-heading{display:flex;justify-content:space-between;gap:12px;font-size:var(--fs-12,12px)}.strength-signal-heading strong{font-weight:500}.strength-signal-heading>span{color:#a1a1aa}.strength-plot{display:block;width:100%;height:auto;max-height:210px;margin-top:10px}.strength-plot text{fill:#9ca3af;font-family:inherit;font-size:var(--fs-12,12px)}.strength-telemetry .route-slider-label{margin-bottom:0}
/* Meal summaries keep all nutrition fields visible, with food-level detail on demand. */
.meal-card .meal-kcal{font-size:var(--fs-20,20px);color:#fff;letter-spacing:-.4px;margin-top:8px}.meal-kcal span{font-size:var(--fs-11,11px);color:#a1a1aa}.meal-nutrition{margin-top:22px}.meal-macro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.meal-macro-grid>div{padding:12px;border-radius:10px;border:1px solid color-mix(in srgb,var(--macro) 25%,transparent);background:color-mix(in srgb,var(--macro) 4%,transparent)}.meal-macro-grid span{display:block;font-size:var(--fs-10,10px);color:#a1a1aa}.meal-macro-grid strong{display:block;font-size:var(--fs-22,22px);font-weight:500;color:var(--macro);margin:8px 0}.meal-macro-grid small{font-size:var(--fs-11,11px);font-weight:400}.meal-energy-bar{height:5px;display:flex;gap:3px;border-radius:4px;overflow:hidden;margin:12px 0 16px}.meal-energy-bar span{border-radius:3px}.meal-gi{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:7px 12px;font-size:var(--fs-11,11px);color:#a1a1aa;line-height:1.8}.meal-gi strong{font-size:var(--fs-16,16px);color:#fff;font-weight:500;margin:0 7px}.meal-gi b{font-size:var(--fs-10,10px);font-weight:500;border-radius:5px;padding:4px 7px;color:var(--gi);background:color-mix(in srgb,var(--gi) 10%,transparent)}.meal-gi>span:last-child{color:var(--gi);font-size:var(--fs-10,10px)}.meal-gi.low{--gi:#34d399}.meal-gi.medium{--gi:#fbbf24}.meal-gi.high{--gi:#fb923c}.meal-nutrition .meal-data-note{font-size:var(--fs-9,9px);color:#85858f;margin-top:8px}.meal-food-details{margin:25px 0}.meal-food-details h3{margin-bottom:14px}.food-detail{border-bottom:1px solid #ffffff18}.food-detail summary{display:flex;justify-content:space-between;gap:12px;cursor:pointer;padding:16px 0;list-style:none;font-size:var(--fs-12,12px)}.food-detail summary::-webkit-details-marker{display:none}.food-detail summary strong{font-size:var(--fs-12,12px)}.food-detail summary small{display:block;font-size:var(--fs-10,10px);color:#a1a1aa;margin-top:5px}.food-detail summary>span:last-child{white-space:nowrap;color:#d8b4fe}.food-detail summary b{font-size:var(--fs-16,16px);margin-left:8px}.food-macro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 0 15px}.food-macro-grid span{font-size:var(--fs-10,10px);color:#a1a1aa}.food-macro-grid strong{display:block;font-size:var(--fs-15,15px);font-weight:500;margin-top:7px}.food-detail .meal-gi{padding-bottom:16px}
@media(max-width:1050px){.session-preview-grid{grid-template-columns:1fr}.strength-exercises{grid-template-columns:1fr}.strength-current{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.session-preview-grid{gap:16px}.session-open{padding:18px}.session-open h3{font-size:var(--fs-21,21px)}.session-day-heading{align-items:flex-start;flex-direction:column;gap:6px}.session-map-thumb{height:145px}.session-exercise-thumbs{height:145px;padding:10px;gap:5px}.session-spark .spark-chart{height:50px}.strength-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 15px}.strength-summary strong{font-size:var(--fs-24,24px)}.strength-exercise summary{padding:12px;gap:10px}.strength-exercise summary>img{width:48px;height:60px}.strength-exercise summary small{font-size:var(--fs-10,10px)}.strength-current{padding:12px;gap:18px 12px}.strength-current strong{font-size:var(--fs-13,13px)}.strength-signal-toggles{display:grid;grid-template-columns:1fr;gap:6px}.strength-signal-toggles button small{margin-left:auto}.strength-plot{max-height:none}.strength-plot text{font-size:var(--fs-15,15px)}.strength-exercise-content{padding:0 10px 12px}.strength-signal-heading{font-size:var(--fs-11,11px)}.meal-macro-grid{gap:6px}.meal-macro-grid>div{padding:10px 7px}.meal-macro-grid strong{font-size:var(--fs-20,20px)}.meal-macro-grid span{font-size:var(--fs-9,9px)}.meal-gi{font-size:var(--fs-10,10px)}.meal-gi>span:last-child{font-size:var(--fs-9,9px)}.meal-card .meal-kcal{font-size:var(--fs-19,19px)}.meal-card .meal-action-row{gap:8px;flex-wrap:wrap}.meal-card .meal-action-row .text-btn{min-height:40px}.meal-card .row{align-items:flex-start}.meal-card .check-btn{margin-top:4px}.meal-food-details .food-macro-grid{gap:6px}}

/* Analysis: date above the page switcher, both in the heading. */
.page-heading.analysis-page-heading{align-items:stretch;gap:28px}
.analysis-page-heading .heading-copy{min-width:0}
.analysis-page-heading .heading-tools{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:18px;flex-shrink:0}
.analysis-page-heading .date-label{display:block}
.analysis-page-heading .subnav{margin:0}
.analysis-page-heading .segmented{flex-wrap:nowrap}
.analysis-page-heading .segmented a{min-height:44px}
@media(max-width:980px){.page-heading.analysis-page-heading{flex-direction:column;gap:20px}.analysis-page-heading .heading-tools{align-items:flex-start;gap:12px}}
@media(max-width:760px){.analysis-page-heading .heading-tools,.analysis-page-heading .subnav,.analysis-page-heading .segmented{width:100%}.analysis-page-heading .date-label{font-size:var(--fs-11,11px)}.analysis-page-heading .segmented a{padding:8px 10px}}
/* Grafici affiancati (richiesta del titolare, 7 ottobre). «stack-pair»: la scheda con due pannelli resta a sinistra e li impila, l'altra a destra.
   Trend esami: a sinistra il grafico, a destra «Confronta i referti», alto quanto il grafico; la tabella scorre dentro il riquadro. */
.compare-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px;align-items:stretch;margin-bottom:22px}
.compare-grid>.card{margin:0;min-width:0}
.compare-card{display:flex;flex-direction:column}
.compare-card .data-table-scroll{flex:1;min-height:0;margin-bottom:0}
@media(min-width:761px){
 .chart-grid.stack-pair>.chart-card:has(.chart-signals){grid-column:auto}
 .chart-grid.stack-pair .chart-signals{grid-template-columns:minmax(0,1fr)}
 .compare-card{contain:size}
 .compare-card .data-table-scroll{max-height:none}
}
@media(max-width:760px){.compare-grid{grid-template-columns:1fr;gap:16px;margin-bottom:18px}}
/* «Confronta i referti»: nome e unità fissi a sinistra mentre i mesi scorrono. */
.compare-card .data-table-scroll th[scope=row],.compare-card .data-table-scroll thead th:first-child{position:sticky;left:0;z-index:1;background:#141419}
.compare-card .data-table-scroll thead th:first-child{z-index:2;background:#17171d}
.compare-card .data-table-scroll th[scope=row] small{display:block;font-size:var(--fs-9,9px);color:#8b8b98;margin-top:2px}
/* Le tre schede di «Oggi» (19 ottobre): nomi interi sul computer, corti sul telefono. */
.today-tabs .tab-short{display:none}
@media(max-width:760px){.today-tabs .tab-long{display:none}.today-tabs .tab-short{display:inline}.today-tabs .segmented a{flex:1;text-align:center}}
/* Riepilogo: l'omino della presentazione con i numeri veri. */
.twin-summary-card{display:grid;place-items:center;padding:26px 18px 20px;overflow:hidden}
.twin-summary-art{max-width:360px}
.twin-summary-art a.intro-twin-input{color:inherit;text-decoration:none;cursor:pointer}
.twin-summary-art a.intro-twin-input:focus-visible,.twin-summary-art .intro-twin-result:focus-visible{outline:2px solid #c084fc;outline-offset:3px}
.intro-twin-value{display:block;margin-top:6px;font-size:12px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.twin-summary-art .intro-twin-result strong small{font-size:.55em;margin-left:2px;opacity:.75}
.twin-summary-art .intro-twin-result strong .numbers-trend{font-style:normal;font-size:.6em;margin-left:3px}
.twin-summary-art .intro-twin-result strong svg{width:18px;height:18px}
.summary-inputs .list-row{text-decoration:none;color:inherit}
.summary-inputs h3 strong{font-weight:650}
.pill-icon.summary-training{color:#fb923c}.pill-icon.summary-nutrition{color:#f472b6}.pill-icon.summary-recovery{color:#34d399}.pill-icon.summary-health{color:#c084fc}
/* Punteggi del Riepilogo (19 ottobre): verde da 80, giallo da 60, arancione sotto; grigio senza dati. */
.twin-summary-art .intro-twin-value span{font-size:9px;font-weight:500;opacity:.6;margin-left:1px}
.twin-summary-art .tone-good .intro-twin-value{color:#34d399}.twin-summary-art .tone-fair .intro-twin-value{color:#fbbf24}.twin-summary-art .tone-low .intro-twin-value{color:#fb923c}.twin-summary-art .tone-none .intro-twin-value,.twin-summary-art .tone-locked .intro-twin-value{color:#a1a1aa}
.summary-score{flex-shrink:0;min-width:58px;text-align:center;padding:6px 10px;border-radius:10px;font-weight:650;font-size:var(--fs-15,15px);border:1px solid var(--line);background:#ffffff08}
.summary-score span{font-size:.7em;font-weight:500;opacity:.6}
.summary-score.tone-good{color:#34d399;border-color:#34d39955;background:#34d39912}.summary-score.tone-fair{color:#fbbf24;border-color:#fbbf2455;background:#fbbf2412}.summary-score.tone-low{color:#fb923c;border-color:#fb923c55;background:#fb923c12}.summary-score.tone-none,.summary-score.tone-locked{color:#a1a1aa}
.summary-scale{margin-top:14px;font-size:var(--fs-11,11px);line-height:1.5}
/* Riepilogo (19 ottobre): l'età biologica spenta senza il Completo o senza il consenso ai dati sulla salute. */
.twin-summary-art .intro-twin-result.is-off{--result-color:#71717a;opacity:.5;filter:grayscale(1)}
.twin-summary-art .tone-locked{opacity:.55}
/* Training (19 ottobre): i giorni con allenamento in programma e quelli in cui l'hai fatto, a colpo d'occhio. */
.day.train-plan:not(.active){border-color:#38bdf8;background:#0ea5e98f}
.day.train-done:not(.active){border-color:#34d399;background:#10b981a3}
.day.train-done:not(.active) .day-dot{background:#d1fae5}
.day.train-plan:not(.active) .day-dot{background:#e0f2fe}
.day:is(.train-plan,.train-done):not(.active){color:#fff}
.week-legend{display:flex;gap:14px;justify-content:center;margin-top:10px;font-size:var(--fs-10,10px);color:var(--muted)}
.week-legend span{display:inline-flex;align-items:center;gap:6px}
.week-legend i{width:10px;height:10px;border-radius:3px;border:1px solid}
.week-legend .lg-plan{border-color:#38bdf8;background:#0ea5e98f}
.week-legend .lg-done{border-color:#34d399;background:#10b981a3}
/* Training: legenda e «Torna a oggi» sulla stessa riga. */
.week-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.week-foot.only-legend{justify-content:center}
.week-foot .week-legend{margin-top:0}
.week-foot .week-today{margin-top:0}
/* Allenamento registrato (19 ottobre): ogni seduta con i valori nei riquadri e l'anteprima, come in Storico. */
.recorded-session{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}
.recorded-session:first-of-type{border-top:0;padding-top:0}
.recorded-open{display:block;width:100%;text-align:left;background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer}
.recorded-open:disabled{cursor:default;opacity:1}
.recorded-open h3{font-size:var(--fs-15,15px);margin-top:8px}
.recorded-stats{grid-template-columns:repeat(auto-fit,minmax(70px,1fr));padding:12px 0 6px}
.recorded-energy{font-size:var(--fs-11,11px);margin-top:6px}
/* Sul telefono la pagina Oggi è una colonna: ogni scheda prende tutta la larghezza, anche quelle senza contenuti larghi. */
@media(max-width:760px){.today-grid .card{width:100%}}
/* Il tasto «+» accanto al titolo di Training e Nutrition (19 ottobre): aggiunge al calendario nel giorno scelto. */
.heading-copy.has-add{position:relative;padding-right:58px}
.heading-add{position:absolute;right:0;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line,#ffffff1f);background:color-mix(in srgb,var(--module-accent,#c084fc) 14%,transparent);color:var(--module-accent,#c084fc);cursor:pointer}
.heading-add .icon{width:22px;height:22px}
.heading-add:focus-visible{outline:2px solid var(--module-accent,#c084fc);outline-offset:2px}
/* L'aggiornamento del piano in una scheda sua (19 ottobre): il messaggio senza un riquadro dentro il riquadro. */
.plan-update-card .info-band{background:none;border:0;padding:0}
/* Le anteprime delle sedute (19 ottobre): il tracciato sulla mappa di OpenStreetMap, un po' smorzata per il tema scuro,
   con l'attribuzione in basso a destra. */
.session-route-thumb{position:relative}.session-route-thumb svg{display:block;width:100%;height:100%}
.session-route-thumb .thumb-tiles{filter:saturate(.75) brightness(.82)}
.thumb-attribution{position:absolute;right:6px;bottom:4px;font-size:var(--fs-8,8px);color:#e5e7eb;background:#0009;padding:1px 4px;border-radius:4px}
