@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";:root{--bg: #fafaf9;--surface: #ffffff;--fg: #18181b;--muted: #71717a;--border: #e4e4e7;--accent: #ea580c;--accent-soft: #fff7ed;--ok: #15803d;--ok-soft: #f0fdf4;--warning: #b45309;--warning-soft: #fffbeb;--danger: #b91c1c;--danger-soft: #fef2f2;--cool: #1d4ed8;--cool-soft: #eff6ff;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--fs-xs: 11px;--fs-sm: 13px;--fs-base: 15px;--fs-lg: 18px;--fs-xl: 24px;--fs-xxl: 32px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--radius: 8px;--radius-sm: 6px;--content-max: 720px;--tap: 44px}@media (prefers-color-scheme: dark){:root{--bg: #0a0a0b;--surface: #161618;--fg: #fafafa;--muted: #a1a1aa;--border: #27272a;--accent-soft: #2a1607;--ok-soft: #04220c;--warning-soft: #2b1b04;--danger-soft: #2a0a0a;--cool-soft: #0a1730}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);background:var(--bg);color:var(--fg);font-size:var(--fs-base);line-height:1.5;-webkit-font-smoothing:antialiased}.layout{max-width:var(--content-max);margin:0 auto;padding:var(--sp-4)}h1{font-size:var(--fs-xl);margin:0;letter-spacing:-.01em;font-weight:600}h2{font-size:var(--fs-xs);margin:var(--sp-5) 0 var(--sp-2);color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:.08em}h3{font-size:var(--fs-lg);margin:0;font-weight:600}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-4);margin-bottom:var(--sp-2)}.card-header{display:flex;justify-content:space-between;align-items:baseline}.reading{font-size:var(--fs-xxl);font-weight:600;color:var(--fg);font-variant-numeric:tabular-nums}.reading.safe-state{color:var(--danger)}.setpoint-row{display:flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-3)}input[type=number],input[type=time],input[type=text],select{font:inherit;min-height:var(--tap);padding:6px var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--fg)}input[type=number]{width:96px;font-variant-numeric:tabular-nums}button{font:inherit;min-height:var(--tap);padding:0 var(--sp-4);background:var(--fg);color:var(--bg);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:opacity .12s ease}button:hover:not(:disabled){opacity:.88}button:disabled{opacity:.4;cursor:default}button.secondary{background:transparent;color:var(--fg);border:1px solid var(--border)}button.danger{background:var(--danger);color:#fff}.group-row{display:flex;justify-content:space-between;padding:var(--sp-2) 0;font-size:var(--fs-sm);border-bottom:1px solid var(--border)}.group-row:last-child{border-bottom:none}.tag{display:inline-block;padding:2px 8px;border-radius:999px;font-size:var(--fs-xs);background:var(--border);color:var(--muted);font-weight:500;letter-spacing:.02em}.tag.open{background:var(--ok-soft);color:var(--ok)}.tag.closed{background:var(--border);color:var(--muted)}.tag.heat{background:var(--accent-soft);color:var(--accent)}.tag.cool{background:var(--cool-soft);color:var(--cool)}.tag.none{background:var(--border);color:var(--muted)}.tag.critical{background:var(--danger-soft);color:var(--danger)}.tag.warning{background:var(--warning-soft);color:var(--warning)}.tag.info{background:var(--border);color:var(--muted)}.banner{padding:var(--sp-3) var(--sp-4);border-radius:var(--radius);margin-bottom:var(--sp-3);font-size:var(--fs-sm)}.banner.warning{background:var(--warning-soft);color:var(--warning);border:1px solid var(--warning)}.banner.danger{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger)}.stale{background:var(--warning-soft);color:var(--warning);border:1px solid var(--warning);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius);margin-bottom:var(--sp-3);font-size:var(--fs-sm)}.field-error{color:var(--danger);font-size:var(--fs-xs);margin-top:var(--sp-1)}.muted{color:var(--muted)}.label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:500}.tabular{font-variant-numeric:tabular-nums}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.skeleton{background:linear-gradient(90deg,var(--border) 0%,var(--surface) 50%,var(--border) 100%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}
