.main-header{--header-float-size: 64px;--header-float-offset: 12px;display:flex;justify-content:space-between;align-items:center;height:var(--nav-h);padding:0 calc(env(safe-area-inset-right,0px) + var(--header-float-size) + 1.1rem) 0 calc(env(safe-area-inset-left,0px) + var(--header-float-size) + 1.1rem);color:var(--c-nav-fg);background:var(--c-nav-bg);width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);position:relative;overflow:visible;z-index:var(--layer-header)}.main-header:before,.main-header:after{content:"";position:absolute;top:50%;width:var(--header-float-size);height:var(--header-float-size);border-radius:999px;background:var(--c-nav-bg);transform:translateY(-50%);pointer-events:none}.main-header:before{left:calc(env(safe-area-inset-left,0px) + var(--header-float-offset) - (var(--header-float-size) / 2))}.main-header:after{right:calc(env(safe-area-inset-right,0px) + var(--header-float-offset) - (var(--header-float-size) / 2))}body.magic-blowup-open .main-header{display:none}.floating-header-bridge{--header-float-size: 68px;--header-float-offset: 0px;position:fixed;top:0;left:0;right:0;height:calc(env(safe-area-inset-top,0px) + var(--header-float-size));padding-top:env(safe-area-inset-top,0px);width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);background:color-mix(in srgb,var(--c-nav-bg) 92%,black 8%);border-bottom:none;border-radius:0 0 20px 20px;box-shadow:none;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:var(--layer-header);pointer-events:auto}.floating-header-bridge__content{--bridge-segment-width: calc(var(--header-float-size) + 10px);width:100%;height:var(--header-float-size);display:grid;grid-template-columns:var(--bridge-segment-width) minmax(0,1fr) var(--bridge-segment-width);align-items:center;padding:0 max(env(safe-area-inset-right,0px),10px) 0 max(env(safe-area-inset-left,0px),10px)}.floating-header-bridge__segment{min-width:0}.floating-header-bridge__segment--center{display:flex;justify-content:center}.floating-header-bridge__center-inner{min-width:0;max-width:100%;display:inline-flex;align-items:center;gap:1.2rem}body.magic-blowup-open .floating-header-bridge,body.magic-floor-edit-open .main-header,body.magic-floor-edit-open .floating-header-bridge,body.magic-floor-edit-open .back-btn--floating{display:none}body.magic-motion-blowup-open .back-btn--floating,html.magic-motion-blowup-open .back-btn--floating{display:none!important}.main-navigation__left,.main-navigation__center,.main-navigation__right{flex:1;display:flex;align-items:center;justify-content:center}.main-navigation__left,.main-navigation__center{justify-content:flex-start}.main-navigation__right{justify-content:flex-end}.magic-name{all:unset;display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;align-items:center;justify-content:center;gap:1rem;width:auto;max-width:min(68vw,36rem);color:var(--c-nav-fg);font-size:3rem;font-weight:var(--font-weight-base);line-height:1;padding:.2rem .4rem;background-color:var(--c-nav-bg);border-radius:0;cursor:pointer}.magic-name__title{text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.main-nav-zone-btn{position:relative;width:60px;height:60px;padding:0;border:0;background:transparent;color:var(--c-nav-fg);display:grid;place-items:center;cursor:pointer;border-radius:12px}.main-nav-zone-btn:focus-visible{background:color-mix(in srgb,var(--c-nav-fg) 12%,transparent);outline:none}.main-nav-zone-group{display:inline-flex;align-items:center;gap:1.2rem;width:calc(60px + 1.2rem + 28ch);justify-content:flex-start}.main-nav-zone-house{width:42px;height:46px;display:flex;flex-direction:column;align-items:center}.main-nav-zone-house__roof{width:0;height:0;border-left:22px solid transparent;border-right:22px solid transparent;border-bottom:15px solid currentColor}.main-nav-zone-house__body{margin-top:3px;width:34px;height:26px;border:2px solid currentColor;border-radius:5px;display:grid;grid-template-rows:repeat(3,1fr);gap:3px;padding:3px}.main-nav-zone-house__level{border-radius:2px;background:color-mix(in srgb,currentColor 18%,transparent)}.main-nav-zone-house__level.is-target{background:currentColor}.main-nav-zone-outside-icon{font-size:2.05rem;line-height:1}.main-nav-room-btn{cursor:pointer}.main-nav-room-btn:focus-visible{text-decoration:underline;text-underline-offset:.15em;outline:none}.magic-name__meta{font-size:1em;font-weight:var(--font-weight-base);line-height:1;white-space:nowrap;color:var(--c-nav-fg);opacity:1}.magic-name__meta--right{text-align:right}.left-toolbar{display:flex;flex-direction:row;align-items:center;gap:.75rem}.back-btn{position:fixed;top:var(--floating-top-bar-top);left:var(--floating-screen-inset);z-index:var(--layer-floating);display:inline-flex;justify-content:center;align-items:center;width:56px;height:56px;padding:0;border:none;color:var(--c-nav-fg);font-size:2.8rem;font-weight:var(--font-weight-base);margin-left:0;border-radius:12px;background:transparent;box-shadow:none;transition:color .2s ease,transform .2s ease,opacity .2s ease;-webkit-user-select:none;user-select:none}.back-btn svg{filter:drop-shadow(0 0 .2px currentColor)}.back-btn .label{font-size:2.8rem}.back-btn--floating{width:var(--floating-circle-size, 92px);height:var(--floating-circle-size, 92px);font-size:2.8rem;color:var(--floating-glass-text);border-radius:999px;border:1px solid var(--floating-glass-border);overflow:hidden;isolation:isolate;background:var(--floating-glass-button-bg);box-shadow:0 6px 14px #00000024,inset 0 1px 0 var(--floating-glass-highlight),inset 0 -1px 0 var(--floating-glass-highlight-soft);backdrop-filter:blur(6px) saturate(1.08) brightness(1.06);-webkit-backdrop-filter:blur(6px) saturate(1.08) brightness(1.06);touch-action:auto;cursor:pointer}.back-btn--floating:focus-visible{color:#fff;background:var(--floating-glass-button-bg-active);border-color:var(--floating-glass-border-strong);transform:scale(1.03)}@media(prefers-reduced-motion:reduce){.back-btn{transition:none}}@media(min-width:1024px){:root{--desktop-floating-btn: 118px;--desktop-nav-height: var(--desktop-floating-btn)}.back-btn{top:max(calc(env(safe-area-inset-top,0px) + 16px),16px);left:var(--floating-screen-inset)}.back-btn--floating{width:var(--floating-circle-size, 116px);height:var(--floating-circle-size, 116px);font-size:3.2rem}.main-header{--header-float-size: var(--desktop-floating-btn, 118px);--header-float-offset: calc((var(--desktop-sticky-w, 176px) - var(--desktop-floating-btn, 118px)) / 2)}.floating-header-bridge{--header-float-size: var(--desktop-floating-btn, 118px);--header-float-offset: 0px;height:var(--desktop-nav-height, 118px);padding-top:0;border-radius:0 0 24px 24px}.floating-header-bridge__content{height:var(--header-float-size);padding:0 max(env(safe-area-inset-right,0px),14px) 0 max(env(safe-area-inset-left,0px),14px)}.main-header{height:var(--desktop-nav-height, 118px)}}@media(min-width:1600px){:root{--desktop-floating-btn: 137px;--desktop-nav-height: var(--desktop-floating-btn)}.back-btn--floating{width:var(--floating-circle-size, 135px);height:var(--floating-circle-size, 135px);font-size:3.7rem}.floating-header-bridge{--header-float-size: var(--desktop-floating-btn, 137px);height:var(--desktop-nav-height, 137px)}.floating-header-bridge__content{height:var(--header-float-size);padding:0 max(env(safe-area-inset-right,0px),18px) 0 max(env(safe-area-inset-left,0px),18px)}.main-header{--header-float-size: var(--desktop-floating-btn, 137px);height:var(--desktop-nav-height, 137px)}}.main-nav-menu-toggle{width:52px;height:52px;border-radius:999px;border:1px solid color-mix(in srgb,var(--c-nav-fg) 22%,transparent);background:color-mix(in srgb,var(--c-nav-bg) 86%,white 14%);color:var(--c-nav-fg);display:inline-flex;align-items:center;justify-content:center;font-size:1.8rem;box-shadow:0 8px 18px #0000001f;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:pointer}.main-nav-menu-toggle:focus-visible{background:color-mix(in srgb,var(--c-nav-bg) 78%,white 22%);border-color:color-mix(in srgb,var(--c-nav-fg) 34%,transparent);outline:none}.main-nav-mobile-menu{position:absolute;top:calc(100% + 8px);right:0;left:0;border-radius:20px;background:color-mix(in srgb,var(--c-nav-bg) 90%,black 10%);box-shadow:0 10px 24px #00000040;padding:10px;display:flex;flex-direction:column;gap:8px}.main-nav-mobile-item{border:0;border-radius:12px;background:color-mix(in srgb,var(--c-nav-fg) 10%,transparent);color:var(--c-nav-fg);font-size:1.45rem;line-height:1.2;text-align:left;padding:12px 14px;cursor:pointer}.main-nav-mobile-item:focus-visible{background:color-mix(in srgb,var(--c-nav-fg) 16%,transparent);outline:none}@media(max-width:768px){.floating-header-bridge__content{grid-template-columns:52px minmax(0,1fr) 52px;padding:0 8px}.floating-header-bridge__segment--right{display:flex;justify-content:flex-end}.floating-header-bridge__center-inner{width:100%;justify-content:center;gap:.5rem}.magic-name{max-width:min(60vw,24rem);font-size:2.1rem}}@media(max-width:520px){.back-btn{top:var(--floating-top-bar-top);left:var(--floating-screen-inset)}}.backdrop{position:fixed;top:0;left:0;width:100%;height:100vh;background:#000000bf;z-index:10;transition:opacity .16s ease,background-color .16s ease}.backdrop--stack-active{opacity:1;pointer-events:auto}.backdrop--stack-inactive{opacity:.88;pointer-events:none}.modal{--modal-width: min(80vw, 48rem);position:fixed;top:2vh;left:50%;transform:translate(-50%);width:calc(100vw - 1.5rem);max-width:var(--modal-width);max-height:96vh;z-index:var(--layer-modal);background:var(--c-card);box-shadow:0 2px 8px #00000042;border-radius:4px;display:flex;flex-direction:column;transition:opacity .16s ease,filter .16s ease,transform .16s ease}.modal--sm{--modal-width: min(80vw, 26rem)}.modal--md{--modal-width: min(84vw, 42rem)}.modal--lg{--modal-width: min(98vw, 92rem)}.modal--stack-active{opacity:1;filter:none}.modal--stack-inactive{opacity:.72;filter:saturate(.9) brightness(.9);pointer-events:none}.modal__header{width:100%;padding:1rem .5rem;background:var(--modal-header-bg);color:var(--modal-header-fg);font-size:1.5rem;position:relative;flex:0 0 auto}.modal__header-right{position:absolute;top:50%;right:.5rem;transform:translateY(-50%);display:inline-flex;align-items:center}.modal__header h1{margin:.5rem;font-size:1.5rem;padding-right:4.5rem}.modal__header h2{margin:.5rem;font-size:1.5rem}.modal__header--compact{padding:.55rem .5rem}.modal__header--compact h1{margin:.2rem .5rem;font-size:1.05rem;font-weight:var(--font-weight-base);line-height:1.2}.modal--magic{background:var(--c-card);color:var(--c-accent);border:0;border-radius:6px;overflow:hidden}.modal__header--magic{background:var(--c-card);color:var(--c-accent);border-bottom:1px solid color-mix(in srgb,var(--c-accent) 25%,transparent);border-top-left-radius:6px;border-top-right-radius:6px}.modal__content--magic{background:var(--c-card);color:var(--c-accent)}.modal__footer--magic{background:var(--c-card);padding:.75rem 1rem 1rem}.modal__content{flex:1 1 auto;min-height:0;padding:1rem .75rem;background:var(--modal-content-bg);color:var(--modal-content-fg);font-size:1.5rem;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.modal__footer{flex:0 0 auto;padding:1rem .5rem}.modal__frame{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;overflow:hidden}.modal-content-stack{display:flex;flex-direction:column;gap:1rem;min-height:0;padding:.35rem}.modal-section-card{border:1px solid color-mix(in srgb,var(--c-accent) 18%,transparent);border-radius:6px;background:color-mix(in srgb,var(--c-card) 88%,black 12%);padding:.85rem .9rem;color:var(--c-accent)}.modal-section-head{display:flex;flex-direction:column;gap:.2rem}.modal-section-head--split{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.modal-section-copy{min-width:0}.modal-section-title{margin:0;font-size:1.5rem;line-height:1.2;color:var(--c-accent)}.modal-section-description{margin:.35rem 0 0;font-size:1.3rem;line-height:1.35;color:color-mix(in srgb,var(--c-accent) 72%,white)}.modal-section-content{margin-top:.75rem;min-width:0}.modal-note{margin-top:.7rem;padding:.55rem .7rem;border-radius:4px;font-size:1.3rem;line-height:1.35;color:color-mix(in srgb,var(--c-accent) 74%,white);background:color-mix(in srgb,var(--c-accent) 10%,transparent)}.modal-info-grid{display:grid;gap:.7rem}.modal-info-row{display:grid;grid-template-columns:minmax(7rem,10rem) 1fr;gap:.8rem;align-items:baseline}.modal-info-label{color:color-mix(in srgb,var(--c-accent) 68%,white);font-size:1.35rem;line-height:1.3}.modal-info-value{color:var(--c-accent);font-size:1.5rem;line-height:1.3;text-align:right;word-break:break-word}.modal-empty-state{color:color-mix(in srgb,var(--c-accent) 68%,white);font-size:1.3rem;line-height:1.35}.modal-button-row{display:flex;gap:.75rem;width:100%}.modal-standard-button{display:inline-flex;justify-content:center;align-items:center;min-width:5.2rem;min-height:3.1rem;padding:.7rem 1rem;border-radius:4px;border:1px solid var(--c-accent);background:var(--c-button-bg);color:var(--c-accent);font-size:1.5rem;line-height:1.2;text-decoration:none;box-shadow:none;margin:0;cursor:pointer}.modal-standard-button:hover,.modal-standard-button:focus-visible,.modal-standard-button:active{color:var(--c-hover);outline:none}.modal-standard-button--full{width:100%;justify-content:flex-start}.modal-standard-button--danger{border-color:color-mix(in srgb,#dc6a6a 45%,transparent);color:#dc8b8b}@media(min-width:768px){.modal{width:min(calc(100vw - 2rem),var(--modal-width))}}@media(max-width:640px){.modal,.modal--sm,.modal--md,.modal--lg{width:calc(100vw - 1rem);max-width:calc(100vw - 1rem)}.modal-info-row{grid-template-columns:1fr}.modal-info-value{text-align:left}}.modal.modal--top{top:10vh}.modal-enter{opacity:0}.modal-enter-active{opacity:1;transition:opacity .2s}.modal-exit{opacity:1}.modal-exit-active{opacity:0;transition:opacity .2s}.timer-modal{display:flex;flex-direction:column}.timer-modal__content{display:flex;flex-direction:column;gap:1rem;max-height:70vh;overflow-y:auto;padding:.25rem}.timer-modal__section{margin-bottom:1.5rem;color:var(--c-accent)}.automation-summary{display:flex;flex-wrap:wrap;gap:.65rem}.automation-summary__chip{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .8rem;border:1px solid color-mix(in srgb,var(--c-accent) 22%,transparent);border-radius:999px;background:color-mix(in srgb,var(--c-card) 90%,black 10%);color:color-mix(in srgb,var(--c-accent) 78%,white);font-size:1.3rem;line-height:1.2}.automation-summary__chip.is-active{border-color:color-mix(in srgb,var(--c-on) 65%,var(--c-accent) 35%);background:color-mix(in srgb,var(--c-on) 18%,transparent);color:var(--c-accent)}.automation-summary__next-run{margin-top:.75rem;font-size:1.35rem;line-height:1.3;color:color-mix(in srgb,var(--c-accent) 76%,white)}.doif-empty-state{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.schedule-main-tabs{display:flex;gap:.5rem;flex-wrap:nowrap;width:100%}.schedule-main-tab{display:inline-flex;align-items:center;justify-content:center;flex:1 1 0;min-width:0;min-height:3rem;padding:.65rem 1rem;border-radius:4px;border:1px solid var(--c-accent);background:var(--c-button-bg);color:var(--c-accent);font-size:1.5rem;line-height:1.2;cursor:pointer}.schedule-main-tab--with-icon{justify-content:space-between;gap:1rem}.schedule-main-tab__label{flex:1 1 auto;min-width:0;text-align:left}.schedule-main-tab__meta{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;margin-left:.55rem;min-width:2.2rem;height:2.2rem;padding:0 .45rem;border-radius:999px;font-size:1.2rem;line-height:1;color:inherit;background:color-mix(in srgb,currentColor 14%,transparent)}.schedule-main-tab__icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center}.schedule-main-tab.is-active{color:var(--c-card);background:var(--c-on);border-color:var(--c-on)}.timer-quick-btns{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.5rem;margin-top:.75rem}.timer-quick-btn{display:inline-flex;justify-content:center;align-items:center;padding:.8rem .5rem;font-size:1.5rem;font-weight:var(--font-weight-base);border:1px solid var(--c-accent);color:var(--c-accent);background:var(--c-button-bg);border-radius:4px;cursor:pointer;width:100%}.timer-quick-btn.active{border:1px solid var(--c-accent);border-radius:4px;color:var(--c-card);background-color:var(--c-on)}.timer-quick-btn:hover:not(.active){background-color:var(--c-accent-bg)}.timer-modal__footer-buttons{display:flex;gap:.75rem;margin-top:.75rem}.timer-modal__footer-btn{flex:1;justify-content:center}.timer-modal__footer-btn:disabled{opacity:.55;cursor:not-allowed}.timer-modal__schedule{display:flex;flex-direction:column;gap:.75rem}.schedule-day{padding:.5rem .25rem;border-bottom:1px solid var(--c-accent)}.schedule-day--active{background:color-mix(in srgb,var(--c-accent) 15%,transparent);border-radius:4px}.schedule-day__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem;font-weight:var(--font-weight-base)}.schedule-day__header-controls{display:inline-flex;align-items:center;gap:.3rem}.schedule-day-btn{display:inline-flex;align-items:center;justify-content:center;min-width:2.5rem;height:2.6rem;border:1px solid var(--c-accent);border-radius:4px;background:transparent;color:var(--c-accent);padding:.2rem .55rem;font-size:1.5rem;line-height:1;cursor:pointer}.schedule-day-btn:disabled{opacity:.4;cursor:default}.schedule-copy-btn{display:inline-flex;align-items:center;justify-content:flex-end;padding:.9rem 1.2rem;font-size:1.5rem;border-radius:4px;border:1px solid var(--c-accent);line-height:1;white-space:nowrap;cursor:pointer;min-width:110px}.schedule-copy-btn svg{font-size:2rem}.schedule-interval{display:flex;align-items:flex-end;gap:.5rem;margin:.25rem 0;border-bottom:1px dotted color-mix(in srgb,var(--c-accent) 60%,transparent);padding-bottom:.35rem}.schedule-interval:last-child{border-bottom:none;padding-bottom:0;margin-bottom:0}.schedule-day-empty{font-size:.85rem;color:var(--c-accent);opacity:.8;padding:.4rem 0}.schedule-field{display:flex;flex-direction:column;font-size:.75rem;min-width:0;align-items:flex-start}.schedule-field label{display:block;margin-bottom:.35rem;font-size:1rem;font-weight:600;line-height:1.2;color:color-mix(in srgb,var(--c-accent) 88%,white 12%)}.schedule-field--control{justify-content:flex-end}.schedule-field--control label{min-height:1.2rem}.automation-switch{position:relative;width:46px;height:26px;display:inline-flex;align-items:center;justify-content:center;margin:8px 0}.automation-switch--master{width:74px;height:34px}.automation-switch__input{opacity:0;width:0;height:0;position:absolute}.automation-switch__slider{position:absolute;inset:0;display:flex;align-items:center;border-radius:999px;background:color-mix(in srgb,var(--c-accent) 20%,transparent);border:1px solid color-mix(in srgb,var(--c-accent) 28%,transparent);transition:background .16s ease,border-color .16s ease}.automation-switch__slider:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:999px;background:color-mix(in srgb,var(--c-accent) 92%,white 8%);transition:transform .16s ease}.automation-switch__input:checked+.automation-switch__slider{background:color-mix(in srgb,var(--c-on) 32%,transparent);border-color:color-mix(in srgb,var(--c-on) 48%,transparent)}.automation-switch__input:checked+.automation-switch__slider:before{transform:translate(20px)}.automation-switch__input:focus-visible+.automation-switch__slider{outline:2px solid color-mix(in srgb,var(--c-accent) 56%,transparent);outline-offset:2px}.automation-switch__text{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:0 .8rem 0 2rem;font-size:1.1rem;font-weight:700;letter-spacing:.03em;line-height:1;color:var(--c-accent);box-sizing:border-box}.automation-switch__input:checked+.automation-switch__slider .automation-switch__text{padding:0 2rem 0 .8rem;color:var(--c-accent)}.automation-switch--master .automation-switch__slider:before{width:24px;height:24px;left:4px;top:4px}.automation-switch--master .automation-switch__input:checked+.automation-switch__slider:before{transform:translate(40px)}.doif-time-window{display:grid;gap:.9rem;margin-bottom:1rem;padding:.85rem .9rem;border:1px solid color-mix(in srgb,var(--c-accent) 16%,transparent);border-radius:8px;background:color-mix(in srgb,var(--c-card) 92%,black 8%)}.doif-time-window__switch,.doif-rule-row__switch{display:flex;align-items:flex-start;justify-content:flex-start}.doif-time-window__group{display:grid;gap:.75rem;align-items:end}.doif-time-window__group--meta{grid-template-columns:minmax(10rem,12rem)}.doif-time-window__group--range{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}.doif-rule-row{display:grid;gap:.9rem;margin-bottom:1rem;padding:.85rem .9rem;border:1px solid color-mix(in srgb,var(--c-accent) 16%,transparent);border-radius:8px;background:color-mix(in srgb,var(--c-card) 92%,black 8%)}.doif-rule-row__group{display:grid;gap:.75rem;align-items:end}.doif-rule-row__group--meta{grid-template-columns:minmax(7rem,9rem) minmax(10rem,12rem)}.doif-rule-row__group--match{grid-template-columns:minmax(14rem,2fr) minmax(9rem,1fr) minmax(10rem,1fr)}.doif-rule-row__group--action{grid-template-columns:minmax(10rem,12rem) minmax(8rem,10rem) auto;justify-content:space-between}.doif-rule-row__field--topic{min-width:0}.doif-rule-row__actions{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-end;min-width:0}.doif-rule-row__buttons{display:inline-flex;align-items:center;gap:.5rem}.doif-rule-row__actions .schedule-day-btn{margin-bottom:0;min-width:42px;width:42px;height:42px;padding:0}.schedule-field.is-invalid label{color:var(--c-accent);font-weight:700}.schedule-field.is-invalid input[type=text],.schedule-field.is-invalid input[type=number],.schedule-field.is-invalid input[type=time],.schedule-field.is-invalid select,.schedule-field input[aria-invalid=true]{border-color:color-mix(in srgb,var(--c-accent) 72%,transparent);background:color-mix(in srgb,var(--c-accent) 10%,var(--c-button-bg, #f9f9fb));box-shadow:0 0 0 3px color-mix(in srgb,var(--c-accent) 24%,transparent)}.schedule-field input[aria-invalid=true]::placeholder{color:color-mix(in srgb,var(--c-accent) 70%,white 30%)}@media(max-width:1080px){.doif-time-window__group--meta,.doif-time-window__group--range,.doif-rule-row__group--meta,.doif-rule-row__group--match,.doif-rule-row__group--action{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.doif-rule-row__actions{align-items:flex-start}}.schedule-mode-panel__header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-bottom:.4rem;border-bottom:1px solid var(--c-accent);margin-bottom:.85rem}.schedule-mode-panel__header h3{margin:0}.schedule-mode-panel__title{display:inline-flex;align-items:center;gap:.5rem}.schedule-mode-panel__controls{display:inline-flex;align-items:center;gap:.5rem;margin-left:auto;flex-wrap:wrap}.schedule-toggle-btn{display:inline-flex;align-items:center;justify-content:center;padding:.9rem 1.2rem;font-size:1.5rem;font-weight:var(--font-weight-base);border-radius:4px;border:1px solid var(--c-accent);cursor:pointer;min-width:110px}.schedule-copy-btn:active{background:var(--c-on);color:var(--c-card)}.schedule-master-toggle{display:inline-flex;align-items:center;gap:0;min-height:42px;color:var(--c-accent)}.schedule-panel-body{margin-top:.5rem}.schedule-panel-body.is-collapsed{min-height:48px;display:flex;align-items:center;justify-content:center;opacity:.8;border:1px dashed var(--c-accent);border-radius:4px;cursor:pointer}.schedule-interval-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.schedule-field input[type=time],.schedule-field input[type=text],.schedule-field input[type=number],.schedule-field select{width:100%;min-width:0;padding:.45rem .6rem;font-size:1.5rem;font-weight:var(--font-weight-base);color:var(--c-text, #111);background:var(--c-button-bg, #f9f9fb);border:1px solid var(--c-border, #ccc);border-radius:6px;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;box-sizing:border-box;height:42px;line-height:1.2;text-align:left}.schedule-field input[type=time]:focus,.schedule-field input[type=text]:focus,.schedule-field input[type=number]:focus,.schedule-field select:focus{outline:none;border-color:var(--c-accent, #007bff);box-shadow:0 0 0 2px color-mix(in srgb,var(--c-accent, #007bff) 25%,transparent);background:var(--c-bg, #fff)}.magic-timer-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center}.magic-timer-next-run{min-height:18px;font-size:.95rem;font-weight:var(--font-weight-base);color:var(--c-accent);margin-bottom:.5rem;display:flex;align-items:center;justify-content:center;text-align:center}.magic-button-small.magic-timer-button-active{position:relative}.magic-button-small.magic-timer-button-active:after{content:"";position:absolute;bottom:-3px;left:25%;right:25%;height:2px;background:var(--c-on);border-radius:1px;opacity:.85}.magic-button-small.magic-automation-button-active:after{content:none}.expert-toggle-btn{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .75rem;font-size:.9rem;border:1px solid var(--c-accent);color:var(--c-accent);background:var(--c-button-bg);border-radius:4px;cursor:pointer;flex-shrink:0}.expert-toggle-btn.active{background:var(--c-accent);color:var(--c-card)}@media(prefers-color-scheme:dark){.schedule-field input[type=time],.schedule-field input[type=text],.schedule-field input[type=number],.schedule-field select{background:color-mix(in srgb,var(--c-card, #232f39) 85%,#000);color:var(--page-fg, #ffffff);border-color:color-mix(in srgb,var(--c-accent, #a8c7fa) 40%,var(--c-card, #232f39))}.schedule-field input[type=time]:focus,.schedule-field input[type=text]:focus,.schedule-field input[type=number]:focus,.schedule-field select:focus{border-color:var(--c-accent, #a8c7fa);box-shadow:0 0 0 2px color-mix(in srgb,var(--c-accent, #a8c7fa) 45%,transparent);background:color-mix(in srgb,var(--c-card, #232f39) 75%,#000)}.schedule-field input[type=time]::-webkit-calendar-picker-indicator{filter:invert(85%) saturate(60%) brightness(110%)}.schedule-field input[type=time]::-webkit-datetime-edit-text,.schedule-field input[type=time]::-webkit-datetime-edit-hour-field,.schedule-field input[type=time]::-webkit-datetime-edit-minute-field,.schedule-field input[type=time]::-webkit-datetime-edit-ampm-field{color:var(--page-fg, #ffffff)}}@media(max-width:480px){.schedule-field input[type=time],.schedule-field input[type=text],.schedule-field input[type=number],.schedule-field select{font-size:1.3rem}}.user-settings{position:relative;width:auto;display:inline-flex;justify-content:center;padding-bottom:calc(env(safe-area-inset-bottom,0px) + .2rem)}.user-btn{width:72px;height:72px;border:none;border-radius:999px;background:transparent;color:var(--c-accent);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform .18s ease,color .18s ease,background-color .18s ease}.user-btn .svg-inline--fa{font-size:3.2rem}.user-btn:focus-visible,.user-btn[aria-expanded=true]{outline:none;color:var(--c-hover);background:transparent;transform:scale(1.03)}@media(min-width:1024px){.user-btn{width:84px;height:84px}.user-btn .svg-inline--fa{font-size:3.55rem}}.user-settings-modal{width:min(98vw,92rem);max-width:min(98vw,92rem);max-height:calc(100vh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - .8rem);max-height:calc(100svh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - .8rem);max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - .8rem);display:flex;flex-direction:column;font-size:1.2rem}.user-settings-modal .modal__frame{display:flex;flex-direction:column;flex:1 1 auto;height:100%;min-height:0;max-height:100%;overflow:hidden}.user-settings-modal .modal__content--magic{display:flex;flex:1 1 auto;min-height:0;overflow:hidden}.user-settings-modal__content{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;gap:1rem;max-height:min(76vh,860px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:.35rem}.user-settings-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.user-settings-modal__intro{border:1px solid color-mix(in srgb,var(--c-accent) 25%,transparent);border-radius:6px;background:color-mix(in srgb,var(--c-card) 88%,black 12%);padding:.85rem .9rem}.user-settings-modal__about-header-btn{width:34px;height:34px;border-radius:999px;border:1px solid color-mix(in srgb,var(--c-accent) 35%,transparent);background:transparent;color:var(--c-accent);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.user-settings-modal__about-header-btn:focus-visible{outline:none;color:var(--c-hover);background:color-mix(in srgb,var(--c-accent) 16%,transparent)}.user-settings-modal__row{width:100%;min-height:3.1rem;border:none;border-radius:6px;border:1px solid var(--c-accent);background:var(--c-button-bg);box-shadow:inset 0 1px color-mix(in srgb,white 10%,transparent),0 1px 2px #0003;color:var(--c-accent);display:inline-flex;align-items:center;gap:.75rem;padding:.7rem 1rem;cursor:pointer;font-size:1.5rem;line-height:1.2}.user-settings-modal__row:focus-visible{outline:none;color:var(--c-hover)}.user-settings-modal__account-name{display:flex;flex-direction:column;gap:.2rem;border:none;border-radius:6px;background:color-mix(in srgb,var(--c-card) 76%,black 24%);box-shadow:inset 0 1px color-mix(in srgb,white 10%,transparent);color:var(--c-accent);padding:.75rem .8rem}.user-settings-modal__account-name>span{font-size:1.3rem;opacity:.82}.user-settings-modal__account-name>strong{font-size:1.5rem;font-weight:var(--font-weight-base);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-settings-modal__account-action{margin-top:.25rem;align-self:flex-start;border:none;background:transparent;color:color-mix(in srgb,var(--c-accent) 82%,white 18%);padding:0;font-size:1.3rem;line-height:1.2;text-decoration:underline;text-underline-offset:.16em;cursor:pointer}.user-settings-modal__account-action:focus-visible{outline:2px solid color-mix(in srgb,var(--c-accent) 52%,transparent);outline-offset:2px;border-radius:4px}.user-settings-section{display:flex;flex-direction:column;gap:.75rem;border:1px solid color-mix(in srgb,var(--c-accent) 18%,transparent);border-radius:6px;background:color-mix(in srgb,var(--c-card) 88%,black 12%);padding:.85rem .9rem}.user-settings-section h2{margin:0;font-size:1.5rem;font-weight:var(--font-weight-base);color:var(--c-accent);letter-spacing:.01em;line-height:1.2}.user-settings-section__head{display:flex;flex-direction:column;gap:.2rem}.user-settings-section__head p{margin:0;color:color-mix(in srgb,var(--c-accent) 74%,white 26%);font-size:1.3rem;line-height:1.35}.user-settings-form-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:none;border-radius:6px;background:color-mix(in srgb,var(--c-card) 72%,black 28%);box-shadow:inset 0 1px color-mix(in srgb,white 10%,transparent),0 1px 2px #0003;padding:.8rem .9rem}.user-settings-form-row:hover,.user-settings-modal__row:hover{background:color-mix(in srgb,var(--c-card) 66%,black 34%)}.user-settings-form-row__meta{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:1 1 auto}.user-settings-form-row__label{color:var(--c-accent);font-size:1.35rem;line-height:1.3}.user-settings-form-row__hint{color:color-mix(in srgb,var(--c-accent) 70%,white 30%);font-size:1.3rem;line-height:1.35}.user-settings-form-row__control{display:inline-flex;align-items:center;justify-content:flex-end;flex:0 0 auto;min-width:12rem;max-width:22rem}.user-settings-modal__select{width:min(290px,42vw);max-width:100%;min-height:3.1rem;border-radius:4px;border:1px solid color-mix(in srgb,var(--c-accent) 30%,transparent);background:color-mix(in srgb,var(--c-card) 84%,black 16%);color:var(--c-accent);padding:.7rem 1rem;font-size:1.5rem}.user-settings-modal__select:focus-visible{outline:2px solid color-mix(in srgb,var(--c-accent) 48%,transparent);outline-offset:1px}.user-settings-switch{position:relative;width:46px;height:26px}.user-settings-switch__input{opacity:0;width:0;height:0;position:absolute}.user-settings-switch__slider{position:absolute;inset:0;border-radius:999px;background:color-mix(in srgb,var(--c-accent) 20%,transparent);border:1px solid color-mix(in srgb,var(--c-accent) 28%,transparent);transition:background .16s ease,border-color .16s ease}.user-settings-switch__slider:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:999px;background:color-mix(in srgb,var(--c-accent) 92%,white 8%);transition:transform .16s ease}.user-settings-switch__input:checked+.user-settings-switch__slider{background:color-mix(in srgb,#3ea27c 38%,transparent);border-color:color-mix(in srgb,#56c698 44%,transparent)}.user-settings-switch__input:checked+.user-settings-switch__slider:before{transform:translate(20px)}.user-settings-switch__input:focus-visible+.user-settings-switch__slider{outline:2px solid color-mix(in srgb,var(--c-accent) 56%,transparent);outline-offset:2px}.user-settings-form-row--toggle{align-items:center}.user-settings-form-row--select{align-items:flex-start}.user-settings-form-row:not(.user-settings-form-row--toggle){align-items:flex-start}.user-settings-form-row--select .user-settings-form-row__control{align-self:flex-start}.user-settings-form-row--select .user-settings-modal__select{display:block}.user-settings-modal__footer{display:flex;justify-content:space-between;width:100%;gap:.55rem}.user-settings-modal .modal__footer--magic{position:sticky;bottom:0;z-index:1;padding-bottom:calc(env(safe-area-inset-bottom,0px) + .8rem)}.user-settings-modal__btn{min-width:5.2rem;min-height:3.1rem;border-radius:4px;border:1px solid var(--c-accent);background:var(--c-button-bg);color:var(--c-accent);padding:.7rem 1rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-size:1.5rem;line-height:1.2}.user-settings-modal__btn:focus-visible{outline:none;color:var(--c-hover)}.user-settings-modal__btn--danger{border-color:color-mix(in srgb,#dc6a6a 45%,transparent);color:#dc8b8b}.user-settings-modal__btn--primary{border-color:var(--c-accent);background:var(--c-button-bg)}.user-admin-modal{width:min(98vw,92rem);max-width:min(98vw,92rem)}.user-admin-modal__content{max-height:none;overflow:visible}.user-admin-modal .modal__header,.user-admin-modal .modal__header h2{font-size:1.5rem}.user-build-info-modal{max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - .2rem)}.user-build-info-modal .user-admin-modal__content{max-height:none}.user-settings-build-info{display:flex;flex-direction:column;gap:.45rem}.user-settings-build-info__row{display:flex;align-items:baseline;justify-content:space-between;gap:.7rem;padding:.45rem .6rem;border-radius:7px;border:1px solid color-mix(in srgb,var(--c-accent) 60%,#ffffff 10%);background:var(--c-card)}.user-settings-build-info__key{color:#fff;font-size:1.12rem;letter-spacing:.02em;font-weight:500}.user-settings-build-info__value{color:color-mix(in srgb,#ffffff 88%,var(--c-accent) 12%);font-size:1.12rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;text-align:right;word-break:break-word}.user-settings-build-info__empty{color:#fff;font-size:1.08rem}@media(max-width:768px){.user-settings-modal{width:min(97vw,76rem);max-width:min(97vw,76rem);height:calc(100vh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - .8rem);max-height:calc(100vh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - .8rem);height:calc(100svh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - .8rem);max-height:calc(100svh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - .8rem);height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - .8rem);max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - .8rem)}.user-settings-layout{grid-template-columns:1fr;gap:.7rem}.user-settings-modal__content{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding-right:.1rem}.user-settings-form-row{align-items:stretch;flex-direction:column}.user-settings-form-row__control{justify-content:flex-start;min-width:0;max-width:none;width:100%}.user-settings-modal__select{width:100%;max-width:100%}}.drawer-navigation{display:flex;flex-direction:column;width:8rem;height:100%;align-items:center}.drawer-navigation__nav-links{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%;margin-top:1rem;padding:1rem;background:transparent;border:none;color:var(--c-accent);font-size:4rem;cursor:pointer;transition:color .2s ease,background-color .2s ease,transform .3s ease}.drawer-navigation__nav-links:is(:focus-visible,[aria-expanded=true]){color:var(--c-hover)}.drawer-navigation__bottom{margin-top:auto;padding:0;display:flex;justify-content:center;width:100%}@media(min-width:768px){.drawer-navigation__nav-links{width:100%}.drawer-navigation__btn__label{display:none}.drawer-navigation__logout-btn:focus-visible .drawer-navigation__btn__label .drawer-navigation__btn{color:var(--c-hover)}}.sticky-side-menu{opacity:0;position:fixed;inset:0 0 0 auto;width:var(--side-drawer-expanded);height:100dvh;min-height:100dvh;padding-top:calc(var(--floating-top-bar-top) + var(--floating-circle-size, 92px) + 1rem);padding-bottom:calc(env(safe-area-inset-bottom,0px) + .6rem);background:color-mix(in srgb,var(--c-nav-bg) 34%,transparent);border-left:1px solid color-mix(in srgb,var(--c-nav-fg) 10%,transparent);border-radius:20px 0 0 20px;box-shadow:-8px 0 18px #0000001f;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;flex-direction:column;align-items:center;overflow-y:auto;overflow-x:visible;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;scrollbar-gutter:stable;transform:translate(100%);transition:opacity var(--dur-menu-out) var(--ease-in),transform var(--dur-menu-out) var(--ease-in);z-index:var(--layer-floating);pointer-events:none}body.magic-blowup-open .sticky-side-menu,body.magic-floor-edit-open .sticky-side-menu,body.magic-floor-edit-open .sticky-toggle-btn,body.magic-motion-blowup-open .sticky-toggle-btn,html.magic-motion-blowup-open .sticky-toggle-btn{display:none!important}.sticky-side-menu.open{opacity:1;transform:translate(0);pointer-events:auto;transition:opacity var(--dur-menu-in) var(--ease-out),transform var(--dur-menu-in) var(--ease-out);-webkit-overflow-scrolling:touch}.sticky-side-menu__backdrop{position:fixed;inset:0;background:#0000001f;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:calc(var(--layer-floating) - 1)}.sticky-toggle-btn{position:fixed;top:var(--floating-top-bar-top);right:var(--floating-screen-inset);z-index:calc(var(--layer-floating) + 1);display:grid;place-items:center;width:var(--floating-circle-size, 92px);height:var(--floating-circle-size, 92px);padding:0;border:1px solid var(--floating-glass-border);border-radius:999px;overflow:hidden;isolation:isolate;background:var(--floating-glass-button-bg);color:var(--floating-glass-text);backdrop-filter:blur(6px) saturate(1.08) brightness(1.06);-webkit-backdrop-filter:blur(6px) saturate(1.08) brightness(1.06);box-shadow:0 6px 14px #00000024,inset 0 1px 0 var(--floating-glass-highlight),inset 0 -1px 0 var(--floating-glass-highlight-soft);cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .18s ease,transform .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease}.sticky-toggle-btn--auto-hidden{opacity:0;transform:translateY(-8px);pointer-events:none}.sticky-toggle-btn.rotated{background:var(--floating-glass-button-bg-active);border-color:var(--floating-glass-border-strong)}.sticky-toggle-btn:focus-visible{outline:none;color:#fff;background:var(--floating-glass-button-bg-active);border-color:var(--floating-glass-border-strong);transform:scale(1.03)}.sticky-menu-icon{color:currentColor;font-size:2.8rem;line-height:1;transition:transform .3s ease-in-out;transform-origin:center center}.sticky-toggle-btn.rotated .sticky-menu-icon{transform:rotate(90deg)}.sticky-side-menu__items{margin-top:20px;display:flex;flex-direction:column;gap:15px;width:100%;padding:20px}.sticky-side-menu__items button{background:none;border:none;cursor:pointer;padding:10px;font-size:2rem;text-align:left;width:100%}@media(max-width:320px){.sticky-side-menu{width:clamp(0,90vw,360px);max-width:100%;height:100dvh;min-height:100dvh;padding:calc(var(--floating-top-bar-top) + var(--floating-circle-size, 92px) + 1rem) 12px calc(env(safe-area-inset-bottom,0px) + 12px);z-index:150}}@media(max-width:1023px){.sticky-side-menu{width:min(calc(var(--floating-circle-size, 92px) + 2.5rem),calc(100vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px) - .75rem));padding-inline:.75rem;padding-top:calc(var(--floating-top-bar-top) + var(--floating-circle-size, 92px) + 1.35rem);height:100vh;min-height:100vh;height:100svh;min-height:100svh;height:100dvh;min-height:100dvh}}@supports (-webkit-touch-callout: none){@media(min-width:1024px){.sticky-side-menu{height:-webkit-fill-available;min-height:-webkit-fill-available}}}@media(prefers-reduced-motion:reduce){.sticky-toggle-btn{transition:none}}@media(min-width:1024px){:root{--desktop-sticky-w: calc(var(--floating-circle-size, 116px) + (2 * var(--floating-screen-inset)));--desktop-floating-btn: 118px}.sticky-side-menu{width:var(--desktop-sticky-w);padding-top:calc(var(--floating-top-bar-top) + var(--floating-circle-size, 116px) + 1.1rem)}.sticky-toggle-btn{width:var(--floating-circle-size, 116px);height:var(--floating-circle-size, 116px);top:max(calc(env(safe-area-inset-top,0px) + 16px),16px);right:var(--floating-screen-inset)}.sticky-menu-icon{font-size:3.25rem}.sticky-side-menu .sticky-mode-switch,.sticky-side-menu .sticky-mode-switch--cards,.sticky-side-menu .sticky-mode-switch--views{width:104px;height:58px}.sticky-side-menu .sticky-mode-switch__icon{font-size:2.1rem}.sticky-side-menu .sticky-mode-switch__text{font-size:.92rem}.sticky-side-menu__location-btn{width:4.25rem;height:4.25rem;font-size:2.45rem}.sticky-side-menu .sticky-zone-btn{width:116px;min-height:128px}.sticky-side-menu .sticky-house{width:70px;height:74px}.sticky-side-menu .sticky-house__roof{border-left-width:37px;border-right-width:37px;border-bottom-width:22px}.sticky-side-menu .sticky-house__roof:after{left:-33px;border-left-width:33px;border-right-width:33px;border-bottom-width:19px}.sticky-side-menu .sticky-house__body{width:60px;height:49px}.sticky-side-menu .sticky-outdoor-icon{width:70px;height:74px;font-size:9rem}}.sticky-side-menu__mode-toggle{width:100%;margin-top:1.9rem;padding:0;display:flex;justify-content:center}.sticky-side-menu__weather{width:100%;margin-top:.35rem;padding:0;display:flex;justify-content:center}.sticky-side-menu__location{width:100%;margin-top:.8rem;padding:0;display:flex;justify-content:center}.sticky-side-menu__location-btn{width:clamp(3.15rem,4vw,4rem);height:clamp(3.15rem,4vw,4rem);appearance:none;-webkit-appearance:none;border:1px solid rgba(255,255,255,.24);border-radius:50%;background:radial-gradient(circle at 30% 22%,#ffffff47,#ffffff1a,#232f390f 72%);color:color-mix(in srgb,white 94%,var(--c-nav-fg) 6%);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 14px #00000024,inset 0 1px #ffffff57,inset 0 -1px #ffffff14;backdrop-filter:blur(6px) saturate(1.04) brightness(1.02);-webkit-backdrop-filter:blur(6px) saturate(1.04) brightness(1.02);font-size:clamp(1.7rem,2.4vw,2.35rem)}.sticky-side-menu__location-btn:focus-visible{outline:none;border-color:#ffffff85;transform:scale(1.03)}.sticky-side-menu__weather-pill{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.6rem;padding:0 .95rem;border-radius:999px;background:color-mix(in srgb,var(--c-nav-bg) 90%,transparent);color:color-mix(in srgb,white 92%,var(--c-nav-fg) 8%);box-shadow:0 4px 10px #0000001f,inset 0 1px #ffffff2e;font-size:1.15rem;font-weight:var(--font-weight-base);line-height:1;white-space:nowrap}.sticky-side-menu__weather-icon{font-size:1.1em;opacity:.96}.sticky-side-menu__map-modal-content{padding:.5rem}.sticky-side-menu__map-frame-wrap{width:100%;min-height:min(58vh,380px);display:flex;flex-direction:column;gap:.5rem}.sticky-side-menu__map-modal-header{display:none}.sticky-side-menu__map-close{align-self:flex-end;appearance:none;-webkit-appearance:none;border:1px solid color-mix(in srgb,var(--c-accent) 24%,transparent);border-radius:999px;background:color-mix(in srgb,var(--c-card) 92%,transparent);color:var(--c-accent);min-height:2.75rem;padding:0 1rem;cursor:pointer;font-size:1.05rem;line-height:1}.sticky-side-menu__map-frame{width:100%;min-height:min(48vh,320px);border:0;border-radius:12px;display:block}.sticky-side-menu__zone-cycle{width:100%;margin-top:1.05rem;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.sticky-side-menu__zone-filter{width:100%;margin-top:.8rem;display:flex;flex-direction:column;align-items:center;gap:.45rem}.sticky-side-menu__dashboard-view-toggle,.sticky-side-menu__motion-toggle{width:100%;margin-top:1.15rem;padding:0;display:flex;justify-content:center}.sticky-side-menu__add-device{width:100%;margin-top:.75rem;padding:0;display:flex;justify-content:center}.sticky-side-menu__add-device .sticky-zone-btn{width:64px;min-height:64px;font-size:1.9rem;font-weight:var(--font-weight-base);padding:0}.sticky-side-menu__tag-filter{width:100%;margin-top:.55rem;display:flex;justify-content:center;position:relative}.sticky-tag-select{width:82px;height:46px;min-height:46px;border-radius:999px;border:1px solid color-mix(in srgb,var(--c-accent) 50%,transparent);background:color-mix(in srgb,var(--c-nav-bg) 92%,transparent);color:var(--c-accent);font-size:.8rem;font-weight:var(--font-weight-base);padding:0 .45rem;outline:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sticky-tag-dropdown{position:absolute;top:calc(100% + .35rem);right:0;width:176px;max-height:220px;overflow-y:auto;border:1px solid color-mix(in srgb,var(--c-accent) 55%,transparent);border-radius:10px;background:color-mix(in srgb,var(--c-nav-bg) 96%,transparent);box-shadow:0 8px 18px #00000040;z-index:3500;padding:.25rem}.sticky-tag-option{width:100%;border:none;background:transparent;color:var(--c-accent);text-align:left;font-size:.86rem;font-weight:var(--font-weight-base);padding:.45rem .55rem;border-radius:8px;cursor:pointer}.sticky-tag-option.is-active{background:color-mix(in srgb,var(--c-accent) 20%,transparent)}.sticky-tag-option:focus-visible{outline:none;background:color-mix(in srgb,var(--c-accent) 16%,transparent)}.sticky-zone-btn{width:88px;min-height:98px;border:none;border-radius:8px;background:transparent;color:var(--c-accent);font-size:1.15rem;font-weight:var(--font-weight-base);cursor:pointer;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:.2rem 0}.sticky-zone-btn.is-active{border:2px solid color-mix(in srgb,var(--c-accent) 80%,transparent);background:color-mix(in srgb,var(--c-accent) 20%,transparent);color:var(--c-accent)}.sticky-zone-btn:focus-visible{outline:none;box-shadow:0 0 0 2px #ffffff2e}.sticky-zone-btn--cycle,.sticky-zone-btn--cycle.is-active{border:none;background:transparent;box-shadow:none}.sticky-zone-btn--cycle:focus-visible{outline:none;box-shadow:none}.sticky-house{position:relative;width:50px;height:54px;display:inline-flex;flex-direction:column;align-items:center}.sticky-house__roof{position:relative;width:0;height:0;border-left:27px solid transparent;border-right:27px solid transparent;border-bottom:16px solid currentColor}.sticky-house__roof:after{content:"";position:absolute;left:-24px;top:2px;width:0;height:0;border-left:24px solid transparent;border-right:24px solid transparent;border-bottom:14px solid var(--c-nav-bg)}.sticky-house__body{width:44px;height:36px;border:1px solid currentColor;display:flex;flex-direction:column;gap:0}.sticky-house__level{flex:1;border-bottom:1px solid color-mix(in srgb,currentColor 45%,transparent);opacity:.35}.sticky-house__level:last-child{border-bottom:0}.sticky-house__level.is-target{opacity:1;background:currentColor;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c-nav-bg) 35%,transparent)}.sticky-outdoor-icon{width:50px;height:54px;display:inline-flex;align-items:center;justify-content:center;color:currentColor;font-size:6.8rem}.sticky-mode-switch{width:82px;height:46px;position:relative;border:1px solid color-mix(in srgb,var(--c-accent) 45%,transparent);border-radius:999px;background:transparent;color:var(--c-accent);padding:2px;display:grid;grid-template-columns:1fr 1fr;align-items:center;cursor:pointer}.sticky-mode-switch--cards{width:82px;height:46px}.sticky-mode-switch--views,.sticky-mode-switch--motion{width:82px;height:46px;border-color:color-mix(in srgb,var(--c-accent) 65%,transparent)}.sticky-mode-switch__thumb{position:absolute;top:2px;left:2px;width:calc(50% - 2px);height:calc(100% - 4px);border-radius:999px;background:var(--c-accent);transition:transform .18s ease}.sticky-mode-switch.is-minimal .sticky-mode-switch__thumb{transform:translate(100%)}.sticky-mode-switch__icon{position:relative;z-index:1;font-size:1.58rem;text-align:center;color:color-mix(in srgb,var(--c-accent) 65%,transparent)}.sticky-mode-switch__badge{position:absolute;top:-.35rem;right:-.35rem;min-width:1.25rem;height:1.25rem;padding:0 .26rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--c-accent) 50%,transparent);background:var(--c-nav-bg);color:var(--c-accent);font-size:.58rem;font-weight:var(--font-weight-base);line-height:1.2;display:inline-flex;align-items:center;justify-content:center;z-index:2;pointer-events:none}.sticky-mode-switch__icon.is-active{color:var(--c-nav-bg)}.sticky-mode-switch__text{position:relative;z-index:1;font-size:.74rem;font-weight:var(--font-weight-base);letter-spacing:.06em;text-align:center;color:color-mix(in srgb,var(--c-accent) 75%,transparent);line-height:1}.sticky-mode-switch__text.is-active{color:var(--c-nav-bg)}.sticky-mode-switch:focus-visible{outline:none;box-shadow:0 0 0 2px #ffffff40}.sticky-mode-switch:disabled{opacity:.55;cursor:default;box-shadow:none}@media(max-width:520px){.sticky-toggle-btn{top:var(--floating-top-bar-top);right:var(--floating-screen-inset)}.sticky-side-menu{width:min(calc(var(--floating-circle-size, 92px) + 3rem),calc(100vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px) - .5rem));padding-inline:.85rem;padding-top:calc(var(--floating-top-bar-top) + var(--floating-circle-size, 92px) + 1.6rem)}.sticky-side-menu__mode-toggle,.sticky-side-menu__dashboard-view-toggle,.sticky-side-menu__motion-toggle,.sticky-side-menu__zone-cycle,.sticky-side-menu__tag-filter,.sticky-side-menu__add-device{margin-top:1.35rem}}@media(min-width:1024px){.sticky-side-menu__weather{display:none}}@media(min-width:1600px){:root{--desktop-sticky-w: calc(var(--floating-circle-size, 135px) + (2 * var(--floating-screen-inset)));--desktop-floating-btn: 137px}.sticky-side-menu{width:var(--desktop-sticky-w);padding-top:calc(var(--floating-top-bar-top) + var(--floating-circle-size, 135px) + 1.2rem)}.sticky-toggle-btn{width:var(--floating-circle-size, 135px);height:var(--floating-circle-size, 135px)}.sticky-menu-icon{font-size:3.8rem}}.top-info-island-wrap{width:100%;display:flex;justify-content:center;pointer-events:none;padding-top:var(--floating-top-bar-top)}.top-info-island{pointer-events:auto;width:min(52rem,max(6rem,calc(100vw - (2 * var(--floating-screen-inset)) - (2 * var(--floating-circle-size, 92px)) - 2rem)));height:var(--floating-control-size, 94px);display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:1rem;padding:0 1.2rem;border-radius:22px;background:var(--floating-glass-panel-bg);box-shadow:0 10px 22px #00000024,inset 0 1px 0 var(--floating-glass-highlight),inset 0 -1px 0 var(--floating-glass-highlight-soft);backdrop-filter:blur(10px) saturate(1.06) brightness(1.03);-webkit-backdrop-filter:blur(10px) saturate(1.06) brightness(1.03)}.top-info-island--tenant-selection{width:min(34rem,calc(100vw - (2 * var(--floating-screen-inset)) - 1.5rem));grid-template-columns:auto auto;justify-content:center;gap:1.4rem}.top-info-island--tenant-selection .top-info-island__center{display:none}.top-info-island__side{display:inline-flex;align-items:center;gap:.8rem;min-width:0;flex-wrap:nowrap;white-space:nowrap}.top-info-island__side--start{justify-self:start}.top-info-island__side--end{justify-self:end}.top-info-island__center{min-width:0;width:100%}.top-info-island__center-group{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.85rem;position:relative}.top-info-island__tenant-btn{width:var(--floating-circle-size, 92px);height:var(--floating-circle-size, 92px);min-width:var(--floating-circle-size, 92px);min-height:var(--floating-circle-size, 92px);appearance:none;-webkit-appearance:none;border:1.5px solid var(--floating-glass-border);border-radius:50%;background:var(--floating-glass-button-bg);color:inherit;padding:0;cursor:pointer;box-shadow:0 4px 10px #0000001a,inset 0 1px 0 var(--floating-glass-highlight),inset 0 -1px 0 var(--floating-glass-highlight-soft);backdrop-filter:blur(6px) saturate(1.04) brightness(1.02);-webkit-backdrop-filter:blur(6px) saturate(1.04) brightness(1.02)}.top-info-island__tenant-btn:focus-visible{outline:none;border-color:var(--floating-glass-border-strong);transform:scale(1.02)}.top-info-island__title{max-width:100%;display:block;text-align:center;color:var(--floating-glass-text);font-size:clamp(2.2rem,.42 * 94px,2.8rem);font-weight:700;letter-spacing:.02em;line-height:.92;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-info-island__title--mobile{display:none}.top-info-island__zone-control{appearance:none;-webkit-appearance:none;border:1.5px solid var(--floating-glass-border);border-radius:50%;background:var(--floating-glass-button-bg);color:var(--floating-glass-text);cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;line-height:1;width:var(--floating-circle-size, 92px);min-width:var(--floating-circle-size, 92px);height:var(--floating-circle-size, 92px);min-height:var(--floating-circle-size, 92px);flex:0 0 auto;box-shadow:0 4px 10px #0000001a,inset 0 1px 0 var(--floating-glass-highlight),inset 0 -1px 0 var(--floating-glass-highlight-soft);backdrop-filter:blur(6px) saturate(1.04) brightness(1.02);-webkit-backdrop-filter:blur(6px) saturate(1.04) brightness(1.02)}.top-info-island__zone-control:focus-visible{outline:none;border-color:var(--floating-glass-border-strong);transform:scale(1.04)}.top-info-island__zone-house{width:calc(var(--floating-circle-size, 92px) * .62);height:calc(var(--floating-circle-size, 92px) * .76);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;color:currentColor;flex:0 0 auto}.top-info-island__zone-house-roof{width:0;height:0;border-left:calc(var(--floating-circle-size, 92px) * .31) solid transparent;border-right:calc(var(--floating-circle-size, 92px) * .31) solid transparent;border-bottom:calc(var(--floating-circle-size, 92px) * .19) solid currentColor}.top-info-island__zone-house-body{margin-top:calc(var(--floating-circle-size, 92px) * .03);width:calc(var(--floating-circle-size, 92px) * .49);height:calc(var(--floating-circle-size, 92px) * .34);border:calc(var(--floating-circle-size, 92px) * .02) solid currentColor;border-radius:.24rem;display:grid;grid-template-rows:repeat(3,1fr);gap:calc(var(--floating-circle-size, 92px) * .016);padding:calc(var(--floating-circle-size, 92px) * .02);box-sizing:border-box}.top-info-island__zone-house-level{border-radius:.08rem;background:color-mix(in srgb,currentColor 18%,transparent)}.top-info-island__zone-house-level.is-target{background:currentColor}.top-info-island__zone-outside-icon{font-size:calc(var(--floating-circle-size, 92px) * .42);line-height:1}.top-info-island__pill{display:inline-flex;align-items:center;justify-content:center;min-height:2.2rem;padding:0;gap:.42rem;color:var(--floating-glass-text);font-size:1.5rem;line-height:1;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;white-space:nowrap}.top-info-island__weather-icon{font-size:1em;opacity:.96}.top-info-island__pill--time{min-width:7.5rem}@media(min-width:1024px){.top-info-island{width:min(68rem,max(10rem,calc(100vw - (2 * var(--floating-screen-inset)) - (2 * var(--floating-circle-size, 116px)) - 2.5rem)));height:var(--floating-control-size, 118px);gap:1.25rem;padding:0 1.45rem;border-radius:26px}.top-info-island--tenant-selection{width:min(42rem,calc(100vw - (2 * var(--floating-screen-inset)) - 2rem));gap:1.8rem}.top-info-island__title{font-size:clamp(2.8rem,.42 * var(--desktop-floating-btn, 118px),3.35rem)}.top-info-island__center-group{gap:.95rem}.top-info-island__tenant-btn{width:var(--floating-circle-size, 116px);height:var(--floating-circle-size, 116px);min-width:var(--floating-circle-size, 116px);min-height:var(--floating-circle-size, 116px)}.top-info-island__zone-control{width:var(--floating-circle-size, 116px);min-width:var(--floating-circle-size, 116px);height:var(--floating-circle-size, 116px);min-height:var(--floating-circle-size, 116px)}.top-info-island__pill{min-height:2.7rem;font-size:2.25rem}}@media(min-width:1600px){.top-info-island{width:min(76rem,max(12rem,calc(100vw - (2 * var(--floating-screen-inset)) - (2 * var(--floating-circle-size, 135px)) - 3rem)));height:var(--floating-control-size, 137px);gap:1.4rem;padding:0 1.75rem;border-radius:30px}.top-info-island--tenant-selection{width:min(48rem,calc(100vw - (2 * var(--floating-screen-inset)) - 2.4rem));gap:2rem}.top-info-island__title{font-size:clamp(3.2rem,.42 * var(--desktop-floating-btn, 137px),3.85rem)}.top-info-island__center-group{gap:1rem}.top-info-island__tenant-btn{width:var(--floating-circle-size, 135px);height:var(--floating-circle-size, 135px);min-width:var(--floating-circle-size, 135px);min-height:var(--floating-circle-size, 135px)}.top-info-island__zone-control{width:var(--floating-circle-size, 135px);min-width:var(--floating-circle-size, 135px);height:var(--floating-circle-size, 135px);min-height:var(--floating-circle-size, 135px)}.top-info-island__pill{min-height:3rem;font-size:2.5rem}}@media(max-width:700px){.top-info-island-wrap{width:calc((4 * var(--floating-circle-size, 92px)) + (3 * var(--floating-icon-gap, 8px)));max-width:calc(100vw - (2 * var(--floating-screen-inset)));margin:0 auto;display:grid;grid-template-columns:var(--floating-circle-size, 92px) var(--floating-circle-size, 92px) var(--floating-circle-size, 92px) var(--floating-circle-size, 92px);column-gap:var(--floating-icon-gap, 8px);justify-content:center}.top-info-island{grid-column:2 / 4;justify-self:stretch;grid-template-columns:1fr;justify-items:stretch;width:100%;height:auto;min-height:0;padding:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.top-info-island__side--start,.top-info-island__side--end{display:none}.top-info-island__center{width:100%;display:flex;justify-content:space-between}.top-info-island__center-group{width:100%;justify-content:space-between;gap:0}.top-info-island__tenant-btn{width:var(--floating-circle-size, 92px);height:var(--floating-circle-size, 92px);min-width:var(--floating-circle-size, 92px);min-height:var(--floating-circle-size, 92px);padding:0;border-radius:50%}.top-info-island__title--mobile{display:none}.top-info-island--tenant-selection{grid-column:1 / 5;justify-self:center;width:auto;grid-template-columns:auto auto;gap:1rem}}.button{display:inline-flex;justify-content:center;align-items:center;min-width:5.2rem;padding:.45rem .8rem;border-radius:4px;border:1px solid var(--c-accent);background:var(--c-button-bg);color:var(--c-accent);font-size:1rem;line-height:1.2;text-decoration:none}.magic-button{display:flex;justify-content:center;align-items:center;width:4rem;height:4rem;margin:.5rem;font-size:1rem;border-radius:0;background-color:#454545;border:1px solid #4d7f9b}.button:focus{outline:none}.button:hover,.button:active{cursor:pointer}.button--inverse{background:transparent;color:#fd3f00}.button--inverse:hover,.button--inverse:active{color:#fff;background:#fd3f00}.button--danger{background:#830000;border-color:#830000}.button--danger:hover,.button--danger:active{background:#f34343;border-color:#f34343}.button:disabled,.button:hover:disabled,.button:active:disabled{background:#ccc;color:#979797;border-color:#ccc;cursor:not-allowed}.button--small{font-size:.8rem}.button--big{font-size:1.5rem}:root{--magic-radius: 6px}img,svg,video{max-width:100%;height:auto;display:block}.card-grid,.dual-card-grid{list-style:none;padding:0 1rem;display:grid;column-gap:var(--gap);row-gap:var(--gap);background:var(--rl-grid-bg)}.card-grid{margin-top:var(--content-top-offset, calc(.9rem + env(safe-area-inset-top, 0px)) )}@media(min-width:1024px){.card-grid{margin-top:var(--content-top-offset, calc(env(safe-area-inset-top, 0px) + var(--desktop-floating-btn, 82px) + .85rem))}}ul.card-grid{--card-w: 240px;grid-template-columns:repeat(auto-fit,minmax(var(--card-w),480px));justify-content:center}ul.card-grid.card-grid--surveillance{grid-template-columns:repeat(3,minmax(0,1fr));min-height:65vh}@media(max-width:480px){ul.card-grid{--card-w: 100%;grid-template-columns:1fr;column-gap:.5rem;row-gap:.75rem;max-height:none;overflow:visible;padding:.5rem .5rem .75rem;margin-top:var(--content-top-offset, calc(.9rem + env(safe-area-inset-top, 0px)) );align-content:start}ul.card-grid.card-grid--surveillance{grid-template-columns:1fr;min-height:auto}.card-grid-rows{max-height:none;overflow:visible;padding:.5rem .5rem .75rem;margin-top:.25rem;align-content:start;gap:.75rem}.card-grid-rows>ul.card-grid{max-height:none;overflow:visible;padding:0;margin-top:0}.card-grid-rows--mixed{padding-top:calc(.9rem + env(safe-area-inset-top,0px))}.card.card-item .nested-card{gap:.35rem}.card-item .magic-button-small{font-size:1.3rem;padding:.35rem .5rem}.card-item .magic-icon,.grid-cell.main-toggle .magic-icon{font-size:4rem!important}.card-item .magic-on,.card-item .magic-off{padding:1.5rem;font-size:1.5rem}.grid-cell.status-text .magic-indicator-on,.grid-cell.status-text .magic-indicator-off,.grid-cell.status-text .magic-indicator-timer{font-size:1.1rem}ul.card-grid>li.card-item,ul.dual-card-grid>li.card-item{content-visibility:auto;contain-intrinsic-size:420px 320px}}.card-grid>*,.dual-card-grid>*{min-width:0;display:block}.magic-readonly button,.magic-readonly [role=button],.magic-readonly input,.magic-readonly select,.magic-readonly textarea,.magic-readonly .icon-btn,.magic-readonly .card-clickable{pointer-events:none!important}.magic-readonly button,.magic-readonly .icon-btn,.magic-readonly [role=button]{opacity:.58}.magic-readonly .magic-surveillance-item button,.magic-readonly .magic-surveillance-item [role=button]{pointer-events:auto!important;opacity:1}.card-grid-rows{display:flex;flex-direction:column;gap:var(--gap)}.card-grid-rows--mixed{padding-top:.5rem}@media(min-width:1024px){.card-grid{margin-top:var(--content-top-offset, calc(env(safe-area-inset-top, 0px) + var(--desktop-floating-btn, 82px) + .85rem))}.card-grid-rows--mixed{padding-top:.5rem}}@media(min-width:1600px){.card-grid{margin-top:var(--content-top-offset, calc(env(safe-area-inset-top, 0px) + var(--desktop-floating-btn, 94px) + 1.2rem))}}.card-grid-row{margin:0;padding:0;background:transparent}.dual-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:center}.card-grid--shutter{--card-w: 420px;grid-template-columns:repeat(auto-fit,minmax(var(--card-w),560px))}.card-grid--media{--card-w: 480px}.card-grid--media-full{grid-template-columns:minmax(0,1fr)!important;justify-content:stretch;padding-inline:0;margin-top:calc(.75rem + env(safe-area-inset-top,0px))}.card-grid--media-full>li.card-item{width:100%;max-width:none}.card-grid--weather{--card-w: 360px}.card{background:var(--c-card);border-radius:var(--magic-radius, 6px);padding:0;width:100%;min-width:0}.card.card-item{overflow:hidden}.magic-window-card{position:relative}.magic-window-card--open{animation:magic-window-open-frame 1.1s ease-in-out infinite}.magic-device-info-btn{border:none;background:transparent;color:var(--c-accent);border-radius:4px;padding:clamp(.25rem,1vw,.5rem);font-size:clamp(1.75rem,3vw,2.5rem);min-width:0;min-height:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .12s var(--ease-out),border-color .12s var(--ease-out),background-color .12s var(--ease-out)}.magic-device-info-btn:hover,.magic-device-info-btn:focus-visible{background:transparent;transform:translateY(-1px);outline:none}.magic-device-info-modal{max-width:34rem}.magic-device-info-modal__content{padding:1rem 1.1rem .8rem}.magic-device-info-modal__rows{display:grid;gap:.55rem}.magic-device-info-modal__row{display:grid;grid-template-columns:minmax(7rem,10rem) 1fr;gap:.8rem;align-items:baseline;padding-bottom:.45rem;border-bottom:1px solid color-mix(in srgb,var(--c-accent) 16%,transparent)}.magic-device-info-modal__label{color:color-mix(in srgb,var(--c-accent) 68%,white);font-size:.92rem}.magic-device-info-modal__value{color:var(--c-accent);word-break:break-word;text-align:right}.magic-device-info-modal__empty{color:color-mix(in srgb,var(--c-accent) 68%,white)}.magic-device-info-modal__footer{justify-content:flex-end}.card.card-clickable{cursor:pointer;transition:background-color var(--dur-pop-in) var(--ease-io),box-shadow .12s var(--ease-out),transform .12s var(--ease-out)}.card.card-clickable:hover,.card.card-clickable:focus-visible{outline:none}.magic-card-with-battery,.magic-card-with-info{position:relative}.magic-card-battery-anchor{position:absolute;left:.7rem;bottom:.7rem;z-index:3}.magic-card-info-anchor{position:absolute;left:.7rem;top:.7rem;z-index:3}.card.card-clickable:active{transform:translateY(1px);box-shadow:0 1px 4px var(--rl-card-shadow)}.card-clickable .icon-btn{border:none;background:none;padding:.25rem;display:inline-flex;align-items:center;justify-content:center;color:var(--c-nav-fg);cursor:pointer;transition:color var(--dur-pop-in) var(--ease-io),transform .12s var(--ease-out)}.card-clickable:hover .icon-btn,.card-clickable:focus-visible .icon-btn{color:var(--c-hover)}.card-clickable .icon-btn:hover{background:transparent;transform:none}.card-clickable .icon-btn .svg-inline--fa{pointer-events:none}.grid-item-header{grid-column:1 / -1;grid-row:1;display:flex;justify-content:center;align-items:center;color:var(--c-accent-alt);font-size:1rem;font-weight:var(--font-weight-base);padding:0;overflow-wrap:break-word;word-break:break-word}.card.card-item .nested-card{background:transparent;display:grid;gap:.75rem}.card.card-item .nested-card.magic-card-shell__layout{grid-template-rows:auto minmax(0,1fr) auto;min-height:100%;padding:.5rem}.magic-card-shell__header,.magic-card-shell__footer{display:grid;grid-template-columns:minmax(2.5rem,auto) minmax(0,1fr) minmax(2.5rem,auto);align-items:center;gap:.5rem;min-width:0}.magic-card-shell__header-side,.magic-card-shell__footer-side{display:flex;align-items:center}.magic-card-shell__header-side--start,.magic-card-shell__footer-side--start{justify-content:flex-start}.magic-card-shell__header-side--end{justify-content:flex-end}.magic-card-shell__title,.magic-card-shell__footer-content{min-width:0;display:flex;align-items:center;justify-content:center}.magic-card-shell__title{color:var(--c-accent-alt);overflow:hidden;text-align:center}.magic-card-shell__title>*{min-width:0;max-width:100%}.magic-card-shell__body{min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr) minmax(0,auto);align-items:stretch;gap:.5rem}.magic-card-shell__body-side,.magic-card-shell__body-content{min-width:0;min-height:0;display:flex;align-items:center}.magic-card-shell__body-side--start{justify-content:flex-start}.magic-card-shell__body-side--end{justify-content:flex-end}.magic-card-shell__body-content{justify-content:center}.magic-card-shell__footer-content,.magic-card-shell__footer-side--end{min-width:0}.magic-card-shell--dashboard.card.card-item{overflow:hidden}.card.card-item .nested-card.magic-card-shell--dashboard.magic-grid-3x3{display:grid}.magic-card-shell--dashboard .magic-card-shell__slot{min-width:0;min-height:0}.magic-card-shell--dashboard .magic-card-shell__slot--top-left,.magic-card-shell--dashboard .magic-card-shell__slot--top-right,.magic-card-shell--dashboard .magic-card-shell__slot--middle-left,.magic-card-shell--dashboard .magic-card-shell__slot--middle-right,.magic-card-shell--dashboard .magic-card-shell__slot--bottom-right{overflow:visible}.magic-card-shell--dashboard .magic-card-shell__slot--top-center,.magic-card-shell--dashboard .magic-card-shell__slot--bottom-center{min-width:0}.magic-card-shell--dashboard .magic-card-shell__slot--top-center{padding-inline:.2rem}.magic-card-shell--dashboard .magic-card-shell__slot--top-center .magic-button-small,.magic-card-shell--dashboard .magic-card-shell__slot--top-center .magic-button-header{max-width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:clamp(2rem,1.75vw,3rem);line-height:1.15}.magic-card-shell--dashboard .magic-card-shell__slot--top-center .magic-card-shell__title-text{display:block;width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--c-accent-alt);font-size:clamp(2rem,1.2vw,3rem);line-height:1.15;font-weight:var(--font-weight-base)}.magic-card-shell__settings-btn{border:none;background:transparent;color:var(--c-accent);border-radius:4px;padding:clamp(.25rem,1vw,.5rem);font-size:clamp(1.5rem,2.6vw,2.2rem);min-width:0;min-height:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .12s var(--ease-out),color .12s var(--ease-out),background-color .12s var(--ease-out)}.magic-card-shell__settings-btn:hover,.magic-card-shell__settings-btn:focus-visible{color:var(--c-hover);background:transparent;transform:translateY(-1px);outline:none}.magic-card-shell__top-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:.35rem}.magic-card-shell__battery-badge{display:inline-flex;align-items:center;justify-content:center;width:clamp(2.4rem,3vw,3rem);height:clamp(2.4rem,3vw,3rem);border-radius:999px;color:var(--c-accent);background:transparent;font-size:clamp(1.45rem,2vw,1.95rem)}.magic-card-shell__battery-badge.is-low{color:#ffb14a}.magic-card-shell__battery-badge.is-alarm{color:#ff6b6b}.magic-card-shell__battery-badge.is-pulsing{animation:magic-battery-alarm-blink 1.1s ease-in-out infinite}.magic-card-min{position:relative}.magic-card-min__battery-badge{position:absolute;top:.55rem;right:.6rem;z-index:3}@keyframes magic-battery-alarm-blink{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.96)}}.magic-card-shell__signal-stack{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.25rem}.magic-card-shell__signal-btn{border:none;background:transparent;padding:0;margin:0;color:inherit;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.magic-card-shell__signal-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--c-accent) 55%,white 45%);outline-offset:2px;border-radius:.6rem}.magic-card-shell__signal.magic-rssi-bars{--rssi-bar-color: color-mix(in srgb, var(--c-accent) 90%, white 10%);--rssi-bar-dim: color-mix(in srgb, var(--c-accent) 18%, transparent);min-width:clamp(3.8rem,5vw,5rem);min-height:clamp(3.8rem,5vw,5rem);padding:clamp(.4rem,1.2vw,.7rem);background:transparent;display:inline-flex;align-items:center;justify-content:center}.magic-card-shell__signal .magic-rssi-bars__bar{width:.42rem}.magic-card-shell__signal .magic-rssi-bars__bar--1{height:.64rem}.magic-card-shell__signal .magic-rssi-bars__bar--2{height:.96rem}.magic-card-shell__signal .magic-rssi-bars__bar--3{height:1.44rem}.magic-card-shell__signal .magic-rssi-bars__bar--4{height:1.96rem}.magic-card-shell--compact .magic-card-shell__layout{gap:.45rem;padding:.35rem .45rem}.magic-card-shell--compact .magic-card-shell__header,.magic-card-shell--compact .magic-card-shell__footer{gap:.35rem}.magic-card-shell--compact .magic-card-shell__header,.magic-card-shell--compact .magic-card-shell__footer{grid-template-columns:minmax(2rem,auto) minmax(0,1fr) minmax(2rem,auto)}.magic-card-shell--compact .magic-card-shell__body{gap:.35rem}.magic-card-shell--compact .magic-card-shell__header-side .magic-device-info-btn{padding:.15rem;font-size:1.2rem}.magic-card-shell--compact .magic-card-shell__title,.magic-card-shell--compact .magic-card-shell__title>*{min-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;line-height:1.15}.magic-card-shell--compact .magic-card-shell__title .magic-button-small,.magic-card-shell--compact .magic-card-shell__title .magic-button-header{padding:.2rem .35rem;font-size:.95rem}.magic-card-shell--compact .magic-card-shell__footer-content,.magic-card-shell--compact .magic-card-shell__body-side,.magic-card-shell--compact .magic-card-shell__body-content{font-size:.95rem;line-height:1.15}.magic-card-shell--compact .magic-card-shell__footer-content .magic-indicator-on,.magic-card-shell--compact .magic-card-shell__footer-content .magic-indicator-off,.magic-card-shell--compact .magic-card-shell__footer-content .magic-indicator-timer{font-size:.95rem}.magic-card-shell--compact .magic-card-shell__footer-side .magic-button-small,.magic-card-shell--compact .magic-card-shell__footer-side .magic-button-header,.magic-card-shell--compact .magic-card-shell__body-side .magic-button-small,.magic-card-shell--compact .magic-card-shell__body-side .magic-button-header{padding:.2rem .35rem;font-size:.95rem}.magic-tv-card__main-toggle{width:100%;height:100%}.card.card-item .grid-item-header{grid-column:1 / -1}.grid-item{display:flex;justify-content:center;align-items:center;color:var(--c-accent-alt);padding:0}.card.card-item .nested-card.magic-grid-3x3{display:grid;grid-template-columns:1fr 4fr 1fr;grid-template-rows:1fr 3fr 1fr;gap:.4rem;width:100%;height:100%;box-sizing:border-box;padding:.5rem}.grid-cell{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;overflow:hidden;color:var(--c-accent-alt);padding:0;text-align:center}.grid-cell.main-toggle{overflow:visible}.grid-cell.main-toggle button{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.grid-cell.main-toggle .magic-icon{width:70%;height:auto;max-width:100%;max-height:100%;margin:0 auto;color:var(--c-accent)}@keyframes magic-window-open-frame{0%,to{box-shadow:inset 0 0 0 2px #d23027f2,0 0 .25rem #d2302747}50%{box-shadow:inset 0 0 0 2px #d2302714,0 0 #d2302700}}.grid-cell.header{justify-content:center}.grid-cell.header .magic-button-small,.grid-cell.header .magic-button-header{max-width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.grid-cell.main-toggle{justify-content:center}.grid-cell.main-toggle .magic-icon,.grid-cell.main-toggle .magic-icon-large{max-width:100%;height:auto}.shutter-main{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%}.shutter-visual{flex:1 1 35%;display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%;position:relative;max-width:80%;border:0px solid #e6e6e6;box-shadow:0 0 #f5f5f0;border-radius:1px;overflow:hidden}.shutter-visual .magic-background-img{width:100%;height:100%;object-fit:cover;display:block}.shutter-main .button-group-vertical{flex:1 1 32%;display:flex;flex-direction:column;gap:1.35rem}.shutter-main .button-group-vertical button{font-size:1.6rem;padding:1.1rem;min-width:4.5rem;transition:transform .14s ease,background-color .14s ease,box-shadow .14s ease,filter .14s ease;position:relative;will-change:transform}.shutter-controls,.shutter-presets{overflow:visible;align-items:center;justify-content:center}.magic-shutter-card .magic-card-shell__slot--middle-left,.magic-shutter-card .magic-card-shell__slot--middle-right{overflow:hidden;align-items:center;justify-content:center;padding-inline:.2rem}.magic-shutter-card .magic-card-shell__slot--middle-center{overflow:visible;align-items:stretch;justify-content:center}.magic-shutter-card .magic-card-shell__slot--middle-left .button-group-vertical,.magic-shutter-card .magic-card-shell__slot--middle-right .button-group-vertical{width:100%;max-width:5.5rem;display:flex;flex-direction:column;gap:1.35rem}.magic-shutter-card .magic-card-shell__slot--middle-left .button-group-vertical button,.magic-shutter-card .magic-card-shell__slot--middle-right .button-group-vertical button{width:100%;min-width:0;font-size:1.6rem;padding:1.1rem .5rem;transition:transform .14s ease,background-color .14s ease,box-shadow .14s ease,filter .14s ease;position:relative;will-change:transform}.magic-shutter-card .magic-card-shell__slot--middle-center .shutter-visual{width:100%;max-width:80%;align-self:stretch}.magic-main-toggle{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.magic-timer-wrapper.magic-timer-overlay{position:absolute;inset:auto 0 0;display:flex;flex-direction:column;align-items:center;gap:.35rem;pointer-events:none}.magic-timer-overlay__countdown{pointer-events:none;font-size:1rem;padding:.2rem .6rem;border-radius:999px;background:#00000059;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.magic-timer-overlay__button{pointer-events:auto;padding:.4rem .8rem;font-size:1.1rem}.grid-cell.timer{justify-content:center;min-height:5.5rem}.grid-cell.status-text{justify-content:center}.grid-cell.status-text .magic-indicator-on,.grid-cell.status-text .magic-indicator-off,.grid-cell.status-text .magic-indicator-timer{font-size:1.4rem;padding:.1rem .4rem;border-radius:999px;text-align:center;max-width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin:0}.grid-cell.placeholder{justify-content:center;align-items:center;font-size:.75rem;padding:0 .25rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.magic-status-card{display:flex;flex-direction:column;gap:1.25rem;padding:1.25rem}.magic-status-card__header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.magic-status-card__pill{font-size:.8rem;letter-spacing:.08em;padding:.25rem .75rem;border-radius:999px;color:#0b0c0d;background:var(--c-accent)}.magic-status-card__pill--away{background:var(--c-warning, #f4b740)}.magic-status-card__pill--sleep{background:var(--c-muted, #7d8ea7)}.magic-status-card__hero{border-radius:0;border:1px solid rgba(255,255,255,.08);background:#ffffff05;padding:1rem;display:flex;justify-content:space-between;align-items:center;gap:1.25rem;flex-wrap:wrap;width:100%;text-align:left;cursor:pointer;color:inherit;transition:background var(--dur-pop-in) var(--ease-io),border-color var(--dur-pop-in) var(--ease-io)}.magic-status-card__hero:disabled{cursor:wait;opacity:.7}.magic-status-card__hero:not(:disabled):hover,.magic-status-card__hero:not(:disabled):focus-visible{background:#ffffff14;border-color:var(--c-accent)}.magic-status-card__hero-main{display:flex;align-items:center;gap:1rem}.magic-status-card__hero-icon{width:4rem;height:4rem;border-radius:16px;background:#ffffff0f;display:flex;align-items:center;justify-content:center;font-size:2rem;color:var(--c-accent)}.magic-status-card__hero-copy{display:flex;flex-direction:column;gap:.15rem}.magic-status-card__hero-label{font-size:1.1rem;text-transform:uppercase;letter-spacing:.08em}.magic-status-card__hero-description{font-size:.85rem;color:#fff9}.magic-status-card__hero-cta{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#ffffff80}.magic-status-card__details{border-radius:0;background:#ffffff05;border:1px solid rgba(255,255,255,.08);padding:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.magic-status-card__detail{border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#ffffff03;padding:.75rem;display:flex;justify-content:space-between;align-items:center;font-size:.95rem;text-transform:uppercase;letter-spacing:.08em;gap:.5rem;cursor:pointer;color:inherit;width:100%;text-align:left;border-style:solid;transition:background var(--dur-pop-in) var(--ease-io),border-color var(--dur-pop-in) var(--ease-io)}.magic-status-card__detail:hover,.magic-status-card__detail:focus-visible{background:#ffffff14;border-color:var(--c-accent)}.magic-status-card__detail-left{display:flex;align-items:center;gap:.5rem}.magic-status-card__detail-icon{font-size:1rem;color:#fff9}.magic-status-card__detail-label{color:#fff9}.magic-status-card__detail-value{color:var(--c-accent)}.magic-status-card__alerts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.magic-status-card__alert{border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#ffffff05;padding:.75rem 1rem;display:flex;align-items:center;gap:.75rem}.magic-status-card__alert--active{border-color:#f4474799;background:#f4474726}.magic-status-card__alert-icon{font-size:1.4rem;color:var(--c-accent)}.magic-status-card__alert-copy{display:flex;flex-direction:column;gap:.15rem}.magic-status-card__alert-label{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:#ffffffb3}.magic-status-card__alert-value{font-size:.85rem;letter-spacing:.08em}.magic-status-card__doorbird{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.magic-status-card__doorbird-frame{border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#ffffff05;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.75rem}.magic-status-card__doorbird-video{position:relative;overflow:hidden;border-radius:10px;background:#ffffff0a}.magic-status-card__doorbird-video img{width:100%;height:100%;object-fit:cover}.magic-status-card__doorbird-placeholder{padding:1rem;border-radius:10px;background:#ffffff0d;color:#fff9;text-align:center}.magic-status-card__doorbird-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem}.magic-status-card__doorbird-button{border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#ffffff05;padding:.65rem .85rem;display:inline-flex;align-items:center;gap:.5rem;justify-content:center;cursor:pointer;color:inherit;transition:background var(--dur-pop-in) var(--ease-io),border-color var(--dur-pop-in) var(--ease-io)}.magic-status-card__doorbird-button:hover,.magic-status-card__doorbird-button:focus-visible{background:#ffffff14;border-color:var(--c-accent)}.magic-status-card__doorbird-pill{align-self:flex-start;padding:.35rem .75rem;border-radius:999px;background:#f4474733;color:#ffb4b4;border:1px solid rgba(244,71,71,.4);letter-spacing:.05em;text-transform:uppercase;font-size:.75rem}.magic-status-card__footer{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-start;align-items:center;font-size:.85rem}.magic-status-card__warning,.magic-status-card__ok{padding:.35rem .75rem;border-radius:999px;letter-spacing:.05em}.magic-status-card__warning{background:#f4474733;color:#ffb4b4;border:1px solid rgba(244,71,71,.4)}.magic-status-card__ok{background:#00c85326;color:#9ff7ba;border:1px solid rgba(0,200,83,.2)}.magic-status-card__systems{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.magic-status-card__system{border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#ffffff05;padding:.75rem 1rem;display:flex;align-items:center;gap:.75rem}.magic-status-card__system--on{border-color:var(--c-accent);background:#ffffff14}.magic-status-card__system-icon{font-size:1.5rem;color:var(--c-accent)}.magic-status-card__system-copy{display:flex;flex-direction:column;gap:.15rem}.magic-status-card__system-label{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:#ffffffbf}.magic-status-card__system-value{font-size:.85rem;letter-spacing:.08em}.magic-status-card__section-label{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:#fff9}.magic-status-card__quick-actions{display:flex;flex-direction:column;gap:.75rem}.magic-status-card__quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.magic-status-card__quick-action{border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#ffffff05;padding:.75rem 1rem;display:flex;align-items:center;gap:.75rem;text-align:left;cursor:pointer;transition:background var(--dur-pop-in) var(--ease-io),transform .12s var(--ease-out)}.magic-status-card__quick-action:hover,.magic-status-card__quick-action:focus-visible{background:#ffffff14}.magic-status-card__quick-icon{font-size:1.4rem;color:var(--c-accent)}.magic-status-card__quick-copy{display:flex;flex-direction:column;gap:.15rem}.magic-status-card__quick-label{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em}.magic-status-card__quick-description{font-size:.75rem;color:#fff9}.magic-status-card__macro-status{font-size:.85rem;color:#fffc}.magic-status-card__macro-status--success{color:#9ff7ba}.footer-value{text-align:center;color:var(--c-accent);padding:1rem 0}.footer-spacer{min-height:1rem}.card-item .magic-button-large{margin:clamp(.5rem,2vw,1.5rem) 0;padding:clamp(.25rem,2vw,.75rem);font-size:clamp(5rem,8vw,8rem)}.card-item .magic-button-medium{padding:clamp(.25rem,1.5vw,.5rem);font-size:clamp(3.5rem,6vw,5rem);margin:clamp(.5rem,3vw,1rem) 0}.card-item .magic-button-small{margin:clamp(.25rem,1vw,.75rem) 0;padding:clamp(.25rem,1vw,.5rem);font-size:clamp(1.75rem,3vw,2.5rem)}.card-item .magic-button-header{margin:clamp(.25rem,1vw,.75rem) 0;padding:clamp(.5rem,1.5vw,1rem) 0;font-size:clamp(2rem,1.75vw,3rem);font-weight:var(--font-weight-base);line-height:1.2}.dashboard-button,.magic-button,.magic-button-small,.magic-button-medium,.magic-button-header,.magic-button-large{color:var(--c-accent);background-color:var(--c-chip);display:inline-flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:background-color .3s,transform .2s,color .2s}.dashboard-button{font-size:10rem;padding:10px 20px;border-radius:4px}.magic-button{padding:1rem}.magic-button-border{border:1px solid var(--c-accent);border-radius:4px;border-style:dotted;padding:1rem}.magic-button:hover,.magic-button-large:hover,.magic-button-small:hover,.magic-button-medium:hover,.magic-button-header:hover{color:var(--c-hover)}.magic-button.disabled{color:var(--c-accent);background-color:var(--c-chip);cursor:not-allowed;pointer-events:none;opacity:.25}.timer-on,.timer-off{display:flex;justify-content:center;align-items:center;width:4rem;height:4rem;font-size:2rem;color:var(--c-accent);border:none;margin:2rem;padding:2rem}.timer-on{color:var(--c-card);background-color:var(--c-on)}.timer-off{background-color:transparent}.magic-on,.magic-off{color:var(--c-accent-alt);background-color:var(--c-chip);border:none;border-radius:0;font-size:1.75rem;padding:2rem}.magic-on{color:var(--c-card);background-color:var(--c-on);--fa-primary-color: var(--c-card);--fa-secondary-color: var(--c-card);--fa-primary-opacity: 1;--fa-secondary-opacity: 1}.magic-on .magic-icon,.magic-on svg{color:var(--c-card);fill:currentColor;stroke:currentColor}.magic-on .magic-icon *,.magic-on svg *{fill:currentColor;stroke:currentColor}.grid-cell.main-toggle .magic-on .magic-icon,.grid-cell.main-toggle .magic-on svg,.grid-cell.main-toggle .magic-on .magic-icon *,.grid-cell.main-toggle .magic-on svg *{color:var(--c-card);fill:currentColor;stroke:currentColor}.magic-touch{color:var(--c-accent-alt);background-color:var(--c-chip);display:inline-flex;align-items:center;justify-content:center;padding:1rem;border-radius:4px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background-color .1s linear,color .1s linear,transform .08s}.magic-touch:active{transform:translateY(1px);animation:magic-touch-flash .1s linear}@keyframes magic-touch-flash{0%{background-color:var(--c-chip);color:var(--c-accent-alt)}50%{background-color:var(--c-on);color:var(--c-card)}to{background-color:var(--c-chip);color:var(--c-accent-alt)}}.magic-icon{color:inherit}.magic-icon-small{font-size:2rem;color:var(--c-accent-alt);cursor:pointer}.magic-icon-medium{font-size:4rem;color:inherit}.magic-icon-large{font-size:6rem;color:inherit}.magic-indicator-on{color:var(--c-on);font-size:2rem;margin:0 0 1rem}.magic-indicator-off{color:var(--c-accent-alt);font-size:2rem;margin:0 0 1rem}.magic-indicator-timer{color:var(--c-on);font-size:1.8rem;margin:0 0 1rem;display:inline-flex;align-items:center;justify-content:center;gap:.2rem;min-height:2.2rem}.magic-indicator-timer__count{font-size:1.4rem}.card-item .magic-timer-wrapper{min-height:4.5rem;display:flex;flex-direction:column;align-items:center;gap:.35rem}.card-item .magic-timer-countdown{min-height:1.4rem;display:inline-flex;align-items:center;justify-content:center}.magic-timer-countdown{font-size:1.5rem;color:var(--c-accent);border:none;text-align:center;transition:background .3s ease,border .3s ease,color .3s ease}.magic-indicator-off .magic-timer-countdown{background:#ffffff14;border-color:#ffffff40;color:#bbb;animation:none;box-shadow:none}.magic-timeout-select-wrapper{display:flex;justify-content:center;align-items:center}.magic-timeout-select{font-size:1rem;padding:6px 10px;margin:1rem;border:1px solid #ccc;border-radius:4px;background:var(--c-chip);color:var(--c-accent);cursor:pointer}.magic-timeout-select:disabled{background:#f2f2f2;color:#888;cursor:not-allowed}@keyframes pulseCountdownRect{0%{transform:scale(1);border-color:transparent}50%{transform:scale(1.03);border-color:transparent}to{transform:scale(1);border-color:transparent}}@media(min-width:768px){.nested-card:not(.magic-grid-3x3){grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.card.card-item .nested-card.magic-grid-3x3{grid-template-columns:1fr 3fr 1fr}}@media(min-width:1024px){.nested-card:not(.magic-grid-3x3){grid-template-columns:repeat(3,1fr)}}@media(min-width:768px){.card.card-item .nested-card:not(.magic-grid-3x3){grid-template-columns:1fr 2fr 1fr;align-items:center}}@media(max-width:600px){.dual-card-grid{grid-template-columns:1fr}}.user-settings{position:relative;display:flex;width:100%;box-sizing:border-box;justify-content:flex-end}.user-btn{display:inline-grid;place-items:center;font-size:5rem;background:transparent;border:0;color:var(--c-accent);width:100%;cursor:pointer;transition:color .2s;padding-bottom:1rem}.user-btn:focus-visible,.user-btn[aria-expanded=true]{color:var(--c-hover);outline:none}.user-settings-dropdown{opacity:0;display:flex;position:fixed;align-items:center;gap:3rem;right:calc(var(--side-w, 0px));background:var(--c-card);margin:0 0 1rem;border-radius:6px;transform:translate(0);transform-origin:right bottom;pointer-events:none;transition:opacity var(--dur-menu-out) var(--ease-in),transform var(--dur-menu-out) var(--ease-in);z-index:var(--layer-floating)}.user-settings-dropdown.open{opacity:1;transform:translate(-2rem);pointer-events:auto;transition:opacity var(--dur-menu-in) var(--ease-out),transform var(--dur-menu-in) var(--ease-out)}.user-settings-dropdown li{margin:0}.user-settings-dropdown .icon-btn,.user-settings-dropdown .language-toggle{width:6rem;height:6rem;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;box-shadow:none;border-radius:0;color:var(--c-accent);padding:0;cursor:pointer}.user-settings-dropdown .icon-btn:hover,.user-settings-dropdown .icon-btn:focus-visible,.user-settings-dropdown .language-toggle:hover,.user-settings-dropdown .language-toggle:focus-visible{color:var(--c-hover);outline:none}.user-settings-dropdown .icon-btn .svg-inline--fa{font-size:4rem}.user-settings-dropdown .language-toggle img{width:4rem;height:2.5rem;display:block;border-radius:4px}.user-settings-dropdown>li.language{position:relative}.sign-out-label{position:absolute;top:50%;transform:translateY(-200%) translate(-25%);background:var(--c-card);padding:.25rem .5rem;border-radius:6px;border:none;font-size:2rem;white-space:nowrap;pointer-events:none;display:inline-flex;align-items:center;z-index:2147483647;max-width:calc(100vw - 4rem);overflow:hidden}.language-dropdown{position:absolute;right:0;bottom:calc(100% + .375rem);display:flex;flex-direction:column;gap:.25rem;background:var(--c-card);padding:.25rem .5rem;border-radius:8px;box-shadow:0 4px 6px var(--rl-card-shadow, rgba(0, 0, 0, .25));z-index:2147483647;transform-origin:right bottom;transform:scaleY(0);opacity:0;pointer-events:none}.language-toggle[aria-expanded=true]+.language-dropdown{transform:scaleY(1);opacity:1;pointer-events:auto}.language-dropdown>li{width:4rem;height:4rem;display:flex;align-items:center;justify-content:center;cursor:pointer}.language-dropdown>li:hover img,.language-dropdown>li.selected img{border:2px solid var(--c-hover)}@media(prefers-reduced-motion:reduce){.user-settings-dropdown{transition:opacity .2s ease,visibility 0s;transform:none}.user-settings-dropdown.open{transform:none}.language-dropdown{transition:opacity .15s ease;transform:none}.language-toggle[aria-expanded=true]+.language-dropdown{transform:none}}.tenant-item-circle-wrap{width:100%;min-height:14rem;display:flex;align-items:center;justify-content:center;padding:1rem .5rem;position:relative}.tenant-item-photo-badge{position:absolute;top:.35rem;left:.55rem;z-index:2;width:72px;height:72px;border-radius:50%;overflow:hidden;border:2px solid rgba(255,255,255,.72);background:#ffffff1f;display:grid;place-items:center;box-shadow:0 8px 20px #0000003d}.tenant-item-photo-image{width:100%;height:100%;object-fit:cover;display:block}.tenant-item-circle-btn{width:clamp(132px,22vw,184px);height:clamp(132px,22vw,184px);min-width:132px;min-height:132px;appearance:none;-webkit-appearance:none;border:1.5px solid var(--floating-glass-border);border-radius:50%;overflow:hidden;isolation:isolate;background:var(--floating-glass-button-bg);color:var(--floating-glass-text);padding:0;cursor:pointer;display:grid;place-items:center;box-shadow:0 10px 22px #0000002e,inset 0 1px 0 var(--floating-glass-highlight),inset 0 -1px 0 var(--floating-glass-highlight-soft);backdrop-filter:blur(6px) saturate(1.04) brightness(1.02);-webkit-backdrop-filter:blur(6px) saturate(1.04) brightness(1.02);transition:transform .18s ease,border-color .18s ease}.tenant-item-circle-btn:focus-visible{outline:none;border-color:var(--floating-glass-border-strong);transform:scale(1.03)}.tenant-item-circle-btn.is-switching{opacity:.82;transform:scale(.985);cursor:wait}.tenant-item-circle-text{display:block;width:100%;max-width:100%;text-align:center;font-size:clamp(2.1rem,4.2vw,3.2rem);font-weight:700;letter-spacing:.01em;line-height:1.05;white-space:normal;overflow-wrap:anywhere;word-break:break-word;padding:0 1rem}@media(max-width:700px){.tenant-item-circle-wrap{min-height:10.5rem;padding:.75rem .25rem}.tenant-item-photo-badge{top:.2rem;left:.25rem;width:56px;height:56px}.tenant-item-circle-btn{width:clamp(104px,31vw,132px);height:clamp(104px,31vw,132px);min-width:104px;min-height:104px}.tenant-item-circle-text{font-size:clamp(1.76rem,8vw,2.3rem);padding:0 .8rem}}.icon-container{display:flex;align-items:center;justify-content:center;padding:0;margin:0;background-color:transparent;border:none;box-sizing:border-box}.icon{color:#4e7f9b;background-color:#303e48;font-size:2rem;border:none;cursor:pointer}.tenant-card-grid{row-gap:1.85rem;column-gap:6rem;padding-top:calc(5.2rem + env(safe-area-inset-top,0px));padding-bottom:1rem}@media(max-width:768px){.tenant-card-grid{row-gap:1.35rem;column-gap:1.1rem;padding-top:calc(5.4rem + env(safe-area-inset-top,0px))}}@media(min-width:1024px){.tenant-card-grid{padding-top:calc(1rem + env(safe-area-inset-top,0px))}}.lds-dual-ring{display:inline-block;width:64px;height:64px}.lds-dual-ring:after{content:" ";display:block;width:46px;height:46px;margin:1px;border-radius:50%;border:5px solid #510077;border-color:#510077 transparent #510077 transparent;animation:lds-dual-ring 1.2s linear infinite}.loading-spinner__overlay{height:100%;width:100%;position:absolute;top:0;left:0;background:#ffffffe6;display:flex;justify-content:center;align-items:center}@keyframes lds-dual-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.admin-dashboard-v1{padding:1rem 1.2rem 1.6rem;display:flex;flex-direction:column;gap:.9rem}.admin-dashboard-v1__topbar{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap}.admin-dashboard-v1__topbar h1{margin:0;color:#f3f7fb;font-size:1.4rem}.admin-dashboard-v1__topbar p{margin:.25rem 0 0;color:#8ea6bb;font-size:.92rem}.admin-dashboard-v1__topbar-actions{display:flex;align-items:center;gap:.6rem;color:#8ea6bb;font-size:.88rem}.admin-dashboard-v1__grid{display:grid;gap:.7rem}.admin-dashboard-v1__grid--health{grid-template-columns:repeat(6,minmax(0,1fr))}.admin-dashboard-v1__grid--health-v1{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-dashboard-v1__grid--main{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-kpi{background:#23313c;border:1px solid #3f5567;border-radius:10px;padding:.65rem .75rem;display:flex;flex-direction:column;gap:.25rem}.admin-kpi h2{margin:0;font-size:.85rem;color:#8ea6bb;font-weight:500}.admin-kpi strong{color:#f3f7fb;font-size:1.05rem;font-weight:600}.admin-kpi.is-ok{border-color:#4eb3718c}.admin-kpi.is-bad{border-color:#d65757a6}.admin-kpi.is-unknown{border-color:#8ea6bb8c}.admin-panel{background:#1d2933;border:1px solid #3f5567;border-radius:12px;padding:.8rem;min-height:16rem}.admin-panel h2{margin:0 0 .65rem;color:#f3f7fb;font-size:1rem}.admin-panel h2+.admin-tenant-table,.admin-panel .admin-stats-list+h2{margin-top:.9rem}.admin-panel__hint{margin:.65rem 0 0;color:#8ea6bb;font-size:.88rem}.admin-events{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem;max-height:22rem;overflow:auto}.admin-events li{display:grid;grid-template-columns:5.8rem 4rem 6rem minmax(0,1fr);gap:.45rem;align-items:baseline;border-bottom:1px solid rgba(142,166,187,.2);padding-bottom:.35rem}.admin-events .ts,.admin-events .source{color:#8ea6bb;font-size:.78rem}.admin-events .level{font-size:.75rem;font-weight:600}.admin-events .level-info{color:#8bc3ff}.admin-events .level-warn{color:#ffbe63}.admin-events .level-error{color:#ff8787}.admin-events .msg{color:#dbe7f2;font-size:.82rem}.admin-stats-list{display:grid;gap:.45rem}.admin-stats-list>div{display:flex;align-items:center;justify-content:space-between;gap:.8rem;background:#243340;border:1px solid #3f5567;border-radius:8px;padding:.45rem .55rem}.admin-stats-list span{color:#8ea6bb;font-size:.86rem}.admin-stats-list strong{color:#f3f7fb;font-size:.95rem}.admin-tenant-table{display:grid;gap:.3rem}.admin-tenant-table .head,.admin-tenant-table .row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(0,.8fr) minmax(0,.6fr) minmax(0,1.1fr);gap:.4rem;align-items:center;padding:.45rem .5rem;border-radius:8px}.admin-tenant-table .head{background:#2d3e4b;color:#8ea6bb;font-size:.78rem;border:1px solid #3f5567}.admin-tenant-table .row{background:#243340;color:#dbe7f2;font-size:.84rem;border:1px solid #3f5567}.admin-tenant-table .row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-status-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.1rem .45rem;border:1px solid #3f5567;text-transform:capitalize;font-size:.76rem;line-height:1.1}.admin-status-pill.is-ok{color:#9de1b6;border-color:#4eb3718c}.admin-status-pill.is-bad{color:#faa;border-color:#d65757a6}.admin-status-pill.is-unknown{color:#c2d3e2;border-color:#8ea6bb8c}@media(max-width:1280px){.admin-dashboard-v1__grid--health{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.admin-dashboard-v1__grid--main{grid-template-columns:1fr}.admin-dashboard-v1__grid--health{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-events li{grid-template-columns:4.5rem 3.2rem 4.6rem minmax(0,1fr)}}@media(max-width:640px){.admin-dashboard-v1__grid--health{grid-template-columns:1fr}}.dashboard-context-wrap{--floating-top-offset: var(--floating-top-bar-top);--dashboard-header-chip-size: 64px;position:relative;z-index:20;display:flex;justify-content:center;width:var(--floating-top-bar-width);max-width:var(--floating-top-bar-width);box-sizing:border-box;padding-left:0;padding-right:0;margin:0 auto;--dashboard-header-vertical-shift: var(--floating-top-offset);transform:translateY(var(--dashboard-header-vertical-shift));margin-bottom:calc(-1 * var(--dashboard-header-vertical-shift))}.dashboard-content-offset{padding-top:0}.dashboard-context-wrap .zone-tag-chip{display:inline-flex;align-items:center;justify-content:center;max-width:100%;border:none;border-radius:999px;height:var(--dashboard-header-chip-size);min-height:var(--dashboard-header-chip-size);box-sizing:border-box;padding:0 1.35rem;background:linear-gradient(135deg,color-mix(in srgb,var(--c-card) 90%,transparent),color-mix(in srgb,var(--c-card) 72%,var(--c-accent) 28%));color:var(--c-accent);box-shadow:0 6px 16px #0003}.dashboard-context-wrap .zone-tag-chip--split{position:relative;width:100%;max-width:100%}.dashboard-context-wrap .zone-tag-chip__label{font-size:3rem;font-weight:var(--font-weight-base);line-height:1;width:100%;padding-inline:2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-context-chip-btn{appearance:none;-webkit-appearance:none;border:none;cursor:pointer}.dashboard-card-grid{--card-w: 240px;--dashboard-card-gap: .65rem;grid-template-columns:repeat(auto-fit,minmax(var(--card-w),480px));justify-content:center;gap:var(--dashboard-card-gap);padding-inline:.35rem;padding-top:0;margin-top:var(--content-top-offset, calc(.9rem + env(safe-area-inset-top, 0px)) )}@media(min-width:1024px){.dashboard-card-grid{margin-top:var(--content-top-offset, calc(env(safe-area-inset-top, 0px) + var(--desktop-floating-btn, 82px) + .85rem))!important}}@media(min-width:1600px){.dashboard-card-grid{margin-top:var(--content-top-offset, calc(env(safe-area-inset-top, 0px) + var(--desktop-floating-btn, 94px) + 1.2rem))!important}}.dashboard-card-grid>li{margin:0;max-width:480px;width:100%;justify-self:center}.dashboard-card-item{position:relative}.dashboard-card-item--activity-alert{border:2px solid #ff5a5a;box-shadow:0 0 0 1px #ff5a5a29,0 0 1.1rem #ff5a5a61;animation:dashboard-alert-blink 1.1s ease-in-out infinite}@keyframes dashboard-alert-blink{0%,to{border-color:#ff5a5a8c;box-shadow:0 0 0 1px #ff5a5a1f,0 0 .55rem #ff5a5a33}50%{border-color:#ff5a5a;box-shadow:0 0 0 1px #ff5a5a33,0 0 1.25rem #ff5a5a8c}}.dashboard-battery-badge{position:absolute;top:.42rem;right:.42rem;z-index:20;box-shadow:0 .35rem .9rem #00000047;border-radius:999px;min-width:2.8rem;height:2.8rem;padding:0 .72rem;display:inline-flex;align-items:center;justify-content:center;gap:.34rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:color-mix(in srgb,var(--c-card) 72%,var(--c-accent) 28%);color:var(--c-accent);font-weight:700;pointer-events:none;font-size:1.1rem}.dashboard-battery-badge .svg-inline--fa{font-size:1.45em;color:#ffb14a}.dashboard-battery-badge__count{font-size:1.05rem;font-weight:700;line-height:1}.dashboard-battery-list{display:flex;flex-direction:column;gap:.35rem;max-height:45vh;overflow:auto;padding-right:.2rem}.dashboard-battery-list__item{font-size:.95rem;line-height:1.25;padding:.32rem .15rem;border-bottom:1px solid rgba(255,255,255,.1)}@media(max-width:768px){.dashboard-context-wrap .zone-tag-chip--split{width:100%}.dashboard-context-wrap .zone-tag-chip__label{font-size:3rem}.dashboard-context-wrap .zone-tag-chip{height:var(--dashboard-header-chip-size);min-height:var(--dashboard-header-chip-size)}.dashboard-card-grid{--card-w: 100%;grid-template-columns:1fr;justify-content:center;padding-top:0;margin-top:var(--content-top-offset, calc(.9rem + env(safe-area-inset-top, 0px)) )}.dashboard-card-grid>li{width:100%;max-width:100%}}@media(min-width:1024px){.dashboard-context-wrap{--floating-top-offset: max( calc(env(safe-area-inset-top, 0px) + 16px) , 16px);--floating-top-bar-top: max( calc(env(safe-area-inset-top, 0px) + 16px) , 16px);--dashboard-header-chip-size: 74px}.dashboard-context-wrap .zone-tag-chip{height:var(--dashboard-header-chip-size);min-height:var(--dashboard-header-chip-size)}}.dashboard-item-min{border-radius:var(--magic-radius, 6px)}@media(max-width:768px){.dashboard-item-min{height:8.5rem!important}}.tenant-container .nested-card{display:grid;background-color:#303e48;color:#fff;grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr)}.grid-2-1{grid-column:1;grid-row:1}.grid-2-2{grid-column:2;grid-row:1}.grid-2-3{grid-column:3;grid-row:1}.upper-right-cog{float:right;justify-self:right;font-size:14px;padding:.5rem;color:#fff}.center{vertical-align:middle;text-align:center;color:#fff}.grid-3-1{grid-column:1;grid-row:2;display:flex;flex-direction:column;justify-content:center;align-items:center}.grid-3-2{grid-column:2;grid-row:2;display:flex;justify-content:center;align-items:center}.grid-3-3{grid-column:3;grid-row:2;display:flex;flex-direction:column;justify-content:center;align-items:center}.btn .fa{font-size:.1rem}.grid-4-1{grid-column:1;grid-row:3;display:flex;justify-content:center;margin:1rem}.grid-4-2{grid-column:2;grid-row:3;display:flex;justify-content:center;margin:1rem}.grid-4-3{grid-column:3;grid-row:3;display:flex;align-items:center;margin:1rem}.thumbnail-img{height:12px;width:24px}.tenant-h2{font-size:1.5rem;color:#fff}.green{color:#90ee90}.red{color:red}.tenant-button{display:flex;justify-content:center;align-items:center;width:4rem;height:4rem;margin:.5rem;font-size:1rem;border-radius:2px;background:transparent;color:#fd4f00;border:.1rem solid #fd4f00}.tenant-button:active{background-color:#fd4f00;border:none}.tenant-container{position:relative;height:15rem;display:flex;justify-content:center;padding:.5rem}.tenant-background-img{position:relative;width:100%;height:100%;z-index:19}.tenant{width:100%;height:100%;background-color:#303e48;position:absolute;top:0}@media(min-width:768px){.tenant-item__image{height:20rem}}.tenant-card-grid{display:grid;column-gap:1rem;row-gap:1rem;grid-template-columns:repeat(auto-fit,300px);justify-content:space-evenly}.admin-icons{float:right;justify-self:left;font-size:12px;padding:1.5rem;color:#fff}.magic-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,max-content));gap:1rem;justify-content:space-evenly}@media(max-width:600px){.grid-container{grid-template-columns:1fr}}.add-resource{position:absolute;bottom:20px;right:20px;cursor:pointer;width:25px;height:25px}.type-context-chip{cursor:default;appearance:none;-webkit-appearance:none;outline:none;font:inherit;text-align:center;border:none!important}.type-context-chip:focus-visible{border:none!important}.type-context-chip__label{font-size:1.16rem;font-weight:var(--font-weight-base);display:flex;align-items:center;justify-content:space-between;width:100%;padding-inline:16rem;gap:.5rem;overflow:visible}.type-context-chip__tenant,.type-context-chip__type{display:inline-flex;align-items:center;min-width:0;flex:1 1 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:transparent;border:0;color:inherit;font:inherit;padding:0}.type-context-chip__tenant{justify-content:flex-start;text-align:left}.type-context-chip__type{justify-content:flex-end;text-align:right}.type-context-chip__action,.type-context-chip__house-btn{cursor:pointer;border-radius:999px;transition:opacity .18s ease}.type-context-chip__action:focus-visible,.type-context-chip__house-btn:focus-visible{opacity:.78}.type-context-chip__house-btn{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;color:color-mix(in srgb,var(--c-card) 88%,black 12%);font:inherit;padding:0;filter:none}.type-context-chip__placeholder{pointer-events:none}.type-zone-house{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:flex-end;width:3.05em;height:2.2em;color:currentColor}.type-zone-house__roof{position:absolute;top:.02em;width:2.42em;height:.9em;border-bottom:.075em solid currentColor;pointer-events:none}.type-zone-house__roof:before,.type-zone-house__roof:after{content:"";position:absolute;top:.8em;width:1.4em;border-top:.075em solid currentColor}.type-zone-house__roof:before{left:.04em;transform-origin:left center;transform:rotate(-29deg)}.type-zone-house__roof:after{right:.04em;transform-origin:right center;transform:rotate(29deg)}.type-zone-house__body{width:2.08em;height:1.3em;border:.075em solid currentColor;display:flex;flex-direction:column;overflow:hidden}.type-zone-house__level{flex:1;opacity:.24;border-bottom:.06em solid color-mix(in srgb,currentColor 45%,transparent)}.type-zone-house__level:last-child{border-bottom:0}.type-zone-house__level.is-target{opacity:1;background:var(--c-accent);box-shadow:inset 0 0 5px color-mix(in srgb,white 24%,transparent)}.type-zone-outside-icon{display:inline-flex;align-items:center;justify-content:center;font-size:2em;line-height:1;width:1.3em;height:1.3em}@media(max-width:700px){.magic-card-grid{margin-top:1.5rem}.type-context-chip__label{font-size:1.04rem;display:grid;grid-template-columns:auto;align-items:center;justify-content:center;padding-inline:clamp(1.2rem,4vw,2rem)}.type-context-chip__tenant,.type-context-chip__type,.type-context-chip__placeholder{display:none}.type-context-chip__house-btn{justify-self:center}}@media(max-width:380px){.magic-card-grid{margin-top:2.1rem}ul.card-grid{margin-top:var(--content-top-offset, calc(.9rem + env(safe-area-inset-top, 0px)) )!important}}.zone-card-grid{margin-top:.5rem;width:min(1100px,96%);margin-left:auto;margin-right:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.6rem}.zone-mode-content-offset{padding-top:var(--content-top-offset, calc(.9rem + env(safe-area-inset-top, 0px)) )}@media(min-width:1024px){.zone-mode-content-offset{padding-top:var(--content-top-offset, var(--floating-top-bar-top))}}@media(min-width:1600px){.zone-mode-content-offset{padding-top:var(--content-top-offset, var(--floating-top-bar-top))}}.zone-mode-content-offset--builder{--zone-floorplan-screen-offset: calc(env(safe-area-inset-top, 0px) + env(safe-area-inset-bottom, 0px) + 8.4rem) ;padding-top:calc(1.1rem + env(safe-area-inset-top,0px));height:calc(100dvh - var(--zone-floorplan-screen-offset));max-height:calc(100dvh - var(--zone-floorplan-screen-offset));min-height:clamp(300px,calc(100dvh - var(--zone-floorplan-screen-offset)),1200px);display:flex;flex-direction:column;overflow:hidden}body.magic-floor-edit-open .zone-mode-content-offset--builder{padding-top:max(calc(env(safe-area-inset-top,0px) + .5rem),.5rem)}body.magic-floor-edit-open .zone-floorplan-wrap{position:relative;grid-template-rows:minmax(0,1fr)}body.magic-floor-edit-open .zone-floorplan-title{margin:0}body.magic-floor-edit-open .zone-floorplan-title--floating{position:absolute;z-index:12;pointer-events:none}body.magic-floor-edit-open .zone-floorplan-toolbar{pointer-events:auto;background:color-mix(in srgb,var(--c-card) 84%,transparent);border:1px solid color-mix(in srgb,var(--c-accent) 28%,transparent);border-radius:10px;padding:.26rem .34rem}body.magic-floor-edit-open .zone-floorplan-builder{min-height:100%;height:100%}body.magic-floor-edit-open .zone-editor-drag-handle{border:1px solid color-mix(in srgb,var(--c-accent) 40%,transparent);background:color-mix(in srgb,var(--c-card) 84%,white 16%);color:var(--c-accent);border-radius:6px;padding:0 .26rem;font-size:.84rem;line-height:1.2;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}body.magic-floor-edit-open .zone-editor-drag-handle.is-dragging{cursor:grabbing}.zone-tag-top-card-wrap{--header-inline-offset: 44px;--floating-top-offset: var(--floating-top-bar-top);--zone-header-chip-size: 64px;position:relative;z-index:20;width:var(--floating-top-bar-width);max-width:var(--floating-top-bar-width);margin:0 auto;display:flex;justify-content:center;box-sizing:border-box;padding-left:0;padding-right:0;--zone-header-vertical-shift: var(--floating-top-offset);transform:translateY(var(--zone-header-vertical-shift));margin-bottom:calc(-1 * var(--zone-header-vertical-shift))}.zone-tag-top-card-actions{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap}.zone-tag-chip{border:1px solid color-mix(in srgb,white 36%,var(--c-accent) 24%);background:color-mix(in srgb,var(--c-nav-bg) 46%,transparent);color:var(--c-accent);border-radius:999px;height:var(--zone-header-chip-size);min-height:var(--zone-header-chip-size);box-sizing:border-box;padding:0 1.35rem;display:inline-flex;align-items:center;justify-content:center;max-width:100%;cursor:pointer;box-shadow:0 8px 18px #0000002e,inset 0 1px #ffffff70,inset 0 -1px #ffffff1f;backdrop-filter:blur(14px) saturate(1.08) brightness(1.04);-webkit-backdrop-filter:blur(14px) saturate(1.08) brightness(1.04)}.zone-tag-chip--split{position:relative;width:100%;max-width:100%;flex:1 1 auto}.zone-selected-room-delete{flex:0 0 auto;height:var(--zone-header-chip-size);min-height:var(--zone-header-chip-size);border-radius:999px;padding:0 1rem;font-size:.92rem;white-space:nowrap}.zone-editor-btn--danger{border-color:color-mix(in srgb,#cc2f2f 58%,transparent);background:color-mix(in srgb,var(--c-card) 78%,#cc2f2f 22%);color:color-mix(in srgb,white 92%,#cc2f2f 8%)}.zone-tag-chip__label{font-size:2.02rem;font-weight:var(--font-weight-base);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:768px){.zone-tag-top-card-wrap{--header-inline-offset: 12px}.zone-tag-top-card-actions{width:100%;gap:.35rem}.zone-tag-chip--split{width:100%}.zone-tag-chip__label{font-size:2.22rem}.zone-tag-chip{height:var(--zone-header-chip-size);min-height:var(--zone-header-chip-size)}.zone-selected-room-delete{padding:0 .74rem;font-size:.82rem}}@media(min-width:1024px){.zone-tag-chip{height:74px;min-height:74px}.zone-tag-top-card-wrap{--header-inline-offset: 64px;--floating-top-offset: max( calc(env(safe-area-inset-top, 0px) + 16px) , 16px);--zone-header-chip-size: 74px;--floating-top-bar-top: max( calc(env(safe-area-inset-top, 0px) + 16px) , 16px)}}.zone-tag-chip:focus-visible{outline:none;background:color-mix(in srgb,var(--c-nav-bg) 46%,transparent);border-color:color-mix(in srgb,white 48%,var(--c-accent) 28%);box-shadow:0 10px 20px #00000038,inset 0 1px #ffffff80,inset 0 -1px #ffffff29}.zone-floor-grid{width:min(1100px,96%);margin:calc(4.8rem + env(safe-area-inset-top,0px)) auto .6rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem}.zone-floor-card{min-height:11.5rem}.card.card-item .nested-card.zone-floor-card-content{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:.8rem}.zone-floor-house{--zone-house-ink: color-mix(in srgb, var(--c-accent) 80%, transparent);--zone-house-cutout: var(--c-card);display:inline-flex;flex-direction:column;align-items:center;width:6.4rem}.zone-floor-house__roof{position:relative;width:0;height:0;border-left:3.6rem solid transparent;border-right:3.6rem solid transparent;border-bottom:1.45rem solid var(--zone-house-ink);margin-bottom:.04rem}.zone-floor-house__roof:after{content:"";position:absolute;left:-3.2rem;top:.16rem;width:0;height:0;border-left:3.2rem solid transparent;border-right:3.2rem solid transparent;border-bottom:1.25rem solid var(--zone-house-cutout)}.zone-floor-house__body{width:5.8rem;height:4.45rem;border:2px solid var(--zone-house-ink);border-radius:0;display:flex;flex-direction:column;overflow:hidden}.zone-selected-floor-house-wrap{width:auto;margin:0;display:flex;align-items:center;justify-content:center}.zone-selected-floor-toolbar{width:min(1100px,96%);margin:var(--content-top-offset, calc(.9rem + env(safe-area-inset-top, 0px)) ) auto .45rem;display:flex;align-items:center;justify-content:center}@media(min-width:1024px){.zone-mode-content-offset{padding-top:var(--content-top-offset, var(--floating-top-bar-top))}.zone-mode-content-offset--builder{--zone-floorplan-screen-offset: calc(env(safe-area-inset-top, 0px) + env(safe-area-inset-bottom, 0px) + 9.6rem) ;padding-top:calc(1.4rem + env(safe-area-inset-top,0px));height:calc(100dvh - var(--zone-floorplan-screen-offset));max-height:calc(100dvh - var(--zone-floorplan-screen-offset));min-height:clamp(360px,calc(100dvh - var(--zone-floorplan-screen-offset)),1400px)}body.magic-floor-edit-open .zone-mode-content-offset--builder{padding-top:max(calc(env(safe-area-inset-top,0px) + .75rem),.75rem)}.zone-floor-grid,.zone-selected-floor-toolbar{margin-top:var(--content-top-offset, var(--floating-top-bar-top))}}@media(min-width:1600px){.zone-mode-content-offset{padding-top:var(--content-top-offset, var(--floating-top-bar-top))}.zone-floor-grid,.zone-selected-floor-toolbar{margin-top:var(--content-top-offset, var(--floating-top-bar-top))}}.zone-selected-floor-house-wrap--clickable{cursor:pointer}.zone-selected-floor-house-wrap--clickable:focus-visible{outline:2px solid color-mix(in srgb,var(--c-accent) 55%,transparent);outline-offset:4px}.zone-floor-house--selected{--zone-house-ink: var(--c-nav-bg);--zone-house-cutout: var(--c-card);width:7.2rem}.zone-floor-house--selected .zone-floor-house__roof{border-left-width:4rem;border-right-width:4rem;border-bottom-width:1.65rem;margin-bottom:.04rem}.zone-floor-house--selected .zone-floor-house__roof:after{left:-3.55rem;top:.18rem;border-left-width:3.55rem;border-right-width:3.55rem;border-bottom-width:1.42rem;border-bottom-color:var(--zone-house-cutout)}.zone-floor-house--selected .zone-floor-house__body{width:6.4rem;height:4.95rem}.zone-floor-house--selected .zone-floor-house__level{border-top:1px solid color-mix(in srgb,var(--c-nav-bg) 55%,transparent)}.zone-floor-house__level{flex:1 1 0;background:color-mix(in srgb,var(--c-card) 78%,black 22%);border-top:1px solid color-mix(in srgb,var(--c-accent) 28%,transparent)}.zone-floor-house__level:first-child{border-top:0}.zone-floor-house__level.is-target{background:var(--zone-house-ink)}.zone-room-card{min-height:5rem;appearance:none;-webkit-appearance:none;border:0;margin:0;padding:0;width:100%}.zone-room-card,.zone-room-card.card.card-item{background:color-mix(in srgb,var(--c-card) 82%,transparent);border:1px solid color-mix(in srgb,var(--c-accent) 26%,transparent)}.zone-floorplan-wrap{width:100%;margin:0;display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;height:100%;flex:1}.zone-floorplan-builder{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:0;align-items:stretch;align-self:stretch;min-height:0;height:100%}.zone-room-palette{border-radius:12px;border:1px solid color-mix(in srgb,var(--c-accent) 26%,transparent);background:color-mix(in srgb,var(--c-card) 88%,transparent);padding:.45rem}.zone-room-palette--readonly{min-height:5.2rem}.zone-room-palette__hint{font-size:.74rem;color:color-mix(in srgb,var(--c-accent) 62%,transparent)}.zone-room-palette__title{font-size:.82rem;font-weight:var(--font-weight-base);color:color-mix(in srgb,var(--c-accent) 78%,white 22%);margin:0 0 .35rem}.zone-room-palette__list{display:flex;flex-wrap:wrap;gap:.34rem}.zone-room-palette__item{border:1px dashed color-mix(in srgb,var(--c-accent) 45%,transparent);background:color-mix(in srgb,var(--c-card) 80%,white 20%);color:var(--c-accent);border-radius:8px;padding:.22rem .38rem;font-size:.74rem;line-height:1.1;cursor:grab}.zone-room-palette__item.is-drawing-target{border-color:color-mix(in srgb,var(--c-accent) 78%,transparent);background:color-mix(in srgb,var(--c-accent) 20%,var(--c-card) 80%)}.zone-room-palette__remove-drop{margin-top:.55rem;border:1px dashed color-mix(in srgb,#d9534f 58%,transparent);color:color-mix(in srgb,#d9534f 78%,white 22%);border-radius:8px;min-height:2.15rem;display:flex;align-items:center;justify-content:center;font-size:.74rem;font-weight:var(--font-weight-base);background:color-mix(in srgb,#d9534f 10%,transparent);text-align:center;padding:.28rem .32rem}.zone-room-palette__remove-drop.is-drag-over{border-color:color-mix(in srgb,#d9534f 86%,transparent);background:color-mix(in srgb,#d9534f 18%,transparent)}.zone-room-palette__selection-info{margin-top:.42rem;padding:.28rem .34rem;border-radius:8px;font-size:.72rem;color:color-mix(in srgb,var(--c-accent) 78%,white 22%);background:color-mix(in srgb,var(--c-accent) 10%,transparent);display:flex;align-items:center;justify-content:space-between;gap:.35rem}.zone-room-palette__clear-btn{border:1px solid color-mix(in srgb,var(--c-accent) 40%,transparent);background:color-mix(in srgb,var(--c-card) 84%,white 16%);color:var(--c-accent);border-radius:6px;font-size:.72rem;padding:.12rem .34rem;cursor:pointer}.zone-room-palette__select{border:1px solid color-mix(in srgb,var(--c-accent) 40%,transparent);background:color-mix(in srgb,var(--c-card) 88%,white 12%);color:var(--c-accent);border-radius:6px;font-size:.72rem;padding:.14rem .28rem}.zone-floorplan-title{color:color-mix(in srgb,var(--c-accent) 80%,white 20%);font-weight:var(--font-weight-base);font-size:1.02rem;letter-spacing:.02em;margin:0 0 .3rem .15rem;display:flex;align-items:center;justify-content:space-between;gap:.6rem}.zone-floorplan-toolbar{display:inline-flex;align-items:center;gap:.42rem;flex-wrap:wrap;justify-content:flex-end}.zone-editor-btn{border:1px solid color-mix(in srgb,var(--c-accent) 40%,transparent);background:color-mix(in srgb,var(--c-card) 84%,white 16%);color:var(--c-accent);border-radius:7px;padding:.18rem .5rem;font-size:.76rem;font-weight:var(--font-weight-base);cursor:pointer}.zone-editor-btn.is-active{background:color-mix(in srgb,var(--c-accent) 22%,var(--c-card) 78%)}.zone-floorplan{position:relative;border-radius:18px;padding:0;border:2px solid color-mix(in srgb,var(--c-accent) 38%,transparent);background:radial-gradient(circle at 15% 20%,color-mix(in srgb,var(--c-accent) 8%,transparent),transparent 40%),color-mix(in srgb,var(--c-card) 88%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c-accent) 14%,transparent),inset 0 0 28px color-mix(in srgb,black 14%,transparent);overflow:hidden;width:100%;height:100%;min-height:0;align-self:stretch;margin-inline:0}.zone-floorplan:before{content:none}.zone-floorplan:after{content:none}.zone-floorplan .zone-card-grid{width:100%;height:100%;margin-top:0;position:relative;z-index:2;aspect-ratio:auto;gap:0}.zone-floorplan.zone-floorplan--contour .zone-card-grid{background:transparent}body.magic-floor-edit-open .zone-floorplan.zone-floorplan--contour .zone-card-grid{background:radial-gradient(circle,color-mix(in srgb,var(--c-accent) 28%,transparent) .55px,transparent .9px);background-size:calc(100% / var(--floor-cols, 48)) calc(100% / var(--floor-rows, 48))}.zone-contour-hit-layer{position:absolute;inset:0;z-index:5;border:0;margin:0;padding:0;background:transparent;cursor:crosshair}.zone-contour-fill-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:6}.zone-contour-fill-polygon{pointer-events:all;cursor:pointer}.zone-floorplan .zone-room-card,.zone-floorplan .zone-room-card.card.card-item{background:transparent;border:none;box-shadow:none;border-radius:0;position:relative}.zone-floorplan .zone-room-card.zone-room-card--line-shape,.zone-floorplan .zone-room-card.zone-room-card--line-shape.card.card-item{background:transparent;box-shadow:none}.zone-floorplan .zone-room-card{min-height:0;height:100%}.zone-floorplan .zone-room-card:hover,.zone-floorplan .zone-room-card.card.card-item:hover{transform:none;border-color:color-mix(in srgb,var(--c-accent) 58%,transparent)}.zone-floorplan.is-dragging-room .zone-room-card,.zone-floorplan.is-dragging-room .zone-room-card.card.card-item{transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.zone-floorplan .zone-room-card.is-drag-over,.zone-floorplan .zone-room-card.card.card-item.is-drag-over{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--c-accent) 38%,transparent)}.zone-room-drop-slot{min-height:0;height:100%;border:1px dashed color-mix(in srgb,var(--c-accent) 40%,transparent);border-radius:10px;background:color-mix(in srgb,var(--c-card) 76%,transparent);color:color-mix(in srgb,var(--c-accent) 68%,white 32%);font-size:.2rem;font-weight:var(--font-weight-base);display:flex;align-items:center;justify-content:center;text-align:center;-webkit-user-select:none;user-select:none;cursor:crosshair}.zone-room-drop-slot--hidden{visibility:hidden;border-style:solid}.zone-room-drop-slot.is-drag-over{border-color:color-mix(in srgb,var(--c-accent) 78%,transparent);background:color-mix(in srgb,var(--c-accent) 16%,transparent)}.zone-room-drop-slot.is-selected{border-style:solid;border-color:color-mix(in srgb,var(--c-accent) 82%,transparent);background:color-mix(in srgb,var(--c-accent) 22%,transparent)}.zone-room-drop-slot.zone-room-drop-slot--contour{border:1px solid color-mix(in srgb,var(--c-accent) 22%,transparent);border-radius:0;background:transparent}.zone-floorplan--outside:before,.zone-floorplan--outside:after{opacity:.22}.zone-card-item{height:8.6rem}.zone-room-card .nested-card.zone-card-content,.card.card-item .nested-card.zone-card-content{display:flex;align-items:center;justify-content:center;height:100%;box-sizing:border-box;padding:.45rem .65rem;gap:0}.zone-card-title{width:100%;min-width:0;display:flex;align-items:center;justify-content:center;font-size:.92rem;color:var(--c-accent);line-height:1.15;font-weight:var(--font-weight-base);text-align:center;white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.zone-card-title--zone-tag{font-size:.56rem;line-height:1.15;font-weight:var(--font-weight-base);display:flex;align-items:center;justify-content:center;overflow:visible;text-overflow:unset;-webkit-line-clamp:unset;-webkit-box-orient:unset;padding-bottom:.12em}.zone-card-title--ghost{visibility:hidden}.zone-room-label-overlay{display:flex;align-items:center;justify-content:center;text-align:center;font-size:.58rem;font-weight:var(--font-weight-base);color:var(--c-accent);line-height:1.1;padding:.2rem;pointer-events:none;z-index:4;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zone-room-label-overlay--selectable{border:0;background:transparent;cursor:pointer;z-index:8}.zone-room-label-overlay--overview{flex-direction:column;gap:.08rem;color:color-mix(in srgb,var(--c-accent) 88%,white 12%);text-shadow:0 1px 0 color-mix(in srgb,white 35%,transparent)}.zone-room-label-content{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.08rem;max-width:100%}.zone-room-label-main{font-size:clamp(1rem,1.4vw,1.5rem);font-weight:var(--font-weight-base);line-height:1.05;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zone-room-label-temp{font-size:clamp(1rem,1.35vw,1.35rem);font-weight:var(--font-weight-base);line-height:1;opacity:.95}.zone-room-label-shutter{font-size:clamp(.86rem,1.05vw,1.05rem);font-weight:var(--font-weight-base);line-height:1;opacity:.9}.zone-room-label-icons{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.2rem;margin-top:.08rem;max-width:100%}.zone-room-label-icon{width:1.2rem;height:1.2rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;border:1px solid color-mix(in srgb,var(--c-accent) 35%,transparent);background:color-mix(in srgb,var(--c-card) 84%,black 16%);color:var(--c-accent)}.zone-room-label-icon.state-on{color:#22c55e;border-color:color-mix(in srgb,#22c55e 70%,transparent);background:color-mix(in srgb,#0f172a 84%,#22c55e 16%)}.zone-room-label-icon.state-off{color:#94a3b8;border-color:color-mix(in srgb,#94a3b8 46%,transparent);background:color-mix(in srgb,#0f172a 92%,#94a3b8 8%)}.zone-room-label-icon.state-alert{color:#ef4444;border-color:color-mix(in srgb,#ef4444 76%,transparent);background:color-mix(in srgb,#0f172a 82%,#ef4444 18%)}.zone-room-label-icon.state-info{color:#38bdf8;border-color:color-mix(in srgb,#38bdf8 70%,transparent);background:color-mix(in srgb,#0f172a 86%,#38bdf8 14%)}.zone-room-label-icon-more{font-size:.66rem;font-weight:var(--font-weight-base);color:color-mix(in srgb,var(--c-accent) 84%,white 16%);padding:0 .2rem}.zone-overview-pin{position:absolute;transform:translate(-50%,-50%);z-index:9;width:4.3rem;height:4.3rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--c-accent) 38%,transparent);background:color-mix(in srgb,var(--c-card) 82%,black 18%);color:var(--c-accent);display:inline-flex;align-items:center;justify-content:center;font-size:2.32rem;box-shadow:0 4px 10px #0000003d;cursor:pointer}.zone-overview-pin.state-on{color:#22c55e;border-color:color-mix(in srgb,#22c55e 70%,transparent);background:color-mix(in srgb,#0f172a 82%,#22c55e 18%)}.zone-overview-pin.state-off{color:#94a3b8;border-color:color-mix(in srgb,#94a3b8 46%,transparent);background:color-mix(in srgb,#0f172a 92%,#94a3b8 8%)}.zone-overview-pin.state-alert{color:#ef4444;border-color:color-mix(in srgb,#ef4444 76%,transparent);background:color-mix(in srgb,#0f172a 82%,#ef4444 18%)}.zone-overview-pin.state-info{color:#38bdf8;border-color:color-mix(in srgb,#38bdf8 70%,transparent);background:color-mix(in srgb,#0f172a 86%,#38bdf8 14%)}.zone-overview-pin:hover{filter:brightness(1.06)}.zone-overview-pin.is-dragging{cursor:grabbing;z-index:12;transform:translate(-50%,-50%) scale(1.05);box-shadow:0 8px 18px #00000052}.zone-overview-pin-badge{position:absolute;right:-.18rem;bottom:-.2rem;min-width:1.5rem;height:1.5rem;padding:0 .32rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:var(--font-weight-base);letter-spacing:.01em;color:#f4f7ff;background:color-mix(in srgb,#0f172a 80%,#334155 20%);border:1px solid color-mix(in srgb,#94a3b8 34%,transparent);pointer-events:none}.zone-room-label-overlay--line{padding:0}.zone-room-line-overlay{width:92%;height:2px;border-radius:999px;background:color-mix(in srgb,var(--c-accent) 82%,white 18%);box-shadow:0 0 0 1px color-mix(in srgb,var(--c-accent) 32%,transparent);opacity:.9}.zone-contour-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:6}.zone-contour-polyline{fill:none;stroke:color-mix(in srgb,var(--c-accent) 60%,white 40%);stroke-width:.2;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.zone-contour-polyline.is-active{stroke:color-mix(in srgb,var(--c-accent) 90%,white 10%);stroke-width:.3}.zone-contour-polyline--preview{stroke:color-mix(in srgb,#f59e0b 74%,white 26%);stroke-width:.28;stroke-dasharray:.7 .5}.zone-contour-handle-layer{position:absolute;inset:0;pointer-events:none;z-index:8}.zone-contour-handle{position:absolute;width:12px;height:12px;border-radius:50%;border:1px solid color-mix(in srgb,white 72%,transparent);padding:0;margin:0;transform:translate(-50%,-50%);pointer-events:all;cursor:grab}.zone-contour-handle--vertex{background:color-mix(in srgb,var(--c-accent) 92%,white 8%)}.zone-contour-handle--edge{width:10px;height:10px;background:color-mix(in srgb,var(--c-accent) 74%,white 26%)}@media(max-width:700px){.zone-floorplan .zone-card-grid{width:100%}.zone-floorplan-builder{grid-template-columns:1fr}.zone-floor-grid{grid-template-columns:1fr;gap:.6rem}.zone-floor-card{min-height:9.6rem}.zone-room-card{min-height:4.3rem}.zone-floor-house--selected{width:6rem}.zone-floor-house--selected .zone-floor-house__roof{border-left-width:3.35rem;border-right-width:3.35rem;border-bottom-width:1.35rem}.zone-floor-house--selected .zone-floor-house__roof:after{left:-3rem;top:.14rem;border-left-width:3rem;border-right-width:3rem;border-bottom-width:1.18rem;border-bottom-color:var(--zone-house-cutout)}.zone-floor-house--selected .zone-floor-house__body{width:5.45rem;height:4.15rem}.zone-card-title{font-size:.84rem}.zone-card-title--zone-tag{font-size:.98rem}.zone-tag-top-card-title{font-size:1.15rem}.zone-tag-top-card-wrap{padding:0 .5rem}}.zone-tag-header{width:min(980px,96%);margin:.8rem auto .6rem;display:flex;align-items:center;gap:.75rem}.zone-tag-back{border:1px solid color-mix(in srgb,var(--c-accent) 65%,transparent);background:color-mix(in srgb,var(--c-nav-bg) 88%,transparent);color:var(--c-accent);border-radius:10px;padding:.4rem .7rem;font-size:.9rem;font-weight:var(--font-weight-base);cursor:pointer}.zone-tag-current{color:var(--c-accent);font-size:1rem;font-weight:var(--font-weight-base)}.room-layout-preview{width:min(1400px,calc(100% - 1rem));margin:.08rem auto .2rem}.room-layout-preview__canvas{position:relative;width:100%;height:clamp(320px,48vh,620px);border-radius:0;overflow:visible;border:0;background:transparent}.room-layout-preview__shape{position:absolute;inset:0;width:100%;height:100%}.room-layout-preview__polygon{fill:color-mix(in srgb,var(--c-accent) 22%,var(--c-card) 78%);stroke:color-mix(in srgb,var(--c-accent) 48%,transparent);stroke-width:.55}.room-layout-preview__pins{position:absolute;inset:0;pointer-events:none}.room-layout-preview__title-overlay{position:absolute;transform:translate(-50%,-50%);max-width:min(68%,24ch);padding:.12rem .28rem;border-radius:7px;border:1px solid color-mix(in srgb,var(--c-accent) 20%,transparent);background:color-mix(in srgb,var(--c-card) 86%,black 14%);color:var(--c-accent);font:inherit;font-size:2.6rem;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.room-layout-preview__pin{position:absolute;transform:translate(-50%,-50%);border:1px solid color-mix(in srgb,var(--c-accent) 42%,transparent);border-radius:999px;background:color-mix(in srgb,var(--c-card) 80%,white 20%);color:var(--c-accent);width:6.4rem;height:6.4rem;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 4px 10px #0003;pointer-events:auto;cursor:pointer}.room-layout-preview__pin-icon{font-size:3.6rem;line-height:1}.room-layout-preview__pin-badge{position:absolute;right:-.22rem;bottom:-.26rem;min-width:2rem;height:2rem;padding:0 .46rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;font-weight:var(--font-weight-base);letter-spacing:.01em;color:#f4f7ff;background:color-mix(in srgb,#0f172a 80%,#334155 20%);border:1px solid color-mix(in srgb,#94a3b8 34%,transparent);pointer-events:none}.room-layout-preview__pin.state-on{color:#22c55e;border-color:color-mix(in srgb,#22c55e 72%,transparent);background:color-mix(in srgb,#0f172a 86%,#22c55e 14%)}.room-layout-preview__pin.state-off{color:#94a3b8;border-color:color-mix(in srgb,#94a3b8 46%,transparent);background:color-mix(in srgb,#0f172a 92%,#94a3b8 8%)}.room-layout-preview__pin.state-alert{color:#ef4444;border-color:color-mix(in srgb,#ef4444 78%,transparent);background:color-mix(in srgb,#0f172a 82%,#ef4444 18%)}.room-layout-preview__pin.state-info{color:#38bdf8;border-color:color-mix(in srgb,#38bdf8 70%,transparent);background:color-mix(in srgb,#0f172a 86%,#38bdf8 14%)}.room-layout-preview__pin.is-active{border-color:color-mix(in srgb,var(--c-accent) 78%,white 22%);box-shadow:0 0 0 2px color-mix(in srgb,var(--c-accent) 30%,transparent),0 6px 12px #00000047}@media(max-width:700px){.room-layout-preview__canvas{height:clamp(240px,40vh,420px)}.room-layout-preview__pin{width:5.2rem;height:5.2rem}.room-layout-preview__pin-icon{font-size:2.8rem}.room-layout-preview__pin-badge{min-width:1.7rem;height:1.7rem;font-size:.86rem}}.room-layout-preview__pin.is-dragging{cursor:grabbing;z-index:3;transform:translate(-50%,-50%) scale(1.03);box-shadow:0 8px 16px #00000047}.room-shutter-callout{--callout-btn-bg: color-mix(in srgb, var(--c-nav-bg) 86%, black 14%);--callout-btn-hover-bg: color-mix(in srgb, var(--c-accent) 12%, var(--c-nav-bg) 88%);--callout-btn-active-bg: color-mix(in srgb, var(--c-on) 52%, black 48%);--callout-btn-active-border: var(--c-on);position:absolute;transform:translate(-50%,-50%);z-index:5;pointer-events:auto;display:inline-flex;align-items:center;gap:.42rem;padding:.38rem .42rem;border-radius:14px;border:0;background:transparent;box-shadow:0 8px 18px #00000057}.room-shutter-callout__btn{width:3rem;height:3rem;border-radius:12px;border:1px solid color-mix(in srgb,var(--c-accent) 34%,transparent);background:var(--callout-btn-bg)!important;color:var(--c-accent);display:inline-flex;align-items:center;justify-content:center;font-size:1.35rem;cursor:pointer;pointer-events:auto}.room-shutter-callout__btn--text{min-width:3.4rem;font-size:1.22rem;font-weight:var(--font-weight-base);letter-spacing:.02em}.room-shutter-callout__btn--on{--callout-btn-bg: color-mix(in srgb, var(--c-on) 42%, var(--c-nav-bg) 58%);--callout-btn-hover-bg: color-mix(in srgb, var(--c-on) 48%, var(--c-nav-bg) 52%);--callout-btn-active-bg: color-mix(in srgb, var(--c-on) 52%, black 48%);--callout-btn-active-border: var(--c-on);border-color:color-mix(in srgb,var(--c-on) 66%,transparent);color:var(--c-card)}.room-shutter-callout__btn--off{--callout-btn-bg: color-mix(in srgb, var(--c-off) 42%, var(--c-nav-bg) 58%);--callout-btn-hover-bg: color-mix(in srgb, var(--c-off) 48%, var(--c-nav-bg) 52%);--callout-btn-active-bg: color-mix(in srgb, var(--c-off) 52%, black 48%);--callout-btn-active-border: var(--c-off);border-color:color-mix(in srgb,var(--c-off) 66%,transparent);color:var(--c-card)}.room-shutter-callout__btn:disabled{opacity:.5;cursor:not-allowed}.room-shutter-callout__btn:hover{background:var(--callout-btn-hover-bg)!important}.room-shutter-callout__btn:focus-visible{outline:2px solid color-mix(in srgb,var(--c-accent) 58%,transparent);outline-offset:2px}.room-shutter-callout__btn:active:not(:disabled){background:var(--callout-btn-active-bg)!important;border-color:var(--callout-btn-active-border);color:var(--c-card);transform:translateY(1px)}.room-callout-toggle.sticky-mode-switch{width:72px;height:40px;background:color-mix(in srgb,var(--c-nav-bg) 86%,black 14%)!important}.room-callout-toggle .sticky-mode-switch__thumb{background:color-mix(in srgb,var(--c-accent) 62%,black 38%)!important}.room-device-modal{width:min(420px,88vw)!important;top:50%;transform:translate(-50%,-50%)}.room-device-modal .modal__content--magic{padding:.4rem .45rem}.room-device-modal .card-grid-rows--mixed{margin:0}.room-device-modal .card-grid.card-grid--mixed{gap:.35rem}.room-device-modal .card-item{margin:0}.room-device-modal .modal__header--magic h1{font-size:2rem;line-height:1.15}.form-container{display:flex;justify-content:center;align-items:center;min-height:100dvh;padding:20px;width:100%}@supports (-webkit-touch-callout: none){.form-container{min-height:-webkit-fill-available}}.form-paper{padding:2rem;display:flex;flex-direction:column;justify-content:center;width:75rem;border-radius:10px;box-shadow:0 4px 10px #0000001a;background-color:var(--c-card)}.form-paper--modal{width:100%;max-width:none;box-shadow:none;border-radius:0;padding:.5rem .25rem .25rem}.form-title{margin-bottom:24px;text-align:center;color:var(--c-accent);font-size:2rem;line-height:1.2}.form-paper label,.form-paper .form-control label,.form-paper .label{font-size:1.35rem;line-height:1.3}.form-input{width:100%}.field-box{padding:16px;margin:8px 0;border:1px solid color-mix(in srgb,var(--c-accent) 35%,transparent);border-radius:8px;background-color:color-mix(in srgb,var(--c-card) 88%,#000)}.field-container{display:flex;flex-direction:column;gap:12px}.field-wrapper{margin-bottom:12px}.button-container{display:flex;justify-content:space-between;gap:10px;margin-top:36px}.button-container .button{min-width:7.2rem;min-height:3.1rem;padding:.7rem 1rem;font-size:1.5rem}.cancel-button,.reset-button,.submit-button{padding:12px;font-size:16px;background-color:color-mix(in srgb,var(--c-card) 82%,var(--c-accent) 18%);color:color-mix(in srgb,white 90%,var(--c-accent) 10%);border:1px solid color-mix(in srgb,var(--c-accent) 36%,transparent);border-radius:5px;width:20%;cursor:pointer;display:inline-flex;justify-content:center;align-items:center}.reset-button{background-color:color-mix(in srgb,var(--c-card) 84%,#4d7b98 16%)}.cancel-button{background-color:color-mix(in srgb,var(--c-card) 84%,#6c7f8d 16%)}.submit-button{background-color:color-mix(in srgb,var(--c-accent) 34%,var(--c-card) 66%)}.cancel-button:hover,.reset-button:hover,.submit-button:hover{filter:brightness(1.08)}.submit-button:disabled{background-color:#bdbdbd}.error-message{color:#d32f2f;text-align:center;margin-top:12px}.label{font-weight:var(--font-weight-base);color:#4e7f9b}input:not([type=checkbox]),textarea,select{width:100%;padding:10px;font-size:1.5rem;border:1px solid color-mix(in srgb,var(--c-accent) 35%,transparent);border-radius:5px;margin-top:8px;margin-bottom:8px;box-sizing:border-box;background:color-mix(in srgb,var(--c-card) 82%,#000);color:var(--c-accent)}input:disabled,textarea:disabled{background-color:color-mix(in srgb,var(--c-card) 65%,#000);color:color-mix(in srgb,var(--c-accent) 60%,transparent)}input:focus,textarea:focus{outline:none;border-color:var(--c-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--c-accent) 20%,transparent)}input.error,textarea.error{border-color:#d32f2f}.footnote{margin:16px;font-size:1.3rem;font-weight:var(--font-weight-base);color:var(--c-accent)}.form-paper .form-control input,.form-paper .form-control textarea,.form-paper .form-control select{background:color-mix(in srgb,var(--c-card) 82%,#000);color:var(--c-accent);border:1px solid color-mix(in srgb,var(--c-accent) 35%,transparent);padding:.7rem .9rem}.form-paper .form-control input:focus,.form-paper .form-control textarea:focus,.form-paper .form-control select:focus{background:color-mix(in srgb,var(--c-card) 75%,#000);border-color:var(--c-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--c-accent) 20%,transparent)}.form-checkbox-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:2rem}.form-checkbox-label{font-weight:var(--font-weight-base);margin:0;font-size:1.3rem}.form-checkbox-input{width:1.1rem;height:1.1rem;margin:0;flex:0 0 auto;accent-color:var(--c-accent)}.edit-resource-modal__content{font-size:1.5rem;line-height:1.35}.edit-resource-modal__footer .button{min-width:5.2rem;min-height:3.1rem;padding:.7rem 1rem;font-size:1.5rem}.edit-resource-window__content{padding:.5rem .75rem .75rem}.edit-resource-window__footer{display:none;padding:0}.edit-resource-window__content .form-container{min-height:0;padding:0}.authentication{color:var(--c-accent, #a8c7fa);text-align:center;width:min(50vw,72rem);margin:clamp(2rem,8vh,8rem) auto 0;padding:2rem 2.25rem;font-size:2rem}.authentication label{display:inline-block;text-align:left;margin-top:2rem;font-size:2rem;line-height:1.2}.authentication .form-control{display:grid;gap:.5rem}.authentication .form-control input,.authentication .form-control textarea,.authentication .form-control select{padding:.8rem 1rem;background:color-mix(in srgb,var(--c-card) 82%,#000);color:var(--c-accent);border:1px solid color-mix(in srgb,var(--c-accent) 35%,transparent);font-size:2rem;line-height:1.2}.authentication .form-control input::placeholder,.authentication .form-control textarea::placeholder{color:color-mix(in srgb,var(--c-accent) 60%,transparent)}.authentication .form-control input:focus,.authentication .form-control textarea:focus,.authentication .form-control select:focus{background:color-mix(in srgb,var(--c-card) 75%,#000);border-color:var(--c-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--c-accent) 20%,transparent)}.authentication .form-control input:-webkit-autofill,.authentication .form-control input:-webkit-autofill:hover,.authentication .form-control input:-webkit-autofill:focus{-webkit-text-fill-color:var(--c-accent);box-shadow:0 0 0 1000px color-mix(in srgb,var(--c-card) 82%,#000) inset;-webkit-box-shadow:0 0 0 1000px color-mix(in srgb,var(--c-card) 82%,#000) inset;border:1px solid color-mix(in srgb,var(--c-accent) 35%,transparent);transition:background-color 5000s ease-in-out 0s}.authentication__header,.authentication h1{color:var(--c-card-bg, #232f39);color:var(--c-accent, #a8c7fa);font-size:2rem;line-height:1.2;margin:1rem 0 .6rem}.login-button-container{display:grid;place-items:center}.login-button{background:none;border:0;font-size:4rem;padding:1rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;color:var(--c-accent, #a8c7fa);border-radius:8px;cursor:pointer;transition:color .2s ease}.login-button:hover,.login-button:active,.login-button:focus-visible{color:#fff}.login-button:disabled,.login-button.disabled{color:#4e7f9b;background-color:#303e48;cursor:not-allowed;pointer-events:none;opacity:.25}.login-input-container{padding:1rem}.authentication form{margin-bottom:1rem}.auth-brand{display:flex;align-items:center;justify-content:left;gap:.5rem;margin:1rem 0 0;padding-inline:.5rem}.auth-brand img{display:block;margin:1rem 0 0;height:32px;width:auto;max-width:100%;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.brand-wordmark{height:24px}@media(max-width:380px){.authentication{width:96vw;margin-top:1rem;padding:1rem .75rem;font-size:1.2rem}.authentication label,.authentication .form-control input,.authentication .form-control textarea,.authentication .form-control select,.authentication__header,.authentication h1{font-size:1.2rem}.login-button{font-size:2.4rem}.auth-brand{flex-direction:column;gap:.25rem}.auth-brand img{height:24px}.brand-wordmark{height:20px}}@media(max-width:1024px)and (min-width:381px){.authentication{width:92vw;font-size:1.4rem}.authentication label,.authentication .form-control input,.authentication .form-control textarea,.authentication .form-control select,.authentication__header,.authentication h1{font-size:1.4rem}.login-button{font-size:2.8rem}}:root{--page-bg: #4f6377;--page-fg: #ffffff;--font-base: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--font-weight-base: 400;--nav-h: 56px;--space-under-nav: .25rem;--nav-offset: calc(var(--nav-h) + var(--space-under-nav));--layer-header: 1000;--layer-floating: 2001;--c-nav-bg: #232f39;--c-nav-fg: #a8c7fa;--floating-screen-inset: max( calc(env(safe-area-inset-left, 0px) + 1rem) , 1rem);--floating-top-bar-width: calc(100vw - (2 * var(--floating-screen-inset)));--floating-top-bar-top: max( calc(env(safe-area-inset-top, 0px) + 12px) , 12px);--floating-icon-gap: 8px;--floating-control-size: 74px;--floating-circle-size: 72px;--content-top-offset: var(--floating-top-bar-top);--floating-glass-text: color-mix(in srgb, var(--c-nav-fg) 84%, white 16%);--floating-glass-border: color-mix(in srgb, var(--c-nav-fg) 22%, white 12%);--floating-glass-border-strong: color-mix(in srgb, var(--c-nav-fg) 42%, white 18%);--floating-glass-panel-bg: radial-gradient(circle at 28% 20%, color-mix(in srgb, white 18%, var(--c-nav-fg) 10%) 0%, color-mix(in srgb, white 8%, transparent) 30%, color-mix(in srgb, var(--c-nav-bg) 84%, transparent) 72%), color-mix(in srgb, var(--c-nav-bg) 74%, transparent);--floating-glass-button-bg: radial-gradient(circle at 30% 22%, color-mix(in srgb, white 20%, var(--c-nav-fg) 12%) 0%, color-mix(in srgb, white 8%, transparent) 36%, color-mix(in srgb, var(--c-nav-bg) 88%, transparent) 72%);--floating-glass-button-bg-active: radial-gradient(circle at 30% 22%, color-mix(in srgb, white 26%, var(--c-nav-fg) 14%) 0%, color-mix(in srgb, white 12%, transparent) 38%, color-mix(in srgb, var(--c-nav-bg) 86%, transparent) 74%);--floating-glass-highlight: color-mix(in srgb, white 32%, var(--c-nav-fg) 12%);--floating-glass-highlight-soft: color-mix(in srgb, white 10%, transparent);--layer-modal: 2000;--backdrop-bg: rgba(0, 0, 0, .5);--backdrop-blur: 2px;--backdrop-saturate: 1.2;--backdrop-transition: background-color .2s ease-out, backdrop-filter .2s ease-out;--modal-border-radius: 6px;--modal-padding: 1rem;--modal-header-bg: var(--c-nav-bg);--modal-header-fg: var(--c-nav-fg);--modal-header-border-bottom: 1px solid #444c56;--modal-content-bg: var(--c-card);--modal-content-fg: var(--page-fg);--modal-footer-bg: var(--c-card);--modal-footer-fg: var(--page-fg);--modal-footer-border-top: 1px solid #444c56;--font-root: .75rem;--c-card: var(--c-nav-bg);--c-button-bg: var(--c-card);--c-accent: var(--c-nav-fg);--c-accent-alt: var(--c-nav-fg);--c-chip: var(--c-card);--c-on: var(--c-nav-fg);--c-hover: #ffffff;--card-w: 320px;--rl-grid-bg: transparent;--rl-card-shadow: rgba(0, 0, 0, .25);--gap: 1rem;--side-drawer-expanded: 8rem;--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-io: cubic-bezier(.4, 0, .2, 1);--dur-menu-in: .3s;--dur-menu-out: .15s;--dur-pop-in: .16s;--dur-pop-out: .12s;--dur-backdrop-in: .12s;--dur-backdrop-out: .1s;--motion-slide: 1rem;--motion-scale-sm: .96}@media(prefers-reduced-motion:reduce){:root :root{--dur-menu-in: 0ms;--dur-menu-out: 0ms;--dur-pop-in: 0ms;--dur-pop-out: 0ms;--dur-backdrop-in: 0ms;--dur-backdrop-out: 0ms;--motion-slide: 0px;--motion-scale-sm: 1}}@media(max-width:380px){:root{--floating-control-size: 66px;--floating-circle-size: 64px}}@media(min-width:1024px){:root{--floating-control-size: 90px;--floating-circle-size: 88px;--desktop-floating-btn: 82px;--nav-h: var(--desktop-floating-btn);--nav-offset: calc(var(--nav-h) + var(--space-under-nav));--content-top-offset: var(--floating-top-bar-top)}}@media(min-width:1600px){:root{--floating-control-size: 104px;--floating-circle-size: 102px;--content-top-offset: var(--floating-top-bar-top)}}@media(min-width:1024px){:root{--floating-top-bar-top: max( calc(env(safe-area-inset-top, 0px) + 16px) , 16px)}}html[data-user-theme=default],html[data-user-theme=dark],html[data-user-theme=auto]{--page-bg: #4f6377;--page-fg: #ffffff;--c-nav-bg: #232f39;--c-nav-fg: #a8c7fa;--c-card: var(--c-nav-bg);--c-button-bg: var(--c-card);--c-accent: var(--c-nav-fg);--c-accent-alt: var(--c-nav-fg);--c-chip: var(--c-card);--c-on: var(--c-nav-fg);--c-hover: #ffffff;--backdrop-bg: rgba(0, 0, 0, .5)}html[data-user-theme=high-contrast],html[data-user-high-contrast]{--page-bg: #0a0a0a;--page-fg: #ffffff;--c-nav-bg: #000000;--c-nav-fg: #ffe500;--c-card: #101010;--c-button-bg: var(--c-card);--c-accent: #ffe500;--c-accent-alt: #fff176;--c-chip: var(--c-card);--c-on: #ffe500;--c-hover: #ffffff;--backdrop-bg: rgba(0, 0, 0, .72)}html[data-user-theme=ocean]{--page-bg: #365564;--page-fg: #eff8ff;--c-nav-bg: #173440;--c-nav-fg: #8fd3f2;--c-card: #1b3d4b;--c-button-bg: var(--c-card);--c-accent: #8fd3f2;--c-accent-alt: #b1e3fb;--c-chip: var(--c-card);--c-on: #8fd3f2;--c-hover: #ffffff;--backdrop-bg: rgba(8, 24, 31, .58)}html[data-user-theme=graphite]{--page-bg: #4a4f58;--page-fg: #f1f3f5;--c-nav-bg: #262a31;--c-nav-fg: #b7c4d8;--c-card: #2d323a;--c-button-bg: var(--c-card);--c-accent: #b7c4d8;--c-accent-alt: #d0dae8;--c-chip: var(--c-card);--c-on: #b7c4d8;--c-hover: #ffffff;--backdrop-bg: rgba(0, 0, 0, .56)}html[data-user-theme=midnight]{--page-bg: #1a2234;--page-fg: #eef2ff;--c-nav-bg: #101726;--c-nav-fg: #9fb7ff;--c-card: #162035;--c-button-bg: var(--c-card);--c-accent: #9fb7ff;--c-accent-alt: #c2d1ff;--c-chip: var(--c-card);--c-on: #9fb7ff;--c-hover: #ffffff;--backdrop-bg: rgba(3, 8, 18, .62)}html[data-user-theme=evergreen]{--page-bg: #2b443d;--page-fg: #f3fff8;--c-nav-bg: #0f211b;--c-nav-fg: #9eeed1;--c-card: #112821;--c-button-bg: var(--c-card);--c-accent: #9eeed1;--c-accent-alt: #bcf7e3;--c-chip: var(--c-card);--c-on: #9eeed1;--c-hover: #ffffff;--backdrop-bg: rgba(4, 15, 10, .66)}html[data-user-theme=storm]{--page-bg: #33414f;--page-fg: #eef5fb;--c-nav-bg: #1d2733;--c-nav-fg: #a8c0d8;--c-card: #243241;--c-button-bg: var(--c-card);--c-accent: #a8c0d8;--c-accent-alt: #c2d4e5;--c-chip: var(--c-card);--c-on: #a8c0d8;--c-hover: #ffffff;--backdrop-bg: rgba(6, 12, 18, .6)}html[data-user-theme=ice-night]{--page-bg: #0a0f14;--page-fg: #f0f8ff;--c-nav-bg: rgb(5 9 13 / .78);--c-nav-fg: #b5e4ff;--c-card: rgb(11 20 29 / .72);--c-button-bg: var(--c-card);--c-accent: #b5e4ff;--c-accent-alt: #d2efff;--c-chip: var(--c-card);--c-on: #b5e4ff;--c-hover: #ffffff;--backdrop-bg: rgba(1, 3, 6, .76)}html[data-user-theme=ice-night] .floating-header-bridge{background:color-mix(in srgb,var(--c-nav-bg) 82%,transparent);backdrop-filter:blur(18px) saturate(1.24) brightness(1.06);-webkit-backdrop-filter:blur(18px) saturate(1.24) brightness(1.06)}html[data-user-theme=ice-night] .sticky-side-menu{background:color-mix(in srgb,var(--c-nav-bg) 62%,transparent);border-left:1px solid color-mix(in srgb,#d7f1ff 20%,transparent);box-shadow:-10px 0 24px #00000052;backdrop-filter:blur(18px) saturate(1.22) brightness(1.05);-webkit-backdrop-filter:blur(18px) saturate(1.22) brightness(1.05)}html[data-user-theme=ice-night] .back-btn--floating,html[data-user-theme=ice-night] .sticky-toggle-btn{border-color:#c8ebff6b;background:radial-gradient(circle at 28% 20%,#ebf8ff4d,#c4e5ff29 35%,#0b141d1f 72%);box-shadow:0 8px 18px #0000004d,inset 0 1px #f5fcff80,inset 0 -1px #b0dcff33;backdrop-filter:blur(10px) saturate(1.2) brightness(1.08);-webkit-backdrop-filter:blur(10px) saturate(1.2) brightness(1.08)}html[data-user-theme=ice-night] .card,html[data-user-theme=ice-night] .modal--magic,html[data-user-theme=ice-night] .user-settings-section{border:1px solid color-mix(in srgb,#d7f1ff 14%,transparent);box-shadow:inset 0 1px #f5fcff14;backdrop-filter:blur(12px) saturate(1.18);-webkit-backdrop-filter:blur(12px) saturate(1.18)}html[data-user-theme=monochrome]{--page-bg: #161616;--page-fg: #f3f3f3;--c-nav-bg: #0d0d0d;--c-nav-fg: #ffffff;--c-card: #1f1f1f;--c-button-bg: var(--c-card);--c-accent: #ffffff;--c-accent-alt: #f5f5f5;--c-chip: var(--c-card);--c-on: #ffffff;--c-hover: #ffffff;--backdrop-bg: rgba(0, 0, 0, .68);--room-hue-base: 0;--room-color-saturation: 0%;--room-color-alpha: .9}html[data-user-theme=monochrome] .zone-contour-polyline{stroke:#ffffffd1}html[data-user-theme=monochrome] .zone-contour-polyline.is-active{stroke:#fff}html[data-user-theme=monochrome] .zone-contour-polyline--preview{stroke:#ffffffeb}html[data-user-theme=monochrome] .room-layout-preview__polygon{stroke:#ffffffe0}html[data-user-theme=neo-mint]{--page-bg: #1b2528;--page-fg: #f4fffb;--c-nav-bg: #11191c;--c-nav-fg: #9cf9dc;--c-card: #1d2a2e;--c-button-bg: var(--c-card);--c-accent: #7ef7d4;--c-accent-alt: #c6fff0;--c-chip: var(--c-card);--c-on: #7ef7d4;--c-hover: #ffffff;--backdrop-bg: rgba(2, 9, 8, .6);--room-hue-base: 165;--room-color-saturation: 44%;--room-color-alpha: .92}html[data-user-theme=deep-blue]{--page-bg: #20354f;--page-fg: #eef6ff;--c-nav-bg: #0f1c2b;--c-nav-fg: #74b7ff;--c-card: #16283b;--c-button-bg: var(--c-card);--c-accent: #5fa9ff;--c-accent-alt: #b7d9ff;--c-chip: var(--c-card);--c-on: #74b7ff;--c-hover: #ffffff;--backdrop-bg: rgba(4, 10, 18, .68);--room-hue-base: 210;--room-color-saturation: 68%;--room-color-alpha: .92}html[data-user-theme=obsidian-contrast]{--page-bg: #050608;--page-fg: #f7fbff;--c-nav-bg: #000000;--c-nav-fg: #f3f7ff;--c-card: #0a0d12;--c-button-bg: var(--c-card);--c-accent: #7dd3ff;--c-accent-alt: #d9f3ff;--c-chip: #0f1319;--c-on: #7dd3ff;--c-hover: #ffffff;--backdrop-bg: rgba(0, 0, 0, .82);--room-hue-base: 205;--room-color-saturation: 100%;--room-color-alpha: .96}html[data-user-theme=default] .type-context-chip__house-btn,html[data-user-theme=high-contrast] .type-context-chip__house-btn,html[data-user-theme=ocean] .type-context-chip__house-btn,html[data-user-theme=graphite] .type-context-chip__house-btn,html[data-user-theme=midnight] .type-context-chip__house-btn,html[data-user-theme=evergreen] .type-context-chip__house-btn,html[data-user-theme=storm] .type-context-chip__house-btn,html[data-user-theme=ice-night] .type-context-chip__house-btn,html[data-user-theme=monochrome] .type-context-chip__house-btn,html[data-user-theme=neo-mint] .type-context-chip__house-btn,html[data-user-theme=deep-blue] .type-context-chip__house-btn,html[data-user-theme=obsidian-contrast] .type-context-chip__house-btn,html[data-user-theme=default] .main-nav-zone-house,html[data-user-theme=high-contrast] .main-nav-zone-house,html[data-user-theme=ocean] .main-nav-zone-house,html[data-user-theme=graphite] .main-nav-zone-house,html[data-user-theme=midnight] .main-nav-zone-house,html[data-user-theme=evergreen] .main-nav-zone-house,html[data-user-theme=storm] .main-nav-zone-house,html[data-user-theme=ice-night] .main-nav-zone-house,html[data-user-theme=monochrome] .main-nav-zone-house,html[data-user-theme=neo-mint] .main-nav-zone-house,html[data-user-theme=deep-blue] .main-nav-zone-house,html[data-user-theme=obsidian-contrast] .main-nav-zone-house{color:#fff!important}html[data-user-theme=default] .zone-selected-floor-house-wrap .zone-floor-house,html[data-user-theme=high-contrast] .zone-selected-floor-house-wrap .zone-floor-house,html[data-user-theme=ocean] .zone-selected-floor-house-wrap .zone-floor-house,html[data-user-theme=graphite] .zone-selected-floor-house-wrap .zone-floor-house,html[data-user-theme=midnight] .zone-selected-floor-house-wrap .zone-floor-house,html[data-user-theme=evergreen] .zone-selected-floor-house-wrap .zone-floor-house,html[data-user-theme=storm] .zone-selected-floor-house-wrap .zone-floor-house,html[data-user-theme=ice-night] .zone-selected-floor-house-wrap .zone-floor-house,html[data-user-theme=monochrome] .zone-selected-floor-house-wrap .zone-floor-house,html[data-user-theme=neo-mint] .zone-selected-floor-house-wrap .zone-floor-house,html[data-user-theme=deep-blue] .zone-selected-floor-house-wrap .zone-floor-house,html[data-user-theme=obsidian-contrast] .zone-selected-floor-house-wrap .zone-floor-house{--zone-house-ink: #ffffff}.debug *{outline:1px solid #000!important;outline-offset:-1px}.debug *{background-image:linear-gradient(#0000,#0000),repeating-linear-gradient(45deg,#0000001a 0 8px,#0003 8px 16px);background-clip:content-box,padding-box}.debug img,.debug svg,.debug video,.debug canvas,.debug iframe{background:none!important}.debug .show-margin{position:relative}.debug .show-margin:after{content:"";position:absolute;inset:-8px;border:2px dotted #666;border-radius:6px;pointer-events:none}html,body{margin:0;padding:0;height:100%;overflow:hidden;font-size:var(--font-root);background-color:var(--page-bg);color:var(--page-fg);font-family:var(--font-base);font-weight:var(--font-weight-base);-webkit-font-smoothing:antialiased;min-height:100dvh}#root{height:100%;display:flex;flex-direction:column;min-height:100dvh;isolation:isolate}@supports (-webkit-touch-callout: none){html,body,#root{min-height:-webkit-fill-available}}.main-content{flex:1 1 auto;min-height:0;position:relative;overflow-y:auto;overflow-x:clip;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.app-container{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.center{display:flex;justify-content:center;align-items:center;text-align:center}*,*:before,*:after{box-sizing:border-box}img,video,svg{max-width:100%;height:auto;display:block}pre,code,table{max-width:100%;overflow-x:auto}button,input,select,textarea{font:inherit;font-weight:var(--font-weight-base)}@supports not (overflow: clip){body{overflow-x:hidden}}@media(max-width:380px){.slide-enter{transform:translate(var(--slide-offset));opacity:0}.slide-enter-active{transform:translate(0);opacity:1;transition:transform .2s,opacity .2s}.slide-exit{transform:translate(0);opacity:1}.slide-exit-active{transform:translate(var(--slide-offset));opacity:0;transition:transform .2s,opacity .2s}}.card-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}@media(min-width:769px){.main-content{transition:none;will-change:auto}}@media(min-width:1024px){.card-container{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@media(min-width:1600px){.card-container{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));font-size:2rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important}.main-content{transition:none!important}}
