:root{color-scheme:light;--ink:#111827;--muted:#6b7280;--line:#e5e7eb;--soft:#f9fafb;--accent:#111827;--blue:#2563eb;--green:#15803d;--red:#b91c1c;--radius:14px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-size:15px;line-height:1.6}button,input,select,textarea{font:inherit}button,select{cursor:pointer}a{color:inherit}.container{width:min(1120px,calc(100% - 40px));margin-inline:auto}.site-header{border-bottom:1px solid var(--line);background:#fff}.header-inner{width:min(1120px,calc(100% - 40px));min-height:72px;margin:auto;display:flex;align-items:center;gap:30px}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:750;letter-spacing:-.02em;white-space:nowrap}.brand-logo{display:block;width:190px;max-width:100%;height:auto}.top-nav{display:flex;align-items:center;gap:24px;margin-left:auto}.top-nav a,.site-footer a{color:#4b5563;text-decoration:none;font-size:14px}.top-nav a:hover,.site-footer a:hover{color:#111827}.language-control{display:flex;align-items:center;gap:9px;padding-left:20px;border-left:1px solid var(--line);font-size:12px;color:var(--muted);white-space:nowrap}.language-control select,.sort-control select{border:1px solid var(--line);border-radius:8px;background:#fff;padding:8px 28px 8px 10px;color:var(--ink);max-width:190px}.page-intro{padding:56px 0 28px}.eyebrow{margin:0 0 10px;color:#6b7280;font-size:11px;font-weight:750;letter-spacing:.13em}.page-intro h1{margin:0;font-size:clamp(32px,5vw,46px);line-height:1.15;letter-spacing:-.045em}.intro-copy{max-width:760px;margin:16px 0 18px;color:#4b5563;font-size:17px}.trust-points{display:flex;gap:22px;flex-wrap:wrap;color:#4b5563;font-size:13px}.trust-points i{font-style:normal;color:var(--green);font-weight:800;margin-right:5px}.tool-section{padding-bottom:56px}.upload-panel{border:1.5px dashed #cbd5e1;border-radius:16px;background:#fafbfc;min-height:260px;padding:30px 20px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;transition:border-color .15s,background .15s}.upload-panel.drag-over{border-color:#2563eb;background:#eff6ff}.upload-icon{width:46px;height:46px;border-radius:12px;background:#eef2f7;display:grid;place-items:center;margin-bottom:10px}.upload-icon svg{width:26px;height:26px;fill:none;stroke:#374151;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.upload-panel h2{font-size:18px;margin:0 0 2px}.upload-panel p{margin:2px 0 14px;color:var(--muted);font-size:13px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;min-height:40px;border:1px solid transparent;border-radius:9px;font-size:13px;font-weight:650;text-decoration:none;transition:background .15s,border-color .15s,opacity .15s}.button:disabled{opacity:.42;cursor:not-allowed}.button-primary{background:#111827;color:#fff}.button-primary:hover:not(:disabled){background:#293548}.button-secondary{background:#fff;border-color:#d1d5db;color:#111827}.button-secondary:hover:not(:disabled),.button-quiet:hover:not(:disabled){background:#f3f4f6}.button-quiet{background:transparent;color:#4b5563;border-color:var(--line)}.danger-text{color:var(--red)}.format-note{margin:12px 0 0!important;font-size:12px!important}.privacy-note{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;margin:16px 0 30px;background:#f0fdf4;border:1px solid #dcfce7;border-radius:11px}.privacy-icon{font-size:17px}.privacy-note p{margin:0;color:#365744;font-size:13px}.privacy-note strong{color:#14532d}.queue-panel,.process-panel,.result-panel{border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-top:18px;background:#fff}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.section-heading h2,.content-section h2{font-size:19px;line-height:1.3;margin:0;letter-spacing:-.02em}.section-heading p{margin:4px 0 0;color:var(--muted);font-size:12px}.queue-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.queue-tools .button{min-height:36px;padding:7px 12px}.sort-control{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}.sort-control select{padding:7px 24px 7px 9px;font-size:12px}.empty-queue{padding:24px 10px;text-align:center;color:#9ca3af;font-size:13px}.image-list{display:grid;gap:8px;margin-top:14px}.queue-item{display:grid;grid-template-columns:58px minmax(0,1fr) auto auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:11px;padding:8px;background:#fff;min-width:0}.queue-item.selected{border-color:#93c5fd;background:#f8fbff;box-shadow:0 0 0 2px #dbeafe}.queue-item.dragging{opacity:.45}.queue-item.drag-target{border-color:#2563eb}.thumb{width:58px;height:54px;border-radius:7px;object-fit:cover;background:#f3f4f6}.queue-item-main{min-width:0}.file-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650}.file-meta{display:flex;gap:9px;flex-wrap:wrap;color:var(--muted);font-size:11px}.item-status{font-size:11px;color:#6b7280;white-space:nowrap}.item-status.completed{color:var(--green)}.item-status.error{color:var(--red)}.item-status.processing{color:#1d4ed8}.item-actions{display:flex;align-items:center;gap:3px}.retry-item{width:30px;height:30px;border:0;border-radius:7px;background:transparent;color:#64748b;font-size:19px}.retry-item:hover:not(:disabled){background:#eff6ff;color:#1d4ed8}.retry-item:disabled{opacity:.35;cursor:not-allowed}.retry-item[hidden]{display:none}.remove-item{width:32px;height:32px;border:0;border-radius:7px;background:transparent;color:#9ca3af;font-size:19px}.remove-item:hover{background:#fef2f2;color:var(--red)}.queue-item[draggable="true"]{cursor:grab}.process-panel{background:#fafafa}.process-status{display:flex;justify-content:space-between;align-items:center;gap:10px}.status-copy{display:grid;gap:2px}.status-copy strong{font-size:14px}.status-copy span,.engine-note{color:var(--muted);font-size:12px}.status-percent{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.progress-track{height:7px;border-radius:20px;background:#e5e7eb;overflow:hidden;margin:12px 0 15px}.progress-track span{display:block;height:100%;width:0;background:#2563eb;border-radius:20px;transition:width .2s}.process-actions{display:flex;gap:8px;flex-wrap:wrap}.engine-note{margin:12px 0 0}.result-panel{margin-top:18px}.editable-label{padding:4px 8px;border-radius:20px;background:#f3f4f6;color:#4b5563;font-size:11px;font-weight:650}.result-text{display:block;width:100%;height:250px;resize:vertical;margin-top:14px;padding:14px;border:1px solid #d1d5db;border-radius:9px;background:#fff;color:#111827;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.6}.result-text:focus{outline:2px solid #bfdbfe;border-color:#60a5fa}.result-text:disabled{background:#f9fafb;color:#9ca3af}.result-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}.result-hint{color:var(--muted);font-size:11px}.action-buttons{display:flex;gap:8px}.content-section{padding:10px 0 60px}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:46px;padding:30px 0;border-top:1px solid var(--line)}.content-grid p,.content-grid li,.faq-section p{color:#4b5563;font-size:14px}.content-grid ol{padding-left:20px}.content-grid li{padding:4px 0}.faq-section{max-width:860px}.faq-section h2{margin-bottom:12px}.faq-section details{border-bottom:1px solid var(--line);padding:13px 0}.faq-section summary{cursor:pointer;font-weight:650;font-size:14px}.faq-section p{margin:8px 0 2px}.related-section{background:#f9fafb;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.related-inner{padding:30px 0;display:flex;justify-content:space-between;align-items:center;gap:24px}.related-inner h2{font-size:20px;margin:0 0 5px;letter-spacing:-.02em}.related-inner p:not(.eyebrow){margin:0;color:#4b5563;font-size:13px}.related-inner .eyebrow{margin-bottom:5px}.site-footer{padding:24px 0}.footer-inner{display:flex;justify-content:space-between;gap:20px;align-items:center;color:#9ca3af;font-size:12px}.footer-inner nav{display:flex;gap:18px}.site-footer a{font-size:12px}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,14px);padding:10px 15px;border-radius:9px;background:#111827;color:white;font-size:13px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:min(90vw,520px);z-index:20}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:800px){.header-inner{padding:12px 0;min-height:0;flex-wrap:wrap;gap:10px 18px}.top-nav{order:3;width:100%;margin:0;gap:18px}.language-control{margin-left:auto;padding-left:12px}.page-intro{padding:40px 0 24px}.intro-copy{font-size:15px}.trust-points{gap:8px 16px}.queue-panel,.process-panel,.result-panel{padding:16px}.queue-heading{display:block}.queue-tools{justify-content:flex-start;margin-top:12px}.content-grid{grid-template-columns:1fr;gap:20px}.related-inner{align-items:flex-start;flex-direction:column}.related-inner .button{width:100%}}
@media(max-width:520px){.container,.header-inner{width:calc(100% - 28px)}.brand{font-size:14px}.brand-logo{width:155px}.language-control{font-size:11px;gap:5px}.language-control select{max-width:118px;padding:7px 20px 7px 7px;font-size:12px}.top-nav a{font-size:12px}.page-intro h1{font-size:34px}.upload-panel{min-height:235px;padding:24px 14px}.queue-tools{gap:6px}.sort-control{width:100%}.sort-control select{flex:1;max-width:none}.queue-item{grid-template-columns:48px minmax(0,1fr) auto;gap:9px}.thumb{width:48px;height:48px}.item-status{grid-column:2;grid-row:2}.item-actions{grid-column:3;grid-row:1/3;flex-direction:column}.remove-item{grid-column:auto;grid-row:auto}.file-meta{font-size:10px}.process-actions .button{flex:1}.process-actions #stopButton{flex-basis:100%}.result-actions{align-items:flex-start;flex-direction:column}.action-buttons{width:100%}.action-buttons .button{flex:1}.footer-inner{align-items:flex-start;flex-direction:column;gap:10px}.footer-inner nav{flex-wrap:wrap}}

/* Queue layout: prevent long image batches from expanding the whole page. */
.image-list {
  max-height: 360px;
  overflow-y: auto;
  overflow-x: hidden;
  align-content: start;
  padding: 2px 6px 2px 2px;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.image-list:empty {
  display: none;
}

/* On narrower screens, use a fixed-height horizontal thumbnail strip. */
@media (max-width: 800px) {
  .image-list {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 10px;
    height: 116px;
    max-height: 116px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 2px 2px 10px;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
  }

  .queue-item {
    flex: 0 0 280px;
    min-height: 82px;
    align-self: stretch;
    scroll-snap-align: start;
  }
}

@media (max-width: 520px) {
  .image-list {
    height: 112px;
    max-height: 112px;
  }

  .queue-item {
    flex-basis: 258px;
  }
}
