:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f5f7;--panel:#fff;--border:#e0e2e7;--text:#1f2430;--text-dim:#6b7280;--accent:#4f6bed;--accent-dim:#e8ecfe;--danger:#e5484d;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text)}.app{height:100vh;display:flex;overflow:hidden}.sidebar{background:var(--panel);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:280px;display:flex}.sidebar-header{border-bottom:1px solid var(--border);padding:16px 16px 8px}.sidebar-header h1{margin:0 0 8px;font-size:16px}.sidebar-hint{color:var(--text-dim);margin:8px 0 4px;font-size:12px}.search-input{border:1px solid var(--border);border-radius:6px;width:100%;padding:6px 8px;font-size:13px}.opening-group{border-bottom:1px solid var(--border);padding:8px 12px 12px}.opening-group .sidebar-hint{margin:6px 0 0;font-size:11px}.sidebar-scroll{flex:1;padding:8px 12px 24px;overflow-y:auto}.catalog-group h2{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);margin:16px 0 6px;font-size:11px}.catalog-row{cursor:grab;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;padding:8px;display:flex}.catalog-row:hover{background:var(--accent-dim);border-color:var(--accent)}.catalog-row:active{cursor:grabbing}.catalog-icon{text-align:center;flex-shrink:0;width:28px;font-size:20px}.catalog-info{min-width:0}.catalog-name{font-size:13px;font-weight:500}.catalog-size{color:var(--text-dim);cursor:text;font-size:11px}.catalog-size-edit{align-items:center;gap:4px;margin-top:2px;display:flex}.catalog-size-edit input{border:1px solid var(--border);border-radius:4px;width:44px;padding:2px 4px;font-size:11px}.catalog-size-edit span{color:var(--text-dim);font-size:11px}.catalog-size-edit button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:4px;width:20px;height:20px;font-size:11px}.main{flex-direction:column;flex:1;min-width:0;display:flex}.room-tabs{background:var(--panel);border-bottom:1px solid var(--border);align-items:center;gap:4px;padding:10px 16px;display:flex;overflow-x:auto}.room-tab{cursor:pointer;color:var(--text-dim);white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;display:flex}.room-tab.active{background:var(--accent-dim);color:var(--accent);font-weight:600}.room-tab-input{border:1px solid var(--accent);border-radius:4px;width:100px;padding:2px 4px;font-size:13px}.room-tab-close{color:inherit;opacity:.6;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:14px;line-height:1}.room-tab-close:hover{opacity:1;color:var(--danger)}.room-tab-add{border:1px dashed var(--border);color:var(--text-dim);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;padding:6px 12px;font-size:13px}.room-tab-add:hover{border-color:var(--accent);color:var(--accent)}.room-tabs-spacer{flex:1}.room-tab-backup{border:1px solid var(--border);background:var(--panel);color:var(--text-dim);cursor:pointer;white-space:nowrap;border-radius:6px;padding:6px 12px;font-size:12px}.room-tab-backup:hover{border-color:var(--accent);color:var(--accent)}.toolbar{background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:20px;padding:10px 16px;display:flex}.toolbar-field{color:var(--text-dim);flex-direction:column;gap:2px;font-size:11px;display:flex}.toolbar-field input,.toolbar-field select{border:1px solid var(--border);color:var(--text);border-radius:6px;width:110px;padding:4px 6px;font-size:13px}.toolbar-field input[type=range]{border:none;width:120px;padding:0}.shape-toggle{border:1px solid var(--border);border-radius:6px;display:flex;overflow:hidden}.shape-toggle button{background:var(--panel);color:var(--text-dim);cursor:pointer;border:none;padding:4px 10px;font-size:12px}.shape-toggle button+button{border-left:1px solid var(--border)}.shape-toggle button.active{background:var(--accent-dim);color:var(--accent);font-weight:600}.toolbar-dims{color:var(--text-dim);margin-left:auto;font-size:12px}.export-btn{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border-radius:6px;padding:7px 12px;font-size:12px;font-weight:600}.export-btn:hover{filter:brightness(1.08)}.export-btn:disabled{opacity:.6;cursor:default}.canvas-scroll{background:var(--bg);flex:1;padding:32px;overflow:auto}.room-grid{touch-action:none;position:relative}.room-shape{pointer-events:none;position:absolute;top:0;left:0}.room-shape-bg{filter:drop-shadow(0 1px 3px #00000014)}.room-shape-walls{z-index:3}.placed-item{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border:1px solid #00000040;border-radius:4px;justify-content:center;align-items:center;display:flex;position:absolute}.placed-item:active{cursor:grabbing}.placed-item.selected{outline:2px solid var(--accent);outline-offset:1px;z-index:5}.placed-item-content{pointer-events:none;text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;line-height:1.2;display:flex;overflow:hidden}.placed-item-icon{font-size:16px}.placed-item-label{color:#000000a6;white-space:nowrap;font-size:9px}.item-toolbar{background:var(--panel);border:1px solid var(--border);z-index:10;border-radius:6px;gap:4px;padding:2px;display:flex;position:absolute;top:-28px;left:0;box-shadow:0 2px 6px #0000001f}.item-toolbar button{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:3px 6px;font-size:13px}.item-toolbar button:hover{background:var(--accent-dim)}.opening-handle{cursor:grab;touch-action:none;z-index:4;position:absolute}.opening-handle.horizontal{cursor:ew-resize}.opening-handle.vertical{cursor:ns-resize}.opening-handle.selected{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.opening-toolbar{top:-30px;left:50%;transform:translate(-50%)}.resize-handle{background:var(--accent);cursor:nwse-resize;touch-action:none;z-index:10;border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;bottom:-4px;right:-4px}
