:root{--bg:#f5f4ef;--bg-2:#efeee7;--panel:#fffefa;--panel-2:#f1f2ea;--line:#e2e4db;--line-2:#cbd0c3;--text:#253c35;--muted:#626f65;--faint:#727b71;--accent:#477354;--accent-2:#416847;--green:#39704b;--amber:#906517;--red:#ab4038;--violet:#716185;--blue:#306c86;--orange:#a76135;--pink:#985774;--sidebar-w:218px;--radius:18px}body{font-family:Inter,'Segoe UI',system-ui,sans-serif}body::before{display:none}button,a,input,summary{-webkit-tap-highlight-color:transparent}button,input,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #b67b31;outline-offset:4px}.skip{position:fixed;top:-60px;z-index:200;padding:12px;background:white}.skip:focus{top:5px}#sidebar{background:#eeefe7;padding:25px 15px;border:0}.brand{padding:7px 10px 37px;text-decoration:none;color:var(--text)}.brand img{width:33px;height:33px}.brand-name{font-size:15px;letter-spacing:.17em}.brand-sub{font-size:11px;letter-spacing:0;margin-top:6px}.property-label{padding:18px 13px 22px;border-top:1px solid var(--line);font-size:10px;letter-spacing:1.8px;font-weight:700}.property-label span{display:block;margin-top:7px;letter-spacing:0;font-size:12px;font-weight:400;color:var(--muted)}#sidebar nav{display:grid;gap:6px}.nav-item{padding:14px;font-size:14px;color:#606d60}.nav-item.active{background:#dce4d6;color:#294632}.nav-item.active::before{display:none}.nav-item:hover{background:#e2e7db;color:var(--text)}.sidebar-foot{border:0;padding:20px 12px}.sidebar-foot p{font-family:Georgia,serif;font-size:22px;line-height:1.4;color:#596d55;margin-bottom:24px}.sidebar-foot a{display:block;color:var(--text);font-size:12px;text-decoration:none;margin-top:14px}#topbar{background:var(--bg);border-bottom:1px solid var(--line);min-height:74px;padding:18px 38px;gap:16px;flex-wrap:wrap;position:static}.tb-title{font-size:14px;font-weight:550}.demo-note{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}.demo-note span{width:6px;height:6px;border-radius:50%;background:#7d9168}.demo-note b{font-weight:400;border-left:1px solid #c5cabe;padding-left:8px}.site-link{font-size:12px;color:var(--text);margin-left:16px;text-decoration:none}#page{padding:32px 38px 50px;max-width:1500px;width:100%;margin:0 auto;scroll-behavior:auto}.welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:26px}.eyebrow{font-size:10px;letter-spacing:2px;color:#717e67;margin-bottom:15px}.welcome h1,.page-head h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-1.5px;font-size:45px;line-height:1.12}.welcome p{font-size:14px;line-height:1.7;color:var(--muted);margin-top:16px}.welcome img{width:42%;max-width:430px;height:210px;object-fit:cover;border-radius:50% 50% 8px 8px}.weather{display:flex;align-items:center;gap:8px;font-size:12px;margin-top:23px}.weather svg{width:17px;height:17px;color:var(--amber)}.weather span{color:var(--muted);margin-left:8px}.attention{display:flex;align-items:center;width:100%;border:1px solid #e3ddc9;background:#f2edde;border-radius:12px;padding:14px 18px;gap:14px;text-align:left;color:#685731;font:inherit;cursor:pointer}.attention>svg{width:22px;height:22px}.attention>span:last-child{margin-left:auto}.attention b{font-size:13px;font-weight:600}.attention small{display:block;color:#75684a;font-size:12px;margin-top:3px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:27px 0 14px}.section-title h2{font-size:17px;font-weight:550;letter-spacing:-.3px}.section-title>span{font-size:11px;color:var(--muted)}.text-btn{border:0;background:none;color:#4c6950;font:inherit;font-size:12px;cursor:pointer;padding:8px 0}.moods{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.moods button{border:1px solid var(--line);border-radius:13px;background:#fffefa;padding:17px;text-align:left;font:inherit;color:var(--text);position:relative;cursor:pointer;transition:background .18s}.moods button:hover{background:#e9edde}.moods svg{width:21px;height:21px;margin-bottom:14px;color:#748365}.moods b,.moods small{display:block}.moods b{font-size:13px;font-weight:600}.moods small{font-size:11px;color:var(--muted);margin-top:5px}.moods button>span{position:absolute;right:17px;top:17px;color:#8b967f}.everyday{display:grid;grid-template-columns:1fr 1fr 1.05fr;gap:16px}.light-card,.temperature{padding:22px;border:1px solid var(--line);border-radius:17px;background:var(--panel)}.light-card.is-on{background:#f3eddc;border-color:#e4dbc2}.light-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.light-icon{width:35px;height:35px;background:#edf0e6;border-radius:50%;display:grid;place-items:center;color:#66805a}.is-on .light-icon{background:#e9dfbd;color:#937337}.light-icon svg{width:20px;height:20px}.light-card h3,.temperature h3{font-size:15px;font-weight:550}.light-card p,.temperature p{font-size:12px;color:var(--muted);margin-top:6px}.slider-label{display:flex;justify-content:space-between;margin:22px 0 10px;font-size:11px;color:var(--muted)}.light-card input[type=range]{width:100%;height:28px;display:block}.switch{width:44px;height:26px}.switch .sl{background:#cdd2c5}.switch .sl::before{width:20px;height:20px;top:3px;left:3px;background:#fffefa}.switch input:checked+.sl{background:#72875d}.switch input:checked+.sl::before{transform:translateX(18px)}.switch:focus-within{outline:3px solid #b67b31;outline-offset:5px;border-radius:20px}.light-card details{margin-top:12px;font-size:11px;color:var(--muted)}summary{cursor:pointer;padding:8px 0}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right,#8b9b6e var(--fill),#e0e3d6 var(--fill))}input[type=range]::-webkit-slider-thumb{background:#fffefa;border:2px solid #829066;box-shadow:none}.quiet-label{font-size:11px;color:var(--muted)}.temp-control{display:flex;align-items:center;justify-content:space-between;margin:17px 0 8px}.temp-control strong{font-weight:400;font-size:45px;letter-spacing:-2px}.temp-control small{font-size:27px}.temp-control button,.stepper button{width:36px;height:36px;border-radius:50%;border:1px solid var(--line-2);background:none;color:var(--text);font-size:20px;cursor:pointer}.quick-links{display:flex;flex-direction:column;justify-content:space-between;gap:10px}.destination{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:12px;padding:18px 15px;background:var(--panel);color:var(--text);text-align:left;width:100%;font:inherit;cursor:pointer;min-width:0}.destination:hover{background:#e9edde}.destination>svg{width:21px;height:21px;flex:none;color:#758368}.destination b{display:block;font-size:13px;font-weight:550}.destination small{display:block;font-size:11px;color:var(--muted);margin-top:5px;line-height:1.5}.destination .arrow{margin-left:auto;color:#8a947f;font-size:15px}.system-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.demo-explainer{font-size:11px;color:var(--muted);line-height:1.6;margin-top:28px}.light-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.page-head{margin:10px 0 30px;gap:20px}.page-head p{font-size:14px;margin-top:14px;color:var(--muted)}.page-head h1{font-size:37px}.room-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.room-detail{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--panel)}.room-detail .light-card{border:0;border-radius:0}.room-extra{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 20px;border-top:1px solid var(--line);font-size:12px}.room-extra>span{display:flex;align-items:center;gap:7px}.room-extra svg{width:17px;height:17px}.stepper{display:flex;align-items:center;gap:10px}.system-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.system-groups h2{font-size:14px;font-weight:550;margin-bottom:13px}.system-groups .destination{margin-bottom:9px}.activity-list{max-width:850px}.activity-list>div{display:flex;gap:16px;padding:23px 0;border-bottom:1px solid var(--line)}.activity-list svg{width:22px;height:22px;color:#738565}.activity-list b{font-size:14px;font-weight:500}.activity-list small{display:block;margin-top:7px;font-size:12px;color:var(--muted)}.btn,.chip{background:var(--panel);color:var(--text);border:1px solid var(--line-2);min-height:38px}.btn:hover,.chip:hover{background:#e8edde;color:var(--text)}.chip.active{background:#dce5d5;color:#324c37;border-color:#a8b79c}.card{box-shadow:none;background:var(--panel);border-color:var(--line)}.card.click:hover{border-color:#a8b79c}.badge{font-size:11px}.badge.ok{background:#e1eddf;color:#366342}.badge.live{background:#ede2df;color:#8e4b3c}.t-btn{background:#eff0e8;color:var(--text)}.bar{background:#e3e5db}.kv{border-color:var(--line)}.cam-tile{color:#fff}.g-auto{grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr))}.hero{background:#e7eddf}.t-cur{font-size:38px}.modal{background:var(--panel)}.toast{background:#263e32;color:#fff;border:0}#toasts{bottom:25px}.icon-btn{color:var(--text)}.page-head .ph-actions{flex-wrap:wrap}svg{flex-shrink:0}.system-groups,.light-grid,.everyday{min-width:0}.circ-grid{min-width:0}.flow-diagram{max-width:100%} .room-extra b{font-variant-numeric:tabular-nums}
@media(min-width:1600px){#page{padding-left:70px;padding-right:70px}.welcome img{height:230px}}
@media(max-width:1100px){:root{--sidebar-w:185px}#page{padding:25px}.everyday{grid-template-columns:1fr 1fr}.quick-links{grid-column:1/-1;flex-direction:row}.quick-links>*{flex:1}.light-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome h1{font-size:38px}.welcome img{height:180px}#topbar{padding:18px 25px}.site-link{display:none}}
@media(max-width:700px){body{overflow:auto}#app{display:block;height:auto;min-height:100dvh}#sidebar{position:fixed;bottom:0;left:0;right:0;z-index:50;width:100%;height:auto;padding:8px 12px max(8px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#f6f6eff5;overflow:visible;backdrop-filter:blur(12px)}#sidebar .brand,#sidebar .property-label,#sidebar .sidebar-foot{display:none}#sidebar nav{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.nav-item{flex-direction:column;gap:5px;padding:8px 4px;font-size:10px;border-radius:9px}.nav-item svg{width:19px;height:19px}#shell{display:block}#topbar{min-height:60px;padding:15px 20px;gap:10px}.tb-title{font-size:14px}.demo-note{font-size:10px;gap:5px}.demo-note b{font-size:9px}#page{overflow:visible;padding:25px 20px 110px}.welcome{position:relative;margin-bottom:22px;min-height:170px;gap:5px}.welcome>div{z-index:1}.welcome h1{font-size:35px}.eyebrow{font-size:8px;letter-spacing:1.4px}.welcome p{font-size:12px;margin-top:12px}.welcome img{width:33%;height:145px;border-radius:80px 80px 8px 8px}.weather{font-size:10px;margin-top:15px;gap:5px}.weather span{display:none}.attention{padding:12px;gap:9px}.attention b{font-size:12px}.attention small{font-size:10px}.section-title{margin-top:24px}.section-title h2{font-size:16px}.section-title>span{display:none}.moods{grid-template-columns:repeat(2,1fr);gap:9px}.moods button{padding:13px 14px}.moods svg{margin-bottom:9px;width:19px;height:19px}.moods b{font-size:12px}.moods small{font-size:10px}.everyday{gap:10px}.light-card,.temperature{padding:16px}.light-card h3,.temperature h3{font-size:13px}.light-card p,.temperature p{font-size:11px}.temp-control strong{font-size:35px}.temp-control button{width:28px;height:28px}.light-top{margin-bottom:16px}.light-icon{width:29px;height:29px}.light-icon svg{width:17px;height:17px}.quick-links{flex-direction:column;gap:8px}.quick-links .destination{padding:13px 15px}.system-summary{grid-template-columns:1fr;gap:8px}.system-summary .destination{padding:13px 15px}.system-groups{grid-template-columns:1fr;gap:20px}.light-grid{grid-template-columns:1fr}.light-grid .light-card{padding:23px}.page-head{display:block;margin-top:4px}.page-head h1{font-size:32px}.ph-actions{margin-top:18px}.page-head p{line-height:1.6}.g-2,.g-3,.g-4{grid-template-columns:1fr}.span-2{grid-column:auto}.room-tabs{gap:6px}.chip{font-size:12px}#toasts{bottom:90px;left:20px;right:20px;width:auto}.toast{max-width:100%}.tb-right{flex-wrap:wrap}.modal{width:calc(100vw - 30px)}.row{flex-wrap:wrap}.r-end{max-width:100%}.flow-d svg{max-width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Keep the working controls within the first desktop view. */
@media(min-width:1101px){.welcome{margin-bottom:20px}.welcome img{height:155px;width:35%}.welcome h1{font-size:39px}.welcome p{margin-top:9px;font-size:13px}.weather{margin-top:12px}.eyebrow{margin-bottom:10px}.moods button{padding:13px 16px}.moods svg{margin-bottom:9px}.section-title{margin-top:22px}}
@media(max-width:700px){.welcome{min-height:125px}.welcome img{height:118px;width:29%}.welcome h1{font-size:32px}.welcome p{font-size:11px}.eyebrow{font-size:7px;margin-bottom:10px}.weather{margin-top:10px}.moods{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.moods button{padding:12px 9px;min-height:89px}.moods b{font-size:10px;line-height:1.4}.moods small,.moods button>span{display:none}.moods svg{margin-bottom:10px}.section-title{margin-top:20px}.light-card .slider-label{margin-top:16px}}

@font-face{font-family:Graduate;src:url("/fonts/graduate.ttf");font-weight:400;font-display:swap}
/* A useful morning brief; brand typography stays separate from app typography. */
.brand-name{font-family:Graduate,Georgia,serif;font-weight:400;letter-spacing:.06em;-webkit-text-stroke:.35px currentColor}.brand-sub{font-family:inherit}.welcome h1,.page-head h1{font-family:inherit;font-weight:500;letter-spacing:-1px}.welcome h1{font-size:34px}.sidebar-foot .sidebar-caption{font-family:inherit;font-size:12px;line-height:1.8;color:var(--muted)}.landscape-window{width:35%;max-width:350px;height:140px;border-radius:100px 100px 8px 8px;overflow:hidden;flex:none}.welcome .landscape-window img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 22%;transform:scale(1.12);border-radius:0}.welcome{margin-bottom:18px;min-height:0}.daily-brief{display:grid;grid-template-columns:1.25fr 1fr 1fr;align-items:start;gap:12px;margin-bottom:18px;font-size:12px}.daily-brief>div,.daily-brief>details{background:#eeefe7;border:1px solid var(--line);border-radius:11px;min-width:0}.coffee-prompt{padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:57px}.coffee-prompt>span{display:flex;align-items:center;gap:8px}.daily-brief svg{width:17px;height:17px;flex:none;color:#6e7f5d}.coffee-prompt .chip{font-size:11px;display:flex;align-items:center;gap:5px;padding:6px 9px;min-height:33px}.daily-brief summary{display:flex;align-items:center;gap:8px;padding:18px 12px;min-height:55px;font-size:12px}.daily-brief summary>span{margin-left:auto;color:var(--muted);font-size:11px}.daily-brief details[open]{background:#fffefa}.daily-brief ul{list-style:none;margin:0;padding:0 12px 12px}.daily-brief li{display:flex;gap:10px;padding:12px 0;border-top:1px solid var(--line)}.daily-brief time{font-size:10px;min-width:50px;color:var(--muted)}.daily-brief small{display:block;font-size:10px;line-height:1.6;margin-top:4px;color:var(--muted)}.sample-message{padding:0 12px 14px;font-size:11px;line-height:1.6}.sample-message p{margin:8px 0}.page-head h1{font-size:32px}.weather{flex-wrap:wrap;line-height:1.6}.weather span{margin-left:0}.eyebrow{letter-spacing:1px}
@media(max-width:1100px){.daily-brief{grid-template-columns:1fr 1fr}.coffee-prompt{grid-column:1/-1}.landscape-window{width:30%;height:115px}.welcome h1{font-size:29px}.weather{font-size:11px}}
@media(max-width:700px){.landscape-window{width:24%;height:93px;border-radius:60px 60px 6px 6px}.welcome h1{font-size:25px;letter-spacing:-.8px}.eyebrow{font-size:7px;letter-spacing:.5px}.weather{font-size:10px;gap:4px;margin-top:10px}.weather span{display:block;flex-basis:100%;margin-left:0}.daily-brief{gap:7px;margin-bottom:14px}.coffee-prompt{min-height:45px;padding:7px 11px}.daily-brief summary{min-height:45px;padding:12px 11px;font-size:11px}.daily-brief summary>span{font-size:10px}.moods small{display:none}.page-head h1{font-size:28px}.welcome{gap:10px}.welcome>div:first-child{min-width:0}.section-title{margin-top:18px}}
@media(min-width:701px) and (max-width:1100px){.daily-brief{grid-template-columns:1.25fr 1fr 1fr;gap:8px}.coffee-prompt{grid-column:auto;padding:10px}.coffee-prompt>span{gap:4px}.coffee-prompt>span svg{display:none}.daily-brief summary{gap:6px;padding:18px 10px}}

.brand img{width:38px;height:38px;object-fit:contain;border-radius:8px}
.mobile-home{display:none}
@media(max-width:700px){.mobile-home{display:inline-flex;flex:none;align-items:center;justify-content:center;width:32px;height:32px}.mobile-home img{width:32px;height:32px;border-radius:7px;object-fit:contain}}
/* Taller phone crops need extra bleed to keep the poster's lower edge outside the mask. */
@media(max-width:700px){.welcome .landscape-window img{transform:scale(1.2)}}
