:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#163a36;background:#f4f5f0;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;display:flex;flex-direction:column}header,footer{display:flex;justify-content:space-between;align-items:center;padding:28px 6vw}.brand{display:flex;align-items:center;gap:12px;font-weight:750;font-size:21px;text-decoration:none;color:inherit}.mark{display:grid;place-items:center;background:#173f39;color:#fff;width:35px;height:35px;border-radius:10px;font-size:23px}.header-note,footer{font-size:13px;color:#6c7b73}main{flex:1;width:min(1100px,88vw);margin:65px auto 80px;display:grid;grid-template-columns:1fr 430px;gap:90px;align-items:center}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:750;color:#6c8276}h1{font-size:clamp(36px,4vw,54px);line-height:1.12;letter-spacing:-2px;font-weight:600;margin:20px 0}p{font-size:15px;line-height:1.7}.intro>p{color:#687b71}.card{background:#fff;border:1px solid #e2e8df;border-radius:22px;padding:38px;box-shadow:0 12px 45px #193e3608}.card-icon{width:44px;height:44px;background:#edf3e8;border-radius:13px;display:grid;place-items:center;font-size:26px;margin-bottom:27px}h2{font-size:29px;letter-spacing:-.8px;margin:10px 0 4px;font-weight:650}.muted{color:#748178;margin:0 0 27px}label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}input{width:100%;height:49px;border:1px solid #dce3d9;border-radius:9px;background:#fbfcfa;padding:0 14px;font:inherit;font-size:14px;color:#163a36}input:focus{outline:3px solid #d8e9d0;border-color:#769568}input::placeholder{color:#95a093}.password-label{display:flex;justify-content:space-between;align-items:baseline;margin-top:21px}button{font:inherit;cursor:pointer}.text-button{border:0;background:none;font-size:12px;color:#527a65;padding:3px}.primary{width:100%;border:0;border-radius:9px;color:#fff;background:#193f37;padding:15px 18px;text-align:left;display:flex;justify-content:space-between;font-size:14px;font-weight:600}.primary:hover{background:#285b4c}.primary:disabled{opacity:.65;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #9dbf85;outline-offset:4px}.footnote{font-size:11px;color:#95a092;text-align:center;margin:22px 0 0}#error{font-size:13px;color:#ad3434;min-height:21px;margin:12px 0}.status{padding:18px 14px;background:#f0f5eb;border-radius:9px;display:flex;align-items:center;gap:10px;font-size:13px;margin:26px 0}.dot{width:7px;height:7px;border-radius:50%;background:#658c4e}.room-art{position:relative;margin-top:42px;width:290px;height:150px;border:1px solid #dce4d6;border-radius:15px;background:linear-gradient(130deg,#e8eee1,#f4f5f0);overflow:hidden}.screen{position:absolute;width:105px;height:60px;left:92px;top:20px;border:5px solid #41614e;border-radius:5px;background:#d3dfc6;display:flex;align-items:end;justify-content:center;gap:7px;padding:9px}.screen span{width:14px;height:20px;background:#839c6f;border-radius:3px}.screen span:nth-child(2){height:30px}.screen span:nth-child(3){height:13px}.table{position:absolute;width:175px;height:33px;background:#b6c9a3;border-radius:50%;left:57px;top:93px;transform:rotate(-6deg)}.chair{position:absolute;width:25px;height:27px;border-radius:8px;background:#779369;top:116px}.one{left:75px}.two{left:137px}.three{left:199px}footer{border-top:1px solid #e1e6dc;margin:0 6vw;padding:22px 0;font-size:11px}[hidden]{display:none!important}@media(max-width:850px){main{grid-template-columns:1fr 390px;gap:30px}h1{font-size:38px}}@media(max-width:680px){header{padding:22px 6vw}.header-note{font-size:11px}main{grid-template-columns:1fr;max-width:430px;margin:30px auto 45px;gap:28px}.intro h1{font-size:33px;letter-spacing:-1px}.intro>p,.room-art{display:none}.intro .eyebrow{font-size:10px}.card{padding:28px}.card-icon{display:none}footer{font-size:10px}}

