:root{color-scheme:dark;--bone: 44 24% 95%;--sand: 38 22% 87%;--linen: 36 16% 78%;--taupe: 32 12% 62%;--clay: 28 10% 46%;--stone: 26 9% 32%;--umber: 24 10% 18%;--ink: 26 14% 8%;--accent: 30 46% 62%;--accent-ink: 26 30% 12%;--positive: 152 34% 52%;--caution: 36 78% 58%;--alert: 8 66% 58%;--heat: 22 86% 60%;--cool: 204 70% 62%;--light-on: 42 78% 66%;--info: 210 30% 66%;--radius-xs: 10px;--radius-sm: 14px;--radius-md: 20px;--radius-lg: 26px;--radius-xl: 34px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--font: ui-rounded, -apple-system, BlinkMacSystemFont, "SF Pro Rounded", "Segoe UI", system-ui, "Helvetica Neue", sans-serif;--font-num: ui-rounded, -apple-system, "SF Pro Rounded", system-ui, sans-serif;--fs-xs: 11px;--fs-sm: 12.5px;--fs-md: 14px;--fs-base: 15px;--fs-lg: 17px;--fs-xl: 22px;--fs-2xl: 30px;--fs-3xl: 44px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--dur-fast: .14s;--dur: .26s;--dur-slow: .52s;--blur: 26px;--blur-heavy: 44px;--bar-h: 60px;--sidebar-w: 268px;--page: #0a1416;--bar-tint: 10 22 25;--bar-fill: .78;--text: hsl(var(--bone));--text-dim: hsl(var(--linen) / .74);--text-faint: hsl(var(--linen) / .42);--glass-tint: 255 255 255;--glass-fill-a: .12;--glass-fill-b: .05;--glass-edge-top: .28;--glass-edge-side: .08;--glass-edge-bottom: .05;--glass-shadow: 0 18px 48px -18px rgb(0 0 0 / .7), 0 4px 12px -4px rgb(0 0 0 / .45);--raised-fill-a: .16;--raised-fill-b: .08;--sheet-bg: hsl(26 12% 12% / .95);--hairline: hsl(var(--bone) / .1);--scrim: hsl(var(--ink) / .6);--track-off: rgb(255 255 255 / .1);--well: rgb(255 255 255 / .06);--inset-shadow: inset 0 1px 2px rgb(0 0 0 / .28);--knob: linear-gradient(180deg, #fff, hsl(36 20% 90%));--tone-l: 68%}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){color-scheme:light;--page: hsl(40 28% 93%);--bar-tint: 238 241 230;--bar-fill: .78;--text: hsl(26 18% 12%);--text-dim: hsl(26 12% 28% / .86);--text-faint: hsl(26 10% 30% / .56);--glass-fill-a: .68;--glass-fill-b: .5;--glass-edge-top: .92;--glass-edge-side: .5;--glass-edge-bottom: .28;--glass-shadow: 0 18px 44px -22px hsl(26 22% 28% / .36), 0 3px 10px -4px hsl(26 22% 28% / .18);--raised-fill-a: .86;--raised-fill-b: .64;--sheet-bg: hsl(40 30% 96% / .96);--hairline: hsl(26 14% 20% / .11);--scrim: hsl(30 20% 20% / .3);--track-off: hsl(26 12% 40% / .2);--well: hsl(26 20% 30% / .07);--inset-shadow: inset 0 1px 2px hsl(26 20% 20% / .14);--accent: 28 48% 50%;--positive: 152 40% 36%;--caution: 32 82% 44%;--alert: 6 66% 48%;--heat: 20 82% 50%;--cool: 206 70% 46%;--light-on: 38 90% 42%;--info: 210 34% 44%;--tone-l: 38%}}:root[data-theme=light]{color-scheme:light;--page: hsl(40 28% 93%);--bar-tint: 238 241 230;--bar-fill: .78;--text: hsl(26 18% 12%);--text-dim: hsl(26 12% 28% / .86);--text-faint: hsl(26 10% 30% / .56);--glass-fill-a: .68;--glass-fill-b: .5;--glass-edge-top: .92;--glass-edge-side: .5;--glass-edge-bottom: .28;--glass-shadow: 0 18px 44px -22px hsl(26 22% 28% / .36), 0 3px 10px -4px hsl(26 22% 28% / .18);--raised-fill-a: .86;--raised-fill-b: .64;--sheet-bg: hsl(40 30% 96% / .96);--hairline: hsl(26 14% 20% / .11);--scrim: hsl(30 20% 20% / .3);--track-off: hsl(26 12% 40% / .2);--well: hsl(26 20% 30% / .07);--inset-shadow: inset 0 1px 2px hsl(26 20% 20% / .14);--accent: 28 48% 50%;--positive: 152 40% 36%;--caution: 32 82% 44%;--alert: 6 66% 48%;--heat: 20 82% 50%;--cool: 206 70% 46%;--light-on: 38 90% 42%;--info: 210 34% 44%;--tone-l: 38%}:root[data-theme=dark]{color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--page);color:var(--text);font-family:var(--font);font-size:var(--fs-base);line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior:none;-webkit-text-size-adjust:100%}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none;padding:0;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}h1,h2,h3,h4,p,dl,dd,ol,ul{margin:0}ol,ul{padding:0}h1,h2,h3{font-weight:640;letter-spacing:-.02em;text-wrap:balance}code,kbd{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.86em}:focus-visible{outline:2px solid hsl(var(--accent) / .9);outline-offset:2px;border-radius:var(--radius-xs)}::selection{background:hsl(var(--accent) / .3)}.app{--scroll-w: 100vw;position:fixed;inset:0 0 auto;height:100dvh;height:var(--app-h, 100dvh);display:flex;overflow:hidden}.app-main{flex:1;min-width:0;display:flex;flex-direction:column}.app-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scrollbar-gutter:stable}.shell{width:min(1180px,100%);margin:0 auto;padding:0 max(var(--space-4),env(safe-area-inset-right)) calc(env(safe-area-inset-bottom) + var(--space-7)) max(var(--space-4),env(safe-area-inset-left));display:flex;flex-direction:column;gap:var(--space-5)}.shell-narrow{width:min(640px,100%)}.ambient{position:fixed;top:0;left:0;width:100%;height:100vh;height:100lvh;z-index:-1;overflow:hidden;pointer-events:none;contain:strict;background:var(--page)}.ambient-layer,.ambient-layer canvas{position:absolute;inset:0;width:100%;height:100%}.ambient-night{opacity:0;transition:opacity var(--ambient-fade, .6s) ease-in-out}.ambient[data-scene=night] .ambient-night{opacity:1}.ambient-night:after{content:"";position:absolute;inset:0;background-image:var(--ambient-grain, none);background-size:var(--ambient-grain-size, 128px)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.glass{position:relative;border-radius:var(--radius-lg);background:linear-gradient(158deg,rgb(var(--glass-tint) / var(--glass-fill-a)),rgb(var(--glass-tint) / var(--glass-fill-b)) 46%,rgb(var(--glass-tint) / calc(var(--glass-fill-b) + .02)));backdrop-filter:blur(var(--blur)) saturate(180%);-webkit-backdrop-filter:blur(var(--blur)) saturate(180%);box-shadow:inset 0 1px rgb(var(--glass-tint) / var(--glass-edge-top)),inset 1px 0 rgb(var(--glass-tint) / var(--glass-edge-side)),inset -1px 0 rgb(var(--glass-tint) / var(--glass-edge-side)),inset 0 -1px rgb(var(--glass-tint) / var(--glass-edge-bottom)),var(--glass-shadow)}.glass-raised{background:linear-gradient(158deg,rgb(var(--glass-tint) / var(--raised-fill-a)),rgb(var(--glass-tint) / var(--raised-fill-b)))}.stack{display:flex;flex-direction:column;min-width:0}.row{display:flex;align-items:center;min-width:0}.wrap{flex-wrap:wrap}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.spacer{flex:1}.center{display:flex;justify-content:center}.muted{color:var(--text-dim)}.tabular{font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.eyebrow{font-size:var(--fs-xs);font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.scroll-x{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;margin-inline:calc(var(--space-4) * -1);padding-inline:var(--space-4)}.scroll-x::-webkit-scrollbar{display:none}@media(min-width:1024px){.hide-desktop{display:none!important}}.panel{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.panel-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint)}.section-head{display:flex;align-items:center;gap:var(--space-2);color:var(--text-dim);min-height:32px;padding-inline:2px}.section-head h2{font-size:var(--fs-lg);color:var(--text)}.section-meta{font-size:var(--fs-sm);color:var(--text-faint);font-variant-numeric:tabular-nums}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);padding:var(--space-7) var(--space-4);color:var(--text-dim)}.empty strong{color:var(--text);font-size:var(--fs-lg)}.empty p{max-width:44ch}.empty-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:18px;background:var(--well);color:var(--text-dim)}.toggle{position:relative;flex:0 0 auto;width:51px;height:31px;border-radius:var(--radius-pill);background:var(--track-off);box-shadow:var(--inset-shadow),inset 0 0 0 1px rgb(var(--glass-tint) / .06);transition:background var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}.toggle[data-size=sm]{width:42px;height:26px}.toggle[data-on=true]{background:linear-gradient(180deg,hsl(var(--accent) / .98),hsl(var(--accent) / .78));box-shadow:inset 0 1px #ffffff59,0 2px 10px -3px hsl(var(--accent) / .6)}.toggle:after{content:"";position:absolute;top:2.5px;left:2.5px;width:26px;height:26px;border-radius:50%;background:var(--knob);box-shadow:0 2px 6px #0000004d,0 0 0 .5px #0000000f;transition:transform var(--dur) var(--ease-spring),width var(--dur-fast)}.toggle[data-size=sm]:after{width:21px;height:21px}.toggle:active:not(:disabled):after{width:30px}.toggle[data-on=true]:after{transform:translate(20px)}.toggle[data-on=true]:active:not(:disabled):after{transform:translate(16px)}.toggle[data-size=sm][data-on=true]:after{transform:translate(16px)}.toggle[data-busy=true]{animation:pulse 1.1s ease-in-out infinite}.toggle:disabled{opacity:.38}@keyframes pulse{50%{opacity:.6}}.slider{--p: 0%;position:relative;flex:1;min-width:0;display:block;height:44px;border-radius:var(--radius-sm);overflow:hidden;background:var(--well);box-shadow:var(--inset-shadow),inset 0 0 0 1px rgb(var(--glass-tint) / .06);touch-action:pan-y;cursor:ew-resize;user-select:none;-webkit-user-select:none;transition:transform var(--dur-fast) var(--ease-out)}.slider[data-size=sm]{height:36px}.slider[data-dragging=true]{transform:scaleY(1.06);touch-action:none}.slider[aria-disabled=true]{opacity:.4;cursor:default}.slider-fill{position:absolute;inset:0 auto 0 0;width:var(--p);background:linear-gradient(180deg,hsl(var(--accent) / .8),hsl(var(--accent) / .55));box-shadow:inset 0 1px #ffffff4d}.slider[data-custom=true]{background:var(--track)}.slider-knob{position:absolute;top:5px;bottom:5px;left:clamp(4px,calc(var(--p) - 3px),calc(100% - 10px));width:6px;border-radius:3px;background:#fff;box-shadow:0 0 0 1px #0003,0 2px 6px #00000059}.slider-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:0 var(--space-3);font-size:var(--fs-sm);font-weight:580;pointer-events:none}.slider[data-custom=true] .slider-label{color:#281d15;text-shadow:0 0 6px rgb(255 255 255 / .5)}.slider-name{display:inline-flex;align-items:center;gap:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slider-label .val{font-variant-numeric:tabular-nums}.segmented{position:relative;display:flex;padding:3px;border-radius:var(--radius-sm);background:var(--well);box-shadow:var(--inset-shadow)}.segmented-thumb{position:absolute;top:3px;bottom:3px;left:3px;width:calc((100% - 6px) / var(--n));transform:translate(calc(100% * var(--i)));border-radius:11px;background:rgb(var(--glass-tint) / var(--raised-fill-a));box-shadow:inset 0 1px rgb(var(--glass-tint) / .3),0 1px 4px #00000038;transition:transform var(--dur) var(--ease-spring)}.segmented button{position:relative;flex:1;min-width:0;padding:8px 6px;border-radius:11px;font-size:var(--fs-md);font-weight:580;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--dur-fast)}.segmented[data-size=sm] button{padding:6px 4px;font-size:var(--fs-sm)}.segmented button[aria-checked=true]{color:var(--text)}.segmented button:focus{outline:none}.segmented button:focus-visible{outline:none;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--text) 55%,transparent)}.segmented[aria-disabled=true]{opacity:.45}.chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chip{display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border-radius:var(--radius-pill);font-size:var(--fs-md);font-weight:560;white-space:nowrap;background:rgb(var(--glass-tint) / .1);box-shadow:inset 0 1px rgb(var(--glass-tint) / .18),inset 0 0 0 1px rgb(var(--glass-tint) / .08);transition:transform var(--dur-fast) var(--ease-spring),background var(--dur-fast)}.chip:active:not(:disabled){transform:scale(.95)}.chip:disabled{opacity:.45}.chip[data-active=true]{background:hsl(var(--accent) / .26);box-shadow:inset 0 1px rgb(var(--glass-tint) / .25),inset 0 0 0 1px hsl(var(--accent) / .45)}.chip[data-tone=caution]{background:hsl(var(--caution) / .18);color:hsl(var(--caution));box-shadow:inset 0 0 0 1px hsl(var(--caution) / .35)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:640;letter-spacing:.02em;background:rgb(var(--glass-tint) / .1);color:var(--text-dim);box-shadow:inset 0 0 0 1px rgb(var(--glass-tint) / .07);white-space:nowrap}.badge[data-tone=positive]{background:hsl(var(--positive) / .18);color:hsl(var(--positive))}.badge[data-tone=caution]{background:hsl(var(--caution) / .18);color:hsl(var(--caution))}.badge[data-tone=alert]{background:hsl(var(--alert) / .2);color:hsl(var(--alert))}.badge[data-tone=heat]{background:hsl(var(--heat) / .18);color:hsl(var(--heat))}.badge[data-tone=cool]{background:hsl(var(--cool) / .18);color:hsl(var(--cool))}.badge[data-tone=info]{background:hsl(var(--info) / .18);color:hsl(var(--info))}.dot{display:inline-block;flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--text-faint);vertical-align:middle}.dot[data-tone=positive]{background:hsl(var(--positive));box-shadow:0 0 8px hsl(var(--positive) / .6)}.dot[data-tone=alert]{background:hsl(var(--alert));box-shadow:0 0 8px hsl(var(--alert) / .6)}.dot[data-tone=caution]{background:hsl(var(--caution))}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:var(--radius-md);font-size:var(--fs-base);font-weight:600;white-space:nowrap;background:rgb(var(--glass-tint) / .12);box-shadow:inset 0 1px rgb(var(--glass-tint) / .22),inset 0 0 0 1px rgb(var(--glass-tint) / .08),0 4px 14px -8px #00000080;transition:transform var(--dur-fast) var(--ease-spring),opacity var(--dur-fast)}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.42}.btn-sm{min-height:34px;padding:6px 12px;font-size:var(--fs-md);border-radius:var(--radius-sm)}.btn-primary{background:linear-gradient(180deg,hsl(var(--accent) / .95),hsl(var(--accent) / .75));color:hsl(var(--accent-ink));box-shadow:inset 0 1px #fff6,0 6px 20px -8px hsl(var(--accent) / .7)}.btn-alert{background:linear-gradient(180deg,hsl(var(--alert) / .92),hsl(var(--alert) / .72));color:#fff}.btn-ghost{background:transparent;box-shadow:none;color:var(--text-dim)}.btn-block{width:100%}.btn-cold{background:linear-gradient(180deg,hsl(var(--heat) / .26),hsl(var(--heat) / .14));color:hsl(var(--heat));box-shadow:inset 0 1px rgb(var(--glass-tint) / .2),inset 0 0 0 1px hsl(var(--heat) / .35)}.icon-btn{display:inline-grid;place-items:center;flex:0 0 auto;border-radius:var(--radius-pill);background:rgb(var(--glass-tint) / .1);box-shadow:inset 0 1px rgb(var(--glass-tint) / .2),inset 0 0 0 1px rgb(var(--glass-tint) / .07);transition:transform var(--dur-fast) var(--ease-spring)}.icon-btn:active:not(:disabled){transform:scale(.9)}.icon-btn:disabled{opacity:.38}.icon-btn-primary{background:linear-gradient(180deg,hsl(var(--accent) / .95),hsl(var(--accent) / .75));color:hsl(var(--accent-ink))}.link-btn{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-md);font-weight:580;color:var(--text-dim);padding:6px 4px}.link-btn:hover{color:var(--text)}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.kbd{padding:2px 6px;border-radius:6px;font-size:11px;color:var(--text-faint);background:var(--well)}@media(hover:none){.kbd{display:none}}.field{display:block;width:100%;min-height:46px;padding:12px 14px;border-radius:var(--radius-md);border:none;background:var(--well);box-shadow:var(--inset-shadow),inset 0 0 0 1px rgb(var(--glass-tint) / .08);font-size:16px}.field-sm{min-height:36px;padding:6px 10px;font-size:var(--fs-md);border-radius:var(--radius-sm);width:auto;min-width:0;max-width:100%}input.field-sm[type=text],input.field-sm[type=password]{flex:1}.field-time{width:auto}select.field{appearance:none;-webkit-appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a89c8a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 9 7 7 7-7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:14px}select.field option{color:#16130f;background:#f2ede4}.field::placeholder{color:var(--text-faint)}.field[aria-invalid=true]{box-shadow:inset 0 0 0 1.5px hsl(var(--alert) / .7)}.field-label{display:block;font-size:var(--fs-xs);font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}.form-error{display:flex;align-items:center;gap:6px;font-size:var(--fs-md);color:hsl(var(--alert))}.toast-stack{position:fixed;z-index:80;left:50%;bottom:calc(env(safe-area-inset-bottom) + 20px);transform:translate(-50%);display:flex;flex-direction:column;gap:var(--space-2);width:min(440px,calc(100vw - 32px));pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:11px 12px 11px 14px;border-radius:var(--radius-md);font-size:var(--fs-md);pointer-events:auto;animation:toast-in var(--dur) var(--ease-spring)}.toast.glass{background:linear-gradient(158deg,rgb(var(--glass-tint) / var(--glass-fill-a)),rgb(var(--glass-tint) / var(--glass-fill-b))),var(--page);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 12px 32px #00000047,0 2px 6px #0000002e}.toast[data-tone=alert]>svg{color:hsl(var(--alert))}.toast[data-tone=caution]>svg{color:hsl(var(--caution))}.toast[data-tone=positive]>svg{color:hsl(var(--positive))}.toast-msg{flex:1;min-width:0}.toast-action{font-weight:650;color:hsl(var(--accent));padding:4px 6px}.toast-close{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;color:var(--text-faint)}@keyframes toast-in{0%{opacity:0;transform:translateY(12px) scale(.96)}}.skeleton{display:block;background:linear-gradient(90deg,rgb(var(--glass-tint) / .06),rgb(var(--glass-tint) / .14),rgb(var(--glass-tint) / .06));background-size:200% 100%;animation:shimmer 1.6s linear infinite;border-radius:var(--radius-xs)}@keyframes shimmer{to{background-position:-200% 0}}.sheet-root,.dialog-root{position:fixed;inset:0;z-index:60;display:flex}.sheet-scrim{position:absolute;inset:0;background:var(--scrim);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:fade-in var(--dur) var(--ease-out)}.sheet{position:relative;display:flex;flex-direction:column;max-height:100%;outline:none;background:var(--sheet-bg);backdrop-filter:blur(var(--blur-heavy)) saturate(180%);-webkit-backdrop-filter:blur(var(--blur-heavy)) saturate(180%)}.sheet-head{flex:0 0 auto;padding:var(--space-3) var(--space-4) var(--space-2);touch-action:none}.sheet-grabber{display:block;width:38px;height:5px;margin:0 auto var(--space-2);border-radius:3px;background:var(--text-faint);opacity:.6}.sheet-head-row{display:flex;align-items:center;gap:var(--space-3)}.sheet-titles{min-width:0}.sheet-title{font-size:var(--fs-lg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-sub{font-size:var(--fs-sm);color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:var(--space-2) var(--space-4) calc(env(safe-area-inset-bottom) + var(--space-5))}.sheet-root[data-variant=bottom]{align-items:flex-end}.sheet-root[data-variant=bottom] .sheet{width:100%;max-height:calc(100% - env(safe-area-inset-top) - 24px);border-radius:var(--radius-xl) var(--radius-xl) 0 0;animation:sheet-up var(--dur-slow) var(--ease-out);transition:transform var(--dur) var(--ease-out)}.sheet-root[data-variant=bottom] .sheet[data-dragging=true]{transition:none}.sheet-root[data-variant=bottom][data-closing] .sheet{animation:sheet-down .24s var(--ease-out) forwards}.sheet-root[data-variant=side]{justify-content:flex-end}.sheet-root[data-variant=side] .sheet{width:min(480px,92vw);height:calc(100% - 24px);margin:12px;border-radius:var(--radius-lg);animation:sheet-in-right var(--dur) var(--ease-out)}.sheet-root[data-variant=side] .sheet[data-wide]{width:min(720px,92vw)}.sheet-root[data-variant=side][data-closing] .sheet{animation:sheet-out-right .24s var(--ease-out) forwards}.sheet-root[data-variant=modal]{align-items:center;justify-content:center;padding:24px}.sheet-root[data-variant=modal] .sheet{width:min(460px,100%);max-height:min(720px,100%);border-radius:var(--radius-lg);animation:pop-in var(--dur) var(--ease-spring)}.sheet-root[data-variant=modal] .sheet[data-wide]{width:min(960px,100%)}.sheet-root[data-closing] .sheet-scrim{animation:fade-out .24s forwards}.sheet-root[data-variant=modal][data-closing] .sheet{animation:fade-out .2s forwards}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}@keyframes sheet-up{0%{transform:translateY(100%)}}@keyframes sheet-down{to{transform:translateY(100%)}}@keyframes sheet-in-right{0%{transform:translate(40px);opacity:0}}@keyframes sheet-out-right{to{transform:translate(40px);opacity:0}}@keyframes pop-in{0%{transform:scale(.95);opacity:0}}.dialog-root{align-items:center;justify-content:center;padding:24px;z-index:70}.dialog{position:relative;width:min(400px,100%);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);text-align:center;align-items:center;border-radius:var(--radius-lg);animation:pop-in var(--dur) var(--ease-spring)}.dialog h2{font-size:var(--fs-xl)}.dialog-body{color:var(--text-dim);font-size:var(--fs-md)}.dialog-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:var(--well)}.dialog-icon[data-tone=alert]{color:hsl(var(--alert));background:hsl(var(--alert) / .15)}.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);width:100%;margin-top:var(--space-2)}.hold-btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:8px 16px;border-radius:var(--radius-md);font-weight:600;font-size:var(--fs-md);background:rgb(var(--glass-tint) / .12);box-shadow:inset 0 1px rgb(var(--glass-tint) / .2),inset 0 0 0 1px hsl(var(--accent) / .35);user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none}.hold-btn[data-tone=alert]{box-shadow:inset 0 0 0 1px hsl(var(--alert) / .45)}.hold-btn>:not(.hold-fill){position:relative}.hold-fill{position:absolute;inset:0;transform-origin:left;transform:scaleX(0);background:hsl(var(--accent) / .45)}.hold-btn[data-tone=alert] .hold-fill{background:hsl(var(--alert) / .45)}.hold-btn[data-holding] .hold-fill{transform:scaleX(1);transition:transform var(--hold-ms) linear}.hold-btn:disabled{opacity:.4}.stepper{display:inline-flex;align-items:center;gap:var(--space-2)}.stepper button{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-pill);background:rgb(var(--glass-tint) / .11);box-shadow:inset 0 1px rgb(var(--glass-tint) / .2),inset 0 0 0 1px rgb(var(--glass-tint) / .07);transition:transform var(--dur-fast) var(--ease-spring)}.stepper button:active:not(:disabled){transform:scale(.88)}.stepper button:disabled{opacity:.35}.stepper-value{min-width:64px;text-align:center;font-size:var(--fs-xl);font-weight:640;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.stepper[data-size=sm] button{width:32px;height:32px}.stepper[data-size=sm]{gap:4px}.stepper[data-size=sm] .stepper-value{min-width:52px;font-size:var(--fs-base)}.stepper[data-size=lg] button{width:52px;height:52px}.stepper[data-size=lg] .stepper-value{min-width:96px;font-size:var(--fs-2xl)}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:var(--space-3);align-items:start}.tile-grid-compact{grid-template-columns:repeat(auto-fill,minmax(min(100%,168px),1fr));gap:var(--space-2)}.tile-grid+.tile-grid{margin-top:var(--space-3)}.tile-grid-square{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);align-items:stretch}@media(min-width:640px){.tile-grid-square{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-3)}}.group{display:flex;flex-direction:column;gap:var(--space-3)}.group-collapsed>summary{list-style:none;cursor:pointer}.group-collapsed>summary::-webkit-details-marker{display:none}.group-collapsed>summary .section-head:after{content:"";width:8px;height:8px;margin-left:4px;border-right:2px solid var(--text-faint);border-bottom:2px solid var(--text-faint);transform:rotate(-45deg);transition:transform var(--dur-fast)}.group-collapsed[open]>summary .section-head:after{transform:rotate(45deg)}.group-collapsed[open]>summary{margin-bottom:var(--space-3)}.tile{position:relative;display:flex;flex-direction:column;gap:var(--space-3);min-width:0;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-3);border-radius:var(--radius-md);background:linear-gradient(158deg,rgb(var(--glass-tint) / var(--glass-fill-a)),rgb(var(--glass-tint) / var(--glass-fill-b)));box-shadow:inset 0 1px rgb(var(--glass-tint) / var(--glass-edge-top)),inset 0 0 0 1px rgb(var(--glass-tint) / var(--glass-edge-side)),0 10px 30px -18px #0000008c;transition:transform var(--dur) var(--ease-out),box-shadow var(--dur);-webkit-touch-callout:none;user-select:none;-webkit-user-select:none;contain:layout}.tile[data-pressing=true]{transform:scale(.975);transition-duration:.45s}.tile[data-on=true]{background:linear-gradient(158deg,rgb(var(--glass-tint) / var(--raised-fill-a)),rgb(var(--glass-tint) / var(--raised-fill-b)))}.tile[data-pending=true]:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(100deg,transparent 30%,rgb(var(--glass-tint) / .12) 50%,transparent 70%);background-size:250% 100%;animation:shimmer 1.2s linear infinite}.tile[data-unavailable=true] .tile-head{opacity:.5}.tile[data-tone=alert]{box-shadow:inset 0 0 0 1.5px hsl(var(--alert) / .6),0 10px 30px -18px hsl(var(--alert) / .6)}.tile[data-tone=caution]{box-shadow:inset 0 0 0 1px hsl(var(--caution) / .45)}.tile[data-variant=compact]{padding:10px 12px;border-radius:var(--radius-sm)}.tile[data-variant=wide]{grid-column:1 / -1}.tile-head{display:flex;align-items:center;gap:var(--space-3);min-height:36px;min-width:0}.tile[data-variant=compact] .tile-head{gap:10px;min-height:30px}.tile-icon{--glow: hsl(var(--accent));display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:13px;color:var(--text-dim);background:var(--well);box-shadow:inset 0 1px rgb(var(--glass-tint) / .12);transition:color var(--dur),background var(--dur),box-shadow var(--dur)}.tile[data-variant=compact] .tile-icon{width:30px;height:30px;border-radius:10px}.tile-icon[data-on=true]{color:var(--glow);background:color-mix(in srgb,var(--glow) 22%,transparent);box-shadow:inset 0 1px rgb(var(--glass-tint) / .2),0 0 20px -4px color-mix(in srgb,var(--glow) 70%,transparent)}[data-entity^="light."] .tile-icon{--glow: hsl(var(--light-on))}.tile[data-tone=alert] .tile-icon{color:hsl(var(--alert));background:hsl(var(--alert) / .18)}.tile[data-tone=heat] .tile-icon{--glow: hsl(var(--heat))}.tile[data-tone=cool] .tile-icon{--glow: hsl(var(--cool))}.tile-icon-btn{border-radius:13px;transition:transform var(--dur-fast) var(--ease-spring)}.tile-icon-btn:active{transform:scale(.9)}.spin-icon .tile-icon[data-on=true] svg{animation:spin 2.4s linear infinite}.tile-text{flex:1;min-width:0;display:flex;flex-direction:column}.tile-name{font-size:var(--fs-base);font-weight:580;letter-spacing:-.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile[data-variant=compact] .tile-head{align-items:flex-start}.tile[data-variant=compact] .tile-name{font-size:var(--fs-sm);font-weight:560;line-height:1.25;color:var(--text-dim);white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}.tile-sub{font-size:var(--fs-sm);color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.tile[data-variant=compact] .tile-sub{font-size:var(--fs-base);color:var(--text)}.tile-value{font-weight:620}.tile-since{font-size:var(--fs-xs);color:var(--text-faint)}.tile-reason{display:inline-flex;align-items:center;gap:4px;color:var(--text-dim)}.tile-right{flex:0 0 auto;display:flex;align-items:center;gap:var(--space-2)}.tile-body{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.tile[data-variant=square]{--level-strip: 14px;justify-content:space-between;gap:var(--space-2);min-height:112px;padding:12px 12px calc(10px + var(--level-strip))}.tile[data-variant=square][data-expanded=true]{--level-strip: 0px}.tile[data-variant=square][data-expanded=true]{grid-column:span 2}.tile-hit{position:absolute;inset:0;z-index:0;border-radius:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.tile-hit:disabled{cursor:default}.tile-hit:focus-visible{outline:2px solid hsl(var(--accent));outline-offset:2px}.tile[data-variant=square]>.tile-head,.tile[data-variant=square]>.tile-text{position:relative;z-index:1;pointer-events:none}.tile[data-variant=square]>.tile-text{flex:0 0 auto;gap:1px}.tile[data-variant=square] .tile-sub{line-height:18px}.tile[data-variant=square]>.tile-head{align-items:flex-start;gap:2px;min-height:0}.tile[data-variant=square]>.tile-head :is(a,button){pointer-events:auto}.tile[data-variant=square]>.tile-body{position:relative;z-index:1}.tile[data-variant=square] .tile-icon{width:40px;height:40px}.tile[data-variant=square] .tile-name{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere;line-height:1.25}.tile[data-variant=square][data-on=true] .tile-sub{color:var(--text-dim);font-weight:600}.tile[data-variant=square] .tile-gear{width:28px;height:28px}.tile-expand{display:grid;place-items:center;flex:0 0 auto;width:32px;height:32px;margin:-4px -4px 0 0;border-radius:50%;color:var(--text-dim)}.tile-expand:hover,.tile-expand[aria-expanded=true]{background:var(--well);color:var(--text)}.tile-more{display:none;place-items:center;flex:0 0 auto;width:28px;height:28px;border-radius:50%;color:var(--text-faint);opacity:0;transition:opacity var(--dur-fast),background var(--dur-fast)}@media(hover:hover)and (pointer:fine){.tile-more{display:grid}.tile:hover .tile-more,.tile-more:focus-visible{opacity:1}.tile-more:hover{background:var(--well);color:var(--text)}}.transport{display:flex;align-items:center;gap:6px}.tune-btn{display:grid;place-items:center;flex:0 0 auto;width:44px;height:44px;border-radius:var(--radius-sm);background:var(--well);color:var(--text-dim)}.tune-btn[aria-expanded=true]{color:hsl(var(--accent));background:hsl(var(--accent) / .18)}.media-row{display:flex;align-items:center;gap:var(--space-3)}.media-art{width:56px;height:56px;flex:0 0 auto;border-radius:12px;overflow:hidden;background:var(--well)}.media-art img{width:100%;height:100%;object-fit:cover}.camera-frame{position:relative;display:block;width:100%;aspect-ratio:16 / 9;max-width:100%;overflow:hidden;border-radius:var(--radius-sm);background:var(--well)}.camera-frame img{width:100%;height:100%;object-fit:cover;display:block}.camera-empty{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:6px;color:var(--text-faint);font-size:var(--fs-sm)}.camera-live{position:absolute;right:10px;bottom:10px;display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:650;color:#fff;background:#00000073;backdrop-filter:blur(8px)}.camera-stream{width:100%;border-radius:var(--radius-sm);display:block}.weather{display:flex;align-items:center;gap:var(--space-5);flex-wrap:wrap}.weather-temp{font-size:var(--fs-3xl);font-weight:300;letter-spacing:-.04em;line-height:1}.weather-temp small{font-size:var(--fs-lg);color:var(--text-dim)}.facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:var(--space-2) var(--space-4);flex:1}.facts dt{font-size:var(--fs-xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.facts dd{font-size:var(--fs-base);font-weight:600;font-variant-numeric:tabular-nums}.facts-lg dd{font-size:var(--fs-xl)}.schedule-week{display:flex;flex-direction:column;gap:6px;margin-block:var(--space-2) var(--space-4)}.schedule-day{display:grid;grid-template-columns:40px 1fr;align-items:center;gap:var(--space-2)}.schedule-label{font-size:var(--fs-sm);color:var(--text-dim);text-transform:capitalize}.schedule-track{position:relative;height:22px;border-radius:6px;background:var(--well)}.schedule-block{position:absolute;top:2px;bottom:2px;border-radius:4px;background:hsl(var(--accent) / .7)}.schedule-axis{display:flex;justify-content:space-between;margin-left:48px;font-size:var(--fs-xs);color:var(--text-faint)}.tile-gear{display:grid;place-items:center;flex:0 0 auto;width:24px;height:24px;border-radius:50%;color:var(--text-faint);opacity:.55;position:relative;z-index:2}.tile-gear:hover,.tile-gear:focus-visible{opacity:1;color:var(--text);background:var(--well)}@media(hover:hover)and (pointer:fine){.tile-gear{opacity:0}.tile:hover .tile-gear,.climate-card:hover .tile-gear{opacity:.8}}.climate-head .tile-gear{margin-left:auto}.appbar{--swipe: 0px;position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:var(--space-3);min-height:var(--bar-h);margin-inline:calc(var(--space-4) * -1);padding:calc(env(safe-area-inset-top) + 8px) var(--space-4) 8px}@property --bar-a{syntax: "<number>"; inherits: false; initial-value: 1;}@keyframes bar-frost{0%{--bar-a: 0}to{--bar-a: 1}}.appbar:before,.space-tabs:before{content:"";position:absolute;top:0;bottom:-32px;left:50%;width:calc(var(--scroll-w) + 4px);margin-left:calc((var(--scroll-w) + 4px) / -2);z-index:-1;pointer-events:none;background:linear-gradient(90deg,color-mix(in srgb,var(--tint-lit, transparent) calc(30% + 70% * var(--bar-a)),transparent),color-mix(in srgb,var(--tint-lit, transparent) calc(12% + 28% * var(--bar-a)),transparent) 45%,transparent 90%),linear-gradient(270deg,color-mix(in srgb,var(--tint-climate, transparent) calc(30% + 70% * var(--bar-a)),transparent),color-mix(in srgb,var(--tint-climate, transparent) calc(12% + 28% * var(--bar-a)),transparent) 45%,transparent 90%),linear-gradient(180deg,rgb(var(--bar-tint) / calc(var(--bar-fill) * var(--bar-a))),rgb(var(--bar-tint) / calc(var(--bar-fill) * var(--bar-a) * .8)));backdrop-filter:blur(20px) saturate(calc(1 + .4 * var(--bar-a)));-webkit-backdrop-filter:blur(20px) saturate(calc(1 + .4 * var(--bar-a)));mask-image:linear-gradient(180deg,#000 calc(100% - 48px),rgb(0 0 0 / .72) calc(100% - 32px),rgb(0 0 0 / .3) calc(100% - 16px),transparent);-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 48px),rgb(0 0 0 / .72) calc(100% - 32px),rgb(0 0 0 / .3) calc(100% - 16px),transparent)}@supports (animation-timeline: scroll()){.appbar:before,.space-tabs:before{animation:bar-frost linear both;animation-timeline:scroll(nearest block);animation-range:0 48px}}.appbar-titles{display:flex;flex-direction:column;min-width:0;transform:translate(var(--swipe));transition:transform var(--dur) var(--ease-out)}.appbar-title{font-size:var(--fs-xl);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appbar-sub{font-size:var(--fs-sm);color:var(--text-dim)}.appbar-home{font-size:var(--fs-lg);font-weight:650}.appbar-skeleton{height:var(--bar-h)}.home-pill{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:7px 12px;border-radius:var(--radius-pill);font-weight:640;font-size:var(--fs-base);background:rgb(var(--glass-tint) / .12);box-shadow:inset 0 1px rgb(var(--glass-tint) / .24),inset 0 0 0 1px rgb(var(--glass-tint) / .08),0 4px 14px -8px #00000080;transition:transform var(--dur-fast) var(--ease-spring)}.home-pill+.appbar-title{margin-top:10px}.home-pill:active{transform:scale(.96)}.home-pill-name{max-width:50vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar{display:none}@media(min-width:1024px){.sidebar{display:flex;flex-direction:column;gap:var(--space-3);flex:0 0 var(--sidebar-w);margin:12px 0 12px 12px;padding:var(--space-4) var(--space-3);border-radius:var(--radius-lg);overflow:hidden}.appbar{margin-inline:0;padding-inline:2px}.app{--scroll-w: calc(100vw - var(--sidebar-w) - 12px)}.shell{padding-inline:var(--space-6)}}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:0 6px;font-weight:680;font-size:var(--fs-lg);letter-spacing:-.02em}.sidebar-brand img{border-radius:8px}.sidebar-homes{display:flex;gap:4px;padding:3px;border-radius:var(--radius-sm);background:var(--well)}.sidebar-home{flex:1;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 6px;border-radius:11px;font-size:var(--fs-sm);font-weight:600;color:var(--text-dim);white-space:nowrap;overflow:hidden}.sidebar-home[aria-selected=true]{color:var(--text);background:rgb(var(--glass-tint) / var(--raised-fill-a));box-shadow:0 1px 4px #0003}.sidebar-scroll{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3);scrollbar-width:thin}.side-group{display:flex;flex-direction:column;gap:1px}.side-label{padding:4px 10px;font-size:var(--fs-xs);font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.side-link{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:10px;font-size:var(--fs-md);color:var(--text-dim);transition:background var(--dur-fast),color var(--dur-fast)}.side-link:hover{background:var(--well);color:var(--text)}.side-link.active{background:hsl(var(--accent) / .18);color:var(--text)}.side-count{margin-left:auto;font-size:var(--fs-xs);color:var(--text-faint);font-variant-numeric:tabular-nums}.sidebar-foot{display:flex;flex-direction:column;gap:1px;border-top:1px solid var(--hairline);padding-top:var(--space-2)}.drawer-root{position:fixed;inset:0;z-index:60}.nav-drawer{position:absolute;inset:0 auto 0 0;width:min(304px,86vw);display:flex;flex-direction:column;gap:var(--space-3);padding:calc(env(safe-area-inset-top) + var(--space-3)) var(--space-3) calc(env(safe-area-inset-bottom) + var(--space-3)) max(var(--space-3),env(safe-area-inset-left));border-radius:0 var(--radius-xl) var(--radius-xl) 0;background:var(--sheet-bg);backdrop-filter:blur(var(--blur-heavy)) saturate(180%);-webkit-backdrop-filter:blur(var(--blur-heavy)) saturate(180%);box-shadow:inset -1px 0 rgb(var(--glass-tint) / var(--glass-edge-side)),18px 0 48px -12px #0006;outline:none;touch-action:pan-y;animation:drawer-in var(--dur) var(--ease-out);transition:transform var(--dur) var(--ease-out)}.nav-drawer a,.nav-drawer img{-webkit-user-drag:none}.nav-drawer[data-dragging=true]{transition:none}.drawer-root[data-closing] .nav-drawer{transform:translate3d(-105%,0,0)!important;transition:transform .24s var(--ease-out)}.drawer-root[data-closing] .drawer-scrim{opacity:0;transition:opacity .24s var(--ease-out)}.nav-drawer .sidebar-brand{min-height:38px}.nav-drawer .side-link{padding:10px}.nav-drawer .sidebar-home{padding:9px 6px}@keyframes drawer-in{0%{transform:translate3d(-105%,0,0)}}@media(min-width:1024px){.drawer-root{display:none}}@property --dim{syntax: "<number>"; inherits: true; initial-value: 0;}.app[data-edge-swipe]{will-change:transform;box-shadow:-14px 0 36px -6px #00000061}.app[data-edge-swipe=forward]{box-shadow:none}.edge-under{position:fixed;inset:0;z-index:-1;background:var(--page);pointer-events:none}.edge-under:after{content:"";position:absolute;inset:0;background:rgb(0 0 0 / calc(var(--dim) * .28))}.edge-ghost{position:fixed;inset:0;z-index:59;background:var(--page);box-shadow:-14px 0 36px -6px #00000061;pointer-events:none;will-change:transform}.edge-ghost:before{content:"";position:absolute;inset:0 100% 0 auto;width:100vw;background:rgb(0 0 0 / calc(var(--dim) * .22))}.conn-banner{position:fixed;z-index:50;top:calc(env(safe-area-inset-top) + 10px);left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--radius-pill);font-size:var(--fs-sm);font-weight:600;white-space:nowrap;animation:toast-in var(--dur) var(--ease-spring)}.hero{display:flex;flex-direction:column;gap:2px;padding-top:var(--space-2)}.hero-title{font-size:var(--fs-2xl);line-height:1.1;letter-spacing:-.03em}.hero-sub{color:var(--text-dim);font-variant-numeric:tabular-nums}@media(min-width:720px){.hero-title{font-size:38px}}.alert-strip{display:flex;gap:var(--space-2);overflow-x:auto;scrollbar-width:none;margin-inline:calc(var(--space-4) * -1);padding:2px var(--space-4) 8px;scroll-snap-type:x mandatory}.alert-strip::-webkit-scrollbar{display:none}.alert-card{flex:0 0 auto;display:flex;align-items:center;gap:var(--space-3);max-width:min(360px,86vw);padding:12px 16px 12px 12px;border-radius:var(--radius-md);text-align:left;scroll-snap-align:start}.alert-icon{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:12px;background:var(--well)}.alert-card[data-tone=alert]{box-shadow:inset 0 0 0 1.5px hsl(var(--alert) / .55),var(--glass-shadow)}.alert-card[data-tone=alert] .alert-icon{color:hsl(var(--alert));background:hsl(var(--alert) / .16)}.alert-card[data-tone=caution] .alert-icon{color:hsl(var(--caution));background:hsl(var(--caution) / .16)}.alert-card[data-tone=info] .alert-icon{color:hsl(var(--info));background:hsl(var(--info) / .16)}.alert-text{display:flex;flex-direction:column;min-width:0}.alert-text strong{font-size:var(--fs-md);font-weight:640}.alert-text span{font-size:var(--fs-sm);color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.shortcuts{display:flex;flex-wrap:wrap;padding-block:2px 6px;gap:var(--space-2);align-items:center}.shortcut{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;padding:7px 14px 7px 7px;border-radius:var(--radius-pill);font-weight:600;font-size:var(--fs-md);transition:transform var(--dur-fast) var(--ease-spring)}.shortcut:active{transform:scale(.96)}.shortcut-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:hsl(var(--accent));background:hsl(var(--accent) / .16)}.floor{display:flex;flex-direction:column;gap:var(--space-3)}.room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}@media(min-width:640px){.room-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}.room-tile{position:relative;display:flex;flex-direction:column;gap:6px;min-width:0;min-height:132px;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border-radius:var(--radius-lg);transition:transform var(--dur) var(--ease-out)}.room-tile:has(.room-link:active){transform:scale(.98)}.room-link{position:absolute;inset:0;border-radius:inherit;z-index:1}.room-tile[data-lit=true]{background:linear-gradient(158deg,hsl(var(--light-on) / .2),rgb(var(--glass-tint) / var(--glass-fill-b)) 60%)}.room-top{display:flex;align-items:flex-start;gap:6px}.room-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;color:var(--text-dim);background:var(--well)}.room-tile[data-lit=true] .room-icon{color:hsl(var(--light-on));background:hsl(var(--light-on) / .18)}.room-tile[data-tone=heat] .room-icon{color:hsl(var(--heat));background:hsl(var(--heat) / .16)}.room-tile[data-tone=cool] .room-icon{color:hsl(var(--cool));background:hsl(var(--cool) / .16)}.room-occ{width:8px;height:8px;margin-top:4px;border-radius:50%;background:hsl(var(--positive));box-shadow:0 0 10px hsl(var(--positive) / .7)}.room-occ[data-occupancy=recent]{background:transparent;box-shadow:inset 0 0 0 1.5px hsl(var(--positive) / .75)}.room-temp{font-size:var(--fs-xl);font-weight:560;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1}.room-temp small{font-size:var(--fs-md);color:var(--text-dim)}.room-name{margin-top:auto;font-size:var(--fs-base);font-weight:640;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-spaces{margin-top:-5px;font-size:var(--fs-sm);font-weight:500;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-meta{display:flex;flex-wrap:wrap;gap:4px 8px;min-height:20px}.room-badge{position:relative;z-index:2;display:inline-flex;align-items:center;gap:3px;font-size:var(--fs-sm);font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.room-badge[data-tone=heat]{color:hsl(var(--heat))}.room-badge[data-tone=cool]{color:hsl(var(--cool))}.room-badge[data-tone=light]{color:hsl(var(--light-on))}.room-lights{padding:2px 8px;margin:-2px -4px;border-radius:var(--radius-pill);background:hsl(var(--light-on) / .14)}.room-badge.muted{font-weight:500;color:var(--text-faint)}.unsorted-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md)}.unsorted-link>span{flex:1}.climate-stack{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr));gap:var(--space-3)}.climate-card{--tint-climate: transparent;--climate-hit: 36px;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-4) var(--space-2);border-radius:var(--radius-xl);overflow:hidden}@media(pointer:coarse){.climate-card{--climate-hit: 44px}}.climate-card[data-compact=true]{padding-bottom:var(--space-4)}.climate-card[data-climate=heating]{--tint-climate: hsl(var(--heat) / .2)}.climate-card[data-climate=cooling]{--tint-climate: hsl(var(--cool) / .2)}.climate-card[data-climate=heating],.climate-card[data-climate=cooling]{background:linear-gradient(158deg,var(--tint-climate),transparent 62%),rgb(var(--glass-tint) / var(--glass-fill-b))}.climate-head{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;min-height:28px}.climate-name{color:var(--text-dim);min-width:0}.climate-pill{display:inline-flex;align-items:center;gap:5px;margin-left:auto;padding:4px 10px;border-radius:var(--radius-pill);font-size:var(--fs-sm);font-weight:640;white-space:nowrap;color:var(--text-dim);background:rgb(var(--glass-tint) / .1)}.climate-head .climate-pill+.tile-gear{margin-left:0}.climate-pill[data-state=heating]{color:var(--text);background:hsl(var(--heat) / .22)}.climate-pill[data-state=heating] svg{color:hsl(var(--heat))}.climate-pill[data-state=cooling]{color:var(--text);background:hsl(var(--cool) / .22)}.climate-pill[data-state=cooling] svg{color:hsl(var(--cool))}.climate-pill[data-state=off]{background:transparent;box-shadow:inset 0 0 0 1px var(--hairline)}.climate-pill[data-state=offline]{color:var(--text);background:hsl(var(--caution) / .22)}.climate-main{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2) var(--space-4)}.climate-now{display:flex;flex-direction:column;gap:4px;min-width:0;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.climate-now-value{font-family:var(--font-num);font-size:var(--fs-3xl);font-weight:300;letter-spacing:-.04em;line-height:.95;font-variant-numeric:tabular-nums}.climate-now-unreliable{display:inline-flex;align-items:flex-start;gap:6px;max-width:16ch;font-size:var(--fs-md);font-weight:620;line-height:1.2;color:var(--text)}.climate-now-unreliable svg{flex:0 0 auto;margin-top:1px;color:hsl(var(--caution))}.climate-now-meta{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--text-dim)}.climate-now-src{max-width:12ch;overflow-wrap:anywhere}.climate-hum{display:inline-flex;align-items:center;gap:3px;font-variant-numeric:tabular-nums}.climate-hum:before{content:"";width:3px;height:3px;margin-right:5px;border-radius:50%;background:var(--text-faint)}.climate-caption{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;font-weight:650;color:var(--text-dim)}.climate-targets{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:var(--space-3);padding-top:var(--space-1)}.climate-targets .inline-target{align-items:flex-start}.climate-targets .inline-target[data-tone=heat] .climate-caption{color:color-mix(in srgb,hsl(var(--heat)) 70%,var(--text))}.climate-targets .inline-target[data-tone=cool] .climate-caption{color:color-mix(in srgb,hsl(var(--cool)) 70%,var(--text))}.inline-target{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.inline-target-row{display:inline-flex;align-items:center;gap:4px}.inline-target button{display:grid;place-items:center;width:var(--climate-hit);height:var(--climate-hit);border-radius:var(--radius-pill);color:var(--text);background:rgb(var(--glass-tint) / .11);box-shadow:inset 0 1px rgb(var(--glass-tint) / .2),inset 0 0 0 1px var(--hairline);transition:transform var(--dur-fast) var(--ease-spring);touch-action:manipulation;-webkit-user-select:none;user-select:none}.inline-target button:active:not(:disabled){transform:scale(.88)}.inline-target button:disabled{opacity:.35}.inline-target-value{min-width:4.2ch;text-align:center;font-family:var(--font-num);font-size:var(--fs-xl);font-weight:640;font-variant-numeric:tabular-nums;letter-spacing:-.02em;border-radius:var(--radius-xs)}.inline-target-value[data-pending=true]{background:linear-gradient(90deg,transparent,rgb(var(--glass-tint) / .16),transparent);background-size:200% 100%;animation:shimmer 1.2s linear infinite}.climate-would{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.climate-would .climate-caption{color:var(--text-faint)}.climate-would-value{display:flex;align-items:center;min-height:var(--climate-hit);font-family:var(--font-num);font-size:var(--fs-xl);font-weight:560;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--text-faint)}.climate-controls{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.climate-controls .btn-sm{min-height:var(--climate-hit)}.climate-modes .segmented{display:inline-grid;grid-auto-flow:column;grid-auto-columns:1fr}.climate-modes .segmented button{min-height:calc(var(--climate-hit) - 6px);padding:4px 9px;font-weight:600}.btn-quiet{background:transparent;color:var(--text-dim);box-shadow:inset 0 0 0 1px var(--hairline)}.btn-quiet:hover:not(:disabled){color:var(--text);background:rgb(var(--glass-tint) / .06)}.btn-quiet-heat svg{color:hsl(var(--heat))}.btn-cool-on{background:linear-gradient(180deg,hsl(var(--cool) / .26),hsl(var(--cool) / .14));color:color-mix(in srgb,hsl(var(--cool)) 75%,var(--text));box-shadow:inset 0 1px rgb(var(--glass-tint) / .2),inset 0 0 0 1px hsl(var(--cool) / .35)}.climate-sync{display:flex}.climate-note{font-size:var(--fs-sm);color:var(--text-dim)}.climate-override{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2);color:var(--text)}.climate-override svg{color:hsl(var(--caution))}.climate-confirm{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:hsl(var(--caution) / .1);box-shadow:inset 0 0 0 1px hsl(var(--caution) / .3)}.climate-confirm>.climate-note:first-child{color:var(--text);display:flex;align-items:center;gap:var(--space-2)}.climate-confirm>.climate-note:first-child svg{flex:0 0 auto;color:hsl(var(--caution))}.climate-confirm-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}.climate-disclosure{display:flex;align-items:center;gap:var(--space-2);width:calc(100% + 2 * var(--space-2));min-height:40px;margin:0 calc(-1 * var(--space-2));padding:0 var(--space-2);border-top:1px solid var(--hairline);border-radius:0 0 var(--radius-sm) var(--radius-sm);font-size:var(--fs-sm);font-weight:560;color:var(--text-dim);text-align:left}.climate-disclosure:hover{color:var(--text)}.climate-disclosure:focus-visible{outline:none;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--text) 55%,transparent)}.climate-disclosure-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.climate-disclosure-chevron{transition:transform var(--dur) var(--ease-out)}.climate-disclosure[aria-expanded=true] .climate-disclosure-chevron{transform:rotate(180deg)}.climate-devices{display:flex;flex-direction:column;gap:var(--space-2);padding-bottom:var(--space-2)}.boost-chip{display:inline-flex;align-items:center;gap:8px;min-height:var(--climate-hit, 36px);padding:4px 4px 4px 12px;border-radius:var(--radius-pill);font-size:var(--fs-md);font-weight:620;color:color-mix(in srgb,hsl(var(--heat)) 80%,var(--text));background:hsl(var(--heat) / .16);box-shadow:inset 0 0 0 1px hsl(var(--heat) / .35)}.boost-chip button{display:grid;place-items:center;width:calc(var(--climate-hit, 36px) - 8px);height:calc(var(--climate-hit, 36px) - 8px);border-radius:50%;background:hsl(var(--heat) / .2);color:inherit}@media(prefers-reduced-motion:reduce){.climate-disclosure-chevron,.inline-target button{transition:none}}.heat-label{color:hsl(var(--heat))}.cool-label{color:hsl(var(--cool))}.history{display:flex;flex-direction:column;gap:var(--space-4)}.history-chart{display:flex;flex-direction:column;gap:var(--space-3)}.chart{width:100%}.chart .u-legend{font-size:var(--fs-sm);color:var(--text-dim);text-align:left}.chart .u-legend .u-marker{border-radius:3px}.chart .u-select{background:hsl(var(--accent) / .12)}.timeline{display:flex;flex-direction:column;gap:6px}.timeline-bar{position:relative;height:28px;border-radius:8px;overflow:hidden;background:var(--well)}.timeline-seg{position:absolute;top:0;bottom:0}.timeline-legend{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:var(--fs-sm);color:var(--text-dim)}.timeline-legend i{display:inline-block;width:9px;height:9px;margin-right:5px;border-radius:3px}.history-section{display:flex;flex-direction:column;gap:var(--space-2)}.logbook{list-style:none;display:flex;flex-direction:column}.logbook li{display:grid;grid-template-columns:auto 1fr;gap:2px var(--space-3);padding:8px 0;border-bottom:1px solid var(--hairline);font-size:var(--fs-md)}.logbook time{color:var(--text-faint);font-variant-numeric:tabular-nums;font-size:var(--fs-sm);padding-top:1px}.logbook-who{grid-column:2;display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-sm);color:var(--text-dim)}.attrs summary{cursor:pointer;padding:4px 0}.attrs dl{display:flex;flex-direction:column}.attrs dl>div{display:grid;grid-template-columns:minmax(110px,40%) 1fr;gap:var(--space-3);padding:6px 0;border-bottom:1px solid var(--hairline);font-size:var(--fs-sm)}.attrs dt{color:var(--text-dim)}.attrs dd{overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.history-foot{display:flex;align-items:center;gap:var(--space-2)}.entity-id{color:var(--text-faint);overflow-wrap:anywhere}.home-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.home-row{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);border-radius:var(--radius-md);text-align:left;background:var(--well);transition:background var(--dur-fast)}.home-row[aria-current=true]{background:hsl(var(--accent) / .16);box-shadow:inset 0 0 0 1px hsl(var(--accent) / .4)}.home-row-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 auto;border-radius:14px;color:hsl(var(--accent));background:hsl(var(--accent) / .14)}.home-row-text{flex:1;min-width:0;display:flex;flex-direction:column}.home-row-text span{font-size:var(--fs-sm);color:var(--text-dim)}.overview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:var(--space-3)}.home-card{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-xl)}.home-card-name{font-size:var(--fs-xl);letter-spacing:-.02em}.search{position:relative}.search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-faint)}.search .field{padding-left:40px}.auth{position:fixed;inset:0;display:grid;place-items:center;padding:calc(env(safe-area-inset-top) + 24px) 16px calc(env(safe-area-inset-bottom) + 24px);overflow-y:auto}.auth-card{width:min(400px,100%);padding:var(--space-6) var(--space-5) var(--space-5);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);border-radius:var(--radius-xl);text-align:center}.auth-mark{border-radius:14px;box-shadow:0 10px 30px -10px #00000080}.auth-card h1{font-size:var(--fs-2xl)}.auth-sub{color:var(--text-dim);max-width:34ch}.auth-form{width:100%;display:flex;flex-direction:column;gap:var(--space-2);text-align:left;margin-top:var(--space-2)}.auth-form .btn{margin-top:var(--space-3)}.code-field{text-align:center;font-size:24px;letter-spacing:.18em;font-variant-numeric:tabular-nums;font-family:ui-monospace,SF Mono,Menlo,monospace}.splash-mark{border-radius:14px;animation:pulse 1.4s ease-in-out infinite}.session-list,.toggle-list{list-style:none;display:flex;flex-direction:column}.session-list li,.toggle-list li{display:flex;align-items:center;gap:var(--space-3);padding:10px 0;border-bottom:1px solid var(--hairline)}.session-list li:last-child,.toggle-list li:last-child{border-bottom:none}.toggle-list li span{flex:1}.steps{padding-left:20px;display:flex;flex-direction:column;gap:6px;color:var(--text-dim)}.steps svg{vertical-align:-2px}.unsorted-list{list-style:none;margin:0;padding:4px 0;border-radius:var(--radius-md)}.unsorted-list li+li{border-top:1px solid var(--hairline)}.unsorted-row{display:flex;align-items:center;gap:12px;padding:12px 16px;color:inherit;text-decoration:none;min-width:0}.unsorted-row .stack{min-width:0}.unsorted-row .stack>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unsorted-assign{display:inline-flex;align-items:center;gap:2px;font-weight:600;flex:none}.room-tile,.room-shell{--tint-lit: transparent;--tint-climate: transparent}.room-tile[data-lit=true],.room-shell[data-lit=true]{--tint-lit: hsl(var(--light-on) / .2)}.room-tile[data-climate=heating],.room-shell[data-climate=heating]{--tint-climate: hsl(var(--heat) / .2)}.room-tile[data-climate=cooling],.room-shell[data-climate=cooling]{--tint-climate: hsl(var(--cool) / .2)}.room-tile[data-lit=true],.room-tile[data-climate=heating],.room-tile[data-climate=cooling]{background:linear-gradient(140deg,var(--tint-lit),transparent 58%),linear-gradient(320deg,var(--tint-climate),transparent 62%),rgb(var(--glass-tint) / var(--glass-fill-b))}.space-tabs{position:sticky;top:var(--appbar-h, 0px);z-index:15;margin-inline:calc(var(--space-4) * -1);padding:2px var(--space-4) 10px}@media(min-width:1024px){.space-tabs{margin-inline:0;padding-inline:2px}}.appbar:has(+.space-tabs){margin-bottom:calc(var(--space-5) * -1)}.appbar:has(+.space-tabs):before{content:none}.space-tabs:before{top:calc(var(--appbar-h, 0px) * -1)}.space-tabs>*{width:min(420px,100%)}.space-swipe{display:contents}.readings-strip{display:flex;gap:var(--space-2);padding-bottom:2px}.readings-strip:empty{display:none}.reading-chip{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;padding:6px 12px 6px 10px;border-radius:var(--radius-pill);font-size:var(--fs-sm);color:var(--text-dim)}.reading-chip .reading-value{color:var(--text);font-weight:600}.reading-chip .reading-label{display:none}@media(min-width:720px){.reading-chip .reading-label{display:inline}}.reading-chip[data-tone=positive] svg{color:hsl(var(--positive))}.reading-chip[data-occupancy=recent] svg{color:hsl(var(--positive) / .65)}.reading-chip[data-tone=caution] svg{color:hsl(var(--caution))}.reading-chip[data-tone=alert]{color:hsl(var(--alert))}.night-toggle[data-on=true]{color:hsl(var(--accent));background:hsl(var(--accent) / .16)}.house-sheet-all{display:inline-flex;align-items:center;gap:6px;margin-top:var(--space-4);font-weight:600}@media(prefers-reduced-motion:no-preference){html.theme-fade,html.theme-fade *,html.theme-fade *:before,html.theme-fade *:after{transition:background-color .5s ease,color .5s ease,border-color .5s ease,fill .5s ease,stroke .5s ease!important}}.alarm-shield[data-tone=armed]{color:hsl(var(--accent));background:hsl(var(--accent) / .16);box-shadow:inset 0 0 0 1px hsl(var(--accent) / .4)}.alarm-shield[data-tone=pending]{color:hsl(var(--caution));background:hsl(var(--caution) / .16);box-shadow:inset 0 0 0 1px hsl(var(--caution) / .45)}.alarm-shield[data-tone=triggered]{color:hsl(var(--alert-ink, 0 0% 100%));background:hsl(var(--alert))}.alarm-shield[data-tone=unknown]{color:var(--text-faint)}@media(prefers-reduced-motion:no-preference){.alarm-shield[data-tone=pending],.alarm-hero[data-tone=pending] .alarm-hero-icon{animation:alarm-pulse-amber 1.6s ease-in-out infinite}.alarm-shield[data-tone=triggered],.alarm-hero[data-tone=triggered] .alarm-hero-icon{animation:alarm-pulse-red .9s ease-in-out infinite}}@keyframes alarm-pulse-amber{50%{box-shadow:inset 0 0 0 1px hsl(var(--caution) / .45),0 0 0 6px hsl(var(--caution) / .18)}}@keyframes alarm-pulse-red{50%{box-shadow:0 0 0 7px hsl(var(--alert) / .3)}}.alarm-sheet{display:flex;flex-direction:column;gap:var(--space-4)}.alarm-hero{display:flex;align-items:center;gap:var(--space-3)}.alarm-hero-icon{display:grid;place-items:center;flex:0 0 auto;width:58px;height:58px;border-radius:50%;background:var(--well);color:var(--text-dim)}.alarm-hero[data-tone=armed] .alarm-hero-icon{color:hsl(var(--accent));background:hsl(var(--accent) / .16)}.alarm-hero[data-tone=pending] .alarm-hero-icon{color:hsl(var(--caution));background:hsl(var(--caution) / .16)}.alarm-hero[data-tone=triggered] .alarm-hero-icon{color:#fff;background:hsl(var(--alert))}.alarm-hero-text{display:flex;flex-direction:column;gap:2px;min-width:0}.alarm-hero-text strong{font-size:var(--fs-xl);font-weight:680;letter-spacing:-.01em}.alarm-hero[data-tone=triggered] .alarm-hero-text strong{color:hsl(var(--alert))}.alarm-hero-text span{font-size:var(--fs-sm);color:var(--text-dim)}.alarm-dogs{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:var(--radius-md);background:var(--well);font-size:var(--fs-md);color:var(--text-dim)}.alarm-dogs strong{color:var(--text)}.alarm-dogs[data-on=true]>svg{color:hsl(var(--caution))}.alarm-main{display:flex;flex-direction:column;gap:var(--space-3)}.alarm-modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:var(--space-2)}.alarm-mode{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:84px;padding:12px 8px;border-radius:var(--radius-md);font-weight:620;font-size:var(--fs-md);background:rgb(var(--glass-tint) / .1);box-shadow:inset 0 1px rgb(var(--glass-tint) / .2),inset 0 0 0 1px rgb(var(--glass-tint) / .08);transition:transform var(--dur-fast) var(--ease-spring),background var(--dur-fast)}.alarm-mode:active:not(:disabled){transform:scale(.96)}.alarm-mode:disabled{opacity:.4}.alarm-mode[aria-pressed=true]{opacity:1;color:hsl(var(--accent));background:hsl(var(--accent) / .16);box-shadow:inset 0 0 0 1px hsl(var(--accent) / .45)}.alarm-main .hold-btn{justify-content:center;min-height:52px}.alarm-why{font-size:var(--fs-sm)}.alarm-warn{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:hsl(var(--caution) / .12);box-shadow:inset 0 0 0 1px hsl(var(--caution) / .4)}.alarm-warn-head{display:flex;align-items:center;gap:8px;color:hsl(var(--caution))}.alarm-warn-head strong{color:var(--text)}.alarm-warn-list{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;font-size:var(--fs-md)}.alarm-warn-list li{display:flex;align-items:center;gap:8px}.alarm-warn-list li>span:first-of-type{flex:1;min-width:0}.alarm-warn-note{margin:0;font-size:var(--fs-sm);color:var(--text-dim)}.alarm-parts{display:flex;flex-direction:column;gap:6px}.alarm-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:var(--radius-md);background:var(--well)}.alarm-row-all{box-shadow:inset 0 0 0 1px var(--hairline)}.alarm-row-dot{width:10px;height:10px;border-radius:50%;background:var(--text-faint)}.alarm-row[data-tone=armed] .alarm-row-dot{background:hsl(var(--accent))}.alarm-row[data-tone=pending] .alarm-row-dot{background:hsl(var(--caution))}.alarm-row[data-tone=triggered] .alarm-row-dot{background:hsl(var(--alert))}.alarm-row-text{display:flex;flex-direction:column;flex:1;min-width:110px}.alarm-row-text strong{font-weight:620}.alarm-row-text span{font-size:var(--fs-sm);color:var(--text-dim)}.alarm-row-actions{display:flex;gap:6px;flex-wrap:wrap}.alarm-row-actions .btn,.alarm-row-actions .hold-btn{min-height:36px;padding:6px 12px}.alarm-sheet .house-sheet-all{margin-top:0}.side-warnings{margin-bottom:var(--space-2)}.side-warning{display:flex;align-items:flex-start;gap:10px;width:100%;text-align:left;padding:8px 10px;border-radius:12px;color:var(--text);background:color-mix(in srgb,hsl(var(--caution)) 14%,transparent)}.side-warning[data-tone=alert]{background:color-mix(in srgb,hsl(var(--alert, 4 72% 58%)) 18%,transparent)}.side-warning[data-tone=info]{background:rgb(var(--glass-tint) / .08)}.side-warning+.side-warning{margin-top:4px}.side-warning>svg{flex:none;margin-top:2px}.side-warning-text{display:grid;gap:1px;min-width:0;font-size:var(--fs-sm)}.side-warning-text span{color:var(--text-dim);overflow-wrap:anywhere}.menu-wrap{position:relative;display:inline-flex}.menu-badge{position:absolute;top:-2px;right:-2px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;font-size:11px;font-weight:700;line-height:17px;text-align:center;color:#fff;background:hsl(var(--caution));pointer-events:none}.menu-badge[data-tone=alert]{background:hsl(var(--alert, 4 72% 58%))}.side-warnings-summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none}.side-warnings-summary::-webkit-details-marker{display:none}.side-warnings-summary:after{content:"▸";margin-left:auto;transition:transform var(--dur-fast) var(--ease-out)}.side-warnings[open]>.side-warnings-summary:after{transform:rotate(90deg)}.side-warnings[open]>.side-warnings-summary{margin-bottom:6px}.side-warnings-dot{width:8px;height:8px;border-radius:50%;background:hsl(var(--caution))}.side-warnings-dot[data-tone=alert]{background:hsl(var(--alert))}.ellipsis{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ellipsis-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.small{font-size:var(--fs-sm)}.gap-1{gap:var(--space-1)}.art{position:relative;display:block;flex:0 0 auto;aspect-ratio:1;max-width:100%;overflow:hidden;border-radius:var(--radius-xs);background:radial-gradient(120% 90% at 20% 10%,hsl(var(--accent) / .28),transparent 60%),linear-gradient(160deg,rgb(var(--glass-tint) / .14),rgb(var(--glass-tint) / .04));box-shadow:inset 0 0 0 1px rgb(var(--glass-tint) / .08)}.art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity var(--dur) var(--ease-out)}.art[data-status=ok] img{opacity:1}.art-ph{position:absolute;inset:0;display:grid;place-items:center;color:var(--text-faint)}.art-round{border-radius:50%}.music-top{position:sticky;top:calc(var(--bar-h) + env(safe-area-inset-top));z-index:15;display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap;margin-top:calc(var(--space-3) * -1);padding-block:var(--space-2)}.music-search{flex:1 1 280px;display:flex;align-items:center;gap:10px;min-width:0;height:48px;padding:0 14px;border-radius:var(--radius-pill);color:var(--text-dim);background:linear-gradient(158deg,rgb(var(--glass-tint) / var(--raised-fill-a)),rgb(var(--glass-tint) / var(--raised-fill-b))),var(--page);box-shadow:inset 0 1px rgb(var(--glass-tint) / var(--glass-edge-top)),inset 0 0 0 1px var(--hairline),var(--glass-shadow)}.music-search:focus-within{box-shadow:inset 0 0 0 2px hsl(var(--accent) / .6),var(--glass-shadow)}.music-search[data-disabled=true]{opacity:.6}.music-search input{flex:1;min-width:0;border:0;background:transparent;color:var(--text);font:inherit;font-size:var(--fs-base);outline:none}.music-search input::-webkit-search-cancel-button{display:none}.music-search-clear{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgb(var(--glass-tint) / .14);color:var(--text)}.play-on{display:inline-flex;align-items:center;gap:8px;max-width:100%;height:48px;padding:0 16px;border-radius:var(--radius-pill);font-size:var(--fs-md);background:hsl(var(--accent) / .16);box-shadow:inset 0 0 0 1px hsl(var(--accent) / .4);color:var(--text);transition:transform var(--dur-fast) var(--ease-spring)}.play-on:active{transform:scale(.97)}.play-on>svg:first-child{color:hsl(var(--accent) / 1)}.play-on-label{color:var(--text-dim)}.detail-actions .play-on{height:42px}.music-section{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.music-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.music-section-head h2{margin:0;font-size:var(--fs-lg);font-weight:680;letter-spacing:-.01em}.music-row{display:grid;grid-auto-flow:column;grid-auto-columns:148px;gap:var(--space-4);margin-inline:calc(var(--space-4) * -1);padding:2px var(--space-4) var(--space-2);scroll-snap-type:x mandatory;scroll-padding-inline:var(--space-4)}.music-row>*{scroll-snap-align:start;min-width:0}@media(min-width:720px){.music-row{grid-auto-columns:176px}}.music-panel{padding:var(--space-4)}.music-card{display:flex;flex-direction:column;gap:6px;min-width:0;width:100%;text-align:left;color:inherit;text-decoration:none}.music-card .card-art{position:relative;display:block}.music-card .art{width:100%;border-radius:var(--radius-sm);box-shadow:0 14px 30px -18px #000000a6,inset 0 0 0 1px rgb(var(--glass-tint) / .06);transition:transform var(--dur) var(--ease-out)}.music-card.is-round .art{border-radius:50%}.music-card.is-round{text-align:center}@media(hover:hover){.music-card:hover .art{transform:translateY(-2px)}}.card-name{font-weight:620;font-size:var(--fs-md);line-height:1.25}.card-sub{font-size:var(--fs-sm);color:var(--text-dim)}.card-play{position:absolute;right:8px;bottom:8px;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:hsl(var(--accent-ink));background:hsl(var(--accent));box-shadow:0 8px 18px -6px #0009;transition:transform var(--dur-fast) var(--ease-spring),opacity var(--dur-fast)}.card-play svg{margin-left:2px}.card-play:active{transform:scale(.9)}.is-round .card-play{right:10%;bottom:6%}@media(hover:hover){.card-play{opacity:0;transform:translateY(6px)}.music-card:hover .card-play,.card-play:focus-visible,.card-play[data-busy=true]{opacity:1;transform:none}}.search-top{display:grid;gap:var(--space-5)}@media(min-width:900px){.search-top{grid-template-columns:minmax(280px,.9fr) 1.4fr}}.top-result{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);padding:var(--space-4)}.top-link{display:flex;align-items:center;gap:var(--space-4);min-width:0;width:100%;color:inherit;text-decoration:none}.top-name{font-size:var(--fs-xl);line-height:1.15;letter-spacing:-.01em}.track-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.track-row{display:flex;align-items:center;gap:var(--space-2);min-width:0;border-radius:var(--radius-sm)}.track-row.static{gap:var(--space-3);padding:6px 4px}.track-main{flex:1;display:flex;align-items:center;gap:var(--space-3);min-width:0;padding:7px 8px;border-radius:var(--radius-sm);text-align:left;color:inherit;transition:background var(--dur-fast)}@media(hover:hover){.track-main:hover:not(:disabled){background:rgb(var(--glass-tint) / .07)}}.track-main:active:not(:disabled){background:rgb(var(--glass-tint) / .1)}.track-no{width:22px;flex:0 0 auto;text-align:right;color:var(--text-faint);font-variant-numeric:tabular-nums;font-size:var(--fs-md)}.track-text{display:flex;flex-direction:column;min-width:0;flex:1}.track-name{font-weight:560}.track-sub{font-size:var(--fs-sm);color:var(--text-dim);display:flex;align-items:center;gap:5px}.track-dur{color:var(--text-faint);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.explicit{flex:0 0 auto;display:inline-grid;place-items:center;width:15px;height:15px;border-radius:3px;font-size:9.5px;font-weight:760;color:var(--page);background:var(--text-dim)}.track-queue{background:transparent!important;box-shadow:none!important;color:var(--text-dim)}.detail-hero{display:flex;flex-direction:column;align-items:center;gap:var(--space-5);text-align:center}.detail-art{width:min(260px,70vw);border-radius:var(--radius-md);box-shadow:0 30px 60px -28px #000000bf}.detail-meta{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}.detail-meta .eyebrow,.detail-meta p{margin:0}.detail-title{margin:0;font-size:clamp(26px,6vw,var(--fs-3xl));line-height:1.05;letter-spacing:-.02em;text-wrap:balance}.detail-desc{color:var(--text-dim);max-width:60ch}.detail-actions{margin-top:var(--space-3);justify-content:center}@media(min-width:720px){.detail-hero{flex-direction:row;align-items:flex-end;text-align:left}.detail-art{width:232px}.detail-meta{align-items:flex-start}.detail-actions{justify-content:flex-start}}.music-status{display:flex;gap:var(--space-4);align-items:flex-start;padding:var(--space-5)}.music-status p{margin:0;max-width:62ch}.music-status .btn{margin-top:var(--space-2)}.music-status-icon{display:grid;place-items:center;flex:0 0 auto;width:44px;height:44px;border-radius:14px;color:hsl(var(--accent));background:hsl(var(--accent) / .16)}.speakers{display:flex;flex-direction:column;gap:var(--space-4)}.speakers-group{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:hsl(var(--accent) / .1);box-shadow:inset 0 0 0 1px hsl(var(--accent) / .28);transition:box-shadow var(--dur-fast),background var(--dur-fast)}.speakers-group[data-drop=true]{background:hsl(var(--accent) / .2);box-shadow:inset 0 0 0 2px hsl(var(--accent) / .7)}.speakers-group>.slider{flex:none}.speakers-group-head{display:flex;align-items:center;gap:var(--space-3)}.speakers-group-head>svg{color:hsl(var(--accent))}.speakers-presets{display:flex;flex-wrap:wrap;gap:var(--space-2)}.speaker-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.speaker-row{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"tick main" "tick vol";align-items:center;column-gap:var(--space-3);row-gap:2px;padding:10px 8px;border-radius:var(--radius-sm)}.speaker-row[draggable=true]{cursor:grab}.speaker-row[data-in=true]{background:rgb(var(--glass-tint) / .06)}.speaker-row[data-off=true]{opacity:.45}@media(min-width:560px){.speaker-row{grid-template-columns:auto minmax(0,1fr) minmax(180px,1fr);grid-template-areas:"tick main vol"}}.speaker-tick{grid-area:tick;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;color:var(--text-dim);box-shadow:inset 0 0 0 1.5px var(--text-faint);transition:background var(--dur-fast),color var(--dur-fast),transform var(--dur-fast) var(--ease-spring)}.speaker-tick[aria-checked=true]{color:hsl(var(--accent-ink));background:hsl(var(--accent));box-shadow:none}.speaker-tick:active:not(:disabled){transform:scale(.88)}.speaker-tick:disabled{opacity:.5}.speaker-main{grid-area:main;display:flex;flex-direction:column;min-width:0}.speaker-name{display:flex;align-items:center;gap:6px;font-weight:600;min-width:0}.speaker-lead{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:hsl(var(--accent))}.speaker-sub{font-size:var(--fs-sm);color:var(--text-dim)}.speaker-vol{grid-area:vol;display:flex;align-items:center;gap:var(--space-2);min-width:0}.speaker-vol>:last-child{flex:1;min-width:0}.eq{display:inline-flex;align-items:flex-end;gap:2px;height:11px}.eq i{width:2.5px;height:100%;border-radius:1px;background:hsl(var(--accent));transform-origin:bottom;animation:eq .9s ease-in-out infinite alternate}.eq i:nth-child(2){animation-delay:-.3s}.eq i:nth-child(3){animation-delay:-.6s}@keyframes eq{0%{transform:scaleY(.3)}to{transform:scaleY(1)}}.seg-tabs{display:flex;gap:4px;padding:4px;margin-bottom:var(--space-4);border-radius:var(--radius-pill);background:var(--well)}.seg-tabs button{flex:1;padding:8px 12px;border-radius:var(--radius-pill);font-weight:600;color:var(--text-dim)}.seg-tabs button[aria-selected=true]{color:var(--text);background:rgb(var(--glass-tint) / .16);box-shadow:inset 0 1px rgb(var(--glass-tint) / .2)}.pick-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.pick-row{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:12px;border-radius:var(--radius-sm);text-align:left;color:inherit}.pick-row[aria-checked=true]{background:hsl(var(--accent) / .14);box-shadow:inset 0 0 0 1px hsl(var(--accent) / .4)}.pick-row:disabled{opacity:.45}.np-dock{flex:0 0 auto;padding:var(--space-2) max(var(--space-3),env(safe-area-inset-right)) calc(env(safe-area-inset-bottom) + var(--space-2)) max(var(--space-3),env(safe-area-inset-left));animation:np-in var(--dur) var(--ease-out)}@keyframes np-in{0%{transform:translateY(16px);opacity:0}}.np-bar{position:relative;display:flex;align-items:center;gap:var(--space-2);width:min(760px,100%);margin:0 auto;padding:7px 8px 7px 7px;border-radius:20px;overflow:visible;background:linear-gradient(158deg,rgb(var(--glass-tint) / var(--raised-fill-a)),rgb(var(--glass-tint) / var(--raised-fill-b))),var(--page)}.np-progress{position:absolute;left:14px;bottom:0;max-width:calc(100% - 28px);height:2px;border-radius:2px;background:hsl(var(--accent));transition:width 1s linear}.np-open{flex:1;display:flex;align-items:center;gap:var(--space-3);min-width:0;text-align:left;color:inherit;border-radius:14px}.np-open .art{border-radius:11px}.np-text{display:flex;flex-direction:column;min-width:0}.np-bar-title{font-weight:640;font-size:var(--fs-md)}.np-bar-sub{font-size:var(--fs-sm);color:var(--text-dim)}.np-rooms{display:inline-flex;align-items:center;gap:3px;color:hsl(var(--accent) / 1)}.np-rooms svg{flex:0 0 auto}.np-btn{width:44px;height:44px;background:transparent;box-shadow:none}.np-btn:first-of-type{background:rgb(var(--glass-tint) / .12)}.np-switcher{position:relative}.np-count{display:grid;place-items:center;min-width:26px;height:26px;padding:0 7px;border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:700;font-variant-numeric:tabular-nums;color:hsl(var(--accent-ink));background:hsl(var(--accent))}.np-menu{position:absolute;right:-40px;bottom:calc(100% + 14px);z-index:30;display:flex;flex-direction:column;gap:2px;width:min(300px,80vw);padding:6px;border-radius:var(--radius-md);background:linear-gradient(158deg,rgb(var(--glass-tint) / var(--raised-fill-a)),rgb(var(--glass-tint) / var(--raised-fill-b))),var(--page)}.np-menu button{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--radius-sm);text-align:left;color:inherit}.np-menu button[aria-checked=true]{background:hsl(var(--accent) / .14)}.toast-stack{bottom:calc(env(safe-area-inset-bottom) + 20px + var(--np-h, 0px))}.np-full{display:flex;flex-direction:column;gap:var(--space-5)}.np-switch{display:flex;flex-wrap:wrap;gap:var(--space-2)}.np-hero{display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.np-art{width:min(320px,100%);border-radius:var(--radius-lg);box-shadow:0 34px 70px -30px #000c}.np-titles{width:100%;text-align:center;min-width:0}.np-title{margin:0;font-size:var(--fs-xl);letter-spacing:-.01em;text-wrap:balance}.np-artist{margin:4px 0 0;color:var(--text-dim)}.np-transport{display:flex;align-items:center;justify-content:center;gap:var(--space-3)}.np-transport .icon-btn.is-on{color:hsl(var(--accent));background:hsl(var(--accent) / .16)}.np-play svg{margin-left:2px}.np-section{display:flex;flex-direction:column;gap:var(--space-3)}.np-h{margin:0;font-size:var(--fs-sm);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim)}.scrubber{width:100%}.scrubber input[type=range]{--p: 0%;width:100%;height:22px;margin:0;background:transparent;appearance:none;-webkit-appearance:none;cursor:pointer}.scrubber input[type=range]:disabled{cursor:default}.scrubber input[type=range]::-webkit-slider-runnable-track{height:5px;border-radius:3px;background:linear-gradient(90deg,hsl(var(--accent)) var(--p),var(--track-off) var(--p))}.scrubber input[type=range]::-moz-range-track{height:5px;border-radius:3px;background:linear-gradient(90deg,hsl(var(--accent)) var(--p),var(--track-off) var(--p))}.scrubber input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:15px;height:15px;margin-top:-5px;border-radius:50%;background:var(--knob);box-shadow:0 2px 6px #0006}.scrubber input[type=range]::-moz-range-thumb{width:15px;height:15px;border:0;border-radius:50%;background:var(--knob)}.scrubber input[type=range]:focus-visible{outline:2px solid hsl(var(--accent) / .7);outline-offset:2px;border-radius:6px}.scrubber-times{display:flex;justify-content:space-between;font-size:var(--fs-xs);color:var(--text-faint);font-variant-numeric:tabular-nums}.admin-music-redirect{display:flex;flex-direction:column;gap:4px;margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--hairline)}.admin-music-redirect code{font-size:var(--fs-sm);padding:6px 10px;border-radius:8px;background:var(--well)}.music-map{width:100%;border-collapse:collapse}.music-map th{text-align:left;font-size:var(--fs-xs);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-dim);padding:6px}.music-map td{padding:8px 6px;border-top:1px solid var(--hairline);vertical-align:middle}.music-map .field-sm{width:100%}@media(max-width:560px){.music-map thead{display:none}.music-map tr{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:10px 0;border-top:1px solid var(--hairline)}.music-map td{border:0;padding:0}.music-map td:first-child{grid-column:1 / -1}}@media(prefers-reduced-motion:reduce){.eq i,.np-dock{animation:none}.np-progress{transition:none}}.eh-spin{transform-box:view-box;animation:eh-spin 1.6s linear infinite}@keyframes eh-spin{to{transform:rotate(360deg)}}.spin-icon .eh-spin{animation:none}@media(prefers-reduced-motion:reduce){.eh-spin{animation:none}}
