:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:0 0% 100%;--foreground:240 10% 3.9%;--card:0 0% 100%;--card-foreground:240 10% 3.9%;--primary:240 5.9% 10%;--primary-foreground:0 0% 98%;--secondary:240 4.8% 95.9%;--secondary-foreground:240 5.9% 10%;--muted:240 4.8% 95.9%;--muted-foreground:240 3.8% 46.1%;--accent:240 4.8% 95.9%;--accent-foreground:240 5.9% 10%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 98%;--border:240 5.9% 90%;--ring:240 5.9% 10%;--status-on:142 71% 38%;--status-warning:38 92% 50%;--radius:.75rem;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:240 10% 3.9%;--foreground:0 0% 98%;--card:240 10% 3.9%;--card-foreground:0 0% 98%;--primary:0 0% 98%;--primary-foreground:240 5.9% 10%;--secondary:240 3.7% 15.9%;--secondary-foreground:0 0% 98%;--muted:240 3.7% 15.9%;--muted-foreground:240 5% 64.9%;--accent:240 3.7% 15.9%;--accent-foreground:0 0% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:0 0% 98%;--border:240 3.7% 15.9%;--ring:240 4.9% 83.9%;--status-on:142 70% 45%;--status-warning:48 96% 53%}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:hsl(var(--background));min-width:320px;min-height:100vh;color:hsl(var(--foreground));font-feature-settings:"cv02", "cv03", "cv04", "cv11";-webkit-font-smoothing:antialiased;text-rendering:geometricprecision;margin:0}button,input,select{font:inherit}.app-shell{--shell-bg:radial-gradient(circle at 50% -18%, hsl(var(--muted-foreground) / .16), transparent 32%), hsl(var(--background));--panel:hsl(var(--card) / .82);--panel-strong:hsl(var(--card));--shadow-soft:0 1px 2px hsl(var(--foreground) / .04), 0 14px 42px hsl(var(--foreground) / .045);--shadow-card:0 1px 2px hsl(var(--foreground) / .035);background:var(--shell-bg);grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.app-shell:before{content:"";pointer-events:none;background-image:linear-gradient(hsl(var(--border) / .5) 1px, transparent 1px), linear-gradient(90deg, hsl(var(--border) / .5) 1px, transparent 1px);opacity:.36;background-size:40px 40px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 52%);mask-image:linear-gradient(#000,#0000 52%)}.app-shell[data-visual=futuristic]{--primary:188 92% 42%;--ring:188 92% 42%;--shell-bg:radial-gradient(circle at 20% 0%, #12d9f82e, transparent 34%), radial-gradient(circle at 82% 8%, #9f61f524, transparent 30%), hsl(var(--background))}.app-shell[data-visual=warm]{--primary:24 86% 55%;--ring:24 86% 55%;--shell-bg:radial-gradient(circle at 18% 0%, #fcae6938, transparent 36%), hsl(var(--background))}.app-shell[data-visual=console]{--primary:88 80% 44%;--ring:88 80% 44%;--shell-bg:radial-gradient(circle at 18% 0%, #91f91a29, transparent 36%), hsl(var(--background));font-family:SFMono-Regular,Cascadia Code,ui-monospace,monospace}.app-sidebar{z-index:2;border-right:1px solid hsl(var(--border));background:hsl(var(--background) / .72);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);flex-direction:column;gap:18px;height:100vh;padding:16px;display:flex;position:sticky;top:0}.sidebar-brand{align-items:center;gap:12px;min-height:44px;display:flex}.brand-mark{background:hsl(var(--primary));width:36px;height:36px;color:hsl(var(--primary-foreground));border-radius:10px;justify-content:center;align-items:center;font-size:.78rem;font-weight:800;display:inline-flex}.sidebar-brand strong,.sidebar-brand span{display:block}.sidebar-brand strong{letter-spacing:-.025em;font-size:.92rem}.sidebar-brand span{color:hsl(var(--muted-foreground));margin-top:1px;font-size:.78rem}.sidebar-nav{gap:3px;display:grid}.sidebar-nav-item{color:hsl(var(--muted-foreground));border-radius:9px;padding:8px 10px;font-size:.875rem;font-weight:600;text-decoration:none}.sidebar-nav-item:hover,.sidebar-nav-item.is-active{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}.sidebar-status{border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--muted-foreground));align-items:center;gap:10px;margin-top:auto;padding:10px;font-size:.82rem;font-weight:600;display:flex}.status-dot{background:hsl(var(--status-on));width:8px;height:8px;box-shadow:0 0 0 5px hsl(var(--status-on) / .14);border-radius:999px}.app-content{z-index:1;width:min(1360px,100% - 40px);margin:0 auto;padding:28px 0 48px;position:relative}.dashboard-header{grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);align-items:stretch;gap:18px;margin-bottom:18px;display:grid}.header-main,.header-panel,.command-card,.task-section,.demo-diagnostics{border:1px solid hsl(var(--border));border-radius:calc(var(--radius) + .35rem);background:var(--panel);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.header-main{padding:28px;position:relative;overflow:hidden}.header-main:after{content:"";background:radial-gradient(circle, hsl(var(--primary) / .14), transparent 58%);height:180px;position:absolute;inset:auto -20% -55% 20%}.header-panel{gap:12px;padding:14px;display:grid}.eyebrow{border:1px solid hsl(var(--border));background:hsl(var(--muted) / .7);color:hsl(var(--muted-foreground));letter-spacing:.02em;text-transform:uppercase;border-radius:999px;align-items:center;margin:0 0 14px;padding:5px 10px;font-size:.72rem;font-weight:700;display:inline-flex}h1{letter-spacing:-.065em;margin:0;font-size:clamp(2.5rem,5vw,5.4rem);font-weight:820;line-height:.92}.header-copy{color:hsl(var(--muted-foreground));max-width:42rem;margin:18px 0 0;font-size:.98rem;line-height:1.65}.header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.prototype-switcher,.theme-toggle{border:1px solid hsl(var(--border));background:hsl(var(--background) / .72);border-radius:999px;gap:4px;padding:4px;display:inline-flex}.prototype-switcher button{min-height:34px;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 10px;font-size:.76rem;font-weight:650}.prototype-switcher button.is-selected{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.demo-pill{border:1px solid hsl(var(--border));background:hsl(var(--background) / .72);min-height:42px;color:hsl(var(--muted-foreground));border-radius:999px;align-items:center;padding:0 12px;font-size:.82rem;font-weight:650;display:inline-flex}.action-status{border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--card));min-height:92px;color:hsl(var(--foreground));align-content:center;padding:16px;text-decoration:none;display:grid}.action-status span{color:hsl(var(--muted-foreground));letter-spacing:.02em;text-transform:uppercase;font-size:.75rem;font-weight:750}.action-status strong{letter-spacing:-.035em;margin-top:5px;font-size:1.25rem}.action-status.is-warning{border-color:hsl(var(--status-warning) / .64);box-shadow:0 0 0 3px hsl(var(--status-warning) / .12)}.action-error{border:1px solid hsl(var(--destructive) / .55);border-radius:var(--radius);background:hsl(var(--destructive) / .09);color:hsl(var(--foreground));grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 12px;margin-bottom:12px;padding:12px 14px;display:grid}.action-error strong{grid-column:1}.action-error span{color:hsl(var(--muted-foreground));overflow-wrap:anywhere;grid-column:1;font-size:.86rem}.action-error button{border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;border-radius:8px;grid-area:1/2/span 2;min-height:34px;padding:0 10px}.overview-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:18px;display:grid}.overview-metric,.voice-entry,.quick-status-card,.ui-card,.quick-action-button,.room-tile{border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--card));color:hsl(var(--card-foreground));box-shadow:var(--shadow-card);transition:transform .16s,border-color .16s,box-shadow .16s}.overview-metric:hover,.voice-entry:hover,.ui-card:hover,.room-tile:hover{border-color:hsl(var(--ring) / .28);box-shadow:var(--shadow-soft);transform:translateY(-1px)}.overview-metric,.voice-entry{align-content:center;min-width:0;min-height:68px;padding:10px 12px;display:grid}.overview-metric strong{letter-spacing:-.055em;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1rem,2vw,1.45rem);line-height:1;display:block;overflow:hidden}.overview-metric span,.voice-entry span,.quick-status-card span,.room-tile span{color:hsl(var(--muted-foreground));text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:.74rem;display:block;overflow:hidden}.voice-entry strong{text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:clamp(.78rem,1.4vw,.92rem);overflow:hidden}.task-dashboard{gap:18px;display:grid}.command-board{grid-template-columns:minmax(0,1.35fr) minmax(320px,.8fr);grid-template-areas:"lights media""lights scenes";align-items:start;gap:18px;display:grid}.command-card-top{min-height:260px}.command-card-bottom{min-height:220px}.command-card{gap:14px;padding:16px;display:grid}.command-card-main{grid-area:lights}.command-card-top{grid-area:scenes}.command-card-bottom{grid-area:media}.task-section,.demo-diagnostics{gap:14px;padding:16px;display:grid}.dashboard-section-header{justify-content:space-between;align-items:end;gap:16px;display:flex}.dashboard-section-header h2{letter-spacing:-.03em;margin:0;font-size:1.05rem}.dashboard-section-header p{color:hsl(var(--muted-foreground));margin:5px 0 0;font-size:.88rem}.task-card-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;display:grid}.task-card{overflow-anchor:none;grid-column:span 6;min-width:0}.task-card[data-entity-domain=light].is-expanded .ui-card{min-height:260px}.lights-grid .task-card:first-child,.media-grid .task-card,.comfort-grid .task-card:nth-child(2){grid-column:1/-1}.scene-device-grid .task-card,.security-grid .task-card,.comfort-grid .task-card{grid-column:span 4}.ui-card{min-height:156px;padding:15px}.ui-card.is-active{border-color:hsl(var(--status-on) / .45);background:linear-gradient(0deg, hsl(var(--status-on) / .055), hsl(var(--status-on) / .055)), hsl(var(--card))}.ui-card.is-secure{border-color:hsl(var(--status-on) / .32)}.ui-card[data-availability=unavailable],.ui-card[data-availability=unknown]{opacity:.62}.compact-card{min-height:142px}.featured-card{min-height:214px}.ui-card-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.ui-card-content{gap:8px;display:grid}.ui-card-title{letter-spacing:-.025em;margin:0;font-size:.98rem}.entity-icon{background:hsl(var(--secondary));width:40px;height:40px;color:hsl(var(--secondary-foreground));border-radius:10px;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.entity-icon-svg{stroke-width:2px;width:19px;height:19px}.entity-state{letter-spacing:-.05em;text-transform:capitalize;margin:0;font-size:clamp(1.25rem,2.5vw,1.85rem);font-weight:780}.entity-detail{color:hsl(var(--muted-foreground));margin:0 0 8px}.control-field{color:hsl(var(--muted-foreground));gap:8px;margin-bottom:4px;font-size:.88rem;display:grid}.control-field input[type=range]{accent-color:hsl(var(--primary));width:100%}.control-field select{border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground));border-radius:9px;min-height:38px;padding:0 10px}.range-hint{color:hsl(var(--muted-foreground));justify-content:space-between;margin-top:-4px;font-size:.75rem;display:flex}.preset-button-row{flex-wrap:wrap;gap:8px;margin:2px 0 8px;display:flex}.preset-button-row .ui-button{min-height:32px;padding:0 10px}.light-card{min-height:0;padding:12px}.light-card .ui-card-header{margin-bottom:8px}.light-card .ui-card-content{gap:6px}.light-card .entity-icon{border-radius:9px;width:34px;height:34px}.light-card .entity-icon-svg{width:17px;height:17px}.light-card .entity-state{font-size:1rem;font-weight:720}.light-card .control-field{gap:5px;margin-bottom:0;font-size:.8rem}.light-card .control-field>span:first-child{font-weight:650}.light-card .preset-button-row{gap:6px;margin:0 0 4px}.light-card .preset-button-row .ui-button{min-height:28px;padding:0 9px;font-size:.76rem}.light-card .brightness-control{grid-template-columns:minmax(92px,.75fr) minmax(130px,1fr);align-items:center;gap:8px;display:grid}.light-card .brightness-control span{white-space:nowrap}.light-card .brightness-presets{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:-2px;display:grid}.light-card>.ui-button{min-height:32px;margin-top:2px}.light-card input[type=range]{height:18px}.color-swatch{border:1px solid hsl(var(--border));border-radius:9px;width:42px;height:28px;box-shadow:inset 0 0 0 2px #ffffff80}.color-swatch:disabled{opacity:.45}.inline-actions,.segmented-control{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.climate-readout{gap:4px;display:grid}.stepper-control{align-items:center;gap:10px;margin-top:4px;display:inline-flex}.stepper-control strong{text-align:center;min-width:64px}.remote-command-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:6px;display:grid}.task-card.is-collapsed .control-field,.task-card.is-collapsed .preset-button-row,.task-card.is-collapsed .inline-actions,.task-card.is-collapsed .segmented-control,.task-card.is-collapsed .stepper-control,.task-card.is-collapsed .remote-command-grid{display:none}.task-card.is-collapsed .ui-card{min-height:132px}.task-card-footer{border:1px solid hsl(var(--border));border-radius:0 0 var(--radius) var(--radius);background:hsl(var(--card) / .72);border-top:0;margin-top:-1px;padding:8px}.task-card:has(.task-card-footer) .ui-card{border-bottom-right-radius:0;border-bottom-left-radius:0}.task-expand-button{width:100%;min-height:36px;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:0 10px;font-size:.8rem;font-weight:650;display:inline-flex}.task-expand-button:hover{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}.ui-button,.quick-action-button{cursor:pointer;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;min-height:40px;font-weight:650;transition:background .14s,color .14s,transform .14s,border-color .14s;display:inline-flex}.ui-button--sm{min-height:36px;padding:0 12px;font-size:.85rem}.ui-button--default{background:hsl(var(--primary));color:hsl(var(--primary-foreground));padding:0 16px}.ui-button--lg{min-height:46px;padding:0 20px}.ui-button--secondary{background:hsl(var(--secondary));color:hsl(var(--secondary-foreground))}.ui-button--outline{border-color:hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.ui-button--ghost{color:hsl(var(--muted-foreground));background:0 0}.ui-button--destructive{background:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}.ui-button:hover,.quick-action-button:hover{background:hsl(var(--accent));color:hsl(var(--accent-foreground));border-color:hsl(var(--border));transform:translateY(-1px)}.ui-button:disabled{cursor:not-allowed;opacity:.48}.quick-action-button{background:hsl(var(--card));width:100%;color:hsl(var(--foreground));padding:0 12px}.scene-command-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.ui-badge{text-transform:uppercase;border:1px solid #0000;border-radius:999px;align-items:center;padding:3px 9px;font-size:.72rem;font-weight:750;display:inline-flex}.ui-badge--default{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.ui-badge--secondary{background:hsl(var(--secondary));color:hsl(var(--secondary-foreground))}.ui-badge--outline{border-color:hsl(var(--border));color:hsl(var(--muted-foreground))}.ui-badge--success{background:hsl(var(--status-on) / .14);color:hsl(var(--status-on))}.ui-badge--warning{background:hsl(var(--status-warning) / .18);color:hsl(var(--status-warning))}.quick-status-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.quick-status-card{align-items:center;gap:12px;min-height:66px;padding:14px 16px;display:flex}.quick-status-card strong,.quick-status-card span{display:block}.control-bar{flex-wrap:wrap;gap:10px;display:flex}.room-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.room-tile{padding:16px;text-decoration:none;display:block}.room-tile strong{color:hsl(var(--foreground));display:block}.mobile-dock{display:none}@media (width>=721px) and (width<=1080px){.app-shell{grid-template-columns:104px minmax(0,1fr)}.app-sidebar{padding:14px}.sidebar-brand{flex-direction:column;align-items:flex-start}.sidebar-brand span,.sidebar-status span:not(.status-dot){display:none}.sidebar-nav{gap:8px}.sidebar-nav-item{justify-content:center;align-items:center;min-height:44px;padding:8px;display:flex}.app-content{width:min(100% - 32px,900px);padding:22px 0 44px}.dashboard-header{grid-template-columns:1fr}.overview-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.overview-metric,.voice-entry{min-height:62px;padding:8px 9px}.command-board{grid-template-columns:1fr;grid-template-areas:"lights""scenes""media"}.task-card,.comfort-grid .task-card,.scene-device-grid .task-card,.security-grid .task-card{grid-column:span 6}.lights-grid .task-card:first-child,.media-grid .task-card,.comfort-grid .task-card:nth-child(2){grid-column:1/-1}}@media (width<=720px){.app-shell{padding-bottom:calc(84px + env(safe-area-inset-bottom));grid-template-columns:1fr}.app-sidebar{display:none}.app-content{width:min(100% - 24px,620px);padding:14px 0 28px}.dashboard-header,.command-board{grid-template-columns:1fr}.overview-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.dashboard-header{gap:12px}.header-main{padding:20px}.header-panel{padding:12px}.overview-metric,.voice-entry{min-height:54px;padding:7px 6px}.overview-metric strong{font-size:clamp(.86rem,4vw,1.05rem)}.overview-metric span,.voice-entry span{margin-top:4px;font-size:.62rem}.voice-entry strong{margin-top:4px;font-size:.68rem}h1{font-size:clamp(2.3rem,14vw,4rem)}.prototype-switcher{border-radius:16px;width:100%}.prototype-switcher button{flex:42%;font-size:.62rem;font-weight:750}.theme-toggle .ui-button,.demo-pill{min-height:32px;padding:0 9px;font-size:.62rem;font-weight:750}.command-board{grid-template-areas:"lights""scenes""media"}.task-card,.lights-grid .task-card:first-child,.media-grid .task-card,.comfort-grid .task-card,.comfort-grid .task-card:nth-child(2),.scene-device-grid .task-card,.security-grid .task-card{grid-column:1/-1}.scene-device-grid{display:none}.quick-status-grid,.room-tile-grid{grid-template-columns:1fr}.control-bar .ui-button{flex:calc(50% - 8px);min-height:46px}.mobile-dock{right:12px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:20;border:1px solid hsl(var(--border));background:hsl(var(--background) / .82);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:20px;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px;display:grid;position:fixed;left:12px;box-shadow:0 18px 50px #00000038}.mobile-dock a,.mobile-dock button{min-height:46px;color:hsl(var(--foreground));background:0 0;border:0;border-radius:14px;justify-content:center;align-items:center;font-size:.78rem;font-weight:750;text-decoration:none;display:inline-flex}.mobile-dock a:first-child{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}}
