*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:20px}.container{max-width:1200px;margin:0 auto}header{text-align:center;color:#fff;margin-bottom:40px}header h1{font-size:2.5rem;margin-bottom:10px;text-shadow:2px 2px 4px rgba(0,0,0,.2)}header .subtitle{font-size:1.3rem;opacity:.95;margin-bottom:30px;font-weight:500}.features{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;margin-top:30px}.feature-item{display:flex;align-items:center;gap:8px;background:#fff3;padding:10px 20px;border-radius:25px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.95rem;font-weight:500;transition:all .3s ease}.feature-item:hover{background:#ffffff4d;transform:translateY(-2px)}.feature-icon{font-size:1.2rem}header p{font-size:1.1rem;opacity:.9}main{background:#fff;border-radius:16px;padding:30px;box-shadow:0 10px 40px #0003}.upload-section{margin-bottom:30px}.upload-area{border:3px dashed #667eea;border-radius:12px;padding:60px 20px;text-align:center;cursor:pointer;transition:all .3s ease;background:#f8f9ff}.upload-area:hover{border-color:#764ba2;background:#f0f2ff;transform:translateY(-2px)}.upload-area.dragover{border-color:#764ba2;background:#e8ebff;transform:scale(1.02)}.upload-content svg{color:#667eea;margin-bottom:15px}.upload-content p{color:#333;font-size:1.1rem;margin-bottom:5px}.upload-hint{font-size:.9rem;color:#666}.controls-section{margin-bottom:30px;padding:20px;background:#f8f9ff;border-radius:12px}.control-group{margin-bottom:20px}.control-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.control-group label{display:block;margin-bottom:10px;font-weight:600;color:#333;font-size:1.1rem}.control-header label{margin-bottom:0}.feature-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.control-description{color:#555;font-size:.95rem;margin-bottom:15px;line-height:1.6}.slider-container{display:flex;align-items:center;gap:15px;margin-bottom:5px}#qualitySlider{flex:1;height:8px;border-radius:5px;background:#ddd;outline:none;-webkit-appearance:none}#qualitySlider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#667eea;cursor:pointer;transition:background .3s}#qualitySlider::-webkit-slider-thumb:hover{background:#764ba2}#qualitySlider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#667eea;cursor:pointer;border:none;transition:background .3s}#qualitySlider::-moz-range-thumb:hover{background:#764ba2}#qualityValue{font-weight:600;color:#667eea;min-width:50px;text-align:right}.file-size-preview{margin-top:15px;padding:12px 16px;background:linear-gradient(135deg,#f8f9ff,#fff);border-radius:8px;border:2px solid #667eea;display:flex;align-items:center;gap:10px;box-shadow:0 2px 8px #667eea1a}.preview-label{font-weight:600;color:#555;font-size:.9rem}#fileSizePreview,.preview-value{font-weight:700;color:#667eea;font-size:1.1rem}.control-group small{color:#666;font-size:.85rem}.control-hint{display:block;color:#667eea;font-size:.9rem;margin-top:8px;font-weight:500}.button-group{display:flex;gap:15px;justify-content:flex-end}.btn{padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#e0e0e0;color:#333}.btn-secondary:hover{background:#d0d0d0;transform:translateY(-2px)}.images-section{margin-top:30px}.images-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:15px}.images-section h2{margin:0;color:#333;font-size:1.3rem}.sort-controls{display:flex;align-items:center;gap:10px}.sort-controls label{font-weight:600;color:#333;font-size:.9rem}.sort-controls select{padding:8px 12px;border:2px solid #e0e0e0;border-radius:8px;background:#fff;color:#333;font-size:.9rem;cursor:pointer;transition:all .3s ease;min-width:200px}.sort-controls select:hover{border-color:#667eea}.sort-controls select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}.image-item{position:relative;border:2px solid #e0e0e0;border-radius:12px;overflow:hidden;cursor:move;transition:all .3s ease;background:#fff}.image-item:hover{border-color:#667eea;transform:translateY(-4px);box-shadow:0 5px 15px #0000001a}.image-item.dragging{opacity:.5;transform:rotate(5deg)}.image-item img{width:100%;height:200px;object-fit:cover;display:block}.image-info{padding:10px;display:flex;align-items:center;gap:10px;background:#f8f9ff}.image-number{background:#667eea;color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;flex-shrink:0}.image-name{flex:1;font-size:.9rem;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remove-btn{background:#f44;color:#fff;border:none;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:1.2rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:all .3s ease;flex-shrink:0}.remove-btn:hover{background:#c00;transform:scale(1.1)}@media (max-width: 768px){header h1{font-size:2rem}header .subtitle{font-size:1.1rem}.features{gap:15px}.feature-item{padding:8px 16px;font-size:.85rem}main{padding:20px}.images-header{flex-direction:column;align-items:stretch}.images-section h2{font-size:1.1rem}.sort-controls{flex-direction:column;align-items:stretch}.sort-controls select{width:100%;min-width:auto}.images-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:15px}.button-group{flex-direction:column}.btn{width:100%}}
