:root{--font-ui:-apple-system, BlinkMacSystemFont, "PingFang TC", "Microsoft JhengHei", sans-serif;font-family:var(--font-ui);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;color:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{background:0 0;border:0;padding:0}button:disabled{cursor:not-allowed;opacity:.38}input:focus-visible{outline:0}button{transition:background .18s,color .18s,box-shadow .18s}a{color:inherit}h1,h2,h3,p{margin:0}svg{stroke-width:1.7px;flex-shrink:0}h1,h2,h3{text-wrap:balance;font-weight:600}.campus-app{flex-direction:column;height:100dvh;min-height:560px;font-size:12px;line-height:1.5;display:flex;overflow:hidden}.skip-link{z-index:100;background:#fff;padding:12px;position:fixed;top:-80px;left:12px}.skip-link:focus{top:12px}.topbar{flex:none;align-items:center;display:flex}.brand{text-align:left;align-items:center;gap:12px;min-width:222px;display:flex}.brand-cube{border-radius:7px;place-items:center;display:grid}.brand strong{align-items:center;gap:12px;display:flex}.brand strong>span{letter-spacing:.13em;color:var(--muted);padding-top:3px;font-size:12px;font-weight:450}.divider{background:var(--line);width:1px;height:22px;margin-right:5px}.topbar-right{align-items:center;display:flex}.simulation-badge{align-items:center;gap:6px;display:flex}.simulation-badge i{border-radius:50%;width:6px;height:6px}.icon-button{place-items:center;width:30px;height:30px;display:grid}.app-body{flex:1;min-height:0;display:grid}.rail{color:#9a9da6;z-index:21;flex-direction:column;align-items:center;display:flex}.rail-main{flex-direction:column;width:100%;display:flex}.rail button{flex-direction:column;justify-content:center;align-items:center;gap:5px;display:flex}.rail .rail-bottom{margin-top:auto}.directory{z-index:15;border-right:1px solid #dfe0e2;flex-direction:column;min-height:0;display:flex}.directory-heading{justify-content:space-between;align-items:center;display:flex}.search-field{color:#80848f;border:1px solid #e0e1e3;align-items:center;gap:8px;height:36px;margin:0 15px 23px;padding:0 9px;display:flex}.search-field input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;font-size:11px}.search-field kbd{white-space:nowrap;border:1px solid #dadbdf;border-radius:3px;padding:0 3px;font-family:inherit;font-size:9px;line-height:17px}.search-field button{place-items:center;display:grid}.directory-content{scrollbar-width:thin;scrollbar-color:#d3d4d8 transparent;flex:1;min-height:0;padding:0 12px 20px;overflow-y:auto}.campus-tree-root{text-align:left;border-radius:5px;align-items:center;gap:8px;width:100%;padding:10px 8px;display:flex}.campus-tree-root strong{font-size:12px;font-weight:550}.campus-tree-root>span{color:var(--muted);margin-left:auto;font-size:10px}.building-tree{margin-top:9px}.building-row{text-align:left;align-items:center;gap:8px;width:100%;padding:14px 7px;display:flex}.building-row>svg:first-child{color:#8a8e98;transition:transform .2s}.building-row>svg:nth-child(2){color:#7e828d}.building-row>.rotated{transform:rotate(90deg)}.building-row>span{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.building-row strong{font-size:12px;font-weight:500}.building-row small{font-size:10px}.building-row.is-selected>svg{color:#767a85}.building-row:hover,.floor-row:hover,.room-tree button:hover{background:#eaebed}.tiny-dot{background:#888c96;border-radius:50%;flex-shrink:0;width:5px;height:5px;display:inline-block}.tiny-dot.gray{background:#9a9ca1}.floor-tree{border-left:1px solid #dddee1;margin:5px 3px 8px 24px;padding-left:9px}.floor-row{text-align:left;color:#70747f;border-radius:4px;align-items:center;gap:8px;width:100%;padding:8px 6px;display:flex}.floor-row>span{font-size:11px;font-weight:600}.floor-row small{flex:1;font-size:10px;font-weight:400}.room-tree{margin:3px 0 8px;padding-left:8px}.room-tree button{text-align:left;border-radius:4px;align-items:center;gap:6px;width:100%;padding:8px 5px;font-size:10px;display:flex}.room-tree button.is-selected{color:#5c5f68;background:#e2e3e5}.directory-separator{background:var(--line);height:1px;margin:22px 8px}.list-caption{letter-spacing:.02em;justify-content:space-between;align-items:center;padding:0 8px 14px;font-size:10px;display:flex}.list-caption>span{font-size:9px}.life-item{text-align:left;align-items:center;gap:9px;width:100%;padding:10px 7px;display:flex}.life-icon{color:#71747f;background:#e7e8ea;border-radius:6px;place-items:center;width:31px;height:33px;display:grid}.life-icon.work{color:#7e828d;background:#e9e9eb}.life-item>span:nth-child(2){flex-direction:column;flex:1;gap:4px;display:flex}.life-item strong{font-size:11px;font-weight:500}.life-item small{font-size:9px}.directory-bottom{background:#eff0f1;border:1px solid #e0e1e3;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin:0 16px 16px;padding:14px 12px;display:flex}.directory-bottom strong{font-size:11px;font-weight:550}.directory-bottom p{margin-top:3px;font-size:9px}.map-mini{flex-shrink:0;width:33px;height:32px;position:relative;transform:rotate(-5deg)}.map-mini i{background:#9fa1a9;width:12px;height:12px;display:block;position:absolute;box-shadow:2px 3px #d2d4d8}.map-mini i:nth-child(2){top:3px;left:17px}.map-mini i:nth-child(3){top:17px}.map-mini i:nth-child(4){top:20px;left:17px}.map-mini span{background:#c1c3c8;width:38px;height:2px;position:absolute;top:15px;left:-3px}.tour-button{color:#585b63;background:#fbfbfc;border:1px solid #dbdcdf;border-radius:5px;align-items:center;gap:7px;width:100%;height:32px;padding:0 9px;font-size:10px;display:flex}.tour-button>span{margin-left:auto;font-size:9px}.viewport{min-width:0;position:relative;overflow:hidden}.scene-header{z-index:3;pointer-events:none;justify-content:space-between;gap:12px;display:flex;position:absolute}.breadcrumb{pointer-events:auto;white-space:nowrap;align-items:center;gap:8px;min-width:0;font-size:10px;display:flex}.breadcrumb button{align-items:center;gap:6px;display:flex}.breadcrumb>span{color:#4b4e55}.scene-title{z-index:3;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute}.world-container{touch-action:none;position:absolute;inset:0}.world-container canvas{touch-action:none;outline:none}.world-labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.world-label{pointer-events:auto;will-change:transform;position:absolute;top:0;left:0}.world-label button{white-space:nowrap;border:1px solid #f1f2f3;align-items:center;gap:7px;font-size:11px;display:flex}.world-label button>b{place-items:center;width:21px;height:21px;font-weight:500;display:grid}.world-label button>span{margin-left:3px;font-size:9px}.world-label button>i{background:#8b8f99;border-radius:50%;width:5px;height:5px}.world-label button:hover{box-shadow:0 6px 15px #50525a35;background:#fff!important}.floor-label button{background:#f5f5f6;padding:6px 10px;font-size:13px;font-weight:600}.room-label button{background:#f7f7f7eb}.view-tools{z-index:5;border:1px solid #e9eaec;flex-direction:column;align-items:center;padding:3px;display:flex;position:absolute}.view-tools button{place-items:center;width:32px;height:34px;display:grid}.view-tools>span{background:#dcdde0;width:19px;height:1px;margin:3px}.compass{color:#6e717b;align-items:center;gap:5px;font-size:10px;display:flex;position:absolute;bottom:135px;left:26px}.compass svg{stroke-width:1px;color:#90939c;transform:rotate(-28deg)}.bottom-dock{z-index:8;white-space:nowrap;border:1px solid #f1f2f3;align-items:center;gap:5px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.bottom-dock button{align-items:center;gap:7px;height:34px;padding:0 10px;display:flex}.dock-divider{background:#dbdce0;width:1px;height:18px;margin:0 2px}.scene-footnote{pointer-events:none;justify-content:space-between;align-items:center;font-size:9px;display:flex;position:absolute;bottom:19px;left:26px;right:25px}.scene-footnote>span{align-items:center;gap:7px;display:flex}.scene-footnote>span>i{border:1px solid #8f929b;border-top:0;width:45px;height:5px;margin-left:3px;display:inline-block}.floor-picker{z-index:5;border:1px solid #f1f2f3;flex-direction:column;gap:4px;padding:6px;display:flex;position:absolute;top:50%;transform:translateY(-35%)}.floor-picker>span{text-align:center;color:#838691;padding:3px;font-size:9px}.floor-picker button{border-radius:4px;place-items:center;width:35px;height:31px;font-size:11px;display:grid}.inspector{z-index:15;border-left:1px solid #e3e4e6;flex-direction:column;min-height:0;display:flex}.inspector-heading{justify-content:space-between;align-items:center;font-size:12px;display:flex}.live-label{color:#747782;align-items:center;gap:5px;font-size:9px;display:flex}.live-label i{background:#898d97;border-radius:50%;width:5px;height:5px}.inspector-content{scrollbar-width:thin;scrollbar-color:#d2d3d7 transparent;flex:1;min-height:0;padding:0 21px 22px;overflow:auto}.place-illustration{background:#ecedef;border-radius:7px;justify-content:center;align-items:flex-end;gap:10px;height:108px;margin:9px 0 17px;padding-bottom:21px;position:relative;overflow:hidden}.illustration-ground{background:#d9dadd;height:24px;position:absolute;bottom:9px;left:20px;right:20px;transform:skew(-30deg)}.mini-building{background:var(--building);z-index:2;border-top:4px solid #d7d8db;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(2,1fr);gap:4px;width:38px;height:53px;padding:7px 5px 12px;display:grid;position:relative;transform:skewY(-7deg);box-shadow:8px 5px #bec0c6}.mini-building:before{content:"";background:#dbdcdf;height:8px;position:absolute;top:-12px;left:2px;right:-6px;transform:skew(-40deg)}.mini-building i{background:#dedfe1;min-width:0}.mini-building b{color:#ededef;font-size:8px;font-weight:400;position:absolute;bottom:0;left:16px}.mini-B{height:37px;transform:skewY(-7deg)translateY(4px)}.mini-C{height:47px;transform:skewY(-7deg)translateY(-6px)}.mini-D{height:29px;transform:skewY(-7deg)translateY(3px)}.single-building .mini-building{margin-bottom:2px;transform:scale(1.3)skewY(-7deg)}.inspector-title h2{line-height:1.4}.inspector-title p{align-items:center;gap:4px;margin-top:6px;display:flex}.inspector-tabs{border-bottom:1px solid var(--line);gap:25px;margin-top:21px;display:flex}.inspector-tabs button{padding:0 0 11px;position:relative}.inspector-tabs button.active{font-weight:550}.inspector-tabs button.active:after{content:"";height:2px;position:absolute;bottom:-1px;left:0;right:0}.inspector-tabs button>span{background:#eaeaec;border-radius:3px;margin-left:2px;padding:1px 4px;font-size:9px}.summary-stats{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;row-gap:22px;padding:22px 0 18px;display:grid}.summary-stats>div{flex-direction:column;gap:4px;display:flex}.summary-stats>div:nth-child(2n){border-left:1px solid #eaebed;padding-left:19px}.summary-stats strong{font-variant-numeric:tabular-nums;line-height:1.15}.summary-stats strong small{letter-spacing:0;margin-left:5px;font-size:9px;font-weight:450}.summary-stats>div>span{font-size:10px}.section-head{justify-content:space-between;align-items:center;gap:10px;margin:22px 0 13px;display:flex}.section-head h3{font-weight:550}.section-head>button{color:#848892;align-items:center;gap:4px;font-size:9px;display:flex}.health-line{justify-content:space-between;align-items:center;font-size:10px;display:flex}.health-line>span{align-items:center;gap:6px;display:flex}.health-line strong{color:#61646e;font-variant-numeric:tabular-nums;font-size:11px;font-weight:550}.health-line small{font-size:9px;font-weight:400}.health-bar{background:#e9eaec;border-radius:2px;height:4px;margin-top:9px;overflow:hidden}.health-bar i{border-radius:2px;height:100%;display:block}.environment-row{grid-template-columns:1fr 1fr;gap:8px;padding-top:19px;display:grid}.environment-row>span{grid-template-columns:23px 1fr;align-items:center;row-gap:1px;display:grid}.environment-row svg{color:#8d9099;grid-row:1/3}.environment-row strong{font-variant-numeric:tabular-nums;font-size:15px;font-weight:500}.environment-row small{font-size:9px}.alert-item{text-align:left;background:#ececee;border-radius:6px;align-items:center;gap:8px;width:100%;margin-top:7px;padding:11px 9px;display:flex}.alert-icon{color:#80838e;place-items:center;display:grid}.alert-item>span:nth-child(2){flex:1;min-width:0}.alert-item strong{font-size:10px;font-weight:500;display:block}.alert-item small{margin-top:4px;font-size:8px;display:block}.alert-item>svg{color:#8a8e98}.alert-item:hover{background:#dfe0e2}.latest-activity{text-align:left;gap:9px;width:100%;padding:2px 0 8px;display:flex}.activity-dot{border:1px solid #9a9da5;border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:5px}.latest-activity strong{font-size:10px;font-weight:400;display:block}.latest-activity small{margin-top:4px;font-size:9px;display:block}.inspector-footer{border-top:1px solid var(--line);align-items:center;gap:6px;padding:14px 20px;font-size:8px;display:flex}.inspector-footer>svg{margin-left:auto}.statusbar{z-index:22;border-top:1px solid #e1e2e4;flex:none;justify-content:space-between;align-items:center;gap:12px;height:31px;padding:0 19px;font-size:9px;display:flex}.statusbar>div{align-items:center;gap:18px;min-width:0;display:flex}.connection{color:#6f727d;white-space:nowrap;align-items:center;gap:6px;display:flex}.connection i{background:#878a94;border-radius:50%;width:5px;height:5px}.statusbar-separator{background:#d9dade;width:1px;height:11px}.statusbar button{color:#6a6d77;align-items:center;gap:5px;display:flex}.sim-clock{font-variant-numeric:tabular-nums;white-space:nowrap}.person-row,.device-row{text-align:left;border-bottom:1px solid #ebecee;align-items:center;gap:9px;width:100%;padding:12px 7px;display:flex}.person-row>span:nth-child(2),.device-row>span{flex:1;min-width:0}.person-row strong,.device-row strong{font-weight:500;display:block}.person-row strong>small{margin-left:6px;font-size:9px;display:inline}.person-row small,.device-row small{margin-top:4px;display:block}.person-row>svg,.device-row>svg{color:#888b95}.person-row.is-selected,.device-row.is-selected{border-radius:5px}.person-row:hover,.device-row:hover{background:#ecedef}.person-avatar{background:#e4e5e8;border-radius:4px;flex-shrink:0;width:28px;height:34px;display:block;position:relative;overflow:hidden}.person-avatar i{background:#d7b494;border-top:3px solid #585b63;width:11px;height:11px;position:absolute;top:7px;left:9px}.person-avatar b{background:var(--shirt);width:20px;height:19px;position:absolute;top:18px;left:5px}.person-row.compact{padding:8px 0}.primary-button{background:var(--accent);color:#f8f8f9;border-radius:5px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:38px;margin-top:20px;padding:8px 12px;font-size:11px;display:flex}.primary-button:hover{color:#fff;background:#005ebf}.primary-button>svg:last-child{margin-left:auto}.primary-button>svg:first-child{margin-right:auto}.text-button{color:#70737e;padding:10px;font-size:11px}.full-width{width:100%}.search-result{text-align:left;border-bottom:1px solid var(--line);align-items:center;gap:9px;width:100%;padding:11px 5px;display:flex}.search-result>span{flex:1;min-width:0}.search-result strong{font-weight:500;display:block}.search-result small{margin-top:4px;display:block}.search-result>svg{color:#878b95}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:11px;padding:25px 10px;display:flex}.empty-state strong{color:#5b5e66;font-size:12px}.empty-state p{font-size:10px;line-height:1.8}.empty-state button{border:1px solid #d6d7db;border-radius:4px;padding:6px 12px;font-size:10px}.activity-list>button{text-align:left;gap:12px;width:100%;padding:6px 10px 22px;display:flex;position:relative}.activity-list>button:before{content:"";background:#dcdde0;width:1px;position:absolute;top:20px;bottom:0;left:14px}.activity-line-dot{background:#e3e4e7;border:2px solid #898c96;border-radius:50%;flex-shrink:0;width:9px;height:9px;margin-top:5px}.activity-line-dot.device{border-color:#92959f}.activity-list small{font-size:9px}.activity-list strong{margin-top:6px;font-size:11px;font-weight:500;display:block}.activity-list p{margin-top:4px;font-size:9px}.asset-note{align-items:center;gap:7px;padding:16px 0 6px;font-size:10px;display:flex}.all-clear{color:#7c7f8a;background:#eeeff0;border-radius:4px;gap:7px;padding:11px;font-size:10px;display:flex}.quiet-note{font-size:10px}.back-link{align-items:center;gap:5px;margin:9px 0 17px;font-size:10px;display:flex}.device-hero{background:#ececee;border-radius:7px;justify-content:center;align-items:center;height:139px;margin-bottom:20px;display:flex;position:relative}.equipment-art{background:#d7d8db;border-top:7px solid #e3e4e7;flex-direction:column;gap:7px;width:46px;height:82px;padding:9px 6px;display:flex;transform:skewY(-6deg);box-shadow:12px 6px #c5c7cc}.equipment-art i{background:#9fa2aa;width:31px;height:4px}.equipment-art b{background:#9598a1;align-self:flex-end;width:6px;height:4px;margin-top:2px}.device-hero-computer .equipment-art{background:#738d91;border-color:#a8abb2;box-shadow:12px 6px #a1a4ac}.device-hero-sensor .equipment-art{gap:3px;width:43px;height:43px;padding:5px}.device-hero-sensor .equipment-art i{height:3px}.status{align-items:center;gap:5px;font-size:9px;display:flex}.status i{background:currentColor;border-radius:50%;width:5px;height:5px}.device-hero>.status{position:absolute;bottom:10px;right:10px}.location-link{background:#efeff0;border-radius:4px;align-items:center;gap:6px;width:100%;margin-top:15px;padding:9px;font-size:10px;display:flex}.location-link svg:last-child{margin-left:auto}.telemetry-main{background:#efeff0;border:1px solid #e4e5e7;border-radius:6px;flex-direction:column;gap:6px;padding:16px;display:flex}.telemetry-main>span{color:#7b7f8a;font-size:10px}.telemetry-main>strong{font-variant-numeric:tabular-nums;font-size:32px;font-weight:500;line-height:1.4}.telemetry-main>strong>small{color:#848791;margin-left:6px;font-size:11px;font-weight:400}.detail-rows{flex-direction:column;margin:10px 0;display:flex}.detail-rows>div{border-bottom:1px solid #e9eaec;justify-content:space-between;align-items:baseline;gap:15px;padding:11px 0;font-size:10px;display:flex}.detail-rows dt{white-space:nowrap}.detail-rows dd{color:#565962;margin:0}.data-note{background:#f2f2f3;border-radius:4px;margin-top:20px;padding:10px}.person-hero{background:#ebecee;border-radius:6px;place-items:center;height:150px;margin-bottom:20px;display:grid;position:relative;overflow:hidden}.person-hero .person-avatar{z-index:1;background:0 0;border-radius:0;width:28px;height:34px;transform:scale(3)}.person-hero-grid{background:linear-gradient(90deg, #dfe0e350%, transparent 50%) 0 0 / 30px 30px;opacity:.3;position:absolute;inset:0}.person-id{color:#8f929c;margin-left:10px;font-size:10px;font-weight:400}.person-activity{border-bottom:1px solid var(--line);color:#767a85;align-items:center;gap:6px;margin-top:7px;padding:14px 0;font-size:11px;display:flex}.person-activity>span{margin-left:auto;font-size:9px}.location-card{background:#ecedef;border-radius:5px;flex-direction:column;gap:6px;padding:14px;display:flex}.location-card strong{font-size:12px;font-weight:500}.location-card span{font-size:10px}.scene-loading,.world-fallback{color:#6c6f79;z-index:2;background:#dddee0;flex-direction:column;justify-content:center;align-items:center;gap:13px;display:flex;position:absolute;inset:0}.scene-loading>strong{font-size:15px;font-weight:500}.scene-loading>span:last-child{color:#8a8e98;font-size:11px}.loading-cube{background:#cdcfd3;border-radius:9px;place-items:center;width:65px;height:65px;display:grid}.world-fallback{text-align:center;padding:30px}.world-fallback p{max-width:280px;font-size:12px;line-height:1.8}.world-fallback button{background:#f1f1f2;border-radius:4px;padding:10px 15px}.help-overlay{z-index:70;background:#282a2e78;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.help-panel{background:#f9f9f9;border-radius:12px;width:min(510px,100%);padding:35px;position:relative;box-shadow:0 20px 80px #23242840}.help-close{position:absolute;top:12px;right:13px}.help-mark{color:#696c76;background:#e4e5e7;border-radius:10px;place-items:center;width:55px;height:55px;margin-bottom:22px;display:grid}.help-panel h2{margin-bottom:11px;font-size:22px}.help-panel>p{font-size:12px;line-height:1.8}.help-steps{flex-direction:column;gap:22px;margin:29px 0;display:flex}.help-steps>div{grid-template-columns:31px 1fr;row-gap:4px;display:grid}.help-steps svg{color:#828691;grid-row:1/3}.help-steps strong{font-size:12px;font-weight:500}.help-steps span{font-size:11px}.keyboard-hints{border-top:1px solid #e0e1e4;gap:15px;padding-top:20px;display:flex}.keyboard-hints span{flex-direction:column;gap:6px;display:flex}.keyboard-hints kbd{color:#757883;background:#eaebed;border:1px solid #dddee1;border-radius:4px;width:fit-content;padding:3px 6px;font-family:inherit}.panel-scrim{display:none}@media (min-width:1600px){.app-body{grid-template-columns:72px 265px minmax(0,1fr) 310px}.topbar{height:72px}.scene-title{top:76px}.scene-title h2{font-size:30px}.directory-heading{margin-top:30px}.inspector-heading{padding-top:28px}.summary-stats{row-gap:25px;padding-top:25px;padding-bottom:22px}.section-head{margin-top:27px}.inspector-content{padding-left:24px;padding-right:24px}.place-illustration{height:120px}.rail button{width:53px}.bottom-dock{gap:7px;padding:8px}.bottom-dock button{height:38px;font-size:11px}.scene-header{top:28px}}@media (max-width:1250px){.app-body{grid-template-columns:57px 218px minmax(0,1fr) 254px}.rail{padding:20px 5px 16px}.rail button{width:46px}.directory-heading{margin:24px 16px 16px}.directory-heading h1{font-size:17px}.directory-content{padding-left:8px;padding-right:8px}.search-field{margin:0 12px 18px}.search-field kbd{display:none}.inspector-content{padding:0 16px 18px}.inspector-heading{padding:24px 16px 12px}.inspector-title h2{font-size:17px}.directory-bottom{margin:0 12px 13px;padding:12px 9px}.directory-bottom p{font-size:8px}.scene-title h2{font-size:22px}.scene-title p{font-size:10px}.bottom-dock{gap:2px;padding:6px}.bottom-dock button{gap:5px;padding:0 7px;font-size:9px}.scene-footnote{font-size:8px;left:19px;right:18px}.scene-footnote>span:last-child{display:none}.scene-title,.scene-header{left:21px}.brand{min-width:218px}.topbar{gap:0;padding-left:15px;padding-right:17px}.topbar-right{gap:14px}.map-mini{width:29px}.inspector-tabs{gap:16px}.inspector-tabs button{font-size:10px}.summary-stats strong{font-size:25px}}@media (max-width:1050px){.app-body{grid-template-columns:57px 218px minmax(0,1fr)}.inspector{z-index:35;width:290px;display:none;position:absolute;top:66px;bottom:31px;right:0;box-shadow:-12px 0 40px #34353a26}.inspector.mobile-open{display:flex}.inspector-heading .live-label{margin-left:auto}.panel-scrim{z-index:30;background:#3031362b;display:block;position:absolute;inset:66px 0 31px}.directory.mobile-open{z-index:35;position:relative}.topbar .brand{min-width:257px}.directory-bottom p{font-size:9px}}@media (max-width:700px){.campus-app{min-height:480px}.topbar .brand{min-width:0}.brand-cube{border-radius:5px;height:30px}.brand-cube svg{width:23px;height:23px}.brand strong{gap:8px}.brand strong>span{letter-spacing:.05em;font-size:10px}.simulation-badge{font-size:9px}.rail button{gap:5px}.rail button svg{width:20px;height:20px}.rail button span{font-size:9px}.rail-main{gap:15px}.directory{z-index:35;display:none;position:absolute;bottom:31px;box-shadow:8px 0 30px #34353a20}.directory.mobile-open{position:absolute}.directory-symbol{display:none}.directory-heading{margin:21px 17px 18px}.directory-heading h1{font-size:18px}.directory-content{padding-left:12px;padding-right:12px}.directory-bottom{padding:15px 12px}.building-row{padding-top:15px;padding-bottom:15px}.scene-title{align-items:flex-start}.scene-title h2{letter-spacing:.01em}.scene-title p{line-height:1.8}.world-label button>b{font-size:9px}.world-label button>span{font-size:8px}.room-label button span{display:none}.bottom-dock{gap:3px;padding:6px;bottom:52px}.bottom-dock button{justify-content:center;width:32px;height:32px;padding:0}.bottom-dock button>span{display:none}.dock-divider{height:17px;margin:0 1px}.scene-footnote>span{gap:5px}.compass{font-size:9px;bottom:111px;left:18px}.compass svg{width:20px}.floor-picker button{font-size:10px}.statusbar{gap:8px;padding:0 10px;font-size:8px}.statusbar>div{gap:8px}.statusbar .desktop-status,.statusbar-separator,.statusbar>div:first-child>span:nth-child(3),.sim-clock{display:none}.statusbar button{height:28px;font-size:9px}.help-overlay{padding:18px}.help-panel h2{font-size:19px}.help-steps{margin:23px 0}.keyboard-hints{gap:14px;font-size:8px}.directory-bottom strong{font-size:12px}.directory-bottom p{font-size:9px}.inspector-heading{padding-top:19px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.search-field input::placeholder,.directory-bottom p,.life-item small,.list-caption,.list-caption>span,.building-row small,.inspector-title p,.summary-stats>div>span,.summary-stats strong small,.section-head>span,.environment-row small,.health-line>span,.health-line small,.latest-activity small,.inspector-footer,.statusbar,.person-row small,.device-row small,.person-row strong>small,.detail-rows dt,.data-note,.asset-note,.back-link,.location-link,.location-card span,.person-activity>span,.quiet-note,.empty-state,.help-panel>p,.help-steps span,.keyboard-hints,.activity-list p,.activity-list small,.search-result small,.tour-button>span,.simulation-badge{color:#62656f}.scene-title p,.scene-footnote,.breadcrumb{color:#5a5d66}.alert-item small{color:#5e616b}.alert-item strong{color:#565860}.inspector-tabs button,.bottom-dock button,.floor-picker button{color:#62656f}.directory-symbol,.life-item>svg{color:#6e717b}.status{color:#5a5d65}.status-offline{color:#60636d}.telemetry-main>span.warning-text{color:#565860}.telemetry-main>span.green-text{color:#5a5d65}
:root{--detail-body:13px;--detail-caption:12px;--ink:#1d1d1f;--muted:#6e6e73;--line:#e7e7eb;--accent:#0071e3;--sensing-muted:#566b79;color:var(--ink);-webkit-font-smoothing:antialiased;background:#f3f5f7}.global-search-trigger{color:#59616b;border-radius:7px;align-items:center;gap:7px;min-height:34px;padding:0 9px;font-size:12px;display:flex}.global-search-trigger:hover{background:#f2f4f6}.global-search-trigger kbd{color:#656b73;border:1px solid #e1e5e9;border-radius:4px;margin-left:8px;padding:2px 4px;font:10px inherit}.scene-back{background:#ffffffd9;border:1px solid #e0e5ea;border-radius:7px;justify-content:center;margin-right:3px}.scene-notice{z-index:12;color:#32644e;background:#f5faf8;border:1px solid #d4e4df;border-radius:8px;align-items:center;gap:8px;padding:11px 14px;font-size:12px;display:none;position:absolute;left:32px;box-shadow:0 5px 18px #314c3910}.scene-notice.visible{display:flex}.scene-places{z-index:4;background:#fffffff2;border:1px solid #e2e7ed;border-radius:9px;gap:5px;max-width:calc(100% - 64px);padding:4px;display:flex;position:absolute;bottom:109px;left:50%;transform:translate(-50%)}.scene-places button{color:#435c70;white-space:nowrap;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;font-size:12px;display:flex}.scene-places button:hover{background:#edf4fc}.world-label:after{content:"";width:1px;height:var(--leader-height,0px);pointer-events:none;background:#92a5b6;position:absolute;top:100%;left:50%}.simulation-speed{color:#536779;font-variant-numeric:tabular-nums}button:focus-visible,a:focus-visible{outline-color:#0071e3}button:hover:not(:disabled){color:#1d1d1f}.topbar{border-bottom:1px solid var(--line);z-index:40;background:#fff;gap:18px;height:64px;padding:0 24px}.topbar .brand{gap:10px;min-width:0}.brand-cube{color:#1d1d1f;width:29px;height:34px;box-shadow:none;background:0 0}.brand strong{letter-spacing:-.04em;font-size:19px;font-weight:600}.topbar-right{gap:15px;margin-left:auto}.icon-button{color:#6e6e73;border-radius:7px}.icon-button:hover{background:#f0f0f3}.sidebar-toggle{border-left:1px solid var(--line);border-radius:0;padding-left:18px}.scene-switcher{background:#f2f2f4;border-radius:9px;gap:3px;margin-left:4px;padding:3px;display:flex}.scene-switcher button{color:#64646c;white-space:nowrap;border-radius:7px;align-items:center;gap:7px;padding:7px 13px;font-size:12px;display:flex}.scene-switcher button.active{color:#1d1d1f;background:#fff;box-shadow:0 1px 4px #1d1d1f13}.simulation-badge{color:#686871;background:0 0;padding:0;font-size:11px}.simulation-badge i{background:#5b9b78}.header-tour{color:#06c;white-space:nowrap;align-items:center;gap:6px;display:flex}.app-body{--directory-width:244px;--inspector-width:290px;grid-template-columns:60px var(--directory-width) minmax(0, 1fr) var(--inspector-width);transition:grid-template-columns .32s cubic-bezier(.2,.8,.2,1)}.viewport{grid-area:1/3}.rail{grid-area:1/1}.directory{grid-area:1/2}.inspector{grid-area:1/4}.nav-collapsed .app-body{--directory-width:0px}.inspector-collapsed .app-body{--inspector-width:0px}.directory,.inspector{border-color:var(--line);background:#fff;min-width:0;overflow:hidden}.nav-collapsed .directory,.inspector-collapsed .inspector{visibility:hidden;pointer-events:none;border-width:0}.directory-heading,.directory-content,.directory-bottom,.search-field{flex-shrink:0}.directory-content{flex-shrink:1}.rail{border-right:1px solid var(--line);background:#f7f7f9;padding:22px 6px 16px}.rail-main{gap:14px}.rail button{color:#777780;border-radius:9px;width:46px;min-height:49px}.rail button.active{color:#06c;background:#e9eef5}.rail button:hover{color:#1d1d1f!important;background:#e9e9ee!important}.rail button span{font-size:9px}.panel-close{flex-shrink:0;place-items:center;width:28px;height:28px;margin-left:auto;display:grid}.directory-symbol{display:none}.directory-heading{margin:24px 18px 19px}.directory-heading h1{letter-spacing:-.025em;font-size:17px}.inspector-heading{flex-wrap:wrap;gap:8px;min-height:62px;padding:0 19px}.inspector-heading .live-label{display:none}.search-field{background:#f5f5f7;border-color:#ebebef;border-radius:7px}.search-field:focus-within{border-color:#76a9df;box-shadow:0 0 0 2px #0071e310}.campus-tree-root.is-selected,.building-row.is-selected,.floor-row.is-selected,.person-row.is-selected,.device-row.is-selected{color:#005fbe;background:#edf4fc}.building-row{border-radius:7px}.viewport{background:#f3f5f7}.scene-header{top:23px;left:32px;right:28px}.scene-title{top:67px;left:32px;right:28px}.scene-title h2{color:#27272b;letter-spacing:-.04em;font-weight:600}.scene-title p{letter-spacing:0;margin-top:8px}.breadcrumb,.breadcrumb button{color:#73737b}.world-label button{color:#41414a;background:#fffffff5;border-color:#fff;border-radius:8px;padding:6px 9px 6px 6px;box-shadow:0 2px 9px #323a4812}.world-label button>b{color:#535963;background:#eff1f4;border-radius:5px;font-size:10px}.world-label button>span{color:#72727a}.world-label.selected-label button{border-color:#78aee3}.world-label.selected-label button>b{color:#fff;background:#0071e3}.room-label button{padding:6px 8px;font-size:11px}.room-label button>span{font-size:10px}.view-tools,.floor-picker{background:#fffffff5;border-color:#e8e8ec;border-radius:10px;box-shadow:0 3px 12px #323a4809}.view-tools{top:148px;right:27px}.view-tools button{color:#777780;border-radius:6px}.view-tools button:hover{background:#f1f1f4}.floor-picker{right:27px}.floor-picker button.active{color:#06c;background:#e5f0fd}.bottom-dock{background:#fffffff5;border-color:#e9e9ee;border-radius:12px;padding:6px;bottom:46px;box-shadow:0 5px 20px #323a480d}.bottom-dock button{color:#696972;border-radius:7px;font-size:11px}.bottom-dock button.active{color:#06c;background:#eaf2fc}.bottom-dock button:hover:not(:disabled){background:#f0f0f4}.bottom-dock .dock-home{color:#3f454d}.place-illustration{display:none}.inspector-title{padding-top:8px}.inspector-title h2{letter-spacing:-.035em;font-size:21px}.inspector-tabs button.active{color:#06c}.inspector-tabs button.active:after{background:#0071e3}.summary-stats strong{letter-spacing:-.05em;color:#1d1d1f;font-size:28px;font-weight:500}.health-bar i{background:#79a28c}.status-online,.status-online i{color:#377d52}.status-online i{background:#508e69}.status-warning{color:#98601a}.status-warning i,.tiny-dot.orange{background:#ba843d}.statusbar{border-color:var(--line);color:#777780;background:#fff}@media (min-width:1600px){.app-body{--directory-width:260px;--inspector-width:310px}}@media (min-width:701px) and (max-width:1050px){.topbar{gap:12px;padding:0 16px}.scene-switcher button{padding:7px 10px}.simulation-badge{display:none}.app-body{grid-template-columns:60px var(--directory-width) minmax(0, 1fr) 0px}.inspector{display:none;top:64px}.inspector.mobile-open{visibility:visible;pointer-events:auto;display:flex}.panel-scrim{inset:64px 0 31px}.directory.mobile-open{visibility:visible;pointer-events:auto}}@media (max-width:700px){.topbar{padding:0 16px 43px;position:relative}.brand strong{font-size:18px}.brand-cube{width:23px}.simulation-badge,.header-tour{display:none}.sidebar-toggle{width:30px;padding-left:12px}.scene-switcher{margin:0;position:absolute;bottom:10px;left:16px;right:16px}.scene-switcher button{flex:1;justify-content:center;gap:5px;padding:6px}.app-body{grid-template-columns:48px 0 minmax(0,1fr) 0}.rail{padding:18px 3px 12px}.rail button{width:40px;min-height:48px}.directory.mobile-open,.inspector.mobile-open{visibility:visible;pointer-events:auto;display:flex}.view-tools,.floor-picker{right:14px}.bottom-dock{border-radius:10px}.bottom-dock button{font-size:10px}.world-label button{gap:4px;padding:4px 6px;font-size:10px}.world-label button>b{width:17px;height:18px}.world-label button>span{display:none}}.simulation-controls{z-index:7;color:#606b75;background:#ffffffed;border:1px solid #e4e8ed;border-radius:9px;align-items:center;gap:8px;padding:5px 8px;font-size:11px;display:flex;position:absolute;top:150px;left:32px}.simulation-controls label{align-items:center;gap:6px;display:flex}.simulation-controls label>span{color:#7b8188}.simulation-controls select{color:#394957;font:inherit;outline-offset:3px;background:0 0;border:0;max-width:112px;padding:4px 1px}.simulation-controls button{color:#697b8b;border-radius:5px;place-items:center;width:25px;height:25px;display:grid}.simulation-controls button:hover{background:#edf2f7}.scene-display-controls{pointer-events:auto;align-items:center;gap:10px;display:flex}.style-switch{background:#ffffffeb;border:1px solid #e6eaf0;border-radius:8px;gap:2px;padding:3px;display:flex}.style-switch button{color:#56616c;white-space:nowrap;border-radius:5px;justify-content:center;align-items:center;gap:6px;min-height:30px;padding:4px 10px;font-size:12px;transition:background-color .16s ease-out,color .16s ease-out;display:flex}.style-switch button:hover{background:#f0f3f6}.style-switch button[aria-pressed=true]{color:#06c;background:#eaf2fc}.style-switch-detailed{background:#f6f7f9;padding:4px}.style-switch-detailed button{text-align:left;flex:1;gap:9px;min-width:0;min-height:68px;padding:10px 6px;font-size:14px}.style-switch-detailed span{min-width:0}.style-switch-detailed small{color:#56616c;white-space:normal;margin-top:4px;font-size:11px;font-weight:400;display:block}.scene-header .breadcrumb{scrollbar-width:none;overflow:auto}@media (max-width:1050px) and (min-width:701px){.scene-display-controls{gap:5px}.scene-display-controls .style-switch button{padding-inline:7px}.scene-display-controls .style-switch svg{display:none}}@media (max-width:700px){.scene-display-controls{display:none}}@media (prefers-reduced-motion:reduce){.style-switch button{transition:none}}.area-label button{border-radius:6px;padding:5px 9px;font-size:11px}.agv-label button{color:#246389;border-color:#aec6d8;font-size:10px}.operations-v2{margin-top:22px}.flow-totals{border-bottom:1px solid #e9edf1;justify-content:space-between;padding:15px 0;display:flex}.flow-totals>div{flex-direction:column;gap:4px;display:flex}.flow-totals strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:24px;font-weight:500}.flow-totals span{color:#64717e}.process-chain{color:#4d6880;margin:16px 0}.process-links{margin-top:10px}.process-links button,.fleet-list button{text-align:left;border-bottom:1px solid #edf0f3;align-items:center;gap:7px;width:100%;padding:11px 0;font-size:10px;display:flex}.process-links button small,.fleet-list small{color:#637788;white-space:nowrap;margin-left:auto;font-size:9px}.process-links button:hover,.fleet-list button:hover{color:#06c}.job-select{color:#354856;width:100%;font:10px var(--font-ui);background:#f9fafb;border:1px solid #dfe6ed;border-radius:6px;padding:9px 7px}.job-location{color:#326789;text-align:left;align-items:center;gap:6px;margin:12px 0;display:flex}.job-identifiers{margin:0}.job-identifiers>div{justify-content:space-between;gap:6px;margin:6px 0;display:flex}.job-identifiers dt{color:#6e7780}.job-identifiers dd{color:#415669;margin:0}.event-timeline{margin:15px 0 22px;padding:0;list-style:none}.event-timeline li{color:#566776;align-items:center;gap:7px;padding:6px 0;font-size:9px;display:flex}.event-timeline i{background:#91adbf;border-radius:50%;flex-shrink:0;width:4px;height:4px}.event-timeline time{font-variant-numeric:tabular-nums;color:#697a87;margin-left:auto}.event-timeline .event-warning{color:#976329}.event-warning i{background:#c99454}.fleet-list strong{font-weight:500}.vehicle-symbol{color:#668ba7;background:#edf3f7;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:10px;height:125px;margin:5px 0 22px;font-size:10px;display:flex}.vehicle-state{color:#547e70;align-items:center;gap:7px;margin:20px 0;font-size:11px;display:flex}.vehicle-state i{background:#6c9e82;border-radius:50%;width:5px;height:5px}.vehicle-state span{color:#637788;margin-left:auto}.transport-route{background:#f5f7f9;border-radius:8px;align-items:center;gap:9px;padding:15px 10px;font-size:11px;display:flex}.transport-route p{flex:1}.transport-route small{color:#73808a;margin-bottom:4px;font-size:9px;display:block}@media (max-width:700px){.simulation-controls{gap:5px;padding:3px 5px;font-size:10px;top:116px;left:19px}.simulation-controls select{max-width:99px}.simulation-controls label>span{display:none}.scene-header{gap:5px}.breadcrumb{overflow:hidden}.breadcrumb>button,.breadcrumb>svg{flex-shrink:0}.area-label button{padding:4px 5px;font-size:9px}.simulation-controls select:focus{font-size:16px}}.area-label button .area-code{display:none}.area-label button .area-name,.area-label button .area-code{font:inherit;color:inherit;margin:0}@media (max-width:700px){.floor-picker{flex-direction:row;gap:1px;padding:3px;top:auto;transform:none}.floor-picker>span,.area-label button .area-name{display:none}.area-label button .area-code{display:inline}}.industrial-device-status{margin:18px 0 14px}.telemetry-status{z-index:7;color:#4c7187;background:#fffffff2;border:1px solid #e1e8ee;border-radius:9px;align-items:center;gap:7px;height:37px;padding:0 10px;font-size:10px;display:flex;position:absolute;top:150px;left:234px}.telemetry-status strong{color:#315e75;font-weight:600}.telemetry-status:hover{background:#edf5fa}.telemetry-label button{color:#396a87;border-color:#bfd3df;gap:5px;padding:5px 7px;font-size:10px}.gateway-label>div>span{color:#476c80;white-space:nowrap;background:#f3f8fbed;border:1px solid #d4e3eb;border-radius:5px;padding:4px 7px;font-size:10px;display:block}.telemetry-panel .inspector-title{margin-top:18px}.sensing-summary{color:#4e8399;align-items:center;gap:10px;margin:25px 0 18px;display:flex}.sensing-summary strong{color:#354d5c;font-size:16px;font-weight:500;display:block}.sensing-summary span{color:#697880;margin-top:4px;font-size:10px;line-height:1.6;display:block}.telemetry-topology{color:#637781;border-top:1px solid #edf0f2;border-bottom:1px solid #edf0f2;justify-content:space-between;align-items:center;padding:15px 0;font-size:10px;display:flex}.sensing-list{flex-direction:column;display:flex}.sensing-list button{text-align:left;color:#638396;border-bottom:1px solid #edf0f2;align-items:center;gap:9px;padding:12px 0;display:flex}.sensing-list button:hover{background:#f3f7fa}.sensing-list button>span{flex:1}.sensing-list strong{color:#35454f;font-weight:500;line-height:1.5;display:block}.sensing-list small{color:#566b79;margin-top:5px;display:block}.sensing-list em{color:#527d6e;font-style:normal}.stream-state{color:#477e6b;align-items:center;gap:6px;margin:20px 0 14px;display:flex}.stream-state>i{background:currentColor;border-radius:50%;width:5px;height:5px}.stream-state>span{color:#65757f;margin-left:auto;font-size:10px}.stale-reading{color:#996122!important}.camera-preview{aspect-ratio:16/9;background:#e3ecf1;border-radius:9px;position:relative;overflow:hidden}.camera-preview canvas{width:100%;height:100%;display:block}.camera-caption{color:#f5f8fa;background:#203644df;justify-content:space-between;align-items:center;padding:7px 8px;font-size:9px;display:flex;position:absolute;bottom:0;left:0;right:0}.camera-caption span{align-items:center;gap:5px;display:flex}.camera-caption i{background:#93cfb4;border-radius:50%;width:4px;height:4px}.camera-reticle{clip-path:polygon(0 0,12px 0,12px 1px,1px 1px,1px 12px,0 12px,0 0,100% 0,100% 12px,calc(100% - 1px) 12px,calc(100% - 1px) 1px,calc(100% - 12px) 1px,calc(100% - 12px) 0,100% 0,100% 100%,calc(100% - 12px) 100%,calc(100% - 12px) calc(100% - 1px),calc(100% - 1px) calc(100% - 1px),calc(100% - 1px) calc(100% - 12px),100% calc(100% - 12px),100% 100%,0 100%,0 calc(100% - 12px),1px calc(100% - 12px),1px calc(100% - 1px),12px calc(100% - 1px),12px 100%,0 100%);pointer-events:none;border:1px solid #ffffff90;position:absolute;inset:13px 13px 34px}.camera-source{color:#566b79;margin-top:9px}.camera-offline{color:#fff;background:#223544cc;flex-direction:column;justify-content:center;align-items:center;gap:7px;font-size:11px;display:flex;position:absolute;inset:0 0 27px}.sensor-reading{background:#f1f6f8;border:1px solid #e4ecf0;border-radius:9px;padding:19px 15px 12px}.sensor-reading>span{color:#566b79}.sensor-reading>strong{color:#304955;font-variant-numeric:tabular-nums;margin:5px 0;font-size:35px;font-weight:500;line-height:1.4;display:block}.sensor-reading strong small{color:#566b79;margin-left:6px;font-size:12px;font-weight:400}.sensor-reading p{color:#566b79;font-size:10px}.sensor-reading p b{color:#3c5d70;margin-left:5px;font-weight:500}.sensor-reading svg{width:100%;height:55px;margin-top:16px}.sensor-stale{background:#f7f4ef}.sample-range{color:#566b79;justify-content:space-between;display:flex}.telemetry-panel .detail-rows dd{align-items:center;gap:4px;display:flex}.connection-action{color:#566b79;background:#f7f9fa;border:1px solid #dde5eb;border-radius:7px;justify-content:center;align-items:center;gap:7px;width:100%;margin-top:18px;padding:11px;font-size:11px;display:flex}.connection-action:hover{background:#eaf2f7}.connection-action.reconnect{color:#246990;background:#edf5fa;border-color:#bcd3e2}.sample-history{margin:0;padding:0;list-style:none}.sample-history li{border-bottom:1px solid #edf1f3;gap:7px;padding:10px 0;font-size:10px;display:flex}.sample-history time{color:#566b79;font-variant-numeric:tabular-nums}.sample-history span{text-align:right;color:#3e5f71;flex:1}.sample-history small{color:#566b79;text-align:right;min-width:38px}@media (max-width:700px){.telemetry-status{gap:4px;height:33px;padding:0 7px;font-size:9px;top:116px;left:171px}.telemetry-status-name{display:none}.telemetry-label button{gap:3px;padding:4px 5px;font-size:8px}.gateway-label>div>span{padding:3px 4px;font-size:8px}}.scene-toolbar{z-index:5;align-items:center;gap:8px;width:fit-content;max-width:calc(100% - 60px);display:flex;position:absolute;left:32px;right:28px}.scene-toolbar .telemetry-status{height:40px;position:static}.scene-toolbar .simulation-play{color:#06c;background:#edf4fc;width:28px;height:28px}.scene-toolbar .telemetry-status{padding:0 11px}.scene-title h2{font-size:28px;line-height:1.35}.scene-title p{color:#626c77;max-width:530px;line-height:1.6}.help-panel{max-height:calc(100dvh - 40px);overflow-y:auto}@media (max-width:1050px){.global-search-trigger kbd{display:none}.scene-places button{padding:8px;font-size:11px}}@media (max-width:700px){.global-search-trigger{justify-content:center;padding:0 5px}.global-search-trigger span{display:none}.scene-toolbar .telemetry-status{gap:4px}.scene-toolbar .telemetry-status>svg:last-child{display:none}.scene-title p{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.breadcrumb{gap:3px;font-size:9px}.breadcrumb>button:first-child>span{display:inline}.breadcrumb>button[aria-label=園區總覽]>span{display:none}.scene-notice{padding:9px}.scene-places{gap:2px;width:calc(100% - 24px);max-width:calc(100% - 24px)}.scene-places button{white-space:normal;text-align:center;flex:1;justify-content:center;min-width:0;padding:7px 3px;font-size:10px}.scene-places button svg{display:none}.help-steps{gap:14px}}.space-details>summary{cursor:pointer;color:#536779;border-bottom:1px solid #e7ebef;padding:15px 0}.space-details>summary[hidden]{display:none}.space-details:not([open]){margin-top:18px}.area-label.selected-label button{color:#275c88;background:#f2f8ff;border-color:#609acb}@media (max-width:700px){.topbar{height:116px;padding-bottom:54px}.scene-switcher button{min-height:44px}.directory,.inspector,.panel-scrim{top:116px}.global-search-trigger,.topbar .icon-button{min-width:44px;height:44px}.scene-back{width:44px;min-width:44px;height:44px}.scene-toolbar .telemetry-status{min-width:64px}.scene-toolbar .telemetry-status>span{display:none}.view-tools{top:193px}.view-tools button{width:44px;height:44px}.bottom-dock button{min-width:44px;min-height:44px}.floor-picker{bottom:108px}.floor-picker button{width:44px;height:44px}.scene-places{bottom:168px}.scene-places button{min-height:44px}.panel-close,.help-close{min-width:44px;min-height:44px}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible,.viewport:focus-visible,.scene-title h2:focus-visible{outline-offset:3px;outline:2px solid #06c}.search-field:focus-within{outline-offset:2px;outline:2px solid #06c}.scene-title h2:focus{border-radius:4px}.inspector-content{line-height:1.6}.detail-rows dt,.detail-rows dd,.telemetry-panel .detail-rows dt,.telemetry-panel .detail-rows dd,.person-row strong,.device-row strong,.search-result strong,.process-links button,.fleet-list strong,.job-select,.job-location,.space-details>summary{font-size:var(--detail-body)}.inspector-title p,.data-note,.process-chain,.section-head>span,.sensing-list small,.sensing-list em,.sample-history small,.sample-history,.camera-source,.sample-range,.stream-state,.sensor-reading>span,.job-identifiers,.event-timeline,.flow-totals span,.fleet-list small,.process-links small,.search-result small,.device-row small,.person-row small{font-size:var(--detail-caption);line-height:1.6}.detail-rows dd{overflow-wrap:anywhere;text-align:right;max-width:66%}.job-identifiers dd{overflow-wrap:anywhere}.sensing-list strong,.section-head h3,.inspector-tabs button{font-size:13px}.sensing-list button{min-height:60px}.sensing-list button>span{min-width:0}.sensing-list em{white-space:nowrap}.process-links button,.fleet-list button,.back-link,.connection-action{min-height:44px}.search-keyboard-hint{color:#626c77;margin:0 18px 12px;font-size:11px;line-height:1.5}.help-reading{border-top:1px solid var(--line);margin-top:24px;padding-top:22px}.help-reading h3{margin-bottom:10px;font-size:15px}.help-reading p,.keyboard-guide{color:#53616e;margin-bottom:10px;font-size:13px;line-height:1.7}.help-reading strong{color:#253544;font-weight:500}.keyboard-hints{flex-wrap:wrap;font-size:12px}.keyboard-guide{margin-top:15px}.mobile-scene-bar,.mobile-directory-tabs,.simulation-play-label{display:none}.online-caption{font-size:11px;font-weight:400}@media (max-width:700px){.topbar{gap:4px;padding-left:12px;padding-right:12px}.topbar-right{gap:2px}.sidebar-toggle{border:0;padding:0}.scene-switcher button{font-size:12px}.campus-app .app-body{grid-template-columns:0 0 minmax(0,1fr) 0}.rail{display:none}.viewport{grid-column:3}.directory,.inspector{width:100%;max-width:none;left:0;right:0}.panel-scrim{left:0}.mobile-directory-tabs{background:#f4f5f7;border-radius:8px;margin:0 16px 16px;padding:3px;display:flex}.mobile-directory-tabs button{border-radius:6px;flex:1;min-height:44px;font-size:13px}.mobile-directory-tabs button[aria-pressed=true]{color:#06c;background:#fff}.search-field{min-height:48px}.search-field input{font-size:16px}.search-keyboard-hint{display:none}.scene-header{top:8px;left:16px;right:16px}.scene-title{left:16px;right:16px}.scene-title h2{max-width:none}.scene-title p{max-width:calc(100vw - 100px)}.scene-title>div{min-width:0}.scene-toolbar{max-width:calc(100% - 32px);left:16px;right:16px}.scene-toolbar .simulation-play{gap:6px;width:auto;min-width:96px;padding:0 12px;display:flex}.scene-toolbar .simulation-play-label{font-size:13px;display:inline}.scene-toolbar .telemetry-status{padding:0 12px}.online-caption{font-size:12px}.viewport>.view-tools,.viewport>.bottom-dock,.viewport>.floor-picker,.viewport>.scene-places,.compass{display:none}.world-container{top:176px;bottom:78px}.mobile-scene-bar{z-index:5;gap:8px;display:flex;position:absolute;bottom:17px;left:12px;right:12px}.mobile-scene-bar label{background:#fff;border:1px solid #dce3ea;border-radius:8px;flex:1;align-items:center;gap:7px;min-width:0;padding:0 10px;display:flex}.mobile-scene-bar select{color:#344b60;width:100%;min-width:0;min-height:48px;font:inherit;background:0 0;border:0;font-size:13px}.mobile-scene-bar>button{background:#fff;border:1px solid #dce3ea;border-radius:8px;align-items:center;gap:7px;min-height:48px;padding:0 12px;font-size:13px;display:flex}.scene-footnote{font-size:10px;bottom:73px;left:16px;right:16px}.scene-footnote>span:last-child{display:none}.scene-notice{font-size:12px;left:16px}.inspector-content{--detail-body:14px;--detail-caption:12px;padding:22px 22px 32px}.inspector-title h2{font-size:24px}.inspector-title p,.data-note,.process-chain{font-size:13px}.inspector-content .detail-rows>div{padding-top:13px;padding-bottom:13px}.inspector-tabs button{min-height:44px;font-size:14px}.job-select,.connection-action,.fleet-list button,.process-links button{min-height:48px}.help-panel{padding:28px 22px}.help-panel>p,.help-steps span{font-size:13px;line-height:1.7}.keyboard-guide,.keyboard-hints{display:none}}.not-found-page{text-align:center;color:#1d1d1f;background:#f3f5f7;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100dvh;padding:24px;display:flex}.not-found-page h1{font-size:28px;font-weight:600}.not-found-page p{color:#6e6e73;font-size:15px;line-height:1.6}.not-found-page a{color:#fff;background:#0071e3;border-radius:8px;padding:12px 18px;text-decoration:none}
.mobile-view-settings{z-index:55;overscroll-behavior:contain;max-height:calc(100dvh - 72px);padding:20px 22px max(22px, env(safe-area-inset-bottom));background:#fff;border-radius:20px 20px 0 0;display:block;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -8px 40px #26394c18}.mobile-settings-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.mobile-settings-heading h2{font-size:22px;font-weight:600}.mobile-settings-heading button{place-items:center;width:44px;height:44px;display:grid}.mobile-view-settings h3{margin:22px 0 10px;font-size:14px}.settings-description{color:#626c77;margin:8px 0;font-size:12px;line-height:1.7}.settings-segments{background:#f3f5f7;border-radius:8px;gap:4px;padding:3px;display:flex}.settings-segments button{border-radius:6px;flex:1;min-height:44px;font-size:14px}.settings-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.settings-actions button{background:#f4f6f8;border-radius:7px;justify-content:center;align-items:center;gap:6px;min-height:48px;font-size:12px;display:flex}.settings-segments [aria-pressed=true],.settings-actions [aria-pressed=true]{color:#06c;background:#e8f2fd}.mobile-view-settings .simulation-controls{justify-content:space-between;gap:6px;height:auto;padding:3px;display:flex;position:static}.mobile-view-settings .simulation-controls button{min-width:44px;min-height:44px}.mobile-view-settings .simulation-controls select{min-width:48px;min-height:44px;font-size:14px}.mobile-view-settings .simulation-controls label>span{display:none}.mobile-view-settings>.primary-button{width:100%;min-height:48px;margin-top:22px;font-size:14px}.primary-button:hover:not(:disabled){color:#fff;background:#005ebf}.primary-button:disabled{opacity:.55;cursor:wait}.sidebar-toggle{gap:7px;width:auto;min-height:40px;display:flex}.sidebar-label{font-size:12px}.header-tour{background:#edf4fc;border-radius:7px;min-height:40px;padding:0 12px;font-size:13px}.header-tour:hover:not(:disabled){color:#005ebf;background:#e2eefb}.scene-header{align-items:flex-start}.breadcrumb{min-height:38px}.breadcrumb button{min-height:36px;font-size:12px}.scene-back{min-width:36px;height:36px}.scene-title{gap:16px}.scene-title>div{min-width:0}.scene-title p{font-size:13px}.scene-display-controls{flex-shrink:0}.scene-display-controls .style-switch button{min-height:32px}.view-settings-trigger,.context-detail-trigger,.simulation-toggle{color:#425366;background:#fff;border:1px solid #dfe5eb;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:0 12px;font-size:13px;display:flex}.view-settings-trigger:hover,.context-detail-trigger:hover,.simulation-toggle:hover{color:#06c;background:#edf4fc}.view-settings-trigger{pointer-events:auto}.context-detail-trigger{pointer-events:auto;flex-shrink:0}.simulation-toggle{color:#06c}.scene-toolbar{top:151px}.scene-toolbar .telemetry-status{font-size:12px}.scene-toolbar .telemetry-status>span:last-of-type{display:none}.context-actions{z-index:4;gap:8px;max-width:calc(100% - 64px);display:flex;position:absolute;top:206px;left:32px}.context-actions:empty{display:none}.context-actions button{color:#06c;text-align:left;background:#fff;border:1px solid #dfe5eb;border-radius:8px;align-items:center;gap:8px;min-height:40px;padding:0 12px;font-size:13px;display:flex}.context-actions button:hover{color:#005ebf;background:#edf4fc}.scene-notice{max-width:min(500px,100% - 64px);top:auto;bottom:102px}.campus-welcome{z-index:4;width:350px;max-width:calc(100% - 48px);position:absolute;top:clamp(74px,14vh,132px);left:40px}.campus-welcome h1{letter-spacing:-.035em;text-wrap:balance;font-size:clamp(34px,3.2vw,46px);font-weight:600;line-height:1.22}.campus-welcome p{color:#58636f;margin:22px 0 26px;font-size:15px;line-height:1.85}.welcome-buttons{align-items:center;gap:8px;display:flex}.welcome-buttons button{border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:0 17px;font-size:14px;display:flex}.welcome-buttons .primary-button,.story-actions .primary-button{width:auto;margin-top:0}.welcome-buttons button,.story-actions button{white-space:nowrap;flex-shrink:0}.welcome-buttons .primary-button>svg,.story-actions .primary-button>svg{margin:0}.welcome-buttons .explore-button{color:#425366}.welcome-buttons .explore-button:hover{background:#e9edf2}.welcome-duration{color:#626c77;margin-top:12px;font-size:12px;display:block}.welcome-route{color:#425366;border-top:1px solid #dfe4e9;flex-wrap:wrap;gap:8px 16px;margin-top:38px;padding-top:18px;font-size:12px;display:flex}.campus-welcome small{color:#626c77;margin-top:14px;font-size:11px;line-height:1.7;display:block}.intro-open .scene-title,.intro-open .scene-toolbar,.intro-open .breadcrumb,.intro-open .bottom-dock,.intro-open .view-tools,.intro-open .compass,.intro-open .scene-footnote{display:none}.intro-open .scene-header{justify-content:flex-end}.intro-open .world-container{left:320px}.intro-open .scene-notice{bottom:28px}.story-card{z-index:9;background:#fff;border:1px solid #e0e5eb;border-radius:12px;width:340px;padding:16px 18px;position:absolute;bottom:28px;left:28px;box-shadow:0 8px 30px #24384b0b}.story-heading{align-items:center;gap:8px;margin-bottom:10px;display:flex}.story-heading select{color:#576674;width:100%;min-width:0;min-height:38px;font:inherit;text-overflow:ellipsis;background:#f5f7f9;border:0;border-radius:6px;padding:0 6px;font-size:12px}.story-close{color:#626c77;border-radius:6px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.story-close:hover{background:#f3f5f7}.story-card h2{letter-spacing:-.025em;font-size:22px;font-weight:600;line-height:1.4}.story-card p{color:#58636f;margin:8px 0 10px;font-size:14px;line-height:1.75}.story-detail{color:#06c;text-align:left;align-items:center;gap:7px;min-height:44px;font-size:13px;display:flex}.story-detail:hover{text-decoration:underline}.story-playback{margin-top:12px}.story-playback span{color:#626c77;margin-bottom:8px;font-size:11px;display:block}.story-playback progress{appearance:none;accent-color:#0071e3;background:#e6ebf0;border:0;border-radius:2px;width:100%;height:3px;display:block;overflow:hidden}.story-playback progress::-webkit-progress-bar{background:#e6ebf0}.story-playback progress::-webkit-progress-value{background:#0071e3}.story-playback progress::-moz-progress-bar{background:#0071e3}.story-actions{align-items:center;gap:7px;margin-top:14px;display:flex}.story-actions button{border-radius:7px;justify-content:center;align-items:center;gap:6px;min-width:44px;min-height:44px;padding:0 10px;font-size:13px;display:flex}.story-actions button:hover:not(:disabled){color:#06c;background:#f1f5f9}.story-actions button:disabled{color:#929ba5;cursor:default}.story-actions .primary-button{margin-left:auto;padding-inline:14px}.story-actions .primary-button:hover:not(:disabled){color:#fff;background:#005ebf}.story-complete .story-heading{justify-content:space-between}.story-complete .story-heading>span{color:#377d52;align-items:center;gap:7px;font-size:13px;display:flex}.story-open .scene-title,.story-open .scene-toolbar,.story-open .bottom-dock,.story-open .floor-picker,.story-open .view-tools,.story-open .compass,.story-open .scene-footnote{display:none}.story-open .world-container{left:310px}.story-open .scene-notice{bottom:20px;left:auto;right:24px}.settings-open .panel-scrim{z-index:50;background:#1d263b29;display:block;position:fixed;inset:0}@media (min-width:701px){.mobile-view-settings{border:1px solid #e0e5eb;border-radius:14px;width:390px;max-height:calc(100dvh - 92px);inset:76px 16px 16px auto;box-shadow:0 12px 48px #24384b18}}@media (max-width:1150px){.sidebar-label{display:none}.topbar-right{gap:8px}.campus-welcome{width:300px;left:28px}.campus-welcome h1{font-size:36px}.intro-open .world-container{left:260px}.scene-toolbar .telemetry-status>span:first-of-type{display:none}}@media (max-width:1050px) and (min-width:701px){.story-card{width:410px;bottom:16px;left:24px}.story-open .world-container{top:62px;left:0;bottom:calc(var(--story-height,290px) + 32px)}}@media (max-width:700px){.header-tour{justify-content:center;width:40px;min-height:40px;padding:0;display:flex}.header-tour span{display:none}.sidebar-toggle{min-width:36px!important}.topbar .brand{gap:6px}.breadcrumb button{min-height:38px;font-size:11px}.scene-title{gap:8px;top:54px}.scene-title h2{font-size:20px}.scene-title p{font-size:12px}.context-detail-trigger{min-height:44px;padding:0 10px;font-size:12px}.context-detail-trigger svg{display:none}.scene-toolbar{gap:8px;top:116px}.simulation-toggle{min-height:44px;font-size:12px}.scene-toolbar .telemetry-status{height:44px;padding-inline:10px;font-size:12px}.context-actions{max-width:calc(100% - 32px);top:170px;left:16px}.context-actions button{min-height:40px;padding:0 10px;font-size:12px}.viewport:has(.context-actions:not(:empty)) .world-container{top:222px}.campus-welcome{width:calc(100% - 40px);max-width:none;top:20px;left:20px}.campus-welcome h1{letter-spacing:-.03em;font-size:30px;line-height:1.3}.campus-welcome h1 br{display:none}.campus-welcome p{margin:13px 0 18px;font-size:13px;line-height:1.7}.welcome-buttons{gap:8px}.welcome-buttons button{min-height:48px;padding-inline:15px;font-size:14px}.welcome-duration{margin-top:10px;font-size:11px}.welcome-route,.campus-welcome small{display:none}.intro-open .world-container{left:0;top:calc(var(--welcome-height,200px) + 30px);bottom:78px}.intro-open .scene-notice{bottom:78px}.story-card{border-radius:12px;width:calc(100% - 24px);padding:12px 14px;bottom:12px;left:12px}.story-heading{margin-bottom:7px}.story-heading select{min-height:40px;font-size:12px}.story-close{width:44px;height:44px}.story-card h2{font-size:20px}.story-card p{margin:7px 0 4px;font-size:13px;line-height:1.65}.story-detail{min-height:44px;font-size:12px}.story-playback{margin-top:7px}.story-playback span{margin-bottom:6px;font-size:10px}.story-actions{margin-top:10px}.story-actions button{min-height:44px;font-size:13px}.story-open .world-container{top:56px;left:0;bottom:calc(var(--story-height,268px) + 26px)}.story-open .mobile-scene-bar{display:none}.story-open .scene-header .scene-display-controls{display:flex}.story-open .scene-display-controls .style-switch{display:none}.story-open .view-settings-trigger{width:40px;min-height:40px;padding:0}.story-open .view-settings-trigger span{display:none}.story-open .scene-notice{max-width:none;inset:54px 16px auto}.scene-notice{max-width:calc(100% - 32px);top:auto;bottom:80px}.mobile-scene-bar label>svg{display:none}}@media (max-width:360px){.topbar .brand strong{font-size:16px}.topbar .brand-cube{width:24px}.topbar .icon-button{min-width:36px!important}.campus-welcome h1{font-size:26px}.campus-welcome p{font-size:12px}.story-card h2{font-size:18px}.story-card p{font-size:12px}.story-actions button{padding:0 8px;font-size:12px}.story-actions .primary-button{padding-inline:10px}.mobile-scene-bar>button{gap:4px;padding-inline:8px;font-size:12px}}@media (prefers-reduced-motion:reduce){.app-body{transition:none}}
