@media (prefers-color-scheme:light){:root[data-theme=system]{--bg:#f1f5f7;--surface:#fff;--surface-2:#e8eff3;--border:#d4dee4;--text:#14212b;--muted:#64737d;--accent:#087f8a;color:var(--text)}}@keyframes pulse{to{opacity:.25;transform:translateY(-4px)}}@media (width<=720px){.site-header{padding:13px 0}.header-controls select{width:44px;min-width:0;padding:9px 4px}.app-header,.app-toolbar{flex-direction:column;align-items:stretch}.device-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell{padding-top:20px}}@media (width<=430px){main,.site-header{width:calc(100% - 26px)}.device-grid{grid-template-columns:1fr}.auth-card{padding:23px}.app-nav{gap:6px}.app-nav button,.app-nav a{padding:9px;font-size:.78rem}}:root{color:#f4f7f9;font-synthesis:none;--bg:#070b0f;--surface:#11171d;--surface-2:#171e25;--border:#29343e;--text:#f4f7f9;--muted:#93a2ad;--accent:#31d6e8;--danger:#ff867d;background:#070b0f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}:root[data-theme=light]{--bg:#f1f5f7;--surface:#fff;--surface-2:#e8eff3;--border:#d4dee4;--text:#14212b;--muted:#64737d;--accent:#087f8a;--danger:#b54848;color:var(--text)}@media (prefers-color-scheme:light){:root[data-theme=system]{--bg:#f1f5f7;--surface:#fff;--surface-2:#e8eff3;--border:#d4dee4;--text:#14212b;--muted:#64737d;--accent:#087f8a;color:var(--text)}}*{box-sizing:border-box}body{background:radial-gradient(circle at 50% -16rem,#153b55 0,transparent 36rem),var(--bg);min-height:100vh;color:var(--text);margin:0}button,input,select{font:inherit}button,a{transition:all .18s}a{color:var(--accent)}.site-header{justify-content:space-between;align-items:center;width:min(1120px,100% - 32px);margin:auto;padding:20px 0;display:flex}.logo img{width:156px;max-width:42vw;display:block}.header-controls{gap:8px;display:flex}.header-controls select,.app-toolbar select,.settings-card select{border:1px solid var(--border);background:var(--surface);min-width:100px;color:var(--text);border-radius:10px;padding:9px 28px 9px 10px}main{width:min(1120px,100% - 32px);margin:auto}.loading-shell{text-align:center;min-height:75vh;color:var(--muted);place-items:center;display:grid}.loader-mark{justify-content:center;gap:6px;display:flex}.loader-mark i{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1s infinite alternate pulse}.loader-mark i:nth-child(2){animation-delay:.18s}.loader-mark i:nth-child(3){animation-delay:.36s}.auth-card,.settings-card{border:1px solid var(--border);background:var(--surface);border-radius:24px;max-width:480px;margin:clamp(50px,12vh,130px) auto;padding:30px;box-shadow:0 20px 65px #0004}.eyebrow{color:var(--accent);letter-spacing:.16em;margin:0 0 10px;font-size:.72rem;font-weight:800}.auth-card h1,.app-header h1{letter-spacing:-.05em;margin:0;font-size:clamp(2rem,5vw,3.5rem)}.auth-card form{gap:15px;margin-top:26px;display:grid}.auth-card label,.settings-card label,.app-toolbar label{color:var(--muted);gap:7px;font-size:.85rem;display:grid}.auth-card input{border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text);border-radius:12px;padding:13px 14px}.primary-button,.secondary-button{cursor:pointer;border:0;border-radius:12px;padding:13px 16px}.primary-button{background:var(--accent);color:#071018;font-weight:800}.secondary-button{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.legacy-link{margin-top:22px;font-size:.86rem;display:inline-block}.muted{color:var(--muted);line-height:1.55}.error{color:var(--danger);font-size:.85rem}.app-shell{padding:36px 0 60px}.app-header{justify-content:space-between;align-items:end;gap:20px;display:flex}.app-toolbar{border:1px solid var(--border);background:var(--surface);border-radius:16px;justify-content:space-between;align-items:end;gap:16px;margin:30px 0 20px;padding:17px;display:flex}.app-toolbar label{align-items:center;gap:10px;display:flex}.realtime{color:var(--muted);font-size:.8rem}.realtime.connected{color:#55de8a}.realtime.fallback{color:#f4b66d}.notice{color:#ffd7ba;background:#302119;border:1px solid #875f3b;border-radius:12px;padding:12px 15px}.section-heading{justify-content:space-between;align-items:end;margin:28px 0 16px;display:flex}.section-heading h2{margin:0}.device-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.device-card{border:1px solid var(--border);background:var(--surface);border-radius:20px;min-height:190px;padding:22px}.device-top{justify-content:space-between;align-items:start;gap:10px;display:flex}.device-card h3{margin:0;font-size:1.05rem}.device-card strong{letter-spacing:-.06em;margin:22px 0 8px;font-size:3rem;display:block}.device-card small{color:var(--muted)}.online,.offline{font-size:.72rem}.online{color:#55de8a}.offline{color:var(--muted)}.settings-card{margin:40px 0}.settings-card label{margin:22px 0}.app-nav{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;margin-top:42px;padding-top:20px;display:flex}.app-nav button,.app-nav a{border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:10px;padding:10px 13px;text-decoration:none}.app-nav button.active,.app-nav button:hover,.app-nav a:hover{color:var(--accent);border-color:var(--accent)}@media (width<=720px){.site-header{padding:13px 0}.header-controls select{width:44px;min-width:0;padding:9px 4px}.app-header,.app-toolbar{flex-direction:column;align-items:stretch}.device-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell{padding-top:20px}}@media (width<=430px){main,.site-header{width:calc(100% - 26px)}.device-grid{grid-template-columns:1fr}.auth-card{padding:23px}.app-nav{gap:6px}.app-nav button,.app-nav a{padding:9px;font-size:.78rem}}.overview{padding-bottom:10px}.global-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:8px 0 28px;display:grid}.global-action{border:1px solid var(--border);background:var(--surface);min-height:78px;color:var(--text);text-align:left;cursor:pointer;border-radius:17px;justify-content:flex-start;align-items:center;gap:13px;padding:15px 18px;display:flex}.global-action:disabled{opacity:.65;cursor:default}.global-action:not(:disabled):hover{border-color:var(--accent);transform:translateY(-1px)}.global-action .action-icon{width:1.9rem;height:1.9rem;color:var(--accent);place-items:center;font-size:1.9rem;display:grid}.global-action strong,.global-action small{display:block}.global-action small{color:var(--muted);margin-top:2px;font-size:.72rem}.power-glyph{font-size:1.55rem!important}.home-section-heading{margin-top:4px}.count-pill{background:var(--surface-2);min-width:30px;height:30px;color:var(--muted);border-radius:999px;place-items:center;padding:0 9px;font-size:.78rem;font-weight:800;display:inline-grid}.climate-tile{color:#fff;cursor:default;min-height:270px;animation:dashboard-card-in .38s calc(80ms + var(--tile-index,0) * 55ms) both;background:linear-gradient(155deg,#103b59,#075270);border:0;border-radius:20px;flex-direction:column;padding:17px;display:flex;position:relative;overflow:hidden;box-shadow:0 14px 28px #0004}.climate-tile:after{content:"";background:#fff1;border-radius:50%;width:170px;height:170px;position:absolute;top:-55px;right:-65px}.climate-tile>*{z-index:1;position:relative}.climate-tile.off,.climate-tile.no-status{color:#c3d0d8;background:linear-gradient(155deg,#29323a,#1a2026)}.climate-tile.offline-tile{filter:saturate(.7)}.tile-top{color:#d5e9ee;align-items:center;gap:7px;font-size:.72rem;display:flex}.connection-dot{background:#55de8a;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #55de8a26}.offline-tile .connection-dot{background:#9aaab2;box-shadow:0 0 0 3px #9aaab226}.mode-icon{color:#fff;margin-left:auto;font-size:1.25rem}.temperature{align-items:flex-start;margin:18px 0 7px;display:flex}.temperature strong{letter-spacing:-.07em;font-size:4rem;line-height:.92}.temperature span{font-size:1.5rem;line-height:1}.climate-tile h3{margin:0 0 2px;font-size:1.13rem;line-height:1.25}.climate-tile p{color:#fffb;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.8rem;overflow:hidden}.tile-footer{flex-wrap:wrap;gap:5px;margin-top:auto;padding-top:15px;display:flex}.tile-footer span{background:#fff2;border-radius:999px;padding:5px 8px;font-size:.67rem;font-weight:750}.empty-state{border:1px dashed var(--border);min-height:190px;color:var(--muted);text-align:center;border-radius:18px;place-items:center;padding:28px;display:grid}.empty-icon{color:var(--accent);font-size:2rem}@keyframes dashboard-card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.climate-tile{animation:none}}@media (width<=720px){.global-actions{gap:9px}.global-action{min-height:69px;padding:12px}.climate-tile{min-height:218px;padding:13px}.temperature{margin:13px 0 5px}.temperature strong{font-size:3.15rem}.climate-tile h3{font-size:.98rem}.climate-tile p{font-size:.72rem}.tile-footer span:nth-child(3){display:none}}@media (width<=370px){.global-actions{grid-template-columns:1fr}.climate-tile{min-height:225px}}.app-shell{padding-top:20px}.app-header h1{letter-spacing:-.04em;font-size:clamp(1.6rem,3.6vw,2.35rem)}.app-header .eyebrow{margin-bottom:6px}.site-header{padding:12px 0}.app-toolbar{margin:20px 0 16px}.climate-tile{cursor:pointer}.climate-tile:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.tile-open-hint{color:#fffc;opacity:.78;margin-top:8px;font-size:.68rem;font-weight:700;display:block}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#02070bb8;place-items:center;padding:18px;animation:.2s both modal-fade-in;display:grid;position:fixed;inset:0}.modal-backdrop.is-closing{animation:.22s both modal-fade-out}.control-modal{color:#f4f7f9;background:linear-gradient(160deg,#0b2437,#08131c 72%);border:1px solid #ffffff24;border-radius:25px;width:min(680px,100%);max-height:min(850px,100dvh - 36px);padding:25px;animation:.24s cubic-bezier(.22,.7,.2,1) both modal-rise-in;overflow:auto;box-shadow:0 30px 90px #0009}.is-closing .control-modal{animation:.18s both modal-rise-out}.control-modal-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.control-modal-header h2{letter-spacing:-.04em;margin:0;font-size:clamp(1.55rem,4vw,2.3rem)}.control-modal-header .muted{color:#a6bcc6;margin:6px 0 0;font-size:.82rem}.modal-close{color:#fff;cursor:pointer;background:#ffffff12;border:1px solid #ffffff2b;border-radius:12px;width:38px;height:38px;font-size:1.55rem;line-height:1}.modal-close:hover{background:#ffffff25;transform:rotate(4deg)}.modal-reading{background:#ffffff0d;border:1px solid #ffffff18;border-radius:17px;grid-template-columns:1fr 1fr auto;align-items:end;gap:14px;margin:25px 0 20px;padding:16px;display:grid}.modal-reading div{gap:4px;display:grid}.modal-reading span,.modal-slider>span{color:#a6bcc6;font-size:.72rem}.modal-reading strong{letter-spacing:-.05em;font-size:2rem}.modal-state{border-radius:999px;align-self:start;padding:6px 9px;font-size:.68rem;font-weight:800}.modal-state.ready{color:#8ce6ae;background:#55de8a25}.modal-state.waiting{color:#ffd19c;background:#f4b66d25}.modal-slider{color:#a6bcc6;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:20px 0;padding:0 3px;font-size:.78rem;display:grid}.modal-slider input{width:100%;accent-color:var(--accent)}.modal-slider output{text-align:right;color:#fff;min-width:48px;font-weight:800}.modal-section{margin-top:22px}.modal-section h3{color:#a6bcc6;text-transform:uppercase;letter-spacing:.12em;margin:0 0 10px;font-size:.78rem}.control-choice-grid{grid-template-columns:repeat(auto-fit,minmax(74px,1fr));gap:8px;display:grid}.control-choice{color:#dce8ec;cursor:pointer;background:#ffffff0b;border:1px solid #ffffff1c;border-radius:13px;place-items:center;gap:6px;min-height:66px;padding:9px 7px;display:grid}.control-choice span{font-size:1.25rem}.control-choice small{font-size:.68rem}.control-choice:hover:not(:disabled){border-color:var(--accent);background:#31d6e81c;transform:translateY(-1px)}.control-choice.active{border-color:var(--accent);color:#fff;background:#31d6e82c;box-shadow:0 0 0 1px #31d6e855}.control-choice:disabled{cursor:not-allowed;opacity:.42}.modal-footer{border-top:1px solid #ffffff18;justify-content:space-between;align-items:center;gap:12px;margin-top:26px;padding-top:18px;display:flex}.modal-footer .primary-button{min-width:145px}.command-feedback{color:#a6bcc6;font-size:.77rem}.command-feedback.busy{color:#ffd19c}.command-feedback.busy:before{content:"";vertical-align:-1px;border:2px solid #ffd19c;border-right-color:#0000;border-radius:50%;width:9px;height:9px;margin-right:7px;animation:.7s linear infinite spin;display:inline-block}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}@keyframes modal-rise-in{0%{opacity:0;transform:translateY(15px)scale(.98)}to{opacity:1;transform:none}}@keyframes modal-rise-out{to{opacity:0;transform:translateY(10px)scale(.985)}}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=560px){.control-modal{border-radius:22px;max-height:calc(100dvh - 20px);padding:19px}.modal-reading{grid-template-columns:1fr 1fr}.modal-state{grid-column:1/-1;justify-self:start}.modal-slider{grid-template-columns:1fr auto}.modal-slider>span{grid-column:1/-1}.modal-footer{flex-direction:column;align-items:stretch}.modal-footer .primary-button{width:100%}}@media (prefers-reduced-motion:reduce){.modal-backdrop,.control-modal,.is-closing .control-modal,.command-feedback.busy:before{animation:none}}.legacy-climate-modal{background:radial-gradient(circle at 50% 0,#26cdec2b,#0000 26rem),linear-gradient(165deg,#08283f,#061822 62%,#071018);flex-direction:column;gap:14px;min-height:min(680px,100dvh - 28px);padding:22px 25px 26px;display:flex;position:relative;overflow:hidden}.legacy-climate-modal .control-modal-header{flex:none}.legacy-climate-modal .control-modal-header h2{font-size:1.08rem;font-weight:850}.legacy-climate-modal .control-modal-header .eyebrow{display:none}.legacy-climate-modal .modal-close{border-radius:50%;width:42px;height:42px}.legacy-climate-summary{color:#aabcc6;justify-content:space-between;align-items:center;gap:10px;font-size:.72rem;display:flex}.legacy-climate-summary strong{color:#fff;font-size:.92rem}.legacy-temperature-control{flex:1;justify-items:center;gap:9px;min-height:360px;display:grid}.legacy-temperature-readout{align-items:flex-start;margin:0 0 2px;line-height:.9;display:flex}.legacy-temperature-readout strong{letter-spacing:-.08em;font-size:4.65rem}.legacy-temperature-readout sup{margin:4px 0 0 6px;font-size:1.85rem}.legacy-temperature-readout>span{color:var(--accent);margin:14px 0 0 11px;font-size:2rem}.legacy-temperature-track{background:#ffffff29;border-radius:64px;width:218px;height:280px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff1f}.legacy-temperature-fill{height:var(--temp-fill);background:#eef4f7;position:absolute;inset:auto 0 0}.legacy-temperature-track input{writing-mode:vertical-lr;appearance:none;cursor:ns-resize;z-index:3;direction:rtl;background:0 0;border:0;width:100%;height:calc(100% - 24px);margin:0;padding:0;position:absolute;inset:12px 0}.legacy-temperature-track input::-webkit-slider-runnable-track{background:0 0;border:0;width:100%;height:100%}.legacy-temperature-track input::-webkit-slider-thumb{-webkit-appearance:none;background:0 0;border:0;width:218px;height:34px}.legacy-temperature-track input::-moz-range-track{background:0 0;border:0}.legacy-temperature-track input::-moz-range-thumb{background:0 0;border:0;width:218px;height:34px}.legacy-temperature-handle{left:50%;bottom:calc(var(--temp-fill) - 3px);pointer-events:none;z-index:4;background:#27475b;border-radius:999px;width:72px;height:7px;position:absolute;transform:translate(-50%,50%);box-shadow:0 0 0 5px #eef4f7d1}.legacy-temperature-control small{color:#8fa3af;letter-spacing:.03em;font-size:.71rem}.legacy-quick-controls{scrollbar-width:none;scroll-snap-type:x proximity;gap:9px;padding:1px 1px 6px;display:flex;overflow-x:auto}.legacy-quick-controls::-webkit-scrollbar{display:none}.legacy-quick-control{color:#e6f0f5;scroll-snap-align:start;cursor:pointer;background:#ffffff1c;border:1px solid #0000;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:7px;min-width:86px;padding:10px 13px;display:flex}.legacy-quick-control span{font-size:1.1rem}.legacy-quick-control strong{white-space:nowrap;font-size:.77rem}.legacy-quick-control.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:#0b5772}.legacy-quick-control:disabled{opacity:.42;cursor:not-allowed}.legacy-quick-control:hover:not(:disabled){background:#ffffff2c;transform:translateY(-1px)}.legacy-climate-modal .modal-footer{margin-top:0}.legacy-selector-layer{z-index:12;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#02090ea8;place-items:center;padding:24px;animation:.16s ease-out selector-fade;display:grid;position:absolute;inset:0}.legacy-selector{background:#101d26;border:1px solid #38505f;border-radius:23px;width:min(100%,500px);padding:18px;animation:.16s ease-out selector-rise;box-shadow:0 24px 70px #0009}.legacy-control-choices{grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:9px;display:grid}.legacy-control-choice{color:#dce8ef;white-space:normal;text-align:center;cursor:pointer;background:#ffffff13;border:1px solid #ffffff14;border-radius:16px;align-content:center;place-items:center;gap:7px;min-width:0;min-height:78px;padding:10px 7px;display:grid}.legacy-control-choice .choice-visual{font-size:1.45rem;line-height:1}.legacy-control-choice .choice-name{font-size:.7rem;font-weight:800;line-height:1.15}.legacy-control-choice.active{border-color:var(--accent);color:#fff;box-shadow:0 0 0 1px var(--accent);background:#0b5772}.legacy-control-choice:disabled{opacity:.42;cursor:not-allowed}.legacy-control-choice:hover:not(:disabled){border-color:var(--accent);transform:translateY(-1px)}@media (width<=620px){.legacy-climate-modal{border-radius:22px;gap:12px;height:100%;min-height:calc(100dvh - 20px);padding:17px 16px 24px}.legacy-temperature-control{min-height:0}.legacy-temperature-track{width:190px;height:min(300px,38dvh)}.legacy-temperature-track input::-webkit-slider-thumb{width:190px}.legacy-temperature-track input::-moz-range-thumb{width:190px}.legacy-climate-summary{flex-wrap:wrap}.legacy-climate-summary .modal-state{margin-left:auto}.legacy-selector-layer{place-items:end center;padding:16px}.legacy-selector{border-radius:23px 23px 15px 15px}}.legacy-temperature-track input{touch-action:none;-webkit-user-select:none;user-select:none}.legacy-temperature-stepper{border:1px solid var(--ac-modal-border,#ffffff20);background:color-mix(in srgb,var(--ac-modal-surface,#ffffff12) 82%,transparent);border-radius:34px;grid-template-columns:72px minmax(92px,1fr) 72px;align-items:center;gap:12px;width:min(100%,310px);min-height:190px;padding:22px;display:grid;box-shadow:inset 0 0 0 1px #ffffff0a}.legacy-temperature-stepper button{border:1px solid var(--ac-modal-border,#ffffff20);background:var(--ac-modal-surface-strong,#10242e);width:72px;height:72px;color:var(--ac-modal-text,#fff);cursor:pointer;border-radius:50%;place-items:center;font-size:2rem;font-weight:500;line-height:1;display:grid;box-shadow:0 9px 24px #0003}.legacy-temperature-stepper button:hover:not(:disabled){border-color:var(--accent);transform:translateY(-1px)}.legacy-temperature-stepper button:active:not(:disabled){transform:scale(.96)}.legacy-temperature-stepper button:disabled{opacity:.35;cursor:not-allowed}.legacy-temperature-stepper output{color:var(--ac-modal-text,#fff);letter-spacing:-.05em;text-align:center;font-size:2.15rem;font-weight:900}@media (width<=420px){.legacy-temperature-stepper{grid-template-columns:62px minmax(80px,1fr) 62px;gap:9px;min-height:165px;padding:17px}.legacy-temperature-stepper button{width:62px;height:62px}}:root{--button-on-accent:#071018;--history-grid:#ffffff1a;--history-axis:#b7c9d0;--history-axis-line:#78909a66;--history-chart-bg:#06151e;--history-chart-border:#ffffff1c;--history-cursor:#d5edf4;--history-temperature:#ff9a61;--history-environment-temperature:#55caa7;--history-humidity:#48bddb;--history-pressure:#ad96ef;--history-overlay-opacity:.2}:root[data-theme=light]{--button-on-accent:#fff;--history-grid:#31536124;--history-axis:#3a5663;--history-axis-line:#31536152;--history-chart-bg:#f7fbfc;--history-chart-border:#3153612f;--history-cursor:#315361;--history-temperature:#ad4618;--history-environment-temperature:#13775e;--history-humidity:#087b98;--history-pressure:#6544a5;--history-overlay-opacity:.13}@media (prefers-color-scheme:light){:root[data-theme=system]{--button-on-accent:#fff;--history-grid:#31536124;--history-axis:#3a5663;--history-axis-line:#31536152;--history-chart-bg:#f7fbfc;--history-chart-border:#3153612f;--history-cursor:#315361;--history-temperature:#ad4618;--history-environment-temperature:#13775e;--history-humidity:#087b98;--history-pressure:#6544a5;--history-overlay-opacity:.13}}.primary-button{color:var(--button-on-accent)}.app-loading-screen{z-index:1000;color:#d8e7ed;text-align:center;background:#020406;place-content:center;justify-items:center;gap:18px;animation:.18s both loading-screen-in;display:grid;position:fixed;inset:0}.app-loading-screen img{width:min(220px,54vw);height:auto;animation:1.8s ease-in-out infinite loading-logo-breathe}.app-loading-screen p{color:#91a5ae;letter-spacing:.04em;margin:0;font-size:.82rem}.app-loading-screen .loader-mark i{background:#31d6e8}@keyframes loading-screen-in{0%{opacity:0}to{opacity:1}}@keyframes loading-logo-breathe{0%,to{opacity:.72;transform:scale(.985)}50%{opacity:1;transform:scale(1)}}.overview,.settings-panel,.account-card{animation:.3s cubic-bezier(.22,.7,.2,1) both content-reveal}@keyframes content-reveal{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.refresh-button.is-refreshing{color:var(--accent);animation:.75s linear infinite refresh-spin}@keyframes refresh-spin{to{transform:rotate(360deg)}}.rooms-devices-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:31px;height:31px}.home-weather{color:var(--text);align-items:center;gap:7px;margin:7px 0 0;font-size:.76rem;font-weight:750;display:flex}.home-weather span{color:var(--accent);font-size:1rem}.pet-mode-tile .tile-top{padding-bottom:27px}.tile-pet-mode{text-overflow:ellipsis;color:#176247;letter-spacing:.01em;white-space:nowrap;background:#fff;border-radius:999px;max-width:calc(100% - 4px);padding:4px 7px;font-size:.59rem;font-weight:900;position:absolute;top:23px;left:0;overflow:hidden;box-shadow:0 3px 10px #17352e25}.pet-mode-tile{box-shadow:var(--ac-card-shadow,0 14px 28px #0004),inset 0 0 0 2px #37bd835e}.legacy-climate-links{flex-wrap:wrap;justify-content:center;gap:20px;margin-top:-1px;display:flex}.legacy-climate-links button{color:var(--ac-modal-muted,#a9bac3);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:3px 1px;font-size:.72rem;font-weight:750}.legacy-climate-links button:hover{color:var(--ac-modal-text,#fff);transform:translateY(-1px)}.history-layer{z-index:14;grid-template-rows:minmax(0,1fr);place-items:center}.environment-history-panel{width:min(100%,560px);min-height:0;max-height:100%;overflow:auto}.environment-history-panel>.selector-heading{z-index:5;background:var(--ac-modal-surface-strong,#101d26);margin-top:-1px;padding:1px 0 9px;position:sticky;top:0}.history-tabs{background:color-mix(in srgb,var(--ac-modal-surface-strong,#10242e) 82%,transparent);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:10px 0 12px;padding:4px;display:grid}.history-tabs button{min-height:36px;color:var(--ac-modal-muted,#a9bac3);cursor:pointer;background:0 0;border:0;border-radius:9px;font-size:.72rem;font-weight:850}.history-tabs button.active{background:var(--ac-modal-surface,#ffffff12);color:var(--ac-modal-text,#fff);box-shadow:0 2px 9px #0002}.history-tab-panel{min-height:300px}.history-ranges{gap:7px;margin:12px 0;display:flex}.history-ranges button{border:1px solid var(--ac-modal-border,#ffffff20);background:var(--ac-modal-surface,#ffffff12);color:var(--ac-modal-text,#fff);cursor:pointer;border-radius:999px;padding:7px 11px;font-size:.7rem;font-weight:800}.history-ranges button.active{color:#11404c;background:#c7eef5;border-color:#168c9d}.history-window-nav{grid-template-columns:34px minmax(0,1fr) 34px auto;align-items:center;gap:7px;margin:0 0 5px;display:grid}.history-window-nav button{border:1px solid var(--ac-modal-border,#ffffff20);background:var(--ac-modal-surface,#ffffff12);min-width:34px;height:34px;color:var(--ac-modal-text,#fff);cursor:pointer;border-radius:10px;place-items:center;padding:0;font-size:1.15rem;font-weight:850;display:grid}.history-window-nav button:disabled{opacity:.38;cursor:not-allowed}.history-window-nav output{min-width:0;color:var(--history-axis);text-align:center;font-size:.64rem;font-weight:750}.history-window-nav .history-now-button{width:auto;padding:0 10px;font-size:.66rem}.history-drag-help{color:var(--ac-modal-muted,#a9bac3);margin:0 1px 9px;font-size:.61rem;line-height:1.4}.history-chart{border:1px solid var(--history-chart-border);background:var(--history-chart-bg);cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;border-radius:14px;height:300px;margin-top:8px;overflow:hidden}.history-chart.is-dragging{cursor:grabbing}.history-mode-band,.history-mode-band .recharts-reference-area-rect{fill-opacity:var(--history-overlay-opacity)}.history-mode-strip,.history-mode-strip .recharts-reference-area-rect{fill-opacity:.82}.history-state{min-height:240px;color:var(--ac-modal-muted,#a9bac3);text-align:center;place-items:center;margin:0;display:grid}.history-state.error{color:var(--ac-status-red,#ffaaa3)}.history-source-note{color:var(--ac-modal-muted,#a9bac3);margin:10px 0 0;font-size:.65rem;line-height:1.45}.history-layer-controls{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:4px;display:grid}.history-layer-toggle{border:1px solid var(--ac-modal-border,#ffffff20);background:color-mix(in srgb,var(--ac-modal-surface,#ffffff12) 78%,transparent);min-height:36px;color:var(--ac-modal-muted,#a9bac3);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:7px 8px;font-size:.66rem;font-weight:800;display:flex}.history-layer-toggle.active{background:color-mix(in srgb,#45a9b7 18%,var(--ac-modal-surface-strong,#122832));color:var(--ac-modal-text,#fff);border-color:#45a9b7;box-shadow:inset 0 0 0 1px #45a9b733}.history-layer-toggle:disabled{cursor:not-allowed}.history-layer-toggle:disabled:not(.active){opacity:.4}.history-layer-toggle>i{background:#70808a;border-radius:4px;flex:0 0 11px;width:11px;height:11px;display:block}.history-layer-toggle.layer-overlay>i{background:linear-gradient(135deg,#2c9fce 0 25%,#df7a3f 25% 50%,#7779c7 50% 75%,#2fa083 75%)}.history-layer-toggle.layer-temperature>i{background:#e88249}.history-layer-toggle.layer-humidity>i{background:#2ba5c7}.history-layer-toggle.layer-pressure>i{background:#8c72ce}.history-layer-help{color:var(--ac-modal-muted,#a9bac3);margin:7px 1px 0;font-size:.61rem}.history-mode-legend{color:var(--ac-modal-muted,#a9bac3);flex-wrap:wrap;gap:7px 11px;margin-top:8px;font-size:.62rem;display:flex}.history-mode-legend span{align-items:center;gap:5px;display:flex}.history-mode-legend i{color:#fff;border-radius:6px;place-items:center;width:20px;height:20px;font-size:.62rem;font-style:normal;display:grid}.history-mode-legend .mode-cool{background:#2c9fce}.history-mode-legend .mode-heat{background:#df7a3f}.history-mode-legend .mode-dry{background:#7779c7}.history-mode-legend .mode-fan{background:#2fa083}.history-mode-legend .mode-auto{background:#858a99}.history-temperature-legend{color:var(--ac-modal-muted,#a9bac3);flex-wrap:wrap;gap:8px 14px;margin-top:8px;font-size:.62rem;display:flex}.history-temperature-legend span{align-items:center;gap:6px;display:flex}.history-temperature-legend i{border-top:3px solid var(--history-temperature);width:22px;height:0;display:block}.history-temperature-legend i.sensor-temperature-line{border-top-color:var(--history-environment-temperature);border-top-style:dashed}.activity-tab-panel{align-content:start;gap:10px;display:grid}.activity-filter{width:max-content;max-width:100%;color:var(--ac-modal-muted,#a9bac3);cursor:pointer;align-items:center;gap:9px;font-size:.69rem;font-weight:750;display:flex}.activity-filter input{accent-color:#168c9d;width:17px;height:17px;margin:0}.device-activity-list{gap:9px;display:grid}.device-activity-item{border:1px solid var(--ac-modal-border,#ffffff20);background:color-mix(in srgb,var(--ac-modal-surface,#ffffff12) 76%,transparent);color:var(--ac-modal-text,#fff);border-radius:14px;gap:8px;padding:12px;display:grid}.device-activity-item>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.device-activity-item>header>div{gap:2px;min-width:0;display:grid}.device-activity-item>header strong{font-size:.78rem}.device-activity-item>header small,.device-activity-item>time{color:var(--ac-modal-muted,#a9bac3);font-size:.61rem}.activity-status{color:color-mix(in srgb,#55d29a 82%,var(--ac-modal-text,#fff));background:#2c9f7024;border-radius:999px;flex:none;align-items:center;gap:6px;padding:5px 8px;font-size:.6rem;font-weight:850;display:flex}.activity-status i{background:#39bc80;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #39bc8020}.activity-status.failed,.activity-status.timed_out,.activity-status.expired{color:color-mix(in srgb,#e68b82 86%,var(--ac-modal-text,#fff));background:#bd584d21}.activity-status.failed i,.activity-status.timed_out i,.activity-status.expired i{background:#cf6258;box-shadow:0 0 0 3px #cf625820}.device-activity-item dl{gap:0;margin:2px 0 0;display:grid}.device-activity-item dl>div{border-top:1px solid var(--ac-modal-border,#ffffff18);grid-template-columns:minmax(92px,.8fr) minmax(0,1.4fr);align-items:center;gap:10px;padding:7px 0;display:grid}.device-activity-item dt{color:var(--ac-modal-muted,#a9bac3);font-size:.64rem}.device-activity-item dd{text-align:right;justify-content:flex-end;align-items:center;gap:6px;min-width:0;margin:0;font-size:.68rem;display:flex}.device-activity-item dd span{color:var(--ac-modal-muted,#a9bac3);text-decoration:line-through;text-decoration-thickness:1px}.device-activity-item dd b{color:var(--ac-modal-muted,#a9bac3);font-weight:600}.device-activity-item dd strong{overflow-wrap:anywhere}.activity-no-details,.activity-result{background:color-mix(in srgb,var(--ac-modal-surface-strong,#10242e) 70%,transparent);color:var(--ac-modal-muted,#a9bac3);border-radius:9px;margin:0;padding:8px 9px;font-size:.63rem;line-height:1.45}.activity-result{color:var(--ac-status-red,#ffaaa3)}.activity-load-more{border:1px solid var(--ac-modal-border,#ffffff20);background:var(--ac-modal-surface,#ffffff12);min-height:38px;color:var(--ac-modal-text,#fff);cursor:pointer;border-radius:11px;font-size:.68rem;font-weight:850}.activity-load-more:disabled{opacity:.55;cursor:wait}html,body{max-width:100%;overflow-x:hidden}.history-layer{overflow:hidden}.environment-history-panel,.history-tab-panel,.device-activity-list,.device-activity-item{box-sizing:border-box;min-width:0;max-width:100%}.environment-history-panel{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--ac-modal-muted,#a9bac3) 48%,transparent) transparent;overflow-x:hidden}.environment-history-panel::-webkit-scrollbar{width:8px}.environment-history-panel::-webkit-scrollbar-track{background:0 0}.environment-history-panel::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--ac-modal-muted,#a9bac3) 48%,transparent);background-clip:padding-box;border:2px solid #0000;border-radius:999px}.device-activity-item>header,.device-activity-item>header>div,.device-activity-item dl,.device-activity-item dl>div,.device-activity-item dt,.device-activity-item dd{min-width:0;max-width:100%}.device-activity-item>header small,.device-activity-item>time{overflow-wrap:anywhere}.activity-status{white-space:normal;text-align:center;justify-content:center;max-width:48%}.device-activity-item dd{flex-wrap:wrap}.device-activity-item dd span,.device-activity-item dd b,.device-activity-item dd strong{overflow-wrap:anywhere;word-break:break-word;min-width:0;max-width:100%}@media (width<=420px){.history-layer,.device-activity-item{padding:10px}.device-activity-item>header{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.activity-status{max-width:116px}.device-activity-item dl>div{grid-template-columns:minmax(0,1fr);align-items:start;gap:3px}.device-activity-item dd{text-align:left;justify-content:flex-start}}@media (width>=621px){.control-modal.legacy-climate-modal{width:min(520px,100vw - 36px)}}@media (width<=620px){.legacy-climate-links{gap:16px}.environment-history-panel{max-height:100%;overflow:auto}.history-chart{height:270px}.history-layer-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=390px){.home-weather{align-items:flex-start;font-size:.7rem}}@media (prefers-reduced-motion:reduce){.app-loading-screen,.app-loading-screen img,.overview,.settings-panel,.account-card,.refresh-button.is-refreshing{animation:none}}.history-weather-strip{border:1px solid var(--history-chart-border);background:color-mix(in srgb,var(--history-chart-bg) 78%,transparent);color:var(--ac-modal-text,#fff);border-radius:11px;align-items:center;gap:9px;margin:9px 0 2px;padding:8px 11px;display:flex}.history-weather-strip>span{color:#71bfd6;flex:none;font-size:1rem;line-height:1}.history-weather-strip>div{min-width:0}.history-weather-strip strong{color:var(--ac-modal-text,#fff);text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;display:block;overflow:hidden}.history-weather-strip p{color:var(--ac-modal-muted,#a9bac3);margin:2px 0 0;font-size:.66rem;line-height:1.25}.history-focus-summary{border:1px solid var(--history-chart-border);background:var(--history-chart-bg);min-height:58px;color:var(--ac-modal-text,#fff);border-bottom:0;border-radius:14px 14px 0 0;place-items:center;gap:4px;margin:9px 0 -1px;padding:7px 10px 9px;display:grid}.history-focus-summary time{color:var(--history-axis);font-size:.6rem;font-weight:750}.history-focus-summary>div{scrollbar-width:thin;justify-content:flex-start;align-items:center;gap:9px;width:100%;max-width:100%;display:flex;overflow-x:auto}.history-focus-summary>div span{min-width:max-content;color:var(--ac-modal-text,#fff);white-space:nowrap;align-items:center;gap:5px;font-size:.72rem;font-weight:850;display:flex}.history-focus-summary>div i{border-radius:50%;flex:0 0 7px;width:7px;height:7px;display:block}.history-focus-summary small{color:var(--ac-modal-muted,#a9bac3);font-size:.58rem}.history-focus-summary+.history-chart{border-radius:0 0 14px 14px;margin-top:0}@media (width<=420px){.history-focus-summary>div{gap:6px}.history-focus-summary>div span{font-size:.66rem}.history-weather-strip p{font-size:.62rem}}.auth-mode-tabs{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;grid-template-columns:1fr 1fr;gap:5px;margin:0 0 22px;padding:5px;display:grid}.auth-mode-tabs button{min-height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;font-size:.78rem;font-weight:800}.auth-mode-tabs button.active{background:var(--surface);color:var(--text);box-shadow:0 4px 14px #0002}.auth-card label small{color:var(--muted);font-size:.68rem;font-weight:600}.auth-card button:disabled,.auth-card input:disabled{opacity:.58;cursor:wait}@media (width<=430px){.auth-card{margin:28px auto}.auth-mode-tabs{margin-bottom:18px}}.mode-water-drop-icon{vertical-align:-.12em;fill:none;stroke:currentColor;stroke-width:2.1px;stroke-linecap:round;stroke-linejoin:round;width:1em;height:1em;display:inline-block;overflow:visible}.realtime.offline{color:var(--danger)}.realtime.offline i{box-shadow:0 0 0 3px color-mix(in srgb,currentColor 18%,transparent);background:currentColor}.climate-tile.stale-tile{filter:saturate(.55)}.climate-tile.stale-tile .connection-dot{background:#9aaab2;box-shadow:0 0 0 3px #9aaab226}.power-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1.2em;height:1.2em;display:block}.portal-ready .site-header{height:58px;padding:7px 0}.portal-ready .logo img{width:112px;max-width:34vw}.portal-ready .header-controls{align-items:center;display:flex}.portal-ready .header-controls select{min-width:104px;padding:8px 24px 8px 10px}.header-signout{background:var(--surface-2);color:var(--text);white-space:nowrap;cursor:pointer;border:0;border-radius:12px;padding:10px 13px;font-weight:700}.logo-dark{display:block}.logo-light{display:none!important}html[data-theme=light] .logo-dark{display:none}html[data-theme=light] .logo-light{display:block!important}@media (prefers-color-scheme:light){html[data-theme=system] .logo-dark{display:none}html[data-theme=system] .logo-light{display:block!important}}.app-shell{padding-bottom:112px}.app-nav{z-index:30;left:50%;bottom:max(10px,env(safe-area-inset-bottom));border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:22px;grid-template-columns:repeat(3,minmax(86px,1fr));width:min(360px,100vw - 26px);margin:0;padding:7px;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 18px 48px #0005}.app-nav button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:16px;justify-items:center;gap:3px;padding:8px 10px;display:grid}.app-nav button.active{background:var(--surface-2);color:var(--accent)}.app-nav .nav-icon{font-size:1.35rem;line-height:1}.app-nav strong{font-size:.7rem;font-weight:700}.app-header{align-items:center}.app-header h1{font-size:clamp(1.7rem,5vw,2.45rem)}.app-header-status{align-items:center;gap:15px;display:flex}.refresh-button{color:var(--text);cursor:pointer;background:0 0;border:0;font-size:1.4rem}.app-toolbar{background:0 0;border:0;margin:5px 0 18px;padding:0}.app-toolbar label{gap:7px}.app-toolbar select{border-radius:13px;min-width:210px;padding:11px 30px 11px 13px}.command-feedback.pending{color:#f4b66d}.home-meta{color:var(--muted);margin:3px 0 0;font-size:.83rem}.home-section-heading h2{letter-spacing:-.045em;font-size:2rem}.app-shell.modal-active .app-nav{display:none}.app-shell.modal-active{padding-bottom:20px}@media (width<=720px){.portal-ready .site-header{height:52px}.portal-ready .header-controls select{border-radius:999px;width:104px;min-width:104px;max-width:112px;padding:7px 24px 7px 8px;font-size:.78rem}.header-signout{border-radius:10px;padding:8px 10px;font-size:1rem}.app-shell{padding-top:10px;padding-bottom:104px}.app-header{flex-direction:row;align-items:flex-start;gap:10px}.app-header .muted{margin:5px 0}.app-toolbar{border-radius:0;margin:5px 0 14px;padding:0}.app-toolbar label{flex-direction:row;justify-content:flex-start}.app-toolbar select{min-width:205px}.app-nav{bottom:max(8px,env(safe-area-inset-bottom))}.refresh-button{border-radius:50%;width:39px;height:39px;padding:0;font-size:1.15rem}.global-actions{margin:0 0 18px}.home-section-heading{margin:0}}@media (width<=430px){.device-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.climate-tile{min-height:218px;padding:12px}.temperature strong{font-size:2.8rem}.climate-tile h3{font-size:.92rem}.climate-tile p{font-size:.67rem}.tile-footer{padding-top:10px}.tile-footer span{padding:4px 6px;font-size:.62rem}.tile-open-hint{font-size:.62rem}}.legacy-control-header{grid-template-columns:42px minmax(0,1fr) auto;align-items:center!important;gap:12px!important;display:grid!important}.legacy-control-header .climate-title{min-width:0}.legacy-control-header .climate-title h2{white-space:nowrap;text-overflow:ellipsis;margin:0 0 2px;font-size:1.08rem;font-weight:850;overflow:hidden}.legacy-control-header .climate-title .muted{color:#92a6b4;white-space:nowrap;text-overflow:ellipsis;margin:0;display:block;overflow:hidden}.modal-header-statuses{justify-content:flex-end;align-items:center;gap:7px;min-width:0;display:flex}.connection-badge,.command-badge{color:#a8b5bd;white-space:nowrap;background:#ffffff14;border-radius:999px;align-items:center;gap:7px;height:30px;min-height:30px;padding:0 10px;font-size:.72rem;font-weight:800;line-height:1;display:flex}.connection-badge i,.command-badge i{background:#7c8991;border-radius:50%;flex:none;width:8px;height:8px}.connection-badge.online{color:#83f0a5}.connection-badge.online i{background:#59e887;box-shadow:0 0 0 4px #59e8871a}.command-badge.ready,.command-badge.updated{color:#83f0a5;background:#59e8871c}.command-badge.ready i,.command-badge.updated i{background:#59e887;box-shadow:0 0 0 4px #59e8871a}.command-badge.modifying i,.command-badge.countdown i,.command-badge.order-sent i{background:#ffd369;animation:1.2s ease-in-out infinite command-breathe;box-shadow:0 0 0 4px #ffd3691a}.command-badge.unavailable{color:#a8b5bd}.legacy-climate-summary{justify-content:flex-start}.legacy-temperature-control.disabled{filter:saturate(.25);opacity:.68}.legacy-temperature-control.disabled input{cursor:not-allowed}@keyframes command-breathe{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 0 4px #ffd3691a}50%{opacity:.42;transform:scale(.78);box-shadow:0 0 0 7px #ffd3690b}}.selector-heading{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.selector-heading strong{font-size:1rem}.selector-done{color:#fff;cursor:pointer;background:#ffffff14;border:0;border-radius:50%;place-items:center;width:34px;height:34px;padding:0;font-size:1.2rem;display:grid}.legacy-selector-layer{animation:.16s ease-out selector-fade}.legacy-selector{animation:.16s ease-out selector-rise}@keyframes selector-fade{0%{opacity:0}to{opacity:1}}@keyframes selector-rise{0%{transform:translateY(10px)scale(.98)}to{transform:none}}.choice-glyph{place-items:center;width:32px;height:28px;font-size:1.55rem;display:grid}.auto-glyph{border:2px solid;border-radius:7px;font-size:.9rem;font-weight:950}.fan-speed-icon{align-items:end;gap:3px;width:35px;height:27px;display:flex}.fan-speed-icon i{background:#ffffff40;border-radius:3px 3px 1px 1px;width:6px}.fan-speed-icon i:first-child{height:9px}.fan-speed-icon i:nth-child(2){height:14px}.fan-speed-icon i:nth-child(3){height:20px}.fan-speed-icon i:nth-child(4){height:27px}.fan-speed-icon i.filled{background:currentColor}.vane-diagram{color:currentColor;width:52px;height:40px;display:block;position:relative}.vane-diagram i,.vane-diagram b{display:block;position:absolute}.vane-diagram .vent-shell{background:currentColor;border-radius:999px;height:3px;top:5px;left:5px;right:5px}.vane-diagram .vane-blade,.vane-diagram .secondary-blade{background:currentColor;border-radius:999px}.vane-diagram .airflow{display:none}.vane-motion,.vane-auto{font-size:.7rem;font-style:normal;font-weight:950;line-height:1;display:none!important}.vertical-vane-diagram .vane-blade{width:31px;height:3px;transform:rotate(var(--vane-angle));transform-origin:100%;top:13px;right:6px}.vertical-vane-diagram .vane-blade:after{content:"";border-top:4px solid #0000;border-bottom:4px solid #0000;border-right:7px solid;position:absolute;top:-3px;left:-4px}.vertical-vane-diagram.swinging .vane-blade{animation:1.25s ease-in-out infinite vertical-vane-swing}.vertical-vane-diagram.swinging .vane-motion{font-size:1rem;top:22px;right:4px;display:block!important}.vertical-vane-diagram.automatic .vane-blade{display:none}.vertical-vane-diagram.automatic .vane-auto{border:1px solid;border-radius:50%;place-items:center;width:16px;height:16px;top:14px;left:18px;display:grid!important}.horizontal-vane-diagram .vane-blade,.horizontal-vane-diagram .secondary-blade{width:3px;height:25px;transform:rotate(var(--vane-angle));transform-origin:50% 0;top:10px;left:25px}.horizontal-vane-diagram .vane-blade:after,.horizontal-vane-diagram .secondary-blade:after{content:"";border-top:7px solid;border-left:4px solid #0000;border-right:4px solid #0000;position:absolute;bottom:-3px;left:-3px}.horizontal-vane-diagram.swinging .vane-blade{animation:1.25s ease-in-out infinite horizontal-vane-swing}.horizontal-vane-diagram.swinging .vane-motion{font-size:1rem;top:25px;left:18px;display:block!important}.horizontal-vane-diagram.split .vane-blade{transform:rotate(29deg)}.horizontal-vane-diagram.split .secondary-blade{display:block;transform:rotate(-29deg)}.horizontal-vane-diagram:not(.split) .secondary-blade,.horizontal-vane-diagram.automatic .vane-blade{display:none}.horizontal-vane-diagram.automatic .vane-auto{border:1px solid;border-radius:50%;place-items:center;width:16px;height:16px;top:14px;left:18px;display:grid!important}@keyframes vertical-vane-swing{0%,to{transform:rotate(-8deg)}50%{transform:rotate(-56deg)}}@keyframes horizontal-vane-swing{0%,to{transform:rotate(38deg)}50%{transform:rotate(-38deg)}}.legacy-control-choice .choice-visual{place-items:center;min-height:40px;display:grid}.legacy-control-choice .choice-name{font-size:.7rem}.legacy-quick-control .choice-glyph{width:auto;height:auto;font-size:1.1rem}.legacy-quick-control .vane-diagram{width:30px;height:25px;transform:scale(.72)}@media (width<=620px){.modal-backdrop{place-items:stretch stretch;padding:0}.control-modal.legacy-climate-modal{width:100vw;height:100dvh;min-height:100dvh;max-height:none;padding:17px 16px calc(24px + env(safe-area-inset-bottom));border:0;border-radius:0}.legacy-control-choices{grid-template-columns:repeat(4,minmax(0,1fr))}.legacy-control-choice{min-height:96px}.legacy-selector-layer{padding:16px}.legacy-selector{border-radius:23px 23px 15px 15px;width:100%}}@media (width<=390px){.legacy-control-header{grid-template-columns:42px minmax(58px,1fr) auto;gap:8px!important}.modal-header-statuses{gap:5px}.connection-badge,.command-badge{height:28px;min-height:28px;padding:0 7px;font-size:.62rem}.command-badge{text-overflow:ellipsis;max-width:96px;overflow:hidden}.legacy-control-header .climate-title .muted{max-width:112px}.legacy-control-choice{min-height:88px;padding-inline:4px}}@media (prefers-reduced-motion:reduce){.command-badge.modifying i,.command-badge.countdown i,.command-badge.order-sent i,.vertical-vane-diagram.swinging .vane-blade,.horizontal-vane-diagram.swinging .vane-blade{animation:none}}:root{--mode-icon-cool:#45d8f1;--mode-icon-dry:#57dbc3;--mode-icon-fan:#7bd9a8;--mode-icon-auto:#dce8ef;--mode-icon-heat:#ffad66;--mode-icon-off:#b4c1c9}:root[data-theme=light]{--mode-icon-cool:#007a96;--mode-icon-dry:#087565;--mode-icon-fan:#24734f;--mode-icon-auto:#4f5f69;--mode-icon-heat:#b34a12;--mode-icon-off:#5c6b74}@media (prefers-color-scheme:light){:root[data-theme=system]{--mode-icon-cool:#007a96;--mode-icon-dry:#087565;--mode-icon-fan:#24734f;--mode-icon-auto:#4f5f69;--mode-icon-heat:#b34a12;--mode-icon-off:#5c6b74}}.portal-climate-icon[data-mode-icon=cool]{color:var(--mode-icon-cool)}.portal-climate-icon[data-mode-icon=dry]{color:var(--mode-icon-dry)}.portal-climate-icon[data-mode-icon=fan]{color:var(--mode-icon-fan)}.portal-climate-icon[data-mode-icon=auto]{color:var(--mode-icon-auto)}.portal-climate-icon[data-mode-icon=heat]{color:var(--mode-icon-heat)}.portal-climate-icon[data-mode-icon=off]{color:var(--mode-icon-off)}.portal-climate-icon{fill:none;stroke:currentColor;stroke-width:1.85px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;width:100%;height:100%;display:block;overflow:visible}.mode-icon{place-items:center;width:24px;height:24px;line-height:0;display:grid}.mode-icon .portal-climate-icon{width:24px;height:24px}.legacy-temperature-readout>span{place-items:center;width:32px;height:32px;line-height:0;display:grid}.legacy-temperature-readout>span .portal-climate-icon{width:32px;height:32px}.control-icon-canvas{place-items:center;line-height:0;display:grid;width:40px!important;height:40px!important}.control-icon-canvas .choice-glyph{width:32px;height:32px;font-size:inherit;place-items:center;display:grid}.control-icon-canvas .portal-climate-icon{width:32px;height:32px}.vane-selector-icon{fill:none;stroke:currentColor;stroke-width:2.25px;stroke-linecap:round;stroke-linejoin:round;width:40px;height:40px;display:block;overflow:visible}.vane-selector-icon .vane-vent{stroke-width:3px}.vane-selector-icon .vane-artwork{transform-box:view-box}.vane-selector-icon.vertical .vane-artwork{transform:rotate(var(--vane-angle));transform-origin:33px 12.5px}.vane-selector-icon.horizontal .vane-artwork{transform:rotate(var(--vane-angle));transform-origin:20px 10px}.vane-selector-icon.horizontal.split .primary-vane{transform:rotate(29deg)}.vane-selector-icon.horizontal.split .secondary-vane{transform:rotate(-29deg)}.vane-selector-icon.swinging.vertical .vane-artwork{animation:1.25s ease-in-out infinite vertical-vane-vector-swing}.vane-selector-icon.swinging.horizontal .vane-artwork{animation:1.25s ease-in-out infinite horizontal-vane-vector-swing}.vane-selector-icon .vane-arrowhead{fill:currentColor;stroke:none}.vane-selector-icon .vane-auto-vector{stroke-width:1.6px}@keyframes vertical-vane-vector-swing{0%,to{transform:rotate(-8deg)}50%{transform:rotate(-56deg)}}@keyframes horizontal-vane-vector-swing{0%,to{transform:rotate(38deg)}50%{transform:rotate(-38deg)}}@media (prefers-reduced-motion:reduce){.vane-selector-icon.swinging .vane-artwork{animation:none}}.control-icon-canvas>.fan-speed-icon{width:35px;height:27px}.legacy-quick-control{height:44px;padding:0 13px}.legacy-quick-control .quick-control-icon{flex:0 0 24px;place-items:center;font-size:0;line-height:0;display:grid;width:24px!important;height:24px!important}.legacy-quick-control .quick-control-icon .portal-climate-icon{width:24px;height:24px}.global-action .action-icon{width:31px;height:31px;line-height:0}.global-action .action-icon .portal-climate-icon{width:31px;height:31px}.app-nav .nav-icon{place-items:center;width:24px;height:24px;line-height:1;display:grid}.legacy-temperature-control.remembered-off{filter:none;opacity:1}.legacy-temperature-control.remembered-off .legacy-temperature-track{filter:saturate(.2);opacity:.48}.legacy-controller-unavailable{text-align:center;border:1px solid var(--ac-modal-border,#ffffff24);background:var(--ac-modal-surface,#ffffff0d);border-radius:24px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;min-height:360px;padding:30px 20px;display:flex}.legacy-controller-unavailable .controller-unavailable-icon{width:58px;height:58px;color:var(--accent);background:#36c9e91a;border-radius:50%;place-items:center;font-size:2rem;font-weight:900;display:grid}.legacy-controller-unavailable>strong{color:var(--ac-modal-text,#fff);font-size:1.2rem}.legacy-controller-unavailable>p{max-width:36rem;color:var(--ac-modal-muted,#92a6b4);margin:0;font-size:.82rem;line-height:1.55}.controller-environment-readings{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px;display:flex}.controller-environment-readings span{color:var(--ac-modal-text,#fff);background:#36c9e917;border-radius:999px;padding:7px 11px;font-size:.75rem;font-weight:750}.legacy-remembered-settings{text-align:center;background:#ffffff0c;border:1px solid #ffffff17;border-radius:14px;gap:3px;width:min(330px,100%);padding:9px 14px;display:grid}.legacy-remembered-settings span{color:#8fa3af;letter-spacing:.08em;text-transform:uppercase;font-size:.66rem;font-weight:800}.legacy-remembered-settings strong{color:#edf4f7;font-size:.84rem}.legacy-remembered-settings small{color:#aabac3;letter-spacing:0;font-size:.67rem}:root[data-theme=light]{--ac-card-text:#173642;--ac-card-muted:#536f79;--ac-card-chip:#ffffff91;--ac-card-ring:#ffffffa8;--ac-card-cool:linear-gradient(150deg,#e9f8fb,#bde4ed);--ac-card-heat:linear-gradient(150deg,#fff3ec,#f2cdbd);--ac-card-dry:linear-gradient(150deg,#f2f3ff,#d7dcf4);--ac-card-fan:linear-gradient(150deg,#e7f8f1,#c5e8d9);--ac-card-off:linear-gradient(150deg,#f3f6f7,#dce5e9);--ac-card-shadow:0 13px 29px #35546324;--ac-modal-text:#15333f;--ac-modal-muted:#5e7883;--ac-modal-border:#aec8d1;--ac-modal-surface:#ffffffb8;--ac-status-green:#197544;--ac-status-green-bg:#d8f2e1;--ac-status-dot:#249e52;--ac-status-yellow:#805900;--ac-status-yellow-bg:#ffefc8;--ac-status-red:#a43e36;--ac-status-red-bg:#fde1df;--ac-modal-surface-strong:#f7fbfc;--ac-modal-cool:radial-gradient(circle at 50% 0,#49c6dd42,transparent 26rem),linear-gradient(165deg,#eefbfe,#d4edf3 62%,#edf6f8);--ac-modal-heat:radial-gradient(circle at 50% 0,#ff9a5b3d,transparent 26rem),linear-gradient(165deg,#fff7f1,#f5ded2 62%,#fff7f2);--ac-modal-dry:linear-gradient(165deg,#f5f6ff,#e1e4f5 62%,#f5f6fb);--ac-modal-fan:linear-gradient(165deg,#effbf6,#d5eee4 62%,#f1f9f5);--ac-modal-off:linear-gradient(165deg,#f5f7f8,#e1e8eb 62%,#f4f7f8)}@media (prefers-color-scheme:light){:root[data-theme=system]{--ac-card-text:#173642;--ac-card-muted:#536f79;--ac-card-chip:#ffffff91;--ac-card-ring:#ffffffa8;--ac-card-cool:linear-gradient(150deg,#e9f8fb,#bde4ed);--ac-card-heat:linear-gradient(150deg,#fff3ec,#f2cdbd);--ac-card-dry:linear-gradient(150deg,#f2f3ff,#d7dcf4);--ac-card-fan:linear-gradient(150deg,#e7f8f1,#c5e8d9);--ac-card-off:linear-gradient(150deg,#f3f6f7,#dce5e9);--ac-card-shadow:0 13px 29px #35546324;--ac-modal-text:#15333f;--ac-modal-muted:#5e7883;--ac-modal-border:#aec8d1;--ac-modal-surface:#ffffffb8;--ac-status-green:#197544;--ac-status-green-bg:#d8f2e1;--ac-status-dot:#249e52;--ac-status-yellow:#805900;--ac-status-yellow-bg:#ffefc8;--ac-status-red:#a43e36;--ac-status-red-bg:#fde1df;--ac-modal-surface-strong:#f7fbfc;--ac-modal-cool:radial-gradient(circle at 50% 0,#49c6dd42,transparent 26rem),linear-gradient(165deg,#eefbfe,#d4edf3 62%,#edf6f8);--ac-modal-heat:radial-gradient(circle at 50% 0,#ff9a5b3d,transparent 26rem),linear-gradient(165deg,#fff7f1,#f5ded2 62%,#fff7f2);--ac-modal-dry:linear-gradient(165deg,#f5f6ff,#e1e4f5 62%,#f5f6fb);--ac-modal-fan:linear-gradient(165deg,#effbf6,#d5eee4 62%,#f1f9f5);--ac-modal-off:linear-gradient(165deg,#f5f7f8,#e1e8eb 62%,#f4f7f8)}}.climate-tile{color:var(--ac-card-text,#fff);box-shadow:var(--ac-card-shadow,0 14px 28px #0004);border:1px solid var(--ac-card-ring,transparent)}.climate-tile.cool{background:var(--ac-card-cool,linear-gradient(155deg,#103b59,#075270))}.climate-tile.heat{background:var(--ac-card-heat,linear-gradient(155deg,#682e24,#9d4d22))}.climate-tile.dry{background:var(--ac-card-dry,linear-gradient(155deg,#29466b,#475d9c))}.climate-tile.fan,.climate-tile.auto{background:var(--ac-card-fan,linear-gradient(155deg,#174d4c,#16736b))}.climate-tile.off,.climate-tile.no-status{background:var(--ac-card-off,linear-gradient(155deg,#29323a,#1a2026));color:var(--ac-card-muted,#c3d0d8)}.climate-tile:after{background:var(--ac-card-chip,#ffffff12)}.climate-tile .tile-top,.climate-tile p,.climate-tile .tile-open-hint{color:var(--ac-card-muted,#d5e9ee)}.climate-tile .mode-icon{color:var(--ac-card-text,#fff)}.climate-tile .tile-footer span{background:var(--ac-card-chip,#fff2)}.legacy-climate-modal{color:var(--ac-modal-text,#f4f7f9);border-color:var(--ac-modal-border,#ffffff24);background:var(--ac-modal-cool,radial-gradient(circle at 50% 0,#26cdec2b,transparent 26rem),linear-gradient(165deg,#08283f,#061822 62%,#071018))}.legacy-climate-modal.heat{background:var(--ac-modal-heat,radial-gradient(circle at 50% 0,#ff8b412e,transparent 26rem),linear-gradient(165deg,#3a2119,#171116 62%,#100d10))}.legacy-climate-modal.dry{background:var(--ac-modal-dry,linear-gradient(165deg,#263d67,#111a2f 62%,#0b1018))}.legacy-climate-modal.fan,.legacy-climate-modal.auto{background:var(--ac-modal-fan,linear-gradient(165deg,#174d4c,#0c2626 62%,#071414))}.legacy-climate-modal.powered-off{background:var(--ac-modal-off,linear-gradient(165deg,#202a31,#0d151b 62%,#090f14))}.legacy-climate-modal .modal-close,.legacy-climate-modal .selector-done{border-color:var(--ac-modal-border,#ffffff2b);background:var(--ac-modal-surface,#ffffff12);color:var(--ac-modal-text,#fff)}.legacy-control-header .climate-title .muted,.legacy-climate-summary,.legacy-temperature-control small{color:var(--ac-modal-muted,#92a6b4)}.legacy-climate-summary strong,.legacy-temperature-readout strong,.legacy-temperature-readout sup{color:var(--ac-modal-text,#fff)}.legacy-temperature-track{background:color-mix(in srgb,var(--ac-modal-text,#fff) 15%,transparent);box-shadow:inset 0 0 0 1px var(--ac-modal-border,#ffffff1f)}.legacy-temperature-fill{background:var(--ac-modal-surface-strong,#eef4f7)}.legacy-temperature-handle{box-shadow:0 0 0 5px color-mix(in srgb,var(--ac-modal-surface-strong,#eef4f7) 82%,transparent);background:#376677}.legacy-quick-control{background:var(--ac-modal-surface,#ffffff1c);color:var(--ac-modal-text,#e6f0f5);border-color:color-mix(in srgb,var(--ac-modal-border,#fff) 55%,transparent)}.legacy-quick-control:hover:not(:disabled){background:color-mix(in srgb,var(--ac-modal-surface-strong,#fff) 78%,transparent)}.legacy-quick-control.active{color:#11404c;background:#c7eef5;border-color:#168c9d;box-shadow:0 0 0 1px #168c9d}.connection-badge,.command-badge{background:var(--ac-modal-surface,#ffffff14)}.legacy-selector-layer{background:#17333e7a}.legacy-selector{background:var(--ac-modal-surface-strong,#101d26);border-color:var(--ac-modal-border,#38505f);box-shadow:0 24px 70px #29434f40}.legacy-control-choice{background:var(--ac-modal-surface,#ffffff13);color:var(--ac-modal-text,#dce8ef);border-color:var(--ac-modal-border,#ffffff14)}.legacy-control-choice.active{color:#11404c;background:#c7eef5;border-color:#168c9d;box-shadow:0 0 0 1px #168c9d}.fan-speed-icon i{background:color-mix(in srgb,var(--ac-modal-text,#fff) 28%,transparent)}.legacy-remembered-settings{background:var(--ac-modal-surface,#ffffff0c);border-color:var(--ac-modal-border,#ffffff17)}.legacy-remembered-settings span,.legacy-remembered-settings small{color:var(--ac-modal-muted,#8fa3af)}.legacy-remembered-settings strong{color:var(--ac-modal-text,#edf4f7)}.connection-badge.online,.command-badge.ready,.command-badge.updated{color:var(--ac-status-green,#83f0a5);background:var(--ac-status-green-bg,#59e8871c)}.connection-badge.online i,.command-badge.ready i,.command-badge.updated i{background:var(--ac-status-dot,#59e887);box-shadow:0 0 0 4px color-mix(in srgb,var(--ac-status-dot,#59e887) 16%,transparent)}.command-badge.modifying,.command-badge.countdown,.command-badge.order-sent{color:var(--ac-status-yellow,#ffd978);background:var(--ac-status-yellow-bg,#ffd36917)}.command-badge.failed{color:var(--ac-status-red,#ffaaa3);background:var(--ac-status-red-bg,#ff766c17)}.connection-badge,.command-badge{border:1px solid color-mix(in srgb,currentColor 20%,transparent);font-weight:850}.command-badge.modifying i,.command-badge.countdown i,.command-badge.order-sent i{background:var(--ac-status-yellow-dot,#ffd369);box-shadow:0 0 0 4px color-mix(in srgb,var(--ac-status-yellow-dot,#ffd369) 20%,transparent)}.command-badge.failed i{background:var(--ac-status-red,#ff766c)}:root[data-theme=light]{--ac-status-green:#125d36;--ac-status-green-bg:#ccebd7;--ac-status-dot:#167c40;--ac-status-yellow:#664300;--ac-status-yellow-bg:#ffe0a0;--ac-status-yellow-dot:#a96300;--ac-status-red:#8e302b;--ac-status-red-bg:#f8d2cf}@media (prefers-color-scheme:light){:root[data-theme=system]{--ac-status-green:#125d36;--ac-status-green-bg:#ccebd7;--ac-status-dot:#167c40;--ac-status-yellow:#664300;--ac-status-yellow-bg:#ffe0a0;--ac-status-yellow-dot:#a96300;--ac-status-red:#8e302b;--ac-status-red-bg:#f8d2cf}}.sr-only{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.portal-ready .site-header{z-index:10;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);width:100%;height:58px;margin:0;padding:8px max(20px,50vw - 485px);position:sticky;top:0}.portal-ready .logo img{object-fit:contain;object-position:left center;width:145px;max-width:none;max-height:38px}.portal-ready main{width:min(970px,100% - 40px)}.portal-ready .app-shell{gap:18px;padding:18px 0 112px;display:grid}.portal-ready .app-header{align-items:flex-end;padding:3px 2px 0}.portal-ready .app-header h1{letter-spacing:-.035em;margin:0 0 3px;font-size:clamp(1.45rem,4vw,2rem)}.app-heading-block{min-width:0}.compact-home-picker{color:var(--muted);align-items:center;gap:8px;margin-top:9px;font-size:.74rem;font-weight:800;display:flex}.compact-home-picker select{border:1px solid var(--border);background:var(--surface);width:auto;min-width:160px;color:var(--text);border-radius:10px;padding:7px 30px 7px 10px}.app-header-status .realtime{background:var(--surface-2);border-radius:999px;align-items:center;gap:8px;min-height:32px;padding:7px 9px;font-size:.76rem;font-weight:800;display:inline-flex}.app-header-status .realtime i{background:#f1bd54;border-radius:50%;width:8px;height:8px}.app-header-status .realtime.connected i{background:#5dea83;box-shadow:0 0 0 4px #5dea831f}.notice{margin:0}.portal-ready .global-actions{margin:0 0 18px}.portal-ready .home-section-heading{margin:0;padding:4px 2px 2px}.portal-ready .home-section-heading h2{font-size:1.55rem}.portal-ready .home-section-heading p{font-size:.8rem}.legacy-temperature-control.disabled .legacy-temperature-track input{pointer-events:none;touch-action:none}.legacy-temperature-control.temperature-unavailable .legacy-temperature-fill{background:#b4c0c6}.legacy-temperature-control.temperature-unavailable .legacy-temperature-handle{background:#667985;box-shadow:0 0 0 5px #b4c0c6cc}.legacy-temperature-control.temperature-unavailable small{color:#b8c5cc;font-weight:750}.app-dialog-backdrop{z-index:100;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#02070bc7;place-items:center;padding:18px;animation:.18s both modal-fade-in;display:grid;position:fixed;inset:0}.app-dialog{border:1px solid var(--border);background:var(--surface);width:min(440px,100%);color:var(--text);border-radius:24px;grid-template-columns:54px minmax(0,1fr);gap:17px;padding:25px;animation:.2s both modal-rise-in;display:grid;box-shadow:0 28px 90px #0009}.app-dialog h2{margin:1px 0 8px;font-size:1.28rem}.app-dialog p.muted{margin:0;line-height:1.55}.app-dialog .eyebrow:empty{display:none}.app-dialog-icon{color:#ff867d;background:#ff766c1f;border-radius:17px;place-items:center;width:52px;height:52px;font-size:1.65rem;font-weight:900;display:grid}.app-dialog-icon.neutral{color:var(--accent);background:#31d6e81c}.app-dialog-input{color:var(--muted);gap:6px;margin-top:15px;font-size:.78rem;display:grid}.app-dialog-input input{border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text);border-radius:11px;padding:11px 12px}.app-dialog-acknowledgement{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;grid-template-columns:20px minmax(0,1fr);align-items:flex-start;margin-top:16px;padding:12px;line-height:1.45;color:var(--text)!important;gap:10px!important;display:flex!important}.app-dialog-acknowledgement input{width:18px;height:18px;accent-color:var(--accent);margin:1px 0 0}.app-dialog-error{color:var(--text);background:#c94d4d17;border:1px solid #c94d4d66;border-radius:10px;margin:12px 0 0;padding:10px 12px;font-size:.86rem;line-height:1.45}.app-dialog-pending{color:var(--muted);margin:12px 0 0;font-size:.84rem}.firmware-channel-control{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;grid-template-columns:minmax(0,1fr) minmax(130px,180px);align-items:center;gap:6px 12px;margin:12px 0;padding:12px;display:grid}.firmware-channel-control>span{color:var(--text);font-weight:800}.firmware-channel-control select{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:10px;padding:9px 10px}.firmware-channel-control small{color:var(--muted);grid-column:1/-1;line-height:1.45}@media (width<=560px){.firmware-channel-control{grid-template-columns:1fr}.firmware-channel-control small{grid-column:auto}}.app-dialog-actions{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:10px;margin-top:5px;display:grid}.app-dialog-actions button{min-height:46px}.danger-button{color:#fff;cursor:pointer;background:#b54848;border:0;border-radius:12px;padding:12px 15px;font-weight:800}.danger-button:hover:not(:disabled){background:#c85858}.danger-button:disabled,.primary-button:disabled,.secondary-button:disabled{opacity:.46;cursor:not-allowed}.portal-settings{min-width:0}.settings-layout{grid-template-columns:230px minmax(0,1fr);gap:18px;display:grid}.settings-sidebar{border:1px solid var(--border);background:var(--surface);border-radius:18px;align-self:start;gap:13px;padding:14px;display:grid;position:sticky;top:76px}.settings-nav-group{border-top:1px solid var(--border);gap:3px;padding-top:11px;display:grid}.settings-nav-group>p{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 8px 4px;font-size:.62rem;font-weight:900}.settings-link{text-align:left;width:100%;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:11px;padding:9px 10px;font-size:.74rem;font-weight:750}.settings-link:hover{background:color-mix(in srgb,var(--surface-2) 70%,transparent);color:var(--text)}.settings-link.active{background:var(--surface-2);color:var(--text)}.settings-overview-link{color:var(--text);font-size:.8rem}.settings-content,.settings-panel{min-width:0}.settings-panel{gap:13px;animation:.18s ease-out view-in;display:grid}.settings-heading{padding:3px 2px}.settings-heading h2{letter-spacing:-.035em;margin:0;font-size:1.75rem}.settings-breadcrumb{min-width:0;color:var(--muted);align-items:center;gap:7px;margin:0 2px 12px;font-size:.67rem;display:flex}.settings-breadcrumb button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:4px 0;font-weight:800}.settings-breadcrumb span,.settings-breadcrumb strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.settings-breadcrumb strong{color:var(--text)}.settings-overview{gap:16px;animation:.18s ease-out view-in;display:grid}.settings-search{color:var(--muted);gap:7px;font-size:.7rem;font-weight:800;display:grid}.settings-search input{border:1px solid var(--border);background:var(--surface);width:100%;min-height:44px;color:var(--text);font:inherit;border-radius:12px;padding:10px 13px}.settings-search input:focus{outline:3px solid color-mix(in srgb,var(--accent) 22%,transparent);border-color:var(--accent)}.settings-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.settings-category-card{border:1px solid var(--border);background:var(--surface);min-width:0;color:var(--text);border-radius:19px;align-content:start;padding:17px;display:grid}.settings-category-heading h3{margin:0;font-size:1rem}.settings-category-heading p{min-height:3em;color:var(--muted);margin:5px 0 13px;font-size:.7rem;line-height:1.5}.settings-category-links{border-top:1px solid var(--border);display:grid}.settings-category-links button{border:0;border-bottom:1px solid var(--border);width:100%;min-height:42px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:10px;padding:9px 2px;font-size:.74rem;font-weight:750;display:flex}.settings-category-links button:last-child{border-bottom:0}.settings-category-links button:hover{color:var(--accent)}.settings-category-links i{color:var(--muted);font-size:1.2rem;font-style:normal}.settings-search-empty{border:1px dashed var(--border);color:var(--muted);text-align:center;border-radius:17px;margin:0;padding:28px}.settings-attention-list{gap:8px;display:grid}.settings-attention-list>button{border:1px solid color-mix(in srgb,#c78a19 50%,var(--border));background:color-mix(in srgb,#c78a19 9%,var(--surface));width:100%;color:var(--text);text-align:left;cursor:pointer;border-radius:13px;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 13px;display:grid}.settings-attention-list>button>span:first-child{color:#a66d08;background:#c78a1926;border-radius:50%;place-items:center;width:27px;height:27px;font-weight:950;display:grid}.settings-attention-list>button>span:nth-child(2){gap:2px;display:grid}.settings-attention-list strong{font-size:.75rem}.settings-attention-list small{color:var(--muted);font-size:.64rem}.settings-attention-list i{color:var(--muted);font-size:1.2rem;font-style:normal}.settings-surface{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:20px;padding:20px}.settings-card-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:15px;display:flex}.settings-card-heading h3{margin:0}.settings-card-heading p{margin:5px 0 0;font-size:.82rem}.pet-climate-room-card{gap:16px;display:grid}.pet-climate-room-card>.settings-card-heading{margin-bottom:0}.pet-climate-editor{border-top:1px solid var(--border);gap:15px;padding-top:16px;display:grid}.pet-climate-editor-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.pet-climate-editor-heading h4{margin:0;font-size:1rem}.pet-climate-editor-heading p{margin:4px 0 0;font-size:.7rem;line-height:1.45}.pet-climate-state{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);border-radius:999px;flex:none;padding:6px 9px;font-size:.65rem;font-weight:850}.pet-climate-state.state-monitoring,.pet-climate-state.state-correcting{color:#237d57;background:#2e9d6c12;border-color:#2e9d6c66}.pet-climate-state.state-alerting{color:#a55a19;background:#cf7f3714;border-color:#cf7f3766}.pet-climate-reading{border:1px solid color-mix(in srgb,var(--accent) 38%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--surface-2));border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.pet-climate-reading span{color:var(--muted);font-size:.72rem;font-weight:750}.pet-climate-reading strong{font-size:1.15rem}.pet-climate-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.pet-climate-fields label{min-width:0;color:var(--muted);gap:6px;font-size:.7rem;font-weight:750;display:grid}.pet-climate-fields input,.pet-climate-fields select{border:1px solid var(--border);background:var(--surface-2);width:100%;min-width:0;color:var(--text);font:inherit;border-radius:11px;padding:11px;font-weight:750}.pet-climate-field-wide{grid-column:1/-1}.pet-climate-range-summary{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 12px;padding:12px 14px;display:grid}.pet-climate-range-summary span{color:var(--muted);font-size:.68rem;font-weight:750}.pet-climate-range-summary strong{white-space:nowrap;font-size:.82rem}.pet-climate-range-summary i{color:var(--accent);padding:0 4px;font-style:normal}.pet-climate-range-summary small{color:#b35343;grid-column:1/-1;line-height:1.4}.pet-climate-range-summary.invalid{background:color-mix(in srgb,#c35d4f 8%,var(--surface));border-color:#c35d4f80}.pet-climate-intervention{border:1px solid var(--border);background:var(--surface-2);border-radius:16px;gap:10px;padding:14px;display:grid}.pet-climate-intervention .toggle-row{margin:0}.pet-climate-master-toggle{border-bottom:1px solid var(--border);padding-bottom:12px}.pet-climate-master-toggle>span,.pet-climate-actions .toggle-row>span{gap:3px;display:grid}.pet-climate-master-toggle strong,.pet-climate-actions strong,.pet-climate-action-row strong{font-size:.76rem}.pet-climate-master-toggle small,.pet-climate-actions small,.pet-climate-action-row small{color:var(--muted);font-size:.64rem;font-weight:550;line-height:1.4}.pet-climate-action-row{border:1px solid var(--border);background:var(--surface);opacity:.64;border-radius:12px;align-items:center;gap:10px;padding:10px 11px;display:flex}.pet-climate-action-row.active,.pet-climate-action-row.heating{opacity:1}.pet-climate-action-row>span:nth-child(2),.pet-climate-action-row.heating>span:first-child>span:last-child{gap:2px;display:grid}.pet-climate-action-row.heating{justify-content:space-between}.pet-climate-action-row.heating>span:first-child{align-items:center;gap:10px;display:flex}.pet-climate-action-mark{background:#2e9ec3;border-radius:50%;flex:none;width:11px;height:11px;display:block;box-shadow:0 0 0 5px #2e9ec31b}.pet-climate-action-mark.heating{background:#d47a43;box-shadow:0 0 0 5px #d47a431b}.pet-climate-inline-hint{color:var(--muted);margin:0;font-size:.65rem;line-height:1.45}.pet-climate-actions{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding-top:2px;display:grid}.pet-climate-actions .primary-button{min-width:145px}.pet-climate-actions .toggle-row{margin:0}.compact-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin:12px 0 16px;display:grid}.compact-form label,.stack-form label,.settings-field-grid label,.preferences-grid label,.app-dialog label{color:var(--muted);gap:6px;font-size:.78rem;font-weight:700;display:grid}.compact-form input,.compact-form select,.stack-form input,.stack-form select,.settings-field-grid input,.settings-field-grid select,.preferences-grid select,.member-heading select,.room-settings-row input{border:1px solid var(--border);background:var(--surface-2);width:100%;min-width:0;color:var(--text);border-radius:10px;padding:10px 11px}.compact-form button{min-height:42px}.divided-form{border-top:1px solid var(--border);margin-top:18px;padding-top:18px}.stack-form{gap:14px;display:grid}.stack-form small{font-weight:500}.stack-form>.primary-button{justify-self:start;min-width:130px}.settings-list{gap:9px;display:grid}.settings-row{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.settings-row>span,.device-settings-heading>span,.member-heading>span{min-width:0}.settings-row strong,.settings-row small,.device-settings-heading strong,.device-settings-heading small,.member-heading strong,.member-heading small{display:block}.settings-row small,.device-settings-heading small,.member-heading small{color:var(--muted);margin-top:3px;font-size:.7rem}.room-settings-row{grid-template-columns:minmax(130px,1fr) auto;align-items:center;display:grid}.room-settings-row .row-actions{grid-column:1/-1}.row-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.tiny-button{border-radius:9px;min-height:34px;padding:7px 10px;font-size:.72rem}.count-pill{flex:none}.device-settings-list{gap:12px;display:grid}.device-settings-card{border:1px solid var(--border);background:var(--surface-2);border-radius:16px;padding:15px}.device-settings-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.offline-dot{box-shadow:none!important;background:#78858e!important}.device-settings-card dl{grid-template-columns:auto 1fr;gap:6px 14px;margin:14px 0;display:grid}.device-settings-card dt{color:var(--muted)}.device-settings-card dd{text-align:right;margin:0}.device-settings-card>p{margin-bottom:0;font-size:.78rem}.device-decommission-status{border:1px solid color-mix(in srgb,#d99729 62%,var(--border));background:color-mix(in srgb,#d99729 12%,var(--surface-2));color:var(--text);border-radius:13px;gap:4px;margin-top:12px;padding:12px 14px;display:grid}.device-decommission-status span{color:var(--muted);font-size:.76rem;line-height:1.45}.settings-field-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.settings-field-grid .wide{grid-column:1/-1}.device-settings-card .row-actions button{flex:1}.device-network-diagnostics{border:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 72%,var(--accent) 4%);border-radius:14px;margin-top:14px;padding:13px}.device-diagnostics-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.device-diagnostics-heading strong{font-size:.9rem}.device-diagnostics-heading small{max-width:30rem;color:var(--muted);text-align:right;font-size:.68rem;line-height:1.4}.device-network-diagnostics dl{border-top:1px solid var(--border);margin:11px 0 0;padding-top:10px}.device-network-diagnostics dd{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.result-code{border:1px dashed var(--border);background:var(--surface-2);min-height:52px;color:var(--text);white-space:pre-wrap;border-radius:12px;margin:14px 0 0;padding:12px;font:700 .78rem/1.45 ui-monospace,SFMono-Regular,Consolas,monospace}.home-choice-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:17px;display:grid}.home-choice{border:1px solid var(--border);background:var(--surface-2);color:var(--text);text-align:left;cursor:pointer;border-radius:12px;justify-content:space-between;gap:8px;padding:11px;display:flex}.home-choice small{color:var(--muted)}.home-choice.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.location-results{gap:5px;display:grid}.location-results button{border:1px solid var(--border);background:var(--surface-2);color:var(--text);text-align:left;border-radius:10px;justify-content:space-between;gap:10px;padding:10px;display:flex}.selected-location-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.danger-zone{border-top:1px solid #ff867d52;margin-top:20px;padding-top:17px}.danger-zone h3{color:var(--danger);margin:0}.danger-zone p{font-size:.8rem}.role-guide{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:15px;display:grid}.role-guide div{background:var(--surface-2);border-radius:12px;gap:4px;padding:10px;display:grid}.role-guide span{color:var(--muted);font-size:.7rem;line-height:1.35}.member-list{gap:10px;display:grid}.member-card{border:1px solid var(--border);background:var(--surface-2);border-radius:15px;padding:14px;transition:border-color .18s,box-shadow .18s}.member-card.is-saving{border-color:color-mix(in srgb,var(--accent) 52%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)}.member-heading{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.member-heading select{width:auto;max-width:145px}.room-checks{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.room-checks label{border:1px solid var(--border);border-radius:999px;align-items:center;gap:5px;padding:6px 8px;font-size:.7rem;display:flex}.invite-form{border-top:1px solid var(--border);grid-template-columns:minmax(0,1.2fr) minmax(130px,.8fr) auto;margin-top:18px;padding-top:18px}.preferences-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.preferences-grid p{grid-column:1/-1;margin:0}.preferences-grid label small{color:var(--muted);font-size:.66rem;font-weight:550;line-height:1.45}@media (width<=820px){.settings-layout{grid-template-columns:1fr}.settings-sidebar{display:none}.settings-category-heading p{min-height:0}.settings-breadcrumb{margin-bottom:10px}.settings-breadcrumb button:before{content:"‹ ";font-size:1rem}}@media (width<=560px){.portal-ready .site-header{height:52px;padding:8px 16px}.portal-ready .logo img{width:128px;max-height:38px}.portal-ready main{width:calc(100% - 26px)}.portal-ready .app-shell{padding:14px 0 calc(96px + env(safe-area-inset-bottom));gap:18px}.portal-ready .app-header{flex-direction:row;align-items:flex-start}.portal-ready .app-header h1{margin-top:7px;font-size:1.45rem}.compact-home-picker{margin-top:9px}.compact-home-picker select{min-width:160px}.app-header-status{padding-top:3px}.app-header-status .realtime{background:0 0;justify-content:center;width:23px;height:31px;min-height:31px;padding:0}.app-header-status .realtime:not(.connected){width:auto;padding:0 7px}.app-header-status .realtime.connected{font-size:0}.refresh-button{width:39px;height:39px;padding:0}.app-dialog-backdrop{padding:14px}.app-dialog{border-radius:22px;grid-template-columns:46px minmax(0,1fr);gap:14px;padding:21px}.app-dialog-icon{border-radius:15px;width:46px;height:46px}.app-dialog-actions,.settings-category-grid{grid-template-columns:1fr}.settings-category-card,.settings-surface{padding:16px}.settings-heading h2{font-size:1.55rem}.compact-form,.invite-form{grid-template-columns:1fr}.compact-form button{width:100%}.settings-field-grid,.preferences-grid,.role-guide,.home-choice-list{grid-template-columns:1fr}.preferences-grid p{grid-column:1}.settings-row{flex-direction:column;align-items:stretch}.room-settings-row{display:flex}.room-settings-row .row-actions{width:100%}.selected-location-row,.member-heading{flex-direction:column;align-items:stretch}.member-heading select{width:100%;max-width:none}.row-actions button{flex:1}.portal-settings{margin-top:-2px}.pet-climate-editor-heading{display:grid}.pet-climate-state{justify-self:start}.pet-climate-fields{grid-template-columns:1fr}.pet-climate-field-wide{grid-column:auto}.pet-climate-range-summary{grid-template-columns:1fr}.pet-climate-range-summary strong{white-space:normal}.pet-climate-actions{grid-template-columns:1fr}.pet-climate-actions .primary-button{width:100%}}@media (prefers-reduced-motion:reduce){.app-dialog-backdrop,.app-dialog,.settings-panel{animation:none}}@media (width<=560px){.app-header-status{padding-top:0}}.account-card{max-width:620px}.verification-state{border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:.78rem;font-weight:800;display:inline-flex}.verification-state:before{content:"";border-radius:50%;width:8px;height:8px}.verification-state.verified{color:#2a9d57;background:#5dea8320}.verification-state.verified:before{background:#42cd72}.verification-state.pending{color:#be7914;background:#efb64b24}.verification-state.pending:before{background:#eaa934}.verification-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin-top:18px;display:grid}.verification-form label{margin:0}.verification-form input{border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text);letter-spacing:.16em;border-radius:11px;padding:12px 13px;font-size:1.05rem;font-weight:800}.verification-form button{min-height:46px}.verification-resend{margin-top:10px}.account-message{color:var(--accent);margin:15px 0 0;font-size:.82rem}@media (width<=560px){.verification-form{grid-template-columns:1fr}.verification-form button,.verification-resend{width:100%}}.location-search-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.location-search-row button{min-width:88px}.location-attribution{color:var(--muted);font-size:.66rem}.location-empty{margin:0;font-size:.76rem}.room-name-line{align-items:center;gap:10px;min-width:0;display:flex}.room-name-line label{flex:1}.pet-mode-active{background:linear-gradient(135deg,color-mix(in srgb,var(--surface-2) 88%,#35b97b 12%),var(--surface-2));border-color:#2b9d6e80;box-shadow:inset 4px 0 #2ca873}.pet-mode-badge{color:#176247;white-space:nowrap;background:#daf3e6;border-radius:999px;align-items:center;gap:4px;padding:6px 9px;font-size:.67rem;font-weight:900;display:inline-flex}.pet-mode-toggle.active{color:#fff;background:#176c4a;border-color:#227f59;box-shadow:0 0 0 1px #176c4a}.device-settings-card.focused-device{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent);animation:.9s both focused-device-pulse}@keyframes focused-device-pulse{0%{transform:scale(.985)}55%{transform:scale(1.006)}to{transform:none}}:root[data-theme=light] .primary-button{color:#fff;background:#087985}:root[data-theme=light] .settings-link.active{color:#153542;background:#dbe8ed}:root[data-theme=light] .home-choice.active{color:#14212b;background:#eef8fa}:root[data-theme=light] .verification-state.verified{color:#176540;background:#d9f2e2}:root[data-theme=light] .verification-state.pending{color:#744c00;background:#ffedc4}@media (prefers-color-scheme:light){:root[data-theme=system] .primary-button{color:#fff;background:#087985}:root[data-theme=system] .settings-link.active{color:#153542;background:#dbe8ed}:root[data-theme=system] .home-choice.active{color:#14212b;background:#eef8fa}:root[data-theme=system] .verification-state.verified{color:#176540;background:#d9f2e2}:root[data-theme=system] .verification-state.pending{color:#744c00;background:#ffedc4}}@media (width<=560px){.location-search-row{grid-template-columns:1fr}.location-search-row button{width:100%}.room-name-line{flex-direction:column;align-items:stretch}.pet-mode-badge{align-self:flex-start}}@media (prefers-reduced-motion:reduce){.device-settings-card.focused-device{animation:none}}.firmware-status{border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 72%,transparent);color:var(--text);border-radius:12px;gap:4px;margin-top:13px;padding:11px 12px;display:grid}.firmware-status-heading{align-items:center;gap:7px;display:flex}.firmware-status-heading>span{background:color-mix(in srgb,var(--accent) 18%,transparent);width:20px;height:20px;color:var(--accent);border-radius:50%;place-items:center;font-weight:900;display:grid}.firmware-status strong{font-size:.78rem}.firmware-status small{color:var(--muted);font-size:.72rem}.firmware-status p{color:var(--muted);margin:3px 0 0;font-size:.72rem;line-height:1.45}.firmware-install-button{justify-self:start;margin-top:4px}.firmware-status.state-latest strong{color:#55de8a}.firmware-status.state-update_available strong,.firmware-status.state-updating strong{color:#f4b66d}.firmware-status.state-needs_attention strong{color:var(--danger)}.climate-tile .firmware-status.compact{color:#fff;background:#0002;border-color:#ffffff1f;align-items:center;gap:7px;margin-top:9px;padding:6px 8px;display:flex}.climate-tile .firmware-status.compact .firmware-status-heading{gap:5px;min-width:0}.climate-tile .firmware-status.compact .firmware-status-heading>span{color:#fff;background:#ffffff18;width:17px;height:17px}.climate-tile .firmware-status.compact strong{text-overflow:ellipsis;white-space:nowrap;color:#fff;font-size:.67rem;overflow:hidden}.climate-tile .firmware-status.compact small{color:#fffc;white-space:nowrap;margin-left:auto;font-size:.64rem}.climate-tile .firmware-status.compact .firmware-classification{color:#fff;font-weight:700}.schedule-page-heading{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.schedule-page-heading>div{min-width:0}.schedule-create-button{flex:none}.schedule-profile-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:13px;display:grid}.schedule-profile-card{align-content:start;gap:14px;display:grid}.schedule-profile-card.schedule-disabled{opacity:.76}.schedule-profile-card .settings-card-heading{margin-bottom:0}.schedule-toggle{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:.72rem;font-weight:850;display:inline-flex}.schedule-toggle span{background:#87949b;border-radius:50%;width:9px;height:9px}.schedule-toggle.active{color:#176540;background:#d9f2e2;border-color:#2b9d6e70}.schedule-toggle.active span{background:#39bf70;box-shadow:0 0 0 4px #39bf7020}.schedule-timeline{gap:12px;display:grid}.schedule-day-group{border:1px solid var(--border);background:var(--surface-2);border-radius:15px;gap:7px;padding:12px;display:grid}.schedule-day-group-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.schedule-day-group-heading strong{font-size:.82rem}.schedule-day-group-heading small{color:var(--muted);font-size:.66rem}.schedule-timeline-track{height:28px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--border) 75%,transparent);background:#88949b35;border-radius:7px;position:relative;overflow:hidden}.schedule-timeline-segment{color:#102f3a;white-space:nowrap;border-right:1px solid #ffffff9c;align-items:center;padding:0 7px;font-size:.63rem;font-weight:850;display:flex;position:absolute;inset:0 auto 0 0;overflow:hidden}.schedule-timeline-segment.mode-off,.schedule-time-block.mode-off{color:#fff;background:#8b969d}.schedule-timeline-segment.mode-cool,.schedule-time-block.mode-cool{background:#8dd5e3}.schedule-timeline-segment.mode-heat,.schedule-time-block.mode-heat{background:#efaa78}.schedule-timeline-segment.mode-dry,.schedule-time-block.mode-dry{background:#aaa6db}.schedule-timeline-segment.mode-fan,.schedule-time-block.mode-fan{background:#78c9b6}.schedule-timeline-segment.mode-auto,.schedule-time-block.mode-auto{background:#8bcd9a}.schedule-timeline-axis{color:var(--muted);justify-content:space-between;font-size:.58rem;display:flex}.schedule-time-blocks{gap:7px;margin-top:3px;display:grid}.schedule-time-block{color:#102f3a;background:var(--surface);border-radius:12px;min-height:54px;padding:10px 12px 10px 17px;position:relative}.schedule-time-block:before{content:"";opacity:.36;background:currentColor;border-radius:12px 0 0 12px;width:5px;position:absolute;inset:0 auto 0 0}.schedule-time-block>span{gap:3px;display:grid}.schedule-time-block strong{font-size:.76rem}.schedule-time-block small{font-size:.67rem;line-height:1.35}.schedule-timeline.compact .schedule-day-group{padding:10px}.schedule-timeline.compact .schedule-day-group:nth-child(n+3){display:none}.schedule-assignment-chips{flex-wrap:wrap;gap:6px;display:flex}.schedule-assignment-chips span{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);border-radius:999px;padding:6px 8px;font-size:.65rem}.schedule-assignment-chips span.active{color:#247b55;border-color:#2b9d6e55}.schedule-manage-button{width:100%}.schedule-empty-card{text-align:center;justify-items:center;gap:7px;display:grid}.schedule-empty-card>span{color:var(--accent);font-size:1.8rem}.schedule-empty-card p{max-width:440px;color:var(--muted);margin:0;font-size:.76rem}.schedule-permission-note p{margin-bottom:0}.schedule-sheet-backdrop{z-index:120;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#02070bc7;place-items:center;padding:18px;animation:.18s both modal-fade-in;display:grid;position:fixed;inset:0}.schedule-sheet{border:1px solid var(--border);background:var(--surface);width:min(680px,100%);max-height:calc(100dvh - 36px);color:var(--text);border-radius:25px;flex-direction:column;animation:.2s both modal-rise-in;display:flex;overflow:hidden;box-shadow:0 28px 90px #0009}.schedule-sheet>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:14px;padding:20px 21px 16px;display:flex}.schedule-sheet>header h2{margin:0;font-size:1.25rem}.schedule-sheet>header p{margin:5px 0 0;font-size:.72rem}.schedule-sheet-close{border:1px solid var(--border);background:var(--surface-2);width:38px;height:38px;color:var(--text);cursor:pointer;border-radius:50%;flex:none;place-items:center;padding:0;font-size:1.35rem;display:grid}.schedule-sheet-content{padding:17px 18px calc(18px + env(safe-area-inset-bottom));gap:12px;display:grid;overflow:auto}.schedule-sheet-section{border:1px solid var(--border);background:var(--surface-2);border-radius:17px;gap:13px;padding:15px;display:grid}.schedule-sheet-section .schedule-day-group{background:var(--surface)}.schedule-sheet-section>h3{margin:0;font-size:.92rem}.schedule-bindings{gap:9px;display:grid}.schedule-binding-form{grid-template-columns:minmax(110px,.65fr) minmax(150px,1fr) auto;margin-bottom:0}.schedule-danger-zone{background:color-mix(in srgb,var(--surface-2) 92%,#c45555 8%);border-color:#c4555548}.schedule-danger-zone p{margin:0}.schedule-editor{gap:12px}.schedule-rules{gap:12px;display:grid}.schedule-rule-editor{border:1px solid var(--border);background:var(--surface);border-radius:15px;min-width:0;margin:0;padding:14px}.schedule-rule-editor legend{color:var(--text);padding:0 6px;font-size:.78rem;font-weight:850}.schedule-days{flex-wrap:wrap;gap:5px;margin-bottom:12px;display:flex}.schedule-days label{display:block}.schedule-days input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;opacity:0;pointer-events:none;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.schedule-days span{border:1px solid var(--border);background:var(--surface-2);min-width:32px;height:30px;color:var(--muted);cursor:pointer;border-radius:999px;place-items:center;font-size:.68rem;display:grid}.schedule-days label.selected span{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,var(--surface));color:var(--text);font-weight:850}.schedule-rule-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.schedule-rule-grid label{color:var(--muted);gap:5px;font-size:.7rem;font-weight:750;display:grid}.schedule-rule-grid input,.schedule-rule-grid select{border:1px solid var(--border);background:var(--surface);width:100%;min-width:0;color:var(--text);border-radius:9px;padding:9px 10px}.schedule-target-field>span{align-items:center;gap:5px;display:flex}.schedule-target-field>span input{width:auto}.legacy-climate-modal{overflow:hidden auto}.device-automation-launcher{gap:7px;display:grid}.automation-launch-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.automation-launch-grid.single{grid-template-columns:1fr}.automation-launch-button{border:1px solid var(--ac-modal-border,#ffffff20);background:color-mix(in srgb,var(--ac-modal-surface,#ffffff12) 74%,transparent);min-width:0;min-height:60px;color:var(--ac-modal-text,#fff);text-align:left;cursor:pointer;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;display:grid}.automation-launch-button:hover{border-color:var(--accent);background:color-mix(in srgb,var(--ac-modal-surface,#ffffff12) 88%,transparent)}.automation-launch-button>span:nth-child(2){gap:3px;min-width:0;display:grid}.automation-launch-button strong{text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.automation-launch-button small{color:var(--ac-modal-muted,#a9bac3);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.61rem;line-height:1.25;display:-webkit-box;overflow:hidden}.automation-launch-button>i{color:var(--ac-modal-muted,#a9bac3);font-size:1.25rem;font-style:normal}.automation-launch-button.active{border-color:#4ac47c70}.automation-launch-button.paused,.automation-launch-button.running{border-color:#e3b34f88}.automation-icon{background:var(--ac-modal-surface,#ffffff12);width:30px;height:30px;color:var(--ac-modal-text,#fff);border-radius:10px;place-items:center;font-size:1rem;display:grid}.automation-detail-layer{z-index:15}.automation-detail-modal{border:1px solid var(--ac-modal-border,#38505f);background:var(--ac-modal-surface-strong,#101d26);width:min(100%,480px);color:var(--ac-modal-text,#fff);border-radius:23px;padding:18px;animation:.16s ease-out selector-rise;box-shadow:0 24px 70px #0009}.automation-detail-modal .selector-heading{align-items:flex-start}.automation-detail-modal .selector-heading>div{gap:4px;min-width:0;display:grid}.automation-detail-modal .selector-heading small{color:var(--ac-modal-muted,#a9bac3);font-size:.66rem;line-height:1.3}.automation-detail-body{gap:13px;display:grid}.device-schedule-state,.dry-out-control{border:1px solid var(--ac-modal-border,#ffffff18);background:color-mix(in srgb,var(--ac-modal-surface,#ffffff12) 72%,transparent);border-radius:14px;justify-content:space-between;align-items:flex-start;gap:10px;padding:12px;display:flex}.device-schedule-state>div:first-child,.dry-out-control>div:first-child{gap:3px;display:grid}.device-schedule-state strong,.dry-out-control strong{font-size:.78rem}.device-schedule-state small,.dry-out-control small{color:var(--ac-modal-muted,#a9bac3);font-size:.65rem;line-height:1.4}.device-schedule-state.active strong{color:var(--ac-status-green,#83f0a5)}.device-schedule-state.paused strong,.dry-out-control.active strong{color:var(--ac-status-yellow,#ffd978)}.automation-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.automation-controls.vertical-controls{grid-template-columns:1fr;align-items:stretch;display:grid}.automation-controls label{min-width:150px;color:var(--ac-modal-muted,#a9bac3);gap:6px;font-size:.65rem;display:grid}.automation-controls input[type=range]{accent-color:#168c9d;width:100%}.automation-detail-modal .primary-button,.automation-detail-modal .secondary-button{border-radius:10px;min-height:40px;padding:9px 11px;font-size:.7rem}.automation-wide-button{width:100%}.automation-empty-state{text-align:center;justify-items:center;gap:6px;padding:16px;display:grid}.automation-empty-state>span{color:var(--accent);font-size:1.7rem}.automation-empty-state p{max-width:330px;color:var(--ac-modal-muted,#a9bac3);margin:0;font-size:.68rem;line-height:1.45}.automation-readonly,.automation-error{margin:0;font-size:.65rem}.automation-error{color:var(--ac-status-red,#ffaaa3)}@media (width<=700px){.schedule-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-binding-form{grid-template-columns:1fr}.schedule-page-heading{flex-direction:column;align-items:stretch}.schedule-create-button{width:100%}.schedule-sheet-backdrop{place-items:end center;padding:0}.schedule-sheet{border-width:1px 0 0;border-radius:25px 25px 0 0;width:100%;max-height:94dvh}.device-schedule-state,.dry-out-control{flex-direction:column;align-items:stretch}.automation-controls{justify-content:stretch}.automation-controls label{flex:1;min-width:130px}}.automation-launch-button:disabled{opacity:.46;cursor:not-allowed;pointer-events:none}@media (width<=430px){.schedule-rule-grid{grid-template-columns:1fr}.schedule-days span{min-width:29px}.schedule-sheet>header{padding:17px 16px 14px}.schedule-sheet-content{padding:13px}.schedule-sheet-section{padding:12px}.automation-launch-button{min-height:58px;padding:8px}.automation-launch-button .automation-icon{width:27px;height:27px}.automation-detail-layer{place-items:end center;padding:12px}.automation-detail-modal{border-radius:22px 22px 13px 13px}.automation-controls{grid-template-columns:1fr;display:grid}.automation-controls label{min-width:0}}.schedule-inline-error{border:1px solid color-mix(in srgb,#c45555 65%,var(--border));background:color-mix(in srgb,#c45555 13%,var(--surface));color:var(--text);border-radius:12px;margin:0;padding:11px 13px;font-size:.74rem;line-height:1.45}.schedule-auto-apply-hint{color:var(--ac-modal-muted,#a9bac3);font-size:.62rem;line-height:1.4}.pet-climate-automation-note{border:1px solid color-mix(in srgb,var(--ac-status-green,#83f0a5) 45%,transparent);background:color-mix(in srgb,var(--ac-status-green,#83f0a5) 10%,transparent);color:var(--ac-modal-text,#fff);border-radius:11px;margin:0;padding:8px 10px;font-size:.64rem;line-height:1.45}.schedule-assignment-chips span.incompatible{background:color-mix(in srgb,#e5a33d 13%,var(--surface-2));color:color-mix(in srgb,#a96616 85%,var(--text));border-color:#c8842b80}.schedule-capability-hint{border:1px solid color-mix(in srgb,#e5a33d 45%,var(--border));background:color-mix(in srgb,#e5a33d 9%,var(--surface));color:var(--muted);border-radius:11px;margin:0;padding:10px 11px;font-size:.7rem;line-height:1.5}.schedule-compatibility-warning{font-weight:750;color:color-mix(in srgb,#d18424 82%,var(--text))!important;display:block!important}.automation-launch-button.unsupported{background:color-mix(in srgb,#e39a3f 10%,var(--ac-modal-surface,#ffffff12));border-color:#e39a3f99}.device-schedule-state.unsupported strong{color:var(--ac-status-yellow,#ffd978)}.member-room-purpose{color:var(--muted);margin:11px 0 0;font-size:.68rem;line-height:1.45}.future-presence-controls{opacity:.58;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:11px;display:grid}.future-presence-controls label{border:1px dashed var(--border);background:var(--surface);border-radius:11px;align-items:flex-start;gap:8px;padding:9px;display:flex}.future-presence-controls label>span{gap:3px;display:grid}.future-presence-controls strong{font-size:.68rem}.future-presence-controls small{color:var(--muted);font-size:.6rem;line-height:1.35}@media (width<=560px){.future-presence-controls{grid-template-columns:1fr}}.google-home-surface{gap:18px;min-width:0;display:grid}.google-home-status-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.google-home-status{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;gap:6px;min-width:0;padding:12px;display:grid}.google-home-status>span{color:var(--muted);font-size:.68rem;font-weight:700}.google-home-status>strong{min-width:0;color:var(--text);overflow-wrap:anywhere;align-items:center;gap:7px;font-size:.78rem;display:flex}.google-home-status i{background:#81909a;border-radius:50%;flex:none;width:8px;height:8px}.google-home-status.good i{background:#2ca46b;box-shadow:0 0 0 4px #2ca46b1c}.google-home-status.warn i{background:#c78a19;box-shadow:0 0 0 4px #c78a191c}.google-home-status.bad i{background:#c55555;box-shadow:0 0 0 4px #c555551c}.google-home-instructions,.google-home-household,.google-home-owner-note,.google-home-unavailable,.google-home-plan-note{border:1px solid var(--border);background:var(--surface-2);border-radius:15px;padding:15px}.google-home-instructions h3,.google-home-household strong,.google-home-unavailable strong,.google-home-plan-note strong{margin:0;font-size:.84rem}.google-home-instructions p,.google-home-household p,.google-home-owner-note p,.google-home-unavailable p,.google-home-plan-note p{color:var(--muted);margin:6px 0 0;font-size:.72rem;line-height:1.55}.google-home-plan-note{border-color:color-mix(in srgb,#c78a19 48%,var(--border));background:color-mix(in srgb,#c78a19 9%,var(--surface));justify-content:space-between;align-items:center;gap:14px;display:flex}.google-home-plan-note>div{min-width:0}.google-home-plan-note button{flex:none}.google-home-instructions ol{color:var(--text);gap:6px;margin:12px 0 0;padding-left:22px;font-size:.72rem;line-height:1.45;display:grid}.google-home-owner-note{grid-template-columns:38px minmax(0,1fr);align-items:start;gap:12px;display:grid}.google-home-owner-note>span{background:color-mix(in srgb,var(--accent) 15%,var(--surface));width:38px;height:38px;color:var(--accent);border-radius:12px;place-items:center;font-weight:900;display:grid}.google-home-owner-note strong{font-size:.84rem}.google-home-devices{border:0;min-width:0;margin:0;padding:0}.google-home-devices>legend{color:var(--text);padding:0;font-size:.9rem;font-weight:850}.google-home-devices>p{margin:6px 0 12px;font-size:.72rem;line-height:1.5}.google-home-device-list{gap:8px;display:grid}.google-home-device{border:1px solid var(--border);background:var(--surface-2);min-width:0;color:var(--text);cursor:pointer;border-radius:13px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;display:grid}.google-home-device:focus-within{outline:3px solid color-mix(in srgb,var(--accent) 28%,transparent);outline-offset:2px}.google-home-device.disabled{cursor:not-allowed;opacity:.68}.google-home-device input{width:18px;height:18px;accent-color:var(--accent);margin:0}.google-home-device-copy{gap:3px;min-width:0;display:grid}.google-home-device-copy strong{overflow-wrap:anywhere;font-size:.77rem}.google-home-device-copy small{color:var(--muted);font-size:.64rem;line-height:1.35}.google-home-device-copy .google-home-device-warning{color:#b96c19}.google-home-online{color:var(--muted);align-items:center;gap:5px;font-size:.62rem;font-weight:750;display:flex}.google-home-online:before{content:"";background:#8a969c;border-radius:50%;width:7px;height:7px}.google-home-online.online:before{background:#2ca46b}.google-home-actions{flex-wrap:wrap;gap:9px;display:flex}.google-home-actions button{min-height:42px}.google-home-disconnect{color:color-mix(in srgb,#c55555 78%,var(--text))}.google-home-feedback{min-height:1.2em;color:var(--muted);margin:-7px 0 0;font-size:.7rem}.google-home-loading,.google-home-error,.google-home-empty{color:var(--muted);margin:0;font-size:.74rem}.google-home-error{color:#c55555}.google-home-danger-zone{border:1px solid color-mix(in srgb,#c55555 40%,var(--border));background:color-mix(in srgb,#c55555 6%,var(--surface));border-radius:15px;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.google-home-danger-zone h3,.google-home-danger-zone p{margin:0}.google-home-danger-zone h3{font-size:.84rem}.google-home-danger-zone .muted{margin-top:5px;font-size:.7rem;line-height:1.5}.plan-billing-status-card{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;display:grid}.plan-billing-status-card h3,.plan-billing-payment-shell h3{margin:3px 0 0;font-size:1.15rem}.plan-billing-status-card p,.plan-billing-payment-shell p{margin:7px 0 0;font-size:.74rem;line-height:1.55}.plan-billing-badge{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);border-radius:999px;padding:7px 10px;font-size:.66rem;font-weight:850}.plan-billing-badge.active,.plan-billing-badge.development_access{color:#27865c;background:#2ca46b12;border-color:#2ca46b66}.plan-billing-badge.grace{color:#a66d08;background:#c78a1912;border-color:#c78a1966}.plan-billing-dates{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:3px 0 0;display:grid}.plan-billing-dates>div{background:var(--surface-2);border-radius:12px;gap:4px;padding:10px 12px;display:grid}.plan-billing-dates dt{color:var(--muted);font-size:.64rem}.plan-billing-dates dd{margin:0;font-size:.76rem;font-weight:800}.plan-feature-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.plan-feature-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:11px 1px;font-size:.74rem;display:flex}.plan-feature-list li:last-child{border-bottom:0}.plan-feature-list strong{font-size:.65rem}.plan-feature-list strong.included{color:#27865c}.plan-feature-list strong.not_included{color:var(--muted)}.plan-feature-list strong.planned{color:#a66d08}.plan-billing-boundary{margin:14px 0 0;font-size:.68rem;line-height:1.55}.plan-billing-payment-shell{justify-content:space-between;align-items:center;gap:18px;display:flex}.plan-billing-payment-shell>div{min-width:0}.plan-billing-payment-shell button{flex:none}.plan-billing-payment-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.plan-billing-payment-actions button{min-height:40px}.plan-billing-payment-feedback{color:#c55555}.plan-billing-owner-note{margin:0;padding:0 2px;font-size:.7rem}.plan-billing-renewal-note{border:1px solid color-mix(in srgb,#c78a19 48%,var(--border));background:color-mix(in srgb,#c78a19 9%,var(--surface));color:var(--text);border-radius:12px;grid-column:1/-1;padding:10px 12px}.plan-billing-activation{gap:14px;display:grid}.plan-billing-activation h3{margin:3px 0 0;font-size:1.02rem}.plan-billing-activation>div>p{margin:7px 0 0;font-size:.74rem;line-height:1.55}.plan-billing-activation form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.plan-billing-activation label{min-width:0;color:var(--muted);gap:6px;font-size:.68rem;font-weight:750;display:grid}.plan-billing-activation input{border:1px solid var(--border);background:var(--surface-2);width:100%;min-width:0;color:var(--text);font:inherit;letter-spacing:.055em;text-transform:uppercase;border-radius:11px;padding:10px 12px}.plan-billing-activation button{min-height:40px}.plan-billing-activation-feedback{grid-column:1/-1;margin:0;font-size:.7rem;line-height:1.45}.plan-billing-activation-feedback.success{color:#27865c}.plan-billing-activation-feedback.error{color:#c55555}.plan-billing-activation-owner-note{margin:0;font-size:.72rem;line-height:1.5}:root[data-theme=light] .google-home-device-copy .google-home-device-warning{color:#8b4e00}:root[data-theme=light] .google-home-disconnect{color:#8f3333}@media (prefers-color-scheme:light){:root[data-theme=system] .google-home-device-copy .google-home-device-warning{color:#8b4e00}:root[data-theme=system] .google-home-disconnect{color:#8f3333}}@media (width<=960px){.google-home-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.google-home-plan-note,.google-home-danger-zone,.plan-billing-payment-shell{flex-direction:column;align-items:stretch}.google-home-plan-note button,.google-home-danger-zone button,.plan-billing-payment-shell button{width:100%}.plan-billing-payment-actions{width:100%;display:grid}.plan-billing-status-card{grid-template-columns:1fr}.plan-billing-badge{justify-self:start}.plan-billing-dates{grid-template-columns:1fr}}@media (width<=430px){.google-home-status-grid{grid-template-columns:1fr}.google-home-device{grid-template-columns:auto minmax(0,1fr)}.google-home-online{grid-column:2}.google-home-actions{grid-template-columns:1fr;display:grid}.google-home-actions button{width:100%}.google-home-surface{gap:14px}}.schedule-profile-card.schedule-plan-paused{background:color-mix(in srgb,var(--surface) 88%,#e7aa3a 12%);border-color:#c8913870}.schedule-toggle.paused{color:#7d5414;background:#f6e7c6;border-color:#c8913880}.schedule-toggle.paused span{background:#d39a35;box-shadow:0 0 0 4px #d39a3520}.schedule-toggle.attention{color:#7d5414;background:#f6e7c6;border-color:#c8913880}.schedule-toggle.attention span{background:#d39a35;box-shadow:0 0 0 4px #d39a3520}.schedule-profile-card.schedule-needs-attention{background:color-mix(in srgb,var(--surface) 92%,#e7aa3a 8%);border-color:#c8913870}.schedule-plan-note{background:color-mix(in srgb,var(--surface) 90%,#e7aa3a 10%);border-color:#c8913860;justify-content:space-between;align-items:center;gap:16px;display:flex}.schedule-plan-note p{margin:4px 0 0}@media (prefers-reduced-motion:reduce){.schedule-toggle,.schedule-sheet-backdrop,.schedule-sheet,.automation-detail-modal{animation:none}}@media (width<=560px){.plan-billing-activation form{grid-template-columns:1fr}.plan-billing-activation button{width:100%}}.toggle-row{min-width:0;color:var(--text);justify-content:space-between;align-items:center;gap:14px;display:flex}.toggle-row>span{min-width:0}.toggle-row>input[type=checkbox]{min-width:18px;accent-color:var(--accent);flex:none;margin:0;padding:0;display:block;width:18px!important;height:18px!important}.personal-notice-toggle{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;margin:0;padding:13px 14px}.personal-notice-toggle>span{gap:3px;display:grid}.personal-notice-toggle strong{font-size:.76rem}.personal-notice-toggle small{color:var(--muted);font-size:.64rem;line-height:1.4}.pet-climate-action-row>input{margin-left:auto}.compact-action-button{min-width:126px;padding:9px 12px}.automation-empty-result{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;gap:4px;margin-top:14px;padding:14px;display:grid}.automation-empty-result strong{font-size:.76rem}.automation-empty-result span{color:var(--muted);font-size:.67rem;line-height:1.45}.remote-wifi-job-history{gap:10px;margin-top:14px;display:grid}.remote-wifi-job{border:1px solid var(--border);background:var(--surface-2);border-radius:15px;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;padding:14px;display:grid}.remote-wifi-job.success{background:color-mix(in srgb,#2ca46b 8%,var(--surface-2));border-color:#2ca46b66}.remote-wifi-job.failure{background:color-mix(in srgb,#c55555 8%,var(--surface-2));border-color:#c5555566}.remote-wifi-job.warning{background:color-mix(in srgb,#c78a19 8%,var(--surface-2));border-color:#c78a1966}.remote-wifi-job.active{border-color:color-mix(in srgb,var(--accent) 48%,var(--border))}.remote-wifi-job-heading{gap:3px;min-width:0;display:grid}.remote-wifi-job-heading>span{color:var(--muted);font-size:.64rem;font-weight:750}.remote-wifi-job-heading>strong{font-size:.82rem}.remote-wifi-job-heading>time{color:var(--muted);font-size:.62rem}.remote-wifi-job>p{color:var(--muted);grid-column:1/-1;margin:0;font-size:.7rem;line-height:1.5}.remote-wifi-job>button{grid-area:1/2;align-self:center}.remote-wifi-job-history>details{border:1px solid var(--border);background:var(--surface);border-radius:13px}.remote-wifi-job-history>details>summary{color:var(--muted);cursor:pointer;padding:11px 13px;font-size:.7rem;font-weight:800}.remote-wifi-job-older{gap:8px;padding:0 9px 9px;display:grid}.remote-wifi-job-older .remote-wifi-job{padding:11px 12px}.web-remote-wifi-form{border:1px solid color-mix(in srgb,var(--accent) 32%,var(--border));background:color-mix(in srgb,var(--accent) 5%,var(--surface-2));border-radius:18px;gap:15px;margin-top:18px;padding:18px;display:grid}.web-remote-wifi-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.web-remote-wifi-heading strong{font-size:.9rem}.web-remote-wifi-heading p{color:var(--muted);margin:5px 0 0;font-size:.68rem;line-height:1.5}.web-remote-wifi-heading>span{background:color-mix(in srgb,#2ca46b 14%,var(--surface));color:#208754;border-radius:999px;flex:none;padding:6px 9px;font-size:.62rem;font-weight:800}.web-remote-wifi-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.web-remote-wifi-fields label,.web-remote-wifi-static label{color:var(--muted);gap:6px;font-size:.65rem;font-weight:750;display:grid}.web-remote-wifi-fields input,.web-remote-wifi-fields select,.web-remote-wifi-static input{width:100%;min-width:0}.web-remote-wifi-static{grid-column:1/-1;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.web-remote-wifi-privacy{border-left:3px solid var(--accent);background:var(--surface);color:var(--muted);border-radius:0 10px 10px 0;margin:0;padding:11px 13px;font-size:.65rem;line-height:1.55}.web-remote-wifi-progress{border:1px solid var(--border);background:var(--surface);border-radius:13px;gap:8px;padding:12px;display:grid}.web-remote-wifi-progress>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.web-remote-wifi-progress strong{font-size:.72rem}.web-remote-wifi-progress span,.web-remote-wifi-progress small{color:var(--muted);font-size:.62rem}.web-remote-wifi-progress progress{width:100%;height:7px;accent-color:var(--accent);border:0;border-radius:999px;overflow:hidden}.web-remote-wifi-warning,.web-remote-wifi-error{border-radius:12px;margin:0;padding:11px 13px;font-size:.68rem;line-height:1.5}.web-remote-wifi-warning{background:color-mix(in srgb,#c78a19 9%,var(--surface));color:#93630c;border:1px solid #c78a1966}.web-remote-wifi-error{background:color-mix(in srgb,#c55555 9%,var(--surface));color:#a83b3b;border:1px solid #c5555566}.web-remote-wifi-form>.primary-button{justify-self:end;min-width:220px}@media (width<=560px){.pet-climate-fields{grid-template-columns:1fr}.pet-climate-field-wide{grid-column:auto}.pet-climate-range-summary{grid-template-columns:1fr}.pet-climate-range-summary strong{white-space:normal}.pet-climate-actions{grid-template-columns:1fr}.pet-climate-actions .primary-button{width:100%}.remote-wifi-job{grid-template-columns:1fr}.remote-wifi-job>button{grid-area:auto/1;width:100%}}@media (width<=840px){.web-remote-wifi-fields{grid-template-columns:1fr}.web-remote-wifi-static{grid-template-columns:repeat(2,minmax(0,1fr))}.web-remote-wifi-form>.primary-button{justify-self:stretch;width:100%}}@media (width<=560px){.web-remote-wifi-form{padding:15px}.web-remote-wifi-heading{display:grid}.web-remote-wifi-heading>span{justify-self:start}.web-remote-wifi-static{grid-template-columns:1fr}}.future-presence-controls{opacity:1;gap:7px;margin-top:11px;display:grid}.presence-rules-link{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:13px;justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;text-decoration:none;display:flex}.presence-rules-link:hover{border-color:var(--accent);background:var(--surface-2)}.presence-rules-link>span{gap:3px;display:grid}.presence-rules-link strong{font-size:.7rem}.presence-rules-link small{color:var(--muted);font-size:.62rem;line-height:1.4}.presence-rules-link i{color:var(--accent);font-size:1.4rem;font-style:normal}:root{--notice-bg:#302119;--notice-border:#875f3b;--notice-text:#ffd7ba;--loading-bg:radial-gradient(circle at 50% 32%, #123342 0, #020406 46%);--loading-text:#91a5ae}html{background:var(--bg);min-height:100%}body.auth-ready{background:var(--bg);min-height:100dvh}.auth-ready #root{background:var(--bg);flex-direction:column;min-height:100dvh;display:flex}.auth-ready .site-header{flex:none}.auth-ready main{padding:28px 0 max(28px, env(safe-area-inset-bottom));flex:1;align-items:center;display:grid}.auth-ready .auth-card{width:100%;margin:0 auto}:root[data-theme=light]{--notice-bg:#fff3e7;--notice-border:#d29a61;--notice-text:#6d381a;--loading-bg:radial-gradient(circle at 50% 32%, #d8f1f4 0, #f3f7f8 48%);--loading-text:#536b75}@media (prefers-color-scheme:light){:root[data-theme=system]{--notice-bg:#fff3e7;--notice-border:#d29a61;--notice-text:#6d381a;--loading-bg:radial-gradient(circle at 50% 32%, #d8f1f4 0, #f3f7f8 48%);--loading-text:#536b75}}.notice{border-color:var(--notice-border);background:var(--notice-bg);color:var(--notice-text);box-shadow:0 8px 24px color-mix(in srgb, var(--notice-border) 14%, transparent);animation:.22s ease-out both notice-in}.app-loading-screen{background:var(--loading-bg);color:var(--loading-text)}.app-loading-screen p{color:var(--loading-text)}.loading-logo{place-items:center;min-height:82px;display:grid}.loading-logo img{grid-area:1/1}.loading-logo-light,:root[data-theme=light] .loading-logo-dark{display:none}:root[data-theme=light] .loading-logo-light{display:block}@media (prefers-color-scheme:light){:root[data-theme=system] .loading-logo-dark{display:none}:root[data-theme=system] .loading-logo-light{display:block}}.route-stage,.settings-section-stage,.more-page{min-width:0;animation:.32s cubic-bezier(.22,.7,.2,1) both route-stage-in}.account-settings-panel{max-width:820px}.account-settings-panel>.settings-surface{margin:0}.account-form .primary-button,.account-form .secondary-button{justify-self:start}.account-subsection{border-top:1px solid var(--border);margin-top:20px;padding-top:18px}.account-subsection h4{margin:0}.account-subsection>p{margin:5px 0 14px;font-size:.78rem}.email-change-confirm{margin-top:14px}.verification-block{margin-bottom:12px}.identity-list{gap:10px;display:grid}.identity-card{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;grid-template-columns:42px minmax(0,1fr) minmax(240px,360px);align-items:center;gap:12px;padding:13px;display:grid}.identity-card.linked{border-color:color-mix(in srgb, #42cd72 55%, var(--border))}.identity-card>span:nth-child(2) strong,.identity-card>span:nth-child(2) small{display:block}.identity-card>span:nth-child(2) small{color:var(--muted);margin-top:3px;font-size:.7rem}.identity-icon{background:var(--surface);width:38px;height:38px;color:var(--text);border-radius:50%;place-items:center;font-weight:900;display:grid}.google-identity-button{width:100%;min-height:40px;position:relative;overflow:hidden}.google-identity-button>div{justify-content:flex-end;display:flex}.google-identity-button.is-loading>span{background:linear-gradient(90deg, var(--surface) 20%, var(--surface-2) 45%, var(--surface) 70%);background-size:240% 100%;border-radius:4px;animation:1.1s linear infinite google-button-loading;position:absolute;inset:0}.auth-social-block,.reauth-methods,.auth-google-block{gap:12px;margin:22px 0 2px;display:grid}.human-challenge-widget{place-items:center;min-height:66px;margin:20px 0 4px;display:grid}.human-challenge-widget>iframe{max-width:100%}.auth-social-block .google-identity-button>div,.reauth-methods .google-identity-button>div,.auth-google-block .google-identity-button>div{justify-content:center}.apple-identity-button{cursor:pointer;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:40px;padding:0 16px;font-weight:700;transition:transform .18s,box-shadow .18s,opacity .18s,background .18s,color .18s,border-color .18s;display:flex;position:relative;overflow:hidden}.apple-identity-button>span{z-index:1;position:relative}.apple-identity-button.dark{color:#fff;background:#000;border-color:#ffffff26}.apple-identity-button.light{color:#111;background:#fff;border-color:#cfd5da}.apple-identity-button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 8px 18px #0002}.apple-identity-button.is-loading>span:last-child{z-index:0;border-radius:inherit;background:linear-gradient(90deg, color-mix(in srgb, currentColor 10%, transparent) 20%, color-mix(in srgb, currentColor 22%, transparent) 45%, color-mix(in srgb, currentColor 10%, transparent) 70%);background-size:240% 100%;animation:1.1s linear infinite apple-button-loading;position:absolute;inset:0}.apple-identity-icon{font-size:1.08rem;font-weight:900;line-height:1}.apple-identity-label{font-size:.88rem}.auth-divider{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:10px;font-size:.68rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-divider span{white-space:nowrap}.auth-text-action{color:var(--accent);cursor:pointer;background:0 0;border:0;margin:14px 0 0;padding:3px 0;font-size:.78rem;font-weight:750;display:block}.auth-text-action:hover{text-decoration:underline}.auth-text-action:disabled{opacity:.58;cursor:wait}.auth-notice{border:1px solid var(--notice-border);background:var(--notice-bg);color:var(--notice-text);border-radius:12px;margin:16px 0 0;padding:11px 13px;font-size:.78rem;line-height:1.45}.auth-invitation-banner{border:1px solid color-mix(in srgb, var(--accent) 45%, var(--border));background:color-mix(in srgb, var(--accent) 10%, var(--surface));color:var(--text);border-radius:12px;margin:14px 0;padding:11px 13px;font-size:.78rem;line-height:1.45}.privacy-note{color:var(--muted);margin:13px 0 0;font-size:.7rem;line-height:1.5}.google-delete-confirm{border:1px solid var(--border);background:var(--surface-2);border-radius:13px;gap:9px;max-width:380px;margin-top:14px;padding:13px;display:grid}.google-delete-confirm p{margin:0;font-size:.78rem}.delete-reauth{max-width:430px}.delete-reauth .reauth-methods{margin-top:6px}.more-page{gap:16px;display:grid}.more-page .settings-heading p:last-child{margin-bottom:0}.more-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.more-card{border:1px solid var(--border);background:var(--surface);border-radius:18px;align-items:flex-start;gap:13px;min-height:150px;padding:19px;display:flex}.more-card-link{color:var(--text);cursor:pointer;text-decoration:none}.more-card-link:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 14px 30px #0002}.more-card-link:hover .more-card-icon{color:var(--accent)}.more-card.disabled{opacity:.72;filter:grayscale(.25)}.more-card-icon{background:var(--surface-2);width:38px;height:38px;color:var(--muted);border-radius:12px;flex:none;place-items:center;font-size:1.1rem;font-weight:900;display:grid}.more-card h3{margin:1px 0 6px}.more-card p{color:var(--muted);margin:0;font-size:.76rem;line-height:1.5}.more-card small{background:var(--surface-2);color:var(--muted);border-radius:999px;margin-top:15px;padding:4px 7px;font-size:.62rem;font-weight:800;display:inline-block}.auth-legal{border-top:1px solid var(--border);color:var(--muted);text-align:center;margin-top:20px;padding-top:16px}.auth-legal p{margin:0 0 8px;font-size:.68rem;line-height:1.45}.auth-legal nav{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.auth-legal a{text-underline-offset:3px;font-size:.72rem;font-weight:750}@keyframes route-stage-in{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@keyframes notice-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}@keyframes google-button-loading{to{background-position:-240% 0}}@keyframes apple-button-loading{to{background-position:-240% 0}}@media (width<=720px){.identity-card{grid-template-columns:42px minmax(0,1fr)}.identity-card .google-identity-button,.identity-card .apple-identity-button{grid-column:1/-1}.identity-card .google-identity-button>div,.identity-card .apple-identity-button{justify-content:center}.more-grid{grid-template-columns:1fr}.more-card{min-height:0}}@media (prefers-reduced-motion:reduce){.notice,.route-stage,.settings-section-stage,.more-page,.google-identity-button.is-loading>span,.apple-identity-button.is-loading>span:last-child{animation:none}}
