:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:linear-gradient(135deg,#1a1a2e,#16213e);min-height:100vh;color:#fff}.app{max-width:1200px;margin:0 auto;padding:20px}.header{text-align:center;padding:30px 0}.header h1{font-size:2.5rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px}.header p{color:#888;font-size:1.1rem}.controls{display:flex;gap:16px;align-items:flex-end;justify-content:center;flex-wrap:wrap;margin-bottom:16px;padding:20px;background:#ffffff0d;border-radius:12px}.control-group{display:flex;flex-direction:column;gap:6px}.control-group label{font-size:.85rem;color:#aaa}.control-group input[type=number],.control-group select{width:120px;padding:10px 12px;border:2px solid #333;border-radius:8px;background:#1a1a2e;color:#fff;font-size:1rem}.control-group input[type=number]:focus,.control-group select:focus{border-color:#667eea;outline:none}.control-group.checkbox{flex-direction:row;align-items:center}.control-group.checkbox label{display:flex;align-items:center;gap:8px;cursor:pointer;color:#fff}.control-group input[type=checkbox]{width:18px;height:18px;accent-color:#667eea}.control-group input[type=range]{width:150px;accent-color:#667eea}.btn{padding:12px 24px;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .2s ease;font-weight:500}.apply-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.apply-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #667eea66}.presets{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:16px;padding:16px;background:#ffffff08;border-radius:12px}.preset-label{color:#888;font-size:.9rem;align-self:center}.preset-btn{padding:8px 14px;border:1px solid #444;border-radius:6px;background:transparent;color:#ccc;font-size:.85rem;cursor:pointer;transition:all .2s ease}.preset-btn:hover{border-color:#667eea;color:#667eea;background:#667eea1a}.output-settings{display:flex;gap:24px;justify-content:center;margin-bottom:20px;padding:16px;background:#ffffff08;border-radius:12px}.dropzone{border:3px dashed #444;border-radius:16px;min-height:300px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;margin-bottom:20px}.dropzone:hover,.dropzone.dragging{border-color:#667eea;background:#667eea0d}.dropzone.has-images{padding:20px;align-items:flex-start}.dropzone-content{text-align:center;color:#888}.dropzone-content svg{width:64px;height:64px;margin-bottom:16px;color:#667eea}.dropzone-content p{font-size:1.1rem}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;width:100%}.image-card{background:#ffffff0d;border-radius:12px;overflow:hidden;position:relative;transition:transform .2s ease}.image-card:hover{transform:translateY(-4px)}.image-card img{width:100%;height:150px;object-fit:cover}.remove-btn{position:absolute;top:8px;right:8px;width:28px;height:28px;border:none;border-radius:50%;background:#000000b3;color:#fff;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease;z-index:10}.remove-btn:hover{background:#e74c3c}.image-info{padding:12px}.filename{display:block;font-size:.85rem;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.dimensions{font-size:.8rem;color:#888}.image-controls{display:flex;align-items:center;gap:8px;padding:12px;background:#0003}.image-controls input{width:70px;padding:6px 8px;border:1px solid #444;border-radius:4px;background:#1a1a2e;color:#fff;font-size:.9rem;text-align:center}.image-controls input:focus{border-color:#667eea;outline:none}.image-controls span{color:#888}.download-single{width:32px;height:32px;border:none;border-radius:6px;background:#667eea;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;margin-left:auto;transition:background .2s ease}.download-single:hover{background:#764ba2}.download-single svg{width:18px;height:18px}.add-more{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;border:2px dashed #444;border-radius:12px;color:#888;transition:all .2s ease}.add-more:hover{border-color:#667eea;color:#667eea}.add-more svg{width:40px;height:40px;margin-bottom:8px}.add-more span{font-size:.9rem}.actions{display:flex;gap:16px;justify-content:center}.clear-btn{background:transparent;border:2px solid #e74c3c;color:#e74c3c}.clear-btn:hover{background:#e74c3c;color:#fff}.download-btn{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;min-width:200px}.download-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px #27ae6066}.download-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.controls{flex-direction:column;align-items:stretch}.control-group input[type=number],.control-group select{width:100%}.presets{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding:12px}.preset-btn{white-space:nowrap}.output-settings{flex-direction:column}.image-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.actions{flex-direction:column}.download-btn{width:100%}}
