:root{color:#17201c;font-synthesis:none;text-rendering:optimizelegibility;--ink:#17201c;--muted:#6a756f;--soft:#8e9993;--line:#e2e8e4;--surface:#fff;--surface-soft:#f8faf8;--accent:#176a55;--accent-soft:#e8f3ef;--fresh:#278267;--aging:#bb7b22;--stale:#a84a44;--missing:#929b96;--shadow:0 16px 40px #1d332a12;background:#f3f6f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#f3f6f4;min-width:320px}body{min-width:320px;min-height:100vh;margin:0}button,select{font:inherit}button{color:inherit}button:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #176a5533}.app-background{background:radial-gradient(circle at 5% 0,#3a7e670e,#0000 24rem),#f3f6f4;min-height:100vh}.topbar{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fafcfaeb;border-bottom:1px solid #dce3dedb;position:sticky;top:0}.topbar-inner,.page-shell{width:min(1240px,100% - 48px);margin:0 auto}.topbar-inner{justify-content:space-between;align-items:center;gap:24px;min-height:82px;display:flex}.brand-block{align-items:center;gap:13px;display:flex}.brand-mark{object-fit:contain;border-radius:13px;width:40px;height:40px;display:block}.brand-kicker{text-transform:uppercase;letter-spacing:.14em;color:#678078;font-size:10px;font-weight:800}.brand-block h1{letter-spacing:-.02em;margin:2px 0 0;font-size:18px;line-height:1.1}.header-controls{align-items:center;gap:12px;display:flex}.system-pill{background:#fff;border:1px solid #dce4df;border-radius:999px;align-items:center;gap:9px;height:38px;padding:0 13px;font-size:12px;font-weight:700;display:inline-flex}.system-pulse{background:currentColor;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px}.system-ok{color:#20755d}.system-warning{color:#a66b1f}.system-down{color:#9c403d}.system-unknown{color:#747f79}.system-pill .system-pulse{box-shadow:0 0 0 4px color-mix(in srgb, currentColor 12%, transparent)}.period-control{background:#fff;border:1px solid #dce4df;border-radius:12px;align-items:center;gap:10px;height:42px;padding:0 10px 0 13px;display:flex}.period-control span{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:11px;font-weight:700}.period-control select{color:var(--ink);cursor:pointer;background:0 0;border:0;outline:0;font-weight:750}.page-shell{padding:52px 0 40px}.intro-row{justify-content:space-between;align-items:end;gap:32px;margin-bottom:26px;display:flex}.eyebrow{color:#6f7c75;text-transform:uppercase;letter-spacing:.105em;font-size:11px;font-weight:800}.intro-row h2,.detail-heading h2{letter-spacing:-.045em;margin:7px 0;font-size:clamp(28px,4vw,42px);font-weight:720;line-height:1.08}.intro-row p,.detail-heading p{color:var(--muted);margin:0;font-size:15px}.update-block{text-align:right;min-width:180px}.update-block>span{color:var(--soft);text-transform:uppercase;letter-spacing:.07em;font-size:11px;font-weight:700;display:block}.update-block strong{margin-top:4px;font-size:14px;display:block}.text-button{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:7px 0 0;font-size:12px;font-weight:750}.text-button:disabled{opacity:.55;cursor:default}.demo-banner,.inline-error{color:#725d22;background:#fffaf0;border:1px solid #e3d9b8;border-radius:13px;margin:-8px 0 20px;padding:11px 14px;font-size:13px}.environment-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;display:grid}.environment-card{appearance:none;text-align:left;cursor:pointer;background:#fffffff7;border:1px solid #e1e7e3;border-radius:20px;width:100%;padding:21px;transition:transform .16s,box-shadow .16s,border-color .16s;box-shadow:0 5px 18px #1d332a09}.environment-card:hover{box-shadow:var(--shadow);border-color:#cad8d1;transform:translateY(-2px)}.environment-card.is-selected{box-shadow:0 0 0 3px #176a5513, var(--shadow);border-color:#7fac9c}.environment-card-head{justify-content:space-between;gap:14px;min-height:50px;display:flex}.environment-card h3{letter-spacing:-.02em;margin:4px 0 0;font-size:17px;line-height:1.25}.receiving-state{color:var(--muted);white-space:nowrap;align-self:flex-start;align-items:center;gap:6px;font-size:10px;font-weight:750;display:flex}.status-dot{background:var(--missing);border-radius:50%;flex:0 0 8px;width:8px;height:8px;display:inline-block}.status-fresh,.status-ok{background:var(--fresh)}.status-aging,.status-warning{background:var(--aging)}.status-stale,.status-down{background:var(--stale)}.status-missing,.status-unknown{background:var(--missing)}.readings-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:21px;display:grid}.reading{min-width:0}.reading+.reading{border-left:1px solid #edf0ee;padding-left:16px}.reading-label{color:var(--muted);font-size:11px;font-weight:700}.reading-value{letter-spacing:-.05em;font-variant-numeric:tabular-nums;margin-top:6px;font-size:clamp(29px,2.7vw,38px);font-weight:700;line-height:1}.reading-value span{letter-spacing:-.02em;color:#63716a;margin-left:3px;font-size:15px;font-weight:650}.reading-freshness{color:#7b8781;white-space:nowrap;align-items:center;gap:6px;margin-top:9px;font-size:10px;display:flex}.reading-freshness .status-dot{flex-basis:6px;width:6px;height:6px}.card-action{color:#557268;border-top:1px solid #eef1ef;justify-content:space-between;margin-top:19px;padding-top:13px;font-size:11px;font-weight:750;display:flex}.detail-section{margin-top:54px;scroll-margin-top:100px}.detail-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px;display:flex}.detail-heading h2{font-size:31px}.primary-button,.secondary-button{cursor:pointer;border:1px solid #0000;border-radius:11px;padding:10px 14px;font-size:13px;font-weight:750}.primary-button{color:#fff;background:#173d33}.secondary-button{color:#31574a;background:#fff;border-color:#dce4df}.secondary-button:disabled{opacity:.55;cursor:default}.stats-strip{grid-template-columns:1fr 1fr;gap:15px;margin-bottom:15px;display:grid}.stats-group{border:1px solid var(--line);background:#fff;border-radius:16px;padding:17px 19px}.stats-title{color:#4c5c54;margin-bottom:11px;font-size:12px;font-weight:800}.stats-values{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.stats-values div{flex-direction:column;gap:3px;display:flex}.stats-values span{color:var(--soft);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:650}.stats-values strong{font-variant-numeric:tabular-nums;font-size:17px}.stats-empty{color:var(--soft);font-size:13px}.charts-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.chart-card{border:1px solid var(--line);background:#fff;border-radius:20px;min-width:0;padding:18px 16px 9px;overflow:hidden;box-shadow:0 8px 26px #1d332a09}.chart-card-head{justify-content:space-between;align-items:start;padding:1px 5px 0;display:flex}.chart-card h3{letter-spacing:-.02em;margin:4px 0 0;font-size:17px}.chart-unit{color:var(--muted);border:1px solid #e0e7e3;border-radius:9px;padding:5px 8px;font-size:11px;font-weight:750}.technical-panel{background:#ffffffa8;border:1px solid #dde4e0;border-radius:17px;margin-top:27px;overflow:hidden}.outdoor-section{gap:14px;margin-top:30px;display:grid}.outdoor-section h2{margin:0}.outdoor-card{border:1px solid var(--line);background:#fff;border-radius:20px;padding:18px}.outdoor-card p{color:#64706a;margin:0 0 15px}.outdoor-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.outdoor-metrics div{gap:5px;display:grid}.outdoor-metrics span{color:#64706a;font-size:13px}.outdoor-metrics strong{font-size:18px}.comparison-chart{width:100%}.comparison-tooltip{color:#26372f;background:#fff;gap:5px;padding:9px 12px;display:grid;box-shadow:0 6px 20px #0002}.analyzed-data{color:#64706a;padding:0 18px 16px;font-size:12px}.analyzed-data p{margin:5px 0}@media (width<=760px){.outdoor-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=420px){.outdoor-metrics{grid-template-columns:1fr 1fr}.outdoor-metrics strong{font-size:16px}}.technical-panel summary{cursor:pointer;justify-content:space-between;gap:18px;padding:16px 18px;font-size:12px;font-weight:800;list-style:none;display:flex}.technical-panel summary::-webkit-details-marker{display:none}.technical-summary-note{color:var(--soft);font-weight:550}.technical-grid{background:#e4e9e6;border-top:1px solid #e4e9e6;grid-template-columns:repeat(5,1fr);gap:1px;display:grid}.technical-item{background:#fbfcfb;align-items:flex-start;gap:10px;min-height:94px;padding:15px;display:flex}.technical-item .status-dot{margin-top:4px}.technical-item div{flex-direction:column;gap:3px;min-width:0;display:flex}.technical-item strong{font-size:11px}.technical-item span{color:#626e68;font-size:11px;line-height:1.35}.technical-item small{color:#909a95;font-size:9px;line-height:1.35}.empty-state,.error-panel{border:1px solid var(--line);text-align:center;background:#fff;border-radius:20px;padding:44px 26px}.empty-state h3,.error-panel h1{margin:0 0 7px}.empty-state p,.error-panel p{color:var(--muted);max-width:540px;margin:0 auto 17px}.error-state{place-items:center;min-height:80vh;display:grid}.error-panel{max-width:560px}.error-symbol{color:#9b4842;background:#f8e9e7;border-radius:50%;place-items:center;width:42px;height:42px;margin:0 auto 15px;font-weight:850;display:grid}.footer{text-align:center;color:#909a95;padding:0 20px 28px;font-size:10px}.skeleton{background:#e8ece9;border-radius:16px;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ffffff9e,#0000);animation:1.35s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}.skeleton-header{height:110px;margin-bottom:26px}.skeleton-grid{grid-template-columns:repeat(4,1fr);gap:15px;display:grid}.skeleton-card{height:212px}.skeleton-chart{height:380px;margin-top:50px}.skeleton-chart-small{height:355px}@keyframes shimmer{to{transform:translate(100%)}}@media (width<=1040px){.environment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.technical-grid{grid-template-columns:repeat(2,1fr)}.technical-item:last-child{grid-column:1/-1}.skeleton-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.topbar-inner,.page-shell{width:min(100% - 28px,1240px)}.topbar{position:static}.topbar-inner{align-items:flex-start;min-height:auto;padding:14px 0}.brand-mark{border-radius:11px;width:36px;height:36px}.brand-block h1{font-size:16px}.header-controls{flex-direction:column;align-items:stretch;gap:7px}.system-pill{justify-content:center;height:34px;font-size:10px}.period-control{height:36px}.period-control span{display:none}.period-control select{width:100%;font-size:12px}.page-shell{padding-top:34px}.intro-row,.detail-heading{flex-direction:column;align-items:flex-start}.intro-row h2{font-size:31px}.update-block{text-align:left;min-width:0}.environment-grid,.charts-grid,.stats-strip{grid-template-columns:1fr}.environment-card{padding:19px}.reading-value{font-size:38px}.detail-section{margin-top:42px}.detail-heading h2{font-size:29px}.secondary-button{width:100%}.technical-grid{grid-template-columns:1fr}.technical-item:last-child{grid-column:auto}.technical-summary-note{display:none}.skeleton-grid{grid-template-columns:1fr}}@media (width<=420px){.topbar-inner{gap:12px}.brand-kicker{display:none}.brand-block{gap:9px}.brand-block h1{max-width:125px}.system-pill{padding:0 9px}.environment-card-head{align-items:flex-start}.receiving-state span{display:none}.stats-values{grid-template-columns:repeat(2,1fr);gap:13px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
