:root { --bg: #f4f6f8; --karte: #ffffff; --text: #1c2530; --text-leise: #5b6775; --rand: #d9dee4; --ok: #1a7f4b; --warnung: #b3261e; --warnung-bg: #fdecea; --veraltet: #9a6700; --linie-temp: #c2410c; --linie-co2: #1d4ed8; } @media (prefers-color-scheme: dark) { :root { --bg: #14181d; --karte: #1e242b; --text: #e8ecf0; --text-leise: #9aa6b2; --rand: #323a44; --ok: #4cc38a; --warnung: #ff8a80; --warnung-bg: #3b1e1c; --veraltet: #e3b341; --linie-temp: #fb923c; --linie-co2: #60a5fa; } } * { box-sizing: border-box; } body { margin: 0; padding: 0 16px 32px; background: var(--bg); color: var(--text); font-family: system-ui, -apple-system, "Segoe UI", sans-serif; } header, main { max-width: 900px; margin: 0 auto; } h1 { font-size: 1.5rem; margin: 24px 0 8px; } h2 { font-size: 0.95rem; font-weight: 600; color: var(--text-leise); margin: 0 0 8px; } .status { margin: 0 0 20px; font-size: 0.9rem; } .status-ok { color: var(--ok); } .status-warte, .status-veraltet { color: var(--veraltet); } .kacheln { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; } .kachel { background: var(--karte); border: 1px solid var(--rand); border-radius: 10px; padding: 16px; } .wert { margin: 0; font-size: 2.2rem; font-weight: 600; font-variant-numeric: tabular-nums; } .wert small { font-size: 1rem; font-weight: 400; color: var(--text-leise); } .hinweis { margin: 8px 0 0; font-size: 0.85rem; font-weight: 600; } .kachel.alarm { border-color: var(--warnung); background: var(--warnung-bg); } .kachel.alarm .wert, .kachel.alarm .hinweis { color: var(--warnung); } .kachel.veraltet .wert { opacity: 0.45; } .verlauf { margin-top: 24px; background: var(--karte); border: 1px solid var(--rand); border-radius: 10px; padding: 16px; } canvas { width: 100%; height: auto; display: block; }