.uplot,.uplot *,.uplot :before,.uplot :after{box-sizing:border-box}.uplot{width:min-content;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{-webkit-user-select:none;user-select:none;position:relative}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{width:100%;height:100%;display:block;position:relative}.u-axis{position:absolute}.u-legend{text-align:center;margin:auto;font-size:14px}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{pointer-events:none;background:#00000012;position:absolute}.u-cursor-x,.u-cursor-y{pointer-events:none;will-change:transform;position:absolute;top:0;left:0}.u-hz .u-cursor-x,.u-vt .u-cursor-y{border-right:1px dashed #607d8b;height:100%}.u-hz .u-cursor-y,.u-vt .u-cursor-x{border-bottom:1px dashed #607d8b;width:100%}.u-cursor-pt{pointer-events:none;will-change:transform;border:0 solid;border-radius:50%;position:absolute;top:0;left:0;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#edf3ea;--surface:#fbfdf9;--surface-2:#e4ede0;--ink:#0f1a12;--ink-2:#485a4b;--muted:#7d8b7f;--grid:#d7e2d2;--axis:#b5c6ae;--border:#18462224;--accent:#2e7d32;--brand:#1f5f2a;--brand-2:#2e7d32;--on-brand:#fff;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--series-8:#e34948;--good:#0ca30c;--good-text:#006300;--warning:#fab219;--critical:#d03b3b;--bar-fill:#3f9b47;--bar-track:#d7e2d2}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0b140e;--surface:#132019;--surface-2:#1b2b21;--ink:#f1f7f0;--ink-2:#b6c8b8;--muted:#7f9483;--grid:#22352a;--axis:#314838;--border:#bef0c81f;--accent:#66bb6a;--brand:#173f20;--brand-2:#22602d;--on-brand:#ecf7ec;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-8:#e66767;--good-text:#0ca30c;--bar-fill:#4caf50;--bar-track:#22352a}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0b140e;--surface:#132019;--surface-2:#1b2b21;--ink:#f1f7f0;--ink-2:#b6c8b8;--muted:#7f9483;--grid:#22352a;--axis:#314838;--border:#bef0c81f;--accent:#66bb6a;--brand:#173f20;--brand-2:#22602d;--on-brand:#ecf7ec;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-8:#e66767;--good-text:#0ca30c;--bar-fill:#4caf50;--bar-track:#22352a}*{box-sizing:border-box}html,body{margin:0}body{background:var(--page);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Malgun Gothic,sans-serif;font-size:16px;line-height:1.45}button{font:inherit;color:inherit}.app{max-width:1200px;padding:max(12px, env(safe-area-inset-top)) 16px 48px;margin:0 auto}header.top{background:linear-gradient(135deg, var(--brand), var(--brand-2));color:var(--on-brand);border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:10px;padding:12px 16px;display:flex}header.top h1{align-items:center;gap:8px;margin:0;font-size:22px;font-weight:700;display:flex}header.top h1 .brand-tag{letter-spacing:.04em;background:#ffffff2e;border:1px solid #ffffff59;border-radius:6px;padding:2px 8px;font-size:13px;font-weight:800}header.top .refresh-btn{color:var(--on-brand);background:#ffffff24;border-color:#fff6}header.top .freshness{color:var(--on-brand);opacity:.92}.refresh-btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--ink);border-radius:999px;align-items:center;gap:6px;min-height:36px;padding:6px 12px;font-size:14px;font-weight:600;display:inline-flex}.refresh-btn:active{transform:scale(.97)}.refresh-btn.spinning svg{animation:.9s linear gh-spin}@media (prefers-reduced-motion:reduce){.refresh-btn.spinning svg{animation:none}}.freshness{color:var(--ink-2);align-items:center;gap:6px;font-size:14px;display:flex}.dot{border-radius:50%;width:10px;height:10px;display:inline-block}.dot.ok{background:var(--good)}.dot.stale{background:var(--warning)}.dot.dead{background:var(--critical)}nav.tabs{border-bottom:1px solid var(--border);background:var(--page);z-index:5;gap:4px;margin-bottom:16px;display:flex;position:sticky;top:0;overflow-x:auto}nav.tabs button{color:var(--ink-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;padding:10px 14px;font-size:16px;font-weight:600}nav.tabs button[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent)}section.block{margin-bottom:24px}section.block>h2{margin:0 0 10px;font-size:17px;font-weight:700}section.block>h2 small{color:var(--muted);margin-left:6px;font-size:13px;font-weight:400}.grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;display:grid}.grid.wide{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px}.tile .label{color:var(--ink-2);font-size:14px}.tile .value{margin-top:2px;font-size:30px;font-weight:700;line-height:1.15}.tile .value .unit{color:var(--ink-2);margin-left:3px;font-size:15px;font-weight:500}.tile .sub{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:4px;font-size:13px}.tile.hero .value{font-size:40px}.tile svg.spark{width:100%;height:28px;margin-top:6px;display:block}.pos-row{grid-template-columns:96px 1fr 52px;align-items:center;gap:10px;padding:6px 0;display:grid}.pos-row+.pos-row{border-top:1px solid var(--grid)}.pos-row .name{font-weight:600}.pos-row .val{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.bar{background:var(--bar-track);border-radius:6px;height:12px;overflow:hidden}.bar>span{background:var(--bar-fill);border-radius:6px;height:100%;display:block}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border);background:var(--surface);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:14px;display:inline-flex}.chip.on{border-color:var(--good)}.chip .state{font-weight:700}button.chip{cursor:pointer}button.chip[aria-pressed=true]{background:var(--brand-2);color:var(--on-brand);border-color:var(--brand-2)}.kv{grid-template-columns:auto 1fr;gap:4px 12px;font-size:14px;display:grid}.kv dt{color:var(--ink-2)}.kv dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.filters{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.seg{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.seg button{background:var(--surface);cursor:pointer;border:0;padding:8px 14px;font-weight:600}.seg button+button{border-left:1px solid var(--border)}.seg button[aria-pressed=true]{background:var(--brand-2);color:var(--on-brand)}.chart-card{padding:12px 8px 4px}.chart-card h3{margin:0 6px 6px;font-size:15px}.chart-card .u-legend{color:var(--ink-2);font-size:13px}.chart-card .u-legend .u-marker{border-radius:2px}.day-bar{grid-template-columns:84px 1fr 130px;align-items:center;gap:10px;padding:5px 0;display:grid}.day-bar+.day-bar{border-top:1px solid var(--grid)}.day-bar .day{font-weight:600}.day-bar .val{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.day-bar .val small{color:var(--muted);font-weight:400}.u-tip{z-index:10;pointer-events:none;background:var(--surface);color:var(--ink);border:1px solid var(--border);white-space:nowrap;border-radius:8px;padding:6px 10px;font-size:13px;position:absolute;top:0;left:0;box-shadow:0 2px 8px #0000002e}.u-tip-time{color:var(--ink-2);margin-bottom:2px;font-size:12px}.u-tip-row{align-items:center;gap:6px;line-height:1.6;display:flex}.u-tip-row i{border-radius:2px;width:10px;height:10px;display:inline-block}.u-tip-note{border-top:1px solid var(--grid);white-space:normal;max-width:240px;margin-top:4px;padding-top:4px;font-weight:700}.u-tip-row b{font-variant-numeric:tabular-nums;margin-left:auto;padding-left:12px}.note-form{gap:10px;margin-bottom:10px;display:grid}.note-form label{color:var(--ink-2);gap:4px;font-size:14px;display:grid}.note-form input,.note-form select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--axis);border-radius:8px;min-height:40px;padding:8px 10px}.note-form-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.note-form-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.field-error{color:var(--critical);font-size:13px}.chip.primary{background:var(--brand-2);color:var(--on-brand);border-color:var(--brand-2);cursor:pointer;padding:6px 16px;font-weight:700}.change-row{grid-template-columns:110px 1fr auto;align-items:start;gap:10px;padding:6px 0;display:grid}.change-row+.change-row{border-top:1px solid var(--grid)}.change-row .when{font-variant-numeric:tabular-nums;font-weight:700}.fc-strip{margin-bottom:16px}.fc-strip-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.fc-strip-head h2{margin:0;font-size:17px}.fc-strip-head h2 small{color:var(--muted);margin-left:6px;font-size:13px;font-weight:400}.fc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fc-grid.week{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.fc-day{padding:10px 12px}.fc-name{color:var(--ink-2);font-size:14px;font-weight:700}.fc-main{align-items:center;gap:8px;margin:4px 0;display:flex}.fc-icon{font-size:34px;line-height:1}.fc-label{color:var(--ink-2);font-size:14px}.fc-temp{font-variant-numeric:tabular-nums;font-size:20px;font-weight:800}.fc-temp .hi{color:var(--series-8)}.fc-temp .lo{color:var(--series-1)}.fc-sub{color:var(--muted);font-size:13px}.fc-alerts{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.fc-alert{background:var(--surface-2);color:var(--ink-2);border-radius:6px;padding:2px 6px;font-size:12px}.fc-alert.high{background:color-mix(in srgb, var(--critical) 14%, var(--surface));color:var(--ink);font-weight:700}.fc-alert.mid{background:color-mix(in srgb, var(--warning) 22%, var(--surface));color:var(--ink)}.fc-alert-text.high{font-weight:700}.fc-name{align-items:baseline;gap:4px;display:flex}.fc-warn{color:var(--critical);font-size:13px}@media (width<=560px){.fc-strip{margin-bottom:10px}.fc-strip-head{margin-bottom:6px}.fc-strip-head h2{font-size:15px}.fc-strip-head .chip{padding:2px 8px;font-size:12px}.grid.fc-grid:not(.week){grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.fc-day.compact{padding:6px 8px}.fc-day.compact .fc-name{font-size:12px}.fc-day.compact .fc-date,.fc-day.compact .fc-label,.fc-day.compact .fc-wind,.fc-day.compact .fc-alerts{display:none}.fc-day.compact .fc-main{gap:4px;margin:2px 0}.fc-day.compact .fc-icon{font-size:20px}.fc-day.compact .fc-temp{font-size:14px}.fc-day.compact .fc-sub{font-size:11px}}.day-nav{align-items:center;gap:10px;margin:4px 0 12px;display:flex}.day-nav strong{text-align:center;min-width:150px;font-size:17px}.day-nav .chip{cursor:pointer;padding:6px 12px}.day-nav .chip:disabled{opacity:.35;cursor:default}.chart-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;margin:0 6px 8px;display:flex}.chart-card .chart-head h3{margin:0}.day-nav.compact{flex-wrap:wrap;gap:6px;margin:0}.day-nav.compact strong{min-width:0;font-size:13px;font-weight:600}.day-nav.compact .chip{padding:2px 9px;font-size:13px}.substrate .chart-card{margin-top:10px}.range-title{margin:16px 0 6px;font-size:15px}.range-title small{color:var(--muted);margin-left:6px;font-size:12px;font-weight:400}.day-ranges{padding:6px 10px}.day-range{width:100%;font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;grid-template-columns:90px 1fr 70px;align-items:center;gap:10px;padding:5px 4px;display:grid}.day-range+.day-range{border-top:1px solid var(--grid)}.day-range.on{background:color-mix(in srgb, var(--accent) 12%, transparent)}.day-range .d{font-size:14px;font-weight:600}.day-range .n{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-2);font-size:13px}.day-range .track{background:var(--bar-track);border-radius:6px;height:12px;position:relative}.day-range .track .bar{background:var(--bar-fill);border-radius:6px;height:12px;position:absolute;top:0}.day-range .track .dot{background:var(--ink);border:2px solid var(--surface);border-radius:3px;width:8px;height:16px;margin-left:-4px;position:absolute;top:-2px}.day-range.axis{cursor:default;padding-top:2px}.track-axis{color:var(--muted);justify-content:space-between;font-size:11px;display:flex}.chart-note{margin:-2px 6px 6px;font-size:12px}.section-title{margin:8px 0 10px;font-size:17px}.linked{margin-bottom:16px;padding:12px 10px 6px}.linked h3{font-size:17px}.linked-desc{margin:0 6px 8px}.linked-panel+.linked-panel{border-top:1px solid var(--grid);margin-top:4px;padding-top:6px}.linked-panel h4{color:var(--ink-2);margin:0 6px 2px;font-size:14px}.chart-empty{text-align:center;color:var(--muted);padding:40px 0}table.data{border-collapse:collapse;width:100%;font-size:14px}table.data th,table.data td{text-align:right;border-bottom:1px solid var(--grid);font-variant-numeric:tabular-nums;white-space:nowrap;padding:6px 8px}table.data th:first-child,table.data td:first-child{text-align:left}table.data th{color:var(--ink-2);background:var(--surface-2);font-weight:600;position:sticky;top:0}table.data td.cur,table.data th.cur{background:color-mix(in srgb, var(--accent) 14%, transparent)}.table-wrap{border:1px solid var(--border);background:var(--surface);border-radius:10px;overflow-x:auto}.event{grid-template-columns:70px 1fr;gap:12px;display:grid}.event+.event{margin-top:8px}.event .when{font-variant-numeric:tabular-nums;font-weight:700}.event .when small{color:var(--muted);font-size:12px;font-weight:400;display:block}.event .what{font-size:17px;font-weight:700}.event .what .arrow{color:var(--muted);margin:0 6px}.event .ctx{color:var(--ink-2);flex-wrap:wrap;gap:2px 14px;margin-top:4px;font-size:14px;display:flex}.note{color:var(--muted);font-size:13px}.badge{border:1px solid var(--border);color:var(--muted);border-radius:4px;margin-left:6px;padding:0 5px;font-size:12px;font-weight:400}.error{background:color-mix(in srgb, var(--critical) 12%, var(--surface));border:1px solid var(--critical);border-radius:8px;margin-bottom:12px;padding:10px 12px}.health-alert{flex-direction:column;gap:4px;display:flex}.health-alert strong{font-size:16px}.anomalies{border-left:4px solid var(--warning);margin-bottom:16px}.anomalies h2{margin:0 0 6px;font-size:16px}.anomalies ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.anomalies li+li{border-top:1px solid var(--grid);padding-top:8px}.anomalies li.warn strong{color:var(--critical)}.anomalies li.info strong{color:var(--ink-2)}.anomalies .since{color:var(--muted);font-size:13px}.anomalies p{color:var(--ink-2);margin:2px 0 0;font-size:14px}.anomalies-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.anomalies-head h2{margin:0}.anomaly-line{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.ack-btn{cursor:pointer;flex:none;align-self:flex-start;padding:3px 12px;font-size:13px}.alert-bar{justify-content:space-between;align-items:center;gap:8px;display:flex}.health-alert .ack-btn{margin-top:2px}.tab-badge{background:var(--critical);color:#fff;text-align:center;vertical-align:2px;border-radius:9px;min-width:18px;margin-left:4px;padding:0 5px;font-size:11px;font-weight:800;line-height:18px;display:inline-block}.alert-list{padding:4px 12px}.alert-row{justify-content:space-between;gap:10px;padding:10px 0;display:flex}.alert-row+.alert-row{border-top:1px solid var(--grid)}.alert-row:not(.new){opacity:.7}.alert-row.warn strong{color:var(--critical)}.alert-top{flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.alert-kind{color:var(--ink-2);background:var(--surface-2);border-radius:6px;padding:1px 6px;font-size:12px;font-weight:700}.alert-live{color:var(--critical);font-size:12px;font-weight:800}.alert-main p{color:var(--ink-2);margin:3px 0 0;font-size:14px}.alert-when{color:var(--muted);margin-top:3px;font-size:12px}.alert-ack{flex:none;align-items:flex-start;display:flex}.alert-ack .note{white-space:nowrap;margin:0;font-size:12px}.alert-ack .chip{cursor:pointer}.push-card{margin-top:24px}.push-card .note{margin:6px 0}.push-btn{border-radius:8px;padding:10px 16px;font-size:16px}.push-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.push-on{color:var(--good);margin-right:4px;font-weight:600}.loading{opacity:.55;transition:opacity .2s}.diff{font-size:14px}.diff code{color:var(--ink-2);font-family:ui-monospace,Consolas,monospace;font-size:13px}.diff .before{color:var(--muted);text-decoration:line-through}.diff .after{font-weight:700}.g3{margin-bottom:16px;padding:12px;overflow:hidden}.g3-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin:0 2px 10px;display:flex}.g3-head h2{margin:0;font-size:17px}.g3-run{color:var(--muted);font-size:13px}.g3-run.on{color:var(--ok,#2f8a3a);font-weight:700}.g3-wrap{border-radius:16px;position:relative;overflow:hidden}.g3-foot{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin:10px 2px 0;font-size:12px;display:flex}.g3-foot .dot{vertical-align:middle;margin-right:2px;display:inline-block}.gh-chip rect{fill:#fffffff2;stroke:#0000001f}.gh-chip text{fill:#1d2125;font-weight:700}.gh-chip .s{fill:#7a8288;font-weight:600}.gh-chip.on rect{fill:#eef8ea;stroke:#3f9a3a;stroke-width:2px}.gh-chip.on .s{fill:#2f8a3a;font-weight:800}.gh-pill.wind rect{stroke:#185fa5;stroke-width:2px}.gh-info rect{fill:#fffffff2;stroke:#0000001a}.gh-info .t1{fill:#111;font-size:17px;font-weight:800}.gh-info .t1s{fill:#3a4148;font-weight:600}.gh-info .t2{fill:#5f6b75;font-size:13px;font-weight:600}.gh-info .vent{fill:#185fa5;font-weight:800}.gh-info .heat{fill:#c2611a;font-weight:800}.gh-obj rect{fill:#f4f6f8;stroke:#8a949c;stroke-width:1.5px}.gh-obj line{stroke:#8a949c;stroke-width:1.5px}.gh-obj.on rect{fill:#eef8ea;stroke:#3f9a3a}.gh-plant line{stroke:#2f7a2a;stroke-width:2px}.gh-plant ellipse{fill:#4fa83f}.gh-soil{fill:#7a5236}.gh-post{stroke:#5f6b7559;stroke-width:1.5px}.gh2 svg{display:block}.gh-sky-day{fill:url(#gh-day-grad)}.gh-sky-night{fill:#1d2c45}.gh-sun{fill:#fac775;stroke:#ba7517}.gh-moon{fill:#f1efe8}.gh-ground{fill:#8fb26a}.gh-glass{fill:#ecf5ff8c}.gh-glass.night{fill:#c8dcf52e}.gh-sky-dawn{fill:#f3dcc4}.gh-sky-cloudy{fill:#b9c6d2}.gh-sky-rain{fill:#8e9aa6}.gh-sky-night-rain{fill:#141c28}.gh-star{fill:#fdf6d8}.gh-sun-glow{fill:#fac77559}.gh-cloud{fill:#ffffffeb}.gh-cloud.dark{fill:#78828ee6}.gh-rain{stroke:#d2e4f5d9;stroke-width:1.4px;stroke-linecap:round}.gh-snow{fill:#fff}.gh-wind{fill:none;stroke:#3c556e99;stroke-width:2.5px;stroke-linecap:round}.gh-wind.night{stroke:#ffffffb3}.gh-ground.snow{fill:#eef2f5}.gh-frame{fill:none;stroke:#4b5560;stroke-width:3px;stroke-linejoin:round}.gh-vent line{stroke:#fff;stroke-width:6px;stroke-linecap:round;paint-order:stroke;filter:drop-shadow(0 0 1px #4b5560)drop-shadow(0 0 1px #4b5560)}.gh-vent circle{fill:#4b5560}.gh-crop{fill:#4f8f35}.gh-track{stroke:#fffffff2;stroke-width:2.5px;stroke-dasharray:2 4;stroke-linecap:round}.gh-ctext{fill:#2c2c2a;paint-order:stroke;stroke:#ffffffd9;stroke-width:3px;font-size:11px;font-weight:700}.gh-fan-ring{fill:#ffffffe6;stroke:#6b757d;stroke-width:1.5px}.gh-fan path,.gh-fan circle{fill:#3e6b4a}@keyframes gh-spin{to{transform:rotate(360deg)}}.gh-pill rect{fill:#fffffff2;stroke:#0000001f}.gh-pill text{fill:#111;font-weight:700}.gh-pill.big text{font-size:15px;font-weight:800}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .gh-sky-day{fill:#274a6b}:root:not([data-theme=light]) .gh-ground{fill:#3d4a2e}}:root[data-theme=dark] .gh-sky-day{fill:#274a6b}:root[data-theme=dark] .gh-ground{fill:#3d4a2e}.g3-top{pointer-events:none;justify-content:space-between;align-items:flex-start;gap:8px;display:flex;position:absolute;top:10px;left:10px;right:10px}.g3-outside,.g3-wind{color:#111;background:#fffffff2;border-radius:12px;padding:8px 12px;font-size:13px;box-shadow:0 1px 4px #0000002e}.g3-outside span{color:#5f6b75}.g3-wind{text-align:right;align-items:center;gap:8px;padding:4px 6px 4px 10px;display:flex}.g3-outside b,.g3-wind b{font-size:15px;display:block}.g3-outside span,.g3-wind span{display:block}.wind-compass{flex:none}.wind-compass text{fill:#5f6b75;font-size:8px;font-weight:700}.wind-compass .wc-ring{fill:#fff;stroke:#0000002e}.wind-compass .wc-arrow{stroke:#185fa5;stroke-width:2.5px;stroke-linecap:round}.wind-compass .wc-dot{fill:#185fa5}@media (width<=560px){.g3-top{gap:6px;top:6px;left:6px;right:6px}.g3-outside,.g3-wind{padding:4px 8px}.g3-outside{flex:1;min-width:0}.g3-outside b,.g3-wind b{font-size:14px}.g3-outside span,.g3-wind span{font-size:12px}}:root{--z-heat:#cde2fb;--z-ok:#e3efe3;--z-vent:#fbdccd;--z-heat-ink:#104281;--z-vent-ink:#8a3412;--z-ok-ink:#1f5a1f}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--z-heat:#173a63;--z-ok:#1f3a24;--z-vent:#5a2a17;--z-heat-ink:#b7d3f6;--z-vent-ink:#f7c3ad;--z-ok-ink:#b9e0b9}}:root[data-theme=dark]{--z-heat:#173a63;--z-ok:#1f3a24;--z-vent:#5a2a17;--z-heat-ink:#b7d3f6;--z-vent-ink:#f7c3ad;--z-ok-ink:#b9e0b9}.lead{color:var(--ink-2);margin:0 0 14px;font-size:15px}.last24{margin-bottom:16px;padding:14px 14px 8px}.last24-nav{flex-wrap:wrap;margin:0 0 10px}.last24-nav strong{min-width:120px;font-size:15px}.last24-nav .chip{padding:4px 10px}.biglegend{flex-wrap:wrap;gap:6px 22px;margin:4px 4px 10px;display:flex}.biglegend>div{flex-direction:column;min-width:0;display:flex}.biglegend .lab{color:var(--ink-2);white-space:nowrap;align-items:center;gap:5px;font-size:13px;display:inline-flex}.biglegend .lab i{border-radius:3px;width:11px;height:11px;display:inline-block}.biglegend .lab i.dash{border-top:2px dashed var(--muted);border-radius:0;width:14px;height:0}.biglegend b{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:24px;font-weight:800;line-height:1.2}.biglegend.small b{font-size:18px}.biglegend b.time{color:var(--ink-2);font-weight:700}@media (width<=600px){.biglegend b{font-size:19px}.biglegend{gap:4px 16px}}.lightpanel{margin-bottom:16px;padding:14px 14px 8px}.lp-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.lp-head h2{margin:0;font-size:17px}.lp-head h2 small{color:var(--muted);white-space:nowrap;margin-left:6px;font-size:13px;font-weight:500}.lp-head .chip{cursor:pointer;flex:none}@media (width<=600px){.lp-head h2 small{margin:2px 0 0;display:block}}.th-input{width:72px;font:inherit;border:1px solid var(--grid);background:var(--surface);color:var(--ink);border-radius:6px;padding:0 4px;font-size:17px;font-weight:800}.lp-summary{margin:10px 4px 2px;font-size:15px}.lp-dot{vertical-align:0;border-radius:50%;width:10px;height:10px;display:inline-block}.lp-dot.light,.lp-badge.light{background:var(--series-4)}.lp-dot.time,.lp-badge.time{background:var(--series-1)}.lp-legend{color:var(--muted);font-size:13px}.lp-chips{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;margin:8px 0 6px;display:grid}.lp-chip{background:var(--surface-2);border-left:3px solid var(--series-1);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:8px;padding:5px 8px}.lp-chip .lp-r1{align-items:baseline;gap:6px;display:flex}.lp-chip .lp-r2{color:var(--ink-2);margin-top:1px;font-size:12px}.lp-chip .lp-r2 b{color:var(--series-2)}.lp-chip .lp-r2{white-space:normal}.lp-chip .lp-cum{color:var(--series-8);font-weight:700}.lp-supply{color:var(--ink-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 14px;margin:4px 4px 0;font-size:13px;display:flex}.lp-supply b{color:var(--ink)}.lp-supply .lp-rate{color:var(--series-2);font-size:15px}.th-input.small{width:52px;margin:0 4px;padding:1px 4px;font-size:13px;font-weight:700}.lp-chip.light{border-left-color:var(--series-4)}.lp-chip b{font-size:14px}.lp-chip .lp-v{color:var(--ink-2);margin-left:auto;font-size:14px}.lp-chip .lp-mark{color:var(--series-1);text-align:center;min-width:14px;font-size:12px;font-weight:800}.lp-chip.light .lp-mark{color:var(--series-4)}@media (width<=600px){.lp-chips{grid-template-columns:repeat(3,minmax(0,1fr))}.lp-chip{gap:4px;padding:4px 6px}.lp-chip b,.lp-chip .lp-v{font-size:13px}}.lp-list{gap:6px;margin:6px 0;display:grid}.lp-row{background:var(--surface-2);border-left:3px solid var(--series-1);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 10px;display:flex}.lp-row.light{border-left-color:var(--series-4)}.lp-time{font-variant-numeric:tabular-nums;min-width:44px}.lp-badge{color:#fff;border-radius:6px;padding:1px 8px;font-size:12px;font-weight:800}.lp-why{color:var(--ink-2);text-align:right;margin-left:auto;font-size:13px}.last24-stats{flex-wrap:wrap;gap:28px;margin:0 4px 8px;display:flex}.last24-stats .label{color:var(--ink-2);font-size:14px}.last24-stats .value{font-variant-numeric:tabular-nums;font-size:28px;font-weight:700;line-height:1.15}.last24-stats .unit{color:var(--ink-2);margin-left:3px;font-size:15px;font-weight:500}.last24-stats .sub{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:2px;font-size:13px}.rapid{font-variant-numeric:tabular-nums;grid-template-columns:max-content max-content max-content max-content;align-items:baseline;gap:4px 14px;margin:10px 4px 6px;font-size:14px;display:grid}.rapid>.note{grid-column:1/-1}.rapid b{font-size:14px}.rapid .first:not(:first-child){margin-top:6px}.rapid .rv{text-align:right;font-weight:700}.rapid b.rapid-up,.rapid .rv.rapid-up{color:var(--series-8)}.rapid b.rapid-down,.rapid .rv.rapid-down{color:var(--series-1)}.summary{border-width:2px;margin-bottom:24px;padding:16px 18px}.summary.zone-vent{border-color:var(--z-vent)}.summary.zone-heat{border-color:var(--z-heat)}.summary.zone-ok{border-color:var(--z-ok)}.summary-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.summary-label{color:var(--ink-2);font-size:15px}.summary-temp{font-size:52px;font-weight:800;line-height:1.05}.summary-temp>span:first-child{color:var(--ink-2);margin-left:2px;font-size:22px;font-weight:600}.summary-hum{color:var(--ink);margin-left:16px;font-size:22px;font-weight:700}.zone-badge{border-radius:999px;padding:6px 16px;font-size:18px;font-weight:800}.zone-badge.vent{background:var(--z-vent);color:var(--z-vent-ink)}.zone-badge.heat{background:var(--z-heat);color:var(--z-heat-ink)}.zone-badge.ok{background:var(--z-ok);color:var(--z-ok-ink)}.summary-headline{margin-top:8px;font-size:18px;font-weight:700}.summary-notes{color:var(--ink-2);margin:6px 0 0;padding-left:20px}.summary-notes li{margin:2px 0}svg.band{margin:8px 0 4px;display:block;overflow:visible}svg.band .z-heat{fill:var(--z-heat)}svg.band .z-ok{fill:var(--z-ok)}svg.band .z-vent{fill:var(--z-vent)}svg.band .z-text{fill:var(--ink-2);font-size:13px;font-weight:700}svg.band .tick,svg.timeline .tick{fill:var(--muted);font-size:12px}svg.band .m-in{fill:var(--ink)}svg.band .m-label{fill:var(--ink);font-size:15px;font-weight:800}svg.band .m-out{fill:var(--surface);stroke:var(--ink-2);stroke-width:2px}.tile .sub.warn{color:var(--ink-2)}.tile .sub.warn:before{content:"⚠ "}.grid.devs{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.dev .dev-name{font-weight:700}.dev .dev-val{margin-top:2px;font-size:32px;font-weight:800;line-height:1.1}.dev .dev-val span{color:var(--ink-2);margin-left:2px;font-size:16px;font-weight:600}.dev .dev-word{color:var(--ink-2);margin-bottom:8px;font-weight:600}.dev .dev-sub{color:var(--muted);margin-top:8px;font-size:12px}.big-note{margin:4px 0 10px;font-size:16px}.event .what{white-space:pre-wrap;font-size:17px;font-weight:700}.event .what.tone-open:before{content:"▲ ";color:var(--series-2)}.event .what.tone-close:before{content:"▼ ";color:var(--series-1)}.event .what.tone-on:before{content:"● ";color:var(--good)}.event .what.tone-off:before{content:"○ ";color:var(--muted)}.event .what.tone-change:before{content:"◆ ";color:var(--muted)}.event{padding:6px 0}.event+.event{border-top:1px solid var(--grid);margin-top:0}.check{color:var(--ink-2);align-items:center;gap:6px;font-size:14px;display:inline-flex}.setting{margin-bottom:16px}.setting-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:4px;display:flex}.setting-head h2{margin:0;font-size:19px}.setting details{margin-top:10px}.setting summary{cursor:pointer;color:var(--ink-2);font-size:14px}svg.timeline{margin:6px 0;display:block;overflow:visible}svg.timeline .seg{fill:var(--surface-2);stroke:var(--grid)}svg.timeline .seg-1{fill:var(--grid)}svg.timeline .seg-on{fill:var(--accent)}svg.timeline .seg-text{fill:var(--ink-2);font-size:12px;font-weight:600}svg.timeline .seg-text-on{fill:#fff;font-size:12px;font-weight:800}svg.timeline .now-line{stroke:var(--ink);stroke-width:2px}svg.timeline .now-text{fill:var(--ink);font-size:11px;font-weight:700}.step-list{gap:4px;margin:8px 0;padding:0;list-style:none;display:grid}.step-list li{border-radius:6px;padding:4px 8px}.step-list li.on{background:color-mix(in srgb, var(--accent) 14%, transparent)}.now-tag{background:var(--accent);color:#fff;border-radius:4px;margin-left:8px;padding:0 6px;font-size:12px;font-weight:700}.diff{border-bottom:1px solid var(--grid);padding:6px 0}.diff ul{margin:4px 0 0;padding-left:18px}@media (width<=560px){.summary-temp{font-size:44px}.summary-hum{margin:4px 0 0;font-size:18px;display:block}.grid.devs{grid-template-columns:repeat(2,minmax(0,1fr))}.tile .value{font-size:26px}.tile.hero .value{font-size:34px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-row{grid-template-columns:80px 1fr 48px}}.g3col{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;margin-bottom:16px;display:grid}.g3col>*{min-width:0;margin:0!important}.g3col>.span-all{grid-column:1/-1}.g3col.stretch{align-items:stretch}.g3col.stretch>.card{height:100%}@media (width>=1000px){.g3col{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1600px){.g3col{grid-template-columns:repeat(3,minmax(0,1fr))}}.irr-row{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:16px;margin:16px 0;display:grid}.irr-row>*{min-width:0;margin:0!important}.irr-row>.card{box-sizing:border-box;height:100%}@media (width>=1600px){.irr-row{grid-template-columns:repeat(3,minmax(0,1fr))}.irr-row>:first-child{grid-column:span 2}}.sub-tiles{gap:16px;margin-bottom:16px}.sub-tiles>.tile{margin:0}@media (width>=1000px){.sub-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1600px){.sub-tiles{grid-template-columns:repeat(6,minmax(0,1fr))}}.irr-card{padding:14px 16px}.irr-card h3{margin:0 0 10px;font-size:16px}.irr-card h3 small{color:var(--muted);margin-left:6px;font-size:12px;font-weight:400}.irr-card .table-wrap{margin:0}.irr-side{flex-direction:column;gap:16px;min-width:0;display:flex}.irr-side>*{margin:0!important}.irr-side>.card:last-child{flex:1}.nav-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.seg.small button{padding:3px 10px;font-size:13px}.g3col.rtr{align-items:stretch}@media (width>=1000px) and (width<=1599px){.g3col.rtr>.rtr-card:last-child{grid-column:1/-1}}.rtr-card{min-width:0;padding:14px 16px}.rtr-h{flex-wrap:wrap;align-items:baseline;gap:8px;margin:0 0 10px;font-size:17px;font-weight:800;display:flex}.rtr-h small{color:var(--muted);font-size:12px;font-weight:500}.rtr-card .chart-head .rtr-h{margin:0}.rtr-verdict{background:var(--surface-2);border-left:5px solid var(--muted);border-radius:10px;margin-bottom:12px;padding:10px 14px}.rtr-verdict strong{margin-bottom:4px;font-size:17px;display:block}.rtr-verdict p{color:var(--ink-2);margin:2px 0;font-size:14px}.rtr-verdict.down{border-left-color:var(--series-1);background:color-mix(in srgb, var(--series-1) 9%, var(--surface))}.rtr-verdict.up{border-left-color:var(--series-8);background:color-mix(in srgb, var(--series-8) 9%, var(--surface))}.rtr-verdict.ok{border-left-color:var(--good);background:color-mix(in srgb, var(--good) 9%, var(--surface))}.rtr-verdict .rtr-rec{color:var(--ink);font-weight:700}.rtr-nums{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px;display:grid}@media (width>=700px){.rtr-nums{grid-template-columns:repeat(4,minmax(0,1fr))}.rtr-nums.three{grid-template-columns:repeat(3,minmax(0,1fr))}}.rtr-nums.three{grid-template-columns:repeat(3,minmax(0,1fr))}.rtr-num{background:var(--surface-2);border-radius:10px;min-width:0;padding:8px 10px}.rtr-num .label{color:var(--ink-2);font-size:12px}.rtr-num .value{font-variant-numeric:tabular-nums;font-size:22px;font-weight:800}.rtr-num.strong .value{color:var(--series-3)}.rtr-num .unit{color:var(--muted);margin-left:2px;font-size:12px;font-weight:500}.rtr-num .sub{color:var(--muted);font-size:12px}.rtr-dif,.rtr-ahead{color:var(--ink-2);border-top:1px solid var(--grid);flex-wrap:wrap;gap:4px 14px;padding:6px 0;font-size:13px;display:flex}.rtr-dif b,.rtr-ahead b{color:var(--ink);font-variant-numeric:tabular-nums}.rtr-dif>span:first-child{color:var(--ink);font-weight:700}.rtr-card .muted{color:var(--muted)}.rtr-card .small{font-size:12px}.rtr-pers{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin:10px 0;display:grid}.rtr-per{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:2px;padding:8px 10px;font-size:13px;display:flex}.rtr-per-h small{color:var(--muted)}.rtr-act{font-weight:700}.rtr-act.down{color:var(--series-1)}.rtr-act.up{color:var(--series-8)}.rtr-act.ok{color:var(--good)}.rtr-warns{flex-direction:column;gap:6px;margin:8px 0;display:flex}.rtr-warn{background:color-mix(in srgb, var(--warning) 18%, var(--surface));border-radius:8px;padding:8px 10px;font-size:13px}.rtr-charts{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:10px;display:grid}@media (width>=900px){.rtr-charts{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.rtr-chart h3{margin:0 0 4px;font-size:14px}.rtr-scatter{width:100%;height:auto;max-height:300px;display:block}.rtr-scatter text{fill:var(--muted);font-size:10px}.rtr-scatter .grid{stroke:var(--grid);stroke-width:1px}.rtr-scatter .band{fill:color-mix(in srgb, var(--series-3) 16%, transparent)}.rtr-scatter .rec-line{stroke:var(--series-3);stroke-width:2px;fill:none}.rtr-scatter .pt{fill:var(--muted);opacity:.65;cursor:pointer}.rtr-scatter .pt.sel{fill:var(--ink);opacity:1}.rtr-scatter .today-rec{fill:var(--series-3);stroke:var(--surface);stroke-width:1px}.rtr-scatter .today-avg{fill:var(--series-8);stroke:var(--series-8);stroke-width:2px}.rtr-scatter .today-avg.open{fill:var(--surface)}.rtr-legend{color:var(--ink-2);flex-direction:column;gap:2px;display:flex}.rtr-plan{margin-top:10px}.rtr-plan summary{cursor:pointer;font-size:14px;font-weight:700}.rtr-plan .table-wrap{max-height:360px;overflow:auto}.rtr-plan td.rtr-chg{color:var(--series-1);font-weight:800}.rtr-note{margin-top:10px;font-size:12px}.rtr-judge{color:var(--ink-2);margin:0 0 8px;font-size:14px}.rtr-judge b{color:var(--ink)}.irr-plan{margin-bottom:16px;padding:14px 16px}.irr-plan-days{grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:8px;display:grid}@media (width>=800px){.irr-plan-days{grid-template-columns:repeat(2,minmax(0,1fr))}}.ip-day{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:4px;min-width:0;padding:10px 12px;display:flex}.ip-head{flex-wrap:wrap;align-items:baseline;gap:6px;font-size:14px;display:flex}.ip-head small{color:var(--muted)}.ip-rad{color:var(--ink-2);margin-left:auto;font-size:13px}.ip-main{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.ip-main>div{background:var(--surface-2);border-radius:8px;flex-direction:column;padding:6px 8px;display:flex}.ip-main .label{color:var(--ink-2);font-size:12px}.ip-main b{font-variant-numeric:tabular-nums;font-size:20px}.ip-sub{color:var(--ink-2);font-size:13px}.ip-sub.muted,.ip-cap{color:var(--muted);font-size:12px}.ip-cap b{color:var(--ink)}.ip-sub.ip-live{background:var(--surface-2);border-radius:6px;padding:4px 8px}.ip-sub.ip-live b{color:var(--series-1)}.ip-adv{color:var(--ink-2);background:var(--surface-2);border-left:3px solid var(--series-1);border-radius:6px;padding:6px 10px;font-size:13px}.ip-adv b{color:var(--ink)}.ip-adv-h{color:var(--ink);margin-top:4px;font-weight:700}.ip-adv ul{margin:2px 0 0;padding-left:18px}.ip-adv li{margin:1px 0}.ip-today{color:var(--ink-2);border-top:1px dashed var(--grid);padding-top:4px;font-size:13px}.ip-today.strong{color:var(--series-1);border-top:0;padding-top:0;font-weight:700}@media (width<=420px){.ip-main b{font-size:17px}}.ip-alerts{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.ip-alert{border-left:5px solid var(--critical);background:color-mix(in srgb, var(--critical) 10%, var(--surface));border-radius:8px;padding:8px 12px;font-size:14px}.ip-alert.info{border-left-color:var(--warning);background:color-mix(in srgb, var(--warning) 16%, var(--surface))}.farm-sum{margin-bottom:16px}@media (width>=1000px){.farm-sum{grid-template-columns:repeat(4,minmax(0,1fr))}}.farm-table{padding:4px 8px}.farm-table td{white-space:nowrap;vertical-align:middle}.farm-table td.farm-addr{white-space:normal;min-width:180px}.farm-table th:nth-child(-n+3),.farm-table td:nth-child(-n+3){text-align:left}.farm-table td:last-child{text-align:center}.farm-kind{background:var(--surface-2);border-radius:6px;padding:1px 6px;font-size:12px;font-weight:700;display:inline-block}.farm-kind.매도{color:var(--series-1)}.farm-kind.임대{color:var(--series-3)}.farm-kind.개인{color:var(--series-2)}.farm-new{color:#fff;background:var(--critical);border-radius:6px;margin-left:6px;padding:1px 5px;font-size:11px;font-weight:800}.farm-ended{color:var(--muted);margin-left:6px;font-size:11px}.farm-multi td:nth-child(2):after{content:" ▾";color:var(--muted)}.farm-sub td{color:var(--ink-2);background:var(--surface-2);font-size:13px}.farm-table .chip{cursor:pointer;padding:2px 10px;font-size:13px;text-decoration:none}.farm-links{gap:6px;display:inline-flex}.farm-table .chip.off{cursor:default;opacity:.35}.ev-cols .event{break-inside:avoid}@media (width>=1000px){.ev-cols{column-count:2;column-rule:1px solid var(--grid);column-gap:28px}}@media (width>=1600px){.ev-cols{column-count:3}.app{max-width:1880px}}.g3col.ov-fc{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}@media (width<=600px){.g3col.ov-fc{gap:6px}}.ov-sec{margin-bottom:14px}.ov-sec .g3col{gap:12px;margin-bottom:0}.ov-sec-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.ov-sec-head h2{flex-wrap:wrap;align-items:baseline;gap:8px;min-width:0;margin:0;font-size:16px;font-weight:800;display:flex}.ov-sec-head h2 small{color:var(--muted);font-size:13px;font-weight:500}.ov-sec-head .chip{cursor:pointer;color:var(--ink-2);flex:none;padding:3px 10px;font-size:13px;text-decoration:none}.fc-line{all:unset;box-sizing:border-box;cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius,12px);align-items:center;gap:8px;min-width:0;padding:8px 14px;display:flex}.fc-line:hover{border-color:var(--brand)}.fc-line:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.fl-name{font-size:14px;font-weight:800}.fl-icon{font-size:20px;line-height:1}.fc-line .fc-temp{font-size:17px}.fc-line .fc-warn{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.fl-rain{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:13px}@media (width<=700px){.fc-line{flex-wrap:wrap;gap:2px 6px;padding:6px 8px}.fc-line .fc-temp{font-size:14px}.fl-icon{font-size:16px}.fl-alert{display:none}.fl-rain{width:100%;margin-left:0;font-size:11px}}.g3col.pr-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.pr-card{padding:10px 14px}.pr-title{margin-bottom:4px;font-size:14px;font-weight:800}.pr-title small{color:var(--muted);font-weight:500}.pr-row{grid-template-columns:4.6em auto 1fr;align-items:baseline;gap:8px;padding:2px 0;display:grid}.pr-name{color:var(--ink-2);font-size:13px}.pr-price{font-variant-numeric:tabular-nums;font-size:17px;font-weight:800}.pr-price small{color:var(--muted);margin-left:1px;font-size:11px;font-weight:500}.pr-chg{color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap;justify-self:end;font-size:12px;font-weight:700}.pr-chg.up{color:var(--critical)}.pr-chg.down{color:var(--series-1)}.pr-table{display:none}.pr-note{color:var(--muted);margin:4px 2px 0;font-size:12px}.pr-actions{flex:none;gap:6px;display:flex}.pr-hidden{border:1px dashed var(--border);color:var(--muted);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin:0 0 12px;padding:6px 12px;font-size:13px;display:flex}.pr-hidden .chip{color:var(--ink-2);flex:none;padding:3px 10px;font-size:13px}@media (width<=700px){.g3col.pr-cards{display:none}.pr-table{border-collapse:collapse;width:100%;padding:0;font-size:13px;display:table}.pr-table th,.pr-table td{text-align:right;border-bottom:1px solid var(--grid);padding:5px 6px}.pr-table thead th{color:var(--ink-2);font-size:12px}.pr-table tbody th{text-align:left;color:var(--ink-2);white-space:nowrap;font-weight:600}.pr-table tr:last-child>*{border-bottom:0}.pr-table td b{font-variant-numeric:tabular-nums;display:block}.pr-table td .pr-chg{font-size:11px}.pr-table tbody th small{color:var(--muted);font-size:11px;font-weight:400;display:block}.pr-units{display:none}}.bell-btn{position:relative}.bell-btn.has svg{transform-origin:50% 10%;animation:2.4s ease-in-out infinite gh-bell}@keyframes gh-bell{0%,88%,to{transform:rotate(0)}91%{transform:rotate(14deg)}94%{transform:rotate(-12deg)}97%{transform:rotate(6deg)}}@media (prefers-reduced-motion:reduce){.bell-btn.has svg{animation:none}}.bell-badge{background:var(--critical);color:#fff;text-align:center;min-width:18px;height:18px;box-shadow:0 0 0 2px var(--page);border-radius:9px;padding:0 4px;font-size:11px;font-weight:800;line-height:18px;position:absolute;top:-4px;right:-4px}.freshness.ok .dot{box-shadow:0 0 0 3px color-mix(in srgb, var(--good) 25%, transparent)}@media (width<=999px){.topbar{display:contents}header.top{gap:6px 12px;padding:8px 12px}header.top h1{font-size:18px}header.top{flex-wrap:nowrap}header.top h1{flex:none}header.top .freshness{white-space:nowrap;text-overflow:ellipsis;flex:1;justify-content:flex-end;min-width:0;font-size:12px;overflow:hidden}header.top .refresh-btn{border-radius:50%;flex:none;justify-content:center;width:32px;height:32px;min-height:0;padding:0}.rb-label{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}nav.tabs{margin-bottom:12px}nav.tabs button{padding:8px 12px;font-size:15px}}@media (width>=1000px){.topbar{z-index:5;background:var(--page);border-bottom:1px solid var(--border);align-items:center;gap:18px;margin:-4px 0 14px;padding:6px 2px;display:flex;position:sticky;top:0}.topbar header.top{display:contents}.topbar header.top h1{color:var(--ink);flex:none;order:0;font-size:19px}.topbar header.top h1 .brand-tag{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.topbar nav.tabs{background:0 0;border-bottom:0;flex:1;order:1;min-width:0;margin:0;position:static}.topbar nav.tabs button{border-bottom-width:2px;padding:8px 12px;font-size:15px}.topbar .freshness{color:var(--ink-2);opacity:1;background:var(--surface-2);border-radius:999px;flex:none;order:2;padding:4px 10px;font-size:13px;font-weight:600}.topbar .freshness.ok{color:var(--good);background:color-mix(in srgb, var(--good) 12%, var(--surface))}.topbar .freshness.stale{color:var(--ink);background:color-mix(in srgb, var(--warning) 22%, var(--surface))}.topbar .freshness.dead{color:var(--ink);background:color-mix(in srgb, var(--critical) 16%, var(--surface))}.topbar header.top .refresh-btn{background:var(--surface);border-color:var(--border);width:36px;height:36px;min-height:0;color:var(--ink);border-radius:50%;flex:none;order:3;justify-content:center;padding:0}.topbar .rb-label{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}}.fc-panel{all:unset;cursor:pointer;border-radius:var(--radius,12px);min-width:0;display:block}.fc-panel:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.fc-panel>.card{box-sizing:border-box;height:100%}.fc-panel:hover>.card{border-color:var(--brand)}.ov-panel{padding:14px 16px}.ov-panel h2{margin-top:0;font-size:17px}.ov-panel h2 small{color:var(--muted);margin-left:6px;font-size:13px;font-weight:400}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=600px){.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}.sub-block{border-top:1px solid var(--grid);margin-top:14px;padding-top:12px}.sub-block h3{margin:0 0 8px;font-size:15px}.sub-block h3 small{color:var(--muted);margin-left:6px;font-size:12px;font-weight:400}.summary .tile{padding:8px 10px}.summary .tile .value{font-size:22px}.summary .tile .label{font-size:13px}.summary .tile .sub{font-size:12px}.g3-outside span span,.g3-outside b span{display:inline}.only-narrow,.g3-outside span .only-narrow{display:none}@media (width<=600px){.only-wide{display:none!important}.only-narrow{display:inline!important}.g3-outside span.only-narrow,.g3-outside span.only-wide{font-size:inherit}.g3-outside{flex:1.7 1 0}.g3-wind{flex:1 1 0;min-width:0}.g3-wind span{white-space:normal}.g3-wind b,.g3-wind span{white-space:nowrap}.g3-wind{flex:none}}table.data tr.on td{background:var(--surface-2);font-weight:700}.remain-cell{white-space:nowrap;align-items:center;gap:8px;display:flex}.remain-cell .bar{background:var(--bar-track);border-radius:5px;flex:none;width:120px;height:10px;display:inline-flex;overflow:hidden}.remain-cell .bar .used{background:var(--series-4);opacity:.9}.remain-cell .bar .left{background:var(--series-4);opacity:.35}.mini-range{white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:8px;display:inline-flex}.mini-range .track{background:var(--bar-track);border-radius:4px;flex:none;width:90px;height:8px;display:inline-block;position:relative}.mini-range .bar{background:var(--series-1);opacity:.75;border-radius:4px;position:absolute;top:0;bottom:0}.mini-range .dot{background:var(--ink);border:1px solid var(--surface);border-radius:2px;width:6px;height:14px;margin-left:-3px;position:absolute;top:-3px}table.day-summary td{white-space:nowrap}details.more>summary{cursor:pointer;padding:4px 0;font-weight:700}details.more[open]>summary{margin-bottom:8px}details.more h3{margin:14px 0 6px;font-size:15px}details.more .block{margin-top:12px}.heat-sum{margin:4px 0 8px;font-size:14px}.warn-text{background:color-mix(in srgb, var(--warning) 22%, transparent);border-radius:4px;padding:0 4px}.data small.muted{color:var(--muted)}.heat-view{flex-direction:column;gap:12px;display:flex}.heat-view>.card,.heat-view>.chart-card{margin:0}.heat-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;margin-bottom:10px;display:flex}.heat-head .rtr-h{margin:0}.heat-card>.rtr-h{margin:0 0 10px}.hn-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;display:grid}.hn-cell{background:var(--surface-2);border-left:3px solid #0000;border-radius:8px;flex-direction:column;gap:2px;padding:8px 12px;display:flex}.hn-cell .label{color:var(--muted);font-size:12px}.hn-cell b{color:var(--ink);font-size:18px}.hn-cell small{color:var(--ink-2);font-size:12px}.hn-cell.on{border-left-color:var(--series-8)}.hn-cell.bad{border-left-color:var(--warning);background:color-mix(in srgb, var(--warning) 14%, var(--surface))}.hn-cell.good{border-left-color:var(--series-3)}.hn-boiler{margin-top:10px}.heat-card .heat-sum{margin:0 0 8px}.heat-card .note:last-child{margin-bottom:0}.heat-tips{margin:0;padding-left:18px;font-size:14px;line-height:1.7}.gh-side{stroke:#fff;stroke-width:5px;stroke-linecap:round;filter:drop-shadow(0 0 1px #4b5560)drop-shadow(0 0 1px #4b5560)}.magma .grid.two{margin-bottom:8px}.mg-alarm{margin:0 0 10px}.mg-state{color:var(--ink-2);margin:6px 0 8px;font-size:14px}.mg-state .mg-on{color:var(--good)}.mg-zones{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-bottom:10px;font-size:14px}.mg-zones th{text-align:right;color:var(--muted);border-bottom:1px solid var(--grid);padding:4px 6px;font-size:12px;font-weight:500}.mg-zones td{text-align:right;border-bottom:1px solid var(--grid);padding:5px 6px}.mg-zones th:first-child,.mg-zones td:first-child{text-align:left}.mg-zones tr.on td{color:var(--good);font-weight:700}.mg-zones tr.total td{border-bottom:none;font-weight:700}.mg-legend b small{color:var(--muted);font-weight:400}.g3-wind .g3-wind-src{color:var(--muted);font-size:11px}.mg-sub{border-top:1px solid var(--grid);margin:14px 0 8px;padding-top:10px;font-size:15px}.mg-sub small{color:var(--muted);margin-left:6px;font-size:12px;font-weight:400}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.mg-light .tile .value{font-size:24px}.mg-set td:last-child{text-align:right}.mg-changes{margin:4px 0 12px;font-size:14px}.mg-changes summary{cursor:pointer;color:var(--ink-2)}.mg-changes summary small{color:var(--muted)}.mg-changes ul{margin:8px 0;padding-left:18px}.mg-changes li{margin:3px 0}.g3-wind span span,.g3-wind b span{display:inline}.g3-wind>div span,.g3-wind>div b{white-space:nowrap}@media (width>=601px){.g3-wind{justify-content:space-between;gap:12px;min-width:230px;padding:8px 10px 8px 14px}.g3-wind>div{flex:1}.g3-wind b{font-size:16px}.g3-wind span{font-size:13px;line-height:1.5}.g3-wind .only-narrow{display:none!important}}.mg-light-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.mg-light-head h3{margin:0;font-size:15px}.mg-light-head h3 small{color:var(--muted);margin-left:6px;font-size:12px;font-weight:400}.mg-light-head .day-nav{margin:0}.mg-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.mg-head h2{margin:0}.mg-range{gap:6px;display:flex}.mg-range .chip{cursor:pointer}.mg-range .chip.on{background:var(--brand-2);color:var(--on-brand);border-color:var(--brand-2)}.magma>.mg-light-head:first-child{border-top:none;margin-top:0;padding-top:0}.magma>.mg-light-head:first-child h3{font-size:17px}.mg-mini .tile .value{font-size:22px}.mg-daily th,.mg-daily td{white-space:nowrap}.mg-change-list{margin:4px 0 8px;padding-left:18px;font-size:14px}.mg-change-list li{margin:3px 0}.muted{color:var(--muted)}.install-bar{background:color-mix(in srgb, var(--good) 12%, var(--card,#fff));border:1px solid color-mix(in srgb, var(--good) 40%, transparent);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin:8px 0 12px;padding:10px 40px 10px 14px;font-size:14px;display:flex;position:relative}.install-bar span{flex:200px}.install-bar .chip.primary{cursor:pointer}.install-x{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:16px;position:absolute;top:6px;right:6px}
