@charset "UTF-8";
:root{color-scheme:dark;--bg:#0c1317;--panel:#142229;--panel2:#1c2e35;--line:#30464e;--muted:#93a9ae;--text:#ebe9df;--gold:#d0ae75;--cyan:#96d9d7;--error:#edb3a3;font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:13px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{opacity:.38;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}button{border:0;background:none}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.studio-header{height:78px;display:flex;align-items:center;gap:21px;padding:0 28px;border-bottom:1px solid #26363d;background:#101a1e}.brand{display:flex;align-items:center;gap:11px;letter-spacing:2.6px;font-size:12px;white-space:nowrap}.brand b{font-weight:400;color:var(--gold)}.brand-mark{font-size:33px;color:var(--gold);transform:rotate(-15deg)}.header-divider{width:1px;height:24px;background:var(--line)}.project-button{font-family:Georgia,serif;font-size:19px;display:flex;align-items:center;gap:20px}.chevron{font-family:Arial,sans-serif;color:var(--muted)}.edition{font-size:9px;letter-spacing:1.7px;border:1px solid #394c52;padding:5px 8px;border-radius:4px;color:var(--muted)}.header-actions{margin-left:auto;display:flex;gap:9px;align-items:center}.save-status{color:var(--muted);font-size:11px;margin-right:12px}.icon-button{height:36px;width:36px;border-radius:8px;border:1px solid var(--line);font-size:22px;display:grid;place-items:center}.button{padding:12px 17px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:20px;font-weight:600;line-height:1.2;border:1px solid transparent;cursor:pointer}.primary{background:var(--gold);color:#142027}.secondary{border-color:var(--line);background:#203139}.button:hover:not(:disabled){filter:brightness(1.12)}.workspace{display:grid;grid-template-columns:76px minmax(300px,1fr) 326px;min-height:calc(100dvh - 78px);max-width:2400px;margin:auto}.tool-rail{border-right:1px solid #25353c;padding:17px 10px;display:flex;flex-direction:column;gap:9px}.mode{display:flex;align-items:center;flex-direction:column;gap:8px;font-size:10px;color:var(--muted);padding:13px 4px;border-radius:9px;letter-spacing:.2px;min-height:64px}.mode>span{font-size:25px;line-height:1}.mode.active{background:#233739;color:var(--gold);box-shadow:inset 2px 0 var(--gold)}.mode:hover{background:#1b2c32}.rail-bottom{display:flex;flex-direction:column;margin-top:auto;padding-top:22px;gap:8px}.canvas-column{min-width:0;display:flex;flex-direction:column;background:#101b21}.view-toolbar{height:57px;min-height:57px;padding:0 22px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #25353c}.story-tabs{display:flex;gap:4px;overflow:auto}.story-tabs button,.quiet{font-size:11px;color:var(--muted);padding:8px 10px;border-radius:5px;white-space:nowrap}.story-tabs button.active{color:var(--text);background:#2c3f45}.view-actions{display:flex;gap:4px}.quiet.active{color:var(--gold);background:#243332}.stage{position:relative;flex:1;min-height:470px;height:calc(100dvh - 180px);overflow:hidden;background:radial-gradient(ellipse at 45% 48%,#253238 0,#17232a 48%,#101a20 100%)}.viewer{position:absolute;inset:0;touch-action:none}.viewer canvas{display:block;width:100%;height:100%}.stage-heading{position:absolute;left:26px;top:26px;pointer-events:none}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--gold);font-weight:600}.stage-heading .eyebrow{color:#8ca5a9;font-size:9px}.stage-heading p{font-size:14px;font-family:Georgia,serif;color:#bbcacc;margin:9px 0}.stage-hints{position:absolute;left:24px;right:24px;bottom:20px;display:flex;justify-content:space-between;pointer-events:none;color:#8da5ac;font-size:10px;gap:15px}.selection-label{position:absolute;left:24px;bottom:52px;background:#19343be8;border:1px solid #6dacae;color:#d0eeee;padding:9px 13px;border-radius:6px;font-size:11px;max-width:calc(100% - 48px);pointer-events:none}.model-status{height:42px;min-height:42px;border-top:1px solid #2a3b40;display:flex;align-items:center;padding:0 20px;gap:20px;font-size:10px;color:var(--muted)}#geometryStatus{color:#adc7b2;display:flex;align-items:center;gap:8px}#geometryStatus i{width:5px;height:5px;border-radius:50%;background:#91bb9b}.status-grid{margin-left:auto;white-space:nowrap}.inspector{background:linear-gradient(150deg,#1c2d35,#142129);border-left:1px solid var(--line);padding:27px 23px;height:calc(100dvh - 78px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#455a61 transparent}.inspector h1{font:29px/1.14 Georgia,serif;font-weight:400;margin:12px 0}.inspector p{color:#a8bdc1;font-size:12px;line-height:1.65}.inspector-heading{padding-bottom:20px;border-bottom:1px solid #33444a;margin-bottom:20px}.panel-section{padding-top:18px;margin-top:18px;border-top:1px solid #33444a}.panel-title{font-size:11px;font-weight:600;color:#d2dcd8;margin:0 0 12px;display:flex;justify-content:space-between}.field{display:flex;flex-direction:column;gap:8px;margin:15px 0}.field>span,.field>label{font-size:11px;color:#a6bdc3}.field select,.field input:not([type=range]):not([type=checkbox]),.inspector select,.dialog-field{width:100%;border:1px solid #3b535d;border-radius:6px;background:#112229;padding:10px 11px;color:#e0e8e6;min-width:0}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-pair .field{margin:10px 0}.segmented{display:flex;background:#101e25;border:1px solid #354b54;padding:4px;border-radius:8px;gap:4px}.segmented button{flex:1;font-size:11px;border-radius:5px;padding:10px 5px;color:#aec1c4}.segmented button.active{border:1px solid #a98e61;background:#2d342f;color:#ecd2a8}.inspector .wide{width:100%}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.action-grid button{padding:12px 8px;text-align:left;border:1px solid #3a515a;border-radius:7px;background:#20333b;font-size:11px}.action-grid button span{font-size:18px;color:var(--gold);padding-right:7px}.subtle{font-size:11px!important;color:#9cb2b8!important;line-height:1.6}.note-box{border:1px solid #3e5759;background:#1b3338;border-radius:7px;padding:12px;font-size:11px;line-height:1.6;color:#bad8d6}.warning-box{border:1px solid #877457;color:#e9c99a;background:#312f26;border-radius:7px;padding:12px;font-size:11px;line-height:1.6}.danger{color:#e1a89d;font-size:11px;padding:10px 0}.selected-surface{display:flex;align-items:center;gap:10px;color:#cce9e6;font-size:11px;margin-bottom:15px}.selected-surface:before{content:"";width:8px;height:8px;background:#9edbd8;border-radius:50%;box-shadow:0 0 12px #67d6cd45}.empty-card{border:1px dashed #4b6066;border-radius:8px;padding:22px 15px;color:#b2c4c7;font-size:12px;line-height:1.7;text-align:center}.asset-shelf{padding:15px 20px 17px;border-top:1px solid #35464d;background:#15232b}.shelf-header{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:13px}.shelf-tabs{display:flex;gap:15px}.shelf-tabs button{padding:5px 0;font-size:11px;color:var(--muted);border-bottom:2px solid transparent;white-space:nowrap}.shelf-tabs button.active{border-color:var(--gold);color:var(--gold)}#assetSearch{background:#112027;border:1px solid #364e57;border-radius:6px;padding:8px 10px;color:var(--text);width:180px;font-size:11px}.asset-cards{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:thin;scrollbar-color:#526669 transparent;min-height:94px}.asset-card{min-width:104px;max-width:104px;display:flex;flex-direction:column;align-items:stretch;padding:5px;background:#1d3038;border:1px solid #344c55;border-radius:7px;gap:7px;position:relative}.asset-card.active{border-color:var(--gold);background:#3a3d30}.asset-card:hover{border-color:#88afaf;transform:translateY(-1px)}.asset-card .swatch{width:92px;height:63px;background-color:#9f8864;background-size:cover;border-radius:4px;display:block}.asset-card img{width:92px;height:63px;object-fit:contain;background:#203039;border-radius:4px}.asset-card span:last-child{font-size:9px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-align:left}.stamp-list{display:flex;flex-direction:column;gap:7px;margin:15px 0}.stamp-row{display:flex;align-items:center;border:1px solid #3a5058;border-radius:6px;padding:5px;gap:8px}.stamp-row.active{border-color:var(--gold)}.stamp-row img{width:34px;height:36px;object-fit:contain}.stamp-row button:first-of-type{flex:1;text-align:left;font-size:11px;padding:7px 0}.stamp-row .delete-stamp{font-size:18px;color:#d2a99d;width:25px}.slider-line{display:flex;justify-content:space-between;color:#bcd0d3;font-size:11px;margin-bottom:10px}input[type=range]{width:100%;accent-color:var(--gold)}.check-line{display:flex;align-items:center;gap:9px;font-size:11px;margin:16px 0;line-height:1.4}.check-line input{accent-color:var(--gold)}.loading{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;background:#132027ed;z-index:2;color:#b8cbce}.loading strong{font:26px Georgia,serif;color:var(--text)}.loading>span:last-child{font-size:12px}.loading-orbit{width:48px;height:48px;border:1px solid #536663;border-top:2px solid var(--gold);border-radius:50%;animation:orbit 1s linear infinite;margin-bottom:14px}@keyframes orbit{to{transform:rotate(360deg)}}.busy .save-status{color:var(--gold)}.notice{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:20;padding:14px 18px;border:1px solid #577d80;background:#17333beb;box-shadow:0 8px 36px #0008;backdrop-filter:blur(12px);border-radius:8px;display:flex;align-items:center;gap:20px;font-size:12px;max-width:min(680px,90vw);line-height:1.5}.notice.error{border-color:#a57966;background:#422d29; color:#f0d7cf}.notice button{font-size:20px}.studio-dialog{border:1px solid #45616a;background:linear-gradient(150deg,#20343d,#132128);color:var(--text);border-radius:15px;padding:30px;max-width:850px;width:calc(100vw - 36px);max-height:90dvh;box-shadow:0 30px 100px #0009;scrollbar-width:thin}.studio-dialog::backdrop{background:#040b10bb;backdrop-filter:blur(6px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:15px}.studio-dialog h2{font:36px Georgia,serif;font-weight:400;margin:18px 0 14px}.studio-dialog p{color:#aabfc4;font-size:13px;line-height:1.7}.preset-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:26px 0}.preset-card{border:1px solid #425b63;background:#15262d;border-radius:10px;padding:22px;text-align:left;min-height:175px;display:flex;flex-direction:column;gap:13px}.preset-card:hover{border-color:var(--gold);background:#22343b}.preset-card strong{font:23px Georgia,serif;color:#f0e4ca}.preset-card .preset-icon{font-size:30px;color:var(--gold)}.preset-card p{font-size:11px;margin:0}.dialog-foot{display:flex;gap:10px;align-items:center;border-top:1px solid #3b5058;padding-top:20px}.dialog-foot span{font-size:10px;color:#96acb3;margin-left:auto}.review-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.count-tile{border:1px solid #41575d;background:#13272f;border-radius:8px;padding:18px}.count-tile b{display:block;font:29px Georgia,serif;color:var(--gold);margin-bottom:8px}.count-tile span{font-size:11px;color:#b1c4c7}.review-form{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:22px 0 0}.review-form label{font-size:11px;color:#b6c9cd}.review-form input,.review-form textarea{margin-top:8px}.review-form .full{grid-column:1/-1}.review-errors{line-height:1.7;color:#e6b2a2;padding-left:18px}.review-warnings{line-height:1.6;color:#c7b99a;font-size:11px;padding-left:18px}.guide-list{padding-left:20px;line-height:1.8;color:#b5c8cc}.guide-list li{margin:16px 0}.guide-list b{color:#ede5d4}.muted{color:#91a8af}.assembly-caption{position:absolute;bottom:60px;left:24px;right:24px;background:#182e35ee;border:1px solid #668286;padding:16px;border-radius:8px;font-size:12px;line-height:1.6}.inspector dl{display:grid;grid-template-columns:1fr 1fr;gap:9px;font-size:11px;line-height:1.5}.inspector dt{color:#9fb5ba}.inspector dd{margin:0;text-align:right}.focus-note{font-size:10px;color:var(--gold);padding:8px 0}.busy #inspector button,.busy #inspector select{pointer-events:none}.stage:has(~ .asset-shelf:not([hidden])){height:calc(100dvh - 355px);min-height:350px}.inline-check{display:flex;gap:8px;align-items:center;color:#adc7b2;font-size:11px;margin-bottom:9px}@media(min-width:1750px){.workspace{grid-template-columns:84px minmax(300px,1fr) 360px}.inspector{padding:31px}.studio-header{padding:0 34px}.stage-heading{left:32px;top:31px}}@media(max-width:1100px){.workspace{grid-template-columns:64px minmax(240px,1fr) 285px}.edition,.header-divider,.save-status{display:none}.studio-header{padding:0 17px;gap:14px}.inspector{padding:22px 18px}.view-toolbar{padding:0 12px}.view-actions #resetView{display:none}.brand{font-size:10px;letter-spacing:1.5px}.project-button{font-size:17px}.view-actions{gap:0}.quiet{padding:8px}.shelf-header{flex-wrap:wrap;gap:8px}.asset-shelf{padding:12px}}@media(max-width:780px){.studio-header{height:64px;gap:12px}.brand{font-size:9px}.brand-mark{font-size:25px}.brand b{display:none}.project-button{font-size:16px}.header-actions{gap:6px}.header-actions .icon-button{display:none}.header-actions .primary{font-size:10px;padding:10px;gap:5px}.workspace{grid-template-columns:56px minmax(0,1fr);min-height:calc(100dvh - 64px)}.tool-rail{grid-row:1/3;padding:12px 5px}.inspector{grid-column:2;max-height:none;height:auto;border-left:0;border-top:1px solid var(--line)}.stage{height:58dvh;min-height:370px}.stage:has(~ .asset-shelf:not([hidden])){height:53dvh;min-height:330px}.view-toolbar{height:auto;min-height:80px;flex-wrap:wrap;gap:0;padding:7px 10px}.view-actions{justify-content:flex-end;width:100%}.view-actions #resetView{display:block}.stage-heading{left:17px;top:18px}.stage-heading p{font-size:12px;max-width:210px}.stage-hints{left:17px;bottom:15px;font-size:9px}.model-status{font-size:9px;padding:0 10px;gap:9px}#designStats{display:none}.selection-label{font-size:10px;left:17px;bottom:44px}.asset-cards{gap:8px}.asset-card{min-width:87px;max-width:87px}.asset-card .swatch,.asset-card img{width:75px;height:55px}.shelf-tabs{gap:12px}#assetSearch{width:100%}.preset-cards{grid-template-columns:1fr}.preset-card{min-height:110px;padding:17px;gap:7px}.preset-icon{display:none}.studio-dialog{padding:22px}.dialog-foot{flex-wrap:wrap}.dialog-foot span{margin:0;width:100%}.review-counts{gap:7px}.count-tile{padding:12px}.review-form{grid-template-columns:1fr}.project-button{max-width:160px}.project-button #projectName{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chevron{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;transition:none!important}}
/* Building space stays beside the model; detailed measurements unfold on demand. */
.build-toolbar{display:flex;align-items:center;gap:9px;min-height:54px;padding:9px 20px;background:#17262d;border-bottom:1px solid #32464d;flex-wrap:wrap}
.build-target{color:#aac1c6;font-size:11px;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:42%}
.build-action{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid #557e82;border-radius:7px;background:#234048;color:#d6edeb;font-size:12px;white-space:nowrap;transition:background .15s,border-color .15s}
.build-action span{font-size:18px;line-height:1}.build-action:hover,.build-action.active{background:#335a60;border-color:#9bd3d1}
.build-action:disabled{opacity:.45;cursor:default}.build-toolbar:not([hidden]) + .stage{height:calc(100dvh - 234px);min-height:400px}
.section-summary{display:flex;gap:16px;align-items:center;background:#13262e;border:1px solid #354f58;border-radius:8px;padding:15px}
.section-summary strong{font:28px Georgia,serif;color:var(--gold);white-space:nowrap}.section-summary span{font-size:11px;color:#b5cacc;line-height:1.7}
.room-layout-options,.room-size-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.room-layout-options button,.room-size-options button{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:10px;padding:14px 4px;border:1px solid #405961;border-radius:8px;background:#15262e;font-size:10px;color:#b6c8cc;min-width:0}
.room-layout-options button:hover,.room-size-options button:hover{border-color:#85b2b6}.room-layout-options button.active,.room-size-options button.active{border-color:var(--gold);background:#30392f;color:#efd6aa}
.layout-diagram{height:29px;width:38px;border:2px solid currentColor;display:block;position:relative;border-radius:1px;opacity:.85}
.layout-diagram.two:before,.layout-diagram.four:before{content:'';position:absolute;left:50%;top:0;bottom:0;border-left:1px solid currentColor}
.layout-diagram.four:after{content:'';position:absolute;top:50%;left:0;right:0;border-top:1px solid currentColor}
.size-shape{height:27px;aspect-ratio:var(--shape-ratio);border:1px solid currentColor;border-radius:1px;background:repeating-linear-gradient(0deg,transparent 0 5px,#afc4bc2b 5px 6px),repeating-linear-gradient(90deg,transparent 0 5px,#afc4bc2b 5px 6px)}
.room-size-options strong{font-size:14px;font-weight:500}.room-size-options small{font-size:10px;color:#aec1c5}
.structure-options{border-top:1px solid #33494e;margin-top:20px;padding-top:16px}.structure-options>summary{cursor:pointer;font-size:12px;color:#c5d6d6;line-height:1.5}.structure-options[open]>summary{color:var(--gold);margin-bottom:14px}
.structure-options .panel-section:first-of-type{border-top:0;margin-top:5px;padding-top:5px}.placement-status{padding:19px 12px;border:1px dashed #527075;border-radius:8px;color:#b2d2d3;font-size:12px;line-height:1.6}
.blocked-connections{margin:15px 0;color:#a8bdc1;font-size:11px;line-height:1.5}.blocked-connections summary{cursor:pointer}.blocked-connections p{font-size:11px}
.addition-choices{margin-bottom:18px}.addition-choices button:hover{background:#2b4b51;border-color:#94c5c5}.inspector #doneAddition{margin-top:18px}
.busy .build-toolbar button{pointer-events:none}
@media(min-width:781px){.build-toolbar:not([hidden])~.stage{height:calc(100dvh - 234px)}}
@media(max-width:1100px){.build-toolbar{padding:8px 12px;gap:7px}.build-target{max-width:35%}.build-action{font-size:11px;padding:8px}}
@media(max-width:780px){.build-toolbar{padding:10px;gap:8px}.build-target{max-width:100%;width:100%;font-size:10px}.build-action{flex:1;justify-content:center}.build-toolbar:not([hidden])+.stage{height:58dvh;min-height:370px}#cancelAddition{width:100%;padding:3px}.room-layout-options button{font-size:11px}}

/* Quick actions share one quiet dock, leaving the selected room in view. */
.canvas-column{position:relative}
.floor-dock{position:absolute;right:18px;bottom:61px;width:324px;max-width:calc(100% - 36px);z-index:4;padding:17px;border:1px solid #55757c;border-radius:14px;background:linear-gradient(145deg,#1c3038f7,#14262df5);box-shadow:0 14px 46px #030b104d;backdrop-filter:blur(18px);animation:dock-appear .16s ease-out}
.dock-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.dock-heading .eyebrow{font-size:8px;letter-spacing:1.6px}
.dock-heading h2{font:21px/1.2 Georgia,serif;font-weight:400;margin:7px 0 0;color:#f0e7d3}
.dock-close{display:grid;place-items:center;flex:0 0 29px;width:29px;height:29px;border:1px solid #3c5963;border-radius:7px;color:#afc5c8;font-size:20px;line-height:1;background:#223a43}
.dock-close:hover{border-color:#8bb4ba;color:#edf2e9}
.dock-hint{font-size:11px;line-height:1.5;color:#b1c7cb;margin:10px 0 14px}
.dock-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;border:1px solid #3a555e;border-radius:8px;padding:4px;background:#0f2229}
.dock-tabs button{display:flex;justify-content:center;align-items:center;gap:6px;padding:9px 7px;border:1px solid transparent;border-radius:5px;font-size:11px;color:#b5c8cc;min-width:0}
.dock-tabs button span{font-size:16px;line-height:1}
.dock-tabs button.active{border-color:#c09f65;color:#efd6ab;background:#363c32}
.dock-tabs button:hover:not(.active){background:#203942;color:#e2eae4}
.dock-panel{padding-top:14px;max-height:min(47dvh,365px);overflow:auto;scrollbar-width:thin;scrollbar-color:#526b70 transparent}
.floor-dock .asset-shelf{border:0;padding:0;background:transparent}
.floor-dock .shelf-header{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-bottom:10px}
.floor-dock .shelf-tabs{gap:13px;justify-content:space-between}
.floor-dock .shelf-tabs button{font-size:10px;padding:3px 0 6px}
.floor-dock #assetSearch{width:100%;padding:9px 11px;border-color:#3e5b65;background:#10242c}
.floor-dock .asset-cards{gap:7px;min-height:96px;scroll-snap-type:x proximity;overscroll-behavior-x:contain;padding-bottom:8px}
.floor-dock .asset-card{min-width:89px;max-width:89px;padding:4px;gap:6px;scroll-snap-align:start;transition:border-color .15s,background .15s}
.floor-dock .asset-card .swatch,.floor-dock .asset-card img{width:79px;height:57px}
.floor-dock .asset-card span:last-child{min-height:23px;font-size:9px}
.floor-dock .room-size-options{gap:6px}
.floor-dock .room-size-options{grid-template-columns:repeat(4,minmax(0,1fr))}
.floor-dock .room-size-options button{padding:11px 4px;gap:7px}
.floor-dock .room-size-options .size-shape{height:22px}
.floor-dock .room-size-options strong{font-size:13px}
.floor-dock .room-size-options small{font-size:9px}
.floor-dock .placement-status{padding:12px;font-size:11px}
.floor-dock .subtle{font-size:10px!important;margin:10px 0 0}
.floor-dock .field{margin:0 0 12px}
.floor-dock .field>span{font-size:10px;color:#afc7ca}
.floor-dock .field select,.floor-dock select{width:100%;border:1px solid #3e5b65;border-radius:6px;background:#10242c;padding:9px 10px;color:#e0e8e6;min-width:0}
.floor-dock .note-box,.floor-dock .warning-box{font-size:11px;padding:10px;margin-top:11px}
.floor-dock .addition-choices{margin-top:8px;margin-bottom:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.floor-dock .addition-choices button{padding:8px 2px;text-align:center;font-size:10px}
.floor-dock .addition-choices button:disabled{opacity:.72;border-style:dashed;border-color:#40545a;background:#17272c;color:#9aadb0}
.floor-dock .addition-choices button span{display:none}
.dock-room-footer{display:flex;justify-content:space-between;gap:6px;margin-top:5px}
.dock-room-footer .quiet{font-size:10px;padding:7px 2px}
#dockAddStory{padding:9px 11px;border:1px solid #987e53;border-radius:7px;background:#34392f;color:#ecd0a0;font-size:11px;font-weight:700}
#dockAddStory:hover:not(:disabled){background:#424634;border-color:#d3ac6c}
#dockAddStory:disabled{opacity:.5}
.floor-dock .dock-tabs:has(#dockRoomTab[hidden]){grid-template-columns:1fr}
#dockFinishSettings{padding:8px 0 0;font-size:10px}
.dock-remove-room{border-top:1px solid #3b5058;margin-top:13px;padding-top:12px;display:flex;flex-direction:column;align-items:stretch;gap:7px}
.dock-remove-room button,.remove-room{border:1px solid #8d655d;background:#392b2b;color:#f2c4b8;border-radius:7px;padding:9px 12px;font-size:11px;font-weight:700;white-space:nowrap}
.dock-remove-room button:hover:not(:disabled),.remove-room:hover:not(:disabled){background:#50332f;border-color:#d49080}
.dock-remove-room small{color:#9fb4b8;font-size:10px;line-height:1.4;text-align:left}
.remove-room{justify-content:center}
.notice .notice-action{border:1px solid #a9c7c1;border-radius:6px;padding:7px 12px;color:#e9fbf2;font-size:11px;font-weight:700;background:#34524e}
.notice .notice-action:hover{background:#456861}
.floor-dock .blocked-connections{margin-bottom:0;font-size:10px}
.floor-dock .blocked-connections p{font-size:10px;line-height:1.5;margin:6px 0}
.quick-build-top{display:flex;align-items:center;gap:5px;margin-bottom:11px}
.build-quick-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;flex:1;min-width:0;background:#10252b;border:1px solid #3c5961;border-radius:7px;padding:3px}
.build-quick-tabs button{font-size:10px;padding:7px 2px;border-radius:4px;color:#a9bdc0;white-space:nowrap}
.build-quick-tabs button.active{color:#f0d7ac;background:#3a423a;box-shadow:inset 0 0 0 1px #b39a6a}
.build-quick-tabs button:hover:not(.active){background:#254149;color:#e5f2ec}
.quick-room-delete{flex:0 0 auto;border:1px solid #9b675c;background:#3b2b2a;color:#f1c5b6;border-radius:6px;padding:8px 6px;font-size:10px;white-space:nowrap}
.quick-room-delete:hover:not(:disabled){background:#59332e;border-color:#dd9586}
.quick-room-delete:disabled{opacity:.52}
.quick-build-copy{font-size:10px!important;color:#b4c5c9!important;line-height:1.5;margin:0 0 12px!important}
.upper-scope{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;padding:3px;margin-bottom:11px;background:#10252b;border:1px solid #45636b;border-radius:7px}
.upper-scope button{padding:8px 5px;border-radius:4px;font-size:11px;color:#b9cbd0}
.upper-scope button.active{background:#35463e;color:#f4ddba;box-shadow:inset 0 0 0 1px #b99d6b}
.partial-kind-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:11px}
.partial-kind-choices button{border:1px solid #466069;border-radius:7px;background:#10242a;text-align:left;padding:9px 8px;min-width:0}
.partial-kind-choices button.active{border-color:#b99d6b;background:#2d3935}
.partial-kind-choices strong{display:block;font-size:10px;color:#e9e1d2;line-height:1.4}
.partial-kind-choices small{display:block;font-size:9px;color:#aabfc3;line-height:1.45;margin-top:3px}
.partial-edge-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-bottom:9px}
.partial-edge-choices button{border:1px solid #3e5a62;border-radius:5px;background:#132b32;padding:8px 2px;font-size:10px;color:#bdd5d8}
.partial-edge-choices button.active{border-color:#7ccec9;background:#254a4d;color:#d7fffa}
.partial-upper-size{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.partial-upper-size .field{flex:1;min-width:0;margin:0}
.partial-size-summary{flex:0 0 86px;text-align:right}
.partial-size-summary strong{display:block;font:22px Georgia,serif;color:#e7d6ba}
.partial-size-summary small{display:block;color:#99b4b8;font-size:9px;line-height:1.5}
@media(max-width:780px){
  .workspace.partial-floor-preview-active{height:calc(100dvh - 64px);min-height:0;overflow:hidden;grid-template-rows:minmax(0,1fr)}
  .partial-floor-preview-active .tool-rail{grid-row:1}
  .partial-floor-preview-active>.inspector{display:none}
  .partial-floor-preview-active .canvas-column{height:100%;min-height:0;overflow:hidden}
  .partial-floor-preview-active .stage{height:auto!important;min-height:180px!important;flex:1 1 0}
  .partial-floor-preview-active .floor-dock{position:relative;inset:auto;width:auto;max-width:none;height:426px;flex:0 0 426px;margin:0 8px 8px;padding:12px;overflow:hidden}
  .partial-floor-preview-active #floorDockEyebrow,.partial-floor-preview-active #floorDockHint,.partial-floor-preview-active .dock-tabs,.partial-floor-preview-active .quick-level-list{display:none}
  .partial-floor-preview-active .dock-heading h2{margin:0;font-size:18px}
  .partial-floor-preview-active #dockRoomPanel{max-height:calc(100% - 31px);overflow:auto;padding-top:8px}
  .partial-floor-preview-active .quick-build-top{margin-bottom:6px}
  .partial-floor-preview-active .upper-scope{margin-bottom:7px}
  .partial-floor-preview-active .partial-kind-choices{margin-bottom:6px}
  .partial-floor-preview-active .partial-kind-choices button{padding:6px 7px}
  .partial-floor-preview-active .partial-edge-choices{margin-bottom:7px}
  .partial-floor-preview-active .partial-upper-size{margin-bottom:6px}
  .partial-floor-preview-active .quick-build-copy{font-size:9px!important;line-height:1.4;margin-bottom:7px!important}
  .partial-floor-preview-active #addPartialUpper{position:sticky;bottom:0;z-index:2;margin-top:0;box-shadow:0 -5px 10px #132a30}
  .workspace.partial-floor-preview-active~.notice{top:72px;bottom:auto;left:76px;right:12px;transform:none;max-width:calc(100vw - 88px);font-size:10px}
}
.roof-scope{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;padding:3px;margin-bottom:10px;border:1px solid #45636b;border-radius:7px;background:#11272e}
.roof-scope button{border-radius:4px;padding:8px 4px;font-size:10px;color:#b5c8ca}
.roof-scope button.active{background:#3b4539;box-shadow:inset 0 0 0 1px #b99d6b;color:#f2dab0}
.roof-scope button:hover:not(.active){background:#27434a;color:#e9f4ef}
.roof-coverage-copy{min-height:30px}
.quick-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.quick-choice-grid button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:82px;gap:5px;padding:9px 7px;border:1px solid #42606a;border-radius:8px;background:#1a3038;text-align:center}
.quick-choice-grid button.active{border-color:#d0ae75;background:#394237;color:#f5dfb8}
.quick-choice-grid button:hover:not(.active){border-color:#8bbec0;background:#27434a}
.quick-choice-grid button span{font-size:25px;line-height:1;color:#d0ae75}
.quick-choice-grid button strong{font-size:11px;font-weight:650}
.quick-choice-grid button small{color:#aebfc1;font-size:9px}
.quick-balcony-choices{grid-template-columns:repeat(3,minmax(0,1fr))}
.quick-balcony-choices button{min-height:42px}
.quick-toggle{display:flex;align-items:center;gap:8px;margin-top:12px;color:#c4d4d3;font-size:11px}
.quick-toggle input{accent-color:#d0ae75}
.quick-level-list{display:flex;gap:5px;overflow-x:auto;margin-top:12px;padding-bottom:3px}
.quick-level-list button{min-width:74px;display:flex;flex-direction:column;gap:3px;padding:8px 6px;border:1px solid #3d5960;border-radius:7px;background:#172b32;font-size:10px}
.quick-level-list button.active{border-color:#d0ae75;color:#efd6a9}
.quick-level-list small{font-size:8px;color:#9eb7b9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.room-alignment{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:9px 0 0;color:#a9c0c3;font-size:10px}
.room-alignment>div{display:flex;border:1px solid #49636a;border-radius:6px;padding:2px;background:#10252b}
.room-alignment button{padding:5px 7px;color:#a8bcc0;border-radius:4px;font-size:9px}
.room-alignment button.active{background:#3a443b;color:#f3dcb4}
.alignment-note{margin:5px 0 8px!important;color:#9bb0b3!important;font-size:9px!important;line-height:1.4!important}
.floor-dock .wide{width:100%}
#dockRoomPanel{max-height:min(55dvh,390px)}
.busy .floor-dock button:not(.dock-close),.busy .floor-dock select{pointer-events:none;opacity:.5}
.workspace.floor-dock-focused{grid-template-columns:76px minmax(300px,1fr)}
.workspace.floor-dock-focused>.inspector{display:none}
@keyframes dock-appear{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1750px){.workspace.floor-dock-focused{grid-template-columns:84px minmax(300px,1fr)}.floor-dock{width:344px;right:24px;bottom:67px}}
@media(min-width:781px) and (max-width:1100px){.workspace.floor-dock-focused{grid-template-columns:64px minmax(240px,1fr)}.floor-dock{width:300px;right:12px;bottom:58px;padding:14px}}
@media(max-width:780px){.workspace.floor-dock-focused{grid-template-columns:56px minmax(0,1fr)}.floor-dock{position:relative;inset:auto;width:auto;max-width:none;margin:0 10px 12px;padding:14px;border-radius:11px;backdrop-filter:none;box-shadow:0 6px 20px #030b1038;animation:none}.dock-heading h2{font-size:21px}.dock-hint{font-size:11px}.dock-panel,#dockRoomPanel{max-height:none;overflow:visible}.floor-dock .asset-cards{min-height:96px}.floor-dock .asset-card{min-width:92px;max-width:92px}.floor-dock .asset-card .swatch,.floor-dock .asset-card img{width:82px;height:59px}.floor-dock .shelf-tabs{justify-content:flex-start;gap:15px}}

/* A new project is a primary workflow and must stay visible outside the tool rail. */
.new-build-button{padding:10px 13px;white-space:nowrap;border-color:#9e835b;color:#f3d9ae;background:#29322e}
.new-build-button:hover:not(:disabled){background:#344037}
.preset-card.blank-start{border-color:#ad8b5b;background:linear-gradient(145deg,#283d39,#1b3034)}
.preset-card.blank-start .preset-icon{color:#f1d399}
.dialog-foot span{line-height:1.5}
@media(max-width:780px){.new-build-button{padding:9px 10px;font-size:10px}.header-actions{margin-left:auto}}
@media(max-width:530px){.studio-header{gap:7px;padding:0 8px}.brand{letter-spacing:.8px}.project-button{max-width:95px;font-size:13px}.header-actions #review{padding:9px 7px}.new-build-button{padding:9px 7px}}

@media(max-width:530px){.studio-header .project-button{display:none}}

/* A selected printed detail is positioned against the same projected cut face
   used by the preview. The thin outline shows its printed footprint without
   covering the artwork that the customer is adjusting. */
.detail-overlay{position:absolute;inset:0;z-index:12;pointer-events:none;overflow:hidden}
.detail-footprint{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.detail-footprint polygon{fill:#82d8d316;stroke:#a3e8e3;stroke-width:2;stroke-dasharray:6 4;filter:drop-shadow(0 0 5px #1eabadb0)}
.detail-footprint line{stroke:#a3e8e3;stroke-width:1.5;stroke-dasharray:3 3}
.detail-footprint #detailScaleLeader{stroke:#e9cc91}
.detail-footprint #detailAnchor{fill:#0c2c31;stroke:#a3e8e3;stroke-width:1.5}
.detail-overlay.dragging .detail-footprint polygon{fill:#d0ae7523;stroke:#e9cc91}
.detail-move,.detail-scale{position:absolute;display:grid;place-items:center;border:1px solid #9be7e3;background:#14333ce8;color:#e1ffff;box-shadow:0 3px 15px #031116c9,0 0 0 3px #08262a9c;pointer-events:auto;touch-action:none;user-select:none;cursor:grab}
.detail-move{width:30px;height:30px;transform:translate(-50%,-50%);border-radius:50%;font-size:19px;line-height:1}
.detail-scale{width:27px;height:27px;transform:translate(-50%,-50%);border-radius:8px;background:#d0ae75;color:#16262a;border-color:#f3d8a7;font-size:19px;cursor:nwse-resize}
.detail-delete{position:absolute;width:27px;height:27px;transform:translate(-50%,-50%);border:1px solid #b78179;border-radius:8px;background:#3b292beb;color:#ffe2d9;font-size:20px;line-height:1;box-shadow:0 3px 15px #031116c9;pointer-events:auto}
.detail-delete:hover,.detail-remove:hover{background:#694039;color:#fff4ee}
.detail-move:active,.detail-scale:active,.detail-overlay.dragging .detail-move{cursor:grabbing}
.detail-overlay-label{position:absolute;transform:translate(-50%,0);padding:5px 8px;border:1px solid #72bdba;border-radius:6px;background:#0d252ce9;color:#e4f5f2;font-size:10px;white-space:nowrap;box-shadow:0 4px 12px #020b1088;max-width:190px;text-overflow:ellipsis;overflow:hidden}
.detail-overlay.dragging .detail-overlay-label{border-color:#d0ae75;color:#f2dfbd}
.detail-rotate{position:absolute;display:grid;place-items:center;width:29px;height:29px;transform:translate(-50%,-50%);border:1px solid #b4dbd7;border-radius:50%;background:#193941ee;color:#d9ffff;font-size:22px;box-shadow:0 3px 15px #031116c9,0 0 0 3px #08262a9c;pointer-events:auto;touch-action:none;cursor:grab;user-select:none}
.detail-rotate:active{cursor:grabbing}.detail-footprint #detailRotateLeader{stroke:#b4dbd7}
.detail-footprint .detail-alignment-guide{stroke:#f3ce86;stroke-width:1.8;stroke-dasharray:4 4;filter:drop-shadow(0 0 3px #071517);vector-effect:non-scaling-stroke}
.detail-rotation-bar{display:flex;align-items:center;gap:8px;margin-top:17px;padding:6px;border:1px solid #3b5a62;border-radius:8px;background:#10262d}
.detail-rotation-bar>button{width:31px;height:31px;flex:0 0 31px;border-radius:5px;background:#233e46;color:#d8efea;font-size:23px}.detail-rotation-bar>button:hover{background:#34565d}
.detail-rotation-bar>label{font-size:11px;color:#b8cfce;flex:1}.detail-angle{display:flex;align-items:center;gap:3px;font-size:12px;color:#d0ae75}
.detail-angle input{width:56px!important;border:0!important;padding:6px 3px!important;background:transparent!important;color:#efe4cc!important;text-align:right;font-variant-numeric:tabular-nums;-moz-appearance:textfield}.detail-angle input::-webkit-inner-spin-button{display:none}
.detail-align-title{font-size:10px;color:#aac1c2;letter-spacing:.3px;margin:18px 0 9px}.detail-align-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.detail-align-tools button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:32px;font-size:9px;color:#c7dfdc;border:1px solid #3b5960;border-radius:5px;background:#19323a}.detail-align-tools button span{font-size:16px;color:#a9d9d3}.detail-align-tools button:hover,.detail-corner-tools button:hover{border-color:#bddbc5;background:#29464c}
.detail-corner-tools{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:8px}.detail-corner-tools button{min-height:31px;border:1px solid #536a5e;background:#22392f;border-radius:5px;color:#ddcda5;font-size:23px}
.detail-snap-option{margin:15px 0 5px}.detail-guide-help{font-size:10px!important;margin:0 0 15px!important}.detail-measurements{border-top:1px solid #385159;padding-top:11px;color:#afc7ca;font-size:11px}.detail-measurements summary{cursor:pointer;padding:3px 0}
.detail-editor{border:1px solid #5b817f;background:linear-gradient(150deg,#19343b,#142930);border-radius:10px;padding:14px;margin:17px 0;box-shadow:inset 0 1px #96d9d71c}
.detail-editor-heading{display:flex;align-items:center;gap:11px;margin-bottom:10px}
.detail-editor-heading img{width:52px;height:50px;object-fit:contain;border-radius:7px;background:#0c2028;padding:3px}
.detail-editor-heading strong{display:block;font:18px Georgia,serif;color:#f4edda;font-weight:400}
.detail-editor-heading small{display:block;color:#9bbcc0;margin-top:5px;font-size:10px}
.detail-editor-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.detail-editor-actions .button{font-size:11px;padding:9px 7px;gap:0}
.detail-remove{border-color:#935c55;background:#37282b;color:#f6d2c9}
.detail-editor #focusDetail{font-size:11px;padding:9px 11px;border-color:#689b9a;color:#d1e9e6;background:#214048}
.detail-editor .field{margin:13px 0}
.detail-editor .subtle{margin:9px 0}
#materialArea{color:#e5c993;white-space:nowrap;font-weight:600}
.split-deck-note{margin:10px 0 14px;padding:10px 11px;border:1px solid #59716c;border-radius:7px;background:#1e3434;color:#cde7d8;font-size:11px;line-height:1.45}
.floor-plate-limit{display:grid;gap:5px;margin:0 0 10px;padding:10px 12px;border:1px solid #897348;border-radius:8px;background:#263331;color:#e6ddc8;font-size:11px;line-height:1.45}
.floor-plate-limit strong{font-size:12px;color:#ead0a0}
.floor-plate-limit>div{display:flex;flex-wrap:wrap;gap:16px}
.floor-plate-limit .quiet{margin:0;color:#f1d1a0;font-size:11px}
@media(max-width:780px){.model-status #geometryStatus{display:none}}
.stamp-row button[data-stamp]{display:flex;align-items:center;justify-content:space-between;gap:7px}
.stamp-row .stamp-edit{font-size:9px;color:#bdd5d4;border:1px solid #4d7376;padding:3px 5px;border-radius:4px}
.stamp-row.active .stamp-edit{color:#183039;background:#b5dedd;border-color:#b5dedd}
.stamp-layers{margin:18px 0 20px;padding:14px 12px 9px;border:1px solid #425e65;border-radius:9px;background:#13262de8}
.stamp-layers .panel-title{margin-bottom:10px;font-size:12px}.stamp-layers .panel-title span{color:#a7bdc2;font-weight:400;font-size:9px;letter-spacing:.2px}
.stamp-layer-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.stamp-layer-actions button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:44px;border:1px solid #48636b;border-radius:6px;background:#1d353d;color:#d5e7e5;font-size:9px;white-space:nowrap}
.stamp-layer-actions button:hover:not(:disabled){border-color:var(--gold);background:#2d403e}.stamp-layer-actions button span{font:18px/1 Arial,sans-serif;color:var(--gold)}
.review-scene-items{list-style:none;margin:14px 0;padding:0;max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:8px}.review-scene-items li{display:flex;flex-direction:column;gap:5px;padding:11px 14px;border-bottom:1px solid var(--line)}.review-scene-items li:last-child{border-bottom:0}.review-scene-items span{font-size:11px;color:var(--muted)}
.stamp-layer-help{font-size:10px!important;line-height:1.5!important;margin:10px 0 3px!important;color:#a8bfc3!important}
.stamp-layers .stamp-list{margin:10px 0 0;gap:6px;max-height:255px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#4b6971 transparent;padding-right:2px}
.stamp-layers .stamp-row{background:#182e35;padding:4px;gap:7px;min-height:44px}.stamp-layers .stamp-row.active{background:#244346;border-color:#9fd3cb;box-shadow:inset 2px 0 #9fd3cb}
.stamp-layers .stamp-row img{background:#102127;border-radius:4px;width:32px;height:32px;padding:2px}.stamp-layers .stamp-row button[data-stamp]{font-size:10px;min-width:0;line-height:1.35}.stamp-layers .stamp-row button[data-stamp]>span:first-child{overflow-wrap:anywhere}
.stamp-layer-phase{font-size:9px;letter-spacing:1px;color:#c8b288;text-transform:uppercase;padding:9px 2px 1px}.stamp-layer-phase:first-child{padding-top:2px}
@media(max-width:780px){.detail-move{width:34px;height:34px}.detail-scale{width:30px;height:30px}.detail-overlay-label{font-size:9px}}
.detail-conflict-dialog{max-width:660px}.detail-conflict-list{list-style:none;padding:0;margin:20px 0;max-height:32dvh;overflow:auto;display:grid;gap:8px}.detail-conflict-list li{display:flex;align-items:flex-start;gap:10px;padding:11px 13px;border:1px solid #53666b;border-radius:8px;background:#172b32}.detail-conflict-list li:before{content:'✕';color:#e5a89c;font-weight:700}.detail-conflict-list strong{display:block;color:#f2e6d3;font-size:12px}.detail-conflict-list small{display:block;color:#a8bdc1;font-size:10px;margin-top:3px;line-height:1.5}.detail-conflict-dialog .dialog-foot{justify-content:flex-end;flex-wrap:wrap}.detail-conflict-dialog .dialog-foot span{flex-basis:100%;text-align:right}

/* The Finish workbench reserves its own space below the model. The library
   stays put while the selected item's controls scroll within the same dock. */
.dock-surface-controls,.finish-editor{display:none}
.workspace:not(.finish-dock-active) .shelf-tabs [data-shelf="doors"],
.workspace:not(.finish-dock-active) .shelf-tabs [data-shelf="windows"]{display:none}
.workspace.finish-dock-active{grid-template-columns:76px minmax(0,1fr);height:calc(100dvh - 78px);min-height:620px}
.workspace.finish-dock-active>.inspector{display:none}
.finish-dock-active .canvas-column{min-height:0;overflow:hidden}
.finish-dock-active .view-actions #resetView{display:block}
.finish-dock-active .stage{height:auto;min-height:220px;flex:1 1 0}
.finish-dock-active .build-toolbar{display:none}
.finish-dock-active .floor-dock{position:relative;inset:auto;width:100%;max-width:none;flex:0 0 320px;height:320px;max-height:none;margin:0;padding:12px 20px 13px;border:0;border-top:1px solid #4b666a;border-radius:0;background:linear-gradient(125deg,#13262dfc,#102028fc);box-shadow:0 -9px 32px #0310153b;backdrop-filter:none;animation:none;z-index:13}
.finish-dock-active .dock-heading{align-items:center;gap:15px;min-height:30px}
.finish-dock-active .dock-heading>div:first-child{min-width:0;display:flex;align-items:center;gap:15px;flex:1}
.finish-dock-active .dock-heading .eyebrow{font-size:9px;letter-spacing:1.4px;white-space:nowrap}
.finish-dock-active .dock-heading h2{font:18px/1.2 Georgia,serif;margin:0;color:#f0e7d3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.finish-dock-active .dock-surface-controls{display:flex;align-items:center;flex:0 0 auto;gap:8px}
.finish-dock-active .dock-surface-controls .segmented{padding:2px;border-radius:18px;min-width:152px}
.finish-dock-active .dock-surface-controls .segmented button{padding:6px 14px;border-radius:14px;font-size:10px;white-space:nowrap}
.finish-dock-active .dock-close{width:27px;height:27px;flex-basis:27px;background:#1a3038}
.finish-dock-active .dock-hint{margin:5px 0 10px;font-size:10px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8fadb4}
.finish-dock-active .dock-tabs,.finish-dock-active #dockFinishSettings{display:none}
.finish-dock-active #dockMaterialsPanel{padding:0;max-height:none;height:calc(100% - 54px);overflow:visible}
.finish-dock-active .finish-workbench{height:100%;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;min-width:0;min-height:0}
.finish-dock-active .asset-shelf{min-width:0;min-height:0;display:flex;flex-direction:column;padding:0;background:none}
.finish-dock-active .shelf-header{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px 20px;margin:0 0 10px;flex:0 0 auto;min-width:0}
.finish-dock-active .shelf-tabs{display:flex;justify-content:flex-start;gap:21px;flex:1 1 390px;min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}
.finish-dock-active .shelf-tabs::-webkit-scrollbar{display:none}
.finish-dock-active .shelf-tabs button{font-size:11px;line-height:1.2;padding:6px 0 8px;position:relative;border-bottom-width:2px}
.finish-dock-active .shelf-tabs button.active{color:#f0d4a7;border-color:#d0ae75}
.finish-dock-active #assetSearch{width:180px;flex:0 1 180px;max-width:100%;padding:9px 11px;border-color:#3c535b;background:#0d1e25;border-radius:8px;line-height:1.2}
.finish-dock-active .asset-cards{display:grid;grid-auto-flow:column;grid-auto-columns:106px;grid-template-rows:1fr;gap:9px;align-items:stretch;flex:1;min-height:0;padding:2px 2px 6px;scroll-snap-type:x proximity;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#46626b transparent}
.finish-dock-active .asset-card{min-width:0;max-width:none;width:106px;min-height:0;padding:6px;gap:7px;border-radius:8px;background:#162c34;border-color:#36515a;transform:none;transition:background .16s,border-color .16s,box-shadow .16s}
.finish-dock-active .asset-card:hover:not(:disabled){border-color:#7bb8bc;background:#203b43;box-shadow:0 0 0 1px #77bec02c}
.finish-dock-active .asset-card.active{background:#343b31;border-color:#d0ae75;box-shadow:inset 0 0 0 1px #d0ae7555}
.finish-dock-active .asset-card img,.finish-dock-active .asset-card .swatch{width:92px;height:auto;min-height:70px;max-height:118px;flex:1;object-fit:contain;background-color:#0e222a;border-radius:5px}
.finish-dock-active .asset-card .swatch{background-size:cover}
.finish-dock-active .asset-card span:last-child{min-height:25px;font-size:10px;line-height:1.3;color:#d3dfdc}
.finish-dock-active .opening-thumbnail{width:92px;height:auto;min-height:70px;max-height:118px;flex:1;border-radius:5px;background:#0e222a;display:block}
.finish-dock-active .asset-cards>.empty-card,.finish-dock-active .asset-cards>.subtle{grid-column:1/-1;min-width:210px;margin:0;align-self:center;font-size:11px!important}
.finish-dock-active .finish-editor{display:block;min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden;border-left:1px solid #3b565f;padding:1px 4px 5px 19px;scrollbar-width:thin;scrollbar-color:#46626b transparent;overscroll-behavior:contain}
.finish-editor-heading{display:flex;gap:10px;align-items:center;margin-bottom:10px;min-width:0}
.finish-editor-heading img{width:45px;height:45px;flex:0 0 45px;object-fit:contain;background:#0c2028;border:1px solid #365058;border-radius:7px;padding:3px}
.finish-dock-active .finish-editor-heading .opening-thumbnail{width:45px;height:45px;min-height:0;max-height:none;flex:0 0 45px;border:1px solid #365058;border-radius:7px;background:#0c2028}
.finish-editor-heading .finish-material-preview{width:45px;height:45px;flex:0 0 45px;border:1px solid #536966;border-radius:7px;background-color:#9f8864;background-size:cover}
.finish-editor-heading>div{min-width:0}
.finish-editor-heading strong{display:block;font:17px/1.15 Georgia,serif;color:#eee4ce;font-weight:400}
.finish-editor-heading small{display:block;font-size:9px;line-height:1.4;margin-top:4px;color:#94b4b8}
.finish-editor-heading .subtle{margin:4px 0 0;font-size:9px!important;line-height:1.4}
.finish-editor p{font-size:11px;line-height:1.5;color:#a6c0c4;margin:8px 0}
.finish-empty{min-height:140px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:7px;padding:10px 5px}
.finish-empty strong{font:21px Georgia,serif;color:#efe4cd;font-weight:400}
.finish-empty h2{font:21px/1.2 Georgia,serif;color:#efe4cd;font-weight:400;margin:0}
.finish-empty p{margin:0;max-width:260px;line-height:1.6}
.finish-empty .eyebrow{font-size:8px}
.finish-editor .button{padding:8px 11px;font-size:10px;gap:6px}
.finish-editor .quiet{font-size:10px;padding:7px 8px}
.finish-editor .field{margin:8px 0;gap:5px}
.finish-editor .field>span,.finish-editor .field>label{font-size:10px}
.finish-editor .field select,.finish-editor select{padding:7px 9px;font-size:10px;border:1px solid #3e5b65;border-radius:6px;background:#10242c;color:#e0e8e6;min-width:0}
.finish-editor .field input:not([type=range]):not([type=checkbox]){padding:6px 8px;font-size:10px}
.finish-editor .slider-line{font-size:10px;margin-bottom:5px}
.finish-editor .field-pair{gap:9px}
.finish-editor .field-pair .field{margin:7px 0}
.finish-editor .panel-section{margin:10px 0 0;padding-top:10px}
.finish-editor .subtle{font-size:10px!important;line-height:1.5;margin:7px 0}
.finish-editor .note-box,.finish-editor .warning-box{padding:8px;font-size:10px}
.finish-editor .detail-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;border:0;border-radius:0;background:none;padding:0;margin:0;box-shadow:none}
.finish-editor .detail-editor-heading{grid-column:1/-1;gap:9px;margin-bottom:1px}
.finish-editor .detail-editor-heading img{width:40px;height:40px}
.finish-editor .detail-editor-heading strong{font-size:16px}
.finish-editor .detail-editor-heading small{font-size:9px;margin-top:3px}
.finish-editor .detail-editor-actions{gap:4px;margin:0;align-self:center}
.finish-editor .detail-editor-actions .button,.finish-editor .detail-editor #focusDetail{font-size:9px;padding:7px 3px;white-space:nowrap}
.finish-editor .detail-rotation-bar{margin:0;gap:4px;padding:4px;background:#0e2229;align-self:center}
.finish-editor .detail-rotation-bar>button{width:27px;height:27px;flex-basis:27px;font-size:21px}
.finish-editor .detail-rotation-bar>label{display:none}
.finish-editor .detail-rotation-bar .detail-angle{flex:1;justify-content:center}
.finish-editor .detail-angle input{width:42px!important;padding:5px 3px!important;font-size:11px}
.finish-editor .detail-editor>.field:has(#stampScale){margin:0;gap:3px;align-self:center}
.finish-editor .detail-editor>.field:has(#stampScale) .slider-line{font-size:9px;margin-bottom:1px}
.finish-editor .detail-align-title{margin:10px 0 6px;font-size:9px}
.finish-editor .detail-align-tools{grid-column:1/-1;gap:4px}
.finish-editor .detail-align-tools button{font-size:9px;min-height:27px;padding:4px 2px}
.finish-editor .detail-align-tools button span{font-size:14px}
.finish-editor .detail-corner-tools{grid-column:1/-1;margin:0;gap:4px}
.finish-editor .detail-corner-tools button{min-height:26px;font-size:20px}
.finish-editor .detail-snap-option{margin:0;font-size:9px;gap:5px;align-self:center;line-height:1.4}
.finish-editor .detail-guide-help{font-size:9px!important;margin:0 0 8px!important}
.finish-editor .detail-measurements{grid-column:1/-1;padding-top:7px;margin-top:0;font-size:10px}
.finish-editor .detail-editor>.field:has(#stampLayer){grid-column:1/-1}
.finish-editor .detail-measurements summary{color:#a3c7c8}
.finish-tool-group{margin:8px 0;border-top:1px solid #304b53;padding-top:8px}
.finish-layer-stack{margin-top:9px;border-top:1px solid #304b53;padding-top:7px}
.finish-layer-stack>summary{font-size:10px;color:#b6d1d0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;padding:3px 0}
.finish-layer-stack>summary::-webkit-details-marker{display:none}
.finish-layer-stack>summary:after{content:'⌄';color:#d0ae75;font-size:14px}
.finish-layer-stack[open]>summary:after{content:'⌃'}
.finish-editor .stamp-layers{border:0;background:none;padding:6px 0 0;margin:0}
.finish-editor .stamp-layers .panel-title{font-size:10px;margin:5px 0 7px}
.finish-editor .stamp-layer-actions{gap:4px}
.finish-editor .stamp-layer-actions button{min-height:34px;font-size:8px;gap:3px}
.finish-editor .stamp-layer-actions button span{font-size:15px}
.finish-editor .stamp-layer-help{font-size:9px!important;margin:7px 0 0!important}
.finish-editor .stamp-layers .stamp-list{max-height:135px;margin:8px 0 0;gap:4px}
.finish-editor .stamp-layers .stamp-row{min-height:36px;padding:3px;gap:5px}
.finish-editor .stamp-layers .stamp-row img{width:26px;height:26px}
.finish-editor .stamp-layers .stamp-row button[data-stamp]{font-size:9px}
.finish-editor .stamp-row .stamp-edit{font-size:8px;padding:2px 4px}
.finish-material-summary{display:flex;flex-wrap:wrap;gap:6px 10px;padding:0 0 4px;font-size:10px;color:#d7c49e}
.finish-material-summary span{padding:5px 7px;background:#193037;border:1px solid #354f56;border-radius:5px}
.finish-material-summary .swatch{width:42px;height:42px;border-radius:6px;background-size:cover;border:1px solid #536966;flex:0 0 42px}
.finish-dock-active .asset-card img.material-thumbnail{object-fit:cover}
.finish-palette{margin-top:10px;border-top:1px solid #304b53;padding-top:8px}
.finish-palette>summary{cursor:pointer;font-size:10px;color:#aec9c8;padding:3px 0}
.finish-palette .field{margin:9px 0}
.finish-opening-list{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.opening-choice{border:1px solid #3b5961;border-radius:6px;background:#162e36;color:#bed2d2;padding:7px 9px;font-size:10px}
.opening-choice.active{border-color:#d0ae75;background:#333d33;color:#f0d5a6}
.opening-choice:hover:not(:disabled){border-color:#8fb9bb}
.finish-opening-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:8px 0}
.finish-opening-actions .danger{padding:7px 9px;border:1px solid #865f59;border-radius:6px;background:#35292a;font-size:10px}
.finish-opening-help{font-size:10px!important;color:#a4c4c6!important;line-height:1.5!important;margin:7px 0!important}
.finish-editor input[type=range]{height:14px;display:block}
.finish-dock-active .busy .finish-editor{opacity:.6}
@media(min-width:1750px){
  .workspace.finish-dock-active{grid-template-columns:84px minmax(0,1fr)}
  .finish-dock-active .floor-dock{height:336px;flex-basis:336px;padding:14px 28px 16px}
  .finish-dock-active .finish-workbench{grid-template-columns:minmax(0,1fr) 400px;gap:26px}
  .finish-dock-active .asset-cards{grid-auto-columns:124px;gap:11px}
  .finish-dock-active .asset-card{width:124px;padding:7px}
  .finish-dock-active .asset-card img,.finish-dock-active .asset-card .swatch,.finish-dock-active .opening-thumbnail{width:108px;max-height:144px}
}
@media(min-width:781px) and (max-width:1100px){
  .workspace.finish-dock-active{grid-template-columns:64px minmax(0,1fr)}
  .finish-dock-active .floor-dock{padding:10px 14px 12px;height:320px;flex-basis:320px}
  .finish-dock-active .finish-workbench{grid-template-columns:minmax(0,1fr) 295px;gap:15px}
  .finish-dock-active .finish-editor{padding-left:13px}
  .finish-dock-active .shelf-header{gap:6px;margin-bottom:7px}
  .finish-dock-active .shelf-tabs{gap:16px;flex-basis:100%}
  .finish-dock-active #assetSearch{width:100%;flex-basis:100%;padding:7px 9px}
  .finish-dock-active .asset-cards{grid-auto-columns:95px;gap:7px}
  .finish-dock-active .asset-card{width:95px;padding:5px}
  .finish-dock-active .asset-card img,.finish-dock-active .asset-card .swatch,.finish-dock-active .opening-thumbnail{width:83px;max-height:102px;min-height:60px}
  .finish-dock-active .dock-heading>div:first-child{gap:10px}
}
@media(max-height:730px) and (min-width:781px){
  .workspace.finish-dock-active{min-height:520px}
  .finish-dock-active .floor-dock{height:248px;flex-basis:248px;padding-top:8px;padding-bottom:8px}
  .finish-dock-active .stage{min-height:170px}
  .finish-dock-active .dock-hint{margin-bottom:6px}
  .finish-dock-active .asset-card img,.finish-dock-active .asset-card .swatch,.finish-dock-active .opening-thumbnail{max-height:95px;min-height:54px}
}
@media(max-width:780px){
  .workspace.finish-dock-active{grid-template-columns:56px minmax(0,1fr);height:calc(100dvh - 64px);min-height:684px}
  .finish-dock-active .tool-rail{grid-row:1;padding-top:10px}
  .finish-dock-active .view-toolbar{min-height:67px}
  .finish-dock-active .stage{height:auto;min-height:225px;flex:1 1 0}
  .finish-dock-active .stage-heading p{font-size:11px;max-width:190px}
  .finish-dock-active .stage-hints{left:12px;right:12px;font-size:8px;bottom:11px}
  .finish-dock-active .stage-hints>span:first-child{max-width:205px}
  .finish-dock-active .selection-label{left:12px;bottom:39px;max-width:calc(100% - 24px);padding:6px 9px;font-size:9px}
  .finish-dock-active .floor-dock{height:350px;flex-basis:350px;margin:0;padding:10px 12px;border-radius:0;box-shadow:0 -5px 22px #04101438}
  .finish-dock-active .floor-dock:has(.detail-editor){height:410px;flex-basis:410px}
  .finish-dock-active .dock-heading{gap:6px;align-items:center;min-height:28px}
  .finish-dock-active .dock-heading>div:first-child{display:block;min-width:0}
  .finish-dock-active .dock-heading .eyebrow{display:none}
  .finish-dock-active .dock-heading h2{font-size:15px}
  .finish-dock-active .dock-surface-controls .segmented{min-width:0;gap:2px}
  .finish-dock-active .dock-surface-controls .segmented button{font-size:9px;padding:5px 8px}
  .finish-dock-active .dock-close{width:24px;height:24px;flex-basis:24px;font-size:18px}
  .finish-dock-active .dock-hint{font-size:9px;margin:4px 0 7px}
  .finish-dock-active #dockMaterialsPanel{height:calc(100% - 46px)}
  .finish-dock-active .finish-workbench{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:136px minmax(0,1fr);gap:10px}
  .finish-dock-active .shelf-header{gap:6px;flex-wrap:nowrap;flex-direction:column;align-items:stretch;margin-bottom:6px}
  .finish-dock-active .shelf-tabs{flex:0 0 auto;gap:17px;width:100%;padding-bottom:1px;justify-content:flex-start}
  .finish-dock-active .shelf-tabs button{font-size:10px;padding:3px 0 6px}
  .finish-dock-active #assetSearch{flex:0 0 auto;width:100%;max-width:none;padding:6px 9px;font-size:10px}
  .finish-dock-active .asset-cards{grid-auto-columns:75px;gap:6px;padding-bottom:4px;min-height:0}
  .finish-dock-active .asset-card{width:75px;padding:4px;gap:4px;border-radius:6px}
  .finish-dock-active .asset-card img,.finish-dock-active .asset-card .swatch,.finish-dock-active .opening-thumbnail{width:65px;min-height:34px;max-height:46px;border-radius:3px}
  .finish-dock-active .asset-card span:last-child{font-size:8px;min-height:19px;line-height:1.15}
  .finish-dock-active .finish-editor{padding:8px 3px 4px 0;border-left:0;border-top:1px solid #3b565f}
  .finish-editor-heading{margin-bottom:6px;gap:8px}
  .finish-editor-heading img{width:34px;height:34px;flex-basis:34px}
  .finish-dock-active .finish-editor-heading .opening-thumbnail,.finish-editor-heading .finish-material-preview{width:34px;height:34px;flex-basis:34px}
  .finish-editor-heading strong{font-size:15px}
  .finish-editor-heading small{margin-top:2px;font-size:8px}
  .finish-empty{min-height:100px;padding:2px;gap:6px}
  .finish-empty strong{font-size:18px}
  .finish-empty h2{font-size:18px}
  .finish-empty p{font-size:10px;max-width:none}
  .finish-editor .detail-editor-heading{margin-bottom:0;gap:8px}
  .finish-editor .detail-editor{gap:4px}
  .finish-editor .detail-editor-heading img{width:30px;height:30px}
  .finish-editor .detail-editor-heading strong{font-size:14px}
  .finish-editor .detail-editor-heading small{font-size:8px;line-height:1.2;margin-top:2px}
  .finish-editor .detail-editor-actions{margin:0}
  .finish-editor .detail-rotation-bar{margin:0;padding:3px}
  .finish-editor .detail-align-title{margin-top:7px}
  .finish-editor .detail-align-tools{gap:3px}
  .finish-editor .detail-align-tools button{min-height:24px;padding:3px 2px;font-size:8px}
  .finish-editor .detail-corner-tools button{min-height:22px;font-size:18px}
  .finish-editor .detail-measurements{font-size:10px;margin-top:6px}
  .finish-dock-active .model-status{height:36px;min-height:36px}
  .finish-dock-active .model-status .status-grid{font-size:8px}
}
@media(max-width:390px){
  .finish-dock-active .floor-dock{padding-left:9px;padding-right:9px}
  .finish-dock-active .dock-heading h2{font-size:13px}
  .finish-dock-active .dock-surface-controls .segmented button{padding:5px 6px;font-size:8px}
  .finish-dock-active .dock-close{width:22px;height:22px;flex-basis:22px}
}

.stamp-clipboard-tools{display:flex;align-items:center;gap:6px;padding:3px 0 7px;margin-bottom:7px;border-bottom:1px solid #304b53;font-size:9px;color:#9bbbc0;position:sticky;top:0;z-index:3;background:#12252d}
.stamp-clipboard-tools #deleteCopiedSelection{width:24px;padding:3px 0;font-size:17px;color:#e8b6a8;border-color:#76534d;background:#342b2c}
.stamp-clipboard-tools>span{flex:1;min-width:0;line-height:1.3}
.stamp-capacity-count{display:block;margin-top:3px;font-size:8px;color:#91afb4}
.stamp-capacity-count.full{color:#d0ae75}
.detail-scale-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:9px 0 12px;padding:8px 10px;border:1px solid #38585f;border-radius:6px;background:#10232a}
.detail-scale-summary>div{min-width:0}
.detail-scale-summary .quiet{font-size:9px;padding:5px;white-space:nowrap;flex:0 0 auto;color:#cfbf9e}
.detail-scale-summary strong{display:block;font-size:11px;font-weight:500;color:#dbe9de}
.detail-scale-summary small{display:block;font-size:9px;line-height:1.5;margin-top:3px;color:#9cbbbe}
.opening-border-fit{grid-column:1/-1;display:flex;gap:8px;align-items:flex-end;min-width:0}
.opening-border-fit .field{flex:1;min-width:0;margin:0!important}
.opening-border-fit .button{flex:none;min-height:31px;white-space:nowrap}
.opening-border-help{grid-column:1/-1}
.attic-roof-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 15px;margin:0 0 12px;background:#173138;border:1px solid #668e91;border-radius:8px}
.attic-roof-controls strong{display:block;font:17px Georgia,serif;color:#f0dfb9}
.attic-roof-controls span{display:block;font-size:11px;line-height:1.5;color:#b9d0d0;margin-top:4px}
.attic-roof-controls .button{flex:none}
.attic-workbench h3{font:23px Georgia,serif;color:#f0dfb9;margin:12px 0}
.attic-workbench .button{font-size:12px;max-width:100%}
.attic-actions{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}
.attic-level-row{border:1px solid #668e91;border-radius:7px;margin:8px 0;padding:3px}
.attic-workbench #atticRemove{display:block;margin-top:12px}
@media(max-width:700px){.attic-roof-controls{align-items:stretch;flex-direction:column;gap:8px}.attic-workbench .button{font-size:10px}.attic-workbench h3{font-size:19px}.attic-actions{gap:5px;margin:10px 0}}
.stamp-composable-hint{margin-top:0}
/* Roof edits keep the model visible above one bottom workspace. */
.workspace.roof-dock-active{grid-template-columns:76px minmax(0,1fr);grid-template-rows:minmax(0,1fr);height:calc(100dvh - 78px);min-height:620px}
.roof-dock-active>.inspector{display:none}
.roof-dock-active .tool-rail{grid-row:1}
.roof-dock-active .canvas-column{min-height:0;height:100%;overflow:hidden}
.roof-dock-active .stage{height:auto;min-height:220px;flex:1 1 0}
.roof-dock-active .floor-dock{position:relative;inset:auto;width:auto;max-width:none;flex:0 0 330px;height:330px;margin:0;padding:12px 20px;border:0;border-top:1px solid #4b666a;border-radius:0;background:linear-gradient(125deg,#13262dfc,#102028fc);box-shadow:0 -9px 32px #0310153b;backdrop-filter:none;animation:none}
.roof-dock-active .dock-heading{align-items:center}
.roof-dock-active .dock-heading>div:first-child{display:flex;align-items:center;gap:14px;min-width:0}
.roof-dock-active .dock-heading h2{font-size:18px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.roof-dock-active .dock-heading .eyebrow{font-size:9px}
.roof-dock-active .dock-hint{margin:5px 0 8px;font-size:10px}
.roof-dock-active .dock-tabs{display:none}
.roof-dock-active #dockRoomPanel{max-height:calc(100% - 53px);overflow:auto;padding-top:0}
.roof-dock-active .quick-build-top{margin-bottom:9px}
.roof-dock-active .build-quick-tabs{max-width:390px}
.roof-workbench{display:grid;grid-template-columns:215px minmax(245px,1fr) 240px;gap:24px}
.roof-workbench .panel-title{font-size:10px;color:#c3d3cf;margin-bottom:8px}
.roof-workbench .field{margin:7px 0 10px;gap:5px}
.roof-workbench .field>span{font-size:10px}
.roof-workbench .field select{padding:7px 9px;font-size:11px}
.roof-workbench .roof-coverage-copy{min-height:0;font-size:10px!important;line-height:1.5;margin:7px 0 0!important}
.roof-workbench .roof-scope{margin:8px 0}
.roof-workbench .roof-scope button{font-size:10px}
.roof-style-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.roof-style-choices button{min-height:123px;padding:9px 6px;gap:5px}
.roof-style-icon{width:78px;height:64px;max-width:100%}
.roof-kit-summary,.roof-preview-note{font-size:9px;color:#9db6bc;line-height:1.5;margin:9px 0 0}
.roof-direction{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:8px}
.roof-direction button{border:1px solid #45626a;border-radius:7px;background:#162d34;padding:9px 5px;font-size:10px;color:#c3d6d4}
.roof-direction button span{padding-right:6px;color:#d0ae75;font-size:15px}
.roof-direction button.active{border-color:#d0ae75;background:#354236;color:#f1dcb5}
.roof-options-controls .quick-toggle{margin:7px 0 9px;font-size:11px}
.roof-options-controls .button{padding:9px 11px;font-size:11px;margin-top:6px}
.roof-remove{color:#e3b3a4}
.roof-options-controls>.roof-remove{display:block;margin-top:5px;padding-left:0}
.roof-surface-actions{display:flex;align-items:center;gap:8px;padding:0 0 9px;margin-bottom:9px;border-bottom:1px solid #38545c}
.roof-surface-actions .button{font-size:10px;padding:8px 11px}
.roof-surface-actions .quiet{font-size:10px}
@media(min-width:1750px){.workspace.roof-dock-active{grid-template-columns:84px minmax(0,1fr)}.roof-workbench{grid-template-columns:260px minmax(300px,1fr) 290px;gap:35px}.roof-dock-active .floor-dock{padding-left:28px;padding-right:28px}}
@media(min-width:781px) and (max-width:1100px){.workspace.roof-dock-active{grid-template-columns:64px minmax(0,1fr)}.roof-workbench{grid-template-columns:190px minmax(235px,1fr) 205px;gap:13px}.roof-dock-active .floor-dock{padding-left:14px;padding-right:14px}.roof-style-choices button{padding-left:3px;padding-right:3px}.roof-style-choices strong{font-size:10px}.roof-style-choices small{font-size:8px}}
@media(max-width:780px){
  .view-actions .quiet{font-size:9px;padding:7px 6px}
  .workspace.roof-dock-active{grid-template-columns:56px minmax(0,1fr);height:calc(100dvh - 64px);min-height:0;overflow:hidden}
  .roof-dock-active .stage{min-height:180px}
  .roof-dock-active .floor-dock{height:430px;flex:0 1 430px;min-height:260px;padding:10px 12px}
  .roof-dock-active .dock-heading .eyebrow{display:none}
  .roof-dock-active .dock-heading h2{font-size:16px}
  .roof-dock-active .dock-hint{font-size:9px;line-height:1.4;margin:4px 0 6px}
  .roof-dock-active .quick-build-top{margin-bottom:7px}
  .roof-dock-active .build-quick-tabs{gap:3px}
  .roof-dock-active .build-quick-tabs button{font-size:9px;padding:6px 5px}
  .roof-dock-active .quick-room-delete{font-size:9px;padding:6px}
  .roof-workbench{grid-template-columns:minmax(0,1fr);gap:8px}
  .roof-target-controls{display:grid;grid-template-columns:minmax(0,1fr) 165px;gap:6px}
  .roof-target-controls>.panel-title,.roof-options-controls>.panel-title{display:none}
  .roof-target-controls .field,.roof-target-controls .roof-scope{margin:0}
  .roof-target-controls .roof-coverage-copy{grid-column:1/-1;font-size:9px!important;margin:0!important}
  .roof-target-controls .roof-scope button{font-size:9px;padding:6px 3px}
  .roof-workbench .field select{padding:6px 7px;font-size:10px}
  .roof-style-controls>.panel-title{margin-bottom:5px;font-size:9px}
  .roof-style-choices{gap:6px}
  .roof-style-choices button{min-height:87px;padding:5px 3px;gap:3px}
  .roof-style-choices strong{font-size:10px}
  .roof-style-choices small{font-size:8px}
  .roof-style-icon{width:58px;height:43px}
  .roof-kit-summary{font-size:8px;margin-top:5px}
  .roof-options-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .roof-options-controls .roof-direction,.roof-options-controls>.quick-build-copy,.roof-options-controls>.roof-preview-note{grid-column:1/-1;margin:0!important}
  .roof-options-controls .field,.roof-options-controls .quick-toggle{margin:0}
  .roof-options-controls .button,.roof-options-controls>.roof-remove{margin:0;padding:8px 5px;font-size:10px}
  .roof-options-controls>.roof-remove{border:1px solid #70584e;border-radius:6px}
  .roof-preview-note{font-size:8px}
  .workspace.roof-dock-active~.notice{top:72px;bottom:auto;left:76px;right:12px;transform:none;max-width:calc(100vw - 88px);font-size:10px}
}
.stamp-clipboard-tools button,.stamp-layer-selection button{padding:5px 9px;border:1px solid #527277;background:#203c43;border-radius:5px;color:#d4ebe6;font-size:10px;white-space:nowrap}
.stamp-clipboard-tools button:hover:not(:disabled),.stamp-layer-selection button:hover{border-color:#d0ae75;background:#34443d}
.stamp-clipboard-tools button:disabled{opacity:.4;cursor:default}
.stamp-layer-selection{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:8px 0;color:#9bbcc0;font-size:9px}
.stamp-layer-selection button{font-size:9px;padding:4px 7px}
.stamp-group-thumbnails{display:grid;grid-template-columns:repeat(2,24px);flex:0 0 50px;gap:2px}
.stamp-group-thumbnails img{width:24px;height:24px;padding:1px;border:1px solid #517776;background:#10262d;border-radius:4px}
.stamp-group-editor .detail-editor-actions{margin:8px 0}
.detail-footprint .detail-peer-footprint{stroke:#f0d397;fill:#efc97716;stroke-dasharray:4 3}
.stamp-context-menu{position:fixed;z-index:1300;width:230px;padding:7px;border:1px solid #61898a;border-radius:12px;background:#142b33f5;box-shadow:0 12px 35px #0008;backdrop-filter:blur(16px);animation:dock-appear .12s ease-out}
.stamp-context-title{display:block;font-size:9px;letter-spacing:.5px;color:#cdb27b;padding:7px 8px 9px;border-bottom:1px solid #38525a;margin-bottom:4px}
.stamp-context-menu button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:9px 8px;text-align:left;border:0;border-radius:6px;background:transparent;color:#d6e9e6;font-size:11px}
.stamp-context-menu button:hover:not(:disabled),.stamp-context-menu button:focus-visible{background:#2e484b;color:#fff2d5;outline:1px solid #99c9c4}
.stamp-context-menu button:disabled{opacity:.35;cursor:default}
.stamp-context-menu kbd{font-family:inherit;font-size:9px;color:#8eb2b9}
.stamp-context-menu [data-stamp-context=delete]{color:#e8b6a8}
/* One permanent editing dock holds both structure and printed artwork. */
.workspace.studio-dock-active{grid-template-columns:76px minmax(0,1fr);grid-template-rows:minmax(0,1fr);height:calc(100dvh - 78px);min-height:620px}
.studio-dock-active>.inspector{display:none}
.studio-dock-active .tool-rail{grid-row:1}
.studio-dock-active .canvas-column{height:100%;min-height:0;overflow:hidden}
.studio-dock-active .stage{height:auto!important;min-height:200px;flex:1 1 0}
.studio-dock-active .floor-dock{position:relative;inset:auto;width:100%;max-width:none;display:flex;flex-direction:column;height:360px;flex:0 0 360px;min-height:0;margin:0;padding:11px 20px;border:0;border-top:1px solid #4b666a;border-radius:0;background:linear-gradient(125deg,#13262dfc,#102028fc);box-shadow:0 -9px 32px #0310153b;backdrop-filter:none;animation:none;overflow:hidden}
.studio-dock-active .dock-heading{align-items:center;gap:12px;min-height:27px;flex:0 0 auto}
.studio-dock-active .dock-heading>div:first-child{min-width:0;display:flex;align-items:center;gap:14px;flex:1}
.studio-dock-active .dock-heading .eyebrow{font-size:9px;white-space:nowrap}
.studio-dock-active .dock-heading h2{font:18px/1.2 Georgia,serif;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.studio-dock-active .dock-hint{font-size:10px;line-height:1.5;margin:3px 0 7px;flex:0 0 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.studio-dock-active .dock-close{width:27px;height:27px;flex-basis:27px;font-size:18px}
.studio-dock-active .workbench-tabs{display:flex!important;justify-content:flex-start;align-items:stretch;gap:20px;width:100%;max-width:100%;min-height:34px;flex:0 0 34px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;margin:0 0 10px;padding:0;border:0;border-bottom:1px solid #334d54;border-radius:0;background:none;scrollbar-width:none;scroll-snap-type:x proximity}
.studio-dock-active .workbench-tabs::-webkit-scrollbar{display:none}
.studio-dock-active .workbench-tabs button{display:block!important;flex:0 0 auto;font-size:11px;font-weight:500;line-height:1.2;padding:7px 0 9px;border:0;border-bottom:2px solid transparent;border-radius:0;scroll-snap-align:start;white-space:nowrap;background:none;color:#9eb9bd}
.studio-dock-active .workbench-tabs button.active{color:#f0d4a7;border-bottom-color:#d0ae75;background:none;box-shadow:none}
.studio-dock-active .workbench-tabs button:disabled{opacity:.4}
.studio-dock-active #dockRoomPanel,.studio-dock-active #dockMaterialsPanel{flex:1 1 0;height:auto;max-height:none;min-height:0;padding:0;overflow:auto}
.studio-dock-active #dockMaterialsPanel{overflow:hidden}
.studio-dock-active .finish-workbench{height:100%;min-height:0}
.studio-dock-active .shelf-header{margin-bottom:7px;min-height:31px;flex:0 0 auto;justify-content:flex-end}
.opening-quick-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;flex:0 0 auto;margin:0 0 10px;padding:10px 12px;border:1px solid #3e5b65;border-radius:9px;background:#142b32;min-width:0}
.opening-quick-actions[hidden]{display:none!important}
.opening-quick-selection{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;min-width:0;font-size:12px;color:#e3efec}
.opening-quick-selection small{color:#a9c2c4;font-size:11px}
.opening-quick-actions .finish-opening-list{display:flex;flex-wrap:wrap;gap:5px;margin:0}
.opening-quick-actions .button{white-space:nowrap;padding:9px 12px;min-height:36px}
@media(max-width:760px){.opening-quick-actions{padding:7px 8px;gap:8px;margin-bottom:7px}.opening-quick-selection{font-size:11px;gap:5px}.opening-quick-selection small{display:none}.opening-quick-actions .button{font-size:11px;padding:8px;min-height:38px}}
.studio-dock-active .shelf-filters{max-width:100%;flex:0 1 390px}
.studio-dock-active .shelf-filters:has(#assetCategory[hidden]){flex:0 1 220px}
.studio-dock-active .shelf-filters #assetSearch{width:0;flex:1;min-width:0}
.studio-dock-active .dock-surface-controls .segmented{padding:2px;border-radius:18px;min-width:140px}
.studio-dock-active .dock-surface-controls .segmented button{font-size:10px;white-space:nowrap;padding:5px 11px;border-radius:14px}
.room-workbench{display:grid;grid-template-columns:200px minmax(280px,1fr) 280px;gap:24px;min-width:0}
.room-workbench>section{min-width:0}
.room-workbench .panel-title{font-size:10px;margin:0 0 7px;color:#c4d9d5}
.room-workbench .field{margin:7px 0 10px;gap:5px}
.room-workbench .field>span{font-size:10px}
.room-workbench .field select,.room-workbench .field input{padding:7px 9px;font-size:11px}
.room-context .field{margin-top:3px;margin-bottom:7px}
.room-size-summary{display:flex;align-items:center;gap:12px;margin:5px 0 8px}
.room-size-summary strong{font:24px Georgia,serif;color:#efd9b0;white-space:nowrap}
.room-size-summary span{font-size:9px;color:#9fbdc1;line-height:1.5}
.room-workbench .room-layout-options{gap:5px;margin-bottom:6px}
.room-workbench .room-layout-options button{padding:7px 3px;gap:5px;font-size:9px}
.room-workbench .layout-diagram{height:20px;width:26px}
.room-workbench .room-size-options{gap:6px;grid-template-columns:repeat(3,minmax(0,1fr))}
.room-workbench .room-size-options button{padding:7px 4px;gap:4px}
.room-workbench .size-shape{height:20px}
.room-workbench .room-size-options strong{font-size:12px}
.room-workbench .room-size-options small{font-size:9px}
.room-workbench .addition-custom-size{gap:8px;margin-top:6px}
.room-workbench .addition-custom-size .field{margin:0}
.base-plate-size-note{font-size:10px;color:#a7c5c0;line-height:1.55;margin:9px 0 6px}
.base-plate-size-note strong{font-weight:500;color:#ded8c7}
.room-workbench .quick-build-copy,.room-workbench .alignment-note{font-size:9px!important;line-height:1.5!important}
.room-workbench .action-grid button{padding:8px 7px;font-size:10px}
.room-workbench .field-pair{gap:10px}
.room-settings-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0 0 8px;border:0;border-bottom:1px solid #36545c;font-size:11px;font-weight:600;color:#e2d2b6}
.room-settings-toggle span{font-size:16px;font-weight:400}
.room-move-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:8px}
.room-move-actions button{padding:6px;border:1px solid #46636b;border-radius:6px;background:#1b343c;font-size:16px;color:#d0ae75}
.room-settings-note{display:block;font-size:9px;color:#9ab6bd;margin:6px 0 9px;line-height:1.5}
.room-remove{margin-top:8px;padding:8px 10px;background:#392b2b;border-color:#79564c;color:#e8b5a5;font-size:10px}
.room-palette{font-size:10px;color:#a7bdc1;margin-top:9px;cursor:pointer}
.room-palette .panel-section{margin-top:9px;padding-top:9px}
.roof-story-note{font-size:10px;line-height:1.5;color:#d5ddc6;padding:6px 9px;margin:0 0 9px;background:#1c3236;border:1px solid #38555c;border-radius:6px}
.production-budget{color:#a7c5c0;white-space:nowrap;font-size:9px}
.production-budget.budget-exceeded{color:#edb3a3}
.budget-short{display:none}
.workspace.studio-dock-active~.notice{top:148px;bottom:auto;left:auto;right:24px;transform:none;max-width:min(460px,calc(100vw - 110px))}
.studio-dock-active.dock-collapsed .floor-dock{height:76px!important;flex:0 0 76px!important;padding-top:8px;padding-bottom:0}
.studio-dock-active.dock-collapsed .workbench-tabs{margin-bottom:0;min-height:31px;flex-basis:31px}
@media(min-width:1750px){.workspace.studio-dock-active{grid-template-columns:84px minmax(0,1fr)}.room-workbench{grid-template-columns:250px minmax(300px,1fr) 320px;gap:32px}.studio-dock-active .floor-dock{padding-left:28px;padding-right:28px}}
@media(min-width:781px) and (max-width:1100px){.workspace.studio-dock-active{grid-template-columns:64px minmax(0,1fr)}.room-workbench{grid-template-columns:175px minmax(225px,1fr) 215px;gap:13px}.studio-dock-active .floor-dock{padding-left:14px;padding-right:14px}.studio-dock-active .workbench-tabs{gap:16px}.room-workbench .room-size-options button{padding-left:2px;padding-right:2px}}
@media(max-width:780px){
  .workspace.studio-dock-active{grid-template-columns:56px minmax(0,1fr);height:calc(100dvh - 64px);min-height:0;overflow:hidden}
  .studio-dock-active .stage{min-height:180px!important}
  .studio-dock-active .floor-dock{height:430px;flex:0 1 430px;min-height:260px;padding:9px 12px}
  .studio-dock-active .dock-heading .eyebrow{display:none}
  .studio-dock-active .dock-heading>div:first-child{display:block}
  .studio-dock-active .dock-heading h2{font-size:15px}
  .studio-dock-active .dock-hint{font-size:9px;margin-bottom:5px}
  .studio-dock-active .workbench-tabs{gap:18px;min-height:32px;flex-basis:32px;margin-bottom:8px}
  .studio-dock-active .workbench-tabs button{font-size:10px;padding:6px 0 8px}
  .studio-dock-active .dock-surface-controls .segmented{min-width:0}
  .studio-dock-active .dock-surface-controls .segmented button{font-size:8px;padding:5px 6px}
  .studio-dock-active .shelf-header{flex-direction:row;min-height:28px;margin-bottom:5px}
  .studio-dock-active .shelf-filters,.studio-dock-active .shelf-filters:has(#assetCategory[hidden]){flex:0 0 auto;width:100%;max-width:none}
  .studio-dock-active .finish-workbench{grid-template-rows:116px minmax(0,1fr);gap:8px}
  .studio-dock-active .shelf-filters #assetSearch{width:0;flex:1;padding:6px 8px}
  .room-workbench{grid-template-columns:minmax(0,1fr);gap:12px}
  .room-context{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .room-context>.panel-title,.room-context>.room-layout-options,.room-context>.quick-build-copy{grid-column:1/-1}
  .room-context>.panel-title{margin-bottom:0}
  .room-context .field{margin:0}
  .room-size-summary{grid-column:1/-1;margin:1px 0 5px}
  .room-context .room-layout-options{margin-bottom:0}
  .room-workbench .field input,.room-workbench .field select{font-size:10px;padding:6px 8px}
  .room-workbench .room-size-options button{padding:6px 3px}
  .studio-dock-active .model-status{height:36px;min-height:36px}
  .production-budget{font-size:8px}.budget-long{display:none}.budget-short{display:inline}
  .workspace.studio-dock-active~.notice{top:72px;bottom:auto;left:76px;right:12px;transform:none;max-width:calc(100vw - 88px);font-size:10px}
}
.shelf-filters{display:flex;align-items:center;gap:8px;min-width:0;flex:0 1 360px}
/* Stories and both balcony types share the permanent bottom workbench. */
.upper-position-row{display:grid;grid-template-columns:130px minmax(0,1fr);gap:13px;align-items:center;margin:4px 0}
.upper-edge-map{position:relative;width:130px;height:112px;flex-shrink:0}
.upper-edge-map svg{display:block;width:100%;height:100%}
.upper-map-edge{position:absolute;display:flex;align-items:center;justify-content:center;border:1px solid #4d7175;background:#193039;color:#add4ce;border-radius:5px;padding:0;font-size:16px;line-height:1;transition:background .15s,border-color .15s,box-shadow .15s}
.upper-map-edge.top,.upper-map-edge.bottom{width:42px;height:24px;left:calc(50% - 21px)}
.upper-map-edge.top{top:0}.upper-map-edge.bottom{bottom:0}
.upper-map-edge.left,.upper-map-edge.right{height:42px;width:24px;top:calc(50% - 21px)}
.upper-map-edge.left{left:3px}.upper-map-edge.right{right:3px}
.upper-map-edge:hover,.upper-map-edge.active{border-color:#9af1df;background:#284d51;box-shadow:0 0 0 2px #9af1df20;color:#d6fff1}
.upper-map-edge.installed{background:#443e2a;border-color:#b99762;color:#efd1a0}
.upper-map-edge.blocked{border-style:dashed;border-color:#755c50;background:#262c2c;color:#99887d}
.upper-map-edge:focus-visible{outline:2px solid #f4d298;outline-offset:3px}
.upper-position-help{display:grid;gap:6px;min-width:0;font-size:10px;line-height:1.5;color:#aac1c2}
.upper-position-help strong{color:#d9e4db;font-size:11px}.upper-position-help small{color:#dabc87;font-size:9px}
.upper-workbench[data-kind=outside] .upper-type-cards svg{height:24px}
.upper-workbench[data-kind=outside] .upper-position-row{margin:0}
@media(min-width:781px){.upper-workbench[data-kind=outside] .upper-position-row{grid-template-columns:124px minmax(0,1fr)}.upper-workbench[data-kind=outside] .upper-edge-map{width:124px;height:104px}}
.upper-workbench[data-kind=outside] .upper-placement-controls>.field{display:flex;flex-direction:row;align-items:center;gap:9px;margin:0 0 3px}
.upper-workbench[data-kind=outside] .upper-placement-controls>.field>span{white-space:nowrap;font-size:9px}
.upper-workbench[data-kind=outside] .upper-placement-controls>.field select{flex:1;min-width:0;padding:5px 7px;font-size:10px}
.upper-workbench[data-kind=outside] .upper-placement-controls>.upper-plan-readout,.upper-workbench[data-kind=outside] .upper-placement-controls>.upper-placement-copy:last-child{display:none}
@media(max-width:780px){.upper-position-row{grid-template-columns:94px minmax(0,1fr);gap:9px;margin:2px 0}.upper-edge-map{width:94px;height:78px}.upper-map-edge.top,.upper-map-edge.bottom{width:34px;left:calc(50% - 17px);height:22px}.upper-map-edge.left,.upper-map-edge.right{width:22px;height:34px;top:calc(50% - 17px)}.upper-position-help{font-size:8px;line-height:1.35;gap:3px}.upper-position-help strong{font-size:9px}.upper-position-help small{font-size:8px}}
.dock-surface-controls:has(#floorFinishRoom){align-items:center;gap:12px}.dock-surface-controls .field:has(#floorFinishRoom){margin:0;min-width:140px;max-width:260px;gap:3px}.dock-surface-controls .field:has(#floorFinishRoom)>span{font-size:9px;color:#b6cec9}.dock-surface-controls #floorFinishRoom{font-size:10px;padding:5px 9px;min-width:0}
.upper-dock-active #dockRoomPanel{overflow:hidden}
.upper-dock-active .quick-build-content{height:100%;min-height:0;display:flex;flex-direction:column}
.upper-workbench{height:100%;min-height:0;display:grid;grid-template-columns:205px minmax(300px,1fr) 250px;gap:24px}
.upper-workbench>section{min-width:0;min-height:0}
.upper-workbench .panel-title{font-size:10px;color:#c4d9d5;margin:0 0 7px}
.upper-workbench .field{margin:0 0 8px;gap:4px}
.upper-workbench .field>span{font-size:10px;color:#a9c4c6}
.upper-workbench .field select{font-size:11px;padding:7px 9px;background:#10242a}
.upper-context{overflow:auto;overscroll-behavior:contain;padding-right:3px}
.upper-level-list{display:flex;flex-direction:column;gap:4px}
.upper-level-row{display:flex;align-items:stretch;border:1px solid #385961;background:#132a31;border-radius:7px;overflow:hidden;min-height:40px}
.upper-level-row.selected{border-color:#86beba;background:#204044}
.upper-level-row>button:first-child{flex:1;min-width:0;padding:6px 8px;text-align:left}
.upper-level-row strong{display:block;font-size:10px;color:#e3ddd0}
.upper-level-row small{display:block;font-size:9px;color:#a2bcbf;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.upper-level-row>button:not(:first-child){flex:0 0 30px;font-size:10px;padding:5px 6px;border-left:1px solid #385961;color:#c3dad8}
.upper-level-row>button[data-upper-remove]{font-size:17px;color:#e9b7a7;flex-basis:27px}
.upper-level-row>button:hover{background:#294b50}
.upper-ground-lock{align-self:center;font-size:16px;padding:0 9px;color:#7b9d9e}
.upper-context-help{font-size:9px;line-height:1.5;color:#98b5b9;margin:8px 0 0}
.upper-placement{display:flex;flex-direction:column;overflow:hidden}
.upper-type-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;flex:0 0 auto;margin-bottom:9px}
.upper-type-cards button{border:1px solid #44636a;border-radius:9px;background:#10242a;padding:5px 5px 8px;text-align:left;min-width:0;transition:border-color .15s,background .15s}
.upper-type-cards button:hover{border-color:#9ec9c5;background:#213a3f}
.upper-type-cards button.active{border-color:#d0ae75;background:#313d36;box-shadow:inset 0 0 0 1px #d0ae7530}
.upper-type-cards svg{width:100%;height:45px;display:block;margin-bottom:1px}
.upper-type-cards strong{display:block;font-size:11px;color:#efe0c7;white-space:nowrap}
.upper-type-cards small{display:block;font-size:9px;line-height:1.35;color:#a7c0c1;margin-top:3px}
.upper-workbench[data-kind=gallery] .upper-type-cards svg{height:28px}
.upper-placement-controls{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding-right:3px}
.upper-placement-copy{font-size:10px;line-height:1.55;color:#b1c9ca;margin:5px 0 8px}
.upper-subtype{display:flex;border:1px solid #3e5d65;background:#10242b;border-radius:6px;padding:2px;margin-bottom:7px;gap:3px}
.upper-subtype button{flex:1;font-size:10px;padding:6px 7px;border-radius:4px;color:#a9c1c5}
.upper-subtype button.active{background:#314740;color:#efdbb7}
.upper-edge-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-bottom:8px}
.upper-edge-choices button{font-size:10px;padding:7px 3px;border:1px solid #46616a;background:#18343b;border-radius:6px;color:#bad1d2}
.upper-edge-choices button.active{border-color:#90d0c9;background:#285252;color:#d5fff7}
.upper-edge-choices button.blocked{border-style:dashed;color:#d2ab99}
.upper-edge-choices button:disabled{opacity:.4;cursor:default}
.upper-depth-row{display:flex;gap:13px;align-items:center}
.balcony-size-fields{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:end;margin:10px 0}
.balcony-size-fields .field{margin:0;min-width:0}
.balcony-size-fields input{width:100%;min-width:0;min-height:38px}
.balcony-size-times{color:var(--muted);padding-bottom:11px}
.balcony-layout{display:grid;grid-template-columns:minmax(250px,1fr) minmax(190px,1fr);gap:16px;align-items:center}
.balcony-size-panel{min-width:0}
.balcony-size-panel .balcony-size-fields{margin:0 0 5px}
.upper-workbench[data-kind=outside] .upper-type-cards svg{height:28px}
@media(min-width:781px) and (max-width:1100px){.balcony-layout{grid-template-columns:100px minmax(0,1fr);gap:10px}.balcony-layout .upper-position-row{display:block}.balcony-layout .upper-position-help{display:none}.balcony-layout .upper-edge-map{width:100px!important;height:88px!important}}
@media(max-width:780px){.balcony-layout{grid-template-columns:94px minmax(0,1fr);gap:9px;align-items:start}.balcony-layout .upper-position-row{display:block}.balcony-layout .upper-position-help{display:none}.balcony-size-fields{gap:6px}.balcony-size-fields input{min-height:31px;padding:5px 6px;font-size:12px}.balcony-size-times{padding-bottom:7px}.balcony-size-explanation{display:none}.upper-workbench[data-kind=outside] .upper-type-cards svg{height:25px}}
.upper-depth-row>.field{flex:1;min-width:0;margin:0}
.upper-plan-readout{display:flex;align-items:center;gap:10px;margin:3px 0 8px;color:#9ebec0}
.upper-plan-readout strong{font:24px/1.2 Georgia,serif;color:#ecd6b0;white-space:nowrap}
.upper-plan-readout span{font-size:9px;line-height:1.5}
.upper-depth-row .upper-plan-readout{margin:0;gap:7px}
.upper-depth-row .upper-plan-readout strong{font-size:21px}
.upper-confirm-panel{display:flex;flex-direction:column;border-left:1px solid #385961;padding-left:20px;overflow:hidden}
.upper-target-title{font:18px/1.2 Georgia,serif;color:#ead8b9;margin:0 0 10px}
.upper-included{list-style:none;padding:0;margin:0 0 8px;font-size:10px;line-height:1.7;color:#b7ceca}
.upper-included li:before{content:'✓';color:#95cbc0;display:inline-block;width:16px}
.upper-fit-summary{font-size:9px;line-height:1.5;color:#b7d7cc;min-height:34px;margin:0 0 8px;padding:6px 8px;border:1px solid #3e5c58;border-radius:6px;background:#1a3535;overflow:auto;overscroll-behavior:contain;flex:1 1 auto}
.upper-fit-summary strong{display:block;font-size:10px;font-weight:500}
.upper-fit-summary span{display:block;margin-top:3px;color:#99b8bd}
.upper-fit-summary.blocked{border-color:#8d6d4d;background:#362e24;color:#eed3a6}
.upper-confirm-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.upper-confirm-actions .button{flex:1;padding:10px 9px;font-size:11px;display:flex;justify-content:space-between;align-items:center;gap:5px}
.upper-confirm-actions .quiet{font-size:10px;padding:8px 0}
.upper-remove-balcony,.upper-roof-link{font-size:9px;line-height:1.4;padding:5px 0 0;text-align:left;flex:0 0 auto;color:#d5bd93}
.upper-remove-balcony{color:#e9b5a4}
.upper-workbench button:focus-visible{outline:2px solid #9dd8d0;outline-offset:2px}
.wall-shape-workbench{display:grid;grid-template-columns:220px minmax(300px,1fr) 280px;gap:24px;height:100%;min-height:0}
.wall-shape-context,.wall-shape-controls,.wall-shape-support{min-width:0;overflow:auto;overscroll-behavior:contain}
.wall-shape-context>.field{margin:0 0 10px}.wall-shape-context .button{margin:6px 0}.wall-shape-context>.quiet{display:block;font-size:10px;margin-top:5px}
.wall-shape-dimensions{display:flex;gap:8px;align-items:baseline;color:#b8caca;font-size:10px}.wall-shape-dimensions strong{font:24px/1.2 Georgia,serif;color:#e4c58f}
.wall-shape-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}
.wall-shape-choice{border:1px solid #45636a;background:#10242a;border-radius:9px;padding:5px 8px 8px;text-align:left;min-width:0}.wall-shape-choice.active{border-color:#d0ae75;background:#313d36}.wall-shape-choice:hover{border-color:#9ec9c5}.wall-shape-choice strong{display:block;font-size:11px;color:#efe0c7}.wall-shape-choice small{display:block;font-size:9px;color:#a7c0c1;margin-top:3px}
.wall-shape-icon{display:block;width:100%;height:44px;margin-bottom:3px}
.wall-shape-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.wall-shape-settings .field{margin:0;min-width:0}.wall-shape-settings .slider-line{font-size:11px}.wall-shape-settings select{width:100%;min-width:0}
.wall-shape-help{font-size:10px;line-height:1.5;color:#a9c2c4;margin:7px 0}.wall-shape-support{border-left:1px solid #385961;padding-left:18px;display:flex;flex-direction:column}.wall-shape-state{font:18px/1.25 Georgia,serif;color:#e4d0af;margin-bottom:9px}.wall-shape-reason{font-size:11px;line-height:1.6;margin:0;padding:9px;border:1px solid #426363;background:#1a3535;border-radius:7px;color:#bcd8d0}.wall-shape-reason.blocked{border-color:#8d6d4d;background:#362e24;color:#eed3a6}.wall-shape-actions{display:flex;flex-direction:column;gap:7px;margin-top:10px}.wall-shape-actions>.button{font-size:10px;padding:9px 10px}
.wall-shape-dock-active #dockRoomPanel{overflow:hidden}.wall-shape-dock-active .quick-build-content{height:100%;min-height:0;display:flex;flex-direction:column}
.wall-shape-empty{max-width:500px}.wall-shape-empty h3{font:21px Georgia,serif;color:#e4d0af}.wall-shape-empty p{font-size:12px;line-height:1.6;color:#a9c2c4}
.ruin-pattern-workbench .wall-shape-choices{margin-bottom:8px;gap:7px}
.ruin-pattern-workbench .wall-shape-choice{padding:4px 7px 6px}
.ruin-pattern-workbench .wall-shape-choice>.wall-shape-icon{height:22px;margin-bottom:2px}
.ruin-pattern-workbench .wall-shape-choice strong{font-size:10px}
.ruin-pattern-workbench .wall-shape-choice small{display:none}
.wall-ruin-patterns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0 0 9px}
.wall-ruin-choice{min-width:0;padding:4px 7px 7px;border:1px solid #486165;border-radius:8px;background:#14292d;text-align:left}
.wall-ruin-choice:hover{border-color:#9dbfb7;background:#1b3438}
.wall-ruin-choice.active{border-color:#d0ae75;background:#3a3e32}
.wall-ruin-choice .wall-shape-icon{height:38px;margin:0 0 3px}
.wall-ruin-choice strong{display:block;font-size:10px;line-height:1.3;color:#ece0c8;font-weight:600}
.wall-shape-choice:focus-visible,.wall-ruin-choice:focus-visible,.wall-shape-more summary:focus-visible{outline:2px solid #a2d5ce;outline-offset:3px}
.wall-shape-settings.ruin-settings{grid-template-columns:minmax(0,1fr)}
.wall-shape-more{margin:7px 0 0;color:#b5cece;font-size:10px}
.wall-shape-more>summary{cursor:pointer;width:max-content;max-width:100%;padding:3px 0}
.wall-shape-more[open]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;align-items:end}
.wall-shape-more[open]>summary{grid-column:1 / -1}
.wall-shape-more .field{margin:0;min-width:0}
.wall-shape-more .field>span{font-size:9px}
.wall-shape-more select{min-width:0;width:100%;padding:7px 8px;font-size:10px}
.wall-shape-more>.quiet{font-size:9px;white-space:nowrap;padding:8px 4px}
.wall-shape-more>.quiet.active{color:#ebca90;text-decoration:underline;text-underline-offset:3px}
@media(max-width:780px){
  .ruin-pattern-workbench .wall-shape-choices{gap:5px;margin-bottom:6px}
  .ruin-pattern-workbench .wall-shape-choice{padding:3px 4px 4px}
  .ruin-pattern-workbench .wall-shape-choice>.wall-shape-icon{height:23px}
  .ruin-pattern-workbench .wall-shape-choice strong{font-size:9px}
  .ruin-pattern-workbench .wall-shape-choice small{display:none}
  .wall-ruin-patterns{gap:5px;margin-bottom:7px}
  .wall-ruin-choice{padding:3px 4px 5px}
  .wall-ruin-choice .wall-shape-icon{height:33px;margin-bottom:2px}
  .wall-ruin-choice strong{font-size:9px;line-height:1.25}
  .wall-shape-more{font-size:9px;margin-top:4px}
  .wall-shape-more select{padding:5px 7px;font-size:9px}
  .wall-shape-more>.quiet{font-size:8px;padding:5px 2px}
}
@media(min-width:781px) and (max-width:1100px){.wall-shape-workbench{grid-template-columns:180px minmax(250px,1fr) 195px;gap:13px}.wall-shape-support{padding-left:12px}.wall-shape-choice{padding:3px 5px 6px}.wall-shape-choice strong{font-size:10px}.wall-shape-choice small{font-size:8px}.wall-shape-settings{gap:9px}}
@media(max-width:780px){.wall-shape-workbench{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;gap:6px}.wall-shape-context{display:grid;grid-template-columns:minmax(0,1fr) 86px;gap:5px;align-items:end;overflow:hidden}.wall-shape-context>.panel-title,.wall-shape-context>.wall-shape-help,.wall-shape-dimensions,.wall-shape-context>#wallProfileFinish{display:none}.wall-shape-context>.field{margin:0}.wall-shape-context .field>span{font-size:9px}.wall-shape-context .field select{padding:6px;font-size:9px}.wall-shape-context>.button{padding:8px 5px;margin:0;font-size:10px}.wall-shape-controls>.panel-title{display:none}.wall-shape-choices{gap:5px;margin-bottom:6px}.wall-shape-icon{height:30px;margin-bottom:1px}.wall-shape-choice{padding:3px 4px 5px}.wall-shape-choice strong{font-size:9px}.wall-shape-choice small{font-size:8px}.wall-shape-settings{gap:11px}.wall-shape-settings .field>span,.wall-shape-settings .slider-line{font-size:9px}.wall-shape-settings select{padding:6px;font-size:9px}.wall-shape-controls>.wall-shape-help{font-size:8px;margin:4px 0}.wall-shape-support{border-left:0;border-top:1px solid #385961;padding:6px 0 0;max-height:130px;overflow:auto}.wall-shape-support>.panel-title,.wall-shape-support>.wall-shape-state,.wall-shape-support>.wall-shape-help{display:none}.wall-shape-reason{font-size:9px;line-height:1.35;padding:4px 6px}.wall-shape-actions{margin-top:4px;gap:4px}.wall-shape-actions>.button{padding:7px 8px;font-size:9px}}
@media(min-width:1750px){.upper-workbench{grid-template-columns:245px minmax(350px,1fr) 290px;gap:32px}.upper-type-cards svg{height:48px}}
@media(min-width:781px) and (max-width:1100px){.upper-workbench{grid-template-columns:170px minmax(260px,1fr) 195px;gap:13px}.upper-confirm-panel{padding-left:12px}.upper-type-cards{gap:4px}.upper-type-cards strong{font-size:9px}.upper-type-cards small{font-size:8px}.upper-target-title{font-size:16px}.upper-included{font-size:9px}.upper-depth-row{gap:7px}.upper-plan-readout strong{font-size:20px}}
@media(max-width:780px){
  .upper-workbench{grid-template-columns:minmax(0,1fr);grid-template-rows:54px minmax(0,1fr) auto;gap:7px}
  .upper-context{display:grid;grid-template-columns:minmax(88px,.8fr) minmax(0,1.5fr);gap:7px;overflow:hidden;padding:0;align-items:start}
  .upper-context>.panel-title,.upper-context-help{display:none}
  .upper-context .field{margin:0;gap:3px}.upper-context .field>span{font-size:9px}.upper-context .field select{font-size:10px;padding:7px 6px}
  .upper-level-list{flex-direction:row;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;gap:4px}
  .upper-level-row{flex:0 0 113px;min-height:42px}.upper-level-row>button:first-child{padding:5px 6px}.upper-level-row small{font-size:8px}.upper-level-row>button:not(:first-child){flex-basis:24px;font-size:8px;padding:3px}.upper-level-row>button[data-upper-remove]{font-size:15px;flex-basis:20px}.upper-ground-lock{padding:0 5px}
  .upper-placement>.panel-title{display:none}
  .upper-type-cards{gap:4px;margin-bottom:6px}.upper-type-cards button{padding:3px 4px 5px;border-radius:7px}.upper-type-cards svg{height:31px}.upper-type-cards strong{font-size:9px}.upper-type-cards small{font-size:8px;margin-top:2px;line-height:1.25}
  .upper-workbench[data-kind=gallery] .upper-type-cards svg{height:31px}
  .upper-placement-copy{font-size:9px;line-height:1.4;margin:3px 0 5px}.upper-subtype{margin-bottom:5px}.upper-subtype button{font-size:9px;padding:4px 5px}.upper-edge-choices{gap:4px;margin-bottom:5px}.upper-edge-choices button{font-size:9px;padding:5px 2px}
  .upper-workbench .field>span{font-size:9px}.upper-workbench .field select{font-size:10px;padding:6px 7px}.upper-depth-row{gap:9px}.upper-plan-readout{margin:2px 0 5px}.upper-plan-readout strong{font-size:20px}.upper-plan-readout span{font-size:8px}.upper-depth-row .upper-plan-readout strong{font-size:18px}
  .upper-confirm-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto;column-gap:8px;row-gap:3px;border-left:0;border-top:1px solid #3b5a60;padding:7px 0 0;min-height:73px;max-height:108px;overflow:hidden}
  .upper-confirm-panel>.panel-title,.upper-included{display:none}.upper-target-title{font-size:12px;margin:0;grid-column:1;grid-row:1;align-self:center}.upper-fit-summary{grid-column:1;grid-row:2;margin:0;padding:0;background:none;border:0;min-height:0;max-height:42px;font-size:8px;line-height:1.4}.upper-fit-summary strong{font-size:9px}.upper-fit-summary span{display:none}
  .upper-confirm-actions{grid-column:2;grid-row:1/3;flex-direction:column;gap:2px;min-width:105px;max-width:145px}.upper-confirm-actions .button{padding:9px 8px;font-size:10px;min-width:105px;white-space:nowrap}.upper-confirm-actions .quiet{padding:3px;font-size:9px}.upper-remove-balcony,.upper-roof-link{grid-column:1/-1;grid-row:3;font-size:8px;padding:0;line-height:1.3}
}
@media(min-width:1101px){.shelf-filters:has(#assetCategory[hidden]){flex-basis:180px}}
#assetCategory{min-width:0;max-width:180px;width:170px;padding:8px 9px;border:1px solid #3c535b;border-radius:7px;background:#0d1e25;color:#cbdeda;font-size:10px}
.finish-dock-active .shelf-filters #assetSearch{min-width:0;width:0;flex:1 1 140px}
@media(min-width:781px) and (max-width:1100px){.finish-dock-active .shelf-filters{flex:0 0 100%}.finish-dock-active .shelf-filters #assetSearch{flex:1 1 0}#assetCategory{max-width:145px;width:145px}}
@media(max-width:780px){
  .finish-dock-active .floor-dock:has(.stamp-clipboard-tools):has(.detail-editor){height:434px;flex-basis:434px}
  .finish-dock-active .floor-dock:has(.stamp-group-editor){height:390px;flex-basis:390px}
  .stamp-clipboard-tools{margin-bottom:5px;padding-bottom:5px;font-size:8px}
  .stamp-clipboard-tools button{padding:4px 8px;font-size:9px}
  .finish-dock-active .shelf-filters{flex:0 0 auto;width:100%;gap:6px}
  .finish-dock-active .shelf-filters #assetSearch{flex:1 1 0;padding:6px 8px}
  #assetCategory{max-width:138px;width:138px;font-size:9px;padding:6px 7px}
}

/* Room editing starts with two dimensions and a layout; extra controls unfold below. */
.simple-room-workbench{display:grid;grid-template-columns:minmax(210px,.82fr) minmax(260px,1.12fr) minmax(230px,.95fr);gap:26px;min-width:0;align-items:start;padding:3px 0 8px}
.simple-room-workbench>section{min-width:0}
.simple-room-workbench .panel-title{font-size:10px;line-height:1.4;margin:0 0 10px;color:#d1dfd8}
.simple-room-workbench .field{margin:0;gap:5px}
.simple-room-workbench .field>span{font-size:10px;color:#a9c4c7;line-height:1.3}
.simple-room-workbench .field input,.simple-room-workbench .field select{font-size:11px;padding:8px 9px}
.simple-room-workbench .room-dimension-pair{display:grid;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);gap:8px;align-items:end}
.simple-room-workbench .room-dimension-pair input{font:26px/1.1 Georgia,serif;color:#f0dfbf;text-align:center;padding:10px 7px;border-color:#4b6870;background:#0e2229;border-radius:8px;width:100%;min-width:0}
.simple-room-workbench .room-dimension-pair input:focus{border-color:#cdb486;background:#152d32}
.simple-room-workbench .dimension-times{align-self:end;display:grid;place-items:center;height:51px;color:#8dafb3;font-size:18px;font-weight:400}
.simple-room-workbench .room-dimension-footer{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:10px}
.simple-room-workbench .room-dimension-footer .button{font-size:10px;min-height:33px;padding:8px 12px;gap:7px;white-space:nowrap}
.simple-room-workbench .room-dimension-footer small{flex:1;min-width:90px;color:#a2bfc1;font-size:9px;line-height:1.45}
.simple-room-workbench .room-size-status{font-size:9px;line-height:1.5;color:#b3cbc6;margin:9px 0 0;min-height:0;overflow-wrap:anywhere}
.simple-room-workbench .room-size-status:empty{display:none}
.simple-room-workbench .room-size-status.blocked,.simple-room-workbench .room-size-status.error{color:#edc99f}
.simple-room-workbench .room-layout-options{gap:8px;margin:0}
.simple-room-workbench .room-layout-options button{padding:12px 7px;min-height:92px;gap:10px;font-size:11px;border-radius:9px;border-color:#405d66;background:#13292f;transition:border-color .15s,background .15s}
.simple-room-workbench .room-layout-options button:hover:not(:disabled){border-color:#91bab9;background:#1d373c}
.simple-room-workbench .room-layout-options button.active{border-color:#cfad78;background:#333e35;box-shadow:inset 0 0 0 1px #d0ae751a;color:#f1d6a9}
.simple-room-workbench .layout-diagram{height:33px;width:43px;border-width:1.5px;opacity:.95}
.simple-room-workbench .room-layout-help{margin:9px 0 0;font-size:9px;line-height:1.5;color:#a8c3c4}
.simple-room-workbench .simple-room-actions{padding-left:23px;border-left:1px solid #34545b}
.simple-room-workbench .room-add-guidance{margin:0 0 13px;font-size:11px;line-height:1.7;color:#b5ceca;max-width:34em}
.simple-room-workbench .room-add-guidance strong{color:#e4ead9;font-weight:500}
.simple-room-workbench .room-add-guidance .room-plus{display:inline-grid;place-items:center;width:19px;height:19px;border:1px solid #78b3b1;border-radius:50%;background:#183b40;color:#c9f4e9;font-size:15px;font-weight:500;line-height:1;vertical-align:-3px;margin:0 2px}
.simple-room-workbench #dockRemoveRoom{padding:8px 12px;border:1px solid #75574e;border-radius:7px;background:#2d2b29;color:#e7bcae;font-size:10px;line-height:1.3;min-height:33px;white-space:normal;text-align:left}
.simple-room-workbench #dockRemoveRoom:hover:not(:disabled){background:#44312b;border-color:#b37c68}
.simple-room-workbench .simple-room-more{margin-top:11px;padding-top:10px;border-top:1px solid #304c54;color:#a9c5c7;font-size:10px;line-height:1.5}
.simple-room-workbench .simple-room-more>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#b6d0d0;padding:2px 0;min-height:22px}
.simple-room-workbench .simple-room-more>summary::-webkit-details-marker{display:none}
.simple-room-workbench .simple-room-more>summary:after{content:'+';font-size:17px;font-weight:400;color:#80abae;line-height:1}
.simple-room-workbench .simple-room-more[open]>summary{color:#ead4ad;margin-bottom:9px}
.simple-room-workbench .simple-room-more[open]>summary:after{content:'−';color:#d0ae75}
.simple-room-workbench .simple-room-more .field{margin-bottom:8px}
.simple-room-workbench .simple-room-more .field-pair{gap:8px}
.simple-room-workbench .simple-room-more .field-pair .field{margin:0 0 8px}
.simple-room-workbench .simple-room-more .panel-section{padding-top:10px;margin-top:10px}
.simple-room-workbench .simple-room-more .action-grid{gap:6px}
.simple-room-workbench .simple-room-more .action-grid button{font-size:10px;padding:7px 6px}
.simple-room-workbench .simple-room-more .room-move-actions{margin:6px 0 0}
.simple-room-workbench .simple-room-more .room-settings-note{margin:7px 0 0}
.simple-room-workbench .simple-room-confirm{display:flex;gap:10px;align-items:center;margin-top:12px}
.simple-room-workbench .simple-room-confirm .button{font-size:11px;min-height:36px;padding:9px 13px;gap:8px;white-space:nowrap}
.simple-room-workbench .simple-room-confirm .quiet{font-size:10px;padding:8px 5px}
.simple-room-workbench button:focus-visible,.simple-room-workbench summary:focus-visible{outline:2px solid #9dd8d0;outline-offset:3px}
.studio-dock-active .floor-dock:has(.simple-room-workbench) #dockRoomPanel{scrollbar-width:thin;scrollbar-color:#4d6b70 transparent;overscroll-behavior:contain}
@media(min-width:781px){.studio-dock-active .floor-dock:has(.simple-room-workbench){height:280px;flex-basis:280px}}
@media(min-width:1750px){.simple-room-workbench{grid-template-columns:minmax(260px,.85fr) minmax(360px,1.15fr) minmax(300px,1fr);gap:34px}.simple-room-workbench .simple-room-actions{padding-left:29px}}
@media(min-width:781px) and (max-width:1100px){.simple-room-workbench{grid-template-columns:minmax(170px,.82fr) minmax(220px,1.12fr) minmax(170px,.9fr);gap:15px}.simple-room-workbench .simple-room-actions{padding-left:14px}.simple-room-workbench .room-add-guidance{font-size:10px;line-height:1.55}.simple-room-workbench .room-layout-options{gap:5px}.simple-room-workbench .room-layout-options button{font-size:10px;padding:11px 3px;min-height:88px}.simple-room-workbench .room-dimension-pair{gap:5px}}
@media(max-width:780px){
  .studio-dock-active .floor-dock:has(.simple-room-workbench){height:430px;flex-basis:430px}
  .simple-room-workbench{grid-template-columns:minmax(0,1fr);gap:10px;padding:0 0 5px}
  .simple-room-workbench .panel-title{font-size:9px;margin-bottom:6px}
  .simple-room-workbench .room-dimension-pair{gap:7px;grid-template-columns:minmax(0,1fr) 15px minmax(0,1fr)}
  .simple-room-workbench .room-dimension-pair .field>span{font-size:9px}
  .simple-room-workbench .room-dimension-pair input{font-size:24px;line-height:1;padding:8px 6px;min-height:41px}
  .simple-room-workbench .dimension-times{height:41px;font-size:17px}
  .simple-room-workbench .room-dimension-footer{margin-top:7px;gap:8px}
  .simple-room-workbench .room-dimension-footer .button{font-size:10px;min-height:30px;padding:7px 10px}
  .simple-room-workbench .room-dimension-footer small{font-size:8px;line-height:1.4}
  .simple-room-workbench .room-size-status{font-size:8px;line-height:1.4;margin-top:6px}
  .simple-room-workbench .room-layout-options{gap:6px}
  .simple-room-workbench .room-layout-options button{padding:8px 4px;min-height:66px;gap:6px;font-size:10px}
  .simple-room-workbench .layout-diagram{width:33px;height:25px}
  .simple-room-workbench .room-layout-help{font-size:8px;line-height:1.4;margin-top:5px}
  .simple-room-workbench .simple-room-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px 10px;padding-left:0;border-left:0;border-top:1px solid #34545b;padding-top:8px}
  .simple-room-workbench .room-add-guidance{font-size:9px;line-height:1.5;margin:0;flex:1 1 100%;max-width:none}
  .simple-room-workbench #dockRemoveRoom{padding:6px 9px;min-height:28px;font-size:9px;max-width:57%}
  .simple-room-workbench .simple-room-more{flex:1 1 0;margin:0;padding:0;border-top:0;font-size:9px;min-width:90px}
  .simple-room-workbench .simple-room-more>summary{min-height:28px;padding:3px 0}
  .simple-room-workbench .simple-room-more[open]{flex:1 1 100%;border-top:1px solid #304c54;padding-top:6px;margin-top:2px}
  .simple-room-workbench .simple-room-more .field>span{font-size:9px}
  .simple-room-workbench .simple-room-more .field input,.simple-room-workbench .simple-room-more .field select{font-size:10px;padding:6px 8px}
  .simple-room-workbench .simple-room-confirm{gap:8px;margin-top:8px}
  .simple-room-workbench .simple-room-confirm .button{min-height:32px;padding:8px 11px;font-size:10px}
  .simple-room-workbench .simple-room-confirm .quiet{font-size:9px;padding:6px 5px}
}
.balcony-selection-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 12px;padding:8px 0 11px;border-bottom:1px solid #38545c}
.balcony-selection-actions>span{color:#d7d9c5;font-size:10px;flex:1;min-width:120px}
.balcony-selection-actions .button{padding:7px 10px;font-size:10px}
.balcony-selection-actions small{flex-basis:100%;font-size:9px;color:#a9c1c1;line-height:1.4}
.terrace-railing-controls{display:flex;flex-direction:column;gap:8px;padding:10px 0;margin-bottom:10px;border-bottom:1px solid #38545c}
.terrace-railing-actions{display:flex;align-items:end;flex-wrap:wrap;gap:9px}
.terrace-railing-actions .button{padding:8px 11px;font-size:10px}
.terrace-railing-actions .field{flex:1;min-width:130px;margin:0}
.terrace-railing-controls small{font-size:10px;line-height:1.5;color:#a9c1c1}

/* Exact custom kit assembly lives beneath the model, keeping pieces visible. */
.assembly-guide-panel{border-top:1px solid #466168;background:#14252c;padding:18px 24px;flex:0 0 auto;color:#dce7e3;max-height:42dvh;overflow:auto}
.construction-mode-choice{margin:0 0 9px;font-size:11px}.construction-mode-choice select{max-width:100%;width:100%}.construction-start{margin:0 0 16px}
@media(max-width:780px){.model-status,.studio-dock-active .model-status,.finish-dock-active .model-status{height:auto;min-height:52px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-content:center;column-gap:9px;row-gap:4px;padding:8px 10px;font-size:10px}.model-status #geometryStatus,.model-status #designStats{display:none}.model-status #materialArea{grid-column:1;grid-row:1;font-size:10px}.model-status .status-grid{grid-column:2;grid-row:1;margin-left:0;font-size:9px}.model-status #productionBudget{grid-column:1 / -1;grid-row:2;font-size:10px}}
.assembly-guide-panel[hidden]{display:none}
.assembly-guide-heading{display:flex;align-items:center;gap:14px}
.assembly-guide-heading h2{font:20px/1.25 Georgia,serif;margin:0;flex:1}
.assembly-guide-heading .eyebrow{white-space:nowrap;font-size:9px}
.assembly-guide-copy{display:grid;grid-template-columns:1.2fr 1fr;gap:22px;font-size:12px;line-height:1.65}
.assembly-guide-copy p{margin:12px 0;color:#b6cbd0}
.assembly-guide-copy .assembly-bonding{color:#e3c48f}
.assembly-piece-list{font-size:11px;margin:0 0 13px;color:#a8c6cd}
.assembly-piece-list summary{cursor:pointer;line-height:1.5}
.assembly-piece-list p{margin:6px 0}.assembly-loose-joint{color:#e3c48f}
.assembly-guide-actions,.assembly-navigation,.assembly-video-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.assembly-guide-actions{justify-content:space-between;gap:12px}
.assembly-navigation .button,.assembly-video-actions .button{font-size:11px;padding:9px 12px;white-space:nowrap}
#assemblyVideoStatus{font-size:10px;color:#aec4ca;max-width:260px;line-height:1.5}
/* New builds are chosen from the shared preset registry. Preview artwork only
   enters the document when the chooser opens. */
#presetDialog{max-width:920px;overflow-x:hidden;overflow-y:auto}
#presetDialog .construction-start{max-width:330px;margin:18px 0 24px}
.preset-groups{display:flex;flex-direction:column;gap:24px;margin:0 0 26px}
.preset-group{min-width:0}
.preset-group h3{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 15px;margin:0 0 10px;color:#cbdedb;font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase}
.preset-group h3>span{color:#92acae;font-size:10px;font-weight:400;letter-spacing:0;text-transform:none}
#presetDialog .preset-card{min-width:0;min-height:0;color:inherit;transition:border-color .15s,background .15s}
#presetDialog .preset-card:focus-visible{outline:2px solid #a9d9d0;outline-offset:4px}
.preset-copy,.template-copy{display:flex;min-width:0;flex-direction:column;gap:8px}
.preset-description{display:block;font-size:11px;color:#aec3c6;line-height:1.65;font-weight:400}
.preset-action{display:block;font-size:10px;letter-spacing:.3px;color:#dfc290;white-space:nowrap}
#presetDialog .scratch-group .preset-card{width:100%;flex-direction:row;align-items:center;gap:18px;padding:18px 22px}
#presetDialog .scratch-group .preset-icon{display:block;font-size:32px;flex-shrink:0}
#presetDialog .scratch-group .preset-copy{flex:1}
#presetDialog .scratch-group .preset-card strong{font-size:22px}
.template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.template-grid:has(>.template-card:only-child){grid-template-columns:minmax(0,1fr)}
#presetDialog .template-card{padding:0;overflow:hidden;gap:0;border-color:#6e6f59;background:linear-gradient(120deg,#1b3035,#17272e);display:flex;flex-direction:column}
.template-preview{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;background:#10191f;width:100%;flex-shrink:0}
.template-preview img{display:block;width:100%;height:100%;object-fit:contain}
.template-preview>.preset-icon{display:grid;height:100%;place-content:center;font-size:70px}
.template-preview-label{position:absolute;bottom:12px;left:14px;background:#132329e6;border:1px solid #65827e80;border-radius:20px;padding:5px 9px;color:#dce7d7;font-size:9px;letter-spacing:.6px}
.template-copy{padding:22px;flex:1;align-items:flex-start}
#presetDialog .template-card strong{font-size:27px;line-height:1.2}
.template-tags{display:flex;flex-wrap:wrap;gap:5px 7px;margin:3px 0 8px}
.template-tags>span{border:1px solid #42605f;border-radius:4px;padding:4px 6px;color:#bbcec8;font-size:9px;line-height:1.2}
.template-copy .preset-action{margin-top:auto;padding-top:4px}
#presetDialog .template-grid:has(>.template-card:only-child)>.template-card{flex-direction:row}
.template-grid:has(>.template-card:only-child) .template-preview{width:52%;aspect-ratio:4/3}
.template-grid:has(>.template-card:only-child) .template-copy{justify-content:center;padding:24px;gap:10px}
.template-grid:has(>.template-card:only-child) .preset-action{margin-top:5px}
.preset-layout-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#presetDialog .legacy-group .preset-card{padding:16px;gap:10px;height:100%}
#presetDialog .legacy-group .preset-icon{font-size:22px}
#presetDialog .legacy-group .preset-card strong{font-size:18px;line-height:1.25}
#presetDialog .legacy-group .preset-description{font-size:10px}
#presetDialog .legacy-group .preset-action{margin-top:auto}
@media(max-width:780px){
  #presetDialog{padding:22px 18px;width:calc(100vw - 24px);max-height:92dvh}
  #presetDialog h2{font-size:30px}
  #presetDialog .construction-start{max-width:none;margin:15px 0 22px}
  .preset-groups{gap:23px;margin-bottom:24px}
  #presetDialog .scratch-group .preset-card{padding:15px;gap:12px;flex-wrap:wrap}
  #presetDialog .scratch-group .preset-copy{flex:1;min-width:180px}
  #presetDialog .scratch-group .preset-card strong{font-size:20px}
  #presetDialog .scratch-group .preset-action{margin-left:44px}
  .template-grid,.template-grid:has(>.template-card:only-child){grid-template-columns:minmax(0,1fr)}
  #presetDialog .template-grid:has(>.template-card:only-child)>.template-card{flex-direction:column}
  .template-grid:has(>.template-card:only-child) .template-preview{width:100%;aspect-ratio:4/3}
  .template-grid:has(>.template-card:only-child) .template-copy,.template-copy{padding:18px;gap:9px}
  #presetDialog .template-card strong{font-size:25px}
  .preset-layout-grid{grid-template-columns:minmax(0,1fr)}
  #presetDialog .legacy-group .preset-card{flex-direction:row;align-items:center;gap:12px;padding:14px}
  #presetDialog .legacy-group .preset-icon{display:block;flex-shrink:0}
  #presetDialog .legacy-group .preset-copy{flex:1}
  #presetDialog .legacy-group .preset-action{font-size:9px;align-self:center}
  #presetDialog .dialog-foot .button{font-size:10px;max-width:100%;padding:10px 11px}
}
.canvas-column:has(.assembly-guide-panel:not([hidden])) .stage{min-height:330px;height:calc(100dvh - 450px)}
.roof-damage-workbench{grid-column:1/-1;margin:16px 0;padding:13px 0;border-top:1px solid #47615c;border-bottom:1px solid #47615c}
.roof-damage-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:9px 0}
.roof-damage-choices button{min-width:0;padding:5px;border:1px solid #4a655f;border-radius:6px;background:#17292e;color:#bed0c9}
.roof-damage-choices button.active{border-color:#d6b57d;background:#33423b;color:#f0d8ae}
.roof-damage-choices button:disabled{opacity:.4}
.roof-damage-choices strong{display:block;font-size:9px;line-height:1.3;font-weight:500;overflow-wrap:anywhere}
.roof-damage-icon{display:block;width:100%;height:45px;margin:0 0 5px}
.roof-damage-workbench details summary,.attic-encounter summary{cursor:pointer;font-size:11px;color:#d8bb88}
.roof-damage-workbench details .field{margin-top:12px}
.attic-encounter{padding:12px 0;margin-top:12px;border-top:1px solid #526258}
.attic-encounter p{font-size:11px;line-height:1.6;color:#b9c9c5;margin:10px 0 0}
.attic-encounter p strong{color:#d8bb88}
@media(max-width:780px){.assembly-guide-panel{padding:14px 12px;max-height:48dvh}.assembly-guide-heading{flex-wrap:wrap;gap:8px}.assembly-guide-heading h2{font-size:17px}.assembly-guide-heading .eyebrow{width:100%}.assembly-guide-copy{grid-template-columns:1fr;gap:0;font-size:11px}.assembly-guide-copy p{margin:8px 0}.assembly-navigation{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.assembly-navigation .button{font-size:10px;padding:9px 3px}.assembly-video-actions{width:100%}.canvas-column:has(.assembly-guide-panel:not([hidden])) .stage{height:44dvh;min-height:300px}}
/* Saved light-source handles stay inactive in the stamp-depth editor. */
.terrain-lighting-marker-layer{display:none!important}
/* Editor height annotations stay outside the print renderer. */
.wall-height-ruler{position:absolute;inset:0;pointer-events:none;z-index:21;overflow:hidden}
.wall-height-ruler[hidden]{display:none}
.wall-height-ruler svg{overflow:visible}
.wall-height-ruler path{fill:none;stroke:#acd4d5;stroke-width:1}
.wall-height-ruler text{font:11px system-ui,sans-serif;fill:#dcf1ec;paint-order:stroke;stroke:#10191f;stroke-width:4;stroke-linejoin:round}
.wall-height-ruler .wall-height-marker{fill:#edc987;stroke:#102129;stroke-width:2}
.detail-wall-height{font-size:11px;color:#a9c8cc;display:grid;gap:5px;margin:12px 0}
.detail-wall-height strong{font-size:14px;color:#f0d79f}
.detail-wall-height small{font-size:10px;color:#9eb9bd}
.grid-check-dialog{max-width:720px}
.grid-check-dialog>h2{margin:12px 0}.grid-check-dialog p,.review-grid-notice p{font-size:13px;line-height:1.6}
.grid-check-messages{padding-left:19px;font-size:13px;line-height:1.6;color:#efd7a3}
.grid-check-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:14px 0;max-height:36dvh;overflow:auto}
.grid-check-group{border:1px solid #5f5b48;border-radius:8px;padding:12px;min-width:0;background:#1a292c}
.grid-check-group h4{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin:0 0 9px;font:600 13px 'Segoe UI',sans-serif;color:#eddfbf}
.grid-check-group h4 small{font-weight:400;color:#b6c6c5}
.grid-check-swatch{width:14px;height:14px;border:1px solid #8c9b99;border-radius:50%;flex:none}
.grid-check-group ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.grid-check-group li{min-width:0}.grid-check-group li>span{display:block;padding:4px 0;font-size:12px;overflow-wrap:anywhere}
.grid-check-group button{width:100%;padding:8px;text-align:left;background:#10252a;color:#e1e8df;border:1px solid #46616a;border-radius:5px;font-size:12px;cursor:pointer;overflow-wrap:anywhere}
.grid-check-group button:hover{border-color:#8ed4cf}.grid-check-group button:focus-visible{outline:2px solid #8ed4cf;outline-offset:2px}
.grid-check-group li small{display:block;color:#b1c6c5;font-size:10px;margin-top:4px}
.grid-check-note{font-size:11px!important;color:#b0c3c4}
.review-grid-notice{padding:16px;border:1px solid #947c4a;border-radius:9px;background:#302b22;margin:0 0 18px}
.review-grid-notice h3{margin:0 0 8px;color:#efdaa9;font-size:19px}
.surface-check-dialog{max-width:760px}
.surface-check-dialog>h2{margin:12px 0}
.surface-check-dialog p{font-size:13px;line-height:1.6}
.surface-check-dialog .grid-check-group h4,.review-surface-notice .grid-check-group h4{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.surface-check-actions{font-size:11px;line-height:1.4;font-family:inherit;white-space:normal;text-align:left;padding:5px 8px;border:1px solid #7f795f;border-radius:6px;color:#f1d6a4;background:#3c3929;cursor:pointer}
.surface-check-list .surface-check-row>button{text-align:left;width:100%;min-height:44px}
.surface-check-note{margin-bottom:15px}
@media(max-width:520px){.grid-check-groups{grid-template-columns:minmax(0,1fr)}.review-grid-notice{padding:12px}}
.opening-quick-buttons{display:flex;align-items:center;gap:7px;flex:none;margin-left:auto}
.opening-quick-selection{flex:1}
.opening-quick-actions .finish-opening-list{flex-wrap:nowrap;min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:thin}
.opening-quick-actions .opening-choice{flex:none;white-space:nowrap}
#assetShelf.is-openings{display:flex;flex-direction:column;overflow:auto;gap:8px}
#assetShelf.is-openings>.shelf-header{display:none!important}
.mobile-history{display:none}
@media(max-width:780px){.view-actions .mobile-history{display:inline-grid;place-content:center;min-width:32px;min-height:32px;padding:5px;font-size:18px}}
#assetShelf.is-openings .opening-quick-actions{margin:0;flex:none}
#assetShelf.is-openings .asset-cards{display:flex;flex:0 0 auto;align-items:flex-start;gap:9px;min-height:0;padding:2px 2px 8px;overflow-x:auto;overflow-y:hidden}
#assetShelf.is-openings .asset-card{flex:0 0 104px;width:104px;min-width:104px;max-width:104px;height:111px;min-height:111px;padding:6px;gap:5px;align-items:stretch}
#assetShelf.is-openings .asset-card .opening-thumbnail{display:block;width:100%;max-width:100%;height:72px;min-height:72px;max-height:72px;flex:0 0 72px;aspect-ratio:1;box-sizing:border-box}
#assetShelf.is-openings .asset-card>span:last-child{flex:none;min-height:18px;font-size:10px;line-height:1.3;text-align:center}
@media(max-width:760px){.opening-quick-actions{flex-wrap:wrap;gap:6px}.opening-quick-selection{flex-basis:100%}.opening-quick-selection>span:not(:only-child){display:none}.opening-quick-buttons{width:100%;margin:0}.opening-quick-buttons .button{flex:1;min-height:34px;padding:6px 8px}#assetShelf.is-openings{gap:6px}#assetShelf.is-openings .asset-cards{gap:7px}#assetShelf.is-openings .asset-card{flex-basis:86px;width:86px;min-width:86px;max-width:86px;height:96px;min-height:96px;padding:5px;gap:4px}#assetShelf.is-openings .asset-card .opening-thumbnail{height:60px;min-height:60px;max-height:60px;flex-basis:60px}}
