:root{color-scheme:light dark;--fg: #1a1a1a;--bg: #fafafa;--panel-bg: #ffffff;--muted: #666;--border: #ddd;--accent: #2563eb;--accent-fg: #ffffff;--good: #16a34a;--bad: #dc2626;--warn: #d97706}@media(prefers-color-scheme:dark){:root{--fg: #eaeaea;--bg: #111;--panel-bg: #1a1a1a;--muted: #999;--border: #2a2a2a;--accent: #60a5fa;--accent-fg: #0a0a0a;--good: #4ade80;--bad: #f87171;--warn: #fbbf24}}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Helvetica Neue,sans-serif;color:var(--fg);background:var(--bg);line-height:1.5}.app{max-width:880px;margin:0 auto;padding:1.5rem 1rem 3rem;display:flex;flex-direction:column;gap:1rem}.app-header h1{margin:0 0 .35rem;font-size:1.4rem}.app-header .lead{margin:0;color:var(--muted);font-size:.9rem}.settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem 1rem;padding:1rem;border:1px solid var(--border);border-radius:10px;background:var(--panel-bg)}.field{display:flex;flex-direction:column;gap:.3rem}.field label{font-size:.85rem;font-weight:600}.field label .value{color:var(--accent);font-variant-numeric:tabular-nums}.field select,.field input[type=range]{width:100%}.field select{padding:.4rem .5rem;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font-size:.85rem}.field input[type=range]{accent-color:var(--accent)}.field .hint{font-size:.72rem;color:var(--muted)}.dropzone{border:2px dashed var(--border);border-radius:12px;padding:2rem 1rem;text-align:center;cursor:pointer;background:var(--panel-bg);transition:border-color .15s,background .15s}.dropzone:hover,.dropzone:focus-visible{border-color:var(--accent);outline:none}.dropzone.dragging{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--panel-bg))}.dropzone-title{margin:0 0 .35rem;font-weight:600}.dropzone-sub{margin:0;font-size:.8rem;color:var(--muted)}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.summary{font-size:.9rem}.toolbar-actions{display:flex;gap:.5rem;flex-wrap:wrap}.items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.item{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border:1px solid var(--border);border-radius:10px;background:var(--panel-bg)}.item.status-error{border-color:color-mix(in srgb,var(--bad) 45%,var(--border))}.thumb{flex:0 0 auto;width:52px;height:52px;border-radius:6px;overflow:hidden;background:var(--bg);border:1px solid var(--border);display:flex;align-items:center;justify-content:center}.thumb img{width:100%;height:100%;object-fit:cover}.thumb-icon{font-size:.7rem;font-weight:700;color:var(--muted);letter-spacing:.02em}.item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.3rem}.item-name{font-size:.9rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:.5rem}.badge{flex:0 0 auto;font-size:.68rem;font-weight:600;color:var(--warn);border:1px solid color-mix(in srgb,var(--warn) 45%,var(--border));border-radius:999px;padding:.05rem .45rem}.item-sizes{font-size:.82rem;font-variant-numeric:tabular-nums}.item-error{font-size:.82rem;color:var(--bad)}.muted{color:var(--muted)}.delta-good{color:var(--good);font-weight:600}.delta-bad{color:var(--bad);font-weight:600}.progress{height:6px;border-radius:999px;background:var(--border);overflow:hidden}.progress-bar{height:100%;background:var(--accent);transition:width .15s ease}.item-actions{flex:0 0 auto;display:flex;align-items:center;gap:.4rem}.btn{display:inline-flex;align-items:center;gap:.25rem;border:1px solid var(--border);background:transparent;color:var(--fg);padding:.4rem .75rem;font-size:.82rem;border-radius:6px;cursor:pointer;transition:border-color .15s,background .15s,opacity .15s}.btn:hover:not(:disabled){border-color:var(--accent)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.btn-icon{padding:.3rem .55rem;font-size:1rem;line-height:1}.btn:disabled{opacity:.5;cursor:not-allowed}.app-footer{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.78rem;color:var(--muted)}.app-footer a{color:inherit}@media(max-width:520px){.toolbar{align-items:flex-start;flex-direction:column}}
