:root{--primary: #2563eb;--primary-dark: #1d4ed8;--secondary: #10b981;--light: #f8fafc;--dark: #1e293b;--gray: #64748b;--bg-page: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);--bg-color: #ffffff;--text-color: var(--dark);--text-muted: var(--gray);--border-color: #e2e8f0;--highlight-bg: #f8fafc;--shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--radius: 12px}.yasuo-container{width:100%;max-width:1200px;margin:5rem auto;padding:0 2rem}.yasuo-card{background:var(--bg-color);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;margin-bottom:2rem}.yasuo-card-header{padding:1.5rem;border-bottom:1px solid var(--border-color)}.yasuo-card-title{font-size:1.5rem;color:var(--primary);margin-bottom:.5rem;display:flex;align-items:center;gap:.75rem;font-weight:700}.yasuo-card-body{padding:1.5rem}.upload-area{border:2px dashed var(--border-color);border-radius:var(--radius);padding:2.5rem 1.5rem;text-align:center;transition:all .3s;cursor:pointer;margin-bottom:1.5rem;position:relative;color:var(--text-muted)}.upload-area:hover,.upload-area.dragover{border-color:var(--primary);background-color:var(--highlight-bg)}.upload-icon{font-size:3rem;color:var(--primary);margin-bottom:1rem}.upload-text{margin-bottom:1rem;color:var(--text-color)}.yasuo-btn{display:inline-block;background-color:var(--primary);color:#fff;padding:.75rem 1.5rem;border-radius:6px;border:none;cursor:pointer;font-weight:600;transition:background-color .2s;text-align:center;text-decoration:none}.yasuo-btn:hover{background-color:var(--primary-dark)}.yasuo-btn-lg{padding:1rem 2rem;font-size:1.1rem}.yasuo-btn-secondary{background-color:var(--secondary)}.yasuo-btn-secondary:hover{background-color:#0da271}.yasuo-btn:disabled{background-color:var(--gray);cursor:not-allowed}.control-group{margin-bottom:1.5rem}.control-label{display:block;margin-bottom:.5rem;font-weight:600}.slider-container{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.slider{flex:1;-webkit-appearance:none;height:8px;border-radius:4px;background:var(--border-color);outline:none}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--primary);cursor:pointer}.slider-value{min-width:60px;text-align:right;font-weight:600;color:var(--primary)}.action-buttons{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.stats-box{background-color:var(--highlight-bg);border-radius:var(--radius);padding:1.5rem;margin-top:1.5rem;display:flex;justify-content:space-around;text-align:center}.stat-item{padding:0 1rem}.stat-value{font-size:1.5rem;font-weight:700;color:var(--primary)}.stat-label{font-size:.875rem;color:var(--text-muted)}.positive{color:var(--secondary)}.file-info{background-color:var(--highlight-bg);padding:1rem;border-radius:8px;margin-top:1rem}.image-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:1.5rem;max-height:600px;overflow-y:auto;padding:1rem;border:1px solid var(--border-color);border-radius:var(--radius);background-color:var(--bg-color)}.image-item{display:flex;flex-direction:column;align-items:center;padding:1rem;border:1px solid var(--border-color);border-radius:8px;background-color:var(--highlight-bg);transition:transform .2s;position:relative}.image-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.image-comparison{display:flex;width:100%;gap:.5rem;margin-bottom:.75rem}.image-preview{flex:1;text-align:center}.preview-title{font-size:.8rem;font-weight:600;margin-bottom:.5rem;color:var(--text-color)}.image-thumbnail{width:100%;height:120px;object-fit:contain;border-radius:4px;background-color:var(--border-color);border:1px solid var(--border-color);cursor:pointer;transition:all .3s ease}.image-thumbnail:hover{transform:scale(1.05);border-color:var(--primary);box-shadow:0 5px 15px #0003}.image-info{font-size:.7rem;color:var(--text-muted);margin-top:.25rem}.image-name{font-size:.75rem;text-align:center;word-break:break-all;margin-bottom:.25rem;font-weight:600}.image-status{font-size:.7rem;margin-top:.25rem;font-weight:600;padding:.2rem .5rem;border-radius:4px;width:100%;text-align:center}.status-pending{color:var(--gray);background-color:#f1f5f9}.status-processing{color:var(--primary);background-color:#dbeafe}.status-completed{color:#059669;background-color:#d1fae5}.status-error{color:#dc2626;background-color:#fee2e2}.batch-stats{display:flex;justify-content:space-between;margin-top:1rem;padding:1rem;background-color:#f1f5f9;border-radius:var(--radius)}.progress-bar{width:100%;height:6px;background-color:var(--border-color);border-radius:3px;margin-top:.5rem;overflow:hidden}.progress{height:100%;background-color:var(--primary);width:0%;transition:width .3s}.empty-state{text-align:center;padding:2rem;color:var(--text-muted);grid-column:1 / -1}.empty-state i{font-size:3rem;margin-bottom:1rem;color:#cbd5e1}.size-comparison{display:flex;justify-content:space-between;width:100%;margin-top:.5rem}.size-item{text-align:center;flex:1}.size-value{font-size:.8rem;font-weight:600}.size-label{font-size:.65rem;color:var(--text-muted)}.reduction-badge{background-color:var(--secondary);color:#fff;padding:.2rem .5rem;border-radius:12px;font-size:.65rem;font-weight:600;margin-top:.25rem;position:absolute;top:-5px;right:-5px;box-shadow:0 2px 4px #0000001a}.placeholder{display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:.8rem}.yasuo-info-box{max-width:1200px;margin:2rem auto;padding:25px 2rem;background-color:var(--highlight-bg);border-radius:var(--radius);border-left:4px solid var(--primary);box-shadow:var(--shadow)}.yasuo-info-box h2{position:relative;color:var(--dark);margin-top:0;margin-bottom:15px;font-size:1.25rem;font-weight:700;display:flex;align-items:center}.yasuo-info-box h2:after{content:"";position:absolute;bottom:-4px;left:0;width:60px;height:2px;background:linear-gradient(90deg,var(--primary),transparent)}.yasuo-info-box p{color:var(--text-muted);margin:10px 0;line-height:1.6}.yasuo-modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background-color:#000000e6;backdrop-filter:blur(5px)}.yasuo-modal-content{position:relative;margin:auto;padding:20px;width:90%;max-width:800px;max-height:90vh;top:50%;transform:translateY(-50%);background:var(--bg-color);border-radius:var(--radius);box-shadow:0 10px 30px #0000004d}.yasuo-close{position:absolute;right:15px;top:15px;color:var(--text-color);font-size:28px;font-weight:700;cursor:pointer;z-index:1001;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#0000001a;transition:all .3s ease}.yasuo-close:hover{background:#0003;transform:scale(1.1)}.yasuo-modal-body{display:flex;flex-direction:column;gap:20px}#modalImage{width:100%;max-height:70vh;object-fit:contain;border-radius:8px;background:var(--highlight-bg)}.modal-info{padding:15px;background:var(--highlight-bg);border-radius:8px;border:1px solid var(--border-color)}.modal-title{font-size:18px;font-weight:600;margin-bottom:15px;color:var(--text-color)}.modal-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.modal-stat{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--bg-color);border-radius:6px;border:1px solid var(--border-color)}.modal-stat .stat-label{font-weight:500;color:var(--text-color)}.modal-stat .stat-value{color:var(--primary);font-weight:600}.yasuo-spinner{width:40px;height:40px;margin:1rem auto;border:4px solid rgba(0,0,0,.1);border-left:4px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:1300px)and (min-width:769px){.yasuo-container{padding:0 4rem}}@media(max-width:768px){.yasuo-container{padding:0 1rem;margin:2rem auto}.action-buttons{flex-direction:column}.image-list{grid-template-columns:1fr}.batch-stats,.stats-box{flex-wrap:wrap;gap:1rem;padding:1rem .5rem}.image-comparison{flex-direction:column}.image-thumbnail{height:150px}.yasuo-modal-content{width:95%;padding:15px}.modal-stats{grid-template-columns:1fr}#modalImage{max-height:60vh}.yasuo-info-box{padding:20px 1rem}}
