:root{color-scheme:light dark;--bg:#fafafa;--fg:#1a1a1a;--muted:#6b6b6b;--border:#d9d9d9;--accent:#2f6feb}@media (prefers-color-scheme:dark){:root{--bg:#121212;--fg:#f2f2f2;--muted:#a0a0a0;--border:#333333;--accent:#6ea8ff}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}main{max-width:720px;margin:0 auto;padding:3rem 1.5rem 4rem}h1{font-size:1.75rem;margin-bottom:.25rem}.subtitle{color:var(--muted);margin-top:0;margin-bottom:2rem}form{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;padding:1.25rem;border:1px dashed var(--border);border-radius:12px}input[type=file]{flex:1 1 240px;color:inherit}button{padding:.6rem 1.25rem;border-radius:8px;border:none;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.error{color:#d1425f;margin-top:1rem}.results{display:flex;flex-wrap:wrap;gap:2rem;margin-top:2.5rem}figure{margin:0;flex:1 1 260px}figure img{width:100%;height:auto;border-radius:12px;border:1px solid var(--border);background:#fff}figcaption{margin-top:.5rem;color:var(--muted);font-size:.9rem}.download-link{display:inline-block;margin-top:.75rem;color:var(--accent);font-weight:600;text-decoration:none}.download-link:hover{text-decoration:underline}.refine{margin-top:2.5rem;padding:1.25rem;border:1px solid var(--border);border-radius:12px}.refine h2{margin:0 0 .75rem;font-size:1.1rem}.refine-presets{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.refine-preset{background:transparent;border:1px solid var(--accent);color:var(--accent);font-weight:500;padding:.4rem .9rem}.refine-form{display:flex;gap:.75rem;padding:0;border:none}.refine-form input[type=text]{flex:1 1 240px;padding:.55rem .75rem;border-radius:8px;border:1px solid var(--border);background:transparent;color:inherit;font:inherit}.refine-status{margin:.75rem 0 0;color:var(--muted);font-size:.9rem}