:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#202226;background:#f7f8fa;font-synthesis:none;--blue: #2f6fed;--blue-soft: #edf3ff;--border: #e3e6ea;--muted: #70757d;--surface: #ffffff;--panel: #fbfbfc;--shadow: 0 12px 34px rgba(29, 37, 52, .14)}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}body{margin:0;min-width:1024px;min-height:680px;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{color:inherit}.app-shell{display:grid;grid-template-columns:122px minmax(0,1fr) 308px;grid-template-rows:68px minmax(0,1fr);width:100vw;height:100vh;background:#f7f8fa}.topbar{grid-column:1 / -1;display:grid;grid-template-columns:194px minmax(210px,1fr) auto minmax(390px,1fr);align-items:center;min-width:0;background:var(--surface);border-bottom:1px solid var(--border);z-index:20}.brand-block{height:100%;display:flex;align-items:center;gap:11px;padding:0 20px;border-right:1px solid var(--border);font-size:16px;font-weight:650;letter-spacing:-.01em}.brand-mark{width:34px;height:34px;display:grid;place-items:center;color:var(--blue);background:var(--blue-soft);border-radius:9px}.project-switcher{display:flex;align-items:center;gap:12px;min-width:0;padding:0 20px}.eyebrow{color:#9aa0a8;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.project-switcher label{position:relative;min-width:0;display:flex;align-items:center}.project-switcher select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;max-width:240px;padding:9px 30px 9px 10px;border:0;outline:0;color:#303238;background:transparent;font-weight:550;cursor:pointer}.project-switcher label svg{position:absolute;right:7px;pointer-events:none}.project-switcher .campus-context-select{padding-right:8px;border-right:1px solid var(--border)}.project-switcher .campus-context-select select{max-width:180px;color:var(--blue);font-weight:700}.campus-setup-section{background:linear-gradient(180deg,#f7fbff,#fff)}.campus-building-list{display:grid;gap:6px;margin:10px 0}.campus-building-list>button{width:100%;min-height:42px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;border:1px solid #dfe4ea;border-radius:9px;color:#454b54;background:#fff;text-align:left;cursor:pointer}.campus-building-list>button.active{border-color:#98b4ef;color:var(--blue);background:#f1f6ff}.campus-building-list span{min-width:0;display:grid;gap:2px}.campus-building-list strong{overflow-wrap:anywhere;font-size:9px}.campus-building-list small{color:#858b94;font-size:7px}.floor-setup-button{width:32px;height:32px;flex:0 0 auto;display:grid;place-items:center;border:0;border-radius:7px;color:#737982;background:transparent;cursor:pointer}.floor-setup-button:hover{color:#30353c;background:#f1f3f6}.floor-setup-button.active{color:var(--blue);background:var(--blue-soft)}.view-switch{display:flex;padding:4px;gap:2px;background:#f4f5f7;border:1px solid #eceef1;border-radius:10px}.view-switch button{min-width:72px;height:38px;border:0;border-radius:7px;background:transparent;color:#6b7078;cursor:pointer;font-size:14px;font-weight:560}.view-switch button.active{background:#fff;color:#1e2024;box-shadow:0 1px 5px #1f26331a}.top-actions{justify-self:end;display:flex;align-items:center;gap:6px;min-width:0;padding-right:16px}.history-actions{display:flex;gap:1px;padding-right:4px;margin-right:2px;border-right:1px solid var(--border)}.history-actions button,.quiet-action,.icon-button{height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:8px;background:transparent;color:#626770;cursor:pointer}.history-actions button{width:38px}.history-actions button:hover:not(:disabled),.quiet-action:hover,.icon-button:hover{background:#f3f5f7;color:#292c31}.history-actions button:disabled{opacity:.3;cursor:default}.quiet-action{padding:0 9px;font-size:13px}.quiet-action.active{color:var(--blue);background:var(--blue-soft)}.layer-count{min-width:17px;height:17px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;color:#68707b;background:#edf0f3;font-size:9px;font-weight:700}.quiet-action.active .layer-count{color:var(--blue);background:#dbe7ff}.compact-action span{display:none}.export-control{display:flex;height:42px;margin-left:5px;overflow:hidden;border-radius:9px;background:var(--blue);box-shadow:0 5px 13px #2f6fed33}.export-button{display:flex;align-items:center;gap:8px;padding:0 14px;border:0;background:transparent;color:#fff;font-weight:630;cursor:pointer}.export-control select{width:50px;padding-left:8px;border:0;border-left:1px solid rgba(255,255,255,.24);outline:0;color:#fff;background:var(--blue);cursor:pointer}.tool-rail{position:relative;grid-column:1;grid-row:2;display:flex;flex-direction:column;min-height:0;background:var(--surface);border-right:1px solid var(--border);z-index:10}.tools-list{flex:1;min-height:0;overflow-y:auto;padding:14px 12px 8px}.tools-list button{position:relative;width:100%;min-height:66px;margin-bottom:5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:0;border-radius:9px;color:#3f434a;background:transparent;cursor:pointer;font-size:12px}.tools-list button:hover{background:#f4f6f8}.tools-list button.active{color:var(--blue);background:var(--blue-soft)}.tools-list button kbd{position:absolute;top:7px;right:8px;display:none;color:#a1a6ad;font-size:9px;font-family:inherit}.tools-list button:hover kbd{display:block}.background-controls{flex:0 0 auto;padding:14px 14px 16px;border-top:1px solid var(--border);background:#fcfcfd}.background-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:12px;font-weight:650}.background-title button{width:30px;height:28px;display:grid;place-items:center;border:0;border-radius:6px;color:#666b73;background:transparent;cursor:pointer}.switch{width:38px;height:22px;padding:2px;margin-bottom:12px;border:0;border-radius:999px;background:#c7cbd1;cursor:pointer}.switch span{display:block;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000002e;transition:transform .14s ease}.switch.on{background:var(--blue)}.switch.on span{transform:translate(16px)}.background-controls .control-label{font-size:10px}.background-controls .range-control{gap:6px;margin-bottom:12px}.background-overlay-toggle{display:flex;align-items:center;gap:6px;margin:-4px 0 10px;color:#62676f;cursor:pointer;font-size:10px}.background-overlay-toggle input{width:14px;height:14px;margin:0;accent-color:var(--blue)}.canvas-style-button{width:100%;height:34px;display:flex;align-items:center;gap:8px;padding:4px 7px;border:1px solid #dde1e6;border-radius:7px;color:#50545b;background:#fff;cursor:pointer;font-size:10px}.canvas-style-button.active{color:var(--blue);border-color:#b9cdf8;box-shadow:0 0 0 2px #2f6fed17}.canvas-style-preview{width:24px;height:24px;flex:0 0 auto;border:1px solid rgba(0,0,0,.09);border-radius:5px;background-position:center;background-size:cover}.background-divider{height:1px;margin:12px -14px;background:var(--border)}.import-mini{width:100%;height:32px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid #dde1e6;border-radius:7px;background:#fff;color:#50545b;font-size:11px;cursor:pointer}.workspace{position:relative;grid-column:2;grid-row:2;min-width:0;min-height:0;overflow:hidden;background:#f3f5f7}.map-canvas-shell{position:absolute;top:0;right:0;bottom:34px;left:0;overflow:hidden;background:#f8f9fa}.map-canvas-shell canvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}.map-canvas-shell.view-top canvas,.map-canvas-shell.view-depth canvas{cursor:default}.map-canvas-shell.view-2\.5d canvas,.map-canvas-shell.view-3d canvas{cursor:grab}.map-canvas-shell.view-2\.5d canvas:active,.map-canvas-shell.view-3d canvas:active{cursor:grabbing}.depth-view-controls{position:absolute;top:14px;right:14px;z-index:16;width:248px;padding:12px 13px 11px;border:1px solid rgba(52,58,67,.14);border-radius:10px;background:#fffffff0;box-shadow:0 8px 24px #1d253421;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.presentation-view-controls{width:230px}.presentation-style-note{margin:8px 2px 1px;color:#777d85;font-size:9px;line-height:1.45}.canvas-background-panel{position:absolute;top:14px;left:14px;z-index:16;width:286px;padding:13px;border:1px solid rgba(52,58,67,.14);border-radius:10px;background:#fffffff5;box-shadow:0 8px 24px #1d253421;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.region-layers-panel{position:absolute;top:14px;left:14px;z-index:18;width:min(332px,calc(100% - 28px));max-height:calc(100% - 62px);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(52,58,67,.14);border-radius:11px;background:#fffffff7;box-shadow:0 10px 30px #1d253429;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.floor-tools-panel{position:absolute;top:14px;left:14px;z-index:18;width:min(326px,calc(100% - 28px));max-height:calc(100% - 62px);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(52,58,67,.14);border-radius:11px;background:#fffffff7;box-shadow:0 10px 30px #1d253429;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.navigation-panel{position:absolute;top:14px;left:14px;z-index:19;width:min(342px,calc(100% - 28px));max-height:calc(100% - 62px);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(52,58,67,.14);border-radius:11px;background:#fffffffa;box-shadow:0 10px 30px #1d25342b;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.navigation-panel-scroll{min-height:0;overflow-y:auto}.navigation-section{padding:13px 14px;border-bottom:1px solid #e7e9ec}.navigation-section:last-child{border-bottom:0}.navigation-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px}.navigation-actions button,.navigation-preview-button{min-height:32px}.navigation-actions button{display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid #d8e1f1;border-radius:7px;color:#4168a7;background:#f4f7fc;cursor:pointer;font-size:9px;font-weight:650}.navigation-actions button:hover{color:var(--blue);border-color:#a9c1f4;background:var(--blue-soft)}.navigation-route-result,.navigation-scale-result{margin:9px 1px 0;color:#68707a;font-size:9px;line-height:1.45}.navigation-diagnostics ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.navigation-diagnostics li,.navigation-ready{display:flex;align-items:flex-start;gap:6px;margin:0;color:#8c5b31;font-size:9px;line-height:1.4}.navigation-diagnostics li svg,.navigation-ready svg{flex:0 0 auto;margin-top:1px}.navigation-ready{color:#33725a}.navigation-key-repair{display:grid;gap:7px;margin-bottom:9px;padding:9px;border:1px solid #ead3aa;border-radius:8px;color:#805326;background:#fff8ec}.navigation-key-repair p{display:flex;align-items:flex-start;gap:6px;margin:0;font-size:9px;line-height:1.4}.navigation-key-repair p svg{flex:0 0 auto}.navigation-key-repair button{min-height:31px;border:1px solid #dfbf88;border-radius:7px;color:#704517;background:#fffdf8;font-size:9px;font-weight:700;cursor:pointer}.navigation-key-repair small{color:#8b6a47;font-size:8px;line-height:1.4}.navigation-repair-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:6px}.region-layers-heading{flex:0 0 auto;min-height:58px;padding:12px 12px 10px 14px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border-bottom:1px solid #e7e9ec}.region-layers-heading div{display:grid;gap:3px}.region-layers-heading strong{color:#262a30;font-size:12px;font-weight:700}.region-layers-heading span{color:#7a8089;font-size:9px}.region-layers-heading button,.region-layer-actions button,.region-layer-swatch-button{border:0;background:transparent;color:#69707a;cursor:pointer}.region-layers-heading button{width:28px;height:28px;display:grid;place-items:center;border-radius:6px}.region-layers-heading button:hover,.region-layer-actions button:hover:not(:disabled){color:#252a30;background:#f0f3f6}.region-layer-tabs{flex:0 0 auto;padding:7px;display:grid;grid-template-columns:1fr 1fr;gap:4px;border-bottom:1px solid #e7e9ec;background:#f7f8fa}.region-layer-tabs button{height:30px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;border-radius:6px;color:#6b717a;background:transparent;cursor:pointer;font-size:10px;font-weight:650}.region-layer-tabs button.active{border-color:#d7e2f9;color:var(--blue);background:#fff;box-shadow:0 1px 4px #212d4112}.region-layer-tabs small{min-width:17px;height:17px;display:inline-grid;place-items:center;border-radius:9px;background:#e9edf2;font-size:8px}.region-layer-tabs button.active small{background:#e5edff}.region-layer-list{flex:1 1 auto;min-height:0;margin:0;padding:7px;overflow-y:auto;list-style:none}.region-layer-row{min-height:57px;margin-bottom:3px;padding:6px;display:grid;grid-template-columns:14px 38px minmax(0,1fr) auto;align-items:center;gap:7px;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:border-color .12s ease,background .12s ease,opacity .12s ease}.region-layer-row:last-child{margin-bottom:0}.region-layer-row.selected{border-color:#c8d9fb;background:#f2f6ff}.region-layer-row:hover:not(.selected){border-color:#e1e5ea;background:#fafbfc}.region-layer-row.dragging{opacity:.42}.region-layer-drag-handle{align-self:stretch;display:grid;place-items:center;color:#a0a6ae;cursor:grab}.region-layer-row:active .region-layer-drag-handle{cursor:grabbing}.region-layer-row.hidden .region-layer-details,.region-layer-row.hidden .region-layer-swatch-button{opacity:.48}.region-layer-swatch-button{width:38px;height:38px;padding:3px;display:grid;place-items:center;border:1px solid #dfe3e7;border-radius:7px;background-color:#fff}.region-layer-swatch{width:100%;height:100%;display:block;border-radius:4px;background-position:center;background-size:cover;box-shadow:inset 0 0 0 1px #1c222b14}.region-layer-details{min-width:0;display:grid;gap:3px}.region-layer-name{width:100%;min-width:0;padding:3px 5px;border:1px solid transparent;border-radius:5px;outline:0;color:#34383e;background:transparent;font:inherit;font-size:11px;font-weight:650}.region-layer-name:hover{border-color:#dde1e6;background:#fff}.region-layer-name:focus{border-color:#7ea5f7;background:#fff;box-shadow:0 0 0 2px #2f6fed1f}.region-layer-details>span{padding-left:5px;color:#858b94;font-size:8px}.region-layer-actions{display:grid;grid-template-columns:repeat(2,27px);gap:2px}.region-layer-actions button{width:27px;height:24px;display:grid;place-items:center;border-radius:5px}.region-layer-actions button:disabled{opacity:.25;cursor:default}.region-layer-actions button.danger:hover{color:#bd3d3d;background:#fff0f0}.region-layers-panel>footer{flex:0 0 auto;padding:9px 14px 10px;border-top:1px solid #e7e9ec;color:#838992;font-size:8px;line-height:1.4}.region-layers-empty{min-height:148px;padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#8a9098;text-align:center}.region-layers-empty strong{color:#51565d;font-size:11px}.region-layers-empty span{max-width:210px;font-size:9px;line-height:1.45}.floor-tools-scroll{min-height:0;overflow-y:auto}.floor-tools-section{padding:14px;border-bottom:1px solid #e7e9ec}.floor-tools-section:last-child{border-bottom:0}.floor-tools-section-heading{margin-bottom:12px;display:grid;gap:3px}.floor-tools-section-heading strong{color:#30343a;font-size:11px}.floor-tools-section-heading span{color:#858b94;font-size:8px}.floor-copy-button{height:34px;margin-top:10px;font-size:10px}.floor-ground-toggle{min-height:40px;margin-top:18px;padding:0 10px;border:1px solid #e0e3e7;border-radius:8px;background:#fff}.trace-import-toggle{min-height:38px;margin-bottom:9px;padding:0 10px;border:1px solid #e0e3e7;border-radius:8px;background:#fff}.floor-tools-section .secondary-wide:disabled{cursor:default;opacity:.45}.floor-tools-note{margin:9px 1px 0;display:flex;align-items:flex-start;gap:6px;color:#7b818a;font-size:8px;line-height:1.45}.floor-tools-note svg{flex:0 0 auto;margin-top:1px}.floor-alignment-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.floor-alignment-actions button{height:29px;border:1px solid #dfe3e8;border-radius:6px;color:#555b64;background:#fff;cursor:pointer;font-size:9px}.floor-alignment-actions button:hover{color:var(--blue);border-color:#cbd9f6;background:var(--blue-soft)}.floor-delete-section{background:snow}.delete-floor-button{width:100%;height:32px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid #efcaca;border-radius:7px;color:#b64444;background:#fff;cursor:pointer;font-size:10px;font-weight:650}.delete-floor-button:hover:not(:disabled){border-color:#df9d9d;background:#fff1f1}.delete-floor-button:disabled,.floor-copy-button:disabled{opacity:.45;cursor:default}.floor-delete-confirmation{padding:10px;border:1px solid #efcaca;border-radius:8px;background:#fff}.floor-delete-confirmation p{margin:0 0 10px;display:flex;align-items:flex-start;gap:6px;color:#7a4a4a;font-size:9px;line-height:1.45}.floor-delete-confirmation p svg{flex:0 0 auto}.floor-delete-confirmation>div{display:grid;grid-template-columns:1fr 1fr;gap:6px}.floor-delete-confirmation button{height:29px;border:1px solid #dfe3e8;border-radius:6px;color:#555b64;background:#fff;cursor:pointer;font-size:9px}.floor-delete-confirmation button.danger{color:#fff;border-color:#c94b4b;background:#c94b4b}.canvas-background-intro{margin:-2px 0 11px;color:#737880;font-size:10px;line-height:1.45}.canvas-texture-options{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:14px}.canvas-texture-options button{min-width:0;padding:4px;display:grid;grid-template-rows:52px auto;place-items:center;gap:5px;overflow:hidden;border:1px solid #dfe3e8;border-radius:8px;color:#686d75;background:#fff;cursor:pointer;font-size:9px}.canvas-texture-options button.active{color:var(--blue);border-color:var(--blue);box-shadow:0 0 0 2px #2f6fed1f}.canvas-texture-options img,.plain-canvas-swatch{width:100%;height:52px;display:block;object-fit:cover;border-radius:5px}.plain-canvas-swatch{border:1px solid rgba(0,0,0,.08)}.canvas-background-panel .wall-color-control{margin-bottom:12px}.canvas-background-panel .range-control{gap:6px;margin-bottom:10px}.canvas-image-position{margin-top:4px}.canvas-image-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 0 2px}.canvas-image-actions button{height:29px;border:1px solid #dfe3e8;border-radius:6px;color:#555b64;background:#fff;cursor:pointer;font-size:9px}.canvas-image-actions button:hover{color:var(--blue);border-color:#cbd9f6;background:var(--blue-soft)}.canvas-background-note{display:flex;align-items:flex-start;gap:6px;margin:11px 0;color:#747981;font-size:9px;line-height:1.4}.canvas-background-note svg{flex:0 0 auto;margin-top:1px}.canvas-background-done{width:100%;height:30px;border:1px solid #ccd9f5;border-radius:6px;color:var(--blue);background:var(--blue-soft);cursor:pointer;font-size:10px;font-weight:650}.depth-view-controls-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.depth-view-controls-heading strong{font-size:12px;font-weight:680}.depth-view-controls-heading button{padding:3px 6px;border:0;border-radius:5px;color:#70757d;background:transparent;cursor:pointer;font-size:10px}.depth-view-controls-heading button:hover{color:var(--blue);background:var(--blue-soft)}.depth-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;margin-bottom:8px;border:1px solid #e1e4e8;border-radius:7px;background:#f4f6f8}.depth-mode-switch button{height:28px;border:0;border-radius:5px;color:#686d75;background:transparent;cursor:pointer;font-size:10px;font-weight:620}.depth-mode-switch button.active{color:#2f3338;background:#fff;box-shadow:0 1px 4px #1f26341a}.depth-control-row{display:grid;grid-template-columns:46px minmax(0,1fr) 34px;align-items:center;gap:8px;min-height:28px;color:#5e636b;font-size:10px}.depth-control-row input[type=range]{width:100%;accent-color:var(--blue)}.depth-control-row output{color:#7a7f87;text-align:right;font-variant-numeric:tabular-nums}.depth-color-row{display:grid;grid-template-columns:46px minmax(0,1fr) 38px;align-items:center;gap:8px;min-height:32px;color:#5e636b;font-size:10px}.depth-color-picker{min-width:0;height:28px;display:flex;align-items:center;gap:6px;padding:3px 6px 3px 3px;overflow:hidden;border:1px solid #dde1e6;border-radius:6px;background:#fff}.depth-color-picker input[type=color]{flex:0 0 auto;width:24px;height:20px;padding:0;border:0;border-radius:4px;background:transparent;cursor:pointer}.depth-color-picker output{min-width:0;overflow:hidden;color:#6d727a;text-overflow:ellipsis;font-size:9px;font-variant-numeric:tabular-nums}.depth-color-row>button{height:26px;padding:0;border:1px solid #dfe3e8;border-radius:5px;color:#70757d;background:#fff;cursor:pointer;font-size:9px}.depth-color-row>button.active{color:var(--blue);border-color:#bed0f8;background:var(--blue-soft)}.canvas-hint{position:absolute;left:50%;bottom:18px;transform:translate(-50%);padding:8px 12px;border:1px solid rgba(53,58,66,.12);border-radius:8px;color:#4d525a;background:#ffffffeb;box-shadow:0 5px 18px #1e26341f;font-size:11px;white-space:nowrap;pointer-events:none}.canvas-statusbar{position:absolute;left:0;right:0;bottom:0;height:34px;display:flex;align-items:center;gap:10px;padding:0 13px;color:#767b83;background:#fff;border-top:1px solid var(--border);font-size:11px}.canvas-statusbar button{height:24px;padding:0 8px;border:1px solid #e0e3e7;border-radius:5px;color:#565b63;background:#fff;cursor:pointer}.canvas-statusbar button:has(svg){display:inline-flex;align-items:center;gap:5px}.canvas-statusbar button.active{border-color:#aac4ee;color:#1f66cf;background:#edf4ff}.wall-opacity-quick-control{display:inline-flex;align-items:center;gap:7px;color:#666c74;white-space:nowrap}.wall-opacity-quick-control input{width:88px;accent-color:#2f6fed}.wall-opacity-quick-control output{width:31px;color:#4f5660;font-variant-numeric:tabular-nums;text-align:right}.status-separator{width:1px;height:15px;background:#e1e4e8}.save-indicator{margin-left:auto}.inspector{grid-column:3;grid-row:2;min-height:0;overflow-y:auto;padding:24px 22px 32px;background:var(--surface);border-left:1px solid var(--border);z-index:10}.inspector-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:22px}.inspector-heading h2,.empty-inspector h2{margin:0;font-size:17px;font-weight:680;letter-spacing:-.01em}.inspector-heading p{margin:5px 0 0;color:var(--muted);font-size:13px}.inspector-intro{margin:-8px 0 4px;color:#747a83;font-size:12px;line-height:1.55}.icon-button{width:36px}.icon-button.danger:hover{color:#c64242;background:#fff1f1}.selection-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:-8px 0 18px}.selection-actions button{height:34px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #dfe3e8;border-radius:8px;color:#555a62;background:#fff;cursor:pointer;font:inherit;font-size:11px;font-weight:620}.selection-actions button:hover:not(:disabled){color:var(--blue);border-color:#b8ccf8;background:#f7faff}.selection-actions button:disabled{opacity:.42;cursor:default}.region-appearance-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:-2px 0 18px}.region-appearance-actions button{min-width:0;height:34px;padding:0 7px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid #dfe3e8;border-radius:8px;color:#555a62;background:#fff;cursor:pointer;font-size:10px;font-weight:620;white-space:nowrap}.region-appearance-actions button:hover:not(:disabled){color:var(--blue);border-color:#b8ccf8;background:#f7faff}.region-appearance-actions button:disabled{opacity:.42;cursor:default}.inspector-section{padding:20px 0;border-top:1px solid #eceef1}.inspector-section h3{margin:0 0 14px;color:#303238;font-size:13px;font-weight:680}.object-type-list{display:grid;gap:9px}.object-type-card{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;text-align:left;gap:11px;padding:12px;border:1px solid #dfe3e0;border-radius:11px;background:#fff;color:#33443a;cursor:pointer}.object-type-card:hover{border-color:#b9c9bd;background:#f9fbf9}.object-type-card.active{border-color:#a9beae;background:linear-gradient(145deg,#fbfcfa,#f0f5f0);box-shadow:inset 0 0 0 1px #537b5e12}.object-type-list.compact .object-type-card{grid-template-columns:38px minmax(0,1fr) 18px;padding:10px}.object-type-card>svg{color:#5d8b6b}.object-type-card>span:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:3px}.object-type-card strong{color:#2f3a33;font-size:12px;font-weight:680}.object-type-card small{color:#758078;font-size:10px;line-height:1.35}.object-type-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;color:#547c60;background:#e3eee5;box-shadow:inset 0 0 0 1px #4c70561a}.destination-label-controls{margin-top:18px;padding-top:18px;border-top:1px solid #eceef1}.destination-label-controls h3{margin-bottom:12px}.destination-label-controls .secondary-wide.active{color:var(--blue);border-color:#8fb0f6;background:#f2f6ff}.destination-label-controls .inspector-note{margin-bottom:0}.control-group{display:flex;flex-direction:column;gap:9px;margin:0 0 16px}.control-label{display:flex;align-items:center;justify-content:space-between;color:#5c6169;font-size:12px;font-weight:530}.control-label output{color:#777c84;font-variant-numeric:tabular-nums}.text-control input,.select-field,.number-input-wrap{width:100%;height:40px;border:1px solid #dfe3e8;border-radius:8px;color:#373a40;background:#fff;outline:0}.text-control input,.select-field{padding:0 11px}.text-control input:focus,.select-field:focus,.number-input-wrap:focus-within{border-color:#8fb0f6;box-shadow:0 0 0 3px #2f6fed1a}.range-control input[type=range]{width:100%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:99px;background:#dfe3e8;outline:0}.range-control input[type=range]::-webkit-slider-thumb{width:16px;height:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2px solid #fff;border-radius:50%;background:var(--blue);box-shadow:0 1px 4px #1f386540;cursor:pointer}.color-field{height:46px;display:flex;align-items:center;gap:10px;padding:6px 10px 6px 7px;margin-bottom:16px;border:1px solid #dfe3e8;border-radius:8px;color:#575c63;font-size:13px}.color-field input[type=color]{width:32px;height:32px;padding:0;border:0;border-radius:6px;overflow:hidden;background:transparent;cursor:pointer}.color-field input[type=color]::-webkit-color-swatch-wrapper{padding:0}.color-field input[type=color]::-webkit-color-swatch{border:1px solid rgba(0,0,0,.08);border-radius:6px}.recent-colors{display:grid;gap:7px;margin:-3px 0 16px}.recent-colors>span{color:#6c7179;font-size:10px;font-weight:580}.recent-color-swatches{display:flex;flex-wrap:wrap;gap:5px}.recent-color-swatches button{width:22px;height:22px;padding:0;border:2px solid #fff;border-radius:6px;box-shadow:0 0 0 1px #22272f29;cursor:pointer}.recent-color-swatches button.active{box-shadow:0 0 0 2px var(--blue)}.recent-color-swatches button:hover{transform:translateY(-1px)}.wall-color-hex{min-width:0;flex:1;padding:4px 0;border:0;outline:0;color:#575c63;background:transparent;font:inherit;text-transform:uppercase}.wall-color-control{margin-bottom:14px}.wall-color-control:last-child{margin-bottom:0}.wall-color-control .color-field{margin-bottom:0}.wall-style-actions{margin:-4px 0 18px}.alignment-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.alignment-actions button{min-width:0;height:34px;padding:0 6px;border:1px solid #dce1e7;border-radius:7px;color:#545a62;background:#fff;cursor:pointer;font-size:10px;font-weight:620}.alignment-actions button:hover:not(:disabled){color:var(--blue);border-color:#b9cdf8;background:var(--blue-soft)}.alignment-actions button:disabled{color:#aeb3ba;background:#f5f6f8;cursor:not-allowed}.nudge-reference-card{padding:11px 12px;margin:4px 0 16px;display:grid;gap:4px;border:1px solid #dce6fa;border-radius:8px;color:#536070;background:#f7faff}.nudge-reference-card strong{font-size:11px}.nudge-reference-card span{color:#737b86;font-size:9px;line-height:1.45}.poi-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.poi-type-grid button{min-width:0;min-height:50px;display:flex;align-items:center;gap:8px;padding:7px 8px;border:1px solid #dde2e8;border-radius:9px;color:#565d66;background:#fff;cursor:pointer;text-align:left}.poi-type-grid button>span{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#169bd5;box-shadow:0 3px 8px #175a802e}.poi-type-grid button small{overflow:hidden;font-size:10px;font-weight:650;line-height:1.2;text-overflow:ellipsis}.poi-type-grid button:hover,.poi-type-grid button.active{color:var(--blue);border-color:#afc7f7;background:var(--blue-soft)}.poi-type-grid button.active{box-shadow:0 0 0 2px #2f6fed1f}.texture-swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:12px 0 18px}.texture-swatches button{position:relative;aspect-ratio:1;padding:3px;overflow:hidden;border:1px solid #dfe3e8;border-radius:8px;background:#fff;cursor:pointer}.texture-swatches button.active{border-color:var(--blue);box-shadow:0 0 0 2px #2f6fed21}.texture-swatches img{width:100%;height:100%;display:block;object-fit:cover;border-radius:5px}.custom-texture-button{display:grid;place-items:center;color:#777c84;border-style:dashed!important}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field-row .control-group{min-width:0}.number-input-wrap{display:flex;align-items:center;overflow:hidden}.number-input-wrap input{width:100%;min-width:0;height:100%;padding:0 8px;border:0;outline:0;color:#3d4147;background:transparent}.number-input-wrap>span{padding-right:8px;color:#90959d;font-size:10px}.mini-segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:3px;border:1px solid #e0e3e7;border-radius:8px;background:#f5f6f8}.mini-segmented button{min-width:0;height:32px;padding:0 5px;border:0;border-radius:6px;color:#676c74;background:transparent;font-size:11px;cursor:pointer}.mini-segmented button.active{color:#2d3035;background:#fff;box-shadow:0 1px 4px #1f263417}.toggle-row{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#565b63;font-size:12px}.toggle-row input{width:17px;height:17px;accent-color:var(--blue)}.linked-style-toggle{min-height:48px;padding:0 12px;margin:4px 0 16px;border:1px solid #dfe3e8;border-radius:8px;background:#f9fafb;font-weight:580}.inspector-note,.point-panel{display:flex;align-items:flex-start;gap:9px;margin:2px 0 0;padding:12px;border-radius:8px;color:#69707a;background:#f5f7fa;font-size:11px;line-height:1.45}.inspector-note svg,.point-panel>svg{flex:0 0 auto;margin-top:1px}.warning-note{flex-wrap:wrap;color:#8b5a23;background:#fff6e8}.warning-note span{flex:1 1 180px}.warning-note button{flex:1 0 100%;min-height:32px;border:1px solid #e4c795;border-radius:7px;color:#75491c;background:#fffaf1;font:inherit;font-weight:650;cursor:pointer}.recovery-warning{display:flex;align-items:flex-start;gap:8px;margin:12px 0 0;padding:10px;border-radius:8px;color:#8b5a23;background:#fff6e8;font-size:11px;line-height:1.45}.recovery-warning svg{flex:0 0 auto}.version-list{display:flex;flex-direction:column;gap:9px;margin:18px 0}.version-card{padding:12px;border:1px solid #e2e5e9;border-radius:9px;background:#fff}.version-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.version-card-heading>div{min-width:0;display:flex;flex-direction:column;gap:4px}.version-card strong{color:#33363b;font-size:11px;font-weight:680}.version-card time,.version-card p{color:#858a92;font-size:10px}.version-card p{margin:9px 0 0;line-height:1.4}.version-card button{height:29px;padding:0 9px;border:1px solid #c9d7f5;border-radius:7px;color:var(--blue);background:#f7faff;cursor:pointer;font-size:10px;font-weight:650}.version-empty{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px;border:1px dashed #d8dde4;border-radius:9px;color:#858a92;text-align:center;font-size:11px;line-height:1.5}.point-panel{align-items:center}.point-panel>div{min-width:0;display:flex;flex:1;flex-direction:column}.point-panel strong{color:#474b52}.point-panel button{border:0;color:#c34848;background:transparent;cursor:pointer;font-size:11px}.empty-inspector{padding-top:34px;text-align:center}.empty-inspector-icon{width:48px;height:48px;display:grid;place-items:center;margin:0 auto 15px;border-radius:12px;color:var(--blue);background:var(--blue-soft)}.empty-inspector>p{margin:10px auto 21px;max-width:245px;color:#777c84;font-size:12px;line-height:1.55}.primary-wide,.secondary-wide{width:100%;height:42px;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;border-radius:8px;cursor:pointer;font-size:12px;font-weight:620}.primary-wide:hover,.secondary-wide:hover{filter:brightness(.98)}.primary-wide{border:0;color:#fff;background:var(--blue)}.secondary-wide{border:1px solid #dfe3e8;color:#555a62;background:#fff}.boundary-snap-action{margin-bottom:12px}.shortcut-list{display:flex;flex-direction:column;gap:9px;margin-top:28px;padding-top:20px;border-top:1px solid #eceef1;text-align:left;color:#858a92;font-size:10px}kbd{padding:2px 5px;border:1px solid #dde1e6;border-radius:4px;color:#676c74;background:#f7f8fa;font-family:inherit;font-size:9px}.notice{position:fixed;left:50%;bottom:52px;z-index:60;display:flex;align-items:center;gap:9px;max-width:min(560px,70vw);padding:11px 14px;transform:translate(-50%);border:1px solid #d8dde4;border-radius:9px;color:#3f444c;background:#fff;box-shadow:var(--shadow);font-size:12px}.notice-success svg{color:#2d9b67}.notice-warning svg{color:#d78930}.notice-info svg{color:var(--blue)}@media(max-width:1700px){.top-actions .quiet-action span{display:none}}@media(max-width:1400px){.top-actions{gap:2px;padding-right:8px}.history-actions button,.top-actions .quiet-action{width:34px;height:36px;padding-inline:0}.export-control{height:38px;margin-left:2px}.export-button{width:42px;justify-content:center;padding-inline:0}.export-button span{display:none}.export-control select{width:46px}}@media(max-width:1220px){.app-shell{grid-template-columns:94px minmax(0,1fr) 284px}.topbar{grid-template-columns:166px minmax(170px,1fr) auto minmax(320px,1fr)}.brand-block{padding:0 14px}.quiet-action span,.project-switcher .eyebrow{display:none}.tools-list{padding-inline:8px}.inspector{padding-inline:18px}}
