@font-face{font-family:Ubuntu;font-style:normal;font-display:swap;font-weight:400;src:url(./ubuntu-cyrillic-ext-400-normal-B-Nhg57H.woff2)format("woff2"),url(./ubuntu-cyrillic-ext-400-normal-BQUrPAlD.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Ubuntu;font-style:normal;font-display:swap;font-weight:400;src:url(./ubuntu-cyrillic-400-normal-D9OZd8lm.woff2)format("woff2"),url(./ubuntu-cyrillic-400-normal-CD6XmiVF.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Ubuntu;font-style:normal;font-display:swap;font-weight:400;src:url(./ubuntu-greek-ext-400-normal-CeBDcuzJ.woff2)format("woff2"),url(./ubuntu-greek-ext-400-normal-VZgpvyyF.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Ubuntu;font-style:normal;font-display:swap;font-weight:400;src:url(./ubuntu-greek-400-normal-GaJa0t-K.woff2)format("woff2"),url(./ubuntu-greek-400-normal-UX4bU-Ff.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Ubuntu;font-style:normal;font-display:swap;font-weight:400;src:url(./ubuntu-latin-ext-400-normal-Bb6UNjxu.woff2)format("woff2"),url(./ubuntu-latin-ext-400-normal-kv0aZEtN.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Ubuntu;font-style:normal;font-display:swap;font-weight:400;src:url(./ubuntu-latin-400-normal-CQJ26Fy6.woff2)format("woff2"),url(./ubuntu-latin-400-normal-ChuJk2Dr.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Ubuntu;font-style:normal;font-display:swap;font-weight:500;src:url(./ubuntu-cyrillic-ext-500-normal-AcePgoUe.woff2)format("woff2"),url(./ubuntu-cyrillic-ext-500-normal-D_nARPSq.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Ubuntu;font-style:normal;font-display:swap;font-weight:500;src:url(./ubuntu-cyrillic-500-normal-BU9-HBoA.woff2)format("woff2"),url(./ubuntu-cyrillic-500-normal-CwjDQ7H5.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Ubuntu;font-style:normal;font-display:swap;font-weight:500;src:url(./ubuntu-greek-ext-500-normal-B00wCqpo.woff2)format("woff2"),url(./ubuntu-greek-ext-500-normal-C7ALJ6Zy.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Ubuntu;font-style:normal;font-display:swap;font-weight:500;src:url(./ubuntu-greek-500-normal-B3ImYAyH.woff2)format("woff2"),url(./ubuntu-greek-500-normal-D9iATQq0.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Ubuntu;font-style:normal;font-display:swap;font-weight:500;src:url(./ubuntu-latin-ext-500-normal-DzrGfuVI.woff2)format("woff2"),url(./ubuntu-latin-ext-500-normal-Cd8iAjtc.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Ubuntu;font-style:normal;font-display:swap;font-weight:500;src:url(./ubuntu-latin-500-normal-CnjGCQfM.woff2)format("woff2"),url(./ubuntu-latin-500-normal-BMp9VhBY.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Ubuntu;font-style:normal;font-display:swap;font-weight:700;src:url(./ubuntu-cyrillic-ext-700-normal-VUzwJTK6.woff2)format("woff2"),url(./ubuntu-cyrillic-ext-700-normal-BZbN9t83.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Ubuntu;font-style:normal;font-display:swap;font-weight:700;src:url(./ubuntu-cyrillic-700-normal-CF4plK0P.woff2)format("woff2"),url(./ubuntu-cyrillic-700-normal-DN03sdX6.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Ubuntu;font-style:normal;font-display:swap;font-weight:700;src:url(./ubuntu-greek-ext-700-normal-BKlOPkfe.woff2)format("woff2"),url(./ubuntu-greek-ext-700-normal-5K5_eCDc.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Ubuntu;font-style:normal;font-display:swap;font-weight:700;src:url(./ubuntu-greek-700-normal-Jbnau0eS.woff2)format("woff2"),url(./ubuntu-greek-700-normal-DM68am3C.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Ubuntu;font-style:normal;font-display:swap;font-weight:700;src:url(./ubuntu-latin-ext-700-normal-D3iP7lMw.woff2)format("woff2"),url(./ubuntu-latin-ext-700-normal-YrKfr4VU.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Ubuntu;font-style:normal;font-display:swap;font-weight:700;src:url(./ubuntu-latin-700-normal-DlYwEzNn.woff2)format("woff2"),url(./ubuntu-latin-700-normal-DAmh8SsM.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--c-bg:#000;--c-surface:#1a1a1a;--c-surface-raised:#242424;--c-border:#2e2e2e;--c-border-strong:#4a4a4a;--c-track:#6a6a6a;--c-text:#f2f2f2;--c-text-muted:#9a9a9a;--c-heat:#ffda5a;--c-accent:#38b0d3;--c-accent-glow:#38b0d373;--c-danger:#e05656;--c-danger-text:#f07070;--c-success:#4caf7d;--c-success-border:#4caf7d59;--c-warn:#e0a356;--c-warn-border:#e0a35659;--c-warn-bg:#34261499;--c-chrome-top:#3c3c3c;--c-chrome-bottom:#111;--c-chrome-hairline:#4c4c4c;--c-chrome-shadow:#0000008c;--h-navbar:48px;--h-footer:78px;--h-banner:32px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:1rem;--press-scale:.94;--press-duration:.12s;--duration-fade:.2s;--duration-slide:.22s;--font-sans:"Ubuntu", system-ui, -apple-system, sans-serif;--tracking-tight:-.01em;--tracking-wide:.09em;--z-background:-1;--z-chrome:100}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{background:var(--c-bg);color:var(--c-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{min-height:100vh}h1,h2,h3,h4,h5,h6,p{margin:0}a{color:var(--c-accent)}button,input,select,textarea{color:inherit;font-family:inherit}ul,ol{margin:0;padding:0;list-style:none}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.admin-list{gap:var(--space-2);display:grid}.admin-card{padding:var(--space-3) var(--space-4);border:1px solid var(--c-border);border-radius:var(--radius-md);background-color:var(--c-surface)}.admin-card--error{border-color:var(--c-danger);color:var(--c-danger-text)}.admin-list{grid-template-columns:minmax(0,1fr)}.pressable{transition:transform var(--press-duration) ease}.pressable:active{transform:scale(var(--press-scale))}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.fade-in{animation:.2s both fade-in}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.fade-in-down{animation:.32s cubic-bezier(.22,.61,.36,1) both fade-in-down}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:.32s cubic-bezier(.22,.61,.36,1) both fade-in-up}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.shake{animation:.4s shake}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.35}}.pulse-soft{animation:1.6s ease-in-out infinite pulse-soft}@media (prefers-reduced-motion:reduce){.pressable,.fade-in,.fade-in-down,.fade-in-up,.shake,.pulse-soft{transition:none!important;animation:none!important}.pressable:active{transform:none}}.cover[data-v-25b60417]{inline-size:100%;position:relative}.cover__bleed[data-v-25b60417]{object-fit:cover;filter:blur(2.5rem)saturate(1.6);opacity:.55;z-index:0;pointer-events:none;border-radius:var(--radius-lg);block-size:124%;inline-size:124%;position:absolute;inset:-12%}.cover__well[data-v-25b60417]{z-index:1;aspect-ratio:1;border:1px solid var(--c-border);border-radius:var(--radius-sm);background-color:#0b0b0b;place-items:center;display:grid;position:relative;overflow:hidden}.cover--hero .cover__well[data-v-25b60417]{border-radius:var(--radius-md);box-shadow:inset 0 1px 12px #000000d9,0 18px 44px #0000008c}.cover__art[data-v-25b60417]{object-fit:cover;block-size:100%;inline-size:100%;display:block}.cover__placeholder[data-v-25b60417]{color:var(--c-text-muted);opacity:.5;font-size:1.5rem}.cover--hero .cover__placeholder[data-v-25b60417]{font-size:3.5rem}.players[data-v-6cb26126]{min-block-size:100%;padding:var(--space-4);flex-direction:column;display:flex}.players__grid[data-v-6cb26126]{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));display:grid}@media (width>=480px){.players[data-v-6cb26126]{padding:var(--space-6)}.players__grid[data-v-6cb26126]{gap:var(--space-4)}}.players__cell[data-v-6cb26126]{justify-content:center;display:flex}.player-tile[data-v-6cb26126]{align-items:center;gap:var(--space-4);inline-size:100%;max-inline-size:30rem;padding:var(--space-3);background-color:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);color:var(--c-text);transition:background-color .2s ease, border-color .2s ease, transform var(--press-duration) ease;grid-template-columns:4.5rem minmax(0,1fr);text-decoration:none;display:grid}.player-tile[data-v-6cb26126]:hover,.player-tile[data-v-6cb26126]:focus-visible{background-color:var(--c-surface-raised);border-color:#3a3a3a}.player-tile__text[data-v-6cb26126]{min-inline-size:0}.player-tile__status[data-v-6cb26126]{align-items:center;gap:var(--space-2);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--c-text-muted);min-block-size:1rem;font-size:.6875rem;font-weight:500;display:flex}.player-tile__dot[data-v-6cb26126]{background-color:var(--c-accent);block-size:.375rem;inline-size:.375rem;box-shadow:0 0 6px var(--c-accent-glow);border-radius:50%}.player-tile__name[data-v-6cb26126]{letter-spacing:var(--tracking-tight);overflow-wrap:anywhere;margin-block-start:var(--space-1);font-size:1.0625rem;font-weight:500;line-height:1.2}.player-tile__title[data-v-6cb26126],.player-tile__artist[data-v-6cb26126]{text-overflow:ellipsis;white-space:nowrap;line-height:1.35;overflow:hidden}.player-tile__title[data-v-6cb26126]{color:var(--c-text);margin-block-start:var(--space-2);font-size:.875rem}.player-tile__artist[data-v-6cb26126]{color:var(--c-text-muted);font-size:.8125rem}@media (prefers-reduced-motion:reduce){.player-tile[data-v-6cb26126]{transition:none}}.players__empty[data-v-6cb26126]{gap:var(--space-2);text-align:center;max-inline-size:26rem;margin:auto;display:grid}.players__empty-title[data-v-6cb26126]{color:var(--c-text);font-size:1.125rem}.players__empty-hint[data-v-6cb26126]{color:var(--c-text-muted);font-size:.875rem;line-height:1.5}.base-slider[data-v-c91d60a4]{appearance:none;cursor:pointer;background:0 0;block-size:2.75rem;inline-size:100%}.base-slider[data-v-c91d60a4]::-webkit-slider-runnable-track{border-radius:var(--radius-sm);background:var(--c-track);block-size:.25rem}.base-slider[data-v-c91d60a4]::-moz-range-track{border-radius:var(--radius-sm);background:var(--c-track);block-size:.25rem}.base-slider[data-v-c91d60a4]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--c-accent);block-size:1rem;inline-size:1rem;box-shadow:0 0 6px var(--c-accent-glow);border-radius:50%;margin-block-start:-.375rem}.base-slider[data-v-c91d60a4]::-moz-range-thumb{background:var(--c-accent);block-size:1rem;inline-size:1rem;box-shadow:0 0 6px var(--c-accent-glow);border:0;border-radius:50%}.icon-button[data-v-3835ef8d]{block-size:44px;inline-size:44px;color:var(--c-text);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;flex:none;place-items:center;padding:0;display:inline-grid}.icon-button--raised[data-v-3835ef8d]{background:var(--c-surface-raised);border:1px solid #ffffff14;box-shadow:0 1px 2px #0006}.icon-button--raised[data-v-3835ef8d]:hover{color:var(--c-accent);background:#303030}.icon-button--bare[data-v-3835ef8d]:hover{color:var(--c-accent)}.icon-button__glyph[data-v-3835ef8d]{font-size:1.25rem;line-height:0;display:flex}.player[data-v-39405b1d]{min-block-size:100%;max-inline-size:30rem;padding:var(--space-4);flex-direction:column;margin-inline:auto;display:flex}.player__header[data-v-39405b1d]{align-items:center;column-gap:var(--space-4);grid-template-columns:auto minmax(0,1fr);margin-block-end:var(--space-6);padding-block-end:var(--space-4);display:grid;position:relative}.player__plate[data-v-39405b1d]{background-color:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);grid-row:span 2;place-items:center;block-size:3.25rem;inline-size:3.25rem;display:grid}.player__plate-icon[data-v-39405b1d]{color:var(--c-accent);filter:drop-shadow(0 0 10px var(--c-accent-glow));font-size:1.75rem}.player__eyebrow[data-v-39405b1d]{align-items:center;gap:var(--space-2);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--c-text-muted);font-size:.6875rem;font-weight:500;display:flex}.player__dot[data-v-39405b1d]{background-color:var(--c-accent);block-size:.375rem;inline-size:.375rem;box-shadow:0 0 6px var(--c-accent-glow);border-radius:50%}.player__name[data-v-39405b1d]{letter-spacing:var(--tracking-tight);overflow-wrap:anywhere;margin-block-start:var(--space-1);font-size:clamp(1.375rem,5vw,1.75rem);font-weight:400;line-height:1.15}.player__header[data-v-39405b1d]:after{content:"";background-image:linear-gradient(90deg, transparent, var(--c-accent), transparent);opacity:.55;block-size:2px;position:absolute;inset-block-end:0;inset-inline:0}.player__stage[data-v-39405b1d]{justify-content:center;margin-block-end:var(--space-6);display:flex}.player__cover[data-v-39405b1d]{max-inline-size:18rem}.player__meta[data-v-39405b1d]{gap:var(--space-1);text-align:center;margin-block-end:var(--space-6);display:grid}.player__track[data-v-39405b1d]{letter-spacing:var(--tracking-tight);overflow-wrap:anywhere;font-size:1.25rem;font-weight:500;line-height:1.25}.player__track--idle[data-v-39405b1d]{color:var(--c-text-muted);font-weight:400}.player__artist[data-v-39405b1d]{color:var(--c-text);overflow-wrap:anywhere;font-size:.9375rem}.player__album[data-v-39405b1d]{color:var(--c-text-muted);overflow-wrap:anywhere;font-size:.8125rem}.player__position[data-v-39405b1d]{align-items:center;gap:var(--space-3);margin-block-end:var(--space-6);display:flex}.player__clock[data-v-39405b1d]{font-variant-numeric:tabular-nums;color:var(--c-text-muted);text-align:center;min-inline-size:2.5rem;font-size:.75rem}.player__filament[data-v-39405b1d]{background-color:var(--c-border);border-radius:1px;flex:1;block-size:2px;position:relative;overflow:hidden}.player__filament-fill[data-v-39405b1d]{background-image:linear-gradient(90deg, transparent, var(--c-accent));block-size:100%;box-shadow:0 0 8px var(--c-accent-glow);transition:inline-size .5s linear;display:block}.player__filament--open[data-v-39405b1d]{opacity:.4}.player__transport[data-v-39405b1d]{justify-content:center;align-items:center;gap:var(--space-4);margin-block-end:var(--space-8);display:flex;position:relative}.player__step[data-v-39405b1d]{color:var(--c-text-muted);font-size:1.5rem;transition:color .2s}.player__step[data-v-39405b1d]:hover,.player__step[data-v-39405b1d]:focus-visible{color:var(--c-text)}.player__stop[data-v-39405b1d]{opacity:.7;font-size:1.75rem;position:absolute;inset-inline-start:0}.player__stop[data-v-39405b1d]:hover,.player__stop[data-v-39405b1d]:focus-visible{opacity:1}.player__toggle[data-v-39405b1d]{background-color:var(--c-accent);block-size:4rem;inline-size:4rem;box-shadow:0 0 24px var(--c-accent-glow);color:#06222b;cursor:pointer;transition:filter .2s ease, transform var(--press-duration) ease;border:0;border-radius:50%;place-items:center;padding:0;font-size:2rem;display:grid}.player__toggle[data-v-39405b1d]:hover,.player__toggle[data-v-39405b1d]:focus-visible{filter:brightness(1.12)}.player__volume[data-v-39405b1d]{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background-color:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.player__volume-icon[data-v-39405b1d]{color:var(--c-text-muted);font-size:1.25rem}.player__volume-value[data-v-39405b1d]{font-variant-numeric:tabular-nums;color:var(--c-text-muted);text-align:end;min-inline-size:2.75rem;font-size:.8125rem}@media (height<=800px){.player__cover[data-v-39405b1d]{max-inline-size:13rem}.player__stage[data-v-39405b1d],.player__meta[data-v-39405b1d],.player__position[data-v-39405b1d]{margin-block-end:var(--space-4)}.player__transport[data-v-39405b1d]{margin-block-end:var(--space-6)}}@media (prefers-reduced-motion:reduce){.player__filament-fill[data-v-39405b1d],.player__step[data-v-39405b1d],.player__toggle[data-v-39405b1d]{transition:none}}.camera-frame[data-v-4b6ff18c]{inline-size:100%}.camera-frame__well[data-v-4b6ff18c]{aspect-ratio:4/3;border:1px solid var(--c-border);border-radius:var(--radius-sm);background-color:#0b0b0b;position:relative;overflow:hidden;box-shadow:inset 0 1px 10px #000000e6}.camera-frame--single .camera-frame__well[data-v-4b6ff18c]{border-radius:var(--radius-md);box-shadow:inset 0 1px 14px #000000e6,0 14px 34px #00000080}.camera-frame__picture[data-v-4b6ff18c]{object-fit:cover;block-size:100%;inline-size:100%;transition:opacity .2s;display:block}.camera-frame--single .camera-frame__picture[data-v-4b6ff18c]{object-fit:contain}.camera-frame__picture--blank[data-v-4b6ff18c]{opacity:0}.camera-frame__live[data-v-4b6ff18c]{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3) var(--space-3) var(--space-3);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--c-text);pointer-events:none;background-image:linear-gradient(150deg,#000000bf,#0000 85%);font-size:.6875rem;font-weight:500;display:flex;position:absolute;inset-block-start:0;inset-inline-start:0}.camera-frame__dot[data-v-4b6ff18c]{background-color:var(--c-accent);block-size:.4rem;inline-size:.4rem;box-shadow:0 0 8px var(--c-accent-glow);border-radius:50%}.camera-frame__state[data-v-4b6ff18c]{align-content:center;justify-items:center;gap:var(--space-3);padding:var(--space-4);text-align:center;display:grid;position:absolute;inset:0}.camera-frame__glyph[data-v-4b6ff18c]{color:var(--c-text-muted);opacity:.45;font-size:1.75rem}.camera-frame__state--down .camera-frame__glyph[data-v-4b6ff18c]{color:var(--c-warn);opacity:.9}.camera-frame__message[data-v-4b6ff18c]{color:var(--c-text-muted);font-size:.8125rem;line-height:1.3}.camera-frame__retry[data-v-4b6ff18c]{min-block-size:2.75rem;padding:var(--space-2) var(--space-4);background-color:var(--c-surface-raised);border:1px solid var(--c-border);border-radius:var(--radius-sm);color:var(--c-text);cursor:pointer;transition:color .2s ease, border-color .2s ease, transform var(--press-duration) ease;font-size:.875rem}.camera-frame__retry[data-v-4b6ff18c]:hover,.camera-frame__retry[data-v-4b6ff18c]:focus-visible{color:var(--c-accent);border-color:var(--c-accent)}@media (prefers-reduced-motion:reduce){.camera-frame__picture[data-v-4b6ff18c],.camera-frame__retry[data-v-4b6ff18c]{transition:none}}.cameras[data-v-7ca3692b]{min-block-size:100%;padding:var(--space-4);flex-direction:column;display:flex}.cameras__grid[data-v-7ca3692b]{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));display:grid}@media (width>=480px){.cameras[data-v-7ca3692b]{padding:var(--space-6)}.cameras__grid[data-v-7ca3692b]{gap:var(--space-4)}}.cameras__cell[data-v-7ca3692b]{justify-content:center;display:flex}.camera-tile[data-v-7ca3692b]{gap:var(--space-3);inline-size:100%;max-inline-size:30rem;padding:var(--space-3);background-color:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);color:var(--c-text);transition:background-color .2s ease, border-color .2s ease, transform var(--press-duration) ease;grid-template-rows:auto 1fr;text-decoration:none;display:grid;position:relative}.camera-tile[data-v-7ca3692b]:hover,.camera-tile[data-v-7ca3692b]:focus-visible{background-color:var(--c-surface-raised);border-color:#3a3a3a}.camera-tile__name[data-v-7ca3692b]{letter-spacing:var(--tracking-tight);overflow-wrap:anywhere;min-inline-size:0;font-size:1.0625rem;font-weight:500;line-height:1.2}.camera-tile[data-v-7ca3692b]:after{content:"";background-image:linear-gradient(90deg, transparent, var(--c-accent) 30%, var(--c-accent) 70%, transparent);block-size:2px;box-shadow:0 0 12px var(--c-accent-glow);opacity:0;pointer-events:none;transition:transform .26s cubic-bezier(.22,.61,.36,1),opacity .2s;position:absolute;inset-block-end:0;inset-inline:12%;transform:scaleX(0)}.camera-tile[data-v-7ca3692b]:hover:after,.camera-tile[data-v-7ca3692b]:focus-visible:after,.camera-tile[data-v-7ca3692b]:active:after{opacity:1;transform:scaleX(1)}@media (prefers-reduced-motion:reduce){.camera-tile[data-v-7ca3692b],.camera-tile[data-v-7ca3692b]:after{transition:none}}.cameras__empty[data-v-7ca3692b]{gap:var(--space-2);text-align:center;max-inline-size:26rem;margin:auto;display:grid}.cameras__empty-title[data-v-7ca3692b]{color:var(--c-text);font-size:1.125rem}.cameras__empty-hint[data-v-7ca3692b]{color:var(--c-text-muted);font-size:.875rem;line-height:1.5}.camera[data-v-66dd7f29]{min-block-size:100%;inline-size:100%;max-inline-size:48rem;padding:var(--space-4);flex-direction:column;margin-inline:auto;display:flex}.camera__header[data-v-66dd7f29]{align-items:center;column-gap:var(--space-4);grid-template-columns:auto minmax(0,1fr);margin-block-end:var(--space-4);padding-block-end:var(--space-4);display:grid;position:relative}.camera__plate[data-v-66dd7f29]{background-color:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);grid-row:span 2;place-items:center;block-size:3.25rem;inline-size:3.25rem;display:grid}.camera__icon[data-v-66dd7f29]{color:var(--c-accent);filter:drop-shadow(0 0 10px var(--c-accent-glow));font-size:1.75rem}.camera__eyebrow[data-v-66dd7f29]{letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--c-text-muted);font-size:.6875rem;font-weight:500}.camera__name[data-v-66dd7f29]{letter-spacing:var(--tracking-tight);overflow-wrap:anywhere;margin-block-start:var(--space-1);font-size:clamp(1.375rem,5vw,1.75rem);font-weight:400;line-height:1.15}.camera__header[data-v-66dd7f29]:after{content:"";background-image:linear-gradient(90deg, transparent, var(--c-accent) 30%, var(--c-accent) 70%, transparent);block-size:2px;box-shadow:0 0 12px var(--c-accent-glow);pointer-events:none;position:absolute;inset-block-end:0;inset-inline:0}.room-icon[data-v-cbd52aa6]{object-fit:contain;block-size:100%;inline-size:100%;display:block}.home[data-v-678695ee]{min-block-size:100%;padding:var(--space-4);flex-direction:column;display:flex}.home__grid[data-v-678695ee]{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));inline-size:100%;max-inline-size:76rem;margin-inline:auto;display:grid}@media (width>=480px){.home[data-v-678695ee]{padding:var(--space-6)}.home__grid[data-v-678695ee]{gap:var(--space-4)}}.home__cell[data-v-678695ee]{justify-content:center;display:flex}.room-tile[data-v-678695ee]{gap:var(--space-2);inline-size:100%;max-inline-size:22rem;padding:var(--space-3);background-color:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);color:var(--c-text);transition:background-color .2s ease, border-color .2s ease, transform var(--press-duration) ease;grid-template-rows:auto 1fr auto;text-decoration:none;display:grid;position:relative}.room-tile[data-v-678695ee]:hover,.room-tile[data-v-678695ee]:focus-visible{background-color:var(--c-surface-raised);border-color:#3a3a3a}.room-tile__head[data-v-678695ee]{justify-content:flex-end;align-items:baseline;gap:var(--space-2);min-block-size:1.25rem;display:flex}.room-tile__temp[data-v-678695ee]{align-items:center;gap:var(--space-1);font-variant-numeric:tabular-nums;color:var(--c-text);white-space:nowrap;flex:none;font-size:.8125rem;display:flex}.room-tile__temp-icon[data-v-678695ee]{color:var(--c-text-muted);font-size:.875rem}.room-tile__body[data-v-678695ee]{align-items:center;gap:var(--space-2);align-self:end;min-inline-size:0;display:flex}.room-tile__icon[data-v-678695ee]{aspect-ratio:11/6;opacity:.88;filter:drop-shadow(0 0 #0000);min-block-size:0;inline-size:100%;transition:opacity .2s,filter .26s}.room-tile:hover .room-tile__icon[data-v-678695ee],.room-tile:focus-visible .room-tile__icon[data-v-678695ee],.room-tile:active .room-tile__icon[data-v-678695ee]{opacity:1;filter:drop-shadow(0 2px 10px var(--c-accent-glow))}.room-tile__name[data-v-678695ee]{letter-spacing:var(--tracking-tight);overflow-wrap:anywhere;min-inline-size:0;font-size:1.0625rem;font-weight:500;line-height:1.2}.room-tile[data-v-678695ee]:after{content:"";background-image:linear-gradient(90deg, transparent, var(--c-accent) 30%, var(--c-accent) 70%, transparent);block-size:2px;box-shadow:0 0 12px var(--c-accent-glow);opacity:0;pointer-events:none;transition:transform .26s cubic-bezier(.22,.61,.36,1),opacity .2s;position:absolute;inset-block-end:0;inset-inline:12%;transform:scaleX(0)}.room-tile[data-v-678695ee]:hover:after,.room-tile[data-v-678695ee]:focus-visible:after,.room-tile[data-v-678695ee]:active:after{opacity:1;transform:scaleX(1)}.home__empty[data-v-678695ee]{gap:var(--space-2);text-align:center;max-inline-size:22rem;margin:auto;display:grid}.home__empty-title[data-v-678695ee]{letter-spacing:var(--tracking-tight);font-size:1.125rem}.home__empty-hint[data-v-678695ee]{color:var(--c-text-muted);font-size:.875rem}@media (prefers-reduced-motion:reduce){.room-tile[data-v-678695ee],.room-tile__icon[data-v-678695ee],.room-tile[data-v-678695ee]:after{transition:none}}.unrestorable[data-v-20947a1a]{padding:var(--space-3) var(--space-4);border:1px solid var(--c-warn-border);border-radius:var(--radius-md);background-color:var(--c-warn-bg);color:var(--c-warn);overflow-wrap:anywhere;flex-basis:100%;font-size:.875rem;line-height:1.45}.unrestorable ul[data-v-20947a1a]{margin:var(--space-2) 0 0;padding-left:var(--space-5)}.unrestorable li+li[data-v-20947a1a]{margin-top:var(--space-2)}.login[data-v-bb412cbe]{min-block-size:100%;padding:var(--space-8) var(--space-4);display:flex}.login__panel[data-v-bb412cbe]{isolation:isolate;inline-size:min(20rem,100%);margin:auto;position:relative}.login__panel[data-v-bb412cbe]:before{content:"";z-index:-1;pointer-events:none;background-image:radial-gradient(#000000c7,#0000 70%);position:absolute;inset:-20% -25%}.login__intro[data-v-bb412cbe]{margin-block-end:var(--space-8)}.login__eyebrow[data-v-bb412cbe]{letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--c-text-muted);font-size:.6875rem;font-weight:500}.login__welcome[data-v-bb412cbe]{letter-spacing:var(--tracking-tight);margin-block-start:var(--space-2);font-size:clamp(1.75rem,8vw,2.375rem);font-weight:400;line-height:1.1}.login__field+.login__field[data-v-bb412cbe]{margin-block-start:var(--space-4)}.login__label[data-v-bb412cbe]{letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--c-text-muted);margin-block-end:var(--space-2);font-size:.6875rem;font-weight:500;display:block}.login__control[data-v-bb412cbe]{position:relative}.login__input[data-v-bb412cbe]{inline-size:100%;padding:var(--space-3) var(--space-4);appearance:none;border-radius:var(--radius-md);color:var(--c-text);background-color:#ffffff0f;border:1px solid #ffffff24;font-size:1rem;transition:background-color .2s,border-color .2s;display:block}.login__input[data-v-bb412cbe]:focus,.login__input[data-v-bb412cbe]:focus-visible{outline:none}.login__control:focus-within .login__input[data-v-bb412cbe]{background-color:#ffffff1a;border-color:#38b0d38c}.login__control[data-v-bb412cbe]:after{content:"";background-image:linear-gradient(90deg, transparent, var(--c-accent) 30%, var(--c-accent) 70%, transparent);block-size:2px;box-shadow:0 0 12px var(--c-accent-glow);opacity:0;pointer-events:none;transition:transform .26s cubic-bezier(.22,.61,.36,1),opacity .2s;position:absolute;inset-block-end:0;inset-inline:8%;transform:scaleX(0)}.login__control[data-v-bb412cbe]:focus-within:after{opacity:1;transform:scaleX(1)}.login__submit[data-v-bb412cbe]{justify-content:center;align-items:center;gap:var(--space-2);min-block-size:2.75rem;inline-size:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background-color:var(--c-accent);color:#04222b;cursor:pointer;box-shadow:0 0 18px var(--c-accent-glow);transition:background-color .2s ease, box-shadow .2s ease, transform var(--press-duration) ease;border:0;margin-block-start:var(--space-6);font-size:1rem;font-weight:500;display:flex}.login__submit[data-v-bb412cbe]:hover:not(:disabled){background-color:#4cc0e2}.login__submit[data-v-bb412cbe]:disabled{color:var(--c-text-muted);box-shadow:none;cursor:not-allowed;background-color:#ffffff14}.login__spinner[data-v-bb412cbe]{font-size:1.125rem;animation:.9s linear infinite login-spin-bb412cbe}@keyframes login-spin-bb412cbe{to{transform:rotate(360deg)}}.login__status[data-v-bb412cbe]{min-block-size:3.5rem;gap:var(--space-2);align-content:start;padding-block-start:var(--space-3);display:grid}.login__offline[data-v-bb412cbe]{align-items:center;gap:0 var(--space-2);grid-template-columns:auto 1fr;font-size:.8125rem;line-height:1.35;display:grid}.login__offline-icon[data-v-bb412cbe]{color:var(--c-warn);grid-row:span 2;font-size:1.25rem}.login__offline-title[data-v-bb412cbe]{color:var(--c-warn);font-weight:500}.login__offline-hint[data-v-bb412cbe]{color:var(--c-text-muted)}.login__error[data-v-bb412cbe]{color:var(--c-danger);font-size:.8125rem}.login__restored[data-v-bb412cbe]{color:var(--c-warn);font-size:.8125rem;line-height:1.4}@media (prefers-reduced-motion:reduce){.login__input[data-v-bb412cbe],.login__submit[data-v-bb412cbe],.login__control[data-v-bb412cbe]:after{transition:none}.login__spinner[data-v-bb412cbe]{animation:none}}.image-icon[data-v-87b8b528]{object-fit:contain;block-size:1em;inline-size:1em;display:block}.sensor-status[data-v-d4ed2f14]{opacity:.75;flex:none;font-size:1.125rem}.sensor-status--urgent[data-v-d4ed2f14]{opacity:1;animation:1.6s ease-in-out infinite sensor-status-blink-d4ed2f14}@keyframes sensor-status-blink-d4ed2f14{0%,to{opacity:1}50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.sensor-status--urgent[data-v-d4ed2f14]{animation:none}}.io-row[data-v-5429f361]{align-items:center;gap:var(--space-3);min-block-size:4.25rem;inline-size:100%;padding:var(--space-3);background-color:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.io-row--opens[data-v-5429f361]{cursor:pointer;transition:background-color .16s,border-color .16s}.io-row--opens[data-v-5429f361]:hover,.io-row--opens[aria-expanded=true][data-v-5429f361]{background-color:var(--c-surface-raised);border-color:var(--c-border-strong)}.io-row__lead[data-v-5429f361]{flex:none;place-items:center;block-size:1.75rem;inline-size:1.75rem;font-size:1.375rem;display:grid;position:relative}.io-row__pending[data-v-5429f361]{background-color:var(--c-accent);block-size:.5rem;inline-size:.5rem;box-shadow:0 0 0 2px var(--c-surface), 0 0 6px var(--c-accent-glow);border-radius:50%;position:absolute;inset-block-start:-1px;inset-inline-end:-1px}.io-row__text[data-v-5429f361]{flex-direction:column;flex:1;gap:.125rem;min-inline-size:6rem;display:flex}.io-row__name[data-v-5429f361]{letter-spacing:var(--tracking-tight);overflow-wrap:anywhere;font-size:.9375rem;font-weight:500;line-height:1.25}.io-row__note[data-v-5429f361]{letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--c-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;font-weight:500;overflow:hidden}.io-row__value[data-v-5429f361]{font-variant-numeric:tabular-nums;color:var(--c-text-muted);white-space:nowrap;text-overflow:ellipsis;flex:none;max-inline-size:min(16rem,45%);font-size:.9375rem;overflow:hidden}.io-row__actions[data-v-5429f361]{align-items:center;gap:var(--space-2);flex:none;margin-inline-start:auto;display:flex}@media (width<=24rem){.io-row[data-v-5429f361]{gap:var(--space-2);padding-inline:var(--space-2)}}.analog-in-io__icon[data-v-6d4f094b]{color:var(--c-text-muted)}.analog-in-io__reading[data-v-6d4f094b]{color:var(--c-text)}.mask-icon[data-v-9b8c23c5]{block-size:1em;inline-size:1em;-webkit-mask-image:var(--mask-icon-src);-webkit-mask-image:var(--mask-icon-src);mask-image:var(--mask-icon-src);background-color:currentColor;display:block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.action-button[data-v-455017d2]{cursor:pointer;border-radius:var(--radius-sm);color:#fff;background:0 0;border:0;flex:none;place-items:center;block-size:44px;inline-size:44px;padding:0;display:inline-grid;position:relative}.action-button[data-v-455017d2]>*{grid-area:1/1}.action-button__face[data-v-455017d2]{object-fit:contain;block-size:31px;inline-size:37px;transition:filter .16s}.action-button[data-v-455017d2]:disabled{opacity:.4;cursor:default}.action-button:hover:not(:disabled) .action-button__face[data-v-455017d2]{filter:brightness(1.25)}.action-button__overlay[data-v-455017d2]{font-size:18px}.action-button__glow[data-v-455017d2]{opacity:0;pointer-events:none;background-position:50%;background-repeat:no-repeat;background-size:contain;block-size:31px;inline-size:37px;transition:opacity .8s}.action-button:active .action-button__glow[data-v-455017d2]{opacity:1;transition-duration:.1s}@media (prefers-reduced-motion:reduce){.action-button__face[data-v-455017d2],.action-button__glow[data-v-455017d2]{transition:none}}.analog-out-io__icon[data-v-dc7cab07]{color:var(--c-text-muted)}.analog-out-io__reading[data-v-dc7cab07]{color:var(--c-text)}.climate-dial[data-v-a3318a07]{flex:none;margin-inline:auto;display:block;position:relative}.climate-dial--mini[data-v-a3318a07]{margin-inline:0}.climate-dial__svg[data-v-a3318a07]{display:block}.climate-dial__track[data-v-a3318a07],.climate-dial__fill[data-v-a3318a07]{fill:none;stroke-linecap:round}.climate-dial__track[data-v-a3318a07]{stroke:var(--c-border)}.climate-dial__mark[data-v-a3318a07]{stroke:#fff;stroke-width:2px;stroke-linecap:round;fill:#fff}.climate-dial__mark[data-v-a3318a07]:is(circle){stroke:none}.climate-dial__knob[data-v-a3318a07]{stroke:var(--c-surface);stroke-width:2px}.climate-dial--mini .climate-dial__knob[data-v-a3318a07]{stroke-width:1px}.climate-dial__inner[data-v-a3318a07]{text-align:center;pointer-events:none;position:absolute;inset-inline:0;transform:translateY(-50%)}.climate-detail[data-v-2eda7092]{flex-direction:column;align-items:center;display:flex}.climate-detail__room[data-v-2eda7092]{white-space:nowrap;font-size:1.375rem;font-weight:300}.climate-detail__word[data-v-2eda7092]{white-space:nowrap;margin-block-start:.375rem;font-size:1rem;font-weight:500}.climate-detail__gauge[data-v-2eda7092]{block-size:3px;inline-size:8.75rem;margin:var(--space-2) auto 0;background:#ffffff1f;border-radius:2px;position:relative;overflow:hidden}.climate-detail__gauge i[data-v-2eda7092]{background:var(--c-warn);position:absolute;inset-block:0;inset-inline-start:0}.climate-detail__line[data-v-2eda7092]{justify-content:center;align-items:center;gap:var(--space-4);margin-block-start:var(--space-1);display:flex}.climate-detail__line--range[data-v-2eda7092]{gap:var(--space-2) .875rem;flex-wrap:wrap}.climate-detail__group[data-v-2eda7092]{align-items:center;gap:var(--space-1);display:flex}.climate-detail__num[data-v-2eda7092]{font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap;min-inline-size:9.375rem;font-size:3.5rem;font-weight:300;line-height:1}.climate-detail__line--range .climate-detail__num[data-v-2eda7092]{min-inline-size:5.5rem;font-size:2.25rem}.climate-detail__num--dim[data-v-2eda7092]{color:var(--c-text-muted)}.climate-detail__num--heat[data-v-2eda7092]{color:var(--c-heat)}.climate-detail__num--cool[data-v-2eda7092]{color:var(--c-accent)}.climate-detail__stop[data-v-2eda7092]{color:var(--c-text-muted);text-align:center;margin-block-start:var(--space-2);font-size:.8125rem}.climate-detail__pill[data-v-2eda7092]{justify-content:center;align-items:center;gap:var(--space-2);block-size:2.5rem;color:var(--c-text);border:1px solid var(--c-border-strong);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;margin-block-start:var(--space-6);padding:0 .875rem 0 .75rem;font-size:.9375rem;font-weight:500;display:inline-flex}.climate-detail__pill[data-v-2eda7092]:disabled{opacity:.45;cursor:default}.climate-detail__pill-icon[data-v-2eda7092]{font-size:1.125rem}.climate-detail__pill-chevron[data-v-2eda7092]{color:var(--c-text-muted);font-size:1.125rem}.climate-detail__more[data-v-2eda7092]{min-block-size:2.75rem;padding:var(--space-4) var(--space-2) 0;color:var(--c-text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:.375rem;margin-block-start:auto;font-size:.875rem;display:flex}.climate-detail--compact .climate-detail__more[data-v-2eda7092]{margin-block-start:1.25rem;padding-block-start:0}.climate-detail__more[data-v-2eda7092]:hover{color:var(--c-text)}.climate-choice[data-v-112ef385]{align-items:center;gap:var(--space-3);text-align:start;block-size:2.75rem;inline-size:100%;color:var(--c-text);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;padding:0 .625rem;font-size:.9375rem;display:flex}.climate-choice[data-v-112ef385]:hover:not(.climate-choice--on){background:var(--c-surface-raised)}.climate-choice--on[data-v-112ef385]{color:var(--c-accent);background:#38b0d31f}.climate-choice__lead[data-v-112ef385]{color:var(--c-text-muted);place-items:center;font-size:1.25rem;display:inline-grid}.climate-choice__lead[data-v-112ef385]:empty{display:none}.climate-choice--on .climate-choice__lead[data-v-112ef385]{color:var(--c-accent)}.climate-choice__label[data-v-112ef385]{flex:1}.climate-choice__tick[data-v-112ef385]{font-size:1.25rem}.base-dialog[data-v-a8d145d7]{z-index:200;padding:var(--space-4);background-color:#0000008c;background-image:radial-gradient(#000000d1,#00000059 70%);display:flex;position:fixed;inset:0}.base-dialog__panel[data-v-a8d145d7]{max-block-size:100%;inline-size:min(22rem,100%);padding:var(--space-6);background-color:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);flex-direction:column;margin:auto;display:flex;position:relative;box-shadow:0 24px 60px #0009}.base-dialog__panel--wide[data-v-a8d145d7]{inline-size:min(35rem,100%)}.base-dialog__panel[data-v-a8d145d7]:focus-visible{outline:none}.base-dialog__panel[data-v-a8d145d7]:before{content:"";background-image:linear-gradient(90deg, transparent, var(--c-accent) 30%, var(--c-accent) 70%, transparent);block-size:2px;box-shadow:0 0 12px var(--c-accent-glow);pointer-events:none;position:absolute;inset-block-start:-1px;inset-inline:14%}.base-dialog__eyebrow[data-v-a8d145d7]{letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--c-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;font-weight:500;overflow:hidden}.base-dialog__title[data-v-a8d145d7]{letter-spacing:var(--tracking-tight);margin-block-start:var(--space-1);font-size:1.25rem;font-weight:400;line-height:1.2}.base-dialog__form[data-v-a8d145d7]{display:contents}.base-dialog__body[data-v-a8d145d7]{min-block-size:0;margin-block-start:var(--space-6);overflow-y:auto}.base-dialog__actions[data-v-a8d145d7]{gap:var(--space-3);margin-block-start:var(--space-6);display:flex}.base-dialog__button[data-v-a8d145d7]{min-block-size:2.75rem;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);cursor:pointer;transition:background-color .2s ease, border-color .2s ease, transform var(--press-duration) ease;flex:1;font-size:1rem;font-weight:500}.base-dialog__button--quiet[data-v-a8d145d7]{border:1px solid var(--c-border);color:var(--c-text-muted);background-color:#0000}.base-dialog__button--quiet[data-v-a8d145d7]:hover{border-color:var(--c-text-muted);color:var(--c-text)}.base-dialog__button--primary[data-v-a8d145d7]{background-color:var(--c-accent);color:#04222b;box-shadow:0 0 18px var(--c-accent-glow);border:0}.base-dialog__button--primary[data-v-a8d145d7]:hover:not(:disabled){background-color:#4cc0e2}.base-dialog__button--primary[data-v-a8d145d7]:disabled{color:var(--c-text-muted);box-shadow:none;cursor:not-allowed;background-color:#ffffff14}.base-dialog__panel--danger[data-v-a8d145d7]:before{background-image:linear-gradient(90deg, transparent, var(--c-danger) 30%, var(--c-danger) 70%, transparent);box-shadow:0 0 12px color-mix(in srgb, var(--c-danger) 45%, transparent)}.base-dialog__button--danger[data-v-a8d145d7]{border:1px solid color-mix(in srgb, var(--c-danger) 50%, transparent);background-color:color-mix(in srgb, var(--c-danger) 14%, transparent);color:var(--c-danger-text)}.base-dialog__button--danger[data-v-a8d145d7]:hover:not(:disabled){background-color:color-mix(in srgb, var(--c-danger) 24%, transparent)}.base-dialog__button--danger[data-v-a8d145d7]:disabled{color:var(--c-text-muted);cursor:not-allowed}@media (prefers-reduced-motion:reduce){.base-dialog__button[data-v-a8d145d7]{transition:none}}.climate-more__section[data-v-d86a0ee6] .climate-choice{block-size:2.5rem}.climate-more__section+.climate-more__section[data-v-d86a0ee6]{margin-block-start:.875rem}.climate-more__title[data-v-d86a0ee6]{letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--c-text-muted);margin-block-end:var(--space-1);font-size:.6875rem;font-weight:500}.climate-more__humidity[data-v-d86a0ee6]{color:var(--c-text-muted);margin:.875rem .625rem 0;font-size:.875rem}.climate-io__icon[data-v-d8250781]{color:var(--c-text-muted)}.climate-io[data-v-d8250781] .io-row__value{max-inline-size:none}.climate-io__set[data-v-d8250781]{color:var(--c-heat);font-size:1.0625rem}.climate-io__dot[data-v-d8250781]{margin-inline:.375rem}.climate-io__status[data-v-d8250781]{text-align:end;white-space:nowrap;min-inline-size:4.5rem;font-size:.8125rem}.climate-io__chevron[data-v-d8250781]{color:var(--c-text-muted);margin-inline-start:var(--space-1);font-size:1.125rem;transition:color .16s}.climate-io:hover .climate-io__chevron[data-v-d8250781],.climate-io[aria-expanded=true] .climate-io__chevron[data-v-d8250781]{color:var(--c-text)}.climate-panel[data-v-d8250781]{z-index:50;inset-block:calc(var(--h-navbar) + var(--space-4)) calc(var(--h-footer) + var(--space-4));inline-size:28.75rem;padding:1.25rem var(--space-6);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);flex-direction:column;display:flex;position:fixed;inset-inline-end:var(--space-4);overflow-y:auto}.climate-panel[data-v-d8250781]:focus-visible{outline:none}.climate-panel[data-v-d8250781] .climate-detail{flex:1}.climate-panel__head[data-v-d8250781]{justify-content:space-between;align-items:flex-start;margin-block-end:var(--space-2);display:flex}.climate-panel__eyebrow[data-v-d8250781]{letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--c-text-muted);font-size:.6875rem;font-weight:500}.climate-panel__name[data-v-d8250781]{margin-block-start:.125rem;font-size:1.375rem;font-weight:400;line-height:1.2}.climate-dialog__close[data-v-d8250781]{position:absolute;inset-block-start:var(--space-4);inset-inline-end:var(--space-4)}.state-icon[data-v-a21f865b]{place-items:center;line-height:0;display:inline-grid}.state-icon__glyph[data-v-a21f865b]{grid-area:1/1;place-items:center;transition:opacity .5s;display:grid}.state-icon__glyph--off[data-v-a21f865b]{color:var(--state-icon-off-color,var(--c-text-muted));opacity:1}.state-icon__glyph--on[data-v-a21f865b]{color:var(--state-icon-on-color,var(--c-accent));filter:drop-shadow(0 0 8px var(--state-icon-on-glow,var(--c-accent-glow)));opacity:0}.state-icon--on .state-icon__glyph--off[data-v-a21f865b]{opacity:0}.state-icon--on .state-icon__glyph--on[data-v-a21f865b]{opacity:1}@media (prefers-reduced-motion:reduce){.state-icon__glyph[data-v-a21f865b]{transition:none}}.light-dimmer-io__reading[data-v-a047d721]{color:var(--c-text)}.light-dimmer-io__slider[data-v-a047d721]{inline-size:8rem}.light-io__stack[data-v-c3543477]{place-items:center;display:grid}.light-io__stack[data-v-c3543477]>*{grid-area:1/1}.light-io__state--spinning[data-v-c3543477] .light-io__live,.light-io__state--spinning[data-v-c3543477] .state-icon__glyph--on>.image-icon{animation:1s linear infinite light-io-spin-c3543477}@keyframes light-io-spin-c3543477{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.light-io__state--spinning[data-v-c3543477] .light-io__live,.light-io__state--spinning[data-v-c3543477] .state-icon__glyph--on>.image-icon{animation:none}}.color-dialog__preview[data-v-8824f046]{align-items:center;gap:var(--space-3);margin-block-end:var(--space-6);display:flex}.color-dialog__lamp[data-v-8824f046]{border-radius:var(--radius-md);flex:1;block-size:2.25rem;box-shadow:inset 0 0 0 1px #ffffff2e}.color-dialog__hex[data-v-8824f046]{letter-spacing:var(--tracking-wide);font-variant-numeric:tabular-nums;color:var(--c-text-muted);flex:none;font-size:.8125rem}.color-dialog__picker[data-v-8824f046] .vc-chrome{inline-size:100%;box-shadow:none;background:0 0;border-radius:0;font-family:inherit}.color-dialog__picker[data-v-8824f046] .vc-chrome-saturation-wrap{border-radius:var(--radius-md);padding-block-end:70%}.color-dialog__picker[data-v-8824f046] .vc-chrome-body{padding:var(--space-4) 0 0;background-color:#0000}.color-dialog__picker[data-v-8824f046] .vc-chrome-color-wrap{display:none}.color-dialog__picker[data-v-8824f046] .vc-chrome-hue-wrap{block-size:1.25rem;margin-block-end:0}.color-dialog__picker[data-v-8824f046] .vc-chrome-hue-wrap .vc-hue{border-radius:var(--radius-sm)}.color-dialog__picker[data-v-8824f046] .vc-chrome-hue-wrap .vc-hue-picker{border-radius:50%;block-size:1.25rem;inline-size:1.25rem;margin-block-start:0;transform:translate(-.625rem);box-shadow:0 1px 6px #0009}.light-rgb-io__swatch[data-v-71725ce2]{border-radius:50%;block-size:1.25rem;inline-size:1.25rem;display:block;box-shadow:inset 0 0 0 1px #ffffff59}.scenario-io__icon[data-v-a6ff6ba2]{color:var(--c-text-muted)}.shutter-smart-io__percent[data-v-3eb21bf5]{color:var(--c-text)}.string-in-io__icon[data-v-fb13835d]{color:var(--c-text-muted)}.string-in-io__text[data-v-fb13835d]{color:var(--c-text)}.temp-io__icon[data-v-80ceba9f]{font-size:1.5rem}.temp-io__reading[data-v-80ceba9f]{color:var(--c-text)}.unknown-io__icon[data-v-af222ab6]{color:var(--c-text-muted)}.unknown-io__state[data-v-af222ab6]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem}.var-int-io__icon[data-v-9bf3950d]{color:var(--c-text-muted)}.var-int-io__reading[data-v-9bf3950d]{color:var(--c-text)}.text-dialog__label[data-v-1f91e5e6]{letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--c-text-muted);margin-block-end:var(--space-2);font-size:.6875rem;font-weight:500;display:block}.text-dialog__control[data-v-1f91e5e6]{position:relative}.text-dialog__input[data-v-1f91e5e6]{inline-size:100%;padding:var(--space-3) var(--space-4);appearance:none;border-radius:var(--radius-md);color:var(--c-text);background-color:#ffffff0f;border:1px solid #ffffff24;font-size:1rem;transition:background-color .2s,border-color .2s;display:block}.text-dialog__input[data-v-1f91e5e6]:focus,.text-dialog__input[data-v-1f91e5e6]:focus-visible{outline:none}.text-dialog__control:focus-within .text-dialog__input[data-v-1f91e5e6]{background-color:#ffffff1a;border-color:#38b0d38c}.text-dialog__control[data-v-1f91e5e6]:after{content:"";background-image:linear-gradient(90deg, transparent, var(--c-accent) 30%, var(--c-accent) 70%, transparent);block-size:2px;box-shadow:0 0 12px var(--c-accent-glow);opacity:0;pointer-events:none;transition:transform .26s cubic-bezier(.22,.61,.36,1),opacity .2s;position:absolute;inset-block-end:0;inset-inline:8%;transform:scaleX(0)}.text-dialog__control[data-v-1f91e5e6]:focus-within:after{opacity:1;transform:scaleX(1)}@media (prefers-reduced-motion:reduce){.text-dialog__input[data-v-1f91e5e6],.text-dialog__control[data-v-1f91e5e6]:after{transition:none}}.var-string-io__icon[data-v-faa6faf8]{color:var(--c-text-muted)}.var-string-io__text[data-v-faa6faf8]{color:var(--c-text)}.room[data-v-142f3f87]{min-block-size:100%;inline-size:100%;max-inline-size:44rem;padding:var(--space-4);flex-direction:column;margin-inline:auto;display:flex}@media (width>=64rem){.room--panel[data-v-142f3f87]{max-inline-size:min(44rem, calc(100% - 28.75rem - var(--space-4) * 2));margin-inline:0 auto}}@media (width>=80rem){.room--panel[data-v-142f3f87]{margin-inline-start:6rem}}.room__header[data-v-142f3f87]{align-items:center;column-gap:var(--space-4);grid-template-columns:auto minmax(0,1fr);margin-block-end:var(--space-4);padding-block-end:var(--space-4);display:grid;position:relative}.room__plate[data-v-142f3f87]{block-size:3.5rem;inline-size:6.5rem;padding:var(--space-1);background-color:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);grid-row:span 2;place-items:center;display:grid}.room__icon[data-v-142f3f87]{filter:drop-shadow(0 1px 6px var(--c-accent-glow))}@media (width<=24rem){.room__plate[data-v-142f3f87]{block-size:2.75rem;inline-size:4.75rem}}.room__type[data-v-142f3f87]{letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--c-text-muted);font-size:.6875rem;font-weight:500}.room__name[data-v-142f3f87]{letter-spacing:var(--tracking-tight);overflow-wrap:anywhere;margin-block-start:var(--space-1);font-size:clamp(1.375rem,5vw,1.75rem);font-weight:400;line-height:1.15}.room__header[data-v-142f3f87]:after{content:"";background-image:linear-gradient(90deg, transparent, var(--c-accent) 30%, var(--c-accent) 70%, transparent);block-size:2px;box-shadow:0 0 12px var(--c-accent-glow);pointer-events:none;position:absolute;inset-block-end:0;inset-inline:0}.room__ios[data-v-142f3f87]{gap:var(--space-2);flex-direction:column;display:flex}.room__io[data-v-142f3f87]{display:flex}.room__empty[data-v-142f3f87]{color:var(--c-text-muted);text-align:center;margin:auto}.device-name[data-v-4df7cfd7]{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;unicode-bidi:isolate;max-inline-size:min(16rem,100%);display:inline-block;overflow:hidden}.admin-alert[data-v-f896ff7e]{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);z-index:var(--z-chrome);background:#342614f5;border-block-end:1px solid #e0a35659;display:flex;position:relative}.admin-alert__icon[data-v-f896ff7e]{block-size:1.375rem;inline-size:1.375rem;color:var(--c-warn);flex:none;margin-block-start:.0625rem}.admin-alert__body[data-v-f896ff7e]{flex:1;min-inline-size:0}.admin-alert__body[data-v-f896ff7e]>*{max-inline-size:44rem}.admin-alert__name[data-v-f896ff7e]{white-space:nowrap}.admin-alert__title[data-v-f896ff7e]{color:var(--c-warn);overflow-wrap:anywhere;font-size:.9375rem;font-weight:500;line-height:1.35}.admin-alert__meta[data-v-f896ff7e]{gap:var(--space-1) var(--space-3);color:var(--c-text);flex-wrap:wrap;margin-block-start:var(--space-1);font-size:.8125rem;display:flex}.admin-alert__hint[data-v-f896ff7e]{color:var(--c-text-muted);margin-block-start:var(--space-1);font-size:.8125rem;line-height:1.4}.admin-alert__dismiss[data-v-f896ff7e]{padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);color:var(--c-warn);cursor:pointer;background:0 0;border:1px solid #e0a35699;flex:none;margin-inline-start:auto;font-size:.8125rem}.admin-alert__dismiss[data-v-f896ff7e]:focus-visible{outline:2px solid var(--c-warn);outline-offset:2px}@media (width<=479px){.admin-alert[data-v-f896ff7e]{flex-wrap:wrap}.admin-alert__dismiss[data-v-f896ff7e]{min-block-size:44px;margin-inline-start:calc(1.375rem + var(--space-3))}}.app-background[data-v-97649f44]{object-fit:cover;object-position:center;block-size:100%;inline-size:100%;z-index:var(--z-background);opacity:0;pointer-events:none;transition:opacity .6s;position:fixed;inset:0}.app-background--loaded[data-v-97649f44]{opacity:1}@media (prefers-reduced-motion:reduce){.app-background[data-v-97649f44]{transition:none}}.connection-banner[data-v-57df95dd]{justify-content:center;align-items:center;gap:var(--space-2);block-size:var(--h-banner);padding-inline:var(--space-3);white-space:nowrap;z-index:var(--z-chrome);background:#342614f5;border-block-end:1px solid #e0a35659;font-size:.8125rem;line-height:1;display:flex;position:relative;overflow:hidden}.connection-banner__dot[data-v-57df95dd]{background:var(--c-warn);border-radius:50%;flex:none;block-size:.5rem;inline-size:.5rem}.connection-banner__title[data-v-57df95dd]{color:var(--c-warn);font-weight:500}.connection-banner__detail[data-v-57df95dd]{color:var(--c-text-muted);text-overflow:ellipsis;overflow:hidden}.footer-nav[data-v-8f3a49c5]{grid-template-columns:repeat(var(--tab-count), 1fr);block-size:var(--h-footer);box-sizing:content-box;border-block-start:1px solid var(--c-chrome-hairline);z-index:var(--z-chrome);background-image:linear-gradient(#0c0c0cf0,#000000fa);padding-block-end:env(safe-area-inset-bottom,0px);display:grid;position:relative}@media (height<=600px),(width<=479px){.footer-nav[data-v-8f3a49c5]{--h-footer:64px}}.footer-nav__tab[data-v-8f3a49c5]{place-items:center;gap:var(--space-1);padding-block:var(--space-3) var(--space-2);color:var(--c-text-muted);transition:color .2s ease, transform var(--press-duration) ease;grid-template-rows:1fr auto;text-decoration:none;display:grid}.footer-nav__tab--active[data-v-8f3a49c5]{color:var(--c-accent)}.footer-nav__icon[data-v-8f3a49c5]{filter:drop-shadow(0 0 #0000);font-size:1.5rem;transition:filter .26s}.footer-nav__tab--active .footer-nav__icon[data-v-8f3a49c5]{filter:drop-shadow(0 0 7px var(--c-accent-glow))}.footer-nav__label[data-v-8f3a49c5]{letter-spacing:var(--tracking-wide);text-transform:uppercase;font-size:.6875rem;font-weight:500;line-height:1}.footer-nav__light[data-v-8f3a49c5]{inline-size:calc(100% / var(--tab-count));block-size:100%;transform:translateX(calc(var(--tab-index) * 100%));pointer-events:none;transition:transform .38s cubic-bezier(.22,.61,.36,1),opacity .22s;position:absolute;inset-block-start:0;inset-inline-start:0}.footer-nav__light--off[data-v-8f3a49c5]{opacity:0}.footer-nav__light[data-v-8f3a49c5]:before{content:"";background-image:linear-gradient(90deg, transparent, var(--c-accent) 30%, var(--c-accent) 70%, transparent);block-size:2px;box-shadow:0 0 12px var(--c-accent-glow);position:absolute;inset-block-start:-1px;inset-inline:18%}.footer-nav__light[data-v-8f3a49c5]:after{content:"";background-image:radial-gradient(ellipse 60% 100% at 50% 0%, var(--c-accent-glow), transparent 70%);opacity:.55;block-size:70%;position:absolute;inset-block-start:0;inset-inline:0}@media (prefers-reduced-motion:reduce){.footer-nav__light[data-v-8f3a49c5],.footer-nav__tab[data-v-8f3a49c5],.footer-nav__icon[data-v-8f3a49c5]{transition:none}}.navbar[data-v-08c9dc16]{block-size:var(--h-navbar);box-sizing:content-box;background-image:linear-gradient(var(--c-chrome-top), var(--c-chrome-bottom));border-block-end:1px solid var(--c-chrome-hairline);box-shadow:0 2px 8px var(--c-chrome-shadow);z-index:var(--z-chrome);grid-template-columns:minmax(3.75rem,1fr) auto minmax(3.75rem,1fr);align-items:center;padding-block-start:env(safe-area-inset-top,0px);display:grid;position:relative}.navbar__slot[data-v-08c9dc16]{padding-inline:var(--space-2);align-items:center;display:flex}.navbar__slot--end[data-v-08c9dc16]{justify-content:flex-end;gap:var(--space-2)}.navbar__wordmark[data-v-08c9dc16]{letter-spacing:var(--tracking-tight);text-align:center;color:var(--c-text);font-size:1.0625rem;font-weight:500}.app-shell[data-v-76ff09b8]{flex-direction:column;block-size:100dvh;display:flex;overflow:hidden}.app-shell__content[data-v-76ff09b8]{-webkit-overflow-scrolling:touch;flex:1;min-block-size:0;overflow:hidden auto}
