:root{--ink: #29264f;--ink-soft: #626078;--accent: #7562cf;--accent-strong: #5540a8;--accent-tint: #e6e0fb;--accent-tint-strong: #d6ccf8;--surface: #ffffff;--surface-alt: #f5f5f8;--border: #d9d7e5;--ok: #2fa84f;--bad: #d3322f;--warn: #e8a33d;color-scheme:light;font-family:Segoe UI,Arial,sans-serif;font-size:13px;color:var(--ink)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--surface-alt)}a{color:var(--accent-strong);text-underline-offset:3px}h2,h3{margin:0;font-size:inherit}button{font:inherit;color:inherit;cursor:pointer}.muted{color:var(--ink-soft);font-weight:400}.shell{display:grid;grid-template-rows:46px 44px minmax(0,1fr);height:100%;min-width:1200px}.shell__module{min-height:0}.topbar{display:flex;align-items:center;gap:12px;padding:0 14px;background:var(--surface);border-bottom:1px solid var(--border)}.topbar__logo{height:42px;width:auto}.topbar__crumbs{white-space:nowrap;font-size:14px;margin-right:8px}.topbar__crumbs span{color:var(--ink-soft);margin:0 3px}.topbar__spacer{flex:1}.tabs{display:flex;border:1px solid var(--border);border-radius:5px;overflow:hidden}.tab{padding:5px 24px;font-size:14px;color:var(--ink);text-decoration:none;background:var(--surface);border-right:1px solid var(--border);white-space:nowrap}.tab:last-child{border-right:0}.tab--active{background:var(--accent-tint-strong);font-weight:600;text-decoration:underline}.selector{display:inline-flex;align-items:center;gap:12px;padding:5px 10px;background:var(--surface);border:1px solid var(--border);border-radius:4px;white-space:nowrap}.icon-button{display:inline-flex;padding:4px;background:none;border:0}.contextbar{display:flex;align-items:center;gap:10px;padding:0 16px;font-size:14px;background:var(--surface);border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden}.contextbar__divider{width:1px;height:22px;background:var(--border);margin:0 6px}.contextbar__link{display:inline-flex;align-items:center;gap:6px;color:var(--accent-strong)}.contextbar__link a{font-weight:600}.module{display:grid;grid-template-rows:minmax(0,1fr) auto 30px;height:100%}.module__columns{display:grid;gap:6px;padding:6px;min-height:0}.module__column{display:flex;flex-direction:column;gap:6px;min-height:0;min-width:0;overflow:auto}.panel{background:var(--surface);border:1px solid var(--border);border-radius:4px;min-height:0;display:flex;flex-direction:column}.panel__header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border-bottom:1px solid var(--border);font-size:14px;font-weight:600}.panel__body{padding:6px 10px;overflow:auto;min-height:0;flex:1}.tree,.tree ul{list-style:none;margin:0;padding:0}.tree__row{display:flex;align-items:center;gap:4px;padding:2px 6px;border-radius:3px;cursor:pointer;white-space:nowrap}.tree__row:hover{background:var(--surface-alt)}.tree__row--selected,.tree__row--selected:hover{background:var(--accent-tint)}.tree__label{flex:1;overflow:hidden;text-overflow:ellipsis}.tree__label strong{font-weight:600}.tree__spacer{width:14px}.tree__trailing{color:var(--ink-soft);flex:none}.floorplan{display:block;width:100%}.floorplan__room{fill:var(--surface);stroke:var(--ink);stroke-width:.09}.floorplan__object{fill:var(--border);cursor:pointer}.floorplan__selected{fill:var(--accent-tint-strong);stroke:var(--accent);stroke-width:.07}.floorplan__label{font-size:.55px;fill:var(--accent-strong);text-anchor:middle}.grid{width:100%;border-collapse:collapse}.grid th{text-align:left;font-weight:600;background:var(--surface-alt)}.grid th,.grid td{padding:3px 8px;border:1px solid var(--border);white-space:nowrap}.grid tr.is-selected td{background:var(--accent-tint)}.chip{display:inline-block;padding:0 8px;border:1px solid var(--border);border-radius:3px;background:var(--surface-alt)}.status{display:inline-flex;align-items:center;gap:5px}.status--ok svg{color:var(--ok)}.status--bad svg{color:var(--bad)}.status--active svg{color:var(--accent)}.status--muted svg{color:var(--ink-soft)}.status__note{margin-left:6px;padding:0 6px;font-size:11px;background:var(--accent-tint);border-radius:3px}.dock{background:var(--surface);border-top:1px solid var(--border)}.dock__tabs{display:flex;gap:6px;padding:5px 10px;border-bottom:1px solid var(--border)}.dock__tab{display:inline-flex;align-items:center;gap:6px;padding:4px 14px;background:none;border:1px solid transparent;border-radius:4px;font-size:14px}.dock__tab--active{background:var(--accent-tint);border-color:var(--accent-tint-strong);font-weight:600}.dock__agents{display:grid;grid-template-columns:270px minmax(0,1fr);gap:16px;padding:8px 10px}.dock__content{padding:10px;min-height:130px}.dock__footnote{margin:6px 0 0;font-size:11px;color:var(--ink-soft)}.runtree{border:1px solid var(--border);border-radius:4px;padding:6px 10px}.runtree h3{font-size:13px;margin-bottom:6px}.runtree__root{display:inline-block;padding:1px 8px;background:var(--accent-tint);border-radius:4px}.runtree ul{list-style:none;margin:3px 0 0 8px;padding:0 0 0 14px;border-left:1px solid var(--border)}.runtree li{padding:2px 0}.button{padding:7px 14px;background:var(--surface);border:1px solid var(--border);border-radius:4px}.button--primary{background:var(--accent-tint-strong);border-color:var(--accent);font-weight:600}.button:disabled{opacity:.5;cursor:not-allowed}.statusbar{display:flex;align-items:center;justify-content:space-between;padding:0 14px;background:var(--surface);border-top:1px solid var(--border)}.placeholder{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;color:var(--ink-soft)}.knx{display:grid;grid-template-rows:minmax(0,1fr) 42px;height:100%;font-size:14px;background:#f7f7fb}.knx .statusbar{font-size:15px;padding:0 18px}.knx-statusbar__right{display:inline-flex;align-items:center;gap:12px}.knx__body{display:grid;grid-template-columns:297px minmax(0,1fr);min-height:0}.knx__main{display:grid;grid-template-rows:minmax(0,1fr) 182px;min-width:0;min-height:0}.knx__top{display:grid;grid-template-columns:minmax(0,1fr) 428px;gap:7px;padding:13px 6px 11px;min-height:0}.knx button:disabled{cursor:default}.knx-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:30px;padding:0 14px;background:var(--surface);border:1px solid #b9b7c8;border-radius:4px;color:var(--ink);text-decoration:none;font-size:14.5px;white-space:nowrap}.knx-button:hover:not(:disabled){background:var(--accent-tint)}.knx-button:disabled{opacity:.5}.knx-button--small{height:24px;padding:0 9px;gap:5px;font-size:12.5px}.knx-button--link{flex:none;margin:-3px 12px 0 8px;height:27px}.knx-linkbutton{padding:0;background:none;border:0;color:var(--accent-strong);text-decoration:underline;text-underline-offset:3px;font:inherit}.knx-iconbutton{display:inline-flex;padding:2px;background:none;border:0}.knx-chip{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;background:var(--accent-tint);border-radius:3px;font-size:12px;font-weight:400;white-space:nowrap}.knx-chip--failed,.knx-chip--outdated{background:#fbe3cf;color:#8a4510}.knx-empty{margin:8px;color:var(--ink-soft)}.knx__left{display:flex;flex-direction:column;gap:7px;padding:13px 0 5px 2px;min-height:0;overflow:auto}.knx-panel{background:var(--surface);border:1px solid var(--border);border-radius:4px;flex:none}.knx-panel--tree{height:373px;display:flex;flex-direction:column;overflow:hidden}.knx-panel__title{display:flex;align-items:center;gap:8px;padding:6px 14px}.knx-panel__title h2{font-size:16.5px;font-weight:600;white-space:nowrap}.knx-panel__title--small{height:34px;padding:0 12px}.knx-panel__title--small h2{font-size:15px}.knx-panel__action{margin-left:auto;display:inline-flex}.knx-note{display:flex;align-items:center;gap:8px;margin:6px 12px 5px;font-size:13px}.knx-tree{flex:1;min-height:0;overflow:auto;padding:0 4px}.knx-tree .tree__row{min-height:20.4px;padding-top:0;padding-bottom:0;gap:5px}.knx-tree .tree ul{margin-left:5px}.knx-tree .tree__label strong{font-weight:400;margin-right:4px}.knx-tree-icon{display:inline-flex;color:#55536e;flex:none}.knx-tree-room{color:var(--accent)}.knx-functions{width:100%;border-collapse:collapse;margin-bottom:2px}.knx-functions td{height:24px;padding:0 8px;cursor:pointer;white-space:nowrap}.knx-functions td:first-child{padding-left:10px}.knx-functions tr:hover td{background:var(--surface-alt)}.knx-functions tr.is-selected td{background:var(--accent-tint-strong)}.knx-map{margin-top:3px;height:142px;padding:4px 10px;overflow:hidden}.knx-map__title{display:flex;align-items:center;justify-content:space-between;font-size:13px}.knx-map__body{display:flex;justify-content:center;padding:2px 0 0}.knx-map__plan{display:block}.knx-map__marker{fill:none;stroke:var(--accent);stroke-width:.1}.knx-map__label{font-size:1.25px;fill:var(--accent-strong);text-anchor:middle}.knx-map__scale{display:flex;align-items:flex-end;justify-content:space-between;font-size:12px}.knx-map__tick{font-size:11px;fill:currentColor}.knx-dialog{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;background:#29264f59}.knx-dialog__content{padding:12px 16px;background:var(--surface);border-radius:6px}.knx-center{display:flex;flex-direction:column;min-width:0;min-height:0;padding:0 8px 8px;background:var(--surface);border:1px solid var(--border);border-radius:4px}.knx-center__header{display:flex;align-items:center;gap:8px;flex:none;height:41px;font-size:14.5px;padding:0 2px 0 6px;white-space:nowrap}.knx-center__play{color:var(--accent)}.knx-center__mode{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.knx-center__actions{display:grid;grid-template-columns:230px 244px 251px;justify-content:space-between;gap:8px;flex:none;padding:12px 10px 0}.knx-stale{display:flex;align-items:center;gap:8px;flex:none;margin-bottom:6px;padding:4px 10px;background:#fbe3cf;border:1px solid #e8a33d;border-radius:3px;font-size:13px}.knx-stale .knx-button{margin-left:auto}.knx-window{display:flex;flex-direction:column;flex:1;min-height:0;background:var(--surface);border:1px solid #b9b7c8;border-radius:3px;font-size:13px;box-shadow:0 1px 4px #29264f1f}.knx-window__title{display:flex;align-items:center;gap:8px;flex:none;height:28px;padding:0 12px 0 10px}.knx-window__badge{padding:1px 8px;background:#fbe3cf;border:1px solid #e8a33d;border-radius:3px;color:#7a3d0d;font-size:12px;font-weight:600;white-space:nowrap}.knx-window__controls{display:inline-flex;align-items:center;gap:28px;margin-left:auto;color:var(--ink-soft)}.knx-window__menu{display:flex;gap:20px;flex:none;height:26px;align-items:center;padding:0 10px;border-top:1px solid var(--border);cursor:default}.knx-window__toolbar{display:flex;align-items:center;gap:2px;flex:none;height:31px;padding:0 6px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.knx-window__toolbar i{width:1px;height:18px;margin:0 4px;background:var(--border)}.knx-tool{display:inline-flex;align-items:center;gap:5px;padding:0 6px;background:none;border:0;color:var(--ink);font-size:12.5px;white-space:nowrap}.knx-tool--dim{color:#9a98ab}.knx-window__tabs{display:flex;gap:2px;flex:none;height:33px;margin-top:3px;padding:3px 4px 0;border-bottom:1px solid var(--border)}.knx-window__tabs button{padding:0 15px;background:none;border:1px solid transparent;border-bottom:0}.knx-window__tabs button.is-active{background:var(--accent-tint);border-color:var(--border);border-radius:3px 3px 0 0;font-weight:600}.knx-window__body{display:flex;flex:1;min-height:0;padding-top:5px}.knx-window__status{display:grid;grid-template-columns:225px 228px 120px 1fr;align-items:center;flex:none;height:28px;padding:0 12px;border-top:1px solid var(--border);font-size:12px}.knx-window__status>span:last-child{text-align:right}.knx-window__link{display:inline-flex;align-items:center;gap:6px}.knx-dot{width:11px;height:11px;border-radius:50%;background:#9a98ab}.knx-dot--on{background:var(--ok)}.knx-ptree{flex:none;width:244px;overflow:auto;padding:6px 2px;border-right:1px solid var(--border)}.knx-ptree__row{display:flex;align-items:center;gap:5px;min-height:21.4px;white-space:nowrap;cursor:pointer}.knx-ptree__row:hover{background:var(--surface-alt)}.knx-ptree__row--selected,.knx-ptree__row--selected:hover{background:#dbe7f6;border-radius:3px}.knx-devicepane{display:flex;flex-direction:column;flex:1;min-width:0;margin:2px 9px 0 3px;overflow:hidden}.knx-devicepane__head{display:flex;align-items:center;gap:6px;flex:none;height:28px;padding:0 8px;background:var(--surface-alt);border:1px solid var(--border);font-size:13.5px}.knx-devicepane__head strong{font-weight:600;white-space:nowrap}.knx-subtabs{display:flex;gap:2px;flex:none;height:28px;padding:0 6px;border:1px solid var(--border);border-top:0}.knx-subtabs button{padding:0 14px;background:none;border:0;border-bottom:2px solid transparent}.knx-subtabs button.is-active{border-bottom-color:var(--accent);background:#ece9f8;font-weight:600}.knx-params{display:grid;grid-template-columns:148px minmax(0,1fr);gap:6px;flex:1;min-height:0;margin-top:7px}.knx-params__nav{padding:4px 3px;border:1px solid var(--border);overflow:auto}.knx-params__group{display:flex;align-items:center;gap:5px;width:100%;min-height:24px;padding:0 4px;background:none;border:0;text-align:left;white-space:nowrap}.knx-params__item{display:block;width:100%;min-height:23.5px;padding:0 0 0 24px;background:none;border:0;text-align:left}.knx-params__item.is-selected{background:#dbe7f6}.knx-params__form{display:flex;flex-direction:column;min-height:0;border:1px solid var(--border)}.knx-params__form h3,.knx-goarea h3{flex:none;padding:3px 8px;font-size:13px;font-weight:600;background:var(--surface-alt);border-bottom:1px solid var(--border)}.knx-params__fields{flex:1;min-height:0;overflow:auto;padding:5px 7px 0 14px}.knx-field{display:grid;grid-template-columns:203px minmax(0,1fr);align-items:center;min-height:25px}.knx-field__label{white-space:nowrap}.knx-field__label--long{font-size:11.5px;letter-spacing:-.1px}.knx-field__value{position:relative;display:flex;align-items:center;justify-content:space-between;height:20px;padding:0 7px;background:var(--surface);border:1px solid #c9c7d6;border-radius:2px;font-size:12.5px}.knx-field__value--focused{border:1.5px solid var(--accent);background:#f4f1fd}.knx-field__spin{display:inline-flex;flex-direction:column;line-height:0}.knx-field__toggle{display:inline-flex;align-items:center;gap:8px}.knx-field__toggle input{accent-color:var(--accent);margin:0 0 0 4px}.knx-field__pointer{position:absolute;left:50px;top:6px;color:var(--accent-strong);fill:var(--accent-tint-strong);pointer-events:none}.knx-goarea{display:flex;flex-direction:column;flex:none;height:145px;margin:7px 0 2px;border:1px solid var(--border);overflow:auto}.knx-goarea--full{flex:1;height:auto;margin-top:3px}.knx-gotable{width:100%;border-collapse:collapse;font-size:12.8px}.knx-gotable th{padding:2px 8px;text-align:left;font-weight:600;background:var(--surface-alt);border:1px solid var(--border);border-top:0;white-space:nowrap}.knx-gotable td{height:23.5px;padding:0 8px;border:1px solid var(--border);white-space:nowrap}.knx-gotable tr.is-selected td{background:#d7e4f4}.knx-gotable td:first-child,.knx-gotable th:first-child{border-left:0}.knx-gotable td:last-child,.knx-gotable th:last-child{border-right:0}.knx-general{display:grid;grid-template-columns:190px 1fr;gap:6px 10px;margin:0;padding:12px}.knx-general dt{color:var(--ink-soft)}.knx-general dd{margin:0}.knx-fulltab{flex:1;min-width:0;overflow:auto;padding:6px}.knx-mapping{display:flex;flex-direction:column;gap:9px;min-height:0;overflow:hidden auto;padding:0 7px 6px;background:var(--surface);border:1px solid var(--border);border-radius:4px}.knx-mapping__title{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none;min-height:39px;padding-left:5px}.knx-mapping__title h2{font-size:16px;font-weight:600;white-space:nowrap}.knx-mapping__open{display:inline-flex;align-items:center;gap:6px;padding:3px 6px;background:var(--accent-tint);border:1px solid var(--accent-tint-strong);border-radius:3px;font-size:11.5px;text-decoration:none;white-space:nowrap}.knx-map-section{flex:none;border:1px solid var(--border);border-radius:3px}.knx-map-section__head{display:flex;align-items:center;gap:8px;width:100%;height:30px;padding:0 8px;background:none;border:0;border-bottom:1px solid var(--border);font-size:15px;text-align:left}.knx-map-section__head strong{font-weight:600}.knx-map-section__head--band{height:32px;background:var(--accent-tint)}.knx-map-section__band{display:inline-flex;align-items:center;gap:8px;margin-left:12px;font-size:13.5px;white-space:nowrap;overflow:hidden}.knx-map-row{display:grid;grid-template-columns:162px minmax(0,1fr) 16px;align-items:center;min-height:24.5px;padding:0 8px 0 12px;font-size:14.5px}.knx-map-section__head+.knx-map-row{margin-top:3px}.knx-map-row:last-child{margin-bottom:3px}.knx-status{width:100%;border-collapse:collapse;margin-top:10px}.knx-status th,.knx-status td{padding:0 8px 0 15px;height:27px;text-align:left;border:1px solid var(--border);white-space:nowrap}.knx-status th{font-weight:600;background:var(--surface-alt)}.knx-status th:first-child,.knx-status td:first-child{width:181px;border-left:0}.knx-status th:last-child,.knx-status td:last-child{border-right:0}.knx-notread{font-size:11.5px;color:var(--ink-soft)}.knx-read--match{color:#1f7a3a}.knx-read--mismatch{color:var(--bad);font-weight:600}.knx-status__note{margin:5px 8px;font-size:12px;color:var(--ink-soft)}.knx-dock{display:flex;flex-direction:column;min-height:0;margin-left:6px;background:var(--surface);border:1px solid var(--border);border-right:0;border-bottom:0}.knx-dock__tabs{display:flex;gap:2px;flex:none;height:28px;margin:0 6px}.knx-dock__tabs button{display:inline-flex;align-items:center;gap:8px;padding:0 16px;background:none;border:1px solid transparent;font-size:14.5px}.knx-dock__tabs button.is-active{background:var(--accent-tint-strong);border-color:#bfb3ec;border-radius:3px;font-weight:600}.knx-dock__content{flex:1;min-height:0;overflow:auto;padding:6px 12px;font-size:12.5px}.knx-agents{display:grid;grid-template-columns:224px minmax(0,1fr);gap:8px;flex:1;min-height:0;padding:9px 8px 14px}.knx-runtree{padding:3px 8px;border:1px solid var(--border);border-radius:3px;font-size:12.5px;white-space:nowrap;overflow:hidden}.knx-runtree h3{font-size:14px;font-weight:600;margin-bottom:8px}.knx-runtree__root{display:flex;align-items:center;gap:8px;color:var(--accent)}.knx-runtree__root>span{padding:0 8px;background:var(--accent-tint);border:1px solid var(--accent-tint-strong);border-radius:5px;color:var(--ink)}.knx-runtree ul{list-style:none;margin:2px 0 0 6px;padding:0 0 0 16px;border-left:1px solid #9a98ab}.knx-runtree li{position:relative;padding-left:4px;line-height:21px}.knx-runtree li:before{content:"";position:absolute;left:-9px;top:7px;width:7px;height:7px;background:var(--surface);border:1px solid #55536e;border-radius:50%}.knx-runtree li:after{content:"";position:absolute;left:-16px;top:10px;width:7px;height:1px;background:#9a98ab}.knx-runtree .muted{font-size:11.5px}.knx-agents__table{min-width:0}.knx-docktable{width:100%;border-collapse:collapse;font-size:12.5px}.knx-docktable th{padding:2px 8px;text-align:left;font-weight:600;background:var(--surface-alt);border:1px solid var(--border);white-space:nowrap}.knx-docktable td{height:22px;padding:0 8px;border:1px solid var(--border);white-space:nowrap}.knx-docktable tr.is-current td{background:var(--accent-tint)}.knx-docktable--agents{font-size:13px}.knx-docktable--agents th{font-size:13.5px}.knx-docktable--agents td{height:27px}.knx-docktable--agents .chip{padding:0 14px;font-size:12.5px}.knx-docktable__role{font-size:12px}.knx-dock__footnote{display:flex;align-items:center;gap:8px;margin:7px 0 0;font-size:12.5px}.knx-checks{display:grid;grid-template-columns:minmax(330px,1fr) minmax(370px,1.1fr) 200px;gap:10px;align-items:start}.knx-checks__controls{display:flex;flex-direction:column;gap:4px}.knx-checks__controls label{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:4px}.knx-checks__controls select{min-width:0;font:inherit}.knx-checks__buttons{display:flex;gap:4px;margin-top:2px}.knx-step{display:table-cell}.knx-step svg{vertical-align:-2px;color:var(--ink-soft)}.knx-step--done svg{color:var(--ok)}.knx-step--running svg{color:var(--accent)}.knx-step--failed svg{color:var(--bad)}.knx-changes{display:grid;grid-template-columns:minmax(0,2fr) minmax(200px,1fr);gap:16px}.knx-dockline{margin:0 0 4px;font-weight:600}.knx-history{margin:0;padding:0;list-style:none;line-height:20px}.vp{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;background:linear-gradient(180deg,#f7f7f9,#f2f2f5)}.vp--loading,.vp__failed{display:flex;align-items:center;justify-content:center;color:var(--ink-soft)}.vp__failed{position:absolute;top:0;right:0;bottom:0;left:0;padding:24px;text-align:center}.vp__canvas{position:absolute;top:0;right:0;bottom:0;left:0}.vp__canvas canvas{display:block;touch-action:none}.vp__labels{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.vp-label{position:absolute;left:0;top:0}.vp-label>*{pointer-events:auto}.vp-label--board,.vp-label--dim,.vp-label--measure{white-space:nowrap;font-size:12px;line-height:16px}.vp-label--board{font-weight:600}.vp-label--board:before,.vp-label--dim:before,.vp-label--measure:before{content:none}.vp-label--board{margin:-8px 0 0 -18px;padding:0 4px;background:#ffffffd1;border-radius:2px}.vp-label--dim{margin:-8px 0 0 -22px;padding:0 4px;background:#f5f5f8e0}.vp-label--measure{margin:-9px 0 0 -24px;padding:1px 6px;color:#fff;background:var(--accent-strong);border-radius:3px;font-weight:600}.vp-callout{position:absolute;left:0;top:0;width:0;height:0}.vp-callout__box{position:absolute;left:-42px;bottom:6px;display:flex;flex-direction:column;min-width:78px;padding:3px 8px 4px;color:var(--ink);font-size:12px;line-height:16px;white-space:nowrap;background:var(--accent-tint);border:1px solid var(--accent);border-radius:4px;box-shadow:0 1px 3px #29264f40}.vp-callout__box strong{font-size:14px;line-height:18px;font-weight:600}.viewcube{position:absolute;top:18px;right:22px;width:62px;height:62px;perspective:500px}.viewcube__body{position:absolute;left:50%;top:50%;width:0;height:0;transform-style:preserve-3d}.viewcube__face{position:absolute;left:-24px;top:-24px;display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;font-size:10.5px;color:var(--ink);background:#fafafcf5;border:1px solid #6d6d78;backface-visibility:hidden}.viewcube__face:hover{background:var(--accent-tint)}.viewcube__face--front{transform:translateZ(24px)}.viewcube__face--right{transform:rotateY(90deg) translateZ(24px)}.viewcube__face--top{transform:rotateX(90deg) translateZ(24px)}.vp__gizmo{position:absolute;right:18px;bottom:14px;width:100px;height:100px;overflow:visible;pointer-events:none}.vp--compact .vp__gizmo{right:4px;bottom:2px;width:62px;height:62px}.vp--compact .vp-callout__box{left:-66px;min-width:66px;font-size:11px}.vp--compact .vp-callout__box strong{font-size:12px}.planning{display:grid;grid-template-columns:300px minmax(0,1fr);grid-template-rows:minmax(0,1fr) 30px;height:100%}.planning__left{display:flex;flex-direction:column;gap:6px;min-height:0;padding:6px 0 6px 2px;border-right:1px solid var(--border)}.planning__main{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0;min-width:0}.planning__work{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:8px;min-height:0;padding:6px}.planning__status{grid-column:1 / -1}.planning__status .statusbar{height:100%}.pl-panel{background:var(--surface);border:1px solid var(--border);border-radius:4px;min-height:0}.pl-panel__header{display:flex;align-items:center;justify-content:space-between;gap:8px;height:38px;flex:none;padding:0 8px 0 12px;border-bottom:1px solid var(--border)}.pl-panel__header h2{font-size:15px;font-weight:600;white-space:nowrap}.pl-panel__actions{display:inline-flex;gap:4px;align-items:center}.pl-icon-button{display:inline-flex;align-items:center;justify-content:center;padding:4px;background:none;border:1px solid transparent;border-radius:3px}.pl-icon-button:hover:not(:disabled){background:var(--surface-alt)}.pl-icon-button:disabled{color:#a8a7b6;cursor:not-allowed}.pl-icon-button--active{color:var(--accent-strong);background:var(--accent-tint)}.pl-link{padding:0;font:inherit;color:var(--accent-strong);background:none;border:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.pl-empty{margin:0;padding:10px 12px}.pl-menu{position:relative;display:inline-flex}.pl-menu__list{position:absolute;top:100%;right:0;z-index:30;display:flex;flex-direction:column;min-width:170px;padding:3px;background:var(--surface);border:1px solid var(--border);border-radius:4px;box-shadow:0 3px 10px #29264f2e}.pl-menu__list button{padding:5px 8px;text-align:left;background:none;border:0;border-radius:3px;white-space:nowrap}.pl-menu__list button:hover:not(:disabled){background:var(--accent-tint)}.pl-menu__list button:disabled{color:#a8a7b6;cursor:not-allowed}.pl-tree{display:flex;flex-direction:column;flex:0 1 470px;min-height:180px}.pl-tree__body{flex:1;min-height:0;overflow:auto;padding:4px 0}.pl-tree__filter{padding:6px 10px;border-bottom:1px solid var(--border)}.pl-tree__filter input[type=search]{width:100%;padding:3px 6px;font:inherit;border:1px solid var(--border);border-radius:3px}.pl-tree__categories{display:flex;flex-wrap:wrap;gap:2px 10px;margin-top:5px;font-size:12px}.pl-tree__categories label{display:inline-flex;align-items:center;gap:3px}.ifc-tree,.ifc-tree ul{list-style:none;margin:0;padding:0}.ifc-tree__row{display:flex;align-items:center;height:22.5px;gap:5px;padding-right:8px;cursor:pointer;white-space:nowrap}.ifc-tree__row:hover{background:var(--surface-alt)}.ifc-tree__row--selected,.ifc-tree__row--selected:hover{background:var(--accent-tint-strong);border-radius:3px}.ifc-tree__row--hidden .ifc-tree__label,.ifc-tree__row--hidden .ifc-tree__icon{opacity:.45}.ifc-tree__chevron{flex:none;width:14px;color:var(--ink-soft)}.ifc-tree__icon{display:inline-flex;flex:none;color:var(--ink-soft)}.ifc-tree__row--selected .ifc-tree__icon,.ifc-tree__icon--room{color:var(--accent)}.ifc-tree__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.ifc-tree__id{font-weight:400;margin-right:3px}.ifc-tree__count{margin-left:7px;color:var(--ink-soft)}.ifc-tree__eye{display:inline-flex;flex:none;padding:0;color:var(--ink-soft);background:none;border:0}.ifc-tree__eye:disabled{opacity:.4;cursor:not-allowed}.ifc-tree__eye--leaf{visibility:hidden}.ifc-tree__row:hover .ifc-tree__eye--leaf{visibility:visible}.pl-objects{display:flex;flex-direction:column;flex:none}.pl-search{display:flex;align-items:center;gap:6px;margin:8px 10px;padding:3px 8px;color:var(--ink-soft);border:1px solid var(--border);border-radius:3px}.pl-search input{flex:1;min-width:0;font:inherit;color:var(--ink);background:none;border:0;outline:none}.pl-objects__table{overflow:auto}.pl-objects__table table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:12px}.pl-objects__table th,.pl-objects__table td{height:23px;padding:0 3px 0 8px;text-align:left;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid #ecebf2}.pl-objects__table th{font-weight:600;background:var(--surface-alt);border-left:1px solid var(--border)}.pl-objects__table th:first-child{width:58px;border-left:0}.pl-objects__table th:nth-child(2){width:124px}.pl-objects__table tbody tr{cursor:pointer}.pl-objects__table tbody tr:hover{background:var(--surface-alt)}.pl-objects__table tr.is-selected,.pl-objects__table tr.is-selected:hover{background:var(--accent-tint-strong)}.pl-objects__footer{padding:7px 12px;font-size:11px;color:var(--ink-soft)}.pl-viewport{display:flex;flex-direction:column;min-height:0;min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:4px;overflow:hidden}.pl-toolbar{display:flex;align-items:center;gap:2px;height:42px;flex:none;padding:0 8px;border-bottom:1px solid var(--border)}.pl-toolbar__item{display:inline-flex;align-items:center;gap:2px}.pl-toolbar__divider{width:1px;height:22px;margin:0 4px;background:var(--border)}.pl-toolbar__spacer{flex:1}.pl-tool{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;white-space:nowrap;background:none;border:1px solid transparent;border-radius:4px}.pl-tool:hover:not(:disabled){background:var(--surface-alt)}.pl-tool--active,.pl-tool--active:hover:not(:disabled){font-weight:400;background:var(--accent-tint);border-color:var(--accent-tint-strong)}.pl-tool:disabled{color:#a8a7b6;cursor:not-allowed}.pl-viewport__stage{position:relative;flex:1;min-height:0}.pl-chip{position:absolute;top:14px;left:12px;padding:5px 12px 6px;line-height:22px;font-size:13px;color:var(--ink-soft);background:#f6f6f9eb;border:1px solid var(--border);border-radius:3px}.pl-chip strong{margin-left:6px;font-weight:400;color:var(--ink)}.pl-hint{position:absolute;top:14px;left:50%;display:inline-flex;align-items:center;gap:8px;transform:translate(-50%);padding:5px 12px;white-space:nowrap;background:#fffffff2;border:1px solid var(--accent-tint-strong);border-radius:4px;box-shadow:0 1px 4px #29264f29}.pl-section-slider input{width:180px;accent-color:var(--accent)}.minimap{position:absolute;left:10px;bottom:8px;min-width:288px;padding:6px 10px;background:#fffffff5;border:1px solid var(--border);border-radius:4px;box-shadow:0 1px 4px #29264f1a}.minimap__header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:3px;font-size:12px;white-space:nowrap}.minimap>svg{display:block;margin:0 auto 0 0}.minimap__wall{stroke:var(--ink);stroke-width:1.4}.minimap__wall--exterior{stroke-width:3}.minimap__window{stroke:#fff;stroke-width:1.6}.minimap__door{stroke:#fff;stroke-width:3.4}.minimap__object{fill:#c9c7d6;cursor:pointer}.minimap__selected{fill:var(--accent);stroke:var(--accent-tint-strong);stroke-width:2}.minimap__label{font-size:11px;fill:var(--accent-strong);text-anchor:middle}.minimap__scale{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin-top:3px;font-size:11px}.pl-inspector{display:flex;flex-direction:column;gap:10px;min-height:0;overflow:auto}.pl-inspector__title{display:flex;align-items:center;justify-content:space-between;flex:none;height:48px;padding:0 8px 0 18px}.pl-inspector__title h2{font-size:18px;font-weight:600;white-space:nowrap}.pl-section{flex:none}.pl-section__header{display:flex;align-items:center;gap:8px;width:100%;height:34px;padding:0 12px;font-size:14px;font-weight:600;text-align:left;background:var(--surface-alt);border:0;border-bottom:1px solid var(--border);border-radius:4px 4px 0 0}.pl-section__chevron{margin-left:auto}.pl-fields{display:grid;grid-template-columns:122px minmax(0,1fr);margin:0}.pl-fields dt,.pl-fields dd{margin:0;padding:5px 14px;min-height:28px;border-bottom:1px solid #ecebf2}.pl-fields dt:last-of-type,.pl-fields dd:last-of-type{border-bottom:0}.pl-select{width:100%;padding:0;font:inherit;color:var(--ink);background:none;border:0}.pl-links{display:grid;grid-template-columns:96px minmax(0,1fr) 28px;margin:0}.pl-links dt,.pl-links dd{margin:0;padding:6px 14px;border-bottom:1px solid #ecebf2}.pl-links dd.pl-links__icon{padding:6px 8px;color:var(--ink-soft)}.pl-links__icon a{color:inherit}.pl-impact{display:flex;align-items:center;gap:12px;padding:7px 14px;color:var(--ink);text-decoration:none;border-bottom:1px solid #ecebf2}.pl-impact:last-child{border-bottom:0}.pl-impact:hover{background:var(--surface-alt)}.pl-impact span{flex:1;min-width:0;display:flex;flex-direction:column}.pl-impact strong{font-size:14px;font-weight:600}.pl-impact small{font-size:12px;color:var(--ink)}.pl-impact>svg:last-child{color:var(--ink-soft)}.pl-actions{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:10px;flex:none}.pl-actions .button{height:36px;padding:0;font-size:14px}.pl-status{display:inline-flex;align-items:center;gap:7px}.pl-status--ok{color:var(--ok);flex:none}.pl-status--warn{color:var(--warn);flex:none}.pl-status--bad{color:var(--bad);flex:none}.pl-notice{flex:none;margin:0;padding:6px 10px;font-size:12px;line-height:17px;background:var(--surface-alt);border:1px solid var(--border);border-radius:4px}.pl-notice--error{color:#8e1f1d;background:#fbeaea;border-color:#edc0bf}.pl-notice--done{background:var(--accent-tint);border-color:var(--accent-tint-strong)}.pl-notice strong{font-weight:600}.planning .dock{height:200px;display:flex;flex-direction:column;min-height:0;margin:0 6px;border:1px solid var(--border);border-bottom:0;border-radius:4px 4px 0 0}.planning .dock__tabs{flex:none;padding:4px 8px}.planning .dock__tab{padding:4px 14px}.planning .dock__agents{flex:1;min-height:0;grid-template-columns:258px minmax(0,1fr);gap:20px;padding:8px}.planning .dock__content{flex:1;min-height:0;padding:8px;overflow:hidden}.planning .grid th,.planning .grid td{height:23px;padding:1px 10px}.planning .runtree{padding:8px 12px}.planning .runtree h3{font-size:14px}.planning .dock__footnote{margin-top:7px}.planning .runtree__root{position:relative;margin-left:24px;padding:1px 10px;border:1px solid var(--accent-tint-strong)}.planning .runtree__root:before{content:"";position:absolute;left:-24px;top:50%;width:24px;border-top:1px solid var(--accent)}.planning .runtree__root:after{content:"";position:absolute;left:-28px;top:50%;width:9px;height:9px;margin-top:-5px;background:var(--surface);border:1px solid var(--accent);border-radius:50%}.planning .runtree ul{margin:2px 0 0;padding:0;border:0}.planning .runtree li{position:relative;padding:2px 0 2px 44px}.planning .runtree li:before{content:"";position:absolute;left:0;top:-9px;bottom:50%;width:30px;border-left:1px solid var(--ink-soft);border-bottom:1px solid var(--ink-soft)}.planning .runtree li:after{content:"";position:absolute;left:28px;top:50%;width:8px;height:8px;margin-top:-4px;background:var(--surface);border:1px solid var(--ink-soft);border-radius:50%}.planning .status--ok svg{fill:var(--ok);stroke:#fff}.pl-dock-footer{display:flex;justify-content:space-between;gap:16px;white-space:nowrap}.pl-dock-footer svg{vertical-align:-2px}.pl-dock-scroll{flex:1;min-height:0;overflow:auto;height:100%}.pl-checks{display:flex;flex-direction:column;gap:6px;height:100%;min-height:0}.pl-checks__summary{display:flex;align-items:center;gap:6px;flex:none}.pl-check-card{display:flex;align-items:center;gap:7px;padding:2px 8px;font-size:12px;line-height:15px;border:1px solid var(--border);border-radius:4px}.pl-check-card span{display:flex;flex-direction:column}.pl-check-card strong{font-weight:600}.pl-check-card small{font-size:11px;color:var(--ink-soft)}.pl-check-card--proposal{background:var(--accent-tint);border-color:var(--accent-tint-strong)}.pl-checks__toggle{display:inline-flex;align-items:center;gap:4px;margin-left:auto;font-size:12px;white-space:nowrap}.pl-dock-note{display:flex;align-items:center;gap:5px;flex:none;margin:0}.pl-row-actions{display:flex;gap:10px}.pl-statusright{display:inline-flex;align-items:center;gap:12px;color:var(--ink-soft)}.pl-statusright span{color:var(--ink)}.sim-actions,.sim-title{display:inline-flex;align-items:center;gap:8px}.sim-tree{flex:1 1 197px;min-height:120px}.sim-viewport{flex:0 0 228px}.sim-viewport .panel__body{padding:0;overflow:hidden}.sim-state{flex:0 0 auto}.sim-state .panel__body{overflow:visible}.sim-state__object{display:flex;align-items:center;gap:8px;padding-bottom:6px;font-size:14px;border-bottom:1px solid var(--border);margin:0 -10px 6px;padding-left:10px}.sim-state__object strong{font-weight:600}.sim-state__row{display:flex;justify-content:space-between;margin-top:6px}.sim-state__row--last{padding-top:6px;margin-top:8px;border-top:1px solid var(--border)}.sim-instance{flex:0 0 auto}.sim-facts{margin:0}.sim-facts div{display:grid;grid-template-columns:110px 1fr;padding:2px 0;border-bottom:1px solid var(--border)}.sim-facts div:last-child{border-bottom:0}.sim-facts dd,.sim-facts dt{margin:0}.sim-tag{padding:1px 7px;font-size:11px;font-weight:400;border:1px solid var(--border);border-radius:3px;background:var(--surface-alt);color:var(--ink-soft);white-space:nowrap}.sim-tag--warn{background:#fff4df;border-color:#e8c98a;color:#7a5200;font-weight:600}.sim-center{display:flex;flex-direction:column;gap:6px;height:100%;min-height:0}.sim-lab{display:flex;align-items:center;gap:22px;padding:7px 8px 7px 14px;background:var(--surface);border:1px solid var(--border);border-radius:4px}.sim-lab__title{font-size:14px;white-space:nowrap}.sim-lab__title strong{font-weight:600}.sim-lab__clock{display:inline-flex;align-items:center;gap:12px;font-size:14px;white-space:nowrap}.sim-lab__buttons{display:flex;gap:6px;margin-left:auto}.sim-button{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;background:var(--surface);border:1px solid var(--border);border-radius:3px;white-space:nowrap}.sim-button:hover{background:var(--surface-alt)}.sim-button--active,.sim-button--active:hover{background:#e4f3e4;border-color:#9fcf9f}.sim-button--active svg{color:#237a36}.sim-button--paused,.sim-button--paused:hover{background:var(--accent-tint);border-color:var(--accent-tint-strong)}.sim-native{flex:1;min-height:0;display:flex;flex-direction:column;background:#f4f6f9;border:1px solid var(--border);border-radius:4px}.sim-native__head{display:flex;align-items:center;gap:12px;padding:7px 14px;font-size:14px;white-space:nowrap}.sim-native__head strong{font-weight:600}.sim-preview{padding:2px 9px;font-size:13px;font-weight:600;background:#fff4df;border:1px solid #e8c98a;border-radius:3px;color:#7a5200}.sim-stale{display:flex;align-items:center;gap:8px;margin:0 6px 6px;padding:5px 8px;background:#fdecea;border:1px solid #e8a9a4;border-radius:3px;color:#8a211d}.sim-stale span{flex:1}.sim-runs{flex:0 0 auto}.sim-runs .panel__body{padding:4px 10px 6px}.sim-runs__note{margin-bottom:2px;font-size:11px}.sim-runtree__root{display:inline-flex;align-items:center;gap:8px;padding:1px 12px 1px 2px;background:var(--accent-tint);border-radius:10px}.sim-runtree__node{width:14px;height:14px;border:1.5px solid var(--accent-strong);border-radius:50%;background:var(--surface)}.sim-runtree ul{list-style:none;margin:0 0 0 8px;padding:0 0 0 14px;border-left:1px solid var(--ink-soft)}.sim-runtree li{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 106px;align-items:center;padding:2px 0 2px 22px}.sim-runtree li:before{content:"";position:absolute;left:-14px;top:50%;width:24px;border-top:1px solid var(--ink-soft)}.sim-runtree li:after{content:"";position:absolute;left:8px;top:calc(50% - 4px);width:8px;height:8px;border:1.3px solid var(--ink);border-radius:50%;background:var(--surface)}.sim-runtree__name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sim-proposals{flex:0 0 auto}.sim-proposals ul{list-style:none;margin:0;padding:0}.sim-proposals li{display:flex;align-items:center;gap:10px;padding:3px 0}.sim-proposals__label{flex:1;white-space:nowrap}.sim-run-action{display:inline-flex;padding:2px;background:none;border:0;color:var(--accent-strong)}.sim-run-action:disabled{color:var(--border);cursor:not-allowed}.sim-footnote{margin:2px 0 0;font-size:11px;color:var(--ink-soft)}.sim-tools{flex:0 0 auto}.sim-tools__head{display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;background:none;border:0;color:var(--accent-strong);font-size:14px;font-weight:600;text-align:left}.sim-tools__head span{flex:1;text-decoration:underline;text-underline-offset:3px}.sim-tools__list{padding:0 10px 8px;font-size:12px}.sim-trace{flex:0 0 auto}.sim-trace__body{display:grid;grid-template-columns:24px minmax(0,1fr) 20px;align-items:center;gap:6px}.sim-ok{color:var(--ok)}.sim-bad{color:var(--bad)}.sim-inspector{flex:0 0 auto}.sim-inspector dl{margin:0}.sim-inspector dl div{display:grid;grid-template-columns:148px 1fr;padding:4px 0;align-items:center}.sim-inspector dt{display:inline-flex;align-items:center;gap:10px}.sim-inspector dd{margin:0}.sim-entity{padding:0;background:none;border:0;color:var(--accent-strong);text-decoration:underline;text-underline-offset:3px}.sim-dock{background:var(--surface);border-top:1px solid var(--border);padding:0 6px 6px}.sim-chain{display:flex;align-items:center;gap:22px;padding:7px 8px}.sim-chain h2{display:inline-flex;align-items:center;gap:8px;font-size:17px;font-weight:600;white-space:nowrap}.sim-chain ol{display:flex;align-items:center;list-style:none;margin:0;padding:0;flex:1;justify-content:flex-end}.sim-chain li{display:flex;align-items:center}.sim-chain__arrow{margin:0 10px;flex:none}.sim-chain__stage{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border:1px solid var(--border);border-radius:3px;background:var(--surface-alt);white-space:nowrap;cursor:help}.sim-chain__stage--off{border-style:dashed;background:var(--surface);color:var(--ink-soft)}.sim-chain__stage--active{background:var(--accent-tint);border-color:var(--accent)}.sim-events{height:92px;overflow:auto;border:1px solid var(--border)}.sim-events__table{width:100%;border-collapse:collapse}.sim-events__table th{position:sticky;top:0;font-weight:600;text-align:left;background:var(--surface-alt)}.sim-events__table th,.sim-events__table td{padding:2px 14px;border-bottom:1px solid var(--border);border-right:1px solid var(--border);white-space:nowrap}.sim-events__table th:nth-child(1),.sim-events__table td:nth-child(1){width:182px}.sim-events__table th:nth-child(2),.sim-events__table td:nth-child(2){width:303px}.sim-events__table th:nth-child(3),.sim-events__table td:nth-child(3){width:384px}.sim-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;height:14px;margin:4px 0 0;background:none;cursor:pointer}.sim-slider::-webkit-slider-runnable-track{height:10px;border-radius:5px;background:linear-gradient(to right,var(--track, var(--accent)) var(--fill),#e3e3ea var(--fill))}.sim-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:20px;margin-top:-5px;background:var(--surface);border:1px solid #8a8a96;border-radius:4px}.sim-slider::-moz-range-track{height:10px;border-radius:5px;background:linear-gradient(to right,var(--track, var(--accent)) var(--fill),#e3e3ea var(--fill))}.sim-slider::-moz-range-thumb{width:12px;height:18px;background:var(--surface);border:1px solid #8a8a96;border-radius:4px}.sim-slider--light{--track: #f8b810}.sim-slider--cover{--track: #909aa8}.sim-slider--blue{--track: #6da7ee}.sim-slider--accent{--track: #a48ee8}.sim-slider--accent::-webkit-slider-runnable-track{height:8px}.sim-slider--accent::-webkit-slider-thumb{width:16px;height:16px;margin-top:-4px;border-radius:50%}.ha{flex:1;min-height:0;display:grid;grid-template-columns:167px minmax(0,1fr);margin:0 6px 6px;background:var(--surface);border:1px solid var(--border);border-radius:3px}.ha__nav{padding:0 8px;border-right:1px solid var(--border)}.ha__menu{display:flex;align-items:center;height:44px;padding-left:14px}.ha__nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:8px 12px;margin-bottom:7px;background:none;border:0;border-radius:5px;font-size:14px;text-align:left}.ha__nav-item:hover{background:#f1f4f8}.ha__nav-item.is-active{background:#e1effb}.ha__nav-item.is-active svg{color:#1f83d3}.ha__right{position:relative;display:flex;flex-direction:column;min-height:0;min-width:0}.ha__bar{display:flex;align-items:center;justify-content:space-between;height:44px;flex:none;padding:0 16px 0 20px;background:#03a9f4;color:#fff;font-size:18px}.ha__bar-icons{display:inline-flex;gap:18px}.ha__content{flex:1;min-height:0;overflow:auto;padding:12px 16px}.ha__headline{display:flex;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--border)}.ha__headline h2{flex:1;font-size:18px;font-weight:400;white-space:nowrap}.ha__chips{display:inline-flex;gap:8px}.ha-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;font-size:12px;background:var(--surface);border:1px solid var(--border);border-radius:14px;white-space:nowrap}.ha-room{padding-top:6px;padding-bottom:10px}.ha-room__title{display:flex;align-items:center;gap:8px;margin:2px 0 8px;font-size:17px;font-weight:400}.ha-room--compact{padding-top:4px;padding-bottom:6px}.ha-room__actuators{display:grid;grid-template-columns:180px 180px minmax(0,260px);gap:9px;margin-bottom:9px}.ha-room__sensors{display:grid;grid-template-columns:repeat(4,minmax(0,152px));gap:9px}.ha-room__compact-row{display:grid;grid-template-columns:repeat(auto-fill,118px);gap:7px}.ha-room--compact .ha-card{padding:7px 8px}.ha-room--compact .ha-card__row{gap:6px}.ha-room--compact .ha-card__name{font-size:12px;letter-spacing:-.2px}.ha-card{padding:8px 10px;background:var(--surface);border:1px solid #dcdfe6;border-radius:4px;cursor:pointer;min-height:52px}.ha-card:hover{border-color:#b7bcc8}.ha-card:focus-visible{outline:2px solid var(--accent)}.ha-card__row{display:flex;align-items:flex-start;gap:10px}.ha-card__grow{flex:1;min-width:0}.ha-card__name{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ha-card__value{color:var(--ink-soft);font-size:12px}.ha-card__sub{color:var(--ink-soft);font-size:11px}.ha-card__icon{display:inline-flex;flex:none;padding:0;background:none;border:0;color:#5f6470}.ha-card__icon--on{color:#f8b810}.ha-card__icon--climate{color:#d3322f}.ha-card__icon--sensor:disabled{cursor:inherit}.ha-card--sensor{display:flex;align-items:center;gap:12px}.ha-climate__value{font-size:15px;line-height:1.2}.ha-climate__buttons{display:flex;gap:8px;align-items:center;align-self:center;margin-top:6px}.ha-climate__buttons button{display:inline-flex;padding:2px 6px;background:var(--surface);border:1px solid var(--border);border-radius:3px}.ha-card--climate .ha-card__icon{align-self:center}.ha-card--compact-climate .ha-climate__value{font-size:12px;color:var(--ink-soft)}.ha-card--compact-climate .ha-climate__buttons{margin-top:2px;justify-content:center}.ha-card--compact-climate .ha-climate__buttons button{padding:0 6px}.ha-dialog{position:absolute;right:5px;bottom:4px;width:320px;background:var(--surface);border:1px solid #c8cbd4;border-radius:8px;box-shadow:0 6px 22px #1e1e3c38}.ha-dialog__head{display:flex;align-items:center;gap:12px;padding:10px 14px;font-size:16px}.ha-dialog__head button{display:inline-flex;padding:0;background:none;border:0}.ha-dialog__entity{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ha-dialog__tabs{display:flex;padding:0 10px;border-bottom:1px solid var(--border)}.ha-dialog__tabs button{flex:1;padding:6px 2px;background:none;border:0;border-bottom:2px solid transparent;font-size:11.5px;letter-spacing:.3px}.ha-dialog__tabs button.is-active{color:#1d76c9;border-bottom-color:#1d76c9;font-weight:600}.ha-dialog__body{padding:12px 14px}.ha-dialog__summary{display:flex;align-items:center;gap:14px;margin-bottom:8px}.ha-bulb--on{color:#f8b810}.ha-toggle{position:relative;width:38px;height:20px;padding:0;background:#c6c8d0;border:0;border-radius:10px}.ha-toggle span{position:absolute;top:3px;left:3px;width:14px;height:14px;background:#fff;border-radius:50%;transition:left .15s}.ha-toggle--on{background:#2179e5}.ha-toggle--on span{left:21px}.ha-dialog__label{margin-top:4px}.ha-dialog__slider{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:8px}.ha-dialog__slider>span{text-align:right}.ha-dialog__setpoint{display:flex}.ha-dialog__setpoint>span{flex:1;text-align:left}.ha-dialog__setpoint button{display:inline-flex;padding:2px 6px;background:var(--surface);border:1px solid var(--border);border-radius:3px}.ha-dialog__facts{margin:10px 0 0;border:1px solid var(--border);border-radius:3px}.ha-dialog__facts div{display:flex;justify-content:space-between;gap:12px;padding:4px 8px;border-bottom:1px solid var(--border)}.ha-dialog__facts div:last-child{border-bottom:0}.ha-dialog__facts dt,.ha-dialog__facts dd{margin:0;white-space:nowrap}.ha-dialog__list{max-height:170px;overflow:auto;font-size:12px}.ha-page{font-size:13px}.ha-page__title{margin:0 0 8px;font-size:16px;font-weight:400}.ha-page__total{margin:0 0 8px;font-size:24px}.ha-page .grid tbody tr{cursor:default}
