diff --git a/assets/css/table.css b/assets/css/table.css
index 3095254..7b73dba 100644
--- a/assets/css/table.css
+++ b/assets/css/table.css
@@ -433,7 +433,7 @@
}
.utci-table tbody tr {
- border-bottom: 1px solid #ede4cc;
+ border-bottom: 1px solid #ffffff;
transition: background 0.1s;
}
@@ -460,7 +460,7 @@
container border. */
.utci-table th:not(:last-child),
.utci-table td:not(:last-child) {
- border-right: 1px solid #ede4cc;
+ border-right: 1px solid #ffffff;
}
/* The Dir column is centered on both desktop and mobile so the
@@ -715,23 +715,23 @@
The hover state darkens slightly. The col-unit underneath inherits
a matching accent colour. */
-.utci-table th.grp-felt { background: #dff3ec; color: #075c3a; }
-.utci-table th.grp-surface { background: #ddeaf8; color: #0b3e72; }
-.utci-table th.grp-ambient { background: #eceae3; color: #3c3a35; }
-.utci-table th.grp-precip { background: #f7e4ee; color: #6b1e3a; }
-.utci-table th.grp-sky { background: #eae8fc; color: #352e7a; }
-.utci-table th.grp-wind { background: #fae6e0; color: #6a2210; }
-.utci-table th.grp-airqual { background: #e5f0d8; color: #244408; }
-.utci-table th.grp-solar { background: #faeacc; color: #5a3004; }
+.utci-table th.grp-felt { background: rgba(223,243,236,0.50); color: #075c3a; }
+.utci-table th.grp-surface { background: rgba(221,234,248,0.50); color: #0b3e72; }
+.utci-table th.grp-ambient { background: rgba(236,234,227,0.50); color: #3c3a35; }
+.utci-table th.grp-precip { background: rgba(247,228,238,0.50); color: #6b1e3a; }
+.utci-table th.grp-sky { background: rgba(234,232,252,0.50); color: #352e7a; }
+.utci-table th.grp-wind { background: rgba(250,230,224,0.50); color: #6a2210; }
+.utci-table th.grp-airqual { background: rgba(229,240,216,0.50); color: #244408; }
+.utci-table th.grp-solar { background: rgba(250,234,204,0.50); color: #5a3004; }
-.utci-table th.grp-felt.col-info-th:hover { background: #c8ead9; }
-.utci-table th.grp-surface.col-info-th:hover { background: #c5d9f0; }
-.utci-table th.grp-ambient.col-info-th:hover { background: #d8d6ce; }
-.utci-table th.grp-precip.col-info-th:hover { background: #eecfdf; }
-.utci-table th.grp-sky.col-info-th:hover { background: #d4d0f5; }
-.utci-table th.grp-wind.col-info-th:hover { background: #f0cfc5; }
-.utci-table th.grp-airqual.col-info-th:hover { background: #d0e4bc; }
-.utci-table th.grp-solar.col-info-th:hover { background: #f0d5a8; }
+.utci-table th.grp-felt.col-info-th:hover { background: rgba(213,233,226,0.80); }
+.utci-table th.grp-surface.col-info-th:hover { background: rgba(211,224,238,0.80); }
+.utci-table th.grp-ambient.col-info-th:hover { background: rgba(226,224,217,0.80); }
+.utci-table th.grp-precip.col-info-th:hover { background: rgba(237,218,228,0.80); }
+.utci-table th.grp-sky.col-info-th:hover { background: rgba(224,222,242,0.80); }
+.utci-table th.grp-wind.col-info-th:hover { background: rgba(240,220,214,0.80); }
+.utci-table th.grp-airqual.col-info-th:hover { background: rgba(219,230,206,0.80); }
+.utci-table th.grp-solar.col-info-th:hover { background: rgba(240,224,194,0.80); }
.utci-table th.grp-felt .col-unit { color: #0f9e63; }
.utci-table th.grp-surface .col-unit { color: #2672c8; }
@@ -758,15 +758,14 @@
border-bottom: 1px solid rgba(0,0,0,0.06);
}
-.grp-label-hour { background: #f0e4c4; }
-.grp-label-felt { background: #dff3ec; color: #075c3a; border-left: 2px solid rgba(74,50,24,0.18); }
-.grp-label-surface { background: #ddeaf8; color: #0b3e72; border-left: 2px solid rgba(74,50,24,0.18); }
-.grp-label-ambient { background: #eceae3; color: #3c3a35; border-left: 2px solid rgba(74,50,24,0.18); }
-.grp-label-precip { background: #f7e4ee; color: #6b1e3a; border-left: 2px solid rgba(74,50,24,0.18); }
-.grp-label-sky { background: #eae8fc; color: #352e7a; border-left: 2px solid rgba(74,50,24,0.18); }
-.grp-label-wind { background: #fae6e0; color: #6a2210; border-left: 2px solid rgba(74,50,24,0.18); }
-.grp-label-airqual { background: #e5f0d8; color: #244408; border-left: 2px solid rgba(74,50,24,0.18); }
-.grp-label-solar { background: #faeacc; color: #5a3004; border-left: 2px solid rgba(74,50,24,0.18); }
+.utci-table .grp-label-row th.grp-felt { background: rgba(223,243,236,0.50); border-left: 2px solid rgba(74,50,24,0.18); border-bottom: 1px solid rgba(74,50,24,0.18);}
+.utci-table .grp-label-row th.grp-surface { background: rgba(221,234,248,0.50); border-left: 2px solid rgba(74,50,24,0.18); border-bottom: 1px solid rgba(74,50,24,0.18);}
+.utci-table .grp-label-row th.grp-ambient { background: rgba(236,234,227,0.50); border-left: 2px solid rgba(74,50,24,0.18); border-bottom: 1px solid rgba(74,50,24,0.18);}
+.utci-table .grp-label-row th.grp-precip { background: rgba(247,228,238,0.50); border-left: 2px solid rgba(74,50,24,0.18); border-bottom: 1px solid rgba(74,50,24,0.18);}
+.utci-table .grp-label-row th.grp-sky { background: rgba(234,232,252,0.50); border-left: 2px solid rgba(74,50,24,0.18); border-bottom: 1px solid rgba(74,50,24,0.18);}
+.utci-table .grp-label-row th.grp-wind { background: rgba(250,230,224,0.50); border-left: 2px solid rgba(74,50,24,0.18); border-bottom: 1px solid rgba(74,50,24,0.18);}
+.utci-table .grp-label-row th.grp-airqual { background: rgba(229,240,216,0.50); border-left: 2px solid rgba(74,50,24,0.18); border-bottom: 1px solid rgba(74,50,24,0.18);}
+.utci-table .grp-label-row th.grp-solar { background: rgba(250,234,204,0.50); border-left: 2px solid rgba(74,50,24,0.18); border-bottom: 1px solid rgba(74,50,24,0.18);}
/* ── FILTER PROFILES + COLUMN TOGGLES — mobile fixes ───────────────── */
@media (max-width: 640px) {
diff --git a/assets/js/app.js b/assets/js/app.js
index ec3c3e1..69a75ed 100644
--- a/assets/js/app.js
+++ b/assets/js/app.js
@@ -23,7 +23,7 @@
import { h, render, Fragment } from '../vendor/preact.js';
import htm from '../vendor/htm.js';
import {
- utciCategory, UTCI_BANDS,
+ utciCategory, UTCI_BANDS, bandGradient,
SKIN_TYPES, sunburnMinutes, burnLabel,
VEHICLE_TYPES, BUILDING_TYPES,
confidenceBand, moonGlyph,
@@ -128,7 +128,7 @@ export function UTCIForecast() {
const span = GROUP_ORDER[g].filter(isColVisible).length;
if (span === 0) continue;
const labels = { felt: 'Felt', surface: 'Surface', ambient: 'Ambient', precip: 'Precip', sky: 'Sky', wind: 'Wind', airqual: 'Air quality', solar: 'Solar' };
- cells.push(html`
${labels[g]} | `);
+ cells.push(html`${labels[g]} | `);
}
return html`${cells}
`;
};
@@ -468,7 +468,7 @@ ${isPro && (activeProfile === 'custom' || activeCols['utciP']) && html`