@import"https://cdn.jsdelivr.net/npm/@fontsource/iosevka@5.0.0/400.css";@import"https://cdn.jsdelivr.net/npm/@fontsource/iosevka@5.0.0/700.css";:root{--tui-bg: #000;--tui-fg: #f2f2f2;--tui-muted: #9aa0a6;--tui-line: rgba(255, 255, 255, .16);--tui-line-strong: rgba(255, 255, 255, .28);--tui-pink: #ff00ff;--tui-cyan: #00d4ff;--tui-danger: #ff4d4d;--tui-ok: #33ff99;--tui-pad-1: 6px;--tui-pad-2: 10px;--tui-pad-3: 12px;--tui-gap: 8px;--tui-gap-sm: 4px;--tui-gap-lg: 12px;--tui-element-width: unset;--tui-element-height: unset;--tui-element-min-width: unset;--tui-element-max-width: unset;--tui-modal-width: min(600px, calc(100vw - 2rem) );--tui-modal-max-height: min(80vh, 640px);--tui-panel-width: unset;--tui-controls-area-bg: rgba(0, 0, 0, .3);--tui-controls-surface-bg: rgba(0, 0, 0, .7);--tui-controls-area-width: 320px;--tui-controls-area-max-height: 50vh;--tui-panel-padding: var(--tui-pad-2);--tui-button-padding-x: 10px;--tui-button-padding-y: 6px;--tui-input-padding-x: 8px;--tui-input-padding-y: 6px;--tui-input-width: 100%;--tui-scrollbar-size: 10px;--tui-checkbox-size: 14px;--tui-range-thumb-size: 10px;--tui-font: "Iosevka", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--tui-font-size: 12px;--tui-font-size-sm: .75rem;--tui-font-size-lg: 1rem;--tui-letter-spacing: .02em;--tui-bw: 1px;--tui-radius: 0}body.tui,body.tui *{box-sizing:border-box;box-shadow:none!important;text-shadow:none!important;border-radius:var(--tui-radius)!important}html,body{height:100%}body.tui{margin:0;background:var(--tui-bg);color:var(--tui-fg);font-family:var(--tui-font);font-size:var(--tui-font-size);letter-spacing:var(--tui-letter-spacing)}body.tui ::selection{background:#26c6ff40}body.tui :focus-visible{outline:2px solid var(--tui-cyan);outline-offset:2px}body.tui a{color:var(--tui-cyan);text-decoration:none}body.tui a:hover{color:var(--tui-pink)}body.tui abbr,body.tui dfn{border-bottom:1px dotted var(--tui-line);cursor:help;color:inherit}body.tui b,body.tui strong{font-weight:700;color:inherit}body.tui bdi,body.tui bdo{color:inherit}body.tui cite{font-style:italic;color:var(--tui-muted)}body.tui code,body.tui kbd,body.tui samp,body.tui var{font-family:var(--tui-font);padding:var(--tui-pad-1) var(--tui-pad-2);border:var(--tui-bw) solid var(--tui-line-strong);background:#ffffff0a;color:var(--tui-fg);font-size:var(--tui-font-size-sm)}body.tui del{text-decoration:line-through;color:var(--tui-muted)}body.tui em,body.tui i{font-style:italic;color:inherit}body.tui ins{text-decoration:underline;color:inherit}body.tui mark{background:#00d4ff33;color:inherit}body.tui q{color:inherit}body.tui ruby,body.tui rt,body.tui rp{font-size:var(--tui-font-size-sm);color:inherit}body.tui s{text-decoration:line-through;color:var(--tui-muted)}body.tui small{font-size:var(--tui-font-size-sm);color:var(--tui-muted)}body.tui sub,body.tui sup{font-size:.75em;line-height:0;vertical-align:baseline;color:inherit}body.tui sup{vertical-align:super}body.tui sub{vertical-align:sub}body.tui u{text-decoration:underline;color:inherit}body.tui span{color:inherit}body.tui h1,body.tui h2,body.tui h3,body.tui h4,body.tui h5,body.tui h6{font-family:var(--tui-font);color:var(--tui-fg);margin:0 0 var(--tui-gap);line-height:1.2}body.tui h1{font-size:1.5rem}body.tui h2{font-size:1.25rem}body.tui h3{font-size:1.125rem}body.tui h4{font-size:1rem}body.tui h5,body.tui h6{font-size:var(--tui-font-size-sm)}body.tui p{margin:0 0 var(--tui-gap);color:var(--tui-fg)}body.tui blockquote{margin:0 0 var(--tui-gap);padding:var(--tui-pad-2) var(--tui-pad-2) var(--tui-pad-2) var(--tui-pad-3);border-left:var(--tui-bw) solid var(--tui-cyan);color:var(--tui-muted)}body.tui pre{font-family:var(--tui-font);margin:0 0 var(--tui-gap);padding:var(--tui-pad-2);border:var(--tui-bw) solid var(--tui-line-strong);overflow:auto;color:var(--tui-fg);background:var(--tui-bg)}body.tui ul,body.tui ol{margin:0 0 var(--tui-gap);padding-left:1.5em;color:var(--tui-fg)}body.tui li{margin:var(--tui-gap-sm) 0;color:inherit}body.tui dl{margin:0 0 var(--tui-gap);color:var(--tui-fg)}body.tui dt{font-weight:700;margin-top:var(--tui-gap);color:var(--tui-fg)}body.tui dt:first-child{margin-top:0}body.tui dd{margin-left:1.5em;margin-bottom:var(--tui-gap-sm);color:var(--tui-fg)}body.tui div{color:inherit}body.tui main,body.tui article,body.tui section,body.tui aside,body.tui nav,body.tui header,body.tui footer{color:var(--tui-fg)}body.tui address{font-style:italic;color:var(--tui-muted)}body.tui figure{margin:0 0 var(--tui-gap)}body.tui figcaption{font-size:var(--tui-font-size-sm);color:var(--tui-muted);margin-top:var(--tui-gap-sm)}body.tui details{border:var(--tui-bw) solid var(--tui-line-strong);padding:var(--tui-pad-2);margin:0 0 var(--tui-gap)}body.tui summary{cursor:pointer;padding:var(--tui-pad-1) 0;list-style:none;color:var(--tui-fg)}body.tui summary::-webkit-details-marker{display:none}body.tui table{border-collapse:collapse;width:var(--tui-element-width, 100%);margin:0 0 var(--tui-gap);color:var(--tui-fg)}body.tui thead,body.tui tbody,body.tui tfoot{color:var(--tui-fg)}body.tui tr{border-bottom:var(--tui-bw) solid var(--tui-line)}body.tui th,body.tui td{padding:var(--tui-pad-1) var(--tui-pad-2);border:var(--tui-bw) solid var(--tui-line);text-align:left}body.tui th{font-weight:700;color:var(--tui-fg)}body.tui caption{font-size:var(--tui-font-size-sm);color:var(--tui-muted);padding:var(--tui-pad-1) var(--tui-pad-2);caption-side:top}body.tui form{display:block;gap:var(--tui-gap)}body.tui fieldset{border:var(--tui-bw) solid var(--tui-line-strong);padding:var(--tui-pad-2);margin:0 0 var(--tui-gap)}body.tui legend{color:var(--tui-muted);padding:0 var(--tui-pad-1)}body.tui label{color:var(--tui-muted);cursor:pointer}body.tui output{color:var(--tui-fg);font-family:var(--tui-font)}body.tui img{max-width:100%;height:auto;vertical-align:middle}body.tui video,body.tui audio{max-width:100%;border:var(--tui-bw) solid var(--tui-line-strong)}body.tui canvas{display:block}body.tui iframe,body.tui embed,body.tui object{border:var(--tui-bw) solid var(--tui-line-strong);max-width:100%}body.tui picture{display:block}body.tui hr{border:0;border-top:var(--tui-bw) solid var(--tui-line);margin:var(--tui-gap) 0}body.tui dialog{border:var(--tui-bw) solid var(--tui-line-strong);padding:var(--tui-pad-2);background:var(--tui-bg);color:var(--tui-fg)}body.tui data,body.tui time{color:inherit}body.tui noscript{display:block;padding:var(--tui-pad-2);color:var(--tui-muted)}body.tui template{display:none}body.tui button,body.tui input,body.tui select,body.tui textarea{font:inherit;color:inherit;background:transparent;outline:none;box-shadow:none;appearance:none}body.tui button,body.tui .button{padding:var(--tui-button-padding-y) var(--tui-button-padding-x);border:2px solid var(--tui-cyan);background:transparent;cursor:pointer;line-height:1.1}body.tui button:hover,body.tui .button:hover{border-color:var(--tui-cyan)}body.tui button:active,body.tui .button:active{border-color:var(--tui-pink)}body.tui button[disabled],body.tui button:disabled{opacity:.45;cursor:not-allowed;border-color:var(--tui-line)}body.tui button.primary{border-color:var(--tui-pink)}body.tui button.danger{border-color:var(--tui-danger)}body.tui button.ok{border-color:var(--tui-ok)}body.tui input[type=text],body.tui input[type=search],body.tui input[type=email],body.tui input[type=url],body.tui input[type=tel],body.tui input[type=number],body.tui textarea{width:var(--tui-input-width);padding:var(--tui-input-padding-y) var(--tui-input-padding-x);border:2px solid var(--tui-line-strong);background:transparent}body.tui input[type=text]:hover,body.tui input[type=search]:hover,body.tui input[type=email]:hover,body.tui input[type=url]:hover,body.tui input[type=tel]:hover,body.tui input[type=number]:hover,body.tui textarea:hover,body.tui input[type=text]:focus,body.tui input[type=search]:focus,body.tui input[type=email]:focus,body.tui input[type=url]:focus,body.tui input[type=tel]:focus,body.tui input[type=number]:focus,body.tui textarea:focus{border-color:var(--tui-cyan)}body.tui textarea{min-height:4em;resize:vertical}body.tui select{width:var(--tui-input-width);padding:var(--tui-input-padding-y) 30px var(--tui-input-padding-y) var(--tui-input-padding-x);border:2px solid var(--tui-line-strong);background:transparent;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--tui-cyan) 50%),linear-gradient(135deg,var(--tui-cyan) 50%,transparent 50%);background-position:calc(100% - 16px) 55%,calc(100% - 10px) 55%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}body.tui select:hover,body.tui select:focus{border-color:var(--tui-cyan)}body.tui input[type=checkbox]{width:var(--tui-checkbox-size);height:var(--tui-checkbox-size);border:var(--tui-bw) solid var(--tui-line-strong);background:var(--tui-bg);accent-color:var(--tui-cyan);vertical-align:middle;margin-right:var(--tui-gap);cursor:pointer}body.tui input[type=checkbox]:checked{border-color:var(--tui-cyan);background:var(--tui-cyan)}body.tui input[type=radio]{width:var(--tui-checkbox-size);height:var(--tui-checkbox-size);border:var(--tui-bw) solid var(--tui-line-strong);background:var(--tui-bg);accent-color:var(--tui-cyan);vertical-align:middle;margin-right:var(--tui-gap);cursor:pointer}body.tui input[type=radio]:checked{border-color:var(--tui-cyan)}body.tui input[type=range]{width:var(--tui-input-width, 100%);height:18px;padding:0;border:0;background:transparent}body.tui input[type=range]::-webkit-slider-runnable-track{height:2px;background:var(--tui-line-strong)}body.tui input[type=range]::-moz-range-track{height:2px;background:var(--tui-line-strong)}body.tui input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:var(--tui-range-thumb-size);height:var(--tui-range-thumb-size);margin-top:-4px;background:transparent;border:2px solid var(--tui-cyan);cursor:pointer}body.tui input[type=range]::-moz-range-thumb{width:var(--tui-range-thumb-size);height:var(--tui-range-thumb-size);background:transparent;border:2px solid var(--tui-cyan);cursor:pointer}body.tui input[type=range]:hover::-webkit-slider-thumb{border-color:var(--tui-pink)}body.tui input[type=range]:hover::-moz-range-thumb{border-color:var(--tui-pink)}body.tui input[type=color]{width:2.5rem;height:1.5rem;padding:2px;border:2px solid var(--tui-line-strong);background:transparent;cursor:pointer}body.tui input[type=color]:hover{border-color:var(--tui-cyan)}body.tui .panel{border:2px solid var(--tui-line-strong);background:transparent;padding:0;width:var(--tui-panel-width, auto)}body.tui .panel-header{width:100%;display:flex;align-items:center;gap:var(--tui-gap);padding:var(--tui-pad-2);border:0;border-bottom:2px solid var(--tui-line-strong);background:transparent;cursor:pointer;font:inherit;color:var(--tui-fg);text-align:left}body.tui .panel-header:hover{border-bottom-color:var(--tui-cyan)}body.tui .panel-header:active{border-bottom-color:var(--tui-pink)}body.tui .panel-header[aria-disabled=true]{cursor:default}body.tui .panel-chevron{color:var(--tui-muted);transition:transform .2s}body.tui .panel.collapsed .panel-chevron{transform:rotate(-90deg)}body.tui .panel-content{padding:var(--tui-panel-padding)}body.tui .panel.collapsed .panel-content{display:none}body.tui .modal{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center}body.tui .modal.hidden{display:none}body.tui .modal-backdrop{position:absolute;inset:0;background:#000c}body.tui .modal-content{position:relative;z-index:1;width:var(--tui-modal-width);max-height:var(--tui-modal-max-height);background:var(--tui-bg);border:var(--tui-bw) solid var(--tui-line-strong);display:flex;flex-direction:column}body.tui .modal-header{padding:var(--tui-pad-2);border-bottom:var(--tui-bw) solid var(--tui-line)}body.tui .modal-title{font-size:var(--tui-font-size);color:var(--tui-fg);margin:0}body.tui .modal-body{padding:var(--tui-pad-2);overflow:auto;display:flex;flex-direction:column;gap:var(--tui-gap)}body.tui .modal-instructions{color:var(--tui-muted);margin:0}body.tui .modal-actions{padding:var(--tui-pad-2);border-top:var(--tui-bw) solid var(--tui-line);display:flex;justify-content:flex-end;gap:var(--tui-gap)}body.tui .toast{background:var(--tui-bg);border:var(--tui-bw) solid var(--tui-line-strong);color:var(--tui-fg);padding:var(--tui-pad-2)}body.tui .toast-success{border-color:var(--tui-ok)}body.tui .toast-error{border-color:var(--tui-danger)}body.tui .toast-error .toast-message{color:#ff8a8a}body.tui .toast-undo{border-color:var(--tui-cyan)}body.tui .toast-recovery{border:var(--tui-bw) solid var(--tui-cyan);background:transparent;color:var(--tui-fg)}body.tui .toast-recovery:hover{border-color:var(--tui-pink)}body.tui .dropdown-menu{position:absolute;top:100%;left:0;margin-top:var(--tui-gap-sm);min-width:100%;display:none;flex-direction:column;border:var(--tui-bw) solid var(--tui-line-strong);background:var(--tui-bg);z-index:200}body.tui .dropdown-menu.open{display:flex}body.tui .dropdown-menu button{border:0;border-bottom:var(--tui-bw) solid var(--tui-line);text-align:left;padding:var(--tui-pad-2)}body.tui .dropdown-menu button:last-child{border-bottom:0}body.tui .dropdown-menu button:hover{border-color:var(--tui-cyan)}body.tui .tab{padding:var(--tui-pad-1) var(--tui-pad-2);border:2px solid var(--tui-line-strong);background:transparent;cursor:pointer;line-height:1;font:inherit;color:var(--tui-fg)}body.tui .tab:hover{border-color:var(--tui-cyan)}body.tui .tab.active{border-color:var(--tui-pink);color:var(--tui-fg)}body.tui .control-row{display:grid;grid-template-columns:minmax(100px,1fr) 1fr auto;align-items:center;gap:var(--tui-gap);padding:var(--tui-pad-1) 0}body.tui .control-row label{color:var(--tui-muted)}body.tui .control-row label:has(input[type=checkbox]){grid-column:1 / -1}body.tui .control-row span{min-width:2rem;color:var(--tui-muted)}body.tui .tool-divider,body.tui .divider{height:0;border:0;border-top:var(--tui-bw) solid var(--tui-line);margin:var(--tui-gap) 0}body.tui .hidden{display:none!important}body.tui .hint{color:var(--tui-muted);font-size:.85em}body.tui .credit-link{color:var(--tui-muted);text-decoration:none}body.tui .credit-link:hover{color:var(--tui-cyan)}body.tui .scene-list{border:var(--tui-bw) solid var(--tui-line);padding:var(--tui-pad-2)}body.tui .scene-list-title{color:var(--tui-muted);margin:0 0 var(--tui-gap);font-size:var(--tui-font-size-sm)}body.tui .scene-list-content{max-height:240px;overflow:auto;border-top:var(--tui-bw) solid var(--tui-line);padding-top:var(--tui-pad-2)}body.tui .scene-list-item{padding:var(--tui-pad-1) var(--tui-pad-2);border:2px solid var(--tui-line-strong);background:transparent;cursor:pointer;text-align:left;width:100%;font:inherit;color:var(--tui-fg)}body.tui .scene-list-item:hover{border-color:var(--tui-cyan)}body.tui .scene-list-empty{padding:var(--tui-pad-1) var(--tui-pad-2);border:var(--tui-bw) dashed var(--tui-line-strong);color:var(--tui-muted);background:transparent;font:inherit}body.tui .direction-inputs{display:flex;gap:var(--tui-gap)}body.tui .direction-inputs input{flex:1;min-width:0}body.tui .panel-actions{display:flex;flex-wrap:wrap;gap:var(--tui-gap);margin-bottom:var(--tui-gap)}body.tui .add-entity-actions,body.tui .brush-actions{display:flex;flex-wrap:wrap;gap:var(--tui-gap)}body.tui .add-entity-actions button.active,body.tui .brush-actions button.active{border-color:var(--tui-pink)}body.tui .control-footer{padding:var(--tui-pad-1) 0;border-top:var(--tui-bw) solid var(--tui-line);text-align:center}body.tui *::-webkit-scrollbar{width:var(--tui-scrollbar-size);height:var(--tui-scrollbar-size)}body.tui *::-webkit-scrollbar-track{background:var(--tui-bg)}body.tui *::-webkit-scrollbar-thumb{background:transparent;border:var(--tui-bw) solid var(--tui-line-strong)}body.tui *::-webkit-scrollbar-thumb:hover{border-color:var(--tui-cyan)}body.tui #app{position:relative;width:100vw;height:100vh;display:flex;flex-direction:column;min-height:0}body.tui #header{display:flex;align-items:center;justify-content:space-between;padding:var(--tui-pad-2);border-bottom:var(--tui-bw) solid var(--tui-line-strong);background:transparent;flex-shrink:0}body.tui #viewport,body.tui .canvas-area{position:relative;flex:1 1 auto;min-height:0;z-index:0}body.tui #viewport{background:var(--tui-bg);border-bottom:var(--tui-bw) solid var(--tui-line)}body.tui #controls-area{position:fixed;bottom:0;left:0;right:0;z-index:10;max-height:var(--tui-controls-area-max-height);display:flex;flex-direction:column;border-top:var(--tui-bw) solid var(--tui-line-strong);background:var(--tui-controls-area-bg, rgba(0, 0, 0, .3));pointer-events:auto}body.tui #controls-area .controls-area-content,body.tui #controls-area .controls-panels{background:transparent!important}body.tui #controls-area .panel,body.tui #controls-area .panel-content,body.tui #controls-area button,body.tui #controls-area .button,body.tui #controls-area input[type=text],body.tui #controls-area input[type=search],body.tui #controls-area input[type=email],body.tui #controls-area input[type=url],body.tui #controls-area input[type=tel],body.tui #controls-area input[type=number],body.tui #controls-area input[type=color],body.tui #controls-area select,body.tui #controls-area textarea,body.tui #controls-area input[type=checkbox],body.tui #controls-area input[type=radio]{background:var(--tui-controls-surface-bg)!important}body.tui #controls-area input[type=checkbox]:checked,body.tui #controls-area input[type=radio]:checked{background:var(--tui-cyan)!important}body.tui #controls-area .scene-list-item,body.tui #controls-area .scene-list-empty,body.tui #controls-area .entity-picker-option{background:var(--tui-controls-surface-bg)!important}body.tui .controls-area-header-row{display:flex;align-items:center;gap:var(--tui-gap)}body.tui .controls-area-header{display:flex;align-items:center;gap:var(--tui-gap);padding:var(--tui-pad-2);border:0;background:transparent;color:var(--tui-fg);font:inherit;cursor:pointer;text-align:left;flex:0 0 auto}body.tui .controls-area-header:hover{background:#ffffff14;color:var(--tui-cyan)}body.tui .controls-area-chevron{color:var(--tui-muted);transition:transform .2s}body.tui #controls-area.collapsed .controls-area-chevron{transform:rotate(-90deg)}body.tui .controls-area-content{padding:var(--tui-pad-2);overflow-y:auto;overflow-x:hidden;min-height:0}body.tui #controls-area.collapsed .controls-area-content{display:none}body.tui .controls-panels{display:flex;flex-direction:column;gap:var(--tui-gap);min-width:0}body.tui .mode-panel{min-width:0}body.tui .entity-picker-dialog{border:2px solid var(--tui-line-strong);padding:var(--tui-pad-2);background:var(--tui-bg)}body.tui .entity-picker-option{padding:var(--tui-pad-2);border:2px solid var(--tui-line-strong);background:transparent;color:var(--tui-fg);cursor:pointer;font:inherit;text-align:left;display:flex;align-items:center;gap:var(--tui-gap)}body.tui .entity-picker-option:hover{border-color:var(--tui-cyan)}body.tui .export-list{display:flex;flex-direction:column;gap:var(--tui-gap)}body.tui .export-group{border:var(--tui-bw) solid var(--tui-line);padding:var(--tui-pad-1)}body.tui .export-group>summary{cursor:pointer;list-style:none}body.tui .export-group>summary::-webkit-details-marker{display:none}body.tui .export-items{display:flex;flex-direction:column;gap:var(--tui-pad-1);padding:var(--tui-pad-1) 0 0 1rem}body.tui .export-item,body.tui .export-label{display:flex;align-items:center;gap:var(--tui-gap);color:var(--tui-fg)}body.tui #app.app-layout-row #controls-area{inset:0 auto auto 0;width:var(--tui-controls-area-width);max-height:none;height:100vh;border-top:0;border-right:var(--tui-bw) solid var(--tui-line-strong)}body.tui{--tui-controls-area-bg: rgba(0, 0, 0, .05);--tui-controls-surface-bg: rgba(0, 0, 0, .05);overflow:hidden}body.tui *::-webkit-scrollbar{width:0;height:0}body.tui *{scrollbar-width:none;-ms-overflow-style:none}body.tui #app.app-layout-row{flex-direction:row;overflow:hidden}body.tui #app.app-layout-row #controls-area{flex:0 0 auto;display:flex;flex-direction:column;min-height:0;transition:width .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}body.tui #app.app-layout-row #controls-area.collapsed{width:40px;min-width:40px}body.tui #app.app-layout-row #controls-area:not(.collapsed){width:var(--tui-controls-area-width)}body.tui #controls-area .controls-area-header{background:#0000000d}body.tui #controls-area .controls-area-header:hover{background:#ffffff0d}body.tui #app.app-layout-row #controls-area .controls-area-header{writing-mode:vertical-rl;text-orientation:mixed;justify-content:center;padding:var(--tui-pad-2) var(--tui-pad-1)}body.tui #app.app-layout-row #controls-area:not(.collapsed) .controls-area-header{writing-mode:horizontal-tb;text-align:left;justify-content:flex-start;padding:var(--tui-pad-2)}body.tui #app.app-layout-row #controls-area.collapsed .controls-area-chevron{transform:rotate(180deg)}body.tui .panel-chevron{display:none}body.tui .controls-area-content{display:flex;flex-direction:column;gap:var(--tui-gap);flex:1 1 0;min-height:0;overflow-y:scroll;overflow-anchor:none}body.tui .controls-panels{flex:0 0 auto;overflow-y:visible}body.tui .floor-plan-tool-root{flex:1 1 auto;min-height:0;min-width:0;overflow:hidden;display:flex;flex-direction:column;background:#2d2d2d;background-image:linear-gradient(rgba(55,55,55,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(55,55,55,.35) 1px,transparent 1px),linear-gradient(rgba(85,85,85,.45) 1px,transparent 1px),linear-gradient(90deg,rgba(85,85,85,.45) 1px,transparent 1px);background-size:24px 24px,24px 24px,120px 120px,120px 120px;background-position:0 0,0 0,0 0,0 0}body.tui .floor-plan-controls{display:grid;gap:var(--tui-gap);align-content:start;width:100%;min-width:0}body.tui .floor-plan-controls .ag-generate-new-btn{width:100%;margin-bottom:var(--tui-gap-sm)}body.tui .floor-plan-controls .panel .panel-chevron,body.tui #controls-area .panel .panel-chevron{display:inline-block}body.tui .floor-plan-controls h2{margin:0 0 var(--tui-gap-sm);font-size:1rem}body.tui .floor-plan-control{display:grid;gap:6px;width:100%;min-width:0}body.tui .canvas-size-row{display:flex;gap:var(--tui-gap);width:100%;margin-bottom:var(--tui-gap)}body.tui .canvas-size-row .floor-plan-control{flex:1;min-width:0}body.tui .floor-plan-actions{display:flex;flex-wrap:wrap;gap:var(--tui-gap-sm);width:100%;min-width:0}body.tui .floor-plan-status-stats{position:fixed;bottom:var(--tui-gap);right:var(--tui-gap);display:flex;flex-direction:column;align-items:flex-end;gap:2px;z-index:100}body.tui .floor-plan-status,body.tui .floor-plan-stats{margin:0;color:var(--tui-muted);font-size:.82rem}body.tui .floor-plan-preview{flex:1;min-height:0;overflow:hidden;border:2px solid var(--tui-line-strong);padding:var(--tui-pad-1);background:#2d2d2d}body.tui .floor-plan-preview-content{position:relative;height:100%;min-height:0;overflow:hidden;display:grid;place-items:center;background-color:#2d2d2d;background-image:linear-gradient(rgba(51,51,51,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(51,51,51,.35) 1px,transparent 1px),linear-gradient(rgba(74,110,150,.45) 1px,transparent 1px),linear-gradient(90deg,rgba(74,110,150,.45) 1px,transparent 1px);background-size:24px 24px,24px 24px,120px 120px,120px 120px}body.tui .floor-plan-preview-content:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:3;background-image:linear-gradient(rgba(130,130,130,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(130,130,130,.14) 1px,transparent 1px),linear-gradient(rgba(175,175,175,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(175,175,175,.2) 1px,transparent 1px);background-size:24px 24px,24px 24px,120px 120px,120px 120px}body.tui .ag-loading-overlay{position:fixed;inset:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--tui-pad-2);background:#2d2d2dd9;opacity:0;pointer-events:none;transition:opacity .15s ease-out}body.tui .ag-loading-overlay.is-visible{opacity:1;pointer-events:auto}body.tui .ag-loading-overlay-spinner{width:40px;height:40px;border:3px solid var(--tui-line-strong);border-top-color:var(--tui-cyan, #0ff);border-radius:50%;animation:ag-loading-spin .7s linear infinite}body.tui .ag-loading-overlay-text{color:var(--tui-fg);font-size:.95rem}@keyframes ag-loading-spin{to{transform:rotate(360deg)}}body.tui .color-palette-svg-wrapper{width:100%;height:100%;min-height:0;display:flex;align-items:center;justify-content:center}body.tui .color-palette-svg-wrapper svg{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}body.tui .color-palette-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--tui-gap-sm)}body.tui .color-palette-list-item{display:flex;align-items:center;padding:var(--tui-pad-1) var(--tui-pad-2);border:2px solid var(--tui-line-strong)}body.tui .color-palette-list-swatch{width:24px;height:24px;flex-shrink:0;border:1px solid var(--tui-line-strong)}body.tui .color-palette-picker{width:32px;height:28px;padding:2px;border:2px solid var(--tui-line-strong);cursor:pointer;flex-shrink:0;background:transparent}body.tui .color-palette-picker:hover{border-color:var(--tui-cyan)}body.tui .color-palette-hex{margin-left:var(--tui-gap)}body.tui .floor-plan-preview svg{position:relative;z-index:2;background:#2d2d2d;display:block;cursor:grab}body.tui .floor-plan-preview svg.is-panning{cursor:grabbing}body.tui .floor-plan-preview.stamp-mode svg,body.tui .floor-plan-preview.stamp-mode svg .art-shape{cursor:crosshair}body.tui .floor-plan-preview.stamp-placing,body.tui .floor-plan-preview.stamp-placing svg,body.tui .floor-plan-preview.stamp-placing svg .art-shape{cursor:wait}body.tui .floor-plan-entity-list{list-style:none;padding:0;margin:0;display:grid;gap:var(--tui-gap-sm);max-height:240px;overflow-y:auto;padding-right:var(--tui-gap-sm)}body.tui .floor-plan-entity-item,body.tui .floor-plan-entity-empty{border:2px solid var(--tui-line-strong);padding:var(--tui-pad-1) var(--tui-pad-2);font-size:.82rem;color:var(--tui-fg)}body.tui .floor-plan-entity-item{width:100%;text-align:left}body.tui .floor-plan-entity-item.is-selected{border-color:var(--tui-fg);outline:2px solid var(--tui-fg);outline-offset:1px}body.tui .floor-plan-entity-empty{color:var(--tui-muted)}body.tui .entities-tabs{display:flex;flex-direction:row;flex-wrap:nowrap;min-height:40px;padding:0;background:#ffffff0d;border:2px solid var(--tui-line-strong);border-bottom:0}body.tui .entities-tab{flex:0 0 28px;min-width:28px;padding:var(--tui-pad-2) var(--tui-pad-1);border:2px solid var(--tui-line-strong);border-bottom:0;margin:0 1px -2px 0;background:#ffffff0d;color:var(--tui-muted);cursor:pointer;font-size:.75rem;position:relative;z-index:1;overflow:hidden;white-space:nowrap}body.tui .entities-tab:hover{color:var(--tui-fg);background:#ffffff0d}body.tui .entities-tab.is-active{flex:1 1 auto;min-width:72px;color:var(--tui-fg);background:#0000000d;border-bottom:2px solid rgba(0,0,0,.05);z-index:2;margin-bottom:-2px}body.tui .entities-tab-panels{margin-top:0;height:310px;max-height:310px;overflow-y:auto;overflow-anchor:none;border:2px solid var(--tui-line-strong);border-top:0;padding:var(--tui-pad-2);background:#0000000d}body.tui .entities-tab-panel{display:none}body.tui .entities-tab-panel.is-active{display:block}body.tui .mode-toolbar{position:fixed;top:var(--tui-gap);right:var(--tui-gap);display:flex;gap:var(--tui-gap-sm);z-index:1000}body.tui .mode-gizmo-btn{width:40px;height:40px;padding:var(--tui-pad-1);border:2px solid var(--tui-line-strong);background:#0000000d;color:var(--tui-muted);cursor:pointer;font-size:20px;line-height:1;filter:grayscale(1) brightness(1.3)}body.tui .mode-gizmo-btn:hover{color:var(--tui-fg);border-color:var(--tui-line-strong)}body.tui .mode-gizmo-btn.is-active{color:var(--tui-fg);border-color:var(--tui-fg);outline:2px solid var(--tui-fg);outline-offset:2px}body.tui .mode-toolbar .mode-toolbar-text-btn{width:auto;min-width:64px;padding-left:var(--tui-pad-2);padding-right:var(--tui-pad-2);font-size:.9rem}body.tui .mode-toolbar .save-export-dropdown .button{white-space:nowrap}body.tui .bg-type-row .bg-type-btn{width:100%;min-width:0;height:auto;padding:var(--tui-pad-2) var(--tui-pad-3);font-size:.9rem;text-align:left}body.tui #camera-controls{position:static;width:100%;min-width:0;flex:0 0 auto;display:flex;flex-direction:column;gap:var(--tui-gap)}body.tui #camera-controls>.panel{flex:0 0 auto;min-width:0}@media(max-width:768px){body.tui #app.app-layout-row{flex-direction:column}body.tui #app.app-layout-row #controls-area{min-width:0;background:#2d2d2d}body.tui #app.app-layout-row #controls-area.collapsed{width:40px;min-width:40px}body.tui #app.app-layout-row #controls-area:not(.collapsed){width:100%}body.tui #controls-area .controls-area-header{background:#2d2d2d}body.tui #controls-area .controls-area-header:hover{background:#3a3a3a}body.tui #app #controls-area:not(.collapsed)~.mode-toolbar{display:none}}
