@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap";.display-shell{color:#eaf4f2;background:#071b29;min-height:100svh;overflow:hidden}.display-host{justify-content:center;align-items:center;width:100vw;height:100svh;display:flex;overflow:hidden}.display-canvas{transform-origin:50%;flex:none;position:relative;overflow:hidden;box-shadow:0 32px 90px #0008}.display-orbits{opacity:.32;pointer-events:none;background:radial-gradient(at 7% 12%,#0000 0 15%,#69b7b61c 15.2% 15.5%,#0000 15.7% 30%,#76a0b51a 30.2% 30.5%,#0000 30.7%),radial-gradient(at 90% 83%,#0000 0 18%,#ff8a6528 18.2% 18.5%,#0000 18.7% 35%);position:absolute;inset:-14%}.display-block{min-width:0;min-height:0;padding:clamp(12px,1.2vw,28px);display:flex;position:absolute}.display-block--datetime{align-items:center}.clock-block{flex-direction:column;gap:12px;display:flex}.clock-time{letter-spacing:-.07em;white-space:nowrap;font:400 clamp(70px,8vw,170px)/.8 Libre Caslon Display,Georgia,serif}.clock-date{color:#b8d9d4;font-size:clamp(15px,1.25vw,28px)}.display-text{align-self:center;max-width:34ch;margin:0;font-size:clamp(18px,1.6vw,35px);line-height:1.35}.display-button{color:#062635;cursor:pointer;background:#8cd3b6;border:1px solid #8cd3b6;border-radius:999px;align-self:center;padding:.72em 1.25em;font:600 clamp(14px,1.1vw,24px)/1 DM Sans,sans-serif}.display-button:disabled{opacity:.45;cursor:not-allowed}.calendar-agenda,.calendar-month,.weather-block{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0b3145cc;border:1px solid #b6e0da32;border-radius:18px;width:100%;height:100%;overflow:hidden}.calendar-agenda header,.weather-block header{border-bottom:1px solid #b6e0da24;justify-content:space-between;padding:clamp(12px,1vw,22px);font-size:clamp(13px,1vw,22px);display:flex}.calendar-agenda header span,.weather-block header span{font-weight:700}.calendar-agenda header small,.weather-block header small,.agenda-list time,.forecast span{color:#a4c7c3}.agenda-list{gap:clamp(8px,.8vw,16px);padding:clamp(10px,1vw,20px);display:grid}.agenda-list article{grid-template-columns:8px minmax(76px,.8fr) 2fr;align-items:center;gap:10px;font-size:clamp(12px,.9vw,20px);display:grid}.agenda-list i{border-radius:100%;width:8px;height:8px}.agenda-list strong{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.empty-block{color:#a4c7c3;margin:12px}.calendar-month{padding:clamp(10px,1vw,20px)}.calendar-toolbar{justify-content:space-between;align-items:center;margin-bottom:12px;font-size:clamp(14px,1vw,24px);display:flex}.calendar-toolbar button{color:#eaf4f2;font:inherit;cursor:pointer;background:0 0;border:0;font-size:1.5em}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-weekdays span{text-align:center;color:#8cb5b0;font-size:clamp(9px,.65vw,14px)}.calendar-day{aspect-ratio:1;border-top:1px solid #c7e5e133;flex-wrap:wrap;align-content:flex-start;gap:3px;padding:4px;font-size:clamp(9px,.7vw,16px);display:flex}.calendar-day.outside{opacity:.25}.calendar-day i{border-radius:100%;width:5px;height:5px}.weather-block{padding:0}.weather-now{align-items:baseline;gap:clamp(12px,1.2vw,26px);padding:clamp(10px,1.2vw,28px);display:flex}.weather-now b{letter-spacing:-.08em;font:400 clamp(52px,5vw,120px)/.8 Libre Caslon Display,Georgia,serif}.weather-now span{color:#b8d9d4;font-size:clamp(13px,1vw,22px)}.forecast{border-top:1px solid #b6e0da24;grid-template-columns:repeat(3,1fr);display:grid}.forecast div{justify-content:space-between;padding:clamp(8px,.8vw,18px);font-size:clamp(11px,.8vw,18px);display:flex}.display-footer{color:#91b6b1;justify-content:space-between;font-size:14px;display:flex;position:absolute;bottom:18px;left:28px;right:28px}.display-sleeping{color:#b8d9d4;background:#04111acc;place-items:center;font:400 clamp(26px,3vw,54px) Libre Caslon Display,Georgia,serif;display:grid;position:absolute;inset:0}.display-loading,.display-error{place-items:center;display:grid}.display-loader,.display-error>div{text-align:center;max-width:420px;padding:32px}.display-loader span,.display-error span{font:400 38px Libre Caslon Display,Georgia,serif}.display-loader p,.display-error p{color:#a4c7c3}.display-error h1{margin:16px 0;font:400 44px/1.05 Libre Caslon Display,Georgia,serif}.kiosk-dock{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#071b29e8;border:1px solid #b6e0da33;gap:8px;padding:10px;display:flex;position:fixed;box-shadow:0 12px 36px #0006}.kiosk-dock--bottom{border-radius:16px;bottom:18px;left:50%;transform:translate(-50%)}.kiosk-dock--top{border-radius:16px;top:18px;left:50%;transform:translate(-50%)}.kiosk-dock--left{border-radius:16px;flex-direction:column;top:50%;left:18px;transform:translateY(-50%)}.kiosk-dock--right{border-radius:16px;flex-direction:column;top:50%;right:18px;transform:translateY(-50%)}.kiosk-dock__item,.kiosk-dock-reveal{color:#eaf4f2;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:10px;align-items:center;gap:8px;padding:9px 12px;font:600 14px DM Sans,sans-serif;display:flex}.kiosk-dock__item:hover,.kiosk-dock__item:focus-visible{background:color-mix(in srgb,var(--dock-color) 28%,transparent);outline:none}.kiosk-dock__icon{width:20px;height:20px;color:var(--dock-color);place-items:center;display:grid}.kiosk-dock-reveal{z-index:21;background:#071b29e8;border:1px solid #b6e0da33;position:fixed}.kiosk-dock-reveal--bottom{bottom:0;left:50%;transform:translate(-50%)}.kiosk-dock-reveal--top{top:0;left:50%;transform:translate(-50%)}.kiosk-dock-reveal--left{top:50%;left:0;transform:translateY(-50%)}.kiosk-dock-reveal--right{top:50%;right:0;transform:translateY(-50%)}.kiosk-app{z-index:19;color:#eaf4f2;text-align:center;background:#071b29f2;place-content:center;gap:16px;padding:40px;display:grid;position:fixed;inset:0}.kiosk-app>span{font:400 clamp(38px,5vw,72px)/1 Libre Caslon Display,Georgia,serif}.kiosk-app>p{color:#bdd8d2;max-width:36ch;margin:0;font:400 17px/1.5 DM Sans,sans-serif}.kiosk-app-close{color:#eaf4f2;cursor:pointer;background:0 0;border:0;font-size:34px;position:absolute;top:22px;right:28px}@media (width<=700px){.display-canvas{box-shadow:none}.display-footer{font-size:11px;bottom:12px;left:18px;right:18px}.calendar-agenda,.calendar-month,.weather-block{border-radius:10px}.kiosk-dock{gap:4px;padding:7px}.kiosk-dock__item{padding:8px;font-size:12px}.kiosk-dock__item span:last-child{display:none}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.photo-block{color:#eaf4f2;cursor:pointer;background:#0b3145;border:0;width:100%;height:100%;padding:0;display:block;position:relative;overflow:hidden}.photo-block:focus-visible{outline-offset:-3px;outline:3px solid #ff8a65}.photo-block img{object-position:center;width:100%;height:100%;display:block}.photo-block__loading,.photo-block__message{color:#eaf4f2;text-align:left;text-shadow:0 1px 8px #000;font:500 14px/1.3 DM Sans,sans-serif;position:absolute;inset:auto 16px 16px}.photo-block__message{background:#071b29d9;border-radius:8px;padding:8px 10px}.photo-block--error{color:#bdd8d2;background:#0b3145;place-items:center;padding:18px;font:500 15px/1.4 DM Sans,sans-serif;display:grid}.photo-library{color:#102c3a;border-top:1px solid #bed8d5;border-bottom:1px solid #bed8d5;margin:32px 0;padding:26px 0;font-family:DM Sans,sans-serif}.photo-library header{justify-content:space-between;align-items:end;gap:18px;margin-bottom:18px;display:flex}.photo-library h2{letter-spacing:-.03em;margin:0 0 7px;font:500 clamp(28px,3vw,43px)/1 Libre Caslon Display,Georgia,serif}.photo-library p{color:#587276;margin:0;font-size:14px;line-height:1.45}.photo-upload,.photo-library__controls button{color:#fff;cursor:pointer;background:#0d3850;border:1px solid #0d3850;border-radius:8px;justify-content:center;align-items:center;padding:10px 13px;font:600 14px DM Sans,sans-serif;display:inline-flex}.photo-upload input{opacity:0;width:1px;height:1px;position:absolute}.photo-library__grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px;display:grid}.photo-thumb{color:#102c3a;text-align:left;cursor:pointer;background:#f9fdfc;border:1px solid #c3d9d6;border-radius:10px;padding:0;overflow:hidden}.photo-thumb.is-selected{border:2px solid #0d3850;box-shadow:inset 0 0 0 2px #c5ede0}.photo-thumb img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.photo-thumb span{text-overflow:ellipsis;white-space:nowrap;padding:8px;font:600 12px DM Sans,sans-serif;display:block;overflow:hidden}.photo-library__empty{grid-column:1/-1;padding:14px 0}.photo-library__controls{grid-template-columns:minmax(220px,2fr) minmax(120px,.6fr) minmax(140px,.7fr) auto;align-items:end;gap:10px;margin-top:16px;display:grid}.photo-library__controls label{color:#38585b;gap:6px;font:700 12px DM Sans,sans-serif;display:grid}.photo-library__controls input,.photo-library__controls select{color:#102c3a;background:#fff;border:1px solid #afcbc7;border-radius:8px;min-width:0;padding:10px 12px;font:400 14px DM Sans,sans-serif}.photo-library__controls button:disabled{opacity:.55;cursor:not-allowed}.photo-upload:has(input:disabled){opacity:.55;cursor:not-allowed}.photo-library__message{background:#fff0eb;border-left:3px solid #ff8a65;padding:10px 12px;color:#9e321e!important;margin-top:14px!important}@media (width<=760px){.photo-library header{flex-direction:column;align-items:start}.photo-library__controls{grid-template-columns:1fr}.photo-library__controls button{width:100%}}.chores-app{box-sizing:border-box;color:#eaf4f2;background:#071b29;min-height:100%;padding:clamp(18px,3vw,54px);font-family:DM Sans,sans-serif;overflow:auto}.chores-app--loading{place-items:center;display:grid}.chores-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.chores-header>div:first-child{align-items:center;gap:14px;display:flex}.chores-header h1{letter-spacing:-.05em;margin:0;font:400 clamp(34px,4vw,64px)/.95 Libre Caslon Display,Georgia,serif}.chores-mark{color:#371b14;background:#ff8a65;border-radius:14px;place-items:center;width:44px;height:44px;display:grid}.chores-score{text-align:right}.chores-score span,.chores-score strong{display:block}.chores-score span{color:#a4c7c3;font-size:12px}.chores-score strong{font:400 30px Libre Caslon Display,Georgia,serif}.lock-toggle{color:#b8d9d4;background:0 0;border:1px solid #b6e0da50;border-radius:999px;padding:9px 13px;font:600 12px DM Sans,sans-serif}.lock-toggle.is-locked{color:#371b14;background:#ff8a65;border-color:#ff8a65}.chores-columns{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));align-items:start;gap:12px;display:grid}.member-column{border-top:3px solid var(--member-color);background:#0b3145;border-radius:14px;min-height:340px;padding:16px;box-shadow:0 14px 34px #0003}.member-column>header{align-items:center;gap:10px;margin-bottom:16px;display:flex}.member-column h2{margin:0;font:400 25px Libre Caslon Display,Georgia,serif}.member-column header p{color:#a4c7c3;margin:2px 0 0;font-size:12px}.member-avatar{background:var(--member-color);color:#062635;border-radius:50%;place-items:center;width:36px;height:36px;font-weight:800;display:grid;overflow:hidden}.member-avatar img{object-fit:cover;width:100%;height:100%}.member-tasks{gap:8px;display:grid}.chore-wrap{border-radius:10px;position:relative;overflow:hidden}.chore-card{z-index:1;color:#eaf4f2;text-align:left;touch-action:pan-y;cursor:pointer;background:#0d3850;border:1px solid #b6e0da24;border-radius:10px;align-items:center;gap:10px;width:100%;padding:11px;display:flex;position:relative}.chore-card.is-done{opacity:.56;text-decoration:line-through}.chore-card i{background:var(--member-color);color:#062635;border-radius:50%;flex:0 0 24px;place-items:center;width:24px;height:24px;font-style:normal;font-weight:800;display:grid}.chore-card span{flex:1;min-width:0}.chore-card strong,.chore-card small{display:block}.chore-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.chore-card small{color:#a4c7c3;margin-top:3px;font-size:11px}.chore-card em{color:#f7c87b;font-size:10px}.chore-delete{color:#fff;background:#e66052;border:0;width:76px;font-weight:700;position:absolute;inset:0 0 0 auto}.no-chores{color:#a4c7c3;font-size:13px}.member-column.is-celebrating{animation:.75s ease-out chores-pop}@keyframes chores-pop{35%{transform:translateY(-5px);box-shadow:0 0 0 10px #8cd3b63d}}.chores-bottom{grid-template-columns:1.35fr .85fr .8fr;gap:12px;margin-top:18px;display:grid}.chores-bottom article{background:#0b3145;border-radius:14px;padding:16px}.chores-bottom header{justify-content:space-between;align-items:center;display:flex}.chores-bottom h2{margin:0 0 12px;font:400 24px Libre Caslon Display,Georgia,serif}.rewards-panel>div{gap:8px;display:flex;overflow:auto}.rewards-panel button{color:#eaf4f2;text-align:left;background:#0d3850;border:1px solid #b6e0da24;border-radius:10px;min-width:120px;padding:10px}.rewards-panel button:disabled{opacity:.45}.rewards-panel i,.rewards-panel span,.rewards-panel strong{display:block}.rewards-panel i{color:#f7c87b;font-style:normal}.rewards-panel span{font-size:12px}.rewards-panel strong{margin-top:5px}.leaderboard p,.chores-history p{color:#bdd8d2;justify-content:space-between;gap:9px;margin:8px 0;font-size:13px;display:flex}.leaderboard b{color:#f7c87b}.leaderboard span{flex:1}.chores-modal{z-index:40;background:#04111acc;place-items:center;display:grid;position:fixed;inset:0}.chores-modal>div,.chores-modal form{color:#102c3a;background:#eff7f7;border-radius:16px;gap:12px;width:min(360px,100% - 36px);padding:26px;display:grid}.chores-modal h2{margin:0;font:400 31px Libre Caslon Display,Georgia,serif}.chores-modal label{gap:5px;font-size:12px;font-weight:700;display:grid}.chores-modal input,.chores-modal select{font:inherit;border:1px solid #afcbc7;border-radius:8px;padding:10px}.chores-modal button,.chores-admin button{color:#fff;background:#0d3850;border:0;border-radius:8px;padding:10px;font-weight:700}.pin-pad{background:#0b3145;border-radius:14px;margin:0 0 18px;padding:16px}.pin-pad p{color:#bdd8d2;margin:0 0 10px;font-size:13px}.pin-dots{gap:8px;margin:12px 0;display:flex}.pin-dots i{border:1px solid #b8d9d4;border-radius:50%;width:10px;height:10px}.pin-dots i.filled{background:#ff8a65;border-color:#ff8a65}.pin-pad>div:last-child{grid-template-columns:repeat(6,42px);gap:6px;display:grid}.pin-pad button{color:#eaf4f2;background:#0d3850;border:0;border-radius:7px;padding:9px;font-weight:700}.chores-admin{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px;display:grid}.chores-admin form{color:#102c3a;background:#eff7f7;border-radius:12px;gap:8px;padding:14px;display:grid}.chores-admin h2{margin:0;font:400 22px Libre Caslon Display,Georgia,serif}.chores-admin input,.chores-admin select{border:1px solid #afcbc7;border-radius:7px;min-width:0;padding:9px}.chores-message{z-index:45;color:#bdd8d2;background:#071b29e8;border-radius:8px;margin:0;padding:8px 10px;font-size:12px;position:fixed;bottom:16px;right:16px}@media (width<=850px){.chores-bottom,.chores-admin{grid-template-columns:1fr}.chores-header{flex-wrap:wrap;align-items:flex-start}.chores-score{margin-left:auto}.pin-pad>div:last-child{grid-template-columns:repeat(4,1fr)}.chores-columns{grid-template-columns:none;grid-auto-columns:minmax(230px,76vw);grid-auto-flow:column;padding-bottom:8px;overflow-x:auto}}@media (prefers-reduced-motion:reduce){.member-column.is-celebrating{animation:none}}.kiosk-app--chores{padding-bottom:92px;overflow:auto}.kiosk-app--chores>.kiosk-app-close{font-size:32px;position:fixed;top:18px;right:20px}.kiosk-app--chores{text-align:left;background:#071b29;padding:0 0 92px;display:block}.kiosk-app--chores .chores-app{width:100%;min-height:100%;padding-right:64px}.kiosk-app--chores .chore-delete{position:absolute}.chores-app button{cursor:pointer;font-family:inherit}.chores-app button:disabled{cursor:not-allowed}.counter-undo,.chores-history>button{color:#bdd8d2;background:0 0;border:1px solid #b6e0da40;border-radius:8px;margin-top:6px;padding:7px 10px;font-size:12px}.chore-card strong{font-size:16px}.chore-card small{font-size:12px}.member-tasks{overscroll-behavior:contain;max-height:48vh;overflow-y:auto}.chores-manage{background:#0b3145;border-radius:12px;padding:14px}.chores-manage p{align-items:center;gap:8px;display:flex}.chores-manage p span{flex:1}@media (height<=800px){.member-column{min-height:240px}.chores-header{margin-bottom:20px}}@media (width<=700px){.kiosk-app--chores .chores-app{padding:60px 18px 18px}.chores-header h1{font-size:36px}.chores-mark{width:36px;height:36px}.chores-header{gap:12px}.chores-score{text-align:left;margin-left:50px}}.kiosk-panel{border-top:1px solid #bed8d5;margin-top:30px;padding:30px 0}.kiosk-panel header{justify-content:space-between;align-items:end;gap:22px;margin-bottom:20px;display:flex}.kiosk-panel h2{letter-spacing:-.03em;margin:0 0 8px;font:500 clamp(28px,3vw,43px)/1 Libre Caslon Display,Georgia,serif}.kiosk-panel p{color:#587276;margin:0;font-size:14px}.kiosk-panel label{color:#38585b;gap:6px;font-size:12px;font-weight:700;display:grid}.kiosk-panel input,.kiosk-panel select{font:inherit;color:#102c3a;background:#fff;border:1px solid #afcbc7;border-radius:8px;min-width:0;padding:10px 12px}.kiosk-settings-grid,.dock-add-item{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;display:grid}.kiosk-checks{flex-wrap:wrap;gap:18px;padding:18px 0;display:flex}.kiosk-checks label,.sleep-settings legend label,.dock-skip{align-items:center;gap:8px;display:flex!important}.kiosk-checks input,.sleep-settings input[type=checkbox],.dock-skip input{width:auto;min-height:0}.sleep-settings{border:1px solid #c3d9d6;border-radius:10px;flex-wrap:wrap;align-items:end;gap:12px;padding:16px;display:flex}.sleep-settings legend{padding:0 5px;font-size:13px;font-weight:700}.sleep-days{flex-wrap:wrap;gap:8px;display:flex}.sleep-days label{align-items:center;gap:4px;display:flex}.kiosk-actions,.dock-item-actions{flex-wrap:wrap;align-items:center;gap:9px;margin-top:20px;display:flex}.kiosk-panel button{color:#fff;cursor:pointer;background:#0d3850;border:1px solid #0d3850;border-radius:8px;padding:10px 13px;font-weight:600}.kiosk-panel button:disabled{opacity:.55;cursor:not-allowed}.kiosk-panel .secondary-action{color:#0d3850;background:0 0}.kiosk-token{color:#21443c;background:#e3f5ed;border:1px solid #b8ded1;border-radius:10px;gap:7px;margin-top:18px;padding:14px;display:grid}.kiosk-token input{font-size:12px}.kiosk-status{color:#215b49!important;margin-top:14px!important}.kiosk-error{background:#fff0eb;border-left:3px solid #ff8a65;padding:10px 12px;color:#9e321e!important;margin-top:14px!important}.dock-picker{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.dock-picker label{min-width:125px}.dock-add-item{background:#f9fdfc;border:1px solid #c3d9d6;border-radius:12px;align-items:end;padding:16px}.dock-items{gap:9px;margin:18px 0 0;padding:0;list-style:none;display:grid}.dock-items>li{border-bottom:1px solid #d4e5e2;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px;display:grid}.dock-item-order{gap:4px;display:grid}.dock-item-order button{padding:4px 8px;line-height:1}.dock-item-main{grid-template-columns:repeat(4,minmax(90px,1fr));gap:10px;display:grid}.dock-item-main strong{color:#587276;grid-column:1/-1;font-size:12px}.dock-item-actions{align-self:end;margin:0}.dock-empty{color:#587276;padding:20px 0;font-size:14px}@media (width<=820px){.kiosk-panel header{flex-direction:column;align-items:start}.kiosk-settings-grid,.dock-add-item,.dock-item-main{grid-template-columns:1fr}.dock-items>li{grid-template-columns:auto minmax(0,1fr)}.dock-item-actions{grid-column:2}.dock-picker{width:100%}.dock-picker label{flex:1}.sleep-settings{align-items:stretch}}.screen-editor{border-top:1px solid #bed8d5;margin-top:34px;padding-top:34px}.screen-editor__header{justify-content:space-between;align-items:end;gap:22px;margin-bottom:20px;display:flex}.screen-editor__header h2{letter-spacing:-.03em;margin:0 0 8px;font:500 clamp(28px,3vw,43px)/1 Libre Caslon Display,Georgia,serif}.screen-editor__header p,.screen-editor__layers>p,.screen-editor__empty,.editor-block-inspector--empty p{color:#587276;margin:0;font-size:14px;line-height:1.45}.screen-editor__add{gap:8px;display:flex}.screen-editor select,.screen-editor input,.screen-editor textarea{font:inherit;color:#102c3a;background:#fff;border:1px solid #afcbc7;border-radius:8px;min-width:0;padding:9px 10px}.screen-editor button{cursor:pointer;color:#fff;background:#0d3850;border:1px solid #0d3850;border-radius:8px;padding:9px 11px;font:600 13px DM Sans,sans-serif}.screen-editor button:disabled{opacity:.4;cursor:not-allowed}.screen-editor__error{color:#9e321e;background:#fff0eb;border-left:3px solid #ff8a65;margin:0 0 16px;padding:10px 12px}.screen-editor__workspace{grid-template-columns:minmax(0,1fr) minmax(200px,.34fr);align-items:start;gap:18px;display:grid}.screen-editor__board-wrap{min-width:0}.screen-editor__ruler{color:#587276;justify-content:space-between;margin:0 0 8px;font-size:12px;display:flex}.screen-editor__board{touch-action:none;background-image:linear-gradient(#eff7f710 1px,#0000 1px),linear-gradient(90deg,#eff7f710 1px,#0000 1px);background-size:5% 5%;border:1px solid #062938;width:100%;min-height:240px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #eaf7f440}.screen-editor__loading{color:#eaf4f2;place-items:center;display:grid;position:absolute;inset:0}.editor-block{color:#eaf4f2;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;background:#0b3145df;outline:1px solid #d9f3ef66;flex-direction:column;justify-content:center;gap:4px;min-width:14px;min-height:14px;padding:clamp(5px,.8vw,14px);display:flex;position:absolute;overflow:hidden}.editor-block:focus-visible{outline:3px solid #ffcc8c;z-index:999!important}.editor-block.is-selected{outline:3px solid #ff8a65;box-shadow:0 0 0 3px #ff8a6533}.editor-block.is-disabled{opacity:.45;background:#47636b}.editor-block--text{background:#243e4adc}.editor-block--button{color:#062635;background:#8cd3b6;align-items:center}.editor-preview__kind{text-transform:uppercase;letter-spacing:.08em;opacity:.7;font-size:10px}.editor-block strong{text-overflow:ellipsis;white-space:nowrap;font-size:clamp(11px,1.2vw,24px);overflow:hidden}.editor-block small{opacity:.72;font-size:10px}.editor-preview__button{border:1px solid;border-radius:999px;padding:.35em .75em;font-weight:700}.editor-block__resize{width:16px;height:16px;position:absolute;bottom:2px;right:2px;cursor:nwse-resize!important;background:linear-gradient(135deg,#0000 0 43%,#fff 44% 54%,#0000 55% 62%,#fff 63% 73%,#0000 74%)!important;border:0!important;border-radius:2px!important;padding:0!important}.screen-editor__layers{background:#f9fdfc;border:1px solid #c7dcda;padding:16px}.screen-editor__layers h3,.editor-screen-settings h3,.editor-config h3,.editor-geometry h3,.editor-block-inspector--empty h3{margin:0 0 8px;font:500 23px/1 Libre Caslon Display,Georgia,serif}.screen-editor__layers ol{gap:6px;margin:15px 0 0;padding:0;list-style:none;display:grid}.screen-editor__layers li{background:#fff;border:1px solid #d7e7e4;align-items:stretch;gap:5px;display:flex}.screen-editor__layers li.is-selected{border-color:#ff8a65;box-shadow:inset 3px 0 #ff8a65}.screen-editor__layers li>button{text-align:left;color:#102c3a;background:0 0;border:0;border-radius:0;flex:1;gap:3px;display:grid}.screen-editor__layers li>button small{color:#587276}.screen-editor__layers li>div{flex-direction:column;display:flex}.screen-editor__layers li>div button{color:#0d3850;background:#eff7f7;border:0;border-left:1px solid #d7e7e4;border-radius:0;padding:2px 7px}.screen-editor__inspector{grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:18px;margin-top:18px;display:grid}.editor-screen-settings,.editor-config,.editor-geometry,.editor-block-inspector--empty{background:#f9fdfc;border:1px solid #c7dcda;align-content:start;gap:11px;padding:18px;display:grid}.editor-screen-settings label,.editor-config label,.editor-geometry label{color:#38585b;gap:5px;font-size:12px;font-weight:700;display:grid}.editor-screen-settings input[type=color],.editor-config input[type=color]{width:100%;height:37px;padding:3px}.editor-config textarea{resize:vertical;min-height:82px}.editor-check{align-items:center;gap:8px;display:flex!important}.editor-check input{width:auto}.editor-schedule{border:0;border-top:1px solid #d5e4e1;margin:4px 0 0;padding:13px 0 0}.editor-schedule legend{color:#38585b;padding:0;font-size:12px;font-weight:700}.editor-schedule__detail{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px;display:grid}.editor-schedule__detail>p{color:#587276;grid-column:1/-1;margin:0;font-size:11px;line-height:1.4}.editor-days{grid-column:1/-1;gap:5px;display:flex}.editor-days button{color:#38585b;background:#eff7f7;border-color:#c7dcda;width:30px;height:30px;padding:0}.editor-days button[aria-pressed=true]{color:#fff;background:#0d3850;border-color:#0d3850}.editor-geometry__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.editor-block-inspector{grid-template-columns:minmax(0,1fr) minmax(220px,.82fr);gap:18px;display:grid}.editor-block-inspector--empty{grid-column:1/-1}.editor-confirm{border-top:1px solid #d5e4e1;flex-wrap:wrap;align-items:center;gap:7px;padding-top:12px;display:flex}.editor-confirm p{color:#587276;width:100%;margin:0;font-size:12px;line-height:1.4}.editor-delete{color:#9e321e!important;background:0 0!important;border-color:#e6aba0!important}.editor-danger{background:#9e321e!important;border-color:#9e321e!important}@media (width<=980px){.screen-editor__workspace,.screen-editor__inspector,.editor-block-inspector{grid-template-columns:1fr}.screen-editor__layers ol{grid-template-columns:repeat(2,minmax(0,1fr))}.screen-editor__layers li>div{flex-direction:row}.screen-editor__layers li>div button{border-top:1px solid #d7e7e4;border-left:0}}@media (width<=620px){.screen-editor__header{flex-direction:column;align-items:stretch}.screen-editor__add{width:100%}.screen-editor__add select{flex:1}.screen-editor__layers ol{grid-template-columns:1fr}.screen-editor__board{min-height:200px}.editor-schedule__detail{grid-template-columns:1fr}.editor-days{justify-content:space-between}.editor-days button{width:12.5%}}@media (prefers-reduced-motion:reduce){.editor-block{transition:none}}.api-settings{color:#e9f3f7;background:#0c1c29;border:1px solid #254455;border-radius:.8rem;gap:.85rem;padding:1rem;display:grid}.api-settings h2,.api-settings p{margin:0}.api-settings__eyebrow{color:#79d4c3;letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:700}.api-settings__status{color:#cad8df;background:#263848;border-radius:99px;width:fit-content;padding:.25rem .55rem;font-size:.8rem}.api-settings__status.is-enabled{color:#b4f7de;background:#125448}.api-settings__actions{flex-wrap:wrap;gap:.65rem;display:flex}.api-settings button{color:#092129;cursor:pointer;background:#79d4c3;border:0;border-radius:.45rem;padding:.55rem .8rem;font-weight:700}.api-settings button:disabled{cursor:wait;opacity:.6}.api-settings__disable{color:#f1f6f8!important;background:#293e4a!important}.api-settings__key{background:#102b34;border:1px solid #79d4c3;border-radius:.55rem;gap:.45rem;padding:.8rem;display:grid}.api-settings__key code{overflow-wrap:anywhere;color:#b4f7de;-webkit-user-select:all;user-select:all}.api-settings__key p,.api-settings__error{color:#c9d9de;font-size:.82rem}.api-settings__error{color:#ffb4a5}.admin-shell{color:#102c3a;background:#eff7f7;min-height:100svh;font-family:DM Sans,sans-serif}.admin-topbar{background:#f9fdfc;border-bottom:1px solid #c4d9d7;justify-content:space-between;align-items:center;height:72px;padding:0 clamp(22px,5vw,82px);display:flex}.admin-brand{color:inherit;align-items:center;gap:10px;font-size:22px;font-weight:700;text-decoration:none;display:flex}.admin-brand>span,.admin-mark{color:#eff7f7;background:#0d3850;border-radius:10px;place-items:center;width:34px;height:34px;font:400 24px Georgia,serif;display:grid}.admin-topbar>div{text-align:right;font-size:13px}.admin-topbar small{color:#587276;margin-top:3px;display:block}.admin-layout{grid-template-columns:minmax(260px,.78fr) minmax(0,1.8fr);max-width:1420px;min-height:calc(100svh - 72px);margin:auto;display:grid}.admin-aside{color:#eff7f7;background:#0d3850;flex-direction:column;align-items:flex-start;padding:clamp(36px,6vw,100px) clamp(26px,4vw,68px);display:flex}.admin-aside h1{letter-spacing:-.045em;margin:0 0 26px;font:400 clamp(39px,4.4vw,68px)/.96 Libre Caslon Display,Georgia,serif}.admin-aside>p{color:#bdd8d2;max-width:29ch;margin:0 0 36px;line-height:1.6}.primary-action,.onboarding-form button{color:#351b15;cursor:pointer;background:#ff8a65;border:0;border-radius:11px;padding:14px 18px;font-weight:700}.primary-action:disabled,.onboarding-form button:disabled{opacity:.55}.display-link{border-top:1px solid #b7d7d230;gap:8px;margin-top:28px;padding-top:24px;font-size:13px;display:grid}.display-link a{color:#b9efd6;font-weight:700}.display-link span{color:#bdd8d2;line-height:1.45}.admin-workspace{min-width:0;padding:clamp(28px,5vw,76px)}.workspace-heading,.block-maker,.devices-panel{border-bottom:1px solid #bed8d5;margin-bottom:30px;padding-bottom:28px}.workspace-heading{justify-content:space-between;align-items:end;gap:24px;display:flex}.workspace-heading h2,.block-maker h2,.devices-panel h2{letter-spacing:-.03em;margin:0 0 8px;font:500 clamp(28px,3vw,43px)/1 Libre Caslon Display,Georgia,serif}.workspace-heading p,.block-maker p,.devices-panel p{color:#587276;margin:0;font-size:14px}.inline-form{gap:8px;display:flex}.inline-form input,.block-maker input,.block-maker select{font:inherit;color:#102c3a;background:#fff;border:1px solid #afcbc7;border-radius:8px;padding:10px 12px}.inline-form button,.block-maker button{color:#fff;cursor:pointer;background:#0d3850;border:1px solid #0d3850;border-radius:8px;padding:10px 13px;font-weight:600}.screen-strip{gap:12px;padding-bottom:30px;display:flex;overflow:auto}.screen-chip{text-align:left;cursor:pointer;color:#102c3a;background:#f9fdfc;border:1px solid #c3d9d6;border-radius:13px;gap:7px;min-width:150px;padding:14px;display:grid}.screen-chip.selected{background:#c5ede0;border-color:#0d3850;box-shadow:inset 0 0 0 1px #0d3850}.screen-chip>span{color:#fff;background:#0d3850;border-radius:7px;place-items:center;width:26px;height:26px;font-weight:700;display:grid}.screen-chip strong{font-size:14px}.screen-chip small{color:#587276}.block-maker{grid-template-columns:minmax(150px,.6fr) minmax(0,1fr);gap:32px;display:grid}.block-maker form{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.block-maker label{color:#38585b;gap:6px;font-size:12px;font-weight:700;display:grid}.form-hint{width:100%;font-size:12px!important}.devices-panel{grid-template-columns:minmax(150px,.6fr) minmax(0,1fr);gap:32px;display:grid}.devices-panel ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.devices-panel li{border-bottom:1px solid #d4e5e2;justify-content:space-between;gap:20px;padding:12px 0;font-size:14px;display:flex}.devices-panel li span{color:#587276}.admin-empty{color:#587276;font-size:14px}.admin-error{color:#9e321e;background:#fff0eb;border-left:3px solid #ff8a65;padding:10px 12px;line-height:1.4}.admin-onboarding{grid-template-columns:1fr minmax(340px,.8fr);align-items:stretch;display:grid}.admin-intro{color:#eff7f7;background:#0d3850;align-items:flex-start;gap:18px;padding:10vw;display:flex}.admin-intro h1{margin:0;font:400 56px/1 Libre Caslon Display,Georgia,serif}.admin-intro p{color:#bdd8d2;max-width:28ch;line-height:1.6}.onboarding-form{max-width:360px;margin:auto;padding:30px}.onboarding-form h2{margin:0 0 12px;font:400 38px/1.05 Libre Caslon Display,Georgia,serif}.onboarding-form p{color:#587276;margin-bottom:26px;line-height:1.55}@media (width<=820px){.admin-layout,.admin-onboarding{grid-template-columns:1fr}.admin-aside{padding:42px 28px}.admin-workspace{padding:36px 24px}.workspace-heading,.block-maker,.devices-panel{grid-template-columns:1fr;align-items:start}.workspace-heading{flex-direction:column;align-items:start}.admin-intro{padding:62px 28px}.admin-topbar{padding:0 20px}.admin-topbar>div{text-overflow:ellipsis;white-space:nowrap;max-width:48%;overflow:hidden}.inline-form{width:100%}.inline-form input{flex:1;min-width:0}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.block-options{gap:14px;width:100%;display:grid}.block-options label{gap:6px;display:grid}.block-options .check-option{align-items:center;gap:8px;display:flex}.block-options input[type=checkbox]{width:auto;min-height:0}.block-maker form{min-width:0}.login-shell{color:#102c3a;background:radial-gradient(circle at 82% 8%,#d9ece3 0,#0000 30%),#eff7f7;place-items:center;min-height:100svh;padding:24px;font-family:DM Sans,sans-serif;display:grid}.login-card{background:#f9fdfc;border:1px solid #c4d9d7;gap:30px;width:min(460px,100%);padding:clamp(30px,7vw,64px);display:grid;box-shadow:0 28px 70px #0d385022}.login-brand{color:inherit;align-items:center;gap:10px;font-size:22px;font-weight:700;text-decoration:none;display:flex}.login-brand span{color:#eff7f7;background:#0d3850;border-radius:10px;place-items:center;width:34px;height:34px;font:400 24px Georgia,serif;display:grid}.login-card h1{letter-spacing:-.05em;margin:0 0 12px;font:400 clamp(44px,7vw,66px)/.95 Libre Caslon Display,Georgia,serif}.login-card p{color:#587276;margin:0;line-height:1.55}.google-signin{color:#fff;background:#0d3850;border-radius:10px;justify-content:center;align-items:center;gap:12px;padding:14px 18px;font-weight:700;text-decoration:none;display:flex}.google-signin span{color:#0d3850;background:#fff;border-radius:50%;place-items:center;width:22px;height:22px;font-family:Georgia,serif;display:grid}.login-message{background:#fff0eb;border-left:3px solid #ff8a65;padding:10px 12px;color:#9e321e!important}.login-status{border-top:1px solid #c4d9d7;border-bottom:1px solid #c4d9d7;padding:13px 0}.login-card small{color:#587276}:root{color:#162b28;font-synthesis:none;background:#f5f3e9;font-family:DM Sans,sans-serif;font-size:16px;font-weight:400}*{box-sizing:border-box}body{margin:0}.landing{grid-template-rows:auto 1fr auto;grid-template-columns:1.6fr 1fr;gap:40px;max-width:1600px;min-height:100svh;margin:auto;padding:38px 7vw;display:grid}.landing>header,.landing>footer{grid-column:1/-1;justify-content:space-between;align-items:center;display:flex}.wordmark{color:inherit;letter-spacing:-1px;align-items:center;gap:12px;font-size:26px;font-weight:700;text-decoration:none;display:flex}.mark{color:#e8eabc;background:#162b28;border-radius:12px;place-items:center;width:42px;height:42px;font-family:serif;font-size:30px;display:inline-grid}.eyebrow{letter-spacing:2px;font-size:10px;font-weight:600}.landing>header>.eyebrow{color:#67716a}.welcome{align-self:center;padding:7vh 0}.landing h1{letter-spacing:-3px;margin:28px 0;font-family:Libre Caslon Display,Georgia,serif;font-size:clamp(58px,6.5vw,106px);font-weight:400;line-height:.99}.landing h1 em{color:#7b8862;font-weight:400}.intro{color:#5f6c64;font-size:17px;line-height:1.7}.status{align-items:center;gap:9px;margin-top:35px;font-size:12px;display:flex}.dot{background:#607d4e;border-radius:100%;width:7px;height:7px}.dot.offline{background:#b97146}.note{border-left:1px solid #c8cdbd;align-self:center;max-width:270px;margin:60px 0 0 20px;padding:40px 0 40px 28px}.note p{margin:20px 0;font-family:Libre Caslon Display,Georgia,serif;font-size:34px;line-height:1.12}.note>span:last-child{color:#697467;font-size:13px;line-height:1.7}.landing>footer{letter-spacing:.3px;color:#6c766c;border-top:1px solid #d8dccd;padding-top:22px;font-size:10px}@media (width<=680px){.landing{grid-template-columns:1fr;gap:24px;padding:24px}.landing>header>.eyebrow{display:none}.welcome{padding:7vh 0 0}.landing h1{letter-spacing:-2px;font-size:68px}.intro{font-size:15px}.note{max-width:330px;margin:0;padding:20px 0 20px 20px}.note p{margin:10px 0;font-size:29px}.landing>footer{align-items:flex-start;gap:20px;font-size:9px}}
