:root{--bg:#f5f6f2;--paper:#fff;--ink:#283a31;--muted:#879187;--line:#e5e9e1;--green:#24785c;--green-deep:#1e5946;--pale:#edf4ed;--amber:#a47738;--danger:#b45b4d;--rail:68px;--panel:292px;--inspector:276px;--header:70px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-size:13px;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none;transition:background .15s,box-shadow .15s,color .15s}button:disabled{cursor:not-allowed;opacity:.42}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #80b398;outline-offset:3px}button:hover:not(:disabled){background:#eef2ec}input,select,textarea{border:1px solid #dde4d9;border-radius:9px;background:#fff;min-width:0;max-width:100%;outline:none}input:focus,textarea:focus,select:focus{border-color:#64a88b;box-shadow:0 0 0 3px #eaf3ed}input:disabled{background:#f4f5f1;color:#7c867c}h1,h2,h3,p{margin:0}h2{font-size:19px;line-height:1.35;letter-spacing:-.5px}h3{font-size:13px;line-height:1.5}small{font-size:11px;color:var(--muted);line-height:1.6}.icon{flex:none;vertical-align:middle;pointer-events:none}#app{height:100dvh;display:grid;grid-template-columns:var(--rail) var(--panel) minmax(0,1fr) var(--inspector);grid-template-rows:var(--header) minmax(0,1fr) 32px;isolation:isolate}.boot{grid-column:1/-1;display:grid;place-items:center;height:100dvh}.topbar{grid-column:1/-1;display:flex;align-items:center;gap:18px;padding:0 22px;background:var(--paper);border-bottom:1px solid var(--line);z-index:20}.brand{display:flex;align-items:center;gap:10px;min-width:235px}.brandmark{display:grid;place-items:center;width:35px;height:37px;background:var(--green-deep);color:#fff;border-radius:11px}.brandmark .icon{width:25px;height:25px}.brandword{font-size:15px;font-weight:700;letter-spacing:-.35px}.brandword span{display:block;font-size:8px;letter-spacing:2.6px;font-weight:600;color:#8d958b;margin-top:4px}.header-divider{height:26px;border-left:1px solid var(--line)}.project-title{font-weight:600;display:flex;align-items:center;gap:10px;max-width:310px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-title .icon{width:14px;transform:rotate(90deg);color:var(--muted)}.top-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.saved-status{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);white-space:nowrap;margin-right:12px}.status-dot{width:6px;height:6px;background:#63a279;border-radius:50%}.icon-btn{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:#68776b}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 13px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:12px;font-weight:600;min-height:38px;line-height:1.3}.btn.primary{background:var(--green);border-color:var(--green);color:#fff}.btn.primary:hover:not(:disabled){background:var(--green-deep)}.btn.subtle{background:#f2f6ef;border-color:transparent;color:var(--green)}.btn.danger{color:var(--danger)}.btn.full{width:100%}.btn.small{padding:7px 10px;min-height:32px;font-size:11px}.btn .icon{width:16px;height:16px}.rail{grid-column:1;grid-row:2;display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 8px;background:#fff;border-right:1px solid var(--line);z-index:15}.rail-btn{width:48px;min-height:57px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:9px;border-radius:10px;color:#889386}.rail-btn .icon{width:21px;height:21px}.rail-btn.active{background:var(--pale);color:var(--green);font-weight:650}.rail-bottom{margin-top:auto}.left-panel{grid-column:2;grid-row:2;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden;z-index:12}.panel-header{padding:25px 21px 18px}.eyebrow{font-size:9px;color:#93a08f;font-weight:600;letter-spacing:1.7px;text-transform:uppercase;margin-bottom:9px}.panel-header p{font-size:11px;color:var(--muted);margin-top:8px;line-height:1.65}.panel-body{overflow:auto;overscroll-behavior:contain;padding:0 20px 22px;scrollbar-width:thin;scrollbar-color:#dbe3d7 transparent;flex:1}.panel-close{display:none}.searchbox{display:block;position:relative;margin-bottom:14px}.searchbox>.icon{position:absolute;left:12px;top:11px;width:16px;height:16px;color:#8a9689}.searchbox input{width:100%;padding:10px 12px 10px 36px;background:#f7f9f4;font-size:11px;border-color:#edf0e8}.chips{display:flex;gap:6px;overflow:auto;scrollbar-width:none;margin:0 -20px 18px;padding:0 20px 4px}.chip{white-space:nowrap;flex:none;padding:7px 10px;border-radius:7px;font-size:10px;border:1px solid var(--line);color:#879082}.chip.active{background:var(--green);color:white;border-color:var(--green)}.section-label{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#8e978b;margin:5px 0 12px}.asset-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.asset-card{padding:0;text-align:left;background:#fff;border:1px solid #e9ede4;border-radius:12px;overflow:hidden;position:relative}.asset-card:hover:not(:disabled){background:white;box-shadow:0 5px 20px #233e2810;border-color:#b3c9b8}.asset-visual{height:96px;background:linear-gradient(150deg,#f7f7f2,#edeee7);display:flex;align-items:center;justify-content:center;overflow:hidden}.asset-visual svg{width:112px;height:88px}.asset-copy{padding:10px 9px 11px}.asset-copy b{display:block;font-size:10px;line-height:1.4;font-weight:600;min-height:28px}.asset-copy small{font-size:9px;display:block;margin-top:5px;letter-spacing:.05px}.asset-plus{position:absolute;right:7px;top:7px;background:#ffffffc9;border-radius:50%;width:22px;height:22px;display:grid;place-items:center;color:#78937b}.asset-plus .icon{width:12px;height:12px}.note{display:flex;gap:9px;border-radius:10px;padding:12px;background:#f5f7f1;color:#889081;font-size:10px;line-height:1.65;margin-top:17px}.note>.icon{width:15px;height:15px;margin-top:2px;color:#7b9278}.note.warning{background:#fbf4e8;color:#8a795b}.note.error{background:#f9ece7;color:var(--danger)}.viewport{grid-column:3;grid-row:2;position:relative;min-width:0;overflow:hidden;background:#edf0e9}.view-top{position:absolute;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:24px 25px;gap:10px;z-index:3;pointer-events:none}.view-top>*{pointer-events:auto}.room-badge{display:flex;gap:10px;align-items:center}.room-badge-icon{width:34px;height:34px;border:1px solid #d4dece;background:#f6f8f1b0;display:grid;place-items:center;border-radius:10px;color:#879782}.room-badge b{display:block;font-size:12px;font-weight:600;margin-bottom:4px}.room-badge small{font-size:10px}.scene-caption{position:absolute;top:86px;left:25px;z-index:3;color:#a0aa99;font-size:10px;pointer-events:none}.segmented{background:#ffffffe6;border:1px solid #e2e8dc;padding:4px;display:flex;border-radius:11px;box-shadow:0 4px 10px #24432b04}.segmented button{font-size:10px;display:flex;align-items:center;gap:5px;padding:8px 11px;border-radius:7px;color:#879381}.segmented button .icon{width:14px;height:14px}.segmented button.active{background:var(--green);color:#fff}.scene-canvas,.plan-svg{position:absolute;inset:0;width:100%;height:100%;touch-action:none;outline:none}.scene-canvas{cursor:grab}.scene-canvas:active{cursor:grabbing}.plan-svg .dimline{stroke:#9bab99;stroke-width:9}.plan-svg .dimension{font:115px Arial,sans-serif;fill:#7f917a;text-anchor:middle;letter-spacing:2px}.plan-svg .item-dimension{font:100px Arial,sans-serif;fill:#24785c;text-anchor:middle}.plan-item{cursor:grab}.plan-item.locked{cursor:pointer}.plan-svg [data-wall],.plan-svg [data-opening]{cursor:pointer}.plan-svg [data-vertex]{cursor:crosshair}.hidden{display:none!important}.view-bottom{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;align-items:flex-end;padding:22px 24px;gap:10px;z-index:4;pointer-events:none}.view-bottom>*{pointer-events:auto}.view-tools{display:flex;gap:6px;background:#fffffff2;border:1px solid #dfe7d9;border-radius:11px;padding:4px;box-shadow:0 4px 15px #193d2710}.view-tools .icon-btn{width:31px;height:31px}.view-tools .icon{width:17px;height:17px}.scene-hint{font-size:10px;color:#8d9a85;text-align:center;line-height:1.7;margin-bottom:3px;max-width:250px}.vr-button{background:#ffffffd9;backdrop-filter:blur(8px);border-color:#dce6d6;color:#6b7f65}.issue-badge{position:absolute;top:116px;left:25px;z-index:3;font-size:10px;display:flex;gap:6px;align-items:center;color:#75916c}.issue-badge .icon{width:12px;height:12px}.issue-badge.has-issues{color:#a47e48;background:#fffaf0d9;padding:7px 9px;border-radius:7px}.inspector{grid-column:4;grid-row:2;background:#fff;border-left:1px solid var(--line);overflow:auto;padding:25px 20px 20px;scrollbar-width:thin;scrollbar-color:#dbe3d7 transparent}.inspector .eyebrow{margin-bottom:12px}.inspector h2{font-size:16px}.inspector-thumb{height:120px;border-radius:13px;background:linear-gradient(135deg,#f5f6f0,#edf0e7);display:flex;align-items:center;justify-content:center;margin:17px 0 14px}.inspector-thumb svg{width:170px;height:114px}.pill{display:inline-flex;gap:5px;align-items:center;font-size:9px;border-radius:5px;padding:4px 7px;background:#f1f5ed;color:#84937b}.pill .icon{width:11px;height:11px}.divider{height:1px;background:var(--line);margin:20px 0}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;min-width:0}.field>span{font-size:10px;color:#8b9486}.field input,.field select{width:100%;padding:9px 10px;font-size:12px;font-weight:550}.field textarea{padding:12px;font-weight:400;width:100%;resize:vertical;min-height:120px;font-size:12px;line-height:1.7}.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.field-row.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field-row.three input{padding:9px 6px;font-size:11px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-weight:600;font-size:11px}.section-title span{font-size:9px;color:#8d9784;font-weight:400}.object-buttons{display:flex;gap:7px}.object-buttons .btn{flex:1}.swatches{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:6px}.swatch{width:26px;height:26px;border-radius:50%;background:var(--swatch);border:3px solid #fff;box-shadow:0 0 0 1px #e1e6dc}.swatch.active{box-shadow:0 0 0 2px var(--green)}input[type=color]{width:30px;height:29px;padding:0;border:0;background:none;cursor:pointer}.lock-row{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:10px;line-height:1.6}.lock-row span{color:#8d9686;display:block;font-size:9px}.toggle{width:32px;height:19px;background:#d8e1d2;border-radius:20px;padding:3px;flex:none}.toggle::after{content:'';display:block;width:13px;height:13px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0001}.toggle.on{background:var(--green)}.toggle.on::after{transform:translateX(13px)}.inspector-empty{padding:10px 0 0}.inspector-empty>p{margin-top:10px;font-size:11px;color:#879281;line-height:1.7}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0}.metric{background:#f6f8f2;padding:14px 11px;border-radius:11px;min-width:0}.metric b{display:block;font-size:21px;font-weight:550;letter-spacing:-.8px;white-space:nowrap}.metric span{display:block;font-size:9px;color:#8b987f;margin-top:7px}.objects-list{display:flex;flex-direction:column;gap:3px}.object-row{display:flex;align-items:center;gap:8px;width:100%;padding:9px 3px;text-align:left;font-size:10px;border-bottom:1px solid #f0f2ec;border-radius:5px}.object-row .icon{width:15px;height:15px;color:#92a08b}.object-row span{flex:1}.object-row small{font-size:9px}.footer{grid-column:1/-1;grid-row:3;display:flex;align-items:center;gap:18px;padding:0 23px;background:#fff;border-top:1px solid var(--line);font-size:9px;color:#a0a797;z-index:16}.footer span:last-child{margin-left:auto}.footer .green{color:#64885b}.toast{position:fixed;bottom:50px;left:50%;transform:translateX(-50%);max-width:min(640px,90vw);padding:13px 19px;background:#254633;color:#fff;border-radius:11px;box-shadow:0 8px 35px #182d2d25;z-index:100;font-size:12px;line-height:1.7}.palette-card{display:block;width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;margin-bottom:11px;text-align:left}.palette-card.active{border-color:#77a58b;background:#f5faf3}.palette-preview{display:flex;height:42px;gap:4px;margin-bottom:10px}.palette-preview span{flex:1;border-radius:6px}.palette-card b{font-size:11px}.palette-card small{display:block;margin-top:4px;font-size:10px}.stack{display:flex;flex-direction:column;gap:9px}.prompt-chip{display:block;width:100%;text-align:left;border:1px solid var(--line);border-radius:9px;padding:12px;font-size:11px;color:#6d8066;line-height:1.5}.ai-orb{width:53px;height:53px;border-radius:18px;background:radial-gradient(circle at 25% 20%,#a4c9a1,#4b8b6d 60%,#1e5c46);display:flex;align-items:center;justify-content:center;color:#fff;margin:0 0 16px}.ai-orb .icon{width:27px;height:27px}.step-list{list-style:none;padding:0;margin:12px 0;counter-reset:steps}.step-list li{position:relative;padding:10px 0 10px 27px;line-height:1.6;font-size:11px;border-bottom:1px solid var(--line)}.step-list li::before{counter-increment:steps;content:counter(steps);position:absolute;left:0;top:12px;background:var(--pale);color:var(--green);border-radius:50%;width:18px;height:18px;text-align:center;font-size:10px;line-height:18px}.issue-row{padding:11px;border:1px solid #eddcbe;border-radius:8px;font-size:11px;line-height:1.55;margin-bottom:8px;background:#fffbf3}.issue-row.error{border-color:#edd0c9;background:#fdf6f3;color:#a26154}.ref-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}.ref-card{position:relative;border:1px solid var(--line);border-radius:9px;overflow:hidden}.ref-card img{width:100%;height:95px;object-fit:cover;display:block}.ref-card button{position:absolute;right:4px;top:4px;background:#fff9;border-radius:5px;padding:3px}.ref-card small{display:block;padding:5px 7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opening-row{display:flex;justify-content:space-between;align-items:center;padding:12px 9px;border:1px solid var(--line);border-radius:9px;margin-bottom:8px}.opening-row b{font-size:11px}.opening-row small{display:block;font-size:9px}.dialog{border:1px solid #e3e8dd;border-radius:20px;padding:25px;max-width:min(560px,calc(100vw - 30px));width:520px;max-height:85dvh;color:var(--ink);box-shadow:0 24px 130px #12291430}.dialog::backdrop{background:#16312646;backdrop-filter:blur(4px)}.dialog header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.dialog header p{font-size:11px;color:var(--muted);line-height:1.6;margin-top:8px}.dialog header h2{font-size:21px}.dialog footer{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.project-row{display:flex;align-items:center;gap:12px;border:1px solid var(--line);padding:13px;border-radius:10px;margin-bottom:9px;width:100%;text-align:left}.project-row>div{flex:1}.project-row b{font-size:12px}.project-row small{display:block;font-size:10px;margin-top:4px}.project-row .icon{color:#8aa482}.project-row:hover{border-color:#afc6ae}.export-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.export-card{border:1px solid var(--line);border-radius:11px;padding:18px 13px;text-align:left}.export-card .icon{color:#618364;margin-bottom:14px}.export-card b{display:block;font-size:12px}.export-card small{display:block;line-height:1.6;margin-top:6px}.mobile-nav{display:none}.walk-controls{position:absolute;bottom:78px;left:24px;z-index:6;display:grid;grid-template-columns:repeat(3,36px);gap:5px}.walk-controls button{background:#ffffffeb;border:1px solid #dce5d5;border-radius:9px;height:36px;color:var(--green)}.walk-controls button:first-child{grid-column:2}.walk-controls button:nth-child(2){grid-column:1}.draw-toolbar{position:absolute;left:50%;transform:translateX(-50%);bottom:83px;z-index:8;display:flex;align-items:center;gap:9px;background:#fff;padding:12px;border-radius:12px;box-shadow:0 5px 30px #233b2120;white-space:nowrap}.draw-toolbar span{font-size:11px}.proposal-banner{position:absolute;left:20px;right:20px;bottom:87px;padding:13px;border:1px solid #a9c7aa;background:#f5fcf2;z-index:5;border-radius:11px;display:flex;align-items:center;gap:9px;font-size:11px}.proposal-banner span{flex:1}.empty-message{padding:25px 0;line-height:1.7;color:var(--muted);font-size:11px}.local-label{padding:10px;border-radius:9px;background:#f7f9f3;font-size:10px;color:#8b987f;line-height:1.7}.kv{display:flex;justify-content:space-between;gap:12px;font-size:11px;padding:10px 0;border-bottom:1px solid var(--line)}.kv span{color:#8a9681}.image-underlay{width:100%;max-height:170px;object-fit:contain;border-radius:10px;background:#f2f5ef}.input-hint{display:block;color:#9ba590;font-size:9px;line-height:1.6;margin-top:-4px;margin-bottom:11px}@media(min-width:1600px){:root{--panel:315px;--inspector:296px}.asset-visual{height:110px}.panel-header{padding-top:30px}.view-top{padding-top:28px}}
@media(max-width:1220px){:root{--panel:245px;--inspector:244px}.topbar{gap:11px;padding:0 15px}.brand{min-width:215px}.saved-status{display:none}.panel-header{padding:22px 16px 17px}.panel-body{padding:0 15px 20px}.inspector{padding:23px 15px 20px}.asset-visual{height:83px}.asset-copy b{font-size:9px}.asset-copy small{font-size:8px}.asset-grid{gap:8px}.view-top{padding:20px 17px;flex-wrap:wrap}.scene-caption{left:17px;top:117px}.issue-badge{left:17px;top:141px}.room-badge{min-width:125px}.segmented button{padding:7px 8px}.scene-hint{display:none}.view-bottom{padding:16px}.header-divider{display:none}.btn.header-export span{display:none}.project-title{max-width:190px}}
@media(max-width:1020px) and (min-width:761px){:root{--panel:246px;--inspector:0px}.inspector{display:none}.viewport{grid-column:3 / 5}.brand{min-width:210px}#app[data-mobile-panel="inspector"] .inspector{display:block;position:absolute;right:15px;top:90px;bottom:55px;width:260px;border:1px solid var(--line);border-radius:15px;box-shadow:0 10px 45px #273d211c;z-index:12}.tablet-props{display:inline-flex!important}}
@media(min-width:1021px){.tablet-props{display:none!important}}
@media(max-width:760px){:root{--header:60px}body{font-size:12px}#app{grid-template-columns:1fr;grid-template-rows:60px minmax(0,1fr) calc(62px + env(safe-area-inset-bottom))}.topbar{padding:0 13px;gap:10px;grid-row:1;grid-column:1}.brand{min-width:0;gap:0}.brandmark{width:32px;height:34px;border-radius:10px}.brandword,.header-divider,.header-history,.header-copy{display:none}.project-title{font-size:12px;max-width:170px;gap:4px;padding:6px 0}.project-title .icon{width:12px}.top-actions{gap:3px}.header-export{padding:8px 10px;min-height:33px}.header-export .icon{width:16px}.top-actions .btn span{display:none}.top-actions .btn{padding:8px;min-height:33px}.rail{display:none}.viewport{grid-column:1;grid-row:2}.view-top{padding:16px;align-items:flex-start}.room-badge{min-width:100px}.room-badge b{font-size:11px}.room-badge small{font-size:9px}.room-badge-icon{display:none}.segmented{border-radius:9px;padding:3px}.segmented button{padding:7px 9px;font-size:10px}.segmented button .icon{display:none}.scene-caption{left:16px;top:65px;font-size:9px}.issue-badge{left:16px;top:86px;font-size:9px}.view-bottom{padding:14px;gap:8px}.view-tools .icon-btn{width:30px;height:30px}.view-tools .icon{width:15px}.view-tools{gap:2px;padding:3px;border-radius:9px}.vr-button{font-size:10px;padding:7px 10px;min-height:36px}.footer{display:none}.left-panel,.inspector{display:none;position:absolute;inset:auto 9px calc(70px + env(safe-area-inset-bottom));max-height:66dvh;background:#fff;border:1px solid #e0e7d9;border-radius:18px;box-shadow:0 -15px 55px #27382b1a;z-index:25;grid-column:unset;grid-row:unset}#app[data-mobile-panel="left"] .left-panel{display:flex}#app[data-mobile-panel="inspector"] .inspector{display:block;padding:21px 19px}.panel-header{padding:21px 19px 15px}.panel-header h2{font-size:18px}.panel-header .eyebrow{display:none}.panel-header p{margin-top:6px;font-size:10px;padding-right:20px}.panel-body{padding:0 18px 18px}.panel-close{display:flex;position:absolute;right:12px;top:12px;width:30px;height:30px;z-index:2;background:#f4f6ef}.mobile-nav{grid-row:3;grid-column:1;display:flex;justify-content:space-around;align-items:flex-start;padding:9px 5px calc(7px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);z-index:30}.mobile-nav button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px 8px;font-size:9px;color:#8b9983;border-radius:8px;min-width:50px}.mobile-nav button.active{color:var(--green);background:#f1f6ec}.mobile-nav .icon{width:20px;height:20px}.asset-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.asset-visual{height:84px}.asset-visual svg{width:99px;height:79px}.asset-copy{padding:7px 8px}.asset-copy b{font-size:9px;min-height:26px}.asset-copy small{font-size:8px}.chips{margin-bottom:12px}.searchbox{display:block;margin-bottom:10px}.inspector-thumb{height:91px;margin:12px 0}.inspector-thumb svg{height:87px}.metric-grid{margin:15px 0}.metric b{font-size:20px}.toast{bottom:85px;max-width:calc(100vw - 26px);width:max-content;padding:12px 15px;font-size:11px}.dialog{border-radius:17px;padding:21px;width:calc(100vw - 24px)}.dialog header h2{font-size:19px}.dialog header{margin-bottom:15px}.draw-toolbar{width:calc(100% - 28px);white-space:normal;bottom:70px;padding:10px}.draw-toolbar span{font-size:10px}.draw-toolbar .btn{padding:7px 9px;font-size:10px}.proposal-banner{left:12px;right:12px;bottom:70px;flex-wrap:wrap}.proposal-banner span{flex-basis:100%}.walk-controls{left:14px;bottom:68px}.tablet-props{display:none!important}}
@media(max-width:370px){.project-title{max-width:130px}.asset-grid{grid-template-columns:1fr 1fr}.segmented button{padding:7px}.brandmark{width:29px}.topbar{gap:6px;padding:0 10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* v0.2: room navigation and precise design controls. */
.room-list{display:grid;gap:7px}.room-card{display:flex;gap:10px;align-items:center;text-align:left;width:100%;padding:12px;border:1px solid var(--line,#dae2d7);border-radius:12px;background:#fff;color:#304636}.room-card.active{background:#e6f2e9;border-color:#84b399}.room-card>span:nth-child(2){flex:1;min-width:0}.room-card b{display:block;font-size:12px;overflow-wrap:anywhere}.room-card small{display:block;font-size:10px;margin-top:4px;color:#718074}.room-card svg{width:14px;height:14px}.room-index{font-size:11px;font-weight:600;color:#799680}.apartment-total{font-size:11px;padding:12px 0 0;color:#66806e}.layers-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:11px;color:#596e61}.layers-grid label,.check-line{display:flex;align-items:center;gap:8px}.layers-grid input{accent-color:#1f8f6b}.wall-pills{display:flex;flex-wrap:wrap;gap:6px}.check-line{font-size:12px;line-height:1.5;margin:12px 0}.plan-mode-strip{position:absolute;bottom:76px;left:50%;transform:translateX(-50%);z-index:6;display:flex;gap:6px;align-items:center;background:#ffffffed;border:1px solid #d7e2d8;border-radius:13px;box-shadow:0 6px 25px #243d3210;padding:7px;max-width:95%;white-space:nowrap}.plan-mode-strip>span{font-size:10px;color:#6f8275;padding:0 5px}.plan-mode-strip .btn{font-size:10px;padding:7px 9px}.plan-mode-strip .btn svg{width:14px;height:14px}[data-plan-tool=pan] .plan-svg{cursor:grab}[data-plan-tool=measure] .plan-svg,[data-plan-tool=note] .plan-svg{cursor:crosshair}.plan-svg .drawing-title{font:150px Arial;text-anchor:middle;fill:#233a32}.plan-svg .drawing-note{font:80px Arial;fill:#536459}.plan-svg .point-label{font:80px Arial;fill:#215444}.plan-svg .room-label{font:135px Arial;text-anchor:middle;fill:#33483c;paint-order:stroke;stroke:#f5f8f0;stroke-width:18px;stroke-linejoin:round}.plan-svg .room-area{font:105px Arial;text-anchor:middle;fill:#56695b;paint-order:stroke;stroke:#f5f8f0;stroke-width:15px}.plan-svg .dimension{paint-order:stroke;stroke:#fff;stroke-width:20px;stroke-linejoin:round}.plan-svg [data-room]{cursor:pointer}.plan-svg [data-wallpoint],.plan-svg [data-annotation]{cursor:pointer}.rail{overflow-y:auto;scrollbar-width:thin}.field select{width:100%;min-width:0}.room-badge b{max-width:175px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opening-row{width:100%;text-align:left}.object-row small{font-size:9px}.plan-svg{touch-action:none}
@media(max-width:1020px){.plan-mode-strip{bottom:80px}.plan-mode-strip>span{display:none}}@media(max-width:600px){.plan-mode-strip{bottom:74px;padding:5px;gap:4px}.plan-mode-strip .btn{padding:7px 8px}.room-badge b{max-width:145px}.layers-grid{font-size:12px}.check-line{font-size:13px}.room-card b{font-size:13px}.room-card small{font-size:11px}}

/* Elevation drawings stay between fixed viewport controls. */
#app[data-elevation-view="true"] .plan-svg{top:125px;bottom:125px;height:calc(100% - 250px)}
#app[data-elevation-view="true"] .scene-caption,#app[data-elevation-view="true"] #issue-badge{display:none}
.plan-svg .drawing-note{font:66px Arial;fill:#536459}.plan-svg .drawing-subtitle{font:85px Arial;fill:#536459}
@media(max-width:760px){#app[data-elevation-view="true"] .plan-svg{top:70px;bottom:120px;height:calc(100% - 190px)}}
/* 0.3 asset/material workspace and in-view editing. */
.spatial-editbar{position:absolute;top:93px;left:20px;right:20px;display:flex;align-items:center;gap:8px;z-index:8;pointer-events:auto;flex-wrap:wrap}.spatial-editbar button,.spatial-editbar select{border:1px solid #d3dcd4;border-radius:9px;background:#fffffff2;padding:9px 12px;font:inherit;font-size:11px;color:#334b3d;box-shadow:0 3px 12px #152b1410;min-height:36px}.spatial-editbar button.active{background:#1f7657;color:white;border-color:#1f7657}.edit-buttons{display:flex;gap:3px;padding:3px;background:#ffffffcc;border:1px solid #d8ded6;border-radius:12px}.edit-buttons button{border:0;box-shadow:none;background:transparent;padding:7px 12px}.scene-caption{top:155px}.own-heading{display:flex;justify-content:space-between;font-size:14px;margin-bottom:12px}.own-heading span{background:#e0e9df;border-radius:15px;padding:2px 8px}.own-library .input-hint{display:block;margin:10px 0;font-size:11px;line-height:1.6}.own-grid{display:grid;gap:8px}.own-card{position:relative;border:1px solid #d4dfd5;border-radius:12px;background:#f3f7f0}.own-add{padding:12px;width:100%;display:grid;gap:6px;text-align:left;border:none;background:none}.own-add b{padding-right:17px;font-size:12px}.own-add small{font-size:10px;line-height:1.5;color:#617261}.own-add>span:last-child{color:#247f5d;font-size:11px;font-weight:600}.file-badge{font-size:9px;letter-spacing:1.4px;width:max-content;background:#e0e9e0;padding:4px 7px;border-radius:5px}.own-remove{position:absolute;right:6px;top:8px;border:0;background:none;font-size:19px;color:#778879}.exact-color{display:flex;align-items:center;gap:10px;margin:12px 0;padding:12px 0;border-top:1px solid #e3e8df;border-bottom:1px solid #e3e8df}.exact-color small{display:block;font-size:10px;color:#778071;margin-top:4px}.exact-color b{font-size:12px}.exact-color button{margin-left:auto}.color-disc{width:35px;height:35px;border-radius:10px;border:1px solid #0002;flex-shrink:0}.texture-preview{width:100%;max-height:110px;object-fit:cover;border-radius:9px;margin:12px 0;border:1px solid #deded6}.material-workbench details{font-size:11px;margin:12px 0}.material-workbench summary{cursor:pointer;color:#5c705e;margin:10px 0}.material-workbench .input-hint{line-height:1.6;margin:12px 0;font-size:10px}.material-workbench input[type=number],.material-workbench select{min-width:0;width:100%}.material-workbench .field-row{gap:7px}.texture-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.texture-grid button{background:#f8faf6;border:1px solid #d4dcd0;border-radius:9px;padding:5px;overflow:hidden;text-align:left}.texture-grid img{width:100%;height:70px;object-fit:cover;border-radius:6px}.texture-grid span{display:block;font-size:10px;padding:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ratio-toggle{display:flex;gap:8px;align-items:flex-start;line-height:1.6;font-size:11px;margin:12px 0}.ratio-toggle input{margin-top:3px;accent-color:#238163}.model-info{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;font-size:12px;text-align:center}.model-info>svg{width:34px;height:34px;color:#248661}.model-info small{font-size:10px;line-height:1.6;color:#667b68}.color-hero{display:flex;align-items:center;gap:18px;margin:18px 0}.color-hero input[type=color]{width:82px;height:68px;border:0;background:none}.color-hero small{display:block;margin-top:6px;font-size:12px;color:#6e806e}.dialog-subtitle{font-size:13px;color:#768173;margin:10px 0}.color-error{min-height:20px;font-size:12px;color:#b04439;margin:10px 0}.import-drop{border:1px dashed #8ea78f;background:#f4f7ef;border-radius:13px;padding:22px;margin:18px 0}.import-drop p{font-size:12px;line-height:1.6;margin:10px 0 18px}.import-drop input{max-width:100%;font-size:12px}.dialog input[type=number],.dialog select{min-height:39px}.dialog .input-hint{margin-top:15px;line-height:1.7;font-size:11px}.dialog #import-status{line-height:1.6;margin-top:12px}.dialog #import-details .note{margin:8px 0;font-size:11px}#vr-workbench-preview{display:block;width:100%;max-height:65vh;aspect-ratio:9/10;object-fit:contain;touch-action:manipulation;margin:12px auto;background:#17251e;border-radius:12px}.dialog:has(#vr-workbench-preview){max-width:570px}.vr-workbench-preview-hint{font-size:11px}.material-workbench .field span{line-height:1.4}.material-workbench select{font-size:11px}
@media(max-width:1020px){.spatial-editbar{left:14px;right:14px;top:84px;gap:5px}.spatial-editbar button,.spatial-editbar select{padding:8px 9px;font-size:10px}.scene-caption{top:165px}.rich-inspector{padding-bottom:15px}}
@media(max-width:600px){.spatial-editbar{top:120px;left:9px;right:9px;gap:4px}.spatial-editbar .edit-buttons{width:100%;justify-content:space-between}.spatial-editbar .edit-buttons button{flex:1;font-size:11px;min-height:34px;padding:7px 5px}.spatial-editbar>button{font-size:10px;padding:8px 12px;min-height:34px}.spatial-editbar select{min-height:34px}.scene-caption{display:none}.material-workbench .field-row.three{grid-template-columns:repeat(3,minmax(0,1fr))}.dialog{max-height:92dvh}.dialog:has(#vr-workbench-preview){max-width:95vw}.color-hero{margin:8px 0}.color-hero input[type=color]{height:48px}.color-error{font-size:11px}}
#app:not([data-elevation-view="true"]) .issue-badge{top:179px;left:25px}.scene-caption{top:157px}
@media(max-width:1020px){#app:not([data-elevation-view="true"]) .issue-badge{top:171px;left:17px}.scene-caption{top:148px}}
@media(max-width:600px){#app:not([data-elevation-view="true"]) .issue-badge{top:210px;left:14px;max-width:85%;font-size:9px}.spatial-editbar{top:116px}.vr-button{max-width:115px}}

#vr-workbench-preview{display:block;width:min(100%,58.5vh);height:auto;max-height:none;aspect-ratio:9/10;margin:auto;}
/* v0.4: geometry-derived, consistently contained thumbnail images. */
.geometry-thumbnail{display:block!important;width:100%!important;height:100%!important;max-width:100%;object-fit:contain;pointer-events:none;border-radius:9px}
.asset-visual{overflow:hidden;aspect-ratio:4/3;height:auto!important;min-height:72px;background:#f5f7f2}
.inspector-thumb{overflow:hidden;background:#f5f7f2}
.own-preview{display:block;aspect-ratio:4/3;width:100%;overflow:hidden;border-radius:9px;background:#f5f7f2}
.own-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.own-add{padding:9px;min-width:0}.own-add b{padding-right:0;overflow-wrap:anywhere}.own-remove{z-index:2;background:#ffffffed;border-radius:9px;right:10px;top:10px;width:24px;height:24px}
.preview-unavailable{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:11px;color:#6a776d}
/* v0.4 purchase intent and host SHOP handoff. */
.commerce-connection{padding:12px;background:#f0f4ee;border:1px solid #dbe4d9;border-radius:11px;font-size:11px;line-height:1.6;color:#627565}.commerce-connection.online{color:#1d704f;background:#e8f4ec}
.commerce-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:17px 0}.commerce-metrics div{padding:12px 4px;text-align:center;background:#f7f9f4;border-radius:12px}.commerce-metrics b{display:block;font-size:24px;font-weight:500}.commerce-metrics span{font-size:9px;color:#708373}
.commerce-actions{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.commerce-total{margin:18px 0;padding:16px 0;border-top:1px solid #e0e7dc;border-bottom:1px solid #e0e7dc}.commerce-total>span{font-size:11px;color:#788775}.commerce-total>b{display:block;font-size:22px;font-weight:500;margin:7px 0}.commerce-total small{display:block;line-height:1.6;font-size:10px;color:#7c8a76}
.commerce-source{padding:12px 0;border-bottom:1px solid #e5ebe0}.commerce-source>div:last-child{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.commerce-source b{font-size:12px}.commerce-source small{display:block;font-size:10px;color:#71816a;margin-top:4px}.commerce-source.excluded{opacity:.7}.commerce-room{margin:10px 0;background:#f5f8f1;padding:10px;border-radius:9px}.commerce-room summary{font-size:12px;cursor:pointer}
.commerce-inspector{margin-top:16px}.commerce-inspector h3{margin:10px 0;font-size:16px}.commerce-binding{padding:12px;background:#f4f7ef;border-radius:11px;margin:8px 0}.commerce-binding b,.commerce-binding small{display:block;margin-bottom:7px;overflow-wrap:anywhere}.commerce-binding b{font-size:12px}.commerce-binding small{font-size:10px}.commerce-binding .btn{margin:4px 4px 0 0}
.dialog:has(.commerce-sheet){width:min(1100px,calc(100vw - 28px));max-width:1100px}.dialog:has(.commerce-bind-form){max-width:690px;width:calc(100vw - 28px)}
.commerce-sheet-top{display:grid;grid-template-columns:1fr 1.5fr;gap:25px;align-items:center}.commerce-sheet-top .commerce-total{margin:12px 0}.commerce-sheet-top .commerce-actions{justify-content:flex-end}.commerce-table-wrap{overflow:auto;width:100%;margin-top:18px}.commerce-table{border-collapse:collapse;width:100%;font-size:12px}.commerce-table th{font-size:10px;color:#71806b;text-align:left;background:#f3f6ef;font-weight:500;padding:12px}.commerce-table td{vertical-align:top;padding:14px 12px;border-bottom:1px solid #e0e7dc;min-width:80px}.commerce-table td:first-child{min-width:180px}.commerce-table b{font-weight:500}.commerce-table small{display:block;color:#7b8a72;font-size:10px;margin-top:6px}.commerce-table a{display:block;color:#26825b;font-size:10px;margin-top:6px}.commerce-table .qty{white-space:nowrap;font-size:15px;font-weight:500}.commerce-row-actions{display:flex;gap:4px;align-items:center}.commerce-status{display:inline-block;font-size:10px;padding:4px 7px;border-radius:6px;background:#f6efe1;color:#92713c}.commerce-status.linked{background:#e8f2e7;color:#4e7e53}
.commerce-grouped{margin-top:20px;padding:14px;border-radius:12px;background:#f4f7ef}.commerce-grouped summary{cursor:pointer;font-size:12px}.commerce-grouped>div{display:grid;grid-template-columns:1fr auto;gap:6px;margin-top:12px;font-size:12px}.commerce-grouped small{grid-column:1/-1;color:#738469;font-size:10px}
.commerce-search{display:flex;gap:8px;margin:14px 0}.commerce-search input{min-width:0;flex:1;border:1px solid #d6dfcf;border-radius:9px;padding:10px}.commerce-product-result{display:flex;gap:12px;text-align:left;width:100%;border:1px solid #dde5d5;border-radius:10px;padding:10px;margin:7px 0}.commerce-product-result img,.commerce-product-result>.icon{width:56px;height:56px;object-fit:contain;flex-shrink:0}.commerce-product-result b{display:block;font-size:12px}.commerce-product-result small{display:block;font-size:10px;color:#718267;margin-top:6px}.commerce-product-fields details{margin:12px 0;font-size:12px}.commerce-product-fields summary{margin-bottom:10px;cursor:pointer}.commerce-bind-form .note{font-size:12px;line-height:1.6}#commerce-form-error,#commerce-sync-result{font-size:12px;color:#96603d;margin:12px 0;line-height:1.5}.commerce-sheet .note{display:flex;gap:12px;align-items:center}.commerce-sheet .note span{flex:1}
@media(max-width:600px){.commerce-sheet-top{display:block}.commerce-sheet-top .commerce-actions{justify-content:flex-start}.commerce-table td{padding:12px 8px}.commerce-table th{padding:10px 8px}.commerce-table td:first-child{min-width:145px}.commerce-table .btn{font-size:10px;padding:8px}.dialog:has(.commerce-sheet){padding:18px 12px}.commerce-bind-form .field-row{grid-template-columns:1fr}.commerce-source .btn{min-height:35px}.mobile-nav button{min-width:0!important;padding:4px 6px}.mobile-nav{gap:0}.commerce-sheet .note{display:block}}
.commerce-filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:16px 0}.commerce-filters>input,.commerce-filters select{border:1px solid #d8e2d0;border-radius:8px;padding:9px;font:inherit;font-size:12px;min-width:0}.commerce-filters>input{flex:1;min-width:140px}.commerce-filters label{display:flex;gap:7px;font-size:11px;align-items:center}.commerce-row-actions{flex-wrap:wrap;max-width:145px}.commerce-line-price{font-size:11px;color:#77876d}
/* v0.5 Spatial workbench: bounded panels, no automatic inspector overlay. */
.shape-launch p{font-size:12px;line-height:1.6;color:var(--muted,#65736a);margin:8px 0 12px}.shape-launch .btn{width:100%}
.spatial-advanced{position:absolute;left:50%;transform:translateX(-50%);bottom:66px;display:flex;align-items:center;gap:5px;padding:5px;border:1px solid #dbe2d9;border-radius:12px;background:#fffffff0;box-shadow:0 5px 18px #2332260c;max-width:calc(100% - 28px);z-index:3;white-space:nowrap}
.spatial-advanced select,.spatial-advanced button{font:11px Arial,sans-serif;padding:7px 8px;background:transparent;border:0;border-radius:7px;color:#314c3e;min-width:0}.spatial-advanced button:hover{background:#e5eee5}.spatial-advanced button:disabled{opacity:.4}
.spatial-bounds{font:11px/1.8 Arial,sans-serif;background:#eff3ec;padding:10px;border-radius:10px;color:#486050}.spatial-inspector .btn{margin:3px 0}.nudge-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:3px;margin-bottom:12px}.nudge-grid .btn{padding:6px 2px;justify-content:center}.spatial-inspector .field-row{gap:5px}.spatial-inspector .field-row .btn{flex:1}
.shape-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.8fr);gap:16px}.shape-preview-col{display:flex;flex-direction:column;justify-content:center;border-radius:16px;background:#f4f5ef;padding:14px}.shape-preview-col img{width:100%;height:auto;object-fit:contain}.shape-preview-col .input-hint{text-align:center}#shape-profile-panel{margin-top:18px}#shape-profile{font-family:monospace;font-size:13px}#shape-draw{width:100%;height:220px;background:#f6f8f4;border:1px solid #dce3d7;border-radius:12px;cursor:crosshair;touch-action:none}
#shape-confirm{background:#1f7258;color:white}.advanced-maps{margin-top:16px;padding-top:10px;border-top:1px solid #dce4d9}.advanced-maps .btn{margin-bottom:14px}.studio-switch{display:flex;background:#e9efe7;padding:5px;border-radius:12px;margin-bottom:16px}.studio-switch button{flex:1;padding:10px;border:0;border-radius:9px;background:transparent;font-weight:600;color:#365545}.studio-switch button.active{background:#1f7258;color:white}.saved-camera{display:flex;gap:6px;margin:8px 0}.saved-camera .btn:first-child{flex:1;text-align:left}.shape-editor details summary,.advanced-maps summary{cursor:pointer;margin-bottom:12px;font-size:12px;color:#365545}
@media(max-width:1020px){.spatial-advanced{bottom:72px;}.spatial-advanced select,.spatial-advanced button{font-size:10px;padding:7px 5px}.shape-editor{grid-template-columns:1fr}.shape-preview-col{display:none}.nudge-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:400px){.spatial-advanced{gap:1px;max-width:calc(100% - 12px);bottom:82px}.spatial-advanced select{max-width:112px}.spatial-advanced button{font-size:9px;padding:7px 4px}}

/* v0.6 support and AI workflow, uses existing adaptive panel system. */
.placement-entry .btn,.ai-design-tools .btn,.support-summary .btn{margin:5px 4px 5px 0;white-space:normal}
.placement-entry{padding-bottom:16px}.support-summary{background:#f2f6f1;border-radius:12px;padding:14px;margin-top:16px}
.support-summary p{font-size:12px;margin:8px 0}.placement-blocked{color:#a13e2d!important;font-weight:600}
.plan-json{width:100%;min-height:260px;font:12px/1.6 monospace;padding:14px;border:1px solid #d3ded4;border-radius:12px;resize:vertical}
#placement-error{min-height:20px;margin-top:12px}.ai-design-tools .btn{width:100%;text-align:left}
#spatial-editbar>[data-placement-action]{background:#e8f0e6;color:#225b45}
@media(max-width:600px){.plan-json{min-height:190px}#spatial-editbar>[data-placement-action]{min-width:58px}}

/* Placement feedback stays visible on touch layouts (legacy scene-hint is hidden there). */
#placement-status{position:absolute;bottom:120px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);z-index:6;border:1px solid #b6d1bc;border-radius:10px;background:#f7fcf2eb;color:#28583a;font-size:11px;line-height:1.45;padding:8px 12px;pointer-events:none;box-shadow:0 2px 10px #17322012;text-align:center}
#placement-status[hidden]{display:none}#placement-status.blocked{background:#fff3ec;color:#9b4830;border-color:#e4b7a3}.ai-assumptions{margin:12px 0;font-size:11px;line-height:1.65}.ai-assumptions ul{padding-left:18px}
@media(max-width:600px){#placement-status{bottom:124px;max-width:calc(100% - 24px);font-size:10px;padding:6px 9px}}

/* 0.7 installation / light editor: readable compact controls, no hidden modal on selection. */
.mount-help{background:#eef4f0;border-radius:12px;padding:14px;font-size:12px;line-height:1.6}.mount-help p{margin-top:8px}.mount-intro{line-height:1.6;margin-bottom:14px}.field-row.triple{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.light-quick,.mirror-grid{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.mirror-grid button[aria-pressed=true]{background:#1f8f6b;color:white}.light-summary{background:#edf4ef;padding:12px;border-radius:10px;display:grid;gap:5px;font-size:12px;line-height:1.6;margin:12px 0}.light-summary.invalid{background:#fff1e9;color:#9e441d}.lighting-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.lighting-kpis>div{border:1px solid #dce6df;border-radius:12px;padding:12px}.lighting-kpis b,.lighting-kpis small{display:block}.lighting-kpis b{font-size:19px}.lighting-kpis small{font-size:10px;margin-top:5px;color:#64756b}.installation-inspector{margin-top:10px}.placement-adaptive{padding:10px 0;border-block:1px solid #e0e5df;margin-block:12px}.dialog [hidden]{display:none!important}.light-editor input{min-width:0}.spatial-advanced{max-width:calc(100% - 24px);flex-wrap:wrap}.dialog .dialog-body{overscroll-behavior:contain}@media(max-width:600px){.field-row.triple{gap:6px}.light-editor .field span{font-size:10px}.light-editor .field-row{gap:8px}.spatial-advanced select{max-width:135px}.spatial-advanced button{font-size:10px;padding:6px 8px}.light-quick button{flex:1 1 40%}.mount-help{padding:10px}.lighting-kpis b{font-size:17px}}

.dialog:has(.light-editor){width:min(920px,calc(100vw - 28px));max-width:920px;max-height:92dvh}.light-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px;margin-top:14px}.light-columns>section{min-width:0}.light-columns>section+section{border-left:1px solid #dce6df;padding-left:24px}.dialog:has(.light-editor) footer{position:sticky;bottom:-25px;background:#fff;padding:14px 0;margin-top:8px;border-top:1px solid #e0e7df;z-index:2}.light-editor>p{line-height:1.6;font-size:12px}.light-editor .section-title{margin:10px 0}.light-editor .field-row{margin-bottom:10px}.light-editor .input-hint{margin-top:10px}
@media(max-width:700px){.light-columns{grid-template-columns:1fr;gap:12px}.light-columns>section+section{padding-left:0;border-left:none;border-top:1px solid #dce6df;padding-top:10px}.dialog:has(.light-editor) footer{bottom:-21px;flex-wrap:wrap}.dialog:has(.light-editor) footer button{flex:1}.dialog:has(.light-editor){padding:18px}}

.light-groups{margin:12px 0}.light-groups>div{display:flex;gap:4px;align-items:center;flex-wrap:wrap;border-bottom:1px solid #e2e8df;padding:8px 0}.light-groups span{font-size:11px;flex:1 1 100%;font-weight:600}.light-groups small{font-weight:400;color:#758776}.light-groups button{font-size:10px;padding:6px 10px}

@media(max-width:700px){.spatial-advanced{width:calc(100% - 28px);max-width:calc(100% - 28px);justify-content:center;white-space:normal;bottom:72px;gap:2px;padding:5px}.spatial-advanced select{max-width:145px}.spatial-advanced button{min-height:32px}.spatial-advanced [data-install-action=mount]{background:#e8f0e6;font-weight:600}}

/* LIGHT LAB 0.8 */
.lx-mode{font-size:14px;font-weight:700;padding:14px;background:#eaf2ee;border-radius:12px;margin-bottom:16px}.lx-mode span{display:block;font-weight:400;font-size:11px;color:#596e63;margin-top:4px}
.lx-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(94px,1fr));gap:8px;margin:14px 0}.lx-kpis>div{background:#edf3ef;border:1px solid #dce7df;border-radius:12px;padding:12px}.lx-kpis strong{display:block;font-size:25px;color:#245746}.lx-kpis span{display:block;font-size:11px;color:#5a7367}
.lx-map svg,.lx-mini svg{width:100%;height:auto;display:block}.lx-map{border:1px solid #dce7e1;border-radius:12px;overflow:hidden}.dialog.lx-wide{max-width:1000px;width:calc(100vw - 32px)}.lx-models{display:grid;grid-template-columns:1fr 1fr;gap:8px}.lx-model{border:1px solid #dce5e0;border-radius:10px;overflow:hidden;cursor:pointer;background:#f6f8f6;padding:6px}.lx-model img{display:block;width:100%;height:78px;object-fit:contain}.lx-model span{font-size:10px;color:#294a3f;display:block;line-height:1.35;min-height:28px}.lx-model:hover{border-color:#1f8f6b}.left-panel #panel-body>.btn.full{margin:5px 0}#lx-render-progress{font-size:13px;padding:10px;color:#376553}.dialog textarea{width:100%;box-sizing:border-box;border:1px solid #d5dfd7;border-radius:8px;padding:10px;font:inherit} @media(max-width:700px){.dialog.lx-wide{width:calc(100vw - 16px)}.lx-kpis strong{font-size:21px}.lx-kpis{grid-template-columns:1fr 1fr}.rail-btn span{font-size:9px}}
@media(max-width:700px){.mobile-nav{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:0;padding-left:1px;padding-right:1px}.mobile-nav button{min-width:0!important;padding:4px 1px;font-size:8px;max-width:100%}.mobile-nav button span{max-width:100%;white-space:nowrap}.lx-model img{height:70px;width:100%;object-fit:contain}.lx-wide .field-row{grid-template-columns:1fr 1fr}.lx-wide .field-row .field{min-width:0}}
/* v0.9 contextual workbench; overlays are view-only, never physical geometry. */
:root{--rail:76px;--panel:284px;--inspector:292px}.rail{gap:6px;padding-top:16px}.rail-btn{width:62px;font-size:9px;overflow-wrap:anywhere}.rail-btn span{max-width:62px}
#spatial-editbar{flex-wrap:nowrap;top:78px;left:16px;right:16px;gap:5px}#spatial-editbar .edit-buttons{min-width:0}#spatial-editbar button{white-space:nowrap}#spatial-editbar .edit-buttons button{padding:7px 9px}
#spatial-advanced.editor-consolidated{display:none!important}.scene-caption{display:none}#issue-badge{top:auto!important;bottom:110px;max-width:calc(100% - 32px);left:16px;pointer-events:auto;font-size:10px}
#editor-view-controls{position:absolute;left:16px;top:135px;display:flex;align-items:center;gap:5px;z-index:9;max-width:calc(100% - 32px);flex-wrap:wrap}#editor-view-controls select,#editor-view-controls button{background:#fffffff0;border:1px solid #d8e1d8;border-radius:7px;padding:7px 9px;font-size:10px;min-height:32px}
#editor-guides,#electrical-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:5;overflow:hidden}#editor-guides line{stroke:#de9a47;stroke-width:1.25;opacity:.85}#editor-guides line.support,#editor-guides line.floor{stroke:#4d947b}#editor-guides line.continuation{opacity:.45}#editor-guides rect{fill:#fffffff2;stroke:#d9e3d7;stroke-width:1}#editor-guides text{font:10px system-ui;fill:#345843}#editor-guides [data-guide-handle]{pointer-events:all;touch-action:none;cursor:crosshair}#editor-guides [data-guide-handle] circle{fill:#fff;stroke:#ac713a;stroke-width:2}#editor-guides [data-guide-handle] .guide-hit{fill:#fbc67244;stroke:none}#electrical-overlay line{stroke:#1686a0;stroke-width:2;stroke-dasharray:7 4;opacity:.9}#electrical-overlay line.containment{stroke:#7559a8;stroke-width:5;stroke-dasharray:none;opacity:.55}
#quick-inspector{padding-top:2px}#quick-inspector h2{font-size:17px;margin:8px 0 12px;overflow-wrap:anywhere}.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.quick-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-field{display:flex;flex-direction:column;gap:5px;font-size:10px;color:#63756a}.quick-field input{width:100%;padding:8px 7px;font-size:12px;border-radius:7px;min-height:37px}.quick-section{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:11px;font-weight:650;margin:18px 0 9px}.quick-section small{font-size:9px;font-weight:400}.quick-ratio,.quick-section label{display:flex;align-items:center;gap:4px;font-size:9px;font-weight:400}.quick-actions{display:flex;gap:5px;flex-wrap:wrap;margin:12px 0}.quick-actions .btn{font-size:10px;padding:7px;min-height:32px}.quick-light{border-top:1px solid #e4e9e2;margin-top:14px}.live-slider{display:flex;flex-direction:column;gap:7px;font-size:11px;margin:14px 0}.live-slider>span{display:flex;justify-content:space-between}.live-slider output{font-variant-numeric:tabular-nums;color:#237258}.live-slider input{accent-color:#237258;width:100%;min-height:24px}#quick-error{font-size:11px;color:#a15332;line-height:1.5}.inspector-advanced{border-top:1px solid #dce5db;margin-top:18px;padding-top:15px}.inspector-advanced>summary{font-size:11px;color:#687c6b;cursor:pointer;line-height:1.6;padding-bottom:12px}.inspector-advanced>.panel-close{display:none}.editor-menu{display:grid;gap:18px}.editor-menu section{display:flex;gap:7px;flex-wrap:wrap}.editor-menu h3{flex-basis:100%;margin-bottom:3px}.editor-menu .btn{min-height:38px}.editor-menu select{min-height:38px;width:100%}.context-tabs{display:flex;gap:5px;flex-wrap:wrap;margin:0 0 16px}.context-tabs button{padding:7px 9px;border:1px solid #dce6dc;border-radius:8px;background:#f5f8f1;font-size:10px}#industry-library{margin-top:16px;border-top:1px solid #dce6dc;padding-top:16px}#industry-library summary{font-size:12px;cursor:pointer;margin-bottom:12px}#industry-library .own-grid{grid-template-columns:1fr 1fr}#industry-library .own-preview{display:block;height:88px;overflow:hidden}#industry-library img,#industry-library svg{width:100%;height:88px;object-fit:contain}#industry-library b{font-size:10px;padding:0}.electrical-tabs{display:flex;gap:3px;flex-wrap:wrap;margin-bottom:12px}.electrical-tabs button{font-size:10px;padding:7px 9px;border:1px solid #dce6dc;border-radius:8px}.electrical-tabs .active{color:white;background:#23765b;border-color:#23765b}.electrical-disclaimer{font-size:10px;line-height:1.6;color:#85633d;background:#fbf5e9;border-radius:9px;padding:11px;margin-bottom:16px}.electrical-card{border:1px solid #dce5da;background:#fbfcf8;border-radius:11px;padding:12px;margin:11px 0;display:flex;flex-direction:column;gap:7px;font-size:11px}.electrical-card b{font-size:12px}.electrical-card>div{display:flex;flex-wrap:wrap;gap:5px}.electrical-card small{font-size:10px}.electrical-targets{display:flex;flex-direction:column;gap:10px;margin-top:12px}.electrical-targets label{font-size:12px;line-height:1.5}.panel-row{display:grid!important;grid-template-columns:repeat(var(--slots),minmax(0,1fr));gap:2px!important;background:#e8ede6;border-radius:6px;padding:4px}.panel-row span{height:25px;border:1px solid #cbd5c9;border-radius:2px;text-align:center;color:#9baa98;font-size:9px}.panel-row .occupied{background:#257254;color:white}#el-route-check,#editor-transfer-result{font-size:12px;line-height:1.65;margin:14px 0;color:#49663d}.dialog textarea{width:100%;padding:10px;line-height:1.6}.dialog .quick-grid .field span{font-size:10px}
@media(min-width:1021px){#app.library-collapsed{grid-template-columns:var(--rail) 0 minmax(0,1fr) var(--inspector)}#app.library-collapsed .left-panel{visibility:hidden;width:0}.view-top .room-badge{min-width:95px}.view-top .room-badge b{max-width:120px}}
@media(max-width:1100px) and (min-width:761px){#spatial-editbar{top:80px}#spatial-editbar button{font-size:10px;padding:7px}#spatial-editbar .edit-buttons button{padding:7px 6px}#editor-view-controls{top:133px}.quick-open{display:inline-block!important}}
@media(max-width:760px){.mobile-nav button{min-width:65px}.mobile-nav{justify-content:space-around}#spatial-editbar{left:10px;right:10px;top:77px;flex-wrap:wrap}#spatial-editbar .edit-buttons{width:auto;flex:1}#spatial-editbar .edit-buttons button{font-size:10px;min-height:32px;padding:5px 6px}#spatial-editbar>button,#spatial-editbar select{padding:6px 8px;font-size:10px;min-height:33px}#spatial-editbar .quick-open{display:none}#editor-view-controls{top:160px;left:10px;gap:4px}#editor-view-controls select,#editor-view-controls button{padding:6px 7px;font-size:9px;min-height:29px}#issue-badge{bottom:70px;font-size:9px;left:10px;max-width:92%}.scene-hint{display:none}#editor-guides text{font-size:9px}#editor-guides [data-guide-handle] .guide-hit{r:19px}.quick-field input{font-size:16px}.inspector{max-height:62dvh!important}#quick-inspector{padding-top:15px}.quick-actions .btn{min-height:38px}.view-top{padding:12px 10px}.segmented button{padding:7px;font-size:10px}.room-badge{max-width:125px}.room-badge b{max-width:125px}.room-badge small{font-size:8px}.context-tabs{margin-top:12px}.dialog footer{flex-wrap:wrap}.electrical-card .btn{min-height:38px}#app[data-mobile-panel="inspector"] #spatial-editbar,#app[data-mobile-panel="left"] #spatial-editbar{opacity:.4;pointer-events:none}}

/* Compact navigation labels stay whole instead of splitting one trailing letter. */
.rail-btn span{font-size:9px;white-space:nowrap;overflow-wrap:normal;max-width:66px}.rail-btn{width:66px}
/* Keep the mobile canvas visible while numeric properties are being edited. */
@media(max-width:760px){
 .mobile-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
 .mobile-nav button{min-width:0!important;width:100%}
 #app[data-mobile-panel="inspector"] .inspector{height:42dvh;max-height:42dvh!important}
 #app[data-mobile-panel="inspector"] .viewport{margin-bottom:calc(42dvh + 12px)}
 #app[data-mobile-panel="inspector"] #editor-view-controls,
 #app[data-mobile-panel="inspector"] .view-bottom,
 #app[data-mobile-panel="inspector"] #issue-badge{display:none}
 #app[data-mobile-panel="inspector"] #spatial-editbar{top:45px;opacity:1;pointer-events:auto}
 #app[data-mobile-panel="inspector"] .room-badge small{display:none}
}
.quick-extra{border-top:1px solid #e4e9e2;padding-top:10px;margin:12px 0}.quick-extra>summary{font-size:11px;cursor:pointer;margin-bottom:12px;line-height:1.6}

/* Editable project gallery, not static marketing boards. */
.templates-dialog{width:min(900px,94vw)!important;max-height:88vh}.template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:6px 0 16px}.template-card{text-align:left;border:1px solid #dbe3d9;background:#f6f8f3;border-radius:15px;padding:20px;display:flex;flex-direction:column;gap:12px;cursor:pointer;color:#263d39;font:inherit}.template-card:hover,.template-card:focus-visible{outline:2px solid #4c876d;background:#eef4e9}.template-card b{font-size:17px}.template-card span{font-size:12px;line-height:1.6}.template-card .template-number{letter-spacing:.05em;color:#597363}.template-card strong{font-size:12px;margin-top:auto;color:#1f7457}.header-templates{white-space:nowrap}@media(max-width:700px){.template-grid{grid-template-columns:1fr}.template-card{padding:15px}.header-templates{padding:7px;font-size:11px}.header-templates svg{display:none}.project-title{max-width:140px}}
/* v0.11: contextual automation, no new top-level tool shelf. */
.routing-intro h3{margin:8px 0;font-size:20px;line-height:1.25}.routing-intro p,.routing-help p{font-size:13px;line-height:1.55;color:var(--muted,#697873)}
.route-steps{display:flex;gap:8px;margin:16px 0}.route-steps span{padding:8px 12px;background:#eaf2ee;border-radius:8px;font-size:12px;flex:1;text-align:center}
.rt-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.rt-targets,.rt-network{max-height:350px;overflow:auto;border:1px solid #dce5df;border-radius:10px;padding:8px}
.rt-option{display:flex;gap:9px;align-items:flex-start;padding:8px 4px;font-size:13px;line-height:1.4;cursor:pointer}.rt-option input{width:16px;min-width:16px;margin-top:2px}.rt-option small{display:block;color:#6d7a73;margin-top:3px}.rt-option.muted{opacity:.65}
.rt-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}.rt-kpis>div{border-radius:12px;padding:16px;background:#edf4f0}.rt-kpis b{display:block;font-size:23px}.rt-kpis span{font-size:12px;color:#5a6d61}
.rt-results{max-height:330px;overflow:auto}.rt-result{display:grid;grid-template-columns:1fr auto;gap:6px;padding:12px 10px;border-bottom:1px solid #dde4df;font-size:13px}.rt-result small{grid-column:1/-1;color:#69796e}.rt-result.blocked,.rt-result.error{background:#fff0e9}.rt-result.warning{background:#fff9e9}.rt-preview-map{display:block;background:#f5f8f5;border:1px solid #dfe8e1;border-radius:12px;width:100%;height:215px;margin:12px 0}
.routing-help{margin-top:16px}.routing-help summary{cursor:pointer;font-weight:600;font-size:13px}.routing-intro+.route-steps~.field-row{flex-wrap:wrap}
@media(max-width:700px){.rt-grid{grid-template-columns:1fr;gap:12px}.rt-targets{max-height:240px}.rt-kpis{gap:5px}.rt-kpis>div{padding:10px 8px}.rt-kpis b{font-size:18px}.rt-kpis span{font-size:11px}.rt-result{grid-template-columns:1fr}.rt-preview-map{height:175px}.rt-results{max-height:210px}}
/* v0.12 · distributed luminaires and product fit */
.light-component{margin-top:12px;border:1px solid var(--line,#d9ded9);border-radius:12px;padding:10px 12px;background:rgba(255,255,255,.55)}
.light-component>summary{cursor:pointer;font-weight:700}
.light-product-note{margin-top:14px;padding:12px;border-radius:12px;background:#eef5f1;display:grid;gap:4px;font-size:12px;line-height:1.4}
.light-product-note b{color:#245a46}.light-product-note span{color:#53645d}
.commerce-match{display:inline-flex;width:max-content;margin-top:5px;border-radius:999px;padding:3px 7px;font-size:10px;font-style:normal;font-weight:700;letter-spacing:.02em}
.commerce-match.ok{background:#e5f6ed;color:#19653e}.commerce-match.warn{background:#fff0df;color:#9a5316}
.light-fixture-library{margin-bottom:14px;padding:12px;border:1px solid var(--line,#d8ded9);border-radius:14px;background:rgba(248,250,248,.86)}
.light-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.light-type-card{display:grid;grid-template-columns:52px 1fr;grid-template-rows:auto auto;gap:2px 8px;text-align:left;border:1px solid var(--line,#d8ded9);border-radius:12px;background:#fff;padding:8px;cursor:pointer;color:inherit}.light-type-card>span{grid-row:1/3;width:52px;height:46px;display:flex;align-items:center;justify-content:center;overflow:hidden}.light-type-card svg{max-width:100%;max-height:100%}.light-type-card b{font-size:12px}.light-type-card small{font-size:10px;color:#68766f;line-height:1.25}.light-type-card:hover{border-color:#7faf9a;background:#f4faf7}@media(max-width:760px){.light-type-grid{grid-template-columns:1fr}}
/* v0.13 lighting/electrical editor */
.electrical-quick-place{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0}.lighting-plan-preview svg{width:100%;height:auto;max-height:65vh}.lx-map.lighting-plan-preview{background:#f8faf8;border:1px solid var(--line);border-radius:12px;padding:8px}.opening-row{cursor:pointer}.plan-svg [data-opening]{cursor:ew-resize}.plan-svg #lighting-plan-overlay text{paint-order:stroke;stroke:#fff;stroke-width:12px;stroke-linejoin:round}.plan-svg #electrical-plan-overlay circle{vector-effect:non-scaling-stroke}
/* v0.17 object placement + contextual transform gizmo */
#editor-guides [data-gizmo-handle]{pointer-events:all;touch-action:none;cursor:grab}
#editor-guides [data-gizmo-handle]:active{cursor:grabbing}
#editor-guides .gizmo-line{stroke-width:3;stroke-linecap:round;opacity:.96}
#editor-guides .gizmo-hit{stroke:transparent!important;stroke-width:18;opacity:1}
#editor-guides .gizmo-axis circle{stroke:#fff;stroke-width:2}
#editor-guides .gizmo-axis text,#editor-guides .gizmo-scale text{font:700 11px system-ui;paint-order:stroke;stroke:#fff;stroke-width:3;stroke-linejoin:round}
#editor-guides .gizmo-x .gizmo-line,#editor-guides .gizmo-x circle,#editor-guides .gizmo-x .gizmo-rotate-line{stroke:#e65454;fill:#e65454}
#editor-guides .gizmo-y .gizmo-line,#editor-guides .gizmo-y circle,#editor-guides .gizmo-y .gizmo-rotate-line{stroke:#45a65e;fill:#45a65e}
#editor-guides .gizmo-z .gizmo-line,#editor-guides .gizmo-z circle,#editor-guides .gizmo-z .gizmo-rotate-line{stroke:#438de4;fill:#438de4}
#editor-guides .gizmo-x text{fill:#b92e2e}#editor-guides .gizmo-y text{fill:#23783a}#editor-guides .gizmo-z text{fill:#2469b7}
#editor-guides .gizmo-center rect{fill:#fff;stroke:#596e62;stroke-width:2}
#editor-guides .gizmo-center.active rect{fill:#dff3e7;stroke:#24785c}
#editor-guides .gizmo-rotate-line{fill:none!important;stroke-width:3;opacity:.68;stroke-linecap:round}
#editor-guides .gizmo-rotate-hit{fill:none;stroke:transparent!important;stroke-width:16}
#editor-guides .gizmo-rotate.active .gizmo-rotate-line{stroke-width:5;opacity:1}
#editor-guides .gizmo-scale rect{fill:#fff;stroke:#5d6d65;stroke-width:2}.gizmo-scale.active rect{fill:#e4f2ea;stroke:#24785c}
#editor-guides .gizmo-scale text{fill:#4e6558}
#editor-guides .gizmo-axis.active .gizmo-line{stroke-width:5}
#editor-guides .guide-label rect{fill:#fffffff2;stroke:#d9e3d7}
.scene-canvas.placing-object{cursor:crosshair!important}
@media(max-width:760px){#editor-guides .gizmo-line{stroke-width:4}#editor-guides .gizmo-hit{stroke-width:34}#editor-guides .gizmo-rotate-hit{stroke-width:18}#editor-guides .gizmo-axis text,#editor-guides .gizmo-scale text{font-size:12px}}
/* v0.17 · contextual transform tools and faster mobile properties */
.transform-step{display:inline-grid;grid-template-columns:30px 24px 30px;align-items:center;height:33px;border:1px solid #dce5dc;border-radius:8px;background:#fff;overflow:hidden}
.transform-step button{height:100%;font-size:16px;font-weight:700;color:#3d6655;padding:0}.transform-step b{text-align:center;font-size:10px;color:#6d7b73;border-inline:1px solid #edf0ea;line-height:31px}
#editor-guides .gizmo-rotate-line{vector-effect:non-scaling-stroke}
#editor-guides .gizmo-rotate-hit{vector-effect:non-scaling-stroke}
@media(max-width:760px){
 .mobile-nav{grid-template-columns:repeat(5,minmax(0,1fr))!important}
 .mobile-nav .mobile-properties{color:var(--green-deep)}
 .mobile-nav .mobile-properties .icon{width:19px;height:19px}
 .transform-step{grid-template-columns:34px 22px 34px;height:36px}
 .transform-step button{min-height:36px!important;padding:0!important}
 #editor-guides .gizmo-rotate-hit{stroke-width:28}
}

/* v0.18: persistent cable workflow completion and live section analysis. */
.route-sketch-actions{position:absolute;bottom:100px;left:50%;transform:translateX(-50%);z-index:22;display:flex;align-items:center;gap:8px;max-width:92%;padding:8px 12px;background:#fff;border:1px solid #bed8cc;border-radius:12px;box-shadow:0 4px 18px #152c2320}.route-sketch-actions[hidden]{display:none}.route-sketch-actions span{font-size:12px;min-width:110px}.routing-receipt{border-color:#549f80!important;background:#eef8f2!important}#containment-lanes input{width:110px}#containment-preview p{font-size:13px}.data-table td,.data-table th{padding:9px;border-bottom:1px solid #d9e2df;text-align:left}#containment-lanes .electrical-card{display:flex;justify-content:space-between;gap:10px;align-items:center}
@media(max-width:600px){.route-sketch-actions{bottom:75px;flex-wrap:wrap;width:90%}.route-sketch-actions span{width:100%}#containment-lanes .electrical-card{align-items:flex-start;flex-direction:column}}
/* SVG group touch-action is not sufficient on all engines: apply before gesture to SVG root. */
#editor-guides{touch-action:none;user-select:none;-webkit-user-select:none}
#editor-guides [data-gizmo-handle] *{touch-action:none}

/* v0.19: contextual engineering, local scale axes, wall-hosted editing. */
.power-toolbar{border:1px solid #d9e3df;border-radius:12px;padding:10px;display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px;background:#f2f7f4}.power-toolbar details{width:100%;font-size:12px}.power-legend{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0}.power-legend span{display:flex;gap:5px;align-items:center}.power-legend i{display:inline-block;width:18px;height:3px}.power-table-wrap{overflow:auto}.power-table{border-collapse:collapse;min-width:680px;width:100%;font-size:13px}.power-table th,.power-table td{padding:10px;border-bottom:1px solid #dce4df;text-align:left}.power-table small{display:block}.power-summary{display:grid;gap:8px;padding:16px;border-radius:12px;background:#edf5f0}.power-status{display:inline-block;padding:4px 7px;border-radius:6px;font-size:12px}.power-status.overload{background:#fde5e7;color:#a01a2b}.power-status.unknown,.power-status.unresolved{background:#fff2d6;color:#835e13}.power-status.within_entered{background:#e1f1ea;color:#206749}.power-issues{padding:8px 14px;background:#fff5e4;margin:14px 0;border-radius:10px}.power-issues p{margin:6px 0}.gizmo-scale rect{fill:var(--gizmo-color);stroke:#fff;stroke-width:1.8}.gizmo-scale .gizmo-hit{pointer-events:stroke;stroke-width:23;stroke:transparent}.gizmo-scale{cursor:ew-resize}.gizmo-scale text{fill:var(--gizmo-color)}
.arch-controls{padding:12px;border:1px solid #d9e4de;border-radius:12px;margin:0 0 14px;background:#f5f8f4}.arch-controls>div,.arch-inspector>div{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.arch-controls small{display:block;font-size:11px;color:#66736d;margin-top:8px}.arch-inspector{padding:10px 0 15px;border-bottom:1px solid #dce4de}.architecture-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:13;pointer-events:none;touch-action:none}.architecture-overlay [data-arch-handle]{cursor:grab;pointer-events:all;touch-action:none}.architecture-overlay line{stroke:var(--arch-color);stroke-width:3}.architecture-overlay .arch-hit{stroke:transparent;stroke-width:25;pointer-events:stroke}.architecture-overlay rect{fill:var(--arch-color);stroke:#fff;stroke-width:1.5}.architecture-overlay text{fill:var(--arch-color);font:600 12px system-ui;paint-order:stroke;stroke:#fff;stroke-width:3;pointer-events:none}.architecture-overlay .arch-readout{fill:#294237}.architecture-bar{position:absolute;left:12px;right:12px;bottom:50px;z-index:14;max-width:750px;margin:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:#fffffff2;border:1px solid #d7e2db;border-radius:13px;padding:10px;box-shadow:0 4px 20px #1f322815}.architecture-bar[hidden]{display:none}.architecture-bar label{font-size:11px;display:grid;gap:4px;max-width:145px}.architecture-bar input{padding:6px;max-width:145px}.architecture-bar>span{font-size:12px;max-width:380px}.architecture-bar b{font-size:13px}.procurement-section td{background:#eef4f0;padding:9px 12px!important;font-weight:700;font-size:13px}.procurement-section small{display:inline;margin-left:8px;font-weight:400}.quick-grid.percent input{font-variant-numeric:tabular-nums}
@media(max-width:1020px){.architecture-bar{bottom:18px;left:8px;right:8px;gap:6px}.architecture-overlay .arch-hit{stroke-width:34}.architecture-bar .btn{min-height:42px}.power-table{font-size:12px}.arch-controls .btn{min-height:42px}.gizmo-scale .gizmo-hit{stroke-width:32}}
/* Integrated connection and RF workbench. No extra top-level navigation. */
.systems-summary{background:#eff6f2;border:1px solid #cbded1;border-radius:14px;padding:14px;margin:12px 0}.systems-summary p{font-size:12px;line-height:1.55;margin:8px 0}.systems-summary>div{display:flex;gap:6px;flex-wrap:wrap}.sys-mini{display:block!important;width:100%;padding:10px 0;border-top:1px solid #ceded3}.sys-mini small,.sys-mini span{display:block;line-height:1.5;font-size:12px;margin:5px 0}.sys-check{display:flex;align-items:flex-start;gap:9px;line-height:1.5;padding:9px 0;font-size:13px}.sys-check input{margin-top:4px;flex-shrink:0}.sys-box-row{display:flex;align-items:center;gap:8px;border-bottom:1px solid #dce4df;padding:6px}.sys-box-row label{flex:1;font-size:13px}.sys-box-row input{margin-right:8px}.sys-box-row button{min-height:38px}.sys-detail{margin:16px 0;padding:12px;background:#f5f7f4;border-radius:12px}.sys-detail summary{margin-bottom:12px;cursor:pointer}.sys-table-scroll{overflow:auto;margin:14px 0}.sys-table{width:100%;border-collapse:collapse;font-size:12px;min-width:650px}.sys-table th,.sys-table td{padding:12px 10px;text-align:left;border-bottom:1px solid #dbe5df}.sys-table small{display:block;color:#6f7d76}.sys-table .overload{color:#ad1f32}.sys-kpis{display:flex;flex-wrap:wrap;gap:12px;background:#ecf4ee;padding:16px;border-radius:12px}.sys-kpis b{font-size:16px}.sys-topology{padding:12px 20px;background:#f5f7f4;margin:16px 0;border-radius:12px}.sys-source{display:inline-block;background:#294b3d;color:white;border-radius:8px;padding:8px 16px}.sys-junction{border:1px solid #97b8a4;padding:10px;border-radius:10px}.sys-chain-arrow{font-size:12px;color:#697e70;padding:6px}.sys-branches{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.sys-branches span{font-size:12px;background:white;padding:5px 8px;border-radius:6px}.terminal-diagram{border-top:1px solid #ccd8d0;margin-top:20px;padding-top:10px}.terminal-net{display:flex;gap:15px;border:1px solid #d4ddd6;padding:10px;margin:8px 0;border-radius:8px}.terminal-net>b{min-width:32px}.net-L{color:#bd632d}.net-N{color:#2173a5}.net-PE{color:#4b814f}.terminal-net span{display:block;font-size:12px;line-height:1.7}.terminal-net strong{padding:0 8px;background:#e9f0eb;border-radius:4px}.sys-rf-map{width:100%;height:auto;max-height:65vh;border-radius:10px;margin-top:15px}.sys-choice{padding:12px;background:#f4f7f4;border-radius:10px;margin:14px 0}#sys-error{color:#af2636;line-height:1.6}.sys-mini .btn{margin:3px 0}
@media(max-width:600px){.sys-kpis{gap:8px}.sys-kpis b{font-size:13px}.sys-table{min-width:620px}.sys-topology{padding:10px}.terminal-net{gap:8px}.system-summary .btn{min-height:42px}}
/* v0.22: one contextual workbench, not another permanent section. */
.visual-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:9;overflow:hidden}
.visual-overlay .wb-zone{pointer-events:stroke;cursor:pointer}.wb-zone-title,.wb-source-marker{pointer-events:all;cursor:pointer}.visual-overlay text{font:12px system-ui,sans-serif}
.wb-handle{pointer-events:all;cursor:move;touch-action:none}.visual-overlay:has(.wb-handle){touch-action:none}
.visual-workbench{position:absolute;z-index:14;right:12px;top:124px;bottom:68px;width:min(370px,calc(100% - 24px));background:#fffefb;border:1px solid #d8e0d8;box-shadow:0 12px 42px #263a3229;border-radius:16px;display:flex;flex-direction:column;color:#263c30;overflow:hidden}
.visual-workbench[hidden]{display:none}.visual-workbench header{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid #e0e6e0;background:#f2f6f2;gap:12px}.visual-workbench header h3{font-size:16px;margin:4px 0 0;line-height:1.3}.visual-workbench header small{font-size:10px;color:#60756a;letter-spacing:.1em}
.visual-workbench .wb-body{overflow:auto;overscroll-behavior:contain;padding:14px 16px;flex:1;min-height:0;scrollbar-width:thin}.visual-workbench p{font-size:12px;line-height:1.6;margin:8px 0}.visual-workbench footer{padding:10px 14px;display:flex;gap:6px;flex-wrap:wrap;border-top:1px solid #dfe6e0;background:#f7faf7}.visual-workbench select{width:100%;min-height:38px}.visual-workbench label:not(.field){display:block;font-size:12px;margin:9px 0;line-height:1.4}
.visual-workbench .field{margin-bottom:9px}.visual-workbench .quick-grid{gap:6px}.visual-workbench .quick-grid input{padding:8px;min-width:0;width:100%}.visual-workbench .wb-actions,.wb-top{display:flex;gap:7px;flex-wrap:wrap;margin:7px 0 12px}.wb-top{background:#f3f7f3;border:1px solid #e1e8e1;padding:8px;border-radius:12px}.visual-workbench details{border:1px solid #dce6dd;padding:9px;border-radius:10px;margin:10px 0}.visual-workbench summary{font-size:12px;font-weight:650;cursor:pointer}.visual-workbench h4{margin:14px 0 7px;font-size:13px}
#wb-error{color:#a5392b}.wb-selected{padding:10px;background:#eef4ef;border:1px solid #d9e4dc;border-radius:12px;margin:8px 0 14px}.wb-selected p{font-size:12px;margin:0 0 8px}.wb-selected>div{display:flex;gap:5px;flex-wrap:wrap}.wb-selected .warning{color:#aa521a}.wb-connection{border:1px solid #d9e1dc;border-left:3px solid #b85c25;padding:9px;border-radius:8px;margin:7px 0;display:flex;flex-wrap:wrap;gap:5px}.wb-connection.ok{border-left-color:#258867}.wb-connection b,.wb-connection small{width:100%}.wb-connection small{font-size:11px;line-height:1.5}.wb-kpis{display:flex;flex-direction:column;font-size:12px;gap:5px}.wb-source-list{display:flex;gap:5px;flex-wrap:wrap;margin:10px 0}.wb-source-list [aria-pressed=true]{border:2px solid #1f8669;background:#e5f2e9}
.connection-badge{position:absolute;z-index:10;bottom:14px;left:12px;background:#f8fff8;color:#286944;border:1px solid #b6cbbb;padding:7px 11px;border-radius:20px;font:11px system-ui;box-shadow:0 3px 10px #26413414;cursor:pointer}.connection-badge.warning{background:#fff8eb;color:#975521;border-color:#e4c798}.view-bottom{bottom:46px!important}
.properties-pulse{animation:props-attention .8s ease-out}@keyframes props-attention{0%{box-shadow:inset 4px 0 #168668}100%{box-shadow:inset 0 0 transparent}}
.library-toolbar,.library-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}#library-search{width:100%;padding:10px;border:1px solid #d9e3da;border-radius:10px;margin-bottom:12px}.library-model-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:13px}.library-card{border:1px solid #dce4dd;border-radius:14px;padding:11px;display:flex;gap:7px;flex-direction:column;background:#fafcf9}.library-card b{font-size:13px}.library-card small{font-size:11px;color:#5b7264}.library-card>div:last-child{display:flex;flex-wrap:wrap;gap:5px}.library-preview{height:130px;background:#eff4ef;border-radius:10px;display:flex;align-items:center;justify-content:center}.library-preview svg,.library-preview img{max-width:100%;max-height:130px}.library-card img{height:130px;object-fit:contain;max-width:100%}.library-part-preview{height:160px;text-align:center}.library-part-preview svg,.library-part-preview img{height:160px}.library-part-row{display:grid;grid-template-columns:1.2fr 1fr auto;gap:10px;padding:7px 0;border-bottom:1px solid #e0e5df;align-items:end}.material-sample{height:120px;border-radius:12px;overflow:hidden}.material-sample img{width:100%;height:100%;object-fit:cover}
@media(max-width:900px){.visual-workbench{top:auto;left:8px;right:8px;bottom:6px;width:auto;height:min(43dvh,440px);border-radius:16px 16px 10px 10px}.visual-workbench header{padding:10px 12px}.visual-workbench .wb-body{padding:10px 12px}.visual-workbench footer{padding:8px 12px}.connection-badge{left:8px;bottom:10px;max-width:calc(100% - 16px)}#app[data-workbench=open] .connection-badge{bottom:calc(min(43dvh,440px) + 14px)}#app[data-workbench=open] .view-bottom{display:none}.library-part-row{grid-template-columns:1fr 1fr}.library-part-row>button{grid-column:1/-1}.library-model-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.library-card{padding:7px}.library-preview{height:100px}}
/* Desktop: reuse the inspector column. Do not put a second inspector over the scene. */
@media(min-width:1181px){#app[data-workbench=open]>#inspector{visibility:hidden}.visual-workbench{position:fixed;right:4px;top:76px;bottom:34px;width:284px;border-radius:14px;z-index:45}.visual-workbench .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.visual-workbench header h3{font-size:15px}}
.visual-workbench.is-collapsed{top:auto;bottom:58px;height:64px!important}.visual-workbench.is-collapsed .wb-body,.visual-workbench.is-collapsed footer{display:none}
/* 0.23: context controls reuse the right inspector column, not a new top-level section. */
.building-bar{position:absolute;z-index:16;left:12px;bottom:84px;max-width:calc(100% - 24px);display:flex;align-items:center;gap:6px;flex-wrap:wrap;background:#fffffff2;border:1px solid #d9e3dc;border-radius:12px;padding:8px;box-shadow:0 5px 18px #183b2020;font:12px system-ui}
.building-bar[hidden]{display:none}.opening-shape-preview{width:100%;max-height:205px;display:block;margin:8px 0}.building-workbench .texture-preview{width:100%;max-height:130px;object-fit:contain}.building-workbench hr{border:0;border-top:1px solid #e1e7df;margin:14px 0}.building-workbench .wb-body input[type=range]{accent-color:#237a5c;min-height:32px;touch-action:pan-x}.building-workbench textarea{width:100%;box-sizing:border-box;font:12px monospace}.building-workbench .field input{max-width:100%;min-width:0}.building-workbench input[type=color]{width:100%;height:38px;padding:3px}.building-workbench output{float:right;color:#1f8f6b}.building-workbench #bw-error,.render-workbench #rw-error{font-size:12px;color:#a3482d}.render-workbench input[type=number]{width:100%}
@media(min-width:1181px){#app[data-building-dock=open]>#inspector,#app[data-render-dock=open]>#inspector{visibility:hidden}}
@media(max-width:900px){#app[data-building-dock=open] .view-bottom,#app[data-render-dock=open] .view-bottom{display:none}#app[data-building-dock=open] .connection-badge,#app[data-render-dock=open] .connection-badge{display:none}.building-bar{font-size:11px;bottom:70px;left:8px}.building-bar .btn{min-height:40px}.building-workbench,.render-workbench{height:min(46dvh,460px);bottom:6px}.building-workbench .quick-grid,.render-workbench .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.building-workbench header h3,.render-workbench header h3{font-size:14px}}
/* 0.24 — isolated authoring and explicit light/walk controls */
.wb-beam-head{padding:10px;border:1px solid #dce6df;border-radius:12px;background:#f5faf7;margin-bottom:12px}
.wb-beam-head p{font-size:12px;line-height:1.55;margin:8px 0;color:#385248}
.wb-map-card{border:1px solid #dce5df;border-radius:12px;background:#fff;padding:10px;margin:10px 0}
.wb-map-card svg{display:block;width:100%;height:auto;max-height:270px}
.wb-map-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px 0}
.wb-map-metrics b{display:block;font-size:16px}.wb-map-metrics small{font-size:11px;color:#617368}
#visual-overlay [data-wb-beam]{pointer-events:all;cursor:grab;touch-action:none}
#visual-overlay [data-wb-beam]:active{cursor:grabbing}
#visual-overlay .wb-beam-label{font-size:12px;paint-order:stroke;stroke:#fff;stroke-width:4px;fill:#35473e;pointer-events:none}
#opening-library-panel{position:absolute;right:8px;top:72px;bottom:12px;width:min(352px,calc(100% - 16px));z-index:45;background:#fff;border:1px solid #dae2dc;border-radius:16px;box-shadow:0 12px 40px #14251e24;flex-direction:column;overflow:hidden}
#opening-library-panel header,#opening-library-panel footer{padding:12px;border-bottom:1px solid #e0e7e2}
#opening-library-panel .wb-body{overflow:auto;padding:14px;flex:1}#opening-library-panel footer{display:flex;gap:8px;border-top:1px solid #e0e7e2;border-bottom:0}
.model-workshop{--text:#263e34;box-sizing:border-box;width:min(1600px,98vw);height:96dvh;max-width:none;max-height:none;padding:0;border:1px solid #cad7ce;border-radius:18px;color:#263e34;background:#f5f8f5;overflow:hidden;font-family:inherit}
.model-workshop[open]{display:flex;flex-direction:column}.model-workshop::backdrop{background:#15211deb}
.model-workshop header{display:flex;justify-content:space-between;gap:12px;align-items:center;background:white;padding:14px 20px;border-bottom:1px solid #dce5de}
.model-workshop h2{font-size:23px;margin:4px 0}.model-workshop p{font-size:12px;line-height:1.6;margin:4px 0}.model-workshop small{color:#637e70;font-size:11px}
.ws-top{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 14px;border-bottom:1px solid #d9e2dc}.ws-top label{display:flex;gap:8px;align-items:center;font-size:12px}.ws-top input{width:180px}
.model-workshop input,.model-workshop select{max-width:100%;min-width:0;border:1px solid #cfddd2;border-radius:8px;padding:8px;background:white;color:#1f3e30}
.model-workshop input[type=checkbox]{width:auto}.model-workshop input[type=color]{min-height:32px;padding:3px}
.ws-layout{display:grid;grid-template-columns:190px minmax(0,1fr) 280px;flex:1;min-height:0}
#ws-parts,#ws-fields{overflow-y:auto;padding:12px;background:#fff;min-width:0}
#ws-fields h3{font-size:16px}#ws-fields h4{font-size:12px;margin:14px 0 6px}
.ws-part{display:block;width:100%;border:1px solid #dce7df;background:#f8faf8;border-radius:9px;padding:10px;text-align:left;margin:8px 0;color:#304c3b;cursor:pointer;overflow-wrap:anywhere}
.ws-part.active{background:#e1f1e8;border-color:#218469}.ws-part:focus-visible{outline:3px solid #69b58d}
#ws-viewport{position:relative;min-height:260px;background:#e8ede9;min-width:0;overflow:hidden}
#ws-scene{display:block;width:100%;height:100%;touch-action:none;outline:none}
#ws-gizmo{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;touch-action:none}
#ws-gizmo [data-ws-handle]{pointer-events:all;cursor:grab;touch-action:none}
#ws-gizmo text{font:600 12px sans-serif;paint-order:stroke;stroke:white;stroke-width:2px;pointer-events:none}
.ws-tools{position:absolute;top:12px;left:12px;right:12px;display:flex;gap:5px;flex-wrap:wrap;pointer-events:none}.ws-tools button{pointer-events:auto;background:#fffffff2}
.model-workshop footer{background:#fff;padding:10px 16px;border-top:1px solid #d9e4dc}.model-workshop footer>div{display:flex;gap:7px;flex-wrap:wrap;margin-top:6px}
#ws-status{min-height:24px;color:#345647}.walk-navigation{position:absolute;left:16px;bottom:46px;max-width:min(530px,calc(100% - 32px));background:#fffffff0;border:1px solid #d9e5dc;border-radius:14px;padding:10px;z-index:32;box-shadow:0 6px 30px #13282012}
.walk-navigation[hidden]{display:none}.walk-toolbar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:12px}.walk-toolbar label{display:flex;align-items:center;gap:4px}.walk-toolbar select{border:1px solid #dbe4dd;padding:6px;border-radius:8px;background:#fff}
.walk-directions{display:flex;gap:5px;flex-wrap:wrap;margin:6px 0}.walk-directions button{touch-action:none;min-height:36px}
.walk-navigation small{display:block;font-size:10px;line-height:1.5;color:#526d5f}.walk-navigation span{font-size:11px;color:#24644a}
@media(max-width:1000px){.ws-layout{grid-template-columns:140px minmax(0,1fr) 230px}.model-workshop h2{font-size:19px}.ws-top{padding:8px}.model-workshop header{padding:10px}}
@media(max-width:700px){.model-workshop{width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.ws-layout{grid-template-columns:minmax(0,1fr) 142px;grid-template-rows:minmax(230px,1fr) 128px}#ws-viewport{grid-column:1/-1;grid-row:1}#ws-parts{grid-row:2;grid-column:2}#ws-fields{grid-row:2;grid-column:1}.model-workshop header p{display:none}.ws-top input{width:115px}.ws-top{max-height:102px;overflow:auto;flex-shrink:0}.ws-tools .btn{font-size:11px;padding:6px}.model-workshop footer{padding:6px 10px}.model-workshop footer .btn{font-size:11px}.model-workshop footer p{max-height:36px;overflow:auto}.walk-navigation{left:8px;bottom:54px;max-width:calc(100% - 16px);padding:8px}.walk-navigation small{display:none}.walk-toolbar .btn,.walk-directions .btn{font-size:11px;padding:6px;min-height:34px}#opening-library-panel{top:auto;height:44%;bottom:8px}}
.wb-light-steps,.wb-light-map{padding:10px;border:1px solid #dae5de;border-radius:12px;background:#fbfdfb;margin:0 0 14px}
.wb-light-steps p,.wb-light-map p{font-size:12px;line-height:1.55}
.wb-map-chart svg{display:block;width:100%;height:auto}
.wb-map-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}
.wb-map-kpis span{font-size:10px;line-height:1.5;color:#557160;background:#eff6f0;padding:7px;border-radius:8px}.wb-map-kpis b{display:block;font-size:16px;color:#204b36}
/* v0.25 — reuse the inspector for solar; compass is a control, never scene geometry. */
.solar-compass{position:absolute;right:12px;bottom:90px;width:86px;padding:2px 1px 6px;z-index:11;background:#ffffffd9;border:1px solid #b5c4bb;border-radius:14px;cursor:pointer;box-shadow:0 3px 12px #163d2315}.solar-compass svg{width:78px;height:78px}.solar-compass span{display:block;font:10px system-ui;color:#215c46}.sun-presets{display:flex;gap:5px;flex-wrap:wrap;margin:6px 0 12px}#solar-dock input,#solar-dock select{width:100%;min-width:0;box-sizing:border-box}#solar-dock input[type=checkbox]{width:auto}#solar-dock input[type=range]{accent-color:#288568;height:38px;touch-action:pan-x}#sun-path{overflow:hidden}#sun-path svg{width:100%;height:auto}#sun-error{color:#a13b27}.power-trace{background:#f0f5f0;padding:6px;border-radius:6px}
@media(min-width:1181px){#app[data-solar-dock=open]>#inspector{visibility:hidden}}
@media(max-width:900px){.solar-compass{width:62px;bottom:86px;right:8px}.solar-compass svg{width:58px;height:58px}.solar-compass span{font-size:9px}#solar-dock{height:min(48dvh,460px)}#app[data-solar-dock=open] .view-bottom,#app[data-solar-dock=open] .connection-badge{display:none}#app[data-solar-dock=open] .solar-compass{bottom:calc(min(48dvh,460px) + 16px)} }

/* v0.26: isolated authoring. Only this dialog, never the room editor. */
.ws26{width:min(1720px,98vw);height:96dvh;max-height:96dvh;color:#254538}
.ws26 #ws-name{font:600 21px/1.2 inherit;border:0;padding:4px 0;width:min(600px,55vw);background:transparent}
.ws26 .ws-top{padding:8px 14px;gap:6px;background:#f1f6f2}
.ws26 .ws-layout{grid-template-columns:210px minmax(260px,1fr) 310px;position:relative}
.ws26 .btn{min-height:34px;cursor:pointer;white-space:normal}
.ws26 .btn[aria-pressed=true]{background:#207c60;color:#fff;border-color:#207c60}
.ws26 #ws-grid{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.ws26 #ws-grid text{font:11px sans-serif;fill:#60746b;paint-order:stroke;stroke:#fff;stroke-width:2px}
.ws26 #ws-gizmo{z-index:2;pointer-events:none}.ws26 #ws-gizmo [data-ws-handle]{pointer-events:all;touch-action:none}
.ws26 .ws-tools{z-index:4;top:10px;left:10px;right:10px;align-items:center;gap:4px}
.ws26 .ws-tools select{pointer-events:auto;font-size:12px;max-width:84px}
.ws26 .ws-plane-controls{position:absolute;bottom:10px;left:10px;right:10px;display:flex;align-items:center;flex-wrap:wrap;gap:5px;font-size:11px;z-index:4;background:#f8fbf8ee;border:1px solid #d7e3da;padding:7px;border-radius:12px;width:fit-content;max-width:calc(100% - 20px)}
.ws26 .ws-plane-controls label{display:flex;gap:4px;align-items:center}.ws26 .ws-plane-controls input{width:65px;padding:5px}.ws26 .ws-plane-controls select{padding:5px}
.ws26 .ws-parts-heading{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-bottom:10px}.ws26 .ws-parts-heading .btn{font-size:11px;min-height:28px}
.ws26 .ws-part-row{display:flex;align-items:center;gap:6px;padding:3px 0}.ws26 .ws-part-row>input{flex:0 0 auto;accent-color:#207c60;width:20px;height:20px}
.ws26 .ws-part{margin:0;min-height:38px;font-size:12px}.ws26 .ws-part small{display:block;font-size:10px}
.ws26 .ws-part-row.selected .ws-part{background:#e2f0e6;border-color:#7ead91}.ws26 .ws-part.active{box-shadow:inset 3px 0 #207c60}
.ws26 .ws-subtabs{display:flex;flex-wrap:wrap;gap:4px;position:sticky;top:-12px;z-index:3;background:white;padding:10px 0}.ws26 .ws-subtabs .btn{font-size:11px;min-height:32px;flex:1}
.ws26 .ws-inspector-head{display:flex;flex-direction:column;gap:4px;margin:4px 0 8px;word-break:break-word}
.ws26 .quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.ws26 .quick-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.ws26 .quick-grid input{width:100%;box-sizing:border-box}.ws26 .field{margin:9px 0}.ws26 .field span{font-size:11px}.ws26 .field input,.ws26 .field select{width:100%;box-sizing:border-box}
.ws26 .ws-inline{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.ws26 .ws-inline .btn{font-size:11px}
.ws26 .ws-corners{width:190px;max-width:100%;height:auto;display:block;margin:8px auto}.ws26 .ws-corners [data-ws-corner]{cursor:pointer}.ws26 .ws-corners text{font:12px sans-serif;pointer-events:none}
.ws26 .ws-metrics{background:#f1f6f2;border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:8px;font-size:12px}.ws26 .ws-metrics span{display:flex;flex-direction:column}
.ws26 #ws-task{position:absolute;top:68px;right:12px;width:min(335px,calc(100% - 24px));max-height:calc(100% - 135px);overflow:auto;z-index:7;box-shadow:0 14px 45px #21382a29;background:#fff;border:1px solid #cfddd4;border-radius:14px;padding:14px;box-sizing:border-box}
.ws26 .ws-task-head{display:flex;justify-content:space-between;align-items:center;color:#668175;border-bottom:1px solid #e5ece7;padding-bottom:6px}.ws26 #ws-task h3{font-size:17px;margin:10px 0}.ws26 #ws-task input[type=file]{width:100%;box-sizing:border-box;font-size:12px;padding:7px}
.ws26 textarea{width:100%;box-sizing:border-box;background:#f7faf7;border:1px solid #cfddd4;border-radius:8px;padding:8px;font:12px monospace}
.ws26 #ws-preview{position:absolute;z-index:8;bottom:70px;left:12px;right:12px;display:flex;align-items:center;flex-wrap:wrap;gap:8px;background:#fff8e6;border:1px solid #dbbd72;border-radius:12px;padding:10px;box-shadow:0 5px 24px #30291215}
.ws26 #ws-preview b{flex:1;min-width:130px;font-size:12px}.ws26 #ws-preview span{font-size:11px}.ws26 [hidden]{display:none!important}
.ws26 footer{padding:7px 14px}.ws26 footer>div{margin-top:4px}.ws26 #ws-status{font-size:12px;min-height:20px;margin:2px 0}.ws26 #ws-status.error{color:#ac3224;font-weight:600}
.ws26 .ws-mobile-nav,.ws26 #ws-mobile-actions{display:none}.ws26 #ws-count{margin-left:auto;font-size:11px;color:#628071}
.ws26 .ws-help{border-top:1px solid #e1e8e2;font-size:12px;margin-top:14px;padding-top:10px}.ws26 .file-drag{outline:4px solid #3f9c76;outline-offset:-4px}
@media(max-width:1150px){.ws26 .ws-layout{grid-template-columns:170px minmax(250px,1fr) 270px}.ws26 .ws-top .btn{font-size:11px}}
@media(max-width:760px){
 .ws26{width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.ws26 header{padding:8px 10px;gap:8px}.ws26 #ws-name{font-size:16px;width:54vw}.ws26 header small{font-size:9px}.ws26 header .btn{font-size:10px;max-width:100px}.ws26 header p{display:none}
 .ws26 .ws-top{max-height:76px;overflow:auto;flex-shrink:0;padding:5px 8px;flex-wrap:nowrap}.ws26 .ws-top .btn{flex:0 0 auto}.ws26 #ws-count{display:none}
 .ws26 .ws-layout{display:block;flex:1;min-height:190px;position:relative}.ws26 #ws-viewport{height:100%;min-height:190px}.ws26 #ws-parts,.ws26 #ws-fields{display:none;position:absolute;bottom:0;left:0;right:0;max-height:48%;z-index:9;border-radius:15px 15px 0 0;border-top:1px solid #abc4b5;box-shadow:0 -10px 25px #14342219;padding:12px 16px}
 .ws26[data-ws-pane=parts] #ws-parts,.ws26[data-ws-pane=fields] #ws-fields{display:block}.ws26 .ws-subtabs{top:-12px}.ws26 .ws-tools{top:6px;left:6px;right:6px}.ws26 .ws-tools .btn{font-size:10px;padding:5px 7px;min-height:31px}.ws26 .ws-tools select{font-size:10px;padding:5px}
 .ws26 .ws-plane-controls{bottom:5px;left:5px;max-width:calc(100% - 10px);padding:5px;font-size:10px;gap:3px}.ws26 .ws-plane-controls input{width:48px}.ws26 .ws-plane-controls .btn{font-size:10px;padding:4px;min-height:26px}
 .ws26 .ws-mobile-nav{display:flex;gap:6px;background:#ecf4ed;border-top:1px solid #cbdad0;padding:5px 8px}.ws26 .ws-mobile-nav .btn{flex:1;min-height:38px;font-size:12px}
 .ws26[data-ws-pane=actions] #ws-mobile-actions{display:flex;gap:4px;flex-wrap:wrap;padding:7px;background:#fff;border-top:1px solid #d8e3dc}.ws26 #ws-mobile-actions .btn{flex:1;font-size:10px}
 .ws26 footer{padding:5px 8px}.ws26 footer .btn{font-size:10px;min-height:28px;padding:5px 8px}.ws26 footer>div{flex-wrap:nowrap;overflow-x:auto;gap:4px}.ws26 footer .btn{flex-shrink:0}.ws26 #ws-status{font-size:10px;max-height:35px;overflow:auto;line-height:1.4}
 .ws26 #ws-preview{bottom:65px;left:6px;right:6px;padding:7px;gap:5px;z-index:10}.ws26 #ws-preview b{font-size:11px}.ws26 #ws-preview .btn{font-size:11px}
 .ws26 #ws-task{top:65px;max-height:calc(100% - 95px);right:8px;width:min(310px,calc(100% - 16px));z-index:11;padding:10px}
}
.ws26>header>div{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.ws26>header #ws-name{font-size:18px;font-weight:650;border:1px solid transparent;border-radius:6px;max-width:100%;padding:3px 6px}.ws26>header #ws-name:focus{border-color:#218469}.ws26 .ws-subtabs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.ws26 .ws-subtabs .btn{padding:7px 3px;font-size:11px}
@media(max-width:800px){.ws26[data-ws-pane=fields] #ws-viewport,.ws26[data-ws-pane=parts] #ws-viewport{height:52%;min-height:190px}.ws26 .ws-tools{gap:3px}.ws26[data-ws-pane=fields] .ws-plane-controls,.ws26[data-ws-pane=parts] .ws-plane-controls{display:none}}
/* v0.27 one contextual dock; existing navigation stays unchanged */
.trade-workbench{width:min(480px,calc(100% - 16px));font-size:13px}.trade-workbench .wb-body{overflow-x:hidden}.trade-tabs{display:flex;gap:4px;padding:8px 12px;background:#f3f6f2;border-bottom:1px solid #dce5da}.trade-tabs button{flex:1}.trade-tabs [aria-pressed=true]{background:#24765c;color:white}.trade-launch{padding:12px;background:#f0f5ed;border:1px solid #dbe6d6;border-radius:12px;margin-bottom:14px}.trade-launch>div{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.trade-launch small{color:#697968}.trade-layer{border:1px solid #dbe3d7;border-radius:10px;margin:10px 0;padding:9px}.trade-layer summary{font-weight:600;cursor:pointer}.trade-layer-body{padding-top:10px}.trade-result{padding:12px;margin:12px 0;border-radius:12px;background:#edf4ee}.trade-result small{display:block;font-size:11px;color:#627666}.trade-result p{padding:7px 0;border-bottom:1px solid #d2dfd4}.trade-kpis{display:grid;grid-template-columns:1fr 1fr;gap:12px}.trade-kpis b{display:block;font-size:19px}.trade-row{padding:12px;border:1px solid #dce4d7;border-radius:10px;margin:10px 0}.trade-row b,.trade-row span{display:block}.trade-presets{display:grid;gap:6px;margin:12px 0}.trade-textures,.trade-models{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.trade-textures button,.trade-models button{background:white;border:1px solid #dce3d8;border-radius:10px;padding:4px;cursor:pointer;overflow:hidden}.trade-textures img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px}.trade-textures span,.trade-models b,.trade-models small{display:block;font-size:10px;line-height:1.35;padding:4px}.trade-models .own-preview{display:block;aspect-ratio:1}.trade-models svg{width:100%;height:auto}.trade-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:8;pointer-events:none}.trade-overlay text{font:12px system-ui;fill:#304d3d;paint-order:stroke;stroke:white;stroke-width:3px}#app[data-trade-dock=open] .inspector-panel{visibility:hidden}.trade-workbench input,.trade-workbench select{max-width:100%;min-width:0}.trade-workbench .quick-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.trade-workbench .field{min-width:0}.trade-workbench textarea{width:100%;box-sizing:border-box}.trade-workbench [hidden]{display:none!important}
@media(max-width:760px){.trade-workbench{top:30%;bottom:70px;right:6px;left:6px;width:auto;max-height:65%;border-radius:16px}.trade-workbench header h3{font-size:16px}.trade-workbench .wb-body{padding:12px}.trade-tabs{padding:6px}.trade-tabs button{font-size:11px}.trade-models{grid-template-columns:1fr 1fr}}

/* v0.28 · one contextual explanation dock. No new main navigation tab. */
.ins-launch{display:flex;align-items:center;gap:10px;padding:11px 12px;margin:0 0 12px;border:1px solid #d9e6dc;background:#f3f8f2;border-radius:13px}.ins-launch b{display:block;font-size:13px}.ins-launch small{display:block;font-size:10px;color:#63796e;margin-top:3px}.ins-launch .btn{margin-left:auto;white-space:normal;line-height:1.25;min-height:42px;font-size:12px}.ins-selected-entry{padding:8px 0 12px}.ins-selected-entry button{width:100%;background:#eff7f0;color:#205b4a;font-weight:700}
.dependency-dock[hidden],.dependency-overlay[hidden]{display:none!important}.dependency-dock{position:absolute;z-index:38;right:10px;top:8px;bottom:8px;width:min(465px,calc(100% - 20px));background:#fff;border:1px solid #d6e1d8;border-radius:18px;box-shadow:0 15px 45px #18382b24;display:flex;flex-direction:column;overflow:hidden;font-size:13px;color:#244038}.dependency-dock>header{padding:14px 16px;display:flex;gap:8px;justify-content:space-between;border-bottom:1px solid #e4eae3;background:#fafcf9}.dependency-dock header small{font-size:9px;letter-spacing:1.15px;color:#657d6a}.dependency-dock header h3{font-size:18px;margin:4px 0;line-height:1.3;overflow-wrap:anywhere}.dependency-dock header>div:last-child{display:flex;gap:4px;align-items:flex-start}.dependency-dock header button{min-width:34px;min-height:36px;font-size:18px;padding:4px}.dependency-dock .ins-body{overflow:auto;overscroll-behavior:contain;padding:14px 16px;flex:1;min-height:0}.dependency-dock>footer{display:flex;gap:8px;padding:11px 14px;border-top:1px solid #e0e8df;background:#fbfdfa}.dependency-dock>footer button{min-height:42px;flex:1}.dependency-dock.is-collapsed{bottom:auto}.dependency-dock.is-collapsed>.ins-body,.dependency-dock.is-collapsed>footer{display:none}.dependency-dock .btn{border-radius:9px;line-height:1.25}.dependency-dock .field span{font-size:11px}.dependency-dock .field input,.dependency-dock .field select{min-height:42px}.dependency-dock .input-hint{font-size:11px;line-height:1.55}.dependency-dock h4{font-size:13px;margin:18px 0 9px}.dependency-dock p{line-height:1.55}.dependency-dock details>summary{cursor:pointer;min-height:40px;padding:10px 0;line-height:1.4;font-weight:650}.dependency-dock button:focus-visible,.dependency-dock summary:focus-visible{outline:3px solid #e1ad45;outline-offset:2px}.dependency-dock small{font-size:10px;color:#6d7f72}
#app[data-insight-dock="open"]>.inspector{visibility:hidden}#app[data-insight-dock="open"] .connection-badge{opacity:.1;pointer-events:none}
.ins-context-bar{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.ins-legend{display:flex;flex-wrap:wrap;gap:8px;color:#678073;font-size:9px}.ins-toggle{display:flex;gap:7px;align-items:center;font-size:11px;margin:10px 0}.ins-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:12px 0 16px;padding:4px;background:#eef3ec;border-radius:12px}.ins-tabs button{font-size:12px;border:0;background:transparent;padding:9px 5px;min-height:38px}.ins-tabs button[aria-pressed=true]{color:white;background:#257762;box-shadow:0 2px 6px #154c3d15}.ins-metrics,.ins-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0 14px}.ins-metric,.ins-summary>div{padding:12px;background:#f1f6f0;border:1px solid #e1e9df;border-radius:12px;display:flex;flex-direction:column;gap:5px;min-width:0}.ins-metric>span,.ins-summary span{font-size:11px;color:#657e6e}.ins-metric>b{font-size:18px;line-height:1.3;overflow-wrap:anywhere}.ins-metric>b small{font-size:12px;font-weight:400}.ins-metric.unknown{background:#fbf4e9}.ins-summary b{font-size:27px;color:#2b715e}.ins-state{border-radius:10px;padding:11px 12px;font-size:12px;margin:12px 0;line-height:1.5;border:1px solid #d7e5dc}.ins-state.warning{background:#fff5e4;color:#805d20;border-color:#eddbb8}.ins-state.info{background:#eef6f2;color:#306555}.ins-plan{width:100%;height:auto;display:block;border-radius:12px}.ins-plan [data-ins-ref]{cursor:pointer}.ins-minimap{border:1px solid #e1e8df;border-radius:12px;padding:0 8px 8px;margin-bottom:14px}
.ins-stepbar{display:flex;align-items:center;gap:7px;margin:12px 0}.ins-stepbar span{flex:1;text-align:center;font-size:12px;color:#687d6f}.ins-flow{display:flex;flex-direction:column}.ins-flow-row{display:flex;align-items:center;gap:5px;border:1px solid #dbe5dc;border-radius:12px;background:#fafcf9}.ins-flow-row.is-active{border-color:#bd823b;box-shadow:0 0 0 2px #f0d6ad}.ins-flow-row>.btn{font-size:10px;border:0;margin-right:5px}.ins-flow-card{border:0;background:transparent;text-align:left;display:flex;align-items:center;gap:10px;flex:1;min-width:0;padding:10px;cursor:pointer;color:inherit}.ins-flow-card>span:last-child{display:flex;flex-direction:column;gap:3px;min-width:0}.ins-flow-card b{font-size:12px;overflow-wrap:anywhere}.ins-node-number{border-radius:50%;display:grid;place-items:center;width:26px;height:26px;flex:none;background:#dfede1;color:#2e6d58;font-size:12px}.ins-flow-arrow{margin-left:23px;height:19px;color:#91a295}.ins-control{padding:12px;margin:9px 0;background:#f3eff8;border-radius:12px}.ins-control p{margin:4px 0}.ins-control>div{display:flex;gap:8px;margin-top:8px}.ins-related-row{display:flex;flex-direction:column;width:100%;gap:3px;padding:10px;border:0;border-bottom:1px solid #e4ebe2;text-align:left;background:#fff;cursor:pointer;color:inherit}.ins-related-row b{font-size:12px}.ins-related-row span{font-size:10px;color:#839185}
.ins-equation{border:1px solid #dde5da;border-radius:12px;margin:9px 0;overflow:hidden}.ins-equation summary{padding:12px!important;background:#f5f8f1;font-size:12px}.ins-equation summary b{display:block;margin-top:6px;font-size:15px;color:#25725f}.ins-formula{font:12px/1.65 ui-monospace,monospace;background:#eaf3eb;padding:13px;overflow-wrap:anywhere}.ins-equation dl{margin:9px 12px}.ins-equation dl>div{display:grid;grid-template-columns:1.15fr 1fr;padding:7px 0;gap:4px;border-bottom:1px solid #eef1eb;font-size:12px}.ins-equation dt{color:#5f7569}.ins-equation dd{margin:0;text-align:right;font-weight:650}.ins-equation dl small{grid-column:1/-1;overflow-wrap:anywhere}.ins-equation>p{padding:0 12px}.ins-contrib{display:grid;grid-template-columns:1fr auto;font-size:11px;gap:4px;margin:10px 0}.ins-contrib>div{grid-column:1/-1;height:5px;background:#eef1eb}.ins-contrib i{display:block;height:100%;border-radius:3px}.ins-procurement{padding:10px;background:#f7f8f4;border-radius:8px;display:flex;flex-direction:column;gap:5px;margin:8px 0}.ins-issue{border-left:3px solid #b58a49;border-radius:8px;padding:11px;background:#fcf5ea;margin:9px 0}.ins-issue.error{border-color:#c34f58;background:#fff0f0}.ins-issue.note{background:#f1f5f2;border-color:#94ad9f}.ins-issue p{margin:5px 0}.ins-issue .btn{margin-top:6px;font-size:11px}.ins-limit{margin-top:18px;color:#687a6f;font-size:11px}.ins-scenario-input{display:flex;gap:8px;align-items:end;margin-top:10px}.ins-scenario-input>.field{flex:1;margin:0}.ins-scenario-input>button{height:42px}.ins-compare{border-collapse:collapse;width:100%;font-size:11px;margin:12px 0}.ins-compare td,.ins-compare th{padding:9px 4px;border-bottom:1px solid #e0e7dc;text-align:left;overflow-wrap:anywhere}.ins-compare td:not(:first-child){text-align:right}.ins-compare small{display:block}.ins-compare .changed{background:#e8f5eb;font-weight:700}.ins-delta{display:flex;flex-direction:column;gap:4px;padding:10px;background:#f3f6ed;border-radius:9px;font-size:12px}.ins-directory-row,.ins-issue-row{display:flex;flex-direction:column;width:100%;gap:3px;border:1px solid #e3e9df;border-radius:9px;background:#fff;text-align:left;padding:10px;margin:6px 0;cursor:pointer;color:inherit}.ins-directory-row b,.ins-issue-row b{font-size:12px}.ins-directory-row span,.ins-issue-row span{font-size:11px;color:#7b887d}.ins-directory-row:hover{background:#eef7f1;border-color:#99c1ac}#ins-directory{max-height:350px;overflow:auto}.ins-overview-issues{margin-top:16px}#ins-error{color:#a24c3d;min-height:18px;margin:9px 0 0}.dependency-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:22;pointer-events:none}.dependency-overlay line,.dependency-overlay circle,.dependency-overlay text{pointer-events:none}.dependency-overlay [data-ins-ref]{pointer-events:all;cursor:pointer}.dependency-overlay .ins-route-hit{stroke:transparent;stroke-width:18;pointer-events:stroke}.dependency-overlay .ins-node-hit{fill:transparent;pointer-events:all}.dependency-overlay text{font:700 11px system-ui;fill:#286751}.dependency-overlay polygon{pointer-events:none}
@media(max-width:1000px){.dependency-dock{width:min(430px,calc(100% - 16px));right:8px}.dependency-dock .ins-body{padding:11px 13px}}
@media(max-width:700px){.dependency-dock{top:auto;bottom:6px;left:6px;right:6px;width:auto;max-height:59%;border-radius:16px}.dependency-dock>header{padding:10px 13px}.dependency-dock header h3{font-size:15px}.dependency-dock header small{font-size:8px}.dependency-dock .ins-body{padding:10px 12px}.dependency-dock.is-collapsed{bottom:6px}.ins-tabs{margin:10px 0}.ins-tabs button{font-size:11px;min-height:40px}.ins-metric{padding:9px}.ins-metric b{font-size:17px}.ins-launch{padding:8px}.ins-launch .btn{min-height:44px}.ins-flow-card{min-height:48px}.dependency-dock>footer button{min-height:44px}#app[data-insight-dock="open"] .view-bottom{visibility:hidden}}
@media(prefers-reduced-motion:reduce){.dependency-dock *{scroll-behavior:auto!important}}

/* Explanation occupies the existing inspector column, never a blank fourth column. */
@media(min-width:1201px){#app[data-insight-dock=open]{--inspector:460px;grid-template-columns:var(--rail) var(--panel) minmax(300px,1fr) 460px}#app[data-insight-dock=open] #dependency-dock{position:relative;grid-column:4;grid-row:2;inset:auto;width:auto;max-height:none;margin:8px 8px 8px 0;z-index:30;align-self:stretch}#app[data-insight-dock=open] .inspector-panel{display:none}}
@media(min-width:761px) and (max-width:1200px){#app[data-insight-dock=open] #dependency-dock{position:fixed;right:6px;top:76px;bottom:40px;width:410px}}
@media(max-width:760px){#app[data-insight-dock=open] #dependency-dock{position:fixed;left:5px;right:5px;top:auto;bottom:calc(62px + env(safe-area-inset-bottom,0px));width:auto;height:59dvh;max-height:59dvh;z-index:45}#app[data-insight-dock=open] #dependency-dock.is-collapsed{height:auto;max-height:70px}.dependency-dock .btn{min-height:38px}#dependency-dock .ins-tabs button{min-height:42px}}
.ins-route-chain{padding:10px 0;border-bottom:1px solid #e0e8df}.ins-route-chain b{display:block;margin-bottom:6px}.ins-route-chain .btn{margin:3px 0;white-space:normal;text-align:left}

.ins-hit-choices{border:2px solid #d7b867;border-radius:12px;padding:12px;background:#fff9ea;margin-bottom:12px}.ins-hit-choices p{font-size:12px;margin:5px 0}.ins-hit-choices button{min-height:46px}

.ins-legend>span{display:inline-flex;align-items:center;gap:5px}.ins-legend i{display:inline-block;width:18px;border-top:3px solid}.ins-metric .input-hint{font-size:10px}
/* v0.29 Contextual equipment workflow: one inspector slot, no additional main tab. */
.equipment-dock[hidden],.equipment-overlay[hidden]{display:none!important}.equipment-dock{position:absolute;z-index:38;right:10px;top:8px;bottom:8px;width:min(455px,calc(100% - 20px));background:#fbfcfa;border:1px solid #d3e0d6;border-radius:18px;box-shadow:0 15px 45px #18382b24;display:flex;flex-direction:column;overflow:hidden;font:13px/1.5 system-ui;color:#243e38}.equipment-dock>header{padding:14px;display:flex;gap:8px;justify-content:space-between;border-bottom:1px solid #e1e7e0;background:white}.equipment-dock header h3{font-size:18px;line-height:1.3;margin:4px 0;overflow-wrap:anywhere}.equipment-dock header small{font-size:9px;color:#668276;letter-spacing:.7px}.equipment-dock header>div:last-child{display:flex;gap:4px;align-items:start}.equipment-dock nav{display:flex;gap:5px;padding:8px 12px;border-bottom:1px solid #e1e7e0}.equipment-dock .eq-body{padding:14px;overflow:auto;overscroll-behavior:contain;flex:1;min-height:0}.equipment-dock>footer{display:flex;gap:7px;flex-wrap:wrap;padding:11px 12px;border-top:1px solid #dce6de;background:white}.equipment-dock .btn{min-height:40px;white-space:normal;line-height:1.35}.equipment-dock>footer button{flex:1}.equipment-dock .field{min-width:0}.equipment-dock input,.equipment-dock select,.equipment-dock textarea{min-width:0;max-width:100%;box-sizing:border-box;font-size:13px}.equipment-dock select,.equipment-dock input:not([type=checkbox]){min-height:40px}.equipment-dock textarea{width:100%;padding:10px}.equipment-dock summary{padding:12px 0;cursor:pointer;font-weight:600}.equipment-dock h4{margin:16px 0 8px}.equipment-dock .quick-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.equipment-dock .field-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.equipment-dock.is-collapsed>.eq-body,.equipment-dock.is-collapsed>footer,.equipment-dock.is-collapsed>nav{display:none}.equipment-dock.is-collapsed{bottom:auto}.equipment-dock button:focus-visible,.equipment-dock summary:focus-visible{outline:3px solid #d5a648;outline-offset:2px}.eq-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:12px 0}.eq-kpis>div{border:1px solid #dce7dd;border-radius:12px;padding:9px;background:#edf4ee;display:flex;flex-direction:column;min-width:0}.eq-kpis b{font-size:17px;overflow-wrap:anywhere}.eq-kpis span{font-size:10px;color:#617467}.eq-intro,.eq-step-intro{padding:12px;border:1px solid #d6e2d8;background:#edf4ed;border-radius:12px}.eq-step-intro{display:flex;gap:8px;flex-direction:column}.eq-list{display:grid;gap:7px}.eq-object{display:flex;text-align:left;flex-direction:column;padding:11px 13px;border:1px solid #d9e2d8;background:white;border-radius:10px;gap:3px;cursor:pointer}.eq-object span,.eq-object small{font-size:11px;color:#67796d}.eq-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.eq-steps span{display:flex;align-items:center;flex-direction:column;gap:5px;font-size:9px;padding:7px 2px;border-radius:9px;background:#f4eee0;color:#82694a}.eq-steps span.present{background:#e3efe5;color:#38694c}.eq-steps b{border:1px solid currentColor;border-radius:50%;width:22px;height:22px;display:grid;place-items:center}.eq-actions{display:flex;flex-wrap:wrap;gap:6px}.eq-port-card{padding:11px 12px;border:1px solid #dce3da;border-left:4px solid var(--port-color);border-radius:11px;background:white;margin:9px 0}.eq-port-card b,.eq-port-card span,.eq-port-card small{display:block;margin-bottom:3px}.eq-port-card span,.eq-port-card small{font-size:11px;color:#65776c}.eq-port-card>div{display:flex;gap:6px;margin-top:7px}.eq-warning{padding:8px 10px;background:#faf2e3;border-radius:9px;color:#88632e;font-size:11px;line-height:1.55}.eq-warning.danger{background:#f7e5df;color:#a1442d}.eq-result{border:1px solid #b4cec0;background:#f1f7f0;border-radius:12px;padding:12px;margin-top:12px}.eq-result input{margin-right:5px}.eq-selected{margin-bottom:12px}.eq-selected .btn{width:100%}.eq-launch{display:flex;gap:8px;align-items:center;justify-content:space-between;background:#eff5ed;padding:10px;border:1px solid #d7e3d4;border-radius:12px;margin-bottom:10px}.eq-launch small{display:block;font-size:10px;color:#6b7a6e}.eq-launch b{font-size:12px}.equipment-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:26;pointer-events:none}.equipment-overlay [data-eq-port]{pointer-events:all;cursor:pointer;touch-action:none}.equipment-overlay text{font:11px system-ui}.equipment-overlay [data-eq-port]:focus{outline:none;filter:drop-shadow(0 0 3px #e5ba53)}#eq-error{color:#a4412c;min-height:1em;font-size:12px}.trade-model-filter{margin:10px 0}.trade-library-tabs{display:flex;gap:5px;margin:10px 0}.trade-library-tabs button[aria-pressed=true]{background:#28755e;color:white}.trade-models [hidden],.trade-textures [hidden]{display:none!important}
@media(min-width:1201px){#app[data-equipment-dock=open]{--inspector:450px;grid-template-columns:var(--rail) var(--panel) minmax(300px,1fr) 450px}#app[data-equipment-dock=open] #equipment-dock{position:relative;grid-column:4;grid-row:2;inset:auto;width:auto;max-height:none;margin:8px 8px 8px 0;align-self:stretch}#app[data-equipment-dock=open] .inspector-panel{display:none}}
@media(min-width:761px) and (max-width:1200px){#app[data-equipment-dock=open] #equipment-dock{position:fixed;right:6px;top:76px;bottom:40px;width:400px}}
@media(max-width:760px){#app[data-equipment-dock=open] #equipment-dock{position:fixed;left:5px;right:5px;top:auto;bottom:calc(62px + env(safe-area-inset-bottom,0px));width:auto;height:58dvh;max-height:58dvh;z-index:45}.equipment-dock .eq-body{padding:10px}.equipment-dock>header{padding:10px 12px}.equipment-dock header h3{font-size:15px}.equipment-dock .eq-kpis b{font-size:14px}.equipment-dock .btn{min-height:42px;font-size:11px}#app[data-equipment-dock=open] #equipment-dock.is-collapsed{height:auto;max-height:75px}.equipment-overlay [data-eq-port] circle{stroke-width:5px}}
/* v0.30: drafts, independently controlled leaves and view-only panel layout */
.draft-confirm{width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:24px;border:1px solid #cbd7d0;border-radius:18px;box-shadow:0 24px 90px #13281a55;color:#243e30;background:#fffefa;overflow:auto}
.draft-confirm::backdrop{background:#18322666}.draft-confirm h2{font-size:23px;margin:8px 0 14px}.draft-confirm p{line-height:1.5;margin:12px 0}.draft-confirm small{color:#8c5924;letter-spacing:.07em}.draft-confirm footer{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:20px}.draft-confirm button{padding:12px 14px;border:1px solid #c6d4cb;border-radius:9px;background:white;color:#264534;cursor:pointer}.draft-confirm button.primary{background:#207756;color:white}.draft-note{font-size:12px;color:#617869}#draft-confirm-error{color:#a43124}
.door-leaf{border:1px solid #cdded3;border-radius:12px;padding:12px;margin:14px 0;display:flex;flex-direction:column;gap:10px}.door-leaf legend{padding:0 6px;font-size:13px;font-weight:700}.door-leaf input[type=range]{width:100%;accent-color:#217855}.door-leaf>label:not(.field){font-size:12px;display:flex;gap:6px;align-items:center}.door-leaves input:disabled{opacity:.5}
#workspace-layout-toggle{white-space:nowrap;padding:8px 12px;border:1px solid #cad8d0;border-radius:9px;background:#f7faf7;color:#2d5440;font-size:12px;cursor:pointer}
[data-layout-target]>.layout-tools{position:absolute;right:46px;top:4px;display:flex;align-items:center;gap:2px;z-index:8;background:#fffefaec;border:1px solid #cfdbd2;border-radius:8px;opacity:.88;line-height:1}
.layout-tools button,.layout-tools [role=button]{border:0;background:transparent;font-size:12px;min-width:26px;min-height:28px;padding:4px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:#486050}
.layout-tools [data-layout-ui=drag]{cursor:grab;touch-action:none;user-select:none}
.layout-resize{position:absolute;right:0;bottom:0;width:30px;height:30px;display:none;align-items:end;justify-content:end;padding:5px;font-size:19px;color:#38816c;cursor:nwse-resize;touch-action:none;z-index:10}
#app[data-layout-unlocked=true] [data-layout-locked=false]>.layout-resize{display:flex}
#app[data-layout-unlocked=false] [data-layout-kind=hud]>.layout-tools{display:none}
#app[data-layout-unlocked=false] .layout-tools [data-layout-ui=drag]{opacity:.35;cursor:default}
#app[data-layout-unlocked=true] [data-layout-kind=hud]{outline:1px dashed #599780;outline-offset:3px}
[data-layout-kind=hud]>.layout-tools{right:auto;left:0;top:-17px;padding:0;background:#edf7f0;}
[data-layout-floating=true].visual-workbench{display:flex;flex-direction:column}
[data-layout-floating=true]>.wb-body{flex:1;min-height:0;overflow:auto}
[data-layout-floating=true].visual-workbench>header{padding-top:34px;flex-shrink:0}
[data-layout-floating=true].visual-workbench>footer{flex-shrink:0}
[data-layout-floating=true].is-collapsed>.wb-body,[data-layout-floating=true].is-collapsed>footer{display:none!important}
[data-layout-floating=true].inspector,[data-layout-floating=true].left-panel{background:#fffefa;border:1px solid #ced8d1;border-radius:12px;box-shadow:0 12px 36px #13332322;overflow:auto;padding-top:32px}
[data-layout-kind=panel]:not([data-layout-floating=true])>.layout-tools{opacity:.7}
#app[data-layout-unlocked=true] [data-layout-kind=panel]>.layout-tools{opacity:1}
[data-layout-dragging=true]{user-select:none;touch-action:none}
@media(max-width:650px){#workspace-layout-toggle{padding:7px;font-size:11px}.draft-confirm{padding:18px}.draft-confirm footer button{flex:1;min-width:125px}.layout-resize{width:36px;height:36px}.layout-tools button,.layout-tools [role=button]{min-width:30px;min-height:30px}}
/* v0.31: readable surface hit, not a guessed camera intersection. */
.aim-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:38;pointer-events:none}
.aim-hud{position:absolute;left:14px;bottom:150px;max-width:min(650px,calc(100% - 28px));padding:10px 12px;display:flex;flex-wrap:wrap;gap:7px;align-items:center;background:#fffefa;box-shadow:0 6px 25px #173d3526;border:2px solid #199c88;border-radius:12px;z-index:60}
.aim-hud[hidden]{display:none}.aim-hud select,.aim-hud button{min-height:36px;padding:6px;border:1px solid #b9ccc3;background:white;border-radius:6px}.aim-hud span{flex-basis:100%;font-size:12px}.source-identification{background:#eaf4ef;padding:10px;border-radius:9px;margin-bottom:12px}.source-identification p{font-size:13px;margin:5px 0}.source-identification small{display:block;font-size:11px;line-height:1.5}
#editor-guides .emitter-boundary,#visual-overlay .emitter-boundary{stroke:#14bca7;stroke-width:2;fill:none}#editor-guides .emitter-normal,#visual-overlay .emitter-normal{stroke:#f0be43;stroke-width:3;fill:none}
.ws-operands{padding:9px;border:1px solid #d8e2dc;border-radius:9px}.ws-operand{display:flex;gap:8px;align-items:center;padding:6px 2px}.ws-operand input{width:auto!important;min-width:20px}.ws-operation-tabs{display:flex;flex-wrap:wrap;gap:5px}.ws-operation-tabs [aria-pressed=true]{background:#187b60;color:white}.ws-part-row{grid-template-columns:24px 1fr 30px!important}.ws-part-row [data-ws-visibility]{padding:0;border:0;background:transparent;font-size:18px;cursor:pointer;min-width:27px}.ws-plane-controls{flex-wrap:wrap}.ws31-origin-note{color:#275e4d;font-size:12px}
@media(max-width:760px){.aim-hud{bottom:110px;left:6px;max-width:calc(100% - 12px)}.aim-hud button{min-height:42px}.aim-hud b{width:100%}#ws-task{max-height:65vh;overflow:auto}}

/* v0.32: floating layout must never override semantic closed/hidden state. */
#app [data-layout-target][hidden],#app .visual-workbench[hidden],#app .engineering-overlay[hidden],#app .engineering-status[hidden],#app dialog:not([open]){display:none!important;pointer-events:none!important}
#app[data-engineering-dock=open] #electrical-overlay,#app[data-engineering-dock=open] #electrical-plan-overlay{display:none!important}
.engineering-dock{width:min(420px,calc(100vw - 20px));max-height:calc(100% - 24px);z-index:48}
.engineering-dock .wb-body{padding:14px}.engineering-dock .btn{min-height:36px;white-space:normal}.engineering-dock header h3{font-size:17px}.engineering-dock h4{margin:15px 0 8px;font-size:13px}.engineering-dock p{font-size:12px;line-height:1.55;margin:8px 0}.engineering-dock summary{padding:10px 0;font-size:12px;cursor:pointer}.engineering-dock select,.engineering-dock input{min-width:0;max-width:100%;font-size:12px}.engineering-dock footer{display:flex;flex-wrap:wrap;gap:6px;padding:10px}
.eng-systems,.eng-tabs,.eng-projections{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:10px}.eng-systems [aria-pressed=true],.eng-tabs [aria-pressed=true]{background:#236b56;color:white;border-color:#236b56}.eng-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:11px;margin:10px 0}.eng-note{padding:9px;background:#f4f3e9;border:1px solid #e5dfc6;border-radius:9px;color:#766644}.eng-launch{padding:10px;background:#edf4ef;border:1px solid #d2e0d6;border-radius:12px;margin-bottom:12px}.eng-launch small{display:block;margin-top:5px}
.eng-row{display:flex;flex-direction:column;text-align:left;width:100%;gap:4px;border:1px solid #dce4df;border-left:4px solid var(--sys,#74877d);border-radius:9px;padding:10px;background:#fff;margin:6px 0}.eng-row.active{background:#edf5f0}.eng-row b{font-size:12px}.eng-row span,.eng-row small{font-size:11px;line-height:1.5;color:#6a7b71}.eng-title{border-left:5px solid var(--sys);padding:6px 10px;margin-top:12px}.eng-title b,.eng-title small{display:block;overflow-wrap:anywhere}.eng-status{font-size:11px;color:#86663e}.eng-status.danger{background:#f9e0db;color:#a03025;padding:8px}.eng-chain article{border:1px solid #dce4df;border-radius:10px;padding:11px;background:#fff}.eng-chain article small,.eng-chain article b,.eng-chain article span{display:block;overflow-wrap:anywhere}.eng-chain article small{font-size:9px;letter-spacing:1px;color:#607567}.eng-chain article b{font-size:13px}.eng-chain article span{font-size:11px;color:#758778;margin-top:4px}.eng-chain-link{border-left:3px solid var(--route-color,#65786d);margin:0 15px;padding:8px 13px;font-size:12px;color:#475d52}.eng-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:12px 0}.eng-kpis>div{padding:9px;border:1px solid #d8e4dc;background:#f0f6f1;border-radius:9px}.eng-kpis b,.eng-kpis span{display:block}.eng-kpis b{font-size:16px}.eng-kpis span{font-size:10px;color:#607568}.eng-actions{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0}.eng-table{border-collapse:collapse;width:100%;font-size:11px}.eng-table td,.eng-table th{padding:7px 3px;text-align:left;border-bottom:1px solid #e1e7e3}.eng-vertex{display:grid;grid-template-columns:27px repeat(3,minmax(0,1fr)) auto auto auto;gap:4px;align-items:center;margin:6px 0}.eng-vertex input{width:100%;padding:6px 3px}.eng-vertex .btn{padding:6px;min-width:25px}.eng-choice{background:#eef4ed;border:1px solid #bbd1c2;padding:10px;border-radius:10px;margin-bottom:10px}.eng-plan-preview svg,.eng-rf-preview svg{width:100%;height:auto}.eng-rf-preview p{font-size:10px}.eng-directory>select{width:100%;padding:8px}.engineering-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:29;pointer-events:none}.engineering-overlay [data-eng-span],.engineering-overlay [data-eng-handle]{pointer-events:all;cursor:pointer;touch-action:none}.engineering-overlay .eng-hit{stroke:transparent;stroke-width:18;fill:none}.engineering-overlay text{font:11px system-ui;fill:#264639;pointer-events:none}.engineering-overlay .eng-label rect{fill:#fffffff2;stroke:#c9d7ce}.engineering-overlay .eng-label text{font-size:10px;font-weight:600}.engineering-overlay .eng-end-label{paint-order:stroke;stroke:#fff;stroke-width:3px}.engineering-overlay .eng-node text{paint-order:stroke;stroke:#fff;stroke-width:2px}.engineering-status{position:absolute;left:12px;bottom:58px;z-index:30;display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:#fffffff0;border:1px solid #bed2c5;border-radius:10px;padding:8px 11px;max-width:calc(100% - 24px);box-shadow:0 4px 12px #18352912}.engineering-status b{font-size:12px}.engineering-status span{font-size:11px}.engineering-status small{font-size:10px}#eng-error{color:#ac4433;font-size:12px;min-height:1em}
@media(max-width:900px){.engineering-dock{left:8px!important;right:8px!important;top:auto;bottom:8px;width:auto;max-height:53dvh}.engineering-dock .wb-body{padding:10px}.engineering-dock .btn{min-height:40px}.engineering-status{bottom:calc(53dvh + 12px);font-size:11px;max-width:calc(100% - 24px)}#app[data-engineering-dock=open] .engineering-dock.is-collapsed{top:auto;max-height:80px}.eng-vertex{grid-template-columns:22px repeat(3,minmax(0,1fr)) auto auto auto}.eng-projections .btn{padding:5px 8px}.eng-systems .btn{padding:6px 8px}}

#app[data-eng-models="hidden"] #plan [data-item],#app[data-eng-models="hidden"] #plan [data-wallpoint]{display:none!important}
.eng-legend{display:flex;flex-wrap:wrap;gap:5px 12px;padding:8px 0}.eng-legend span{display:flex;align-items:center;gap:6px;font-size:11px}.eng-legend i{display:inline-block;width:24px;height:3px;background:var(--sys)}
.eng-end-label{paint-order:stroke;stroke:#f9fcf9;stroke-width:4px;stroke-linejoin:round;fill:#17382c;font-size:12px;font-weight:650}
/* The movable panel tools occupy their own top strip, on every viewport.
   They must never cover content close/collapse buttons, including before dragging. */
#app [data-layout-kind=panel]>header{padding-top:38px}
/* Button taps after touch-dragging must not be swallowed as double-tap zoom. */
#app .visual-workbench button,#app dialog button,#app .layout-tools button{touch-action:manipulation}

.eng-legend button{display:flex;align-items:center;gap:6px;border:1px solid #dce6df;border-radius:7px;padding:5px 7px;background:white;font-size:11px}.eng-legend button[aria-pressed=true]{background:#e0eee7;border-color:var(--sys)}
/* v0.33 — one task catalogue, dock columns and uncluttered engineering screens. */
.rail{overflow-y:auto;scrollbar-width:none;gap:3px;padding-top:14px}.rail-btn{flex-shrink:0;min-height:50px}.rail-bottom{padding-top:8px}
.domain-count{padding:11px 12px;background:#f1f6f3;border:1px solid #dce8df;border-radius:10px;font-weight:650;margin:0 0 16px}.domain-count small{display:block;font-size:10px;font-weight:400;margin-top:5px}
.domain-steps{display:grid;gap:9px}.domain-step{display:flex;align-items:center;gap:11px;width:100%;padding:14px 11px;text-align:left;background:#fff;border:1px solid #dce5de;border-radius:12px}.domain-step>span{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#e8f2eb;color:#28755a;font-weight:700;flex:none}.domain-step div{min-width:0;flex:1}.domain-step b{display:block;font-size:14px}.domain-step small{display:block;margin-top:4px;line-height:1.45;font-size:11px}.domain-step em{font-size:23px;font-style:normal;color:#97ad9f}.domain-step:hover{border-color:#7eaf97;background:#f2f8f4}
.domain-caption{margin:22px 0 10px;font-size:12px;color:#607567}.domain-tools{display:grid;grid-template-columns:1fr;gap:5px}.section-tool{border:1px solid #dce5df;background:white;border-radius:8px;padding:9px 11px;min-height:38px;text-align:left;font-size:12px;font-weight:550;line-height:1.35}.section-tool:hover{background:#edf5ef;border-color:#8fb79f}.section-tool.full{width:100%}.domain-note{margin:20px 0;color:#6c7c70;font-size:11px}.domain-note summary{padding:8px 0;cursor:pointer}.domain-note p{line-height:1.6;padding:8px 0}
.section-primary{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px;padding-bottom:14px;border-bottom:1px solid #e2e9e4}.section-primary .section-tool{flex:1;min-width:85px;text-align:center;font-size:11px;padding:9px 7px}.section-all-tools{margin:20px 0 0;padding-top:14px;border-top:1px solid #dde6df;display:grid;gap:6px}
#workspace-command-results{max-height:58dvh;overflow:auto;display:grid;gap:20px;scrollbar-width:thin}#workspace-command-results h3{font-size:13px;margin:0 0 7px;color:#39785f}.command-result{width:100%;display:flex;flex-direction:column;gap:4px;text-align:left;padding:10px 12px;border-radius:8px;border:1px solid #e0e8e1;margin:5px 0}.command-result b{font-size:13px}.command-result small{font-size:11px}
.dock-splitter{position:fixed;width:10px;z-index:84;touch-action:none;cursor:col-resize;outline-offset:-1px}.dock-splitter[aria-disabled=true]{cursor:default;pointer-events:none}.dock-splitter:not([aria-disabled=true])::after{content:'';position:absolute;top:0;bottom:0;left:3px;width:4px;background:#8fb49f80;border-radius:3px}.dock-splitter:hover::after,.dock-splitter:focus-visible::after{background:#24785c}.resizing-docks *{cursor:col-resize!important;user-select:none!important}.resizing-docks .scene-canvas{pointer-events:none}
@media(min-width:1021px){
 #app{grid-template-columns:var(--rail) var(--panel) minmax(320px,1fr) var(--inspector)!important}
 #app .left-panel{min-width:0}#app #inspector{min-width:0}
 #app .visual-workbench:not([data-layout-floating=true]):not(.is-collapsed){position:fixed!important;left:auto!important;right:4px!important;top:calc(var(--header) + 6px)!important;bottom:38px!important;width:calc(var(--inspector) - 8px)!important;height:auto!important;max-height:none!important;margin:0!important;z-index:55;grid-column:auto;grid-row:auto}
 #app .visual-workbench.is-collapsed:not([data-layout-floating=true]){position:fixed!important;left:auto!important;right:4px!important;top:auto!important;bottom:38px!important;width:calc(var(--inspector) - 8px)!important}
}
.eng-primary-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 2px}.eng-primary-fields select{font-size:12px}.engineering-dock .eng-tabs{gap:4px;margin:0 0 10px}.engineering-dock .eng-tabs button{flex:1}.engineering-dock .eng-tabs [aria-pressed=true]{background:#25775c;color:white}.eng-display{margin-top:18px}.eng-export{font-size:12px;position:relative}.eng-export[open]{display:flex;flex-wrap:wrap}.eng-export summary{cursor:pointer;padding:9px}.engineering-dock .eng-title{margin-top:5px}.eng-specs{background:#f7faf7}.eng-chain{font-size:12px}.eng-chain article{padding:10px}.eng-chain article small{font-size:10px}.eng-chain-link{padding:9px 12px}.eng-intro h4{margin:8px 0}.engineering-dock .eng-note{background:transparent;border:0;padding:6px 0;font-size:11px;line-height:1.55}.eng-actions .btn{font-size:11px;min-height:36px}.engineering-dock footer{align-items:center;justify-content:space-between}.engineering-dock .eng-kpis b{font-size:18px}.engineering-dock .eng-kpis span{font-size:10px;line-height:1.4}
#engineering-diagram{position:absolute;inset:146px 12px 88px;z-index:28;background:#f7faf8;border:1px solid #d5e3da;border-radius:14px;box-shadow:0 10px 32px #233d2910;overflow:auto;scrollbar-width:thin;overscroll-behavior:contain}
#engineering-diagram[hidden]{display:none}#engineering-diagram svg{display:block;max-width:none;min-width:100%;height:auto}#engineering-diagram [data-engineering-ref]:hover{filter:brightness(.8)}.eng-empty-diagram{padding:30px;font-size:14px;color:#617669}
.thermal-room-label rect{fill:#fffffff0;stroke:#cddbd1;stroke-width:1}.trade-overlay .thermal-room-label text{font:11px system-ui;fill:#2e493b;stroke:none;paint-order:normal}
.view-cube{position:absolute;right:12px;top:149px;width:142px;z-index:19;background:#fffffff0;border:1px solid #d1dfd4;border-radius:12px;box-shadow:0 4px 15px #294f3110;padding:6px;user-select:none}.view-cube[hidden]{display:none}.view-cube-label{font-size:8px;letter-spacing:1.3px;color:#889e8e;text-align:center;margin:1px}.view-cube svg{display:block;width:105px;height:86px;margin:auto}.view-cube svg polygon{fill:#f0f6f2;stroke:#9fbbac;stroke-width:1.2}.view-cube svg g:hover polygon,.view-cube svg polygon.active{fill:#cbe6d5;stroke:#3d8c67}.view-cube svg g{cursor:pointer;touch-action:manipulation}.view-cube svg text{font:10px system-ui;fill:#3f6d54;pointer-events:none}.view-cube-sides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}.view-cube button{min-height:28px;border:1px solid #dce6df;border-radius:6px;font-size:10px;background:#fff;padding:3px}.view-cube button[aria-pressed=true]{background:#24785c;color:white;border-color:#24785c}.view-cube-home{width:100%;margin-top:4px}.ws26 #ws-viewport>.view-cube{top:72px;right:12px}.ws26 .ws-plane-controls{max-width:calc(100% - 24px)}#ws-grid-info{font-size:11px;color:#627b6b;white-space:normal;padding:5px}.ws26 #ws-grid{overflow:hidden}
@media(max-width:760px){.view-cube{width:113px;top:146px;right:6px;padding:4px}.view-cube svg{width:70px;height:57px}.view-cube button{min-height:28px;font-size:9px}.ws26 #ws-viewport>.view-cube{top:118px;right:6px}.view-cube-label{display:none}#engineering-diagram{inset:144px 5px 82px}.domain-step{padding:12px}.domain-tools .section-tool{min-height:42px}.domain-steps b{font-size:14px}}
/* Diagram is a separate readable canvas, not a thumbnail squeezed into a form. */
#engineering-diagram{padding:0;overflow:hidden;display:flex;flex-direction:column;gap:0}
#engineering-diagram[hidden]{display:none!important}
.eng-diagram-tools{flex:0 0 auto;display:flex;gap:6px;align-items:center;padding:9px 12px;border-bottom:1px solid var(--line);background:#fff;flex-wrap:wrap;z-index:2}
.eng-diagram-tools b{margin-right:auto;font-size:13px}.eng-diagram-tools small{font-size:10px;color:var(--muted);width:100%}
.eng-diagram-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:auto}
.eng-diagram-scroll>svg{min-width:0!important;max-width:none!important;display:block;flex:none}
.eng-scheme-legend{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0}.eng-scheme-legend button{border-left:3px solid var(--sys,#719a84)}
.inspector-related{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}.inspector-related>button{margin-top:6px;width:100%}
/* v0.35: fewer permanent controls; readable tap targets and stable dock separation. */
.domain-advanced{margin:12px 0}.domain-advanced summary{cursor:pointer;padding:10px 0;color:#496b57;font-weight:600}.domain-advanced>.domain-tools{margin-top:8px}
.view-cube-sides[hidden]{display:none!important}.view-cube-expand{width:100%;margin:2px 0 4px}.view-cube-home{min-height:30px!important}
.luminaire-directions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:8px 0 12px}.luminaire-directions button{min-height:36px;border:1px solid var(--line);background:#fff;border-radius:7px;font-size:11px}
.source-identification{display:grid;gap:9px}.source-identification details{border:1px solid var(--line);border-radius:8px;padding:9px}.source-identification summary{cursor:pointer;font-size:11px}.source-identification small{font-size:11px;line-height:1.5}
#dock-size-summary{padding:12px 0;font-size:13px;color:var(--green-deep)}
@media(max-width:760px){.view-cube-sides button{min-height:40px;font-size:10px}.luminaire-directions button{min-height:42px}.domain-advanced .section-tool{min-height:42px}}

/* Explicit SVG visibility; hidden is not an HTMLElement property on SVG. */
#trade-overlay[hidden]{display:none!important}
/* 036: independent scene HUDs. Full-width layout wrappers are no longer controls. */
#app .view-top,#app .view-bottom{display:contents;pointer-events:none}
#hud-room,#hud-view,#hud-zoom,#hud-vr,#scene-hint{position:absolute;pointer-events:auto;z-index:6;max-width:calc(100% - 24px)}
#hud-room{top:16px;left:14px;max-width:230px;background:#f8faf6db;border-radius:10px;padding:6px 8px}
#hud-room b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:164px}
#hud-view{right:14px;top:16px;flex-wrap:wrap}
#hud-zoom{left:14px;bottom:18px;flex-wrap:wrap}
#hud-vr{right:14px;bottom:18px;display:flex}
#scene-hint{left:210px;bottom:20px;max-width:240px;pointer-events:none}
#spatial-editbar,#editor-view-controls{right:auto;max-width:calc(100% - 28px);width:max-content;box-sizing:border-box}
#spatial-editbar{left:14px;top:78px;display:flex;flex-wrap:wrap;gap:4px}
#editor-view-controls{left:14px;top:132px;flex-wrap:wrap}
#spatial-editbar .edit-buttons{display:contents}
#spatial-editbar button[data-editor-tool]{padding:9px 11px;border-radius:8px;background:#fff}
#spatial-editbar button[data-editor-tool].active{background:var(--green);color:#fff}
[data-layout-kind=hud][data-layout-floating=true]{min-height:38px;align-content:flex-start;align-items:center;justify-content:flex-start;gap:4px;background:#f7faf6f2;border:1px solid #c5d8cf;border-radius:10px;padding:9px 22px 24px 9px;box-shadow:0 6px 20px #193d2718;overflow:visible}
[data-layout-kind=hud][data-layout-flow=column]:not(#scene-hint){flex-direction:column!important;align-items:stretch!important}
[data-layout-kind=hud][data-layout-flow=column] .edit-buttons{flex-direction:column}
[data-layout-kind=hud][data-layout-density=compact] button:not([data-layout-ui]){font-size:10px;padding:5px 7px;min-height:28px}
[data-layout-kind=hud]>.layout-tools{white-space:nowrap;top:-24px;padding:1px 2px;max-width:none;z-index:55}
[data-layout-kind=hud]>.layout-resize{z-index:56;background:#e2f0eacc;border-radius:7px;pointer-events:auto}
#app[data-layout-unlocked=false] [data-layout-kind=hud]>.layout-resize{display:none}
#block-layout-settings{position:fixed;z-index:180;width:288px;padding:16px;background:white;border:1px solid #c3d4ca;border-radius:12px;box-shadow:0 18px 60px #102a3338}
#block-layout-settings header{display:flex;justify-content:space-between;margin-bottom:15px}#block-layout-settings p{font-size:11px;margin:10px 0;color:#657e72}#block-layout-settings footer{display:flex;gap:8px}
@media(max-width:760px){#hud-room{top:10px;left:8px;padding:4px;max-width:128px}#hud-room b{max-width:116px}#hud-room .room-badge-icon{display:none}#hud-view{right:8px;top:10px}#hud-view button{font-size:10px;padding:7px}#spatial-editbar{top:74px;left:8px;max-width:calc(100% - 16px)}#editor-view-controls{top:130px;left:8px}#hud-zoom{left:8px;bottom:12px}#hud-vr{right:8px;bottom:12px}#scene-hint{display:none}}

.layout-hud-content{display:flex;flex-wrap:wrap;gap:4px;align-items:center;min-width:0;max-width:100%;max-height:100%}
[data-layout-floating=true][data-layout-kind=hud]>.layout-hud-content{width:100%;height:100%;overflow:auto;align-content:flex-start}
[data-layout-kind=hud][data-layout-flow=column]>.layout-hud-content{flex-direction:column;flex-wrap:nowrap;align-items:stretch}
#scene-hint>.layout-hud-content{display:block}
#hud-room>.layout-hud-content{flex-wrap:nowrap}
.source-state{background:#eef6f1;border-radius:8px;padding:9px;font-size:11px;color:#366050;margin-bottom:15px}
.luminaire-directions button[aria-pressed=true]{background:#24785c;color:white}
.source-identification> b{display:block;margin:14px 0 10px}
.source-identification details{margin-top:12px}
/* Reserve a real grip row while unlocked; neighboring grip rows must not overlap. */
#app[data-layout-unlocked=true] [data-layout-kind=hud]{padding-top:30px;min-height:62px}
#app[data-layout-unlocked=true] [data-layout-kind=hud]>.layout-tools{top:1px;left:2px;right:auto}
#app[data-layout-unlocked=true] #spatial-editbar{top:105px}
#app[data-layout-unlocked=true] #editor-view-controls{top:184px}
#app[data-layout-unlocked=true] #issue-badge{top:263px}
#app #connection-badge{left:14px;bottom:78px}
#app #walk-navigation{left:14px;bottom:154px}
#app[data-layout-unlocked=true] #hud-room{max-width:250px}
#app[data-layout-unlocked=true] #scene-hint{pointer-events:auto}
/* 037 — dedicated full-tab authoring workspace, not a floating settings window. */
dialog.model-workshop.ws37{position:fixed;inset:0;margin:0;width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;border:0;border-radius:0;padding:0;background:#f1f5f3;color:#243f35;overflow:hidden}
.ws37>header{flex:none;padding:10px 16px;min-height:66px;gap:12px}.ws37 #ws-name{font-size:19px;width:min(590px,45vw)}.ws37>header p{font-size:10px;color:#617e70;margin:0}
.ws37 .ws-header-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.ws37 .ws-header-actions button{font-size:11px}
.ws37 .ws-top{flex:none;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding:7px 12px;background:#e9f0ec}.ws37 .ws-top .btn{white-space:nowrap;min-height:32px;flex:none}.ws37 #ws-count{font-size:10px;white-space:nowrap;margin-left:auto;color:#627a6e}
.ws37 .ws-layout{display:grid;grid-template-columns:216px minmax(220px,1fr) 326px;grid-template-rows:minmax(0,1fr);min-height:0;flex:1;overflow:hidden}
.ws37 #ws-left{grid-column:1;grid-row:1;overflow:auto;min-width:0;min-height:0;background:#fafcfb;border-right:1px solid #d8e3dd;padding:12px;scrollbar-width:thin}
.ws37 .ws-left-heading{font-size:10px;font-weight:700;letter-spacing:1.5px;display:flex;align-items:center;justify-content:space-between;color:#6b8476;margin:2px 0 10px}
.ws37 #ws-palette{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.ws37 [data-ws-shape]{display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid #dbe6df;border-radius:9px;min-height:65px;padding:5px 2px;font-size:10px;background:white;cursor:grab;gap:4px;touch-action:manipulation}
.ws37 [data-ws-shape]:hover{border-color:#4f9a80;background:#e8f5ed}.ws37 [data-ws-shape] svg{width:31px;height:29px;pointer-events:none}.ws37 [data-ws-shape] span{pointer-events:none}
.ws37 #ws-parts{overflow:visible;padding:10px 0 0;background:transparent;border-top:1px solid #dbe4df;margin-top:10px}
.ws37 .ws-part-row{padding:4px 0}.ws37 .ws-part{font-size:11px}.ws37 .ws-part-row button[data-ws-visibility]{min-width:30px;min-height:36px;border-radius:7px}
.ws37 #ws-viewport{grid-column:2;grid-row:1;min-height:0;overflow:hidden}.ws37 #ws-scene{position:absolute;inset:0;height:100%;width:100%}
.ws37 #ws-properties{grid-column:3;grid-row:1;overflow:auto;background:white;border-left:1px solid #d8e3dd;min-height:0;min-width:0;scrollbar-width:thin}
.ws37 #ws-fields{overflow:visible;padding:14px}.ws37 #ws-fields[hidden]{display:none!important}
.ws37 #ws-task{position:static;inset:auto;width:100%;max-width:100%;max-height:none;box-shadow:none;border:0;border-radius:0;padding:14px;overflow:visible;background:white}
.ws37 #ws-task[hidden]{display:none!important}.ws37 .ws-task-head{position:sticky;top:0;background:white;z-index:2}.ws37 .ws-task-head .btn{font-size:11px}
.ws37 .ws-tools{max-width:calc(100% - 136px);right:auto;background:#f9fbf9ed;border:1px solid #d5e3da;border-radius:11px;padding:5px;gap:4px;backdrop-filter:blur(8px)}
.ws37 .ws-tools .btn{min-height:30px;font-size:10px;padding:6px 8px}.ws37 .ws-tools select{max-width:144px;font-size:10px;padding:5px;min-height:30px}
.ws37 .view-cube{right:9px;top:9px;bottom:auto;width:113px;z-index:5}.ws37 .view-cube>svg{height:82px}.ws37 .view-cube-sides{gap:3px}
.ws37 .ws-quick-actions{position:absolute;bottom:62px;left:10px;z-index:5;display:flex;flex-wrap:wrap;max-width:calc(100% - 20px);gap:4px;background:#fbfdfbdc;border:1px solid #d8e3db;border-radius:10px;padding:5px;align-items:center}
.ws37 .ws-quick-actions .btn{font-size:10px;min-height:30px;padding:6px 9px}.ws37 .ws-plane-controls{font-size:10px;padding:5px 8px;gap:5px;max-width:calc(100% - 20px);border-radius:9px;min-height:38px;bottom:10px}
.ws37 .ws-plane-controls input{width:56px}.ws37 #ws-grid-info{color:#6a8275;font-size:9px}
.ws37 #ws-preview{bottom:108px;left:10px;right:10px;max-width:calc(100% - 20px);width:auto;border-radius:10px;padding:10px;background:#fff8e8;border:1px solid #d8b471;font-size:12px;z-index:8}
.ws37 #ws-preview[hidden]{display:none!important}.ws37 #ws-cut-overlay{position:absolute;inset:0;pointer-events:none;width:100%;height:100%;z-index:2}.ws37 #ws-cut-overlay text{font:11px system-ui;paint-order:stroke;stroke:#fff;stroke-width:3px;fill:#214c3d}
.ws37 .ws-brush-cursor{position:absolute;pointer-events:none;border:2px solid #eaa765;border-radius:50%;box-shadow:0 0 0 1px #234438;z-index:5;transform:translate(-50%,-50%)}
.ws37 .ws-material-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:9px 0 16px}
.ws37 [data-ws-material-preset]{display:flex;align-items:center;text-align:left;gap:8px;border:1px solid #dce6e0;border-radius:8px;padding:7px;font-size:11px;min-height:40px;background:#f9fbf9}
.ws37 [data-ws-material-preset] i,.ws37 .ws-material-swatch{width:24px;height:24px;display:block;border-radius:50%;background:var(--swatch,#abbeb4);border:1px solid #8da094;box-shadow:inset 5px 4px 8px #ffffff66,inset -3px -2px 5px #17291d33}
.ws37 .ws-material-presets button:hover{border-color:#24836b;background:#eef8f2}.ws37 #ws-properties input[type=range]{padding:0;accent-color:#28816b;min-height:32px}
.ws37 #ws-properties details{margin:10px 0;border:1px solid #e1e9e3;padding:9px;border-radius:8px}.ws37 #ws-properties summary{cursor:pointer;font-size:11px;color:#517564}
.ws37>footer{flex:none;padding:7px 14px}.ws37>footer>div{flex-wrap:nowrap;overflow:auto;scrollbar-width:thin;margin-top:3px}.ws37>footer .btn{flex:none;font-size:10px;min-height:29px;padding:6px 9px}.ws37 #ws-status{font-size:11px;min-height:18px;max-height:40px;overflow:auto}
.view-cube [data-view-cube]:hover{fill:#b9d8ca;stroke:#2c8265;stroke-width:1.4}.view-cube [data-view-cube]:focus{outline:none;fill:#a9cfb9;stroke:#205e47;stroke-width:2}
.view-cube [data-cube-select]{width:100%;font-size:10px;padding:5px;margin:3px 0;background:#fff;border:1px solid #d4e0d7;border-radius:6px;max-width:100%}
/* Illustrated context help belongs to the top layer and never changes editor state. */
.context-help{display:inline-grid!important;place-items:center!important;width:21px!important;height:21px!important;min-height:21px!important;min-width:21px!important;border-radius:50%!important;padding:0!important;margin-left:5px;font-size:12px!important;font-weight:700;line-height:1!important;color:#27644d!important;border:1px solid #b8d0c0!important;background:#f0f8f3!important;vertical-align:middle;cursor:help!important;letter-spacing:0}
.context-help:hover{background:#d9eee1!important;border-color:#4c9270!important}
dialog.learning-center{box-sizing:border-box;position:fixed;inset:0;width:min(1140px,96vw);height:min(870px,94dvh);max-width:none;max-height:none;margin:auto;padding:0;border:1px solid #ccd9d0;border-radius:18px;background:#f5f8f5;color:#27453d;overflow:hidden;font:14px/1.6 system-ui}
dialog.learning-center[open]{display:flex;flex-direction:column}dialog.learning-center::backdrop{background:#0e2627ad;backdrop-filter:blur(3px)}
.learning-center>header{display:flex;align-items:center;justify-content:space-between;background:white;padding:18px 24px;border-bottom:1px solid #dce6de;flex:none}.learning-center h2{font-size:24px;margin:3px 0}.learning-center small{font-size:10px;color:#6d8375;letter-spacing:1px}.learning-center [data-help-close]{font-size:23px;width:40px;height:40px;background:#eef5ef;border-radius:10px;border:1px solid #d5e2d8}
.help-layout{display:grid;grid-template-columns:270px minmax(0,1fr);flex:1;min-height:0}.help-layout>aside{padding:16px;overflow:auto;background:#edf3ee;border-right:1px solid #d8e4dc;scrollbar-width:thin}.help-layout input,.help-layout select{font:13px system-ui;width:100%;box-sizing:border-box;padding:11px;border:1px solid #cadbce;border-radius:9px;margin-bottom:9px;background:#fff}
.help-list{display:flex;flex-direction:column;gap:6px}.help-list button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:10px 12px;background:white;border-radius:9px;border:1px solid transparent;font:12px/1.5 system-ui;cursor:pointer}.help-list button:hover{border-color:#579579;background:#e3f1e8}.help-list small{font-size:9px;letter-spacing:.5px;color:#698b78}.help-list b{font-weight:600;color:#2b473b}
.help-content{padding:25px 30px;overflow:auto;min-width:0;background:#fff;scrollbar-width:thin}.help-content h2{font-size:25px;line-height:1.3;margin:5px 0 15px}.help-content h3{font-size:15px;margin:18px 0 8px}.help-content p{margin:10px 0;font-size:14px;line-height:1.75}.help-diagram{display:block;width:100%;height:auto;max-height:280px;margin:14px 0}.help-content .help-step-buttons,.help-slides{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.help-content button{padding:8px 12px;border:1px solid #cbded0;border-radius:9px;font:12px system-ui;background:#edf6ef;cursor:pointer}.help-content button[aria-pressed=true]{color:white;background:#237657}.help-content .note,.help-warning{display:block;border:1px solid #ecdcba;background:#fff7e8;color:#755d31;padding:13px;border-radius:10px;font-size:12px}.help-check{padding:12px;background:#edf6ee;border-radius:10px;font-size:13px}.help-step{border-left:3px solid #6b9e86;padding:5px 14px;margin:12px 0;background:#f5f9f5}.help-step.active{border-color:#da9b39;background:#fff9ed}
@media(max-width:1150px){.ws37 .ws-layout{grid-template-columns:180px minmax(220px,1fr) 286px}.ws37 .ws-tools{max-width:calc(100% - 128px)}.ws37 .ws-tools .btn{padding:5px 6px}.ws37 #ws-grid-info{display:none}.ws37 .ws-top{max-height:44px}}
@media(max-width:760px){dialog.model-workshop.ws37{width:100vw;height:100dvh;inset:0;max-height:100dvh}.ws37>header{padding:7px 10px;min-height:52px;gap:6px}.ws37>header p,.ws37>header small{display:none}.ws37 #ws-name{width:39vw;font-size:15px}.ws37 .ws-header-actions{gap:3px;flex-wrap:nowrap}.ws37 .ws-header-actions .btn{font-size:10px;padding:6px;min-height:32px}.ws37 .ws-header-actions [data-ws=exit]{max-width:83px}.ws37 .ws-header-actions [data-ws=fullscreen]{display:none}
 .ws37 .ws-top{max-height:44px;min-height:43px;flex-wrap:nowrap;padding:5px 8px}.ws37 .ws-top .btn{font-size:10px;min-height:30px}.ws37 .ws-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);overflow:hidden}
 .ws37 #ws-viewport{grid-column:1;grid-row:1;min-height:180px}.ws37 #ws-left,.ws37 #ws-properties{display:none;grid-column:auto;grid-row:auto;position:absolute;bottom:0;left:0;right:0;height:48%;z-index:12;border:1px solid #c6d9cc;border-radius:14px 14px 0 0;box-shadow:0 -8px 30px #19372c20;overflow:auto}
 .ws37[data-ws-pane=parts] #ws-left{display:block}.ws37[data-ws-pane=fields] #ws-properties{display:block}.ws37[data-ws-pane=parts] #ws-parts{display:block}.ws37[data-ws-pane=fields] #ws-fields{display:block}
 .ws37 #ws-left #ws-palette{grid-template-columns:repeat(5,minmax(0,1fr))}.ws37 [data-ws-shape]{min-height:57px}.ws37 #ws-fields{position:static;height:auto;width:auto;padding:12px}.ws37 #ws-task{position:static;max-height:none;width:100%;padding:12px}
 .ws37 .ws-tools{left:6px;top:6px;right:auto;max-width:calc(100% - 116px);max-height:96px;overflow:auto;gap:3px;pointer-events:auto}.ws37 .ws-tools .btn{font-size:10px;min-height:30px;padding:5px 6px}.ws37 .ws-tools [data-ws=show-all],.ws37 .ws-tools [data-ws=isolate]{display:none}.ws37 .ws-tools select{font-size:9px;min-height:28px;padding:4px}
 .ws37 .view-cube{width:102px;top:6px;right:6px}.ws37 .view-cube>svg{height:70px}.ws37 .view-cube-sides button{font-size:9px;min-height:32px}
 .ws37 .ws-plane-controls{bottom:7px;left:6px;right:6px;max-width:calc(100% - 12px);font-size:9px;gap:4px}.ws37 .ws-plane-controls input{width:43px;padding:4px}.ws37 .ws-plane-controls select{padding:4px}.ws37 .ws-quick-actions{bottom:53px;left:6px;right:6px;max-width:calc(100% - 12px);flex-wrap:nowrap;overflow:auto;scrollbar-width:none}.ws37 .ws-quick-actions .btn{flex:none;font-size:9px;padding:5px;min-height:29px}
 .ws37 #ws-preview{bottom:100px;left:6px;right:6px;font-size:11px;padding:7px;max-height:110px;overflow:auto}.ws37 .ws-mobile-nav{display:flex;flex:none;gap:5px;background:#fff;border-top:1px solid #d8e3dc;padding:5px 9px}.ws37 .ws-mobile-nav .btn{flex:1;font-size:11px}.ws37 #ws-mobile-actions{position:absolute;bottom:115px;left:8px;right:8px;max-height:44dvh;background:white;z-index:16;border:1px solid #b9d1c1;box-shadow:0 -5px 25px #1d332f30;border-radius:13px;padding:12px}.ws37[data-ws-pane=actions] #ws-mobile-actions{display:flex;flex-wrap:wrap}
 .ws37>footer{padding:5px 9px}.ws37 #ws-status{font-size:10px;max-height:31px;min-height:16px}.ws37>footer .btn{font-size:10px;min-height:29px;padding:5px 8px}.context-help{width:25px!important;height:25px!important;min-height:25px!important}
 dialog.learning-center{width:100vw;height:100dvh;border:0;border-radius:0;max-height:100dvh}.learning-center>header{padding:12px 14px}.learning-center h2{font-size:19px}.help-layout{grid-template-columns:1fr;grid-template-rows:145px minmax(0,1fr)}.help-layout>aside{padding:9px 12px;display:grid;grid-template-columns:1fr 130px;gap:6px;overflow:hidden}.help-layout input,.help-layout select{font-size:11px;min-height:33px;padding:7px;margin:0}.help-list{grid-column:1/-1;flex-direction:row;overflow:auto;min-height:70px}.help-list button{min-width:150px;flex:none;max-width:190px;font-size:10px;padding:6px 9px}.help-content{padding:16px 17px}.help-content h2{font-size:21px}.help-content p{font-size:13px}.help-diagram{margin:9px 0}
}
.ws37 .ws-material-presets button{display:flex;align-items:center;text-align:left;gap:8px;font-size:11px;background:#f6faf7;min-height:40px;padding:7px}
.ws37 .ws-material-presets button::before{content:'';width:22px;height:22px;flex:none;border-radius:50%;background:var(--swatch);border:1px solid #7b9486;box-shadow:inset 5px 4px 8px #ffffff66,inset -3px -2px 5px #17291d33}
@media(max-width:760px){.ws37[data-ws-pane=task] #ws-properties{display:block}.ws37[data-ws-pane=task] #ws-task{position:static;display:block;max-height:none;width:100%;height:auto}.ws37[data-ws-pane=task] #ws-fields[hidden]{display:none!important}}
.ws37>header>.ws-header-actions{flex-direction:row;align-items:center;gap:6px}.ws37>header>div:first-child{min-width:0}.ws37>.ws-top{max-height:48px}
/* v0.37: compact cube must override legacy workshop offsets. */
#model-workshop.ws37 #ws-viewport>.view-cube{top:8px;right:8px;bottom:auto;width:113px}
#model-workshop.ws37 .view-cube label{font-size:10px;line-height:1.4;color:#61796d}
.help-caution{padding:12px 14px;border:1px solid #e6d7b7;border-radius:10px;background:#fff7e8;color:#725b34;font-size:12px;line-height:1.7}
.help-step-toolbar{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
@media(max-width:760px){#model-workshop.ws37 #ws-viewport>.view-cube{top:6px;right:6px;width:102px}#model-workshop.ws37 .view-cube>label{font-size:0}#model-workshop.ws37 .view-cube>button[data-cube-view=orbit]{display:none}#model-workshop.ws37 .view-cube [data-cube-select]{margin:2px 0;padding:4px;font-size:9px}}

/* v0.38: viewport-owned overlays; attached blocks follow sidebar size, not the window. */
#layout-reset-confirm{position:fixed;z-index:10050;left:50%;top:22%;transform:translateX(-50%);width:min(420px,calc(100vw - 24px));padding:22px;border:1px solid #cad9d0;border-radius:16px;background:#fff;box-shadow:0 16px 80px #132f3540}
#layout-reset-confirm p{margin:12px 0;line-height:1.6}#layout-reset-confirm>div{display:flex;gap:8px;flex-wrap:wrap}
#workspace-layout-reset{font-size:10px;padding:7px;border:1px solid var(--line);border-radius:8px;background:#fff}
.view-cube[data-layout-target]{display:block;overflow:auto;min-width:86px}.view-cube[data-layout-target][hidden]{display:none!important}
#app[data-layout-unlocked=true] .view-cube[data-layout-target]{padding-top:31px}
.view-cube .layout-tools{left:4px;right:auto;top:2px}.view-cube[data-layout-target]>svg{width:100%;max-width:144px;height:auto}
#block-layout-settings{max-height:calc(100dvh - 16px);overflow:auto}
@media(max-width:760px){#workspace-layout-reset{max-width:68px;font-size:9px;white-space:normal}.view-cube[data-layout-target]{max-width:125px}}

.source-status-card{background:#eff7f2;border:1px solid #b7d5c6;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:5px;margin:10px 0}.source-status-card strong{font-size:13px}.source-status-card span{font-size:11px}.source-adjustments{padding:8px 0}.source-adjustments summary{font-weight:650;cursor:pointer}

.start-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:16px 0}.start-card{text-align:left;border:1px solid #cbdace;padding:14px;border-radius:12px;background:#f8faf8;display:flex;flex-direction:column;gap:8px}.start-card.active{border-color:#24785c;background:#e9f4ed;box-shadow:inset 0 0 0 1px #24785c}.start-card span{font-size:11px;line-height:1.5}.project-start p{margin:12px 0;line-height:1.6}#start-error{color:#a84436}#start-files-summary{padding:12px;background:#eef5f1;border-radius:8px;font-size:12px;overflow-wrap:anywhere}.project-start [hidden]{display:none!important}@media(max-width:760px){.start-cards{grid-template-columns:1fr}.header-new{padding:5px;min-width:35px}.header-new .icon{display:none}}

.move-step{display:flex;align-items:center;gap:5px;font-size:10px}.move-step select{width:60px;padding:6px}.gizmo-plane{pointer-events:all;cursor:move;touch-action:none}.gizmo-plane:hover polygon{fill-opacity:.9;stroke-width:3}.gizmo-plane text{user-select:none}
/* v0.38: semantic visibility and an actually bounded mobile grid. */
.view-cube .view-cube-sides[hidden]{display:none!important}
@media(max-width:760px){
 #app{grid-template-columns:minmax(0,1fr)!important;max-width:100vw}
 #app>.topbar{min-width:0;max-width:100%;overflow:hidden;gap:6px;padding:0 7px}
 .topbar .project-title{min-width:0;flex:0 1 80px;max-width:80px}
 .topbar .top-actions{min-width:0;flex:1;overflow-x:auto;scrollbar-width:none;gap:3px}
 .topbar .top-actions>button{flex-shrink:0}
 #app>.viewport{width:100%;max-width:100%;min-width:0}
}
@media(max-width:760px){.topbar .top-actions .header-new span{display:inline!important}.topbar .top-actions .header-new{order:-3;font-size:11px}.topbar #workspace-layout-toggle{order:-2}.topbar #workspace-layout-reset{order:-1}.view-cube .cube-directions>span{display:none}}

/* Project centre 0.40: one full workspace, cards and a single contextual column. */
.project-hub{position:fixed;inset:18px;width:calc(100vw - 36px);height:calc(100dvh - 36px);max-width:1800px;max-height:none;padding:0;border:1px solid #d8e3dd;border-radius:20px;background:#f4f7f4;color:#253c32;overflow:hidden;box-shadow:0 25px 100px #17382c55;font:14px/1.5 Inter,system-ui,sans-serif}
.project-hub::backdrop{background:#102a2266;backdrop-filter:blur(4px)}
.project-hub *{box-sizing:border-box}.project-hub [hidden]{display:none!important}.ph-header{height:88px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:20px 26px;border-bottom:1px solid #e0e8e2;gap:18px}.ph-brand{display:flex;align-items:center;gap:15px}.ph-brand>.icon{width:28px;height:28px;color:#267b5e}.ph-header small{font-size:9px;letter-spacing:1.8px;color:#71867a}.ph-header h1{font-size:24px;letter-spacing:-.65px;line-height:1.3;margin:2px 0}.ph-header-actions{display:flex;gap:8px;align-items:center}.ph-button{border:1px solid #dce6de;background:#fff;border-radius:9px;padding:9px 12px;min-height:39px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font:600 12px/1.35 system-ui;cursor:pointer}.ph-button .icon{width:16px;height:16px}.ph-button:hover{background:#eaf3ed!important}.ph-button[aria-pressed=true],.ph-button[aria-selected=true],.ph-header [data-ph=new]{background:#24785c;color:white;border-color:#24785c}.ph-header [data-ph=new]:hover{background:#19593f!important}.ph-layout{height:calc(100% - 88px);display:grid;grid-template-columns:200px minmax(350px,1fr) 355px;min-height:0}.ph-nav{background:#fff;border-right:1px solid #e0e8e2;padding:24px 14px;display:flex;flex-direction:column;gap:7px;overflow:auto}.ph-nav>.ph-button{justify-content:flex-start;border-color:transparent}.ph-nav-footer{margin-top:auto;padding:28px 6px 0;display:flex;flex-direction:column;gap:9px;overflow-wrap:anywhere}.ph-nav-footer p{font-size:11px;color:#829284}.ph-nav-footer b{font-size:12px}.ph-nav-footer small{font-size:11px;color:#647b69}.ph-main{padding:26px;overflow-y:auto;min-width:0;scrollbar-width:thin}.ph-searchbar{display:flex;gap:10px;margin-bottom:17px}.ph-search{flex:1;display:flex;align-items:center;border:1px solid #d7e1d9;border-radius:10px;background:#fff;padding-left:12px;gap:8px}.ph-search .icon{width:18px;height:18px;color:#6d8878}.ph-search input{width:100%;border:0;padding:11px;background:none;font:14px system-ui}.ph-searchbar select{max-width:185px;padding:9px;background:white;border-radius:10px;font:12px system-ui}.ph-list-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:18px 0}.ph-list-head>span{font-size:12px;color:#708473}.ph-list-head>div{display:flex;gap:5px}.ph-list-head .ph-button{font-size:11px;padding:7px 9px;min-height:33px}.ph-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(218px,1fr));gap:17px}.ph-card{background:white;border:1px solid #dbe4dc;border-radius:14px;overflow:hidden;transition:box-shadow .15s}.ph-card.selected{border:2px solid #277a60;box-shadow:0 0 0 4px #277a6012}.ph-card-select{display:block;width:100%;padding:0;text-align:left}.ph-card-select:hover{background:#fff!important}.ph-card-image{height:160px;position:relative;background:linear-gradient(140deg,#eef4ec,#e3ede6);padding:18px}.ph-preview{display:block;width:100%;height:100%}.ph-kind{position:absolute;top:11px;left:12px;font-size:9px;letter-spacing:.2px;color:#466858;background:#ffffffdb;padding:3px 7px;border-radius:5px}.ph-current{position:absolute;bottom:9px;right:9px;font-size:9px;background:#25785c;color:white;padding:3px 7px;border-radius:5px}.ph-card-copy{padding:15px 16px}.ph-card-copy h3{font-size:14px;line-height:1.4;margin:0 0 6px;overflow-wrap:anywhere}.ph-card-copy p{color:#6c806f;font-size:11px}.ph-card-copy small{font-size:10px;color:#8a988b}.ph-tags{display:flex;flex-wrap:wrap;gap:4px;margin:9px 0}.ph-tags span{font-size:10px;background:#eff4ed;color:#617c68;border-radius:5px;padding:2px 5px;max-width:100%;overflow-wrap:anywhere}.ph-card-bottom{border-top:1px solid #edf1eb;padding:9px 11px;display:flex;justify-content:space-between;gap:5px}.ph-card-bottom .ph-button{font-size:10px;min-height:31px;padding:6px;border:0}.ph-empty{padding:28px;text-align:center;grid-column:1/-1}.ph-empty>.icon,.ph-empty-preview>.icon{width:40px;height:40px;opacity:.5}.ph-empty p{font-size:13px;color:#7a8b7c;margin:10px 0 15px}.ph-empty-preview{display:grid;place-items:center;height:100%;color:#72907c;font-size:11px}.ph-detail{background:white;border-left:1px solid #dfe7df;display:flex;flex-direction:column;min-height:0}.ph-detail-title{padding:24px 23px 16px;border-bottom:1px solid #eef1ec;overflow-wrap:anywhere}.ph-detail-title small{font-size:10px;color:#79907f}.ph-detail-title h2{font-size:19px;margin:7px 0;line-height:1.35}.ph-detail-title p{font-size:11px;color:#748577}.ph-tabbar{display:flex;gap:5px;padding:14px 18px 5px}.ph-tabbar>.ph-button{flex:1;padding:7px 5px;font-size:11px;min-height:34px}.ph-detail-body{padding:18px 22px 26px;overflow-y:auto;min-height:0;scrollbar-width:thin}.ph-detail-body>p{font-size:12px;line-height:1.6;color:#6c8172;margin:0 0 16px}.ph-action-grid{display:grid;grid-template-columns:1fr;gap:8px}.ph-action-grid .ph-button{justify-content:flex-start;min-height:42px}.ph-explain{background:#f0f6f0;border:1px solid #dde9dd;border-radius:10px;padding:13px 14px;margin:18px 0;font-size:12px;line-height:1.6;color:#597360}.ph-explain b{color:#325b43}.ph-explain p{margin:6px 0 0}.ph-danger-actions{display:flex;flex-wrap:wrap;gap:6px;margin:20px 0 9px}.ph-danger-actions [data-ph=trash]{color:#a95c4a}.ph-detail-body>small{font-size:11px;color:#879483}.ph-version{padding:13px 0;border-bottom:1px solid #e5ebe2}.ph-version h4{font-size:12px;margin:0 0 5px;overflow-wrap:anywhere}.ph-version small{font-size:10px;color:#7e8e7d}.ph-version>div{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}.ph-version .ph-button{font-size:10px;padding:5px 8px;min-height:30px}.ph-recovery{margin-top:15px}.ph-recovery summary{cursor:pointer;font-size:12px}.ph-tree-node{margin:12px 0 12px calc(var(--depth)*14px);padding:9px 0 9px 12px;border-left:2px solid #a6c4b2}.ph-tree-node>button:first-child{padding:0;text-align:left;display:flex;flex-direction:column;gap:4px;width:100%}.ph-tree-node b{font-size:12px;overflow-wrap:anywhere}.ph-tree-node small{font-size:10px;color:#8b978a}.ph-tree-node>.ph-button{margin-top:7px;font-size:10px;min-height:28px;padding:5px 8px}#ph-form h3{font-size:16px;margin:0 0 8px}#ph-form>p{font-size:12px;line-height:1.6;color:#758577;margin:0 0 20px}#ph-form label{display:flex;flex-direction:column;gap:8px;font-size:12px;margin:12px 0}#ph-form input,#ph-form textarea{width:100%;padding:10px;border:1px solid #cadbce;border-radius:8px;background:#fff;font:13px/1.5 system-ui}#ph-form textarea{resize:vertical}.ph-form-actions{display:flex;gap:8px;margin-top:22px}.ph-form-actions [data-ph=confirm-form]{background:#24785c;color:white}.ph-notice{border:1px solid #dfd6b7;background:#fbf5e5;padding:12px 15px;font-size:12px;color:#766342;border-radius:10px;margin:12px 0}#ph-error{background:#fff0ea;border:1px solid #e9bcac;color:#9d412f;border-radius:10px;padding:13px;font-size:12px;margin:12px 0}.ph-footnote{margin:24px 0 0;color:#819080;font-size:11px;line-height:1.65}.ph-compare-table{overflow:auto;margin:15px 0}.ph-compare-table table{border-collapse:collapse;width:100%;font-size:11px}.ph-compare-table td,.ph-compare-table th{padding:8px 5px;border-bottom:1px solid #e1e9df;text-align:left}.ph-compare-table th{color:#738b79;background:#f3f7f1}.ph-detail-body [data-ph=restore]{background:#fbf2e1;color:#875e23;margin-bottom:12px}.ph-detail-body [data-ph=restore]:hover{background:#f6e5c8!important}.ph-loading{padding:45px}.project-lineage{font-size:10px;color:#668775;margin-left:5px;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.save-error .status-dot{background:#c66b45!important}
@media(max-width:1250px){.ph-layout{grid-template-columns:155px minmax(300px,1fr) 315px}.ph-main{padding:20px}.ph-header{padding:17px 20px}.ph-header-actions [data-ph=help] span{display:none}.ph-searchbar{flex-wrap:wrap}.ph-search{flex-basis:220px}}
@media(max-width:950px){.project-hub{inset:0;width:100vw;height:100dvh;border:0;border-radius:0}.ph-layout{grid-template-columns:minmax(300px,1fr) 310px;grid-template-rows:auto minmax(0,1fr)}.ph-nav{grid-column:1/-1;flex-direction:row;padding:10px 14px;gap:4px;border-bottom:1px solid #e2e9e0;border-right:0}.ph-nav-footer{display:none}.ph-nav>.ph-button{padding:8px 10px;min-height:34px;font-size:11px;white-space:nowrap}.ph-header{height:78px}.ph-layout{height:calc(100% - 78px)}.ph-header h1{font-size:21px}.ph-card-image{height:137px}}
@media(max-width:640px){.ph-header{padding:10px 14px;height:98px;align-items:flex-start;flex-wrap:wrap;gap:4px}.ph-brand{gap:9px}.ph-brand>.icon{width:22px;height:22px}.ph-header small{font-size:8px;letter-spacing:1px}.ph-header h1{font-size:20px}.ph-header-actions{margin-left:auto;gap:4px}.ph-header-actions .ph-button{font-size:10px;padding:7px;min-height:35px}.ph-header-actions [data-ph=close] span{display:none}.ph-header-actions [data-ph=help]{display:none}.ph-layout{height:calc(100% - 98px);display:block;overflow-y:auto}.ph-nav{position:sticky;top:0;z-index:1;overflow-x:auto;flex-wrap:nowrap}.ph-nav>.ph-button{font-size:10px;padding:7px}.ph-nav .icon{display:none}.ph-main{padding:16px;overflow:visible}.ph-searchbar{gap:8px;flex-wrap:nowrap}.ph-searchbar select{width:114px;font-size:10px}.ph-search{min-width:0}.ph-search input{font-size:12px;padding:10px 6px}.ph-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ph-card-image{height:113px;padding:18px 8px 10px}.ph-kind{font-size:8px;left:7px;top:7px}.ph-card-copy{padding:10px}.ph-card-copy h3{font-size:12px}.ph-card-copy p,.ph-card-copy small{font-size:9px}.ph-card-bottom{padding:5px;flex-wrap:wrap}.ph-card-bottom .ph-button{font-size:9px;min-height:30px}.ph-tags span{font-size:8px}.ph-current{font-size:8px}.ph-detail{border:1px solid #dbe6dc;border-radius:14px;margin:0 16px 22px;display:block}.ph-detail-title{padding:16px}.ph-detail-body{overflow:visible;padding:15px}.ph-tabbar{padding:12px 15px 0}.ph-list-head{align-items:flex-start}.ph-list-head>div{flex-direction:column;align-items:flex-end}.ph-list-head .ph-button{font-size:10px}.ph-footnote{font-size:10px}.ph-action-grid{grid-template-columns:1fr 1fr}.ph-action-grid .ph-button{font-size:11px}.ph-header-actions [data-ph=new]{font-size:11px}.project-lineage{max-width:75px}}
.ph-compare-previews{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:16px 0}.ph-compare-previews>div{height:120px;background:#ecf3ec;border:1px solid #e0e9df;border-radius:10px;padding:10px}.ph-compare-previews small{font-size:10px;color:#698574}.ph-compare-previews svg{height:85px}.ph-detail{scroll-margin-top:65px}
.project-title{min-width:0;gap:6px}.project-title #project-name{min-width:0;overflow:hidden;text-overflow:ellipsis}.project-title .project-lineage{flex-shrink:0;font-size:9px;border:1px solid #d9e8de;background:#f2f7f1;padding:3px 5px;border-radius:5px}
@media(max-width:1450px){.header-projects{display:none}.project-title .project-lineage{max-width:57px}}
/* 0.41.1: read-only, independent map inspector and stable panel layout. */
#visual-workbench .wb-body{overflow-anchor:none}
.lx-snapshot-status{padding:10px 12px;margin-bottom:12px;border-radius:10px;background:#eaf3ef;color:#215c49;font-size:11px;line-height:1.5}
.light-review p{font-size:12px;line-height:1.6;padding:10px 12px;border-radius:9px;margin:8px 0}
.light-review .review-warning{background:#fff4e5;color:#785323;border-left:3px solid #bc8e49}
.light-review .review-info{background:#f0f5f3;color:#355a4c}
#lighting-map-detail{width:min(1180px,96vw);height:min(940px,94dvh);max-width:96vw;max-height:96dvh;padding:0;border:1px solid #d4e1da;border-radius:16px;background:#fff;color:#253d33;overflow:hidden}
#lighting-map-detail[open]{display:flex;flex-direction:column}
#lighting-map-detail::backdrop{background:#122b2880}
#lighting-map-detail header,#lighting-map-detail footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px;background:#f3f7f4;flex:none}
#lighting-map-detail footer{justify-content:flex-start;flex-wrap:wrap}
.lmd-body{padding:18px 24px;overflow:auto;min-height:0;flex:1}
.lmd-status{background:#fff4e4;border-radius:9px;padding:10px 12px;font-size:12px}
.lmd-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin:14px 0}
.lmd-toolbar label{display:flex;align-items:center;gap:8px;font-size:12px}.lmd-toolbar input[type=number]{width:100px;padding:8px}.lmd-toolbar select{padding:8px}
.lmd-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}
.lmd-kpis>div{display:flex;flex-direction:column;padding:12px;background:#eef5f1;border-radius:10px}.lmd-kpis b{font-size:22px}.lmd-kpis span{font-size:12px;color:#627d6e}
.lmd-scroller{overflow:auto;max-height:58dvh;border:1px solid #d8e4dd;border-radius:10px;margin-top:12px;background:#f4f6f5}
#lmd-chart{min-width:320px}#lmd-chart svg{display:block;width:100%;height:auto}#lmd-chart [data-cell]{cursor:crosshair}#lmd-chart [data-cell]:hover{stroke:#fff;stroke-width:2px}
#lmd-point{padding:12px;background:#edf7f4;border-radius:10px;margin:10px 0}
#lighting-map-detail table{width:100%;border-collapse:collapse;font-size:12px}#lighting-map-detail td,#lighting-map-detail th{padding:8px;border-bottom:1px solid #dce4df;text-align:left}#lighting-map-detail details{margin-top:12px;padding:12px;border:1px solid #dce4df;border-radius:10px}
@media(max-width:600px){#lighting-map-detail header,#lighting-map-detail footer{padding:12px}.lmd-body{padding:12px}.lmd-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.lmd-kpis b{font-size:19px}.lmd-toolbar label{flex-wrap:wrap}.lmd-scroller{max-height:46dvh}}
/* 0.43: first-class building workflow. The existing inspector is reused. */
:root{--panel:304px;--inspector:322px}
.house-panel{padding-bottom:22px}.house-breadcrumb{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 16px;font-size:9px;font-weight:700;letter-spacing:.6px;color:#5d806e}.house-breadcrumb>span{font-weight:500;letter-spacing:0;text-align:right}
.house-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:18px}.house-stats>div{border:1px solid #dae5dc;border-radius:12px;background:#f0f6f0;padding:12px 8px}.house-stats b{display:block;font-size:25px;font-weight:600}.house-stats span{font-size:10px;color:#698372}.house-panel .domain-step{padding:13px 11px;border-radius:12px}.house-panel .domain-step b{font-size:13px}.house-panel .domain-step small{font-size:11px}.house-demo-card{border:1px solid #bdd3c3;background:#edf5ef;border-radius:13px;padding:14px;margin:21px 0 14px}.house-demo-card b{font-size:13px}.house-demo-card p{font-size:11px;line-height:1.6;color:#648070;margin:8px 0 12px}.house-demo-card button{width:100%;background:#24785c;color:white;border-color:#24785c}
.house-floor-list{display:grid;gap:8px;margin-bottom:12px}.house-floor{border:1px solid #d8e3d9;border-radius:12px;display:flex;align-items:center;padding:5px;background:#fff}.house-floor.active{border-color:#5b9c7b;background:#edf6ed}.house-floor>button:first-child{display:flex;flex:1;flex-direction:column;align-items:start;padding:9px;gap:4px;min-width:0}.house-floor small{font-size:10px}.house-floor>button:first-child b{font-size:13px}.house-heading{margin:21px 0 12px;font-size:13px}.house-object{display:flex;flex-direction:column;text-align:left;width:100%;gap:5px;padding:12px;border:1px solid #dce6db;border-radius:11px;margin:8px 0;background:white}.house-object:hover{border-color:#5a9a78;background:#f1f8f2}.house-object b{font-size:12px;line-height:1.45}.house-object span,.house-object small{font-size:10px;color:#6d8372;line-height:1.5}.house-actions,.house-create-grid,.house-contour-toolbar,.house-element-actions,.house-quality-presets{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.house-actions .btn,.house-create-grid .btn{flex:1;min-width:90px;white-space:normal}.house-create-grid{display:grid;grid-template-columns:1fr 1fr}.house-create-grid .btn{min-height:45px;font-size:11px}.house-element-actions{border-top:1px solid #dce7dd;padding-top:14px}.house-element-actions .btn{width:100%;justify-content:flex-start;text-align:left}.house-note,.house-empty{font-size:11px;color:#657d6c;line-height:1.65;margin:12px 0}.house-status{font-size:11px;padding:13px;border:1px solid #d3e4d6;border-radius:10px;background:#f1f7f0;line-height:1.7;margin:12px 0;display:flex;flex-direction:column;gap:4px}.house-status:empty{display:none}.house-void{display:flex;align-items:center;gap:7px;padding:11px 0;border-bottom:1px solid #e3eae0;font-size:11px}.house-void>span{flex:1}.house-void small{display:block}.house-system{border:1px solid #d9e4db;border-radius:12px;padding:14px;margin:10px 0}.house-system h3{font-size:15px}.house-system p{font-size:11px;color:#66806e;margin:7px 0 12px;line-height:1.5}.house-system>div{display:flex;gap:7px}.house-system button{flex:1}.house-checklist{max-height:240px;overflow:auto;display:grid;gap:8px;font-size:11px;margin:12px 0}.house-checklist label{display:flex;align-items:center;gap:8px}.house-checklist input,.house-dock input[type=checkbox]{accent-color:#24785c}.house-guide article{padding:14px 0;border-bottom:1px solid #e2e9de}.house-guide b{font-size:13px}.house-guide p{font-size:12px;color:#637967;line-height:1.65;margin-top:9px}
.house-dock .wb-body{padding:17px;overflow-x:hidden;overflow-anchor:none}.house-dock .field>span{font-size:11px;color:#657f6d;line-height:1.4}.house-dock input,.house-dock select{width:100%;min-height:39px;font-size:12px}.house-dock input[type=checkbox]{width:auto;min-height:0}.house-dock .field-row{align-items:end}.house-dock header h3{font-size:16px}.house-dock footer{flex-wrap:wrap;gap:7px}.house-dock footer button{flex:1;min-height:41px}.house-dock [data-house=apply]{background:#24785c;color:white;border-color:#24785c}.house-dock details{margin:12px 0;padding:10px;border:1px solid #dce5d9;border-radius:9px}.house-dock summary{cursor:pointer;font-size:11px;margin-bottom:10px}.house-dock textarea{width:100%;padding:10px;resize:vertical;font:12px/1.6 ui-monospace,monospace}.house-dock #house-contour{display:block;width:100%;height:230px;border:1px solid #d8e4d8;border-radius:12px;background:#f8faf6;touch-action:none}.house-dock [data-house-vertex]{cursor:grab;touch-action:none}.house-dock .house-contour-toolbar .btn{font-size:10px;min-height:32px;padding:7px}.house-dock #house-ring-list{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.house-dock #house-ring-list [aria-pressed=true]{background:#24785c;color:white}.house-dock #house-error{font-size:12px;color:#a3432c;line-height:1.65;margin-top:10px}.house-inspector-entry{padding:12px;background:#edf5ec;border:1px solid #d2e0d2;border-radius:12px;margin-bottom:15px;display:grid;gap:9px}.house-inspector-entry b{font-size:12px}
#app[data-house-dock=open]>#inspector{visibility:hidden}.floor-navigator{position:absolute;left:14px;top:63px;right:14px;width:fit-content;max-width:calc(100% - 28px);z-index:31;display:flex;align-items:center;gap:4px;padding:5px;border:1px solid #cbded0;border-radius:10px;background:#fffffff2;box-shadow:0 4px 12px #1a402312}.floor-navigator .floor-caption{font-size:10px;padding:0 5px;color:#69836c}.floor-navigator select{max-width:150px;font-size:11px;padding:7px 5px;min-height:33px;background:#f9fcf7}.floor-navigator button{font-size:10px;padding:7px;min-width:31px;min-height:33px}.floor-navigator [data-house=open-building]{color:#207358;background:#ecf5ee;font-weight:700}
#app #spatial-editbar{top:121px}#app #editor-view-controls{top:175px}#app .viewport>.view-cube{top:212px}#app #engineering-diagram{top:218px}#app[data-house-section=overview] #spatial-editbar,#app[data-house-section=floors] #spatial-editbar,#app[data-house-section=systems] #spatial-editbar,#app[data-house-section=performance] #spatial-editbar{display:none}#app[data-house-section=overview] #editor-view-controls,#app[data-house-section=floors] #editor-view-controls,#app[data-house-section=systems] #editor-view-controls,#app[data-house-section=performance] #editor-view-controls{top:123px}
#app #walk-navigation{left:50%;transform:translateX(-50%);bottom:16px;max-width:calc(100% - 24px);padding:6px;border-radius:12px;box-shadow:0 5px 25px #153a2822;width:max-content}#walk-navigation .walk-mode{font-size:11px;font-weight:700;padding:0 8px;white-space:nowrap}#walk-navigation .walk-toolbar{flex-wrap:nowrap;gap:4px}#walk-navigation .walk-toolbar button{font-size:11px;min-height:32px;padding:6px 10px}#walk-navigation .walk-extra{max-width:330px;padding:10px 8px 4px}#walk-navigation .walk-extra[hidden]{display:none!important}#walk-navigation .walk-extra>label{font-size:11px;display:flex;align-items:center;gap:6px}#walk-navigation .walk-extra select{width:70px;padding:5px}#walk-navigation .walk-directions{gap:5px}#walk-navigation .walk-directions button{min-width:35px}#app[data-house-view=walk] #hud-zoom,#app[data-house-view=walk] #connection-badge,#app[data-house-view=walk] #scene-hint,#app[data-house-view=walk] #issue-badge{display:none!important}#app[data-house-view=walk] #hud-vr{bottom:69px}
#house-sketch-bar{position:absolute;bottom:110px;left:12px;right:12px;z-index:37;background:#fff;border:1px solid #a9cdb7;border-radius:12px;padding:10px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px}#house-sketch-bar[hidden]{display:none!important}.texture-flips{display:flex;flex-wrap:wrap;gap:10px;margin:13px 0}.texture-flips label{display:flex;gap:6px;align-items:center;font-size:11px}.texture-flips input{accent-color:#24785c}
@media(max-width:1220px) and (min-width:761px){:root{--panel:267px;--inspector:290px}.floor-navigator{gap:3px}.floor-navigator .floor-caption{display:none}.floor-navigator select{max-width:125px}.house-panel .domain-step b{font-size:12px}}
@media(max-width:760px){.floor-navigator{top:55px;left:8px;right:8px;max-width:calc(100% - 16px);gap:3px;padding:4px;width:auto;justify-content:center}.floor-navigator .floor-caption{display:none}.floor-navigator select{max-width:115px;flex:1;min-width:62px;font-size:10px}.floor-navigator button{font-size:9px;padding:6px;min-width:27px}.floor-navigator [data-house=open-building]{max-width:61px;min-width:0}#app #spatial-editbar{top:107px}#app #editor-view-controls{top:191px}#app .viewport>.view-cube{top:235px}#app #engineering-diagram{top:227px}#app[data-house-dock=open]>.viewport{margin-bottom:0}#app .house-dock:not([hidden]){position:fixed!important;left:5px!important;right:5px!important;top:auto!important;bottom:calc(63px + env(safe-area-inset-bottom))!important;width:auto!important;height:51dvh!important;max-height:51dvh!important;z-index:58;border-radius:16px 16px 10px 10px}#app .house-dock>header{padding:10px 13px!important}.house-dock .wb-body{padding:12px 15px}.house-dock input,.house-dock select{font-size:16px}.house-dock .btn{min-height:38px}.house-dock #house-contour{height:240px}.house-dock footer{padding:8px}.house-dock .field-row{gap:8px}.house-dock .house-contour-toolbar .btn{font-size:11px}.house-panel .house-stats{grid-template-columns:repeat(3,1fr)}#app[data-house-dock=open] #walk-navigation,#app[data-house-dock=open] #hud-zoom,#app[data-house-dock=open] #hud-vr{display:none!important}#app #walk-navigation{bottom:10px;max-width:calc(100% - 16px)}#walk-navigation .walk-toolbar button{font-size:10px;padding:6px 9px}.house-create-grid{grid-template-columns:1fr 1fr}.house-floor button,.house-system button{min-height:42px}}
/* Keep construction navigation clear of older editable HUD positions. */
#app:not([data-house-section=other]) #spatial-editbar,#app:not([data-house-section=other]) #editor-view-controls,#app:not([data-house-section=other]) .plan-mode-strip{display:none!important}
#app[data-house-view="2d"] .viewport>.view-cube{display:none!important}
#app:not([data-house-section=other]) #engineering-diagram{top:118px!important}
@media(max-width:760px){#app:not([data-house-section=other]) #engineering-diagram{top:106px!important}}

#app #spatial-editbar:not([data-layout-floating=true]){top:118px!important}#app #editor-view-controls:not([data-layout-floating=true]){top:171px!important}#app .viewport>.view-cube:not([data-layout-floating=true]){top:213px!important}
#app:not([data-house-section=other]) .viewport>.view-cube:not([data-layout-floating=true]){top:122px!important}
@media(max-width:760px){#app #spatial-editbar:not([data-layout-floating=true]){top:107px!important}#app #editor-view-controls:not([data-layout-floating=true]){top:187px!important}#app .viewport>.view-cube:not([data-layout-floating=true]){top:231px!important}#app:not([data-house-section=other]) .viewport>.view-cube:not([data-layout-floating=true]){top:106px!important}}
/* 0.44: task-specific modeling. One bounded inspector, real scene remains usable. */
.ws44 .ws44-main-tools{display:flex;gap:5px;flex:none;padding-right:8px;border-right:1px solid #aac6b6}.ws44-main-tools .btn{background:#e4f3eb;border-color:#a6cdb8;color:#175a43;font-weight:700}.ws44 .ws44-head small{font-size:9px;letter-spacing:1.2px}.ws44 .ws44-head h3{font-size:20px;margin:6px 0 12px}.ws44-intro{background:#edf6f0;border:1px solid #d6e6db;border-radius:10px;padding:11px;margin:10px 0 15px}.ws44-intro b{font-size:12px}.ws44 .ws44-intro p{font-size:11px;line-height:1.7;margin:6px 0}.ws44-actions{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.ws44 [data-primary=true]{background:#24785c;color:#fff;min-height:42px;width:100%}.ws44-anchor{border:1px solid #c9ddd0;border-radius:11px;margin:12px 0;padding:10px}.ws44-anchor legend{font-weight:700;color:#246347;padding:0 6px}.ws44 .ws44-check,.ws44-uv label{display:flex;align-items:center;gap:7px;margin:10px 0;font-size:11px;line-height:1.5}.ws44-warning{padding:10px;background:#fff6e6;border:1px solid #eaddbd;border-radius:10px;font-size:11px!important;color:#766036;margin:12px 0!important}.ws44-receipt{background:#eef4ee;border-radius:8px;padding:8px;font-size:11px!important}.ws44 #ws44-error{color:#a34830;font-size:12px;margin:12px 0}.ws44 #ws44-profile{display:block;width:100%;height:auto;max-height:260px;touch-action:none;cursor:crosshair}.ws44 #ws44-profile [data-profile44]{cursor:grab;touch-action:none}.ws44 #ws44-profile text{pointer-events:none}.ws44 #ws44-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3;touch-action:none}.ws44 #ws44-overlay text{font:700 13px system-ui;fill:#275641;paint-order:stroke;stroke:white;stroke-width:3px}.ws44 #ws44-overlay [data-vertex44]{pointer-events:all;cursor:grab}.ws44 #ws44-overlay .ws44-hit{pointer-events:all}.ws44 .ws-top{max-height:60px}.ws44 #ws-task{padding-bottom:35px}.ws44 .ws44-uv{display:flex;flex-wrap:wrap;gap:5px 10px}
@media(max-width:760px){.ws44 #ws-properties .btn{min-height:40px}.ws44 #ws-properties input[type=number]{font-size:16px}.ws44 #ws44-profile{max-height:230px}.ws44 .ws44-head h3{font-size:18px}.ws44 .ws44-main-tools .btn{min-height:33px}.ws44 #ws44-overlay .ws44-hit{r:15px}}
/* On phones the inspector owns a real lower row: it cannot cover Apply or the canvas. */
@media(max-width:760px){
 #model-workshop.ws44:is([data-ws-pane=task],[data-ws-pane=fields],[data-ws-pane=parts]) .ws-layout{display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(170px,52%) minmax(0,48%);overflow:hidden}
 #model-workshop.ws44:is([data-ws-pane=task],[data-ws-pane=fields],[data-ws-pane=parts]) #ws-viewport{grid-column:1;grid-row:1;height:100%!important;min-height:0!important}
 #model-workshop.ws44:is([data-ws-pane=task],[data-ws-pane=fields]) #ws-properties,#model-workshop.ws44[data-ws-pane=parts] #ws-left{display:block;position:relative!important;grid-column:1;grid-row:2;inset:auto!important;width:100%;height:100%!important;max-height:none!important;min-height:0;overflow:auto;border-radius:12px 12px 0 0;box-shadow:none;z-index:1}
 #model-workshop.ws44:is([data-ws-pane=task],[data-ws-pane=fields],[data-ws-pane=parts]) .ws-quick-actions,#model-workshop.ws44:is([data-ws-pane=task],[data-ws-pane=fields],[data-ws-pane=parts]) .ws-plane-controls{display:none}
 #model-workshop.ws44 #ws-preview{bottom:7px;max-height:112px;overflow:auto}
 #model-workshop.ws44 #ws-preview .btn{min-height:39px}
}
/* 0.45 shared commands, precise modelling and construction workbench */
.icon45{flex:none;pointer-events:none;vertical-align:middle}.legacy-icon45{display:inline-flex;align-items:center;gap:6px}.action45{gap:6px!important}.action45 span{min-width:0}.pro45-group{display:inline-flex;gap:4px;align-items:center;flex-wrap:wrap}.pro45-group+.pro45-group{border-left:1px solid #cfdad2;padding-left:8px;margin-left:4px}
.pro45-projectbar{position:absolute;top:76px;left:12px;right:12px;z-index:18;background:#fffffff2;border:1px solid #d3e1d7;border-radius:12px;padding:6px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;box-shadow:0 3px 12px #172d1910;max-width:fit-content}.pro45-projectbar .btn{min-height:33px;padding:6px 8px;font-size:10px}.pro45-enabled #spatial-editbar{display:none!important}.pro45-enabled #editor-view-controls{top:172px}.pro45-enabled .view-cube{top:208px}.pro45-enabled #house-floorbar{z-index:20}
.pro45-dock{position:fixed;z-index:72;right:4px;top:76px;bottom:38px;width:calc(var(--inspector) - 8px);background:white;border:1px solid #d5e0d8;border-radius:12px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 5px 18px #263e2610}.pro45-dock[hidden]{display:none}.pro45-dock header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 12px;border-bottom:1px solid #dce6df;background:#f6f9f5}.pro45-dock header h3{font-size:16px;margin-top:5px}.pro45-dock header small{font-size:9px;color:#688172;letter-spacing:1px}.pro45-dock header .btn span{display:none}.pro45-body{padding:14px;overflow:auto;min-height:0;flex:1;scrollbar-width:thin}.pro45-dock p,.pro45-panel p{font-size:12px;line-height:1.6;margin:8px 0 14px}.pro45-dock h4,.pro45-panel h4{font-size:12px;margin:17px 0 10px;display:flex;align-items:center;gap:8px}.pro45-dock .btn,.pro45-panel .btn{font-size:11px;min-height:36px}.pro45-dock .field input,.pro45-panel .field input{width:100%;padding:8px;font-size:12px;min-height:38px}.pro45-dock .field select,.pro45-panel .field select{width:100%;min-height:38px}.pro45-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 9px}.pro45-fields .field{margin:5px 0}.pro45-fields .field span{font-size:11px}.pro45-cardgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.pro45-cardgrid>.btn{justify-content:flex-start;text-align:left;min-height:46px;line-height:1.4;padding:8px}.pro45-inline{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0}.pro45-check{display:flex!important;align-items:center;gap:9px;font-size:12px;line-height:1.5;margin:12px 0}.pro45-check input{width:18px!important;height:18px;padding:0!important;min-height:18px!important}.pro45-levels{display:grid;gap:5px}.pro45-levels .btn{justify-content:flex-start}.pro45-levels span{flex:1;text-align:left}.pro45-levels b{float:right}.pro45-constraint{display:flex;gap:8px;font-size:12px;margin:10px 0}.pro45-constraint small{display:block}.pro45-report{font:11px/1.6 monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-height:400px;overflow:auto}#p45-error{color:#a63b2c;line-height:1.55}
#app[data-pro45-dock=open]>#inspector{visibility:hidden}.pro45-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:17;pointer-events:none;overflow:hidden;touch-action:none}.pro45-overlay [data-mesh45]{pointer-events:all;cursor:crosshair}.pro45-vertex{fill:#346e69;stroke:white;stroke-width:1}.pro45-vertex.selected{fill:#eb9839;stroke:#723907;stroke-width:2}.pro45-edge{fill:none;stroke:#59827f;stroke-width:4;opacity:.65}.pro45-edge.selected{stroke:#e99a3d;opacity:1;stroke-width:6}.pro45-face{fill:#53a79912;stroke:#54847877;stroke-width:.6}.pro45-face.selected{fill:#e29c3866;stroke:#c87827;stroke-width:1}.pro45-point{fill:#27865e;stroke:white;stroke-width:2}.pro45-dimline{stroke:#367860;fill:none;stroke-width:1.4}.pro45-dimtext{font:600 11px system-ui;fill:#24553e;paint-order:stroke;stroke:#ffffffdd;stroke-width:3px;text-anchor:middle;stroke-linejoin:round}.pro45-box{fill:#28786218;stroke:#28785f;stroke-width:1.5;stroke-dasharray:4 3}.pro45-summary{position:absolute;right:14px;bottom:72px;z-index:16;display:flex;flex-direction:column;gap:3px;align-items:flex-end;text-align:right;max-width:min(320px,60%);font:12px/1.4 system-ui;color:#214a38;text-shadow:0 1px 1px #fff,1px 0 1px #fff,-1px 0 1px #fff;pointer-events:none;background:none!important;border:0!important;padding:0!important;box-shadow:none!important}.pro45-summary b{font-size:12px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pro45-summary strong{font-size:16px;font-weight:550}.pro45-summary small{font-size:10px;color:inherit}.pro45-summary[hidden]{display:none!important}.pro45-banner{position:absolute;left:12px;right:12px;bottom:122px;z-index:30;background:#fff9e7;border:1px solid #d1b26d;border-radius:12px;padding:10px;display:flex;gap:7px;align-items:center;box-shadow:0 4px 16px #40332220}.pro45-banner[hidden]{display:none}.pro45-banner>span{flex:1;min-width:0;font-size:12px}.pro45-banner small{display:block;font-size:10px;color:#77643f}.pro45-capture #editor-guides,.pro45-capture #ws-gizmo,.pro45-capture #architecture-overlay{pointer-events:none!important}.pro45-capture #editor-guides *, .pro45-capture #ws-gizmo *{pointer-events:none!important}
.pro45-modebar{display:flex;flex-wrap:wrap;gap:5px;padding:6px 12px;background:#fafcfb;border-bottom:1px solid #d8e4db;flex:none}.pro45-modebar .btn{font-size:11px;min-height:30px;padding:5px 9px}.ws37 .pro45-summary{bottom:150px;right:12px}.ws37 .pro45-banner{bottom:200px}.ws37 .ws-quick-actions{max-width:calc(100% - 20px)}.ws37 .ws-top .pro45-group{flex:none;flex-wrap:nowrap}.ws37 .ws-top{max-height:54px}.ws37 .ws-plane-controls{bottom:8px}.ws37 .pro45-panel h3{font-size:17px;margin:4px 0 12px}.ws37 .pro45-overlay{z-index:3}.ws37 .pro45-panel{color:#264c38}
[data-pro45-density=compact] .action45 span{display:none}[data-pro45-density=compact] .pro45-dock .action45 span,[data-pro45-density=compact] .pro45-panel .action45 span{display:inline}[data-pro45-density=large] .action45{font-size:13px!important;min-height:44px!important}[data-pro45-density=large] .icon45{width:21px;height:21px}
@media(max-width:1020px){.pro45-dock{width:320px}.pro45-projectbar{top:72px}.pro45-projectbar .action45 span{display:none}.pro45-projectbar .btn{min-width:35px}.pro45-enabled #editor-view-controls{top:155px}}
@media(max-width:760px){.pro45-projectbar{top:62px;left:7px;right:7px;padding:4px;gap:3px;max-height:100px;overflow:auto;max-width:none}.pro45-projectbar .btn{min-height:38px;min-width:36px;padding:7px}.pro45-group+.pro45-group{padding-left:4px;margin-left:0}.pro45-dock{position:absolute;top:auto;left:7px;right:7px;bottom:calc(68px + env(safe-area-inset-bottom));width:auto;height:46dvh;z-index:76}.pro45-dock .btn,.pro45-panel .btn{min-height:44px}.pro45-dock input,.pro45-panel input{font-size:16px!important}#app[data-pro45-dock=open]>.viewport{margin-bottom:46dvh}#app[data-pro45-dock=open] .pro45-projectbar{display:none}.pro45-summary{font-size:10px;bottom:66px;right:9px;max-width:80%}.pro45-summary strong{font-size:14px}.pro45-banner{left:6px;right:6px;bottom:145px;flex-wrap:wrap;padding:7px}.pro45-banner>span{flex-basis:100%}.pro45-banner .btn{min-height:40px}.pro45-modebar{padding:4px 7px;gap:3px;flex-wrap:nowrap;overflow:auto}.pro45-modebar .btn{font-size:10px;min-height:38px;flex:none;padding:6px}.ws37 .pro45-summary{bottom:172px;max-width:94%}.ws37 .pro45-banner{bottom:212px}.pro45-enabled .view-cube{top:185px}.pro45-edge{stroke-width:8}.pro45-vertex{r:5}.pro45-vertex.selected{r:7}.pro45-panel .pro45-fields{gap:7px}.pro45-enabled #editor-view-controls{top:171px}}
.pro45-enabled .pro45-projectbar{top:112px}.pro45-enabled #editor-view-controls{top:222px}.pro45-enabled .viewport>.view-cube{top:272px}
@media(max-width:760px){.pro45-enabled .pro45-projectbar{top:102px}.pro45-enabled #editor-view-controls{top:205px}.pro45-enabled .viewport>.view-cube{top:250px}}
#model-workshop[data-pro45-preview=true] #ws-preview{display:none!important}.pro45-enabled #solar-compass{bottom:170px!important}


/* 0.45.1: one owner for a preview; measured text stays unboxed. */
#model-workshop[data-pro45-preview=true] #ws-preview{display:none!important}
#model-workshop .pro45-summary,.pro45-summary{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;pointer-events:none;padding:0!important;text-shadow:0 1px 1px #fff,0 -1px 1px #fff}
.pro45-enabled .pro45-projectbar{padding:5px 7px;gap:5px;box-shadow:0 3px 14px #24432b08}
.pro45-projectbar .btn{min-height:33px;font-size:11px;gap:5px;padding:7px 9px}
.pro45-group{flex-wrap:wrap;min-width:0}
#app[data-pro45-has-selection=false] .pro45-projectbar>.pro45-group:last-child [data-pro45=copy],#app[data-pro45-has-selection=false] .pro45-projectbar>.pro45-group:last-child [data-pro45=duplicate],#app[data-pro45-has-selection=false] .pro45-projectbar>.pro45-group:last-child [data-pro45^=mirror-],#app[data-pro45-has-selection=false] .pro45-projectbar>.pro45-group:last-child [data-pro45=precise]{display:none}
.pro45-modebar [aria-pressed=true]{color:white;background:#24785c;border-color:#24785c}
.pro45-cardgrid .btn{justify-content:flex-start;text-align:left;min-height:45px}
.pro45-banner{z-index:70}
#app[data-pro45-dock=open]>.inspector{visibility:hidden}
#model-workshop .ws-top{max-height:none;min-height:44px;flex-wrap:wrap;overflow:visible}
#model-workshop .ws-top .btn{white-space:nowrap}
#model-workshop .ws-top #ws-count{display:none}
#model-workshop .ws-quick-actions{max-width:calc(100% - 20px);bottom:58px}
#model-workshop .pro45-summary{bottom:155px;right:14px;max-width:300px}
#model-workshop[data-pro45-preview=true] .pro45-summary{bottom:220px}
@media(max-width:1100px){#model-workshop .ws-top{max-height:88px;overflow-y:auto;flex-wrap:wrap}#model-workshop .ws-top .btn{font-size:10px;padding:6px}}
@media(max-width:760px){
#model-workshop .ws-top{max-height:94px;min-height:45px;gap:4px;padding:5px 7px}
#model-workshop .ws-top .btn{font-size:10px;min-height:36px}
#model-workshop .pro45-modebar{min-height:44px;overflow-x:auto}
#model-workshop .pro45-modebar .btn{min-height:40px;min-width:44px}
#model-workshop .pro45-summary{font-size:10px;max-width:210px;bottom:135px}
#model-workshop .pro45-summary strong{font-size:13px}
#model-workshop .pro45-banner{bottom:103px;z-index:20;max-height:125px;overflow:auto}
#model-workshop[data-ws-pane=task] .pro45-summary,#model-workshop[data-ws-pane=fields] .pro45-summary{display:none}
#model-workshop[data-ws-pane=task] #ws-viewport{height:52%;min-height:180px}
#model-workshop .ws-quick-actions{overflow:auto;flex-wrap:nowrap;max-width:calc(100% - 12px)}
#app .pro45-projectbar .btn{min-width:42px;min-height:42px}#app .pro45-projectbar{max-height:105px;overflow:auto}
.pro45-body,.pro45-panel{overflow-x:hidden}
}

/* Keep generic view-cube SVG rules away from newly added action glyphs. */
#app button svg.icon45,#model-workshop button svg.icon45{width:16px!important;height:16px!important;min-width:16px;max-width:16px;max-height:16px;margin:0!important;flex:none;display:inline-block;vertical-align:middle}
#model-workshop .view-cube button{display:flex;align-items:center;justify-content:center;gap:4px}
#model-workshop .view-cube svg.icon45{padding:0!important}
.pro45-thickness-stats{display:flex;flex-direction:column;gap:9px;padding:12px 0;font-size:13px}
.pro45-report{max-height:280px;overflow:auto;font-size:10px}
#model-workshop .ws-top .pro45-group{flex-wrap:nowrap}
#model-workshop .ws-tools [data-ws=undo],#model-workshop .ws-tools [data-ws=redo]{min-width:37px}

/* Reserve cube width instead of covering object actions. */
@media(min-width:1021px){#app .pro45-projectbar{max-width:calc(100% - 166px);right:158px;width:auto}#app .pro45-projectbar>.pro45-group{flex-wrap:wrap}}

/* During construction/placement the task panel and confirmation bar own the viewport. */
#app .viewport.pro45-capture .pro45-projectbar{display:none!important}


/* Red Studio 0.48: view-only layout, no geometry/data styles. */
:root.studio48-page{--s48-red:#c7354b;--s48-deep:#982237;--s48-soft:#fff0f1;--s48-ink:#352d33;--s48-muted:#776e75;--s48-border:#e9e1e4;--s48-left:258px;--s48-right:308px;--green:var(--s48-red);--green-deep:var(--s48-deep);--pale:var(--s48-soft);--ink:var(--s48-ink);--muted:var(--s48-muted);--line:var(--s48-border);--header:64px;--paper:#fff;--rail:0px;--bg:#f6f4f5}
.studio48-page body{color:var(--s48-ink);background:#f6f4f5}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.s48-icon{flex:none;display:inline-block;vertical-align:middle;width:18px;height:18px;max-width:18px;max-height:18px;pointer-events:none;margin:0;overflow:visible}
.s48-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--s48-border);border-radius:10px;background:#fff;min-height:39px;padding:8px 11px;font:600 12px/1.35 inherit;color:var(--s48-ink);text-align:center;cursor:pointer;touch-action:manipulation}
.s48-button:hover:not([aria-disabled=true]){background:#fff1f3;border-color:#e4b4bc;color:#a6233a}
.s48-button[aria-disabled=true]{opacity:.43;cursor:not-allowed}
.s48-button[aria-pressed=true],.s48-workspace[aria-pressed=true]{background:var(--s48-red)!important;border-color:var(--s48-red)!important;color:white!important;box-shadow:0 3px 9px #8f253121}
.s48-button:focus-visible,.s48-workspace:focus-visible,.s48-library button:focus-visible,.s48-dialog button:focus-visible{outline:3px solid #e8909f!important;outline-offset:2px}
.s48-iconbutton{padding:7px;width:38px;min-width:38px;height:38px;flex:none;border-color:transparent}
.s48-iconbutton>.s48-label{display:none}
#app.studio48{display:grid!important;grid-template-columns:minmax(220px,var(--s48-left)) minmax(320px,1fr) minmax(260px,var(--s48-right))!important;grid-template-rows:64px 52px minmax(260px,1fr) 88px 28px!important;height:100dvh;max-width:100vw;overflow:hidden;--rail:0px!important;--header:116px}
#app.studio48>.topbar{grid-column:1/-1!important;grid-row:1!important;padding:0 20px;background:#fff;gap:18px;min-width:0;border-bottom:1px solid #eee5e8;height:64px;overflow:visible;z-index:70}
#app.studio48 .brand{min-width:218px;gap:10px}.s48-brandmark{display:grid;place-items:center;width:36px;height:39px;border-radius:12px 12px 14px 5px;background:var(--s48-red);color:white;box-shadow:0 4px 12px #9b183b20;transform:rotate(-3deg)}.s48-brandmark .s48-icon{width:25px;height:25px;max-width:25px;max-height:25px}
#app.studio48 .brandword{font-size:15px;color:#312830}#app.studio48 .brandword>span{font-size:8px;letter-spacing:1.6px;margin-top:4px;color:#9b7c85}#app.studio48 .brandword b{font-weight:500;letter-spacing:0;background:#fff1f3;border-radius:5px;padding:1px 4px;margin-left:5px}
#app.studio48 .header-divider{height:22px;display:block;border-color:#eee2e7}
#app.studio48 .project-title{max-width:300px;min-width:70px;flex:1 1 auto;font-size:12px;font-weight:600}.project-title #project-lineage{display:none!important}
#app.studio48 .top-actions{flex:none;gap:10px;margin-left:auto;overflow:visible}
#app.studio48 .top-actions>:not(.s48-header-actions):not(#saved-status){display:none!important}
.s48-header-actions{display:flex;gap:5px;align-items:center;order:2}
.s48-header-actions [data-studio=save]{background:var(--s48-red);border-color:var(--s48-red);color:white;min-width:42px}.s48-header-actions [data-studio=save] .s48-label{font-size:0}.s48-header-actions [data-studio=save] .s48-label::after{content:'Сохранить';font-size:12px}
#app.studio48 #saved-status{display:flex;max-width:175px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:10px;color:#8b7881;margin:0;order:1}.studio48 .save-error .status-dot{background:#cf8b3b!important}
#app.studio48 .rail,#app.studio48 .mobile-nav,#app.studio48 #workspace-layout-toggle,#app.studio48 #workspace-layout-reset,#app.studio48 .layout-tools,#app.studio48 .layout-resize,#app.studio48 .dock-splitter{display:none!important}
.s48-toolbar{grid-column:1/-1;grid-row:2;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 14px;background:#faf7f8;border-bottom:1px solid var(--s48-border);min-width:0;z-index:65}
.s48-workspaces{display:flex;align-items:center;gap:4px;flex:none}.s48-workspace{display:flex;align-items:center;gap:7px;min-height:36px;padding:8px 12px;font-size:12px;font-weight:650;border-radius:9px;border:1px solid transparent;white-space:nowrap;touch-action:manipulation;color:#63505a}
.s48-toolset{display:flex;gap:1px;align-items:center;padding:2px 5px;background:white;border:1px solid #eadfe4;border-radius:12px;min-width:0;flex-shrink:0}
.s48-toolset [data-studio=select]{margin-left:5px}.s48-toolset [data-studio=more]{margin-left:4px;border-left-color:#eedde3}
.s48-viewset{display:flex;align-items:center;gap:2px;background:white;padding:3px;border-radius:10px;border:1px solid var(--s48-border)}.s48-viewset .s48-button{min-height:32px;border:0;padding:7px 9px;font-size:11px;border-radius:7px}
#app.studio48>.left-panel{grid-column:1!important;grid-row:3/5!important;position:relative!important;inset:auto!important;width:auto!important;height:auto!important;max-height:none!important;display:flex!important;visibility:visible!important;border:0;border-right:1px solid var(--s48-border);border-radius:0!important;box-shadow:none!important;background:#fffcfd;padding:0!important;min-height:0;z-index:35;overflow:hidden}
#app.studio48 .left-panel>#panel-header,#app.studio48 .left-panel>#panel-body,#app.studio48 .left-panel>.panel-close{display:none!important}
#app.studio48[data-studio-native=true] .left-panel>.s48-library{display:none}
#app.studio48[data-studio-native=true] .left-panel>#panel-header{display:block!important;padding:17px 18px 14px}
#app.studio48[data-studio-native=true] .left-panel>#panel-body{display:block!important;padding:0 17px 18px}
.s48-native-back{display:none;align-items:center;justify-content:flex-start;gap:8px;padding:14px 16px;font-size:12px;font-weight:600;background:#fff0f3;border-bottom:1px solid #f0dce3;color:#a22b43;flex:none;width:100%}
#app.studio48[data-studio-native=true] .s48-native-back{display:flex}
.s48-library{display:flex;flex-direction:column;height:100%;min-height:0;padding:0 16px}
.s48-library>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:23px 0 17px;flex:none}.s48-library>header small{font-size:8px;letter-spacing:1.6px;color:#99838d}.s48-library h2{font-size:24px;font-weight:650;letter-spacing:-.6px;margin-top:5px;color:#302831}
.s48-library-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f4edf0;border-radius:10px;padding:3px;gap:3px;margin-bottom:12px;flex:none}.s48-library-tabs button{display:flex;justify-content:center;align-items:center;gap:6px;min-height:33px;font-size:11px;border-radius:8px;color:#8b7280}.s48-library-tabs [aria-pressed=true]{background:#fff;color:#9a233b;box-shadow:0 2px 5px #7746530d}
.s48-search{display:flex;align-items:center;gap:8px;position:relative;margin-bottom:10px;background:#fff;border:1px solid #e7dce2;border-radius:10px;padding-left:10px;color:#a28a98;flex:none}.s48-search .s48-icon{width:16px;height:16px}.s48-search input{width:100%;min-width:0;border:0;background:none;padding:11px 8px 11px 0;font-size:11px;box-shadow:none!important}
#s48-library-content{flex:1;overflow:auto;min-height:0;padding:0 0 20px;scrollbar-width:thin;scrollbar-color:#e1c9d3 transparent}
.s48-intro{font-size:11px;line-height:1.65;color:#8d7781;margin:7px 0 13px}.s48-cardgrid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.s48-button.s48-card{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:7px;text-align:left;padding:7px;min-width:0;width:100%;background:#fff;min-height:125px;white-space:normal;font-size:11px;border-color:#ecdee5;box-shadow:0 2px 3px #55313e03;transition:transform .14s,box-shadow .14s,border-color .14s}
.s48-card .s48-card-art{display:flex;align-items:center;justify-content:center;height:61px;flex:none;background:linear-gradient(135deg,#fbf0f3,#f0e4eb);border-radius:7px;color:#ae6174;position:relative;overflow:hidden}
.s48-card .s48-card-art::before{content:'';width:46px;height:14px;border-radius:50%;background:#c994a52b;position:absolute;bottom:7px;transform:skewX(-18deg)}
.s48-card .s48-card-art>.s48-icon{width:35px;height:35px;max-width:35px;max-height:35px;z-index:1;stroke-width:1.4;transform:translateY(-3px)}
.s48-card>.s48-label{font-size:11px;font-weight:650;line-height:1.35;min-height:29px;padding:0 2px;white-space:normal}
.s48-card>small{display:none}
.s48-card:hover:not([aria-disabled=true]){transform:translateY(-2px);box-shadow:0 6px 13px #81445b14;border-color:#cf7c8d;background:#fff}
.s48-card:hover .s48-card-art{background:linear-gradient(135deg,#ffe2e6,#efd6e0);color:#be334e}
.s48-favorites{border:0;border-bottom:1px solid #eddde4;padding:7px 0 9px;margin:3px 0 10px}.s48-favorites summary{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:11px;color:#976d7b}.s48-favorites>div{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}.s48-favorites .s48-button{min-height:30px;font-size:10px;padding:5px 7px}
.s48-library-note{font-size:10px;line-height:1.7;color:#a08993;padding:16px 1px 0}
.s48-empty{padding:20px 6px;font-size:12px;line-height:1.65;color:#927d87;grid-column:1/-1}
.s48-tree details{margin:8px 0}.s48-tree summary{display:flex;align-items:center;gap:8px;padding:10px 4px;cursor:pointer;font-size:12px;font-weight:650}.s48-tree summary span{flex:1;min-width:0}.s48-tree summary small{display:block;font-size:10px;font-weight:400;margin-top:3px;color:#9f8994}.s48-tree details>details{margin-left:10px;border-left:1px solid #e8d9e0;padding-left:7px}.s48-tree-item,.s48-room-select{display:flex;align-items:center;gap:7px;text-align:left;padding:9px 7px;font-size:11px;line-height:1.35;width:100%;border-radius:7px;color:#715c67}.s48-tree-item>span{min-width:0;flex:1;overflow-wrap:anywhere}.s48-tree-item.active{background:#fce6ec;color:#a11b39}.s48-tree .s48-icon{width:15px;height:15px;max-width:15px}.s48-room-select{font-size:10px;color:#b05571;background:#fff5f8}
#app.studio48>.viewport{grid-column:2!important;grid-row:3!important;min-width:0!important;min-height:0!important;max-width:100%;width:100%;position:relative;margin:0!important;overflow:hidden;background:#ede9ed}
#app.studio48 .pro45-projectbar,#app.studio48 #spatial-editbar,#app.studio48 #editor-view-controls,#app.studio48 #floor-navigator,#app.studio48 #hud-view,#app.studio48 #hud-room,#app.studio48 .solar-compass,#app.studio48 #hud-vr{display:none!important}
#app.studio48 #hud-zoom{left:15px!important;bottom:12px!important;top:auto!important;padding:3px;border-radius:12px;border:1px solid #e3d4db;box-shadow:none;background:#fffefbee;z-index:7}
#app.studio48 #hud-zoom .icon-btn{width:30px;height:32px;color:#8c6372}
#app.studio48 #issue-badge{bottom:60px!important;left:16px!important;right:auto!important;max-width:calc(100% - 28px);font-size:10px;background:#fff9f6e6;padding:6px 8px;border:0;border-radius:7px;z-index:6;color:#987844}
#app.studio48 #connection-badge{display:none!important}#app.studio48 #scene-hint{display:none!important}
.s48-scene-head{position:absolute;top:14px;left:14px;right:14px;z-index:17;pointer-events:none;display:flex;gap:8px;justify-content:flex-start;align-items:flex-start}.s48-scene-head>*{pointer-events:auto}
#s48-level-picker{display:flex;gap:6px;align-items:center;flex-wrap:wrap;max-width:calc(100% - 50px)}
.s48-level-control{display:flex;align-items:center;gap:2px;background:#fffdfaec;border:1px solid #e3d6dc;padding:4px 5px 4px 9px;border-radius:12px;box-shadow:0 3px 14px #43323e08}.s48-level-control select{font-size:11px;max-width:178px;padding:5px;border:0;background:none;min-height:28px}.s48-level-control>button{width:27px;height:28px;min-width:27px;min-height:28px;padding:4px;display:grid;place-items:center;color:#9b5368;border-radius:7px}.s48-level-control>button .s48-icon{width:14px;height:14px}
.s48-current-room select{font-size:10px;border:1px solid #e7dce2;max-width:190px;height:36px;background:#fffcf9dd;padding:5px 8px;color:#927384;border-radius:10px}
.s48-reopen-left,.s48-reopen-right{display:none;align-items:center;justify-content:center;background:#fffcfb;border:1px solid #e3d3db;width:38px;height:38px;border-radius:10px;color:#a64860}.s48-reopen-right{margin-left:auto}
.s48-scene-actions{position:absolute;right:12px;bottom:12px;display:flex;gap:2px;align-items:center;z-index:7;background:#fffdfbee;border:1px solid #e4d4dd;border-radius:12px;padding:3px;box-shadow:0 3px 14px #43323e08}.s48-plane-select{display:flex;align-items:center;gap:2px;padding:0 5px;border-left:1px solid #ecdde4}.s48-plane-select select{font-size:10px;background:none;border:0;min-height:29px;padding:4px}.s48-plane-select .s48-icon{width:14px;height:14px}
#app.studio48 .pro45-summary{right:15px;bottom:66px;font-size:11px;color:#4e3541;max-width:250px}#app.studio48 .pro45-summary strong{font-size:14px}
#app.studio48 .pro45-banner{left:12px;right:12px;bottom:62px;max-width:calc(100% - 24px);padding:10px 12px;background:#fff9f4;border:1px solid #deb980;border-radius:12px;box-shadow:0 4px 20px #4e2e2220;z-index:45}
#app.studio48 .pro45-banner button{min-height:37px;font-size:11px}.studio48 .pro45-banner [data-pro45=apply]{background:var(--s48-red);color:#fff;border-color:var(--s48-red)}
#app.studio48[data-studio-pending=true] .s48-scene-head{display:none}
.s48-shelf{grid-column:2;grid-row:4;display:flex;align-items:stretch;gap:7px;padding:10px 12px;background:#fff9fb;border-top:1px solid #e3d3dc;border-bottom:1px solid #f0e3e9;min-width:0;overflow:auto;scrollbar-width:thin;z-index:12}
.s48-shelf-title{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:3px 8px 3px 0;min-width:83px;flex:none}.s48-shelf-title small{font-size:7px;letter-spacing:1.1px;color:#ac8e9b}.s48-shelf-title b{font-size:12px;color:#7f5265}
.s48-shelf .s48-button{flex:1;min-width:65px;max-width:130px;padding:8px 5px;flex-direction:column;font-size:10px;font-weight:600;gap:7px;line-height:1.25;background:#fff;border-color:#e9dce3;border-radius:10px}.s48-shelf .s48-icon{width:23px;height:23px;max-width:23px;max-height:23px;color:#ad5a73}
#app.studio48>.inspector{grid-column:3!important;grid-row:3/5!important;display:block;position:relative!important;inset:auto!important;width:auto!important;height:auto!important;max-height:none!important;padding:18px!important;border:0!important;border-left:1px solid #e5d7df!important;background:#fff;box-shadow:none;border-radius:0!important;min-width:0;overflow:auto;z-index:30;scrollbar-color:#dfcbd5 transparent}
.s48-inspector-home>header{display:flex;align-items:center;justify-content:space-between}.s48-inspector-home>header small{font-size:8px;letter-spacing:1.5px;color:#a28694}.s48-inspector-home h2{font-size:23px!important;line-height:1.3;margin:10px 0 12px!important;letter-spacing:-.7px;color:#47343f}.s48-inspector-home>p{font-size:12px;line-height:1.75;color:#94808b;margin-bottom:22px}
#app.studio48[data-studio-selection=none] #inspector>:not(.s48-inspector-home){display:none!important}#app.studio48[data-studio-selection=selected] .s48-inspector-home{display:none}
.s48-workflow{display:flex;flex-direction:column;gap:19px;margin:24px 0}.s48-workflow>div{display:flex;align-items:center;gap:12px}.s48-workflow>div>b{width:32px;height:32px;background:#fbe9ef;border-radius:11px;color:#b84968;display:grid;place-items:center;font-size:11px;font-weight:700}.s48-workflow span{display:flex;flex-direction:column;gap:4px}.s48-workflow strong{font-size:12px;font-weight:600}.s48-workflow small{font-size:10px;color:#9b8892}
.s48-project-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:17px 0;margin:24px 0;border-block:1px solid #f0e2e8}.s48-project-metrics>div{display:flex;flex-direction:column;gap:6px}.s48-project-metrics b{font-size:23px;font-weight:550;color:#59414f}.s48-project-metrics small{font-size:10px;color:#9b8691}
.s48-inspector-home h3{font-size:12px;font-weight:600;margin:22px 0 13px}.s48-inspector-links{display:grid;gap:8px}.s48-inspector-links .s48-button{width:100%;justify-content:flex-start;font-size:11px;min-height:42px;background:#fefbfc}.s48-inspector-links .s48-icon{color:#b55b74}
.s48-engineering-note{display:flex;gap:9px;align-items:flex-start;margin:26px 0 5px;padding:13px 0;border-top:1px solid #eddee6;font-size:10px;line-height:1.75;color:#9a8591}.s48-engineering-note .s48-icon{color:#be8b52;width:16px;height:16px;margin-top:2px}
/* Every task uses the right column; no second inspector over the canvas. */
#app.studio48 .visual-workbench:not([hidden]),#app.studio48 .pro45-dock:not([hidden]),#app.studio48 .equipment-dock:not([hidden]),#app.studio48 .dependency-dock:not([hidden]){position:fixed!important;left:auto!important;right:0!important;top:116px!important;bottom:28px!important;width:var(--s48-right)!important;max-width:calc(100vw - 330px)!important;height:auto!important;max-height:none!important;grid-column:3!important;grid-row:3/5!important;margin:0!important;border:0!important;border-left:1px solid var(--s48-border)!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;z-index:56;overflow:hidden;display:flex;flex-direction:column}
#app.studio48 .visual-workbench>header,#app.studio48 .pro45-dock>header,#app.studio48 .equipment-dock>header,#app.studio48 .dependency-dock>header{padding:17px 17px 14px!important;gap:8px;background:#fff8fb;border-bottom:1px solid #eee0e8;flex:none}
#app.studio48 .visual-workbench header small,#app.studio48 .pro45-dock header small{font-size:8px;letter-spacing:1.2px;color:#b17891}
#app.studio48 .visual-workbench h3,#app.studio48 .pro45-dock h3{font-size:18px;line-height:1.35;color:#593546;margin:4px 0}
#app.studio48 .wb-body,#app.studio48 .pro45-body,#app.studio48 .eq-body,#app.studio48 .ins-body{padding:16px 17px;min-height:0;flex:1;overflow:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#e1cbd5 transparent}
#app.studio48 .visual-workbench>footer,#app.studio48 .pro45-dock>footer{padding:12px 15px;background:#fff9fb;flex:none}
#app.studio48 .visual-workbench.is-collapsed{top:auto!important;height:60px!important;max-height:60px!important;bottom:28px!important}
#app.studio48>.footer{grid-column:1/-1;grid-row:5;height:28px;padding:0 16px;background:#fff;border-top:1px solid #eadfe5;gap:12px;z-index:62;font-size:9px}
#app.studio48>.footer>span:not(#s48-status):not(:last-child){display:none}#s48-status{color:#947582;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#app.studio48>.footer>span:last-child{font-size:8px;color:#b79da9;white-space:nowrap}
#app.studio48 .toast{z-index:10080;background:#503342;bottom:44px;max-width:600px}
.studio48 .btn,.studio48-workshop .btn{border-color:#e3d5dd;border-radius:9px;font-size:12px;min-height:36px;gap:7px;color:#58414d}
.studio48 .btn.primary,.studio48-workshop .btn.primary,.studio48 .btn[aria-pressed=true],.studio48-workshop .btn[aria-pressed=true]{background:var(--s48-red);border-color:var(--s48-red);color:white}
.studio48 input,.studio48 select,.studio48 textarea,.studio48-workshop input,.studio48-workshop select,.studio48-workshop textarea{border-color:#e3d5de;color:#49343f;border-radius:8px}
.studio48 input:focus,.studio48 select:focus,.studio48 textarea:focus,.studio48-workshop input:focus,.studio48-workshop select:focus,.studio48-workshop textarea:focus{border-color:#d1869b;box-shadow:0 0 0 3px #fff1f5}
.studio48 .field>span,.studio48-workshop .field>span{font-size:11px;color:#8c6d7e}.studio48 .field input,.studio48 .field select,.studio48-workshop .field input,.studio48-workshop .field select{font-size:12px;min-height:37px}
.studio48 .input-hint,.studio48-workshop .input-hint{font-size:10px;line-height:1.65;color:#99808e}.studio48 .note,.studio48-workshop .note{background:#fbf3f6;color:#8b7080}
#app.studio48 .domain-step{background:#fff;border-color:#e4d6de}.studio48 .house-note{color:#987d8b}.studio48 .quick-section{color:#714858}.studio48 .quick-field input{font-size:12px;border-color:#e5d4de}.studio48 .house-inspector-entry{padding:12px;background:#fff1f6;border-radius:9px;border-color:#e5c7d4}.studio48 .house-inspector-entry .btn{margin-top:8px}
#app.studio48[data-studio-left-closed=true]{grid-template-columns:0 minmax(320px,1fr) minmax(260px,var(--s48-right))!important}#app.studio48[data-studio-left-closed=true]>.left-panel{display:none!important}#app.studio48[data-studio-left-closed=true] .s48-reopen-left{display:flex}
#app.studio48[data-studio-right-closed=true]{grid-template-columns:minmax(220px,var(--s48-left)) minmax(320px,1fr) 0!important}#app.studio48[data-studio-right-closed=true]>.inspector{display:none!important}#app.studio48[data-studio-right-closed=true] .s48-reopen-right{display:flex}
#app.studio48[data-studio-left-closed=true][data-studio-right-closed=true]{grid-template-columns:0 minmax(320px,1fr) 0!important}
#app.studio48[data-studio-shelf=false]{grid-template-rows:64px 52px minmax(260px,1fr) 0 28px!important}#app.studio48[data-studio-shelf=false]>.s48-shelf{display:none}
/* Workshop uses the same action language and keeps its own transactional model. */
dialog.studio48-workshop{background:#f5f0f3!important;color:var(--s48-ink)!important;width:100vw!important;height:100dvh!important;inset:0!important;margin:0!important;border:0!important;border-radius:0!important;max-width:100vw!important;max-height:100dvh!important}
.studio48-workshop>header{min-height:64px;height:64px;padding:8px 17px!important;background:#fff!important;border-bottom:1px solid #ebdde5;display:flex;align-items:center;flex:none}
.studio48-workshop>header>div:first-child{flex:1;min-width:0}.studio48-workshop>header>div:first-child>small{font-size:8px;color:#ac788f;letter-spacing:1.2px}.studio48-workshop>header>div:first-child>p{display:none}.studio48-workshop #ws-name{font-size:19px;font-weight:650;color:#503442;width:min(560px,43vw);padding:4px 0!important;border:0!important;margin:0}
.studio48-workshop .ws-header-actions{display:none!important}.s48-ws-head-actions{display:flex!important;flex-direction:row!important;gap:5px;align-items:center!important}.s48-ws-head-actions [data-studio=ws-save]{background:var(--s48-red);border-color:var(--s48-red);color:#fff}
.studio48-workshop>.ws-top,.studio48-workshop .ws-tools,.studio48-workshop .ws-quick-actions,.studio48-workshop #ws-mobile-actions{display:none!important}
.s48-ws-toolbar{flex:none;display:flex;align-items:center;justify-content:space-between;gap:9px;padding:7px 15px;border-bottom:1px solid #eadce4;background:#fbf6f9;min-height:52px}.s48-ws-views{display:flex;gap:5px;align-items:center}
.studio48-workshop .pro45-modebar{flex:none;padding:6px 16px;min-height:43px;background:#fff;border-bottom:1px solid #eee1e8;display:flex;gap:5px;align-items:center}.studio48-workshop .pro45-modebar .btn{min-height:31px;padding:5px 10px;font-size:11px;border:0}.studio48-workshop .pro45-modebar [aria-pressed=true]{background:#fce9f0;color:#b32950;border-color:#e9b9cb}
.studio48-workshop .ws-layout{display:grid!important;grid-template-columns:minmax(220px,var(--s48-left)) minmax(300px,1fr) minmax(260px,var(--s48-right))!important;grid-template-rows:minmax(0,1fr)!important;min-height:0;flex:1;position:relative}
.studio48-workshop #ws-left{grid-column:1;grid-row:1;padding:0 15px 16px;overflow:auto;background:#fffbfd;border-right:1px solid #ead8e3;position:relative;height:auto;display:block;max-height:none}
.studio48-workshop #ws-viewport{grid-column:2!important;grid-row:1!important;width:100%;height:100%!important;min-height:0!important;position:relative;overflow:hidden}
.studio48-workshop #ws-properties{grid-column:3!important;grid-row:1!important;border-left:1px solid #e5d5df;background:#fff;display:block;position:relative;height:auto;max-height:none;border-radius:0;box-shadow:none;overflow:auto;min-height:0}
.studio48-workshop #ws-properties #ws-task{position:static!important;inset:auto!important;width:100%!important;max-height:none!important;overflow:visible!important;padding:16px!important;background:#fff;box-shadow:none;border:0;border-radius:0}
.studio48-workshop #ws-fields{position:static!important;padding:16px!important;max-height:none!important;height:auto!important;background:#fff}.studio48-workshop #ws-properties h3{font-size:18px;line-height:1.4;color:#653e51;margin-bottom:13px}.studio48-workshop #ws-properties h4{font-size:12px;color:#8a5470}.studio48-workshop .ws-task-head{background:#fff8fb;padding:8px 0;margin:-5px 0 12px;color:#a07d8f;border-bottom:1px solid #efdeea}
.studio48-workshop .ws-metrics{background:#fff7fb;color:#7c5669}.studio48-workshop .ws-subtabs{background:#fff}.studio48-workshop .ws-part-row.selected .ws-part{background:#fce9f1;border-color:#ce8ba6}.studio48-workshop .ws-part.active{box-shadow:inset 3px 0 #c7354b}
.studio48-workshop #ws-palette,.studio48-workshop #ws-left>.ws-left-heading{display:none!important}.studio48-workshop #ws-parts{display:none!important;padding:9px 0}.studio48-workshop[data-studio-parts=true] #ws-parts{display:block!important;position:static!important;height:auto!important;max-height:none!important;box-shadow:none!important;border:0!important}
.s48-ws-library>header{display:flex;align-items:center;justify-content:space-between;padding:17px 0 11px}.s48-ws-library>header>small{font-size:8px;letter-spacing:1.3px;color:#a78799}.s48-ws-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;background:#f8eff4;padding:3px;border-radius:10px;margin-bottom:12px}.s48-ws-tabs button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:9px;min-height:52px;padding:6px 2px;border-radius:8px;color:#9b6b84}.s48-ws-tabs button[aria-pressed=true]{background:white;color:#b03258;box-shadow:0 2px 5px #80305b14}.s48-ws-tabs .s48-icon{width:17px;height:17px}
.studio48-workshop .pro45-summary{right:18px;bottom:16px!important;color:#664553;font-size:11px}.studio48-workshop .pro45-summary strong{font-size:15px}
.studio48-workshop .s48-plane-controls{position:relative!important;inset:auto!important;display:flex!important;flex:none;width:100%;max-width:100%;border:0!important;border-top:1px solid #e3d1df!important;border-radius:0!important;margin:0!important;min-height:43px;padding:5px 17px!important;background:#fffbfd;font-size:10px;gap:16px;z-index:15;box-sizing:border-box}
.s48-plane-title{display:flex;align-items:center;gap:6px;color:#9a7088;font-size:10px;margin-right:8px}.studio48-workshop .s48-plane-controls label{display:flex;align-items:center;gap:6px;font-size:10px;color:#8e7583}.studio48-workshop .s48-plane-controls input{width:70px;font-size:11px;padding:5px!important}.studio48-workshop .s48-plane-controls select{font-size:11px;padding:5px!important}.studio48-workshop .s48-plane-controls #ws-grid-info{margin-left:auto;color:#b198a6;font-size:9px}
.studio48-workshop>footer{display:flex;align-items:center;justify-content:space-between;flex:none;gap:10px;padding:5px 15px!important;min-height:45px;max-height:70px;border-top:1px solid #ecdee6;background:#fff}.studio48-workshop>footer>div:not(.s48-ws-footer-actions){display:none!important}.studio48-workshop>footer #ws-status{font-size:11px;line-height:1.5;min-height:0;margin:0;max-height:50px;color:#897380;flex:1}.studio48-workshop #ws-status.error{color:#be2648}
.studio48-workshop .s48-ws-footer-actions{display:flex!important;flex:none;gap:4px;margin:0!important;align-items:center;overflow:visible}.studio48-workshop .s48-ws-footer-actions .s48-button{font-size:11px;min-height:32px}
.studio48-workshop .ws-mobile-nav{display:none!important}.studio48-workshop .pro45-banner,.studio48-workshop #ws-preview{bottom:18px!important;left:14px;right:14px;padding:10px 12px;background:#fff9f0;border-color:#e3be85;z-index:40;border-radius:12px}.studio48-workshop .pro45-banner [data-pro45=apply]{background:var(--s48-red);color:#fff;border-color:var(--s48-red)}
.studio48-workshop[data-pro45-preview=true] .pro45-summary{bottom:104px!important}
.studio48-workshop[data-studio-left-closed=true] .ws-layout{grid-template-columns:0 minmax(300px,1fr) var(--s48-right)!important}.studio48-workshop[data-studio-left-closed=true] #ws-left{display:none!important}.studio48-workshop[data-studio-right-closed=true] .ws-layout{grid-template-columns:var(--s48-left) minmax(300px,1fr) 0!important}.studio48-workshop[data-studio-right-closed=true] #ws-properties{display:none!important}.studio48-workshop[data-studio-left-closed=true][data-studio-right-closed=true] .ws-layout{grid-template-columns:0 minmax(300px,1fr) 0!important}
/* Modal command palette, settings, help and button audit. */
dialog.s48-dialog{box-sizing:border-box;width:min(660px,calc(100vw - 30px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 50px);padding:0;border:1px solid #e3cdd9;border-radius:20px;background:#fffcfd;color:#513342;box-shadow:0 30px 120px #2f112c44;margin:auto;font-family:inherit;overflow:hidden}
dialog.s48-dialog.wide{width:min(880px,calc(100vw - 30px))}dialog.s48-dialog[open]{display:flex;flex-direction:column}dialog.s48-dialog::backdrop{background:#38233266;backdrop-filter:blur(4px)}
.s48-dialog>header{padding:21px 23px 17px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border-bottom:1px solid #e9d8e2;flex:none}.s48-dialog>header small{font-size:8px;letter-spacing:1.7px;color:#b17a95}.s48-dialog h2{font-size:24px;font-weight:650;letter-spacing:-.6px;line-height:1.3;margin-top:6px;color:#593a4b}.s48-dialog>header>button{display:grid;place-items:center;width:36px;min-width:36px;height:36px;border-radius:10px;background:#fcf0f6;color:#ac547d}
.s48-dialog-body{padding:20px 23px;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#dcbacf transparent}
.s48-command-search{display:flex;align-items:center;gap:12px;border:1px solid #d5a6bc;background:white;padding:0 14px;border-radius:12px;box-shadow:0 0 0 4px #fcedf4}.s48-command-search input{font:14px/1.5 inherit;border:0;box-shadow:none!important;width:100%;padding:14px 0;background:none}.s48-search-context{font-size:10px;color:#a08b98;margin:17px 0 12px}
.s48-search-row{display:grid;grid-template-columns:200px minmax(0,1fr) 30px;gap:15px;align-items:center;padding:11px 0;border-bottom:1px solid #eddee7}.s48-search-row>.s48-button{justify-content:flex-start;font-size:12px;text-align:left;background:#fff;min-height:42px}.s48-search-row>div>small{font-size:8px;letter-spacing:.8px;text-transform:uppercase;color:#be8aa4}.s48-search-row p{font-size:11px;line-height:1.6;margin-top:4px;color:#8d7484}.s48-star{display:grid;place-items:center;width:30px;height:35px;color:#bfabb6}.s48-star[aria-pressed=true]{color:#c28839}.s48-star[aria-pressed=true] svg{fill:#f9e6c2}
.s48-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.s48-menu-grid>div{min-width:0;display:flex;flex-direction:column;gap:6px}.s48-menu-grid .s48-button{justify-content:flex-start;text-align:left;min-height:43px}.s48-menu-grid small{font-size:10px;line-height:1.65;color:#9d7e91;margin:0 2px 7px}
.s48-preference-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.s48-preference-grid label{display:flex;flex-direction:column;gap:9px;font-size:12px;color:#866076}.s48-preference-grid select{padding:10px;font-size:12px}.s48-preference-grid input[type=range]{width:100%;accent-color:var(--s48-red);min-height:32px}.s48-preference-grid output{font-size:11px;color:#b16589}.s48-preference-grid .s48-check{flex-direction:row;align-items:center;gap:9px;min-height:34px;font-size:12px}.s48-check input{accent-color:var(--s48-red);width:18px;height:18px}.s48-settings-links{border-top:1px solid #ead8e4;display:flex;gap:8px;flex-wrap:wrap;padding-top:17px;margin-top:17px}
.s48-help-lead{font-size:16px;line-height:1.7;color:#81576e;margin-bottom:22px}.s48-help-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.s48-help-grid article{position:relative;border:1px solid #ead6e3;border-radius:14px;background:#fff;padding:18px;display:flex;flex-direction:column;align-items:flex-start}.s48-step{color:#c26d97;font-weight:600;font-size:12px;background:#fff0f7;padding:6px 9px;border-radius:8px;margin-bottom:11px}.s48-help-grid h3{font-size:14px;margin-bottom:10px}.s48-help-grid p{font-size:12px;line-height:1.75;color:#8d7182;margin-bottom:12px}.s48-help-grid small{font-size:10px;line-height:1.6;color:#ae899f}.s48-help-grid .s48-button{margin-top:15px;min-height:34px;font-size:11px}.s48-help-keys{margin-top:20px;padding:15px;background:#fff4fa;border-radius:11px}.s48-help-keys summary{font-size:13px;cursor:pointer;color:#945474}.s48-help-keys p{font-size:12px;line-height:1.8;margin-top:12px}.s48-caution{margin-top:20px;border-left:3px solid #b99047;padding:12px 15px;background:#fff9ec;font-size:12px;line-height:1.7;color:#897243}.s48-caution p{margin-top:7px}
.s48-audit-table{overflow:auto;margin-top:16px}.s48-audit-table table{width:100%;border-collapse:collapse;font-size:11px}.s48-audit-table th,.s48-audit-table td{padding:10px;border-bottom:1px solid #eddce7;text-align:left;vertical-align:top}.s48-audit-table th{color:#ad7495;background:#fff4fa}
.s48-tooltip{position:fixed;z-index:2147483000;max-width:280px;padding:12px 14px;display:flex;flex-direction:column;gap:6px;background:#4b303e;color:#fff;border:1px solid #6e475c;border-radius:12px;box-shadow:0 6px 22px #24122c26;font-family:inherit;font-size:11px;line-height:1.5;pointer-events:none}.s48-tooltip strong{font-size:12px;font-weight:650}.s48-tooltip span{color:#e3c9d7}.s48-tooltip kbd{font:10px ui-monospace,monospace;color:#ffe0eb;padding-top:3px}
.studio48-page [data-studio-density=compact] .s48-card,.studio48-page[data-studio-density=compact] .s48-card{min-height:105px}.studio48-page[data-studio-density=compact] .s48-card-art{height:44px}.studio48-page[data-studio-density=compact] .s48-library>header{padding:14px 0 10px}.studio48-page[data-studio-density=compact] .s48-intro{margin:5px 0 8px}
@media(min-width:1600px){.studio48-page[data-studio-labels=true] .s48-toolset .s48-iconbutton:is([data-studio=select],[data-studio=move],[data-studio=rotate],[data-studio=size]){width:auto;padding:8px 10px}.studio48-page[data-studio-labels=true] .s48-toolset .s48-iconbutton:is([data-studio=select],[data-studio=move],[data-studio=rotate],[data-studio=size])>.s48-label{display:inline;font-size:11px}}
@media(min-width:901px) and (max-width:1250px){.s48-workspace{padding:8px 7px;font-size:10px}.s48-toolbar{padding:5px 8px;gap:6px}.s48-toolset .s48-iconbutton{width:32px;min-width:32px}.s48-viewset .s48-button{padding:7px;font-size:10px}.s48-viewset [data-studio=view-walk] .s48-label{display:none}#app.studio48 #saved-status{display:none}#app.studio48 .brand{min-width:190px}#app.studio48 .topbar{gap:10px}.s48-current-room{display:none}.s48-shelf-title{display:none}.s48-shelf .s48-button{min-width:54px;font-size:9px}}
@media(max-width:900px){
 #app.studio48{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:56px 92px minmax(190px,1fr) 72px 25px!important;--header:148px;min-width:0}
 #app.studio48>.topbar{height:56px;min-width:0;padding:0 9px;gap:8px;overflow:hidden}#app.studio48 .brand{min-width:0;gap:0}.s48-brandmark{width:31px;height:34px;border-radius:10px}.s48-brandmark .s48-icon{width:21px;height:21px}#app.studio48 .brandword,#app.studio48 .header-divider,#app.studio48 #saved-status{display:none}#app.studio48 .project-title{flex:1;min-width:50px;max-width:190px;font-size:11px}
 #app.studio48 .top-actions{flex:none;gap:0}#app.studio48 .s48-header-actions{gap:2px}.s48-header-actions [data-studio=save] .s48-label::after{content:none}.s48-header-actions [data-studio=file-menu],.s48-header-actions [data-studio=settings]{display:none}.s48-header-actions .s48-button{width:34px;height:35px;min-width:34px;min-height:35px;padding:7px}
 .s48-toolbar{display:grid;grid-template-columns:1fr auto;grid-template-rows:40px 39px;gap:4px 5px;padding:4px 7px;background:#faf4f7}.s48-workspaces{grid-column:1/-1;grid-row:1;display:flex;justify-content:space-between}.s48-workspace{font-size:10px;min-height:36px;gap:4px;padding:7px 8px}.s48-workspace>.s48-icon{width:15px;height:15px}.s48-workspaces>[data-studio=workshop-new]{width:32px;min-width:32px;height:34px}
 .s48-toolbar>.s48-toolset{grid-column:1;grid-row:2;gap:0;justify-content:space-between;padding:1px 2px;border-radius:8px;flex:none;min-width:0}.s48-toolbar>.s48-toolset>button{width:29px;min-width:29px;min-height:31px;height:32px;padding:5px;margin:0!important}.s48-toolbar>.s48-toolset>button:is([data-studio=duplicate],[data-studio=mirror-h],[data-studio=mirror-v],[data-studio=rotate],[data-studio=size]){display:none}
 .s48-viewset{grid-column:2;grid-row:2;gap:1px;padding:2px;border-radius:8px}.s48-viewset .s48-button{min-height:30px;padding:6px;font-size:10px;gap:4px}.s48-viewset .s48-icon{width:14px;height:14px}.s48-viewset [data-studio=view-walk]>.s48-label{display:none}
 #app.studio48>.viewport{grid-column:1!important;grid-row:3!important;min-height:190px;max-width:100%;margin:0!important}
 #app.studio48>.left-panel,#app.studio48>.inspector{display:none!important;position:fixed!important;top:148px!important;bottom:25px!important;right:0!important;left:auto!important;width:min(310px,88vw)!important;max-height:none!important;z-index:80;box-shadow:-10px 8px 36px #4e203327!important;border-radius:0!important;border-left:1px solid #d9bacb!important}
 #app.studio48>.left-panel{left:0!important;right:auto!important;box-shadow:10px 8px 36px #4e203327!important}
 #app.studio48[data-studio-mobile-panel=left]>.left-panel{display:flex!important}
 #app.studio48[data-studio-mobile-panel=right]>.inspector{display:block!important}
 #app.studio48 .visual-workbench:not([hidden]),#app.studio48 .pro45-dock:not([hidden]),#app.studio48 .equipment-dock:not([hidden]),#app.studio48 .dependency-dock:not([hidden]){width:min(340px,90vw)!important;max-width:90vw!important;top:148px!important;right:0!important;bottom:25px!important;z-index:95;box-shadow:-10px 8px 36px #4e203327!important}
 #app.studio48 .visual-workbench>header,#app.studio48 .pro45-dock>header{padding:12px 15px!important}
 .s48-scene-head{top:8px;left:8px;right:8px;gap:4px}.s48-reopen-left,.s48-reopen-right{display:flex;width:32px;min-width:32px;height:33px}.s48-current-room{display:none}.s48-level-control{padding:3px 4px;gap:1px;border-radius:9px}.s48-level-control>svg{display:none}.s48-level-control select{font-size:10px;max-width:148px;min-height:25px}.s48-level-control>button{width:24px;min-width:24px;height:26px;min-height:26px}.s48-level-control>button[data-studio=levels]{display:none}#s48-level-picker{max-width:calc(100% - 74px)}
 .s48-scene-actions{bottom:8px;right:8px;gap:0;padding:2px}.s48-scene-actions .s48-iconbutton{width:30px;min-width:30px;height:31px;padding:5px}.s48-plane-select{padding:0 1px}.s48-plane-select .s48-icon{display:none}.s48-plane-select select{max-width:45px;font-size:10px}
 #app.studio48 #hud-zoom{left:8px!important;bottom:8px!important;padding:2px;gap:0}.studio48 #hud-zoom .icon-btn{width:26px!important;height:30px!important}.studio48 #hud-zoom .icon-btn:nth-child(n+4){display:none!important}
 #app.studio48 .pro45-summary{font-size:10px;bottom:55px;max-width:175px;right:10px}#app.studio48 .pro45-summary strong{font-size:12px}#app.studio48 #issue-badge{bottom:57px!important;left:8px!important;font-size:8px;max-width:140px}
 #app.studio48>.s48-shelf{grid-column:1;grid-row:4;gap:5px;padding:7px;background:#fff6fa;z-index:60}.s48-shelf-title{display:none}.s48-shelf .s48-button{min-width:53px;font-size:9px;padding:6px 3px;gap:5px}.s48-shelf .s48-icon{width:20px;height:20px}
 #app.studio48>.footer{grid-column:1;grid-row:5;height:25px;padding:0 8px;font-size:8px}#app.studio48>.footer>span:last-child{display:none}
 #app.studio48[data-studio-left-closed=true],#app.studio48[data-studio-right-closed=true],#app.studio48[data-studio-left-closed=true][data-studio-right-closed=true]{grid-template-columns:minmax(0,1fr)!important}
 #app.studio48[data-studio-shelf=false]{grid-template-rows:56px 92px minmax(190px,1fr) 0 25px!important}
 .s48-dialog.wide,dialog.s48-dialog{width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100dvh - 24px);border-radius:15px}.s48-dialog>header{padding:15px 16px}.s48-dialog h2{font-size:21px}.s48-dialog-body{padding:15px 16px}.s48-menu-grid{gap:10px}.s48-menu-grid .s48-button{font-size:11px;min-height:44px}.s48-search-row{grid-template-columns:1fr 30px;gap:4px 8px}.s48-search-row>.s48-button{grid-column:1;grid-row:auto;font-size:12px;min-height:44px}.s48-search-row>div{grid-column:1;grid-row:auto;margin-left:4px}.s48-search-row .s48-star{grid-column:2;grid-row:auto}.s48-help-grid{grid-template-columns:1fr}.s48-help-lead{font-size:14px}.s48-preference-grid{grid-template-columns:1fr}.s48-help-grid article{padding:15px}
 .studio48-workshop>header{height:56px;min-height:56px;padding:7px 10px!important}.studio48-workshop>header>div:first-child>small{display:none}.studio48-workshop #ws-name{width:min(47vw,240px);font-size:15px}.s48-ws-head-actions{gap:1px}.s48-ws-head-actions [data-studio=search],.s48-ws-head-actions [data-studio=settings],.s48-ws-head-actions [data-studio=help]{display:none}.s48-ws-head-actions .s48-button{width:35px;min-width:35px;height:36px;padding:6px;min-height:36px}.s48-ws-head-actions .s48-label{display:none}
 .s48-ws-toolbar{min-height:45px;padding:4px 6px;gap:4px}.s48-ws-toolbar .s48-toolset{min-width:0;flex:1;padding:2px;justify-content:space-between;gap:0}.s48-ws-toolbar .s48-toolset .s48-button{width:28px;height:30px;min-width:28px;min-height:30px;padding:5px;margin:0!important}.s48-ws-toolbar .s48-toolset .s48-button:is([data-studio=copy],[data-studio=paste],[data-studio=duplicate],[data-studio=mirror-h],[data-studio=mirror-v],[data-studio=precise]){display:none}.s48-ws-views{gap:0}.s48-ws-views .s48-button{min-width:28px;width:28px;height:33px;min-height:33px;padding:5px}.s48-ws-views .s48-label{display:none}.s48-ws-views [data-studio=fit]{display:none}
 .studio48-workshop .pro45-modebar{padding:4px 6px;gap:3px;min-height:38px}.studio48-workshop .pro45-modebar>.btn{font-size:10px;padding:6px 5px;min-height:32px;flex:1}.studio48-workshop .pro45-modebar>.btn .icon45{width:13px!important;height:13px!important;min-width:13px}
 .studio48-workshop .ws-layout,.studio48-workshop[data-studio-left-closed=true] .ws-layout,.studio48-workshop[data-studio-right-closed=true] .ws-layout,.studio48-workshop[data-studio-left-closed=true][data-studio-right-closed=true] .ws-layout{grid-template-columns:minmax(0,1fr)!important;min-height:210px}
 .studio48-workshop #ws-viewport{grid-column:1!important;min-height:210px!important;grid-row:1!important}
 .studio48-workshop #ws-left,.studio48-workshop #ws-properties{display:none!important;position:absolute!important;grid-column:1!important;grid-row:1!important;top:auto!important;left:0!important;right:0!important;bottom:0!important;height:53%!important;max-height:53%!important;min-height:0!important;border:0;border-top:1px solid #d6b9cb;border-radius:14px 14px 0 0!important;z-index:22;box-shadow:0 -6px 25px #50213521}
 .studio48-workshop[data-ws-pane=parts] #ws-left{display:block!important}.studio48-workshop[data-ws-pane=fields] #ws-properties,.studio48-workshop[data-ws-pane=task] #ws-properties{display:block!important}
 .studio48-workshop[data-ws-pane=task] #ws-viewport,.studio48-workshop[data-ws-pane=fields] #ws-viewport,.studio48-workshop[data-ws-pane=parts] #ws-viewport{height:47%!important;min-height:140px!important}.studio48-workshop #ws-properties #ws-task{padding:12px 15px!important}.studio48-workshop[data-ws-pane=task] .pro45-summary,.studio48-workshop[data-ws-pane=parts] .pro45-summary,.studio48-workshop[data-ws-pane=fields] .pro45-summary{display:none}
 .studio48-workshop .s48-plane-controls{min-height:42px;padding:4px 7px!important;gap:7px;max-width:100%;flex-wrap:nowrap}.s48-plane-title{display:none}.studio48-workshop .s48-plane-controls label{font-size:9px;gap:3px}.studio48-workshop .s48-plane-controls input{width:45px!important;font-size:10px;padding:5px 3px!important}.studio48-workshop .s48-plane-controls select{font-size:10px}.studio48-workshop #ws-grid-info{display:none!important}
 .studio48-workshop>footer{padding:6px 8px!important;gap:5px;min-height:44px;max-height:70px}.studio48-workshop>footer #ws-status{font-size:9px;max-height:40px}.studio48-workshop .s48-ws-footer-actions{gap:2px}.studio48-workshop .s48-ws-footer-actions .s48-iconbutton{min-width:31px;width:31px}.studio48-workshop .s48-ws-footer-actions [data-studio=ws-library]{display:none}
 .s48-ws-tabs{margin:0 0 8px}.s48-ws-library>header{padding:10px 0}.s48-ws-cards .s48-cardgrid{grid-template-columns:repeat(3,1fr)}.s48-ws-cards .s48-card{min-height:110px}.s48-ws-cards .s48-card-art{height:49px}.s48-ws-cards .s48-card>.s48-label{font-size:10px}
 .studio48-workshop .pro45-banner,.studio48-workshop #ws-preview{bottom:8px!important;left:6px;right:6px;max-height:115px;padding:7px;overflow:auto;font-size:10px}.studio48-workshop .pro45-banner .btn{min-height:36px;font-size:10px;padding:7px}
}
@media(prefers-reduced-motion:reduce){.studio48-page *, .studio48-workshop *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
#app.studio48[data-studio-right-closed=true] .visual-workbench:not([hidden]),#app.studio48[data-studio-right-closed=true] .pro45-dock:not([hidden]),#app.studio48[data-studio-right-closed=true] .equipment-dock:not([hidden]),#app.studio48[data-studio-right-closed=true] .dependency-dock:not([hidden]){display:none!important}

.s48-card-art{position:relative}.s48-card-art img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.s48-card-action-icon{position:absolute;top:3px;right:3px;display:grid;place-items:center;width:23px;height:23px;border-radius:7px;background:#ffffffd9;color:#a9233f}.s48-card-action-icon svg{width:16px!important;height:16px!important}
@media(min-width:1400px) and (max-width:1599px){.studio48-page[data-studio-labels=true] .s48-toolset .s48-iconbutton:is([data-studio=move],[data-studio=rotate],[data-studio=size]){width:auto;padding:8px 7px}.studio48-page[data-studio-labels=true] .s48-toolset .s48-iconbutton:is([data-studio=move],[data-studio=rotate],[data-studio=size])>.s48-label{display:inline;font-size:10px}.s48-workspace{padding:8px 10px}}

.s48-notice{position:fixed;bottom:70px;left:50%;transform:translateX(-50%);max-width:min(650px,calc(100vw - 30px));padding:12px 16px;border-radius:12px;background:#583044;color:#fff;font:12px/1.6 system-ui;z-index:500;box-shadow:0 8px 35px #32122226;pointer-events:none}.s48-dialog>.s48-notice{bottom:16px}

#app.studio48 #plan-mode-strip{display:none!important}


/* Project documentation workspace — deliberately isolated from the modelling UI. */
.d50{--accent:#ae2e49;--ink:#273447;--line:#e0e4eb;--muted:#69768a;position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#f3f5f8;color:var(--ink);font:14px/1.5 Inter,system-ui,sans-serif;overflow:hidden}.d50[open]{display:flex;flex-direction:column}.d50::backdrop{background:#172238dd}.d50 *{box-sizing:border-box}.d50 [hidden]{display:none!important}.d50 svg.icon,.d50 [data-studio-icon],.d50-preview-dialog [data-studio-icon]{width:18px;height:18px;flex:none;pointer-events:none}.d50-head{display:flex;align-items:center;gap:28px;min-height:86px;padding:15px 24px;background:white;border-bottom:1px solid var(--line);flex:none}.d50-brand{display:flex;gap:13px;align-items:center}.d50-brand>svg{width:35px!important;height:35px!important;color:var(--accent)}.d50 small{font-size:11px;color:var(--muted);line-height:1.45}.d50-brand small{font-size:9px;letter-spacing:1.6px}.d50-brand h1{margin:0;font-size:23px;font-weight:650;letter-spacing:-.8px}.d50-title{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.d50-title b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:520px;font-size:13px}.d50-head-actions,.d50-actions,.d50-row-actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.d50-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:39px;padding:8px 12px;border:1px solid var(--line,#dce2e9);border-radius:9px;background:white;color:var(--ink,#263447);font:600 12px/1.35 system-ui;cursor:pointer}.d50-btn:hover{background:#faedf1!important;border-color:#daa3b0;color:#962842}.d50-btn.primary,.d50 .primary{background:var(--accent);border-color:var(--accent);color:white}.d50-btn.primary:hover{background:#8f1d36!important;color:white}.d50 button:focus-visible,.d50 input:focus-visible,.d50 select:focus-visible{outline:3px solid #bd6a80;outline-offset:2px}.d50-layout{display:grid;grid-template-columns:196px minmax(0,1fr);flex:1;min-height:0}.d50.has-detail .d50-layout{grid-template-columns:196px minmax(0,1fr) 352px}.d50-nav{background:white;border-right:1px solid var(--line);padding:24px 14px;display:flex;flex-direction:column;gap:6px;overflow:auto}.d50-nav>.d50-btn{border-color:transparent;justify-content:flex-start;padding:12px;min-height:45px;font-size:13px}.d50-nav [aria-current=true]{color:var(--accent);background:#faedf1}.d50-nav-foot{margin-top:auto;padding-top:28px}.d50-nav-foot p{font-size:11px;line-height:1.9;color:#8a95a3;margin:18px 10px}.d50 #d50-main{overflow:auto;padding:28px 32px;min-width:0;scrollbar-width:thin}.d50-page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin:0 0 23px}.d50-page-head h2{font-size:29px;letter-spacing:-.9px;line-height:1.15;margin:6px 0 10px}.d50-page-head>div>small{font-size:10px;letter-spacing:1.6px;font-weight:650}.d50-page-head p{font-size:12px;color:var(--muted);max-width:650px;line-height:1.65;margin:0}.d50-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px}.d50-kpis>div{border:1px solid var(--line);padding:17px 18px;background:white;border-radius:13px;display:flex;flex-direction:column;gap:8px;min-width:0}.d50-kpis span{font-size:11px;color:var(--muted)}.d50-kpis b{font-size:25px;line-height:1.2;letter-spacing:-.5px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.d50-kpis .warning{background:#fff8ed;border-color:#edd8b0}.d50-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0 25px}.d50-step{text-align:left;border:1px solid var(--line);background:white;padding:20px;border-radius:13px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;cursor:pointer}.d50-step>svg{width:25px!important;height:25px!important;color:var(--accent);margin-bottom:6px}.d50-step small{font-size:9px;letter-spacing:1.3px}.d50-step b{font-size:14px}.d50-step p{margin:0;font-size:12px;line-height:1.65;color:var(--muted)}.d50-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.d50-box{padding:22px;border:1px solid var(--line);border-radius:14px;background:white;margin-bottom:15px;min-width:0}.d50-box h3{margin:0 0 15px;font-size:16px}.d50-box>svg{width:100%;height:auto}.d50-check{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.6;margin:10px 0}.d50-check input{margin:4px 0 0;flex:none;width:17px;height:17px;accent-color:var(--accent)}.d50-check small{display:block}.d50-check svg{margin-top:3px;color:#a67e43}.d50-muted{font-size:11px;line-height:1.7;color:var(--muted);margin:16px 0}.d50-filters{display:flex;gap:12px;margin:0 0 14px;align-items:center}.d50-search{display:flex;align-items:center;gap:10px;background:white;border:1px solid var(--line);border-radius:9px;padding:0 12px;flex:1;min-width:0}.d50-search input{border:0;width:100%;padding:12px 0;font-size:13px;min-width:0;background:transparent}.d50-filters>select{padding:10px;border:1px solid var(--line);border-radius:9px;background:white;max-width:220px;font-size:12px}.d50-table-wrap{border:1px solid var(--line);background:white;border-radius:12px;overflow:auto;max-height:65dvh}.d50 table{border-collapse:collapse;width:100%;font-size:12px;min-width:700px}.d50 th{background:#edf1f5;text-align:left;color:#68768a;font-size:10px;letter-spacing:.2px;position:sticky;top:0;z-index:1}.d50 td,.d50 th{padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:top}.d50 td:nth-child(2){min-width:200px}.d50 td>small{display:block;font-size:10px;margin-top:4px;max-width:330px}.d50 td>b{font-weight:600}.d50-price{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;border:1px solid transparent;border-radius:7px;padding:6px;color:#275696;background:#f0f4fa;font-size:12px}.d50-price.missing{color:#9a5f12;background:#fff2de}.d50-row-actions{flex-wrap:nowrap}.d50-row-actions .d50-btn{font-size:10px;min-height:30px;padding:5px 7px}.d50-row-actions .d50-btn svg{width:13px;height:13px}.d50-segments{display:flex;gap:6px;margin-bottom:18px}.d50-segments [aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:white}.d50-callout{display:flex;gap:10px;align-items:flex-start;border-left:3px solid #b97486;background:#faedf1;padding:12px 16px;font-size:12px;line-height:1.7;border-radius:6px;margin-bottom:19px}.d50-gantt{background:white;border:1px solid var(--line);border-radius:12px;padding:18px;overflow:auto;margin-bottom:20px}.d50-gantt svg{display:block;width:100%;min-width:850px;height:auto}.d50-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.d50-layout-preview{background:#f7f8fa;border:1px solid var(--line);border-radius:8px;padding:6px;overflow:auto;margin:12px 0}.d50-layout-preview svg{width:100%;height:auto;max-height:360px}.d50-inline-stats{display:flex;gap:18px;font-size:11px;color:var(--muted)}.d50-inline-stats b{display:block;color:var(--ink);font-size:22px}.d50-empty{padding:36px;background:white;border:1px dashed #c9d2dd;border-radius:12px;grid-column:1/-1}.d50-empty h3{font-size:18px;margin:0 0 10px}.d50-empty p{font-size:13px;line-height:1.7;color:var(--muted)}.d50-release-head{display:flex;justify-content:space-between;gap:16px}.d50-release-head h3{margin:7px 0}.d50-release-head p{font-size:12px;color:var(--muted)}.d50-badge{display:inline-block;align-self:flex-start;border:1px solid #c4d7ce;background:#edf6f0;color:#36664e;padding:5px 8px;border-radius:6px;font-size:10px;white-space:nowrap}.d50-badge.warning{background:#fff5e6;color:#906021;border-color:#e5ceaa}.d50-status{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:8px 24px;background:white;min-height:35px;font-size:10px;color:var(--muted);flex:none}.d50-status .error{color:#b32341;font-weight:600}#d50-status{flex:1}.d50.is-busy{cursor:progress}.d50.is-busy .d50-btn{pointer-events:none;opacity:.65}.d50 #d50-detail{min-width:0;overflow:auto;background:white;border-left:1px solid var(--line);padding:18px 20px}.d50 #d50-detail>header{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:20px}.d50 #d50-detail h3{margin:0;font-size:17px}.d50 #d50-detail>header .d50-btn span{display:none}.d50 #d50-detail>header .d50-btn{padding:7px;min-height:32px}.d50-field{display:flex;flex-direction:column;gap:7px;margin:14px 0;font-size:11px;color:var(--muted)}.d50-field input,.d50-field select,.d50-field textarea{padding:10px;font:13px/1.4 system-ui;width:100%;min-width:0;border:1px solid #d2d9e2;border-radius:8px;background:white;color:var(--ink)}.d50-fields-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.d50-fields-two .d50-field{margin:8px 0}.d50 fieldset{border:1px solid var(--line);border-radius:9px;padding:12px;margin:18px 0}.d50 legend{font-size:12px;font-weight:600}.d50-selection{border-left:3px solid var(--accent);padding:12px;background:#faf0f3;border-radius:6px;font-size:13px}.d50-selection p{margin:7px 0}.d50-detail-footer{display:flex;gap:8px;margin-top:25px;position:sticky;bottom:-18px;background:white;padding:12px 0;border-top:1px solid var(--line)}#d50-form-error{color:#b32640;font-size:12px;line-height:1.7}.d50 #d50-leave{position:absolute;inset:0;background:#17253466;display:grid;place-items:center;z-index:10}.d50 #d50-leave>div{background:white;max-width:440px;margin:20px;padding:25px;border-radius:16px;box-shadow:0 20px 80px #14233640}.d50 #d50-leave p{margin:14px 0 24px}.d50-preview-dialog{position:fixed;inset:12px;margin:0;width:calc(100vw - 24px);height:calc(100dvh - 24px);max-width:none;max-height:none;padding:0;border:0;border-radius:13px;background:#eef1f5;overflow:hidden;color:#263447}.d50-preview-dialog[open]{display:flex;flex-direction:column}.d50-preview-dialog::backdrop{background:#142136a0}.d50-preview-dialog header{display:flex;gap:8px;padding:12px 18px;align-items:center;background:white}.d50-preview-dialog header>b{flex:1;font-size:13px}.d50-preview-dialog>p{font-size:11px;padding:8px 18px;margin:0}.d50-preview-dialog iframe{flex:1;min-height:0;width:100%;border:0}.s48-header-actions [data-studio=documents]{background:#ae2e49;color:white;border-color:#ae2e49}
@media(max-width:1200px){.d50-head{gap:15px;padding:12px 16px}.d50-brand h1{font-size:20px}.d50-title{max-width:250px}.d50 #d50-main{padding:23px}.d50-layout{grid-template-columns:165px minmax(0,1fr)}.d50.has-detail .d50-layout{grid-template-columns:145px minmax(0,1fr) 315px}.d50-nav{padding:20px 8px}.d50-nav>.d50-btn{font-size:12px;padding:10px}.d50-steps{grid-template-columns:1fr 1fr}.d50-kpis{grid-template-columns:1fr 1fr}.d50-page-head{flex-wrap:wrap}.d50-overview-grid{grid-template-columns:1fr}.d50-card-grid{grid-template-columns:1fr}}
@media(max-width:800px){.d50-head{min-height:72px;padding:10px 13px}.d50-brand>svg,.d50-title,.d50-brand small{display:none!important}.d50-brand h1{font-size:20px}.d50-head-actions{margin-left:auto;gap:4px}.d50-head-actions [data-d50=projects],.d50-head-actions [data-d50=refresh]{display:none}.d50-layout,.d50.has-detail .d50-layout{display:flex;flex-direction:column}.d50-nav{flex:none;flex-direction:row;overflow-x:auto;padding:7px;border-right:0;border-bottom:1px solid var(--line);gap:4px}.d50-nav>.d50-btn{flex:none;font-size:11px;min-height:44px;padding:8px;gap:6px}.d50-nav-foot{display:none}.d50 #d50-main{flex:1;padding:17px;min-height:0}.d50.has-detail #d50-main{display:none}.d50 #d50-detail{flex:1;border-left:0;min-height:0;padding:18px}.d50-page-head h2{font-size:25px}.d50-page-head .d50-actions{width:100%}.d50-btn{min-height:44px}.d50-kpis{gap:8px}.d50-kpis>div{padding:12px}.d50-kpis b{font-size:22px}.d50-step{padding:14px}.d50-steps{gap:8px}.d50-step b{font-size:13px}.d50-box{padding:17px}.d50-status{padding:8px 12px}.d50-status>span:last-child{display:none}.d50-filters{flex-wrap:wrap}.d50-filters>select{max-width:none;width:100%}.d50-segments{flex-wrap:wrap}.d50-release-head{display:block}.d50-release-head h3{font-size:13px;word-break:break-all}.d50-preview-dialog{inset:0;width:100vw;height:100dvh;border-radius:0}.d50-preview-dialog header>b{display:none}.d50-preview-dialog .d50-btn{flex:1}.d50 .d50-detail-footer{bottom:-18px}.d50 .d50-field input,.d50 .d50-field select{font-size:16px}}

.d50 [data-tone="primary"]{background:#ae2944;color:#fff;border-color:#ae2944}.d50 [data-tone="primary"]:hover{background:#902238;color:#fff}

@media(max-width:800px){.d50 .d50-nav-foot{display:block;flex:none;padding:0;margin:0}.d50 .d50-nav-foot p{display:none}.d50 .d50-nav-foot .d50-btn{white-space:nowrap;min-height:44px}}


/* 0.56: scoped controls; no scene colours, semantic charts or print styles are modified. */
:root.studio48-page{--s48-red:var(--user-accent,#b03258);--s48-deep:color-mix(in srgb,var(--user-accent,#b03258) 82%,black);--s48-soft:color-mix(in srgb,var(--user-accent,#b03258) 8%,white)}
#app.studio48 .viewport>.view-cube,#model-workshop.studio48-workshop #ws-viewport>.view-cube{display:block!important;right:10px!important;top:10px!important;width:114px!important;max-height:calc(100% - 30px);overflow:auto;z-index:35;background:#fffefaf2;box-shadow:0 3px 18px #4e2a3514}
#app.studio48 .viewport>.view-cube[hidden],#model-workshop #ws-viewport>.view-cube[hidden]{display:none!important}
.view-cube svg{max-width:100%;height:78px}.view-cube .cube-directions>span{display:none}
.view-cube .s56-camera-tools{display:grid;gap:3px;grid-template-columns:1fr 1fr;margin-top:4px}.s56-camera-tools button:last-child{grid-column:1/-1}
.view-cube [aria-pressed=true],.view-cube .cube-cell.active{background:var(--s48-red)!important;color:var(--user-on-accent,#fff)!important;fill:var(--s48-soft);stroke:var(--s48-red)}
[data-nav-gesture=orbit], [data-nav-gesture=orbit] *{cursor:grabbing!important}
[data-nav-gesture=pan], [data-nav-gesture=pan] *{cursor:move!important}
.s56-icon{width:18px!important;height:18px!important;max-width:18px!important;flex:none;pointer-events:none;vertical-align:middle}
.s56-button{display:inline-flex;align-items:center;justify-content:flex-start;gap:7px;border:1px solid var(--s48-border,#ded7db);border-radius:9px;background:white;padding:9px 10px;min-height:37px;font-size:11px;line-height:1.35;max-width:100%;color:var(--s48-ink,#352d33);cursor:pointer}
.s56-button:hover{background:var(--s48-soft,#f9eef2);border-color:var(--s48-red)}.s56-button:focus-visible{outline:2px solid var(--s48-red);outline-offset:2px}
.s56-context{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:14px;border-bottom:1px solid #eadde4;padding-bottom:12px}.s56-context .s56-button{font-size:10px;padding:7px}.s56-context small{flex-basis:100%;font-size:10px}
.s56-panel{position:fixed;right:0;top:116px;bottom:116px;width:var(--s48-right,308px);background:#fffdfd;border-left:1px solid var(--s48-border);z-index:66;display:flex;flex-direction:column;color:var(--s48-ink);overflow:hidden}
.s56-panel header{padding:13px 14px;border-bottom:1px solid #eadfe5;display:flex;align-items:center;gap:8px;justify-content:space-between;background:white}.s56-panel h3{font-size:15px;line-height:1.3}.s56-panel header button span{display:none}.s56-panel header button{padding:7px;min-width:32px}
.s56-body{padding:14px;overflow:auto;overscroll-behavior:contain;font-size:12px;line-height:1.6}.s56-body p{margin:9px 0}.s56-body h4{margin:14px 0 8px}.s56-label{display:flex;flex-direction:column;gap:5px;margin:10px 0;font-size:11px}.s56-label input,.s56-label select,.s56-field input:not([type=checkbox]){width:100%;min-width:0;font-size:12px;padding:8px;border:1px solid #dcd0d7;border-radius:7px;background:#fff;min-height:36px}
.s56-label input[type=color]{height:42px}.s56-field{display:grid;grid-template-columns:1fr;gap:5px;margin:11px 0;font-size:11px}.s56-field:has([type=checkbox]){grid-template-columns:20px 1fr}.s56-field:has([type=checkbox]) input:not([type=checkbox]){grid-column:2}.s56-field input[readonly]{background:#f7f4f5;color:#70636a}
.s56-check{display:flex;gap:8px;align-items:flex-start;margin:15px 0;font-size:11px}.s56-check input,.s56-field input[type=checkbox]{width:17px;height:17px;flex:none;accent-color:var(--s48-red)}
.s56-hint{font-size:11px;color:#776670;line-height:1.55}.s56-actions{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.s56-kv{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #eee2e8}.s56-kv span{font-size:11px}
.s56-group-card{padding:12px;margin:12px 0;border:1px solid #e4d5dd;border-radius:12px}.s56-group-card>small,.s56-group-row small{display:block;color:#866e7a;font-size:10px;margin-top:4px}
.s56-group-row{border-bottom:1px solid #eadde4;padding:12px 0}.s56-group-row summary{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px}.s56-group-row summary span{min-width:0;overflow-wrap:anywhere}
.s56-group-row .s48-tree-item{margin:3px 0}.s56-group-row .s48-tree-item span{overflow-wrap:anywhere}
.s56-body [data-s56-error]{color:#a92b39;font-size:12px;font-weight:600;white-space:pre-line}
#model-workshop .s56-panel{position:static;width:100%;height:100%;border:0;min-height:0}
#model-workshop[data-s56-panel=true] #ws-properties>#ws-fields,#model-workshop[data-s56-panel=true] #ws-properties>#ws-task{display:none!important}
.s56-grid{pointer-events:none;stroke:#6c7f9040;stroke-width:.7}.s56-grid.major{stroke:#63748365}.s56-grid.axis{stroke:#42839c90;stroke-width:1.1}
.s56-snap{fill:#fff;stroke:var(--s48-red,#b03258);stroke-width:2;pointer-events:none}.s56-snap-label{font:11px system-ui;fill:#514452;paint-order:stroke;stroke:#fff;stroke-width:3px;pointer-events:none}
@media(max-width:900px){.s56-panel{left:6px;right:6px;top:auto;bottom:88px;width:auto;max-height:49dvh;border:1px solid #d9c3cf;border-radius:14px;box-shadow:0 -6px 32px #381b2a22}.s56-button{min-height:42px}.s56-panel input{font-size:16px!important}}
@media(max-width:600px){#app.studio48 .viewport>.view-cube,#model-workshop.studio48-workshop #ws-viewport>.view-cube{width:86px!important;right:5px!important;top:6px!important;max-height:calc(100% - 45px)}.view-cube svg{height:60px!important}.view-cube .s56-camera-tools{display:none}.view-cube .cube-directions{display:none}.s56-body{padding:12px}.s56-panel{bottom:78px}}

.s56-export-dialog{width:min(580px,95vw);max-height:90vh;border:1px solid #ddcbd5;border-radius:18px;background:#fff;color:#392b35;padding:22px;overflow:auto;font:13px/1.6 system-ui}.s56-export-dialog::backdrop{background:#27132380}.s56-export-dialog header{display:flex;justify-content:space-between;gap:20px}.s56-export-dialog h2{font-size:20px}.s56-export-dialog p{margin:12px 0}.s56-export-dialog label{display:flex;align-items:center;gap:8px;margin:7px 0}.s56-export-dialog input{padding:8px;width:110px}.s56-export-dialog input[type=checkbox]{width:18px;height:18px}.s56-export-dialog button{padding:10px 14px;border:1px solid #d2b7c4;border-radius:8px;background:#fbf4f7}.s56-export-dialog fieldset{margin:15px 0;border:1px solid #ebdfe6;border-radius:10px}

#app.studio48 #inspector>.s56-context{display:flex!important}.s56-context{position:relative;z-index:2}.s56-camera-tools .icon45{width:13px!important;height:13px!important;margin:0!important}.view-cube{transform:none!important}#app.studio48 .view-cube .layout-tools{display:none!important}

/* Override legacy house offsets by viewport ID, not by another duplicated navigator. */
#app.studio48 .viewport>#scene-view-cube:not([data-layout-floating=true]){top:10px!important;right:10px!important;bottom:auto!important}
#app.studio48[data-studio-selection] #inspector>.s56-context{display:flex!important}
#scene-view-cube>svg,#workshop-view-cube>svg{height:78px!important;width:104px!important}
#scene-view-cube button svg,#workshop-view-cube button svg{display:inline-block!important;vertical-align:middle;width:13px!important;height:13px!important;margin:0 4px 0 0!important}
.view-cube:not(:has(.view-cube-expand[aria-expanded=true]))>.cube-directions{display:none!important}
.view-cube .s56-camera-tools button{font-size:9px;display:flex;align-items:center;justify-content:center;gap:1px;min-height:27px;padding:3px}
.s56-copy-link{display:flex;align-items:center;gap:7px;flex-basis:100%;font-size:11px;white-space:normal}.s56-copy-link input{width:17px;height:17px;accent-color:var(--s48-red)}.s56-copy-link small{font-size:10px}
@media(max-width:600px){#app.studio48 .viewport>#scene-view-cube:not([data-layout-floating=true]){top:6px!important;right:6px!important}#scene-view-cube>svg,#workshop-view-cube>svg{height:60px!important;width:78px!important}}

.s56-fields-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 9px}.s56-finish-mini svg{width:100%;height:auto;max-height:250px}.s56-finish-stats{display:grid;gap:5px;background:#f7f2f5;border-radius:9px;padding:10px;font-size:11px}.s56-finish-stats b{color:var(--s48-red)}
#finish56-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:15;pointer-events:none;overflow:hidden}#finish56-overlay[hidden]{display:none!important}#finish56-overlay path.full{fill:#44a79a20;stroke:#236c61;stroke-width:1}#finish56-overlay path.cut{fill:#d69b4230;stroke:#ad7825;stroke-width:1.1}#finish56-overlay path.outline{fill:none;stroke:#b03258;stroke-width:1.4}#finish56-overlay text{font:11px system-ui;fill:#683149;paint-order:stroke;stroke:#fff;stroke-width:3px}
.s56-panel details{margin:12px 0}.s56-panel summary{font-size:12px;cursor:pointer}

/* Keep camera buttons inside the cube in both editor scopes; legacy grips are not navigation. */
#model-workshop.studio48-workshop .view-cube .layout-tools{display:none!important}
.view-cube .s56-camera-tools{grid-template-columns:minmax(0,1fr)!important}
.view-cube .s56-camera-tools button{width:100%;min-width:0!important;white-space:normal!important;overflow-wrap:anywhere;min-height:28px!important}
.view-cube .s56-camera-tools button:last-child{grid-column:auto}


/* 0.61: placement confirmation is bounded; text must not collapse into a vertical column. */
#app.studio48 .pro45-banner,#model-workshop.studio48-workshop .pro45-banner{display:flex;flex-wrap:wrap;align-content:center;gap:6px;max-height:112px;overflow:auto;}
#app.studio48 .pro45-banner[hidden],#model-workshop.studio48-workshop .pro45-banner[hidden]{display:none!important}
#app.studio48 .pro45-banner>span:first-child,#model-workshop.studio48-workshop .pro45-banner>span:first-child{flex:1 1 220px;min-width:150px;max-width:100%;}
#app.studio48 .pro45-banner>.btn,#model-workshop.studio48-workshop .pro45-banner>.btn{flex:0 0 auto;white-space:nowrap;min-width:36px;}
#app.studio48 .pro45-banner .s56-copy-link,#model-workshop.studio48-workshop .pro45-banner .s56-copy-link{flex:0 1 100%;width:auto;display:flex;gap:6px;align-items:center;margin:0;font-size:10px;}
@media(max-width:760px){#app.studio48 .pro45-banner,#model-workshop.studio48-workshop .pro45-banner{max-height:130px;}}

.drafting61-overlay [data-d61-guide-handle]{pointer-events:all;touch-action:none;cursor:move;}.drafting61-overlay [data-d61-guide-handle] circle{fill:#fff4de;stroke:#b07124;stroke-width:2;}.drafting61-overlay [data-d61-guide-handle] path{stroke:#925710;stroke-width:2;pointer-events:none;}

/* 0.58.1: compact existing navigator, no second camera. */
#app .viewport>.view-cube,.studio48-workshop .view-cube,#workshop-view-cube{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;position:absolute;top:12px!important;right:12px!important;left:auto!important;bottom:auto!important;width:126px!important;min-width:0!important;max-width:calc(100% - 24px)!important;max-height:none!important;overflow:visible!important;padding:8px!important;border:1px solid #d8cbd1;border-radius:14px;background:#fffefaec;backdrop-filter:blur(7px);box-shadow:0 3px 14px #49323b12;z-index:19!important;box-sizing:border-box}
.view-cube>.view-cube-label{grid-column:1/-1;font:9px/1.3 system-ui;letter-spacing:1.5px;text-align:center;margin:0}
.view-cube>[data-studio-cube-surface],.view-cube>svg[aria-label="Ориентация камеры"]{grid-column:1/-1;width:108px!important;height:88px!important;min-height:0!important;display:block;overflow:visible;margin:0 auto!important;touch-action:none}
.view-cube [data-r581-compact]{width:100%!important;min-width:0!important;min-height:32px!important;height:32px!important;margin:0!important;padding:6px!important;font-size:0!important;display:flex!important;align-items:center;justify-content:center;border-radius:7px;box-sizing:border-box;gap:0!important;overflow:hidden!important}
.view-cube [data-r581-compact]>.r581-icon{display:block;width:18px!important;height:18px!important;min-width:18px;flex:none;pointer-events:none}
.view-cube .view-cube-home{grid-column:auto!important}.view-cube .cube-directions{grid-column:1/-1;max-width:100%;margin:0!important}.view-cube .cube-directions>span{display:none}.view-cube .cube-directions select{max-width:100%;font-size:10px;padding:5px;min-height:28px;width:100%}
.view-cube .view-cube-sides{grid-column:1/-1;max-width:100%;display:grid;grid-template-columns:1fr 1fr;gap:3px;margin:0}.view-cube .view-cube-sides[hidden]{display:none!important}.view-cube .view-cube-sides button{font-size:10px;min-width:0;padding:6px 2px}.view-cube>div:has(>[data-r581-compact]){grid-column:1/-1;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:3px;overflow:visible!important;max-width:100%}
.r581-icon{width:18px;height:18px;flex:none;pointer-events:none;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.r581-entrybar{display:inline-flex;gap:5px;align-items:center;flex-shrink:0}.r581-entrybar button{display:flex;gap:6px;align-items:center;justify-content:center;min-height:34px;padding:7px 10px;border:1px solid #dccccf;border-radius:9px;background:#fff;color:#513e48;font:600 11px/1.2 system-ui;white-space:nowrap}.r581-entrybar button:first-child{color:var(--green,#a43154)}.r581-entrybar button:hover{background:#f6edf1}.r581-buildtag{font:9px/1.3 system-ui;letter-spacing:.4px;color:#82616f;white-space:nowrap;cursor:help}
.r581-ledger{color:#322832;background:#fbf8fa;border:1px solid #dfd4da;border-radius:18px;padding:0;max-width:min(1420px,calc(100vw - 24px));width:calc(100vw - 40px);height:calc(100dvh - 40px);max-height:calc(100dvh - 24px);box-shadow:0 24px 90px #20131c40;font:13px/1.5 system-ui;overflow:hidden}.r581-ledger::backdrop{background:#22141e68;backdrop-filter:blur(3px)}.r581-ledger[open]{display:flex;flex-direction:column}.r581-ledger *{box-sizing:border-box}.r581-ledger header{display:flex;gap:15px;align-items:center;padding:18px 22px;background:white;border-bottom:1px solid #e4d9df;flex-shrink:0}.r581-ledger h2{margin:0;font-size:20px;line-height:1.3}.r581-ledger p{margin:6px 0}.r581-ledger header>div{flex:1;min-width:0}.r581-ledger small{font-size:11px;color:#7d6573}.r581-ledger button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 11px;min-height:36px;border:1px solid #dbccd5;border-radius:8px;background:#fff;color:#503b47;font:600 12px/1.3 system-ui;cursor:pointer}.r581-ledger button:hover{background:#f5e9ef}.r581-ledger button[aria-selected=true]{background:var(--green,#a43154);border-color:var(--green,#a43154);color:white}.r581-ledger button:disabled{opacity:.4;cursor:not-allowed}.r581-ledger .r581-bar{padding:12px 22px;border-bottom:1px solid #e4d9df;display:flex;gap:7px;flex-wrap:wrap;align-items:center;background:#faf6f8;flex-shrink:0}.r581-ledger input[type=search]{border:1px solid #dccccf;border-radius:8px;padding:9px 12px;min-width:140px;flex:1;max-width:340px;font:13px system-ui;background:white}.r581-ledger .r581-scroll{overflow:auto;flex:1;min-height:0;padding:18px 22px}.r581-ledger table{border-collapse:collapse;width:100%;font-size:12px;background:white}.r581-ledger td,.r581-ledger th{border-bottom:1px solid #e5dce1;padding:10px 11px;text-align:left;vertical-align:top}.r581-ledger th{position:sticky;top:0;background:#f0e7ec;color:#5b4150;font-size:11px;z-index:1}.r581-ledger td .r581-muted{display:block;font-size:10px;color:#886b7b;margin-top:4px;overflow-wrap:anywhere}.r581-ledger td.r581-num{font-variant-numeric:tabular-nums;white-space:nowrap}.r581-ledger .r581-notes{padding:12px 15px;background:#fff6e8;color:#72582c;border-left:3px solid #c59951;border-radius:7px;margin:0 0 15px;font-size:12px}.r581-ledger .r581-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.r581-ledger .r581-kpi{background:white;border:1px solid #e3d5dd;border-radius:11px;padding:13px}.r581-ledger .r581-kpi strong{display:block;font-size:23px;line-height:1.5;font-weight:650}.r581-ledger .r581-kpi span{font-size:11px;color:#7b6471}.r581-ledger footer{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 22px;border-top:1px solid #e4d9df;background:white;font-size:11px;flex-shrink:0}.r581-ledger .r581-empty{padding:35px;text-align:center;color:#7d6875}.r581-ledger [role=alert]{color:#982c45;font-size:12px}.r581-ledger details{border-bottom:1px solid #e2d5dd;padding:9px 0}.r581-ledger summary{cursor:pointer;font-weight:600}.r581-ledger h3{font-size:15px;margin:15px 0 8px}.r581-ledger .r581-code{font:11px/1.5 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere;background:#f1ebef;border-radius:7px;padding:12px}
@media(max-width:1200px){.r581-entrybar button{padding:7px}.r581-entrybar button>span{display:none}.r581-buildtag{display:none}}
@media(max-width:600px){#app .viewport>.view-cube,.studio48-workshop .view-cube,#workshop-view-cube{width:116px!important;top:8px!important;right:8px!important;padding:5px!important;gap:2px}.view-cube>[data-studio-cube-surface],.view-cube>svg[aria-label="Ориентация камеры"]{width:100px!important;height:78px!important}.view-cube [data-r581-compact]{height:34px!important;min-height:34px!important}.r581-entrybar button{min-height:36px}.r581-ledger{height:calc(100dvh - 12px);max-height:calc(100dvh - 12px);width:calc(100vw - 12px);max-width:calc(100vw - 12px);border-radius:12px}.r581-ledger header{padding:12px}.r581-ledger h2{font-size:17px}.r581-ledger header small{font-size:10px}.r581-ledger .r581-bar{padding:9px 12px}.r581-ledger .r581-scroll{padding:12px}.r581-ledger .r581-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.r581-ledger table{min-width:760px}.r581-ledger button{min-height:40px}.r581-ledger footer{padding:9px 12px;flex-wrap:wrap}.r581-ledger input[type=search]{max-width:100%;flex-basis:100%}}

.view-cube .cube-directions[hidden]{display:none!important}

.view-cube .s56-camera-note{grid-column:1/-1;font:10px/1.35 system-ui;color:#6c5360;background:#faf5f7;border:1px solid #eadce2;border-radius:8px;padding:6px 7px;text-align:center}
.s56-finish-bundle{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:10px}.s56-finish-card{border:1px solid #eadde3;border-radius:10px;background:#fff;padding:8px}.s56-finish-card header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:6px;font-size:11px}.s56-finish-card header span{color:#7d6270}.s56-finish-mini{border-radius:8px;background:#fbf7f9;padding:6px}
.s48-button-hit{position:relative;overflow:visible}.s48-button-hit .s48-label{text-transform:none}.s48-hit-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;padding:2px 5px;border-radius:999px;background:#fff3bf;color:#7a4a00;font:700 9px/1 system-ui;border:1px solid #f1d27a;box-shadow:0 1px 0 #ffffffaa inset}.s48-button-hit::after{content:'';position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;opacity:0;box-shadow:0 0 0 0 rgba(255,255,255,.0)}@keyframes s48RareShimmer{0%,93%,100%{opacity:0;transform:translateX(-120%) skewX(-18deg)}95%{opacity:.0}96%{opacity:.28}99%{opacity:0;transform:translateX(150%) skewX(-18deg)}}.s48-button-hit::before{content:'';position:absolute;top:-1px;bottom:-1px;left:-28%;width:18%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),rgba(255,255,255,.62),rgba(255,255,255,.18),transparent);transform:translateX(-120%) skewX(-18deg);animation:s48RareShimmer 18s linear infinite;border-radius:inherit}


/* 0.59: component tokens, no recoloring of scene materials or engineering signals. */
:root{--user-accent:#b03258;--user-on-accent:#fff;--user-accent-soft:color-mix(in srgb,var(--user-accent) 10%,white);--user-accent-border:color-mix(in srgb,var(--user-accent) 30%,white)}
#app.studio48,.studio48-workshop,.studio48-page{--s48-red:var(--user-accent);--s48-deep:color-mix(in srgb,var(--user-accent) 80%,black);--s48-soft:var(--user-accent-soft);--green:var(--user-accent);--green-deep:var(--s48-deep);--accent:var(--user-accent);--pale:var(--user-accent-soft)}
#app .s48-card-art,.studio48-workshop .s48-card-art{color:var(--user-accent);background:linear-gradient(135deg,var(--user-accent-soft),#f5f3f4)}
#app .s48-card:hover .s48-card-art,.studio48-workshop .s48-card:hover .s48-card-art{color:var(--user-accent);background:var(--user-accent-soft)}
#app .s48-card-art::before,.studio48-workshop .s48-card-art::before{background:var(--user-accent-soft)}
#app .s48-shelf .s48-icon,#app .s48-inspector-links .s48-icon,#app .s48-card-action-icon,.studio48-workshop .s48-card-action-icon,#app .s48-room-select,#app .s48-level-control>button,.studio48-workshop .s48-ws-tabs button{color:var(--user-accent)!important}
#app .s48-tree-item.active,#app .room-card.active,.studio48-workshop .ws-part.active{color:var(--user-accent);border-color:var(--user-accent-border);background:var(--user-accent-soft)}
#app input[type=checkbox],#app input[type=range],.model-workshop input[type=checkbox],.model-workshop input[type=range]{accent-color:var(--user-accent)!important}
#app :is(.btn,.s48-button,.s48-workspace,.s56-button).primary,#app .s48-workspace[aria-pressed=true],.studio48-workshop .btn[aria-pressed=true],.studio48-workshop .primary,#app .primary{background:var(--user-accent)!important;border-color:var(--user-accent)!important;color:var(--user-on-accent)!important}
#app .primary svg,.studio48-workshop .primary svg,#app .s48-workspace[aria-pressed=true] svg,.studio48-workshop .btn[aria-pressed=true] svg{color:inherit!important;stroke:currentColor!important}
#app button:focus-visible,.studio48-workshop button:focus-visible,#app input:focus-visible,.studio48-workshop input:focus-visible{outline-color:var(--user-accent)!important}
#app input:focus,#app select:focus,.studio48-workshop input:focus,.studio48-workshop select:focus{border-color:var(--user-accent)!important;box-shadow:0 0 0 2px var(--user-accent-soft)!important}
.s48-workspaces>.s48-button-hit{width:auto!important;min-width:140px!important;white-space:nowrap;position:relative;overflow:hidden;gap:6px;background:var(--user-accent)!important;border-color:var(--user-accent)!important;color:var(--user-on-accent)!important;padding:8px 10px!important}
.s48-workspaces>.s48-button-hit .s48-label{display:inline!important;font-size:11px}.s48-workspaces>.s48-button-hit svg{color:var(--user-on-accent)!important}.s48-button-hit::before{animation-duration:55s!important}.s48-hit-badge{flex:none;background:#fff4ce;color:#745207;margin:0;font-size:8px}
@media(prefers-reduced-motion:reduce){.s48-button-hit::before{animation:none!important}}
#app .viewport>.view-cube.nav59,#app.studio48 .viewport>.view-cube.nav59,#model-workshop.studio48-workshop #ws-viewport>.view-cube.nav59{width:112px!important;display:flex!important;flex-direction:column;gap:0;padding:5px!important;overflow:visible!important;max-height:none!important;border-radius:12px;background:#ffffffed;box-shadow:0 3px 14px #24182014;right:10px!important;top:10px!important;z-index:32!important}
.nav59>[data-studio-cube-surface]{width:100px!important;height:82px!important;touch-action:none!important;cursor:grab}.nav59>[data-studio-cube-surface]:active{cursor:grabbing}
.nav59 .cube-cell{fill:#f8f7f7!important;stroke:#b3a6ac!important;stroke-width:.85!important}.nav59 .cube-cell.active,.nav59 [data-cube-view]:hover .cube-cell{fill:var(--user-accent-soft)!important;stroke:var(--user-accent)!important}.nav59 svg text{fill:#51424c!important;font:10px system-ui!important}
.nav59-tools{display:flex;gap:1px;width:100%}.nav59-tools>button{display:grid!important;place-items:center;flex:1;width:25px!important;height:27px;min-width:0;min-height:27px!important;padding:4px!important;margin:0!important;border:0;border-radius:6px;color:#5f4c59}.nav59-tools svg.icon{width:16px!important;height:16px!important;margin:0!important}.nav59-tools>button:hover{background:var(--user-accent-soft)!important}.nav59-tools>button[aria-pressed=true]{color:var(--user-accent)!important;background:var(--user-accent-soft)!important}
.nav59 .nav59-popup{position:absolute;right:0;top:calc(100% + 7px);width:228px;background:#fff;border:1px solid #e5dade;border-radius:13px;box-shadow:0 12px 35px #35212d20;padding:12px;z-index:80;max-height:calc(100dvh - 260px);overflow:auto}.nav59-popup[hidden]{display:none!important}.nav59-popup .view-cube-sides{display:grid!important;gap:5px;margin:9px 0}.nav59-popup>button,.nav59-popup .view-cube-sides button{font-size:11px!important;min-height:33px!important;padding:6px!important}.nav59-popup small{display:block;font-size:10px;margin-top:8px;line-height:1.65;color:#7b6875}.nav59-popup>b{font-size:12px}
.s56-panel:has(.f59-intro) .s56-body{padding:15px}.s56-panel:has(.f59-intro){background:#fff}.f59-intro{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.f59-intro>b{font-size:16px}.f59-intro>span{font-size:10px;color:#81717a}
.s56-panel:has(.f59-intro) details{border:1px solid #e9e0e5;border-radius:11px;padding:9px 10px;margin:10px 0}.s56-panel:has(.f59-intro) summary{margin:2px 0;font-weight:650;font-size:12px}.s56-panel:has(.f59-intro) input[type=number],.s56-panel:has(.f59-intro) select,.s56-panel:has(.f59-intro) input[type=text]{width:100%;min-height:36px}.s56-panel:has(.f59-intro) input[type=color]{width:100%;height:32px;padding:2px;border:1px solid #e7dfe3;border-radius:7px}
.f59-target{display:flex;align-items:center;gap:8px;font-size:11px;line-height:1.45;margin:6px 0;cursor:pointer}.f59-target input{width:16px;min-width:16px;height:16px;margin:0}.f59-target span{flex:1}#finish-surfaces{max-height:185px;overflow:auto;margin-top:8px}#finish-surfaces details{padding:5px 8px;margin:5px 0;border:0;background:#fbf9fa}#finish-surfaces summary small{font-size:9px}
.f59-bottom{position:sticky;bottom:-15px;padding:10px 0;background:#ffffffee;backdrop-filter:blur(4px);border-top:1px solid #eee5ea;display:flex;gap:6px;flex-wrap:wrap}.f59-bottom [data-s56=finish-apply]{background:var(--user-accent);color:var(--user-on-accent);border-color:var(--user-accent)}.f59-kpis{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0}.f59-kpis>div{padding:10px;border-radius:9px;background:var(--user-accent-soft)}.f59-kpis b,.f59-kpis small{display:block}.f59-kpis b{font-size:17px;font-weight:650}.f59-kpis small{font-size:10px}
.f59-table{width:100%;border-collapse:collapse;font-size:10px}.f59-table td,.f59-table th{padding:7px 4px;border-bottom:1px solid #eee6ea;text-align:left}.f59-table td:first-child{overflow-wrap:anywhere;max-width:160px}
.f59-ok{background:#edf5ef;color:#376646;padding:9px;border-radius:7px;font-size:11px;line-height:1.5;margin:8px 0}.f59-warning{background:#fff6e4;color:#815d21;padding:9px;border-radius:7px;font-size:11px;line-height:1.55;margin:8px 0}.s56-panel [data-finish-error]:not(:empty){padding:10px;border-left:3px solid #be625a;background:#fff1ec;font-size:11px;line-height:1.6}
#finish56-overlay .f59-origin{pointer-events:all;touch-action:none;cursor:move}#finish56-overlay .f59-origin circle{fill:#ffffffef;stroke:var(--user-accent);stroke-width:2.5}#finish56-overlay .f59-origin path{fill:none;stroke:var(--user-accent);stroke-width:1.5}
#scene,#ws-scene{cursor:default}.viewport[data-nav-gesture] #scene,#ws-viewport[data-nav-gesture] #ws-scene{cursor:grabbing!important}
@media(max-width:900px){.s48-workspaces{overflow-x:auto;justify-content:flex-start!important}.s48-workspaces>.s48-button-hit{min-width:146px!important;height:35px!important}.s48-workspaces .s48-workspace{flex:none}.s56-panel:has(.f59-intro){max-height:60dvh;overflow:hidden}.s56-panel:has(.f59-intro) .s56-body{padding:12px}.f59-bottom{bottom:-12px}.nav59 .nav59-popup{width:218px}}

.nav59 .nav59-face{fill:#f7f5f6!important;stroke:#b0a2a9!important;stroke-width:1.2!important;pointer-events:none}.nav59 .cube-cell{fill:transparent!important;stroke:none!important}.nav59 .cube-cell.active,.nav59 [data-cube-view]:hover .cube-cell{fill:var(--user-accent-soft)!important;stroke:var(--user-accent)!important;stroke-width:1!important}
#app.studio48 .s48-toolset{min-width:0;overflow-x:auto;scrollbar-width:none;flex:1}.s48-toolbar{min-width:0}.s48-viewset{flex:none}.s48-workspaces{min-width:0;flex:none}
@media(min-width:901px) and (max-width:1600px){.studio48-page[data-studio-labels=true] .s48-toolset .s48-iconbutton{width:34px!important;min-width:34px!important;padding:6px!important}.studio48-page[data-studio-labels=true] .s48-toolset .s48-iconbutton>.s48-label{display:none!important}.s48-workspaces{max-width:50vw;overflow-x:auto;scrollbar-width:none}.s48-workspace{padding:8px!important;font-size:11px!important}.s48-viewset .s48-button{padding:7px!important;font-size:10px!important}.r581-buildtag{display:none}}
@media(max-width:900px){#app .s48-header-actions>.r581-entrybar{flex:none}.s48-workspaces{max-width:100%;overflow-x:auto;scrollbar-width:none}.s48-toolbar>.s48-toolset{display:flex;flex-wrap:nowrap;overflow-x:auto;min-width:0}.s56-panel:has(.f59-intro){bottom:75px!important;left:6px!important;right:6px!important;width:auto!important}}

/* Current camera orientation has no false mini-cube outline at its vertex. */
#app .nav59 svg .cube-cell.active,#model-workshop .nav59 svg .cube-cell.active{stroke:transparent!important;fill:var(--user-accent-soft)!important;}
#app[data-s56-panel=true]>#inspector{visibility:hidden!important;}
#app[data-s56-panel=true]>.s56-panel{visibility:visible!important;}

/* 0.59 viewport-bounded messages and icon-only compact headers. */
#app .toast,.toast{max-width:calc(100vw - 24px)!important;white-space:normal!important;overflow-wrap:anywhere!important;box-sizing:border-box!important;max-height:28vh;overflow:auto;text-align:left}
@media(max-width:900px){
 .s48-tooltip{display:none!important}
 #app .s48-header-actions .s48-button[data-studio=documents],#app .s48-header-actions .s48-button[data-studio=save],#app .s48-header-actions .s48-button[data-studio=file-menu]{width:35px!important;min-width:35px!important;max-width:35px!important;padding:7px!important;flex-shrink:0!important}
 #app .s48-header-actions .s48-button[data-studio=documents] .s48-label,#app .s48-header-actions .s48-button[data-studio=save] .s48-label,#app .s48-header-actions .s48-button[data-studio=file-menu] .s48-label{display:none!important}
 .toast{left:12px!important;right:12px!important;transform:none!important;width:auto!important;bottom:86px!important;font-size:11px!important;line-height:1.5!important}
}

/* 0.61.0: task categories live together, separate from File/Save/Documentation. */
#app.studio48{--taskbar-height:96px;--header:160px;grid-template-rows:64px var(--taskbar-height) minmax(180px,1fr) 88px 28px!important}
#app.studio48[data-studio-shelf=false]{grid-template-rows:64px var(--taskbar-height) minmax(180px,1fr) 0 28px!important}
#app>.s48-toolbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:42px 42px;align-items:center;padding:5px 14px;gap:2px 10px}
#app .s48-workspaces{grid-column:1/-1;grid-row:1;max-width:100%!important;width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;justify-content:flex-start}
#app .s48-workspaces>.s48-workspace{flex:none;padding:8px 12px!important;font-size:12px!important}
#app .s48-workspaces>[data-studio=workshop-new]{margin-left:auto;flex:none}
#app .s48-toolbar>.s48-toolset{grid-row:2;grid-column:1;justify-self:start;max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
#app .s48-toolbar>.s48-viewset{grid-row:2;grid-column:2;flex-wrap:nowrap;white-space:nowrap}
#app.studio48 .visual-workbench:not([hidden]):not(.is-collapsed),#app.studio48 .pro45-dock:not([hidden]),#app.studio48 .equipment-dock:not([hidden]),#app.studio48 .dependency-dock:not([hidden]),#app.studio48 .s56-panel{top:var(--header)!important}
#app.studio48 .topbar .r581-entrybar{display:none!important}
#ws-plane-offset{min-width:64px}#ws-grid-step{min-width:60px}
#model-workshop [data-ws=reset-plane]{font-size:10px;min-height:30px;padding:5px 8px}
#ws-grid-info{font-variant-numeric:tabular-nums}
@media(max-width:900px){
 #app.studio48{--header:152px;grid-template-rows:56px var(--taskbar-height) minmax(140px,1fr) 60px 22px!important}
 #app.studio48[data-studio-shelf=false]{grid-template-rows:56px var(--taskbar-height) minmax(140px,1fr) 0 22px!important}
 #app>.s48-toolbar{padding:4px 7px;gap:3px 4px}
 #app .s48-workspaces>.s48-workspace{font-size:11px!important;padding:7px 9px!important}
 #app .s48-viewset .s48-label{display:none!important}
 #app .s48-viewset .s48-button{width:32px;min-width:32px;min-height:34px;padding:5px!important}
 #app.studio48 .visual-workbench:not([hidden]):not(.is-collapsed),#app.studio48 .pro45-dock:not([hidden]),#app.studio48 .equipment-dock:not([hidden]),#app.studio48 .dependency-dock:not([hidden]),#app.studio48 .s56-panel{top:auto!important;bottom:75px!important;max-height:52dvh!important}
}

/* 0.60 Adaptive commands: use measured width, never nth-child hiding. */
#app.studio48 .w60-bar,.studio48-workshop .w60-bar{display:flex!important;align-items:center!important;flex-wrap:nowrap!important;min-width:0!important;width:100%;max-width:100%;padding:3px!important;gap:2px!important;overflow:hidden!important;justify-self:stretch!important;box-sizing:border-box;background:var(--s48-paper,#fff);border:1px solid var(--s48-border);border-radius:11px;z-index:70}
.w60-strip{display:flex;align-items:center;gap:2px;min-width:0;flex:1;overflow:hidden;flex-wrap:nowrap;scrollbar-width:thin}
#app.studio48 .w60-bar .s48-button,.studio48-workshop .w60-bar .s48-button{display:inline-flex!important;flex:0 0 auto!important;align-items:center;justify-content:center;width:auto!important;min-width:34px!important;height:36px!important;min-height:36px!important;max-height:36px;margin:0!important;padding:7px 9px!important;gap:6px!important;white-space:nowrap!important;box-sizing:border-box;border-radius:8px;font-size:11px!important;overflow:visible}
#app.studio48 .w60-bar .s48-button>.s48-label,.studio48-workshop .w60-bar .s48-button>.s48-label{display:inline!important;font-size:11px!important}
#app.studio48 .w60-bar .s48-button.w60-no-label,.studio48-workshop .w60-bar .s48-button.w60-no-label{width:34px!important;padding:7px!important;gap:0!important}
#app.studio48 .w60-bar .s48-button.w60-no-label>.s48-label,.studio48-workshop .w60-bar .s48-button.w60-no-label>.s48-label{display:none!important}
#app.studio48 .w60-bar [hidden],.studio48-workshop .w60-bar [hidden]{display:none!important}
.w60-bar .s48-icon{height:18px;width:18px;flex:none}.w60-more{order:2!important;flex:none!important}.w60-bar[data-w60-mobile=true] .w60-more{order:-1!important;position:relative;z-index:2;border-right:1px solid var(--s48-border);background:var(--s48-paper,#fff)}
.w60-bar[data-w60-mobile=true] .w60-strip{overflow-x:auto!important;touch-action:pan-x;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.w60-grip,.w60-pin{display:none;flex:none;width:24px;height:34px;align-items:center;justify-content:center;color:var(--s48-muted);padding:2px}.w60-grip{cursor:grab;touch-action:none}.w60-pin{order:3}.w60-grip svg,.w60-pin svg{width:16px;height:16px}
[data-w60-unlocked=true] .w60-grip,[data-w60-unlocked=true] .w60-pin{display:flex}
.w60-bar[data-w60-dock=floating],.w60-bar[data-w60-dock=bottom]{box-shadow:0 8px 30px #2519222b;max-width:calc(100% - 16px)!important;z-index:78!important;min-height:46px}
.w60-bar-resize{display:none;position:absolute;right:0;bottom:0;width:16px;height:16px;cursor:ew-resize;touch-action:none;border-right:3px solid var(--s48-red);border-bottom:3px solid var(--s48-red);border-radius:0 0 8px 0}
[data-w60-unlocked=true] .w60-bar[data-w60-dock=floating][data-w60-locked=false]>.w60-bar-resize{display:block}
.w60-panel-tools{display:none;gap:5px;align-items:center;min-height:30px;background:var(--s48-paper,#fff);padding:3px 6px;border-bottom:1px solid var(--s48-border);position:sticky;top:0;z-index:10}
[data-w60-unlocked=true] .w60-panel-tools{display:flex}.w60-panel-tools button{padding:4px;min-width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px}.w60-panel-tools svg{width:17px;height:17px}.w60-panel-tools [data-w60=drag-panel]{cursor:grab;touch-action:none}
#app.studio48 [data-w60-float=true],#model-workshop.studio48-workshop [data-w60-float=true]{display:flex!important;flex-direction:column;position:fixed!important;inset:auto!important;left:var(--w60-x)!important;top:var(--w60-y)!important;width:var(--w60-width)!important;height:var(--w60-height)!important;max-height:calc(100dvh - 16px)!important;background:#fff;z-index:90!important;box-shadow:0 14px 44px #24142035;border:1px solid var(--s48-border);border-radius:12px;overflow:auto;padding:8px!important}
#app.studio48[data-w60-left-float=true]{grid-template-columns:0 minmax(300px,1fr) var(--s48-right)!important}
#app.studio48[data-w60-right-float=true]{grid-template-columns:var(--s48-left) minmax(300px,1fr) 0!important}
#app.studio48[data-w60-left-float=true][data-w60-right-float=true]{grid-template-columns:0 minmax(300px,1fr) 0!important}
.w60-panel-resize{display:none;position:sticky;bottom:0;margin-left:auto;width:24px;height:24px;border-bottom:3px solid var(--s48-red);border-right:3px solid var(--s48-red);border-radius:0 0 10px 0;cursor:nwse-resize;touch-action:none;z-index:12;flex:none}
[data-w60-unlocked=true] [data-w60-float=true][data-w60-locked=false]>.w60-panel-resize{display:block}
.w60-splitter{position:fixed;width:8px;z-index:79;cursor:col-resize;touch-action:none;outline-offset:0}
.w60-splitter::after{content:'';position:absolute;inset:0 2px;background:transparent;transition:background .15s}.w60-splitter:hover::after,.w60-splitter:focus-visible::after{background:var(--s48-red);border-radius:3px}.w60-splitter[hidden]{display:none!important}
[data-w60-dragging=true] *{user-select:none!important}[data-w60-dragging=true] canvas{pointer-events:none}
.w60-palette{display:none;background:var(--s48-paper,#fff);padding:5px;overflow:auto;scrollbar-width:thin;flex-direction:column;gap:4px;align-items:center;border-right:1px solid var(--s48-border);grid-column:1;grid-row:1;z-index:12}
#model-workshop.studio48-workshop[data-w60-left=icons] .ws-layout{grid-template-columns:52px minmax(230px,1fr) var(--s48-right)!important}
#model-workshop.studio48-workshop[data-w60-left=icons] #ws-left:not([data-w60-float=true]){display:none!important}
#model-workshop.studio48-workshop[data-w60-left=icons] .w60-palette{display:flex}
#model-workshop.studio48-workshop[data-w60-left=full] #ws-left{display:block!important}
#model-workshop.studio48-workshop[data-w60-left=full] .ws-layout{grid-template-columns:var(--s48-left) minmax(230px,1fr) var(--s48-right)!important}
#model-workshop.studio48-workshop[data-w60-right-float=true] .ws-layout,#model-workshop.studio48-workshop[data-studio-right-closed=true][data-w60-left=icons] .ws-layout{grid-template-columns:52px minmax(230px,1fr) 0!important}
.w60-palette>.s48-button{width:40px!important;height:40px;min-height:40px;padding:8px!important;display:flex!important;justify-content:center!important;flex:none}.w60-palette .s48-label{display:none!important}.w60-palette svg{width:22px;height:22px}
.w60-edge-buttons{position:absolute;top:6px;left:6px;display:flex;gap:3px;z-index:36;max-width:100%;pointer-events:auto}.w60-edge-buttons>.s48-button{min-width:30px;width:30px;height:30px;min-height:30px;padding:5px;font-size:0;background:#fffffff0;border:1px solid var(--s48-border)}.w60-edge-buttons svg{width:17px;height:17px}
.w60-prefs{border-top:1px solid var(--s48-border);margin-top:20px;padding-top:18px;font:12px/1.65 system-ui}.w60-prefs h3{font-size:16px}.w60-prefs p{margin:8px 0}.w60-prefs label{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}.w60-prefs select{padding:8px;min-height:36px;max-width:100%}.w60-profile-actions{display:flex;flex-wrap:wrap;gap:7px}.w60-profile-actions .s48-button{font-size:11px}.w60-prefs-note{color:var(--s48-muted)}.w60-order{display:grid;gap:5px;padding-top:10px}.w60-order>div{display:flex;align-items:center;gap:6px;border:1px solid var(--s48-border);border-radius:8px;background:#fff;padding:5px;cursor:grab}.w60-order>div>span{display:flex;align-items:center;gap:8px;flex:1}.w60-order svg{width:18px;height:18px}.w60-order button{padding:5px;min-width:30px;height:30px;border:1px solid var(--s48-border);border-radius:6px}.w60-order button:disabled{opacity:.4}.w60-prefs [hidden]{display:none!important}
.s48-dialog{resize:both;min-width:320px;min-height:240px;max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important}
@media(max-width:900px){.w60-splitter{display:none!important}#model-workshop.studio48-workshop[data-w60-left] .ws-layout{display:grid!important;grid-template-columns:48px minmax(0,1fr)!important}#model-workshop.studio48-workshop[data-w60-left] #ws-viewport{grid-column:2!important;width:100%;height:100%!important;grid-row:1}#model-workshop.studio48-workshop[data-w60-left] .w60-palette{display:flex;width:48px}#model-workshop.studio48-workshop[data-w60-left=full] #ws-left{position:absolute!important;left:48px!important;right:0!important;top:auto!important;bottom:0!important;width:auto!important;height:55%!important;z-index:44!important}#model-workshop.studio48-workshop[data-ws-pane=fields] #ws-properties,#model-workshop.studio48-workshop[data-ws-pane=task] #ws-properties{left:48px!important;width:calc(100% - 48px)!important;z-index:44!important}#model-workshop.studio48-workshop[data-w60-left=icons] #ws-left{display:none!important}.w60-grip,.w60-pin{display:none!important}.w60-bar .s48-button{touch-action:pan-x}.w60-prefs .w60-profile-actions{flex-direction:column}.w60-bar[data-w60-dock=floating]{inset:auto!important;width:100%!important}}

/* 0.61 precision helpers retain normal selection and original theme. */
.drafting61-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:6;pointer-events:none;overflow:hidden}.drafting61-overlay circle{fill:var(--user-accent);stroke:#fff;stroke-width:1.8}.drafting61-overlay text{font:11px/1.3 system-ui;fill:var(--ink);stroke:white;stroke-width:3;paint-order:stroke;pointer-events:none}
.d61-actions{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.d61-actions .btn{font-size:11px}.d61-actions svg,.d61-guide-list svg{width:16px;height:16px;flex:none}.d61-checks{display:grid;gap:8px;margin:12px 0}.d61-checks label,.d61-check{display:flex;gap:6px;align-items:center}.d61-guide-list article{display:flex;align-items:center;border-bottom:1px solid var(--line);padding:5px 0}.d61-name{flex:1;text-align:left;padding:8px}.d61-guide-list button:last-child{width:36px;height:36px}.d61-guide-list small{font-size:11px} [data-d61-result]{display:grid;gap:8px;background:var(--user-accent-soft,#f2f6f3);border-radius:10px;padding:14px;margin:12px 0;font-size:12px}[data-d61-result] strong{font-size:22px}[data-d61-error]{color:#a73c38}
@media(prefers-reduced-motion:reduce){.s48-button-hit::before{animation:none!important}}


.os-startup-recovery{position:fixed;inset:10vh 8vw;z-index:2147483000;padding:28px;overflow:auto;background:white;border:1px solid #d9c3cf;border-radius:18px;font:15px/1.6 system-ui;color:#352d33;box-shadow:0 20px 80px #30132633}.os-startup-recovery p{margin:15px 0}.os-startup-recovery pre{white-space:pre-wrap;font-size:12px}.os-startup-recovery button{padding:12px 16px;margin:10px 10px 0 0;border-radius:9px;background:#f5edf1;border:1px solid #d9c3cf}
.os-platform-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0}.os-platform-actions button{min-height:44px}#os-platform-dialog p{margin:10px 0;line-height:1.65}#os-platform-error{font-size:12px;color:#a13145}#os-platform-button{font-size:20px!important;flex:none!important;width:35px!important;min-width:35px!important}#os-platform-dialog[open]{display:flex;flex-direction:column}#os-platform-dialog:not([open]){display:none}#release-review07[open]{display:flex;flex-direction:column}#release-review07>section{min-height:0;flex:1}#release-review07 button{min-height:38px;padding:8px 12px;border:1px solid #ddd;border-radius:8px;background:#fbf7f9}
@media(max-width:600px){.os-platform-actions{grid-template-columns:1fr}.os-startup-recovery{inset:12px;padding:20px}#release-review07{max-height:calc(100dvh - 20px)!important}#release-review07>header{padding:12px!important;gap:10px}#release-review07 h2{font-size:19px!important}#release-review07>section{max-height:none!important}#release-review07>footer{flex-wrap:wrap}}

/* RC5 · bounded task panels. Never recolour project geometry. */
#app :is(.visual-workbench,.equipment-dock,.dependency-dock,.pro45-dock,.s56-panel)>header{min-width:0;max-width:100%;box-sizing:border-box;flex-wrap:nowrap;align-items:flex-start}
#app :is(.visual-workbench,.equipment-dock,.dependency-dock,.pro45-dock,.s56-panel)>header>div:first-child,#app :is(.visual-workbench,.pro45-dock,.s56-panel)>header>h3{min-width:0;flex:1 1 auto;overflow-wrap:anywhere}
#app :is(.visual-workbench,.equipment-dock,.dependency-dock,.pro45-dock,.s56-panel)>header>button,#app :is(.visual-workbench,.equipment-dock,.dependency-dock)>header>div:last-child:not(:first-child){flex:0 0 auto;min-width:34px}
#app .trade-tabs{display:flex;flex-wrap:wrap;align-items:stretch;gap:5px;max-width:100%;width:100%;box-sizing:border-box;flex:0 0 auto;overflow:visible;padding:9px}
#app .trade-tabs .btn{flex:1 1 85px;min-width:0!important;max-width:100%;padding:7px;white-space:normal;overflow-wrap:anywhere;line-height:1.35;min-height:37px;height:auto}
#app .trade-tabs .btn>svg{flex-shrink:0}#app .trade-tabs .btn>span{min-width:0}
#app :is(.eng-tabs,.eng-systems,.trade-library-tabs,.equipment-dock nav){display:flex;flex-wrap:wrap;min-width:0;max-width:100%}
#app :is(.eng-tabs,.eng-systems,.trade-library-tabs,.equipment-dock nav)>button{min-width:0;flex:1 1 74px;white-space:normal;overflow-wrap:anywhere}
#app .s56-panel .s56-body{flex:1 1 auto;min-height:0;min-width:0;max-width:100%;overflow:auto;overscroll-behavior:contain}
#app .s56-panel :is(input,select,textarea){box-sizing:border-box;min-width:0;max-width:100%}
#app .s56-panel .s56-actions{max-width:100%}#app .s56-panel .s56-actions>button{min-width:0;white-space:normal;overflow-wrap:anywhere}
#app [data-cladding-panel65] .s56-fields-two{grid-template-columns:repeat(2,minmax(0,1fr))}
#app [data-cladding-panel65] .s56-label{min-width:0}#app [data-cladding-panel65] select{width:100%}
#app [data-cladding-panel65] details{border:1px solid var(--line);border-radius:9px;padding:10px;margin:12px 0}
#app [data-cladding-panel65] summary{font-weight:600;font-size:12px;cursor:pointer}
#app [data-cladding-panel65] [hidden]{display:none!important}
#app [data-panel65-error]{white-space:pre-line;color:#a23f36;line-height:1.55}
#model-workshop .s48-ws-toolbar{min-width:0;max-width:100%;box-sizing:border-box}
#model-workshop .s48-ws-toolbar>.w60-bar{flex:1 1 0;min-width:0;width:0}
#model-workshop .s48-plane-controls{flex-wrap:wrap!important;max-width:100%;gap:6px 12px!important}
#model-workshop .s48-plane-controls>label{min-width:0}
@media(max-width:900px){
 #app .trade-tabs .btn{flex-basis:90px;min-height:42px}
 #app.studio48 .s56-panel:not([hidden]){left:6px!important;right:6px!important;width:auto!important;max-width:calc(100vw - 12px)!important;max-height:calc(100dvh - 185px)!important}
 #model-workshop .s48-plane-controls{max-height:105px;overflow:auto;flex-shrink:0}
}
@media(max-width:400px){#app [data-cladding-panel65] .s56-fields-two{grid-template-columns:minmax(0,1fr)}#model-workshop .s48-plane-controls>label{font-size:9px;gap:3px}}

/* RC6: a single compact visibility control, separate from camera orientation. */
#app #hud-zoom{max-width:calc(100% - 20px)!important;flex-wrap:wrap!important;gap:2px!important;align-items:center}
#app #hud-zoom [data-action=cutaway]{display:none!important}
.v66-quick{display:flex;align-items:center;gap:4px;min-width:0;max-width:100%;border-left:1px solid var(--line);padding-left:4px}
.v66-quick>label{min-width:0;flex:1}.v66-quick select{width:190px;max-width:100%;height:34px;min-width:80px;padding:5px;font-size:11px;background:#fff}
.v66-quick button{min-height:34px;height:34px;padding:6px!important;flex:none}.v66-quick #v66-settings>span{display:none}.v66-quick #v66-exit{font-size:10px}
.v66-quick [hidden]{display:none!important}
#app .v66-settings{position:absolute;z-index:82;box-sizing:border-box;display:flex;flex-direction:column;border:1px solid var(--s48-border);border-radius:14px;background:#fff;box-shadow:0 12px 42px #20122230;overflow:hidden;color:var(--ink);font:12px/1.5 system-ui}
.v66-settings header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;gap:8px;border-bottom:1px solid var(--line);flex:none;background:#fff9fb}.v66-settings header>div{min-width:0}.v66-settings header small{font-size:8px;letter-spacing:1px;color:var(--muted)}.v66-settings h3{font-size:16px}.v66-settings header button{flex:none;padding:5px}.v66-settings header button span{display:none}
.v66-body{overflow:auto;min-height:0;padding:12px 14px;overscroll-behavior:contain}.v66-body fieldset{padding:10px;border:1px solid var(--line);border-radius:10px;margin:12px 0}.v66-body legend{font-weight:650;font-size:12px;padding:0 5px}.v66-body p{font-size:10px;color:var(--muted);line-height:1.6;margin:8px 0}.v66-body input:not([type=checkbox]),.v66-body select{width:100%;min-height:36px;max-width:100%;padding:7px;font-size:11px}.v66-body .s56-label{font-size:11px;margin:8px 0}
.v66-two,.v66-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 8px}.v66-checks label{display:flex;align-items:center;gap:7px;min-height:30px;font-size:11px}.v66-checks input{width:16px;height:16px;flex:none}.v66-actions{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0}.v66-actions button{font-size:11px;min-height:35px;padding:7px;white-space:normal}
#app .v66-context{display:flex!important;flex-direction:column;align-items:stretch;gap:4px;padding:10px;background:var(--user-accent-soft,#f7f2f5);border-radius:10px;margin-bottom:12px}.v66-context>small{font-size:10px;color:var(--muted)}.v66-context b{font-size:12px}.v66-context .v66-actions{margin:3px 0}
.v66-layerbar{display:flex;height:34px;background:#fff;border:1px solid #999;border-radius:4px;overflow:hidden;margin:14px 0}.v66-layerbar span{flex-basis:0;flex-shrink:0;min-width:0;border-right:1px solid #fff5}.v66-layers{width:100%;border-collapse:collapse;margin:10px 0;font-size:12px}.v66-layers th,.v66-layers td{padding:9px 5px;border-bottom:1px solid var(--line);text-align:left;font-weight:400}.v66-layers td{text-align:right;font-variant-numeric:tabular-nums}.v66-layers th i{display:inline-block;width:14px;height:14px;vertical-align:middle;margin-right:6px;border:1px solid #888}
#app[data-visibility-helpers66=false] :is(#editor-guides,#architecture-overlay,#pro45-overlay,#finish56-overlay,.pro45-summary){display:none!important}
#app[data-visibility-focus66=ceiling] #architecture-overlay,#app[data-visibility-focus66=floor] #architecture-overlay,#app[data-visibility-focus66=objects] #architecture-overlay{display:none!important}
#v66-error:not(:empty){color:#a32d35;padding:8px;background:#fff0ed;border-radius:7px}
[data-s56=finish-pick66][aria-pressed=true]{background:var(--user-accent)!important;color:white!important}
.f66-pick-note{font-size:11px;background:var(--user-accent-soft);padding:8px;border-radius:8px;margin:6px 0}.f66-pick-note[hidden]{display:none}
@media(max-width:650px){.v66-quick select{width:145px;font-size:10px}.v66-quick{flex:1;border-left:0;padding-left:0}#app #hud-zoom{width:calc(100% - 16px);padding:4px!important;justify-content:flex-start}.v66-quick #v66-exit span{display:none}.v66-body{padding:10px}.v66-body select,.v66-body input:not([type=checkbox]){font-size:13px}.v66-settings h3{font-size:14px}.v66-body .v66-actions button{min-height:40px}.s48-scene-actions{bottom:65px!important}}

#app.studio48[data-studio-selection] #inspector>.v66-context{display:flex!important;visibility:visible!important}
#app.studio48[data-visibility-focus66]:not([data-visibility-focus66=none]) #inspector>.s48-inspector-home{display:none!important}

/* 0.8 RC2: bounded task inspector. One scroll area, fixed actions, no UI-only geometry. */
#model-workshop[data-os08-active=true] #ws-properties{display:flex!important;flex-direction:column!important;min-height:0!important;overflow:hidden!important}
#model-workshop[data-os08-active=true] #ws-task{display:flex!important;flex:1 1 auto!important;flex-direction:column!important;min-height:0!important;height:100%!important;padding:0!important;overflow:hidden!important}
#model-workshop[data-os08-active=true] #ws-task[hidden]{display:none!important}
#model-workshop[data-os08-active=true] .ws-task-head{flex:0 0 auto;position:static!important;padding:9px 14px!important;min-height:44px;background:var(--paper,#fff)!important;border-bottom:1px solid var(--line);gap:8px}
#model-workshop[data-os08-active=true] .ws-task-head .btn{min-width:36px;min-height:36px}
#model-workshop .os08-panel{display:flex;flex-direction:column;flex:1 1 auto;min-height:0!important;height:100%;font-size:12px}
#model-workshop .os08-scroll{flex:1 1 auto;min-height:0;overflow:auto;overflow-x:hidden;padding:14px;overscroll-behavior:contain;scrollbar-width:thin;scroll-padding-block:10px;overflow-anchor:none}
#model-workshop .os08-scroll>header{display:block!important;min-height:0!important;height:auto!important;padding:0 0 12px!important;margin:0 0 12px!important;background:none!important;border-bottom:1px solid var(--line)!important}
#model-workshop .os08-heading{display:flex;gap:7px;align-items:center;justify-content:space-between}
#model-workshop .os08-heading>small{font-size:8px;letter-spacing:.09em;color:var(--muted);line-height:1.6}
#model-workshop .os08-heading>.btn{min-height:30px;flex:none;font-size:10px;padding:5px 7px;border:0}
#model-workshop .os08-scroll>header>h3{font-size:20px!important;line-height:1.3;margin:10px 0;overflow-wrap:anywhere}
#model-workshop .os08-context{display:flex;flex-direction:column;gap:4px;padding:9px 10px;background:var(--pale);border-radius:8px;font-size:11px;line-height:1.6;margin:0 0 10px}
#model-workshop .os08-context b{font-size:11px;color:var(--ink)}
#model-workshop .os08-context span{font-size:10px;color:var(--muted)}
#model-workshop .os08-context .field{margin:0}.os08-context .field>span{font-size:10px}
#model-workshop .os08-statebar{display:flex;justify-content:space-between;align-items:start;gap:6px;font-size:10px;line-height:1.5;margin:8px 0}
#model-workshop .os08-statebar>span:last-child{white-space:nowrap;color:var(--muted);flex:none}
#model-workshop #os08-state-label{color:var(--ink);font-weight:600}
#model-workshop .os08-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;font-size:9px}
#model-workshop .os08-steps>span{padding:6px 3px;border-bottom:2px solid var(--line);color:var(--muted);text-align:center}
#model-workshop .os08-steps>span[data-active=true]{border-color:var(--green);color:var(--green);font-weight:700}
#model-workshop .os08-next{font-size:11px;line-height:1.6;color:var(--ink);margin:0 0 12px}
#model-workshop .os08-body{min-width:0}
#model-workshop .os08-task-actions{position:static!important;flex:0 0 auto;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px;margin:0!important;padding:10px 12px!important;border-top:1px solid var(--line);background:var(--paper);z-index:3;box-shadow:0 -6px 12px #2f123006}
#model-workshop .os08-task-actions .btn{font-size:11px;min-height:38px;width:100%;line-height:1.3;justify-content:center;text-align:center;padding:8px 6px}
#model-workshop .os08-task-actions [data-os08-preview],#model-workshop .os08-task-actions [data-os08-apply],#model-workshop .os08-task-actions [data-os08-cancel-job]{grid-column:1/-1;background:var(--green)!important;color:#fff!important;border-color:var(--green)!important}
#model-workshop .os08-task-actions [data-os08-edit-preview]{grid-column:1/-1}
#model-workshop .os08-task-actions [data-ws="44-08-home"]{color:var(--muted)}
#model-workshop .os08-panel[data-os08-tool=home] .os08-task-actions{display:none!important}
#model-workshop .os08-task-grid{display:grid;gap:8px;margin:12px 0}
#model-workshop .os08-task-card{border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:10px 11px}
#model-workshop .os08-task-card>.btn{border:0;padding:0;justify-content:flex-start;text-align:left;min-height:32px;width:100%;font-size:12px;color:var(--green);font-weight:650}
#model-workshop .os08-task-card>p{font-size:11px;line-height:1.55;margin:5px 0 0;color:var(--muted)}
#model-workshop .os08-task-card>small{display:block;color:var(--ink);background:var(--pale);padding:6px 8px;margin-top:7px;border-radius:5px;font-size:10px}
#model-workshop .os08-task-card:has(.btn:not(:disabled)):hover{border-color:var(--green)}
#model-workshop .os08-quantity .os08-field-hint{font-size:9px;line-height:1.5;color:var(--muted);display:none}
#model-workshop .os08-quantity:focus-within .os08-field-hint{display:block}
#model-workshop .os08-field-error{display:block;color:#a33936!important;font-size:10px;line-height:1.55;letter-spacing:0}
#model-workshop [aria-invalid=true][data-os08-field],#model-workshop [aria-invalid=true][data-os08-text]{border-color:#b94948!important;background:#fff8f5;box-shadow:0 0 0 2px #b9494815}
#model-workshop .os08-panel .field{gap:5px;margin-bottom:12px}
#model-workshop .os08-panel .field input{font-variant-numeric:tabular-nums}
#model-workshop .os08-receipt{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--pale);margin:12px 0}
#model-workshop .os08-receipt>b{font-size:12px}.os08-receipt p{font-size:11px;line-height:1.6}
#model-workshop .os08-receipt dl{margin:10px 0;font-size:11px}.os08-receipt dl>div{border-bottom:1px solid var(--line);padding:6px 0}
#model-workshop .os08-receipt dt{color:var(--muted)}.os08-receipt dd{margin:4px 0 0;font-weight:600;word-break:break-word}
#model-workshop .os08-warning{color:#915525}.os08-baseline-caption{display:block;font-size:9px!important;color:var(--muted);margin:0 0 6px}
#model-workshop .os08-help p{font-size:11px;line-height:1.65}
#model-workshop #os08-contour-metrics{font-size:10px;line-height:1.7;background:var(--pale);padding:7px 9px;margin:7px 0 12px;border-radius:6px;font-variant-numeric:tabular-nums}
#model-workshop .os08-panel[data-os08-state=collapsed] .os08-body,#model-workshop .os08-panel[data-os08-state=collapsed] .os08-task-actions,#model-workshop .os08-panel[data-os08-state=collapsed] .os08-context,#model-workshop .os08-panel[data-os08-state=collapsed] .os08-steps{display:none!important}
#model-workshop .os08-panel[data-os08-state=collapsed] .os08-scroll{padding:10px 14px}
#model-workshop .os08-panel[data-os08-state=collapsed] .os08-scroll>header{margin:0!important;padding:0!important;border:0!important}
#model-workshop #os08-draft-confirm{font-size:14px;padding:22px;max-height:calc(100dvh - 24px);overflow:auto;max-width:calc(100vw - 24px)}
#model-workshop #os08-draft-confirm h2{font-size:22px;margin:0 0 12px}#model-workshop #os08-draft-confirm p{font-size:13px}
#model-workshop #os08-draft-confirm footer{display:flex!important;flex-wrap:wrap!important;height:auto!important;gap:8px;padding:12px 0 0;margin-top:12px;background:transparent;border:0}
#model-workshop #os08-draft-confirm button{font-size:12px;min-height:42px;padding:10px 12px;white-space:normal;flex:1 1 180px}
@container os08 (max-width:960px){
 #model-workshop[data-os08-active=true] #ws-task{padding:0!important}
 #model-workshop .os08-scroll{padding:10px 12px}
 #model-workshop .os08-task-actions{padding:7px 10px!important;gap:4px!important}
 #model-workshop .os08-task-actions .btn{font-size:10px;min-height:36px;padding:5px}
 #model-workshop .os08-task-actions [data-os08-apply],#model-workshop .os08-task-actions [data-os08-edit-preview]{grid-column:auto}
 #model-workshop .os08-steps{font-size:9px}
 #model-workshop[data-os08-collapsed=true] .ws-layout{grid-template-rows:minmax(0,1fr) 144px!important}
}
@media (max-height:600px){#model-workshop[data-os08-active=true] .ws-task-head{min-height:30px;padding:2px 8px!important}#model-workshop .os08-task-actions .btn{min-height:30px}}


/* RC3: precision owns the same project property slot; the mobile legacy
   inspector must never sit above the active operation. Collapsing retains it. */
#app.studio48[data-pro45-dock=open]:has(.p08-panel)>.inspector{display:none!important;visibility:hidden!important}
@media(max-width:900px){
 #app.studio48[data-pro45-dock=open]>.pro45-dock:has(.p08-panel){position:fixed!important;left:6px!important;right:6px!important;top:auto!important;bottom:max(8px,env(safe-area-inset-bottom))!important;width:auto!important;min-height:0!important;height:58dvh!important;max-height:58dvh!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;z-index:100!important;margin:0!important;border-radius:14px!important}
 #app.studio48[data-pro45-dock=open][data-studio-mobile-panel=none]>.pro45-dock:has(.p08-panel),#app.studio48[data-pro45-dock=open][data-studio-mobile-panel=left]>.pro45-dock:has(.p08-panel){display:none!important}
 #app.studio48[data-pro45-dock=open]>.pro45-dock:has(.p08-panel)>header{flex:none;min-height:0;padding:8px 12px}
 #app.studio48[data-pro45-dock=open]>.pro45-dock:has(.p08-panel)>header small{display:none}
 #app.studio48[data-pro45-dock=open]>.pro45-dock:has(.p08-panel) .p08-footer{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:8px!important}
 #app.studio48[data-pro45-dock=open]>.pro45-dock:has(.p08-panel) .p08-footer button{min-width:0;min-height:40px;font-size:11px;padding:7px 4px;white-space:normal}
}

/* 0.8 RC4: lighting shares the existing inspector slot. View scope is not optical scope. */
#lighting084-dock{grid-column:4;grid-row:2;min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--paper,#fff);border-left:1px solid var(--line,#d9e3db);color:var(--ink,#293e34);overflow:hidden;z-index:48}
#app[data-lighting084]>.inspector{display:none!important}
#app[data-lighting084]{--inspector:330px;--studio-right:330px}
#lighting084-dock header{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:12px 14px;border-bottom:1px solid var(--line)}
#lighting084-dock header h2{font-size:18px;margin:4px 0}#lighting084-dock header>div:last-child{display:flex;gap:5px}#lighting084-dock header small{font-size:9px;letter-spacing:.9px}
#lighting084-dock button{white-space:normal;overflow-wrap:anywhere;min-height:38px;font-size:11px;padding:7px 10px;line-height:1.35;max-width:100%}#lighting084-dock button .icon{width:14px;height:14px}#lighting084-dock header .btn{min-height:32px;padding:5px 8px;font-size:10px}
#lighting084-dock>nav{display:flex;flex-wrap:wrap;gap:4px;padding:8px 12px;border-bottom:1px solid var(--line)}#lighting084-dock>nav .btn{flex:1 1 27%;min-width:0;padding:7px 3px}#lighting084-dock [aria-pressed=true]{background:var(--green,#257e60);color:#fff}
#lighting084-dock .l84-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:12px 14px;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
#lighting084-dock p{margin:9px 0}#lighting084-dock .l84-context{border-left:3px solid #35866b;background:#eef6f0;padding:10px;font-size:11px;margin-bottom:12px}#l84-state{display:block;font-weight:650;margin-top:5px}
#lighting084-dock .l84-field{display:flex;flex-direction:column;gap:5px;min-width:0;margin:11px 0}#lighting084-dock .l84-field>span{font-size:11px;color:#52675b}#lighting084-dock input:not([type=checkbox]),#lighting084-dock select{width:100%;min-width:0;min-height:38px;padding:8px 9px;font-size:13px;box-sizing:border-box}#lighting084-dock input[type=checkbox]{accent-color:#277f61;width:18px;height:18px;flex:none}#lighting084-dock .l84-check{display:flex;gap:8px;align-items:center;margin:13px 0}#lighting084-dock input[aria-invalid=true]{border:2px solid #ae493b}
#lighting084-dock .l84-row,#lighting084-dock .l84-presets{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}#lighting084-dock .l84-presets .btn{flex:1 1 28%}#lighting084-dock .l84-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#lighting084-dock .l84-card{padding:12px;border:1px solid #dce5dd;border-radius:10px;background:#fafcf9;margin:12px 0}#lighting084-dock .l84-card>small{display:block;line-height:1.5;margin:5px 0}#lighting084-dock .l84-note{font-size:11px;color:#64766b}#lighting084-dock .l84-empty{padding:18px 12px;background:#f1f5f0;border-radius:10px}#lighting084-dock .l84-warning{border-left:3px solid #bb8536;background:#fff7e8;padding:9px;color:#795623;font-size:11px}#lighting084-dock .l84-error{color:#a43135;font-size:11px}#lighting084-dock .l84-error:empty{display:none}
#lighting084-dock details{margin:12px 0;border-block:1px solid #e0e7df;padding:9px 0}#lighting084-dock summary{cursor:pointer;font-weight:600;padding:5px 0}
#lighting084-dock>footer{flex:none;display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px;border-top:1px solid #dce5dd;background:#f7faf6}#lighting084-dock>footer .btn{flex:1 1 27%;padding:8px 4px;font-size:10px}#lighting084-dock [data-l84=apply]{background:#267959;color:white}#l84-progress{flex-basis:100%;font-size:10px;line-height:1.4}
#lighting084-dock .l84-map{display:block;width:100%;height:auto;max-height:310px;margin:12px 0;border:1px solid #d1dcd1;border-radius:6px}#lighting084-dock .l84-map rect{cursor:crosshair}#lighting084-dock .l84-map rect:hover{stroke:#fff;stroke-width:1px}#lighting084-dock .l84-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}#lighting084-dock .l84-metrics b{display:block;font-size:19px}#lighting084-dock .l84-metrics span{font-size:9px}
#lighting084-dock.l84-collapsed>nav,#lighting084-dock.l84-collapsed>.l84-scroll,#lighting084-dock.l84-collapsed>footer{display:none}
@media(min-width:961px){#app[data-lighting084]{grid-template-columns:var(--rail) var(--panel) minmax(120px,1fr) 330px!important}#app[data-lighting084].library-collapsed{grid-template-columns:var(--rail) 0 minmax(120px,1fr) 330px!important}}
@media(max-width:960px){#app[data-lighting084=open]{grid-template-columns:1fr!important;grid-template-rows:var(--header,60px) minmax(90px,1fr) minmax(190px,48dvh) auto!important}#app[data-lighting084=open]>.viewport{grid-column:1!important;grid-row:2!important;margin:0!important;min-height:90px}#app[data-lighting084=open]>#lighting084-dock{grid-column:1;grid-row:3;border-left:0;border-top:1px solid #dce5dd}#app[data-lighting084=open]>.left-panel,#app[data-lighting084=open]>.rail{display:none!important}#app[data-lighting084=open]>.mobile-nav,#app[data-lighting084=open]>.footer{grid-column:1;grid-row:4}#lighting084-dock>header{padding:6px 10px;align-items:center}#lighting084-dock>header>div:last-child{margin-left:auto}#lighting084-dock>header h2{font-size:15px}#lighting084-dock>header small{display:none}#lighting084-dock>nav{padding:5px 8px;flex-wrap:nowrap}#lighting084-dock>nav .btn{font-size:10px;padding:6px 3px;min-height:32px}#lighting084-dock>nav .icon{display:none}#lighting084-dock .l84-scroll{padding:10px 12px}#lighting084-dock>footer{padding:6px 10px}#lighting084-dock input:not([type=checkbox]),#lighting084-dock select{font-size:16px}#app[data-lighting084=collapsed] #lighting084-dock{position:absolute;left:6px;right:6px;bottom:66px;z-index:49;border:1px solid #c7d7c9;border-radius:9px}#app[data-lighting084=open] .connection-badge,#app[data-lighting084=open] .scene-hint,#app[data-lighting084=open] .view-bottom{display:none!important}}
@media(max-width:380px){#lighting084-dock>header{gap:2px}#lighting084-dock>header .btn{font-size:9px;padding:5px}#lighting084-dock>footer .btn{min-height:34px}#lighting084-dock .l84-grid{gap:5px}}


/* RC9 drawing UI: one contextual inspector, explicit stages and spacious targets. */
.p89-drawing{font-size:12px;line-height:1.55}.p89-guide{padding:14px;border:1px solid #c5dacc;border-radius:12px;background:#f0f7f3;margin-bottom:12px}.p89-guide b{color:#215d46}.p89-guide p{margin:7px 0}.p89-guide small{color:#526a5c}.p89-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.p89-drawing .field>span{font-size:11px;color:#53665b}.p89-drawing input,.p89-drawing select{min-height:42px;font-size:13px}.p89-details{padding:12px 0;border-top:1px solid #dae6dc}.p89-details summary{cursor:pointer;font-weight:650;margin-bottom:10px}.p89-draw-actions{display:flex;flex-wrap:wrap;gap:7px;position:sticky;bottom:0;padding:12px 0;background:#fff;z-index:4}.p89-draw-actions .btn{min-height:40px;white-space:normal}.p89-draw-actions [data-pro45="draw-close"]{flex:1 1 100%;background:#267657;color:#fff}.p89-numbers{display:grid;grid-template-columns:1fr 1fr;gap:10px}.p89-numbers>span{padding:10px;background:#f4f6f3;border-radius:9px}.p89-numbers b{font-size:20px;display:block}#p89-progress{margin:10px 0}#p89-progress p{font-size:11px;color:#587060;margin-top:7px}#p89-validation{color:#a83c30;font-size:12px}.p89-area-preview{fill:#3c926918;stroke:#358260;stroke-dasharray:5 4;stroke-width:1;pointer-events:none}.p89-close-point{fill:#fff;stroke:#27855e;stroke-width:3;pointer-events:none}#app[data-authoring089="draw"] .pro45-summary{display:none}#app[data-authoring089="draw"] #issue-badge,#app[data-authoring089="draw"] .scene-hint{display:none}#app[data-authoring089="draw"] .pro45-cardgrid{grid-template-columns:1fr 1fr}
@media(max-width:760px){.p89-drawing input{font-size:16px}.p89-drawing .btn{min-height:42px}.p89-guide{padding:10px}.p89-draw-actions{padding:8px 0}.p89-drawing small{font-size:11px}}

/* RC9 drawing: one inspector, a scrollable form and a real fixed action footer. */
#app.studio48[data-pro45-dock="open"]:has(.p89-drawing)>#inspector,#app.studio48[data-authoring089="draw"] #inspector{display:none!important;visibility:hidden!important;pointer-events:none!important}
#app[data-authoring089="draw"] .pro45-banner{display:none!important}
#app[data-pro45-dock="open"]>.pro45-dock:has(.p89-drawing){position:fixed!important;inset:auto 8px 8px auto!important;width:min(328px,calc(var(--p89-win-w,100vw) - 16px))!important;height:var(--p89-panel-h,80dvh)!important;max-height:calc(var(--p89-win-h,100dvh) - 16px)!important;min-height:0!important;display:flex!important;flex-direction:column;overflow:hidden;z-index:101;margin:0!important;border:1px solid #becfc4;border-radius:14px;box-shadow:0 12px 36px #18372820}
#app[data-pro45-dock="open"]>.pro45-dock.p89-narrow:has(.p89-drawing){width:calc(var(--p89-win-w,100vw) - 16px)!important}
.pro45-dock:has(.p89-drawing)>header{flex:none;padding:10px 12px;border-bottom:1px solid #dce5de;display:flex;gap:8px;align-items:center}
.pro45-dock:has(.p89-drawing)>header>div{min-width:0;flex:1}.pro45-dock:has(.p89-drawing)>header h3{font-size:14px;overflow-wrap:anywhere}.pro45-dock:has(.p89-drawing)>header small{display:none}
.pro45-dock:has(.p89-drawing) .pro45-body{display:flex;flex:1;min-height:0;overflow:hidden;padding:0!important;flex-direction:column}
.p89-drawing{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}.p89-scroll{flex:1;min-height:0;overflow:auto;padding:12px;overscroll-behavior:contain}.p89-draw-actions{position:static;flex:none;display:flex;gap:6px;padding:10px!important;border-top:1px solid #dce5de;margin:0!important;background:#fff}.p89-draw-actions .btn{flex:1 1 25%;min-width:0;min-height:40px;font-size:11px;white-space:normal;padding:8px 9px}.p89-draw-actions [data-pro45="draw-close"],.p89-draw-actions [data-pro45="draw-apply"]{flex:1 1 100%;background:#267657;color:white}.p89-draw-actions [hidden]{display:none!important}
#p89-validation:empty,#app[data-authoring089="draw"] #p45-error:empty{display:none}#p89-validation{flex:none;max-height:65px;overflow:auto;margin:0;padding:8px 12px;background:#fff4ec;font-size:11px;line-height:1.4}
.pro45-dock.p89-tiny .p89-two,.pro45-dock.p89-tiny .p89-numbers{grid-template-columns:1fr}.pro45-dock.p89-tiny .p89-draw-actions .btn{font-size:10px;padding:5px;min-height:35px}.pro45-dock.p89-tiny .p89-draw-actions .icon{display:none}.pro45-dock.p89-tiny>header .btn{min-width:32px;width:32px;font-size:0;padding:4px}.pro45-dock.p89-tiny>header .btn .icon{width:14px;height:14px}
.toast{pointer-events:none}
body:has(#app[data-authoring089="draw"]) .toast{bottom:auto!important;top:10px;max-height:66px;overflow:hidden;z-index:90}

/* RC10 temporary surface operation; no persistent extra inspector. */
#app:has(#surface090-controls) #placement-status{display:none}#surface090-controls{position:absolute;left:12px;right:12px;bottom:60px;z-index:36;padding:12px 14px;background:#fffffff7;border:1px solid #9bbfaa;border-radius:12px;box-shadow:0 8px 25px #163b2420;max-width:640px;margin:auto;max-height:48%;overflow:auto;color:#2d4838}#surface090-controls header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}#surface090-controls label{display:flex;flex-direction:column;gap:4px;font-size:11px}#surface090-controls input:not([type=checkbox]),#surface090-controls select{padding:7px;min-height:34px;width:100%}.s090-fields label{min-width:0;overflow-wrap:anywhere}.s090-fields{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.3fr) minmax(0,.7fr);gap:8px}.s090-options{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:8px 0}.s090-options label{flex-direction:row!important;align-items:center}#surface090-controls small{display:block;color:#587260;font-size:10px;line-height:1.5}#surface090-controls [data-surface090-status]{font-size:11px;font-weight:600;margin:6px 0}#surface090-controls input:invalid{border-color:#b9533d}@media(max-width:760px){#surface090-controls{bottom:7px;padding:9px;max-height:40%;left:6px;right:6px}.s090-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.s090-fields label:last-child{grid-column:1}#surface090-controls input:not([type=checkbox]),#surface090-controls select{font-size:16px}.s090-options{gap:6px}}
.height-controls092{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:9px 0 15px}.height-controls092>.btn{min-width:0;min-height:40px;font-size:11px;padding:8px 6px;white-space:normal;flex-wrap:wrap;gap:4px}.height-controls092 kbd{font:10px ui-monospace,monospace;background:#edf2ed;border:1px solid #d8e2d9;border-radius:4px;padding:2px 4px}.height-controls092>small{grid-column:1/-1;font-size:10px;color:#5b7063;line-height:1.45;overflow-wrap:anywhere}.height-step092{grid-column:1/-1;display:flex;align-items:center;gap:8px;font-size:10px;color:#52695a;margin:2px 0}.height-step092 select{padding:4px 6px;min-height:32px;width:76px}
