:root{--color-ink: #050506;--color-muted: #667062;--color-moss: #aeb9ab;--color-moss-dark: #879383;--color-lime: #e6ff65;--color-paper: #f4f7f2;--color-paper-soft: #e9eee8;--color-line: rgba(5, 5, 6, .14);--color-coral: #ff8066}@font-face{font-family:DIN Presente;src:url(/assets/DIN-Regular-Tight-88-COmHgsf9.ttf) format("truetype");font-display:swap;font-style:normal;font-weight:400;font-stretch:100%}*{box-sizing:border-box}html{min-height:100%;background:#aeb9ab;color:#050506;font-family:DIN Presente,DIN Alternate,DIN Condensed,Arial Narrow,Helvetica Neue,Arial,sans-serif;font-size:16px;font-kerning:normal;font-feature-settings:"kern" 1;font-stretch:100%;font-weight:400;line-height:1.05;font-synthesis:none;text-rendering:optimizeLegibility}body{min-width:320px;min-height:100vh;margin:0;background:linear-gradient(135deg,#f4f7f224,#8793831f),#aeb9ab;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}button,input,select,textarea{font:inherit}button{appearance:none;-webkit-appearance:none;cursor:pointer}strong{font-weight:400}button:disabled{cursor:not-allowed;opacity:.48}img{display:block;max-width:100%}[x-cloak]{display:none!important}.app-shell{width:min(1180px,100% - 32px);margin:0 auto;padding:clamp(24px,5vw,64px) 0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;margin-bottom:1.25rem}.topbar h1{max-width:720px;margin:0;font-size:3.38rem;font-stretch:100%;font-weight:400;line-height:.88;letter-spacing:0}.topbar__actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr) minmax(240px,.55fr);gap:2rem;align-items:stretch}.device-card,.albums-panel{grid-column:span 1}.relay-panel{grid-column:span 2}.settings-panel{grid-column:span 1}.upload-panel{grid-column:span 2}.stat-panel{min-height:230px}@media(max-width:1160px){.dashboard-grid{grid-template-columns:minmax(540px,1.18fr) minmax(320px,.82fr)}.relay-panel,.upload-panel{grid-column:span 1}}@media(max-width:940px){.dashboard-grid{grid-template-columns:1fr}.relay-panel,.upload-panel{grid-column:span 1}}@media(max-width:760px){.app-shell{width:min(100% - 20px,560px);padding:1.25rem 0}.topbar{align-items:flex-start;flex-direction:column}.topbar h1{font-size:2.75rem;font-stretch:100%;font-weight:400;line-height:.84;letter-spacing:0}.topbar__actions{justify-content:flex-start}.dashboard-grid{grid-template-columns:1fr;gap:1rem}}.panel{min-width:0;padding:12px;border:1px solid rgba(255,255,255,.52);border-radius:34px;background:#f4f7f2db;box-shadow:0 24px 70px #232a2224}.panel--lime{background:#e6ff65;border-color:#05050614}.panel--dark{color:#f4f7f2;background:#050506;border-color:#ffffff14}.panel--dark .panel-kicker,.panel--dark .metric-label,.panel--dark label span{color:#f4f7f2ad}.panel-kicker,.eyebrow{margin:0 0 .25rem;color:#667062;font-size:.92rem;font-weight:400;line-height:1.2}.panel-heading{display:flex;flex-direction:row-reverse;flex-wrap:wrap;align-items:flex-start;justify-content:flex-start;gap:12px;margin-bottom:1.5rem}.panel-heading>div{flex:1 1 220px;min-width:0;order:2}.panel-heading>.small-button,.panel-heading>.file-button,.panel-heading>.gallery-actions,.panel-heading>.inline-form{order:1}.panel-heading h2{margin:0;transform:translateY(10px);font-size:3.35rem;font-stretch:100%;font-weight:400;line-height:.86;letter-spacing:0}.connection-pill,.small-button,.file-button,.inline-form button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;border:1px solid rgba(5,5,6,.14);border-radius:999px;background:#f4f7f2d1;color:#050506;font-weight:400;text-decoration:none}.connection-pill{gap:.5rem;padding:0 1.25rem}.connection-pill__dot{width:9px;height:9px;border-radius:50%;background:#667062}.connection-pill.is-online .connection-pill__dot{background:#e6ff65;box-shadow:0 0 0 5px #e6ff6538}.connection-pill.is-waiting .connection-pill__dot{background:#ff8066}.icon-button{display:inline-grid;width:48px;height:48px;place-items:center;border:0;border-radius:50%;background:#050506;color:#f4f7f2;font-size:1.6rem;line-height:1}.button-icon{display:block;width:24px;height:24px;flex:0 0 24px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.floating-action{display:inline-grid;width:var(--action-size);height:var(--action-size);place-items:center;border:0;border-radius:50%;background:#f4f7f2f5;color:#050506;box-shadow:0 12px 26px #232a221f;position:relative;padding:0;border:1px solid rgba(255,255,255,.58);font-size:1.2rem;font-weight:400;line-height:1}.floating-action .button-icon{display:block;width:23px;height:23px;flex:0 0 23px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.05}.small-button,.file-button,.inline-form button{gap:10px;min-width:112px;padding:0 22px;background:#050506;color:#f4f7f2;border-color:#050506;line-height:1}.small-button .button-icon,.file-button .button-icon,.inline-form button .button-icon{display:block;width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.small-button:disabled,.file-button:disabled,.inline-form button:disabled{opacity:1}.button-plus{position:relative;display:inline-block;width:20px;height:20px;flex:0 0 20px;margin:0;color:currentColor;font-size:0;line-height:0}.button-plus:before,.button-plus:after{content:"";position:absolute;display:block;height:2px;border-radius:999px;background:currentColor;transform:none}.button-plus:before{top:9px;left:3px;width:14px}.button-plus:after{top:3px;left:9px;width:2px;height:14px}.button-label{display:block;margin:0;color:currentColor;font-size:1rem;font-weight:400;line-height:1;transform:translateY(1px)}.small-button--light{background:#f4f7f2;color:#050506;border-color:#f4f7f2}.device-card{--panel-radius: 34px;--action-count: 2;--action-gap: 8px;--action-inset-x: 0px;--action-inset-y: 0px;--action-size: 56px;--action-radius: 28px;--actions-width: calc((var(--action-size) * var(--action-count)) + (var(--action-gap) * (var(--action-count) - 1)));--control-height: 52px;--go-size: var(--control-height);--go-right: 12px;--go-bottom: 12px;--notch-bottom-pad: 12px;--notch-left-pad: 12px;--notch-top-radius: 28px;--notch-belly-radius: 40px;--notch-depth: calc(var(--action-size) + var(--action-inset-y) + var(--notch-bottom-pad));--notch-drop: calc(var(--notch-depth) + var(--notch-radius));--notch-radius: var(--panel-radius);--notch-wall-distance: calc(var(--actions-width) + var(--action-inset-x) + var(--notch-left-pad));--notch-top-width: calc(var(--notch-wall-distance) + var(--notch-top-radius));--notch-belly-end: calc(var(--actions-width) + var(--action-inset-x) - var(--action-radius));--notch-width: var(--notch-top-width);position:relative;min-height:400px;overflow:visible}.device-card:has(.device-panel__actions>.floating-action:first-child:last-child){--action-count: 1}.device-card:has(.device-panel__actions>.floating-action:nth-child(3)){--action-count: 3}.device-card:has(.device-panel__actions>.floating-action:nth-child(4)){--action-count: 4}.device-panel{display:flex;min-height:400px;flex-direction:column;justify-content:space-between;gap:12px;overflow:visible;padding:12px;border-color:transparent;clip-path:shape(from var(--panel-radius) 0,line to calc(100% - var(--notch-width)) 0,curve to calc(100% - var(--notch-wall-distance)) var(--notch-top-radius) with calc(100% - var(--notch-wall-distance)) 0,line to calc(100% - var(--notch-wall-distance)) calc(var(--notch-depth) - var(--notch-belly-radius)),curve to calc(100% - var(--notch-belly-end)) var(--notch-depth) with calc(100% - var(--notch-wall-distance)) var(--notch-depth),line to calc(100% - var(--panel-radius)) var(--notch-depth),curve to 100% var(--notch-drop) with 100% var(--notch-depth),line to 100% calc(100% - var(--panel-radius)),curve to calc(100% - var(--panel-radius)) 100% with 100% 100%,line to var(--panel-radius) 100%,curve to 0 calc(100% - var(--panel-radius)) with 0 100%,line to 0 var(--panel-radius),curve to var(--panel-radius) 0 with 0 0,close)}.device-panel:before{content:none}.device-panel>*{position:relative;z-index:1}.device-panel__actions{position:absolute;z-index:3;top:var(--action-inset-y);right:var(--action-inset-x);display:flex;gap:var(--action-gap)}.device-panel__meta,.device-panel__status{display:flex;align-items:center;justify-content:space-between;gap:14px}.device-panel__meta{justify-content:flex-start;max-width:calc(100% - var(--notch-width));min-width:0}.device-panel__meta span{display:block;max-width:100%;overflow:hidden;color:#667062;font-size:1.22rem;font-stretch:100%;font-weight:400;line-height:1.12;text-overflow:ellipsis;white-space:nowrap}.device-panel__meta .panel-kicker{max-width:100%;overflow:hidden;margin-bottom:.35rem;color:#667062;font-size:1.06rem;font-stretch:100%;font-weight:400;line-height:1.12;text-overflow:ellipsis;white-space:nowrap}.device-panel__meta>div:not(.avatar){flex:1 1 auto;max-width:calc(100% - 94px);min-width:0}.device-panel__title{max-width:100%;margin:0;font-size:3.25rem;font-stretch:100%;font-weight:400;line-height:.86;letter-spacing:0;overflow-wrap:normal;text-wrap:balance}.avatar{display:grid;place-items:center;width:64px;height:64px;flex:0 0 auto;border:5px solid rgba(255,255,255,.9);border-radius:50%;background:#879383;color:#f4f7f2;font-size:1.08rem;font-weight:400}.metric-value,.metric-label{display:block}.metric-value{font-size:2.32rem;font-stretch:100%;font-weight:400;line-height:.88;letter-spacing:0}.metric-label{margin-top:.35rem;color:#667062;font-size:.9rem;font-stretch:100%;font-weight:400}.progress-line{overflow:hidden;width:100%;height:6px;border-radius:999px;background:#ffffffb8}.progress-line span,.progress-line i{display:block;height:100%;border-radius:inherit;background:#050506;transition:width .18s ease}.connect-form{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;align-items:end;padding-right:calc(var(--go-size) + 12px)}.connect-form label{display:grid;min-height:var(--control-height);min-width:0;grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:center;border:1px solid rgba(5,5,6,.11);border-radius:999px;background:#f4f7f294;padding:0 14px}.connect-form label span{margin:0;color:#05050694;font-size:.72rem;font-stretch:100%;font-weight:400;line-height:.95;text-transform:uppercase}.connect-form input{min-height:auto;border:0;border-radius:0;background:transparent;padding:0;font-size:.96rem;font-stretch:100%;font-weight:400;line-height:1;text-align:left}.connect-form input:focus{box-shadow:none}label span{display:block;margin-bottom:.5rem;color:#667062;font-size:.82rem;font-weight:400}input,select,textarea{width:100%;min-height:48px;border:1px solid rgba(5,5,6,.14);border-radius:22px;background-color:#ffffffc2;color:#050506;outline:0;padding:0 1rem;font-weight:400}select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 13px) 50%;background-repeat:no-repeat;background-size:7px 7px,7px 7px;padding-right:calc(1rem + 26px)}select::-ms-expand{display:none}input[type=number]{appearance:textfield;-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{margin:0;appearance:none;-webkit-appearance:none}textarea{min-height:92px;padding-top:.75rem;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#050506;box-shadow:0 0 0 4px #05050614}.round-action{display:inline-grid;width:var(--go-size);height:var(--go-size);place-items:center;border:0;border-radius:50%;background:#050506;color:#f4f7f2;box-shadow:0 14px 30px #05050633;position:absolute;z-index:4;right:var(--go-right);bottom:var(--go-bottom);padding:0;overflow:hidden;font-size:0;font-weight:400}.round-action .button-icon{grid-area:1/1;display:block;width:21px;height:21px;flex:0 0 21px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;transform:none}.round-action .round-action__label{grid-area:1/1;width:0;height:0;overflow:hidden;opacity:0}.round-action:disabled .button-icon{display:none}.round-action:disabled .round-action__label{width:auto;height:auto;opacity:1;font-size:1.2rem;line-height:1}.room-days{display:grid;grid-template-columns:repeat(4,82px);gap:.75rem;justify-content:start}.room-day{display:grid;width:82px;min-height:132px;place-items:center;border-radius:999px;background:#ffffffd1;text-align:center}.room-day strong,.room-day span{display:block}.room-day strong{font-size:2rem;font-weight:400}.room-day.is-active{background:#e6ff65}.event-line{display:grid;gap:.5rem;margin:1.5rem 0 0;padding:1rem 0 0;border-top:1px dashed rgba(5,5,6,.2);list-style:none}.event-line li{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:#667062}.event-line strong{color:#050506;font-weight:400}.inline-form{display:grid;width:300px;grid-template-columns:180px 112px;gap:8px;flex:0 0 auto;margin-left:auto}.inline-form input{width:180px;min-width:0;height:52px;min-height:52px;border-radius:999px;padding-inline:22px;line-height:normal}.inline-form button{width:112px;min-width:112px;min-height:52px;padding-inline:22px}.inline-form button span:not(.button-plus):not(.button-label){display:block;line-height:1}.album-rows{display:grid;gap:.75rem}.album-row{display:grid;grid-template-columns:minmax(96px,.5fr) minmax(100px,1fr) auto;gap:1rem;align-items:center;width:100%;min-height:58px;border:0;border-radius:999px;background:#e9eee8;padding:0 1rem;text-align:left}.album-row strong{font-weight:400}.album-row.is-active{background:#e6ff65}.album-row__bar{overflow:hidden;height:18px;border-radius:999px;background:#05050614}.album-row__bar i{display:block;height:100%;border-radius:inherit;background:#879383}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.settings-panel{display:flex;flex-direction:column;gap:1.25rem}.settings-panel input,.settings-panel select,.settings-panel textarea{color:#f4f7f2;background-color:#ffffff1f;border-color:#ffffff2e}.toggle-field{display:flex;align-self:end;align-items:center;justify-content:space-between;gap:1rem;min-height:48px}.toggle-field span{margin-bottom:0}.toggle-field input[type=checkbox]{display:grid;width:48px;height:48px;min-height:48px;flex:0 0 48px;place-items:center;appearance:none;-webkit-appearance:none;border:0;border-radius:16px;background:#ffffff1f;accent-color:#e6ff65;margin:0;padding:0;color:#050506}.toggle-field input[type=checkbox]:before{content:"";width:16px;height:9px;border-bottom:3px solid currentColor;border-left:3px solid currentColor;transform:translateY(-1px) rotate(-45deg)}.toggle-field input[type=checkbox]:checked{background:#e6ff65}.message-field{display:block}.file-button{position:relative;overflow:hidden}.file-button span:not(.button-plus):not(.button-label){margin:0;color:currentColor;font-size:1rem;line-height:1}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.gallery-actions{display:flex;flex:0 0 auto;gap:8px;margin-left:auto}.gallery-actions .small-button,.gallery-actions .file-button{min-width:112px}.gallery-list{display:grid;gap:.75rem}.gallery-item{display:grid;grid-template-columns:70px minmax(0,1fr) 46px;gap:.75rem;align-items:center;min-height:70px;min-width:0;border-radius:999px;background:#e9eee8;padding:0 .75rem 0 0}.gallery-item strong,.gallery-item span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gallery-item strong{font-weight:400}.gallery-item span{color:#667062;font-size:.92rem}.gallery-thumb{display:grid;width:70px;height:70px;place-items:center;overflow:hidden;border-radius:999px;background:#879383;color:#f4f7f2;font-size:1rem}.gallery-thumb img{width:100%;height:100%;object-fit:cover}.gallery-delete{display:inline-grid;width:42px;height:42px;place-items:center;border:0;border-radius:50%;background:#050506;color:#f4f7f2;font-size:1.3rem;line-height:1}.upload-list{display:grid;margin-top:1rem;gap:.75rem}.upload-item{display:grid;grid-template-columns:70px minmax(0,1fr);gap:.75rem;align-items:center;min-width:0;border-radius:18px}.upload-item img{width:70px;height:70px;border-radius:50%;object-fit:cover}.upload-item strong,.upload-item span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-item span{color:#667062;font-size:.92rem}.mini-progress{margin-top:.5rem;overflow:hidden;width:100%;height:6px;border-radius:999px;background:#0505061a}.mini-progress span,.mini-progress i{display:block;height:100%;border-radius:inherit;background:#e6ff65;transition:width .18s ease}.empty-state{margin:0;color:#667062}.stat-panel{display:flex;flex-direction:column;justify-content:flex-end;background:#879383;color:#f4f7f2}.stat-panel .panel-kicker{color:#f4f7f2b8}.stat-panel strong{display:block;font-size:3.35rem;font-stretch:100%;font-weight:400;line-height:.82;letter-spacing:0}.stat-panel span{margin-top:.5rem;color:#f4f7f2c7}.stat-panel__icon{display:inline-grid;width:52px;height:52px;place-items:center;border:0;border-radius:50%;background:#e6ff65;color:#050506;margin-top:-1px;margin-left:-1px;margin-bottom:auto}.stat-panel__icon .button-icon{display:block;width:21px;height:21px;flex:0 0 21px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}@media(max-width:760px){.panel{border-radius:26px}.device-panel{min-height:auto;padding-right:22px}.device-card{--panel-radius: 26px;--action-inset-x: 0px;--action-inset-y: 0px;--action-size: 48px;--action-radius: 24px;--control-height: 54px;--go-size: 54px;--go-right: 14px;--go-bottom: 20px;--notch-bottom-pad: 12px;--notch-left-pad: 12px;--notch-top-radius: 24px;--notch-belly-radius: 36px}.device-panel__meta{gap:14px;max-width:calc(100% - var(--notch-width))}.device-panel__meta span,.device-panel__meta .panel-kicker{white-space:normal}.device-panel__meta span{font-size:1.12rem;line-height:1.12}.device-panel__meta .panel-kicker{font-size:.98rem}.device-panel__meta>div:not(.avatar){width:auto;max-width:calc(100% - 78px)}.avatar{width:64px;height:64px;border-width:6px;font-size:1.08rem}.device-panel__status{flex-direction:column;align-items:flex-start}.panel-heading h2,.device-panel__title,.stat-panel strong{font-size:2.75rem;font-stretch:100%;font-weight:400;line-height:.84;letter-spacing:0}.metric-value{font-size:2.55rem}.connect-form,.field-grid,.album-row{grid-template-columns:1fr}.connect-form{padding-right:calc(var(--go-size) + 16px)}.connect-form label{grid-template-columns:74px minmax(0,1fr);gap:10px;padding-inline:14px}.round-action{right:var(--go-right);bottom:var(--go-bottom)}.room-days{grid-template-columns:repeat(2,82px);justify-content:start}.inline-form{width:300px}}
