.studio-root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0b0e;--surface:#121214;--surface-2:#18181b;--surface-hover:#1e1e22;--border:#27272a;--border-light:#2f2f34;--accent:#6366f1;--accent-soft:#6366f11f;--accent-glow:#6366f159;--text:#fafafa;--text-secondary:#a1a1aa;--text-muted:#52525b;--success:#22c55e;--warning:#f59e0b;--error:#ef4444;--error-soft:#ef44441a;--radius-sm:4px;--radius:6px;--radius-lg:8px;--radius-xl:12px;--shadow-sm:0 1px 2px #0000004d;--shadow:0 2px 8px #00000059;--shadow-lg:0 8px 24px #00000073;--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Consolas", monospace;--topbar-height:48px;--sidebar-width:500px}.studio-root body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow:hidden}.studio-root a{color:inherit;text-decoration:none}.studio-root a:hover{color:var(--accent)}.studio-root ::-webkit-scrollbar{width:6px}.studio-root ::-webkit-scrollbar-track{background:0 0}.studio-root ::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.studio-root ::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.studio-root .topbar{height:var(--topbar-height);background:var(--surface);border-bottom:1px solid var(--border);z-index:100;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:0 16px;display:flex;position:fixed;top:0;left:0;right:0}.studio-root .topbar-brand{color:var(--text);white-space:nowrap;flex-shrink:0;align-items:center;gap:8px;font-size:.925rem;font-weight:600;display:flex}.studio-root .topbar-brand svg{width:22px;height:22px;color:var(--accent)}.studio-root .topbar-tabs{flex:1;gap:2px;margin-left:24px;display:flex}.studio-root .tab-btn{color:var(--text-secondary);font-family:var(--font);cursor:pointer;border-radius:var(--radius);white-space:nowrap;background:0 0;border:none;padding:6px 16px;font-size:.82rem;font-weight:500;transition:color .15s,background .15s}.studio-root .tab-btn:hover{color:var(--text);background:var(--surface-2)}.studio-root .tab-btn.active{color:var(--text);background:var(--surface-2);font-weight:600}.studio-root .topbar-right{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.studio-root .lang-switcher{align-items:center;gap:4px;display:flex}.studio-root .lang-btn{font-family:var(--font);letter-spacing:.04em;cursor:pointer;color:var(--text-muted);background:0 0;border:1px solid #0000;border-radius:6px;padding:.3rem .65rem;font-size:.72rem;font-weight:600;transition:all .2s}.studio-root .lang-btn.active{color:var(--text);background:var(--surface-2);border-color:var(--border)}.studio-root .lang-btn:hover:not(.active){color:var(--text-secondary)}.studio-root .app-shell{height:100vh;padding-top:var(--topbar-height);display:flex}.studio-root .sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:16px;padding:16px;display:flex;overflow:hidden auto}.studio-root .tab-content{display:none}.studio-root .tab-content.active{flex-direction:column;gap:10px;display:flex}.studio-root .settings-group{flex-direction:column;gap:8px;display:flex}.studio-root .viewer-area{background:var(--bg);flex:1;position:relative;overflow:hidden}.studio-root .viewer-panel{display:none;position:absolute;inset:0}.studio-root .viewer-panel.active{display:block}:is(.studio-root .viewer-area:has(#viewer-2d.active) .viewer-overlay,.studio-root .viewer-area:has(#viewer-2d.active) .viewer-export-bar){display:none}.studio-root #viewer-3d{width:100%;height:100%;position:absolute;inset:0}.studio-root #viewer-3d canvas{display:block;width:100%!important;height:100%!important}.studio-root #viewer-2d{background:#f5f7fa;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.studio-root #viewer-2d-canvas{cursor:grab;touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.studio-root #viewer-2d-canvas.dragging-image,.studio-root #viewer-2d-canvas.panning{cursor:grabbing}.studio-root .viewer-2d-toolbar{z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);align-items:center;gap:6px;padding:6px;display:flex;position:absolute;top:12px;right:12px}.studio-root .viewer-2d-btn{color:var(--text-secondary);font-family:var(--font);cursor:pointer;border-radius:var(--radius-sm);white-space:nowrap;background:0 0;border:none;align-items:center;gap:6px;padding:5px 10px;font-size:.78rem;transition:background .15s,color .15s;display:flex}.studio-root .viewer-2d-panel{z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:6px;padding:6px;display:flex;position:absolute;top:12px;right:12px}.studio-root .viewer-2d-panel [hidden]{display:none!important}.studio-root .viewer-2d-upload-row{align-items:center;gap:6px;display:flex}.studio-root .viewer-2d-upload-btn{flex:1;justify-content:center;padding:6px 12px}.studio-root .viewer-2d-icon-btn{padding:6px 8px}.studio-root .viewer-2d-editor-btn{justify-content:center;width:100%;padding:6px 12px}.studio-root .viewer-2d-tools-row{align-items:center;gap:2px;display:flex}.studio-root .viewer-divider-vertical{width:1px;height:18px;margin:0 4px}.studio-root .viewer-2d-btn .eye-off,.studio-root .viewer-2d-btn.image-hidden .eye-on{display:none}.studio-root .viewer-2d-btn.image-hidden .eye-off{display:block}.studio-root .viewer-2d-btn:hover{background:var(--surface-hover);color:var(--text)}.studio-root .viewer-2d-btn.active{color:var(--accent);background:var(--accent-soft)}.studio-root .viewer-2d-count{color:var(--text-secondary);white-space:nowrap;padding:0 6px;font-size:.72rem;font-weight:600}.studio-root .viewer-2d-chip{z-index:10;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);color:var(--text-secondary);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:.75rem;display:flex;position:absolute;top:12px;left:12px}.studio-root .viewer-2d-chip-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;flex:none;width:11px;height:11px;animation:.8s linear infinite ps-chip-spin}@keyframes ps-chip-spin{to{transform:rotate(360deg)}}.studio-root .viewer-overlay{z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:6px;padding:6px;display:flex;position:absolute;top:12px;right:12px}.studio-root .viewer-overlay-btn{color:var(--text-secondary);font-family:var(--font);cursor:pointer;border-radius:var(--radius-sm);white-space:nowrap;background:0 0;border:none;align-items:center;gap:6px;padding:5px 10px;font-size:.78rem;transition:background .15s,color .15s;display:flex}.studio-root .viewer-overlay-btn:hover{background:var(--surface-hover);color:var(--text)}.studio-root .viewer-overlay-btn.active{color:var(--accent);background:var(--accent-soft)}.studio-root .viewer-overlay-btn:has(input:checked){color:var(--accent);background:var(--accent-soft)}.studio-root .viewer-overlay-btn.disabled{opacity:.4;pointer-events:none}.studio-root .viewer-overlay-btn svg{flex-shrink:0;width:14px;height:14px}.studio-root .viewer-overlay-divider{background:var(--border);height:1px;margin:2px 0}.studio-root .viewer-submode{flex-direction:column;gap:2px;padding:2px;display:flex}.studio-root .submode-btn{color:var(--text-muted);font-family:var(--font);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;align-items:center;padding:3px 7px;font-size:.68rem;line-height:1.3;transition:background .15s,color .15s;display:flex}.studio-root .submode-btn:hover{color:var(--text-secondary);background:var(--surface-hover)}.studio-root .submode-btn.active{color:var(--accent);background:var(--accent-soft)}.studio-root .viewer-export-bar{z-index:10;gap:4px;display:flex;position:absolute;bottom:12px;right:12px}.studio-root .export-btn{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-secondary);font-family:var(--font);cursor:pointer;white-space:nowrap;align-items:center;gap:4px;padding:5px 10px;font-size:.72rem;font-weight:500;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.studio-root .export-btn:hover{background:var(--surface-hover);color:var(--text);border-color:var(--accent)}.studio-root .export-btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.studio-root .export-btn-primary:hover{background:#5558e6}.studio-root .export-btn svg{flex-shrink:0;width:14px;height:14px}.studio-root .toast-container{bottom:20px;left:calc(var(--sidebar-width) + 20px);z-index:200;pointer-events:none;flex-direction:column-reverse;gap:8px;display:flex;position:fixed}.studio-root .status-toast{border-radius:var(--radius-lg);font-family:var(--font);color:#fff;pointer-events:auto;align-items:center;gap:10px;min-width:240px;max-width:380px;padding:10px 14px;font-size:.8rem;font-weight:500;animation:.25s toast-in;display:flex;position:relative;overflow:hidden}.studio-root .status-toast .toast-icon{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.studio-root .status-toast .toast-msg{flex:1;line-height:1.4}.studio-root .status-toast .toast-close{width:18px;height:18px;color:inherit;opacity:.5;cursor:pointer;background:0 0;border:none;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;transition:opacity .15s;display:flex}.studio-root .status-toast .toast-close:hover{opacity:1}.studio-root .status-toast .toast-progress{background:#ffffff59;height:2px;animation:linear toast-progress;position:absolute;bottom:0;left:0}.studio-root .status-toast.toast-info{background:#3b82f6}.studio-root .status-toast.toast-success{background:#22c55e}.studio-root .status-toast.toast-error{background:#ef4444}.studio-root .status-toast.toast-warning{background:#f59e0b}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-out{0%{opacity:1;max-height:100px;transform:translate(0)}to{opacity:0;max-height:0;margin:0;padding:0 14px;transform:translate(-40px)}}@keyframes toast-progress{0%{width:100%}to{width:0%}}.studio-root .section-header{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border-bottom:1px solid var(--border);align-items:center;gap:6px;margin-bottom:8px;padding-bottom:8px;font-size:.7rem;font-weight:600;display:flex}.studio-root .section-header .section-reset-btn{cursor:pointer;color:var(--text-muted);border-radius:2px;margin-left:auto;padding:0 2px;font-size:.85rem;line-height:1;transition:color .15s}.studio-root .section-header .section-reset-btn:hover{color:var(--accent)}.studio-root .section-subheader{color:var(--text-secondary);margin-bottom:8px;font-size:.8rem;font-weight:600}.studio-root .puzzle-type-selector{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.studio-root .puzzle-type-btn.coming-soon{cursor:not-allowed;opacity:.6;background:0 0;border-style:dashed}.studio-root .puzzle-type-btn.coming-soon:hover{border-color:var(--border);color:var(--text-secondary);background:0 0}.studio-root .puzzle-icon-coming{width:56px;height:56px;color:var(--text-muted)}.studio-root .puzzle-type-btn{border:1px solid var(--border);background:var(--surface-2);color:var(--text-secondary);cursor:pointer;font-family:var(--font);border-radius:var(--radius);flex-direction:column;align-items:center;gap:8px;padding:18px 10px;font-size:.8rem;font-weight:500;transition:border-color .15s,background .15s,color .15s;display:flex}.studio-root .puzzle-type-btn:hover{border-color:var(--accent);color:var(--text)}.studio-root .puzzle-type-btn.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.studio-root .puzzle-icon-img{object-fit:contain;width:56px;height:56px}.studio-root .form-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.studio-root .form-grid .full-width{grid-column:1/-1}.studio-root .form-group{flex-direction:column;gap:4px;display:flex}.studio-root .form-group label{color:var(--text-secondary);font-size:.72rem;font-weight:500}.form-group input,.studio-root .form-group select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);font-family:var(--font);outline:none;padding:6px 8px;font-size:.82rem;transition:border-color .15s}.form-group input:focus,.studio-root .form-group select:focus{border-color:var(--accent)}.studio-root .form-group input:disabled{opacity:.4;cursor:not-allowed}.studio-root .form-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23a1a1aa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;padding-right:28px}.studio-root .form-group .hint{color:var(--text-muted);margin-top:2px;font-size:.68rem}.studio-root .slider-number-group{align-items:center;gap:6px;display:flex}.studio-root .slider-number-group .range-input{-webkit-appearance:none;background:var(--border);border-radius:2px;outline:none;flex:1;height:4px}.studio-root .slider-number-group .range-input::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;border:2px solid var(--surface);border-radius:50%;width:14px;height:14px;box-shadow:0 1px 3px #0000004d}.studio-root .slider-number-group .range-input:disabled{opacity:.4}.studio-root .slider-number-group .range-input:disabled::-webkit-slider-thumb{background:var(--text-muted)}.studio-root .slider-num-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);width:56px;color:var(--text);font-family:var(--font);text-align:center;padding:3px 4px;font-size:.78rem}.studio-root .slider-num-input:disabled{opacity:.4}.studio-root .stl-check-label{cursor:pointer;color:var(--text-secondary);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:.78rem;display:flex}.studio-root .prop-row>label.stl-check-label{text-overflow:clip;white-space:normal;flex:none;width:auto;overflow:visible}.studio-root .stl-check-label input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent);cursor:pointer}.studio-root .color-picker-row{align-items:center;gap:6px;display:flex}.studio-root .color-picker-row input[type=color]{-webkit-appearance:none;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:var(--surface-2);width:28px;height:24px;padding:1px}.studio-root .color-picker-row input[type=color]::-webkit-color-swatch-wrapper{padding:1px}.studio-root .color-picker-row input[type=color]::-webkit-color-swatch{border:none;border-radius:2px}.studio-root .btn{border-radius:var(--radius);font-family:var(--font);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:.82rem;font-weight:500;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.studio-root .btn-primary{background:var(--accent);color:#fff}.studio-root .btn-primary:hover{background:#5558e6}.studio-root .btn-secondary{background:var(--surface-2);color:var(--text-secondary);border:1px solid var(--border)}.studio-root .btn-secondary:hover{background:var(--surface-hover);color:var(--text)}.studio-root .btn-ghost{color:var(--text-secondary);background:0 0}.studio-root .btn-ghost:hover{background:var(--surface-2);color:var(--text)}.studio-root .btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.studio-root .btn svg{flex-shrink:0;width:14px;height:14px}.studio-root .btn-small{padding:4px 10px;font-size:.75rem}.studio-root .btn-compact{padding:4px 8px;font-size:.72rem}.studio-root .generate-btn-full{justify-content:center;align-items:center;gap:8px;width:100%;padding:10px;font-size:.85rem;font-weight:600;display:flex}.studio-root .collapsible-header{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-secondary);border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:6px 0;font-size:.78rem;font-weight:600;transition:color .15s;display:flex}.studio-root .collapsible-header:hover{color:var(--text)}.studio-root .collapse-arrow{flex-shrink:0;width:12px;height:12px;margin-left:auto;transition:transform .2s}.studio-root .collapse-arrow svg{width:12px;height:12px;color:var(--text-muted);display:block}.studio-root .collapsible-header.collapsed .collapse-arrow{transform:rotate(-90deg)}.studio-root .collapsible-header .collapse-arrow{transform:none}.studio-root .collapsible-body{opacity:1;max-height:2000px;transition:max-height .25s,opacity .2s;overflow:hidden}.studio-root .collapsible-body.collapsed{opacity:0;max-height:0;overflow:hidden}.studio-root .collapsible-sub{margin-top:4px;padding:4px 0;font-size:.75rem}.studio-root .studio-section{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2);overflow:hidden}.studio-root .studio-section-header{border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text);font-family:var(--font);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;align-items:center;gap:8px;padding:10px 12px;font-size:.76rem;font-weight:600;transition:background .15s,color .15s;display:flex}.studio-root .studio-section-header:hover{background:var(--surface-hover)}.studio-root .studio-section-header .collapse-arrow{width:16px;height:16px;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;margin-left:0;transition:transform .2s;display:flex}.studio-root .studio-section-header .collapse-arrow svg{width:14px;height:14px;display:block}.studio-root .studio-section-header.collapsed .collapse-arrow{transform:rotate(-90deg)}.studio-root .studio-section-status{flex-shrink:0;align-items:center;gap:6px;margin-left:auto;display:flex}.studio-root .section-status-lock{color:var(--text-muted);display:flex}.studio-root .section-status-ready{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 0 var(--accent-glow);border-radius:50%;animation:1.6s ease-out infinite ps-ready-pulse}@keyframes ps-ready-pulse{0%{box-shadow:0 0 0 0 var(--accent-glow)}70%{box-shadow:0 0 0 6px #6366f100}to{box-shadow:0 0 #6366f100}}.studio-root .studio-section-body{opacity:1;flex-direction:column;gap:12px;max-height:2600px;padding:12px;transition:max-height .25s,opacity .2s;display:flex;overflow:hidden}.studio-root .studio-section-body.collapsed{opacity:0;max-height:0;padding:0 12px}.studio-root .studio-section-body .section-header{margin-bottom:0}.studio-root .studio-section.section-locked .studio-section-header{color:var(--text-muted);cursor:not-allowed}.studio-root .studio-section.section-locked .studio-section-header:hover{background:0 0}.studio-root .studio-section.section-locked .section-status-ready{display:none}.studio-root .studio-section.section-ready .studio-section-header{color:var(--accent);background:var(--accent-soft)}.studio-root .studio-section.section-ready .studio-section-header:hover{background:#6366f12e}.studio-root .studio-section.section-ready .section-status-lock,.studio-root .design-options{display:none}.studio-root .design-options.visible{flex-direction:column;gap:12px;display:flex}.studio-root .acabados-upload-zone{border:1.5px dashed var(--border-light);border-radius:var(--radius-lg);background:var(--surface-2);width:100%;color:var(--text-secondary);cursor:pointer;font-family:var(--font);flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:24px 12px;transition:border-color .15s,background .15s,color .15s;display:flex}.studio-root .acabados-upload-zone:hover{border-color:var(--accent);background:var(--surface-hover);color:var(--text)}.studio-root .acabados-upload-zone svg{width:26px;height:26px;color:var(--text-muted)}.studio-root .acabados-upload-zone .acabados-upload-title{font-size:.82rem;font-weight:600}.studio-root .acabados-upload-zone .acabados-upload-hint{color:var(--text-muted);font-size:.68rem}.studio-root .acabados-upload-zone.has-image{border-style:solid;border-color:var(--border);color:var(--text);flex-direction:row;gap:8px;padding:10px 12px}.studio-root .acabados-upload-zone.has-image svg{width:15px;height:15px;color:var(--accent)}.studio-root .acabados-upload-zone.has-image .acabados-upload-hint{display:none}.studio-root .acabados-upload-row{align-items:stretch;gap:8px;display:flex}.studio-root .acabados-upload-row .acabados-upload-zone{flex:1}.studio-root .acabados-clear-image-btn{white-space:nowrap;color:var(--error);background:var(--error-soft);border-radius:var(--radius);cursor:pointer;font-size:.75rem;font-family:var(--font);border:1px solid #ef44444d;justify-content:center;align-items:center;gap:6px;padding:4px 10px;transition:background .15s,color .15s}.studio-root .acabados-clear-image-btn:not([hidden]){display:inline-flex}.studio-root .acabados-clear-image-btn[hidden]{display:none}.studio-root .acabados-clear-image-btn:hover{background:#ef444433}.studio-root .acabados-image-content{flex-direction:column;gap:12px;display:flex}.studio-root .acabados-image-content.acabados-off{opacity:.5;pointer-events:none;filter:grayscale(.4);border:1px dashed var(--border-light);border-radius:var(--radius-lg);padding:12px}.studio-root .acabados-mode-switch{border:1px solid var(--border);border-radius:var(--radius);gap:0;display:flex;overflow:hidden}.studio-root .acabados-mode-label{cursor:pointer;color:var(--text-secondary);border-right:1px solid var(--border);-webkit-user-select:none;user-select:none;background:0 0;flex:1;justify-content:center;align-items:center;gap:4px;padding:7px 10px;font-size:.75rem;transition:background .15s,color .15s;display:flex}.studio-root .acabados-mode-label:last-child{border-right:none}.studio-root .acabados-mode-label input[type=radio]{display:none}.studio-root .acabados-mode-label.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.studio-root .acabados-mode-label:not(.active):hover{background:var(--surface-hover);color:var(--text)}.studio-root .acabados-sub-panel{display:block}.studio-root #acabados-image-panel{flex-direction:column;gap:8px;display:flex}.studio-root #pattern-preview-section{flex-direction:column;gap:12px;display:flex}.studio-root .acabados-texture-inline-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.studio-root .acabados-canvas-wrapper{border-radius:var(--radius);border:none;width:100%;position:relative;overflow:hidden}.studio-root #acabados-2d-canvas{aspect-ratio:1;cursor:grab;width:100%;height:auto;display:block}.studio-root #acabados-2d-canvas:active{cursor:grabbing}.studio-root .acabados-viewer-controls{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.72rem;display:flex}.studio-root .acabados-nodrag-overlay{color:var(--text-muted);pointer-events:none;text-align:center;padding:8px;font-size:.78rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.studio-root .preset-bar{align-items:center;gap:6px;display:flex}.studio-root .preset-select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);font-family:var(--font);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23a1a1aa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;flex:1;padding:6px 28px 6px 10px;font-size:.82rem;transition:border-color .15s}.studio-root .preset-select:focus{border-color:var(--accent);outline:none}.studio-root .btn-icon{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);width:32px;height:32px;color:var(--text-muted);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.studio-root .btn-icon:hover{border-color:var(--accent);color:var(--accent)}.studio-root .adv3d-subtab-bar{background:var(--surface-2);border-radius:var(--radius);gap:2px;padding:3px;display:flex}.studio-root .adv3d-subtab-btn{color:var(--text-muted);font-family:var(--font);cursor:pointer;border-radius:var(--radius-sm);white-space:nowrap;background:0 0;border:none;flex:1;padding:6px 8px;font-size:.72rem;font-weight:500;transition:all .15s}.studio-root .adv3d-subtab-btn:hover{color:var(--text);background:var(--surface-hover)}.studio-root .adv3d-subtab-btn.active{color:var(--text);background:var(--surface);box-shadow:var(--shadow-sm);font-weight:600}.studio-root .adv3d-subtab-content{display:none}.studio-root .adv3d-subtab-content.active,.studio-root .studio-section-body #piece-opts-corners,.studio-root .studio-section-body #base-opts-corners{flex-direction:column;gap:12px;display:flex}.studio-root .adv3d-group{background:var(--surface-2);border-radius:var(--radius);border:1px solid var(--border);padding:10px}.studio-root .adv3d-group>.form-group{margin-bottom:6px}.studio-root .adv3d-group>.form-group:last-child{margin-bottom:0}.studio-root .adv3d-group-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.68rem;font-weight:600;display:flex}.studio-root .adv3d-group-title .section-reset-btn{cursor:pointer;color:var(--text-muted);border-radius:2px;padding:0 2px;font-size:.85rem;line-height:1;transition:color .15s}.studio-root .adv3d-group-title .section-reset-btn:hover{color:var(--accent)}.studio-root .adv3d-info-banner{background:var(--accent-soft);border-radius:var(--radius);color:var(--text-secondary);border:1px solid #6366f133;align-items:flex-start;gap:8px;margin-bottom:8px;padding:8px 10px;font-size:.75rem;line-height:1.4;display:flex}.studio-root .prop-row{align-items:center;gap:8px;padding:3px 0;display:flex}.studio-root .prop-row>label{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:0 0 110px;align-items:center;gap:2px;font-size:.75rem;font-weight:500;display:inline-flex;overflow:hidden}.studio-root .prop-row input[type=number]{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);max-width:70px;color:var(--text);font-family:var(--font-mono);text-align:right;outline:none;flex:1;padding:4px 6px;font-size:.78rem;transition:border-color .15s}.studio-root .prop-row input[type=number]:focus{border-color:var(--accent)}.studio-root .prop-row input[type=number]:disabled{opacity:.4;cursor:not-allowed}.studio-root .prop-row select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);max-width:90px;color:var(--text);font-family:var(--font);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23a1a1aa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 6px center;background-repeat:no-repeat;flex:1;padding:4px 22px 4px 6px;font-size:.78rem}.studio-root .prop-unit{color:var(--text-muted);flex:none;font-size:.68rem}.studio-root .prop-grid-3{grid-template-columns:repeat(3,1fr);gap:4px 8px;display:grid}.studio-root .prop-grid-4{grid-template-columns:repeat(4,1fr);gap:4px 8px;display:grid}.prop-grid-3 .prop-row,.studio-root .prop-grid-4 .prop-row{flex-direction:column;align-items:stretch;gap:2px;padding:2px 0}.prop-grid-3 .prop-row>label,.studio-root .prop-grid-4 .prop-row>label{flex:none;font-size:.68rem}.prop-grid-3 .prop-row input[type=number],.prop-grid-4 .prop-row input[type=number],.prop-grid-3 .prop-row select,.studio-root .prop-grid-4 .prop-row select{text-align:center;width:100%;max-width:none}.prop-grid-3 .prop-unit,.studio-root .prop-grid-4 .prop-unit{display:none}.studio-root .color-picker-inline{align-items:center;gap:6px;display:flex}.studio-root .color-picker-inline input[type=color]{-webkit-appearance:none;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:var(--surface-2);width:28px;height:22px;padding:1px}.studio-root .color-picker-inline input[type=color]::-webkit-color-swatch-wrapper{padding:1px}.studio-root .color-picker-inline input[type=color]::-webkit-color-swatch{border:none;border-radius:2px}.studio-root .color-hex{font-family:var(--font-mono);color:var(--text-muted);font-size:.72rem}.studio-root .info-icon{width:14px;height:14px;color:var(--text-muted);cursor:help;vertical-align:middle;-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;margin-left:2px;font-size:10px;line-height:1;transition:color .15s,background .15s;display:inline-flex}.studio-root .info-icon:hover{color:var(--accent);background:var(--accent-soft)}.studio-root .segmented-control{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);flex:1;gap:2px;padding:2px;display:flex}.studio-root .seg-btn{color:var(--text-muted);font-family:var(--font);cursor:pointer;border-radius:var(--radius-sm);white-space:nowrap;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:4px;padding:5px 6px;font-size:.68rem;font-weight:500;transition:all .15s;display:flex}.studio-root .seg-btn:hover{color:var(--text);background:var(--surface-hover)}.studio-root .seg-btn.active{color:var(--accent);background:var(--accent-soft);font-weight:600}.seg-btn:disabled,.studio-root .seg-btn.disabled{opacity:.35;pointer-events:none}.studio-root .seg-btn svg{flex-shrink:0}.studio-root .int-ext-toggle{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:8px;padding:2px;display:flex}.studio-root .int-ext-btn{color:var(--text-muted);font-family:var(--font);cursor:pointer;background:0 0;border:none;border-radius:3px;flex:1;padding:5px 10px;font-size:.72rem;font-weight:500;transition:all .15s}.studio-root .int-ext-btn:hover{color:var(--text)}.studio-root .int-ext-btn.active{color:var(--accent);background:var(--accent-soft);font-weight:600}.studio-root .int-ext-panel{display:none}.studio-root .int-ext-panel.active{flex-direction:column;gap:4px;display:flex}.studio-root .group-hint{color:var(--text-muted);margin:2px 0 4px;font-size:.68rem;line-height:1.35}.studio-root .profile-controls{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.studio-root .profile-controls.cols-2 .zone-control,.profile-controls.cols-3 .zone-control,.studio-root .profile-controls.cols-4 .zone-control{flex:calc(50% - 2px);min-width:0}.studio-root .profile-controls.cols-3 .zone-control:nth-child(3){flex:100%}.studio-root .zone-control{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);align-items:center;gap:4px;min-width:0;padding:3px 6px;transition:border-color .15s,background .15s;display:flex}.studio-root .zone-control.active{border-color:var(--accent);background:var(--accent-soft)}.studio-root .zone-control input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.zone-control label,.studio-root .zone-label{color:var(--text-secondary);white-space:nowrap;cursor:pointer;flex-shrink:0;font-size:.68rem;font-weight:500}.studio-root .zone-control input[type=number]{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);width:44px;min-width:0;color:var(--text);font-family:var(--font-mono);text-align:right;outline:none;padding:2px 4px;font-size:.72rem;transition:border-color .15s}.studio-root .zone-control input[type=number]:focus{border-color:var(--accent)}.studio-root .zone-control input[type=number]:disabled{opacity:.4;cursor:not-allowed}.studio-root .zone-control .unit{color:var(--text-muted);flex-shrink:0;font-size:.62rem}.studio-root .range-input{-webkit-appearance:none;background:linear-gradient(to right, var(--accent) 0%, var(--accent) var(--fill,50%), var(--border) var(--fill,50%), var(--border) 100%);border-radius:2px;outline:none;height:4px}.studio-root .range-input:disabled{opacity:.4}.studio-root .range-input:disabled::-webkit-slider-thumb{background:var(--text-muted)}.studio-root .modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.studio-root .modal-content{background:var(--surface);border-radius:var(--radius-xl);border:1px solid var(--border);width:95vw;max-width:1080px;max-height:90vh;box-shadow:var(--shadow-lg);flex-direction:column;padding:24px;display:flex;overflow:hidden}.studio-root .modal-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.studio-root .modal-header h3{color:var(--text);font-size:.95rem;font-weight:600}.studio-root .modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:1.4rem;line-height:1}.studio-root .modal-close:hover{color:var(--text)}.studio-root .free-svg-help-content{max-width:480px;overflow-y:auto}.studio-root .free-svg-help-body{color:var(--text-secondary);flex-direction:column;gap:10px;font-size:.83rem;line-height:1.5;display:flex}.studio-root .free-svg-help-body p{margin:0}.studio-root .free-svg-help-legend{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:14px;padding:10px 12px;font-size:.78rem;display:flex}.studio-root .legend-swatch{border:1px solid var(--border);vertical-align:middle;border-radius:4px;width:18px;height:18px;margin-right:6px;display:inline-block}.studio-root .free-svg-help-example-label{color:var(--text);font-weight:600;margin-top:4px!important}.studio-root .free-svg-help-example{object-fit:contain;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;width:100%;max-height:260px;padding:8px}.studio-root .free-svg-help-note{color:var(--text-muted);font-size:.75rem}.studio-root .free-svg-help-content .modal-header h3{font-size:.95rem}.studio-root .free-border-row{align-items:center;gap:8px;display:flex}.studio-root .free-border-row .acabados-upload-zone{border-radius:var(--radius);border-width:1px;flex:1;min-width:0;height:36px;padding:0 12px;font-size:.78rem}.studio-root .free-border-row .acabados-upload-zone.has-image .acabados-upload-hint{text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:.68rem;display:block;overflow:hidden}.studio-root .free-border-row .btn-icon{border-radius:var(--radius);border:1px solid var(--accent);width:36px;height:36px;color:var(--accent);background:var(--accent-soft);flex-shrink:0;padding:0;font-size:1rem;line-height:1}.studio-root .free-border-row .btn-icon:hover{color:var(--text);border-color:var(--accent);background:var(--accent-glow)}.studio-root .free-border-row .acabados-clear-image-btn{border-radius:var(--radius);flex-shrink:0;height:36px;padding:0 12px;font-size:.78rem}.studio-root .texture-editor-body{flex:1;align-items:flex-start;gap:16px;min-height:0;display:flex;overflow:hidden}.studio-root .tex-editor-left{flex-direction:column;flex:0 auto;gap:8px;width:540px;min-width:0;max-width:100%;display:flex}.studio-root .tex-editor-right{flex-direction:column;flex:360px;gap:8px;min-width:280px;max-height:100%;padding-right:4px;display:flex;overflow-y:auto}.studio-root .editor-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-shrink:0;padding:8px 10px}.studio-root .editor-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:6px;font-size:.72rem;font-weight:600;display:flex}.studio-root .editor-section .form-group{min-height:22px;margin-bottom:6px}.studio-root .editor-section .form-group:last-child{margin-bottom:0}.studio-root .editor-section .palette-count{color:var(--text-muted);text-transform:none;letter-spacing:0;font-size:.68rem;font-weight:400}.studio-root #texture-editor-canvas{aspect-ratio:1;border:1px solid var(--border);border-radius:var(--radius);cursor:none;background:var(--surface-2);width:100%;display:block}.studio-root .tex-paint-toolbar{background:var(--surface-2);border-radius:var(--radius);border:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px 10px;min-height:44px;padding:6px 10px;display:flex}.studio-root .tex-paint-colors{flex:none;align-items:center;gap:6px;display:flex}.studio-root .tex-paint-brush{flex:160px;align-items:center;gap:5px;min-width:100px;display:flex}.studio-root .tex-paint-actions{flex:none;align-items:center;gap:3px;display:flex}.studio-root .tex-toolbar-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;font-size:.7rem;font-weight:600}.studio-root .tex-color-swatches{align-items:center;gap:3px;min-width:0;display:flex;overflow:visible}.studio-root .tex-color-btn{border:2px solid var(--border);cursor:pointer;border-radius:5px;flex-shrink:0;width:22px;min-width:22px;height:22px;padding:0;transition:transform .1s,border-color .1s}.studio-root .tex-color-btn:hover{border-color:var(--accent);transform:scale(1.1)}.studio-root .tex-color-btn.active{box-shadow:0 0 0 2px var(--accent);border-color:var(--accent)}.studio-root .tex-brush-icon{background:var(--text);min-width:2px;min-height:2px;box-shadow:0 0 0 1px var(--border);border-radius:50%;flex-shrink:0;transition:width .1s,height .1s;display:inline-block}.studio-root .tex-brush-slider{min-width:50px;max-width:160px;accent-color:var(--accent);flex:60px}.studio-root .tex-brush-value{color:var(--text-secondary);text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0;min-width:38px;font-size:.72rem}.studio-root .tex-tool-btn{padding:2px 5px;font-size:.82rem}.studio-root .tex-tool-btn:disabled{opacity:.35;cursor:not-allowed}.studio-root .quantizer-select{background:var(--surface-2);width:100%;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:6px 8px;font-size:.82rem;transition:border-color .15s}.studio-root .quantizer-select:hover{border-color:var(--accent)}.studio-root .quantizer-select:focus{border-color:var(--accent);outline:none}.studio-root .quantizer-hint{color:var(--text-muted);min-height:18px;margin-top:4px;font-size:.68rem;line-height:1.4;display:block}.studio-root .method-params{min-height:0}.studio-root .method-params[style*=display\:none]{display:none!important}.studio-root .method-action{min-height:0}.studio-root .color-mode .seg-btn{flex:1}.studio-root .texture-editor-actions{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;margin-top:16px;padding-top:12px;display:flex}.texture-editor-actions-left,.studio-root .texture-editor-actions-right{gap:8px;display:flex}.studio-root .image-color-mode-row{align-items:center;gap:8px;display:flex}.studio-root .image-color-mode-toggle{align-items:center;gap:4px;display:flex}.studio-root .image-mode-text{color:var(--text-muted);font-size:.72rem}.studio-root .image-palette-swatches{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.studio-root #image-layer-swatches{flex-direction:column;align-items:stretch;gap:3px;display:flex}.studio-root #image-layer-swatches .palette-swatch-item{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:3px 4px}.studio-root .palette-swatch{border:2px solid var(--border);cursor:pointer;border-radius:4px;width:24px;height:24px}.studio-root .palette-hint{color:var(--text-muted);font-size:.72rem;font-style:italic}.studio-root .palette-swatch-item{align-items:center;gap:2px;display:flex}.studio-root .palette-layer-label{color:var(--text-muted);text-align:center;flex-shrink:0;min-width:16px;padding:0 2px;font-size:.65rem}.studio-root .palette-remove-btn{cursor:pointer;width:20px;height:20px;color:var(--text-muted);background:var(--bg-secondary);border:1px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:flex}.studio-root .palette-remove-btn:hover{color:#c00;background:#fee;border-color:#c00}.studio-root .palette-arrows{flex-direction:row;flex-shrink:0;gap:2px;margin-left:auto;display:flex}.studio-root .palette-arrow-btn{cursor:pointer;width:24px;height:24px;color:var(--text-muted);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:12px;line-height:1;display:flex}.studio-root .palette-arrow-btn:hover{color:var(--text);background:var(--bg-secondary)}.studio-root .palette-arrow-btn:disabled{opacity:.25;cursor:default}.studio-root .palette-fixed-actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.studio-root .quantizer-selector{flex-direction:column;gap:4px;display:flex}.studio-root .quantizer-radio{border-radius:var(--radius);border:1px solid var(--border);cursor:pointer;flex-direction:column;padding:6px 8px;transition:border-color .15s,background .15s;display:flex}.studio-root .quantizer-radio:hover{border-color:var(--accent);background:var(--accent-soft)}.studio-root .quantizer-radio input[type=radio]{display:none}.studio-root .quantizer-radio input[type=radio]:checked+.quantizer-name{color:var(--accent)}.studio-root .quantizer-radio input[type=radio]:checked~.quantizer-desc{color:var(--text-secondary)}.studio-root .quantizer-radio:has(input[type=radio]:checked){border-color:var(--accent);background:var(--accent-soft)}.studio-root .quantizer-name{color:var(--text);font-size:.78rem;font-weight:600}.studio-root .quantizer-desc{color:var(--text-muted);margin-top:1px;font-size:.68rem}.studio-root .stl-download-section{flex-direction:column;gap:8px;display:flex}.studio-root .stl-download-hint{color:var(--text-muted);font-size:.75rem;line-height:1.5}.studio-root .stl-download-buttons{flex-direction:column;gap:6px;display:flex}.studio-root .stl-download-buttons .btn{justify-content:flex-start;width:100%;padding:10px 14px}.studio-root .stl-download-buttons .btn-primary{justify-content:center;padding:12px;font-weight:600}.studio-root .status{border-radius:var(--radius);border:1px solid var(--border);padding:6px 10px;font-size:.78rem;display:none}.studio-root .status.info{color:var(--accent);background:var(--accent-soft);border-color:#6366f14d;display:block}.studio-root .status.success{color:var(--success);background:#22c55e14;border-color:#22c55e4d;display:block}.studio-root .status.error{color:var(--error);background:var(--error-soft);border-color:#ef44444d;display:block}.studio-root .stl-loading-overlay{z-index:10;pointer-events:none;border-radius:inherit;opacity:0;visibility:hidden;background:#0b0b0e6b;justify-content:center;align-items:center;transition:opacity .5s,visibility 0s linear .5s;display:flex;position:absolute;inset:0;overflow:hidden}.studio-root .stl-loading-overlay.is-active{opacity:1;visibility:visible;transition:opacity .5s,visibility linear}.studio-root .ai-nebula{z-index:0;animation:6s ease-in-out infinite nebula-breathe;position:absolute;inset:0}@keyframes nebula-breathe{0%,to{opacity:.82}50%{opacity:1}}.studio-root .ai-blob{filter:blur(48px);opacity:.65;will-change:transform, opacity;border-radius:50%;position:absolute}.studio-root .ai-blob.b1{background:radial-gradient(circle,#4285f4cc 0%,#0000 70%);width:70%;height:85%;animation:13s ease-in-out infinite blob-1;top:-16%;left:-14%}.studio-root .ai-blob.b2{background:radial-gradient(circle,#9b72cbbf 0%,#0000 70%);width:68%;height:92%;animation:16s ease-in-out infinite blob-2;top:8%;left:48%}.studio-root .ai-blob.b3{background:radial-gradient(circle,#d96570b3 0%,#0000 70%);width:60%;height:75%;animation:12s ease-in-out 1.2s infinite blob-3;top:48%;left:0%}.studio-root .ai-blob.b4{background:radial-gradient(circle,#34a853a6 0%,#0000 70%);width:55%;height:72%;animation:15s ease-in-out .6s infinite blob-4;top:4%;left:26%}@keyframes blob-1{0%,to{opacity:.7;transform:translate(0)scale(1)}33%{opacity:.95;transform:translate(28%,22%)scale(1.25)}66%{opacity:.6;transform:translate(14%,42%)scale(.95)}}@keyframes blob-2{0%,to{opacity:.75;transform:translate(0)scale(1.1)}40%{opacity:.55;transform:translate(-30%,30%)scale(.9)}75%{opacity:.9;transform:translate(-10%,55%)scale(1.3)}}@keyframes blob-3{0%,to{opacity:.65;transform:translate(0)scale(.95)}35%{opacity:.9;transform:translate(35%,-25%)scale(1.2)}70%{opacity:.75;transform:translate(18%,12%)scale(1.05)}}@keyframes blob-4{0%,to{opacity:.6;transform:translate(0)scale(1)}30%{opacity:.85;transform:translate(-22%,30%)scale(1.3)}65%{opacity:.65;transform:translate(-5%,-18%)scale(.9)}}.studio-root .ai-text{z-index:1;text-align:center;background:#101118e0;border:1px solid #ba94f840;border-radius:999px;padding:13px 26px;transition:width .3s;position:relative;overflow:hidden;box-shadow:0 10px 36px #0006,0 0 26px #9b72cb47}.studio-root .ai-text:before{content:"";pointer-events:none;background:linear-gradient(100deg,#0000 0%,#fff3 50%,#0000 100%);width:60%;animation:3s ease-in-out infinite ai-pill-sheen;position:absolute;top:0;bottom:0;left:0;transform:translate(-200%)}@keyframes ai-pill-sheen{0%{transform:translate(-200%)}to{transform:translate(280%)}}.studio-root .ai-message{letter-spacing:.02em;color:#fff;text-shadow:0 0 20px #9b72cb80,0 0 40px #4285f44d;white-space:nowrap;font-size:1.02rem;font-weight:600;transition:opacity .35s,transform .35s;display:inline-block;position:relative}.studio-root .ai-message.switching{opacity:0;transform:translateY(8px)scale(.96)}.studio-root .stl-placeholder{z-index:9;pointer-events:none;border-radius:inherit;opacity:0;visibility:hidden;background:#0b0b0e6b;justify-content:center;align-items:center;transition:opacity .5s,visibility 0s linear .5s;display:flex;position:absolute;inset:0;overflow:hidden}.studio-root .stl-placeholder.is-active{opacity:1;visibility:visible;transition:opacity .5s,visibility linear}.studio-root .stl-placeholder .ai-text{pointer-events:auto}.studio-root .stl-placeholder .placeholder-card{border-radius:24px;flex-direction:column;align-items:center;gap:14px;padding:22px 34px;display:flex}.studio-root .stl-placeholder .placeholder-card .ai-message{font-size:1.05rem}.studio-root .placeholder-generate-btn{font-family:var(--font);letter-spacing:.02em;color:#fff;cursor:pointer;background:linear-gradient(135deg,#6d5cf0,#4c8dff);border:1px solid #fff3;border-radius:999px;padding:9px 24px;font-size:.85rem;font-weight:600;transition:transform .15s,box-shadow .15s,filter .15s;box-shadow:0 6px 20px #6366f159}.studio-root .placeholder-generate-btn:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 8px 26px #6366f180}.studio-root .placeholder-generate-btn:active{transform:translateY(0)}.studio-root #custom-tooltip{background:var(--surface-2);color:var(--text-secondary);border-radius:var(--radius);pointer-events:none;z-index:9999;border:1px solid var(--border);max-width:220px;box-shadow:var(--shadow);padding:4px 10px;font-size:.72rem;line-height:1.4;display:none;position:fixed}.studio-root .inline3d-switch-label{align-items:center;gap:4px;display:flex}.studio-root .switch-label{flex-shrink:0;width:32px;height:18px;display:inline-block;position:relative}.studio-root .switch-label input{opacity:0;width:0;height:0}.studio-root .switch-slider{cursor:pointer;background:var(--border);border-radius:18px;transition:background .15s;position:absolute;inset:0}.studio-root .switch-slider:before{content:"";background:var(--text-secondary);border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;bottom:2px;left:2px}.studio-root .switch-label input:checked+.switch-slider{background:var(--accent)}.studio-root .switch-label input:checked+.switch-slider:before{background:#fff;transform:translate(14px)}.studio-root .switch-small{transform:scale(.85)}.studio-root .disclaimer{color:var(--text-muted);background:var(--accent-soft);border-radius:var(--radius-sm);padding:6px 10px;font-size:.72rem;line-height:1.4}.studio-root .hidden{display:none!important}@media (max-width:860px){.studio-root :root{--sidebar-width:320px}.studio-root .topbar-tabs .tab-btn{padding:6px 10px;font-size:.75rem}.studio-root .tex-editor-left{width:360px}.studio-root .tex-editor-right{min-width:240px}}@media (max-width:700px){.studio-root .app-shell{flex-direction:column}.studio-root .sidebar{border-right:none;border-bottom:1px solid var(--border);width:100%;min-width:0;max-height:50vh}.studio-root .viewer-area{flex:1;min-height:300px}.studio-root .topbar-brand span{display:none}.studio-root .puzzle-type-selector{grid-template-columns:repeat(2,1fr)}.studio-root .form-grid{grid-template-columns:1fr}.studio-root .texture-editor-body{flex-direction:column;overflow:visible}.studio-root .tex-editor-left{width:100%}.studio-root .tex-editor-right{min-width:0;max-height:none;overflow:visible}}@media (max-width:480px){.studio-root .topbar-tabs{gap:0;margin-left:8px}.studio-root .tab-btn{padding:6px 8px;font-size:.7rem}}body.ps-busy .studio-root{cursor:progress;-webkit-user-select:none;user-select:none}body.ps-busy .studio-root .sidebar *,body.ps-busy .studio-root .viewer-overlay *,body.ps-busy .studio-root .viewer-export-bar *,body.ps-busy .studio-root #texture-editor-modal *{pointer-events:none!important}body.ps-busy .studio-root .sidebar .studio-section,body.ps-busy .studio-root .sidebar .preset-bar,body.ps-busy .studio-root .sidebar .adv3d-info-banner,body.ps-busy .studio-root .viewer-overlay,body.ps-busy .studio-root .viewer-export-bar,body.ps-busy .studio-root #texture-editor-modal .modal-content{opacity:.55;transition:opacity .2s}body:not(.ps-busy) .studio-root .sidebar .studio-section,body:not(.ps-busy) .studio-root .sidebar .preset-bar,body:not(.ps-busy) .studio-root .sidebar .adv3d-info-banner,body:not(.ps-busy) .studio-root .viewer-overlay,body:not(.ps-busy) .studio-root .viewer-export-bar,body:not(.ps-busy) .studio-root #texture-editor-modal .modal-content{transition:opacity .2s}
.studio-root{flex-direction:column;height:100vh;display:flex;overflow:hidden}.studio-root .app-shell{flex:1;min-height:0}.studio-root .topbar{display:none}.studio-root>div{flex:1;min-height:0;display:flex}.studio-root .app-shell{flex:1;height:auto;min-height:0;padding-top:0}body.ps-studio-page{height:100vh;overflow:hidden}html:has(body.ps-studio-page){overflow:hidden}.toast-container{bottom:20px;left:calc(var(--sidebar-width,500px) + 20px);z-index:200;pointer-events:none;flex-direction:column-reverse;gap:8px;display:flex;position:fixed}.status-toast{border-radius:var(--radius-lg,8px);font-family:var(--font,Inter, system-ui, sans-serif);color:#fff;pointer-events:auto;align-items:center;gap:10px;min-width:240px;max-width:380px;padding:10px 14px;font-size:.8rem;font-weight:500;animation:.25s toast-in;display:flex;position:relative;overflow:hidden}.status-toast .toast-icon{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.status-toast .toast-msg{flex:1;line-height:1.4}.status-toast .toast-close{width:18px;height:18px;color:inherit;opacity:.5;cursor:pointer;background:0 0;border:none;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;transition:opacity .15s;display:flex}.status-toast .toast-close:hover{opacity:1}.status-toast .toast-progress{background:#ffffff59;height:2px;animation:linear toast-progress;position:absolute;bottom:0;left:0}.status-toast.toast-info{background:#3b82f6}.status-toast.toast-success{background:#22c55e}.status-toast.toast-error{background:#ef4444}.status-toast.toast-warning{background:#f59e0b}.ps-modal-overlay{z-index:10000;background:#020617b8;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.ps-modal{color:#e2e8f0;background:#0f172a;border:1px solid #334155;border-radius:16px;width:min(420px,100%);padding:24px;font-family:Inter,system-ui,sans-serif;position:relative;box-shadow:0 20px 50px #00000073}.ps-modal-close{color:#94a3b8;cursor:pointer;background:0 0;border:0;font-size:24px;position:absolute;top:10px;right:12px}.ps-modal-title{margin:0 0 12px;font-size:1.15rem}.ps-modal-body{margin-bottom:18px;font-size:.95rem;line-height:1.5}.ps-modal-body a{color:#93c5fd}.ps-modal-body .ps-warn{color:#fca5a5}.ps-modal-actions{justify-content:flex-end;gap:10px;display:flex}.ps-btn{cursor:pointer;color:#e2e8f0;background:#1e293b;border:1px solid #334155;border-radius:10px;padding:10px 14px;font-size:.9rem;font-weight:600}.ps-btn-primary{color:#fff;background:#2563eb;border-color:#2563eb}.ps-btn-ghost{background:0 0}.ps-btn:disabled{opacity:.5;cursor:not-allowed}
.studio-root .ps-account-slot{align-items:center;gap:8px;margin-right:12px;display:flex}.studio-root .ps-chip{color:#f8fafc;background:#1e293b;border:1px solid #334155;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.studio-root .ps-chip:hover{background:#334155}.studio-root .ps-chip-ghost{color:#cbd5e1;background:0 0}.studio-root .ps-chip-tier{text-transform:capitalize;color:#93c5fd}.studio-root .ps-chip-email{text-overflow:ellipsis;white-space:nowrap;color:#e2e8f0;max-width:180px;overflow:hidden}.studio-root .ps-chip-credits{color:#fde68a}.studio-root .ps-modal-overlay{z-index:10000;background:#020617b8;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.studio-root .ps-modal{color:#e2e8f0;background:#0f172a;border:1px solid #334155;border-radius:16px;width:min(420px,100%);padding:24px;font-family:Inter,system-ui,sans-serif;position:relative;box-shadow:0 20px 50px #00000073}.studio-root .ps-modal-close{color:#94a3b8;cursor:pointer;background:0 0;border:0;font-size:24px;position:absolute;top:10px;right:12px}.studio-root .ps-modal-title{margin:0 0 12px;font-size:1.15rem}.studio-root .ps-modal-body{margin-bottom:18px;font-size:.95rem;line-height:1.5}.studio-root .ps-modal-body a{color:#93c5fd}.studio-root .ps-modal-body .ps-warn{color:#fca5a5}.studio-root .ps-modal-actions{justify-content:flex-end;gap:10px;display:flex}.studio-root .ps-btn{cursor:pointer;color:#e2e8f0;background:#1e293b;border:1px solid #334155;border-radius:10px;padding:10px 14px;font-size:.9rem;font-weight:600}.studio-root .ps-btn-primary{color:#fff;background:#2563eb;border-color:#2563eb}.studio-root .ps-btn-ghost{background:0 0}.studio-root .ps-btn:disabled{opacity:.5;cursor:not-allowed}
