/* bellcella editor tokens and shell. Geometry and project storage are unchanged. */
:root{--studio-rail-width:80px;--studio-forest:#304d3b;--studio-forest-hover:#3d5c46;--studio-sage:#dce7d0;--studio-paper:#fafbf8;--studio-canvas:#f0f2eb;--studio-line:#e3e7df;--studio-muted:#7a8477;--studio-radius:5px;--accent:#42694d;--accent-soft:#e5eddd;--bg:#f6f7f3;--panel:#fcfdfb;--panel-soft:#f5f7f1;--text:#243027;--muted:#788272;--line:#e3e7df;--line-strong:#bac8b3;--shadow:0 6px 24px #263d2b0a;--bc-accent:#42694d;--bc-ink:#243027}
.editor-v9{background:var(--studio-paper);color:var(--text);font-family:Arial,Helvetica,sans-serif}
.editor-v9 .app-shell{grid-template-rows:64px minmax(0,1fr)}
.editor-v9 .topbar{height:64px;display:grid;grid-template-columns:auto auto minmax(100px,1fr) auto;grid-template-rows:1fr;gap:20px;padding:0 24px;border-bottom:1px solid var(--studio-line);background:#fcfdfb;backdrop-filter:none}
.editor-v9 .brand{grid-column:auto;grid-row:auto;gap:9px;padding-right:24px;border-right:1px solid #d5ddd0}
.editor-v9 .brand-mark,.editor-v9 .brand-mark img{width:27px;height:27px}
.editor-v9 .brand-copy>strong{font-size:23px!important;font-weight:700!important;letter-spacing:-1.1px;color:#1d2921!important;line-height:1}
.editor-v9 .stage-tabs{position:static!important;transform:none!important;display:flex;grid-row:auto;grid-column:auto;height:40px;width:auto;padding:0;border:0;border-radius:0;background:none;box-shadow:none;gap:3px;margin:0;justify-self:start}
.editor-v9 .stage-tab{height:38px;padding:0 14px;font-size:12px;font-weight:500;letter-spacing:-.15px;color:#354032;background:none;border-radius:5px}
.editor-v9 .stage-tab.active{background:var(--studio-sage);color:#203522;box-shadow:none}
.editor-v9 .stage-tab:after{display:none}
.editor-v9 .topbar>.project-switcher{justify-self:center;min-width:0;display:flex;align-items:center;justify-content:center;gap:12px;max-width:100%;margin:0;padding:9px 8px;border:0;background:none;border-radius:4px;color:#475144}
.editor-v9 #projectNameTop{font-size:12px;font-weight:500;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit}
.editor-v9 .project-switcher b{color:#8a9485;font-size:12px;font-weight:400}
.editor-v9 .project-switcher:hover{background:#f0f3ec}
.editor-v9 .top-actions{grid-row:auto;grid-column:auto;display:flex;gap:7px;align-items:center}
.editor-v9 .top-actions .icon-btn{display:grid;place-items:center;width:31px;height:34px;color:#354332}
.studio-icon{width:21px;height:21px;display:block;flex:none}
.editor-v9 .top-actions .icon-btn:disabled{opacity:.3}
.editor-v9 .workspace-file-menu summary{padding:9px 10px;font-size:11px;color:#4c5847}
.editor-v9 .top-actions>.btn.primary{height:35px;min-height:35px;display:flex;gap:8px;padding:0 11px;border:1px solid #d9e0d2;background:#f4f7ef;color:#2e4934;font-size:11px}
.editor-v9 .top-actions>.btn.primary svg{width:17px;height:17px}
.editor-v9 button:focus-visible,.editor-v9 a:focus-visible,.editor-v9 input:focus-visible,.editor-v9 select:focus-visible,.editor-v9 textarea:focus-visible,.editor-v9 summary:focus-visible{outline:2px solid #6d9659;outline-offset:3px}
.editor-v9 .btn.primary{background:var(--studio-forest);border-color:var(--studio-forest);color:#fff}
.editor-v9 .btn,.editor-v9 input,.editor-v9 select,.editor-v9 textarea,.editor-v9 .unit-input{border-radius:var(--studio-radius)}
.editor-v9 .stage-host{margin:0}
.editor-v9 #stage-base.active{display:grid;grid-template-columns:var(--studio-rail-width) minmax(0,1fr) 288px}
.editor-v9 #stage-plan.active{display:grid;grid-template-columns:var(--studio-rail-width) 0 minmax(0,1fr) 288px;grid-template-areas:'rail drawer canvas inspector'}
.editor-v9.drawer-open #stage-plan.active{grid-template-columns:var(--studio-rail-width) 236px minmax(0,1fr) 288px}
.editor-v9 #stage-plan>.toolrail{grid-area:rail}
.editor-v9 #canvasWrap{grid-area:canvas;min-width:0}
.editor-v9 #inspector{grid-area:inspector}
.editor-v9 .toolrail{position:static;width:auto;padding:14px 7px;gap:8px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#6b846a transparent;background:var(--studio-forest);border:0;border-radius:0;box-shadow:none;min-height:0}
.editor-v9 #stage-plan .toolrail{padding:14px 7px;gap:8px}
.editor-v9 .toolrail>.tool,.editor-v9 #stage-plan .toolrail>.tool{width:66px;height:59px;min-height:59px;flex:none;border-radius:5px;color:#e9efe4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:5px 2px;background:transparent}
.editor-v9 .toolrail>.tool>span{display:block;max-width:100%;font-size:10px;line-height:1.2;font-weight:400;letter-spacing:0;white-space:nowrap;color:inherit}
.editor-v9 .toolrail>.tool b{display:block;width:23px;height:23px;line-height:23px;font-size:22px;color:inherit}
.editor-v9 .toolrail .tool svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.editor-v9 .toolrail>.tool:hover{background:var(--studio-forest-hover)}
.editor-v9 .toolrail>.tool.active,.editor-v9 #stage-plan .toolrail>.tool.active,.editor-v9 #stage-plan .toolrail>.tool[aria-expanded=true]{background:#deebcd;color:#29472e}
.editor-v9 .toolrail>.ai-tool{background:transparent!important;color:#e9efe4!important}
.editor-v9 .toolrail>.ai-tool:hover{background:var(--studio-forest-hover)!important}
.editor-v9 .planner-drawer{grid-area:drawer;display:none;min-width:0;min-height:0;overflow:hidden;border-right:1px solid var(--studio-line);background:#fafbf8;flex-direction:column}
.editor-v9.drawer-open .planner-drawer{display:flex}
.drawer-head{display:flex;align-items:center;gap:6px;padding:10px 12px 0;border-bottom:1px solid var(--studio-line);min-height:58px}
.drawer-tabs{display:flex;flex:1;min-width:0;gap:14px;height:100%;align-items:center}
.drawer-tabs button{border:0;border-bottom:2px solid transparent;padding:18px 0 16px;background:none;font:inherit;font-size:12px;color:#7b8575;cursor:pointer;white-space:nowrap}
.drawer-tabs button[aria-pressed=true]{border-bottom-color:#436b4b;color:#263f2d;font-weight:600}
.drawer-close{border:0;background:none;color:#929c8b;font-size:21px;width:23px;height:30px;cursor:pointer;flex:none}
.drawer-search{display:flex;align-items:center;gap:8px;margin:18px 14px;background:#eff2ea;border:1px solid transparent;border-radius:5px;padding:10px}
.drawer-search:focus-within{border-color:#91a582}
.drawer-search .studio-icon{width:15px;height:15px;color:#76826d}
.drawer-search input{width:100%;min-width:0;background:none;border:0;font:inherit;font-size:11px;color:#35472f;padding:0;outline:none!important}
.drawer-search input::placeholder{color:#929b89}
.drawer-content{overflow-y:auto;scrollbar-width:thin;min-height:0;padding:0 14px 24px}
.editor-v9 .quick-objects{border:0;margin:0;padding:0}
.editor-v9 #quickObjectList,.editor-v9 #plannerLibraryGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 10px}
.editor-v9 .quick-object,.drawer-object{display:flex;flex-direction:column;border:1px solid transparent;background:none;border-radius:5px;min-width:0;width:100%;padding:0;color:#43503d;font:inherit;text-align:center;cursor:pointer}
.editor-v9 .quick-object-preview,.drawer-object-image{display:flex;align-items:center;justify-content:center;width:100%;height:101px;padding:7px;background:#f0f3eb;border-radius:5px;transition:background .15s ease;box-sizing:border-box}
.editor-v9 .quick-object-preview svg,.drawer-object-image svg{width:100%;height:100%;display:block}
.editor-v9 .quick-object-name,.drawer-object-name{font-size:11px;line-height:1.4;font-weight:400;max-width:100%;padding:7px 2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.editor-v9 .quick-object:hover,.drawer-object:hover{border-color:transparent;background:none}
.editor-v9 .quick-object:hover .quick-object-preview,.drawer-object:hover .drawer-object-image{background:#e4ecd9}
.drawer-empty,.editor-v9 .quick-objects-empty{grid-column:1/-1;text-align:center;color:var(--studio-muted);font-size:12px;padding:28px 10px;line-height:1.6}
.editor-v9 .canvas-wrap{background:var(--studio-canvas);overflow:hidden}
.editor-v9 .sheet{fill:#f4f5ef;stroke:#e0e5d8}
.editor-v9 .grid-small{stroke:#e7ebdf;stroke-width:.5}
.editor-v9 .grid-large{stroke:#dce2d3;stroke-width:.8}
.canvas-tools{position:absolute;top:21px;left:50%;transform:translateX(-50%);z-index:20;display:flex;align-items:center;gap:3px;padding:5px;background:#fffffff0;border:1px solid #dce3d4;border-radius:6px;box-shadow:0 5px 18px #384c2710;backdrop-filter:blur(10px)}
.editor-v9 .canvas-tools button,.editor-v9 .canvas-tools .tool{width:35px;height:34px;min-height:34px;padding:0;display:grid;place-items:center;border:0;border-radius:4px;background:transparent;color:#4a5941;cursor:pointer}
.editor-v9 .canvas-tools .tool b{height:20px;display:block}
.editor-v9 .canvas-tools svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}
.editor-v9 .canvas-tools button:hover{background:#edf2e6}
.editor-v9 .canvas-tools button.active{background:#dfebcf;color:#2f4f30}
.editor-v9 .canvas-tools button:disabled{opacity:.27;cursor:default;background:none}
.canvas-tool-divider{height:20px;width:1px;background:#e1e7db;margin:0 4px}
.editor-v9 #stage-plan .canvas-status{top:76px;left:16px}
.editor-v9 .view-dock{bottom:22px;height:44px;padding:4px 7px;border-radius:6px;border-color:#dce3d4;box-shadow:0 6px 20px #334b2610;background:#fffffff0;gap:4px}
.editor-v9 .view-dock button{width:34px;display:grid;place-items:center;color:#53634b;border-radius:4px}
.editor-v9 .view-dock button:hover{background:#edf2e5}
.editor-v9 .view-dock span:not(#zoomLabel):not(#baseZoomLabel){display:none}
.editor-v9 .view-dock #zoomLabel,.editor-v9 .view-dock #baseZoomLabel{width:40px;font-size:10px;color:#7e8975;background:none}
.canvas-zoom-slider{width:96px;accent-color:#638753;cursor:pointer;height:3px;padding:0;border:0}
.editor-v9 .inspector{background:#fcfdfb;border-left:1px solid var(--studio-line);scrollbar-width:thin;scrollbar-color:#cbd4c2 transparent}
.editor-v9 .inspector-head{padding:22px 20px;min-height:85px;gap:10px;border-bottom:1px solid var(--studio-line);background:#fcfdfbf5;box-shadow:none}
.editor-v9 .inspector-head>div:not(.inspector-object-preview){flex:1;min-width:0}
.editor-v9 .inspector-head h2{font-size:15px;line-height:1.4;font-weight:600;letter-spacing:-.25px;margin:0;color:#293527;overflow-wrap:anywhere}
.editor-v9 .inspector-head .icon-btn{width:24px;height:28px;font-size:20px;color:#9ca592;border:0;background:none;flex:none}
.inspector-object-preview{width:49px;height:49px;background:#f1f4ec;border-radius:4px;flex:none}
.inspector-object-preview svg{width:100%;height:100%;display:block}
.inspector-object-caption{font-size:10px;color:#8b9582;margin:4px 0 0;line-height:1.5}
.editor-v9 .inspector-body{padding:23px 20px}
.editor-v9 #objectInspector{padding:0 20px 25px}
.inspector-tabs{display:flex;gap:22px;border-bottom:1px solid var(--studio-line);margin-bottom:23px}
.inspector-tabs button{border:0;border-bottom:2px solid transparent;color:#939b89;font:inherit;font-size:11px;font-weight:500;padding:19px 0 15px;background:none;cursor:pointer;white-space:nowrap}
.inspector-tabs button[aria-pressed=true]{border-bottom-color:#527346;color:#30452b}
.property-section{margin:0 0 28px;padding:0;border:0}
.property-section h3{font-size:12px;line-height:1.5;font-weight:600;margin:0 0 13px;letter-spacing:-.1px;color:#3b4c33}
.property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.editor-v9 .field{margin-bottom:14px}
.editor-v9 .field>span{font-size:11px;font-weight:400;color:#68775e;margin-bottom:7px}
.editor-v9 .field-grid{gap:11px}
.editor-v9 .field input,.editor-v9 .field select,.editor-v9 .field textarea{font-family:inherit;font-size:12px;color:#33452d;box-shadow:none;border-color:#dfe5d7;background:#f9faf6}
.editor-v9 .unit-input{background:#f9faf6;border:1px solid #dfe5d7;box-shadow:none;min-height:37px;height:37px}
.editor-v9 .unit-input input{min-width:0;padding:8px 5px 8px 9px;background:none;border:0;font-weight:400;font-size:12px}
.editor-v9 .unit-input em{font-size:10px;color:#9aa38f;padding-right:7px;min-width:0}
.property-grid .field,.property-grid #objManualHeightField{margin:0;min-width:0}
.property-grid .unit-input input::-webkit-inner-spin-button{appearance:none;margin:0}
.property-grid .unit-input input{appearance:textfield;-moz-appearance:textfield}
.editor-v9 .property-section .object-orientation-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:10px 0 0}
.editor-v9 .object-orientation-actions .btn{font-size:10px;padding:8px 4px;height:32px;min-height:32px;background:#f4f7ef;border-color:#e0e6d9;color:#64785a}
.editor-v9 #objFrontFlipBtn{grid-column:1/-1;background:transparent;border-color:transparent;text-align:left;justify-content:flex-start;font-size:10px}
.property-disclosure{border-top:1px solid var(--studio-line);padding:16px 0;margin:4px 0 18px}
.property-disclosure summary{font-size:12px;color:#617557;cursor:pointer;list-style:none;display:flex;justify-content:space-between}
.property-disclosure summary:after{content:'+';color:#92a483}
.property-disclosure[open] summary{margin-bottom:17px}
.property-disclosure[open] summary:after{content:'−'}
.editor-v9 .placement-summary{font-size:10px;line-height:1.6;background:#f2f5ed;border-color:#e4e9dd;color:#819173;padding:10px}
.editor-v9 .inspector-actions{padding-top:16px;border-top:1px solid var(--studio-line);gap:8px}
.editor-v9 .inspector-actions .btn{font-size:11px;background:#f3f6ee;color:#677e5c;border:1px solid #e1e7d9;min-height:35px;height:35px}
.editor-v9 .inspector-actions .btn.danger{background:transparent;border-color:transparent;color:#9c7a6b}
.editor-v9 .section-title{font-size:10px;letter-spacing:.08em;color:#8d9982;border-color:#e6ebdf}
.editor-v9 .hint{font-size:10px;line-height:1.7;color:#95a08a}
.editor-v9 .inspector-empty-action{padding:8px 0 25px}
.editor-v9 .inspector-empty-action>span{color:#c6d0bb}
.editor-v9 .switch-row{color:#738168;font-size:11px}
.editor-v9 .switch-row input:checked+i{background:#527247}
.editor-v9 .object .selection-ring{stroke:#6e9b55;stroke-width:3;stroke-dasharray:none}
.editor-v9 .object.selected rect.object-body{stroke:#709858;stroke-width:3}
.editor-v9 .resize-handle,.editor-v9 .rotate-handle,.editor-v9 .wall-handle,.editor-v9 .door-handle,.editor-v9 .base-node{stroke:#719653;fill:#f5f9ee}
.editor-v9 .rotate-line,.editor-v9 .measure-line,.editor-v9 .preview-wall,.editor-v9 .base-selected .wall-accent{stroke:#719653!important}
.editor-v9 .walk-start-label,.editor-v9 .walk-start-arrow{fill:#4c7549}
.editor-v9 .walk-start-ring,.editor-v9 .walk-start-center{stroke:#6d8e5c}
.editor-v9 .save-state{background:transparent;border:0;box-shadow:none;color:#8d9a80;font-size:9px;right:18px;bottom:12px}
.editor-v9 .tour-topbar{background:#fcfdfaf2;border-color:#d9e2ce;box-shadow:0 6px 20px #3549290d}
.editor-v9 .tour-topbar .segmented button.active{background:#dce8cd;color:#2f4c2c}
.editor-v9 .tour-topbar .btn{color:#6a7f5d;border-color:#e0e7d7;background:#fcfdf9}
.editor-v9 .inventory-shell{max-width:1240px}
.editor-v9 #stage-inventory{background:#f7f9f2}
.editor-v9 .object-workspace-tabs button[aria-pressed=true]{background:#dfe9d2;color:#354f2d}
.editor-v9 .inventory-toolbar>.btn{background:#36533b;border-color:#36533b}
.editor-v9 .inv-preview{background:#edf2e5;border-radius:5px}
.editor-v9 .inventory-head h1{color:#30412a}
.editor-v9 .inventory-shell .button.dark{background:#36533b;border-color:#36533b}
.editor-v9 .custom-model-badge{background:#edf3e5;color:#6c875b;border-color:#dce6d1;font-size:10px}
.editor-v9 #objColor{width:100%;height:37px;padding:5px;cursor:pointer}
@media(min-width:851px) and (max-width:1250px){.editor-v9 .topbar{gap:12px;padding-inline:17px}.editor-v9 .brand{padding-right:16px}.editor-v9 .brand-copy>strong{font-size:21px!important}.editor-v9 .stage-tab{padding-inline:11px;font-size:11px}.editor-v9 #projectNameTop{max-width:170px;font-size:11px}.editor-v9 .top-actions{gap:3px}.editor-v9 .top-actions>.btn.primary{padding-inline:8px}.editor-v9 .workspace-file-menu summary{padding-inline:6px}}
@media(min-width:851px) and (max-width:1100px){.editor-v9 #stage-plan.active,.editor-v9.drawer-open #stage-plan.active{grid-template-columns:var(--studio-rail-width) 0 minmax(0,1fr) 264px}.editor-v9 #stage-base.active{grid-template-columns:var(--studio-rail-width) minmax(0,1fr) 264px}.editor-v9 .planner-drawer{position:absolute;left:var(--studio-rail-width);top:0;bottom:0;width:236px;z-index:35;box-shadow:14px 0 30px #253a2514}.editor-v9 .top-actions>.btn.primary span{display:none}.editor-v9 .topbar{gap:8px}.editor-v9 .brand{padding-right:10px}.editor-v9 #projectNameTop{max-width:135px}}
@media(max-width:850px){.editor-v9{--studio-rail-width:72px}.editor-v9 .app-shell{grid-template-rows:60px minmax(0,1fr)}.editor-v9 .topbar{height:60px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;padding:0 12px;gap:8px}.editor-v9 .brand{padding:0;border:0;gap:7px}.editor-v9 .brand-copy>strong{font-size:18px!important;letter-spacing:-.8px}.editor-v9 .brand-mark,.editor-v9 .brand-mark img{width:23px;height:23px}.editor-v9 .topbar>.project-switcher{padding:8px 3px;gap:6px;justify-self:stretch}.editor-v9 #projectNameTop{font-size:10px;max-width:160px}.editor-v9 .top-actions{display:none}.editor-v9 .top-actions.mobile-open{display:flex;position:absolute;top:60px;left:0;right:0;padding:12px;background:#fcfdfb;border-bottom:1px solid var(--studio-line);z-index:130;justify-content:flex-end}.editor-v9 .mobile-controls{display:flex;gap:5px;margin:0}.editor-v9 .mobile-controls button{background:#f5f8ef;border-color:#e1e8d8;color:#667d57;font-size:10px}.editor-v9 .stage-tabs{position:fixed!important;left:0;right:0;bottom:0;top:auto!important;width:100%;height:57px;display:grid;grid-template-columns:repeat(4,1fr);padding:7px;border-top:1px solid #e1e7d8;gap:3px;background:#fcfdfaf5;z-index:100;backdrop-filter:blur(10px)}.editor-v9 .stage-tab{height:42px;font-size:11px;padding:0 5px}.editor-v9 .stage-host{margin-bottom:57px}.editor-v9 #stage-plan.active,.editor-v9.drawer-open #stage-plan.active{display:grid;grid-template-columns:var(--studio-rail-width) minmax(0,1fr);grid-template-areas:'rail canvas'}.editor-v9 #stage-base.active{display:grid;grid-template-columns:var(--studio-rail-width) minmax(0,1fr)}.editor-v9 #stage-base .canvas-wrap,.editor-v9 #stage-plan .canvas-wrap{position:relative;inset:auto;min-width:0}.editor-v9 .toolrail,.editor-v9 #stage-plan .toolrail{position:static;inset:auto;width:var(--studio-rail-width);padding:12px 5px;gap:7px;border:0;border-radius:0;box-shadow:none}.editor-v9 .toolrail>.tool,.editor-v9 #stage-plan .toolrail>.tool{width:62px;height:55px;min-height:55px}.editor-v9 .toolrail .tool svg{width:21px;height:21px}.editor-v9 .planner-drawer{position:absolute;left:var(--studio-rail-width);top:0;bottom:0;width:min(260px,calc(100vw - var(--studio-rail-width) - 10px));z-index:35;box-shadow:10px 0 30px #253a2520}.editor-v9 .inspector{position:absolute;right:0;left:auto;top:0;bottom:0;width:min(288px,calc(100vw - var(--studio-rail-width)));border-radius:0;z-index:40;box-shadow:-8px 0 25px #253a2510}.editor-v9 .canvas-tools{top:14px;padding:4px;gap:1px;border-radius:5px}.editor-v9 .canvas-tools button,.editor-v9 .canvas-tools .tool{width:30px;height:31px;min-height:31px}.canvas-tool-divider{margin:0 2px}.editor-v9 .view-dock{height:39px;bottom:17px;padding-inline:3px;gap:1px;max-width:calc(100% - 16px)}.editor-v9 .view-dock button{width:29px}.canvas-zoom-slider{width:60px}.editor-v9 .view-dock #zoomLabel{width:33px;font-size:9px}.editor-v9 .save-state{bottom:62px;right:10px;font-size:8px}.editor-v9 .field input,.editor-v9 .field select,.editor-v9 .field textarea{font-size:16px}.editor-v9 .property-grid .unit-input input{font-size:13px}.editor-v9 .tour-topbar{bottom:16px!important}.editor-v9 .tour-help{top:14px}.editor-v9 .inspector-head{padding:18px 17px;min-height:75px}.editor-v9 #objectInspector{padding-inline:17px}.editor-v9 .quick-object-preview,.drawer-object-image{height:104px}}
@media(max-width:500px){.editor-v9 .brand-copy{display:none}.editor-v9 .topbar>.project-switcher{justify-self:start;justify-content:flex-start}.editor-v9 #projectNameTop{max-width:160px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.quick-object-preview,.drawer-object-image{transition:none}}
