:root{--paper:#f5f0e7;--white:#fffdfa;--ink:#282522;--muted:#746e65;--line:#d9cfc0;--gold:#aa8556;--wine:#813b3f;--danger:#ad3d37;--shadow:0 18px 55px rgba(53,42,29,.09)}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,"Noto Sans SC",sans-serif}.bb-header{height:82px;padding:12px max(20px,calc((100vw - 1180px)/2));display:flex;align-items:center;gap:18px;background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.bb-brand{display:flex;width:154px;height:56px;align-items:center;justify-content:center;background:#000;overflow:hidden}.bb-header img{display:block;width:146px;height:49px;object-fit:contain;background:#000}.bb-header div{display:grid;gap:2px}.bb-header span{font-size:12px;letter-spacing:.18em;color:var(--wine)}.bb-header small{color:var(--muted)}.bb-header button{margin-left:auto;border:1px solid var(--line);background:transparent;padding:10px 14px;color:var(--muted);cursor:pointer}.bb-shell{max-width:1180px;margin:auto;padding:34px 20px 56px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:24px;align-items:start}.bb-plan-card,.bb-question-card{background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow)}.bb-plan-card{position:sticky;top:106px;padding:24px}.bb-plan-head{display:flex;justify-content:space-between;align-items:start}.bb-plan-head small,.bb-kicker{font-size:11px;letter-spacing:.19em;color:var(--wine)}.bb-plan-head h1{font:500 28px/1.15 "Noto Serif SC",serif;margin:5px 0 0}.bb-plan-head>span{font-size:12px;color:var(--muted)}.bb-plan{margin-top:20px;min-height:470px;display:grid;place-items:center;background:#faf7f1;border:1px solid #e6ddd0;overflow:hidden}.bb-plan svg{width:100%;height:auto;max-height:520px}.bb-empty-plan{max-width:280px;text-align:center;color:var(--muted);line-height:1.8}.bb-alert{margin-top:14px;border-left:3px solid var(--danger);background:#fbeceb;padding:13px 15px;color:#7d2925}.bb-summary{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.bb-pill{font-size:12px;padding:7px 10px;background:#eee7dc;border-radius:999px}.bb-question-card{padding:32px;min-height:470px}.bb-step{color:var(--muted);font-size:12px;margin:0 0 28px}.bb-question-card h2{font:500 32px/1.25 "Noto Serif SC",serif;margin:8px 0 12px}.bb-question-card p{line-height:1.75;color:var(--muted)}.bb-fields{display:grid;gap:14px;margin:26px 0}.bb-input-wrap{display:grid;grid-template-columns:1fr auto;border-bottom:2px solid var(--ink);align-items:end}.bb-input-wrap input{border:0;background:transparent;padding:12px 4px;font:500 38px/1 Manrope;width:100%;outline:0}.bb-input-wrap span{padding:0 4px 14px;color:var(--muted)}.bb-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:26px 0}.bb-options.wall{grid-template-columns:repeat(auto-fit,minmax(70px,1fr))}.bb-option,.bb-primary,.bb-secondary,.bb-upload{min-height:52px;border:1px solid var(--line);background:#fff;padding:13px 15px;font:500 15px Manrope;cursor:pointer}.bb-option:hover,.bb-option.selected{border-color:var(--gold);background:#f3eadf}.bb-primary{width:100%;background:var(--wine);border-color:var(--wine);color:white}.bb-secondary{width:100%;background:transparent;color:var(--ink);margin-top:10px}.bb-actions{margin-top:26px}.bb-upload{display:flex;align-items:center;justify-content:center;width:100%}.bb-upload input{position:absolute;opacity:0;pointer-events:none}.bb-photo-preview{width:100%;max-height:190px;object-fit:cover;margin-top:14px}.bb-complete{padding:16px;border:1px solid var(--gold);background:#faf5ec;margin:20px 0}.bb-product-list{display:grid;gap:10px;margin:20px 0}.bb-product{display:grid;grid-template-columns:1fr auto;gap:4px;padding:14px;border:1px solid var(--line)}.bb-product small{color:var(--muted)}.bb-product button{grid-row:1/3;grid-column:2;border:0;background:var(--wine);color:#fff;padding:8px 13px;cursor:pointer}.bb-footer{max-width:1180px;margin:0 auto 40px;padding:22px 20px;border-top:1px solid var(--line);display:flex;justify-content:center;gap:12px;color:var(--muted);font-size:13px}.bb-footer strong{color:var(--wine)}.bb-downloads{display:grid;gap:8px;margin-top:20px}.bb-downloads button{border:1px solid var(--line);background:transparent;padding:11px;cursor:pointer}.wall-line{stroke:#2e2a26;stroke-width:24;stroke-linecap:square}.wall-active{stroke:var(--gold)}.wall-label{font:600 38px Manrope;fill:var(--wine)}.measure-label{font:500 28px Manrope;fill:#675f56}.opening{stroke:var(--white);stroke-width:28}.door-leaf,.window-line{stroke:var(--gold);stroke-width:14;fill:none}.door-arc{stroke:var(--gold);stroke-width:7;fill:none;stroke-dasharray:16 10}.furniture{fill:#f1e7d8;stroke:#51483e;stroke-width:3;stroke-linejoin:round}.furniture.conflict{fill:#f2b5af;stroke:var(--danger)}.furniture-label{font:600 24px Manrope;fill:#3d342b;text-anchor:middle}.chair-back{stroke:#3d342b;stroke-width:5}.endpoint{fill:var(--wine);stroke:#fff;stroke-width:8}.endpoint-label{font:600 25px Manrope;fill:var(--wine)}
@media(max-width:760px){body{overflow:hidden}.bb-header{height:68px;padding:8px 14px}.bb-brand{width:118px;height:48px}.bb-header img{width:112px;height:42px}.bb-header small{display:none}.bb-header button{font-size:12px;padding:8px}.bb-shell{padding:0;display:flex;flex-direction:column;gap:0;height:calc(100dvh - 68px);overflow:hidden}.bb-plan-card,.bb-question-card{width:100%;border-left:0;border-right:0;box-shadow:none}.bb-plan-card{position:relative;top:auto;z-index:5;height:46%;padding:12px 14px;background:rgba(255,253,250,.98);overflow:hidden}.bb-plan-head h1{font-size:19px}.bb-plan{height:calc(100% - 82px);min-height:0;max-height:none;margin-top:8px}.bb-plan svg{height:100%;max-height:none}.bb-summary{margin-top:7px}.bb-pill{padding:4px 7px}.bb-question-card{height:54%;min-height:0;padding:22px 20px 34px;overflow-y:auto}.bb-question-card h2{font-size:27px}.bb-question-card p{font-size:14px}.bb-options{margin:18px 0}.bb-footer{display:none}.bb-input-wrap input{font-size:34px}}
.bb-back{border:0;background:transparent;color:var(--wine);padding:0 0 14px;font:600 14px Manrope;cursor:pointer}.bb-back:hover{text-decoration:underline}.furniture,.furniture-label,.chair-back{cursor:grab;touch-action:none}.furniture:active,.furniture-label:active,.chair-back:active{cursor:grabbing}.furniture.selected{stroke:#8b3d42;stroke-width:6}.furniture-label{user-select:none}.clearance-line{stroke:#8b3d42;stroke-width:4;stroke-dasharray:10 8;pointer-events:none}.clearance-label{font:600 20px Manrope;fill:#8b3d42;text-anchor:middle;pointer-events:none}.bb-rotate{display:grid;gap:12px;padding:15px;margin:18px 0;border:1px solid var(--gold);background:#faf5ec}.bb-rotate>span{font-size:13px;color:var(--muted)}.bb-rotate>div:not(.bb-clearance-grid){display:flex;gap:8px;flex-wrap:wrap}.bb-rotate button{border:1px solid var(--line);background:#fff;padding:9px 11px;cursor:pointer}.bb-clearance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.bb-clearance-grid label{display:grid;grid-template-columns:1fr 66px 24px auto;align-items:center;gap:5px;font-size:12px}.bb-clearance-grid input{width:66px;border:1px solid var(--line);padding:7px 4px}.bb-clearance-grid small{color:var(--muted)}.bb-clearance-grid button{padding:7px}@media(max-width:760px){.bb-clearance-grid{grid-template-columns:1fr}.bb-rotate{margin:12px 0}.bb-back{padding-bottom:8px}}
@media(max-width:390px){.bb-header div span{font-size:10px}.bb-plan{min-height:245px}.bb-question-card{padding:22px 18px}.bb-options.wall{gap:6px}.bb-option{padding:10px}}
.bb-custom-furniture{display:grid;gap:13px;margin:20px 0;padding:18px;border:1px solid var(--gold);background:#faf5ec}.bb-custom-furniture h3{margin:0;font:600 20px/1.3 "Noto Serif SC",serif}.bb-custom-furniture>label{display:grid;gap:6px;font-size:13px}.bb-custom-furniture select,.bb-custom-furniture input{width:100%;min-height:44px;border:1px solid var(--line);background:#fff;padding:9px;font:500 14px Manrope}.bb-size-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.bb-size-fields label{display:grid;grid-template-columns:1fr auto;gap:4px;align-items:end;font-size:12px}.bb-size-fields label>input{grid-column:1}.bb-size-fields label>small{grid-column:2;grid-row:2;padding-bottom:12px;color:var(--muted)}.bb-example-products{margin:16px 0}.bb-example-products summary{cursor:pointer;color:var(--wine);font-weight:600;padding:12px 0}@media(max-width:760px){.bb-size-fields{grid-template-columns:1fr}.bb-size-fields label{grid-template-columns:1fr 30px}.bb-custom-furniture{padding:14px}}
.bb-select-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bb-select-grid label{display:grid;gap:6px;font-size:13px}.bb-shape-help{color:var(--muted);line-height:1.5}.standard-symbol{fill:none;stroke:#51483e;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.standard-symbol .symbol-shadow{fill:#dfd8cc;stroke:#766d62;stroke-width:1.8}.standard-symbol .symbol-surface{fill:#f6f2ea;stroke:#51483e;stroke-width:2}.standard-symbol .symbol-frame{fill:#e9e1d5;stroke:#51483e;stroke-width:2}.standard-symbol .symbol-cushion{fill:#fbf8f1;stroke:#6b6258;stroke-width:1.7}.standard-symbol .symbol-inset{fill:#eee7dc;stroke:#8f8579;stroke-width:1.4}.standard-symbol .symbol-detail{fill:none;stroke:#51483e;stroke-width:2}.standard-symbol .symbol-seam{fill:none;stroke:#93897d;stroke-width:1.3}.standard-symbol .symbol-soft-detail{fill:none;stroke:#b1a79a;stroke-width:1.1}.standard-symbol .symbol-handle{fill:#6e302f;stroke:none}.standard-symbol .symbol-back{stroke-width:5}.standard-symbol .rug-symbol{fill:#e9e2d8;fill-opacity:.62;stroke:#9d9183;stroke-width:1.4;stroke-dasharray:7 5}.rug-symbol{fill:none;stroke:#8d7c66;stroke-width:2;stroke-dasharray:10 7;pointer-events:none}.shape-circle,.shape-oval{stroke-linejoin:round}@media(max-width:760px){.bb-select-grid{grid-template-columns:1fr}}
.bb-icon-library{display:grid;gap:16px;margin:20px 0;padding:18px;border:1px solid #cfc5b8;background:#f7f3ec}.bb-icon-library-head{display:block}.bb-icon-library-head span{font:600 10px/1.2 Manrope;letter-spacing:.18em;color:var(--wine)}.bb-icon-library-head h3{margin:5px 0 7px;font-size:20px}.bb-icon-library-head small{display:block;max-width:none;color:var(--muted);line-height:1.55;text-align:left}.bb-icon-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bb-icon-card{display:grid;grid-template-rows:118px auto auto;min-width:0;padding:10px;border:1px solid #d8cfc3;background:#fff;color:#2f2a26;text-align:left;transition:.18s ease}.bb-icon-card:hover,.bb-icon-card.selected{border-color:var(--wine);box-shadow:0 0 0 1px var(--wine)}.bb-icon-card img{display:block;width:100%;height:118px;object-fit:contain;background:linear-gradient(145deg,#fbfaf7,#f2ece2)}.bb-icon-card strong,.bb-icon-card span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bb-icon-card strong{margin-top:9px;font-size:13px;line-height:1.35}.bb-icon-card span{margin-top:4px;font-size:10px;color:var(--muted);letter-spacing:.01em}@media(max-width:560px){.bb-icon-library{padding:14px}.bb-icon-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.bb-icon-card{grid-template-rows:104px auto auto;padding:8px}.bb-icon-card img{height:104px}}
.bb-space-fields,.bb-edit-object{display:grid;gap:12px;margin:20px 0}.bb-space-fields label,.bb-edit-object label{display:grid;gap:6px;font-size:13px}.bb-space-fields input,.bb-space-fields select,.bb-edit-object input{width:100%;min-height:44px;border:1px solid var(--line);background:#fff;padding:9px;font:500 14px Manrope}.bb-edit-object{grid-template-columns:repeat(3,minmax(0,1fr));padding-top:12px;border-top:1px solid var(--line)}.bb-edit-object label:first-child{grid-column:1/-1}.bb-edit-object label small{color:var(--muted)}.bb-object-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.bb-object-actions button.danger{color:var(--danger);border-color:#d9a6a2}@media(max-width:760px){.bb-edit-object{grid-template-columns:1fr 1fr}.bb-edit-object label:first-child,.bb-object-actions{grid-column:1/-1}}
.bb-downloads .bb-primary{background:var(--wine);border-color:var(--wine);color:#fff}.bb-print-help{font-size:12px;line-height:1.6;color:var(--muted)}
.bb-layer-controls{display:grid!important;grid-template-columns:1fr repeat(4,auto);align-items:center;gap:7px!important;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.bb-layer-controls span{font-size:12px;color:var(--muted)}.bb-layer-controls button{padding:8px!important}@media(max-width:760px){.bb-layer-controls{grid-template-columns:1fr 1fr!important}.bb-layer-controls span{grid-column:1/-1}}
.furniture-number{fill:var(--white);stroke:#51483e;stroke-width:2;cursor:grab;touch-action:none}.furniture-label{font-size:16px;font-weight:600;pointer-events:auto}.bb-furniture-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.bb-furniture-legend[hidden]{display:none}.bb-furniture-legend>div{display:grid;grid-template-columns:30px 1fr;gap:8px;align-items:start}.bb-furniture-legend b{display:grid;place-items:center;width:28px;height:28px;border:1px solid #51483e;border-radius:50%;font-size:11px}.bb-furniture-legend span{display:grid;gap:2px;min-width:0}.bb-furniture-legend strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bb-furniture-legend small{font-size:10px;color:var(--muted)}@media(max-width:760px){.bb-furniture-legend{grid-template-columns:1fr;max-height:92px;overflow:auto}}
.bb-price-summary{margin:22px 0 8px;padding:16px;border:1px solid var(--line);background:#faf7f1}.bb-price-summary h3{margin:0 0 12px;font:600 18px/1.4 "Noto Serif SC",serif}.bb-price-summary ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.bb-price-summary li,.bb-price-summary>div{display:flex;justify-content:space-between;gap:12px;font-size:12px}.bb-price-summary li span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bb-price-summary>div{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:16px}.bb-price-summary>div strong{color:var(--wine)}.bb-price-summary>small{display:block;margin-top:9px;color:var(--muted);line-height:1.5}
.furniture.architecture{fill:rgba(92,88,80,.22);stroke:#2e2a26;stroke-width:4}
.bb-architecture{border-top:2px solid var(--ink)}
.bb-inline-unit{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px}.bb-inline-unit input{width:100%}
.bb-outline-help{grid-column:1/-1;margin:0;padding:12px 14px;background:#f2eadf;border-left:3px solid var(--wine);color:#5f554d;line-height:1.6}
.bb-wall-guide{display:grid;gap:7px;padding:14px 16px;margin-bottom:16px;background:#f2eadf;border-left:3px solid var(--wine);line-height:1.55}.bb-wall-guide span{color:#6c625a}.bb-offset-list{display:grid;gap:8px;margin-top:16px}.bb-offset-list>div{display:grid;grid-template-columns:70px 1fr auto;gap:12px;align-items:center;padding:11px 13px;border:1px solid #ddd3c7}.bb-offset-list button{padding:7px 10px;background:#fff;border:1px solid #b9aca0}
.reference-wall{stroke:#b8aa98;stroke-width:9;stroke-dasharray:12 10;cursor:pointer}.reference-wall.selected{stroke:#c08a42;stroke-width:15}.reference-endpoint{fill:#fff;stroke:#813b3f;stroke-width:5}.turn-point{fill:#813b3f;stroke:#fff;stroke-width:5}.turn-label{font:700 19px Manrope;fill:#813b3f}
/* CAD-style floor plan overrides */
.wall-line{stroke-width:12}.wall-inner-line{stroke:#2e2a26;stroke-width:2;fill:none;pointer-events:none}.wall-active{stroke-width:15}.wall-label{font-size:18px}.segment-dimension{font:500 15px Manrope;fill:#51483e}.measure-label{font-size:22px}.opening{stroke-width:10}.door-leaf,.window-line{stroke-width:5}.door-arc{stroke-width:3;stroke-dasharray:10 7}.furniture{fill:#f1e7d8;stroke-width:2}.furniture-label{font-size:18px}.chair-back{stroke-width:3}.endpoint{stroke-width:5}.endpoint-label{font-size:18px}.furniture.architecture:not(.architecture-stairs){fill:rgba(46,42,38,.2);stroke:#2e2a26;stroke-width:4}.furniture.architecture-stairs{fill:rgba(196,158,108,.25);stroke:#aa8556;stroke-width:3}.bb-edit-walls{margin:0 0 14px}

.bb-symbol-upload{grid-column:1/-1;display:grid!important;grid-template-columns:1fr auto;gap:8px!important;align-items:center;padding:13px;border:1px dashed var(--gold);background:#fff}.bb-symbol-upload label{grid-column:1/-1}.bb-symbol-upload input{padding:8px;background:#faf7f1}.bb-symbol-upload small,.bb-symbol-upload span{font-size:12px;color:var(--muted)}.custom-symbol-image{pointer-events:none}.furniture.has-symbol,.furniture.has-symbol.selected{fill:transparent;stroke:transparent;stroke-width:0;stroke-dasharray:none}

.opening-label{font:600 17px Manrope;fill:var(--wine);paint-order:stroke;stroke:var(--white);stroke-width:7;stroke-linejoin:round;pointer-events:none}

/* Wall adjustment preview: color each resulting segment, while final drawings stay monochrome. */
.wall-edit-segment.segment-tone-0{stroke:#8b3d42}.wall-edit-segment.segment-tone-1{stroke:#b0783d}.wall-edit-segment.segment-tone-2{stroke:#58756a}.wall-edit-segment.segment-tone-3{stroke:#596f91}.wall-edit-segment.segment-tone-4{stroke:#86638b}.wall-edit-segment.segment-tone-5{stroke:#786a55}

.bb-wall-color-key{display:flex;gap:7px;flex-wrap:wrap}.bb-wall-color-key b{padding:5px 9px;border-radius:999px;color:#fff;font-size:11px}.wall-key-a{background:#8b3d42}.wall-key-b{background:#b0783d}.wall-key-c{background:#58756a}.wall-key-d{background:#596f91}.reference-wall.reference-a{stroke:#8b3d42}.reference-wall.reference-b{stroke:#b0783d}.reference-wall.reference-c{stroke:#58756a}.reference-wall.reference-d{stroke:#596f91}.reference-wall.selected{filter:drop-shadow(0 0 4px rgba(40,37,34,.45));stroke-width:17}

.bb-active-wall{margin:14px 0 4px;padding:12px 14px;color:#fff;font-weight:700;letter-spacing:.04em;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}

/* Simplified wall editing: one active color and only P1/P2 points. */
.reference-wall{stroke:#6f675e;stroke-width:9;stroke-dasharray:none}.reference-wall.selected{stroke:#b0783d;stroke-width:15;filter:none}.bb-active-wall{background:#b0783d}

.wall-band{fill:#2e2a26;stroke:none}.wall-inner-line{stroke-linejoin:miter}.opening{stroke-width:16}

.active-origin-point{fill:#b0783d;stroke:#fff;stroke-width:4}.active-origin-label{font:700 18px Manrope;fill:#8b3d42}.turn-label{paint-order:stroke;stroke:#fffdfa;stroke-width:6;stroke-linejoin:round}
.bb-draw-entry{margin-left:auto;text-decoration:none;white-space:nowrap;border:1px solid #813b3f;color:#813b3f;background:#fffdfa;padding:10px 13px;font-size:13px;border-radius:3px}.bb-header .bb-draw-entry+button{margin-left:0}
.bb-opening-tools{background:#fffdfa;border:1px solid #e1d8cd;margin-top:12px;padding:10px 12px;position:sticky;top:82px;z-index:4}.bb-opening-tools>div{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.bb-opening-tools strong{font-size:12px;margin-right:5px}.bb-opening-tools button{border:1px solid #cabcb1;background:#fff;padding:8px 10px;color:#813b3f;border-radius:3px;cursor:grab}.bb-opening-tools small{display:block;margin-top:6px;color:#74685c;font-size:12px}.bb-opening-dialog{border:1px solid #813b3f;border-radius:7px;padding:22px;max-width:410px;width:calc(100vw - 32px);max-height:85vh;overflow:auto;color:#38332f}.bb-opening-dialog::backdrop{background:#0005}.bb-opening-dialog h3{margin:0 0 10px}.bb-opening-dialog p,.bb-opening-dialog small{font-size:12px;line-height:1.6;color:#74685c}.bb-opening-dialog label{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:12px;margin:10px 0;font-size:13px}.bb-opening-dialog input,.bb-opening-dialog select{min-width:0;width:100%;border:1px solid #cbbfb4;padding:9px;background:#fff}.bb-opening-dialog button{padding:9px 14px;border:1px solid #813b3f;background:#fff;color:#813b3f;margin:8px 6px 0 0}.bb-opening-dialog button[type=submit]{background:#813b3f;color:#fff}.bb-opening-dialog [data-form-error]{color:#9a3030}
/* CAD dimension annotations stay visually separate from walls and wall IDs. */
.segment-dimension,.measure-label{fill:#315f73;paint-order:stroke;stroke:#fffdfa;stroke-width:6;stroke-linejoin:round}

/* Openings are cut from the wall through an SVG mask; never paint a white cover line. */
.opening{stroke:transparent!important;stroke-width:0!important}

.bb-extension-builder{display:grid;gap:11px;margin-top:22px;padding:18px;border:1px solid var(--gold);background:#faf7f1}.bb-extension-builder h3{margin:0;font:600 20px "Noto Serif SC",serif}.bb-extension-builder p,.bb-extension-builder small{margin:0;color:var(--muted);font-size:12px}.bb-extension-builder label{display:grid;gap:6px;font-size:13px}.bb-extension-builder select,.bb-extension-builder input{min-height:42px;border:1px solid var(--line);background:#fff;padding:8px}.bb-extension-list{display:grid;gap:6px}.bb-extension-list>div{display:flex;justify-content:space-between;padding:9px 11px;background:#fff;border:1px solid var(--line);font-size:12px}.extension-wall{stroke:#2e2a26;stroke-width:12;stroke-linecap:square;stroke-linejoin:miter;fill:none}.extension-dimension{font:600 15px Manrope;fill:#315f73;paint-order:stroke;stroke:#fffdfa;stroke-width:6;stroke-linejoin:round}

/* The controls are a dismissible drawer so the floor plan can use the full canvas. */
.bb-shell{display:block;max-width:1440px}.bb-plan-card{position:relative;top:auto;min-height:calc(100vh - 150px);padding:20px}.bb-plan{min-height:680px;margin-top:12px}.bb-plan svg{max-height:760px}.bb-question-card{position:fixed;z-index:32;top:82px;right:0;bottom:0;width:min(400px,90vw);min-height:0;padding:24px;overflow-y:auto;transform:translateX(105%);transition:transform .28s ease;box-shadow:-18px 0 55px rgba(53,42,29,.18);font-size:13px}.bb-question-card h2{font-size:25px;line-height:1.2;margin:6px 0 8px}.bb-question-card h3{font-size:17px}.bb-question-card p{font-size:12px;line-height:1.55}.bb-question-card .bb-step{font-size:10px;margin-bottom:18px}.bb-question-card input,.bb-question-card select,.bb-question-card button{font-size:13px}.bb-question-card .bb-option,.bb-question-card .bb-primary,.bb-question-card .bb-secondary,.bb-question-card .bb-upload{min-height:44px;padding:10px 12px}.bb-question-card .bb-space-fields,.bb-question-card .bb-edit-object{gap:9px;margin:14px 0}.bb-question-card .bb-extension-builder,.bb-question-card .bb-custom-furniture{padding:14px;margin:14px 0}.bb-panel-open .bb-question-card{transform:translateX(0)}.bb-panel-toggle{position:fixed;z-index:34;right:18px;top:96px;border:1px solid var(--wine);background:var(--wine);color:#fff;padding:9px 14px;font:600 12px Manrope;cursor:pointer;box-shadow:0 8px 24px rgba(53,42,29,.16)}.bb-panel-open .bb-panel-toggle{right:min(418px,calc(90vw + 18px));background:#fff;color:var(--wine)}.bb-panel-backdrop{display:none;position:fixed;z-index:31;inset:82px 0 0;border:0;background:rgba(40,37,34,.08);cursor:default}.bb-panel-open .bb-panel-backdrop{display:block}.bb-question-card,.bb-panel-toggle{transition:transform .28s ease,right .28s ease,background .2s ease,color .2s ease}
@media(max-width:760px){body{overflow:hidden}.bb-shell{height:calc(100dvh - 68px);padding:0;display:block}.bb-plan-card{height:100%;min-height:0;padding:12px 14px}.bb-plan{height:calc(100% - 82px);min-height:0}.bb-question-card{top:auto;left:0;right:0;bottom:0;width:100%;height:min(68dvh,680px);padding:24px 20px 34px;transform:translateY(105%);border-top:1px solid var(--line);border-radius:16px 16px 0 0}.bb-panel-open .bb-question-card{transform:translateY(0)}.bb-panel-toggle{top:auto;right:14px;bottom:14px}.bb-panel-open .bb-panel-toggle{right:14px;bottom:calc(min(68dvh,680px) - 1px);transform:translateY(100%);border-radius:0 0 8px 8px}.bb-panel-backdrop{inset:68px 0 0}.bb-footer{display:none}}
@media(prefers-reduced-motion:reduce){.bb-question-card,.bb-panel-toggle{transition:none}}
.bb-panel-backdrop,.bb-panel-open .bb-panel-backdrop{display:none!important;pointer-events:none!important}
/* Keep the entire CAD sheet visible when the main canvas grows or the drawer moves. */
@media(min-width:761px){.bb-plan{height:calc(100vh - 220px);min-height:540px;max-height:780px}.bb-plan svg{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}}
@media(max-width:760px){.bb-plan svg{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}}
.furniture.architecture:not(.architecture-stairs){fill:#2e2a26!important;fill-opacity:1!important;stroke:#2e2a26!important}
.bb-segment-control{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:3px 0;padding:12px;border:1px solid var(--line);background:#faf7f1}.bb-segment-control legend{padding:0 6px;color:var(--wine);font-weight:700;font-size:12px}.bb-segment-control label{display:grid;gap:5px;font-size:12px}@media(max-width:760px){.bb-segment-control{grid-template-columns:1fr 1fr}}
/* Continuous CAD wall stroke prevents malformed outer miters on multi-offset walls. */
.wall-band{fill:none!important;stroke:#2e2a26;stroke-width:12;stroke-linejoin:miter;stroke-linecap:square}
[data-mixed-end-field][hidden]{display:none!important}
.bb-view-tools{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:10px 0;color:#625d57;font-size:12px}.bb-view-tools button{border:1px solid #d8cbbc;background:#fffdfa;color:#813b3f;min-height:30px;padding:5px 9px;cursor:pointer}.bb-view-tools span{min-width:42px;text-align:center}.bb-view-tools small{font-size:11px;color:#77736f}.bb-plan.bb-view-pan{cursor:grab}.bb-plan.bb-view-panning{cursor:grabbing}

.bb-number-toggle{display:flex;align-items:center;gap:10px;margin:12px 0 18px;padding:12px 14px;border:1px solid rgba(110,53,57,.24);background:#fffdfa;color:#3d342b;font-size:14px;cursor:pointer}.bb-number-toggle input{width:18px;height:18px;accent-color:#813b3f}.bb-number-toggle span{font-weight:600}

.furniture.has-symbol,.furniture.has-symbol.selected{fill:transparent!important;stroke:transparent!important;stroke-width:0!important;stroke-dasharray:none!important}

.bb-custom-furniture label:has([data-group-pick]){display:flex;align-items:center;gap:9px;font-size:13px}.bb-custom-furniture input[data-group-pick]{width:18px;min-height:18px;height:18px;margin:0;accent-color:#813b3f}

.bb-fold{margin:12px 0;border:1px solid #d8cfc3;background:#fffdfa;padding:12px}.bb-fold>summary{cursor:pointer;font-size:14px;font-weight:600;color:#51362e}.bb-fold[open]>summary{margin-bottom:14px}.bb-fold .bb-custom-furniture{margin:8px 0;padding:12px}.bb-fold .bb-icon-grid{margin-top:12px}

[data-product-form][hidden]{display:none!important}

.bb-selection-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.bb-selection-toolbar .danger{color:#a32c32;border-color:#cda1a3;background:#fff5f5;font-weight:600}
.bb-selection-toolbar>strong{flex-basis:100%}.bb-selection-toolbar>button{flex:1}
.bb-page-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:15px}.bb-page-controls button{padding:8px;border:1px solid var(--line);background:white}.bb-page-controls button:disabled{opacity:.4}.bb-page-controls span{font-weight:600;white-space:nowrap}
[data-file-links] a,[data-file-links] a:visited{display:block;padding:12px 14px;border:1px solid var(--wine);border-radius:4px;color:var(--wine);background:#faf3f1;text-decoration:none;font-size:13px;line-height:1.5;overflow-wrap:anywhere}[data-file-links] a:hover{background:var(--wine);color:#fff}[data-file-links] a:focus-visible{outline:2px solid var(--wine);outline-offset:3px}
.bb-question-card .bb-edit-object{grid-template-columns:repeat(2,minmax(0,1fr))}.bb-question-card .bb-edit-object label:first-child{grid-column:auto}
@media(min-width:761px){.bb-panel-open .bb-shell{width:calc(100% - 400px);max-width:1440px;margin-left:auto;margin-right:400px}.bb-panel-open .bb-plan{min-height:540px}}

[data-fixed-shape][hidden]{display:none!important}

[data-depth-field][hidden]{display:none!important}

.bb-collections{border:1px solid #d6c9bb;background:#fffdfa;padding:12px;margin:14px 0}.bb-collections>summary{font-size:16px;font-weight:650;color:#40312c;padding:6px 0}.bb-collection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.bb-collection-card{display:flex;flex-direction:column;gap:7px;padding:10px;border:1px solid #dfd5c9;border-radius:8px;background:#faf7f2;min-width:0}.bb-collection-card svg{width:100%;height:135px;background:#f3eee7;border-radius:5px}.bb-collection-card strong{font-size:14px;line-height:1.5;overflow-wrap:anywhere}.bb-collection-card span{font-size:11px;color:#75685e}.bb-collection-card button{width:100%;padding:8px;font-size:12px}.bb-collection-card .bb-collection-remove{background:transparent;border:0;color:#786b63;padding:3px}.bb-collection-save{margin-top:12px;display:grid;gap:8px}.bb-collection-save input{width:100%;box-sizing:border-box}
.door-leaf,.window-line{stroke:#484643;stroke-width:2;fill:none}.door-arc{stroke:#77736f;stroke-width:1.5;fill:none;stroke-dasharray:6 4}
.bb-input-unit-control{display:block;padding:10px 12px;border:1px solid #d9cdc0;background:#faf7f2;margin-bottom:16px;font-size:13px}.bb-input-unit-control select{display:block;width:100%;margin-top:6px;padding:8px}.bb-imperial-fields{display:flex;align-items:center;gap:5px}.bb-imperial-fields input{min-width:0;width:42%!important}.bb-imperial-fields small{font-size:12px;color:#786b63}
.bb-confirm-dialog{width:min(440px,calc(100vw - 32px));padding:28px;border:1px solid #d9cdc0;border-radius:14px;background:#fffdfa;color:#342e29;box-shadow:0 20px 80px #0003}.bb-confirm-dialog::backdrop{background:#211b1866}.bb-confirm-dialog h2{margin:0 0 12px;font-size:21px}.bb-confirm-dialog p{font-size:14px;line-height:1.7;color:#75685e}.bb-confirm-dialog>div{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.bb-confirm-dialog button{padding:11px 20px;border:1px solid #d9cdc0;border-radius:6px;cursor:pointer}.bb-confirm-dialog [data-cancel-delete]{background:#fffdfa;color:#51483e}.bb-confirm-dialog [data-confirm-delete]{background:#813b3f;color:white;border-color:#813b3f}
.bb-electrical-panel{padding:14px;border:1px solid #d9cdc0;border-radius:8px;background:#fffdfa;margin:12px 0}.bb-electrical-panel>summary{font-size:16px;font-weight:650;margin-bottom:10px}.bb-electrical-panel>small,.bb-electrical-panel>p{display:block;color:#75685e;font-size:12px;line-height:1.7;margin:10px 0}.bb-electrical-panel>label{display:block;margin:14px 0;font-size:13px;color:#443a33}.bb-electrical-panel>label>input:not([type=checkbox]),.bb-electrical-panel>label>select{display:block;width:100%;padding:10px;margin-top:6px;border:1px solid #d9cdc0;border-radius:5px;background:white;color:#332c27}.bb-electrical-panel>label:has(input[type=checkbox]){display:flex;align-items:center;gap:8px;padding:8px;background:#f4efe8;border-radius:5px}.bb-electrical-panel>label>small{color:#786b63}.bb-electrical-panel>button{display:block;width:100%;margin:10px 0;padding:11px;border:1px solid #813b3f;background:#813b3f;color:white;border-radius:6px}.bb-product-library>summary{padding:14px;background:#f4efe8;font-size:16px;font-weight:650;color:#40312c;border:1px solid #d9cdc0;border-radius:6px}.bb-product-library{margin-top:14px}
.bb-lighting-workspace-bar{margin:8px 0 18px;padding:16px;background:#f4efe8;border:1px solid #d9cdc0;border-radius:8px}.bb-lighting-workspace-bar button{padding:10px 14px;margin:5px;border:1px solid #813b3f;background:#fffdfa;color:#813b3f;border-radius:5px}.bb-lighting-workspace-bar h2{font-size:23px}.bb-electrical-panel>h3{font-size:15px;padding-top:14px;border-top:1px solid #e2d8cc;color:#813b3f;grid-column:1/-1}.bb-question-card input[hidden],.bb-question-card small[hidden],.bb-question-card span[hidden]{display:none!important}
.bb-plan-toolbar>details>summary{box-sizing:border-box;display:list-item;list-style-position:inside;margin:0;padding:10px 14px;min-height:40px;border:1px solid var(--line);background:var(--white);color:var(--wine);font:600 13px/18px Manrope,"Noto Sans SC",sans-serif;cursor:pointer;border-radius:0}.bb-plan-toolbar>details>summary:hover{background:#f4efe8}.bb-plan-toolbar>details[open]>summary{border-color:var(--wine)}
@media(min-width:1000px){.bb-lighting-workspace .bb-question-card{width:620px;padding:24px 28px}.bb-lighting-workspace.bb-panel-open .bb-shell{width:calc(100% - 620px);margin-right:620px}.bb-lighting-workspace.bb-panel-open .bb-panel-toggle{right:638px}.bb-lighting-workspace .bb-electrical-panel[open]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}.bb-lighting-workspace .bb-electrical-panel>summary,.bb-lighting-workspace .bb-electrical-panel>small,.bb-lighting-workspace .bb-electrical-panel>p,.bb-lighting-workspace .bb-electrical-panel>button,.bb-lighting-workspace .bb-electrical-panel>label:has(input[type=checkbox]){grid-column:1/-1}.bb-lighting-workspace .bb-question-card>*:not(.bb-electrical-panel):not(.bb-lighting-workspace-bar):not(.bb-input-unit-control){display:none}}
.bb-electrical-panel>.bb-electrical-note{grid-column:1/-1;display:block;margin:18px 0 0;padding:12px;border-top:1px solid #e2d8cc;color:#75685e;font-size:12px;line-height:1.7}.bb-lighting-workspace-bar label{display:block;margin-top:12px;font-size:13px}.bb-lighting-workspace-bar select{display:block;width:100%;padding:10px;border:1px solid #d9cdc0;background:#fffdfa;margin-top:6px}
.bb-opening-dialog.bb-opening-side-editor{position:fixed;top:100px;bottom:auto;margin:0;width:300px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 116px);padding:16px;box-shadow:0 10px 30px #0002}
.bb-opening-dialog.bb-opening-side-editor::backdrop{background:transparent}
.bb-drawing-settings{margin:10px 0}.bb-drawing-settings>summary{display:inline-block;list-style:none;cursor:pointer;padding:10px 14px;background:#813b3f;color:white;border:1px solid #813b3f;border-radius:4px;min-height:44px}.bb-drawing-settings>summary::-webkit-details-marker{display:none}.bb-drawing-settings:not([open])> :not(summary){display:none!important}.bb-drawing-settings[open]{padding-bottom:10px;border-bottom:1px solid #ddd}.bb-drawing-settings>[data-close-drawing-settings]{min-height:44px;padding:8px 12px;border:1px solid #813b3f;background:white;color:#813b3f;border-radius:4px;cursor:pointer}
.bb-drawing-settings{position:relative;margin:0!important;padding:0!important;border:0!important;flex:0 0 auto}.bb-drawing-settings[open]>.bb-view-tools{position:absolute;top:calc(100% + 8px);left:0;z-index:2100;width:340px;max-width:calc(100vw - 48px);padding:12px;margin:0;background:white;border:1px solid #813b3f;box-shadow:0 8px 24px #0002;border-radius:4px}
body:has([data-integrated-drawing]){overflow-x:hidden}body:has([data-integrated-drawing])>.bb-header{padding-left:20px!important;padding-right:20px!important;width:100%;max-width:none}body>[data-integrated-drawing]{display:block!important;width:100vw!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important}body>[data-integrated-drawing]>iframe{display:block;width:100%!important;max-width:none!important;margin:0!important;border:0!important}

/* Keep setup controls aligned before entering the floating drawing workspace. */
body:not(.bb-clean-layout) [aria-label="设计操作工具栏"]{display:flex!important;align-items:flex-start!important;gap:8px!important;flex-wrap:wrap!important}
body:not(.bb-clean-layout) [aria-label="设计操作工具栏"] .bb-canvas-tool-pair{display:flex!important;align-items:flex-start!important;gap:8px!important;flex-wrap:wrap!important}
body:not(.bb-clean-layout) [aria-label="设计操作工具栏"] .bb-canvas-tool-pair>button{box-sizing:border-box;min-height:44px;min-width:112px;margin:0;padding:10px 14px;border:1px solid #813b3f;border-radius:4px;background:#fffdfa;color:#813b3f;font:600 13px/22px system-ui,sans-serif;white-space:nowrap;cursor:pointer}
body:not(.bb-clean-layout) [aria-label="设计操作工具栏"] [data-reset]{width:auto!important;min-width:144px!important;height:44px!important;white-space:nowrap!important;line-height:22px!important;box-sizing:border-box!important}
