*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}html{background:var(--canvas)}body{min-height:100vh}button,input{font:inherit}button{color:inherit;border:0}button,input{-webkit-tap-highlight-color:transparent}button{padding:0}svg{display:block}::selection{background:var(--accent-soft);color:var(--ink)}@font-face{font-family:Aventa Local;src:url(/assets/Aventa-Light-CelPrQp5.woff)format("woff");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Aventa Local;src:url(/assets/Aventa-Regular-DRJMQsJB.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Aventa Local;src:url(/assets/Aventa-Medium-oUtNTmVo.woff)format("woff");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Orlean Local;src:url(/assets/Orlean-Regular-CwNAbJRc.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Orlean Local;src:url(/assets/Orlean-Medium-B0M6MbrK.woff)format("woff");font-weight:500;font-style:normal;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-ui:"Aventa Local","Helvetica Neue",Arial,sans-serif;--font-display:"Orlean Local","Aventa Local","Helvetica Neue",Arial,sans-serif;--canvas:#f6f6f3;--canvas-deep:#eeefea;--surface:#fff;--surface-soft:#fafaf8;--surface-raised:#fff;--surface-sunken:#f0f1ed;--surface-glass:#ffffffb8;--ink:#111318;--ink-secondary:#6b7280;--ink-tertiary:#969ca5;--line:#e5e7eb;--line-strong:#d6dae0;--control-border:#c9ced5;--control-border-hover:#b8bec6;--control-hover:#eeefea;--accent:#1769e0;--accent-hover:#105cc8;--accent-soft:#eaf2ff;--accent-faint:#f4f8ff;--accent-ring:#1769e03d;--light:#d9b84a;--light-strong:#a78318;--light-ink:#7f6100;--light-soft:#fff8e6;--light-surface:#fffaec;--light-hover:#f7efcf;--light-border:#d8c78d;--light-glow:#d9b84a2e;--light-icon:#111318;--heat:#b34724;--heat-strong:#96371e;--heat-ink:#7b2f19;--heat-soft:#fdebe4;--heat-surface:#fff7f3;--heat-hover:#f8e0d7;--heat-border:#e7b2a0;--heat-glow:#b3472426;--cool:#0a6f9a;--cool-strong:#075b7f;--cool-ink:#084e6a;--cool-soft:#e6f5fa;--cool-surface:#f4fbfd;--cool-hover:#ddf1f7;--cool-border:#add7e6;--cool-glow:#0a6f9a24;--air:#1b7a57;--air-strong:#126246;--air-ink:#0f573e;--air-soft:#e8f6f0;--air-surface:#f5fbf8;--air-hover:#ddf1e8;--air-border:#b5dcca;--air-glow:#1b7a5724;--drape:#76528a;--drape-strong:#654376;--drape-ink:#573a65;--drape-soft:#f3edf7;--drape-surface:#fbf8fc;--drape-hover:#eee5f3;--drape-border:#d4c0df;--drape-glow:#76528a24;--plug:#4b5563;--plug-strong:#374151;--plug-ink:#303946;--plug-soft:#f1f3f5;--plug-surface:#fafafb;--plug-hover:#e8ebee;--plug-border:#cdd2d8;--plug-glow:#4b55631f;--shadow-0:none;--shadow-1:0 2px 8px #1018200d,0 0 0 1px #1018200b;--shadow-2:0 10px 30px #10182014,0 0 0 1px #1018200d;--shadow-3:0 18px 48px #10182021,0 0 0 1px #1018200e;--shadow-floating:0 10px 36px #1018202e,0 0 0 1px #1018200f;--shadow-modal:0 28px 80px #10182033,0 0 0 1px #1018200f;--shadow-control:0 7px 18px #10182013,0 2px 5px #1018200a,inset 0 1px 0 #fffffffa;--shadow-control-hover:0 14px 30px #1018201f,0 3px 8px #1018200e,inset 0 1px 0 #fffffffa;--shadow-light-on:0 13px 30px #d9b84a26,0 5px 13px #10182013,inset 0 1px 0 #ffffffeb;--radius-xs:10px;--radius-sm:14px;--radius-md:18px;--radius-lg:26px;--radius-xl:36px;--radius-pill:999px;--ease-ui:cubic-bezier(.625,.05,0,1);--ease-enter:cubic-bezier(.6,.08,.02,.99);--ease-soft:cubic-bezier(.22,.61,.36,1);--press:.12s;--hover:.18s;--hold-secondary:.62s;--ui:.32s;--motion:.6s}@keyframes appEnter{0%{opacity:0;transform:translateY(18px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes panelEnter{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes cardEnter{0%{opacity:0;transform:translate(20px)scale(.985)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes sheetEnter{0%{opacity:0;transform:translateY(26px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes rowEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes dotSettle{0%{opacity:0;transform:scale(0)}68%{opacity:1;transform:scale(1.14)}to{opacity:1;transform:scale(1)}}.app-enter{animation:appEnter .82s var(--ease-enter) both;animation-delay:calc(var(--enter-order,0) * 70ms)}.panel-enter{animation:panelEnter .56s var(--ease-enter) both}.device-card{animation:cardEnter .72s var(--ease-enter) both;animation-delay:var(--enter-delay,0s)}.char-roll{white-space:nowrap;line-height:1.25;display:inline-flex;overflow:hidden}.char-roll__char{text-shadow:0 1.3em;transition:transform .6s var(--ease-ui),color .3s ease-out;transition-delay:var(--char-delay);display:inline-block;transform:translateY(0)rotate(.001deg)}@media (hover:hover) and (pointer:fine){.floating-chip:not(.is-active):hover .char-roll__char{transform:translateY(-1.3em)rotate(.001deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}body{font-family:var(--font-ui);color:var(--ink);background:var(--canvas);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0}button:focus-visible,input:focus-visible{outline:3px solid var(--accent-ring);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.44;box-shadow:none!important;transform:none!important}.micro-label{color:var(--ink-secondary);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:600;display:block}.floating-chip{isolation:isolate;min-height:42px;color:var(--ink-secondary);transition:color .3s ease-out,transform var(--press) var(--ease-ui);border-radius:12px;flex:none;padding:0 14px;position:relative}.floating-chip__bg{z-index:-1;border:1.5px solid var(--control-border);border-radius:inherit;box-shadow:var(--shadow-control);-webkit-backdrop-filter:blur(16px);transition:transform .46s var(--ease-ui),background-color .24s ease-out,box-shadow .35s var(--ease-ui),border-color .24s ease-out;background:#ffffffeb;position:absolute;inset:0}.floating-chip.is-active{color:#fff}.floating-chip.is-active .floating-chip__bg{background:#2b2e34;border-color:#2b2e34;transform:translateY(-1px);box-shadow:0 7px 18px #10182021,0 0 0 1px #1018200e,inset 0 1px #ffffff14}@media (hover:hover) and (pointer:fine){.floating-chip:not(.is-active):hover{color:var(--ink)}.floating-chip:not(.is-active):hover .floating-chip__bg{background:var(--control-hover);border-color:var(--control-border-hover);box-shadow:var(--shadow-control-hover);transform:translateY(-2px)}.floating-chip.is-active:hover .floating-chip__bg{background:var(--ink);border-color:var(--ink);box-shadow:var(--shadow-floating),inset 0 1px 0 #ffffff14;transform:translateY(-2px)}}.floating-chip:active{transition-duration:var(--press);transform:translateY(1px)scale(.98)}.floating-chip:active .floating-chip__bg{transform:translateY(0)scale(.97)}.icon-button,.round-button{background:var(--surface-raised);box-shadow:var(--shadow-1),inset 0 1px 0 #fffffff5;transition:transform var(--press) var(--ease-ui),box-shadow var(--hover) ease,border-color var(--hover) ease,color var(--hover) ease,background var(--hover) ease;border:1px solid #1113180e;place-items:center;display:grid}.icon-button--small{border-radius:50%;width:32px;height:32px}.round-button{border-radius:50%;width:44px;height:44px;font-size:20px}@media (hover:hover) and (pointer:fine){.icon-button:hover,.round-button:hover{background:var(--semantic-hover,var(--control-hover));box-shadow:var(--shadow-control-hover);border-color:var(--semantic-border,var(--control-border-hover));color:var(--semantic-ink,var(--accent));transform:translateY(-2px)}}.icon-button:active,.round-button:active{box-shadow:var(--shadow-1);transform:translateY(1px)scale(.95)}.choice-rail{isolation:isolate;grid-template-columns:repeat(var(--choice-count,3),minmax(0,1fr));gap:10px;padding:4px 0;display:grid;position:relative}.choice-rail:before{content:"";z-index:0;background:linear-gradient(90deg, transparent 0%, color-mix(in srgb,var(--semantic,var(--accent)) 24%,var(--line-strong)) 10%, color-mix(in srgb,var(--semantic,var(--accent)) 24%,var(--line-strong)) 90%, transparent 100%);opacity:.92;pointer-events:none;height:1px;position:absolute;top:50%;left:12px;right:12px;transform:translateY(-50%)}.choice-rail button{z-index:1;isolation:isolate;border:1.15px solid color-mix(in srgb,var(--semantic,var(--accent)) 8%,var(--control-border));min-width:0;min-height:44px;color:var(--ink-secondary);box-shadow:none;transition:background-color .22s ease-out, color .22s ease-out, border-color .22s ease-out, box-shadow .32s var(--ease-ui), transform var(--press) var(--ease-ui);background:#ffffffc2;border-radius:12px;justify-content:center;align-items:center;gap:0;padding:0 10px;font-size:12px;font-weight:500;display:inline-flex;position:relative;overflow:hidden;transform:translateY(0)}.choice-rail button:after{content:"";background:var(--semantic,var(--accent));opacity:0;transform-origin:50%;height:2px;transition:opacity .24s ease-out,transform .36s var(--ease-enter);border-radius:2px 2px 0 0;position:absolute;bottom:-1px;left:14px;right:14px;transform:scaleX(.18)}.choice-rail__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.choice-rail button.is-active{background:color-mix(in srgb,var(--semantic,var(--accent)) 16%,#fff);color:var(--semantic-strong,var(--semantic-ink,var(--accent)));border-color:color-mix(in srgb,var(--semantic,var(--accent)) 52%,var(--control-border));box-shadow:0 8px 20px #10182018, 0 0 0 1px color-mix(in srgb,var(--semantic,var(--accent)) 9%,transparent), 0 8px 24px var(--semantic-glow,transparent), inset 0 1px 0 #ffffffd1;font-weight:600;transform:translateY(-1px)}.choice-rail button.is-active:after{opacity:1;transform:scaleX(1)}@media (hover:hover) and (pointer:fine){.choice-rail button:not(.is-active):hover{background:var(--control-hover);border-color:color-mix(in srgb,var(--semantic,var(--accent)) 18%,var(--control-border-hover));color:var(--ink);box-shadow:var(--shadow-1);transform:translateY(-1px)}.choice-rail button:not(.is-active):hover:after{opacity:.42;transform:scaleX(.55)}.choice-rail button.is-active:hover{background:color-mix(in srgb,var(--semantic,var(--accent)) 21%,#fff);border-color:color-mix(in srgb,var(--semantic,var(--accent)) 62%,var(--control-border));box-shadow:0 12px 26px #1018201f, 0 9px 28px var(--semantic-glow,transparent), inset 0 1px 0 #ffffffc2;transform:translateY(-2px)}}.choice-rail button:active{background:color-mix(in srgb,var(--semantic-surface,#fff) 40%,var(--control-hover));transition-duration:var(--press);transform:translateY(1px)scale(.975);box-shadow:0 3px 9px #10182014,0 0 0 1px #1018200a}.status-badge{border:1px solid var(--semantic-border,color-mix(in srgb,var(--semantic) 16%,transparent));border-radius:var(--radius-pill);background:var(--semantic-surface,color-mix(in srgb,var(--semantic-soft) 68%,white));width:max-content;min-height:28px;color:var(--semantic-ink,var(--semantic));letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:7px;padding:0 10px;font-size:10px;font-weight:600;display:inline-flex}.status-badge__dot{background:var(--semantic,currentColor);width:6px;height:6px;box-shadow:0 0 0 4px color-mix(in srgb,var(--semantic) 9%,transparent);border-radius:50%}.metric-row{gap:10px;display:flex}.metric-card{border-radius:var(--radius-sm);box-shadow:var(--shadow-1),inset 0 1px 0 #fffffff5;-webkit-backdrop-filter:blur(14px);text-align:center;transition:transform var(--ui) var(--ease-ui),box-shadow var(--ui) var(--ease-ui);background:#ffffffbd;border:1px solid #1113180d;flex:1;padding:13px 10px}.metric-card strong{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);font-size:20px;font-weight:500;display:block}.metric-card span{color:var(--ink-secondary);letter-spacing:.08em;text-transform:uppercase;margin-top:2px;font-size:10px;display:block}@media (hover:hover) and (pointer:fine){.metric-card:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}}.metric-row{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:0;display:grid}.metric-card{min-width:0;box-shadow:none;-webkit-backdrop-filter:none;text-align:left;cursor:default;pointer-events:none;background:0 0;border:0;border-radius:0;padding:12px 10px 11px;transition:none;transform:none!important}.metric-row .metric-card+.metric-card{border-left:1px solid var(--line)}.metric-card__label{color:var(--ink-tertiary);letter-spacing:.1em;text-transform:uppercase;margin:0 0 5px;font-size:10px;font-weight:600;display:block}.metric-card strong{font-family:var(--font-display);letter-spacing:-.025em;color:var(--ink);margin:0;font-size:23px;font-weight:500;line-height:1;display:block}.metric-card strong small{font-family:var(--font-ui);letter-spacing:.03em;color:var(--ink-secondary);margin-left:4px;font-size:10px;font-weight:600}.metric-card span:not(.metric-card__label){margin:0}@media (hover:hover) and (pointer:fine){.metric-card:hover{box-shadow:none!important;background:0 0!important;transform:none!important}}.metric-card .metric-card__label{color:var(--ink-tertiary);letter-spacing:.1em;text-transform:uppercase;margin:0 0 5px;font-size:10px;font-weight:600}.app-surface{background:var(--surface);border-radius:51px;flex-direction:column;height:100%;display:flex;overflow:hidden}.device-context-bar{--context-edge:24px;height:62px;color:var(--ink-secondary);letter-spacing:.11em;text-transform:uppercase;flex:0 0 62px;font-size:9.5px;font-weight:600;line-height:1;position:relative}.device-context-bar__home,.device-context-bar__system{z-index:3;max-width:calc(50% - var(--context-edge) - 12px);text-overflow:ellipsis;white-space:nowrap;position:absolute;top:25px;overflow:hidden}.device-context-bar__home{left:var(--context-edge);color:var(--ink-secondary)}.device-context-bar__system{right:var(--context-edge);color:var(--ink);text-align:right;animation:contextSystemIn .42s var(--ease-enter) both;padding-bottom:6px}.device-context-bar__system:after{content:"";background:var(--context-semantic,var(--accent));height:2px;box-shadow:0 3px 12px var(--context-glow,#1769e01f);transform-origin:50%;animation:contextLineIn .52s var(--ease-enter) both;border-radius:999px;position:absolute;bottom:0;left:0;right:0}@keyframes contextSystemIn{0%{opacity:.45;transform:translateY(2px)}to{opacity:1;transform:none}}@keyframes contextLineIn{0%{opacity:0;transform:scaleX(.15)}to{opacity:1;transform:scaleX(1)}}.status-dot{--status-color:var(--accent);background:var(--status-color);width:7px;height:7px;box-shadow:0 0 0 4px color-mix(in srgb,var(--status-color) 11%,transparent);animation:dotSettle .42s var(--ease-enter) both;transition:background-color .32s var(--ease-ui),box-shadow .32s var(--ease-ui);border-radius:50%}.status-dot[data-semantic=light]{--status-color:var(--light)}.status-dot[data-semantic=cool]{--status-color:var(--cool)}.status-dot[data-semantic=air]{--status-color:var(--air)}.status-dot[data-semantic=heat]{--status-color:var(--heat)}.status-dot[data-semantic=drape]{--status-color:var(--drape)}.status-dot[data-semantic=plug]{--status-color:var(--plug)}.room-row{justify-content:space-between;align-items:flex-end;gap:14px;margin-top:9px;display:flex}.room-row h1{font-family:var(--font-display);letter-spacing:-.04em;color:var(--ink);margin:0;font-size:29px;font-weight:500;line-height:1}.room-row p{color:var(--ink-secondary);margin:6px 0 0;font-size:12px}.scene-section{padding:10px 22px 9px;position:relative}.scene-section:after{content:"";z-index:4;pointer-events:none;background:linear-gradient(90deg,#fff0,var(--surface) 76%);opacity:.92;width:22px;height:54px;position:absolute;bottom:9px;right:18px}.scene-strip{scrollbar-width:none;gap:9px;margin:7px -3px -4px;padding:4px 3px 12px;display:flex;overflow-x:auto}.scene-strip::-webkit-scrollbar{display:none}.content-stage{scrollbar-width:none;flex:1;min-height:0;padding:8px 22px 14px;overflow-y:auto}.content-stage::-webkit-scrollbar{display:none}.panel-grid{grid-template-columns:1fr 1fr;gap:12px;padding-top:3px;display:grid}.device-card{--semantic:var(--light);--semantic-soft:var(--light-soft);border:1.5px solid var(--control-border);background:var(--surface-raised);min-height:120px;box-shadow:var(--shadow-control);transition:transform .34s var(--ease-ui), box-shadow .34s var(--ease-ui), border-color .24s ease-out, background-color .24s ease-out;border-radius:16px;position:relative;overflow:hidden}.device-card[data-accent=light]{--semantic:var(--light);--semantic-soft:var(--light-soft)}.device-card__main{text-align:left;flex-direction:column;align-items:flex-start;gap:8px;width:100%;height:100%;min-height:120px;padding:14px;display:flex}.device-card__top{align-items:center;gap:8px;padding-right:30px;display:flex}.device-card__icon{color:#7a828c;width:34px;height:34px;box-shadow:none;transition:transform .34s var(--ease-ui), color .24s ease-out, background-color .24s ease-out, border-color .24s ease-out, box-shadow .34s var(--ease-ui);background:#f3f4f1;border:1px solid #0000;border-radius:10px;flex:0 0 34px;place-items:center;display:grid}.device-card__status{color:#646c76;letter-spacing:.09em;text-transform:uppercase;background:0 0;border:0;border-radius:0;align-items:center;gap:5px;min-height:24px;padding:0 2px;font-size:9.5px;font-weight:600;transition:color .24s ease-out,background-color .24s ease-out,border-color .24s ease-out;display:inline-flex}.device-card__status:before{content:"";width:6px;height:6px;transition:background .3s,color .3s,box-shadow .3s,transform .3s var(--ease-enter);background:currentColor;border-radius:50%}.device-card__name{color:var(--ink);font-size:12.5px;font-weight:500}.device-card__value{color:var(--ink);font-family:var(--font-display);letter-spacing:-.015em;margin-top:auto;font-size:18px;font-weight:500}.device-card__more{z-index:3;color:var(--ink-secondary);position:absolute;top:9px;right:9px}.device-card__active-line{background:var(--semantic);transform-origin:0;height:3px;transition:transform .45s var(--ease-ui);border-radius:3px 3px 0 0;position:absolute;bottom:-1px;left:14px;right:14px;transform:scaleX(0)}.device-card__shine{opacity:0;pointer-events:none;transition:transform .72s var(--ease-ui),opacity .3s ease;background:linear-gradient(105deg,#0000,#ffffff9e,#0000);position:absolute;inset:-40% 45% -40% -75%;transform:translate(-45%)rotate(7deg)}.device-card.is-on{background:var(--light-surface);border-color:var(--light-border);box-shadow:var(--shadow-light-on)}.device-card.is-on .device-card__icon{background:var(--semantic);color:var(--light-icon);border-color:#0000;transform:translateY(-1px);box-shadow:0 5px 12px #d9b84a30,inset 0 1px #ffffff47}.device-card.is-on .device-card__status{color:var(--light-ink);background:0 0;border-color:#0000}.device-card.is-on .device-card__status:before{background:var(--semantic);transform:scale(1.05);box-shadow:0 0 0 4px #d9b84a1f}.device-card.is-on .device-card__active-line{transform:scaleX(1)}@media (hover:hover) and (pointer:fine){.device-card:hover{border-color:var(--control-border-hover);background:var(--control-hover);box-shadow:var(--shadow-control-hover);transform:translateY(-3px)}.device-card.is-on:hover{border-color:var(--light-strong);background:var(--light-hover);box-shadow:0 16px 34px #d9b84a2e,0 6px 16px #10182017,inset 0 1px #ffffffe0}.device-card:hover .device-card__shine{opacity:.45;transform:translate(230%)rotate(7deg)}}.device-card:active{transition-duration:var(--press);transform:translateY(1px)scale(.985);box-shadow:0 3px 9px #10182014,0 0 0 1px #1018200b}.device-card.is-on:active{box-shadow:0 4px 12px #d9b84a21,0 2px 6px #10182012}.feature-panel{gap:13px;padding-top:3px;display:grid}.feature-panel[data-semantic=cool]{--semantic:var(--cool);--semantic-strong:var(--cool-strong);--semantic-ink:var(--cool-ink);--semantic-soft:var(--cool-soft);--semantic-surface:var(--cool-surface);--semantic-hover:var(--cool-hover);--semantic-border:var(--cool-border);--semantic-glow:var(--cool-glow)}.feature-panel[data-semantic=heat]{--semantic:var(--heat);--semantic-strong:var(--heat-strong);--semantic-ink:var(--heat-ink);--semantic-soft:var(--heat-soft);--semantic-surface:var(--heat-surface);--semantic-hover:var(--heat-hover);--semantic-border:var(--heat-border);--semantic-glow:var(--heat-glow)}.feature-panel[data-semantic=air]{--semantic:var(--air);--semantic-strong:var(--air-strong);--semantic-ink:var(--air-ink);--semantic-soft:var(--air-soft);--semantic-surface:var(--air-surface);--semantic-hover:var(--air-hover);--semantic-border:var(--air-border);--semantic-glow:var(--air-glow)}.feature-panel[data-semantic=drape]{--semantic:var(--drape);--semantic-strong:var(--drape-strong);--semantic-ink:var(--drape-ink);--semantic-soft:var(--drape-soft);--semantic-surface:var(--drape-surface);--semantic-hover:var(--drape-hover);--semantic-border:var(--drape-border);--semantic-glow:var(--drape-glow)}.feature-panel[data-semantic=plug]{--semantic:var(--plug);--semantic-strong:var(--plug-strong);--semantic-ink:var(--plug-ink);--semantic-soft:var(--plug-soft);--semantic-surface:var(--plug-surface);--semantic-hover:var(--plug-hover);--semantic-border:var(--plug-border);--semantic-glow:var(--plug-glow)}.panel-status-row{justify-content:center;margin-bottom:-1px;display:flex}.hero-reading{text-align:center;padding:4px 0 2px}.hero-reading strong{font-family:var(--font-display);letter-spacing:-.065em;color:var(--ink);font-size:58px;font-weight:400;line-height:.96;display:block}.hero-reading strong span{font-family:var(--font-ui);letter-spacing:0;color:var(--ink);font-size:.55em;font-weight:400}.hero-reading p{color:var(--ink-secondary);margin:7px 0 0;font-size:12px}.target-stepper{border:1.5px solid var(--control-border);box-shadow:var(--shadow-control);background:#ffffffd6;border-radius:16px;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;padding:11px 13px;display:grid}.target-stepper>div{text-align:center}.target-stepper strong{font-family:var(--font-display);color:var(--ink);margin-top:1px;font-size:21px;font-weight:500;display:block}.control-block{gap:7px;display:grid}.control-block--boost{padding-top:2px}.hero-power{width:76px;height:76px;color:var(--ink-secondary);box-shadow:var(--shadow-1);transition:transform .34s var(--ease-enter),background .3s,color .3s,box-shadow .34s,border-color .3s;background:#fff;border:1px solid #1113180e;border-radius:50%;place-items:center;margin:2px auto 0;display:grid}.hero-power.is-on{color:var(--semantic-ink,var(--semantic));border-color:var(--semantic-border,color-mix(in srgb,var(--semantic) 18%,transparent));background:#fff;background:var(--semantic-surface,#fff);box-shadow:var(--shadow-2),0 0 30px var(--semantic-glow,color-mix(in srgb,var(--semantic) 7%,transparent))}@media (hover:hover) and (pointer:fine){.hero-power:hover{background:var(--control-hover);border-color:var(--control-border-hover);box-shadow:var(--shadow-control-hover);transform:translateY(-3px)scale(1.02)}.hero-power.is-on:hover{background:var(--semantic-hover,var(--semantic-surface));border-color:var(--semantic);box-shadow:var(--shadow-3),0 0 32px var(--semantic-glow,transparent)}}.hero-power:active{transform:scale(.95)}.hero-state{text-align:center;color:var(--ink-secondary);margin:-7px 0 -2px;font-size:12px}.boost-button{isolation:isolate;border:1px solid var(--semantic-border,color-mix(in srgb,var(--semantic) 16%,transparent));min-height:44px;color:var(--semantic-ink,var(--semantic));background:var(--semantic-surface,#fff);box-shadow:var(--shadow-1);transition:transform var(--press),color .3s,box-shadow var(--hover),border-color .3s;border-radius:14px;font-weight:600;position:relative;overflow:hidden}.boost-button__fill{z-index:-1;aspect-ratio:1;background:var(--semantic);width:150%;transition:transform .7s var(--ease-ui);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.boost-button.is-active{color:#fff;box-shadow:0 12px 28px color-mix(in srgb,var(--semantic) 17%,transparent);border-color:#0000}.boost-button.is-active .boost-button__fill{transform:translate(-50%,-50%)scale(1)}@media (hover:hover) and (pointer:fine){.boost-button:hover{background:var(--semantic-hover,var(--control-hover));border-color:var(--semantic);box-shadow:var(--shadow-control-hover),0 7px 22px var(--semantic-glow,transparent);transform:translateY(-2px)}.boost-button.is-active:hover .boost-button__fill{background:var(--semantic-strong,var(--semantic))}}.boost-button:active{box-shadow:var(--shadow-1);transform:translateY(1px)scale(.98)}.slider-card{box-shadow:var(--shadow-1);-webkit-backdrop-filter:blur(14px);background:#ffffffc7;border:1px solid #1113180d;border-radius:16px;padding:14px}.slider-card__head{color:var(--ink-secondary);justify-content:space-between;margin-bottom:13px;font-size:12px;display:flex}.slider-card__head strong{color:var(--ink);font-weight:600}input[type=range]{appearance:none;background:linear-gradient(90deg,var(--semantic),var(--semantic)) 0/var(--range,60%) 100% no-repeat,var(--surface-sunken);border-radius:999px;outline:0;width:100%;height:6px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--semantic);border:4px solid #fff;border-radius:50%;width:24px;height:24px;box-shadow:0 0 0 1px #1113181a,0 4px 12px #1113182e}.outlet-list{--semantic:var(--plug);--semantic-strong:var(--plug-strong);--semantic-ink:var(--plug-ink);--semantic-soft:var(--plug-soft);--semantic-surface:var(--plug-surface);--semantic-border:var(--plug-border);--semantic-glow:var(--plug-glow);display:grid}.panel-note{color:var(--ink-secondary);margin:2px 0 9px;font-size:12px}.outlet-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:64px;padding:8px 2px;display:flex}.outlet-row>div{gap:3px;display:grid}.outlet-row strong{color:var(--ink);font-size:13px}.outlet-row span{color:var(--ink-secondary);font-size:11px}.toggle-switch{width:46px;height:28px;transition:background .34s var(--ease-enter),box-shadow .34s var(--ease-enter);background:#dde1e5;border-radius:999px;position:relative;box-shadow:inset 0 1px 3px #11131824,0 0 0 1px #11131809}.toggle-switch span{width:22px;height:22px;transition:transform .34s var(--ease-enter);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #11131833}.toggle-switch.is-on{background:var(--plug);box-shadow:inset 0 1px 2px #1113181a,0 0 0 1px #4b55631f,0 5px 14px var(--plug-glow)}.toggle-switch.is-on span{transform:translate(18px)}@media (hover:hover) and (pointer:fine){.toggle-switch:hover{background:#cdd2d8;box-shadow:inset 0 1px 3px #11131824,0 5px 14px #1113181a}.toggle-switch.is-on:hover{background:var(--plug-strong);box-shadow:0 8px 20px var(--plug-glow),inset 0 1px 2px #1113181a}}.toggle-switch:active{transform:scale(.96)}.toggle-switch:active span{scale:.9}.system-button[data-semantic=light]{--system-color:var(--light);--system-ink:var(--light-ink);--system-soft:var(--light-surface)}.system-button[data-semantic=cool]{--system-color:var(--cool);--system-ink:var(--cool-ink);--system-soft:var(--cool-surface)}.system-button[data-semantic=air]{--system-color:var(--air);--system-ink:var(--air-ink);--system-soft:var(--air-surface)}.system-button[data-semantic=heat]{--system-color:var(--heat);--system-ink:var(--heat-ink);--system-soft:var(--heat-surface)}.system-button[data-semantic=drape]{--system-color:var(--drape);--system-ink:var(--drape-ink);--system-soft:var(--drape-surface)}.system-button[data-semantic=plug]{--system-color:var(--plug);--system-ink:var(--plug-ink);--system-soft:var(--plug-surface)}.dock-wrap{padding:9px 14px 43px}.system-dock{-webkit-backdrop-filter:blur(22px);background:#ffffff9e;border:1px solid #1113180d;border-radius:21px;padding:8px 5px 6px;overflow:visible;box-shadow:0 10px 36px #1113180e,0 0 0 1px #1113180a,inset 0 1px #ffffffeb}.system-dock__track{scrollbar-width:none;gap:3px;padding:5px 1px 3px;display:flex;overflow-x:auto}.system-dock__track::-webkit-scrollbar{display:none}.system-button{min-height:57px;color:var(--ink-secondary);opacity:.62;transition:opacity .3s,transform .6s var(--ease-ui),background .3s,box-shadow .6s var(--ease-ui),color .3s,border-color .3s;border:1px solid #0000;border-radius:15px;flex-direction:column;flex:0 0 64px;align-items:center;gap:4px;padding:7px 3px 5px;display:flex;position:relative}.system-button__dot{background:var(--system-color,var(--accent));opacity:0;border-radius:50%;width:6px;height:6px;position:absolute;top:6px;right:9px;transform:scale(0)}.system-button__icon{place-items:center;height:24px;display:grid}.system-button__label{white-space:nowrap;font-size:9px}.system-button.is-active{opacity:1;color:var(--system-ink,var(--accent));background:#fff;border-color:#1113180b;transform:translateY(-2px);box-shadow:0 8px 24px #1113181c,0 0 0 1px #11131809,inset 0 1px #fff}.system-button.is-active .system-button__dot{animation:dotSettle .42s var(--ease-enter) both}.system-button.is-active .system-button__icon{color:var(--system-color,var(--accent))}@media (hover:hover) and (pointer:fine){.system-dock__track:hover .system-button{opacity:.42}.system-dock__track:hover .system-button:hover,.system-dock__track:hover .system-button.is-active{opacity:1}.system-button:not(.is-active):hover{background:var(--control-hover);border-color:var(--control-border-hover);box-shadow:var(--shadow-control-hover);color:var(--ink);transform:translateY(-2px)}.system-button.is-active:hover{background:var(--system-soft,#fff);border-color:color-mix(in srgb,var(--system-color) 34%,var(--control-border));box-shadow:0 13px 30px #11131821,0 7px 22px color-mix(in srgb,var(--system-color) 10%,transparent);transform:translateY(-3px)}}.system-button:active{transition-duration:var(--press);transform:translateY(0)scale(.96)}.sheet-scrim{z-index:50;-webkit-backdrop-filter:blur(10px);background:#11131847;justify-content:center;align-items:flex-end;padding:20px;display:flex;position:fixed;inset:0}.room-sheet{width:min(360px,100%);box-shadow:var(--shadow-modal);-webkit-backdrop-filter:blur(26px);animation:sheetEnter .52s var(--ease-enter) both;background:#ffffffeb;border:1px solid #ffffffd1;border-radius:24px;padding:14px}.room-sheet__header{color:var(--ink-secondary);grid-template-columns:1fr auto 1fr;align-items:center;padding:4px 4px 12px;font-size:12px;display:grid}.room-sheet__header>:last-child{justify-self:end}.text-action{color:var(--ink-secondary);padding:8px}.text-action--strong{color:var(--accent);font-weight:600}.floor-tabs{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.floor-tabs button{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:52px;color:var(--ink-secondary);letter-spacing:.08em;text-transform:uppercase;font-size:11px;transition:background .32s,color .32s;position:relative}.floor-tabs button:after{content:"";background:var(--accent);transform-origin:0;height:2px;transition:transform .32s var(--ease-enter);position:absolute;bottom:-1px;left:14px;right:14px;transform:scaleX(0)}.floor-tabs__dot{background:var(--accent);opacity:0;width:6px;height:6px;transition:opacity .3s,transform .3s var(--ease-enter);border-radius:50%;margin-right:7px;display:inline-block;transform:scale(0)}@media (hover:hover) and (pointer:fine){.floor-tabs button:hover{background:var(--control-hover);color:var(--ink)}.floor-tabs button.is-active:hover{background:var(--accent-soft)}}.floor-tabs button.is-active{color:var(--ink);background:var(--accent-faint)}.floor-tabs button.is-active:after{transform:scaleX(1)}.floor-tabs button.is-active .floor-tabs__dot{opacity:1;transform:scale(1)}.room-list{padding-top:8px;display:grid}.room-list button{min-height:46px;color:var(--ink-secondary);text-align:left;animation:rowEnter .55s var(--ease-enter) both;animation-delay:var(--row-delay);border-radius:12px;justify-content:space-between;align-items:center;padding:0 12px;display:flex}@media (hover:hover) and (pointer:fine){.room-list button:hover{background:var(--control-hover);color:var(--ink);transform:translateY(-1px)}}.room-list button.is-active{color:var(--accent);background:var(--accent-soft)}.room-list__marker{opacity:.7;background:currentColor;border-radius:50%;width:7px;height:7px}.room-glance{color:var(--ink-secondary);pointer-events:none;-webkit-user-select:none;user-select:none;gap:3px;padding-bottom:1px;display:grid}.room-glance strong{font-family:var(--font-display);letter-spacing:-.025em;color:var(--ink);font-size:18px;font-weight:500;line-height:1}.room-glance span{white-space:nowrap;align-items:center;gap:5px;font-size:9.5px;font-weight:500;display:flex}.room-glance__dot{--room-state:var(--cool);background:var(--room-state);width:6px;height:6px;box-shadow:0 0 0 3px color-mix(in srgb,var(--room-state) 10%,transparent);border-radius:50%;flex:0 0 6px}.room-glance__dot[data-semantic=cool]{--room-state:var(--cool)}.room-glance__dot[data-semantic=heat]{--room-state:var(--heat)}.room-glance__dot[data-semantic=air]{--room-state:var(--air)}.room-glance__dot[data-semantic=plug]{--room-state:var(--plug)}.panel-status-row--actions{grid-template-columns:32px 1fr 32px;align-items:center;gap:10px;margin-bottom:-1px;display:grid}.panel-status-row--actions .status-badge{justify-self:center}.panel-status-row--with-more{grid-template-columns:1fr 32px;align-items:center;gap:10px;margin-bottom:-1px;display:grid}.panel-status-row--with-more .status-badge{justify-self:center;transform:translate(21px)}.system-power.is-on{color:var(--semantic-ink,var(--semantic));border-color:var(--semantic-border,var(--control-border));background:var(--semantic-surface,#fff);box-shadow:0 5px 14px var(--semantic-glow,#11131814),inset 0 1px 0 #ffffffeb}.hold-action{isolation:isolate;position:relative;overflow:hidden}.hold-action__progress{pointer-events:none;background:color-mix(in srgb,var(--semantic,var(--accent)) 14%,transparent);transform-origin:0;opacity:0;inset:0;transform:scaleX(0);z-index:0!important;position:absolute!important}.hold-action.is-holding .hold-action__progress{opacity:1;animation:.62s linear forwards holdFill}.hold-action>:not(.hold-action__progress){z-index:1;position:relative}@keyframes holdFill{to{transform:scaleX(1)}}.control-sheet{--semantic:var(--accent);--semantic-ink:var(--accent-hover);--semantic-surface:var(--accent-faint);--semantic-hover:var(--accent-soft);--semantic-border:color-mix(in srgb,var(--accent) 22%,var(--line));--semantic-glow:#1769e01a;width:min(390px,100%);max-height:min(720px,100svh - 24px);box-shadow:var(--shadow-modal);-webkit-backdrop-filter:blur(28px);animation:sheetEnter .52s var(--ease-enter) both;scrollbar-width:none;background:#fffffff0;border:1px solid #ffffffd6;border-radius:26px;padding:17px;overflow-y:auto}.control-sheet::-webkit-scrollbar{display:none}.control-sheet[data-semantic=light]{--semantic:var(--light);--semantic-ink:var(--light-ink);--semantic-surface:var(--light-surface);--semantic-hover:var(--light-hover);--semantic-border:var(--light-border);--semantic-glow:var(--light-glow)}.control-sheet[data-semantic=cool]{--semantic:var(--cool);--semantic-ink:var(--cool-ink);--semantic-surface:var(--cool-surface);--semantic-hover:var(--cool-hover);--semantic-border:var(--cool-border);--semantic-glow:var(--cool-glow)}.control-sheet[data-semantic=air]{--semantic:var(--air);--semantic-ink:var(--air-ink);--semantic-surface:var(--air-surface);--semantic-hover:var(--air-hover);--semantic-border:var(--air-border);--semantic-glow:var(--air-glow)}.control-sheet__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:1px 1px 14px;display:flex}.control-sheet__header h2{font-family:var(--font-display);letter-spacing:-.035em;color:var(--ink);margin:4px 0 0;font-size:26px;font-weight:500;line-height:1}.control-sheet__close{font-size:22px;font-weight:300;line-height:1;transform:translateY(-1px)}.control-sheet__hero{justify-content:space-between;align-items:baseline;padding:18px 2px 10px;display:flex}.control-sheet__hero strong{font-family:var(--font-display);letter-spacing:-.05em;color:var(--ink);font-size:48px;font-weight:400}.control-sheet__hero span{color:var(--ink-secondary);font-size:11px}.control-sheet__group{gap:8px;padding-top:15px;display:grid}.control-sheet__group+.control-sheet__group{border-top:1px solid var(--line);margin-top:3px;padding-top:15px}.control-sheet__action-group{border-top:1px solid var(--line);gap:8px;margin-top:13px;padding-top:15px;display:grid}.control-sheet__action-group .boost-button{width:100%}.control-sheet .choice-rail{gap:7px}.control-sheet .choice-rail button{padding-inline:6px;font-size:11px}.control-sheet__slider{margin-top:2px}.control-sheet__readout-row,.control-sheet__readout-grid{border-block:1px solid var(--line);grid-template-columns:1fr 1fr;margin-top:15px;display:grid}.control-sheet__readout-grid .metric-card:nth-child(2n),.control-sheet__readout-row .metric-card:nth-child(2n){border-left:1px solid var(--line)}.control-sheet__readout-grid .metric-card:nth-child(n+3){border-top:1px solid var(--line)}@media (width<=430px){.room-glance strong{font-size:16px}.room-glance span{font-size:9px}.control-sheet{border-radius:24px 24px 0 0;max-height:86svh}.sheet-scrim{align-items:flex-end;padding:0}}.control-sheet[data-semantic=heat]{--semantic:var(--heat);--semantic-ink:var(--heat-ink);--semantic-surface:var(--heat-surface);--semantic-hover:var(--heat-hover);--semantic-border:var(--heat-border);--semantic-glow:var(--heat-glow)}.room-row{align-items:center;gap:12px;margin-top:8px}.room-selector{min-width:0;min-height:44px;color:var(--ink);box-shadow:none;cursor:pointer;transition:background-color .28s ease-out, border-color .28s ease-out, box-shadow .36s var(--ease-ui), transform .36s var(--ease-ui);background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:7px;margin-left:-10px;padding:0 10px;display:inline-flex;position:relative}.room-selector__name{text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-ui);letter-spacing:-.025em;font-size:24px;font-weight:500;line-height:1;overflow:hidden}.room-selector__chevron{width:19px;height:19px;color:var(--ink-tertiary);transition:color .25s ease-out,transform .36s var(--ease-ui);flex:0 0 19px;place-items:center;display:grid}@media (hover:hover) and (pointer:fine){.room-selector:hover{background:var(--control-hover);border-color:color-mix(in srgb,var(--control-border) 72%,transparent);box-shadow:var(--shadow-control);transform:translateY(-1px)}.room-selector:hover .room-selector__chevron{color:var(--ink);transform:translateY(1px)}}.room-selector:active{background:var(--surface-pressed);box-shadow:var(--shadow-1);transition-duration:.11s;transform:translateY(1px)scale(.985)}.room-selector:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 52%,transparent);outline-offset:2px}.room-glance{min-width:0;color:var(--ink-secondary);pointer-events:none;-webkit-user-select:none;user-select:none;justify-content:flex-end;align-items:center;gap:9px;padding:0;display:flex}.room-glance--mode-only{margin-left:auto}.room-glance__item{white-space:nowrap;min-width:0;color:var(--ink-secondary);align-items:center;gap:5px;display:inline-flex}.room-glance__item>svg{color:var(--ink-tertiary);flex:none}.room-glance__item strong{font-family:var(--font-display);letter-spacing:-.025em;color:var(--ink);font-size:18px;font-weight:500;line-height:1}.room-glance__divider{background:var(--line);flex:0 0 1px;width:1px;height:18px;display:block}.room-glance__item--mode{--room-state:var(--cool);color:var(--ink)}.room-glance__item--mode[data-semantic=cool]{--room-state:var(--cool)}.room-glance__item--mode[data-semantic=heat]{--room-state:var(--heat)}.room-glance__item--mode[data-semantic=air]{--room-state:var(--air)}.room-glance__item--mode[data-semantic=plug]{--room-state:var(--plug)}.room-glance__mode-icon{width:22px;height:22px;color:var(--room-state);background:color-mix(in srgb,var(--room-state) 9%,transparent);border-radius:50%;flex:0 0 22px;place-items:center;display:grid}.room-glance__mode-text{text-overflow:ellipsis;color:var(--ink-secondary);font-size:10.5px;font-weight:600;overflow:hidden}@media (width<=390px){.room-selector__name{font-size:22px}.room-glance{gap:6px}.room-glance__item{gap:4px}.room-glance__item strong{font-size:17px}.room-glance__mode-icon{flex-basis:20px;width:20px;height:20px}.room-glance__mode-text{max-width:58px;font-size:9.5px}}:root{--app-pad-x:22px;--context-side:22px;--context-row-h:34px;--context-font:9.5px;--header-pad-top:4px;--header-pad-bottom:7px;--room-font:24px;--scene-pad-top:9px;--scene-pad-bottom:8px;--scene-gap:9px;--content-pad-top:8px;--content-pad-bottom:12px;--grid-gap:12px;--card-min-h:120px;--dock-side:14px;--dock-pad-top:8px;--dock-gap:3px;--dock-item-h:57px;--dock-radius:21px;--profile-bottom-gap:10px;--profile-top-min:12px;--sheet-radius:28px}html[data-device-profile=iphone-pro]{--app-pad-x:22px;--context-side:22px;--context-row-h:32px;--context-font:9.5px;--header-pad-top:3px;--room-font:24px;--scene-gap:9px;--grid-gap:12px;--card-min-h:120px;--dock-side:14px;--dock-item-h:57px;--profile-bottom-gap:9px}html[data-device-profile=iphone-max]{--app-pad-x:25px;--context-side:25px;--context-row-h:35px;--context-font:10px;--header-pad-top:6px;--header-pad-bottom:9px;--room-font:26px;--scene-pad-top:11px;--scene-pad-bottom:10px;--scene-gap:10px;--content-pad-top:10px;--content-pad-bottom:16px;--grid-gap:14px;--card-min-h:130px;--dock-side:17px;--dock-pad-top:10px;--dock-gap:4px;--dock-item-h:60px;--dock-radius:23px;--profile-bottom-gap:11px}html[data-device-profile=galaxy-ultra]{--app-pad-x:20px;--context-side:20px;--context-row-h:38px;--context-font:9.5px;--profile-top-min:16px;--header-pad-top:4px;--room-font:24px;--scene-gap:8px;--content-pad-top:7px;--grid-gap:11px;--card-min-h:118px;--dock-side:12px;--dock-item-h:58px;--dock-radius:20px;--profile-bottom-gap:13px}html[data-device-profile=pixel-xl]{--app-pad-x:26px;--context-side:26px;--context-row-h:40px;--context-font:10px;--profile-top-min:18px;--header-pad-top:7px;--header-pad-bottom:10px;--room-font:27px;--scene-pad-top:12px;--scene-pad-bottom:10px;--scene-gap:10px;--content-pad-top:11px;--content-pad-bottom:17px;--grid-gap:14px;--card-min-h:132px;--dock-side:18px;--dock-pad-top:11px;--dock-gap:4px;--dock-item-h:61px;--dock-radius:23px;--profile-bottom-gap:14px}html[data-device-profile=xiaomi-ultra]{--app-pad-x:21px;--context-side:21px;--context-row-h:37px;--context-font:9.5px;--profile-top-min:16px;--header-pad-top:5px;--room-font:24px;--scene-gap:9px;--content-pad-top:8px;--grid-gap:12px;--card-min-h:120px;--dock-side:13px;--dock-item-h:58px;--profile-bottom-gap:13px}html[data-device-profile=fluid]{--app-pad-x:clamp(18px,5.4vw,26px);--context-side:var(--app-pad-x);--context-row-h:clamp(32px,9vw,40px);--room-font:clamp(22px,6.2vw,27px);--scene-gap:clamp(8px,2.2vw,10px);--grid-gap:clamp(10px,3vw,14px);--card-min-h:clamp(116px,30vw,132px);--dock-side:clamp(10px,3.3vw,18px);--dock-item-h:clamp(56px,15vw,61px);--profile-bottom-gap:clamp(9px,3vw,14px)}@media (width<=374px){:root{--app-pad-x:17px;--context-side:17px;--room-font:21px;--grid-gap:9px;--card-min-h:112px;--dock-side:8px;--dock-gap:2px}}@media (height<=780px) and (orientation:portrait){:root{--context-row-h:29px;--header-pad-top:1px;--header-pad-bottom:4px;--scene-pad-top:5px;--scene-pad-bottom:5px;--content-pad-top:5px;--content-pad-bottom:7px;--card-min-h:108px;--dock-pad-top:6px;--profile-bottom-gap:6px}}html{background:var(--surface);overscroll-behavior:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;width:100%;min-width:320px;min-height:100%}body,#root{background:var(--surface);width:100%;min-width:320px;min-height:100dvh;margin:0}body{overscroll-behavior:none;touch-action:manipulation;-webkit-user-select:none;user-select:none;overflow:hidden}input{-webkit-user-select:auto;user-select:auto}.mobile-shell{background:var(--surface);justify-content:center;width:100%;height:100dvh;min-height:100dvh;display:flex;position:fixed;inset:0;overflow:hidden}.mobile-app{--context-semantic:var(--accent);--context-glow:var(--accent-ring);background:var(--surface);width:100%;max-width:480px;height:100%;min-height:0;overflow:hidden}.mobile-app[data-system=light]{--context-semantic:var(--light);--context-glow:var(--light-glow)}.mobile-app[data-system=cool]{--context-semantic:var(--cool);--context-glow:var(--cool-glow)}.mobile-app[data-system=air]{--context-semantic:var(--air);--context-glow:var(--air-glow)}.mobile-app[data-system=heat]{--context-semantic:var(--heat);--context-glow:var(--heat-glow)}.mobile-app[data-system=drape]{--context-semantic:var(--drape);--context-glow:var(--drape-glow)}.mobile-app[data-system=plug]{--context-semantic:var(--plug);--context-glow:var(--plug-glow)}.app-surface{background:var(--surface);border-radius:0;flex-direction:column;width:100%;height:100%;min-height:0;display:flex;overflow:hidden}.device-context-bar{--safe-top:max(env(safe-area-inset-top,0px),var(--profile-top-min));flex:0 0 calc(var(--safe-top) + var(--context-row-h));height:calc(var(--safe-top) + var(--context-row-h));color:var(--ink-secondary);font-size:var(--context-font);letter-spacing:.11em;text-transform:uppercase;font-weight:600;line-height:1;position:relative}.device-context-bar__home,.device-context-bar__system{z-index:3;text-overflow:ellipsis;white-space:nowrap;max-width:44%;position:absolute;top:auto;bottom:10px;overflow:hidden}.device-context-bar__home{left:var(--context-side)}.device-context-bar__system{right:var(--context-side);text-align:right;padding-bottom:6px}.app-header{padding:var(--header-pad-top) var(--app-pad-x) var(--header-pad-bottom)}.room-row{gap:clamp(8px,2.8vw,14px);margin-top:0}.room-selector{gap:6px;min-height:44px;margin-left:-8px;padding-inline:8px}.room-selector__name{font-size:var(--room-font)}.room-glance{flex:0 auto}.scene-section{padding:var(--scene-pad-top) var(--app-pad-x) var(--scene-pad-bottom)}.scene-section:after{right:calc(var(--app-pad-x) - 4px);bottom:var(--scene-pad-bottom)}.scene-strip{gap:var(--scene-gap);overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;margin:7px -2px -5px;padding:4px 2px 12px;scroll-padding-inline:2px}.floating-chip{min-height:44px;padding-inline:clamp(13px,3.8vw,16px)}.content-stage{min-height:0;padding:var(--content-pad-top) var(--app-pad-x) var(--content-pad-bottom);overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;flex:auto;overflow:hidden auto}.panel-grid{gap:var(--grid-gap);padding-top:2px}.device-card{min-height:var(--card-min-h);border-radius:clamp(15px,4vw,18px)}.device-card__main{min-height:var(--card-min-h);padding:clamp(13px,3.5vw,16px)}.device-card__top{padding-right:38px}.device-card__more{top:7px;right:7px}.icon-button--small{width:44px;height:44px}.device-card__more.icon-button--small{width:44px;height:44px;box-shadow:none;background:0 0;border-color:#0000}.panel-status-row--actions{grid-template-columns:44px 1fr 44px}.panel-status-row--with-more{grid-template-columns:1fr 44px}.panel-status-row--with-more .status-badge{transform:translate(27px)}.dock-wrap{padding:var(--dock-pad-top) var(--dock-side) calc(max(env(safe-area-inset-bottom,0px),0px) + var(--profile-bottom-gap));background:linear-gradient(#fff0,#ffffffe0 28%,#fff 68%);flex:none}.system-dock{border-radius:var(--dock-radius);padding:7px 5px 6px}.system-dock__track{gap:var(--dock-gap);grid-template-columns:repeat(6,minmax(0,1fr));padding:4px 1px 3px;display:grid;overflow:visible}.system-button{width:auto;min-width:0;min-height:var(--dock-item-h);flex:none;padding:7px 1px 5px}.system-button__label{text-overflow:ellipsis;max-width:100%;font-size:clamp(8px,2.25vw,9.5px);overflow:hidden}.system-button__dot{right:clamp(5px,1.7vw,9px)}.sheet-scrim{overscroll-behavior:none;background:#1113184f;align-items:flex-end;padding:0}.room-sheet,.control-sheet{border-radius:var(--sheet-radius) var(--sheet-radius) 0 0;width:100%;max-width:none;padding-left:max(16px,var(--app-pad-x));padding-right:max(16px,var(--app-pad-x));padding-bottom:calc(17px + max(env(safe-area-inset-bottom,0px),8px));border-bottom:0;border-left:0;border-right:0;margin:0}.room-sheet{padding-top:14px}.control-sheet{max-height:calc(100dvh - max(env(safe-area-inset-top,0px),12px) - 8px);padding-top:17px}.room-sheet__header .text-action{align-items:center;min-height:44px;display:flex}.control-sheet__header .icon-button--small{flex:0 0 44px}.orientation-guard{display:none}@media (width<=390px){.room-glance__mode-text{max-width:54px}.device-card__name{font-size:12px}.device-card__value{font-size:17px}.system-dock{padding-inline:4px}}@media (height<=780px) and (orientation:portrait){.feature-panel{gap:9px}.hero-reading{padding-block:0}.hero-reading strong{font-size:48px}.hero-reading p{margin-top:4px}.target-stepper{min-height:66px}.slider-card{padding:13px}.scene-strip{padding-bottom:8px}.system-dock{padding-top:5px;padding-bottom:4px}.system-button{padding-top:5px;padding-bottom:3px}}@media (orientation:landscape) and (height<=520px){.mobile-app{filter:blur(10px);pointer-events:none;transform:scale(1.02)}.orientation-guard{z-index:100;padding:24px max(24px,env(safe-area-inset-left));color:var(--ink);text-align:center;-webkit-backdrop-filter:blur(18px);background:#f6f6f3f5;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:fixed;inset:0}.orientation-guard__phone{opacity:.78;border:2px solid;border-radius:7px;width:29px;height:48px;margin-bottom:5px;transform:rotate(-90deg)}.orientation-guard strong{font-family:var(--font-display);font-size:24px;font-weight:500}.orientation-guard span{max-width:34ch;color:var(--ink-secondary);font-size:12px;line-height:1.45}}.toggle-switch{width:46px;height:44px;box-shadow:none;background:0 0}.toggle-switch:before{content:"";height:28px;transition:background .34s var(--ease-enter),box-shadow .34s var(--ease-enter);background:#dde1e5;border-radius:999px;position:absolute;top:8px;left:0;right:0;box-shadow:inset 0 1px 3px #11131824,0 0 0 1px #11131809}.toggle-switch span{top:11px;left:3px}.toggle-switch.is-on{box-shadow:none;background:0 0}.toggle-switch.is-on:before{background:var(--plug);box-shadow:inset 0 1px 2px #1113181a,0 0 0 1px #4b55631f,0 5px 14px var(--plug-glow)}input[type=range]{appearance:none;touch-action:pan-y;background:0 0;width:100%;height:44px;margin:-10px 0}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg,var(--semantic),var(--semantic)) 0/var(--range,60%) 100% no-repeat,var(--surface-sunken);border-radius:999px;height:6px}input[type=range]::-webkit-slider-thumb{width:24px;height:24px;margin-top:-9px}input[type=range]::-moz-range-track{background:var(--surface-sunken);border-radius:999px;height:6px}input[type=range]::-moz-range-progress{background:var(--semantic);border-radius:999px;height:6px}input[type=range]::-moz-range-thumb{background:var(--semantic);border:4px solid #fff;border-radius:50%;width:18px;height:18px;box-shadow:0 0 0 1px #1113181a,0 4px 12px #1113182e}.install-experience{z-index:200;padding:16px max(16px,env(safe-area-inset-right)) calc(16px + max(env(safe-area-inset-bottom),0px)) max(16px,env(safe-area-inset-left));pointer-events:none;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.install-experience__scrim{-webkit-backdrop-filter:blur(14px);pointer-events:auto;background:#11131852;position:absolute;inset:0}.install-card{width:min(100%,430px);max-height:calc(100dvh - max(24px,env(safe-area-inset-top)) - 24px);color:var(--ink);-webkit-backdrop-filter:blur(30px)saturate(1.18);pointer-events:auto;background:#fffffff5;border:1px solid #11131814;border-radius:30px;padding:24px 22px 20px;position:relative;overflow:auto;box-shadow:0 28px 80px #11131838,0 2px 12px #11131814}.install-card__device-mark{background:#f6f6f3db;border:1px solid #11131814;border-radius:17px;place-items:center;width:52px;height:52px;margin-bottom:20px;display:grid;box-shadow:0 6px 22px #11131814}.install-card__device-mark .install-glyph{width:25px;height:25px}.install-card__eyebrow{color:var(--ink-secondary);letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px;font-size:10px;font-weight:700;line-height:1.2;display:block}.install-card h2{max-width:10ch;font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:clamp(30px,8.6vw,38px);font-weight:500;line-height:.98}.install-card>p{max-width:34ch;color:var(--ink-secondary);margin:15px 0 0;font-size:14px;line-height:1.52}.install-card__actions{grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:24px;display:grid}.install-card__primary,.install-card__secondary,.install-guide-screen__back,.install-guide-screen__close,.install-guide-screen__continue{font:inherit;cursor:pointer;border:0}.install-card__primary,.install-card__secondary{letter-spacing:.09em;text-transform:uppercase;border-radius:999px;min-height:50px;font-size:12px;font-weight:700}.install-card__primary{background:var(--ink);color:#fff;padding:0 20px;box-shadow:0 8px 24px #1113182e}.install-card__secondary{color:var(--ink-secondary);background:0 0;padding:0 14px}.install-card__note{color:#1113186b;margin-top:14px;font-size:10px;line-height:1.45;display:block}.install-card__primary:focus-visible,.install-card__secondary:focus-visible,.install-guide-screen button:focus-visible,.install-guide-screen a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.install-guide-screen{z-index:210;width:100vw;height:100dvh;color:var(--ink);background:#f7f7f4;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:fixed;inset:0;overflow:hidden}.install-guide-screen__top{min-height:calc(58px + env(safe-area-inset-top));padding:max(10px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) 8px max(14px,env(safe-area-inset-left));-webkit-backdrop-filter:blur(20px);background:#f7f7f4e8;border-bottom:1px solid #1113180f;grid-template-columns:64px 1fr 64px;align-items:center;display:grid}.install-guide-screen__brand{color:#1113188f;letter-spacing:.18em;justify-self:center;font-size:10px;font-weight:700}.install-guide-screen__back{min-height:42px;color:var(--ink-secondary);background:0 0;justify-self:start;padding:0 8px;font-size:13px;font-weight:600}.install-guide-screen__close{width:42px;height:42px;color:var(--ink);background:#1113180e;border-radius:50%;justify-self:end;place-items:center;font-size:25px;font-weight:300;line-height:1;display:grid}.install-guide-screen__body{overscroll-behavior:contain;padding:clamp(24px,5dvh,48px) max(20px,calc(env(safe-area-inset-right) + 20px)) 28px max(20px,calc(env(safe-area-inset-left) + 20px));overflow:auto}.install-guide-screen__intro{width:min(100%,520px);margin:0 auto}.install-guide-screen__eyebrow{color:var(--ink-secondary);letter-spacing:.16em;margin-bottom:11px;font-size:10px;font-weight:700;display:block}.install-guide-screen__intro h2{max-width:10ch;font-family:var(--font-display);letter-spacing:-.045em;margin:0;font-size:clamp(38px,11vw,56px);font-weight:500;line-height:.94}.install-guide-screen__intro p{max-width:35ch;color:var(--ink-secondary);margin:16px 0 0;font-size:14px;line-height:1.55}.install-visual{width:min(100%,520px);margin:clamp(28px,5dvh,46px) auto 0;display:grid;position:relative}.install-visual__step{background:#ffffffd6;border:1px solid #11131813;border-radius:23px;grid-template-columns:30px 52px minmax(0,1fr);align-items:center;gap:11px;min-height:78px;padding:12px 14px 12px 10px;display:grid;position:relative;box-shadow:0 10px 35px #1113180e}.install-visual__step--toggle,.install-visual__step--finish{grid-template-columns:30px minmax(0,1fr) auto}.install-visual__number{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;font-size:11px;font-weight:700;display:grid}.install-visual__icon{width:52px;height:52px;color:var(--ink);background:#f2f2ee;border-radius:17px;place-items:center;display:grid}.install-visual__copy{gap:3px;min-width:0;display:grid}.install-visual__copy strong{color:var(--ink);font-size:14px;font-weight:700;line-height:1.24}.install-visual__copy small{color:var(--ink-secondary);font-size:11px;line-height:1.35}.install-visual__connector{background:#11131826;width:1px;height:15px;margin:0 0 0 25px}.install-glyph{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:29px;height:29px;overflow:visible}.install-glyph--material,.install-glyph__fill{fill:currentColor;stroke:none}.install-toggle{background:#34c759;border-radius:999px;width:50px;height:30px;position:relative;box-shadow:inset 0 0 0 1px #00000008}.install-toggle i{background:#fff;border-radius:50%;width:26px;height:26px;position:absolute;top:2px;right:2px;box-shadow:0 2px 6px #00000038}.install-system-button{color:#fff;background:#0a84ff;border-radius:12px;place-items:center;min-width:61px;height:35px;padding:0 13px;font-size:12px;font-weight:700;display:grid}.install-system-button--android{background:#1a73e8;border-radius:999px}.install-guide-screen__official{color:var(--ink-secondary);align-items:center;gap:6px;margin:22px 0 0;font-size:11px;font-weight:600;text-decoration:none;display:inline-flex}.install-guide-screen__footer{padding:12px max(20px,calc(env(safe-area-inset-right) + 20px)) calc(14px + max(env(safe-area-inset-bottom),0px)) max(20px,calc(env(safe-area-inset-left) + 20px));-webkit-backdrop-filter:blur(20px);background:#f7f7f4f0;border-top:1px solid #1113180f}.install-guide-screen__continue{background:var(--ink);color:#fff;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;width:min(100%,520px);min-height:50px;margin:0 auto;font-size:12px;font-weight:700;display:block}.install-android-browser{background:#fff;border:1px solid #11131813;border-radius:24px;grid-template-columns:minmax(0,1fr) 44px;align-items:center;min-height:58px;margin-bottom:14px;padding:7px 8px 7px 14px;display:grid;box-shadow:0 10px 35px #1113180e}.install-android-browser__address{color:#111318a3;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.install-android-browser__more{width:44px;height:44px;color:var(--ink);border-radius:50%;place-items:center;display:grid}.install-android-browser__more .install-glyph{width:24px;height:24px}@media (width>=700px){.install-experience{align-items:center}}@media (height<=760px){.install-guide-screen__body{padding-top:20px;padding-bottom:20px}.install-guide-screen__intro h2{font-size:clamp(34px,9vw,46px)}.install-visual{margin-top:22px}.install-visual__step{min-height:68px}.install-visual__icon{border-radius:15px;width:46px;height:46px}.install-visual__connector{height:9px}}@media (prefers-reduced-motion:no-preference){.install-experience__scrim{animation:.22s ease-out both install-fade-in}.install-card{animation:.34s cubic-bezier(.22,.8,.24,1) both install-card-in}.install-guide-screen{animation:.28s cubic-bezier(.22,.8,.24,1) both install-guide-in}}@keyframes install-fade-in{0%{opacity:0}to{opacity:1}}@keyframes install-card-in{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:none}}@keyframes install-guide-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
