:root{color:#263e3b;font-synthesis:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--dock-space:calc(94px + env(safe-area-inset-bottom));--muted:#56706b;--ink:#263e3b;--accent:#3f746c;--line:#ffffff9e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}body{letter-spacing:-.025em;-webkit-font-smoothing:antialiased;background:#ced3c9;min-width:300px}body:before{content:"";z-index:-2;filter:saturate(.65);background:linear-gradient(165deg,#e0e9e126,#e6ede12b 48%,#9fb5ac34),url(/room-scene.svg) 50%/cover no-repeat;position:fixed;inset:0}body:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(150deg,#f3f6ed18,#7c9e9b16 50%,#edf1e342);position:fixed;inset:0}button,input{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer;border:0}button:disabled{cursor:default}button:active:not(:disabled){transform:scale(.96)}button:focus-visible,input:focus-visible,a:focus-visible{outline-offset:3px;outline:2px solid #3f746c}a{color:inherit}button,input{transition:background .18s,box-shadow .18s,opacity .18s,transform .15s}svg{flex-shrink:0}h1,h2,h3,p{margin:0}small{display:block}.material{isolation:isolate;border-radius:28px;min-width:0;min-height:0;position:relative}.material>.liquid-surface{z-index:1}.liquid-surface>.glass{background:linear-gradient(135deg,#faffff47,#eef4f117 58%,#ffffff32);border:1px solid #ffffffba;gap:0!important;width:100%!important;height:100%!important;display:block!important;box-shadow:0 8px 32px #263b2f0c,inset 0 1px #fff,inset 0 -1px 1px #46635618!important}.liquid-surface>.glass>div{width:100%;height:100%;color:inherit;font:inherit!important;text-shadow:none!important}.glass__warp{pointer-events:none;-webkit-backdrop-filter:blur(16px)saturate(1.25)}.pointer-events-none{pointer-events:none}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-100{opacity:1}.bg-black{background:#000}.mix-blend-overlay{mix-blend-mode:overlay}.dashboard{height:calc(100dvh - var(--dock-space));height:calc(100svh - var(--dock-space));width:min(100%,480px);padding:max(25px,env(safe-area-inset-top)) 21px 5px;grid-template-rows:56px 20px minmax(190px,1fr) 86px 20px 90px;gap:11px;margin:auto;display:grid}.masthead{justify-content:space-between;align-items:center;display:flex}.eyebrow{letter-spacing:2.8px;color:#46645c;margin-bottom:7px;font-size:8px;font-weight:700}.masthead h1{letter-spacing:-1.1px;font-size:29px;font-weight:550;line-height:1.15}.profile{text-transform:uppercase;background:#f9fff76b;border:1px solid #fff9;border-radius:50%;width:39px;height:39px;font-size:15px;box-shadow:inset 0 1px #fff,0 5px 18px #3043340a}.connection{color:#46665c;align-items:center;gap:8px;min-width:0;padding:0 2px;font-size:10px;font-weight:500;display:flex}.connection>svg{opacity:.7;margin-left:auto}.status-dot{background:#8d9b93;border-radius:50%;width:5px;height:5px;box-shadow:0 0 0 3px #e7ede759}.status-dot.online{background:#4d8a70;box-shadow:0 0 0 3px #b7d6b74a}.hero-content{grid-template-rows:45px minmax(0,1fr) 20px;height:100%;padding:16px 18px 13px;display:grid}.hero-heading{justify-content:space-between;align-items:center;display:flex}.system-label{align-items:center;gap:9px;display:flex}.snow-bubble{color:#52766c;background:#ffffff4f;border:1px solid #fffc;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.system-label strong{font-size:13px;font-weight:600}.system-label small{color:#5b7169;margin-top:4px;font-size:9px}.power{background:#f8fff75c;border:1px solid #fff9;border-radius:20px;justify-content:center;align-items:center;gap:6px;min-width:74px;height:35px;font-size:11px;font-weight:550;display:flex;box-shadow:inset 0 1px 1px #ffffffe6}.power.is-on{color:#fff;background:#426f67d4;border-color:#ffffff75;box-shadow:inset 0 1px 1px #fffa,0 3px 10px #385a4c1a}.power:disabled{opacity:.55}.thermostat{place-items:center;min-height:0;display:grid;position:relative}.temperature-orbit{aspect-ratio:1;place-items:center;max-width:75%;height:min(100%,252px);display:grid;position:relative}.temperature-orbit:before{content:"";background:linear-gradient(150deg,#ffffff29,#ffffff05);border:1px solid #ffffff94;border-radius:50%;position:absolute;inset:15px;box-shadow:inset 0 1px 1px #fff9,0 3px 10px #445d4309}.temperature-orbit:after{content:"";pointer-events:none;border:1px solid #ffffff24;border-radius:50%;position:absolute;inset:25px}.temperature-ring{width:100%;height:100%;position:absolute;overflow:visible;transform:rotate(135deg)}.temperature-ring circle{fill:none;stroke:#fff9;stroke-width:1px;stroke-dasharray:75 100;stroke-linecap:round}.temperature-ring .ring-value{stroke:#597e73;stroke-width:2px;filter:drop-shadow(0 0 3px #87b4a64a);transition:stroke-dasharray .3s}.temperature-copy{text-align:center;z-index:1;padding:6px 0 0;position:relative}.temperature-copy>p{color:#58746a;letter-spacing:1px;margin-bottom:8px;font-size:10px}.temperature-number{letter-spacing:-4px;white-space:nowrap;font-variant-numeric:tabular-nums;color:#2b4941;justify-content:center;align-items:flex-start;font-size:78px;font-weight:250;line-height:1;display:flex}.temperature-number sup{letter-spacing:0;margin-top:7px;margin-left:1px;font-size:31px;font-weight:300}.temperature-hint{color:#63796f;letter-spacing:.1px;margin-top:10px;font-size:9px;display:block}.adjust-button{background:linear-gradient(150deg,#fff9,#ffffff2c);border:1px solid #ffffffc2;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:absolute;box-shadow:inset 0 1px 1px #fff,0 5px 15px #435e420c}.adjust-button:disabled{opacity:.38}.adjust-button.minus{left:0}.adjust-button.plus{right:0}.hero-caption{color:#5a756a;white-space:nowrap;text-overflow:ellipsis;justify-content:center;align-items:center;gap:5px;font-size:8px;display:flex;overflow:hidden}.mini-dot{background:#6b8f7c;border-radius:50%;width:3px;height:3px}.fan-content{height:100%;padding:12px 13px}.section-caption{justify-content:space-between;align-items:center;display:flex}.section-caption>div{align-items:center;gap:7px;display:flex}.section-caption h2,.zone-heading h2{letter-spacing:.2px;font-size:12px;font-weight:600}.section-caption small{color:#698076;font-size:8px}.fan-options{background:#6c8d7311;border:1px solid #fff5;border-radius:18px;grid-template-columns:repeat(3,1fr);gap:3px;margin-top:7px;padding:3px;display:grid}.fan-options button{color:#587268;background:0 0;border:1px solid #0000;border-radius:13px;justify-content:center;align-items:center;gap:8px;min-height:32px;font-size:11px;font-weight:550;display:flex}.fan-options button.selected{color:#2e5548;background:linear-gradient(135deg,#fcfffae6,#f1f7edba);border-color:#fff;box-shadow:0 2px 6px #4b695013,inset 0 1px #fff}.fan-options button:disabled{opacity:.6}.speed-bars{align-items:flex-end;gap:2px;height:12px;display:flex}.speed-bars i{opacity:.3;background:currentColor;border-radius:3px;width:2px;height:4px}.speed-bars i:nth-child(2){height:8px}.speed-bars i:nth-child(3){height:12px}.speed-1 i:first-child,.speed-2 i:nth-child(-n+2),.speed-3 i{opacity:1}.zone-heading{justify-content:space-between;align-items:center;margin:0 3px;display:flex}.zone-heading>span{color:#567466;font-size:9px}.zones{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;min-height:0;display:grid}.zone-card{border-radius:22px}.zone-button{background:0 0;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:100%;height:100%;padding:10px 0 8px;display:flex}.zone-icon{color:#728478;border-radius:11px;place-items:center;width:34px;height:32px;transition:background .2s,color .2s;display:grid}.zone-button strong{letter-spacing:.3px;white-space:nowrap;font-size:8px;font-weight:600}.zone-dot{background:#87978a57;border-radius:50%;width:3px;height:3px}.zone-on .zone-icon{color:#2e6251;background:#f1ffe9b5;box-shadow:0 1px 4px #35523e0c,inset 0 1px #fff9}.zone-on .zone-dot{background:#4d8364}.zone-on .glass{background:linear-gradient(145deg,#f7fff782,#edf6e940)}.zone-button:disabled{opacity:.67}.dock-wrap{left:0;right:0;bottom:max(13px,env(safe-area-inset-bottom));z-index:20;pointer-events:none;justify-content:center;display:flex;position:fixed}.dock-glass{pointer-events:auto;border-radius:32px;width:min(290px,80vw);height:67px}.dock{grid-template-columns:repeat(4,1fr);gap:3px;height:100%;padding:6px 8px;display:grid}.dock>button{color:#647a6f;background:0 0;border-radius:23px;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-weight:550;display:flex}.dock>button>span{letter-spacing:.3px;font-size:8px}.dock>button.active{color:#2e5a49;background:linear-gradient(135deg,#fafffba6,#f6fff666);box-shadow:inset 0 1px #fff,inset 0 -1px 1px #526c5821,0 3px 6px #53675009}.dock>button>svg{height:21px}.toast{z-index:100;bottom:calc(var(--dock-space) + 10px);color:#fff;text-align:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#34564be8;border:1px solid #fff8;border-radius:26px;max-width:88vw;padding:13px 19px;font-size:12px;animation:.18s ease-out appear;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 7px 35px #1b322520}.welcome{max-width:440px;height:100dvh;padding:max(35px,env(safe-area-inset-top)) 25px max(22px,env(safe-area-inset-bottom));overscroll-behavior:contain;flex-direction:column;justify-content:center;gap:22px;margin:auto;display:flex;overflow-y:auto}.welcome-brand{text-align:center}.mark{color:#4c7665;background:#ffffff3c;border:1px solid #fff9;border-radius:23px;place-items:center;width:62px;height:62px;margin:0 auto 20px;display:grid;box-shadow:inset 0 1px 1px #fff,0 7px 30px #47684912}.welcome-brand>p{letter-spacing:4px;color:#67806f;margin-bottom:12px;font-size:9px;font-weight:600}.welcome-brand h1{letter-spacing:-.8px;margin-bottom:9px;font-size:25px;font-weight:500}.welcome-brand>span{color:#637b6b;font-size:11px}.login-glass{flex-shrink:0;min-height:310px}.credentials{height:100%;padding:25px}.credentials h2{margin-bottom:23px;font-size:17px;font-weight:550}.credentials label,.invite-box label{color:#526d5e;margin-top:14px;font-size:11px;display:block}.credentials input,.invite-box input{background:#ffffff4d;border:1px solid #ffffffa1;border-radius:13px;outline:none;width:100%;min-height:44px;margin-top:7px;padding:10px 13px;font-size:16px;display:block;box-shadow:inset 0 1px 3px #3d574606}.credentials input:focus{background:#ffffff80;border-color:#fff}.primary,.secondary{border-radius:16px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:45px;font-size:13px;font-weight:550;display:flex}.primary{color:#fff;background:linear-gradient(135deg,#507c68,#426957);border:1px solid #ffffff69;box-shadow:inset 0 1px 1px #fff8,0 5px 17px #3c594713}.secondary{color:#385b49;background:#ffffff59;border:1px solid #fff9;margin:14px 0}.primary:disabled,.secondary:disabled{opacity:.5}.form-error{color:#995844;min-height:16px;margin:13px 0 6px;font-size:11px}.form-note{color:#637b6b;margin-top:9px;font-size:10px}.form-footer{text-align:center;color:#68816f;margin-top:15px;font-size:9px}.welcome-foot{text-align:center;color:#627c6a;font-size:10px;line-height:1.5}.loading-screen{color:#537862;flex-direction:column;justify-content:center;align-items:center;gap:18px;height:100dvh;font-size:12px;display:flex}.sheet-shade{z-index:30;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);padding:max(20px,env(safe-area-inset-top)) 16px calc(var(--dock-space) + 5px);background:#334a3922;justify-content:center;display:flex;position:fixed;inset:0}.sheet-glass{border-radius:30px;width:min(440px,100%);height:100%}.sheet-glass .glass{background:#edf6e9bc}.sheet{flex-direction:column;height:100%;padding:19px 21px 0;display:flex}.sheet>header{border-bottom:1px solid #ffffff69;flex-shrink:0;justify-content:space-between;align-items:center;height:42px;padding-bottom:13px;display:flex}.sheet h2{font-size:20px;font-weight:550}.plain-icon{background:0 0;place-items:center;padding:5px;display:grid}.sheet-content{overscroll-behavior:contain;flex:1;min-height:0;padding:18px 0 22px;overflow-y:auto}.subtle{color:#67806e;margin-bottom:18px;font-size:11px;line-height:1.8}.member-row{border-bottom:1px solid #ffffff70;align-items:center;gap:11px;margin-bottom:8px;padding:13px 0;display:flex}.avatar{text-transform:uppercase;color:#4d735b;background:#fafff790;border:1px solid #fffc;border-radius:50%;place-items:center;width:38px;height:38px;font-size:15px;display:grid}.member-row strong{font-size:13px;font-weight:550}.member-row small{color:#698171;margin-top:5px;font-size:10px}.member-row .text-button{margin-left:auto}.text-button{color:#4a7559;background:0 0;padding:9px 3px;font-size:11px}.invite-box{background:#f6fff573;border:1px solid #fff8;border-radius:18px;margin-top:18px;padding:15px}.invite-box p{color:#64806b;font-size:10px;line-height:1.8}.invite-box input{font-size:12px}.settings-intro{text-align:center;margin:0 0 20px}.settings-intro svg{color:#52785e;margin:8px 0 13px}.settings-intro h3{font-size:17px;font-weight:500}.settings-intro p{color:#698171;margin-top:6px;font-size:10px}.setting-line{border-bottom:1px solid #ffffff80;justify-content:space-between;align-items:center;padding:15px 0;font-size:12px;display:flex}.setting-line strong{color:#53735d;font-size:11px;font-weight:500}.settings-intro~.subtle{margin-top:15px}.install-note{background:#ffffff36;border:1px solid #fff8;border-radius:17px;gap:12px;margin:25px 0;padding:16px;display:flex}.install-note strong{font-size:12px;font-weight:550}.install-note p{color:#688270;margin-top:6px;font-size:10px;line-height:1.8}.credits{color:#7b8c7e;text-align:center;margin-top:25px;font-size:9px;line-height:1.9}.credits a{text-underline-offset:2px;text-decoration:underline}.activity-row{border-bottom:1px solid #ffffff75;align-items:center;gap:11px;padding:15px 0;display:flex}.activity-symbol{background:#fff5;border-radius:12px;place-items:center;width:34px;height:34px;display:grid}.activity-row strong{font-size:12px;font-weight:550}.activity-row small{color:#718474;margin-top:7px;font-size:9px}.activity-row .result{text-align:right;color:#8b7d64;max-width:98px;margin-left:auto;font-size:9px;line-height:1.7}.activity-row .confirmed{color:#547e5e}.empty-state{text-align:center;color:#7a8c7c;padding:50px 0}.empty-state p{margin-top:15px;font-size:11px;line-height:1.8}@supports (-webkit-touch-callout:none){.glass__warp{filter:none!important;-webkit-backdrop-filter:blur(16px)saturate(1.25)!important;backdrop-filter:blur(16px)saturate(1.25)!important}}@media (width>=650px){.dashboard{max-height:880px;padding-top:35px;padding-bottom:10px}.dock-wrap{bottom:22px}.sheet-shade{padding-top:35px}.welcome-brand h1{font-size:28px}}@media (height<=740px){:root{--dock-space:calc(83px + env(safe-area-inset-bottom))}.dashboard{padding:max(14px,env(safe-area-inset-top)) 18px 4px;grid-template-rows:42px 16px minmax(180px,1fr) 71px 17px 73px;gap:7px}.masthead h1{font-size:25px}.eyebrow{margin-bottom:5px;font-size:7px}.hero-content{grid-template-rows:37px minmax(0,1fr) 17px;padding:12px 15px 9px}.temperature-number{font-size:65px}.temperature-copy>p{margin-bottom:6px;font-size:9px}.temperature-hint{margin-top:7px;font-size:8px}.temperature-orbit{height:min(100%,210px)}.fan-content{padding:9px 11px}.fan-options{margin-top:4px;padding:2px}.fan-options button{min-height:28px;font-size:10px}.zone-button{gap:4px;padding:6px 0}.zone-icon{width:30px;height:28px}.zone-icon svg{height:21px}.zone-button strong{font-size:7px}.dock-glass{width:265px;height:59px}.dock{padding:4px 8px}.dock>button{gap:3px}.welcome{gap:16px}.mark{width:49px;height:49px;margin-bottom:14px}.welcome-brand h1{font-size:22px}.credentials{padding:22px}.login-glass{min-height:300px}}@media (height<=620px){:root{--dock-space:74px}.dashboard{grid-template-rows:36px 14px minmax(160px,1fr) 63px 15px 62px;gap:5px;padding:10px 15px 3px}.masthead h1{font-size:22px}.eyebrow{margin-bottom:4px;font-size:6px}.connection{font-size:8px}.hero-content{grid-template-rows:33px minmax(0,1fr) 14px;padding:8px 13px}.system-label strong{font-size:11px}.snow-bubble{width:28px;height:28px}.power{min-width:67px;height:31px;font-size:10px}.temperature-number{font-size:57px}.temperature-orbit{height:min(100%,182px)}.temperature-copy>p{font-size:8px}.temperature-hint{margin-top:5px;font-size:7px}.temperature-orbit:before{inset:12px}.hero-caption{font-size:7px}.fan-content{padding:7px 10px}.section-caption h2,.zone-heading h2{font-size:10px}.fan-options{margin-top:3px}.fan-options button{min-height:26px}.zone-button{gap:3px;padding:4px 0}.zone-button strong{font-size:6.5px}.zone-icon{height:23px}.zone-icon svg{height:19px}.zone-dot{width:2px;height:2px}.dock-glass{height:54px}.dock>button>svg{height:19px}.dock>button>span{font-size:7px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (prefers-reduced-transparency:reduce){.liquid-surface>.glass{background:#eaf0e4f5!important}.glass__warp{filter:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}@keyframes appear{0%{opacity:0;transform:translate(-50%,5px)}to{opacity:1;transform:translate(-50%)}}
