.batch-compressor{color:var(--foreground);font-size:1rem}.batch-heading,.batch-toolbar,.batch-preview-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.batch-heading{margin-bottom:20px}.batch-heading h2{font-size:1.3rem;font-weight:750}.batch-heading p,.batch-note{color:var(--muted-foreground);line-height:1.6}.batch-heading p{margin-top:5px}.batch-private{color:var(--primary);align-items:center;gap:8px;font-size:.875rem;display:inline-flex}.batch-setup{grid-template-columns:1.2fr 1fr;gap:20px;display:grid}.batch-drop{border:2px dashed var(--border);background:var(--card);text-align:center;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;padding:28px 16px;display:flex;position:relative}.batch-drop.is-dragging{border-color:var(--primary);background:var(--accent)}.batch-pick{width:100%;color:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:14px;padding:12px;display:flex}.batch-pick>svg{color:var(--primary)}.batch-pick strong{font-size:1.1rem}.batch-pick span,.batch-drop p{color:var(--muted-foreground);font-size:.875rem}.batch-file-input{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.batch-drop:focus-within{outline:2px solid var(--primary);outline-offset:3px}.batch-settings{border:1px solid var(--border);background:var(--card);border-radius:20px;grid-template-columns:1fr 1fr;gap:14px;min-width:0;padding:16px 20px 20px;display:grid}.batch-settings legend{padding:0 7px;font-size:.875rem}.batch-settings label{flex-direction:column;gap:8px;min-width:0;font-size:.875rem;display:flex}.batch-settings select{border:1px solid var(--border);background:var(--background);color:var(--foreground);width:100%;font:inherit;border-radius:9px;padding:10px}.batch-range{align-items:center;gap:10px;min-height:42px;display:flex}.batch-range input{width:100%;min-width:0}.batch-compressor input[type=range]{accent-color:var(--primary)}.batch-note{margin:12px 0;font-size:.875rem}.batch-toolbar{border-top:1px solid var(--border);margin-top:22px;padding-top:22px}.batch-toolbar>div{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.batch-toolbar .utility-button{font-size:.875rem}.batch-progress{width:100%;height:6px;accent-color:var(--primary);margin:18px 0}.batch-summary{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;display:grid}.batch-summary>div{border:1px solid var(--border);background:var(--card);border-radius:14px;min-width:0;padding:16px}.batch-summary small{color:var(--muted-foreground);font-size:.875rem;display:block}.batch-summary strong{overflow-wrap:anywhere;margin-top:7px;font-size:1.3rem;font-weight:750;display:block}.batch-summary strong span{color:var(--primary);font-size:.875rem}.batch-results{border:1px solid var(--border);border-radius:14px;margin:0;padding:0;list-style:none;overflow:hidden}.batch-results li{background:var(--card);border-bottom:1px solid var(--border);grid-template-columns:minmax(140px,1.5fr) minmax(130px,1fr) minmax(130px,1fr) auto;align-items:center;gap:14px;padding:14px 16px;display:grid}.batch-results li:last-child{border-bottom:0}.batch-results li.is-selected{background:var(--accent)}.batch-filename{min-width:0;color:inherit;text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.batch-filename span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.batch-filename svg{color:var(--primary);flex-shrink:0}.batch-size,.batch-status{color:var(--muted-foreground);font-size:.875rem}.batch-status.status-done{color:var(--primary)}.batch-results .utility-error{grid-column:1/-1;margin:0}.batch-row-actions{gap:8px;display:flex}.batch-row-actions a,.batch-row-actions button{border:1px solid var(--border);background:var(--background);width:36px;height:36px;color:var(--foreground);cursor:pointer;border-radius:8px;place-items:center;display:grid}.batch-preview{border:1px solid var(--border);background:var(--card);border-radius:18px;margin-top:24px;padding:20px}.batch-preview h3{overflow-wrap:anywhere;min-width:0;font-weight:700}.batch-preview-heading span{color:var(--muted-foreground);font-size:.875rem}.batch-compare{background:repeating-conic-gradient(#aaa3 0% 25%,#0000 0% 50%) 50%/20px 20px;width:100%;margin:20px auto;position:relative;overflow:hidden}.batch-compare img{object-fit:fill;width:100%;height:100%;position:absolute;inset:0}.batch-compare-line{background:var(--primary);pointer-events:none;width:2px;position:absolute;top:0;bottom:0}.batch-compare-label{background:var(--background);border:1px solid var(--border);border-radius:6px;padding:4px 9px;font-size:.875rem;position:absolute;top:10px}.batch-compare-label.original{left:10px}.batch-compare-label.result{right:10px}.batch-compare-control{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;font-size:.875rem;display:flex}.batch-compare-control input{width:min(100%,360px)}.batch-compressor button:disabled{opacity:.5;cursor:not-allowed}.batch-compressor button:focus-visible,.batch-compressor a:focus-visible,.batch-compressor input:focus-visible,.batch-compressor select:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.image-single-details{border-top:1px solid var(--border);margin-top:28px;padding-top:20px}.image-single-details>summary{cursor:pointer;padding:10px 0 20px;font-size:1rem;font-weight:700}.image-single-details>summary:focus-visible{outline:2px solid var(--primary)}@media (width<=900px){.batch-setup{grid-template-columns:1fr}.batch-results li{grid-template-columns:minmax(0,1fr) auto}.batch-filename{grid-column:1}.batch-row-actions{grid-area:1/2/3}.batch-size{grid-column:1}.batch-status{grid-column:1/-1}.batch-summary{grid-template-columns:1fr 1fr}}@media (width<=480px){.batch-settings{grid-template-columns:1fr}.batch-drop{padding:18px 10px}.batch-summary{gap:8px}.batch-summary>div,.batch-preview{padding:12px}.batch-toolbar>div{width:100%}.batch-toolbar button{flex:1}.batch-toolbar .utility-button{white-space:normal}}.batch-before{background:repeating-conic-gradient(#aaa3 0% 25%,#0000 0% 50%) 50%/20px 20px;background-color:var(--card);position:absolute;inset:0}
