:root{--bg:#1a1f18;--bg-elevated:#222820;--bg-panel:#1e231c;--border:#3a4436;--border-strong:#54664d;--text:#f4f2ec;--text-muted:#a8b0a0;--accent:#dcae15;--accent-ink:#2a2f28;--mentx-green:#54664d;--mentx-sage:#cfd9cb;--stage:#141810;--shadow:0 24px 80px #00000080;--font-ui:"Manrope", system-ui, sans-serif;--font-display:"Manrope", system-ui, sans-serif;--radius:8px}*{box-sizing:border-box}html,body,#root{height:100%;min-height:100%;margin:0}body{font-family:var(--font-ui);background:radial-gradient(ellipse 80% 50% at 10% -10%, #dcae1512, transparent 50%), radial-gradient(ellipse 60% 40% at 100% 0%, #54664d26, transparent 45%), var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}.app-shell{flex-direction:column;height:100%;min-height:100vh;display:flex}.toolbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#121210eb;flex-shrink:0;justify-content:space-between;align-items:center;gap:1.5rem;padding:.85rem 1.25rem;display:flex}.brand-mark{align-items:center;gap:.75rem;min-width:180px;display:flex}.brand-logo{flex-shrink:0;width:auto;height:28px}.brand-mark strong{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.05rem;font-weight:700;display:block}.brand-mark span{color:var(--text-muted);font-size:.75rem;display:block}.brand-dot{display:none}.toolbar-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.toolbar-field{background:var(--bg-elevated);border:1px solid var(--border);border-radius:6px;align-items:center;gap:.35rem;height:34px;margin:0;padding:0 .15rem 0 .45rem;display:inline-flex}.toolbar-field-scale{min-width:0}.toolbar-icon{color:var(--text-muted);flex-shrink:0;display:inline-flex}.toolbar-field select{appearance:none;color:var(--text);cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239a9688' stroke-width='1.4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") right .4rem center no-repeat;border:none;min-width:0;max-width:200px;padding:.35rem 1.4rem .35rem .15rem;font-size:.8rem}.toolbar-field-scale select{max-width:4.2rem;padding-right:1.2rem}.toolbar-field select:focus{outline:none}.export-meta{color:var(--text-muted);font-variant-numeric:tabular-nums;border:1px dashed var(--border);white-space:nowrap;border-radius:6px;align-items:center;height:34px;padding:0 .55rem;font-size:.78rem;display:inline-flex}.btn-export{appearance:none;background:var(--accent);color:var(--accent-ink);font-weight:700;font-family:var(--font-display);cursor:pointer;border:none;border-radius:6px;height:34px;padding:0 .9rem;font-size:.85rem;transition:transform .15s,filter .15s}.btn-export:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}.btn-export:disabled{opacity:.6;cursor:wait}.workspace{flex:1;grid-template-columns:280px 1fr 300px;min-height:0;display:grid}.sidebar{background:var(--bg-panel);border-color:var(--border);flex-direction:column;gap:0;display:flex;overflow-y:auto}.sidebar.left{border-right:1px solid var(--border)}.sidebar.right{border-left:1px solid var(--border)}.panel{border-bottom:1px solid var(--border);padding:1.1rem 1rem 1.25rem}.panel-header h2{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:.95rem;font-weight:700}.panel-header p{color:var(--text-muted);margin:.35rem 0 0;font-size:.78rem;line-height:1.4}.layer-type-badge{border:1px solid var(--border);text-transform:uppercase;letter-spacing:.06em;border-radius:4px;padding:.15rem .45rem;margin-top:.4rem!important;font-size:.7rem!important;display:inline-block!important}.btn-save-template{appearance:none;border:1px solid var(--accent);width:100%;color:var(--text);cursor:pointer;background:#dcae151f;border-radius:6px;margin:.75rem 0 .5rem;padding:.55rem .75rem;font-size:.8rem;font-weight:600}.btn-save-template:hover{background:#dcae1533}.btn-secondary{appearance:none;border:1px solid var(--border);background:var(--bg-elevated);width:100%;color:var(--text);cursor:pointer;border-radius:6px;margin-bottom:.5rem;padding:.45rem .65rem;font-size:.78rem;font-weight:600}.btn-secondary:hover{border-color:var(--border-strong)}.btn-secondary.danger{color:#ff8f75;border-color:#ff6b4a73}.btn-secondary.danger:hover{color:#ff6b4a;background:#ff6b4a14;border-color:#ff6b4a}.add-grid{grid-template-columns:1fr 1fr;gap:.4rem;margin-top:.75rem;display:grid}.add-btn{appearance:none;text-align:left;background:var(--bg-elevated);border:1px solid var(--border);cursor:pointer;border-radius:6px;flex-direction:column;gap:.15rem;padding:.5rem .55rem;display:flex}.add-btn:hover{border-color:var(--accent)}.add-btn strong{font-size:.8rem}.add-btn span{color:var(--text-muted);font-size:.65rem}.template-card.saved{align-items:stretch;padding:0;display:flex;position:relative}.template-card-main{text-align:left;appearance:none;cursor:pointer;color:inherit;background:0 0;border:none;flex:1;align-items:stretch;gap:.7rem;min-width:0;padding:.55rem;display:flex}.template-delete{appearance:none;color:var(--text-muted);cursor:pointer;border:none;border-left:1px solid var(--border);background:0 0;padding:0 .65rem;font-size:1.1rem}.template-delete:hover{color:#ff6b4a;background:#ff6b4a14}.layer-empty{color:var(--text-muted);padding:.5rem;font-size:.78rem;list-style:none}.layer-actions{flex-wrap:wrap;gap:.35rem;margin:.75rem 0 0;display:flex}.layer-actions button{appearance:none;border:1px solid var(--border);background:var(--bg-elevated);cursor:pointer;color:var(--text-muted);border-radius:5px;padding:.3rem .5rem;font-size:.72rem}.layer-actions button:hover{border-color:var(--border-strong);color:var(--text)}.layer-actions button.danger:hover{color:#ff6b4a;border-color:#ff6b4a}.field-note{color:var(--text-muted);margin:0;font-size:.72rem;line-height:1.35}.field-em{color:var(--text-muted);text-transform:none;letter-spacing:0;font-style:normal;font-weight:500}.danger-note{color:#ff8f75}.template-grid{flex-direction:column;gap:.5rem;margin-top:.85rem;display:flex}.template-card{text-align:left;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;align-items:stretch;gap:.7rem;padding:.55rem;transition:border-color .15s,background .15s;display:flex}.template-card:hover{border-color:var(--border-strong)}.template-card.is-active{border-color:var(--accent);background:#dcae1514}.template-thumb{object-fit:cover;background:var(--bg);border:1px solid #ffffff1a;border-radius:6px;flex-shrink:0;width:48px;height:48px;display:block}.template-thumb.is-empty{background:0 0;border-style:dashed;border-color:#ffffff38}.template-meta{flex-direction:column;gap:.2rem;min-width:0;display:flex}.template-meta strong{font-size:.85rem;font-weight:600}.template-meta span{color:var(--text-muted);font-size:.72rem;line-height:1.35}.layer-list{flex-direction:column;gap:.35rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.layer-list button{appearance:none;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:.55rem;width:100%;padding:.45rem .5rem;font-size:.85rem;display:flex}.layer-list button:hover{background:var(--bg-elevated)}.layer-list button.is-active{border-color:var(--accent);background:#dcae1514}.layer-kind{letter-spacing:.02em;background:var(--border);width:28px;height:22px;color:var(--text-muted);border-radius:4px;justify-content:center;align-items:center;font-size:.65rem;font-weight:700;display:inline-flex}.stage{background-color:#0000;background-image:linear-gradient(45deg,#141412 25%,#0000 25%),linear-gradient(-45deg,#141412 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#141412 75%),linear-gradient(-45deg,#0000 75%,#141412 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-repeat:repeat,repeat,repeat,repeat;background-size:20px 20px;background-attachment:scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;background-color:var(--stage);flex-direction:column;justify-content:center;align-items:center;min-height:0;padding:1.5rem;display:flex;position:relative;overflow:auto}.canvas-scaler{box-shadow:var(--shadow);flex-shrink:0;position:relative}.canvas-zoom{position:absolute;top:0;left:0}.design-canvas{isolation:isolate;background:#000;position:relative;overflow:hidden}.canvas-layer.is-editable.is-selected{outline:2px solid var(--accent);outline-offset:-2px}.canvas-layer.is-editable:hover:not(.is-selected){outline-offset:-1px;outline:1px dashed #dcae158c}.layer-content{position:absolute;inset:0;overflow:hidden}.layer-handle{z-index:20;box-sizing:border-box;color:#fff;cursor:pointer;pointer-events:auto;background:#1c1b19;border:1px solid #ffffff59;padding:0;position:absolute}.layer-delete{border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:16px;font-weight:700;line-height:1;display:flex;top:0;right:0;transform:translate(50%,-50%)}.layer-delete:hover{background:#000;border-color:#fff}.layer-duplicate{border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex;top:0;left:0;transform:translate(-50%,-50%)}.layer-duplicate:hover{background:#000;border-color:#fff}.layer-resize{cursor:nwse-resize;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex;bottom:0;right:0;transform:translate(50%,50%)}.layer-resize:hover{background:#000;border-color:#fff}.canvas-layer.is-draggable{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.canvas-layer.is-draggable:active{cursor:grabbing}.snap-guide{z-index:9999;pointer-events:none;background:var(--accent);position:absolute}.snap-guide-v{width:1px;top:0;bottom:0;transform:translate(-.5px);box-shadow:0 0 0 .5px #dcae1566}.snap-guide-h{height:1px;left:0;right:0;transform:translateY(-.5px);box-shadow:0 0 0 .5px #dcae1566}.drag-hint{color:var(--text-muted);margin:0;font-size:.78rem;line-height:1.35}.geo-readout{font-variant-numeric:tabular-nums;color:var(--text-muted);grid-template-columns:1fr 1fr;gap:.25rem .5rem;font-size:.75rem;display:grid}.geometry-fallback{margin-top:.25rem}.geometry-fallback summary{cursor:pointer;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:.35rem 0;font-size:.72rem}.geometry-fallback[open] summary,.geometry-fallback .field-row{margin-bottom:.5rem}.stage-caption{color:var(--text-muted);letter-spacing:.02em;font-variant-numeric:tabular-nums;margin-top:1rem;font-size:.75rem}.form-stack{flex-direction:column;gap:.85rem;margin-top:1rem;display:flex}.field{flex-direction:column;gap:.35rem;display:flex}.field>span{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.72rem}.field textarea,.field input[type=url],.field input[type=text],.field select{background:var(--bg-elevated);border:1px solid var(--border);resize:vertical;border-radius:6px;padding:.5rem .65rem}.field textarea:focus,.field input:focus,.field select:focus{outline:1px solid var(--accent);border-color:var(--accent)}.field input[type=range]{width:100%;accent-color:var(--accent)}.field input[type=color]{background:var(--bg-elevated);border:1px solid var(--border);cursor:pointer;border-radius:6px;width:100%;height:36px;padding:.2rem}.field input[type=file]{color:var(--text-muted);font-size:.78rem}.field-row{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.empty-hint{border:1px dashed var(--border);border-radius:var(--radius);color:var(--text-muted);margin-top:1rem;padding:.85rem;font-size:.8rem;line-height:1.45}.image-preview{border:1px solid var(--border);aspect-ratio:16/10;background:#000;border-radius:6px;overflow:hidden}.image-preview img{object-fit:cover;width:100%;height:100%;display:block}.color-swatches{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.swatch{border:2px solid var(--border);cursor:pointer;border-radius:4px;width:28px;height:28px;padding:0}.swatch.is-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.swatch-custom{border:2px solid var(--border);cursor:pointer;background:0 0;border-radius:4px;width:28px;height:28px;padding:0}.stock-grid{grid-template-columns:repeat(3,1fr);gap:.4rem;max-height:220px;padding:.15rem;display:grid;overflow-y:auto}.btn-secondary.upload-label{cursor:pointer;justify-content:center;align-items:center;display:flex}.stock-thumb-wrap{position:relative}.stock-thumb-remove{appearance:none;color:#fff;cursor:pointer;z-index:2;background:#141412d9;border:1px solid #00000059;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;padding:0;font-size:11px;line-height:1;display:flex;position:absolute;top:2px;right:2px}.stock-thumb-remove:hover{background:#ff6b4a;border-color:#ff6b4a}.position-grid{grid-template-columns:repeat(3,1fr);gap:.3rem;margin-bottom:.55rem;display:grid}.position-btn{appearance:none;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-muted);cursor:pointer;border-radius:5px;padding:.35rem;font-size:.85rem;line-height:1}.position-btn:hover{border-color:var(--border-strong);color:var(--text)}.position-btn.is-active{border-color:var(--accent);color:var(--text);background:#dcae151a}.filter-block{flex-direction:column;gap:.45rem;display:flex}.stock-thumb{appearance:none;border:2px solid var(--border);cursor:pointer;aspect-ratio:1;background:#000;border-radius:4px;padding:0;overflow:hidden}.stock-thumb:hover{border-color:var(--border-strong)}.stock-thumb.is-active{border-color:var(--accent)}.stock-thumb img{object-fit:cover;filter:grayscale();width:100%;height:100%;display:block}.stock-thumb:hover img,.stock-thumb.is-active img{filter:grayscale(30%)}.overlay-block{border-bottom:1px solid var(--border);padding-bottom:.75rem}.check-field{align-items:center;flex-direction:row!important;gap:.5rem!important}.check-field input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.check-field>span{text-transform:none;letter-spacing:0;color:var(--text);font-size:.85rem}.mode-toggle{grid-template-columns:1fr 1fr;gap:.35rem;display:grid}.mode-toggle button{appearance:none;border:1px solid var(--border);background:var(--bg-elevated);cursor:pointer;color:var(--text-muted);border-radius:6px;padding:.4rem .5rem;font-size:.72rem}.mode-toggle button.is-active{border-color:var(--accent);color:var(--text);background:#dcae1514}.geometry-block{border-bottom:1px solid var(--border);margin-top:.85rem;padding-bottom:.85rem}.num-input{background:var(--bg-elevated);border:1px solid var(--border);font-variant-numeric:tabular-nums;border-radius:6px;width:100%;padding:.35rem .5rem;font-size:.85rem}.num-input:focus{outline:1px solid var(--accent);border-color:var(--accent)}.layout-grid{grid-template-columns:repeat(2,1fr);gap:.45rem;display:grid}.layout-btn{appearance:none;background:var(--bg-elevated);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:6px;flex-direction:column;align-items:stretch;gap:.35rem;padding:.45rem;display:flex}.layout-btn:hover:not(:disabled){border-color:var(--border-strong)}.layout-btn:disabled{opacity:.4;cursor:not-allowed}.layout-btn-label{color:var(--text-muted);font-size:.68rem;line-height:1.2}.layout-preview{background:#3a4436;border-radius:3px;height:36px;display:block;position:relative;overflow:hidden}.layout-preview .lp-color{background:#54664d;position:absolute;inset:0}.layout-btn.is-active{border-color:var(--accent);background:#dcae1514}.split-rest{opacity:.75;font-style:normal;font-weight:400}.split-presets{flex-wrap:wrap;gap:.3rem;margin-top:.35rem;display:flex}.split-chip{appearance:none;border:1px solid var(--border);background:var(--bg-elevated);font-variant-numeric:tabular-nums;cursor:pointer;color:var(--text-muted);border-radius:4px;padding:.2rem .4rem;font-size:.7rem}.split-chip:hover{border-color:var(--border-strong);color:var(--text)}.split-chip.is-active{border-color:var(--accent);color:var(--accent)}.inline-num{align-items:center;margin-top:.35rem;flex-direction:row!important;gap:.4rem!important}.inline-num .num-input{width:4.5rem}.layout-preview .lp-photo{background:#8a9482 repeating-linear-gradient(-45deg,#0000,#0000 3px,#00000026 3px 6px);position:absolute}@media (width<=1100px){.workspace{grid-template-columns:240px 1fr 260px}}@media (width<=900px){.workspace{grid-template-rows:auto 1fr auto;grid-template-columns:1fr}.sidebar.left{border-right:none;border-bottom:1px solid var(--border);max-height:32vh}.sidebar.right{border-left:none;border-top:1px solid var(--border);max-height:36vh}.toolbar{flex-direction:column;align-items:stretch}.toolbar-controls{justify-content:flex-start}}*{margin:0}#root{min-height:100%}