/* Signed-in meeting room */
#account{display:flex;align-items:center;gap:12px;font-size:13px}.avatar{display:grid;place-items:center;width:30px;height:30px;border:1px solid #d7e2d6;border-radius:50%;color:#70917a;font-size:12px}.quiet-button{background:transparent;border:1px solid #dce4dc;border-radius:8px;padding:9px 13px;font-size:12px;color:#52675c}.quiet-button:hover{background:#edf2e9}.signed-in header{padding:22px 4vw;border-bottom:1px solid #e0e7dc;background:#fafbf8}.signed-in .header-note,.signed-in footer{display:none}.workspace{width:min(1500px,92vw);margin:35px auto 24px;flex:1}.workspace-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.workspace-heading h1{font-size:31px;letter-spacing:-1px;margin:9px 0 5px;display:flex;align-items:center;gap:13px}.workspace-heading p{font-size:13px;color:#7a887c;margin:0}.demo-tag{font-size:9px;letter-spacing:1px;border:1px solid #d7e2d0;border-radius:5px;padding:5px 7px;color:#758b6b;font-weight:600}.connection-badge{display:flex;align-items:center;gap:8px;font-size:11px;background:#e9f0e3;border:1px solid #dce7d6;padding:9px 13px;border-radius:20px}.connection-badge.offline{background:#f2ede0;border-color:#e5dbc1}.connection-badge.offline .dot{background:#b19759}.room-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:start}.scene-card{position:relative;border:1px solid #dfe6dc;background:#eef1e9;border-radius:16px;overflow:hidden}.scene-toolbar{display:flex;align-items:center;justify-content:space-between;padding:18px 21px;position:relative;z-index:2}.view-tabs{display:flex;background:#e1e7dc;padding:3px;border-radius:8px}.view-tabs button{border:0;background:none;padding:8px 14px;border-radius:6px;font-size:11px;color:#7b8778}.view-tabs button.selected{background:#fff;color:#254b3b;box-shadow:0 1px 4px #183f3610}.scene-toolbar .quiet-button{border:0;font-size:12px}#room-viewport{position:relative;width:100%;height:clamp(390px,46vw,590px);overflow:hidden;touch-action:none}#room-viewport canvas{display:block;width:100%;height:100%;outline:none;cursor:grab}#room-viewport canvas:active{cursor:grabbing}#room-viewport canvas:focus-visible{outline:2px solid #709576;outline-offset:-4px}#room-loading{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:30px;color:#7c8c7c;font-size:13px}.sensor-label{position:absolute;left:0;top:0;transform:translate(-50%,-125%);display:flex;gap:7px;align-items:center;pointer-events:none;white-space:nowrap;padding:7px 9px;border:1px solid #cadbc5;border-radius:7px;background:#fffffff0;box-shadow:0 3px 10px #39522a12;font-size:10px;color:#41664b}.sensor-label small{color:#94a18e;margin-left:5px}.sensor-target{color:#789a53;font-size:16px}.scene-bottom{display:flex;align-items:center;justify-content:space-between;padding:12px 22px 23px;gap:12px;font-size:10px;color:#8a9586}.coverage-button{display:flex;align-items:center;gap:8px;font-size:11px;color:#607257;border:0;background:none;padding:5px}.toggle-track{width:26px;height:15px;border-radius:12px;background:#cfd7c9;position:relative}.toggle-track:after{content:'';position:absolute;left:3px;top:3px;width:9px;height:9px;background:white;border-radius:50%;transition:transform .2s}.coverage-button[aria-pressed=true] .toggle-track{background:#65866a}.coverage-button[aria-pressed=true] .toggle-track:after{transform:translateX(11px)}.room-caption{display:flex;justify-content:space-between;align-items:center;padding:18px 23px;background:#fbfcf9;border-top:1px solid #e0e6d9;font-size:11px}.room-name{display:flex;align-items:center;gap:9px;font-weight:600}.tiny-room{font-size:22px;color:#7d9674}#room-state{font-size:10px;background:#eef2e9;color:#7a8c6f;padding:5px 9px;border-radius:5px}.room-sidebar{display:grid;gap:18px}.occupancy-card,.sensor-card,.guide-card{border:1px solid #dfe6dc;border-radius:14px;padding:23px;background:#fcfdfa}.occupancy-total{display:flex;align-items:center;gap:17px;margin:16px 0 21px}.occupancy-total>span:first-child{font-size:65px;line-height:1;letter-spacing:-4px;font-weight:500}.occupancy-total>span:last-child{font-size:11px;line-height:1.6;color:#82917d}.occupancy-breakdown{border-top:1px solid #e8ece2;border-bottom:1px solid #e8ece2;padding:13px 0;display:grid;gap:12px}.occupancy-breakdown>div{display:flex;align-items:center;gap:8px;font-size:12px;color:#6b7c63}.occupancy-breakdown strong{margin-left:auto;color:#35513c;font-size:14px;font-weight:550}.state-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.moving{background:#4c9b92}.stationary{background:#b8a16e}.occupancy-card>p{font-size:11px;color:#909b88;line-height:1.7;margin:16px 0 0}.sensor-card-heading{display:flex;align-items:center;gap:10px}.sensor-icon{font-size:25px;display:grid;place-items:center;width:36px;height:40px;border:1px solid #e1e7d8;border-radius:9px;background:#eff3e8;color:#758f62}.sensor-card h2{font-size:13px;letter-spacing:0;margin:0 0 3px}.sensor-card-heading>div>span{font-size:10px;color:#92a087}.sensor-number{margin-left:auto;font-size:11px;color:#94a387}.sensor-card dl{font-size:10px;margin:21px 0 0}.sensor-card dl>div{display:flex;justify-content:space-between;gap:8px;margin-top:12px}.sensor-card dt{color:#99a38f}.sensor-card dd{margin:0;color:#788769}#data-notice:empty{display:none}#data-notice{font-size:11px;color:#a17b37}.guide-card{background:transparent;border-style:dashed;padding:20px 23px}.guide-card>.eyebrow{font-size:9px;letter-spacing:1.5px}.person-key{display:flex;align-items:center;gap:15px;margin-top:18px}.person-key svg{width:27px;height:38px;flex:none;fill:#4c9b92;stroke:#4c9b92;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.person-key.seated svg{fill:#b8a16e;stroke:#b8a16e}.person-key h3{font-size:11px;font-weight:550;margin:0 0 4px;color:#688065}.person-key p{font-size:10px;line-height:1.5;margin:0;color:#98a38f}.workspace-footnote{display:flex;justify-content:space-between;gap:15px;margin-top:21px;color:#97a18e;font-size:10px}@media(min-width:1400px){.room-layout{grid-template-columns:minmax(0,1fr) 305px}.occupancy-card,.sensor-card,.guide-card{padding:25px}}@media(max-width:1000px){.room-layout{grid-template-columns:minmax(0,1fr) 240px;gap:16px}.occupancy-card,.sensor-card,.guide-card{padding:18px}#room-viewport{height:440px}.scene-instructions{max-width:150px;line-height:1.6}}@media(max-width:760px){.workspace{margin-top:24px}.workspace-heading{align-items:start;margin-bottom:20px}.workspace-heading h1{font-size:25px}.workspace-heading p{font-size:11px}.connection-badge{font-size:10px;padding:7px 9px;max-width:130px}.room-layout{grid-template-columns:1fr}.room-sidebar{grid-template-columns:1fr 1fr;gap:12px}.guide-card{grid-column:1/-1;display:flex;align-items:center;justify-content:space-around;gap:10px}.guide-card>.eyebrow{display:none}.person-key{margin:0;gap:9px}.person-key h3{font-size:10px}.person-key p{font-size:9px}#room-viewport{height:400px}.occupancy-total>span:first-child{font-size:53px}.occupancy-card>p{font-size:10px}.sensor-card dl>div{flex-wrap:wrap;gap:5px}.sensor-card-heading{gap:7px}.sensor-card h2{font-size:12px}.sensor-icon{width:29px;height:34px}.sensor-number{display:none}.scene-bottom{padding:10px 15px 18px}.scene-toolbar{padding:14px}.room-caption{padding:13px 17px}.signed-in header{padding:18px 4vw}.signed-in .brand{font-size:17px}#account{gap:8px}#account .avatar{display:none}#logout{padding:8px 9px}.workspace-footnote{font-size:9px}}@media(max-width:400px){.workspace-heading{flex-wrap:wrap}.workspace-heading .connection-badge{max-width:none}.room-sidebar{grid-template-columns:1fr}.guide-card{display:block}.guide-card .person-key{margin-top:14px}#room-viewport{height:330px}}
#sensor-name{overflow-wrap:anywhere}.sensor-label{max-width:240px}.sensor-label>span:last-child{overflow:hidden;text-overflow:ellipsis}#sensor-uid{font-family:ui-monospace,monospace;font-size:10px}.sensor-card dd{text-align:right;overflow-wrap:anywhere}
.scene-actions{display:flex;align-items:center;gap:8px}.scene-toolbar #edit-layout{border:1px solid #cbd9c5;background:#f8faf4}.scene-toolbar #edit-layout[aria-expanded=true]{background:#234d3e;color:white;border-color:#234d3e}.table-layout-panel{border-top:1px solid #d9e2d2;background:#f8faf5;padding:21px 24px}.layout-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.layout-heading h2{font-size:14px;letter-spacing:0;margin:0 0 5px}.layout-heading p{font-size:11px;color:#83917a;margin:0}#layout-save-state{font-size:10px;color:#6c8660;text-align:right}.layout-inputs{display:grid;grid-template-columns:1fr 1fr;gap:20px 32px;margin-top:23px}.layout-inputs label{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#627557;font-weight:500}.layout-inputs output{font-size:11px;font-variant-numeric:tabular-nums;color:#38573d}.layout-inputs input[type=range]{width:100%;height:22px;padding:0;border:0;accent-color:#527d5a;background:transparent;cursor:pointer}.layout-inputs input[type=range]:focus{outline:2px solid #9db88d;outline-offset:3px}.layout-panel-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;font-size:10px;color:#8b987f}.layout-panel-footer>div{display:flex;gap:7px}.layout-panel-footer .quiet-button{font-size:10px}button:disabled{cursor:wait;opacity:.55}@media(max-width:600px){.scene-toolbar{gap:6px;flex-wrap:wrap}.scene-actions{gap:2px}.scene-toolbar .quiet-button{padding:8px;font-size:10px}.view-tabs button{padding:8px 10px}.table-layout-panel{padding:18px 15px}.layout-heading{align-items:start}.layout-heading p{max-width:210px}.layout-inputs{gap:16px 20px}.layout-panel-footer{align-items:start;line-height:1.5}.scene-toolbar #reset-view span{display:none}}
/* iPhone / touch: readable controls, safe-area spacing, and no input-focus zoom. */
body{min-height:100svh}.workspace{padding-bottom:env(safe-area-inset-bottom,0px)}
@media(pointer:coarse){button{min-height:44px}.view-tabs button{min-width:65px}.coverage-button{min-height:44px}.layout-inputs input[type=range]{height:44px}input:not([type=range]){font-size:16px}.scene-actions .quiet-button{min-width:44px}.text-button{min-width:44px}.scene-instructions{font-size:11px}.layout-panel-footer .quiet-button{font-size:12px}}
@media(max-width:760px){.signed-in header{padding-left:max(4vw,env(safe-area-inset-left));padding-right:max(4vw,env(safe-area-inset-right))}.workspace-heading p{font-size:12px}.room-sidebar .occupancy-card>p,.room-sidebar .sensor-card dl,.room-sidebar .sensor-card-heading>div>span,.room-sidebar .person-key p{font-size:12px}.room-sidebar .person-key h3{font-size:12px}.room-sidebar .sensor-card h2{font-size:14px}.room-sidebar .occupancy-breakdown>div{font-size:13px}#sensor-uid{font-size:11px}.layout-heading p{font-size:12px}.layout-inputs label,.layout-inputs output{font-size:13px}.layout-panel-footer{font-size:11px}.room-caption{font-size:12px}#room-state{font-size:11px}.scene-toolbar{row-gap:10px}.scene-bottom{align-items:center}.connection-badge{font-size:11px}.room-sidebar .sensor-card dd{max-width:65%}}
