.file-input { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.dropzone:has(+ .file-input:focus-visible), button:focus-visible, select:focus-visible, a:focus-visible { outline: 3px solid #5964de; outline-offset: 4px; }
.options select { width: 100%; padding: 11px; border: 1px solid #cfd3e8; border-radius: 8px; background: #fff; color: #1b2440; font: inherit; font-size: 14px; }
.option-note { color: #6d768d; font-size: 12px; line-height: 1.8; }
.batch-actions, .result-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 14px 0; }
.download-button, .secondary-button { font-family: inherit; font-size: 13px; font-weight: 600; line-height: 1.5; }
.secondary-button { padding: 10px 16px; border: 1px solid #cfd3e8; border-radius: 9px; background: #fff; color: #4752b3; cursor: pointer; }
.secondary-button:hover { background: #f3f4ff; }
button:disabled, select:disabled { opacity: .5; cursor: not-allowed; }
[hidden] { display: none !important; }
.results { gap: 16px; }
.result-item { display: flex; flex-direction: column; align-items: stretch; padding: 18px; border: 1px solid #e9ebf2; border-radius: 12px; color: #1b2440; overflow-wrap: anywhere; }
.result-item img { display: block; width: 100%; height: 180px; object-fit: contain; background: #f7f8fc; border-radius: 8px; margin-bottom: 12px; }
.result-details { font-size: 12px; line-height: 1.8; color: #6d768d; margin: 8px 0; }
.result-error { color: #9b4e4e; font-size: 13px; overflow-wrap: anywhere; }
.guide { padding: 24px; margin-bottom: 16px; }
.guide h2 { font-size: 18px; margin: 0 0 20px; }
.guide h3 { font-size: 14px; margin: 20px 0 8px; }
.guide p { margin: 0; font-size: 13px; line-height: 1.85; color: #6d768d; }
.guide a { color: #4752b3; overflow-wrap: anywhere; }
