/* Palette gelato: panna, fragola, pistacchio, nocciola. L'accento cambia con il gusto (--accent) */
:root { --bg: #FFFAF2; --card: #FFFFFF; --ink: #3B2A33; --accent: 244 166 191; --track: #F1E9E1; --band: #CDE8B6; }
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) { --bg: #211B1F; --card: #2D2529; --ink: #F6ECE8; --track: #40363A; --band: #4F7048; color-scheme: dark; }
}
:root[data-theme="dark"] { --bg: #211B1F; --card: #2D2529; --ink: #F6ECE8; --track: #40363A; --band: #4F7048; color-scheme: dark; }

.ico { width: 1.15rem; height: 1.15rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
#nav-mobile .is-active { font-weight: 600; box-shadow: inset 0 -3px 0 rgb(var(--accent)); }

/* Misuratore: fascia = range, segnaposto = valore calcolato */
.meter { position: relative; height: 8px; border-radius: 99px; background: var(--track); }
.meter .band { position: absolute; top: 0; bottom: 0; border-radius: 99px; background: var(--band); }
.meter .mark { position: absolute; top: -4px; width: 4px; height: 16px; border-radius: 2px; transform: translateX(-50%); }
.meter .mark.ok { background: #3F8A52; }
.meter .mark.ko { background: #D6456F; }

.comp { display: flex; height: 14px; overflow: hidden; border-radius: 99px; background: var(--track); }
.comp span { display: block; height: 100%; }

@keyframes rise { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.card { animation: rise .35s ease both; }
@media (prefers-reduced-motion: reduce) { .card { animation: none; } }

@media print {
    .no-print, aside, header, nav, #wiz, #stepper { display: none !important; }
    #res { display: block !important; grid-column: 1 / -1; }
    body { background: #fff; color: #000; }
}
