/* Demo home: phone-first, four destinations, shared by new and retained systems. */
/* The refresh affordance appears only during a pull or keyboard focus. */
#page.nx-pull-enabled{overscroll-behavior-y:none}
.nx-pull-refresh{flex:none;display:grid;place-items:center;height:var(--pull-height,0px);min-height:0;overflow:hidden;background:var(--bg);color:var(--dim);transition:height .18s ease}
.nx-pull-refresh.is-pulling{transition:none}
.nx-pull-inner{display:flex;align-items:center;justify-content:center;gap:9px;min-height:42px;font-size:12px;font-weight:550;white-space:nowrap}
.nx-pull-arrow{font-size:22px;line-height:1;color:var(--accent);transition:transform .15s}
.nx-pull-refresh[data-state="ready"] .nx-pull-arrow{transform:rotate(180deg)}
.nx-pull-spinner{display:none;width:17px;height:17px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%}
.nx-pull-refresh[data-state="refreshing"] .nx-pull-spinner{display:block;animation:nx-pull-spin .8s linear infinite}
.nx-pull-refresh:is([data-state="refreshing"],[data-state="complete"],[data-state="error"]) .nx-pull-arrow{display:none}
.nx-pull-refresh[data-state="error"]{color:var(--alert)}
.nx-refresh-keyboard:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.nx-refresh-keyboard:focus{position:fixed;top:calc(12px + env(safe-area-inset-top));left:12px;z-index:300;padding:12px 18px;border:2px solid var(--accent);border-radius:12px;background:var(--panel);color:var(--ink);font:600 14px system-ui}
@keyframes nx-pull-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.nx-pull-refresh,.nx-pull-arrow{transition:none}.nx-pull-refresh[data-state="refreshing"] .nx-pull-spinner{animation:none}}
:root[data-theme="daylight"]{--bg:#f4f7fb;--panel:#fff;--panel2:#f7f9fd;--inset:#f0f4fa;--ink:#15243c;--dim:#53627b;--muted:#64738a;--line:#dde5f0;--line2:#eaf0f6;--accent:#1264e9;--accent-soft:#eaf2ff;--on-accent:#fff;--water:#167ce8;--ok:#17815e;--warn:#a6670b;--warn-soft:#fff4dd;--alert:#be3343}
:root[data-theme="command"]{--accent:#75a9ff;--accent-soft:#23344e;--on-accent:#101c30}
.phone-app{background:var(--bg)}.phone-top-inner{max-width:1280px}.phone-brand{font-weight:700}.phone-app main.console{max-width:1100px}.phone-nav{grid-template-columns:repeat(4,1fr);max-width:650px;margin:auto}.phone-app .card{border-radius:18px;box-shadow:0 3px 15px #1b376003}.phone-app h1{font-weight:740}.next-page .journey-heading{display:none}.next-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 8px}.next-heading h1{font-size:30px;letter-spacing:-1px;margin:3px 0}.next-heading .eyebrow{font-size:10px;color:var(--muted);letter-spacing:2px}.nx-icon{border:1px solid var(--line);border-radius:50%;width:42px;height:42px;background:var(--panel);color:var(--dim);font-size:22px}.nx-status{font-size:12px;color:var(--muted);margin:0 0 18px;min-height:18px}.nx-status.error{color:var(--alert)}.nx-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:19px;margin:0 0 15px;min-width:0;overflow:hidden}.nx-card h2,.nx-card h3{margin:0 0 14px;font-size:18px;letter-spacing:-.3px}.nx-card h3{font-size:15px}.nx-card p{line-height:1.5;font-size:13px}.nx-link{color:var(--accent);text-decoration:none}.nx-card-title{display:flex;justify-content:space-between;align-items:center;font-size:19px;font-weight:650;text-decoration:none;margin-bottom:15px}.nx-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.nx-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.nx-grid>*{min-width:0}.nx-metric{padding:13px 11px;border-radius:12px;background:var(--panel2);border:1px solid var(--line2);text-decoration:none;color:var(--ink)}.nx-metric small,.nx-metric strong{display:block}.nx-metric small{font-size:11px;color:var(--muted)}.nx-metric strong{font-size:20px;font-weight:650;line-height:1.5;letter-spacing:-.6px}.nx-muted{color:var(--muted);font-size:12px}.nx-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}.nx-bar>*{min-width:0}.nx-button,.nx-chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:10px 15px;border:1px solid var(--line);border-radius:11px;background:var(--panel2);color:var(--ink);font:600 13px/1.3 system-ui;text-decoration:none;cursor:pointer}.nx-button.primary,.nx-chip[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.nx-button.danger{color:var(--alert)}button:disabled{opacity:.45;cursor:not-allowed}.nx-wide{width:100%}.nx-segments{display:flex;gap:7px;margin:12px 0}.nx-segments>*{flex:1;padding:10px 6px;min-width:0}.nx-occasion{font-size:12px;min-height:50px}.nx-row{display:flex;gap:13px;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line2);color:var(--ink);text-decoration:none}.nx-row:last-child{border:0}.nx-row b,.nx-row small{display:block}.nx-row small{margin-top:4px;color:var(--muted);font-size:12px}.nx-row>span:first-child{flex:1}.nx-row .ic{color:var(--accent)}.nx-room{display:grid;grid-template-columns:1fr 40px;background:var(--panel2);border:1px solid var(--line);border-radius:13px;overflow:hidden}.nx-room.on{background:#fff4de;color:#392d1c;border-color:#efdfc1}.nx-room button{border:0;background:none;color:inherit;min-height:76px;padding:12px;text-align:left}.nx-room b{display:block;font-size:14px}.nx-room small{font-size:11px;display:block;margin-top:7px;color:var(--dim)}.nx-room .nx-room-details{padding:0;text-align:center;border-left:1px solid var(--line2)}.nx-room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.nx-house{position:relative;background:#e7edf4;border:1px solid var(--line);border-radius:21px;overflow:hidden;margin:0 0 14px}.nx-house img{width:100%;height:auto;display:block;aspect-ratio:1.5;object-fit:cover}.nx-house figcaption{padding:9px 14px;color:#53627b;background:#f7f9fd;font-size:10px}.nx-house .ic{width:14px}.nx-cameras{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.nx-camera{display:block;border-radius:14px;overflow:hidden;background:var(--panel2);text-decoration:none;color:var(--ink);border:1px solid var(--line)}.nx-camera img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.nx-camera span{display:block;padding:10px;font-size:12px}.nx-camera small{display:block;color:var(--muted);margin-top:4px}.nx-empty{padding:18px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);font-size:13px;line-height:1.65}.nx-light{padding:13px 0;border-bottom:1px solid var(--line)}.nx-light-top{display:flex;gap:10px;align-items:center}.nx-light-top label{flex:1;font-size:14px;font-weight:600}.nx-light-top small{display:block;color:var(--muted);font-weight:400;font-size:11px;margin-top:5px}.nx-light-level{display:flex;gap:13px;align-items:center}.nx-light-level input{flex:1;min-width:0}.nx-light-level output{font-size:12px;min-width:42px}.nx-toggle{min-width:47px;min-height:32px;border:1px solid var(--line);border-radius:20px;background:var(--panel2);color:var(--dim)}.nx-toggle[aria-pressed="true"]{background:var(--accent);color:var(--on-accent)}.nx-load-list{max-height:none}.nx-load-heading{font-size:11px;letter-spacing:1px;color:var(--muted);margin:24px 0 6px}.nx-search{width:100%;margin:8px 0}.nx-dialog{position:fixed;inset:auto 0 0;width:min(100%,650px);max-width:100%;max-height:90dvh;overflow:auto;margin:0 auto;padding:22px;border:1px solid var(--line);border-radius:23px 23px 0 0;background:var(--panel);color:var(--ink);box-shadow:0 -20px 100px #10203922}.nx-dialog::backdrop{background:#10203977;backdrop-filter:blur(3px)}.nx-dialog>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.nx-dialog h2{font-size:22px;margin:0}.nx-dialog label{display:block;font-size:13px;margin:12px 0 5px}.nx-dialog input:not([type=range]):not([type=checkbox]),.nx-dialog select{width:100%}.nx-dialog input[type=checkbox]{width:20px;height:20px}.nx-editor-list{max-height:38dvh;overflow:auto;padding:0 9px}.nx-editor-row{display:grid;grid-template-columns:24px minmax(0,1fr) 90px;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line2)}.nx-editor-row label{font-size:12px;margin:0}.nx-editor-row small{display:block;color:var(--muted)}.nx-chart{width:100%;height:auto;display:block;overflow:visible}.nx-chart text{font:11px system-ui;fill:var(--muted)}.nx-chart .grid{stroke:var(--line)}.nx-chart .line{fill:none;stroke:var(--accent);stroke-width:2.5}.nx-chart .cursor{stroke:var(--accent);stroke-dasharray:3 3}.nx-chart-hit{display:block;color:inherit;text-decoration:none}.nx-chart-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:9px}.nx-chart-head b{font-size:16px}.nx-chart-head span{font-size:12px;color:var(--accent)}.nx-time-control{position:sticky;top:0;background:var(--panel);z-index:2;padding:12px;border:1px solid var(--line);border-radius:14px;margin-bottom:16px}.nx-time-control input{width:100%}.nx-time-control output{font-weight:700}.nx-timeline{margin:0;padding:0;list-style:none}.nx-timeline li{display:grid;grid-template-columns:65px 1fr;gap:13px;padding:12px 0;border-bottom:1px solid var(--line2);font-size:13px}.nx-timeline time{color:var(--muted);font-size:11px}.nx-number{font-size:48px;font-weight:650;letter-spacing:-2px}.nx-device-state{display:grid;place-items:center;padding:22px;text-align:center}.nx-device-state svg{width:95px;height:95px;stroke:var(--accent);fill:none;stroke-width:1.5;margin-bottom:18px}.nx-hold{position:relative;overflow:hidden;touch-action:pan-y;--hold:0%;background:linear-gradient(90deg,var(--accent-soft) var(--hold),var(--panel) var(--hold));min-height:54px}.nx-banner{border-left:3px solid var(--accent);padding:12px;background:var(--accent-soft);font-size:12px;line-height:1.5;margin-bottom:15px;border-radius:6px}.nx-skeleton{height:160px;border-radius:18px;background:var(--panel2);border:1px solid var(--line);margin:16px 0}.nx-load-more{margin:15px 0}.nx-check-row{display:flex;gap:10px;align-items:center}.nx-check-row input{flex:none}.nx-check-row label{margin:0}.nx-section-header{display:flex;justify-content:space-between;align-items:center;margin:18px 0 10px}.nx-section-header h2{font-size:18px;margin:0}.nx-section-header a{font-size:12px}.nx-solar-cars{margin-top:18px}
@media(min-width:760px){.nx-room-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.next-controls #nxContent{display:grid;grid-template-columns:1.1fr 1fr;gap:20px}.next-controls .nx-controls-lighting{grid-row:span 4}.next-systems .nx-systems-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px}.next-history #nxContent{max-width:800px;margin:auto}.phone-app main.solar{display:grid;grid-template-columns:1fr 1fr;gap:18px}.phone-app main.solar>.journey-heading,.phone-app main.solar>.demo-banner{grid-column:1/-1}.phone-app main.solar>.card{margin:0}.phone-app main.solar>.grid-2{margin:0}.nx-dialog{inset:6vh auto auto 50%;transform:translateX(-50%);border-radius:23px;max-height:88vh}}
@media(max-width:360px){.nx-card{padding:14px}.nx-button,.nx-chip{font-size:12px;padding:9px}.nx-grid.three{gap:5px}.nx-occasion{padding:7px 3px}.nx-number{font-size:40px}.nx-dialog{padding:16px}}
.phone-nav{width:100%;padding:7px 12px calc(7px + env(safe-area-inset-bottom))}
.nx-time-control .nx-bar{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;gap:6px;margin:0 0 12px}
.nx-time-control .nx-bar .nx-button{padding:8px}.nx-time-control .nx-bar input{font-size:14px;padding:9px;min-width:0}


/* Storyboard fidelity: compact hierarchy and deliberate, system-specific controls. */
:root[data-theme="daylight"]{--bg:#fafbfe;--panel2:#f7f9fc;--ink:#0c1836;--dim:#485a7b;--muted:#687b9b;--line:#dce4ef;--line2:#eaf0f7;--accent:#0875ff;--accent-soft:#eaf3ff}
.phone-settings{display:none;color:var(--ink)}
.nx-text-link{display:block;font-size:12px;text-decoration:none;margin-top:10px}
.nx-text-button{border:0;background:none;color:var(--accent);min-height:36px;padding:8px;font-size:12px}
.nx-card-title{justify-content:flex-start;gap:9px}
.nx-chevron{margin-left:auto;color:var(--accent);font-size:22px;line-height:1}
.nx-card-title>.ic{width:25px;height:25px;color:var(--ink)}
.nx-control-group{border:1px solid var(--line2);border-radius:11px;padding:10px;margin:8px 0 0}
.nx-control-group h3{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-size:16px}
.nx-control-group h3>.ic{width:23px;height:23px}
.nx-mood-caption{margin:0!important;color:var(--muted);font-size:12px!important;line-height:1.3!important}
.nx-moods{margin:8px 0 10px;gap:7px}
.nx-moods .nx-chip{flex-direction:column;gap:5px;min-height:74px;padding:9px 3px;font-size:12px;border-radius:8px;background:var(--panel);color:var(--ink)}
.nx-moods .nx-chip>.ic{width:29px;height:29px;color:#a5adbd}
.nx-moods .mood-mid>.ic{color:var(--accent)}.nx-moods .mood-full>.ic{color:#f5ae17}
.nx-moods .nx-chip[aria-pressed="true"]{background:linear-gradient(135deg,var(--accent-soft),var(--panel));border-color:var(--accent);color:var(--accent);box-shadow:inset 0 0 0 .5px var(--accent)}
.nx-moods .nx-chip[aria-pressed="true"]>.ic{color:var(--accent)}
.nx-power-actions{gap:8px}.nx-power-actions .nx-button{border-color:var(--accent);background:var(--panel);color:var(--accent);min-height:40px;font-size:12px;padding:8px;border-radius:8px}.nx-power-actions .ic{width:19px;height:19px}
.nx-control-note{font-size:10px!important;color:var(--muted);line-height:1.4!important;margin:7px 0 0!important}
.nx-occasions{gap:6px}.nx-occasion{display:flex;justify-content:flex-start;text-align:left;gap:8px;padding:9px 7px;border-radius:8px;background:var(--panel);min-height:46px;font-size:11px;line-height:1.2}.nx-occasion .ic{width:21px;height:23px}.nx-occasion span{min-width:0}
.nx-room{grid-template-columns:1fr 29px;border-radius:9px}.nx-room button[data-act]{display:flex;align-items:center;gap:9px;min-height:65px;padding:9px 7px}.nx-room .nx-room-details{justify-content:center;padding:0;border:0;font-size:23px;color:var(--dim)}.nx-room button>.ic{width:22px;height:24px}.nx-room b{font-size:12px;font-weight:600;line-height:1.3}.nx-room small{font-size:10px;margin-top:4px;line-height:1.3}.nx-room.on{background:linear-gradient(125deg,#fff5e6,#fffaf2);border-color:#f5e9d5}.nx-room.on small{color:var(--accent)}
.nx-controls-lighting{padding:10px}.nx-controls-lighting .nx-card-title{margin:3px 3px 10px;font-size:20px}
.nx-system-heading{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-size:19px}.nx-system-heading>.ic{color:var(--accent);width:25px;height:25px}.nx-control-system{padding:13px}
.nx-control-system .nx-metric{padding:11px 9px;background:var(--panel)}.nx-control-system .nx-metric>.nx-button{padding:9px 4px;font-size:12px;width:100%;background:var(--panel);border-color:var(--accent);color:var(--accent)}
.nx-lighting-links .nx-row{padding:12px 0;font-size:14px}
.nx-history-card{padding:10px 11px;margin-bottom:7px;border-radius:10px;box-shadow:none}
.nx-history-card .nx-chart-head{margin:0;min-height:23px;gap:8px}.nx-history-card .nx-chart-head b{display:flex;align-items:center;gap:5px;font-size:15px}.nx-history-card .nx-chart-head .ic{width:16px;height:17px;color:var(--accent)}.nx-history-card .nx-chart-head strong{font-size:17px;font-weight:650;letter-spacing:-.4px;margin-left:auto;white-space:nowrap}.nx-history-card .nx-chart-head small{font-size:10px;font-weight:400;letter-spacing:0;color:var(--muted)}.nx-history-card .nx-chart-head .nx-chevron{font-size:20px;margin-left:0}
.nx-chart-legend{display:flex;justify-content:flex-end;gap:10px;height:16px;align-items:center;font-size:9px;color:var(--dim);padding-right:6px}.nx-chart-legend span{display:flex;align-items:center;gap:4px}.nx-chart-legend i{height:2px;width:12px;background:var(--accent);border-radius:2px}.nx-chart-legend .solar{background:#efa616}.nx-chart-legend .grid{background:#9b85c5}
.nx-chart-compact text{font-size:10px}.nx-chart-compact .grid,.nx-event-track .grid{stroke:var(--line2)}.nx-grid-vertical{opacity:.65}.nx-chart .cursor{stroke-width:1;stroke-dasharray:3 2}
.nx-water-totals{display:flex;gap:12px;border-top:1px solid var(--line2);padding-top:6px;margin-top:2px}.nx-water-totals>span{flex:1;color:var(--muted);font-size:9px;line-height:1.4}.nx-water-totals b{display:block;font-size:13px;font-weight:650;color:var(--ink);margin-top:1px}.nx-water-totals>span+span{border-left:1px solid var(--line2);padding-left:12px}
.nx-time-control{padding:0;margin-bottom:8px;background:var(--bg);border:0;border-radius:0;position:static}.nx-time-control .nx-bar{grid-template-columns:38px minmax(0,1fr) 38px;gap:7px;margin-bottom:3px}.nx-time-control .nx-bar .nx-button{min-height:38px;padding:0;background:var(--panel);font-size:25px;border-radius:8px;color:var(--accent)}
.nx-date-field{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;min-height:38px;border:1px solid var(--line);border-radius:8px;background:var(--panel);font-weight:600;font-size:13px}.nx-date-field .ic{width:18px;height:18px}.nx-date-field input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.nx-date-field:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.nx-scrubber{display:flex;align-items:center;gap:15px;min-height:38px}.nx-scrubber label{display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:11px;color:var(--accent)}.nx-scrubber label>.ic{width:16px;height:16px}.nx-scrubber input[type="range"]{min-width:0;width:auto;flex:1;height:30px;accent-color:var(--accent);margin:0}.nx-history-filters{margin:0 0 10px;gap:5px}.nx-history-filters .nx-chip{min-height:33px;border-radius:18px;font-size:11px;font-weight:500;padding:6px;background:var(--panel);gap:4px}.nx-history-filters .nx-chip[aria-pressed="true"]{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.nx-history-filters .nx-chip>.ic{width:14px;height:15px}
.nx-unavailable-track{position:relative;height:26px;display:flex;align-items:center;justify-content:center}.nx-unavailable-track>span{position:absolute;inset:50% 0 auto;border-top:1px dashed var(--line)}.nx-unavailable-track small{position:relative;background:var(--panel);padding:0 8px;font-size:10px;color:var(--muted)}
.nx-moment{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:8px 0;background:var(--panel)}.nx-moment summary{display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer;min-height:40px}.nx-moment summary::-webkit-details-marker{display:none}.nx-moment summary>.ic{color:var(--accent);width:24px;height:24px}.nx-moment summary b{display:block;color:var(--accent);font-size:14px}.nx-moment summary small{font-size:10px;color:var(--muted)}.nx-moment[open] .nx-chevron{transform:rotate(90deg)}.nx-all-events{font-size:12px;color:var(--muted);padding:10px 4px}.nx-all-events summary{cursor:pointer;min-height:30px}.nx-timeline li{position:relative;grid-template-columns:65px 1fr;gap:14px;padding:14px 0;border:0}.nx-timeline li a{padding-left:13px;border-left:1px solid var(--line);text-decoration:none;color:var(--ink)}.nx-timeline li a::before{content:"";position:absolute;left:75px;top:20px;width:7px;height:7px;border-radius:50%;background:var(--accent)}
@media(max-width:759px){
 .phone-top{background:var(--bg);border:0}.phone-top-inner{min-height:41px;padding:4px 17px;gap:8px}.phone-brand{font-size:14px;min-height:32px;font-weight:500}.phone-brand>.ic{display:none}.phone-back{min-height:32px;font-size:13px;color:var(--accent)}
 .phone-top-actions{gap:12px;flex-direction:row-reverse}.phone-settings{display:grid;place-items:center;width:30px;height:30px}.phone-settings>.ic{width:24px;height:24px}.phone-top-actions .theme-toggle{display:none}.phone-top-actions .connection-state{max-width:none;padding:10px 0}.phone-top-actions .connection-state span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.phone-top-actions .connection-state i{width:5px;height:5px}
 .phone-app main.console,.phone-app main.content{padding:2px 16px 18px}.next-heading{margin:0 0 1px;align-items:center}.next-heading .eyebrow{display:none}.phone-app main.next-page .next-heading h1{font-size:32px;font-weight:750;line-height:1.15;letter-spacing:-1.15px;margin:0}.next-heading .nx-icon{width:30px;height:32px;border:0;background:none;font-size:21px;color:var(--muted)}.nx-status{font-size:10px;line-height:1.4;min-height:14px;margin:5px 0 12px}.nx-status.error{line-height:1.5}
 .phone-footer{font-size:10px;padding:5px 16px 12px}.phone-nav{background:var(--panel);padding:5px 8px calc(6px + env(safe-area-inset-bottom));gap:3px;border-color:var(--line2)}.phone-nav a{min-height:49px;border-radius:0;gap:3px;font-size:10px}.phone-nav a[aria-current]{background:none;color:var(--accent)}.phone-nav a .ic{width:23px;height:23px}.phone-nav a[aria-current] .ic{stroke-width:2}
 .nx-card{border-radius:12px;margin-bottom:10px}.nx-history-card{border-radius:10px;padding:9px 10px;margin-bottom:7px}.nx-card h2{font-size:17px}.next-controls .nx-card{border-radius:11px}.next-controls .nx-controls-lighting{padding:8px}.nx-controls-lighting .nx-card-title{font-size:19px;margin:2px 3px 8px}.nx-control-group{padding:8px}.nx-control-group h3{font-size:15px;line-height:1.3;margin-bottom:6px}.nx-room-grid{gap:7px}
 .next-lighting>.next-heading h1{font-size:28px!important}.next-lighting .nx-card{padding:10px}.next-lighting .nx-card h2{font-size:15px;margin-bottom:6px}.next-lighting .nx-moods .nx-chip{min-height:38px;flex-direction:row}.next-lighting .nx-moods .ic{width:16px;height:16px}.next-lighting .nx-mood-caption{display:none}.next-lighting .nx-moods{margin:5px 0 8px}.next-lighting .nx-text-link{font-size:10px;margin-top:6px}.next-lighting .nx-lighting-links .nx-row{font-size:13px;padding:10px 0}
 .next-systems .nx-card{padding:10px 12px}.next-systems .nx-row{padding:13px 0}.next-systems .nx-row b{font-size:14px}.next-systems .nx-row small{font-size:11px}
 .next-loads .nx-card{padding:0;border:0;background:none}.nx-load-heading{margin-top:19px}.nx-light{padding:13px 9px;background:var(--panel);border-color:var(--line2)}.nx-light-top label{font-size:13px}.nx-light-level{margin-top:8px}.nx-light-level input{accent-color:var(--accent)}
}
.nx-thermostat{display:grid;grid-template-columns:.8fr 1.2fr;border:1px solid var(--line2);border-radius:9px;padding:12px 8px;text-align:center}.nx-thermostat>div+div{border-left:1px solid var(--line2)}.nx-thermostat small{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.nx-thermostat strong{font-size:28px;line-height:1.3;letter-spacing:-1px}.nx-temperature-step{display:flex;align-items:center;justify-content:center;gap:8px}.nx-temperature-step .nx-button{padding:0;width:29px;height:29px;min-height:29px;border-radius:50%;font-size:23px;font-weight:400;color:var(--accent);background:var(--panel)}.nx-climate-details{display:flex;gap:7px;margin-top:9px;font-size:12px}.nx-climate-details span{flex:1;padding:10px;border:1px solid var(--line2);border-radius:8px;color:var(--muted)}.nx-climate-details b{font-weight:500;color:var(--accent);text-transform:capitalize;margin-left:8px}
.nx-zone{border:1px solid var(--line);border-radius:9px;padding:9px;background:var(--panel2)}.nx-zone.running{background:#e6f6ef;border-color:#d2eee2;color:#0f5747}.nx-zone>div{display:flex;gap:7px;align-items:center;min-height:42px;margin-bottom:7px}.nx-zone .ic{color:#168975;width:24px;height:26px}.nx-zone strong{display:block;font-size:12px}.nx-zone small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.nx-zone .nx-button{width:100%;padding:8px 3px;font-size:12px;background:var(--panel);border-color:var(--accent);color:var(--accent);min-height:38px;border-radius:7px}.nx-zone.running .nx-button{background:var(--accent);color:var(--on-accent)}
@media(max-width:360px){.nx-occasions .nx-occasion{gap:4px;padding:8px 5px;font-size:10px;min-height:45px}.nx-occasions .nx-occasion>.ic{width:17px;height:21px}.nx-occasions .nx-occasion span{overflow-wrap:anywhere}.nx-room button[data-act]{gap:6px}.nx-room b{font-size:11px}}

/* Keep the navigation fixed while the scrollable page follows a swipe. */
.phone-app{overflow:hidden}
.nx-shades-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}.nx-shades .nx-shades-heading{display:flex;align-items:center;gap:7px;margin:0}.nx-shades-heading small{font-size:12px;color:var(--muted);font-weight:500}.nx-system-symbol[data-symbol="shade"]{color:#8461c7}.nx-shades-heading .nx-system-symbol{width:26px;height:28px}.nx-shades-heading .nx-system-symbol svg{width:25px;height:26px}.nx-shades-header>a{display:flex;align-items:center;justify-content:flex-end;min-width:44px;min-height:44px;font-size:12px;color:var(--accent);text-decoration:none}.nx-shade{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--line2)}.nx-shade:last-of-type{border-bottom:0}.nx-shade-title{min-width:0;overflow-wrap:anywhere}.nx-shade-title b,.nx-shade-title small{display:block}.nx-shade-title b{font-size:12px;line-height:1.35}.nx-shade-title small{font-size:10px;line-height:1.35;color:var(--muted);margin-top:3px}.nx-shade-actions{display:grid;grid-template-columns:repeat(3,48px);gap:4px}.nx-shade-actions .nx-button{font-size:11px;min-width:44px;min-height:44px;padding:6px 2px}.nx-shade-actions [data-action="stop"]{color:#8461c7}
#page.nx-page-moving{will-change:transform;backface-visibility:hidden}
#page.nx-page-changing{pointer-events:none;scroll-behavior:auto}
@media(prefers-reduced-motion:reduce){#page.nx-page-moving{transform:none!important;will-change:auto}}
.phone-nav a.nx-swipe-target,.phone-back.nx-swipe-target{color:var(--accent);background:var(--accent-soft);border-radius:12px}
.phone-nav[data-swipe-ready="true"] a.nx-swipe-target{box-shadow:inset 0 0 0 1px var(--accent)}
.nx-light-date .nx-muted{margin:8px 0 0;text-align:center}
.nx-light-events{list-style:none;margin:18px 0;padding:0}
.nx-light-events>li+li{border-top:1px solid var(--line)}
.nx-light-event summary{display:flex;align-items:flex-start;gap:12px;padding:18px 0;cursor:pointer;list-style:none}
.nx-light-event summary::-webkit-details-marker{display:none}
.nx-light-event summary>.nx-system-badge{flex:none}
.nx-light-event-body{display:grid;gap:6px;flex:1;min-width:0}
.nx-light-event-body>b{font-size:17px;line-height:1.3}
.nx-light-event-body time{font-size:12px;font-weight:600;color:var(--muted)}
.nx-light-event-body small{font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.nx-light-event-setting{color:var(--accent);font-size:14px;font-weight:600}
.nx-light-event .nx-chevron{margin-top:25px}
.nx-light-event[open] .nx-chevron{transform:rotate(90deg)}
.nx-light-event-detail{padding:0 0 16px 12px;border-left:2px solid #ffc947;margin:0 0 16px 18px}
.nx-light-event-detail ul{list-style:none;padding:0;margin:0}
.nx-light-event-detail li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0}
.nx-light-event-detail li span{display:grid;gap:3px;min-width:0}
.nx-light-event-detail li b{font-size:14px;overflow-wrap:anywhere}
.nx-light-event-detail li small{font-size:12px;color:var(--muted)}
.nx-light-event-detail li strong{font-size:13px;white-space:nowrap;color:var(--accent)}
.nx-light-history-note{padding-top:16px;border-top:1px solid var(--line)}
/* Broad lighting commands are momentary actions, never selected modes. */
.nx-global-actions{gap:8px}
.nx-global-actions .nx-global-action{display:flex;justify-content:flex-start;gap:10px;min-height:62px;padding:10px 12px;background:var(--panel);border-color:transparent;text-align:left;color:var(--ink)}
.nx-global-action>.ic{flex:none;width:23px;height:23px;color:var(--sys-solar,var(--accent));stroke-width:2}
.nx-global-action[data-level="0"]>.ic{color:var(--dim)}
.nx-global-action span{min-width:0}
.nx-global-action b{display:block;font-size:13px;line-height:1.3;font-weight:650}
.nx-global-action small{display:block;margin-top:3px;font-size:11px;line-height:1.3;font-weight:400;color:var(--muted)}
.nx-global-action:disabled>.ic{color:var(--muted)}
.next-controls .next-heading h1{font-size:28px}
@media(max-width:360px){.nx-global-actions .nx-global-action{padding:10px 8px;gap:7px}.nx-global-action b{font-size:12px}.nx-global-action>.ic{width:20px;height:20px}}

/* The opening view is Home itself; no timed splash or artificial progress bar. */
.nx-status.is-loading::before{content:"";display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:var(--accent);animation:nx-loading-pulse 1.4s ease-in-out infinite}
.nx-opening-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px}
.nx-opening-cards .nx-skeleton{min-height:100px}
.nx-opening-house img{height:auto;display:block;width:100%}
@keyframes nx-loading-pulse{50%{opacity:.3}}
@media(prefers-reduced-motion:reduce){.nx-status.is-loading::before{animation:none}}

.phone-home-link{display:inline-flex;align-items:center;gap:5px;min-height:44px;padding:4px 7px;color:var(--accent);font-size:12px;font-weight:600;text-decoration:none;border-radius:8px;white-space:nowrap}
.phone-home-link .ic{width:20px;height:20px}
.phone-home-link:hover{background:var(--accent-soft)}
.nx-lighting-loads h2 small,.nx-lighting-history-preview h2 small{font-size:12px;font-weight:500;color:var(--muted);margin-left:5px}
.nx-lighting-loads .nx-load-heading:first-child{margin-top:10px}
.nx-lighting-loads .nx-light{background:var(--panel2);border:0;border-radius:9px;padding:12px;margin-bottom:8px}
.nx-lighting-history-preview .nx-light-events{margin:10px 0}
.nx-lighting-history-preview .nx-light-event summary{padding:12px 0;gap:10px}
.nx-lighting-history-preview .nx-light-event-body{gap:3px}
.nx-lighting-history-preview .nx-light-event-body>b{font-size:14px}
.nx-lighting-history-preview .nx-light-event-setting{font-size:12px}
.nx-lighting-history-preview .nx-light-event-body time,.nx-lighting-history-preview .nx-light-event-body small{font-size:11px}
.nx-lighting-planning .nx-row{padding:4px 0}

.nx-update-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 16px;flex:none;background:var(--accent-soft);color:var(--ink);font-size:12px;z-index:5}
.nx-update-notice button{border:0;background:var(--accent);color:var(--on-accent);font:600 12px system-ui;padding:9px 13px;border-radius:8px;min-height:40px;cursor:pointer}
