/* Furniture editor drawer (59-furniture-editor.js): docked on the right so the 3D view stays visible while editing */
.fe-drawer{position:fixed;top:72px;right:14px;bottom:14px;width:min(380px,calc(100vw - 28px));z-index:45;display:flex;flex-direction:column;
  background:#f7f4ef;color:#14203a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--stroke-strong);border-radius:18px;box-shadow:0 24px 60px rgba(10,20,40,.28);
  transition:translate .3s var(--ease-out,ease),opacity .25s ease}
.fe-drawer[hidden]{display:flex;translate:calc(100% + 30px) 0;opacity:0;pointer-events:none}
.fe-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:16px 16px 10px;border-bottom:1px solid var(--stroke)}
.fe-head h2{margin:0;font-size:16px;font-weight:700}
.fe-head p{margin:2px 0 0;font-size:11.5px;color:var(--mut)}
.fe-x{width:30px;height:30px;flex:none;border-radius:9px;border:1px solid var(--stroke-strong);background:rgba(var(--ov),.05);color:var(--txt);font-size:14px;cursor:pointer}
.fe-x:hover{border-color:var(--amber)}
.fe-body{flex:1;overflow-y:auto;padding:12px 16px 16px;display:flex;flex-direction:column;gap:16px}
.fe-h{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);margin:0 0 7px;display:flex;justify-content:space-between;align-items:center}
.fe-h b{color:var(--amber);font-weight:700;text-transform:none;letter-spacing:0}
.fe-floor{font-size:11px;color:var(--mut);margin:8px 0 5px}
.fe-floor:first-child{margin-top:0}
.fe-rooms{display:flex;flex-wrap:wrap;gap:6px}
.fe-room{padding:6px 11px;border-radius:999px;border:1px solid var(--stroke-strong);background:rgba(var(--ov),.05);color:var(--txt);font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;display:inline-flex;gap:6px;align-items:center}
.fe-room:hover{border-color:var(--amber)}
.fe-room.on{background:#b25200;border-color:#b25200;color:#fff}
.fe-room i{font-style:normal;font-size:10.5px;min-width:16px;height:16px;border-radius:8px;display:inline-grid;place-items:center;background:rgba(var(--ov),.12)}
.fe-room.on i{background:rgba(255,255,255,.25)}
.fe-cat{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}
.fe-add{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:11px;border:1px solid var(--stroke-strong);background:rgba(var(--ov),.04);color:var(--txt);cursor:pointer;text-align:left;transition:border-color .15s,background .15s}
.fe-add:hover{border-color:var(--amber);background:rgba(255,179,71,.12)}
.fe-add svg{width:22px;height:22px;flex:none;stroke:var(--amber);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.fe-add span{display:flex;flex-direction:column;font-size:12px;font-weight:600;line-height:1.25}
.fe-add small{font-size:10.5px;font-weight:400;color:var(--mut)}
.fe-list{display:flex;flex-direction:column;gap:7px}
.fe-empty{padding:16px;border:1px dashed var(--stroke-strong);border-radius:11px;text-align:center;font-size:12px;color:var(--mut)}
.fe-item{border:1px solid var(--stroke-strong);border-radius:12px;background:rgba(var(--ov),.04);overflow:hidden}
.fe-item.sel{border-color:var(--amber);box-shadow:0 0 0 2px rgba(255,179,71,.25)}
.fe-row{display:flex;align-items:center;gap:9px;padding:8px 10px;cursor:pointer}
.fe-row svg{width:20px;height:20px;flex:none;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.8}
.fe-name{flex:1;font-size:12.5px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fe-st{font-size:10px;padding:2px 7px;border-radius:999px;white-space:nowrap;border:1px solid rgba(61,170,110,.45);color:#1d7a46}
.fe-st.snap{border-color:rgba(220,140,40,.5);color:#99560a}
.fe-ic{width:28px;height:28px;border-radius:8px;border:1px solid transparent;background:none;color:var(--txt);cursor:pointer;display:grid;place-items:center;font-size:13px}
.fe-ic:hover{border-color:var(--stroke-strong);background:rgba(var(--ov),.06)}
.fe-ic.del:hover{color:#d23b2a;border-color:rgba(210,59,42,.4)}
.fe-ctl{display:none;padding:4px 12px 12px;gap:10px;flex-direction:column;border-top:1px solid var(--stroke)}
.fe-item.sel .fe-ctl{display:flex}
.fe-pad{display:grid;grid-template-columns:repeat(3,32px);grid-template-rows:repeat(3,28px);gap:4px;justify-content:start}
.fe-pad button{border-radius:7px;border:1px solid var(--stroke-strong);background:rgba(var(--ov),.05);color:var(--txt);cursor:pointer;font-size:12px}
.fe-pad button:hover{border-color:var(--amber)}
.fe-pad .c{grid-column:2;grid-row:2;font-size:10px}
.fe-pad .u{grid-column:2;grid-row:1}.fe-pad .d{grid-column:2;grid-row:3}.fe-pad .l{grid-column:1;grid-row:2}.fe-pad .r{grid-column:3;grid-row:2}
.fe-move{display:flex;gap:14px;align-items:center}
.fe-move p{margin:0;font-size:11px;color:var(--mut);line-height:1.4}
.fe-sl{display:flex;flex-direction:column;gap:3px;font-size:11.5px}
.fe-sl label{display:flex;justify-content:space-between;color:var(--txt)}
.fe-sl output{color:var(--amber);font-weight:600;font-variant-numeric:tabular-nums}
.fe-fin{display:flex;flex-wrap:wrap;gap:6px}
.fe-fin button{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;box-shadow:0 0 0 1px var(--stroke-strong)}
.fe-fin button.on{border-color:#fff;box-shadow:0 0 0 2px var(--amber)}
.fe-fin .auto{background:conic-gradient(#c9b79c,#5a6b7a,#a24a2c,#c9b79c)}.fe-fin .navy{background:#24324f}.fe-fin .rust{background:#a24a2c}
.fe-fin .mustard{background:#c9962c}.fe-fin .linen{background:#e6dccb}.fe-fin .wood{background:#9a7048}.fe-fin .charcoal{background:#33363b}.fe-fin .stone{background:#d4c7b0}
.fe-foot{display:flex;gap:6px;padding:12px 14px;border-top:1px solid var(--stroke);flex-wrap:nowrap;align-items:center}
.fe-foot button{height:32px;padding:0 10px;white-space:nowrap;border-radius:9px;border:1px solid var(--stroke-strong);background:rgba(var(--ov),.05);color:var(--txt);font-size:12px;font-weight:500;cursor:pointer}
.fe-foot button:hover{border-color:var(--amber)}
.fe-foot .grow{flex:1;min-width:0}
.fe-foot .done{background:#b25200;border-color:#b25200;color:#fff;font-weight:600}
@media (max-width:720px){.fe-drawer{top:auto;left:10px;right:10px;width:auto;height:62vh}}
/* dark theme: the drawer follows the studio's dark glass */
:root[data-theme="dark"] .fe-drawer{background:#1b2130;color:#e9edf3}
