:root{--font-ui:-apple-system,BlinkMacSystemFont,"Segoe UI Variable","Segoe UI",sans-serif;--bg:#0b1114;--card:#1b252b;--surface:#26343d;--text:#f4f7fa;--muted:#b1bfca;--line:#52646f;--surface-panel:linear-gradient(135deg,#303b40e6,#1b262bef 56%,#162126);--surface-control:linear-gradient(140deg,#33424b,#223038);--surface-on:linear-gradient(135deg,#183f38,#16372f);--border-panel:#657b856e;--border-control:#7a919c80;--status-good:#92f0bf;--status-good-bg:#174d2b;--status-warning:#f3ce8b;--status-error:#ffb5b5;--focus-ring:#a2fff0;--radius-panel:24px;--radius-control:16px;--motion-feedback:140ms;--motion-state:220ms;--ease-state:cubic-bezier(0.2,0.7,0.3,1);--layer-navigation:40;--layer-feedback:60;--layer-dialog:100}.view-entry,.view-kitchen,.view-mobile,body{font-family:var(--font-ui);font-size:1rem;line-height:1.45;letter-spacing:normal}h1,h2,h3{letter-spacing:-.025em}a,button,input,select,summary{scroll-margin-block:100px}a,button,summary{transition:background-color var(--motion-feedback),border-color var(--motion-feedback),color var(--motion-feedback),box-shadow var(--motion-feedback)}a:active,button:active:not(:disabled),summary:active{filter:brightness(1.16)}button:disabled{cursor:not-allowed}:is(button,a,input,select,summary):focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.main-content:focus{outline:none}.skip-link{position:fixed;top:12px;left:12px;z-index:120;padding:12px 18px;color:#081815;background:var(--focus-ring);border-radius:12px;transform:translateY(-180%)}.skip-link:focus{transform:none}.card{background:var(--surface-panel);border-color:var(--border-panel)}.card-heading{align-items:center}.card-heading h2{font-weight:650;line-height:1.2}.card-heading h2>svg{color:var(--text);stroke-width:1.7}.device-copy strong,.thermostat-heading h2{font-weight:600}.status-chip.good{color:var(--status-good);background:var(--status-good-bg)}.icon-button,.pill,.setpoint button{background:var(--surface-control);border-color:var(--border-control)}.pill.primary{color:#042b28;background:var(--accent);border-color:var(--accent);font-weight:600}.mode-group>button.selected{background:color-mix(in srgb,var(--accent) 28%,#142b29);color:var(--text);box-shadow:inset 0 0 0 1px var(--accent)}.device-tile.active .device-copy small{color:#d7fff4}.device-tile[aria-busy=true] .device-copy small{color:var(--text)}.gauge-track{stroke:#465761}.gauge-value{transition:stroke-dasharray var(--motion-state) var(--ease-state)}:is(.weather-temp,.time-block,.gauge-content,.setpoint,.glucose-value,.expiry-card){font-variant-numeric:tabular-nums}.muted,.thermostat-heading p{color:var(--muted)}.camera-label{background:#101b21eb;color:var(--text)}.camera-actions button{border:1px solid #849ba570}.camera-actions button:disabled{opacity:.5}.modal-backdrop{z-index:var(--layer-dialog)}.modal-backdrop .modal{border-radius:var(--radius-panel);background:#1b282f}.modal-backdrop .modal>.card-heading h2{font-weight:650}.modal-backdrop .modal>p{font-size:1rem;line-height:1.55;margin-block:12px}.modal-backdrop .modal .icon-button{min-width:44px;min-height:44px}.toast{z-index:var(--layer-feedback)}:is(.view-entry,.view-kitchen,.view-mobile):not(.showing-settings)>.main-content>.demo-banner{font-size:.6875rem;line-height:1.35;color:var(--muted);padding:4px 8px;background:#10191ff2;max-width:calc(100vw - 32px)}:is(.view-entry,.view-kitchen,.view-mobile):not(.showing-settings)>.main-content>.notice{font-size:.875rem;line-height:1.4;padding:10px 14px;color:#ffe1d9;border:1px solid #9f6259;border-radius:12px;background:#35231ff5}@media (min-width:900px){:is(.view-entry,.view-kitchen):not(.showing-settings) .card{background:var(--surface-panel);border-color:var(--border-panel)}:is(.view-entry,.view-kitchen):not(.showing-settings) .card-heading h2{font-size:max(1.125rem,calc(25 * var(--u)));font-weight:650;line-height:1.15}:is(.view-entry,.view-kitchen):not(.showing-settings) .sidebar nav a{min-width:44px;min-height:48px}:is(.view-entry,.view-kitchen):not(.showing-settings) .pill{min-height:40px;font-size:max(.9375rem,calc(18 * var(--u)))}:is(.view-entry,.view-kitchen):not(.showing-settings) .sidebar nav{gap:max(12px,calc(20 * var(--u)))!important}:is(.view-entry,.view-kitchen):not(.showing-settings) .sidebar nav a.active{color:#efffff}.view-entry .devices-card.entry .device-copy strong{font-size:max(.875rem,calc(16 * var(--u)));font-weight:500}.view-entry .thermostat-entry .thermostat-heading h2{font-weight:500}.view-entry .weather-description>strong{font-size:max(1.125rem,calc(23 * var(--u)));font-weight:500}.view-entry .weather-card.long-condition .weather-description>strong{font-size:max(.9375rem,calc(18 * var(--u)))}.view-entry .weather-description>span{font-size:max(.8125rem,calc(16 * var(--u)));color:var(--text)}.view-entry .forecast>div{gap:calc(4 * var(--u))}.view-entry .forecast>div :is(small,span){font-size:max(.8125rem,calc(16 * var(--u)))}.view-entry .light-list span{color:var(--text)}.view-entry .camera-actions{gap:8px}.view-entry .primary-camera .camera-actions button{width:44px;height:44px}.view-entry .camera-grid .camera-actions button{width:36px;height:36px}.view-entry .camera-tile[data-demo] .camera-bottom{min-height:60px;padding:8px 12px;background:linear-gradient(0deg,#0b1114 70%,transparent)}.view-entry .camera-tile[data-demo] .camera-actions{border-radius:0}:is(.view-kitchen,.view-dining) .time-block>strong{font-weight:700}.view-kitchen .devices-card.kitchen .device-copy strong{font-weight:500}.view-kitchen .devices-card.kitchen .device-copy small{color:#e5f3f1}.view-kitchen .devices-card.kitchen .device-tile{border-color:var(--border-control)}.view-kitchen .devices-card.kitchen .device-tile.active{border-color:var(--accent)}.view-kitchen .calendar-event>div:last-child strong{font-size:max(.875rem,calc(16 * var(--u)));font-weight:600}.view-kitchen .calendar-event small{font-size:max(.8125rem,calc(15 * var(--u)));color:#d8e2e8}.view-kitchen .expiry-card strong{font-size:max(1rem,calc(21 * var(--u)))}.view-kitchen .appliance-list strong{font-size:max(.9375rem,calc(18 * var(--u)));font-weight:500}.view-kitchen .appliance-list small{font-size:max(.8125rem,calc(16 * var(--u)));color:#d8e2e8}}.view-mobile:not(.showing-settings){padding:0;display:block;min-height:100vh;min-height:100dvh;background:radial-gradient(ellipse at 20% 35%,#17333826,transparent 65%),var(--bg)}.view-mobile:not(.showing-settings)>.sidebar{display:none}.view-mobile:not(.showing-settings)>.main-content{width:100%;max-width:640px;margin-inline:auto;padding:calc(24px + env(safe-area-inset-top, 0px)) clamp(14px,2.4vw,20px) calc(136px + env(safe-area-inset-bottom, 0px))}.view-mobile:not(.showing-settings) .page-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;height:auto;min-height:68px;margin:0 4px 24px;padding:0}.view-mobile:not(.showing-settings) .header-kicker{font-size:clamp(.75rem,2.5vw,.9375rem);line-height:1.4;color:var(--muted);font-weight:500;letter-spacing:.015em;margin-bottom:4px}.view-mobile:not(.showing-settings) :is(.header-kicker .wordmark,.header-divider,.dashboard-switcher,.home-status){display:none}.view-mobile:not(.showing-settings) .page-header h1{font-size:clamp(1.625rem,5.75vw,2.125rem);line-height:1.12;letter-spacing:-.035em;font-weight:700;max-width:none}.view-mobile:not(.showing-settings) .header-right{display:flex;flex-direction:row;gap:8px;padding:0}.view-mobile:not(.showing-settings) .mobile-settings{display:grid;place-items:center;width:44px;height:48px;min-width:44px;min-height:44px;border:1px solid var(--border-panel);border-radius:16px;background:var(--surface-control);color:var(--text)}.view-mobile:not(.showing-settings) .mobile-settings>svg{width:24px;height:24px;stroke-width:1.7}.view-mobile .mobile-content{max-width:none;gap:18px}.view-mobile .mobile-climate{gap:16px}.view-mobile .mobile-content .card{border:1px solid var(--border-panel);border-radius:var(--radius-panel);background:linear-gradient(130deg,#1b272e,#131d23 75%);box-shadow:inset 0 1px #e9ffff08}.view-mobile .mobile-content .thermostat-mobile{height:auto;min-height:250px;padding:16px;overflow:visible}.view-mobile .thermostat-mobile .thermostat-heading{gap:10px;align-items:start;min-height:48px;height:auto}.view-mobile .thermostat-mobile .thermostat-heading>svg{width:28px;height:28px;margin-top:3px;stroke-width:1.7}.view-mobile .thermostat-mobile .thermostat-heading h2{font-size:clamp(1.125rem,3.7vw,1.375rem);line-height:1.2;font-weight:650}.view-mobile .thermostat-mobile .thermostat-heading p{margin-top:4px;font-size:.875rem;line-height:1.4;white-space:normal}.view-mobile .thermostat-mobile .status-chip{flex-shrink:0;margin-top:2px;padding:5px 9px;font-size:.75rem;line-height:1.3;border-radius:999px;color:var(--status-good);background:var(--status-good-bg)}.view-mobile .thermostat-mobile .status-chip:not(.good){color:var(--status-error);background:#4a292b}.view-mobile .thermostat-mobile .thermostat-body{display:grid;grid-template-columns:minmax(0,45fr) minmax(0,55fr);align-items:center;gap:12px;margin-top:8px;width:100%;height:auto;min-height:166px}.view-mobile .thermostat-mobile .gauge-button{width:100%;max-width:none;height:auto;padding:0;position:relative;margin:0}.view-mobile .thermostat-mobile .gauge{width:100%;max-width:250px;height:auto;aspect-ratio:200/180;margin:0 auto;position:relative;inset:auto}.view-mobile .thermostat-mobile .gauge-track{stroke:#35454f;stroke-width:13}.view-mobile .thermostat-mobile .gauge-value{stroke-width:13}.view-mobile .thermostat-mobile .gauge-content{top:34%;gap:6px}.view-mobile .thermostat-mobile .gauge-content>small{font-size:clamp(.75rem,2.6vw,.9375rem);line-height:1.1;letter-spacing:.025em;color:var(--muted)}.view-mobile .thermostat-mobile .gauge-content>strong{font-size:clamp(2.5rem,10vw,3.6875rem);line-height:1;font-weight:650;letter-spacing:-.055em}.view-mobile .thermostat-mobile .gauge-content>strong>em{font-size:.7em}.view-mobile .thermostat-mobile .gauge-subtitle{font-size:clamp(.8125rem,2.9vw,1.125rem);line-height:1.2;color:#6ff0d7;white-space:nowrap;gap:5px}.view-mobile .thermostat-mobile .gauge-subtitle>svg{width:18px;height:18px}.view-mobile .thermostat-mobile .thermostat-settings{width:100%;padding:0;gap:12px;height:auto}.view-mobile .thermostat-mobile .mode-group{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;height:auto;min-height:60px;overflow:hidden;border-radius:14px;border-color:var(--border-control);background:#19272f}.view-mobile .thermostat-mobile .mode-group>button{min-width:0;min-height:60px;padding:7px 2px;gap:4px;font-size:.8125rem;line-height:1.1;color:#ccd7df;border-color:var(--border-control)}.view-mobile .thermostat-mobile .mode-group>button>svg{width:22px;height:22px;stroke-width:1.7}.view-mobile .thermostat-mobile .auto-mode{font-size:22px;line-height:1;height:22px}.view-mobile .thermostat-mobile .mode-group>button.selected{border-radius:12px;color:#fff}.view-mobile .thermostat-mobile .thermostat-settings>.tiny{font-size:.875rem;line-height:1.2;color:var(--muted);margin-top:3px}.view-mobile .thermostat-mobile .setpoint{gap:12px}.view-mobile .thermostat-mobile .setpoint>button{min-width:44px;width:48px;min-height:44px;height:44px;border-radius:13px;background:var(--surface-control)}.view-mobile .thermostat-mobile .setpoint>button>svg{width:24px;height:24px}.view-mobile .thermostat-mobile .setpoint>strong{font-size:clamp(1.625rem,5.6vw,2rem);line-height:1.1;font-weight:650}.view-mobile .thermostat-mobile>details{display:none}.view-mobile .advanced-link{min-height:52px;height:auto;padding:12px 18px;gap:12px;font-size:1rem;line-height:1.4;border-radius:18px;border-color:var(--border-panel);background:var(--surface-control);color:var(--text)}.view-mobile .advanced-link>svg{width:24px;height:24px}.view-mobile .devices-card.mobile{padding:0;background:none;border:0;box-shadow:none}.view-mobile .devices-card.mobile .card-heading{height:auto;min-height:40px;margin:2px 4px 14px}.view-mobile .devices-card.mobile h2{font-size:clamp(1.5rem,5vw,2rem);font-weight:650}.view-mobile .devices-card.mobile h2>svg{display:none}.view-mobile .lighting-count{font-size:.875rem;color:var(--muted);white-space:nowrap}.view-mobile .devices-card.mobile .device-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.view-mobile .room-tile{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;min-height:96px;height:auto;padding:14px 12px;border-radius:20px;border-color:var(--border-control);background:linear-gradient(125deg,#1c2a32,#162128);box-shadow:none}.view-mobile .room-tile.active{border-color:#66ddc7;background:var(--surface-on);box-shadow:inset 0 0 16px #5aefd608}.view-mobile .room-tile>svg{width:28px;height:28px;stroke-width:1.7;color:#c8d4de;align-self:start;margin-top:2px}.view-mobile .room-tile.active>svg{color:#6ff0d7}.view-mobile .room-tile .device-copy{min-width:0;gap:6px;align-self:start;text-align:left}.view-mobile .room-tile .device-copy strong{font-size:1rem;line-height:1.25;font-weight:600;white-space:normal;overflow-wrap:normal}.view-mobile .room-tile .device-copy small{font-size:.8125rem;line-height:1.3;color:var(--muted);padding-right:36px;min-height:26px}.view-mobile .room-tile.active .device-copy small{color:#a0e8d8}.view-mobile .room-tile>.toggle{position:absolute;right:12px;bottom:14px;width:38px;min-width:38px;height:24px;padding:3px;background:#465a66}.view-mobile .room-tile .toggle>span{width:18px;height:18px;background:#c3cfd7}.view-mobile .room-tile .toggle.is-on{background:var(--accent)}.view-mobile .room-tile .toggle.is-on>span{transform:translateX(14px);background:#fff}.view-mobile .mobile-content>.brightness{height:auto;min-height:112px;padding:16px 18px;margin-top:0}.view-mobile .brightness .card-heading{height:auto;min-height:28px;gap:8px;margin:0 0 10px}.view-mobile .brightness h2{font-size:1rem;font-weight:600;gap:10px}.view-mobile .brightness h2>svg{width:26px;height:26px;color:#c8d4de}.view-mobile .brightness .teal{font-size:1.125rem;color:#6ff0d7}.view-mobile .brightness input[type=range]{appearance:none;width:100%;height:44px;margin:0;padding:0;border:0;border-radius:999px;background:transparent;--track-on:#4ce2c9;--track-off:#354d50}.view-mobile .brightness input[type=range]::-webkit-slider-runnable-track{height:14px;border-radius:999px;background:linear-gradient(to right,var(--track-on) 0 var(--brightness),var(--track-off) var(--brightness) 100%)}.view-mobile .brightness input[type=range]::-moz-range-track{height:14px;border-radius:999px;background:linear-gradient(to right,var(--track-on) 0 var(--brightness),var(--track-off) var(--brightness) 100%)}.view-mobile .brightness input[type=range]::-webkit-slider-thumb{appearance:none;width:28px;height:28px;margin-top:-7px;border:0;border-radius:50%;background:#fff;box-shadow:0 1px 6px #0005}.view-mobile .brightness input[type=range]::-moz-range-thumb{width:28px;height:28px;border:0;border-radius:50%;background:#fff}.view-mobile .mobile-content>.brightness .color-control{display:none}.view-mobile:not(.showing-settings)>.bottom-nav{display:flex;position:fixed;z-index:var(--layer-navigation);left:50%;right:auto;transform:translateX(-50%);bottom:calc(16px + env(safe-area-inset-bottom, 0px));width:min(calc(100% - 28px),612px);height:80px;padding:10px 12px;border:1px solid var(--border-panel);border-radius:24px;background:linear-gradient(125deg,#24343d,#1b282f);box-shadow:0 10px 32px #0005,inset 0 1px #e8ffff08;justify-content:space-around}.view-mobile:not(.showing-settings)>.bottom-nav>a{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:5px;padding:0;min-width:44px;min-height:44px;width:auto;border-radius:14px;font-size:.8125rem;font-weight:500;color:var(--muted)}.view-mobile:not(.showing-settings)>.bottom-nav>a>svg{width:27px;height:27px;stroke-width:1.7}.view-mobile:not(.showing-settings)>.bottom-nav>a.active{color:#71f0d9;background:#37d9bf0c}.view-mobile:not(.showing-settings)>.main-content>.demo-banner{font-size:.625rem;bottom:0;left:50%;right:auto;transform:translateX(-50%);white-space:nowrap;max-width:calc(100vw - 12px);padding:2px 6px}.view-mobile:not(.showing-settings)>.main-content>.notice{bottom:calc(110px + env(safe-area-inset-bottom, 0px));left:16px;max-width:calc(100vw - 32px)}@media (max-width:419px){.view-mobile .thermostat-mobile .thermostat-body{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:8px;min-height:202px}.view-mobile .thermostat-mobile .mode-group{grid-template-columns:repeat(2,minmax(0,1fr));min-height:96px}.view-mobile .thermostat-mobile .mode-group>button{min-height:48px;flex-direction:row;gap:5px;border:0}.view-mobile .thermostat-mobile .mode-group>button>svg{width:18px;height:18px}.view-mobile .thermostat-mobile .mode-group .auto-mode{font-size:18px;height:18px}.view-mobile .thermostat-mobile .setpoint{gap:8px}.view-mobile .thermostat-mobile .setpoint>button{width:44px}.view-mobile .thermostat-mobile .gauge-content>strong{font-size:2.5rem}}@media (min-width:520px){.view-mobile .mobile-content .thermostat-mobile{padding:18px}.view-mobile .thermostat-mobile .thermostat-body{min-height:210px}.view-mobile .thermostat-mobile .thermostat-heading p{font-size:1rem}.view-mobile .room-tile{min-height:92px;grid-template-columns:34px minmax(0,1fr) 44px;padding:16px;gap:12px}.view-mobile .room-tile>svg{width:34px;height:34px;align-self:center;margin:0}.view-mobile .room-tile .device-copy{align-self:center}.view-mobile .room-tile .device-copy strong{font-size:1.125rem}.view-mobile .room-tile .device-copy small{font-size:.9375rem;padding:0;min-height:0}.view-mobile .room-tile>.toggle{position:static;width:44px;min-width:44px;height:28px;padding:3px}.view-mobile .room-tile .toggle>span{width:22px;height:22px}.view-mobile .room-tile .toggle.is-on>span{transform:translateX(16px)}}@media (max-width:899px){.app-shell:not(.view-mobile){padding-left:0}.app-shell:not(.view-mobile)>.sidebar{display:none}.app-shell:not(.view-mobile)>.main-content{width:100%;margin:0;padding:calc(20px + env(safe-area-inset-top, 0px)) 16px calc(120px + env(safe-area-inset-bottom, 0px))}.app-shell:not(.view-mobile) .page-header h1{font-size:1.75rem;line-height:1.15}.app-shell:not(.view-mobile) .card-heading{height:auto;min-height:40px;flex-wrap:wrap}.app-shell:not(.view-mobile) .card-heading h2{font-size:1.25rem}.app-shell:not(.view-mobile) :is(label,.muted,.tiny){font-size:.875rem}.app-shell:not(.view-mobile) :is(input:not([type=range]):not([type=checkbox]),select){font-size:1rem;min-height:44px}.app-shell:not(.view-mobile) :is(.pill,.icon-button,.setpoint button){min-height:44px}.app-shell:not(.view-mobile) .pill{font-size:.9375rem}.app-shell:not(.view-mobile) .thermostat-heading h2{font-size:1.125rem}.app-shell:not(.view-mobile) .thermostat-heading p{font-size:.8125rem;line-height:1.4}.app-shell:not(.view-mobile) .thermostat-settings{gap:12px}.app-shell:not(.view-mobile) .mode-group>button{min-height:48px;font-size:.8125rem}.app-shell:not(.view-mobile) .device-copy strong{font-size:1rem}.app-shell:not(.view-mobile) .device-copy small{font-size:.875rem}.app-shell:not(.view-mobile) .calendar-event :is(strong,small){font-size:.875rem}.app-shell:not(.view-mobile) .camera-actions button{min-width:44px;min-height:44px}.app-shell:not(.view-mobile) .camera-actions{flex-wrap:wrap;gap:8px}.app-shell:not(.view-mobile)>.bottom-nav{z-index:var(--layer-navigation);padding-bottom:env(safe-area-inset-bottom,0);background:#192b33}.app-shell:not(.view-mobile)>.bottom-nav a{min-height:60px;font-size:.8125rem}.settings-tabs{gap:8px;scroll-padding-inline:16px}.settings-tabs button{min-height:44px;font-size:.875rem}.settings-save{position:static}.modal-backdrop .modal{padding:16px}}@media (max-width:600px){.view-kitchen .kitchen-top{grid-template-columns:repeat(2,minmax(0,1fr))}.view-kitchen .kitchen-top>.calendar-card,.view-kitchen .kitchen-top>.expiry-stack{grid-column:1/-1}.view-kitchen .expiry-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.view-kitchen .kitchen-lower,.view-kitchen .kitchen-main{grid-template-columns:1fr}.view-kitchen .device-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.view-entry .entry-layout{grid-template-columns:1fr}.view-entry .camera-panel.entry .camera-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.view-entry .entry-controls{overflow:visible}.climate-page{grid-template-columns:1fr}.thermostat-standard .thermostat-body{gap:12px}.thermostat-standard .gauge-button{max-width:43%}.thermostat-standard .mode-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.thermostat-standard .mode-group>button{border:0;flex-direction:row;gap:6px}.thermostat-standard .setpoint{gap:10px}.camera-panel.all .camera-grid{grid-template-columns:1fr}.modal-backdrop .modal .thermostat{padding:12px}.modal-backdrop .thermostat-heading{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.view-mobile .thermostat-mobile{container-type:inline-size}.view-mobile .thermostat-mobile .mode-group{grid-template-columns:repeat(auto-fit,minmax(min(100%,2.5rem),1fr))}.view-mobile:not(.showing-settings)>.bottom-nav{height:auto;min-height:80px}.view-mobile:not(.showing-settings)>.bottom-nav>a{overflow-wrap:anywhere;text-align:center}.settings-save>div{flex-wrap:wrap}@media (max-width:419px){.view-mobile .thermostat-mobile .mode-group{grid-template-columns:repeat(auto-fit,minmax(min(100%,4rem),1fr))}}@container (max-width: 18rem){.view-mobile .thermostat-mobile .thermostat-heading{flex-wrap:wrap}.view-mobile .thermostat-mobile .thermostat-heading>div{flex-basis:calc(100% - 40px)}.view-mobile .thermostat-mobile .status-chip{margin-left:38px}.view-mobile .thermostat-mobile .thermostat-body{grid-template-columns:1fr;gap:20px}.view-mobile .thermostat-mobile .gauge{max-width:18rem}.view-mobile .thermostat-mobile .gauge-content{gap:8px}.view-mobile .thermostat-mobile .thermostat-settings{gap:16px}.view-mobile .thermostat-mobile .mode-group{grid-template-columns:repeat(auto-fit,minmax(min(100%,5rem),1fr))}}@media (min-width:900px){.view-kitchen:not(.showing-settings) .device-tile.active{background:linear-gradient(145deg,#08786d,#075c54);border-color:var(--accent)}:is(.view-entry,.view-kitchen):not(.showing-settings) .sidebar nav a.active{background:radial-gradient(ellipse at 40% 20%,#009482,#006b61)}}.view-mobile .thermostat-mobile .gauge-content>strong{line-height:1.2}.view-mobile .thermostat-mobile .gauge-content>small,.view-mobile .thermostat-mobile .gauge-subtitle{line-height:1.25}.view-mobile .devices-card.mobile h2{line-height:1.35}.view-mobile .devices-card.mobile{container-type:inline-size}.view-mobile .room-tile .device-copy strong{line-height:1.35}.glucose-reading>strong{line-height:1.3}@container (max-width: 20rem){.view-mobile .devices-card.mobile .device-grid{grid-template-columns:1fr}}@media (min-width:900px){.view-entry:not(.showing-settings) .entry-layout{height:max(746px,calc(746 * var(--u)))}.view-entry .weather-temp>strong{line-height:1.25}.view-entry .weather-temp>small{line-height:1.3}.view-entry .weather-temp{gap:4px}.view-kitchen .kitchen-controls,.view-kitchen .kitchen-layout,.view-kitchen .kitchen-main{height:auto}.view-kitchen .kitchen-top{height:max(196px,calc(196 * var(--u)))}:is(.view-kitchen,.view-dining) .clock-weather{padding:8px 12px;grid-template-rows:84fr 64fr 22fr}:is(.view-kitchen,.view-dining) .clock-weather .time-block{padding-bottom:8px;gap:4px}:is(.view-kitchen,.view-dining) .clock-weather .time-block>strong{font-size:max(1.875rem,calc(40 * var(--u)));line-height:1.2}:is(.view-kitchen,.view-dining) .clock-weather .time-block>span{font-size:max(1rem,calc(21 * var(--u)));line-height:1.2}:is(.view-kitchen,.view-dining) .clock-weather .weather-description>strong{font-size:max(1.625rem,calc(34 * var(--u)));line-height:1.2}:is(.view-kitchen,.view-dining) .clock-weather .weather-description>span{font-size:max(.8125rem,calc(18 * var(--u)));line-height:1.3}:is(.view-kitchen,.view-dining) .clock-weather.long-condition .weather-description>span{font-size:max(.75rem,calc(15 * var(--u)))}:is(.view-kitchen,.view-dining) .clock-weather .weather-meta{font-size:max(.875rem,calc(18 * var(--u)));line-height:1.3}.view-kitchen .devices-card.kitchen{height:auto;min-height:calc(282 * var(--u))}.view-kitchen .devices-card.kitchen .card-heading{height:auto;min-height:36px}.view-kitchen .devices-card.kitchen .device-grid{height:max(205px,calc(213 * var(--u)))}.view-kitchen .devices-card.kitchen .device-tile{padding:4px}.view-kitchen .devices-card.kitchen .device-copy small,.view-kitchen .devices-card.kitchen .device-copy strong{line-height:1.3}.view-kitchen .devices-card.kitchen .device-tile:first-child{grid-template-rows:24px auto}.view-kitchen .devices-card.kitchen .device-tile:first-child>svg{width:28px;height:24px}.view-kitchen .devices-card.kitchen .device-tile:first-child .device-copy small,.view-kitchen .devices-card.kitchen .device-tile:first-child .device-copy strong{font-size:1rem;line-height:1.25}.view-kitchen .kitchen-lower{height:max(236px,calc(236 * var(--u)))}.view-kitchen .appliance-list>div{min-height:44px;height:auto;padding:2px 16px;gap:20px}.view-kitchen .appliance-list strong{font-size:1rem;line-height:1.3}.view-kitchen .appliance-list small{font-size:.875rem;line-height:1.3}.view-kitchen:not(.showing-settings) .glucose-card{display:grid;grid-template-rows:30px auto 14px minmax(14px,1fr) 22px;gap:2px;border-color:#50e841 #50e841 #50e841 #54f232;background:linear-gradient(130deg,#192d25,#101c1b);box-shadow:-4px 0 16px #3bff2426}.view-kitchen .glucose-card .card-heading{margin:0;height:auto}.view-kitchen .glucose-card .glucose-reading>strong{font-size:58px;line-height:1.3}.view-kitchen .glucose-card>.tiny{height:auto;font-size:.6875rem;line-height:1.3}.view-kitchen .glucose-card .sparkline{height:100%;min-height:0;margin:0}.view-kitchen .glucose-card .health-footer{font-size:1rem;line-height:1.3}.view-entry .camera-tile[data-demo] .camera-bottom{background:linear-gradient(0deg,#0b1114 85%,transparent)}}@media (max-width:899px){.view-entry .entry-layout{display:flex;flex-direction:column;gap:20px}.view-entry .entry-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.view-entry .entry-controls>.dashboard-climate,.view-entry .entry-controls>.weather-card{grid-column:1/-1}.view-entry .thermostat-entry{min-height:230px;height:auto}.view-entry .thermostat-entry .gauge{width:min(180px,100%)}.view-entry .thermostat-entry .gauge-content{top:34%;gap:8px}.view-entry .thermostat-entry .gauge-content>strong{font-size:2rem;line-height:1.25}.view-entry .thermostat-entry .gauge-content>span{font-size:.875rem;line-height:1.3}.view-kitchen .glucose-card{display:grid;grid-template-rows:auto auto auto minmax(20px,1fr) auto;gap:8px}.view-kitchen .glucose-card .glucose-reading>strong{font-size:3rem;line-height:1.3}.view-kitchen .glucose-card>.tiny{font-size:.75rem;line-height:1.4}.view-kitchen .glucose-card .sparkline{height:30px;margin:0}.view-kitchen .glucose-card .health-footer{font-size:.8125rem;line-height:1.3}.camera-label{font-size:.875rem;line-height:1.3}}@media (max-width:600px){.view-entry .camera-panel.entry .camera-grid,.view-entry .entry-controls{grid-template-columns:1fr}.view-entry .devices-card.entry .device-tile{min-height:112px}}@media (min-width:900px){.view-kitchen:not(.showing-settings) .appliance-list small,.view-kitchen:not(.showing-settings) .appliance-list strong{line-height:1.4}.view-kitchen .kitchen-lower{height:auto;min-height:max(242px,calc(242 * var(--u)))}}@media (max-width:899px){.view-entry .entry-layout{align-items:stretch}.view-entry .entry-layout>.camera-panel{order:0;width:100%}.view-entry .camera-panel.entry .primary-camera{aspect-ratio:16/9}.view-entry .camera-panel.entry .camera-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.view-entry .camera-panel.entry .camera-grid .camera-tile{aspect-ratio:16/10}.view-entry .thermostat-entry{justify-content:start}.view-entry .thermostat-entry .gauge>svg{width:100%;height:auto}.view-entry .thermostat-entry .gauge-subtitle>svg{width:18px;height:18px}.app-shell .camera-grid .camera-label{font-size:.875rem}.camera-badge{font-size:.75rem}:is(.view-kitchen,.view-dining) .clock-weather .time-block>span{font-size:.875rem}:is(.view-kitchen,.view-dining) .clock-weather .weather-description>strong{font-size:1.75rem;line-height:1.3}:is(.view-kitchen,.view-dining) .clock-weather .weather-description>span{font-size:.875rem;line-height:1.4}:is(.view-kitchen,.view-dining) .clock-weather .weather-meta{font-size:.8125rem;line-height:1.4}.view-kitchen .expiry-card span{font-size:.8125rem;line-height:1.35;white-space:normal}.view-kitchen .expiry-card strong{font-size:1rem;line-height:1.35}.calendar-date span{font-size:.75rem}}@media (max-width:600px){.view-entry .camera-panel.entry .camera-grid{grid-template-columns:1fr}}@media (min-width:520px){.view-mobile .thermostat-mobile .thermostat-body{min-height:190px}.view-mobile .thermostat-mobile .gauge{max-width:210px}}@media (max-width:899px){.view-entry .weather-description>span{font-size:.875rem}.view-entry .weather-temp>small{font-size:.75rem}.view-entry .forecast>div :is(small,span){font-size:.875rem}.view-entry .forecast>div>strong{font-size:1rem}.view-entry .forecast>div>svg{width:24px;height:24px}.camera-tile[data-demo] .camera-bottom{inset:auto 0 0;min-height:72px;padding:10px 12px;background:linear-gradient(0deg,#0b1114 85%,transparent)}}@media (max-width:600px){.view-kitchen .camera-grid{grid-template-columns:1fr}.view-entry .weather-current{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px}.view-entry .weather-symbol svg{width:36px;height:36px}.view-entry .weather-description>strong{font-size:1.125rem;line-height:1.3}}:is(.view-entry,.view-kitchen,.view-mobile):not(.showing-settings)>.main-content>.demo-banner{font-size:.75rem}.demo-banner strong{color:#78e9d5}.demo-banner span{color:var(--muted)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.modal-backdrop .thermostat-standard{container-type:inline-size}.modal-backdrop .thermostat-standard .mode-group>button{font-size:.875rem;min-height:56px}.modal-backdrop .thermostat-standard .thermostat-heading p,.modal-backdrop .thermostat-standard .thermostat-settings>.tiny{font-size:.875rem}.modal-backdrop .thermostat-standard summary{font-size:.875rem;min-height:44px}@container (max-width: 20rem){.modal-backdrop .thermostat-standard .thermostat-body{flex-direction:column}.modal-backdrop .thermostat-standard .gauge-button{width:100%;max-width:210px}.modal-backdrop .thermostat-standard .thermostat-settings{width:100%}}@media (min-width:900px){.view-entry .weather-card{display:grid;grid-template-rows:minmax(64px,auto) minmax(0,1fr);gap:4px}.view-entry .weather-current{height:auto;min-height:64px}.view-entry .weather-description>strong{line-height:1.25}.view-entry .weather-description>span{line-height:1.35}.view-entry .weather-card.long-location .weather-description>span{line-height:1.4;font-size:max(.8125rem,calc(14 * var(--u)))}.view-entry .forecast{height:auto;margin-top:0;padding-top:6px}.view-entry .forecast>div{gap:2px}.view-entry:not(.showing-settings) .forecast>div>:is(small,span){font-size:max(.8125rem,calc(14 * var(--u)));line-height:1.3}.view-entry:not(.showing-settings) .forecast>div>strong{font-size:max(1rem,calc(17 * var(--u)));line-height:1.3}.view-entry .forecast>div>svg{width:24px;height:20px}.view-kitchen:not(.showing-settings)>.main-content{padding-bottom:6px}.view-kitchen:not(.showing-settings) .glucose-card{grid-template-rows:minmax(36px,auto) auto 14px minmax(14px,1fr) 22px}.view-kitchen .glucose-card .card-heading{min-height:36px}.view-kitchen .glucose-card .card-heading h2{line-height:1.3}}.simple-rendering :is(.card,.sidebar,.camera-badge,.camera-label,.modal-backdrop,.bottom-nav,.toast){-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.simple-rendering .card{background:linear-gradient(150deg,#303b40,#1b262b 55%,#162126)!important;box-shadow:inset 0 1px #ffffff14,0 3px 8px #0003!important}.simple-rendering .sidebar{background:linear-gradient(105deg,#263034,#10191d)!important}.simple-rendering .gauge-value{filter:none!important}@media (min-width:900px){.view-entry.simple-rendering .entry-controls{overflow:visible}.view-entry.simple-rendering .devices-card.entry{min-height:196px}.view-entry.simple-rendering .devices-card.entry .device-grid{min-height:144px;grid-template-rows:repeat(2,minmax(64px,1fr))}}.simple-rendering input[type=range]{touch-action:pan-y pinch-zoom}.dashboard-settings{display:grid;gap:20px;min-width:0}.dashboard-device-editors{display:grid;gap:16px}.dashboard-device-editor{display:grid;grid-template-columns:36px minmax(0,1fr) minmax(120px,.8fr) minmax(0,1.5fr);gap:14px;align-items:end;padding:14px 0;border-bottom:1px solid #40515b}.dashboard-device-editor>*,.dashboard-settings .mapping-grid>*{min-width:0}.device-editor-number{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--accent);padding-bottom:8px}.dashboard-settings label{display:flex;flex-direction:column;gap:8px;min-width:0}.dashboard-settings input,.dashboard-settings select{width:100%;min-width:0}.dashboard-chooser{display:grid;gap:12px}.dashboard-chooser a{justify-content:space-between;min-height:48px}.sidebar nav .dashboard-nav-button{display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid #84979866;background:linear-gradient(150deg,#364146,#1c272b);border-radius:16px;color:#f4f7fa;min-height:44px;padding:12px;cursor:pointer}.sidebar nav .dashboard-nav-button span{display:none}.sidebar nav{min-height:0;overflow-y:auto;scrollbar-width:none}.sidebar nav::-webkit-scrollbar{display:none}.camera-tile .camera-canvas,.camera-tile video.camera-native{object-fit:cover}.camera-fullscreen .camera-canvas,.camera-fullscreen video.camera-native{object-fit:contain}.camera-fullscreen>.card-heading h2{display:none}.camera-fullscreen>.card-heading{justify-content:flex-end}.view-kitchen .camera-panel.kitchen .camera-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}.calendar-card{display:flex;flex-direction:column;min-width:0}.calendar-card .calendar-events{min-height:0;flex:1;overflow-y:auto}.calendar-card .calendar-more{display:flex;align-items:center;justify-content:center;gap:6px;flex-shrink:0;border:0;border-top:1px solid #6a80874d;background:transparent;color:var(--accent);font:inherit;min-height:32px;padding:5px 8px;cursor:pointer}.view-kitchen .calendar-card .calendar-empty{min-height:0;height:100%;gap:6px;padding:8px 0}.calendar-card .segmented{flex-shrink:0}.calendar-overlay{width:min(760px,100%)}.calendar-overlay-events{display:grid;gap:4px;min-width:0}.calendar-overlay .calendar-event{display:flex;align-items:center;gap:14px;padding:12px 0;min-height:72px}.calendar-overlay .calendar-date{min-width:76px;flex-shrink:0}.calendar-overlay .calendar-event>div:last-child{min-width:0}.calendar-overlay .calendar-event strong{white-space:normal;overflow-wrap:anywhere}.calendar-overlay .calendar-event>div:last-child strong{font-size:1rem;line-height:1.35}.calendar-overlay .calendar-event small{font-size:.875rem;white-space:normal}.calendar-later{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:20px}.calendar-later .pill{min-height:44px}.glucose-card .glucose-reading{display:flex;align-items:center;justify-content:center;gap:12px;padding:0;min-width:0;flex-wrap:nowrap}.glucose-card .glucose-reading>strong{font-size:clamp(4rem,8vw,6.5rem);line-height:1;letter-spacing:-.045em;font-weight:750;font-variant-numeric:tabular-nums}.glucose-card .glucose-reading>.glucose-trend{font-size:clamp(2rem,4vw,3.6rem);line-height:1;letter-spacing:-.15em;color:#f4f7fa;flex-shrink:0}.build-settings{margin-top:20px}.app-shell .glucose-card.card{display:flex;flex-direction:column;background:var(--glucose-background,#5a5a5a)!important;border:1px solid #ffffff55;box-shadow:inset 0 1px #ffffff22,0 3px 8px #0003!important;color:white}.app-shell .glucose-card .glucose-reading{gap:6px;flex:1 0 auto;min-height:0}.app-shell .glucose-card .glucose-reading>.glucose-delta{font-size:1.35rem;letter-spacing:0;line-height:1;color:white;flex-shrink:0}.app-shell .glucose-card .glucose-reading>strong{font-size:calc(6rem * var(--glucose-scale, 1));line-height:1.2}.app-shell .glucose-card>.tiny{margin-top:4px;line-height:1.2;flex-shrink:0}.app-shell .glucose-card .health-footer{line-height:1.2;flex-shrink:0}.app-shell .glucose-card .health-footer,.app-shell .glucose-card .tiny{color:white}.app-shell .glucose-card .sparkline path{stroke:white}.app-shell .glucose-card.stale{border:2px dashed #fff}@media (min-width:900px){.app-shell.view-kitchen .glucose-card .glucose-reading>strong{font-size:calc(90 * var(--u) * var(--glucose-scale, 1))}.app-shell.view-kitchen .glucose-card .glucose-reading>.glucose-trend{font-size:calc(38 * var(--u))}.app-shell.view-kitchen .glucose-card .glucose-reading>.glucose-delta{font-size:calc(22 * var(--u))}.app-shell.view-kitchen .glucose-card .sparkline{height:calc(24 * var(--u));margin:calc(2 * var(--u)) 0;min-height:0;flex-shrink:1}}@media (max-width:600px){.view-kitchen .kitchen-top>.clock-weather,.view-kitchen .kitchen-top>.glucose-card{grid-column:1/-1}}.build-output{margin-top:16px}.build-output pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8125rem;max-height:360px;overflow:auto;padding:12px;background:#0b1114;border-radius:12px}@media (min-width:900px){.view-kitchen .kitchen-main{align-items:stretch}.view-kitchen .camera-panel.kitchen{height:100%;min-height:0;display:flex;flex-direction:column}.view-kitchen .camera-panel.kitchen>.card-heading{flex-shrink:0}.view-kitchen .camera-panel.kitchen .camera-layout{height:auto;flex:1;min-height:0;grid-template-rows:repeat(2,minmax(0,1fr));gap:calc(10 * var(--u))}.view-kitchen .camera-panel.kitchen .camera-grid{gap:calc(10 * var(--u))}.view-kitchen .camera-panel.kitchen .camera-tile{height:100%;min-height:0;aspect-ratio:auto}.view-kitchen .glucose-reading>strong{font-size:calc(98 * var(--u))}.view-kitchen .glucose-reading>.glucose-trend{font-size:calc(55 * var(--u))}.view-kitchen .glucose-card .sparkline{height:calc(33 * var(--u));margin:calc(4 * var(--u)) 0}.view-kitchen .glucose-card .health-footer{font-size:calc(15 * var(--u))}.view-kitchen .calendar-card .card-heading h2{font-size:calc(23 * var(--u));gap:calc(6 * var(--u))}.view-kitchen .calendar-card .segmented{gap:calc(4 * var(--u))}.view-kitchen .calendar-card .segmented button{padding:calc(7 * var(--u)) calc(9 * var(--u));font-size:calc(13 * var(--u))}.view-kitchen .calendar-card .calendar-events{max-height:none}.view-kitchen .calendar-more{font-size:calc(13 * var(--u));min-height:calc(26 * var(--u))}:is(.view-entry,.view-kitchen):not(.showing-settings) .sidebar nav .dashboard-nav-button{width:calc(57 * var(--u));height:calc(57 * var(--u));padding:0;border-radius:calc(17 * var(--u));flex-shrink:0}}@media (max-width:899px){.dashboard-device-editor{grid-template-columns:32px minmax(0,1fr) minmax(0,1fr)}.dashboard-device-editor .entity-picker{grid-column:2/-1}.view-kitchen .camera-panel.kitchen .camera-layout{height:auto;display:grid;grid-template-rows:auto auto}.view-kitchen .camera-panel.kitchen .camera-tile{height:auto;aspect-ratio:16/9;min-height:0}.view-kitchen .calendar-card .card-heading{flex-wrap:wrap;height:auto}.calendar-card .calendar-more{min-height:44px}}@media (max-width:500px){.dashboard-device-editor{grid-template-columns:32px minmax(0,1fr)}.dashboard-device-editor>label{grid-column:2}.device-editor-number{grid-row:1/4;align-self:start}.calendar-overlay .calendar-event{gap:8px}.glucose-card .glucose-reading>strong{font-size:3.8rem}.glucose-card .glucose-reading>.glucose-trend{font-size:2rem}}.card.expiry-card.expiry-soon{--expiry-warning-background:#c80000;background:var(--expiry-warning-background);border-color:var(--expiry-warning-background);color:#fff}.expiry-card.expiry-soon span,.expiry-card.expiry-soon strong,.expiry-card.expiry-soon>svg{color:inherit}.simple-rendering .card.expiry-card.expiry-soon{background:var(--expiry-warning-background)!important}.showing-settings .dashboard-switcher,.showing-settings .header-right,.showing-settings .page-header{flex-wrap:wrap}.showing-settings .dashboard-switcher{display:flex;gap:8px}.showing-settings .dashboard-switcher a{min-height:44px;min-width:44px}.device-start-settings label{display:block;margin-bottom:8px}.device-start-settings select{width:100%;min-height:44px}@media (max-width:767px){.showing-settings .header-right{width:100%;align-items:stretch}.showing-settings .dashboard-switcher a{flex:1 0 auto;justify-content:center}.showing-settings .dashboard-switcher a span{display:inline}}.lights-page.lighting-page{display:flex;flex-direction:column;align-items:stretch;gap:20px}.lighting-room-nav{display:flex;gap:8px;overflow-x:auto;width:100%;max-width:100%;min-width:0;padding:2px 0 8px}.lighting-room-nav .pill{flex:0 0 auto;min-height:44px;white-space:nowrap}.lighting-on-now,.lighting-room{scroll-margin-top:16px}.lighting-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:12px}.lighting-tile{display:flex;align-items:center;gap:8px;min-width:0}.lighting-tile .device-tile{flex:1;min-width:0;min-height:84px}.lighting-tile .device-copy strong{white-space:normal;overflow-wrap:anywhere}.lighting-add-room,.lighting-assigned-light,.lighting-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.lighting-section-heading h2{margin:0;font-size:1.25rem}.lighting-assigned-lights,.lighting-settings{display:grid;gap:16px}.lighting-settings .entity-picker{margin-top:16px}.lighting-add-room input{flex:1;min-width:0}.lighting-assigned-light{padding-top:12px;border-top:1px solid var(--line)}.lighting-assigned-light>span{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}.lighting-assigned-light small{color:var(--muted)}.lighting-page .icon-button,.lighting-settings .icon-button{min-width:44px;min-height:44px;flex-shrink:0}@media (max-width:480px){.lighting-add-room,.lighting-section-heading{flex-wrap:wrap}.lighting-add-room input{flex-basis:100%}}.lighting-on-now{padding:14px 16px}.lighting-on-now .card-heading{margin-bottom:8px}.lighting-on-actions{display:flex;align-items:center;gap:12px}.lighting-on-actions button{min-height:44px;padding:0 4px;white-space:nowrap}.lighting-on-now:not(.expanded) .lighting-grid{display:flex;overflow-x:auto;gap:8px;padding:2px 0 6px}.lighting-on-now:not(.expanded) .lighting-tile{flex:0 0 230px}.lighting-on-now .lighting-tile .device-tile{min-height:48px;height:48px;padding:8px 10px;gap:8px;border-radius:10px}.lighting-on-now .device-copy strong{font-size:.875rem;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lighting-on-now .device-copy small{display:none}.lighting-on-now .device-tile>svg{width:18px;height:18px;flex-shrink:0}.lighting-on-now .device-tile .toggle{margin-left:auto}.lighting-on-now .lighting-tile>.icon-button{min-width:44px;width:44px;height:44px}@media (max-width:1024px){.view-cameras .camera-panel.all .camera-grid .camera-tile,.view-cameras .camera-panel.all .camera-layout>.primary-camera{width:100%;height:auto;min-width:0;max-height:none;aspect-ratio:16/9}.view-cameras .camera-panel.all .camera-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.view-cameras .camera-panel.all .camera-tile :is(video.camera-native,.camera-canvas,.camera-preview-image){object-fit:contain;background:#000}}@media (max-width:600px){.view-cameras .camera-panel.all .camera-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:1024px) and (max-height:500px) and (orientation:landscape){.view-cameras .camera-panel.all .camera-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.view-cameras .camera-panel.all .camera-grid{display:contents}}.garage-status{display:inline-flex;min-height:44px;align-items:center;gap:6px;padding:5px 9px;border:1px solid var(--border-control);border-radius:12px;background:var(--surface);color:var(--text);font-size:.75rem;font-weight:650;line-height:1.15}.garage-status svg{flex:0 0 18px}.garage-status[data-open=true]{border-color:#f07d86;background:#7a2029;color:#fff4f3}.devices-card .garage-tile.device-tile{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:4px;min-width:0;height:auto;padding:6px 3px;text-align:center;cursor:default}.garage-tile .device-copy{min-width:0}.garage-tile .device-copy strong{white-space:normal}.garage-directions{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}.garage-directions .icon-button{width:44px;height:44px;min-width:44px;min-height:44px;background:#18282a;color:#eff9f8}.garage-directions .icon-button:disabled{opacity:.45}.devices-card.entry .garage-tile .device-copy small{display:block;font-size:.75rem;line-height:1.25}@media (min-width:900px){.view-entry2:not(.showing-settings) .entry-controls{grid-template-rows:minmax(max-content,182fr) minmax(max-content,168fr) auto minmax(max-content,165fr)}.view-entry2 .devices-card.entry .device-grid.three{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:minmax(70px,auto) minmax(96px,auto)}.view-entry2 .devices-card.entry .garage-tile{grid-column:span 2;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;align-content:center;padding:6px}.view-entry2 .devices-card.entry .garage-tile>svg{width:21px;height:21px;margin-inline-start:4px}.view-entry2 .garage-directions{grid-column:1/-1}}.garage-status{flex:0 0 auto;cursor:pointer}.garage-light-actions,.view-kitchen .garage-light-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.dining-ceiling-toolbar>.garage-status>span{color:inherit}.dining-ceiling-toolbar{flex-wrap:wrap}.dining-ceiling-toolbar>div{flex-basis:8rem}.garage-dialog-doors{display:grid;gap:12px}.app-shell .garage-dialog .garage-tile{display:grid;grid-template-columns:auto minmax(0,1fr);justify-items:start;align-items:center;gap:8px 12px;padding:12px;min-height:0;border-radius:14px}.garage-dialog .garage-tile .device-copy{text-align:left}.garage-dialog .garage-tile .device-copy strong{font-size:1rem;line-height:1.3}.garage-dialog .garage-tile .device-copy small{font-size:.875rem}.garage-dialog .garage-directions{grid-column:1/-1;justify-self:stretch;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.app-shell .garage-dialog .garage-directions .pill{min-height:44px;padding:6px 10px;font-size:.875rem}.view-kitchen .kitchen-lights-link{min-height:44px;gap:6px;white-space:nowrap}.view-entry:not(.showing-settings) .devices-card.entry .card-heading{height:auto;min-height:44px}.view-kitchen .devices-card.kitchen .card-heading{flex-wrap:wrap;height:auto}@media (min-width:900px) and (min-aspect-ratio:3/2){.view-kitchen .kitchen-top{height:calc(208 * var(--u))}.view-kitchen .kitchen-main{grid-template-columns:minmax(0,723fr) minmax(0,439fr)}.view-kitchen .devices-card.kitchen{min-height:0}.view-kitchen .devices-card.kitchen .card-heading{margin-bottom:calc(7 * var(--u))}.view-kitchen .devices-card.kitchen .device-grid{height:calc(213 * var(--u))}.view-kitchen .garage-light-actions .kitchen-lights-link{min-height:44px;padding-inline:clamp(8px,1vw,18px);white-space:nowrap}.view-kitchen .kitchen-lower{flex:1 0 auto;height:auto;min-height:calc(228 * var(--u))}.view-kitchen .kitchen-lower>.card{height:auto;min-height:0}.view-kitchen .appliance-list>div{min-height:calc(38 * var(--u));padding:calc(2 * var(--u)) calc(16 * var(--u));gap:calc(12 * var(--u))}.view-kitchen:not(.showing-settings) .appliance-list strong{font-size:calc(17 * var(--u));line-height:1.1}.view-kitchen:not(.showing-settings) .appliance-list small{font-size:calc(14 * var(--u));line-height:1.1}.view-kitchen .devices-card.kitchen .device-tile:first-child{grid-template-rows:auto auto}.view-kitchen .devices-card.kitchen .device-tile:first-child>svg{width:calc(32 * var(--u));height:calc(27 * var(--u))}.view-kitchen .devices-card.kitchen .device-tile:first-child .device-copy :is(strong,small){font-size:calc(18 * var(--u));line-height:1.15}.view-kitchen .camera-panel.kitchen{align-self:start;height:calc(535 * var(--u))}}.app-shell>.sidebar.shared-sidebar{top:0;left:0;bottom:0;width:86px;padding:16px 8px;border:0;border-right:1px solid var(--border-panel);border-radius:0;background:var(--bg);box-shadow:none;gap:12px}.app-shell.simple-rendering>.sidebar.shared-sidebar{--rail-label-display:none;--rail-icon-size:30px;--rail-button-surface:var(--surface);--rail-button-border:var(--border-panel)}@media (any-pointer:coarse),(min-width:900px) and (max-width:1366px){.app-shell>.sidebar.shared-sidebar{--rail-label-display:none;--rail-icon-size:30px;--rail-button-surface:var(--surface);--rail-button-border:var(--border-panel)}}.app-shell>.shared-sidebar .brand-mark{display:grid;flex:0 0 44px;width:44px;height:44px;padding:0;cursor:pointer}.app-shell>.shared-sidebar .sidebar-divider{display:block;flex:0 0 1px;margin:0}.app-shell>.sidebar.shared-sidebar nav{gap:8px!important;flex:1;width:100%;padding:4px;overflow-y:auto}.app-shell>.sidebar.shared-sidebar nav a{flex:0 0 auto;width:62px;height:auto;min-height:58px;padding:6px 2px;gap:4px;border:1px solid var(--rail-button-border,transparent);border-radius:12px;color:var(--muted);background:var(--rail-button-surface,transparent);box-shadow:none}.app-shell>.sidebar.shared-sidebar nav a span{display:var(--rail-label-display,block);font-size:10px;line-height:1.3;letter-spacing:0}.app-shell>.sidebar.shared-sidebar nav a svg{width:var(--rail-icon-size,23px);height:var(--rail-icon-size,23px);stroke-width:1.7}.app-shell>.sidebar.shared-sidebar nav a:hover{color:var(--text);background:var(--surface)}.app-shell>.sidebar.shared-sidebar nav a.active{color:var(--accent);background:var(--surface-on);border-color:var(--accent);box-shadow:none}.app-shell>.sidebar.shared-sidebar nav a.active:before{display:none}.app-shell>.sidebar.shared-sidebar .sidebar-bottom{flex:0 0 auto;gap:8px;opacity:1}.app-shell>.sidebar.shared-sidebar .sidebar-bottom button{display:grid;place-items:center;min-width:44px;min-height:44px;color:var(--muted)}.device-page,.navigation-chooser{display:grid;gap:16px;min-width:0}.navigation-chooser .pill{justify-content:flex-start;min-height:48px}.navigation-chooser [aria-current=page]{border-color:var(--accent);color:var(--accent)}.media-device-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}@media (min-width:760px){.media-device-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.device-page-actions{display:flex;justify-content:flex-end}.device-page p{margin-bottom:12px;overflow-wrap:anywhere}.device-page .button-group{flex-wrap:wrap;gap:8px}.device-page .pill{min-height:44px}@media (min-width:900px){.app-shell:is(.view-entry,.view-kitchen):not(.showing-settings)>.main-content{margin-left:100px}.app-shell.view-mobile:not(.showing-settings){padding-left:86px}.app-shell>.sidebar.shared-sidebar{display:flex}.app-shell>.bottom-nav.shared-bottom-nav{display:none}}@media (max-width:899px){.app-shell>.sidebar.shared-sidebar{display:none}.app-shell>.bottom-nav.shared-bottom-nav{display:flex}}.app-shell.shared-subpage>.main-content{padding-top:12px;overflow:visible}.shared-subpage .page-header{min-height:40px;margin-bottom:10px;gap:12px}.shared-subpage .page-header>div:first-child{min-width:0;flex:1}.shared-subpage .header-kicker{display:none}.shared-subpage .page-header h1{font-size:1.375rem;line-height:1.2}.shared-subpage .header-right{flex:0 0 auto;gap:0}.shared-subpage .home-status{font-size:.75rem;white-space:nowrap}@media (max-width:899px){.app-shell.shared-subpage>.main-content{padding-top:calc(12px + env(safe-area-inset-top, 0px))}}.mobile-navigation-menu{display:none}@media (max-width:899px){.app-shell>.bottom-nav.shared-bottom-nav{display:grid;grid-template-columns:repeat(var(--mobile-nav-columns),minmax(0,1fr));position:fixed;z-index:var(--layer-navigation);left:0;right:0;bottom:0;transform:none;width:100%;max-width:none;height:auto;min-height:64px;gap:0;margin:0;padding:4px max(4px,env(safe-area-inset-right,0px)) calc(4px + env(safe-area-inset-bottom, 0px)) max(4px,env(safe-area-inset-left,0px));border:0;border-top:1px solid var(--border-panel);border-radius:0;background:#192b33;box-shadow:0 -4px 20px #0003}.app-shell>.bottom-nav.shared-bottom-nav>a{display:grid;place-items:center;min-width:0;min-height:56px;width:auto;padding:4px 0;border:0;border-radius:10px;color:var(--muted);background:transparent;text-decoration:none}.app-shell>.bottom-nav.shared-bottom-nav>a>svg{width:28px;height:28px;stroke-width:1.7}.app-shell>.bottom-nav.shared-bottom-nav.ios-phone-navigation>a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:clamp(9px,2.4vw,11px);line-height:1.2;text-align:center}.app-shell>.bottom-nav.shared-bottom-nav.ios-phone-navigation>a>svg{width:22px;height:22px;flex-shrink:0}.app-shell>.bottom-nav.shared-bottom-nav.ios-phone-navigation>a>span{white-space:nowrap}.app-shell>.bottom-nav.shared-bottom-nav>a.active{color:var(--accent);background:var(--surface-on)}.app-shell.view-mobile>.main-content,.app-shell:not(.view-mobile)>.main-content{padding-bottom:calc(88px + env(safe-area-inset-bottom, 0px))}.mobile-navigation-menu{display:grid;place-items:center;min-width:44px;min-height:44px}.shared-subpage .header-right{gap:4px}}.back-to-top{position:fixed;z-index:50;right:16px;bottom:16px;display:grid;place-items:center;width:44px;height:44px;min-height:44px;border:1px solid var(--border-control);border-radius:50%;background:#26343df2;color:var(--accent);box-shadow:0 3px 12px #0005}@media (max-width:899px){.back-to-top{bottom:calc(80px + env(safe-area-inset-bottom, 0px))}}.media-device.card{display:grid;align-content:start;gap:8px;min-width:0;padding:12px}.media-device .card-heading{margin:0}.media-device.card.media-device-on{border-color:#33786f;background:var(--surface-on)}.media-device-on .media-power:not(:disabled){background:var(--accent);border-color:var(--accent);color:#102728}.media-device .media-power-state{color:var(--status-good);font-size:.8125rem}.media-now-playing{display:flex;align-items:center;gap:10px;min-width:0;min-height:66px;padding:6px 10px;border:1px solid var(--border-control);border-radius:10px}.media-now-playing>svg{flex-shrink:0;color:var(--accent)}.media-now-playing-text{min-width:0;line-height:1.2}.media-now-playing-text>*{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-now-playing-text small,.media-now-playing-text span{color:var(--muted);font-size:.8125rem}.media-remote-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.media-remote-tools button{min-width:44px;min-height:44px}.media-remote-tools{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.media-volume{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding-top:6px;border-top:1px solid var(--border-control)}.media-volume input[type=range]{display:block;width:100%;min-height:44px;margin:0;accent-color:var(--accent);touch-action:pan-y}.media-volume p{grid-column:1/-1;margin:0;text-align:center;font-size:.8125rem}@media (max-width:359px){.media-volume{grid-template-columns:minmax(0,1fr)}.media-volume .media-remote-tools{justify-content:flex-start}}.gauge.gauge-numeric .gauge-content{top:55.555556%;transform:translateY(-50%);gap:0;text-align:center}.gauge.gauge-numeric .gauge-content>strong{display:block;line-height:1}.gauge.gauge-numeric .gauge-content>small{position:absolute;left:0;right:0;top:calc(100% + 4px);display:block;font-size:11px;line-height:14px;letter-spacing:.04em}.gauge.gauge-numeric .gauge-content>.gauge-subtitle{position:absolute;left:0;right:0;top:calc(100% + 22px);justify-content:center;line-height:1.25}.card.climate-group.dashboard-climate{display:grid;align-content:start;gap:4px;min-width:0}.card.climate-group.dashboard-climate>.card-heading{margin:0;height:auto;min-height:24px}.card.climate-group.dashboard-climate .thermostat-kitchen{background:none!important;box-shadow:none!important}.dashboard-climate.climate-group .thermostat-pair{grid-template-columns:repeat(2,minmax(0,1fr));height:auto;gap:8px}.dashboard-climate .thermostat-kitchen .thermostat-heading{display:none}.dashboard-climate .thermostat-kitchen .thermostat-body{justify-content:center}.dashboard-climate .thermostat-kitchen .gauge-button{width:100%;max-width:100%}.dashboard-climate .thermostat-kitchen .gauge.small{width:min(100%,var(--dashboard-gauge-width,166px));margin:0 auto}.dashboard-climate .thermostat-kitchen .gauge-track{stroke:#65747c;stroke-width:14}.dashboard-climate .thermostat-kitchen .gauge-value{stroke:var(--accent);stroke-width:14}.dashboard-climate .thermostat-kitchen .gauge-content>strong{font-size:clamp(1.5rem,3vw,2.45rem);font-weight:650}.dashboard-climate .thermostat-kitchen .gauge-content>.gauge-subtitle,.dashboard-climate .thermostat-kitchen .gauge-content>small{font-size:clamp(.6875rem,1.15vw,.875rem)}@media (min-width:900px){.view-entry .dashboard-climate{--dashboard-gauge-width:clamp(105px,calc(139 * var(--u)),150px);padding:6px 10px}.view-entry .dashboard-climate .card-heading{margin-bottom:0}}