:root{--bg: #f1f5f4;--surface: #ffffff;--border: #e2e8f0;--text: #0f172a;--muted: #64748b;--faint: #94a3b8;--brand: #0f766e;--brand-strong: #115e59;--brand-soft: #f0fdfa;--online: #059669;--online-soft: #ecfdf5;--delayed: #d97706;--delayed-soft: #fffbeb;--offline: #dc2626;--offline-soft: #fef2f2;--warning: #ea580c;--warning-soft: #fff7ed;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 3px rgba(15, 23, 42, .07);--shadow-lg: 0 10px 30px -12px rgba(15, 23, 42, .22);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-synthesis:none;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg)}button,select{font:inherit}.topbar{position:relative;isolation:isolate;overflow:hidden;min-height:188px;color:#fff}.topbar-image{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 54%}.topbar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(90deg,#041f26e0,#07343f8c 46%,#092c3526 78%)}.topbar-content{max-width:1200px;min-height:188px;margin:0 auto;padding:26px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.header-copy{padding-left:16px;border-left:3px solid #5eead4}.eyebrow{margin:0;font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brand)}.topbar .eyebrow{color:#99f6e4}.topbar h1{margin:4px 0 3px;font-size:clamp(1.35rem,2.6vw,1.85rem);line-height:1.1;letter-spacing:-.02em}.header-sub{margin:0;font-size:.78rem;color:#ffffffb8}.refresh-state{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:#06283080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-size:.75rem;font-weight:500;white-space:nowrap}.refresh-state span{width:7px;height:7px;border-radius:50%;background:#34d399;box-shadow:0 0 0 3px #34d39940}.refresh-state.active span{animation:pulse 1s ease-in-out infinite}@keyframes pulse{50%{opacity:.25}}main{max-width:1200px;margin:0 auto;padding:26px 24px 44px}.page-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:64px 24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);font-size:.9rem}.page-loading:before{content:"";width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;padding:12px 16px;background:var(--warning-soft);border:1px solid #fdba74;border-radius:var(--radius-sm);color:#9a3412;font-size:.85rem}.error-banner button{border:1px solid #fdba74;border-radius:var(--radius-sm);padding:5px 12px;background:var(--surface);color:#9a3412;font-size:.78rem;font-weight:600;white-space:nowrap;cursor:pointer}.error-banner button:hover{background:#ffedd5}.error-banner button:focus-visible{outline:2px solid var(--warning);outline-offset:2px}.summary{display:grid;grid-template-columns:repeat(6,1fr);margin-bottom:30px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.summary>div{padding:16px 18px;border-right:1px solid var(--border)}.summary>div:last-child{border-right:0}.summary span{display:block;margin-bottom:5px;font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.summary strong{font-size:1.05rem;font-weight:700;letter-spacing:-.01em}.summary>div:nth-child(1) strong{color:var(--online)}.summary>div:nth-child(2) strong{color:var(--delayed)}.summary>div:nth-child(3) strong{color:var(--warning)}.summary>div:nth-child(5) strong{color:var(--brand)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}.section-heading h2{margin:3px 0 0;font-size:1.2rem;letter-spacing:-.01em}.section-heading>p{margin:0;font-size:.78rem;color:var(--muted)}.device-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.device-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--faint);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);transition:box-shadow .15s ease}.device-card:hover{box-shadow:var(--shadow-lg)}.device-card.status-online{border-top-color:var(--online)}.device-card.status-delayed{border-top-color:var(--delayed)}.device-card.status-offline{border-top-color:var(--offline)}.device-card.warning{border-color:var(--warning);box-shadow:0 0 0 1px var(--warning),var(--shadow)}.device-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.device-card h2{margin:0;font-size:.95rem;font-weight:600}.device-id{margin:4px 0 0;font:500 .72rem ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--faint)}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.02em;white-space:nowrap;background:#f1f5f9;color:var(--muted)}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--faint)}.status-online .status-badge{background:var(--online-soft);color:#047857}.status-online .status-dot{background:var(--online)}.status-delayed .status-badge{background:var(--delayed-soft);color:#b45309}.status-delayed .status-dot{background:var(--delayed)}.status-offline .status-badge{background:var(--offline-soft);color:#b91c1c}.status-offline .status-dot{background:var(--offline)}.temperature{margin:24px 0 18px;font-size:2.5rem;font-weight:700;line-height:1;letter-spacing:-.04em;color:var(--text)}.warning-text,.stale-note{margin:-10px 0 14px;font-size:.75rem;font-weight:600}.warning-text{color:var(--warning)}.stale-note{color:var(--offline)}.device-card dl{margin:auto 0 0;padding-top:12px;border-top:1px solid var(--border)}.device-card dl>div{display:flex;justify-content:space-between;gap:10px;margin:6px 0;font-size:.76rem}.device-card dt{color:var(--muted)}.device-card dd{margin:0;text-align:right;font-weight:600;color:var(--text)}.no-reading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:168px;text-align:center;color:var(--faint);font-size:.8rem}.no-reading strong{color:var(--muted);font-size:.9rem}.history-panel{margin-top:30px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.history-panel summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;font-weight:700;font-size:.98rem}.history-panel summary::-webkit-details-marker{display:none}.history-panel summary small{display:block;margin-bottom:2px;font-size:.63rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brand)}.history-toggle{padding:6px 13px;border-radius:999px;background:var(--brand-soft);color:var(--brand-strong);font-size:.72rem;font-weight:600;white-space:nowrap}.history-panel[open] .history-toggle{font-size:0}.history-panel[open] .history-toggle:after{content:"Hide chart";font-size:.72rem}.history-content{padding:0 20px 20px}.history-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.range-toggle{display:inline-flex;padding:3px;border-radius:9px;background:#eef2f0}.range-toggle button{border:0;border-radius:6px;padding:6px 14px;background:transparent;color:var(--muted);font-size:.75rem;font-weight:700;cursor:pointer}.range-toggle button.active{background:var(--brand);color:#fff}.history-controls label{display:flex;align-items:center;gap:8px;font-size:.75rem;font-weight:600;color:var(--muted)}.history-controls select{padding:7px 30px 7px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:.8rem}.history-controls select:focus-visible,.range-toggle button:focus-visible,.history-panel summary:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.chart-wrap{position:relative;height:330px}.chart-message{height:100%;display:grid;place-items:center;color:var(--faint);font-size:.88rem}.chart-message.error{color:var(--offline)}footer{padding:20px;text-align:center;color:var(--faint);font-size:.72rem;border-top:1px solid var(--border)}@media(max-width:900px){.summary{grid-template-columns:repeat(3,1fr)}.summary>div:nth-child(3){border-right:0}.summary>div:nth-child(-n+3){border-bottom:1px solid var(--border)}}@media(max-width:600px){.topbar,.topbar-content{min-height:132px}.topbar-content{padding:16px;align-items:flex-start;flex-direction:column;justify-content:center;gap:10px}.topbar h1{font-size:1.3rem}.header-sub{display:none}.refresh-state{padding:5px 10px;font-size:.68rem}main{padding:16px 12px 30px}.summary{grid-template-columns:repeat(2,1fr);margin-bottom:22px}.summary>div{padding:12px 14px;border-bottom:1px solid var(--border)}.summary>div:nth-child(3){border-right:1px solid var(--border)}.summary>div:nth-child(2n){border-right:0}.summary>div:nth-child(n+5){border-bottom:0}.summary>div:nth-child(6){grid-column:1 / -1}.summary span{font-size:.63rem}.summary strong{font-size:.95rem}.section-heading{align-items:center;margin-bottom:10px}.section-heading .eyebrow,.section-heading>p{display:none}.section-heading h2{font-size:1rem}.device-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.device-card{padding:13px 12px;border-top-width:2px}.device-card h2{font-size:.82rem;line-height:1.2}.device-id,.exact-update{display:none}.status-badge{padding:2px 8px;font-size:.62rem}.temperature{font-size:clamp(1.75rem,10vw,2.3rem);margin:20px 0 12px}.device-card dl{padding-top:8px}.device-card dl>div{margin:0;font-size:.68rem}.device-card dd{white-space:nowrap}.warning-text,.stale-note{display:none}.no-reading{min-height:104px;font-size:.72rem}.history-panel{margin-top:22px}.history-panel summary{padding:13px 14px;font-size:.9rem}.history-content{padding:0 14px 14px}.history-controls{flex-direction:column;align-items:stretch}.range-toggle{width:100%}.range-toggle button{flex:1}.history-controls label{justify-content:space-between}.chart-wrap{height:240px}footer{display:none}}
