.modal-overlay{align-items:center;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;opacity:1;pointer-events:auto;position:fixed;right:0;top:0;transition:opacity .2s ease-out;z-index:9999}.modal-closing{opacity:0;pointer-events:none}.modal-container{animation:modal-appear .2s ease-out;background-color:#1a1a1a;border:1px solid #333;border-radius:8px;box-shadow:0 4px 20px #00000080;max-width:90%;overflow:hidden;pointer-events:auto;position:relative;transform:translateY(0);transition:transform .2s ease-out,opacity .2s ease-out;width:400px;z-index:10000}.modal-container-closing{opacity:0;transform:translateY(20px)}@keyframes modal-appear{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{background-color:#272727;border-bottom:1px solid #333;color:#fff;font-weight:700;padding:15px 20px}.modal-content{color:#ddd;padding:20px}.modal-message{line-height:1.5;margin-bottom:15px}.modal-input{background-color:#222;border:1px solid #444;border-radius:4px;color:#fff;font-size:14px;margin-top:10px;padding:10px;width:100%}.modal-input:focus{border-color:#0078d4;box-shadow:0 0 0 2px #0078d433;outline:none}.modal-footer{background-color:#272727;border-top:1px solid #333;display:flex;justify-content:flex-end;padding:15px 20px}.modal-button{border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 16px;position:relative;transition:background-color .2s,transform .1s;z-index:1}.modal-button:focus{box-shadow:0 0 0 2px #0078d480;outline:none}.modal-button:active{transform:scale(.97)}.modal-button.confirm{background-color:#0078d4;color:#fff;margin-left:10px}.modal-button.confirm:hover{background-color:#106ebe}.modal-button.confirm.destructive{background-color:#d32f2f}.modal-button.confirm.destructive:hover{background-color:#f44336}.modal-button.cancel{background-color:#333;color:#fff}.modal-button.cancel:hover{background-color:#444}.toast{animation:toast-slide-in .3s ease-out;background-color:#333;border:1px solid #555;border-radius:8px;bottom:20px;box-shadow:0 4px 12px #0000004d;color:#fff;left:20px;max-width:400px;min-width:300px;position:fixed;z-index:10001}.toast-closing{animation:toast-slide-out .3s ease-in}.toast-content{align-items:center;display:flex;gap:12px;padding:12px 16px}.toast-icon{flex-shrink:0;font-size:16px}.toast-message{flex:1 1;font-size:14px;line-height:1.4}.toast-close{align-items:center;background:none;border:none;border-radius:50%;color:#ccc;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;height:20px;justify-content:center;padding:0;transition:background-color .2s,color .2s;width:20px}.toast-close:hover{background-color:#ffffff1a;color:#fff}.toast-success{background-color:#1b5e20;border-color:#2e7d32}.toast-error{background-color:#b71c1c;border-color:#d32f2f}.toast-warning{background-color:#e65100;border-color:#ff9800}.toast-info{background-color:#0d47a1;border-color:#1976d2}@keyframes toast-slide-in{0%{opacity:0;transform:translateX(-100%)}to{opacity:1;transform:translateX(0)}}@keyframes toast-slide-out{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-100%)}}@media (max-width:480px){.toast{left:10px;max-width:none;min-width:auto;right:10px}}.import-panel-overlay{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:10000}.import-panel{background:#2a2a2a;border:1px solid #444;border-radius:8px;box-shadow:0 8px 32px #0006;color:#fff;display:flex;flex-direction:column;max-height:80vh;max-width:90vw;width:500px}.import-panel-header{align-items:center;border-bottom:1px solid #444;display:flex;justify-content:space-between;padding:20px}.import-panel-header h2{font-size:18px;font-weight:600;margin:0}.import-panel-close{align-items:center;background:none;border:none;border-radius:4px;color:#ccc;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;transition:all .2s ease;width:30px}.import-panel-close:hover{background:#444;color:#fff}.import-panel-close:disabled{cursor:not-allowed;opacity:.5}.import-panel-content{flex:1 1;overflow-y:auto;padding:20px}.import-drop-zone{background:#333;border:2px dashed #666;border-radius:8px;margin-bottom:20px;padding:40px 20px;text-align:center;transition:all .2s ease}.import-drop-zone.dragging{background:#4fc3f71a;border-color:#4fc3f7}.import-drop-zone:hover{background:#3a3a3a;border-color:#888}.import-drop-content{pointer-events:none}.import-drop-icon{font-size:48px;margin-bottom:16px;opacity:.7}.import-drop-zone p{color:#ccc;margin:8px 0}.import-drop-subtitle{font-size:14px;opacity:.7}.import-browse-button{background:#4fc3f7;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;margin-top:16px;padding:12px 24px;pointer-events:all;transition:all .2s ease}.import-browse-button:hover{background:#29b6f6}.import-browse-button:disabled{cursor:not-allowed;opacity:.5}.import-formats{margin-bottom:20px}.import-formats h3{color:#fff;font-size:16px;margin:0 0 12px}.import-format-list{display:flex;flex-direction:column;gap:12px}.import-format-group{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.import-format-group strong{color:#fff;font-size:14px;margin-right:8px;min-width:80px}.import-format{background:#444;border-radius:4px;color:#ccc;font-family:monospace;font-size:12px;padding:4px 8px}.import-options{margin-bottom:20px}.import-options h3{color:#fff;font-size:16px;margin:0 0 12px}.import-option{align-items:center;color:#ccc;cursor:pointer;display:flex;font-size:14px;margin-bottom:8px}.import-option input[type=checkbox]{accent-color:#4fc3f7;margin-right:8px}.import-option:hover{color:#fff}.import-status{align-items:center;background:#333;border-radius:6px;display:flex;justify-content:center;margin-top:20px;padding:20px}.import-spinner{animation:spin 1s linear infinite;border:2px solid #666;border-radius:50%;border-top-color:#4fc3f7;height:20px;margin-right:12px;width:20px}.import-status p{color:#ccc;font-size:14px;margin:0}.import-panel-footer{border-top:1px solid #444;display:flex;justify-content:flex-end;padding:20px}.import-cancel-button{background:#666;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:all .2s ease}.import-cancel-button:hover{background:#777}.import-cancel-button:disabled{cursor:not-allowed;opacity:.5}.export-panel-overlay{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:10000}.export-panel{background:#2a2a2a;border:1px solid #444;border-radius:8px;box-shadow:0 8px 32px #0006;color:#fff;display:flex;flex-direction:column;max-height:80vh;max-width:90vw;width:600px}.export-panel-header{align-items:center;border-bottom:1px solid #444;display:flex;justify-content:space-between;padding:20px}.export-panel-header h2{font-size:18px;font-weight:600;margin:0}.export-panel-close{align-items:center;background:none;border:none;border-radius:4px;color:#ccc;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;transition:all .2s ease;width:30px}.export-panel-close:hover{background:#444;color:#fff}.export-panel-close:disabled{cursor:not-allowed;opacity:.5}.export-panel-content{flex:1 1;overflow-y:auto;padding:20px}.export-section{margin-bottom:24px}.export-section h3{color:#fff;font-size:16px;font-weight:600;margin:0 0 12px}.export-section-desc{color:#ccc;font-size:14px;margin:0 0 16px}.export-type-tabs{background:#333;border-radius:8px;display:flex;gap:4px;padding:4px}.export-type-tab{background:none;border:none;border-radius:6px;color:#ccc;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:12px 16px;transition:all .2s ease}.export-type-tab:hover{background:#444;color:#fff}.export-type-tab.active{background:#007acc;color:#fff}.export-type-tab:disabled{cursor:not-allowed;opacity:.5}.export-format-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:16px}.export-format-card{background:#333;border:2px solid #444;border-radius:8px;cursor:pointer;padding:12px;text-align:center;transition:all .2s ease}.export-format-card:hover{background:#363636;border-color:#4fc3f7}.export-format-card.selected{background:#4fc3f71a;border-color:#4fc3f7}.export-format-name{color:#fff;font-weight:600;margin-bottom:4px}.export-format-ext{color:#4fc3f7;font-family:monospace;font-size:12px;margin-bottom:6px}.export-format-desc{color:#ccc;font-size:12px;margin-bottom:8px}.export-format-features{display:flex;flex-wrap:wrap;gap:4px;justify-content:center}.export-format-features .feature{background:#555;border-radius:3px;color:#ccc;font-size:10px;letter-spacing:.5px;padding:2px 6px;text-transform:uppercase}.export-options{display:flex;flex-direction:column;gap:12px}.export-option{align-items:center;color:#ccc;cursor:pointer;display:flex;font-size:14px}.export-option input[type=checkbox]{accent-color:#4fc3f7;margin-right:8px}.export-option:hover{color:#fff}.export-option-group{align-items:center;color:#ccc;display:flex;font-size:14px;gap:8px}.export-option-group label{min-width:120px}.export-option-group select{background:#333;border:1px solid #555;border-radius:4px;color:#fff;font-size:14px;padding:4px 8px}.export-option-group input[type=range]{accent-color:#4fc3f7;flex:1 1}.export-image-options{margin-bottom:16px}.export-image-buttons{display:flex;gap:12px}.export-image-button{background:#2196f3;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s ease}.export-image-button:hover{background:#1976d2}.export-image-button:disabled{cursor:not-allowed;opacity:.5}.export-status{align-items:center;background:#333;border-radius:6px;display:flex;justify-content:center;margin-top:20px;padding:20px}.export-spinner{animation:spin 1s linear infinite;border:2px solid #666;border-radius:50%;border-top-color:#4fc3f7;height:20px;margin-right:12px;width:20px}.export-status p{color:#ccc;font-size:14px;margin:0}.export-panel-footer{border-top:1px solid #444;display:flex;gap:12px;justify-content:flex-end;padding:20px}.export-cancel-button{background:#666;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:all .2s ease}.export-cancel-button:hover{background:#777}.export-cancel-button:disabled{cursor:not-allowed;opacity:.5}.export-button{background:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.export-button:hover{background:#45a049}.export-button:disabled{cursor:not-allowed;opacity:.5}.about-modal-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;opacity:1;pointer-events:auto;position:fixed;right:0;top:0;transition:opacity .2s ease-out;z-index:10000}.about-modal-closing{opacity:0;pointer-events:none}.about-modal-container{animation:slideIn .2s ease-out;background-color:#1a1a1a;border:1px solid #333;border-radius:12px;box-shadow:0 8px 32px #0009;max-width:90%;overflow:hidden;pointer-events:auto;position:relative;transform:translateY(0);transition:transform .2s ease-out,opacity .2s ease-out;width:400px}.about-modal-container-closing{opacity:0;transform:translateY(20px)}.about-modal-header{background-color:#242424;border-bottom:1px solid #333;display:flex;justify-content:flex-end;padding:12px 16px}.about-modal-close{background:none;border:none;border-radius:4px;color:#ccc;cursor:pointer;font-size:16px;padding:4px 8px;transition:background-color .2s,color .2s}.about-modal-close:hover{background-color:#3a3a3a;color:#fff}.about-modal-content{background-color:#1a1a1a;padding:32px 24px;text-align:center}.about-modal-icon{border-radius:16px;box-shadow:0 4px 12px #0000004d;height:80px;margin-bottom:16px;width:80px}.about-modal-title{color:#fff;font-size:28px;font-weight:600;letter-spacing:-.5px;margin:0 0 8px}.about-modal-version{color:#888;font-size:16px;font-weight:500;margin:0 0 20px}.about-modal-description{color:#ccc;font-size:15px;line-height:1.5;margin:0 auto 20px;max-width:300px;text-align:left}.about-modal-description li{list-style-type:disc}.about-modal-copyright{color:#666;font-size:13px;line-height:1.4;margin:0}.about-modal-footer{background-color:#242424;border-top:1px solid #333;display:flex;justify-content:center;padding:16px 24px}.about-modal-button{background-color:#0078d4;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;min-width:80px;padding:8px 24px;transition:background-color .2s}.about-modal-button:hover{background-color:#106ebe}.about-modal-button:active{background-color:#005a9e}@media (max-width:480px){.about-modal-container{margin:20px;width:95%}.about-modal-content{padding:24px 16px}.about-modal-icon{height:64px;width:64px}.about-modal-title{font-size:24px}.about-modal-description,.about-modal-version{font-size:14px}}.changelog-modal-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;opacity:1;pointer-events:auto;position:fixed;right:0;top:0;transition:opacity .2s ease-out;z-index:10000}.changelog-modal-closing{opacity:0;pointer-events:none}.changelog-modal-container{animation:slideIn .2s ease-out;background-color:#1a1a1a;border:1px solid #333;border-radius:12px;box-shadow:0 8px 32px #0009;display:flex;flex-direction:column;max-height:80vh;max-width:90%;overflow:hidden;pointer-events:auto;position:relative;transform:translateY(0);transition:transform .2s ease-out,opacity .2s ease-out;width:600px}.changelog-modal-container-closing{opacity:0;transform:translateY(20px)}.changelog-modal-header{align-items:center;background-color:#242424;border-bottom:1px solid #333;display:flex;flex-shrink:0;justify-content:space-between;padding:16px 20px}.changelog-modal-title{color:#fff;font-size:20px;font-weight:600;margin:0}.changelog-modal-close{background:none;border:none;border-radius:4px;color:#ccc;cursor:pointer;font-size:16px;padding:4px 8px;transition:background-color .2s,color .2s}.changelog-modal-close:hover{background-color:#3a3a3a;color:#fff}.changelog-modal-content{background-color:#1a1a1a;flex:1 1;min-height:0;overflow-y:auto;padding:0}.changelog-loading{align-items:center;color:#ccc;display:flex;flex-direction:column;justify-content:center;padding:40px 20px}.changelog-spinner{animation:spin 1s linear infinite;border:2px solid #333;border-radius:50%;border-top-color:#0078d4;height:24px;margin-bottom:12px;width:24px}.changelog-error{color:#ff6b6b;padding:40px 20px;text-align:center}.changelog-releases{padding:0}.changelog-release{border-bottom:1px solid #333;padding:24px}.changelog-release:last-child{border-bottom:none}.changelog-release-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:12px}.changelog-release-version{align-items:center;color:#fff;display:flex;font-size:18px;font-weight:600;gap:12px;margin:0}.changelog-release-title{color:#888;font-size:14px;font-weight:400}.changelog-release-date{color:#666;font-size:14px;font-weight:400;white-space:nowrap}.changelog-release-description{color:#ccc;font-size:14px;line-height:1.5;margin:0 0 16px}.changelog-changes{display:flex;flex-direction:column;gap:8px}.changelog-change{align-items:flex-start;border-radius:4px;display:flex;gap:8px;padding:8px 0}.changelog-change-icon{flex-shrink:0;font-size:14px;margin-top:1px}.changelog-change-text{color:#ddd;flex:1 1;font-size:14px;line-height:1.4}.changelog-change-new .changelog-change-text{color:#4ade80}.changelog-change-improvement .changelog-change-text{color:#60a5fa}.changelog-change-fix .changelog-change-text{color:#fbbf24}.changelog-change-breaking .changelog-change-text{color:#f87171}.changelog-change-default .changelog-change-text{color:#ddd}.changelog-modal-footer{background-color:#242424;border-top:1px solid #333;display:flex;flex-shrink:0;justify-content:center;padding:16px 24px}.changelog-modal-button{background-color:#0078d4;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;min-width:80px;padding:8px 24px;transition:background-color .2s}.changelog-modal-button:hover{background-color:#106ebe}.changelog-modal-button:active{background-color:#005a9e}@media (max-width:768px){.changelog-modal-container{max-height:85vh;width:95%}.changelog-modal-header{padding:12px 16px}.changelog-modal-title{font-size:18px}.changelog-release{padding:16px}.changelog-release-header,.changelog-release-version{align-items:flex-start;flex-direction:column;gap:4px}.changelog-release-version{font-size:16px}.changelog-release-date,.changelog-release-title{font-size:13px}}@media (max-width:480px){.changelog-modal-container{max-height:90vh;width:95%}.changelog-modal-header{padding:12px 16px}.changelog-release{padding:12px}.changelog-change{padding:6px 0}.changelog-change-text{font-size:13px}}.update-modal-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;opacity:1;pointer-events:auto;position:fixed;right:0;top:0;transition:opacity .2s ease-out;z-index:10000}.update-modal-overlay.update-modal-closing{opacity:0;pointer-events:none}.update-modal-container{animation:slideIn .2s ease-out;background-color:#1a1a1a;border:1px solid #333;border-radius:12px;box-shadow:0 8px 32px #0009;max-height:90vh;max-width:500px;overflow:hidden;pointer-events:auto;position:relative;transform:translateY(0);transition:transform .2s ease-out,opacity .2s ease-out;width:90%}.update-modal-container.update-modal-container-closing{opacity:0;transform:translateY(20px)}.update-modal-header{align-items:center;background-color:#242424;border-bottom:1px solid #333;display:flex;justify-content:space-between;padding:16px 20px}.update-modal-header h2{color:#fff;font-size:20px;font-weight:600;margin:0}.update-modal-close{background:none;border:none;border-radius:4px;color:#ccc;cursor:pointer;font-size:16px;padding:4px 8px;transition:background-color .2s,color .2s}.update-modal-close:hover{background-color:#3a3a3a;color:#fff}.update-modal-content{background-color:#1a1a1a;padding:24px;text-align:center}.update-modal-content h3{color:#fff;font-size:18px;font-weight:600;margin:16px 0 12px}.update-modal-content p{color:#ccc;line-height:1.5;margin:8px 0}.update-modal-icon{display:block;font-size:48px;margin-bottom:16px}.update-modal-icon.error{color:#ff6b6b}.update-modal-icon.update-available{color:#0078d4}.update-modal-icon.up-to-date{color:#4ade80}.update-modal-spinner{display:flex;justify-content:center;margin-bottom:16px}.spinner{animation:spin 1s linear infinite;border:3px solid #333;border-radius:50%;border-top-color:#0078d4;height:32px;width:32px}.version-info{background:#333;border-radius:6px;margin:16px 0;padding:16px;text-align:left}.version-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.version-row:last-child{margin-bottom:0}.version-label{color:#666;font-size:14px}.version-value{color:#fff;font-family:Courier New,monospace;font-weight:600}.version-value.latest{color:#0078d4}.update-modal-footer{background-color:#242424;border-top:1px solid #333;display:flex;gap:12px;justify-content:flex-end;padding:16px 20px}.update-modal-button{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;min-width:80px;padding:8px 16px;transition:background-color .2s}.update-modal-button.primary{background-color:#0078d4;color:#fff}.update-modal-button.primary:hover{background-color:#106ebe}.update-modal-button.secondary{background-color:#333;color:#fff}.update-modal-button.secondary:hover{background-color:#444}@media (max-width:480px){.update-modal-container{margin:20px;width:95%}.update-modal-content{padding:20px 16px}.update-modal-footer,.update-modal-header{padding:12px 16px}}.menu-bar{align-items:center;background:#131313;border-bottom:1px solid #333;display:flex;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;height:30px;left:0;position:fixed;right:0;top:0;-webkit-user-select:none;user-select:none;z-index:10000}.menu-item{position:relative}.menu-button{background:none;border:none;color:#ccc;cursor:pointer;font-family:inherit;font-size:14px;height:30px;padding:6px 12px;transition:background-color .2s ease}.menu-button.active,.menu-button:hover{background:#3a3a3a;color:#fff}.menu-dropdown{background:#2a2a2a;border:1px solid #555;border-radius:0 0 4px 4px;border-top:none;box-shadow:0 4px 12px #0006;left:0;min-width:200px;overflow:hidden;position:absolute;top:100%;z-index:10001}.menu-dropdown-item{border-bottom:1px solid #333;cursor:pointer;padding:0;transition:background-color .2s ease}.menu-dropdown-item:last-child{border-bottom:none}.menu-dropdown-item:hover:not(.disabled){background:#3a3a3a}.menu-dropdown-item.disabled{cursor:not-allowed;opacity:.5}.menu-item-content{align-items:center;color:#ccc;display:flex;font-size:13px;justify-content:space-between;min-height:32px;padding:8px 12px}.menu-dropdown-item:hover:not(.disabled) .menu-item-content{color:#fff}.menu-checkbox{align-items:center;color:#4fc3f7;display:flex;flex-shrink:0;font-size:12px;height:16px;justify-content:center;margin-right:8px;width:16px}.menu-item-label{flex:1 1}.menu-item-shortcut{color:#888;flex-shrink:0;font-size:11px;margin-left:16px}.menu-separator{background:#444;height:1px;margin:4px 0}body.has-menu-bar .App{height:calc(100vh - 30px);margin-top:30px}@media (max-width:768px){.menu-bar,.menu-button{font-size:13px}.menu-button{padding:6px 8px}.menu-dropdown{min-width:160px}.menu-item-content{font-size:12px;padding:6px 8px}.menu-item-shortcut{font-size:10px}}.license-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.license-modal{background:#1e1e1e;border:1px solid #333;border-radius:12px;box-shadow:0 20px 60px #0006;max-height:90vh;max-width:500px;overflow:hidden;width:90%}.license-modal-header{background:linear-gradient(135deg,#278fff,#393bb0);color:#fff;padding:20px 24px}.license-modal-header h2{font-size:1.5rem;font-weight:600;margin:0}.license-modal-body{padding:24px}.license-message{color:#e0e0e0;font-size:1rem;line-height:1.5;margin-bottom:24px}.license-error{background:#fee;border:1px solid #fcc;border-radius:6px;margin-bottom:20px;padding:12px}.license-error p{color:#c33;font-size:.9rem;margin:0}.license-form{margin-bottom:24px}.license-input-group{margin-bottom:20px}.license-input-group label{color:#b0b0b0;display:block;font-size:.9rem;font-weight:500;margin-bottom:8px}.license-input{background:#2a2a2a;border:1px solid #444;border-radius:6px;color:#e0e0e0;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:1rem;padding:12px 16px;transition:border-color .2s ease;width:100%}.license-input:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea33;outline:none}.license-input:disabled{cursor:not-allowed;opacity:.6}.license-input::placeholder{color:#666}.license-modal-actions{display:flex;gap:12px;justify-content:space-between}.license-exit-btn{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;min-width:100px;padding:12px 24px;transition:all .2s ease}.license-exit-btn:hover{background:#c82333;box-shadow:0 4px 12px #dc35454d;transform:translateY(-1px)}.license-exit-btn:active{transform:translateY(0)}.license-activate-btn{background:linear-gradient(135deg,#278fff,#393bb0);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;min-width:140px;padding:12px 24px;transition:all .2s ease}.license-activate-btn:hover:not(:disabled){box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.license-activate-btn:active:not(:disabled){transform:translateY(0)}.license-activate-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.license-retry-btn{background:#ffc107;border:none;border-radius:6px;color:#212529;cursor:pointer;font-size:1rem;font-weight:500;min-width:140px;padding:12px 24px;transition:all .2s ease}.license-retry-btn:hover:not(:disabled){background:#e0a800;box-shadow:0 4px 12px #ffc1074d;transform:translateY(-1px)}.license-retry-btn:active:not(:disabled){transform:translateY(0)}.license-retry-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.license-help{border-top:1px solid #333;padding-top:20px;text-align:center}.license-help p{color:#888;font-size:.9rem;margin:8px 0}.license-help a{color:#667eea;font-weight:500;text-decoration:none}.license-help a:hover{text-decoration:underline}.license-modal-overlay{animation:fadeIn .3s ease-out}.license-modal{animation:slideIn .3s ease-out}.license-loading{align-items:center;background:#1a1a1a;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.license-loading-content{color:#e0e0e0;text-align:center}.license-loading-content p{color:#b0b0b0;font-size:1.1rem;margin-top:16px}.license-spinner{animation:spin 1s linear infinite;border:3px solid #333;border-radius:50%;border-top-color:#667eea;height:40px;margin:0 auto;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.onboarding-overlay{align-items:center;animation:fadeIn .5s ease-out;background-color:#000c;bottom:0;box-sizing:border-box;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.onboarding-container{animation:slideIn .5s ease-out;background:#1e1e1e;border:1px solid #333;border-radius:12px;box-shadow:0 20px 60px #0006;display:flex;flex-direction:column;max-height:100%;max-width:550px;overflow-y:auto;width:100%}.onboarding-header{background:linear-gradient(135deg,#278fff,#393bb0);color:#fff;flex-shrink:0;padding:24px 24px 20px;text-align:center}.onboarding-logo h1{-webkit-text-fill-color:#0000;background:linear-gradient(45deg,#fff,#f0f0f0);background-clip:text;-webkit-background-clip:text;font-size:2rem;font-weight:700;margin:0;text-shadow:0 2px 10px #0003}.onboarding-subtitle{font-size:1rem;font-weight:300;margin:6px 0 0;opacity:.9}.onboarding-content{flex:1 1;overflow-y:auto;padding:24px}.onboarding-features{margin-bottom:20px}.onboarding-features h3{color:#e0e0e0;font-size:1.1rem;font-weight:600;margin-bottom:12px}.onboarding-features ul{list-style:none;margin:0;padding:0}.onboarding-features li{color:#b0b0b0;font-size:.9rem;line-height:1.3;padding:6px 0 6px 20px;position:relative}.onboarding-features li:before{color:#667eea;content:"✓";font-size:1rem;font-weight:700;left:0;position:absolute}.onboarding-trial-info{background:#2a2a2a;border:1px solid #333;border-radius:10px;margin-bottom:20px;padding:20px;text-align:center}.trial-badge{align-items:center;background:linear-gradient(135deg,#278fff,#393bb0);border-radius:25px;display:inline-flex;gap:6px;margin-bottom:12px;padding:10px 16px}.trial-days{color:#fff;font-size:1.3rem;font-weight:700}.trial-text{color:#fff;font-size:.85rem;font-weight:500}.onboarding-trial-info p{color:#b0b0b0;font-size:.9rem;line-height:1.4;margin:0}.onboarding-actions{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.onboarding-btn{border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:600;overflow:hidden;padding:14px 20px;position:relative;transition:all .2s ease}.onboarding-btn:hover{box-shadow:0 8px 25px #0000004d;transform:translateY(-2px)}.onboarding-btn:active{transform:translateY(0)}.onboarding-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.onboarding-btn-trial{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;font-size:1rem;padding:16px 20px}.onboarding-btn-trial:hover:not(:disabled){box-shadow:0 6px 20px #28a74566}.onboarding-btn-purchase{background:linear-gradient(135deg,#278fff,#393bb0);color:#fff}.onboarding-btn-purchase:hover{box-shadow:0 6px 20px #667eea66}.onboarding-btn-license{background:linear-gradient(135deg,#6f42c1,#8b5cf6);color:#fff}.onboarding-btn-license:hover{box-shadow:0 6px 20px #8b5cf666}.onboarding-btn-exit{background:#0000;border:1px solid #444;color:#888;font-size:.9rem;padding:12px 20px}.onboarding-btn-exit:hover{background:#333;box-shadow:0 4px 12px #0003;color:#ccc}.onboarding-help{border-top:1px solid #333;padding-top:12px;text-align:center}.onboarding-help p{color:#888;font-size:.85rem;line-height:1.3;margin:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:768px){.onboarding-overlay{padding:10px}.onboarding-container{max-width:100%}.onboarding-header{padding:20px 16px 16px}.onboarding-logo h1{font-size:1.75rem}.onboarding-subtitle{font-size:.95rem}.onboarding-content{padding:20px 16px}.onboarding-features{margin-bottom:16px}.onboarding-trial-info{margin-bottom:16px;padding:16px}.onboarding-actions{margin-bottom:12px}.onboarding-btn{font-size:.9rem;padding:12px 16px}.onboarding-btn-trial{padding:14px 16px}}@media (max-height:700px){.onboarding-overlay{align-items:flex-start;padding:10px}.onboarding-container{margin-top:10px}.onboarding-header{padding:16px 20px 12px}.onboarding-logo h1{font-size:1.75rem}.onboarding-content{padding:16px 20px}.onboarding-features{margin-bottom:12px}.onboarding-trial-info{margin-bottom:12px;padding:16px}.onboarding-actions{gap:8px;margin-bottom:12px}.onboarding-btn{padding:12px 16px}.onboarding-btn-trial{padding:14px 16px}}*{-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;box-sizing:border-box;margin:0;padding:0;-webkit-user-select:none;user-select:none}body{background:#1a1a1a;color:#fff;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;overflow:hidden}[contenteditable=true],code,input,pre,textarea{-webkit-user-select:text!important;user-select:text!important}img{-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;pointer-events:none}.panel-button img,.primitive-button img,.toolbar-button img,button img{pointer-events:auto}.App{width:100vw}.App,.editor-container{display:flex;height:100vh;position:relative}.editor-container{overflow:hidden;width:100%}body.has-menu-bar .editor-container{height:100%}.viewport-container{background:#2a2a2a;display:flex;flex:1 1;flex-direction:column;min-width:0;position:relative}.sidebar{border-left:1px solid #333;min-width:280px;overflow:hidden;width:280px}.basic-tools-area,.sidebar{background:#1e1e1e;display:flex;flex-direction:column;height:100vh}.basic-tools-area{position:relative;width:40px;z-index:10}.basic-tools-area,.material-editor-panel{border-right:1px solid #333;flex-shrink:0}.material-editor-panel{background:#1e1e1e;display:flex;flex-direction:column;height:100vh;left:0;overflow:hidden;position:absolute;top:0;transition:all .3s ease-in-out}.panel-button{align-items:center;background:#1e1e1e;border:none;border-bottom:1px solid #333;cursor:pointer;display:flex;height:40px;justify-content:center;padding:0;transition:background-color .2s ease;width:40px}.panel-button:hover{background:#2a2a2a}.panel-button.active{background:#1e1e1e;border-right:2px solid #0078d4}.panel-button img{filter:brightness(.8);height:24px;transition:filter .2s ease;width:24px}.panel-button.active img,.panel-button:hover img{filter:brightness(1)}.panel-header{background:#2a2a2a;border-bottom:1px solid #333;cursor:pointer;flex-shrink:0;-webkit-user-select:none;user-select:none}.layer-item{background:#3a3a3a;border:1px solid #555;border-radius:4px;margin-bottom:8px;padding:8px}.toolbar{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#282828b3;border-bottom:1px solid #ffffff1a;box-shadow:0 2px 5px #0000001a;display:flex;flex-shrink:0;gap:8px;height:50px;min-height:50px;overflow-x:auto;overflow-y:hidden;padding:0 12px}.properties-panel{flex:1 1;height:0;overflow-y:auto;padding:12px}.panel-section{margin-bottom:16px}.panel-section:last-child{margin-bottom:20px}.panel-section h3{color:#fff;font-size:13px;font-weight:600;letter-spacing:.5px;margin-bottom:10px;text-transform:uppercase}.property-group{background:#2a2a2a;border-radius:4px;margin-bottom:8px;padding:8px}.property-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.property-row:last-child{margin-bottom:0}.property-label{color:#ccc;font-size:11px;min-width:70px}.property-input{background:#333;border:1px solid #555;border-radius:3px;color:#fff;font-size:11px;padding:3px 6px;width:55px}.property-input:focus{border-color:#0078d4;outline:none}.toggle-switch{display:inline-block;height:18px;position:relative;width:36px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:#555;border-radius:18px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:2px;content:"";height:14px;left:2px;position:absolute;transition:.3s;width:14px}input:checked+.toggle-slider{background-color:#4fc3f7}input:checked+.toggle-slider:before{transform:translateX(18px)}input[type=range]{-webkit-appearance:none;appearance:none;background:#555;border-radius:2px;height:4px;outline:none;width:100%}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#4fc3f7;border-radius:50%;cursor:pointer;height:12px;width:12px}input[type=range]::-moz-range-thumb{background:#4fc3f7;border:none;border-radius:50%;cursor:pointer;height:12px;width:12px}input[type=range]:focus{outline:none}.toolbar-button{background:#3a3a3a;border:1px solid #555;border-radius:3px;color:#fff;cursor:pointer;flex-shrink:0;font-size:11px;padding:0 8px;transition:all .2s ease;white-space:nowrap}.toolbar-button:hover{background:#4a4a4a;border-color:#666}.toolbar-button.active{background:#0078d4;border-color:#0078d4}.primitives-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(2,1fr);margin-top:8px}.primitive-button{word-wrap:break-word;align-items:center;background:#3a3a3a;border:1px solid #555;border-radius:3px;color:#fff;cursor:pointer;display:flex;flex-direction:column;font-size:9px;-webkit-hyphens:auto;hyphens:auto;justify-content:center;line-height:1.1;min-height:75px;overflow-wrap:break-word;padding:8px 4px;text-align:center;transition:all .2s ease}.primitive-button:hover{background:#4a4a4a;border-color:#666}.material-preview{border:1px solid #555;border-radius:3px;flex-shrink:0;height:30px;margin-right:8px;width:30px}.material-item{align-items:center;border-radius:3px;cursor:pointer;display:flex;margin-bottom:3px;padding:6px;transition:background .2s ease}.material-item:hover{background:#3a3a3a}.panel-control-buttons{flex-shrink:0}.panel-control-buttons button{transition:all .2s ease}.panel-control-buttons button:hover{background:#3a3a3a!important;border-color:#666!important}.panel-control-buttons button.active,.panel-control-buttons button.toolbar-button.active{background:#0078d4!important;border-color:#0078d4!important}.scene-hierarchy{border-bottom:1px solid #333;flex:1 1;margin-bottom:30px;min-height:0;overflow-y:auto;padding:12px}.hierarchy-item{align-items:center;border-radius:2px;cursor:pointer;display:flex;font-size:11px;margin-bottom:1px;padding:3px 6px}.hierarchy-item:hover{background:#3a3a3a}.hierarchy-item.selected{background:#0078d4}.hierarchy-item.locked{color:#999;font-style:italic}.hierarchy-icon{align-items:center;display:flex;font-size:12px;height:16px;justify-content:center;margin-right:6px;width:16px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#1e1e1e}::-webkit-scrollbar-thumb{background:#555;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#666}.loading-indicator{color:#888}.error-message,.loading-indicator{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.error-message{color:#ff6b6b;text-align:center}.floating-properties-panel{background:#1e1e1e;border:1px solid #444;border-radius:6px;box-shadow:0 4px 16px #0000004d;position:fixed;z-index:1000}.floating-properties-panel .properties-panel{background:#0000;border:none;height:auto;overflow:visible;padding:0}.floating-properties-panel .panel-section{border-bottom:1px solid #333;margin-bottom:0}.floating-properties-panel .panel-section:last-child{border-bottom:none;margin-bottom:20px}.floating-rendering-settings-panel,.floating-scene-manager-panel,.floating-shortcuts-panel{background:#1e1e1e;border:1px solid #444;border-radius:6px;box-shadow:0 4px 16px #0000004d;color:#ccc;position:fixed;z-index:1000}.floating-panel-header{align-items:center;background:#2a2a2a;border-bottom:1px solid #555;border-radius:6px 6px 0 0;cursor:move;display:flex;justify-content:space-between;padding:8px 12px;-webkit-user-select:none;user-select:none}.floating-panel-header h3{color:#fff;font-size:14px;font-weight:500;margin:0}.floating-panel-controls{align-items:center;display:flex;gap:8px}.floating-panel-button{background:none;border:none;border-radius:3px;color:#ccc;cursor:pointer;font-size:12px;padding:2px 6px;transition:background-color .2s}.floating-panel-button:hover{background:#555}.floating-panel-resize-handle{background:linear-gradient(-45deg,#0000,#0000 30%,#666 0,#666 50%,#0000 0,#0000 80%,#666 0);border-radius:0 0 6px 0;bottom:0;cursor:se-resize;height:12px;position:absolute;right:0;width:12px}.floating-panel-minimize-button{background:#2a2a2a;border:1px solid #555;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:8px 12px;position:fixed;right:10px;top:10px;transition:background-color .2s;-webkit-user-select:none;user-select:none;z-index:1000}.floating-panel-minimize-button:hover{background:#3a3a3a}@media (max-width:768px){.sidebar{min-width:240px;width:240px}.toolbar{gap:6px;height:45px;padding:0 8px}.properties-panel{padding:8px}.basic-tools-area{display:none}.material-editor-panel{visibility:hidden!important;width:0!important}}