/*! tailwindcss v4.1.12 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid}}}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.top-1\/2{top:50%}.left-1\/2{left:50%}.z-\[9998\]{z-index:9998}.z-\[9999\]{z-index:9999}.col-span-2{grid-column:span 2/span 2}.container{width:100%}.mx-auto{margin-inline:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[85vh\]{max-height:85vh}.w-\[90vw\]{width:90vw}.w-full{width:100%}.max-w-\[800px\]{max-width:800px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-help{cursor:help}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.text-center{text-align:center}.break-words{overflow-wrap:break-word}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}body{background-color:#f8fafc;margin:0;font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace}#root{width:100vw;height:100vh;overflow:hidden}.floating-window{z-index:40;background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;position:fixed;box-shadow:0 10px 25px -5px #00000026}.floating-window.docked{box-shadow:none;border:none;border-bottom:1px solid #e5e7eb;border-radius:0;height:auto;position:relative;width:100%!important;top:0!important;left:0!important}.floating-window.docked:last-child{border-bottom:none}.floating-window-header{cursor:move;background-color:#fafafa;border-bottom:1px solid #e5e7eb;border-top-left-radius:.5rem;border-top-right-radius:.5rem;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.floating-window.docked .floating-window-header{cursor:default;border-radius:0}.floating-window-header-actions{align-items:center;gap:.5rem;display:flex}.floating-window-content{padding:1rem;overflow-y:auto}.floating-window.docked.collapsed .floating-window-content{display:none}.floating-window.docked.collapsed{height:auto}.docked-container{background-color:#fff;border-right:1px solid #e5e7eb;flex-direction:column;width:min(320px,20vw);transition:all .3s;display:flex;position:fixed;top:3.6rem;bottom:0;overflow-y:auto}.docked-container.left{left:0}.docked-container.right{border-left:1px solid #e5e7eb;border-right:none;right:0}@media (max-width:768px){.desktop-only{display:none!important}.mobile-all-panels{z-index:100;background-color:#fff;border:none;border-bottom:1px solid #e5e7eb;flex-direction:row;width:100%;height:60px;position:fixed;top:3.6rem;left:0;right:0;overflow:auto hidden;display:flex!important}.docked-container{z-index:100;background-color:#fff;border:none;border-bottom:1px solid #e5e7eb;flex-direction:row;width:auto;height:60px;display:flex;position:fixed;top:3.6rem;left:0;right:0;overflow:auto hidden}.docked-container .floating-window-content{display:none}.docked-container{flex-direction:row;display:flex;overflow:auto hidden}.docked-container .floating-window.docked{border-bottom:none;border-right:1px solid #e5e7eb;flex-shrink:0;width:auto!important}.docked-container .floating-window.docked:last-child{border-right:none}.floating-window.mobile-expanded{z-index:1000!important;border-radius:.5rem!important;width:90vw!important;max-width:500px!important;height:auto!important;max-height:80vh!important;position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;box-shadow:0 20px 40px -5px #0000004d!important}.floating-window.mobile-expanded .floating-window-content{max-height:calc(80vh - 60px);overflow-y:auto;display:block!important}.mobile-panel-backdrop{z-index:999;background-color:#00000080;position:fixed;inset:0}}.floating-window-collapsed{z-index:50;cursor:pointer;background-color:#fff;border:1px solid #e5e7eb;border-radius:.375rem;padding:.5rem .75rem;transition:all .15s;position:fixed;left:1rem;box-shadow:0 4px 6px -1px #0000001a}.floating-window-collapsed:hover{border-color:#d1d5db;box-shadow:0 6px 10px -2px #00000026}.hover-card{z-index:2000;pointer-events:none;background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;min-width:12rem;padding:.75rem;transition:left .1s ease-out,top .1s ease-out;position:absolute;box-shadow:0 10px 20px -5px #0003}.hover-card-mobile{border:2px solid #3b82f6;width:min(280px,80vw);max-width:min(280px,80vw);padding:.5rem;position:fixed;transform:translate(-50%);box-shadow:0 20px 40px -10px #0000004d;left:50%!important}.unit-toggle-container{flex-direction:column;gap:.25rem;display:flex}@media (min-width:640px){.unit-toggle-container{flex-direction:row}}@media (max-width:639px){.unit-toggle-container .btn-sm{padding:.25rem .5rem;font-size:.6875rem}}.btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:.375rem;justify-content:center;align-items:center;padding:.5rem .875rem;font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace;font-size:.8125rem;font-weight:500;transition:all .15s;display:inline-flex}.btn-success{color:#fff;background-color:#059669;border-color:#059669}.btn-success:hover:not(:disabled){background-color:#047857;border-color:#047857}.btn-info{color:#fff;background-color:#2563eb;border-color:#2563eb}.btn-info:hover:not(:disabled){background-color:#1d4ed8;border-color:#1d4ed8}.btn-danger{color:#fff;background-color:#dc2626;border-color:#dc2626}.btn-danger:hover:not(:disabled){background-color:#b91c1c;border-color:#b91c1c}.btn-accent{color:#fff;background-color:#7c3aed;border-color:#7c3aed}.btn-accent:hover:not(:disabled){background-color:#6d28d9;border-color:#6d28d9}.btn-neutral{color:#fff;background-color:#6b7280;border-color:#6b7280}.btn-neutral:hover:not(:disabled){background-color:#4b5563;border-color:#4b5563}.btn-secondary{color:#374151;background-color:#e5e7eb;border-color:#d1d5db}.btn-secondary:hover:not(:disabled){background-color:#d1d5db;border-color:#9ca3af}.btn-sm{padding:.375rem .625rem;font-size:.75rem}.btn-xs{padding:.25rem .5rem;font-size:.6875rem}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-icon{color:#6b7280;background-color:#e5e7eb;border:none;border-radius:9999px;width:1.75rem;height:1.75rem;padding:0}.btn-icon:hover:not(:disabled){color:#374151;background-color:#d1d5db}.input-field{color:#111827;background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;width:90%;padding:.5rem .625rem;font-size:.8125rem;transition:all .15s}.input-field:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f614}.input-field:disabled{color:#9ca3af;cursor:not-allowed;background-color:#f3f4f6}.select-field{color:#111827;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;width:100%;padding:.5rem .625rem;font-size:.8125rem;transition:all .15s}.select-field:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f614}.select-field:disabled{color:#9ca3af;cursor:not-allowed;background-color:#f3f4f6}.checkbox-field{cursor:pointer;border:1px solid #d1d5db;border-radius:.25rem;width:1rem;height:1rem;transition:all .15s}.checkbox-field:checked{background-color:#2563eb;border-color:#2563eb}.form-label{color:#4b5563;letter-spacing:.01em;margin-top:.5rem;margin-bottom:.25rem;font-size:.7rem;font-weight:500;display:block}.section-title{color:#111827;letter-spacing:-.01em;margin-bottom:.75rem;font-size:.75rem;font-weight:600}.text-mono{font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace}.text-xs{padding-top:5px;padding-bottom:5px;padding-left:2px;font-size:.6875rem}.text-sm{padding:2px;font-size:.75rem}.text-base{padding:2px;font-size:.8125rem}.text-lg{font-size:1.125rem}.grid-cell{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:#fafafa;border:1px solid #d1d5db;justify-content:center;align-items:center;font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace;font-size:.6875rem;transition:all .15s;display:flex}.grid-cell:hover{background-color:#f3f4f6;border-color:#9ca3af}.grid-cell-drag{background-color:#dbeafe!important;border-color:#60a5fa!important}.grid-cell-merged{color:#047857;background-color:#d1fae5;border:1px solid #10b981;font-weight:500}.grid-cell-merged:hover{background-color:#a7f3d0;border-color:#059669}.info-box{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;padding:.625rem .75rem;font-size:.75rem}.info-row{justify-content:space-between;align-items:center;padding:.25rem 0;display:flex}.info-label{color:#6b7280;font-weight:400}.info-value{color:#111827;font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace;font-weight:500}.canvas-3d-bg{background-color:#fefefe}.divider{background-color:#e5e7eb;height:1px;margin:.75rem 0}.field-group{flex-direction:column;gap:.375rem;display:flex}.field-row{align-items:center;gap:.5rem;display:flex}.field-row-split{gap:.5rem;display:flex}.field-row-split>*{flex:1}.door-hardware-btn{cursor:pointer;border:1px solid #d1d5db;border-radius:.25rem;justify-content:center;align-items:center;min-height:2.5rem;padding:.5rem;transition:all .15s;display:flex}.door-hardware-btn:hover{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.hardware-dot{background-color:currentColor;border-radius:9999px;width:.5rem;height:.5rem}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
