@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Sora:wght@600;700&display=swap";:root{--lf-bg-main:#f0f1f2;--lf-bg-panel:#fff;--lf-bg-soft:#e6d6d8;--lf-bg-muted:#d3b9bc;--lf-bg-dark:#6f5a5d;--lf-bg-deep:#3c4345;--lf-bg-subtle:#f9f8f8;--lf-accent:#8b4f5a;--lf-accent-hover:#7a3f4a;--lf-accent-soft:#f5eeef;--lf-accent-ring:#8b4f5a26;--lf-accent-green:#27ae60;--lf-text-main:#1a1a1a;--lf-text-muted:#6b6b6b;--lf-text-light:#aaa;--lf-border:#dcdcdc;--lf-border-focus:var(--lf-accent);--lf-radius-xs:4px;--lf-radius-sm:6px;--lf-radius-md:10px;--lf-radius-lg:14px;--lf-radius-xl:18px;--lf-shadow-sm:0 1px 4px #0000000f;--lf-shadow-md:0 4px 16px #00000017;--lf-shadow-lg:0 8px 32px #0000001f;--lf-font-ui:"Inter", system-ui, sans-serif;--lf-font-brand:"Sora", sans-serif;--lf-primary:var(--lf-accent);--lf-primary-hover:var(--lf-accent-hover);--lf-primary-soft:var(--lf-accent-soft);--lf-red:var(--lf-accent);--lf-red-h:var(--lf-accent-hover);--lf-text:var(--lf-text-main);--lf-muted:var(--lf-text-muted);--lf-bg:var(--lf-bg-main);--lf-white:var(--lf-bg-panel);--lf-font:var(--lf-font-ui)}*,:before,:after{box-sizing:border-box}body{font-family:var(--lf-font-ui);color:var(--lf-text-main);background:var(--lf-bg-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}.lf-brand{font-family:var(--lf-font-brand);font-weight:600}.lf-title{font-weight:500}.lf-label{color:var(--lf-text-muted);font-size:12px}.lf-muted{color:var(--lf-text-muted)}.lf-section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--lf-text-light);font-size:10px;font-weight:700}.lf-pricing-body{background:#f0f1f2;min-height:100vh}.lf-pricing-shell{width:min(1120px,100% - 32px);margin:0 auto;padding:24px 0 56px}.lf-pricing-nav{justify-content:space-between;align-items:center;gap:16px;min-height:48px;display:flex}.lf-pricing-brand{color:var(--lf-text-main);font-size:16px;text-decoration:none}.lf-pricing-brand span{color:var(--lf-accent)}.lf-pricing-nav-actions{align-items:center;gap:10px;display:flex}.lf-pricing-hero{grid-template-columns:minmax(0,1fr) 320px;align-items:end;gap:28px;padding:72px 0 36px;display:grid}.lf-pricing-hero h1{max-width:720px;font-family:var(--lf-font-brand);letter-spacing:0;margin:10px 0 12px;font-size:clamp(34px,5vw,60px);font-weight:700;line-height:1.04}.lf-pricing-hero p:not(.lf-section-label){max-width:680px;color:var(--lf-text-muted);margin:0;font-size:16px;line-height:1.7}.lf-pricing-status{border:1px solid var(--lf-border);border-radius:var(--lf-radius-sm);min-height:52px;color:var(--lf-text-muted);background:#ffffffb8;align-items:center;padding:14px 16px;font-size:13px;line-height:1.45;display:flex}.lf-pricing-status[data-type=success]{color:#1f7a44;background:#27ae6014;border-color:#27ae6047}.lf-pricing-status[data-type=error]{color:var(--lf-accent);background:var(--lf-accent-soft);border-color:#8b4f5a52}.lf-pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.lf-pricing-card{border:1px solid var(--lf-border);border-radius:var(--lf-radius-sm);background:var(--lf-bg-panel);min-height:430px;box-shadow:var(--lf-shadow-sm);flex-direction:column;padding:28px;display:flex;position:relative}.lf-pricing-card-featured{border-color:#8b4f5a61;box-shadow:0 10px 34px #3c43451a}.lf-pricing-badge{border-radius:var(--lf-radius-xs);background:var(--lf-accent-soft);color:var(--lf-accent);align-self:flex-start;margin-bottom:18px;padding:6px 9px;font-size:11px;font-weight:700}.lf-pricing-card-head h2{font-family:var(--lf-font-brand);letter-spacing:0;margin:0 0 14px;font-size:28px}.lf-pricing-price{color:var(--lf-text-muted);font-size:14px}.lf-pricing-price span{color:var(--lf-text-main);font-family:var(--lf-font-brand);font-size:38px;font-weight:700}.lf-pricing-card ul{color:var(--lf-text-muted);gap:14px;margin:30px 0;padding:0;font-size:14px;list-style:none;display:grid}.lf-pricing-card li{align-items:center;gap:10px;display:flex}.lf-pricing-card li:before{content:"";background:var(--lf-accent-green);border-radius:999px;flex:none;width:7px;height:7px}.lf-pricing-cta{width:100%;min-height:44px;margin-top:auto}.lf-pricing-cta:disabled{opacity:.64;cursor:progress}@media (max-width:760px){.lf-pricing-shell{width:min(100% - 24px,560px);padding-top:14px}.lf-pricing-nav{flex-direction:column;align-items:flex-start}.lf-pricing-nav-actions{width:100%}.lf-pricing-nav-actions .lf-btn{flex:1}.lf-pricing-hero{grid-template-columns:1fr;padding:44px 0 24px}.lf-pricing-hero h1{font-size:36px}.lf-pricing-grid{grid-template-columns:1fr}}.hidden{display:none!important}.lf-panel{background:var(--lf-bg-panel);border-radius:var(--lf-radius-md);border:1px solid var(--lf-border);padding:16px}.lf-btn{border-radius:var(--lf-radius-sm);font-size:13px;font-family:var(--lf-font-ui);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;border:none;outline:none;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-weight:500;line-height:1;transition:all .15s;display:inline-flex}.lf-btn:active{transform:scale(.97)}.lf-btn-primary{background:var(--lf-accent);color:#fff;border:none}.lf-btn-primary:hover{background:var(--lf-accent-hover);box-shadow:0 2px 10px var(--lf-accent-ring)}.lf-btn-secondary{color:var(--lf-text-main);border:1px solid var(--lf-border);background:0 0}.lf-btn-secondary:hover{background:var(--lf-bg-subtle);border-color:silver}.lf-btn-danger{background:var(--lf-accent-soft);color:var(--lf-accent);border:1.5px solid #8b4f5a33}.lf-btn-danger:hover{background:#8b4f5a1f;border-color:#8b4f5a59}.lf-btn-ghost{color:var(--lf-text-muted);background:0 0;border:none;padding:6px 10px}.lf-btn-ghost:hover{background:var(--lf-bg-subtle);color:var(--lf-text-main)}.lf-btn-icon{border:1px solid var(--lf-border);color:var(--lf-text-muted);border-radius:var(--lf-radius-xs);cursor:pointer;background:0 0;padding:5px 8px;font-size:13px;line-height:1;transition:all .12s}.lf-btn-icon:hover{background:var(--lf-bg-subtle);color:var(--lf-text-main)}.lf-btn-icon-refresh{background:var(--lf-bg-subtle);border-radius:999px;width:24px;height:24px;padding:0}.lf-btn-icon-refresh svg,.lf-outliner-toggle svg{stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;fill:none;width:14px;height:14px}.lf-btn-icon-refresh:hover{color:var(--lf-accent);background:var(--lf-accent-soft);border-color:#8b4f5a38}.lf-btn-icon-refresh.is-spinning svg{animation:.5s linear lf-refresh-spin}.lf-btn-full{width:100%}.lf-btn:disabled,.lf-btn[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}.lf-input{border:1.5px solid var(--lf-border);border-radius:var(--lf-radius-sm);width:100%;font-size:13px;font-family:var(--lf-font-ui);color:var(--lf-text-main);background:var(--lf-bg-subtle);box-sizing:border-box;outline:none;padding:8px 11px;transition:border-color .15s,box-shadow .15s,background .15s}.lf-input:focus{border-color:var(--lf-accent);background:var(--lf-bg-panel);box-shadow:0 0 0 3px var(--lf-accent-ring)}.lf-input[readonly]{color:var(--lf-text-light);cursor:default;font-size:11px}.lf-input-mono{font-family:SF Mono,Fira Code,monospace}.lf-select{border:1.5px solid var(--lf-border);border-radius:var(--lf-radius-md);width:100%;font-size:12px;font-family:var(--lf-font-ui);color:var(--lf-text-main);background-color:var(--lf-bg-panel);background-image:linear-gradient(45deg, transparent 50%, var(--lf-text-muted) 50%), linear-gradient(135deg, var(--lf-text-muted) 50%, transparent 50%);cursor:pointer;-webkit-appearance:none;appearance:none;background-position:calc(100% - 18px) calc(50% - 1px),calc(100% - 12px) calc(50% - 1px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;outline:none;padding:9px 36px 9px 12px;font-weight:600;transition:border-color .15s,box-shadow .15s,background-color .15s;box-shadow:0 1px 2px #0000000a}.lf-select:hover{background-color:var(--lf-bg-subtle);border-color:#c8c8c8}.lf-select:focus{border-color:var(--lf-accent);box-shadow:0 0 0 3px var(--lf-accent-ring)}.lf-dimension-label{color:var(--lf-text-muted);font-family:var(--lf-font-ui);letter-spacing:.02em;white-space:nowrap;background:#ffffffdb;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;box-shadow:0 2px 10px #3c43450f}.lf-field{margin-bottom:14px}.lf-field>label,.lf-field-label{letter-spacing:.06em;text-transform:uppercase;color:var(--lf-text-muted);margin-bottom:6px;font-size:10px;font-weight:700;display:block}.lf-modal-overlay{z-index:99999999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.lf-modal-box{background:var(--lf-bg-panel);border-radius:var(--lf-radius-xl);width:90%;min-width:300px;max-width:440px;box-shadow:var(--lf-shadow-lg);border:1px solid var(--lf-border);padding:28px 30px}.lf-modal-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.lf-modal-title{color:var(--lf-text-main);margin-bottom:0;font-size:15px;font-weight:600;line-height:1.3}.lf-modal-close{color:var(--lf-text-muted);cursor:pointer;border-radius:var(--lf-radius-xs);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:all .15s;display:flex}.lf-modal-close:hover{background:var(--lf-bg-subtle);color:var(--lf-text-main)}.lf-modal-body{color:var(--lf-text-muted);margin-bottom:20px;font-size:13px;line-height:1.6}.lf-modal-desc{color:var(--lf-text-muted);margin:0 0 20px;font-size:13px;line-height:1.5}.lf-pub-option{background:var(--lf-bg-subtle);border:1px solid var(--lf-border);border-radius:var(--lf-radius-sm);cursor:pointer;align-items:center;gap:12px;margin-bottom:12px;padding:12px 14px;transition:all .15s;display:flex}.lf-pub-option:hover{border-color:var(--lf-accent);background:var(--lf-bg-panel);box-shadow:var(--lf-shadow-sm)}.lf-pub-checkbox{width:18px;height:18px;accent-color:var(--lf-accent);cursor:pointer;margin:0}.lf-pub-option-text{flex-direction:column;gap:2px;display:flex}.lf-pub-option-title{color:var(--lf-text-main);font-size:13px;font-weight:600}.lf-pub-option-sub{color:var(--lf-text-muted);font-size:11px}.lf-modal-footer{gap:10px;display:flex}.lf-modal-footer .lf-btn{flex:1;padding:10px}#lf-toast{color:#fff;border-radius:var(--lf-radius-sm);font-family:var(--lf-font-ui);box-shadow:var(--lf-shadow-md);z-index:9999999;opacity:0;pointer-events:none;background:#27ae60;padding:9px 22px;font-size:13px;font-weight:500;transition:opacity .25s,transform .25s;position:fixed;bottom:80px;left:50%;transform:translate(-50%)translateY(10px)}#lf-toast.lf-toast-visible{opacity:1;transform:translate(-50%)translateY(0)}#outliner-panel{background:var(--lf-bg-panel);border:1px solid var(--lf-border);border-radius:var(--lf-radius-md);width:200px;max-height:calc(100vh - 120px);box-shadow:var(--lf-shadow-sm);font-family:var(--lf-font-ui);color:var(--lf-text-main);padding:12px;font-size:12px;transition:width .18s,padding .18s,box-shadow .18s;position:absolute;top:80px;left:360px;overflow-y:auto}#outliner-panel b{letter-spacing:.08em;text-transform:uppercase;color:var(--lf-text-light);font-size:10px;font-weight:700}#outliner-panel.is-collapsed{width:108px;padding:10px 12px}.lf-outliner-header{background:var(--lf-bg-panel);z-index:10;border-bottom:1px solid var(--lf-border);justify-content:space-between;align-items:center;gap:8px;margin:-12px -12px 6px;padding:12px 12px 10px;display:flex;position:sticky;top:-12px}#outliner-panel.is-collapsed .lf-outliner-header{border-bottom:none;margin:-10px -12px 0;padding:10px 12px;position:sticky;top:-10px}.lf-outliner-toggle{border:1px solid var(--lf-border);background:var(--lf-bg-subtle);width:24px;height:24px;color:var(--lf-text-muted);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s,border-color .12s,transform .18s;display:inline-flex}.lf-outliner-toggle:hover{background:var(--lf-accent-soft);color:var(--lf-accent);border-color:#8b4f5a38}#outliner-panel.is-collapsed .lf-outliner-toggle svg{transform:rotate(-90deg)}.outliner-item{cursor:pointer;border-radius:var(--lf-radius-xs);color:var(--lf-text-main);justify-content:space-between;align-items:center;gap:6px;padding:7px 8px;font-size:12px;transition:background .12s;display:flex}.outliner-item:hover{background:var(--lf-bg-subtle)}.outliner-item.drag-over{background:#8b4f5a26;border:1px dashed #8b4f5a}.outliner-item.selected{background:var(--lf-accent-soft);color:var(--lf-accent)}.outliner-item .lf-btn-icon{opacity:0;flex-shrink:0;transition:opacity .12s}.outliner-item:hover .lf-btn-icon{opacity:1}.lf-outliner-shadow-controls{border-top:1px solid var(--lf-border);gap:10px;margin-top:10px;padding-top:10px;display:grid}.lf-outliner-controls-label{letter-spacing:.08em;text-transform:uppercase;color:var(--lf-text-light);font-size:10px;font-weight:700}.lf-shadow-toggle-row{color:var(--lf-text-main);justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.lf-shadow-toggle-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--lf-accent);cursor:pointer}.lf-dimension-row{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.lf-dimension-toggle{cursor:pointer;align-items:center;gap:10px;min-width:0;display:flex}.lf-dimension-checkbox{width:16px;height:16px;accent-color:var(--lf-accent);cursor:pointer;flex-shrink:0;margin:0}.lf-dimension-toggle-text{color:var(--lf-text-main);font-size:12px;line-height:1.25}.lf-dimension-unit-select{flex-shrink:0;min-width:86px;height:38px}.lf-dimension-unit-switch{border:1px solid var(--lf-border);background:var(--lf-bg-subtle);border-radius:999px;align-items:center;padding:3px;display:inline-flex;box-shadow:inset 0 1px #ffffffd9}.lf-dimension-unit-btn{min-width:46px;height:32px;color:var(--lf-text-muted);font-family:var(--lf-font-ui);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:0 12px;font-size:12px;font-weight:700;transition:background .15s,color .15s,box-shadow .15s}.lf-dimension-unit-btn:hover{color:var(--lf-text-main)}.lf-dimension-unit-btn.is-active{background:var(--lf-bg-panel);color:var(--lf-accent);box-shadow:0 1px 4px #00000014}.lf-shadow-blur-wrap{gap:6px;display:grid}.lf-shadow-blur-header{color:var(--lf-text-muted);justify-content:space-between;align-items:center;gap:8px;font-size:11px;display:flex}.lf-shadow-blur-slider{width:100%;accent-color:var(--lf-accent);cursor:pointer}.lf-shadow-blur-slider:disabled{cursor:not-allowed;opacity:.45}#panel-content{font-family:var(--lf-font-ui);color:var(--lf-text-main);width:100%;height:100%;font-size:13px;overflow-x:hidden}.lf-resource-section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--lf-text-light);margin-top:4px;padding:10px 0 6px;font-size:10px;font-weight:700}.lf-resource-section-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.lf-mesh-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;display:grid}.lf-mesh-item{text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none}.lf-mesh-icon{border-radius:var(--lf-radius-sm);background:var(--lf-bg-subtle);border:1px solid var(--lf-border);justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto;font-size:22px;transition:border-color .12s,box-shadow .12s;display:flex}.lf-mesh-item:hover .lf-mesh-icon,.lf-mesh-item.selected .lf-mesh-icon{border-color:var(--lf-accent);box-shadow:0 0 0 2px var(--lf-accent-ring)}.lf-mesh-label{color:var(--lf-text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:10px;overflow:hidden}.material-item{cursor:pointer;border-radius:var(--lf-radius-xs);border:1.5px solid #0000;align-items:center;gap:8px;min-width:0;padding:7px 8px;transition:background .12s;display:flex}.material-item:hover{background:var(--lf-bg-subtle)}.material-item.selected{background:var(--lf-accent-soft);border-color:#8b4f5a33}.lf-mat-preview{border:1.5px solid var(--lf-border);background:var(--lf-bg-muted);border-radius:50%;flex-shrink:0;width:32px;min-width:32px;height:32px}.lf-mat-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--lf-text-main);flex:1;font-size:12px;overflow:hidden}.lf-texture-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px;display:grid}.texture-item{border-radius:var(--lf-radius-sm);cursor:pointer;border:1.5px solid var(--lf-border);width:100%;padding-top:100%;transition:transform .15s,border-color .15s;position:relative;overflow:hidden}.texture-item:hover{border-color:var(--lf-accent);transform:scale(1.04)}.texture-item.selected{border-color:var(--lf-accent);box-shadow:0 0 0 2px var(--lf-accent-ring)}.lf-tex-bg{background-position:50%;background-size:cover;position:absolute;top:0;bottom:0;left:0;right:0}.lf-tex-label{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:9px;font-family:var(--lf-font-ui);background:linear-gradient(#0000,#000000bf);padding:3px 5px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.lf-tex-del{color:#fff;cursor:pointer;opacity:0;background:#00000073;border:none;border-radius:3px;padding:2px 4px;font-size:9px;line-height:1;transition:opacity .12s;position:absolute;top:3px;right:3px}.texture-item:hover .lf-tex-del{opacity:1}#materialEditor{background:var(--lf-bg-panel);border:1px solid var(--lf-border);border-radius:var(--lf-radius-lg);width:280px;max-height:85vh;box-shadow:var(--lf-shadow-lg);font-family:var(--lf-font-ui);color:var(--lf-text-main);scrollbar-width:thin;scrollbar-color:var(--lf-border) transparent;padding:0 16px 16px;font-size:13px;position:absolute;top:60px;right:20px;overflow-y:auto}#materialEditor::-webkit-scrollbar{width:4px}#materialEditor::-webkit-scrollbar-thumb{background:var(--lf-border);border-radius:4px}.lf-editor-header{border-bottom:1px solid var(--lf-border);z-index:10;background:var(--lf-bg-panel);justify-content:space-between;align-items:center;margin-bottom:14px;padding:14px 0 10px;display:flex;position:sticky;top:0}.lf-editor-title{color:var(--lf-text-main);letter-spacing:.01em;font-size:12px;font-weight:600}.lf-editor-close{border-radius:var(--lf-radius-xs);cursor:pointer;width:24px;height:24px;color:var(--lf-text-muted);background:0 0;border:none;justify-content:center;align-items:center;font-size:14px;transition:background .12s,color .12s;display:flex}.lf-editor-close:hover{background:var(--lf-bg-soft);color:var(--lf-text-main)}.lf-editor-section{margin-bottom:14px}.lf-editor-section-label{letter-spacing:.07em;text-transform:uppercase;color:var(--lf-text-muted);margin-bottom:7px;font-size:10px;font-weight:700}.lf-map-slot{border-radius:var(--lf-radius-sm);border:2px dashed #0000;align-items:center;gap:8px;padding:6px;transition:border-color .15s,background .15s;display:flex}.lf-map-slot.drag-over{border-color:var(--lf-accent);background:var(--lf-accent-soft)}.lf-map-preview{border-radius:var(--lf-radius-xs);border:1.5px solid var(--lf-border);background:var(--lf-bg-subtle);cursor:pointer;background-position:50%;background-size:cover;flex-shrink:0;width:40px;height:40px;transition:border-color .12s}.lf-map-preview:hover{border-color:var(--lf-accent)}.lf-slider-row{align-items:center;gap:8px;display:flex}.lf-slider{accent-color:var(--lf-accent);cursor:pointer;flex:1}.lf-hue-slider{-webkit-appearance:none;appearance:none;background:linear-gradient(90deg,red 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);border-radius:5px;outline:none;width:100%;height:10px;margin:10px 0}.lf-hue-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;cursor:pointer;background:#fff;border:2px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 4px #00000080}.lf-hue-slider::-moz-range-thumb{cursor:pointer;background:#fff;border:2px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 4px #00000080}.lf-number-input{border:1px solid var(--lf-border);border-radius:var(--lf-radius-xs);width:56px;font-size:12px;font-family:var(--lf-font-ui);color:var(--lf-text-main);text-align:center;background:var(--lf-bg-subtle);outline:none;padding:5px 7px;transition:border-color .12s}.lf-number-input:focus{border-color:var(--lf-accent);background:var(--lf-bg-panel)}.lf-checkbox-row{color:var(--lf-text-main);cursor:pointer;align-items:center;gap:8px;padding:4px 0;font-size:12px;display:flex}.lf-checkbox-row input[type=checkbox]{accent-color:var(--lf-accent);cursor:pointer;width:14px;height:14px}.lf-color-input{border:1.5px solid var(--lf-border);border-radius:var(--lf-radius-xs);cursor:pointer;background:var(--lf-bg-subtle);width:100%;height:32px;padding:2px}#texture-action-popup{background:var(--lf-bg-panel);border:1px solid var(--lf-border);border-radius:var(--lf-radius-lg);box-shadow:var(--lf-shadow-lg);z-index:999999;font-family:var(--lf-font-ui);text-align:center;min-width:280px;padding:22px 26px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.lf-popup-title{color:var(--lf-text-main);margin-bottom:4px;font-size:14px;font-weight:600}.lf-popup-sub{color:var(--lf-text-muted);margin-bottom:18px;font-size:11px}.lf-popup-actions{gap:8px;display:flex}.lf-popup-actions .lf-btn{flex:1}.lf-tex-picker{background:var(--lf-bg-panel);border:1px solid var(--lf-border);border-radius:var(--lf-radius-lg);width:210px;box-shadow:var(--lf-shadow-lg);z-index:9999;gap:10px;padding:12px;display:grid;position:absolute;bottom:20px;right:320px}.lf-tex-picker-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.lf-tex-picker-title{letter-spacing:.06em;text-transform:uppercase;color:var(--lf-text-light);font-size:11px;font-weight:700}.lf-tex-picker-close{border:1px solid var(--lf-border);background:var(--lf-bg-subtle);color:var(--lf-text-main);cursor:pointer;border-radius:999px;width:24px;height:24px;font-size:15px;line-height:1}.lf-tex-picker-close:hover{background:var(--lf-border)}.lf-tex-picker-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}#scene-toolbar{background:var(--lf-bg-panel);border:1px solid var(--lf-border);border-radius:var(--lf-radius-md);box-shadow:var(--lf-shadow-md);font-family:var(--lf-font-ui);z-index:99999;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.lf-toolbar-btn{border-radius:var(--lf-radius-sm);font-family:var(--lf-font-ui);cursor:pointer;white-space:nowrap;outline:none;padding:6px 13px;font-size:12px;font-weight:500;transition:background .15s,transform .1s}.lf-toolbar-btn-default{background:var(--lf-bg-subtle);border:1px solid var(--lf-border);color:var(--lf-text-main)}.lf-toolbar-btn-default:hover{background:#ebebeb}.lf-toolbar-btn-accent{background:var(--lf-bg-deep);color:#fff;border:none}.lf-toolbar-btn-accent:hover{background:var(--lf-bg-dark)}.lf-toolbar-btn:active{transform:scale(.96)}.lf-toolbar-divider{background:var(--lf-border);flex-shrink:0;width:1px;height:18px}.lf-variant-panel-root{height:100%;font-family:var(--lf-font-ui);color:var(--lf-text-main);flex-direction:column;font-size:13px;display:flex;overflow:hidden}.lf-variant-list-section{border-bottom:1px solid var(--lf-border);flex:none;padding:14px 16px 10px}.lf-variant-list-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.lf-variant-list{scrollbar-width:thin;scrollbar-color:var(--lf-border) transparent;flex-direction:column;gap:3px;max-height:220px;padding-right:2px;display:flex;overflow-y:auto}.lf-variant-row{border-radius:var(--lf-radius-sm);cursor:pointer;border:1.5px solid #0000;align-items:center;gap:9px;padding:8px 10px;transition:background .12s,border-color .12s;display:flex}.lf-variant-row:hover{background:var(--lf-bg-subtle)}.lf-variant-row.active{background:var(--lf-accent-soft);border-color:#8b4f5a33}.lf-variant-dot{border:1.5px solid #0000001f;border-radius:50%;flex-shrink:0;width:12px;height:12px;box-shadow:0 1px 3px #00000026}.lf-variant-name{text-overflow:ellipsis;white-space:nowrap;color:var(--lf-text-main);flex:1;font-size:13px;font-weight:400;overflow:hidden}.lf-variant-row.active .lf-variant-name{color:var(--lf-accent);font-weight:600}.lf-variant-badge{letter-spacing:.04em;background:var(--lf-accent);color:#fff;border-radius:20px;flex-shrink:0;padding:2px 7px;font-size:9px;font-weight:700}.lf-variant-editor-section{flex:1;padding:16px;overflow-y:auto}.lf-variant-editor-section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--lf-text-light);border-bottom:1px solid var(--lf-border);margin-bottom:16px;padding-bottom:10px;font-size:10px;font-weight:700}.lf-variant-empty{color:var(--lf-text-light);text-align:center;margin-top:40px;font-size:12px;line-height:1.6}#lf-overlay{z-index:9999999;background:var(--lf-bg-main);position:fixed;top:0;bottom:0;left:0;right:0}.lf-overlay-shell{display:flex}#lf-overlay *{box-sizing:border-box;font-family:var(--lf-font-ui)}.lf-sidebar{background:var(--lf-bg-panel);border-right:1px solid var(--lf-border);scrollbar-width:thin;scrollbar-color:var(--lf-border) transparent;flex-direction:column;width:260px;height:100vh;padding:0;display:flex;overflow-y:auto}.lf-sidebar-head{font-family:var(--lf-font-brand);letter-spacing:-.3px;color:var(--lf-text-main);border-bottom:1px solid var(--lf-border);padding:22px 20px 16px;font-size:15px;font-weight:600}.lf-sidebar-head span{color:var(--lf-accent)}.lf-sidebar-section{flex:none;padding:0 10px 8px}.lf-sidebar-section+.lf-sidebar-section{border-top:none;padding-top:8px}.lf-sidebar-header{justify-content:space-between;align-items:center;margin-bottom:2px;padding:8px 10px 4px;display:flex}.lf-add-btn{cursor:pointer;color:var(--lf-text-light);background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:14px;transition:background .12s,color .12s}.lf-add-btn:hover{background:var(--lf-bg-subtle);color:var(--lf-text-main)}.lf-sidebar-label{letter-spacing:.08em;color:var(--lf-text-light);text-transform:uppercase;padding:8px 10px 4px;font-size:10px;font-weight:700}.lf-sidebar-label:not(.lf-sidebar-header){padding-bottom:4px}.lf-folder-item{border-radius:var(--lf-radius-sm);cursor:pointer;color:var(--lf-text-main);align-items:center;gap:6px;padding:6px 10px;font-size:13px;transition:background .12s;display:flex;position:relative}.lf-folder-item:hover{background:var(--lf-bg-subtle)}.lf-folder-item.active{background:var(--lf-accent-soft);color:var(--lf-accent);font-weight:500}.lf-all-projects-item{margin-top:4px}.lf-folder-icon{flex-shrink:0;font-size:13px}.lf-folder-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}#lf-folders-list{flex-direction:column;gap:2px;display:flex}.lf-folder-empty{color:var(--lf-text-light);padding:4px 10px;font-size:12px;font-style:italic}.lf-folder-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.lf-folder-count{color:var(--lf-text-light);flex-shrink:0;margin-left:4px;font-size:11px}.lf-folder-item.active .lf-folder-count{color:var(--lf-accent)}.lf-add-folder{border-radius:var(--lf-radius-sm);cursor:pointer;color:var(--lf-text-muted);align-items:center;gap:8px;padding:8px 10px;font-size:13px;transition:color .12s,background .12s;display:flex}.lf-add-folder:hover{color:var(--lf-text-main);background:var(--lf-bg-subtle)}.lf-sidebar-footer{border-top:1px solid var(--lf-border);margin-top:auto;padding:16px}.lf-folder-actions{opacity:0;pointer-events:none;align-items:center;gap:2px;margin-left:auto;transition:opacity .12s;display:flex}.lf-folder-item:hover .lf-folder-actions,.lf-folder-item:focus-within .lf-folder-actions{opacity:1;pointer-events:auto}.lf-folder-actions button{cursor:pointer;opacity:.7;background:0 0;border:none;border-radius:3px;padding:2px 4px;font-size:11px}.lf-folder-actions button:hover{opacity:1;background:var(--lf-bg-subtle)}.lf-move-option{cursor:pointer;border-radius:4px;align-items:center;padding:8px 12px;font-size:13px;transition:background .12s;display:flex}.lf-move-option:hover{background:var(--lf-bg-subtle)}.lf-folder-act{cursor:pointer;border-radius:var(--lf-radius-xs);width:22px;height:22px;color:var(--lf-text-muted);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:12px;line-height:1;transition:background .12s,color .12s;display:inline-flex}.lf-folder-act:hover{background:var(--lf-border);color:var(--lf-text-main)}.lf-folder-act[data-action=delete]:hover{background:var(--lf-accent-soft);color:var(--lf-accent)}.lf-main{flex-direction:column;flex:1;display:flex;overflow-y:auto}.lf-main-head{border-bottom:1px solid var(--lf-border);background:var(--lf-bg-panel);align-items:center;gap:12px;padding:22px 28px 18px;display:flex}.lf-main-title{font-family:var(--lf-font-brand);letter-spacing:-.4px;color:var(--lf-text-main);flex:1;font-size:22px;font-weight:600}.lf-search-bar{background:var(--lf-bg-panel);border-bottom:1px solid var(--lf-border);align-items:center;gap:10px;padding:12px 28px;display:flex}.lf-search-input{border:1.5px solid var(--lf-border);border-radius:var(--lf-radius-md);font-size:13px;font-family:var(--lf-font-ui);background:var(--lf-bg-subtle);color:var(--lf-text-main);outline:none;flex:1;padding:9px 14px;transition:border-color .15s}.lf-search-input:focus{border-color:var(--lf-accent);background:var(--lf-bg-panel)}.lf-products-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:20px;padding:24px 28px;display:grid}.lf-product-card{background:var(--lf-bg-panel);border:1px solid var(--lf-border);border-radius:var(--lf-radius-lg);cursor:pointer;transition:box-shadow .18s,transform .15s;overflow:hidden}.lf-product-card:hover{box-shadow:var(--lf-shadow-md);transform:translateY(-2px)}.lf-product-thumb{background:var(--lf-bg-subtle);border-bottom:1px solid var(--lf-border);justify-content:center;align-items:center;height:160px;font-size:40px;display:flex;position:relative}.lf-product-thumb-img{object-fit:cover;width:100%;height:100%}.lf-product-info{padding:14px 16px 10px}.lf-product-brand{color:var(--lf-text-light);text-transform:uppercase;letter-spacing:.07em;margin-bottom:4px;font-size:10px;font-weight:700}.lf-product-name{color:var(--lf-text-main);font-size:14px;font-weight:600;line-height:1.3}.lf-product-sub{color:var(--lf-text-muted);margin-top:3px;font-size:11px}.lf-product-actions{flex-wrap:wrap;gap:5px;padding:0 16px 14px;display:flex}.lf-prod-action{border:1.5px solid var(--lf-border);border-radius:var(--lf-radius-sm);cursor:pointer;background:var(--lf-bg-panel);color:var(--lf-text-muted);font-size:11px;font-weight:500;font-family:var(--lf-font-ui);padding:5px 10px;transition:background .12s,border-color .12s,color .12s}.lf-prod-action:hover{background:var(--lf-bg-subtle);color:var(--lf-text-main);border-color:silver}.lf-prod-action.danger:hover{background:var(--lf-accent-soft);color:var(--lf-accent);border-color:#8b4f5a40}.lf-empty{text-align:center;color:var(--lf-text-muted);grid-column:1/-1;padding:80px 20px;font-size:14px;line-height:1.6}.lf-modal-bg{z-index:99999999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.lf-modal{background:var(--lf-bg-panel);border-radius:var(--lf-radius-xl);width:90%;min-width:340px;max-width:420px;box-shadow:var(--lf-shadow-lg);border:1px solid var(--lf-border);padding:30px 32px}.lf-modal h2{font-family:var(--lf-font-brand);color:var(--lf-text-main);margin:0 0 20px;font-size:18px;font-weight:600}.lf-modal label{color:var(--lf-text-muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:700;display:block}.lf-modal input[type=text]{border:1.5px solid var(--lf-border);border-radius:var(--lf-radius-md);width:100%;font-size:14px;font-family:var(--lf-font-ui);background:var(--lf-bg-subtle);color:var(--lf-text-main);box-sizing:border-box;outline:none;padding:10px 13px;transition:border-color .15s}.lf-modal input[type=text]:focus{border-color:var(--lf-accent);background:var(--lf-bg-panel)}.lf-radio-group{flex-direction:column;gap:10px;margin:16px 0 20px;display:flex}.lf-radio-row{cursor:pointer;color:var(--lf-text-main);align-items:center;gap:10px;font-size:13px;display:flex}.lf-radio-row input{accent-color:var(--lf-accent);cursor:pointer}.lf-modal-btns{gap:10px;margin-top:22px;display:flex}.lf-btn-cancel{border:1.5px solid var(--lf-border);border-radius:var(--lf-radius-md);background:var(--lf-bg-panel);font-size:13px;font-weight:500;font-family:var(--lf-font-ui);cursor:pointer;color:var(--lf-text-main);flex:1;padding:10px;transition:background .12s}.lf-btn-cancel:hover{background:var(--lf-bg-subtle)}.lf-btn-confirm{border-radius:var(--lf-radius-md);background:var(--lf-accent);font-size:13px;font-weight:600;font-family:var(--lf-font-ui);cursor:pointer;color:#fff;border:none;flex:1;padding:10px;transition:background .15s,box-shadow .15s}.lf-btn-confirm:hover{background:var(--lf-accent-hover);box-shadow:0 2px 10px var(--lf-accent-ring)}.lf-new-btn,.lf-help-btn,.lf-login-submit{background:var(--lf-accent);color:#fff;border-radius:var(--lf-radius-md);font-size:13px;font-weight:600;font-family:var(--lf-font-ui);cursor:pointer;white-space:nowrap;letter-spacing:.01em;border:none;padding:9px 18px;transition:background .15s,box-shadow .15s}.lf-new-btn:hover,.lf-help-btn:hover,.lf-login-submit:hover{background:var(--lf-accent-hover);box-shadow:0 2px 10px var(--lf-accent-ring)}.lf-help-btn{width:100%;padding:10px;font-size:13px}.lf-login-wrap{background:var(--lf-bg-main);height:100vh;display:flex}.lf-login-left{flex-shrink:0;justify-content:center;align-items:center;width:50%;padding:40px;display:flex}.lf-login-right{background:var(--lf-bg-deep);flex-direction:column;flex:1;justify-content:center;align-items:flex-start;padding:60px 64px;display:flex;position:relative;overflow:hidden}.lf-login-right:before{content:"";pointer-events:none;background:radial-gradient(at 30% 60%,#8b4f5a4d 0%,#0000 65%),radial-gradient(at 80% 20%,#ffffff08 0%,#0000 50%);position:absolute;top:0;bottom:0;left:0;right:0}.lf-login-right-tagline{font-family:var(--lf-font-brand);letter-spacing:-1.5px;color:#fff;z-index:1;font-size:54px;font-weight:700;line-height:1.05;position:relative}.lf-login-right-tagline span{color:var(--lf-bg-soft);display:block}.lf-login-right-sub{color:#fff6;z-index:1;max-width:320px;margin-top:20px;font-size:14px;font-weight:400;line-height:1.6;position:relative}.lf-login-box{background:var(--lf-bg-panel);border-radius:var(--lf-radius-xl);width:100%;max-width:400px;box-shadow:var(--lf-shadow-lg);border:1px solid var(--lf-border);padding:42px 40px}.lf-login-logo{font-family:var(--lf-font-brand);color:var(--lf-text-muted);letter-spacing:.04em;margin-bottom:28px;font-size:13px;font-weight:600}.lf-login-logo span{color:var(--lf-accent)}.lf-login-title{font-family:var(--lf-font-brand);letter-spacing:-.4px;color:var(--lf-text-main);margin-bottom:6px;font-size:26px;font-weight:600}.lf-login-sub{color:var(--lf-text-muted);margin-bottom:30px;font-size:13px}.lf-login-submit{border-radius:var(--lf-radius-md);justify-content:center;align-items:center;gap:8px;width:100%;margin-top:10px;padding:13px;font-size:14px;font-weight:700;display:inline-flex}.lf-login-submit:disabled,.lf-login-submit[disabled]{opacity:.68;cursor:not-allowed;box-shadow:none}.lf-login-links{flex-direction:column;align-items:center;gap:8px;margin-top:20px;display:flex}.lf-login-link{font-size:12px;font-family:var(--lf-font-ui);color:var(--lf-text-muted);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:none;transition:color .12s}.lf-login-link:hover{color:var(--lf-accent)}.lf-login-err{color:var(--lf-accent);background:var(--lf-accent-soft);border-radius:var(--lf-radius-xs);min-height:16px;margin-top:6px;padding:0;font-size:12px;font-weight:500;transition:padding .15s}.lf-login-err:not(:empty){padding:8px 12px}.lf-auth-form{flex-direction:column;gap:14px;display:flex}.lf-auth-form .lf-field{gap:7px}.lf-field-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.lf-auth-text-btn{font-family:var(--lf-font-ui);color:var(--lf-text-muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:600;transition:color .12s}.lf-auth-text-btn:hover{color:var(--lf-accent);outline:none}.lf-auth-text-btn:focus-visible{color:var(--lf-accent);outline:none}.lf-field-message{min-height:15px;color:var(--lf-accent);opacity:0;font-size:11px;line-height:1.35;transition:opacity .15s,transform .15s;transform:translateY(-2px)}.lf-field.is-invalid .lf-input{border-color:var(--lf-accent);background:var(--lf-accent-soft)}.lf-field.is-invalid .lf-field-message{opacity:1;transform:translateY(0)}.lf-auth-alert{border-radius:var(--lf-radius-sm);border:1px solid #0000;margin-bottom:16px;padding:10px 12px;font-size:12px;line-height:1.5}.lf-auth-alert-error{background:var(--lf-accent-soft);color:var(--lf-accent);border-color:#8b4f5a29}.lf-auth-alert-success{color:var(--lf-accent-green);background:#eef8f2;border-color:#27ae602e}.lf-auth-alert-warning{color:#9a6a12;background:#faf5ea;border-color:#9a6a122e}.lf-auth-spinner{border:2px solid #ffffff73;border-top-color:#fff;border-radius:999px;width:14px;height:14px;animation:.65s linear infinite lf-auth-spin;display:none}.lf-login-submit.is-loading .lf-auth-spinner{display:inline-block}.lf-auth-note{color:var(--lf-text-muted);margin-top:-2px;font-size:12px;line-height:1.5}.lf-password-strength{flex-direction:column;gap:8px;margin-top:-5px;display:flex}.lf-password-strength-track{background:var(--lf-bg-main);border:1px solid var(--lf-border);border-radius:999px;height:5px;overflow:hidden}.lf-password-strength-bar{border-radius:inherit;background:var(--lf-accent);width:0;height:100%;transition:width .2s;display:block}.lf-password-strength-text{color:var(--lf-text-muted);font-size:11px}.lf-password-rules{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.lf-password-rules li{border-radius:var(--lf-radius-xs);border:1px solid var(--lf-border);background:var(--lf-bg-subtle);color:var(--lf-text-muted);padding:4px 7px;font-size:10px;font-weight:600;transition:color .15s,border-color .15s,background .15s}.lf-password-rules li.is-met{color:var(--lf-accent-green);background:#eef8f2;border-color:#27ae6038}@keyframes lf-auth-spin{to{transform:rotate(360deg)}}@media (max-width:820px){.lf-login-wrap{flex-direction:column;height:auto;min-height:100vh}.lf-login-left{width:100%;min-height:100vh;padding:28px 18px}.lf-login-right{display:none}.lf-login-box{max-width:430px;padding:32px 24px}}@media (max-width:420px){.lf-login-box{border-radius:var(--lf-radius-lg);padding:28px 20px}.lf-login-title{font-size:23px}}#lf-editor-topbar{background:var(--lf-bg-panel);border-bottom:1px solid var(--lf-border);z-index:99998;height:42px;font-family:var(--lf-font-ui);align-items:center;gap:12px;padding:0 16px;font-size:13px;display:flex;position:fixed;top:0;left:0;right:0}.lf-topbar-product-name{color:var(--lf-text-main);font-size:13px;font-weight:600}.lf-topbar-spacer{flex:1}.lf-topbar-divider{background:var(--lf-border);flex-shrink:0;width:1px;height:18px}.lf-topbar-badge{color:#4caf50;opacity:0;font-size:11px;font-weight:500;transition:opacity .3s}.lf-topbar-btn{border:1px solid var(--lf-border);border-radius:var(--lf-radius-sm);cursor:pointer;font-size:12px;font-family:var(--lf-font-ui);color:var(--lf-text-muted);background:0 0;padding:5px 12px;transition:background .12s,color .12s}.lf-topbar-btn:hover{background:var(--lf-bg-subtle);color:var(--lf-text-main)}.lf-topbar-btn-publish{border-radius:var(--lf-radius-sm);background:var(--lf-accent);color:#fff;cursor:pointer;font-size:12px;font-weight:600;font-family:var(--lf-font-ui);border:none;padding:5px 14px;transition:background .12s}.lf-topbar-btn-publish:hover{background:var(--lf-accent-hover)}.lf-topbar-btn-publish:disabled{opacity:.6;cursor:not-allowed}.lf-save-indicator{background:var(--lf-bg-deep);color:#fff;font-size:12px;font-family:var(--lf-font-ui);z-index:999999;pointer-events:none;border-radius:20px;padding:6px 16px;position:fixed;bottom:70px;left:50%;transform:translate(-50%)}.lf-variant-dot-wrap{cursor:pointer;white-space:nowrap;font-family:var(--lf-font-ui);border:1.5px solid #0000;border-radius:40px;flex-shrink:0;align-items:center;gap:8px;padding:5px 10px;transition:background .15s;display:flex}.lf-variant-dot-wrap:hover{background:var(--lf-bg-subtle)}.lf-variant-dot-wrap.active{border-color:var(--lf-border);background:#f0f0f0}.lf-variant-name{color:#333;font-size:12px;font-weight:500}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--lf-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--lf-bg-muted)}#panel-tabs{border-bottom:1px solid var(--lf-border);background:linear-gradient(#fbfbfb 0%,#f3f1ef 100%);border-top-left-radius:8px;border-top-right-radius:8px;align-items:stretch;gap:0;padding:0;display:flex;overflow:hidden}.panel-tab{font-size:12px;font-weight:600;font-family:var(--lf-font-ui);cursor:pointer;text-align:center;color:var(--lf-text-muted);background:0 0;border-right:1px solid #0000000a;border-radius:0;flex:1;padding:14px 10px 12px;transition:background .12s,color .12s,box-shadow .12s}.panel-tab .tab-text{display:none}.panel-tab:hover{color:var(--lf-text-main);background:#ffffff94}.panel-tab.active{background:var(--lf-bg-panel);color:var(--lf-accent);box-shadow:inset 0 2px 0 var(--lf-accent);font-weight:600}.panel-tab:last-child{border-right:none}.lf-mesh-icon svg{stroke:var(--lf-accent);fill:none}.lf-mesh-delete{border:1px solid var(--lf-border);background:var(--lf-bg-panel);cursor:pointer;opacity:0;border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;transition:all .15s;display:flex;position:absolute;top:4px;right:4px;transform:scale(.8)}.lf-mesh-item:hover .lf-mesh-delete{opacity:1;transform:scale(1)}.lf-mesh-delete:hover{background:var(--lf-accent-soft);color:var(--lf-accent)}.lf-mesh-item{position:relative}.lf-mesh-item .lf-btn-icon{opacity:0;transition:all .15s;position:absolute;top:4px;right:4px;transform:scale(.8)}.lf-mesh-item:hover .lf-btn-icon{opacity:1;transform:scale(1)}@keyframes lf-refresh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.lf-export-root{flex-direction:column;flex:1;padding:0 0 24px;display:flex;overflow:hidden auto}.lf-export-header{align-items:flex-start;gap:12px;padding:18px 16px 14px;display:flex}.lf-export-header-icon{border-radius:var(--lf-radius-sm);background:var(--lf-accent-soft);width:36px;height:36px;color:var(--lf-accent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.lf-export-header-title{color:var(--lf-text-main);font-size:14px;font-weight:600;font-family:var(--lf-font-ui);line-height:1.3}.lf-export-header-sub{color:var(--lf-text-muted);margin-top:2px;font-size:11px;line-height:1.4}.lf-export-divider{background:var(--lf-border);flex-shrink:0;height:1px;margin:0 16px 16px}.lf-export-section{flex-direction:column;gap:10px;padding:0 16px;display:flex}.lf-export-cards{flex-direction:column;gap:10px;margin-top:6px;display:flex}.lf-export-card{background:var(--lf-bg-subtle);border:1.5px solid var(--lf-border);border-radius:var(--lf-radius-md);flex-direction:column;gap:12px;padding:14px 14px 12px;transition:border-color .15s,box-shadow .15s;display:flex}.lf-export-card:hover{box-shadow:var(--lf-shadow-sm);border-color:#c8c8c8}.lf-export-card-top{align-items:flex-start;gap:11px;display:flex}.lf-export-card-icon{border-radius:var(--lf-radius-sm);background:var(--lf-bg-panel);border:1px solid var(--lf-border);width:38px;height:38px;color:var(--lf-accent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.lf-export-card-info{flex:1;min-width:0}.lf-export-card-name-row{align-items:center;gap:7px;margin-bottom:4px;display:flex}.lf-export-card-format{color:var(--lf-text-main);font-size:13px;font-weight:700;font-family:var(--lf-font-ui);letter-spacing:.02em}.lf-export-card-badge{letter-spacing:.06em;text-transform:uppercase;color:var(--lf-accent);background:var(--lf-accent-soft);border:1px solid #8b4f5a26;border-radius:30px;padding:2px 7px;font-size:9px;font-weight:700;line-height:1.5}.lf-export-card-desc{color:var(--lf-text-muted);font-size:11px;line-height:1.5}.lf-btn-export-base{letter-spacing:.02em;border-radius:var(--lf-radius-sm);padding:9px 14px;font-size:12px;font-weight:600;transition:background .15s,box-shadow .15s,transform .1s}.lf-btn-export-base:active{transform:scale(.97)}.lf-btn-export-glb{background:var(--lf-accent);color:#fff;border:none}.lf-btn-export-glb:hover:not(:disabled){background:var(--lf-accent-hover);box-shadow:0 3px 12px var(--lf-accent-ring)}.lf-btn-export-obj{background:var(--lf-bg-panel);color:var(--lf-text-main);border:1.5px solid var(--lf-border)}.lf-btn-export-obj:hover:not(:disabled){background:var(--lf-bg-subtle);border-color:#bbb}.lf-btn-export-usdz{background:var(--lf-bg-panel);color:var(--lf-text-main);border:1.5px solid var(--lf-border)}.lf-btn-export-usdz:hover:not(:disabled){background:var(--lf-bg-subtle);border-color:#bbb}.lf-btn-export-base:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}#lf-toast.lf-toast-error{background:#e74c3c}#lf-toast.lf-toast-loading{background:#3498db}.lf-polycount-overlay{-webkit-backdrop-filter:blur(16px);z-index:950;background:#ffffffe6;border:1px solid #8b4f5a24;border-radius:999px;align-items:center;gap:12px;padding:10px 14px;display:flex;position:absolute;bottom:5px;right:20px;box-shadow:0 10px 28px #3c43451a}.lf-polycount-overlay.is-collapsed{gap:0;padding-right:12px}.lf-polycount-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:inline-flex}.lf-polycount-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--lf-accent);cursor:pointer;margin:0}.lf-polycount-label{letter-spacing:.08em;text-transform:uppercase;color:var(--lf-text-muted);font-size:11px;font-weight:700}.lf-polycount-value{text-align:right;letter-spacing:.02em;min-width:88px;color:var(--lf-accent);font-size:13px;font-weight:700}#lf-variant-floating-panel{background:var(--lf-bg-panel);border:1px solid var(--lf-border);border-radius:var(--lf-radius-md);z-index:1004;-webkit-user-select:none;user-select:none;width:248px;font-family:var(--lf-font-ui);box-sizing:border-box;flex-direction:column;gap:8px;padding:12px;display:flex;position:absolute;top:120px;left:20px;box-shadow:0 8px 24px #1b1e1f08}#lf-variant-floating-panel.is-collapsed{gap:0;width:108px}.lf-floating-header{justify-content:space-between;align-items:center;gap:8px;min-height:24px;display:flex}.lf-floating-title{flex:1;min-width:0}.lf-floating-header-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.lf-floating-add-btn-header{background:var(--lf-accent);color:#fff;border-radius:var(--lf-radius-sm);height:30px;font-size:11px;font-weight:600;font-family:var(--lf-font-ui);cursor:pointer;white-space:nowrap;border:none;padding:0 10px;transition:background .15s,box-shadow .15s}.lf-floating-add-btn-header:hover{background:var(--lf-accent-hover);box-shadow:0 2px 10px var(--lf-accent-ring)}#lf-variant-floating-panel.is-collapsed .lf-floating-add-btn-header{display:none}#lf-variant-floating-panel.is-collapsed .lf-outliner-toggle svg{transform:rotate(-90deg)}.lf-floating-list{flex-direction:column;gap:4px;display:flex}.lf-floating-row{border-radius:var(--lf-radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:8px;min-width:0;padding:7px 8px;transition:background .12s,border-color .12s;display:flex}.lf-floating-row:hover{background:var(--lf-bg-subtle)}.lf-floating-row.active{background:var(--lf-accent-soft);border-color:#8b4f5a33}.lf-floating-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--lf-text-main);flex:1;font-size:13px;font-weight:400;overflow:hidden}.lf-floating-row.active .lf-floating-name{color:var(--lf-accent);font-weight:600}.lf-floating-active-badge{color:#fff;letter-spacing:.04em;text-transform:capitalize;background:#8b4f5a;border-radius:20px;flex-shrink:0;padding:2px 7px;font-size:9px;font-weight:700}.lf-floating-row .lf-variant-dot{width:12px;height:12px;box-shadow:0 1px 2px #0000001a}.lf-badge-live{background:var(--lf-accent-green);color:#fff;vertical-align:middle;border-radius:6px;margin-left:8px;padding:2px 6px;font-size:10px;font-weight:700;line-height:1.4;display:inline-block}.lf-history-item-live{border-left:3px solid var(--lf-accent-green)!important;background:#27ae600d!important}.lf-history-meta{text-align:center;color:#ffffffb3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);letter-spacing:.02em;background:#0006;border-radius:4px;padding:4px 10px;font-size:11px;font-weight:500}.lf-global-loader{-webkit-backdrop-filter:blur(16px);z-index:999999999;font-family:var(--lf-font-ui);background:#f0f1f2b3;flex-direction:column;justify-content:center;align-items:center;transition:opacity .6s,visibility .6s;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.lf-global-loader.fade-out{opacity:0;visibility:hidden;pointer-events:none}.lf-loader-content{flex-direction:column;align-items:center;gap:20px;display:flex}.lf-loader-logo{font-family:var(--lf-font-brand);color:var(--lf-text-main);letter-spacing:-.5px;font-size:24px;font-weight:600}.lf-loader-logo span{color:var(--lf-accent)}.lf-loader-spinner{border:3px solid var(--lf-border);border-top-color:var(--lf-accent);border-radius:50%;width:40px;height:40px;animation:1s linear infinite lf-spin}.lf-loader-text{color:var(--lf-text-muted);letter-spacing:.02em;font-size:13px;font-weight:500}@keyframes lf-spin{to{transform:rotate(360deg)}}.lf-replace-dialog{background:var(--lf-bg-panel);border:1px solid var(--lf-border);border-radius:var(--lf-radius-lg);box-shadow:var(--lf-shadow-lg);z-index:99998;opacity:0;pointer-events:none;font-family:var(--lf-font-ui);padding:16px 24px;transition:opacity .25s,transform .25s;position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(20px)}.lf-replace-dialog.lf-replace-visible{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}.lf-replace-content{align-items:center;gap:12px;display:flex}.lf-replace-spinner{border:2.5px solid var(--lf-border);border-top-color:var(--lf-accent);border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.8s linear infinite lf-spin}.lf-replace-message{color:var(--lf-text-main);font-size:13px;font-weight:500}.lf-replace-progress-bar{background:var(--lf-bg-muted);border-radius:2px;width:100%;height:4px;margin-top:10px;overflow:hidden}.lf-replace-progress-fill{background:var(--lf-accent);border-radius:2px;height:100%;transition:width .3s}.texture-item.replacing{opacity:.6;pointer-events:none}.texture-item.replacing:after{content:"";background:#ffffff4d;animation:1s ease-in-out infinite lf-pulse;position:absolute;top:0;bottom:0;left:0;right:0}@keyframes lf-pulse{0%,to{opacity:.3}50%{opacity:.6}}.lf-config-panel-root{scrollbar-gutter:stable;grid-template-columns:minmax(0,1fr);align-content:start;gap:14px;height:100%;padding:12px 12px 18px;display:grid;overflow-y:auto}.lf-config-list-section,.lf-config-editor-section{min-width:0}.lf-config-editor-section{flex-direction:column;gap:12px;display:flex}.lf-config-add-btn{padding:4px 10px;font-size:11px}.lf-config-list{flex-direction:column;gap:6px;margin-top:10px;padding-bottom:4px;display:flex}.lf-config-row{border:1px solid var(--lf-border);border-radius:var(--lf-radius-sm);background:var(--lf-bg-panel);cursor:pointer;padding:10px;transition:border-color .15s,background .15s}.lf-config-row:hover,.lf-config-row.active{border-color:var(--lf-accent);background:var(--lf-bg-subtle)}.lf-config-row-name{color:var(--lf-text-main);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.lf-config-count,.lf-config-muted{color:var(--lf-text-muted);font-size:11px;line-height:1.45}.lf-config-option-chip{border-radius:var(--lf-radius-sm);color:var(--lf-text-main);font:500 12px var(--lf-font-ui);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:8px;margin-left:14px;padding:5px 8px;display:flex}.lf-config-option-chip:hover,.lf-config-option-chip.active{background:var(--lf-bg-subtle);border-color:var(--lf-border)}.lf-config-swatch{background-position:50%;background-size:cover;border:1px solid #00000024;border-radius:50%;flex:none;width:13px;height:13px;overflow:hidden}.lf-config-mesh-box{background:var(--lf-bg-subtle);border:1px solid var(--lf-border);border-radius:var(--lf-radius-sm);padding:12px}.lf-config-visibility-rule-box{background:var(--lf-bg-subtle);border:1px solid var(--lf-border);border-radius:var(--lf-radius-sm);margin-bottom:4px;padding:12px}.lf-config-rule-label{color:var(--lf-text-secondary,#888);text-transform:uppercase;letter-spacing:.04em;margin:8px 0 3px;font-size:11px;font-weight:600;display:block}.lf-config-rule-select{border-radius:var(--lf-radius-sm,4px);width:100%;padding:5px 8px;font-size:12px}.lf-config-mesh-list,.lf-config-options-editor-list{flex-direction:column;gap:7px;margin-top:8px;display:flex}.lf-config-mesh-row{min-width:0;color:var(--lf-text-main);align-items:center;gap:8px;font-size:12px;display:flex}.lf-config-mesh-row input{accent-color:var(--lf-accent)}.lf-config-mesh-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lf-config-option-editor{border:1px solid var(--lf-border);border-radius:var(--lf-radius-sm);background:var(--lf-bg-panel);grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;padding:10px;display:grid;position:relative}.lf-config-option-editor.active{border-color:var(--lf-accent)}.lf-config-swatch-button{border:1px solid var(--lf-border);cursor:pointer;background:0 0;border-radius:50%;width:24px;height:24px;padding:0;overflow:hidden;box-shadow:inset 0 0 0 2px #ffffffbf}.lf-config-swatch-button:hover{border-color:var(--lf-accent)}.lf-config-color-popover{z-index:20;border:1px solid var(--lf-border);border-radius:var(--lf-radius-sm);background:var(--lf-bg-panel);width:min(300px,100% - 20px);padding:10px;display:none;position:absolute;top:40px;left:10px;box-shadow:0 14px 34px #3c43452e}.lf-config-color-popover.open{display:block}.lf-config-hsv-area{width:100%;height:132px;margin-bottom:8px;position:relative}.lf-config-hsv-area canvas{border:1px solid var(--lf-border);border-radius:var(--lf-radius-sm);cursor:crosshair;width:100%;height:100%;display:block}.lf-config-hsv-indicator{pointer-events:none;border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #00000052,inset 0 0 0 1px #00000052}.lf-config-color-row,.lf-config-hsv-row{align-items:center;gap:8px;margin-top:8px;display:flex}.lf-config-swatch-preview{width:22px;height:22px}.lf-config-hex-input{flex:1;min-width:0}.lf-config-color-label{color:var(--lf-text-light);font-size:10px;font-weight:700}.lf-config-hsv-input{border:1px solid var(--lf-border);border-radius:var(--lf-radius-xs);background:var(--lf-bg-subtle);flex:1;align-items:center;gap:4px;min-width:0;padding:3px 6px;display:flex}.lf-config-hsv-input span{color:var(--lf-text-light);font-size:10px;font-weight:700}.lf-config-hsv-input input{width:100%;min-width:0;color:var(--lf-text-main);font:600 12px var(--lf-font-ui);background:0 0;border:0;outline:0}.lf-config-clear-swatch{margin-top:8px}.lf-config-option-actions{grid-column:1/-1;grid-template-columns:minmax(64px,1fr) minmax(104px,1.35fr) 30px 30px;align-items:center;gap:6px;display:grid}.lf-config-option-actions>button:nth-child(7){grid-column:4}.lf-config-option-actions .lf-btn,.lf-config-option-actions .lf-btn-icon{min-height:32px}.lf-config-option-meshes{border:1px solid var(--lf-border);border-radius:var(--lf-radius-sm);background:var(--lf-bg-subtle);flex-direction:column;grid-column:1/-1;gap:6px;margin-top:2px;padding:8px;display:flex}.lf-config-option-mesh-row{min-height:22px}.lf-product-type-picker{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.lf-product-type-choice{border:1px solid var(--lf-border);border-radius:var(--lf-radius-sm);background:var(--lf-bg-panel);text-align:left;cursor:pointer;font-family:var(--lf-font-ui);padding:10px}.lf-product-type-choice.active{border-color:var(--lf-accent);background:var(--lf-bg-subtle)}.lf-product-type-choice span{color:var(--lf-text-main);font-size:12px;font-weight:700;display:block}.lf-product-type-choice small{color:var(--lf-text-muted);margin-top:4px;font-size:10px;line-height:1.35;display:block}.lf-status-badge{text-transform:uppercase;background:var(--lf-bg-subtle);color:var(--lf-text-muted);border:1px solid var(--lf-border);border-radius:999px;justify-content:center;align-items:center;padding:3px 8px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.lf-status-approved{color:#2f7d46;background:#2f7d4614;border-color:#2f7d462e}.lf-status-pending{color:#8a6a24;background:#aa7e1c1a;border-color:#aa7e1c33}.lf-status-suspended,.lf-status-rejected{color:var(--lf-accent);background:var(--lf-accent-soft);border-color:#8b4f5a38}.lf-admin-summary{grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px;padding:18px 28px 0;display:grid}.lf-admin-summary div,.lf-settings-card{background:var(--lf-bg-panel);border:1px solid var(--lf-border);border-radius:var(--lf-radius-md)}.lf-admin-summary div{padding:14px 16px}.lf-admin-summary strong{color:var(--lf-text-main);font-size:20px;display:block}.lf-admin-summary span{color:var(--lf-text-muted);margin-top:3px;font-size:11px;display:block}.lf-admin-account-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.lf-admin-account-card{cursor:default}.lf-admin-card-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:4px;display:flex}.lf-admin-meta-grid,.lf-settings-kv{grid-template-columns:minmax(90px,.8fr) minmax(0,1.2fr);gap:7px 12px;margin-top:12px;font-size:12px;display:grid}.lf-admin-meta-grid span,.lf-settings-kv span{color:var(--lf-text-light)}.lf-admin-meta-grid strong,.lf-settings-kv strong{min-width:0;color:var(--lf-text-main);overflow-wrap:anywhere;font-weight:600}.lf-admin-notes-label{letter-spacing:.08em;text-transform:uppercase;color:var(--lf-text-light);margin:14px 0 6px;font-size:10px;font-weight:700;display:block}.lf-admin-notes{resize:vertical;border:1.5px solid var(--lf-border);border-radius:var(--lf-radius-sm);background:var(--lf-bg-subtle);width:100%;min-height:72px;color:var(--lf-text-main);font-family:var(--lf-font-ui);padding:8px 10px;font-size:12px}.lf-admin-filter{max-width:180px}.lf-settings-layout{grid-template-columns:repeat(2,minmax(280px,1fr));gap:18px;padding:24px 28px;display:grid}.lf-settings-card{padding:18px}.lf-settings-card-title{color:var(--lf-text-main);text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px;font-size:12px;font-weight:800}.lf-settings-card .lf-field{margin-bottom:12px}.lf-form-error{min-height:18px;color:var(--lf-accent);margin:4px 0 10px;font-size:12px}.lf-settings-note{color:var(--lf-text-muted);margin:0 0 14px;font-size:12px;line-height:1.55}.lf-product-info-panel{border-left:none;width:100%}.lf-storage-card{border:1px solid var(--lf-border);border-radius:var(--lf-radius-md);background:var(--lf-bg-panel);padding:12px}.lf-storage-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.lf-storage-total{color:var(--lf-text-main);margin-top:6px;font-size:18px;font-weight:700}.lf-storage-meta,.lf-storage-progress{min-height:16px;color:var(--lf-text-muted);margin-top:4px;font-size:11px}.lf-storage-breakdown{margin-top:10px}.lf-storage-breakdown summary{cursor:pointer;color:var(--lf-text-muted);font-size:12px}.lf-storage-breakdown-list{gap:7px;margin-top:10px;display:grid}.lf-storage-row{color:var(--lf-text-muted);justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.lf-storage-row strong{color:var(--lf-text-main)}.lf-plan-badge{letter-spacing:.08em;text-transform:uppercase;color:var(--lf-accent);background:var(--lf-accent-soft);border:1px solid #8b4f5a38;border-radius:999px;margin-bottom:16px;padding:3px 10px;font-size:10px;font-weight:800;display:inline-block}.lf-usage-block{margin-bottom:14px}.lf-usage-label{color:var(--lf-text-light);justify-content:space-between;align-items:center;margin-bottom:6px;font-size:12px;display:flex}.lf-usage-value{color:var(--lf-text-main);font-weight:700}.lf-usage-value.lf-usage-warn{color:#e74c3c}.lf-usage-bar-track{background:var(--lf-bg-subtle);border:1px solid var(--lf-border);border-radius:999px;width:100%;height:7px;overflow:hidden}.lf-usage-bar-fill{background:var(--lf-accent);border-radius:999px;min-width:2px;height:100%;transition:width .4s}.lf-usage-hint{color:#e74c3c;margin-top:5px;font-size:11px;line-height:1.4}.lf-product-snapshot{margin-top:20px}.lf-product-snapshot-preview{border-radius:var(--lf-radius-sm);border:1px solid var(--lf-border);width:100%;height:auto;margin-top:10px}@media (max-width:760px){.lf-overlay-shell{flex-direction:column}.lf-sidebar{width:100%;height:auto;max-height:42vh}.lf-admin-summary,.lf-settings-layout{grid-template-columns:1fr;padding-left:16px;padding-right:16px}.lf-search-bar{flex-wrap:wrap}.lf-admin-filter{max-width:none}}
