@media (min-width:769px){canvas{cursor:grab;cursor:-webkit-grab;cursor:-moz-grab}canvas:active{cursor:grabbing;cursor:-webkit-grabbing;cursor:-moz-grabbing}.main-content canvas{cursor:grab;cursor:-webkit-grab;cursor:-moz-grab}.main-content canvas:active{cursor:grabbing;cursor:-webkit-grabbing;cursor:-moz-grabbing}}.boxLogo{position:absolute;z-index:9;padding:20px}.logo{gap:6px;text-decoration:none}.logo,.logo-icon{display:flex;align-items:center}.logo-icon{background:linear-gradient(135deg,#2563eb,#9333ea 50%,#4f46e5);padding:6px;border-radius:10px;justify-content:center}.logo-text{color:#343335;font-size:1.5rem;font-weight:700}.control-panel::-webkit-scrollbar{width:6px}.control-panel::-webkit-scrollbar-track{background:rgba(248,250,252,.5)}.control-panel::-webkit-scrollbar-thumb{background:rgba(203,213,225,.8);border-radius:3px}.control-panel::-webkit-scrollbar-thumb:hover{background:rgba(148,163,184,.8)}.app-container{display:flex;height:100vh;width:100vw}.main-content{flex:1 1;position:relative}.sidebar{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:100;background:rgba(255,255,255,.95);border:1px solid rgba(255,255,255,.2);border-radius:16px;box-shadow:0 8px 32px rgba(0,0,0,.12);flex-direction:column;max-height:calc(100vh - 40px);transition:transform .3s cubic-bezier(.4,0,.2,1);position:fixed;top:20px;left:calc(100% - 410px);right:auto;overflow:hidden;transform:translateX(0);padding:10px;display:flex;gap:15px}.sidebar-logo{font-size:28px;font-weight:700;margin-bottom:20px;text-align:center}.sidebar-tab-button{background:#f0f0f0;width:44px;height:44px;border:none;background:transparent;color:#888;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;transition:all .3s ease;font-size:10px;font-weight:600}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;transition:opacity .3s ease-out}.loading-spinner{width:60px;height:60px;border:4px solid rgba(139,92,246,.2);border-top-color:#8b5cf6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.loading-text{color:#666;font-size:16px;font-weight:500;text-align:center;opacity:.8}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.loading-overlay.fade-out{animation:fadeOut .3s ease-out forwards}.sidebar-tab-button.active{background:linear-gradient(135deg,#2563eb,#9333ea 50%,#4f46e5);color:#ffffff}.sidebar-tab-button:not(.active):hover{background:#f0f0f0}.sidebar-actions{margin-top:auto;display:flex;flex-direction:column;gap:10px;align-items:center;border-top:1px solid #f0f0f0;padding-top:20px}.sidebar-icon-button{width:44px;height:44px;border:none;background:#f0f0f0;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:#666}.sidebar-icon-button:hover{background:linear-gradient(135deg,#2563eb,#9333ea 50%,#4f46e5);color:white}.modal-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999}.modal-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:white;padding:35px;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.3);z-index:1000;min-width:320px}.modal-close-button{position:absolute;top:15px;right:15px;width:32px;height:32px;border:none;background:#f0f0f0;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.modal-close-button:hover{background:#e0e0e0}.modal-title{margin-top:0;margin-bottom:10px;font-size:24px;font-weight:700;color:#333}.modal-description{margin-bottom:25px;font-size:13px;color:#666;line-height:1.5}.modal-button-container{display:flex;flex-direction:column;gap:0}.export-button{width:100%;padding:14px 20px;border:none;background:linear-gradient(135deg,#4f46e5,#764ba2);color:white;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .2s ease;margin-bottom:10px}.export-button:hover{transform:translateY(-2px)}.export-button-subtitle{font-size:11px;opacity:.8}.export-cancel-button{width:100%;padding:14px 20px;border:none;background:#f0f0f0;color:#666;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .2s ease;margin-top:5px}.stats-display{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;background:rgba(255,255,255,.95);border-radius:12px;min-width:160px;padding:15px 20px;font-size:13px;position:absolute;bottom:92px;left:6%;transform:translateX(-52%)}.stats-title{font-weight:600;margin-bottom:8px;color:#4f46e5}.stats-item{color:#666}.top-controls{z-index:10;gap:15px;display:flex;position:absolute;top:auto;bottom:15px;left:6.5%;transform:translateX(-50%)}.control-group{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(255,255,255,.95);border-radius:10px;align-items:center;gap:5px;padding:7px;display:flex;box-shadow:0 4px 20px rgba(0,0,0,.1)}.color-control-label{font-size:13px;color:#555;font-weight:500}.color-input{padding:10px;transition:border-color .2s ease}.section{background:white;padding:18px;border-radius:12px;margin-bottom:15px;box-shadow:0 2px 8px rgba(0,0,0,.05)}.section-title{font-size:15px;font-weight:700;color:#333;margin-bottom:10px}.divider{height:1px;background:linear-gradient(90deg,transparent,#e0e0e0,transparent);margin:8px 0}.button-row{display:flex;gap:8px;margin-bottom:10px}.button-row-item{flex:1 1}.button{width:100%;padding:10px;border:2px solid #e0e0e0;background:white;color:#666;border-radius:8px;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px}.button:hover{border-color:#4f46e5;color:#4f46e5}.button.active{background:linear-gradient(135deg,#4f46e5,#764ba2);color:white;border-color:transparent}.button-text{flex:1 1}.control-panel{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:100;background:rgba(255,255,255,.95);border-radius:16px;box-shadow:0 8px 32px rgba(0,0,0,.12);border:1px solid rgba(255,255,255,.2);flex-direction:column;max-height:calc(100vh - 40px);width:350px;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:20px;right:20px;overflow-y:auto;transform:translateX(0);max-width:315px;padding:20px}.selector-container{margin-bottom:14px}.selector-label{display:block;font-size:12px;margin-bottom:8px;color:#444;font-weight:600}.button-grid-3{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.button-grid-2{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:8px;gap:8px}.style-button{padding:8px 12px;border:2px solid #e0e0e0;background:white;border-radius:8px;cursor:pointer;font-size:11px;font-weight:600;color:#666;transition:all .2s ease;text-transform:capitalize}.style-button:hover{border-color:#4f46e5;background:#f8f9ff}.style-button.active{color:#ffffff;background:#4f46e5;border-color:#4f46e5}.upload-area{border:2px dashed #4f46e5;border-radius:12px;padding:30px;text-align:center;background:#f8f9ff;cursor:pointer;transition:all .2s ease;margin-bottom:15px}.upload-area:hover{border-color:#764ba2;background:#f0f3ff}.upload-area-small{border:2px dashed #4f46e5;border-radius:12px;padding:20px;text-align:center;background:#f8f9ff;cursor:pointer;transition:all .2s ease;margin-bottom:12px}.upload-area-small:hover{border-color:#764ba2}.upload-label{cursor:pointer;display:block}.upload-icon{margin-bottom:10px}.upload-icon-small{margin-bottom:8px}.upload-title{font-size:14px}.upload-title,.upload-title-small{font-weight:600;color:#4f46e5;margin-bottom:4px}.upload-title-small{font-size:13px}.upload-subtitle{font-size:11px;color:#888}.upload-subtitle-small{font-size:10px;color:#888}.success-message{padding:12px;font-size:12px;margin-bottom:15px}.success-message,.success-message-small{background:#e8f5e9;border-radius:8px;color:#2e7d32;display:flex;align-items:center;gap:8px}.success-message-small{padding:10px;font-size:11px;margin-bottom:12px}.image-info-box{padding:10px;background:#f5f5f5;border-radius:8px;font-size:11px;color:#666;margin-bottom:15px}.image-info-title{font-weight:600;margin-bottom:4px}.tip-box{padding:12px;background:#fff3e0;border-radius:8px;font-size:11px;color:#e65100;line-height:1.5;margin-bottom:15px}.empty-state{padding:20px;text-align:center;color:#999;font-size:13px;margin-top:20px}.empty-state-icon{font-size:40px;margin-bottom:10px}.material-type-grid{grid-template-columns:1fr 1fr 1fr 1fr;grid-gap:5px;gap:5px;margin-bottom:10px;display:grid}.material-type-button{padding:14px 12px;border:2px solid #e0e0e0;background:white;border-radius:8px;cursor:pointer;font-size:12px;font-weight:600;color:#666;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:6px}.material-type-button:hover{border-color:#4f46e5;background:#f8f9ff}.material-type-button.active{border-color:#4f46e5;background:#f0f3ff;color:#4f46e5}.material-type-icon{font-size:20px}.material-info-box{padding:12px;border-radius:8px;font-size:11px;color:#666;margin-bottom:15px}.material-info-box.glass{background:#e3f2fd}.material-info-box.solid{background:#f3e5f5}.material-info-box.steel{background:#eceff1}.liquid-info-box{background:#e8f5e9;color:#2e7d32;display:flex;align-items:center;gap:8px}.glass-mode-info,.liquid-info-box{padding:12px;border-radius:8px;font-size:11px;line-height:1.5;margin-bottom:15px}.glass-mode-info{background:#fff8e1;color:#f57f17}.presets-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-bottom:20px}.preset-button{padding:18px 12px;border:2px solid #e0e0e0;background:white;border-radius:12px;cursor:pointer;font-size:13px;font-weight:600;color:#666;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:8px}.preset-button:hover{background:#f0f3ff;border-color:#4f46e5;color:#4f46e5;transform:translateY(-3px);box-shadow:0 6px 20px rgba(102,126,234,.2)}.preset-icon{font-size:32px}.info-box-purple{background:#f3e5f5;color:#6a1b9a}.info-box-green,.info-box-purple{padding:12px;border-radius:8px;font-size:11px;margin-bottom:15px;line-height:1.5}.info-box-green{background:#e8f5e9;color:#2e7d32}.info-box-yellow{padding:12px;background:#fff8e1;border-radius:8px;font-size:11px;color:#f57f17;margin-bottom:15px;line-height:1.5}.save-preset-button{width:100%;padding:16px;border:none;background:linear-gradient(135deg,#4f46e5,#764ba2);color:white;border-radius:12px;cursor:pointer;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .2s ease;box-shadow:0 4px 12px rgba(102,126,234,.3);margin-bottom:20px}.save-preset-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(102,126,234,.4)}.saved-presets-list{display:flex;flex-direction:column;gap:8px}.saved-preset-item{padding:14px 16px;border:2px solid #e0e0e0;background:white;border-radius:10px;cursor:pointer;font-size:13px;font-weight:600;color:#666;transition:all .2s ease;text-align:left;display:flex;align-items:center;gap:12px}.saved-preset-item:hover{background:#f0f3ff;border-color:#4f46e5;color:#4f46e5;transform:translateX(4px)}.saved-preset-content{flex:1 1}.saved-preset-name{font-size:13px;font-weight:600;margin-bottom:2px}.saved-preset-date{font-size:10px;color:#999;font-weight:400;margin-top:2px}.empty-presets-state{padding:40px;text-align:center;color:#999;font-size:13px}.empty-presets-icon{font-size:48px;margin-bottom:12px;display:inline-block}.empty-presets-title{font-weight:600;margin-bottom:6px}.empty-presets-description{font-size:11px;line-height:1.5}.workflow-tip-box{padding:16px;background:linear-gradient(135deg,#f093fb,#f5576c);border-radius:12px;color:white;font-size:11px;line-height:1.6;text-align:center;margin-top:20px}.workflow-tip-icon{font-size:20px;margin-bottom:6px;display:block}.scene-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-bottom:15px}.scene-grid-2col{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.scene-camera-button{padding:12px;border:2px solid #e0e0e0;background:white;border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:left;font-size:12px}.scene-camera-button:hover{border-color:#4f46e5;transform:translateY(-2px)}.scene-icon-margin{margin-bottom:6px;display:inline-block}.scene-button-title{font-weight:600;color:#333;margin-bottom:4px}.scene-button-description{color:#9b9b9b;margin-top:4px;font-size:10px;font-weight:400}.scene-section-title{font-size:12px;font-weight:600;color:#888;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.scene-lighting-container{display:flex;flex-direction:column;gap:8px}.scene-lighting-button{padding:14px;border:2px solid #e0e0e0;background:white;border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:left}.scene-lighting-button.active{border-color:#4f46e5;background:linear-gradient(135deg,rgba(102,126,234,.1),rgba(118,75,162,.1))}.scene-lighting-button:hover{border-color:#4f46e5}.scene-lighting-header{display:flex;align-items:center;gap:10px}.scene-lighting-text{flex:1 1}.scene-lighting-title{font-weight:600;color:#333;margin-bottom:4px;font-size:13px}.scene-lighting-description{font-size:10px;color:#999;font-weight:400;margin-top:2px}.scene-info-box-yellow{background:#fff8e1;color:#f57f17}.scene-info-box-blue,.scene-info-box-yellow{padding:12px;border-radius:8px;font-size:11px;margin-bottom:15px;line-height:1.5}.scene-info-box-blue{background:#e3f2fd;color:#1565c0}.scene-pro-tip{padding:16px;background:linear-gradient(135deg,#4f46e5,#764ba2);border-radius:12px;color:white;font-size:12px;line-height:1.6;text-align:center;margin-top:20px}.scene-pro-tip-icon{font-size:24px;margin-bottom:8px;display:block}.scene-renderer-container{width:100%;height:100%}.slider-control{margin-bottom:15px}.slider-label{display:block;font-size:13px;margin-bottom:8px;color:#555;font-weight:500}.slider-input{width:100%;height:6px;border-radius:3px;background:#e0e0e0;outline:none;-webkit-appearance:none}.slider-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,#4f46e5,#764ba2);cursor:pointer}.slider-input::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,#4f46e5,#764ba2);cursor:pointer;border:none}.info-box{padding:12px;border-radius:8px;font-size:11px;line-height:1.5;display:flex;align-items:flex-start;gap:8px;margin-bottom:15px}.info-box.info{background:#e3f2fd;color:#1565c0}.info-box.success{background:#e8f5e9;color:#2e7d32}.info-box.warning{background:#fff8e1;color:#f57f17}.info-box.error{background:#ffebee;color:#c62828}.info-box-icon{flex-shrink:0}.info-box-content{flex:1 1}.badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge.primary{background:#4f46e5;color:white}.badge.success{background:#4caf50;color:white}.badge.warning{background:#ff9800;color:white}.badge.danger{background:#f44336;color:white}.badge.info{background:#2196f3;color:white}.badge.gray{background:#9e9e9e;color:white}.card{padding:16px;border:2px solid #e0e0e0;background:white;border-radius:8px;transition:all .2s ease}.card.hoverable{cursor:pointer}.card.hoverable:hover{border-color:#4f46e5;background:#f8f9ff;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}@media (max-width:768px){.sidebar{width:60px;padding:15px 0}.sidebar-tab-button{width:50px;height:50px;font-size:8px}.control-panel{width:280px}.button-grid-3,.material-type-grid{grid-template-columns:1fr 1fr}.presets-grid{grid-template-columns:1fr}}.slider-control{margin-bottom:14px}.slider-control-label{display:block;font-size:12px;margin-bottom:4px;color:#444;font-weight:400}.slider-control-value{font-weight:600;color:#4F46E5;margin-left:2px}.slider-control-input{background:rgb(128 95 245);width:100%;height:1px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:all .2s ease}.slider-control-input::-webkit-slider-track{background:#e0e0e0}.slider-control-input::-moz-range-track{width:100%;height:6px;border-radius:3px;background:#e0e0e0}.slider-control-input::-webkit-slider-thumb{appearance:none;width:18px;height:18px;background:linear-gradient(135deg,#4f46e5,#764ba2);box-shadow:0 2px 6px rgba(102,126,234,.3)}.slider-control-input::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,#4f46e5,#764ba2);cursor:pointer;border:none;box-shadow:0 2px 6px rgba(102,126,234,.3);-moz-transition:all .2s ease;transition:all .2s ease}.slider-control-input::-ms-thumb{width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,#4f46e5,#764ba2);cursor:pointer;box-shadow:0 2px 6px rgba(102,126,234,.3)}.slider-control-input:hover::-webkit-slider-thumb{transform:scale(1.1);box-shadow:0 3px 10px rgba(102,126,234,.5)}.slider-control-input:hover::-moz-range-thumb{transform:scale(1.1);box-shadow:0 3px 10px rgba(102,126,234,.5)}.slider-control-input:active::-webkit-slider-thumb,.slider-control-input:focus::-webkit-slider-thumb{transform:scale(1.15);box-shadow:0 4px 14px rgba(102,126,234,.6)}.slider-control-input:active::-moz-range-thumb,.slider-control-input:focus::-moz-range-thumb{transform:scale(1.15);box-shadow:0 4px 14px rgba(102,126,234,.6)}.range-input{-webkit-appearance:none;background:rgb(128 95 245);outline:none;width:100%;height:1px}.slider-control-input::-webkit-slider-track{width:100%;height:6px;background:linear-gradient(90deg,rgba(229,231,235,.8),rgb(31 121 255/80%));border-radius:3px}.slider-control-input::-webkit-slider-thumb{-webkit-appearance:none;height:20px;width:20px;border-radius:50%;background:linear-gradient(135deg,#3a59ea,#8935e9);cursor:pointer;border:3px solid #ffffff;box-shadow:0 2px 8px rgba(99,102,241,.3);-webkit-transition:all .2s ease;transition:all .2s ease}.slider-control-input::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 4px 16px rgba(99,102,241,.4)}.slider-control-description{font-size:10px;color:#888;margin-top:2px;line-height:1.4}.color-control-label{display:block;font-size:12px;margin-bottom:8px;color:#444;font-weight:600}.color-control-container{display:flex;gap:10px;align-items:center}.color-picker{width:50px;height:50px;border:3px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s ease;padding:0;background:none}.color-picker:hover{border-color:#4f46e5;transform:scale(1.05);box-shadow:0 2px 8px rgba(102,126,234,.2)}.color-picker:active,.color-picker:focus{outline:none;border-color:#4F46E5;box-shadow:0 0 0 3px rgba(79,70,229,.1)}.color-input{flex:1 1;padding:10px 12px;border:2px solid #e0e0e0;border-radius:8px;font-size:13px;font-family:Courier New,monospace;transition:all .2s ease;color:#333;background:white}.color-input:hover{border-color:#c0c0c0}.color-input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px rgba(102,126,234,.1)}.color-input::placeholder{color:#aaa}.input-text{width:100%;padding:10px 12px;border:2px solid #e0e0e0;border-radius:8px;font-size:13px;transition:all .2s ease;color:#333;background:white;font-family:inherit}.input-text:hover{border-color:#c0c0c0}.input-text:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px rgba(102,126,234,.1)}.input-text::placeholder{color:#aaa}.input-text:disabled{background:#f5f5f5;color:#999;cursor:not-allowed;border-color:#e0e0e0}.input-number{width:100%;padding:10px 12px;border:2px solid #e0e0e0;border-radius:8px;font-size:13px;transition:all .2s ease;color:#333;background:white;font-family:Courier New,monospace}.input-number:hover{border-color:#c0c0c0}.input-number:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px rgba(102,126,234,.1)}.input-number::-webkit-inner-spin-button,.input-number::-webkit-outer-spin-button{opacity:.5}.input-textarea{width:100%;padding:10px 12px;border:2px solid #e0e0e0;border-radius:8px;font-size:13px;transition:all .2s ease;color:#333;background:white;font-family:inherit;resize:vertical;min-height:80px}.input-textarea:hover{border-color:#c0c0c0}.input-textarea:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px rgba(102,126,234,.1)}.input-textarea::placeholder{color:#aaa}.input-select{width:100%;border:2px solid #e0e0e0;border-radius:8px;font-size:13px;transition:all .2s ease;color:#333;background:white url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E") no-repeat right 12px center;background-size:12px;padding:10px 36px 10px 12px;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none}.input-select:hover{border-color:#c0c0c0}.input-select:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px rgba(102,126,234,.1)}.input-select:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}.input-checkbox{width:18px;height:18px;border:2px solid #e0e0e0;border-radius:4px;cursor:pointer;transition:all .2s ease;accent-color:#4f46e5}.input-checkbox:hover{border-color:#4f46e5}.input-checkbox:focus{outline:none;box-shadow:0 0 0 3px rgba(102,126,234,.1)}.input-checkbox:checked{border-color:#4f46e5;background:#4f46e5}.input-radio{width:18px;height:18px;border:2px solid #e0e0e0;cursor:pointer;transition:all .2s ease;accent-color:#4f46e5}.input-radio:hover{border-color:#4f46e5}.input-radio:focus{outline:none;box-shadow:0 0 0 3px rgba(102,126,234,.1)}.input-file{display:none}.input-file-label{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:2px solid #e0e0e0;border-radius:8px;background:white;color:#666;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.input-file-label:hover{border-color:#4f46e5;background:#f8f9ff;color:#4f46e5}.input-search{width:100%;padding:10px 12px 10px 36px;border:2px solid #e0e0e0;border-radius:20px;font-size:13px;transition:all .2s ease;color:#333;background:white}.input-search:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px rgba(102,126,234,.1)}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#e0e0e0;transition:.3s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:white;transition:.3s;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.toggle-switch input:checked+.toggle-slider{background:linear-gradient(135deg,#4f46e5,#764ba2)}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(20px)}.toggle-switch input:focus+.toggle-slider{box-shadow:0 0 0 3px rgba(102,126,234,.1)}.input-group{display:flex;align-items:center;gap:0;position:relative}.input-group-addon{padding:10px 12px;background:#f5f5f5;border:2px solid #e0e0e0;border-right:none;border-radius:8px 0 0 8px;font-size:13px;color:#666;display:flex;align-items:center}.input-group .input-text{border-radius:0 8px 8px 0}.input-group-icon{position:absolute;left:12px;color:#888;pointer-events:none}.input-group.has-icon .input-text{padding-left:36px}.input-number.is-valid,.input-select.is-valid,.input-text.is-valid,.input-textarea.is-valid{border-color:#4caf50}.input-number.is-valid:focus,.input-select.is-valid:focus,.input-text.is-valid:focus,.input-textarea.is-valid:focus{box-shadow:0 0 0 3px rgba(76,175,80,.1)}.input-number.is-invalid,.input-select.is-invalid,.input-text.is-invalid,.input-textarea.is-invalid{border-color:#f44336}.input-number.is-invalid:focus,.input-select.is-invalid:focus,.input-text.is-invalid:focus,.input-textarea.is-invalid:focus{box-shadow:0 0 0 3px rgba(244,67,54,.1)}.input-wrapper{margin-bottom:14px}.input-label{display:block;font-size:12px;margin-bottom:6px;color:#444;font-weight:600}.input-label.required:after{content:" *";color:#f44336}.input-feedback{margin-top:4px;font-size:11px;line-height:1.4}.input-feedback.is-valid{color:#4caf50}.input-feedback.is-invalid{color:#f44336}.input-number.input-sm,.input-select.input-sm,.input-text.input-sm{padding:6px 10px;font-size:12px}.input-number.input-lg,.input-select.input-lg,.input-text.input-lg{padding:14px 16px;font-size:14px}.accordion-tab-button.active{background:rgba(102,126,234,.08)}.panel-active-title{font-size:18px;font-weight:600;color:#1f2937;padding:12px 0 16px;margin-bottom:8px;border-bottom:1px solid #e5e7eb}.accordion-tabs{display:flex;gap:8px;border-bottom:2px solid #e5e7eb;padding-bottom:0}.accordion-tab-button{flex:1 1;display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 16px;background:transparent;border:none;border-bottom:3px solid transparent;color:#6b7280;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;position:relative;bottom:-2px}.accordion-tab-button:hover{color:#4f46e5;background:rgba(102,126,234,.05)}.accordion-tab-button.active{color:#4f46e5;background:#4f46e50d;border-bottom-color:#4f46e5;font-weight:600}.accordion-tab-button svg{transition:transform .2s ease}.accordion-content{animation:slideDown .3s ease-out;padding-top:12px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.accordion-tabs{flex-direction:column;gap:4px;border-bottom:none}.accordion-tab-button{justify-content:space-between;border:1px solid #e5e7eb;border-radius:8px;bottom:0}.accordion-tab-button.active{border-color:#4f46e5;border-width:2px}}.control-panel-save-container{position:fixed;bottom:0;right:0;width:400px;padding:16px;background:white;border-top:2px solid #e5e7eb;box-shadow:0 -4px 12px rgba(0,0,0,.05);z-index:100}.control-panel-save-button{width:100%;padding:14px 20px;background:linear-gradient(135deg,#4f46e5,#764ba2);color:white;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s;box-shadow:0 4px 12px rgba(102,126,234,.3)}.control-panel-save-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(102,126,234,.4)}.control-panel-save-button:active{transform:translateY(0)}.control-panel-content-wrapper{padding-bottom:80px}.save-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.save-modal-container{position:relative;background:white;border-radius:16px;padding:32px;max-width:500px;width:90%;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.save-modal-close-button{position:absolute;top:16px;right:16px;width:32px;height:32px;padding:0;background:#f3f4f6;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.save-modal-close-button:hover{background:#e5e7eb;transform:rotate(90deg)}.save-modal-title{margin:0 0 12px;font-size:24px;font-weight:700;color:#111827}.save-modal-description{margin:0 0 24px;font-size:14px;line-height:1.6;color:#6b7280}.save-modal-input-group{margin-bottom:24px}.save-modal-label{display:block;margin-bottom:8px;font-size:14px;font-weight:600;color:#374151}.save-modal-input{width:100%;padding:12px 16px;font-size:15px;border:2px solid #e5e7eb;border-radius:8px;outline:none;transition:border-color .2s;font-family:inherit}.save-modal-input:focus{border-color:#4f46e5}.save-modal-input::placeholder{color:#9ca3af}.save-modal-hint{margin-top:6px;font-size:12px;color:#6b7280;display:flex;align-items:flex-start;gap:4px}.save-modal-button-container{display:flex;flex-direction:column;gap:12px}.save-modal-save-button{width:100%;padding:14px 20px;background:linear-gradient(135deg,#4f46e5,#764ba2);color:white;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s;box-shadow:0 4px 12px rgba(102,126,234,.3)}.save-modal-save-button:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(102,126,234,.4)}.save-modal-save-button:active{transform:translateY(0)}.save-modal-button-content{display:flex;flex-direction:column;align-items:flex-start;flex:1 1}.save-modal-button-title{font-size:15px;font-weight:600}.save-modal-button-subtitle{font-size:12px;color:rgba(255,255,255,.8);margin-top:2px}.save-modal-cancel-button{width:100%;padding:12px 20px;background:white;color:#6b7280;border:2px solid #e5e7eb;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.save-modal-cancel-button:hover{background:#f9fafb;border-color:#d1d5db;color:#374151}@media (max-width:768px){.control-panel-save-container{width:100%;right:0;left:0}.save-modal-container{width:95%;padding:24px}.save-modal-title{font-size:20px}.loading-spinner{width:50px;height:50px;border-width:3px}.loading-text{font-size:14px}}.control-panel-content-wrapper::-webkit-scrollbar{width:8px}.control-panel-content-wrapper::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.control-panel-content-wrapper::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.control-panel-content-wrapper::-webkit-scrollbar-thumb:hover{background:#9ca3af}.reset-btn-main{flex:1 1;width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;color:#374151;background:rgba(75,85,99,.1);border:1px solid rgba(107,114,128,.3);border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;min-height:44px}.reset-btn-main:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.reset-btn-main:active{transform:translateY(0)}@media (max-width:768px){.app-container{flex-direction:column}.logo-text{font-size:1.2rem}.sidebar{position:fixed;top:auto;bottom:0;left:0;right:0;transform:none;flex-direction:row;width:100%;max-width:100%;max-height:none;padding:12px 16px;gap:8px;border-radius:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;z-index:1001;background:rgba(255,255,255,.98);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);justify-content:center}.sidebar::-webkit-scrollbar{display:none}.sidebar-actions{display:none!important}.sidebar-tab-button{min-width:60px;width:auto;height:50px;flex-shrink:0;font-size:9px;padding:8px 12px}.sidebar-icon-button{width:50px;height:50px;flex-shrink:0}.control-panel{position:fixed;top:auto;bottom:-45vh;left:0;right:0;width:100%;height:45vh;max-height:45vh;border-radius:20px 20px 0 0;box-shadow:0 -8px 32px rgba(0,0,0,.2);overflow-y:auto;overflow-x:hidden;z-index:1000;background:white;padding:16px 16px 100px;transition:bottom .3s cubic-bezier(.4,0,.2,1);margin:0;box-sizing:border-box}.control-panel.visible{bottom:70px}.control-panel-content-wrapper{padding-bottom:80px;height:auto;padding-top:40px}.mobile-panel-close-btn{position:absolute;top:12px;right:12px;width:32px;height:32px;background:#f0f0f0;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1002;transition:all .2s ease;box-shadow:0 2px 6px rgba(0,0,0,.1)}.mobile-panel-close-btn svg{width:16px;height:16px;color:#666}.mobile-panel-close-btn:hover{background:#e0e0e0;transform:scale(1.1)}.mobile-panel-close-btn:active{transform:scale(.95)}.top-right-actions{position:fixed;top:10px;right:16px;display:flex;gap:8px;z-index:100}.top-action-btn{width:44px;height:44px;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.1);border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px rgba(0,0,0,.1);color:#666}.top-action-btn:hover{background:white;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15);color:#4f46e5}.top-action-btn:active{transform:translateY(0)}.main-content{width:100%;height:calc(100vh - 70px);position:relative;overflow:hidden}.top-controls{left:50%;transform:translateX(-50%);bottom:90px;flex-wrap:wrap;justify-content:center;max-width:calc(100% - 32px);z-index:10}.control-group{padding:10px;font-size:12px}.stats-display-old{display:none;left:50%;transform:translateX(-50%);bottom:160px;min-width:140px;padding:12px 16px;font-size:11px;z-index:10}.panel-active-title{font-size:16px;padding:8px 0 12px}.control-section{padding:12px;margin-bottom:12px}.section-title{font-size:13px;margin-bottom:10px}.slider-control{margin-bottom:16px}.slider-label{font-size:12px;margin-bottom:6px}.slider{height:6px}.reset-btn-main{font-size:13px;padding:12px 14px;min-height:48px}.preset-card{padding:12px}.preset-name{font-size:13px}.preset-date{font-size:10px}.tab-group{flex-direction:column;gap:8px}.tab-button{width:100%;padding:12px;font-size:13px}.color-picker{width:44px;height:44px}.color-input{font-size:13px;padding:8px}.modal-container{width:calc(100% - 32px);max-width:400px;padding:24px}.modal-title{font-size:20px}.modal-description{font-size:12px}.export-button{font-size:13px;padding:12px 16px}}@media (min-width:769px) and (max-width:1024px){.sidebar{position:fixed;top:auto;bottom:0;left:0;right:0;transform:none;flex-direction:row;width:100%;max-width:100%;padding:14px 20px;gap:10px;border-radius:0;box-shadow:0 -4px 20px rgba(0,0,0,.15);z-index:1001;background:rgba(255,255,255,.98);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);justify-content:center}.sidebar-tab-button{min-width:70px;height:54px;font-size:10px}.sidebar-icon-button{width:54px;height:54px}.sidebar-actions{display:none!important}.control-panel{position:fixed;top:auto;bottom:-45vh;left:0;right:0;width:100%;height:45vh;max-height:45vh;border-radius:20px 20px 0 0;box-shadow:0 -8px 32px rgba(0,0,0,.2);padding:16px 16px 100px;z-index:1000;background:white;transition:bottom .3s cubic-bezier(.4,0,.2,1)}.control-panel.visible{bottom:82px}.main-content{height:calc(100vh - 82px);overflow:hidden}.mobile-panel-close-btn,.top-right-actions{display:flex!important}.top-controls{left:50%;transform:translateX(-50%);bottom:100px}}@media (max-width:480px){.logo-text{font-size:1rem}.logo-icon{padding:5px}.sidebar{padding:10px 12px;gap:6px}.sidebar-tab-button{min-width:55px;height:46px;font-size:8px;padding:6px 8px}.sidebar-icon-button{width:46px;height:46px}.control-panel{height:45vh;max-height:45vh;max-width:100%;bottom:-45vh;padding:16px 12px}.control-panel.visible{bottom:66px}.top-controls{gap:8px}.stats-display-old{display:none;bottom:140px;padding:10px 14px;font-size:10px}.panel-active-title{font-size:14px}.section-title{font-size:12px}.reset-btn-main{font-size:12px;padding:10px 12px}}@media (max-width:768px) and (orientation:landscape){.control-panel{height:60vh;max-height:60vh;bottom:-60vh}.control-panel.visible{bottom:70px}.main-content{height:100vh}.top-controls{bottom:90px}.stats-display-old{display:none;bottom:160px}}@media (max-width:768px){button{min-height:44px;min-width:44px}.reset-btn-main,.sidebar-icon-button,.sidebar-tab-button,.tab-button{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.control-panel,.sidebar{-webkit-overflow-scrolling:touch}.sidebar-icon-button:active,.sidebar-tab-button:active,.tab-button:active{opacity:.7;transform:scale(.95)}.sidebar-tab-button.active{transform:scale(1.05)}body{overflow-x:hidden;position:relative;width:100%}.app-container{overflow-x:hidden;width:100vw}.control-panel *{box-sizing:border-box}.control-panel>div{width:100%}.reset-btn-main{margin:0 16px;width:calc(100% - 32px)}.control-panel:not(.visible)~.mobile-panel-close-btn{display:none}.sidebar-tab-button{flex-shrink:0}}.volume-display{display:flex;align-items:center;gap:6px;padding:8px 12px;background:rgba(79,70,229,.1);border:1px solid rgba(79,70,229,.2);border-radius:8px;font-size:13px;font-weight:500;color:#4f46e5;white-space:nowrap;position:fixed;bottom:30px;transform:translateX(-50%);left:50%}.volume-display svg{color:#4f46e5;flex-shrink:0}@media (max-width:768px){.volume-display{padding:6px 10px;font-size:12px;gap:4px}.volume-display svg{width:14px;height:14px}}@media (max-width:480px){.volume-display{padding:5px 8px;font-size:20px;border:2px solid rgba(79,70,229,.2);position:fixed;top:auto;bottom:80px;right:15px;left:auto;transform:none}.top-right-actions{gap:5px;position:fixed;top:15px;right:10px;flex-direction:column}.volume-display svg{width:20px;height:20px}.button{font-size:0;display:block}.control-group{background:transparent;border-radius:0;gap:5px;padding:0;display:flex;flex-direction:column;box-shadow:none}.top-controls{top:115px;bottom:auto;transform:none;right:10px;position:fixed;justify-content:end}.accordion-tabs{flex-direction:row}}