.layout-wrapper{align-items:center;background:linear-gradient(135deg,#1a1a1a,#2a2a2a);color:#e0e0e0;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;min-height:100vh;padding:2rem}.layout-container{max-width:900px;width:100%}.layout-header{margin-bottom:3rem;text-align:center}.layout-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#4caf50,#81c784);-webkit-background-clip:text;background-clip:text;color:#fff;font-size:3rem;font-weight:800;letter-spacing:-1px;margin:0 0 .75rem}.layout-subtitle{color:#b0b0b0;font-size:1.1rem;line-height:1.6;margin:0}.layout-section{margin-bottom:3rem}.layout-section:last-child{margin-bottom:0}.section-title{border-bottom:2px solid #4caf504d;color:#fff;font-size:1.3rem;font-weight:700;margin:0 0 1.5rem;padding-bottom:.75rem;position:relative}.section-title:after{background:#4caf50;bottom:-2px;content:"";height:2px;left:0;position:absolute;width:50px}.button-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.nav-button{align-items:center;background:#ffffff0d;border:1px solid #ffffff26;border-radius:8px;color:#e0e0e0;cursor:pointer;display:flex;font-size:1rem;font-weight:600;justify-content:space-between;overflow:hidden;padding:1rem 1.5rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-button:before{background:linear-gradient(135deg,#ffffff1a,#0000);bottom:0;content:"";left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease}.nav-button:hover{border-color:#ffffff4d;box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.nav-button:hover:before{opacity:1}.primary-button{border-color:#4caf5066}.primary-button:hover{background:#4caf5026;border-color:#4caf50;box-shadow:0 4px 16px #4caf5033}.dev-button{border-color:#2196f366}.dev-button:hover{background:#2196f326;border-color:#2196f3;box-shadow:0 4px 16px #2196f333}.button-arrow{color:#4caf50;font-size:1.2rem;margin-left:.75rem}.dev-button .button-arrow{color:#2196f3}.nav-button:hover .button-arrow{transform:translateX(4px)}.nav-button:focus{box-shadow:0 0 0 3px #4caf504d;outline:none}.dev-button:focus{box-shadow:0 0 0 3px #2196f34d}.nav-button:active{transform:translateY(0)}@media (max-width:768px){.layout-wrapper{padding:1rem}.layout-container{width:100%}.layout-title{font-size:2rem}.layout-subtitle{font-size:1rem}.button-grid{gap:1rem;grid-template-columns:1fr}.nav-button{font-size:.95rem;padding:.875rem 1.25rem}.section-title{font-size:1.1rem;margin-bottom:1rem}.layout-section{margin-bottom:2rem}}@media (max-width:480px){.layout-title{font-size:1.5rem}.layout-subtitle{font-size:.95rem}.nav-button{font-size:.9rem;padding:.75rem 1rem}.button-arrow{font-size:1rem;margin-left:.5rem}}.welcome-wrapper{align-items:center;background:linear-gradient(135deg,#1a1a1a,#2a2a2a);color:#e0e0e0;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;min-height:100vh;padding:2rem}.welcome-container{max-width:1000px;width:100%}.welcome-hero{animation:fadeInDown .8s ease-out;margin-bottom:4rem;text-align:center}.welcome-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#4caf50,#81c784);-webkit-background-clip:text;background-clip:text;color:#fff;font-size:3.5rem;font-weight:800;letter-spacing:-1px;margin:0 0 1rem}.welcome-description{color:#b0b0b0;font-size:1.25rem;line-height:1.8;margin:0 auto;max-width:600px}.welcome-features{animation:fadeInUp .8s ease-out .2s both;margin-bottom:4rem}.welcome-section-title{color:#fff;font-size:1.4rem;font-weight:700;margin:0 0 2rem;padding-bottom:1rem;position:relative;text-align:center}.welcome-section-title:after{background:linear-gradient(90deg,#0000,#4caf50,#0000);bottom:0;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.features-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.feature-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;padding:2rem;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.feature-card:hover{background:#4caf5014;border-color:#4caf5080;box-shadow:0 8px 24px #4caf501a;transform:translateY(-5px)}.feature-icon{font-size:2.5rem;margin-bottom:1rem}.feature-card h3{color:#fff;font-size:1.2rem;margin:0 0 .5rem}.feature-card p{color:#a0a0a0;font-size:.95rem;line-height:1.6;margin:0}.welcome-cta{animation:fadeInUp .8s ease-out .4s both}.cta-button-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));justify-items:center}.cta-button{align-items:center;background:#4caf501a;border:2px solid #4caf5080;border-radius:10px;color:#e0e0e0;cursor:pointer;display:flex;font-size:1.05rem;font-weight:600;justify-content:space-between;min-width:250px;overflow:hidden;padding:1.2rem 2rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.cta-button:before{background:linear-gradient(135deg,#4caf5033,#0000);bottom:0;content:"";left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease}.cta-button:hover{background:#4caf5033;border-color:#4caf50;box-shadow:0 8px 24px #4caf504d;transform:translateY(-3px)}.cta-button:hover:before{opacity:1}.button-text{flex:1 1;text-align:left}.button-arrow{font-size:1.3rem;margin-left:1rem;transition:transform .3s ease}.cta-button:hover .button-arrow{transform:translateX(4px)}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.welcome-title{font-size:2.5rem}.welcome-description{font-size:1.05rem}.features-grid{grid-template-columns:1fr}.cta-button{min-width:100%}}.init-page-wrapper{align-items:center;background:linear-gradient(135deg,#1a1a2e,#16213e);display:flex;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;justify-content:center;min-height:100vh;padding:20px}.init-page-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;box-shadow:0 8px 32px #0000004d;max-width:600px;padding:40px;width:100%}.init-stage{animation:slideIn .4s ease-out}.init-stage-complete,.init-stage-init,.init-stage-upload{text-align:center}h1{letter-spacing:.5px;margin:0 0 12px}p{color:#ffffffb3;font-size:14px;line-height:1.6;margin:0 0 30px}.error-message{border:1px solid #f4433666;line-height:1.5;margin:0 0 20px}.success-message{background:#4caf5026;border:1px solid #4caf5066;border-radius:6px;color:#66bb6a;margin:0 0 20px}.info-message{background:#2196f326;border:1px solid #2196f366;border-radius:6px;color:#42a5f5;font-size:13px;margin:0 0 20px;padding:12px 16px}.primary-button,.secondary-button{border:none;border-radius:6px;cursor:pointer;font-family:inherit;font-size:14px;font-weight:500;letter-spacing:.3px;padding:12px 24px;transition:all .3s ease}.primary-button{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;display:block;margin:0 auto;width:100%}.primary-button:hover:not(:disabled){background:linear-gradient(135deg,#45a049,#3d8b40);box-shadow:0 4px 16px #4caf504d;transform:translateY(-2px)}.primary-button:disabled{cursor:not-allowed;opacity:.6}.secondary-button{background:#ffffff1a;border:1px solid #fff3;color:#fffc}.secondary-button:hover:not(:disabled){background:#ffffff26;border-color:#ffffff4d}.init-summary{background:#0003;border:1px solid #ffffff1a;border-radius:6px;margin:20px 0;padding:20px;text-align:left}.summary-item{margin-bottom:16px}.summary-item:last-child{margin-bottom:0}.summary-item .label{color:#ffffff80;font-size:12px;letter-spacing:1px;margin-bottom:6px;text-transform:uppercase}.summary-item .value{color:#4caf50;font-family:SF Mono,monospace;font-size:14px;word-break:break-all}.summary-item ul{list-style:none;margin:0;padding:0}.summary-item li{color:#ffffffb3;font-size:13px;margin-bottom:6px;padding-left:16px;position:relative}.summary-item li:before{color:#4caf50;content:"▸";left:0;position:absolute}.file-upload-section{margin:30px 0}.file-label{align-items:center;background:#4caf5014;border:2px dashed #4caf5066;border-radius:8px;color:#ffffffb3;cursor:pointer;display:flex;flex-direction:column;font-size:14px;padding:30px;transition:all .3s ease}.file-label:hover{background:#4caf501f;border-color:#4caf5099}.file-label input{display:none}.file-label:before{content:"📁";font-size:32px;margin-bottom:12px}.file-selected{background:#4caf5026;border:1px solid #4caf5066;border-radius:6px;color:#66bb6a;font-size:13px;margin-top:16px;padding:12px}.file-selected strong{color:#4caf50}.progress-bar{margin:20px 0;position:relative}.progress-fill{background:linear-gradient(90deg,#4caf50,#45a049)}.progress-text{color:#fff9;display:block;margin-top:8px}.button-group{grid-gap:12px;display:grid;grid-template-columns:1fr 1fr;margin-top:20px}.button-group .primary-button{width:auto}.button-group .secondary-button{width:100%}@media (max-width:600px){.init-page-container{padding:24px}h1{font-size:24px}.button-group{grid-template-columns:1fr}}.dev-dashboard{background:linear-gradient(135deg,#1a1a1a,#2a2a2a);color:#e0e0e0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;padding:2rem}.dev-dashboard-container{margin:0 auto;max-width:1200px}.dev-dashboard-header{margin-bottom:3rem;text-align:center}.dev-dashboard-header h1{color:#fff;font-size:2.5rem;font-weight:700;margin:0 0 .5rem}.dev-dashboard-subtitle{color:#b0b0b0;font-size:1.1rem;margin:0}.dev-utilities-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:3rem}.dev-utility-card{background:#ffffff0d;border:1px solid #4caf504d;border-radius:8px;color:inherit;display:flex;flex-direction:column;gap:1rem;overflow:hidden;padding:1.5rem;position:relative;text-decoration:none;transition:all .3s ease}.dev-utility-card:before{background:linear-gradient(135deg,#4caf501a,#0000);bottom:0;content:"";left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease}.dev-utility-card:hover{background:#4caf501a;border-color:#4caf50;box-shadow:0 4px 12px #4caf5033;transform:translateY(-2px)}.dev-utility-card:hover:before{opacity:1}.dev-utility-icon{height:32px;margin:0 auto;width:32px}.dev-utility-title{color:#fff;font-size:1.3rem;font-weight:600;margin:0}.dev-utility-description{color:#b0b0b0;flex:1 1;font-size:.95rem;margin:0}.dev-utility-arrow{color:#4caf50;font-size:1.2rem;transition:transform .3s ease}.dev-utility-card:hover .dev-utility-arrow{transform:translateX(4px)}.dev-dashboard-info{background:#0000004d;border:1px solid #ffffff1a;border-radius:8px;margin-top:2rem;padding:2rem}.dev-dashboard-info h2{color:#fff;font-size:1.5rem;margin:0 0 1rem}.dev-dashboard-list{list-style:none;margin:0 0 1.5rem;padding:0}.dev-dashboard-list li{color:#d0d0d0;line-height:1.6;padding:.75rem 0 .75rem 1.5rem;position:relative}.dev-dashboard-list li:before{color:#4caf50;content:"→";font-weight:600;left:0;position:absolute}.dev-dashboard-note{background:#ffc1071a;border-left:3px solid #ffc107;border-radius:4px;color:#ffecb3;font-size:.95rem;margin:0;padding:1rem}@media (max-width:768px){.dev-dashboard{padding:1rem}.dev-dashboard-header h1{font-size:1.8rem}.dev-utilities-grid{grid-template-columns:1fr}.dev-dashboard-info{padding:1.5rem}}.schema-upload-page{background-color:#1a1a1a;box-sizing:border-box;color:#e0e0e0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;min-height:100vh;padding:40px 20px;width:100%}.schema-upload-container{background-color:#242424;border-radius:8px;box-shadow:0 4px 16px #00000080;box-sizing:border-box;margin:0 auto;max-width:1200px;padding:40px;width:100%}h1{font-size:28px;margin-bottom:30px}h1,h2{color:#fff;font-weight:600}h2{border-bottom:1px solid #3a3a3a;font-size:16px;letter-spacing:.5px;margin-bottom:16px;padding-bottom:8px;text-transform:uppercase}.info-section{margin-bottom:32px}.info-group{align-items:center;border-bottom:1px solid #333;display:flex;justify-content:space-between;padding:12px 0}.info-group label{color:#a0a0a0;font-size:13px;font-weight:500}.info-group code{background-color:#1a1a1a;border:1px solid #3a3a3a;border-radius:4px;color:#4caf50;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;padding:6px 12px}.summary-section{margin-bottom:32px}.summary-items{grid-gap:16px;gap:16px}.summary-item{background-color:#1a1a1a;border:1px solid #3a3a3a;border-radius:6px;flex-direction:column;gap:8px;padding:16px}.summary-item span{color:#a0a0a0;font-size:13px;letter-spacing:.5px;text-transform:uppercase}.summary-item strong{font-size:20px;font-weight:600}.upload-section{background-color:#1a1a1a;border:1px solid #3a3a3a;border-radius:6px;margin-bottom:32px;padding:24px}.btn-upload{background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;letter-spacing:.5px;padding:12px 20px;text-transform:uppercase;transition:all .3s ease;width:100%}.btn-upload:hover:not(:disabled){background:linear-gradient(135deg,#5bc961,#4caf50);box-shadow:0 4px 12px #4caf5066;transform:translateY(-2px)}.btn-upload:disabled{opacity:.6}.btn-upload:active:not(:disabled){transform:translateY(0)}.button-group{gap:12px;width:100%}.button-group .btn-upload{flex:1 1}.btn-reset{background:#666;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;letter-spacing:.5px;padding:12px 20px;text-transform:uppercase;transition:all .3s ease;white-space:nowrap}.btn-reset:hover:not(:disabled){background:#777;box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.btn-reset:disabled{opacity:.6}.btn-reset:active:not(:disabled){transform:translateY(0)}.success-message{background-color:#4caf501a;color:#4caf50;font-size:13px}.error-message,.success-message{animation:slideIn .3s ease;font-weight:500;margin-top:16px;padding:12px 16px}.error-message{background-color:#f443361a;border:1px solid #f44336;color:#f44336}.btn-dismiss{align-items:center;background:none;color:#f44336;display:flex;font-size:18px;height:24px;justify-content:center;transition:opacity .2s ease;width:24px}.btn-dismiss:hover{opacity:.7}.note-section{background-color:#4caf500d;border:1px solid #4caf5033;color:#a0a0a0;font-size:13px;line-height:1.6;padding:16px}.note-section p{margin:0}.note-section code{background-color:#1a1a1a;border-radius:3px;color:#4caf50;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;padding:2px 6px}@media (max-width:600px){.schema-upload-container{padding:24px 16px}h1{font-size:22px;margin-bottom:24px}.info-group{align-items:flex-start;flex-direction:column;gap:8px}.summary-items{grid-template-columns:repeat(2,1fr)}.button-group{flex-direction:column}.btn-reset{width:100%}}.custom-schema-editor{background:linear-gradient(135deg,#1a1a1a,#2a2a2a);color:#e0e0e0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;padding:2rem;width:100%}.schema-editor-container{height:100vh;margin:0 auto;max-width:900px;overflow-y:scroll}.schema-editor-container h1{color:#fff;font-size:2rem;font-weight:700;margin:0 0 .5rem}.schema-editor-subtitle{color:#b0b0b0;font-size:1rem;margin:0 0 2rem}.error-message{align-items:center;background:#f4433626;border:1px solid #f4433680;border-radius:6px;color:#ff6b5b;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding:1rem}.btn-dismiss{background:#0000;border:none;color:#ff6b5b;cursor:pointer;font-size:1.2rem;line-height:1;padding:0}.btn-dismiss:hover{opacity:.8}.editor-section{margin-bottom:2rem}.editor-label{color:#fff;display:block;font-size:.95rem;font-weight:600;margin-bottom:.75rem}.schema-textarea{background:#0000004d;border:1px solid #ffffff26;border-radius:6px;color:#e0e0e0;font-family:Courier New,monospace;font-size:.9rem;line-height:1.6;min-height:300px;padding:1rem;resize:vertical;transition:border-color .3s ease;width:100%}.schema-textarea:focus{background:#0006;border-color:#4caf50;outline:none}.schema-textarea:disabled{cursor:not-allowed;opacity:.5}.schema-textarea.error{background:#f443360d;border-color:#f44336}.json-error{background:#f4433626;border:1px solid #f4433666;border-radius:4px;color:#ff6b5b;font-size:.9rem;margin-top:.5rem;padding:.75rem}.manual-env-id-section{background:#4caf5014;border:1px solid #4caf5033;border-radius:6px;margin-bottom:2rem;padding:1.5rem}.manual-env-id-group{display:flex;flex-direction:column;gap:.75rem}.manual-env-id-group label{color:#fff;font-size:.95rem;font-weight:600}.manual-env-id-input{background:#0003;border:1px solid #4caf504d;border-radius:4px;color:#e0e0e0;font-family:monospace;font-size:.9rem;padding:.75rem;transition:border-color .3s ease}.manual-env-id-input:focus{border-color:#4caf50;outline:none}.manual-env-id-input:disabled{cursor:not-allowed;opacity:.5}.info-text{color:#81c784;font-size:.85rem;margin:.5rem 0 0}.info-text code{background:#0000004d;border-radius:3px;font-family:monospace;padding:.25rem .5rem}.summary-section{background:#0000004d;border:1px solid #ffffff1a;border-radius:6px;margin-bottom:2rem;padding:1.5rem}.summary-section h2{color:#fff;font-size:1.1rem;font-weight:600;margin:0 0 1rem}.summary-items{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:1.5rem}.summary-item{align-items:center;background:#ffffff0d;border:1px solid #ffffff14;border-radius:4px;display:flex;justify-content:space-between;padding:.75rem}.summary-item span{color:#b0b0b0;font-size:.9rem}.summary-item strong{color:#4caf50;font-size:1.2rem;font-weight:700}.target-path-info{align-items:center;background:#ffffff0d;border-radius:4px;display:flex;font-size:.9rem;gap:1rem;padding:.75rem}.target-path-info label{color:#b0b0b0;font-weight:600;margin:0;min-width:120px}.target-path-info code{background:#0000004d;border-radius:3px;color:#81c784;flex:1 1;font-family:monospace;padding:.5rem;word-break:break-all}.upload-section{margin-bottom:2rem}.button-group{display:flex;gap:1rem;margin-bottom:1rem}.btn-reset,.btn-upload{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:.95rem;font-weight:600;letter-spacing:.5px;padding:.75rem 1.5rem;text-transform:uppercase;transition:all .3s ease}.btn-upload{background:#4caf50;color:#fff}.btn-upload:hover:not(:disabled){background:#66bb6a;box-shadow:0 4px 12px #4caf504d}.btn-upload:disabled{background:#424242;color:#757575;cursor:not-allowed}.btn-reset{background:#0000;border:1px solid #fff3;color:#b0b0b0}.btn-reset:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff4d}.btn-reset:disabled{cursor:not-allowed;opacity:.5}.note-section{background:#2196f314;border:1px solid #2196f333;border-radius:6px;margin-top:2rem;padding:1.5rem}.note-section h2{color:#fff;font-size:1.1rem;font-weight:600;margin:0 0 1rem}.doc-list{color:#d0d0d0;list-style:decimal;margin:0 0 1.5rem;padding-left:1.5rem}.doc-list li{line-height:1.6;margin-bottom:.75rem}.doc-list code{background:#0000004d;border-radius:3px;color:#81c784;font-family:monospace;font-size:.9rem;padding:.2rem .4rem}.doc-note{background:#ffc1071a;border-left:3px solid #ffc107;border-radius:4px;color:#ffecb3;font-size:.9rem;line-height:1.6;margin:0;padding:1rem}.doc-note strong{color:#ffc107}@media (max-width:768px){.custom-schema-editor{padding:1rem}.schema-editor-container h1{font-size:1.5rem}.schema-textarea{font-size:16px;min-height:200px}.button-group{flex-direction:column}.summary-items{grid-template-columns:repeat(2,1fr)}.target-path-info{align-items:flex-start;flex-direction:column}.target-path-info code{width:100%}}.clone-environment-page{background:linear-gradient(135deg,#1a1a1a,#2a2a2a);color:#e0e0e0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;padding:2rem}.clone-environment-container{margin:0 auto;max-width:800px}.clone-header{margin-bottom:2rem;text-align:center}.clone-header h1{color:#fff;font-size:2rem;font-weight:700;margin:0 0 .5rem}.clone-subtitle{color:#b0b0b0;font-size:1rem;line-height:1.5;margin:0}.clone-form-section{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-bottom:2rem}@media (max-width:768px){.clone-form-section{grid-template-columns:1fr}}.clone-form{background:#ffffff0d;border:1px solid #4caf504d;border-radius:8px;display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem}.source-env-info{background:#4caf501a;border:1px solid #4caf5080;border-radius:4px;padding:1rem}.info-label{color:#999;font-size:.85rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.info-value{color:#4caf50;font-family:Courier New,monospace;font-size:1rem;font-weight:500;word-break:break-all}.form-group{gap:.5rem}.form-group label{color:#fff;font-size:.95rem;font-weight:600}.form-input{background:#0000004d;border:1px solid #ffffff1a;border-radius:4px;color:#fff;font-family:inherit;font-size:1rem;padding:.75rem;transition:all .2s ease}.form-input:focus{background:#00000080;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a;outline:none}.form-input:disabled{cursor:not-allowed;opacity:.6}.form-input.invalid{border-color:#ff6b6b}.validation-error{color:#ffb3b3;font-size:.85rem;margin:0}.error-message{color:#ffb3b3;font-size:.95rem;padding:.75rem}.clone-button{background:linear-gradient(135deg,#4caf50,#388e3c);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1rem;transition:all .3s ease}.clone-button:hover:not(:disabled){background:linear-gradient(135deg,#66bb6a,#43a047);box-shadow:0 4px 12px #4caf504d;transform:translateY(-2px)}.clone-button:disabled{cursor:not-allowed;opacity:.5}.clone-button.secondary{background:#ffffff1a;color:#e0e0e0}.clone-button.secondary:hover{background:#ffffff26;box-shadow:none;transform:none}.clone-info{background:#ffffff0d;border:1px solid #4caf504d;border-radius:8px;padding:1.5rem}.clone-info h3{color:#fff;font-size:1.1rem;font-weight:600;margin:0 0 1rem}.clone-info ul{list-style:none;margin:0;padding:0}.clone-info li{color:#d0d0d0;line-height:1.5;padding:.5rem 0 .5rem 1.5rem;position:relative}.clone-info li:before{color:#4caf50;content:"✓";font-weight:600;left:0;position:absolute}.clone-progress-section{background:#ffffff0d;border:1px solid #4caf504d;border-radius:8px;padding:2rem}.clone-progress-section h2{color:#fff;font-size:1.5rem;font-weight:600;margin:0 0 1rem}.progress-info{color:#b0b0b0;font-size:1rem;line-height:1.5;margin:0 0 1.5rem}.progress-container{display:flex;flex-direction:column;gap:1.5rem;margin:1.5rem 0}.progress-item{background:#0000004d;border-radius:4px;padding:1rem}.progress-label{color:#999;font-size:.85rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.progress-value{color:#e0e0e0;font-family:Courier New,monospace;font-size:1rem;word-break:break-all}.progress-value.status-pending{color:#ffb74d}.progress-value.status-in_progress{color:#64b5f6}.progress-value.status-completed{color:#4caf50;font-weight:600}.progress-value.status-failed{color:#ff6b6b;font-weight:600}.progress-bar{background:#00000080;border-radius:4px;height:8px;margin-top:.5rem}.progress-percentage{color:#b0b0b0;display:block;font-size:.85rem;margin-top:.5rem}.success-message{background:#4caf501a;border:1px solid #4caf50;border-radius:4px;color:#a5d6a7;margin:1.5rem 0;padding:1rem}.success-message strong{color:#4caf50;display:block;font-size:1.1rem;margin-bottom:.5rem}.success-message p{margin:0}.polling-indicator{animation:pulse 1.5s ease-in-out infinite;color:#64b5f6;font-size:.95rem;padding:1rem;text-align:center}.ControlDraggableNumber{display:flex;flex-direction:column;gap:4px}.ControlDraggableNumber-label{color:#aaa;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.ControlDraggableNumber-input{background:#202020;border:1px solid #333;border-radius:3px;color:#ddd;cursor:text;font-family:Monaco,Courier New,monospace;font-size:12px;font-weight:500;outline:none;padding:6px 8px;transition:border-color .15s,background .15s,cursor .1s;width:100%}.ControlDraggableNumber-input:hover{background:#2a2a2a;border-color:#0092ff;cursor:grab}.ControlDraggableNumber-input:focus{background:#1a1a1a;border-color:#0092ff;box-shadow:inset 0 0 0 1px #0092ff;cursor:text}.ControlDraggableNumber-input.dragging{background:#2a2a2a;cursor:grabbing}.ControlSliderWithEditableMax{display:flex;flex-direction:column;gap:8px;padding:8px 0}.ControlSliderWithEditableMax-header{align-items:center;display:flex;gap:8px;justify-content:space-between}.ControlSliderWithEditableMax-label{color:#aaa;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.ControlSliderWithEditableMax-value{color:#ccc;font-family:monospace;font-size:12px;min-width:40px;text-align:right}.ControlSliderWithEditableMax-row{align-items:center;display:flex;gap:8px}.ControlSliderWithEditableMax-slider{appearance:none;-webkit-appearance:none;background:#333;border-radius:3px;cursor:pointer;flex:1 1;height:5px;outline:none}.ControlSliderWithEditableMax-slider::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;background:#0ea;border:1px solid #0dd;border-radius:50%;box-shadow:0 0 4px #0ea9;cursor:pointer;height:14px;width:14px}.ControlSliderWithEditableMax-slider::-moz-range-thumb{background:#0ea;border:1px solid #0dd;border-radius:50%;box-shadow:0 0 4px #0ea9;cursor:pointer;height:14px;width:14px}.ControlSliderWithEditableMax-max-control{align-items:center;display:flex;flex-shrink:0;gap:4px}.ControlSliderWithEditableMax-max-label{color:#999;font-size:11px;font-weight:500;letter-spacing:.3px;text-transform:uppercase;white-space:nowrap}.ControlSliderWithEditableMax-max-control .ControlDraggableNumber{flex-shrink:0;width:52px}.ControlSliderWithEditableMax-max-control .ControlDraggableNumber-input{font-size:11px;padding:4px 6px;width:100%}.add-light-modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.add-light-modal{background:#1a1a1a;border:1px solid #333;border-radius:8px;box-shadow:0 8px 32px #0009;color:#e0e0e0;max-width:400px;padding:24px;width:90%}.modal-title{font-size:18px;margin:0 0 20px}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.form-label{color:#ccc;font-size:13px;font-weight:500}.form-input,.form-select{background:#252a2f;border:1px solid #3b3f44;border-radius:4px;color:#e0e0e0;font-family:inherit;font-size:13px;padding:8px 10px;transition:border-color .2s ease,background .2s ease}.form-input:hover,.form-select:hover{border-color:#4a5059}.form-input:focus,.form-select:focus{background:#2a3035;border-color:#4caf50;outline:none}.form-select option{background:#252a2f;color:#e0e0e0}.error-message{border:1px solid #ff6b6b4d;font-size:12px;margin-bottom:12px;padding:8px}.modal-actions{margin-top:24px}.btn-cancel:hover{background:#ffffff1a;color:#fff}.btn-add{background:#4caf5033;border:1px solid #4caf50;color:#4caf50}.btn-add:hover{background:#4caf5066;color:#66bb6a}.btn-add:active{background:#4caf504d}.MeshVisibilityModal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.MeshVisibilityModal{background:#1a1a1a;border:1px solid #333;border-radius:8px;box-shadow:0 8px 32px #0009;color:#e0e0e0;display:flex;flex-direction:column;max-height:70vh;max-width:420px;padding:24px;width:90%}.MeshVisibilityModal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.MeshVisibilityModal-title{color:#fff;font-size:16px;font-weight:600;margin:0}.MeshVisibilityModal-close{background:none;border:none;color:#888;cursor:pointer;font-size:16px;line-height:1;padding:4px}.MeshVisibilityModal-close:hover{color:#fff}.MeshVisibilityModal-body{flex:1 1;margin-bottom:16px;overflow-y:auto}.MeshVisibilityModal-empty{color:#888;font-size:13px;margin:0;padding:20px 0;text-align:center}.MeshVisibilityModal-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.MeshVisibilityModal-item{align-items:center;background:#252a2f;border:1px solid #333;border-radius:4px;display:flex;justify-content:space-between;padding:8px 10px}.MeshVisibilityModal-name{color:#ccc;font-family:monospace;font-size:12px;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.MeshVisibilityModal-toggle{align-items:center;cursor:pointer;display:flex;flex-shrink:0;gap:6px}.MeshVisibilityModal-toggle input[type=checkbox]{accent-color:#4caf50;cursor:pointer}.MeshVisibilityModal-toggle-label{color:#aaa;font-size:12px;min-width:44px}.MeshVisibilityModal-error{color:#e57373;font-size:12px;margin-bottom:12px}.MeshVisibilityModal-footer{border-top:1px solid #2a2a2a;display:flex;gap:8px;justify-content:flex-end;padding-top:12px}.MeshVisibilityModal-cancel{background:#2a2a2a;border:1px solid #444;border-radius:4px;color:#ccc;cursor:pointer;font-family:inherit;font-size:13px;padding:7px 16px}.MeshVisibilityModal-cancel:hover{background:#333}.MeshVisibilityModal-save{background:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;padding:7px 16px}.MeshVisibilityModal-save:hover{background:#43a047}.MeshVisibilityModal-save:disabled{cursor:not-allowed;opacity:.5}.restore-point-modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.restore-point-modal{background:#1a1a1a;border:1px solid #333;border-radius:8px;box-shadow:0 8px 32px #0009;color:#e0e0e0;display:flex;flex-direction:column;max-height:85vh;max-width:450px;overflow-y:auto;width:90%}.restore-point-modal__title{border-bottom:1px solid #333;color:#fff;font-size:18px;font-weight:600;margin:0;padding:24px 24px 16px}.restore-point-modal__content{flex:1 1;overflow-y:auto;padding:24px}.restore-point-form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.restore-point-label{color:#ccc;font-size:13px;font-weight:500}.restore-point-required{color:#ff6b6b}.restore-point-input,.restore-point-textarea{background:#252a2f;border:1px solid #3b3f44;border-radius:4px;box-sizing:border-box;color:#e0e0e0;font-family:inherit;font-size:13px;padding:8px 10px;transition:border-color .2s ease,background .2s ease}.restore-point-input:hover,.restore-point-textarea:hover{border-color:#4a5059}.restore-point-input:focus,.restore-point-textarea:focus{background:#2a3035;border-color:#4caf50;outline:none}.restore-point-input:disabled,.restore-point-textarea:disabled{background:#1f2329;border-color:#353a3f;color:#666;cursor:not-allowed}.restore-point-textarea{font-family:monospace;font-size:12px;resize:vertical}.restore-point-char-count{color:#666;font-size:11px;margin-top:2px;text-align:right}.restore-point-error{align-items:flex-start;background:#ff6b6b1a;border:1px solid #ff6b6b4d;border-radius:4px;color:#ff6b6b;display:flex;font-size:12px;gap:8px;margin-bottom:12px;padding:8px}.restore-point-error__icon{flex-shrink:0;font-weight:700}.restore-point-info{background:#4caf5014;border:1px solid #4caf5033;border-radius:4px;margin-bottom:12px;padding:12px}.restore-point-info__text{color:#aaa;font-size:12px;line-height:1.5;margin:0}.restore-point-info__text ul{color:#999;font-size:12px;margin:6px 0 0 18px;padding:0}.restore-point-info__text li{font-family:monospace;font-size:11px;margin:3px 0}.restore-point-modal__actions{border-top:1px solid #333;display:flex;flex-shrink:0;gap:12px;justify-content:flex-end;padding:16px 24px}.restore-point-btn{border:none;border-radius:4px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s ease}.restore-point-btn:disabled{cursor:not-allowed;opacity:.5}.restore-point-btn--cancel{background:#ffffff0d;border:1px solid #ffffff1a;color:#ccc}.restore-point-btn--cancel:hover:not(:disabled){background:#ffffff1a;color:#fff}.restore-point-btn--download{background:#4caf5033;border:1px solid #4caf50;color:#4caf50}.restore-point-btn--download:hover:not(:disabled){background:#4caf5066;color:#66bb6a}.restore-point-btn--download:active:not(:disabled){background:#4caf504d}.cdiCubeMapCapture{align-items:center;display:flex;gap:8px}.cdiCubeMapCapture-btn{background-color:#2a2a2a;border:1px solid #444;border-radius:4px;color:#e0e0e0;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease-in-out}.cdiCubeMapCapture-btn:hover:not(:disabled){background-color:#333;border-color:#666;box-shadow:0 0 8px #ffffff1a}.cdiCubeMapCapture-btn:active:not(:disabled){background-color:#1a1a1a;border-color:#555}.cdiCubeMapCapture-btn:disabled{cursor:not-allowed;opacity:.6}.cdiCubeMapCapture-cancel-btn{background-color:#d32f2f;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:8px 12px;transition:all .2s ease-in-out}.cdiCubeMapCapture-cancel-btn:hover{background-color:#f44336;box-shadow:0 0 8px #f4433680}.cdiCubeMapCapture-cancel-btn:active{background-color:#c62828}.env-tabs{background:#0000004d;border-radius:4px;display:flex;gap:2px;margin-bottom:10px;padding:3px}.env-tab{background:#0000;border:none;border-radius:3px;color:#888;cursor:pointer;flex:1 1;font-family:inherit;font-size:11px;padding:4px 0;transition:background .15s,color .15s}.env-tab:hover{color:#ccc}.env-tab--active{background:#4caf5033;color:#4caf50}.env-empty{color:#555;font-size:12px;font-style:italic;margin:6px 4px;padding:0}.env-preset-notice{background:#4caf5014;border:1px solid #4caf5033;border-radius:3px;color:#888;font-size:11px;line-height:1.4;margin:6px 0 8px;padding:6px 8px}.drawer-toggle{align-items:center;background:#0009;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;left:10px;position:fixed;top:10px;transition:background .3s ease;width:40px;z-index:999}.drawer-toggle:hover{background:#000c}.drawer-toggle.open{background:#ff6b6bcc;left:310px}.toggle-icon{display:block;height:24px;width:24px}.drawer-backdrop{background:#0000;height:100%;left:0;position:fixed;top:0;width:100%;z-index:998}.element-tree-drawer{background:#1a1a1a;border-right:1px solid #333;box-shadow:2px 0 8px #0000004d;color:#e0e0e0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh;left:-300px;overflow-y:auto;position:fixed;top:0;transition:left .3s ease;width:300px;z-index:1000}.element-tree-drawer.open{left:0}.drawer-header{align-items:center;background:#0f0f0f;border-bottom:1px solid #333;display:flex;justify-content:space-between;padding:16px 12px;position:-webkit-sticky;position:sticky;top:0}.drawer-header h3{color:#fff;font-size:16px;font-weight:600;margin:0}.drawer-header-actions{align-items:center;display:flex;gap:8px}.drawer-resources-btn{align-items:center;background:none;border:1px solid #444;border-radius:4px;color:#aaa;cursor:pointer;display:flex;font-size:13px;gap:6px;padding:6px 12px;transition:all .2s ease;white-space:nowrap}.drawer-resources-btn:hover{background:#ffffff0d;border-color:#666;color:#fff}.resources-icon{display:block;height:18px;width:18px}.drawer-close{align-items:center;background:none;border:none;color:#888;cursor:pointer;display:flex;font-size:18px;height:24px;justify-content:center;padding:0;transition:color .2s ease;width:24px}.drawer-close:hover{color:#fff}.drawer-content{padding:8px}.element-group{margin-bottom:8px}.group-header-row{align-items:center;display:flex;gap:4px}.group-header{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:3px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-size:13px;font-weight:600;gap:8px;padding:8px 12px;transition:background .2s ease;width:100%}.group-header:hover{background:#ffffff1a}.group-add-btn{align-items:center;background:#4caf5033;border:1px solid #4caf50;border-radius:3px;color:#4caf50;cursor:pointer;display:flex;font-size:16px;font-weight:600;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.group-add-btn:hover{background:#4caf5066;color:#66bb6a}.group-add-btn:active{background:#4caf504d}.group-add-btn--inline{display:inline-block;font-size:13px;font-weight:500;height:auto;padding:6px 12px;width:auto}.group-toggle{display:inline-block;font-size:12px;text-align:center;width:16px}.group-label{flex:1 1;text-align:left}.group-count{color:#888;font-size:12px}.group-items{background:#0003;border-radius:3px;margin-top:4px;padding:4px 8px}.element-item{padding:4px 0}.element-label{align-items:center;border-radius:2px;color:#ccc;cursor:pointer;display:flex;font-size:12px;gap:8px;padding:4px;transition:background .2s ease}.element-label--selected{background:#64a0ff26;color:#90caf9}.element-label--selected:hover{background:#64a0ff38}.element-label:hover{background:#ffffff14}.debug-checkbox{appearance:none;-webkit-appearance:none;background:#2a2a2a;border:1px solid #555;border-radius:3px;cursor:pointer;flex-shrink:0;height:14px;position:relative;transition:border-color .15s,background .15s;width:14px}.debug-checkbox:hover{border-color:#4caf50}.debug-checkbox:checked{background:#4caf50;border-color:#4caf50}.debug-checkbox:checked:after{border:1.5px solid #fff;border-left:none;border-top:none;content:"";height:9px;left:3px;position:absolute;top:0;transform:rotate(45deg);width:5px}.element-icon{font-size:14px;text-align:center;width:16px}.light-icon{display:inline-block;height:16px;width:16px}.light-icon-directional{transform:rotate(-90deg)}.element-name{flex:1 1;font-weight:600;word-break:break-word}.element-type{color:#888;font-size:11px;margin-left:4px}.empty-message{color:#888;font-size:12px;margin:0;padding:20px;text-align:center}.element-tree-drawer::-webkit-scrollbar{width:8px}.element-tree-drawer::-webkit-scrollbar-track{background:#ffffff0d}.element-tree-drawer::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.element-tree-drawer::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.camera-editor{gap:10px;padding:8px 4px}.camera-editor,.camera-field{display:flex;flex-direction:column}.camera-field{gap:4px}.camera-label{color:#ccc;display:flex;font-size:12px;justify-content:space-between}.camera-value{color:#aaa;font-size:11px}.camera-slider{accent-color:#4caf50;cursor:pointer;width:100%}.camera-initial-position-btn{background:#0000;border:1px solid #555;border-radius:3px;color:#ccc;cursor:pointer;font-size:12px;margin-top:6px;padding:6px 8px;text-align:left;transition:all .2s ease;width:100%}.camera-initial-position-btn:hover{background:#ffffff0d;border-color:#888;color:#fff}.camera-initial-position-btn:disabled{background:#0000;border-color:#333;color:#555;cursor:not-allowed}.camera-save-container{border-top:1px solid #ffffff1a;display:flex;gap:8px;justify-content:flex-end;margin-top:12px;padding-top:8px}.camera-reset-btn{background:#ff98001a;border:1px solid #ff980080;border-radius:3px;color:#ff9800;cursor:pointer;font-size:12px;padding:4px 12px;transition:background .2s ease;white-space:nowrap}.camera-reset-btn:hover{background:#ff980040}.camera-reset-btn:disabled{background:#ff98000d;border-color:#555;color:#666;cursor:not-allowed}.camera-save-btn{background:#4caf5033;border:1px solid #4caf50;border-radius:3px;color:#4caf50;cursor:pointer;font-size:12px;padding:4px 12px;transition:background .2s ease;white-space:nowrap}.camera-save-btn:hover{background:#4caf5066}.camera-save-btn:disabled{background:#4caf501a;border-color:#666;color:#888;cursor:not-allowed}.camera-capture-scene-btn{background:#2196f31a;border:1px solid #2196f3;border-radius:3px;color:#2196f3;cursor:pointer;font-size:12px;margin-top:6px;padding:6px 8px;text-align:center;transition:all .2s ease;white-space:nowrap;width:100%}.camera-capture-scene-btn:hover{background:#2196f340;color:#64b5f6}.camera-capture-scene-btn:disabled{background:#2196f30d;border-color:#555;color:#666;cursor:not-allowed}.camera-capture-scene-card{background:#2196f314;border:1px solid #2196f34d;border-radius:3px;color:#ccc;font-size:12px;margin-top:6px;padding:8px}.capture-status{align-items:center;display:flex;flex-direction:column;gap:6px;padding:8px 0}.spinner{animation:spin .8s linear infinite;border:2px solid #2196f34d;border-radius:50%;border-top-color:#2196f3;height:16px;width:16px}.capture-status p{color:#2196f3;font-size:12px;margin:0}.capture-success{align-items:center;display:flex;flex-direction:column;gap:8px;padding:8px 0}.success-icon{color:#4caf50;font-size:20px;margin:0}.capture-success .filename{color:#ccc;font-size:11px;margin:0;max-height:40px;overflow-y:auto;text-align:center;word-break:break-word}.capture-done-btn{background:#4caf5033;border:1px solid #4caf5099;border-radius:3px;color:#4caf50;cursor:pointer;font-size:11px;margin-top:4px;padding:4px 12px;transition:background .2s ease;white-space:nowrap}.capture-done-btn:hover{background:#4caf5059}.capture-error{align-items:center;display:flex;flex-direction:column;gap:8px;padding:8px 0}.error-icon{color:#f44336;font-size:20px;margin:0}.capture-error .error-message{color:#f44336;font-size:11px;margin:0;max-height:50px;overflow-y:auto;text-align:center}.capture-retry-btn{background:#f4433633;border:1px solid #f4433699;border-radius:3px;color:#f44336;cursor:pointer;font-size:11px;margin-top:4px;padding:4px 12px;transition:background .2s ease;white-space:nowrap}.capture-retry-btn:hover{background:#f4433659}.settings-section{display:flex;flex-direction:column;gap:10px;padding:8px 4px}.settings-row{align-items:center;display:flex;justify-content:space-between}.settings-label{color:#ccc;font-size:12px}.classification-badge{border-radius:10px;font-size:11px;font-weight:500;padding:2px 7px}.classification-badge.classified{background:#4caf5026;border:1px solid #4caf5066;color:#4caf50}.classification-badge.unclassified{background:#ff980026;border:1px solid #ff980066;color:#ff9800}.settings-buttons{display:flex;gap:8px}.edit-btn,.reclassify-btn{border:1px solid;border-radius:3px;cursor:pointer;flex:1 1;font-family:inherit;font-size:12px;padding:5px 0;transition:background .2s ease}.reclassify-btn{background:#ff98001a;border-color:#ff980080;color:#ff9800}.reclassify-btn:hover{background:#ff980040}.edit-btn{background:#64b5f61a;border-color:#64b5f680;color:#64b5f6}.edit-btn:hover:not(:disabled){background:#64b5f640}.edit-btn:disabled{border-color:#ffffff1a;color:#666;cursor:not-allowed;opacity:.5}.edit-error-message{align-items:center;background:#f443361a;border:1px solid #f4433680;border-radius:3px;color:#f44336;display:flex;font-size:12px;gap:6px;margin-top:8px;padding:8px}.edit-error-message .error-icon{font-weight:700}.advanced-file-wrapper{align-items:center;display:flex;gap:8px;margin-top:10px}.advanced-file-btn{background:#64b5f61a;border:1px solid #64b5f680;border-radius:3px;color:#64b5f6;cursor:pointer;flex-shrink:0;font-family:inherit;font-size:11px;padding:4px 10px;transition:background .2s ease;white-space:nowrap}.advanced-file-btn:hover{background:#64b5f640}.advanced-file-name{color:#888;flex:1 1;font-size:11px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adv-feedback{border-radius:4px;font-size:11px;line-height:1.5;margin-top:10px;padding:8px 10px}.adv-feedback--valid{background:#66bb6a14;border:1px solid #66bb6a4d;color:#66bb6a}.adv-feedback--parse{background:#ffb74d14;border:1px solid #ffb74d4d;color:#ffb74d}.adv-feedback--parse code{background:#ffffff14;border-radius:2px;color:#ffe0b2;font-size:10px;padding:1px 4px}.adv-feedback--schema{background:#e5737314;border:1px solid #e573734d;color:#e57373}.adv-feedback__title{font-weight:600;margin-bottom:4px}.adv-feedback__body{color:#ccc}.adv-feedback__errors{color:#e57373;margin:4px 0 6px;padding-left:14px}.adv-feedback__errors li{margin-bottom:2px}.adv-feedback__hint{color:#999;font-size:10px;margin-top:6px}.adv-feedback__snippet{background:#00000059;border:1px solid #333;border-radius:3px;color:#bbb;font-family:monospace;font-size:10px;line-height:1.4;margin:6px 0;overflow-x:auto;padding:6px 8px;white-space:pre}.adv-feedback__download-btn{background:#64b5f61a;border:1px solid #64b5f666;border-radius:3px;color:#64b5f6;cursor:pointer;font-family:inherit;font-size:11px;margin-top:6px;padding:3px 10px;transition:background .2s}.adv-feedback__download-btn:hover{background:#64b5f638}.about-content{padding:4px 0}.about-row{align-items:center;background:#00000026;border-radius:3px;display:flex;font-size:12px;justify-content:space-between;margin-bottom:6px;padding:8px 4px}.about-label{color:#999;font-weight:500}.about-value{color:#e0e0e0;font-weight:600;max-width:140px;text-align:right;word-break:break-word}.semantic-classification-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2100}.semantic-classification-modal{background:#1a1a1a;border:1px solid #333;border-radius:8px;box-shadow:0 8px 32px #0009;color:#e0e0e0;display:flex;flex-direction:column;height:80vh;max-height:80vh;max-width:600px;overflow:hidden;width:90%}.modal-title{border-bottom:2px solid #4caf50;color:#fff;flex-shrink:0;font-size:20px;font-weight:600;margin:0 0 12px;padding:24px 24px 12px}.modal-description{color:#a0a0a0;flex-shrink:0;font-size:.9rem;line-height:1.5;margin:0 0 24px;padding:0 24px;text-align:left}.classification-progress{flex:1 1;overflow-y:auto;padding:24px;text-align:center}.classification-progress p{color:#ccc;font-size:14px;margin:0 0 16px}.progress-bar{background:#ffffff1a;border-radius:3px;height:6px;margin-bottom:12px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#4caf50,#66bb6a);border-radius:3px;height:100%;transition:width .3s ease}.progress-text{color:#888;font-size:12px;font-weight:600}.error-message{background:#ff6b6b1a;border:1px solid #ff6b6b;border-radius:4px;color:#ff6b6b;font-size:13px;margin:0;padding:12px}.classification-results{display:flex;flex:1 1;flex-direction:column;gap:20px;overflow-y:auto;padding:24px}.result-section{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:4px;padding:16px}.section-header{align-items:center;display:flex;gap:8px}.section-collapse-btn{align-items:center;appearance:none;-webkit-appearance:none;background:none;border:none;color:#4caf50;cursor:pointer;display:flex;flex-shrink:0;height:20px;justify-content:center;padding:0;transition:transform .15s ease;width:20px}.section-collapse-btn:hover{opacity:.8}.collapse-arrow{display:inline-block;font-size:12px;transition:transform .15s ease}.collapse-arrow.expanded{transform:none}.collapse-arrow:not(.expanded){transform:rotate(-90deg)}.section-title{color:#4caf50;flex:1 1;font-size:14px;font-weight:600;margin:0}.search-container{flex-shrink:0;padding:0 24px 12px;position:relative}.search-input{background:#0006;border:1px solid #fff3;border-radius:4px;color:#e0e0e0;font-family:inherit;font-size:13px;padding:10px 36px 10px 12px;transition:border-color .15s ease,background .15s ease;width:100%}.search-input::placeholder{color:#fff6}.search-input:focus{background:#0009;border-color:#4caf50;outline:none}.clear-search-btn{align-items:center;background:none;border:none;color:#fff6;cursor:pointer;display:flex;font-size:16px;height:20px;justify-content:center;padding:0;position:absolute;right:32px;top:10px;transition:color .15s ease;width:20px}.clear-search-btn:hover{color:#ffffffb3}.mesh-row.highlighted{background:#4caf5026;border-color:#4caf504d}.mesh-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:12px 0 0 28px;padding:0}.mesh-list li{justify-content:space-between}.mesh-list li,.mesh-row{align-items:center;background:#0000004d;border-radius:3px;display:flex;font-size:12px;padding:8px 10px}.mesh-row{border:1px solid #0000;gap:8px;transition:background .15s ease,border-color .15s ease}.mesh-row.selected{background:#ffffff14;border-color:#fff3}.mesh-checkbox{appearance:none;-webkit-appearance:none;background:#0006;border:1.5px solid #ffffff4d;border-radius:3px;cursor:pointer;flex-shrink:0;height:14px;position:relative;transition:border-color .15s ease,background .15s ease;width:14px}.mesh-checkbox:hover{border-color:#ffffff8c}.mesh-checkbox:checked{background:#4caf50;border-color:#4caf50}.mesh-checkbox:checked:after{border:2px solid #fff;border-left:none;border-top:none;content:"";height:8px;left:3px;position:absolute;top:0;transform:rotate(45deg);width:4px}.selection-bar{align-items:center;background:#ffffff0d;border-bottom:1px solid #ffffff14;border-top:1px solid #ffffff14;display:flex;flex-shrink:0;justify-content:space-between;padding:8px 24px}.selection-count{color:#ccc;font-size:12px}.move-to-wrapper{position:relative}.move-to-btn{background:#ffffff14;border:1px solid #fff3;border-radius:4px;color:#e0e0e0;cursor:pointer;font-family:inherit;font-size:12px;padding:4px 12px;transition:background .15s ease}.move-to-btn:hover{background:#ffffff26}.move-to-dropdown{background:#242424;border:1px solid #ffffff26;border-radius:4px;box-shadow:0 4px 12px #00000080;min-width:110px;overflow:hidden;position:absolute;right:0;top:calc(100% + 4px);z-index:10}.move-to-option{background:#0000;border:none;cursor:pointer;display:block;font-family:inherit;font-size:12px;padding:8px 14px;text-align:left;transition:background .15s ease;width:100%}.option-floor{color:#4caf50}.option-floor:hover{background:#4caf5026}.option-wall{color:#64b5f6}.option-wall:hover{background:#64b5f626}.option-ceiling{color:#ff9800}.option-ceiling:hover{background:#ff980026}.option-others{color:#9c27b0}.option-others:hover{background:#9c27b026}.mesh-name{color:#e0e0e0;flex:1 1;font-weight:500;word-break:break-word}.mesh-stats{color:#888;font-size:11px;margin-left:12px;white-space:nowrap}.modal-actions{background:#1a1a1a;border-top:1px solid #ffffff1a;display:flex;flex-shrink:0;gap:12px;justify-content:flex-end;padding:20px 24px}.btn{border:none;border-radius:4px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s ease}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-cancel{background:#ffffff0d;border:1px solid #ffffff1a;color:#ccc}.btn-cancel:hover:not(:disabled){background:#ffffff1a;color:#fff}.btn-confirm{background:#4caf5033;border:1px solid #4caf50;color:#4caf50}.btn-confirm:hover:not(:disabled){background:#4caf5066;color:#66bb6a}.btn-confirm:active:not(:disabled){background:#4caf504d}.semantic-classification-modal::-webkit-scrollbar{width:8px}.semantic-classification-modal::-webkit-scrollbar-track{background:#ffffff0d}.semantic-classification-modal::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.semantic-classification-modal::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.ModelLoadingOverlay{align-items:center;background-color:#000000e6;bottom:0;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.ModelLoadingContent{align-items:center;display:flex;flex-direction:column;gap:2rem}.ModelLoadingSpinner{animation:spin 1s linear infinite;border:4px solid #fff3;border-radius:50%;border-top-color:#fff;height:60px;width:60px}@keyframes spin{to{transform:rotate(1turn)}}.ModelLoadingText{color:#fff;font-size:1.1rem;font-weight:500;letter-spacing:.5px;margin:0;text-align:center}.MaterialSelectorPanel-overlay{align-items:center;animation:msScaleIn .2s ease-out;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}@keyframes msScaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.MaterialSelectorPanel-modal{background:#1a1d20;border:1px solid #3b3f44;border-radius:10px;box-shadow:0 4px 20px #00000080;display:flex;flex-direction:column;font-family:ui-sans-serif,system-ui,sans-serif,Arial;max-height:70vh;max-width:500px;overflow:hidden;width:90%}.MaterialSelectorPanel-header{align-items:center;border-bottom:1px solid #3b3f44;display:flex;justify-content:space-between;padding:16px 20px}.MaterialSelectorPanel-title{color:#f0f0f0;font-size:16px;font-weight:600;margin:0}.MaterialSelectorPanel-close{background:none;border:none;border-radius:4px;color:#999;cursor:pointer;font-size:20px;padding:4px 8px;transition:color .2s}.MaterialSelectorPanel-close:hover{color:#f0f0f0}.MaterialSelectorPanel-tabs{align-items:center;border-bottom:1px solid #3b3f44;display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px}.MaterialSelectorPanel-tab{background:none;border:none;border-bottom:2px solid #0000;border-radius:4px;color:#999;cursor:pointer;font-size:12px;font-weight:500;padding:8px 16px;transition:color .2s,border-color .2s}.MaterialSelectorPanel-tab:hover{color:#d0d0d0}.MaterialSelectorPanel-tab.active{border-bottom-color:#5ba3f5;color:#5ba3f5}.MaterialSelectorPanel-search{background:#252a2f;border:1px solid #3b3f44;border-radius:4px;color:#f0f0f0;flex:1 1;font-size:12px;margin-left:auto;min-width:120px;outline:none;padding:6px 10px;transition:border-color .2s}.MaterialSelectorPanel-search::placeholder{color:#666}.MaterialSelectorPanel-search:focus{border-color:#5ba3f5}.MaterialSelectorPanel-content{flex:1 1;overflow-x:hidden;overflow-y:auto}.MaterialSelectorPanel-list{list-style:none;margin:0;padding:0}.MaterialSelectorPanel-item{border-bottom:1px solid #ffffff0d;cursor:pointer;padding:12px 16px;transition:background .2s;-webkit-user-select:none;user-select:none}.MaterialSelectorPanel-item:hover{background:#5ba3f51a}.MaterialSelectorPanel-item.selected{background:#5ba3f533;border-left:3px solid #5ba3f5;padding-left:13px}.MaterialSelectorPanel-item-content{display:flex;flex-direction:column;gap:4px}.MaterialSelectorPanel-item-label{align-items:center;color:#f0f0f0;display:flex;font-size:13px;font-weight:500;gap:8px;justify-content:space-between}.MaterialSelectorPanel-checkmark{color:#5ba3f5;font-weight:700;min-width:12px}.MaterialSelectorPanel-badge{align-items:center;cursor:help;display:inline-flex;flex-shrink:0;justify-content:center;margin-left:auto}.MaterialSelectorPanel-badge .material-icons{font-size:16px;height:16px;width:16px}.MaterialSelectorPanel-badge--good{color:#4ade80}.MaterialSelectorPanel-badge--fair{color:#facc15}.MaterialSelectorPanel-badge--poor{color:#f87171}.MaterialSelectorPanel-item-description{color:#999;font-size:12px}.MaterialSelectorPanel-empty{color:#666;font-size:12px;padding:40px 20px;text-align:center}.MaterialSelectorPanel-content::-webkit-scrollbar{width:8px}.MaterialSelectorPanel-content::-webkit-scrollbar-track{background:#0000}.MaterialSelectorPanel-content::-webkit-scrollbar-thumb{background:#3b3f44;border-radius:4px}.MaterialSelectorPanel-content::-webkit-scrollbar-thumb:hover{background:#555}@media (max-width:600px){.MaterialSelectorPanel-modal{max-height:80vh;width:95%}.MaterialSelectorPanel-tabs{flex-direction:column}.MaterialSelectorPanel-search{margin-left:0;width:100%}}.preset-selector{margin-bottom:0}.preset-selector__label{color:#aaa;color:var(--color-text-secondary,#aaa);display:block;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.preset-selector__row{align-items:center;display:flex;gap:.5rem}.preset-selector__select{background-color:#1e1e1e;background-color:var(--color-input-bg,#1e1e1e);border:1px solid #444;border:1px solid var(--color-border,#444);border-radius:4px;color:#fff;color:var(--color-text-primary,#fff);cursor:pointer;flex:1 1;font-size:.875rem;padding:.5rem}.preset-selector__select:focus{border-color:#0078d4;border-color:var(--color-primary,#0078d4);box-shadow:0 0 0 2px #0078d41a;outline:none}.preset-selector__reset-btn{align-items:center;background:#4a2a2a;border:1px solid #633;border-radius:3px;color:#e0e0e0;cursor:pointer;display:flex;flex-shrink:0;font-size:12px;height:32px;justify-content:center;padding:0;transition:background .2s,border-color .2s;width:32px}.preset-selector__reset-btn:hover{background:#5a3a3a;border-color:#744}.ControlSlider{display:flex;flex-direction:column;gap:6px}.ControlSlider-header{align-items:center;display:flex;justify-content:space-between}.ControlSlider-label{color:#aaa;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.ControlSlider-value{color:#0092ff;font-size:12px;font-weight:600;min-width:40px;text-align:right}.ControlSlider-input{-webkit-appearance:none;appearance:none;background:#2a2a2a;border-radius:3px;cursor:pointer;height:6px;outline:none;transition:background .2s;width:100%}.ControlSlider-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#0092ff;border-radius:50%;box-shadow:0 2px 4px #0000004d;cursor:pointer;height:16px;-webkit-transition:background .2s,transform .1s;transition:background .2s,transform .1s;width:16px}.ControlSlider-input::-webkit-slider-thumb:hover{background:#09f;transform:scale(1.1)}.ControlSlider-input::-moz-range-thumb{background:#0092ff;border:none;border-radius:50%;box-shadow:0 2px 4px #0000004d;cursor:pointer;height:16px;-moz-transition:background .2s,transform .1s;transition:background .2s,transform .1s;width:16px}.ControlSlider-input::-moz-range-thumb:hover{background:#09f;transform:scale(1.1)}.ControlSlider-input::-moz-range-track{background:#0000;border:none}.ControlSlider-input:hover{background:#313131}.preset-controls{border-top:1px solid #333;display:flex;flex-direction:column;gap:10px;margin-top:8px;padding:8px 0 4px}.preset-controls-group{display:flex;flex-direction:column;gap:8px}.preset-controls-group:not(:first-child){border-top:1px solid #444;margin-top:8px;padding-top:8px}.preset-controls-group-label{color:#999;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 0;text-transform:uppercase}.preset-controls-group-content{display:flex;flex-direction:column;gap:8px}.animation-section{margin-bottom:4px;margin-top:12px;padding-top:8px}.animation-section--empty{color:#999;color:var(--color-text-secondary,#999);font-size:.875rem;padding:1rem;text-align:center}.animation-section__header{align-items:center;background:#0000;border:none;border-bottom:1px solid #333;color:inherit;cursor:pointer;display:flex;justify-content:space-between;margin:0;padding:0 10px 10px 0;width:100%}.animation-section__title{color:#ccc;font-size:12px;font-weight:700;letter-spacing:.5px;margin:0;padding:0;text-transform:uppercase}.animation-section__content{display:flex;flex-direction:column;gap:10px;padding:8px 0 4px 12px}.ControlColorPicker-container{display:flex;flex-direction:column;gap:8px;position:relative}.ControlColorPicker-control{align-items:center;display:flex;gap:8px}.ControlColorPicker-preview{border:2px solid #444;border-radius:4px;cursor:pointer;flex-shrink:0;height:40px;padding:0;transition:border-color .2s;width:48px}.ControlColorPicker-preview:hover{border-color:#666}.ControlColorPicker-input{background:#222;border:1px solid #444;border-radius:4px;color:#fff;flex:1 1;font-family:monospace;font-size:12px;padding:8px 10px;transition:all .2s}.ControlColorPicker-input:focus{background:#2a2a2a;border-color:#666;outline:none}.ControlColorPicker-popup{background:#1a1a1a;border:1px solid #444;border-radius:6px;box-shadow:0 4px 12px #00000080;left:0;margin-top:8px;padding:12px;position:absolute;top:100%;z-index:1000}.ControlColorPicker-popup .react-colorful{width:200px}.ControlColorPicker-popup .react-colorful__alpha,.ControlColorPicker-popup .react-colorful__hue,.ControlColorPicker-popup .react-colorful__saturation{border-radius:4px}.ControlColorPicker-popup .react-colorful__pointer{border:3px solid #fff;box-shadow:0 2px 4px #0006}.ControlColorPicker-close{background:#2a2a2a;border:1px solid #444;border-radius:4px;color:#ccc;cursor:pointer;font-size:12px;margin-top:8px;padding:8px;transition:all .2s;width:100%}.ControlColorPicker-close:hover{background:#333;border-color:#555}.ControlSliderWithEditableMinMax{display:flex;flex-direction:column;gap:8px;padding:8px 0}.ControlSliderWithEditableMinMax-header{align-items:center;display:flex;gap:8px;justify-content:space-between}.ControlSliderWithEditableMinMax-label{color:#aaa;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.ControlSliderWithEditableMinMax-value{color:#ccc;font-family:monospace;font-size:12px;min-width:40px;text-align:right}.ControlSliderWithEditableMinMax-row{align-items:center;display:flex;gap:8px}.ControlSliderWithEditableMinMax-slider{appearance:none;-webkit-appearance:none;background:#333;border-radius:3px;cursor:pointer;flex:1 1;height:5px;outline:none}.ControlSliderWithEditableMinMax-slider::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;background:#0ea;border:1px solid #0dd;border-radius:50%;box-shadow:0 0 4px #0ea9;cursor:pointer;height:14px;width:14px}.ControlSliderWithEditableMinMax-slider::-moz-range-thumb{background:#0ea;border:1px solid #0dd;border-radius:50%;box-shadow:0 0 4px #0ea9;cursor:pointer;height:14px;width:14px}.ControlSliderWithEditableMinMax-min-control{align-items:center;display:flex;flex-shrink:0;gap:4px}.ControlSliderWithEditableMinMax-min-label{color:#999;font-size:11px;font-weight:500;letter-spacing:.3px;text-transform:uppercase;white-space:nowrap}.ControlSliderWithEditableMinMax-max-control{align-items:center;display:flex;flex-shrink:0;gap:4px}.ControlSliderWithEditableMinMax-max-label{color:#999;font-size:11px;font-weight:500;letter-spacing:.3px;text-transform:uppercase;white-space:nowrap}.ControlSliderWithEditableMinMax-min-control .ControlDraggableNumber{flex-shrink:0;width:52px}.ControlSliderWithEditableMinMax-min-control .ControlDraggableNumber-input{font-size:11px;padding:4px 6px;width:100%}.ControlSliderWithEditableMinMax-max-control .ControlDraggableNumber{flex-shrink:0;width:52px}.ControlSliderWithEditableMinMax-max-control .ControlDraggableNumber-input{font-size:11px;padding:4px 6px;width:100%}.ControlSliderWithEditableMin{display:flex;flex-direction:column;gap:8px;padding:8px 0}.ControlSliderWithEditableMin-header{align-items:center;display:flex;gap:8px;justify-content:space-between}.ControlSliderWithEditableMin-label{color:#aaa;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.ControlSliderWithEditableMin-value{color:#ccc;font-family:monospace;font-size:12px;min-width:40px;text-align:right}.ControlSliderWithEditableMin-row{align-items:center;display:flex;gap:8px}.ControlSliderWithEditableMin-slider{appearance:none;-webkit-appearance:none;background:#333;border-radius:3px;cursor:pointer;flex:1 1;height:5px;outline:none}.ControlSliderWithEditableMin-slider::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;background:#0ea;border:1px solid #0dd;border-radius:50%;box-shadow:0 0 4px #0ea9;cursor:pointer;height:14px;width:14px}.ControlSliderWithEditableMin-slider::-moz-range-thumb{background:#0ea;border:1px solid #0dd;border-radius:50%;box-shadow:0 0 4px #0ea9;cursor:pointer;height:14px;width:14px}.ControlSliderWithEditableMin-min-control{align-items:center;display:flex;flex-shrink:0;gap:4px}.ControlSliderWithEditableMin-min-label{color:#999;font-size:11px;font-weight:500;letter-spacing:.3px;text-transform:uppercase;white-space:nowrap}.ControlSliderWithEditableMin-min-control .ControlDraggableNumber{flex-shrink:0;width:52px}.ControlSliderWithEditableMin-min-control .ControlDraggableNumber-input{font-size:11px;padding:4px 6px;width:100%}.ControlNumber{display:flex;flex-direction:column;gap:6px}.ControlNumber-label{color:#aaa;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.ControlNumber-input{background:#2a2a2a;border:1px solid #444;border-radius:4px;color:#fff;font-family:system-ui,-apple-system,sans-serif;font-size:13px;padding:8px 10px;transition:border-color .2s,background-color .2s}.ControlNumber-input:hover{background:#313131;border-color:#555}.ControlNumber-input:focus{background:#1a1a1a;border-color:#0092ff;outline:none}.ControlNumber-input::-webkit-inner-spin-button,.ControlNumber-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ControlNumber-input[type=number]{-moz-appearance:textfield}.ControlVector3{display:flex;flex-direction:column;gap:4px}.ControlVector3-header{align-items:center;display:flex;justify-content:space-between}.ControlVector3-label{font-size:12px;letter-spacing:.5px}.ControlVector3-label,.ControlVector3-reset{color:#aaa;font-weight:600;text-transform:uppercase}.ControlVector3-reset{background:#2a2a2a;border:1px solid #444;border-radius:3px;cursor:pointer;font-size:11px;letter-spacing:.4px;padding:4px 8px;transition:background .2s,border-color .2s}.ControlVector3-reset:hover{background:#313131;border-color:#555;color:#ccc}.ControlVector3-inputs{align-items:stretch;display:flex;gap:6px}.ControlVector3-axis{display:flex;flex:1 1;flex-direction:column;gap:3px}.ControlVector3-axis-label{color:#999;font-size:11px;font-weight:700;letter-spacing:.5px;text-align:center}.ControlVector3-axis .ControlDraggableNumber{gap:0}.ControlVector3-axis .ControlDraggableNumber-label{display:none}.ControlVector3-axis .ControlDraggableNumber-input{font-size:12px;padding:5px 4px;text-align:center}.ControlVector2{display:flex;flex-direction:column;gap:8px;padding:8px 0}.ControlVector2-header{align-items:center;display:flex;justify-content:space-between}.ControlVector2-label{color:#e0e0e0;font-size:13px;font-weight:500}.ControlVector2-reset{background:#444;border:1px solid #555;border-radius:3px;color:#e0e0e0;cursor:pointer;font-size:11px;padding:4px 8px;transition:All .2s}.ControlVector2-reset:hover{background:#555}.ControlVector2-inputs{display:flex;gap:6px}.ControlVector2-axis{display:flex;flex:1 1;flex-direction:column;gap:4px}.ControlVector2-axis-label{color:#999;font-size:11px;text-align:center;text-transform:uppercase}.ControlVector2-axis input{background:#2a2a2a;border:1px solid #444;border-radius:3px;color:#e0e0e0;font-size:12px;padding:4px 6px;text-align:center;transition:border-color .2s}.ControlVector2-axis input:focus{border-color:#5a9bd5;outline:none}.ControlVector2-axis input:hover{border-color:#555}.ControlBoolean{align-items:center;display:flex;gap:8px;padding:8px 0}.ControlBoolean-input{accent-color:#0092ff;appearance:none;-webkit-appearance:none;-moz-appearance:none;background:#2a2a2a;border:1px solid #444;border-radius:3px;cursor:pointer;flex-shrink:0;height:18px;position:relative;transition:all .2s;width:18px}.ControlBoolean-input:hover{background:#333;border-color:#555}.ControlBoolean-input:checked{background:#0092ff;border-color:#0092ff}.ControlBoolean-input:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea1a;outline:none}.ControlBoolean-label{color:#ccc;cursor:pointer;font-size:13px;transition:color .2s;-webkit-user-select:none;user-select:none}.ControlBoolean-label:hover{color:#fff}.ControlSelect{display:flex;flex-direction:column;gap:6px}.ControlSelect-label{color:#aaa;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.ControlSelect-select{background:#2a2a2a;border:1px solid #444;border-radius:4px;color:#fff;cursor:pointer;font-family:system-ui,-apple-system,sans-serif;font-size:13px;padding:8px 10px;transition:border-color .2s,background-color .2s}.ControlSelect-select:hover{background:#313131;border-color:#555}.ControlSelect-select:focus{background:#1a1a1a;border-color:#0092ff;outline:none}.ControlSelect-select option{background:#2a2a2a;color:#fff}.ControlText{display:flex;flex-direction:column;gap:6px}.ControlText-label{color:#aaa;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.ControlText-input{background:#2a2a2a;border:1px solid #444;border-radius:4px;color:#fff;font-family:system-ui,-apple-system,sans-serif;font-size:13px;padding:8px 10px;transition:border-color .2s,background-color .2s}.ControlText-input:hover{background:#313131;border-color:#555}.ControlText-input:focus{background:#1a1a1a;border-color:#0092ff;outline:none}.ControlText-input::placeholder{color:#666}.ControlButton{background:#2a2a2a;border:1px solid #444;border-radius:4px;color:#ccc;cursor:pointer;font-size:13px;font-weight:600;letter-spacing:.5px;padding:10px 12px;text-transform:uppercase;transition:background .2s,border-color .2s,color .2s;-webkit-user-select:none;user-select:none}.ControlButton:hover:not(:disabled){background:#313131;border-color:#555;color:#fff}.ControlButton:active:not(:disabled){background:#1a1a1a;border-color:#666}.ControlButton:disabled{cursor:not-allowed;opacity:.5}.ControlButton-primary{background:#0092ff;border-color:#0092ff;color:#fff}.ControlButton-primary:hover:not(:disabled){background:#09f;border-color:#09f}.ControlButton-secondary{background:#2a2a2a;border-color:#444;color:#ccc}.ControlButton-secondary:hover:not(:disabled){background:#313131;border-color:#555;color:#fff}.ControlButton-danger{background:#cc1a1a;border-color:#cc1a1a;color:#fff}.ControlButton-danger:hover:not(:disabled){background:#dd2a2a;border-color:#dd2a2a}.TexturePickerModal{background:#1a1a1a;display:flex;flex-direction:column;height:100%;overflow:hidden;position:fixed;right:0;top:0;width:380px;z-index:99999}.TexturePickerModal-header{align-items:center;border-bottom:1px solid #333;display:flex;flex-shrink:0;justify-content:space-between;padding:8px 10px 6px}.TexturePickerModal-title{color:#a0a0a0;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.TexturePickerModal-close{background:none;border:none;border-radius:3px;color:#777;cursor:pointer;font-size:12px;line-height:1;padding:2px 4px}.TexturePickerModal-close:hover{background:#2a2a2a;color:#ccc}.TexturePickerModal-search{flex-shrink:0;padding:6px 8px}.TexturePickerModal-searchInput{background:#242424;border:1px solid #333;border-radius:4px;box-sizing:border-box;color:#ccc;font-size:11px;outline:none;padding:4px 7px;width:100%}.TexturePickerModal-searchInput:focus{border-color:#555}.TexturePickerModal-body{flex:1 1;overflow-y:auto;padding:4px 8px}.TexturePickerModal-status{color:#666;font-size:11px;padding:12px 0;text-align:center}.TexturePickerModal-status--error{color:#e57373}.TexturePickerModal-status--empty{color:#555;font-style:italic}.TexturePickerModal-grid{grid-gap:5px;display:grid;gap:5px;grid-template-columns:repeat(3,1fr);padding:2px 0 6px}.TexturePickerModal-thumb{align-items:center;background:#242424;border:1px solid #333;border-radius:4px;cursor:pointer;display:flex;flex-direction:column;gap:3px;overflow:hidden;padding:3px;transition:border-color .1s}.TexturePickerModal-thumb:hover{background:#2a2a2a;border-color:#5a8de0}.TexturePickerModal-thumbImg{aspect-ratio:1;border-radius:2px;display:block;object-fit:cover;width:100%}.TexturePickerModal-thumbIcon{align-items:center;aspect-ratio:1;background:#1a1a1a;border-radius:2px;color:#999;display:flex;font-size:28px;justify-content:center;width:100%}.TexturePickerModal-thumbName{color:#777;font-size:9px;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.TexturePickerModal-envList{display:flex;flex-direction:column;gap:3px;padding:2px 0 6px}.TexturePickerModal-envItem{align-items:center;background:#242424;border:1px solid #333;border-radius:4px;cursor:pointer;display:flex;gap:8px;padding:6px 8px;text-align:left;transition:border-color .1s}.TexturePickerModal-envItem:hover{background:#2a2a2a;border-color:#5a8de0}.TexturePickerModal-envIcon{flex-shrink:0;font-size:14px}.TexturePickerModal-envName{color:#bbb;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.TexturePickerModal-footer{border-top:1px solid #2a2a2a;flex-shrink:0;padding:6px 8px}.TexturePickerModal-uploadError{color:#e57373;font-size:10px;margin-bottom:5px;word-break:break-word}.TexturePickerModal-uploadBtn{background:#2a2a2a;border:1px solid #3a3a3a;border-radius:4px;color:#999;cursor:pointer;font-size:11px;padding:5px 8px;transition:background .1s,color .1s;width:100%}.TexturePickerModal-uploadBtn:hover:not(:disabled){background:#333;color:#ccc}.TexturePickerModal-uploadBtn:disabled{cursor:not-allowed;opacity:.5}.TexturePickerModal-fileInput{display:none}.TTWindow{background:#1a1a1a;border:1px solid #383838;border-radius:6px;box-shadow:0 4px 20px #0009;display:flex;flex-direction:column;position:fixed;-webkit-user-select:none;user-select:none;width:380px;z-index:99999}.TTWindow-header{align-items:center;background:#141414;border-bottom:1px solid #2a2a2a;border-radius:6px 6px 0 0;cursor:grab;display:flex;gap:6px;padding:8px 10px}.TTWindow-header:active{cursor:grabbing}.TTWindow-drag-hint{color:#444;flex-shrink:0;font-size:14px;pointer-events:none}.TTWindow-title{color:#ccc;flex:1 1;font-size:12px;font-weight:600;overflow:hidden;pointer-events:none;text-overflow:ellipsis;white-space:nowrap}.TTWindow-close{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;height:20px;justify-content:center;line-height:1;padding:0;transition:color .15s;width:20px}.TTWindow-close:hover{color:#ccc}.TTWindow-body{max-height:60vh;overflow-y:auto;padding:10px 14px 6px}.TTWindow-section-title{color:#505050;font-size:10px;font-weight:600;letter-spacing:.07em;margin:10px 0 5px;text-transform:uppercase}.TTWindow-section-title:first-child{margin-top:0}.TTWindow-section-label{border-bottom:1px solid #2a2a2a;color:#505050;font-size:10px;font-weight:600;letter-spacing:.07em;margin:10px 0 6px;padding-bottom:4px;text-transform:uppercase}.TTWindow-section-label:first-child{margin-top:4px}.TTWindow-hint{color:#6f777b;font-size:11px;margin:6px 0 8px}.TTWindow-channel-row{align-items:center;display:flex;gap:6px;margin-bottom:5px}.TTWindow-channel-select{background-color:#252525;border:1px solid #3a3a3a;border-radius:3px;color:#ccc;cursor:pointer;flex:1 1;font-family:inherit;font-size:11px;padding:4px 6px;transition:border-color .15s}.TTWindow-channel-select:hover{border-color:#505050}.TTWindow-channel-select:focus{border-color:#0092ff;outline:none}.TTWindow-channel-select option{background-color:#252525;color:#ccc}.TTWindow-channel-fixed{align-items:center;background-color:#1a1a1a;border:1px solid #3a3a3a;border-radius:3px;color:#999;cursor:not-allowed;display:flex;flex:1 1;font-size:11px;padding:4px 6px}.TTWindow-row{align-items:center;display:flex;gap:6px;margin-bottom:5px}.TTWindow-row-label{color:#777;flex-shrink:0;font-size:11px;width:70px}.TTWindow-slider{accent-color:#0092ff;cursor:pointer;flex:1 1;height:3px}.TTWindow-number{-webkit-appearance:textfield;appearance:textfield;background:#252525;border:1px solid #3a3a3a;border-radius:3px;color:#ccc;flex-shrink:0;font-size:11px;padding:3px 5px;text-align:right;width:52px}.TTWindow-number::-webkit-inner-spin-button,.TTWindow-number::-webkit-outer-spin-button{-webkit-appearance:none}.TTWindow-number:focus{border-color:#0092ff;outline:none}.TTWindow-unit{color:#555;flex-shrink:0;font-size:11px;width:12px}.TTWindow-flip-row{display:flex;gap:16px;margin-bottom:6px}.TTWindow-checkbox-label{align-items:center;color:#999;cursor:pointer;display:flex;font-size:11px;gap:6px;transition:color .15s;-webkit-user-select:none;user-select:none}.TTWindow-checkbox-label:hover{color:#ccc}.TTWindow-checkbox-label input[type=checkbox]{accent-color:#0092ff;-webkit-appearance:none;appearance:none;background:#252525;border:1px solid #3a3a3a;border-radius:2px;cursor:pointer;height:14px;transition:background .15s,border-color .15s;width:14px}.TTWindow-checkbox-label input[type=checkbox]:hover{border-color:#4f4f4f}.TTWindow-checkbox-label input[type=checkbox]:checked{background:#0092ff;border-color:#0092ff}.TTWindow-subsection-toggle{align-items:center;background:none;border:none;border-bottom:1px solid #242424;border-top:1px solid #353535;color:#666;cursor:pointer;display:flex;font-family:inherit;font-size:10px;font-weight:600;justify-content:space-between;letter-spacing:.07em;margin-bottom:2px;margin-top:8px;padding:10px 0 6px;text-transform:uppercase;transition:color .15s;width:100%}.TTWindow-subsection-toggle:hover{color:#888}.TTWindow-subsection-arrow{font-size:9px;transform:rotate(0deg);transition:transform .15s}.TTWindow-subsection-arrow.collapsed{transform:rotate(-90deg)}.TTWindow-footer{align-items:center;border-top:1px solid #252525;display:flex;gap:8px;justify-content:space-between;padding:8px 14px}.TTWindow-reset-btn{background:none;border:1px solid #3a3a3a;border-radius:3px;color:#777;cursor:pointer;font-size:11px;padding:5px 12px;transition:border-color .15s,color .15s}.TTWindow-reset-btn:hover{border-color:#555;color:#aaa}.TTWindow-done-btn{background:#0092ff;border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:11px;font-weight:600;padding:5px 16px;transition:background .15s}.TTWindow-done-btn:hover{background:#0080e0}.UVDebuggerWindow{background:#2a2a2a;border:1px solid #444;border-radius:6px;box-shadow:0 8px 32px #0009;color:#e0e0e0;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:90vh;max-height:900px;max-width:1400px;position:fixed;width:90vw;z-index:99999}.UVDebuggerWindow-header{align-items:center;background:linear-gradient(135deg,#1a1a1a,#2a2a2a);border-bottom:1px solid #444;cursor:grab;display:flex;flex-shrink:0;gap:8px;padding:12px 16px;-webkit-user-select:none;user-select:none}.UVDebuggerWindow-header:active{cursor:grabbing}.UVDebuggerWindow-drag-hint{color:#666;font-size:14px;font-weight:700}.UVDebuggerWindow-title{color:#fff;flex:1 1;font-size:14px;font-weight:600}.UVDebuggerWindow-close{background:#0000;border:none;border-radius:3px;color:#999;cursor:pointer;font-size:18px;margin-left:8px;padding:4px 8px;transition:all .2s}.UVDebuggerWindow-close:hover{background:#ff00001a;color:#ff6b6b}.UVDebuggerWindow-header-btn{background:#0000;border:1px solid #555;border-radius:3px;color:#aaa;cursor:pointer;font-size:16px;padding:4px 8px;transition:all .2s}.UVDebuggerWindow-header-btn:hover{background:#ffffff1a;border-color:#777;color:#fff}.UVDebuggerWindow-header-group{align-items:center;border-left:1px solid #444;border-right:1px solid #444;display:flex;gap:6px;padding:0 8px}.UVDebuggerWindow-header-label{color:#999;font-size:12px;white-space:nowrap}.UVDebuggerWindow-header-select{background:#1a1a1a;border:1px solid #555;border-radius:3px;color:#fff;cursor:pointer;font-size:12px;padding:4px 6px;transition:all .2s}.UVDebuggerWindow-header-select:hover{background:#252525;border-color:#777}.UVDebuggerWindow-header-select:focus{border-color:#4a9eff;box-shadow:0 0 0 2px #4a9eff33;outline:none}.UVDebuggerWindow-header-warning{color:#ffb347;cursor:help;font-size:12px}.UVDebuggerWindow-canvas-container{align-items:center;background:#1a1a1a;display:flex;flex:1 1;justify-content:center;min-height:300px;overflow:hidden;padding:12px}.UVDebuggerWindow-loader{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center}.UVDebuggerWindow-spinner{animation:UVDebuggerWindow-spin 1s linear infinite;border:3px solid #4a9eff4d;border-radius:50%;border-top-color:#4a9eff;height:40px;width:40px}@keyframes UVDebuggerWindow-spin{to{transform:rotate(1turn)}}.UVDebuggerWindow-loader p{color:#aaa;font-size:13px;font-weight:500}.UVDebuggerWindow-canvas{background:#222;border:1px solid #444;border-radius:4px;max-height:100%;max-width:100%;touch-action:none}.UVDebuggerWindow-toolbar{grid-gap:12px;background:#2a2a2a;border-top:1px solid #444;display:grid;flex-shrink:0;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));max-height:180px;overflow-y:auto;padding:12px}.UVDebuggerWindow-control-group{display:flex;flex-direction:column;gap:8px}.UVDebuggerWindow-control-row{align-items:center;display:flex;font-size:12px;gap:6px}.UVDebuggerWindow-control-label{color:#aaa;flex-shrink:0;font-weight:500;width:70px}.UVDebuggerWindow-slider{-webkit-appearance:none;appearance:none;background:#444;border-radius:2px;cursor:pointer;flex:1 1;height:5px;min-width:60px;outline:none}.UVDebuggerWindow-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#4a9eff;border-radius:50%;box-shadow:0 0 4px #4a9eff99;cursor:grab;height:12px;width:12px}.UVDebuggerWindow-slider::-moz-range-thumb{background:#4a9eff;border:none;border-radius:50%;box-shadow:0 0 4px #4a9eff99;cursor:grab;height:12px;width:12px}.UVDebuggerWindow-number{background:#1a1a1a;border:1px solid #555;border-radius:3px;color:#e0e0e0;flex-shrink:0;font-size:12px;padding:4px 6px;text-align:right;width:50px}.UVDebuggerWindow-number:focus{border-color:#4a9eff;box-shadow:0 0 4px #4a9eff4d;outline:none}.UVDebuggerWindow-unit{color:#888;flex-shrink:0;font-size:11px;width:20px}.UVDebuggerWindow-checkbox-label{align-items:center;color:#aaa;cursor:pointer;display:flex;font-size:12px;gap:6px;padding:6px 0;-webkit-user-select:none;user-select:none}.UVDebuggerWindow-checkbox-label input[type=checkbox]{accent-color:#4a9eff;cursor:pointer;height:14px;width:14px}.UVDebuggerWindow-footer{background:#1a1a1a;border-top:1px solid #444;display:flex;flex-shrink:0;gap:8px;justify-content:flex-end;padding:12px 16px}.UVDebuggerWindow-done-btn,.UVDebuggerWindow-reset-btn{background:#333;border:1px solid #555;border-radius:4px;color:#e0e0e0;cursor:pointer;font-size:12px;font-weight:600;padding:8px 16px;transition:all .2s}.UVDebuggerWindow-reset-btn:hover{background:#444;border-color:#666}.UVDebuggerWindow-done-btn{background:#4a9eff;border-color:#4a9eff;color:#fff}.UVDebuggerWindow-done-btn:hover{background:#6bb3ff;border-color:#6bb3ff;box-shadow:0 0 8px #4a9eff66}.UVDebuggerWindow-done-btn:active{transform:scale(.98)}.UVDebuggerWindow-toolbar::-webkit-scrollbar{width:6px}.UVDebuggerWindow-toolbar::-webkit-scrollbar-track{background:#2a2a2a}.UVDebuggerWindow-toolbar::-webkit-scrollbar-thumb{background:#555;border-radius:3px}.UVDebuggerWindow-toolbar::-webkit-scrollbar-thumb:hover{background:#666}.ControlTexturePicker{align-items:center;display:flex;flex-direction:row;gap:6px;padding:8px 0}.ControlTexturePicker-control{display:flex;flex-shrink:0;gap:6px}.ControlTexturePicker-button,.ControlTexturePicker-clear{align-items:center;background:#3a3a3a;border:1px solid #555;border-radius:3px;color:#e0e0e0;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:background .2s,border-color .2s;width:32px}.ControlTexturePicker-button:hover{background:#444;border-color:#666}.ControlTexturePicker-clear{background:#4a2a2a;border-color:#633}.ControlTexturePicker-clear:hover{background:#5a3a3a;border-color:#744}.ControlTexturePicker-transform-btn{align-items:center;background:#2a3a4a;border:1px solid #3a5a70;border-radius:3px;color:#7ab4d4;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:background .2s,border-color .2s;width:32px}.ControlTexturePicker-transform-btn:hover{background:#324a5e;border-color:#4a7090;color:#a0ccee}.ControlTexturePicker-replace-btn{align-items:center;background:#2a3a2a;border:1px solid #3a5a3a;border-radius:3px;color:#7ab47a;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:background .2s,border-color .2s;width:32px}.ControlTexturePicker-replace-btn:hover{background:#324a32;border-color:#4a704a;color:#a0eea0}.ControlTexturePicker-uv-debugger-btn{align-items:center;background:#3a2a4a;border:1px solid #5a3a70;border-radius:3px;color:#b47ad4;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:background .2s,border-color .2s;width:32px}.ControlTexturePicker-uv-debugger-btn:hover{background:#4a3a5e;border-color:#6a4a90;color:#d4a0ee}.ControlTexturePicker-info{flex:0 1 auto;min-width:0}.ControlTexturePicker-name{color:#888;display:none}.ControlTexturePicker-name,.ControlTexturePicker-warning{font-size:11px;overflow-wrap:break-word;word-break:break-word}.ControlTexturePicker-warning{color:#ffb74d;line-height:1.35;margin-top:4px}.ControlTexturePicker-input{display:none}.ControlTexturePicker-thumbnail{background:#252525;border:1px solid #404040;border-radius:3px;cursor:pointer;flex-shrink:0;height:32px;overflow:hidden;padding:0;transition:border-color .2s,box-shadow .2s;width:32px}.ControlTexturePicker-thumbnail:hover{border-color:#555;box-shadow:0 0 8px #0092ff4d}.ControlTexturePicker-thumbnail img{display:block;height:100%;object-fit:cover;width:100%}.ControlTexturePicker-overlay{align-items:center;background:#000000e6;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:10000}.ControlTexturePicker-overlay-content{background:#1a1a1a;border:1px solid #333;border-radius:4px;display:flex;flex-direction:column;max-height:90vh;max-width:90vw;overflow:hidden;position:relative}.ControlTexturePicker-overlay-header{align-items:center;background:#0000004d;border-bottom:1px solid #333;display:flex;flex-shrink:0;justify-content:space-between;padding:8px}.ControlTexturePicker-overlay-zoom-toggle{align-items:center;background:#00000080;border:1px solid #555;border-radius:3px;color:#ccc;cursor:pointer;display:flex;font-size:16px;height:32px;justify-content:center;padding:0;transition:background .2s,color .2s;width:32px}.ControlTexturePicker-overlay-zoom-toggle:hover{background:#000000b3;border-color:#777;color:#fff}.ControlTexturePicker-overlay-image-container{align-items:center;background:#0a0a0a;display:flex;flex:1 1;justify-content:center;overflow:auto}.ControlTexturePicker-overlay-fit{overflow:visible}.ControlTexturePicker-overlay-fit .ControlTexturePicker-overlay-image{display:block;height:100%;object-fit:contain;width:100%}.ControlTexturePicker-overlay-actual{overflow:auto}.ControlTexturePicker-overlay-actual .ControlTexturePicker-overlay-image{display:block;height:auto;width:auto}.ControlTexturePicker-overlay-image{max-height:none;max-width:none}.ControlTexturePicker-overlay-close{align-items:center;background:#000000b3;border:1px solid #555;border-radius:3px;color:#ccc;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;height:32px;justify-content:center;padding:0;transition:background .2s,color .2s;width:32px}.ControlTexturePicker-overlay-close:hover{background:#000000e6;border-color:#777;color:#fff}.cdiCubeMapUploader{display:flex;flex-direction:column;gap:12px;padding:0}.cdiCubeMapUploader-status{align-items:center;background-color:#2a2a2a;border:1px solid #444;border-radius:4px;display:flex;flex-direction:column;gap:12px;padding:12px;text-align:center}.cdiCubeMapUploader-status p{color:#e0e0e0;font-size:13px;font-weight:500;margin:0}.cdiCubeMapUploader-spinner{animation:cdiCubeMapUploadSpin .8s linear infinite;border:2px solid #444;border-radius:50%;border-top-color:#888;height:16px;width:16px}@keyframes cdiCubeMapUploadSpin{to{transform:rotate(1turn)}}.cdiCubeMapUploader-success{background-color:#1b5e20;border:1px solid #2e7d32;border-radius:4px;display:flex;flex-direction:column;gap:12px;padding:12px;text-align:center}.cdiCubeMapUploader-success-msg{color:#a5d6a7;font-size:13px;font-weight:500;margin:0}.cdiCubeMapUploader-error{background-color:#b71c1c;border:1px solid #d32f2f;border-radius:4px;display:flex;flex-direction:column;gap:12px;padding:12px;text-align:center}.cdiCubeMapUploader-error-msg{color:#ffcdd2;font-size:13px;font-weight:500;margin:0}.cdiCubeMapUploader-retry-btn{background-color:#ffffff26;border:1px solid #ffffff4d;border-radius:4px;color:#e0e0e0;cursor:pointer;font-size:12px;font-weight:500;padding:8px 16px;transition:all .2s ease-in-out}.cdiCubeMapUploader-retry-btn:hover{background-color:#ffffff40;border-color:#fff6}.cdiCubeMapUploader-retry-btn:active{background-color:#ffffff1a}.cdiControlCubeMapCapture{display:flex;flex-direction:column;gap:8px}.cdiControlCubeMapCapture-toggle{align-items:center;background-color:#2a2a2a;border:1px solid #444;border-radius:4px;color:#e0e0e0;cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:8px;overflow:hidden;padding:8px 12px;text-align:left;transition:all .2s ease-in-out}.cdiControlCubeMapCapture-toggle:hover{background-color:#333;border-color:#666}.cdiControlCubeMapCapture-toggle:active{background-color:#1a1a1a;border-color:#555}.cdiControlCubeMapCapture-icon{flex-shrink:0;font-size:14px}.cdiControlCubeMapCapture-text{color:#aaa;flex:1 1;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cdiControlCubeMapCapture-uploader{border-top:1px solid #333;margin-top:4px;padding:8px 0}.cdiControlCubeMapCapture-captured{align-items:center;display:flex;gap:8px}.cdiControlCubeMapCapture-toggle--captured{cursor:default;flex:1 1}.cdiControlCubeMapCapture-toggle--captured,.cdiControlCubeMapCapture-toggle--captured:hover{background-color:#1a3a1a;border-color:#3a6a3a}.cdiControlCubeMapCapture-toggle--captured .cdiControlCubeMapCapture-icon{color:#6c6}.cdiControlCubeMapCapture-remove{background-color:#5a2a2a;border:1px solid #8a4a4a;border-radius:3px;color:#f99;cursor:pointer;flex-shrink:0;font-size:11px;font-weight:500;padding:6px 10px;transition:all .2s ease-in-out;white-space:nowrap}.cdiControlCubeMapCapture-remove:hover{background-color:#6a3a3a;border-color:#aa6a6a;color:#fcc}.cdiControlCubeMapCapture-thumbnail{background:#252525;border:1px solid #404040;border-radius:3px;cursor:pointer;flex-shrink:0;height:40px;overflow:hidden;padding:0;transition:border-color .2s,box-shadow .2s;width:40px}.cdiControlCubeMapCapture-thumbnail:hover{border-color:#555;box-shadow:0 0 8px #0092ff4d}.cdiControlCubeMapCapture-thumbnail img{display:block;height:100%;object-fit:cover;width:100%}.cdiControlCubeMapCapture-captured-info{align-items:center;display:flex;flex:1 1;gap:8px}.cdiControlCubeMapCapture-overlay{align-items:center;animation:cdiControlCubeMapCapture-fadeIn .15s ease-out;background-color:#000000d9;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}@keyframes cdiControlCubeMapCapture-fadeIn{0%{opacity:0}to{opacity:1}}.cdiControlCubeMapCapture-overlay-content{background-color:#1a1a1a;border:1px solid #333;border-radius:6px;box-shadow:0 20px 60px #000000e6;display:flex;flex-direction:column;height:90vh;overflow:hidden;width:90vw}.cdiControlCubeMapCapture-overlay-header{background-color:#0f0f0f;border-bottom:1px solid #333;display:flex;gap:8px;justify-content:flex-end;padding:12px}.cdiControlCubeMapCapture-overlay-close,.cdiControlCubeMapCapture-overlay-zoom-toggle{background-color:initial;border:1px solid #444;border-radius:3px;color:#aaa;cursor:pointer;font-size:12px;padding:6px 10px;transition:all .2s ease-in-out}.cdiControlCubeMapCapture-overlay-close:hover,.cdiControlCubeMapCapture-overlay-zoom-toggle:hover{background-color:#2a2a2a;border-color:#666;color:#ddd}.cdiControlCubeMapCapture-overlay-image-container{align-items:center;background-color:#000;display:flex;flex:1 1;justify-content:center;overflow:auto;position:relative}.cdiControlCubeMapCapture-overlay-image-container img{display:block;max-height:100%;max-width:100%}.cdiControlCubeMapCapture-overlay-fit img{height:auto;width:auto}.cdiControlCubeMapCapture-overlay-actual img{height:auto;width:100%}.cdiControlCubeMapCapture-remove:active{background-color:#4a1a1a;border-color:#7a3a3a}@keyframes propertyWarningBlink{0%,to{color:#ff6b35;filter:drop-shadow(0 0 4px rgba(255,107,53,.6));opacity:1}50%{color:#ff9800;filter:drop-shadow(0 0 2px rgba(255,152,0,.3));opacity:.1}}.PropertyWarningIcon-button{align-items:center;animation:propertyWarningBlink .8s infinite;background:none;border:none;color:#ff9800;cursor:pointer;display:inline-flex;flex-shrink:0;height:18px;justify-content:center;margin-left:4px;padding:0;transition:color .2s;width:18px}.PropertyWarningIcon-button:hover{color:#ffb74d}.PropertyWarningIcon-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.PropertyWarningIcon-modal{background:#1a1a1a;border:1px solid #333;border-radius:6px;box-shadow:0 4px 16px #0009;display:flex;flex-direction:column;max-height:80vh;max-width:420px;padding:0}.PropertyWarningIcon-modal-header{align-items:center;border-bottom:1px solid #333;display:flex;justify-content:space-between;padding:16px}.PropertyWarningIcon-modal-title{color:#fff;font-size:14px;font-weight:600;margin:0}.PropertyWarningIcon-close-button{align-items:center;background:none;border:none;color:#888;cursor:pointer;display:flex;font-size:18px;height:24px;justify-content:center;padding:0;transition:color .2s;width:24px}.PropertyWarningIcon-close-button:hover{color:#ccc}.PropertyWarningIcon-modal-content{word-wrap:break-word;color:#ccc;font-size:13px;line-height:1.6;overflow-y:auto;padding:16px;white-space:pre-wrap}.MeshInfoSection-grid{display:flex;flex-direction:column;gap:4px;padding:4px 0 2px}.MeshInfoSection-row{align-items:baseline;display:flex;font-size:12px;justify-content:space-between}.MeshInfoSection-label{color:#888;flex-shrink:0}.MeshInfoSection-value{color:#ccc;text-align:right;word-break:break-word}.MeshInfoSection-value--muted{color:#555;font-style:italic}.MeshInfoSection-copy-button{align-items:center;background:none;border:none;color:#888;cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:24px;justify-content:center;margin:0 8px 0 auto;padding:0;transition:color .2s ease;width:24px}.MeshInfoSection-copy-button:hover{color:#bbb}.MeshInfoSection-copy-button .material-icons{font-size:16px;height:16px;width:16px}.MeshInfoSection-unit{color:#666;font-size:10px;margin-left:2px}.MeshInfoSection-indicator{align-items:center;cursor:help;display:inline-flex;flex-shrink:0;justify-content:center;margin:0 6px}.MeshInfoSection-indicator .material-icons{font-size:16px;height:16px;width:16px}.MeshInfoSection-indicator--good{color:#4ade80}.MeshInfoSection-indicator--fair{color:#facc15}.MeshInfoSection-indicator--poor{color:#f87171}.PropertyBarWrapper{animation:slideIn .3s ease-out;background:#1a1a1a;border-left:1px solid #333;box-shadow:-2px 0 8px #0000004d;display:flex;flex-direction:column;height:100%;overflow-x:hidden;overflow-y:auto;position:fixed;right:0;top:0;width:380px;z-index:100}@keyframes slideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}.PropertyBar-header{background:#0d0d0d;border-bottom:1px solid #333;padding:16px;position:-webkit-sticky;position:sticky;top:0}.PropertyBar-title{color:#fff;font-size:16px;font-weight:600;margin:0;word-break:break-word}.PropertyBar-subtitle{color:#888;font-size:12px}.PropertyBar-material-selector{display:flex;flex-direction:column;font-size:12px;gap:4px;margin-top:10px}.PropertyBar-material-selector label{color:#bbb;white-space:nowrap}.PropertyBar-material-select{background:#2a2a2a;border:1px solid #444;border-radius:3px;box-sizing:border-box;color:#ccc;cursor:pointer;font-size:12px;padding:4px 8px;transition:border-color .2s;width:100%}.PropertyBar-material-select:hover{border-color:#555}.PropertyBar-material-select:focus{background:#333;border-color:#667eea;outline:none}.PropertyBar-material-button{background:#252a2f;border:1px solid #3b3f44;border-radius:4px;box-sizing:border-box;color:#f0f0f0;cursor:pointer;font-size:12px;font-weight:500;padding:6px 10px;text-align:left;transition:all .2s;width:100%}.PropertyBar-material-button:hover{background:#2a3038;border-color:#5ba3f5}.PropertyBar-material-button:focus{border-color:#5ba3f5;box-shadow:0 0 0 2px #5ba3f51a;outline:none}.PropertyBar-content{color:#ccc;flex:1 1;font-size:14px;padding:10px 12px 24px}.PropertyBar-property{display:flex;flex-direction:column;gap:4px;margin-bottom:0}.PropertyBar-label{color:#aaa;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.PropertyBar-label-with-hint{align-items:center;display:flex;gap:6px}.PropertyBar-hint-icon{align-items:center;color:#666;cursor:help;display:inline-flex;flex-shrink:0;font-size:11px;font-weight:700;height:16px;justify-content:center;transition:color .2s;width:16px}.PropertyBar-hint-icon:hover{color:#888}.PropertyBar-subtitle{color:#666;display:block;font-size:11px;letter-spacing:.3px;margin-top:4px;text-transform:uppercase}.PropertyCategory{margin-bottom:4px;margin-top:12px;padding-top:8px}.PropertyCategory-header-wrapper{border-bottom:1px solid #333}.PropertyCategory-header,.PropertyCategory-header-wrapper{align-items:center;display:flex;justify-content:space-between}.PropertyCategory-header{background:#0000;border:none;color:#ccc;cursor:pointer;flex:1 1;font-size:12px;font-weight:700;letter-spacing:.5px;min-width:0;padding:10px 10px 10px 4px;text-align:left;text-transform:uppercase;transition:color .2s}.PropertyCategory-header:hover{color:#fff}.PropertyCategory-menu{padding-right:8px;position:relative}.PropertyCategory-menu-button{align-items:center;background:#0000;border:none;color:#888;cursor:pointer;display:flex;font-size:16px;justify-content:center;padding:6px 8px;transition:color .2s}.PropertyCategory-menu-button:hover{color:#fff}.PropertyCategory-menu-dropdown{background:#333;border:1px solid #555;border-radius:4px;box-shadow:0 2px 8px #00000080;margin-top:4px;min-width:150px;position:absolute;right:0;top:100%;z-index:1000}.PropertyCategory-menu-item{background:#0000;border:none;color:#ccc;cursor:pointer;display:block;font-size:12px;padding:8px 12px;text-align:left;transition:background .2s,color .2s;width:100%}.PropertyCategory-menu-item:hover{background:#444;color:#fff}.PropertyCategory-title{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.PropertyCategory-arrow{display:inline-block;font-size:10px;transform-origin:center;transition:transform .2s}.PropertyCategory-arrow.collapsed{transform:rotate(-90deg)}.PropertyCategory-content{padding:8px 0 4px 12px}.PropertyCategory-properties{display:flex;flex-direction:column;gap:10px}.PropertyCategory-tabs{border-bottom:1px solid #2a2a2a;display:flex;flex-wrap:wrap;gap:3px;margin-bottom:8px;padding:6px 0}.PropertyCategory-tab{background:#0000;border:1px solid #2e2e2e;border-radius:3px;color:#666;cursor:pointer;font-size:10px;font-weight:700;letter-spacing:.4px;padding:3px 8px;text-transform:uppercase;transition:color .15s,background .15s,border-color .15s;white-space:nowrap}.PropertyCategory-tab:hover{border-color:#444;color:#bbb}.PropertyCategory-tab.active{background:#0092ff1f;border-color:#0092ff;color:#0092ff}.PropertyCategory-tab-content{padding-top:2px}.PropertyCategory-search-button{align-items:center;background:#0000;border:none;color:#888;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:6px;transition:color .2s}.PropertyCategory-search-button:hover{color:#fff}.PropertySearch-widget{background:#252525;border:1px solid #444;border-radius:6px;box-shadow:0 4px 16px #0009;display:flex;flex-direction:column;max-height:420px;overflow:hidden}.PropertySearch-input-wrapper{align-items:center;border-bottom:1px solid #333;display:flex;gap:6px;padding:8px 10px}.PropertySearch-input-icon{color:#666;flex-shrink:0;font-size:16px!important}.PropertySearch-input{background:#0000;border:none;color:#eee;flex:1 1;font-size:13px;outline:none;padding:2px 0}.PropertySearch-input::placeholder{color:#555}.PropertySearch-clear-btn{background:#0000;border:none;color:#666;cursor:pointer;flex-shrink:0;font-size:11px;padding:2px 4px;transition:color .2s}.PropertySearch-clear-btn:hover{color:#ccc}.PropertySearch-results{flex:1 1;overflow-y:auto}.PropertySearch-empty{color:#666;font-size:12px;padding:16px 12px;text-align:center}.PropertySearch-group{border-bottom:1px solid #333}.PropertySearch-group:last-child{border-bottom:none}.PropertySearch-group-label{color:#666;font-size:10px;font-weight:700;letter-spacing:.5px;padding:6px 12px 4px;text-transform:uppercase}.PropertySearch-result-item{align-items:flex-start;background:#0000;border:none;cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:6px 12px 6px 14px;text-align:left;transition:background .15s;width:100%}.PropertySearch-result-item:hover{background:#333}.PropertySearch-result-name{color:#ddd;font-size:12px}.PropertySearch-result-hint{color:#777;font-size:11px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.PropertyPanel-toast{animation:slideDown .3s ease-out;background:#2d5f3f;border-left:4px solid #90ee90;border-radius:4px;box-shadow:0 4px 12px #0000004d;color:#90ee90;font-size:13px;font-weight:500;left:0;margin:0 auto;max-width:90%;padding:12px 20px;position:fixed;right:0;text-align:center;top:20px;width:-webkit-fit-content;width:fit-content;z-index:1000}@keyframes slideDown{0%{opacity:0;top:0}to{opacity:1;top:20px}}.ToolsBar{align-items:center;background:#0000;bottom:16px;display:flex;gap:8px;left:50%;position:fixed;transform:translateX(-50%);z-index:150}.ToolsBar,.ToolsBar-tool{pointer-events:auto}.ZoomTool{align-items:center;background:#1a1a1a;border:1px solid #3a3a3a;border-radius:20px;color:#e0e0e0;cursor:pointer;display:inline-flex;font-size:14px;justify-content:center;padding:6px 12px;transition:background-color .2s,border-color .2s;-webkit-user-select:none;user-select:none;white-space:nowrap}.ZoomTool:hover{background-color:#2a2a2a;border-color:#4a4a4a}.ZoomTool--minimized{height:40px;padding:8px;width:40px}.ZoomTool--minimized .material-icons{font-size:20px}.ZoomTool--expanded{flex-direction:row;gap:10px;height:auto;padding:8px 12px 8px 14px;width:auto}.ZoomTool-drag{background:#2a2a2a;border:1px solid #3a3a3a;border-radius:8px;color:#b0b0b0;cursor:grab;flex:1 1;font-size:13px;min-width:120px;padding:12px 16px;text-align:center;transition:background-color .15s,border-color .15s}.ZoomTool-drag--active,.ZoomTool-drag:active{background-color:#333;border-color:#4a4a4a;cursor:grabbing}.ZoomTool-label{display:block;font-weight:500;letter-spacing:.3px}.ZoomTool-collapse{align-items:center;background:#0000;border:none;color:#b0b0b0;cursor:pointer;display:flex;font-size:20px;justify-content:center;padding:6px 8px;transition:color .2s}.ZoomTool-collapse:hover{color:#e0e0e0}.ZoomTool-collapse .material-icons{font-size:20px}.UnsavedChangesTool{align-items:center;background:#1a1a1a;border:1px solid #3a3a3a;border-radius:20px;color:#e0e0e0;cursor:pointer;display:inline-flex;font-size:14px;justify-content:center;padding:6px 12px;position:relative;transition:background-color .2s,border-color .2s;-webkit-user-select:none;user-select:none}.UnsavedChangesTool:hover{background-color:#2a2a2a;border-color:#4a4a4a}.UnsavedChangesTool--minimized{font-size:12px;font-weight:600;height:40px;padding:8px;width:40px}.UnsavedChangesTool--minimized.UnsavedChangesTool--hasChanges{border-color:#ff9800}.UnsavedChangesTool-count{display:block;font-size:13px;font-weight:700;line-height:1}.UnsavedChangesTool-pulse{animation:pulse 2s infinite;background:#ff9800;border-radius:50%;bottom:2px;height:8px;position:absolute;right:2px;width:8px}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}.UnsavedChangesTool--expanded{flex-direction:row;gap:10px;height:auto;padding:8px 12px 8px 14px;width:auto}.UnsavedChangesTool-content{display:flex;flex-direction:column;gap:6px;min-width:140px}.UnsavedChangesTool-info{display:flex;flex-direction:column;gap:4px}.UnsavedChangesTool-label{color:#b0b0b0;font-size:12px;font-weight:500;letter-spacing:.3px}.UnsavedChangesTool-error{color:#ff6b6b;font-size:11px;word-break:break-word}.UnsavedChangesTool-saveBtn{background:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:background-color .2s;white-space:nowrap}.UnsavedChangesTool-saveBtn:hover:not(:disabled){background-color:#1d4ed8}.UnsavedChangesTool-saveBtn:disabled{background-color:#4a4a4a;color:#8a8a8a;cursor:not-allowed}.UnsavedChangesTool-collapse{align-items:center;background:#0000;border:none;color:#b0b0b0;cursor:pointer;display:flex;font-size:20px;justify-content:center;padding:6px 8px;transition:color .2s}.UnsavedChangesTool-collapse:hover{color:#e0e0e0}.UnsavedChangesTool-collapse .material-icons{font-size:20px}.file-upload-trigger{align-items:center;background-color:#0000004d;border:2px dashed #ffffff4d;border-radius:8px;cursor:pointer;display:flex;justify-content:center;padding:2rem 1rem;transition:all .3s ease;-webkit-user-select:none;user-select:none}.file-upload-trigger:hover{background-color:#0006;border-color:#ffffff80}.file-upload-trigger.drag-over{background-color:#4caf501a;border-color:#4caf50}.file-upload-trigger .upload-content{align-items:center;display:flex;flex-direction:column;gap:.5rem}.file-upload-trigger .upload-icon{display:block;height:32px;width:32px}.file-upload-trigger .upload-text{color:#e0e0e0;font-weight:500}.file-upload-trigger .upload-hint{color:#888;font-size:.875rem}.file-upload-trigger .upload-error{color:#e05555;font-size:.8rem;margin-top:4px}.confirm-delete-image-overlay{align-items:center;background-color:#000000bf;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:10001}.confirm-delete-image-modal{animation:cdiScaleIn .2s cubic-bezier(.34,1.56,.64,1);background:#1a1a1a;border:1px solid #333;border-radius:8px;box-shadow:0 10px 40px #000c;color:#e0e0e0;max-width:400px;overflow:hidden;width:100%}@keyframes cdiScaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.cdi-header{align-items:center;border-bottom:1px solid #333;display:flex;justify-content:space-between;padding:1.5rem}.cdi-header h3{color:#ff6b6b;font-size:1.1rem;font-weight:600;margin:0}.cdi-close-btn{align-items:center;background:none;border:none;color:#888;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:1.5rem;justify-content:center;margin-left:.5rem;padding:0;transition:color .2s}.cdi-close-btn:hover:not(:disabled){color:#ccc}.cdi-close-btn:disabled{cursor:not-allowed;opacity:.5}.cdi-content{display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.cdi-filename{background:#ff6b6b1a;border:1px solid #ff6b6b4d;border-radius:4px;padding:.75rem;word-break:break-word}.cdi-filename strong{color:#f99;font-family:Monaco,Menlo,monospace;font-size:.85rem}.cdi-warning{align-items:flex-start;display:flex;gap:.75rem}.cdi-warning .material-icons{color:#ffc107;flex-shrink:0;font-size:20px;margin-top:2px}.cdi-warning p{color:#bbb;font-size:.85rem;line-height:1.4;margin:0}.cdi-actions{border-top:1px solid #333;display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.cdi-btn-cancel,.cdi-btn-delete{border:none;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.cdi-btn-cancel{background:#ffffff14;color:#ccc}.cdi-btn-cancel:hover:not(:disabled){background:#ffffff1f;color:#e0e0e0}.cdi-btn-delete{background:#ff6b6b;color:#fff}.cdi-btn-delete:hover:not(:disabled){background:#ff5252;box-shadow:0 4px 12px #ff6b6b4d}.cdi-btn-cancel:disabled,.cdi-btn-delete:disabled{cursor:not-allowed;opacity:.6}.file-manager-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:10000}.file-manager-modal{background:#1a1a1a;border:1px solid #333;border-radius:8px;box-shadow:0 10px 40px #0009;color:#e0e0e0;display:flex;flex-direction:column;max-height:85vh;max-width:900px;overflow:hidden;width:100%}.fm-header{align-items:center;border-bottom:1px solid #333;display:flex;justify-content:space-between;padding:1.5rem}.fm-header h2{color:#fff;font-size:1.5rem;margin:0}.fm-close-btn{align-items:center;background:none;border:none;color:#888;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;padding:0;transition:color .2s;width:32px}.fm-close-btn:hover{color:#ccc}.fm-close-btn .material-icons{font-size:20px}.fm-error{align-items:center;background-color:#ff6b6b1a;border:1px solid #ff6b6b;border-radius:4px;color:#ff6b6b;display:flex;justify-content:space-between;margin:1rem;padding:.75rem 1rem}.fm-error button{background:#ff6b6b;border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:.875rem;padding:.25rem .75rem}.fm-tabs{padding:0 1.5rem}.fm-tab{border-bottom:3px solid #0000;font-size:1rem;padding:1rem 1.5rem}.fm-content{flex:1 1;overflow-y:auto;padding:1.5rem}.fm-loading{color:#888;padding:3rem;text-align:center}.fm-tab-content{display:flex;flex-direction:column;gap:2rem}.fm-search-bar{display:flex}.fm-search-input{background:#0006;border:1px solid #fff3;border-radius:4px;color:#e0e0e0;flex:1 1;font-size:1rem;padding:.75rem}.fm-search-input::placeholder{color:#fff6}.fm-search-input:focus{background:#0009;border-color:#4caf50;outline:none}.fm-empty-state{padding:2rem}.fm-file-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-bottom:2rem}.fm-file-item{align-items:flex-start;border-radius:8px;gap:1rem;padding:1rem}.fm-file-item:hover{box-shadow:0 2px 8px #4caf501a}.fm-file-item-primary{background:#4caf500d;border-color:#4caf50}.fm-file-name-container{align-items:center;display:flex;gap:.5rem}.fm-file-name{cursor:pointer;transition:-webkit-text-decoration .2s;transition:text-decoration .2s;transition:text-decoration .2s,-webkit-text-decoration .2s}.fm-file-name:hover{text-decoration:underline}.fm-file-meta{color:#888;display:flex;flex-wrap:wrap;font-size:.875rem;gap:1rem;margin-top:.5rem}.fm-primary-badge{color:#ffc107;display:inline-block;font-size:.9rem}.fm-file-actions{align-items:flex-start}.fm-delete-btn{flex-shrink:0;font-size:1.2rem}.fm-primary-btn{background-color:#4caf5033;font-size:.75rem;padding:.4rem .8rem}.fm-primary-btn:hover:not(:disabled){background-color:#4caf504d}.fm-primary-btn-active{background-color:#4caf50;border-color:#388e3c;color:#1a1a1a}.fm-primary-btn-active:hover:not(:disabled){background-color:#66bb6a}.fm-primary-btn:disabled{opacity:.6}.fm-upload-section{border-top:1px solid #333;padding-top:1.5rem}.fm-upload-section h3{color:#e0e0e0;font-size:1rem;margin:0 0 1rem}.fm-confirm-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10001}.fm-confirm-modal{background:#1a1a1a;border:1px solid #333;border-radius:8px;box-shadow:0 10px 40px #0009;max-width:400px;padding:2rem}.fm-confirm-modal h3{color:#fff;margin:0 0 1rem}.fm-confirm-modal p{color:#ccc;line-height:1.5;margin:0 0 1.5rem}.fm-confirm-actions{display:flex;gap:1rem;justify-content:flex-end}.fm-btn-cancel,.fm-btn-delete{border:none;border-radius:4px;cursor:pointer;font-size:.95rem;padding:.5rem 1rem;transition:all .2s}.fm-btn-cancel{background-color:#ffffff1a;border:1px solid #fff3;color:#e0e0e0}.fm-btn-cancel:hover{background-color:#ffffff26}.fm-btn-delete{background-color:#ff6b6b;color:#fff}.fm-btn-delete:hover:not(:disabled){background-color:#f44}.fm-btn-delete:disabled{cursor:not-allowed;opacity:.6}.fm-primary-section{background:#4caf5008;border-bottom:2px solid #333;padding:1.5rem}.fm-primary-header{align-items:center;border-bottom:none;display:flex;margin-bottom:0;padding-bottom:0}.fm-primary-title{align-items:center;display:flex;flex:1 1;gap:.75rem}.fm-primary-toggle{align-items:center;background:none;border:none;color:#4caf50;cursor:pointer;display:flex;flex-shrink:0;font-size:.8rem;height:24px;justify-content:center;padding:0;transition:color .2s;width:24px}.fm-primary-toggle:hover{color:#66bb6a}.fm-primary-header h3{color:#fff;font-size:1.1rem;font-weight:600;margin:0}.fm-primary-current{align-items:center;color:#4caf50;display:flex;flex-shrink:0;font-weight:500;gap:.5rem;margin-left:auto}.fm-primary-upload{background:#0000004d;border:1px solid #4caf5033;border-radius:6px;margin-bottom:1rem;margin-top:1rem;padding:1rem}.fm-primary-upload p{color:#ccc;font-size:.95rem;margin:0 0 1rem}.fm-primary-files{margin-top:1rem}.fm-primary-subtitle{color:#888;font-size:.85rem;letter-spacing:.5px;margin:0 0 .75rem;text-transform:uppercase}@media (max-width:768px){.file-manager-modal{max-height:90vh;max-width:95vw}.fm-file-grid{grid-template-columns:1fr}.fm-tabs{overflow-x:auto}.fm-primary-title{align-items:flex-start;flex-direction:column;gap:.5rem}.fm-primary-current{margin-left:0}}.fm-main-tabs{background:#0003;border-bottom:1px solid #333;display:flex;gap:0;padding:0 1.5rem}.fm-main-tab{background:none;border:none;border-bottom:3px solid #0000;color:#888;cursor:pointer;font-size:.95rem;font-weight:500;padding:1rem 1.5rem;transition:all .2s}.fm-main-tab:hover{color:#ccc}.fm-main-tab.active{border-bottom-color:#4caf50;color:#4caf50}.fm-section{background:#0003;border:1px solid #4caf5033;border-radius:6px;margin-bottom:1rem;overflow:hidden}.fm-section-header{align-items:center;border-bottom:1px solid #4caf501a;cursor:pointer;display:flex;gap:.75rem;padding:1rem;-webkit-user-select:none;user-select:none}.fm-section-header h3{color:#fff;flex:1 1;font-size:1rem;font-weight:600;margin:0}.fm-toggle-btn{align-items:center;background:none;border:none;color:#4caf50;cursor:pointer;display:flex;flex-shrink:0;font-size:.75rem;height:20px;justify-content:center;padding:0;transition:color .2s;width:20px}.fm-toggle-btn:hover{color:#66bb6a}.fm-toggle-btn .material-icons{font-size:18px}.fm-toggle-label{align-items:center;display:flex;flex:1 1;gap:.75rem}.fm-toggle-label input{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:initial;border:2px solid #4caf50;border-radius:4px;cursor:pointer;flex-shrink:0;height:20px;margin:0;position:relative;transition:all .2s;width:20px}.fm-toggle-label input:checked{background-color:#4caf50}.fm-toggle-label input:checked:after{color:#1a1a1a;content:"check";font-family:Material Icons;font-size:16px;font-weight:400;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.fm-toggle-label input:hover{border-color:#66bb6a;box-shadow:0 0 4px #4caf504d}.fm-toggle-label label{color:#fff;cursor:pointer;font-weight:600;margin:0}.fm-section-badge{align-items:center;color:#4caf50;display:inline-flex;flex-shrink:0;font-size:.9rem;font-weight:500;gap:.3rem;white-space:nowrap}.fm-section-badge .material-icons{font-size:16px}.fm-section-content{padding:1rem}.fm-section-desc{color:#888;font-size:.85rem;margin:0 0 1rem}.fm-env-selector{display:flex;flex-direction:column;gap:1rem}.fm-current-env{align-items:center;display:flex}.fm-env-badge{background:#4caf5033;border-radius:4px;color:#4caf50;font-size:.9rem;padding:.5rem 1rem}.fm-env-controls{align-items:center;display:flex}.fm-env-dropdown{background:#0006;border:1px solid #fff3;border-radius:4px;color:#e0e0e0;cursor:pointer;flex:1 1;font-size:.9rem;padding:.75rem}.fm-env-dropdown:focus{border-color:#4caf50;outline:none}.fm-env-dropdown option{background:#1a1a1a;color:#e0e0e0}.fm-env-active-card{align-items:center;background:#4caf501f;border:1px solid #4caf5066;border-radius:6px;display:flex;gap:.75rem;justify-content:space-between;padding:.75rem 1rem}.fm-env-active-name{align-items:center;color:#4caf50;display:inline-flex;flex:1 1;font-size:.9rem;font-weight:500;gap:.35rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-env-active-name .material-icons{font-size:16px}.fm-env-button-group{display:flex;flex-shrink:0;gap:.5rem}.fm-env-change-btn{background:#0000;border:1px solid #ffffff40;border-radius:4px;color:#ccc;cursor:pointer;font-size:.8rem;padding:.3rem .75rem;transition:border-color .15s,color .15s;white-space:nowrap}.fm-env-change-btn:hover:not(:disabled){border-color:#fff;color:#fff}.fm-env-remove-btn{align-items:center;background:#0000;border:1px solid #ff4d4d80;border-radius:4px;color:#ff6b6b;cursor:pointer;display:inline-flex;font-size:.8rem;gap:.25rem;padding:.3rem .75rem;transition:border-color .15s,color .15s,background .15s;white-space:nowrap}.fm-env-remove-btn .material-icons{font-size:14px}.fm-env-remove-btn:hover:not(:disabled){background:#ff4d4d1a;border-color:#ff6b6b;color:#ffd}.fm-env-remove-btn:disabled{cursor:not-allowed;opacity:.5}.fm-env-cancel-btn{background:#0000;border:1px solid #fff3;border-radius:4px;color:#aaa;cursor:pointer;flex-shrink:0;font-size:.8rem;margin-right:.5rem;padding:.65rem .75rem;transition:border-color .15s,color .15s;white-space:nowrap}.fm-env-cancel-btn:hover{border-color:#fff;color:#fff}.fm-env-success{background:#4caf5026;border:1px solid #4caf5066;border-radius:4px;color:#4caf50;font-size:.85rem;margin-bottom:.5rem;padding:.5rem .75rem}.fm-env-setting{color:#aaa;font-size:.85rem;font-style:italic;margin-bottom:.4rem;padding:.25rem 0}.fm-upload-area{background:#4caf500d;border:1px solid #4caf5033;border-radius:6px;margin-bottom:1rem;padding:1rem}.fm-upload-area p{color:#ccc;font-size:.9rem;margin:0 0 .75rem}.fm-file-list{display:flex;flex-direction:column;gap:.75rem}.fm-file-item{align-items:center;background:#0000004d;border:1px solid #ffffff1a;border-radius:4px;display:flex;justify-content:space-between;padding:.75rem;transition:all .2s}.fm-file-item:hover{background:#4caf500d;border-color:#4caf50}.fm-file-info{flex:1 1;min-width:0}.fm-file-name{align-items:center;color:#4caf50;display:flex;font-weight:500;gap:.5rem;word-break:break-word}.fm-file-size{color:#888;font-size:.8rem;margin-top:.25rem}.fm-primary-btn{background:#4caf5033;border:1px solid #4caf50;border-radius:4px;color:#4caf50;cursor:pointer;flex-shrink:0;font-size:.8rem;font-weight:600;padding:.4rem .75rem;transition:all .2s;white-space:nowrap}.fm-primary-btn:hover:not(:disabled){background:#4caf504d;border-color:#66bb6a}.fm-primary-btn:disabled{cursor:not-allowed;opacity:.5}.fm-file-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:1rem}.fm-file-grid-image{gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.fm-file-item-card{align-items:flex-start;background:#0000004d;border:1px solid #ffffff1a;border-radius:6px;display:flex;gap:.5rem;justify-content:space-between;padding:1rem;transition:all .2s}.fm-file-item-card:hover{border-color:#4caf50}.fm-file-item-card-image{align-items:stretch;flex-direction:column;gap:.4rem;padding:.65rem}.fm-image-thumb-wrap{aspect-ratio:4/3;background:#ffffff0a;border:1px solid #ffffff14;border-radius:4px;overflow:hidden;width:100%}.fm-image-thumb{display:block;height:100%;object-fit:cover;width:100%}.fm-image-thumb-icon{align-items:center;color:#999;display:flex;font-size:32px;height:100%;justify-content:center;width:100%}.fm-file-info-image{min-width:0}.fm-file-item-card-image .fm-file-actions{justify-content:flex-end}.fm-file-actions{display:flex;flex-shrink:0;gap:.5rem}.fm-delete-btn{align-items:center;background:none;border:none;color:#888;cursor:pointer;display:inline-flex;font-size:1rem;justify-content:center;padding:0;transition:color .2s}.fm-delete-btn .material-icons{font-size:18px}.fm-delete-btn:hover:not(:disabled){color:#ff6b6b}.fm-delete-btn:disabled{cursor:not-allowed;opacity:.5}.fm-image-card-badge{background-color:#ffc107;border-radius:4px;bottom:.5rem;color:#1a1a1a;font-size:.7rem;font-weight:700;letter-spacing:.5px;padding:.25rem .5rem;position:absolute;right:.5rem;text-transform:uppercase;z-index:10}.fm-file-item-card.in-use{position:relative}.fm-tab-section{padding:1.5rem}.fm-tabs{border-bottom:1px solid #333;display:flex;gap:0;margin-bottom:1rem}.fm-tab{background:none;border:none;border-bottom:2px solid #0000;color:#888;cursor:pointer;font-size:.9rem;padding:.75rem 1rem;transition:all .2s}.fm-tab:hover{color:#ccc}.fm-tab.active{border-bottom-color:#4caf50;color:#4caf50}.fm-empty-state{color:#888;padding:2rem 1rem;text-align:center}@media (max-width:768px){.fm-file-grid{grid-template-columns:1fr}.fm-main-tab{font-size:.85rem;padding:.75rem 1rem}.fm-file-item-card{align-items:flex-start;flex-direction:column}.fm-section-header{flex-wrap:wrap}.fm-section-badge{margin-top:.5rem;width:100%}}.fm-env-toast{word-wrap:break-word;animation:slideInRight .3s ease-out,slideOutRight .3s ease-out 3.2s forwards;border-radius:6px;bottom:20px;box-shadow:0 4px 12px #0006;font-size:14px;font-weight:500;max-width:300px;padding:12px 20px;position:fixed;right:20px;z-index:10001}.fm-env-toast-set{background:#4caf50f2;border:1px solid #4caf50cc;color:#e8f5e9}.fm-env-toast-remove{background:#ffc107f2;border:1px solid #ffc107cc;color:#fff3e0}@keyframes slideInRight{0%{opacity:0;transform:translateX(400px)}to{opacity:1;transform:translateX(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(400px)}}.fm-image-overlay{align-items:center;background-color:#000000f2;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:11000}.fm-image-overlay-content{display:flex;flex-direction:column;height:100%;max-height:95vh;max-width:95vw;position:relative;width:100%}.fm-image-overlay-header{background:#00000080;border-bottom:1px solid #ffffff1a;display:flex;gap:.75rem;justify-content:flex-end;padding:1rem}.fm-image-overlay-close,.fm-image-overlay-zoom-toggle{background:#ffffff1a;border:1px solid #fff3;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.5rem .75rem;transition:all .2s}.fm-image-overlay-close:hover,.fm-image-overlay-zoom-toggle:hover{background:#fff3;border-color:#fff6}.fm-image-overlay-image-container{align-items:center;display:flex;flex:1 1;justify-content:center;overflow:hidden;position:relative}.fm-image-overlay-fit{overflow:auto}.fm-image-overlay-fit img{display:block;max-height:100%;max-width:100%;object-fit:contain}.fm-image-overlay-actual img{height:auto;object-fit:contain;width:auto}.backup-modal-overlay,.restore-modal-overlay{align-items:center;background:#000000b3;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:9999}.backup-modal-content,.restore-modal-content{background:#1a1a1a;border:1px solid #333;border-radius:6px;box-shadow:0 8px 32px #0009;display:flex;flex-direction:column;max-height:85vh;max-width:700px;overflow-y:auto}.backup-modal-header,.restore-modal-header{align-items:center;border-bottom:1px solid #2a2a2a;display:flex;flex-shrink:0;justify-content:space-between;padding:20px}.backup-modal-header h2,.restore-modal-header h2{color:#fff;font-size:18px;font-weight:600;margin:0}.backup-modal-close,.restore-modal-close{align-items:center;background:none;border:none;color:#888;cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;transition:color .2s;width:32px}.backup-modal-close:hover,.restore-modal-close:hover{color:#ccc}.backup-modal-body,.restore-modal-body{flex:1 1;overflow-y:auto;padding:20px}.backup-modal-section{margin-bottom:24px}.backup-modal-section-title{color:#999;font-size:14px;font-weight:600;letter-spacing:.05em;margin:0 0 12px;text-transform:uppercase}.backup-modal-error{background:#3a2a2a;border:1px solid #633;border-radius:4px;color:#ff6b6b;font-size:12px;margin-bottom:16px;padding:12px}.backup-modal-error p{margin:0 0 8px}.backup-modal-error-dismiss{background:none;border:1px solid #633;border-radius:2px;color:#ff6b6b;cursor:pointer;font-size:11px;padding:4px 8px;transition:all .2s}.backup-modal-error-dismiss:hover{background:#633}.backup-modal-tabs{border-bottom:1px solid #2a2a2a;display:flex;gap:12px;margin-bottom:16px}.backup-modal-tab{background:none;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;font-size:12px;font-weight:600;padding:8px 0;text-transform:uppercase;transition:all .2s}.backup-modal-tab-active{border-bottom-color:#0092ff;color:#fff}.backup-modal-footer,.restore-modal-footer{border-top:1px solid #2a2a2a;display:flex;flex-shrink:0;gap:8px;justify-content:flex-end;padding:16px 20px}.backup-modal-btn-close,.restore-modal-btn-cancel{background:none;border:1px solid #444;border-radius:3px;color:#aaa;cursor:pointer;font-size:12px;padding:8px 16px;transition:all .2s}.backup-modal-btn-close:hover,.restore-modal-btn-cancel:hover{background:#2a2a2a;border-color:#555;color:#ccc}.restore-modal-btn-confirm{background:#0092ff;border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:8px 16px;transition:background .2s}.restore-modal-btn-confirm:hover:not(:disabled){background:#0080e0}.restore-modal-btn-confirm:disabled{cursor:not-allowed;opacity:.5}.create-backup-form{gap:16px}.create-backup-form,.create-backup-form-group{display:flex;flex-direction:column}.create-backup-form-group label{color:#aaa;font-size:12px;font-weight:600;letter-spacing:.05em;margin-bottom:6px;text-transform:uppercase}.create-backup-required{color:#ff6b6b}.create-backup-input,.create-backup-textarea{background:#252525;border:1px solid #3a3a3a;border-radius:3px;color:#ccc;font-family:inherit;font-size:12px;padding:8px 10px;transition:border-color .2s}.create-backup-input:focus,.create-backup-textarea:focus{border-color:#0092ff;box-shadow:0 0 0 2px #0092ff33;outline:none}.create-backup-input:disabled,.create-backup-textarea:disabled{cursor:not-allowed;opacity:.6}.create-backup-submit{background:#0092ff;border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:10px 16px;transition:background .2s}.create-backup-submit:hover:not(:disabled){background:#0080e0}.create-backup-submit:disabled{cursor:not-allowed;opacity:.5}.backup-list{display:flex;flex-direction:column;gap:12px}.backup-list-empty{background:#222;border:1px dashed #3a3a3a;border-radius:3px;color:#666}.backup-list-empty,.backup-list-loading{font-size:12px;padding:20px;text-align:center}.backup-list-loading{color:#888}.backup-list-item{background:#222;border:1px solid #3a3a3a;border-radius:4px;padding:12px;transition:border-color .2s}.backup-list-item:hover{border-color:#404040}.backup-list-item-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:8px}.backup-list-item-name{color:#ccc;font-size:13px;font-weight:600;margin:0}.backup-list-item-date{color:#777;font-size:11px;white-space:nowrap}.backup-list-item-description{color:#999;font-size:11px;line-height:1.4;margin:6px 0}.backup-list-item-meta{color:#777;display:flex;font-size:11px;gap:12px;margin:8px 0}.backup-list-item-meta-item{display:inline-block}.backup-list-item-actions{display:flex;gap:8px;margin-top:10px}.backup-list-item-btn{background:none;border:1px solid #3a3a3a;border-radius:3px;color:#aaa;cursor:pointer;flex:1 1;font-size:11px;padding:6px 10px;transition:all .2s}.backup-list-item-btn:hover:not(:disabled){border-color:#444;color:#ccc}.backup-list-item-btn-restore{border-color:#3a5a70;color:#7ab4d4}.backup-list-item-btn-restore:hover:not(:disabled){background:#4a70901a;border-color:#4a7090}.backup-list-item-btn-delete{border-color:#5a3a3a;color:#b47a7a}.backup-list-item-btn-delete:hover:not(:disabled){background:#6a4a4a1a;border-color:#6a4a4a}.backup-list-item-btn:disabled{cursor:not-allowed;opacity:.5}.restore-modal-form-group{margin-bottom:16px}.restore-modal-form-group label{color:#aaa;display:block;font-size:12px;font-weight:600;letter-spacing:.05em;margin-bottom:6px;text-transform:uppercase}.restore-modal-checkbox-label{align-items:center;cursor:pointer;display:flex;gap:8px;-webkit-user-select:none;user-select:none}.restore-modal-checkbox-label input[type=checkbox]{accent-color:#0092ff;cursor:pointer;height:16px;width:16px}.restore-modal-input{background:#252525;border:1px solid #3a3a3a;border-radius:3px;box-sizing:border-box;color:#ccc;font-family:inherit;font-size:12px;padding:8px 10px;transition:border-color .2s;width:100%}.restore-modal-input:focus{border-color:#0092ff;box-shadow:0 0 0 2px #0092ff33;outline:none}.restore-modal-help-text{color:#666;font-size:11px;margin:6px 0 0}.restore-modal-info{background:#252525;border:1px solid #3a3a3a;border-radius:3px;margin-bottom:16px;padding:12px}.restore-modal-info p{color:#aaa;font-size:12px;margin:6px 0}.restore-modal-btn{border:none;border-radius:3px;cursor:pointer;font-size:12px;font-weight:600;padding:8px 16px;transition:all .2s}.restore-modal-btn:disabled{cursor:not-allowed;opacity:.5}.job-monitor{background:#222;border:1px solid #3a3a3a;border-radius:4px;margin-bottom:16px;padding:16px}.job-monitor-loading{color:#888;font-size:12px;padding:20px;text-align:center}.job-monitor-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.job-monitor-title{color:#ccc;font-size:13px;font-weight:600;margin:0}.job-monitor-status{border-radius:3px;font-size:11px;font-weight:600;padding:4px 8px;text-transform:uppercase}.job-monitor-status-in_progress{background:#3a4a2a;color:#b7d969}.job-monitor-status-completed{background:#2a4a3a;color:#69d969}.job-monitor-status-failed{background:#4a2a2a;color:#d96969}.job-monitor-progress{margin-bottom:12px}.job-monitor-progress-bar{background:#1a1a1a;border-radius:3px;height:6px;margin-bottom:6px;overflow:hidden;width:100%}.job-monitor-progress-fill{background:linear-gradient(90deg,#0092ff,#00d4ff);height:100%;transition:width .3s ease}.job-monitor-progress-text{color:#888;font-size:11px}.job-monitor-error{background:#3a2a2a;border:1px solid #633;border-radius:3px;color:#ff6b6b}.job-monitor-error,.job-monitor-success{font-size:11px;margin-bottom:8px;padding:8px}.job-monitor-success{background:#2a3a2a;border:1px solid #363;border-radius:3px;color:#69d969}.job-monitor-meta{color:#666;display:flex;flex-direction:column;font-size:11px;gap:4px;margin-top:12px}*{box-sizing:border-box;margin:0;padding:0}html{overflow-x:hidden;overflow-y:auto;scroll-behavior:smooth;width:100%}body,html{background-color:#1a1a1a;font-size:14px;height:100%;margin:0;padding:0}body{-webkit-text-size-adjust:100%;color:#e0e0e0;font-family:Krub,sans-serif;font-stretch:normal;font-style:normal;font-weight:500;letter-spacing:normal;line-height:normal;overflow:auto}#root{margin:0;padding:0}.text{font-family:Krub,sans-serif}a{border:none;cursor:pointer;font-size:14px;text-decoration:none}.h1,h1{font-size:35px}.h1,.h2,h1,h2{font-weight:400;text-transform:uppercase}.h2,h2{font-family:Krub,sans-serif;font-size:20px;font-stretch:normal;font-style:normal;letter-spacing:normal;line-height:normal;line-height:1.35}.h2Bold{font-weight:700}.h3,h3{font-size:16px;text-transform:uppercase}.h3,a,h3{font-family:Krub,sans-serif}a{color:#000;font-size:inherit}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input:focus,textarea:focus{font-family:Krub,sans-serif;outline:none}.bold{color:#000}.bigTitle,.bold{font-family:Krub,sans-serif}.bigTitle{font-size:36px;line-height:40px;text-transform:uppercase}.title{color:#480289;font-family:Krub,sans-serif;font-size:16px}.debug{max-width:100vw;padding:20px}.button{background-color:#000;border-radius:20px;color:#fff;cursor:pointer;display:flex;font-size:18px;max-width:-webkit-max-content;max-width:max-content;padding:10px 20px}.button:hover{transform:scale(1.03)}.buttonText{cursor:pointer;display:flex;font-size:18px;text-transform:uppercase}.buttonOutline,.buttonText{max-width:-webkit-max-content;max-width:max-content;padding:10px 20px}.buttonOutline{border:1px solid #480289;border-radius:20px}.buttonOutline:hover{transform:scale(1.1)}.LayoutWrapper{background-color:#1a1a1a;width:100%}.LayoutWrapper .content{color:#81c784}#leva__root{position:fixed;z-index:2000}#root{position:relative;z-index:1000}@media only screen and (max-height:576px){h1{font-size:22px}.title,h3{font-size:14px}}