*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg-deep:#050508;--bg-base:#08080f;--bg-elevated:#0c0c16;--bg-raised:#111120;--bg-card:#101020;--bg-hover:#18182e;--border:#ffffff12;--border-mid:#ffffff1f;--border-glow:#f0b04047;--text-1:#f0f0f8;--text-2:#9090b8;--text-3:#6868a0;--text-inv:#05050e;--accent:#f0b040;--accent-dim:#c08820;--accent-soft:#f0b0401f;--accent-glow:#f0b0400f;--col-light:#f5c842;--col-hvac:#5aadff;--col-audio:#a87eff;--col-video:#ff6b6b;--col-security:#4de8a0;--col-shade:#d4a96a;--col-lock:#ff9f43;--col-sensor:#54d6e0;--col-fan:#74eaff;--col-generic:#9090b8;--col-garage:#7ec8e3;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--font-display:"Syne",sans-serif;--font-body:"DM Sans",sans-serif;--font-mono:"JetBrains Mono",monospace}#root,body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#050508;background:var(--bg-deep);color:#f0f0f8;color:var(--text-1);font-family:DM Sans,sans-serif;font-family:var(--font-body);font-size:16px;height:100%;line-height:1.5;overflow:hidden;width:100%}::-webkit-scrollbar{height:4px;width:4px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#ffffff1f;background:var(--border-mid);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#6868a0;background:var(--text-3)}::selection{background:#f0b0401f;background:var(--accent-soft);color:#f0b040;color:var(--accent)}:focus-visible{border-radius:6px;border-radius:var(--r-sm);outline:2px solid #f0b040;outline:2px solid var(--accent);outline-offset:2px}.room-strip::-webkit-scrollbar{display:none}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.card-enter{animation:fadeUp .35s ease both}@keyframes settleDown{0%{opacity:.5;transform:translateY(-16px)}to{opacity:1;transform:none}}.room-tile-settle{animation:settleDown .4s cubic-bezier(.34,1.56,.64,1) both}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes flame-flicker{0%{opacity:.45;transform:scaleX(1.03) scaleY(1.03)}25%{opacity:.55;transform:scaleX(1.06) scaleY(1)}50%{opacity:.4;transform:scaleX(1) scaleY(1.07)}75%{opacity:.5;transform:scaleX(1.05) scaleY(1.01)}to{opacity:.45;transform:scaleX(1.03) scaleY(1.03)}}@keyframes sending-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.5)}}.sending-dot{animation:sending-pulse .9s ease-in-out infinite}.sending-ring{animation:spin .7s linear infinite;border:1.5px solid;border-radius:50%;border-top:1.5px solid #0000;flex-shrink:0;height:10px;width:10px}@keyframes glow-pulse{0%,to{box-shadow:0 0 0 0 #f0b04000}50%{box-shadow:0 0 24px 6px #f0b04024}}@keyframes scan{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes voice-ripple{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.8)}}@keyframes sleep-timer-glow{0%,to{box-shadow:0 0 0 1px var(--sleep-timer-color)}50%{box-shadow:0 0 0 1px var(--sleep-timer-color),0 0 8px 3px var(--sleep-timer-color)}}.sleep-timer-active{animation:sleep-timer-glow 2s ease-in-out infinite}@keyframes sleep-hand-spin{to{transform:rotate(1turn)}}.sleep-hand-active{animation:sleep-hand-spin 6s linear infinite;transform-origin:6.5px 6.5px}@media (max-width:768px){#root,body,html{font-size:16px}button{min-height:44px;min-width:44px}::-webkit-scrollbar{display:none}}
/*# sourceMappingURL=main.c1962ce6.css.map*/