diff --git a/assets/css/base.css b/assets/css/base.css index d07fc6e..9b077c3 100644 --- a/assets/css/base.css +++ b/assets/css/base.css @@ -34,7 +34,8 @@ /* ── 1. FONTS + RESET ───────────────────────────────────────────────── */ -@import "https://fonts.bunny.net/css2?family=Fraunces:ital,wght@0,300;0,500;0,700;0,900;1,300;1,500;1,700;1,900&family=JetBrains+Mono:wght@400;600&family=Manrope:wght@400;500;600;700&display=swap"; +/* Font loading is handled in index.html via a non-blocking + to avoid render-blocking. The @import has been intentionally removed. */ *, *:before, diff --git a/assets/css/table.css b/assets/css/table.css index 6fa3657..1145891 100644 --- a/assets/css/table.css +++ b/assets/css/table.css @@ -141,7 +141,7 @@ font-size: 12px; text-transform: uppercase; letter-spacing: 0.18em; - color: #b09870; + color: #7a5c2a; margin-right: 4px; white-space: nowrap; } @@ -151,7 +151,7 @@ cursor: pointer; border: 1.5px solid #c9b08a; background: #f5edd6; - color: #9a7d5a; + color: #6b4228; font-family: JetBrains Mono, monospace; font-size: 13px; text-transform: uppercase; @@ -192,7 +192,7 @@ font-size: 12px; text-transform: uppercase; letter-spacing: 0.18em; - color: #b09870; + color: #7a5c2a; margin-right: 4px; white-space: nowrap; } @@ -203,7 +203,7 @@ cursor: pointer; border: 1.5px solid #c9b08a; background: #f5edd6; - color: #9a7d5a; + color: #6b4228; font-family: JetBrains Mono, monospace; font-size: 12px; text-transform: uppercase; @@ -295,7 +295,7 @@ border-left: 1px solid #d4c0a0; /* softer join line */ border-radius: 0 20px 20px 0; background: #fef8ee; - color: #7a5c30; + color: #6b4228; user-select: none; transition: background 0.15s, color 0.15s, border-color 0.15s; white-space: nowrap; diff --git a/assets/css/ui.css b/assets/css/ui.css index 3a837b2..8077bd4 100644 --- a/assets/css/ui.css +++ b/assets/css/ui.css @@ -20,9 +20,9 @@ cursor: pointer; border: 1.5px solid #c9b08a; background: #f5edd6; - color: #9a7d5a; + color: #6b4228; font-family: JetBrains Mono, monospace; - font-size: 12px; + font-size: 13px; text-transform: uppercase; letter-spacing: 0.1em; transition: all 0.15s; @@ -36,26 +36,36 @@ } /* Active state — brass border + brass text, parchment background */ .cs-btn.on { + background: #c8922a; border-color: #c8922a; - color: #c8922a; - background: #f5edd6; + color: #fff; font-weight: 600; } .cs-btn.on:hover { - background: #fef3dc; - color: #a06e18; + background: #a06e18; border-color: #a06e18; + color: #fff; } /* The chevron arrow inside the button */ .cs-arrow { - font-size: 9px; - opacity: 0.6; - margin-left: 2px; - transition: transform 0.15s; display: inline-block; + width: 6px; + height: 6px; + border-right: 2px solid currentColor; + border-bottom: 2px solid currentColor; + transform: rotate(45deg); + margin-left: 5px; + margin-bottom: 3px; + opacity: 1; + transition: transform 0.15s; + vertical-align: middle; } .cs-wrap.open .cs-arrow { + transform: rotate(225deg); + margin-bottom: -1px; +} +.cs-wrap.open .cs-arrow-old { transform: rotate(180deg); } @@ -140,7 +150,7 @@ padding-left: 11px; border-radius: 0 20px 20px 0; background: #f5edd6; - color: #9a7d5a; + color: #6b4228; user-select: none; transition: background 0.15s, color 0.15s, border-color 0.15s; white-space: nowrap; @@ -215,7 +225,7 @@ font-size: 10px; text-transform: uppercase; letter-spacing: 0.18em; - color: #b09870; + color: #7a5c2a; margin-bottom: 12px; display: block; font-weight: 600; @@ -301,7 +311,7 @@ font-size: 10px; text-transform: uppercase; letter-spacing: 0.12em; - color: #c0a880; + color: #9a7d5a; line-height: 2.2; } diff --git a/assets/js/app.js b/assets/js/app.js index a6db99a..6888c33 100644 --- a/assets/js/app.js +++ b/assets/js/app.js @@ -139,12 +139,6 @@ export function UTCIForecast() { icon: '🌡️', cols: { hour: true, air: true, rh: false, dew: false, wind: true, dir: false, cloud: true, sun: false, direct: false, diffuse: false, tmrt: false, delta: false, utci: false, uvA: false, uvB: false, burn: false, utciP: true, precip: true, soilT: false, soilT6: false, soilM: false, concreteT: false, vehicleT: false, indoorT: false, managedT: false }, }, - outdoors: { - label: 'Places', - icon: '🌤️', - // Default cols match the first variant (urban). Switching variant updates visibleCols. - cols: { hour: true, air: true, rh: false, dew: false, wind: true, dir: true, cloud: true, sun: false, direct: false, diffuse: false, tmrt: false, delta: false, utci: false, uvA: true, uvB: false, burn: true, utciP: true, precip: true, soilT: false, soilT6: false, soilM: false, concreteT: true, vehicleT: false, indoorT: false, managedT: false }, - }, home: { label: 'Home', icon: '🏠', @@ -160,11 +154,11 @@ export function UTCIForecast() { icon: '🌾', cols: { hour: true, air: true, rh: true, dew: true, wind: true, dir: true, cloud: true, sun: true, direct: false, diffuse: false, tmrt: false, delta: false, utci: true, uvA: false, uvB: false, burn: false, utciP: false, precip: true, soilT: true, soilT6: true, soilM: true, concreteT: false, vehicleT: false, indoorT: false, managedT: false }, }, - sailing: { - label: 'Sailing', - icon: '⛵', - proOnly: true, - cols: { hour: true, air: true, rh: false, dew: true, wind: true, dir: true, cloud: true, sun: true, direct: false, diffuse: false, tmrt: false, delta: false, utci: false, uvA: true, uvB: false, burn: true, utciP: true, precip: true, soilT: false, soilT6: false, soilM: false, concreteT: false, vehicleT: false, indoorT: false, managedT: false }, + outdoors: { + label: 'Places', + icon: '🌤️', + // Default cols match the first variant (urban). Switching variant updates visibleCols. + cols: { hour: true, air: true, rh: false, dew: false, wind: true, dir: true, cloud: true, sun: false, direct: false, diffuse: false, tmrt: false, delta: false, utci: false, uvA: true, uvB: false, burn: true, utciP: true, precip: true, soilT: false, soilT6: false, soilM: false, concreteT: true, vehicleT: false, indoorT: false, managedT: false }, }, alltemps: { label: 'Temps', @@ -189,6 +183,7 @@ export function UTCIForecast() { festival: { name: 'Festival', proOnly: true, cols: { hour: true, air: true, rh: false, dew: true, wind: true, dir: true, cloud: true, sun: false, direct: false, diffuse: false, tmrt: false, delta: false, utci: false, uvA: true, uvB: false, burn: true, utciP: true, precip: true, soilT: false, soilT6: false, soilM: true, concreteT: false, vehicleT: false, indoorT: false, managedT: false } }, wintersports: { name: 'Winter Sports', proOnly: true, cols: { hour: true, air: true, rh: false, dew: false, wind: true, dir: true, cloud: true, sun: true, direct: false, diffuse: false, tmrt: false, delta: false, utci: false, uvA: true, uvB: true, burn: true, utciP: true, precip: true, soilT: false, soilT6: false, soilM: false, concreteT: false, vehicleT: false, indoorT: false, managedT: false } }, naturist: { name: 'Naturist', proOnly: true, cols: { hour: true, air: true, rh: false, dew: true, wind: true, dir: false, cloud: true, sun: true, direct: false, diffuse: false, tmrt: false, delta: false, utci: true, uvA: true, uvB: true, burn: true, utciP: true, precip: true, soilT: false, soilT6: false, soilM: false, concreteT: false, vehicleT: false, indoorT: false, managedT: false } }, + sailing: { name: 'Sailing', proOnly: true, cols: { hour: true, air: true, rh: false, dew: true, wind: true, dir: true, cloud: true, sun: true, direct: false, diffuse: false, tmrt: false, delta: false, utci: false, uvA: true, uvB: false, burn: true, utciP: true, precip: true, soilT: false, soilT6: false, soilM: false, concreteT: false, vehicleT: false, indoorT: false, managedT: false } }, }; // Current active filter profile @@ -692,7 +687,7 @@ export function UTCIForecast() {
-