diff --git a/app/public/dashboard.html b/app/public/dashboard.html index a202619..290389e 100644 --- a/app/public/dashboard.html +++ b/app/public/dashboard.html @@ -144,6 +144,61 @@ a { color: var(--cool); text-decoration: none; } .settings-section-hdr { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em; color: var(--ink-light); margin: 1.25rem 0 0.6rem; padding-bottom: 0.4rem; border-bottom: 1px solid var(--border); } .threshold-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; } @media (max-width: 480px) { .threshold-row { grid-template-columns: 1fr; } } + +/* ── Section cards ── */ +.section-card { background: var(--paper-dark); border: 1px solid var(--border); border-radius: 16px; padding: 1.25rem 1.5rem; margin-bottom: 1rem; } +.section-card-hdr { font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.09em; color: var(--ink-light); margin-bottom: 1.1rem; } + +/* ── Hero ── */ +.hero { display: flex; gap: 2rem; align-items: flex-start; flex-wrap: wrap; } +.hero-main { flex: 0 0 auto; min-width: 160px; } +.hero-temp-row { display: flex; align-items: baseline; gap: 0.25rem; } +.hero-temp { font-size: 5.5rem; font-weight: 800; line-height: 1; letter-spacing: -0.03em; transition: color 0.4s; } +.hero-temp-unit { font-size: 2rem; font-weight: 300; color: var(--ink-light); align-self: flex-start; margin-top: 0.6rem; } +.hero-sub-line { font-size: 0.92rem; color: var(--ink-light); margin-top: 0.3rem; } +.hero-grid { flex: 1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.9rem 1.5rem; min-width: 260px; align-content: start; } +.hero-stat-label { font-size: 0.67rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-light); margin-bottom: 0.1rem; } +.hero-stat-val { font-size: 1.45rem; font-weight: 700; line-height: 1.15; } +.hero-stat-unit { font-size: 0.72rem; color: var(--ink-light); } +@media (max-width: 640px) { + .hero { flex-direction: column; gap: 1.25rem; } + .hero-temp { font-size: 4.5rem; } + .hero-grid { grid-template-columns: repeat(3, 1fr); min-width: 0; width: 100%; } + .hero-stat-val { font-size: 1.15rem; } +} + +/* ── Today bar ── */ +.today-bar { display: flex; align-items: center; gap: 0.75rem; background: var(--paper-dark); border: 1px solid var(--border); border-radius: 12px; padding: 0.65rem 1.1rem; margin-bottom: 1rem; font-size: 0.88rem; flex-wrap: wrap; } +.today-label { font-size: 0.67rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-light); font-weight: 700; margin-right: 0.1rem; flex-shrink: 0; } +.today-item { display: flex; align-items: baseline; gap: 0.25rem; } +.today-icon { font-size: 0.8rem; } +.today-val { font-weight: 700; } +.today-val.hi { color: var(--accent); } +.today-val.lo { color: var(--cool); } +.today-sep { width: 1px; height: 1.1em; background: var(--border); flex-shrink: 0; } +.today-lbl { font-size: 0.75rem; color: var(--ink-light); } + +/* ── Tile color tints ── */ +.stat-hot { border-color: rgba(220,80,30,0.55) !important; background: rgba(220,80,30,0.07) !important; } +.stat-warm { border-color: rgba(200,155,0,0.5) !important; background: rgba(200,155,0,0.06) !important; } +.stat-cool { border-color: rgba(42,140,200,0.5) !important; background: rgba(42,140,200,0.07) !important; } +.stat-cold { border-color: rgba(60,100,200,0.55) !important; background: rgba(60,100,200,0.09) !important; } +.stat-raining { border-color: rgba(42,107,138,0.6) !important; background: rgba(42,107,138,0.09) !important; } +.stat-uv-mod { border-color: rgba(200,155,0,0.5) !important; background: rgba(200,155,0,0.07) !important; } +.stat-uv-high { border-color: rgba(210,80,20,0.55) !important; background: rgba(210,80,20,0.08) !important; } +.stat-uv-xhigh { border-color: rgba(150,0,70,0.5) !important; background: rgba(150,0,70,0.08) !important; } + +/* ── Sparklines ── */ +canvas.sparkline { display: block; width: 100%; height: 22px; margin-top: 0.4rem; opacity: 0.65; } + +/* ── Secondary stats strip ── */ +.stats.secondary { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); margin-bottom: 1rem; } + +/* ── Updated chart look ── */ +.chart-wrap { position: relative; height: 240px; } +.chart-card.wide .chart-wrap { height: 160px; } +.chart-card { transition: box-shadow 0.15s; } +.chart-card:hover { box-shadow: 0 2px 12px rgba(0,0,0,0.08); } @@ -164,38 +219,91 @@ a { color: var(--cool); text-decoration: none; }
- -
-
Temperature
—
°F
-
Feels Like
—
°F
-
Humidity
—
%
-
Dew Point
—
°F
-
Wind
—
mph
+ +
+
Current Conditions
+
+
+
+
—
+
°F
+
+
Feels like —° F
+
+
+
+
+
Humidity
+
—
+
%
+ +
+
+
Dew Point
+
—
+
°F
+
+
+
Pressure
+
—
+
inHg 
+ +
+
+
UV Index
+
—
+
+
+
+
Solar Rad.
+
—
+
W/m²
+ +
+
+
Battery
+
—
+
+
+
+
+
+ + + + + +
+
+
Wind
+
—
+
mph
+ +
Wind Gust
—
mph
Max Gust Today
—
mph
-
-
Pressure
-
—
-
inHg  
-
-
Rain Today
—
in
-
Rain Rate
—
in/hr
-
UV Index
—
-
Solar Rad.
—
W/m²
-
Battery
—
+
Rain Today
—
in
+
Rain Rate
—
in/hr
- -
+ +
Rain 7d
—
in
Rain 30d
—
in
Rain YTD
—
in
- +
Heating DD
—
this month
Cooling DD
—
this month