@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&family=Space+Grotesk:wght@500;600;700&display=swap";.modal-overlay[data-v-24fb6767]{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-24fb6767]{background:#fff;border-radius:12px;width:95vw;max-width:1200px;height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 30px #0000004d}.modal-header[data-v-24fb6767]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #eee;flex-shrink:0}.close-btn[data-v-24fb6767]{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:5px;border-radius:50%;transition:background .2s}.close-btn[data-v-24fb6767]:hover{background:#f0f0f0}.modal-content[data-v-24fb6767]{padding:20px;overflow-y:auto;flex:1}.image-comparison[data-v-24fb6767]{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:30px}.image-panel h3[data-v-24fb6767]{margin-bottom:10px;text-align:center;color:#333;font-size:18px}.image-container[data-v-24fb6767]{position:relative;border-radius:8px;overflow:hidden;box-shadow:0 4px 12px #0000001a;background:#f8f9fa}.image-panel img[data-v-24fb6767]{width:100%;height:auto;max-height:400px;object-fit:contain;display:block;image-orientation:from-image}.image-info[data-v-24fb6767]{text-align:center;margin-top:8px;font-size:14px;color:#666;font-weight:500}.placeholder[data-v-24fb6767]{width:100%;height:200px;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border-radius:8px;color:#666;font-size:16px}.details h3[data-v-24fb6767]{margin-bottom:20px;color:#333;font-size:20px;border-bottom:2px solid #e9ecef;padding-bottom:10px}.detail-grid[data-v-24fb6767]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.detail-item[data-v-24fb6767]{display:flex;flex-direction:column;gap:8px;padding:15px;background:#f8f9fa;border-radius:8px;border-left:4px solid #007bff}.label[data-v-24fb6767]{font-weight:600;color:#495057;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.hash[data-v-24fb6767],.path[data-v-24fb6767]{font-family:Courier New,monospace;font-size:13px;background:#e9ecef;padding:4px 8px;border-radius:4px;word-break:break-all}.timeline[data-v-24fb6767]{display:flex;flex-direction:column;gap:15px}.timeline-item[data-v-24fb6767]{display:flex;align-items:center;gap:15px}.timeline-marker[data-v-24fb6767]{width:12px;height:12px;border-radius:50%;background:#2196f3;flex-shrink:0}.timeline-content[data-v-24fb6767]{flex:1}.timeline-type[data-v-24fb6767]{font-weight:600;margin-bottom:2px}.timeline-time[data-v-24fb6767]{font-size:14px;color:#666}.loading[data-v-24fb6767]{padding:40px;text-align:center;color:#666}@media(max-width:768px){.image-comparison[data-v-24fb6767]{grid-template-columns:1fr;gap:15px}.modal[data-v-24fb6767]{width:98vw;height:95vh;margin:0;border-radius:8px}.modal-content[data-v-24fb6767]{padding:15px}.detail-grid[data-v-24fb6767]{grid-template-columns:1fr;gap:15px}.detail-item[data-v-24fb6767]{padding:12px}.image-panel img[data-v-24fb6767]{max-height:250px}}@media(max-width:480px){.modal-header[data-v-24fb6767]{padding:15px}.modal-header h2[data-v-24fb6767]{font-size:18px}.close-btn[data-v-24fb6767]{font-size:20px}}:root{--color-ink: #1c1b1a;--color-muted: #5d5a55;--color-card: #ffffff;--color-accent: #2f6f6d;--color-accent-strong: #1e4d4a;--color-highlight: #f4b942;--color-border: rgba(28, 27, 26, .12)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:IBM Plex Sans,Segoe UI,sans-serif;background:radial-gradient(circle at 10% 20%,#fff6e9 0%,transparent 45%),radial-gradient(circle at 80% 10%,#e9f4ff 0%,transparent 40%),linear-gradient(180deg,#f6f1e9,#f5f6f2 45%,#eef2f7);color:var(--color-ink)}h1,h2,h3,.brand-link{font-family:Space Grotesk,IBM Plex Sans,sans-serif}#app{min-height:100vh}.navbar{background:#ffffffdb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(28,27,26,.08);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.nav-brand{display:flex;align-items:center}.nav-links{display:flex;gap:1rem}.brand-link{font-size:1.6rem;font-weight:700;color:var(--color-ink);text-decoration:none}.nav-link{background:none;border:1px solid transparent;padding:.5rem 1.1rem;cursor:pointer;border-radius:999px;transition:background .2s ease,border-color .2s ease,color .2s ease;text-decoration:none;color:inherit;display:inline-flex;align-items:center}.nav-link:hover{background:#2f6f6d14;border-color:#2f6f6d40}.nav-link.active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.container{max-width:1200px;margin:2.5rem auto;padding:0 1.5rem 3rem}.btn{background:linear-gradient(135deg,var(--color-accent),var(--color-accent-strong));color:#fff;border:1px solid transparent;padding:.7rem 1.4rem;border-radius:999px;cursor:pointer;font-size:.95rem;font-weight:600;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 12px 25px #2f6f6d40}.btn:hover{transform:translateY(-1px);box-shadow:0 16px 30px #2f6f6d4d}.btn:disabled{background:#cfd5d5;box-shadow:none;cursor:not-allowed}.btn-secondary{background:#fff;color:var(--color-ink);border:1px solid var(--color-border);box-shadow:none}.status-badge{display:inline-block;padding:.25rem .6rem;border-radius:999px;font-size:.8rem;font-weight:600;text-transform:capitalize}.status-uploaded{background:#e6f2ff;color:#2b6cb0}.status-queued{background:#fff5d6;color:#b36b00}.status-processing{background:#e9fbf4;color:#1f7a64}.status-done{background:#e8f5e9;color:#2e7d32}.status-failed{background:#ffe6e6;color:#b02b2b}.upload-container[data-v-53011d45]{max-width:600px;margin:0 auto}.upload-hero[data-v-53011d45]{text-align:center;margin-bottom:2rem}.upload-hero h2[data-v-53011d45]{font-size:2rem;margin:.5rem 0 .75rem}.upload-hero p[data-v-53011d45]{color:var(--color-muted);font-size:1rem}.hero-badge[data-v-53011d45]{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .75rem;border-radius:999px;background:#2f6f6d1f;color:var(--color-accent-strong);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.mode-toggle[data-v-53011d45]{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:center;justify-content:center;margin-bottom:1.5rem}.toggle[data-v-53011d45]{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;color:var(--color-ink)}.toggle input[data-v-53011d45]{width:18px;height:18px}.mode-hint[data-v-53011d45]{color:var(--color-muted);font-size:.9rem}.dropzone[data-v-53011d45]{border:2px dashed rgba(47,111,109,.35);border-radius:16px;padding:3rem;text-align:center;transition:all .3s;background:var(--color-card);box-shadow:0 12px 30px #1e1e1e14}.dropzone.dragging[data-v-53011d45]{border-color:var(--color-accent);background:#2f6f6d14}.dropzone-content[data-v-53011d45]{cursor:pointer}.dropzone-cta[data-v-53011d45]{display:inline-flex;margin-top:.75rem;padding:.25rem .75rem;border-radius:999px;background:#2f6f6d1a;color:var(--color-accent-strong);font-weight:600;font-size:.85rem}.upload-icon[data-v-53011d45]{font-size:4rem;margin-bottom:1rem}.preview-container[data-v-53011d45]{display:flex;align-items:center;gap:2rem}.preview-container img[data-v-53011d45]{width:200px;height:200px;object-fit:cover;border-radius:12px;image-orientation:from-image}.file-info[data-v-53011d45]{text-align:left}.processing-options[data-v-53011d45]{margin:2rem 0;padding:1.5rem;background:#ffffffd9;border-radius:16px;border:1px solid rgba(28,27,26,.08)}.processing-options h3[data-v-53011d45]{margin:0 0 1rem;color:var(--color-ink);font-size:1.1rem}.option-group[data-v-53011d45]{margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.option-group label[data-v-53011d45]{font-weight:500;color:var(--color-muted);min-width:140px}.option-group select[data-v-53011d45]{padding:.5rem;border:1px solid rgba(28,27,26,.15);border-radius:8px;background:#fff;min-width:180px}.option-group input[type=range][data-v-53011d45]{flex:1;margin:0 .5rem}.option-group input[type=checkbox][data-v-53011d45]{margin-right:.5rem}.option-group span[data-v-53011d45]{min-width:50px;font-weight:500;color:var(--color-ink)}.actions[data-v-53011d45]{margin-top:2rem;display:flex;gap:1rem;justify-content:center}.batch-actions[data-v-53011d45]{margin-top:1.5rem;display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.batch-summary[data-v-53011d45]{margin-top:1rem;display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;color:var(--color-muted);font-size:.9rem}.batch-error[data-v-53011d45]{margin-top:1rem;text-align:center;color:#7a1f2a;background:#ffe2e2;border:1px solid rgba(214,69,69,.4);padding:.75rem 1rem;border-radius:10px}.batch-queue[data-v-53011d45]{margin-top:1.5rem;display:flex;flex-direction:column;gap:.75rem}.batch-row[data-v-53011d45]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-radius:12px;background:var(--color-card);border:1px solid rgba(28,27,26,.08)}.batch-file[data-v-53011d45]{display:flex;flex-direction:column;gap:.2rem;min-width:0}.batch-name[data-v-53011d45]{font-weight:600;color:var(--color-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.batch-size[data-v-53011d45]{color:var(--color-muted);font-size:.85rem}.batch-status[data-v-53011d45]{display:flex;flex-direction:column;gap:.4rem;align-items:flex-end;min-width:180px}.batch-status-text[data-v-53011d45]{font-size:.9rem;font-weight:600}.status-pending .batch-status-text[data-v-53011d45]{color:var(--color-muted)}.status-uploading .batch-status-text[data-v-53011d45]{color:var(--color-accent-strong)}.status-success .batch-status-text[data-v-53011d45]{color:#1d5b3a}.status-error .batch-status-text[data-v-53011d45]{color:#7a1f2a}.status-canceled .batch-status-text[data-v-53011d45]{color:#7a6f5a}.batch-progress[data-v-53011d45]{width:160px;height:6px;background:#2f6f6d26;border-radius:999px;overflow:hidden}.batch-progress-bar[data-v-53011d45]{height:100%;background:linear-gradient(90deg,#2f6f6d,#4aa6a1);transition:width .2s ease}.progress[data-v-53011d45]{margin-top:2rem;background:#f0f0f0;border-radius:4px;overflow:hidden;position:relative;height:40px}.progress-bar[data-v-53011d45]{background:#333;height:100%;transition:width .3s}.progress span[data-v-53011d45]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#333;font-weight:500}.progress-bar.success[data-v-53011d45]{background:linear-gradient(90deg,#4caf50,#66bb6a)}.progress-bar.error[data-v-53011d45]{background:linear-gradient(90deg,#f44336,#ef5350)}.error[data-v-53011d45]{margin-top:1rem;padding:1rem;background:#ffebee;color:#c62828;border-radius:4px}.unified-status[data-v-53011d45]{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:1000;min-width:400px;max-width:500px;padding:1.5rem;border-radius:16px;font-weight:600;text-align:center;box-shadow:0 6px 20px #0003;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.unified-status.uploading[data-v-53011d45]{background:linear-gradient(135deg,#f8fafc,#edf2f7);color:#3f4a4a;border:2px solid rgba(47,111,109,.35)}.unified-status.success[data-v-53011d45]{background:linear-gradient(135deg,#d8f5e5,#c3ecd7);color:#1d5b3a;border:2px solid #2f7d5d}.unified-status.error[data-v-53011d45]{background:linear-gradient(135deg,#ffe2e2,#f9caca);color:#7a1f2a;border:2px solid #d64545}.status-content[data-v-53011d45]{display:flex;flex-direction:column;gap:1rem}.status-message[data-v-53011d45]{font-size:1.2rem;font-weight:700}.progress-container[data-v-53011d45]{display:flex;flex-direction:column;gap:.5rem}.progress-bar[data-v-53011d45]{background:#28a745;height:8px;border-radius:4px;transition:width .3s ease}.progress-text[data-v-53011d45]{font-size:.9rem;opacity:.8}.error-message[data-v-53011d45]{background:#ffffffb3;padding:.75rem;border-radius:6px;font-size:.95rem;color:#721c24;border:1px solid rgba(220,53,69,.3)}.hint[data-v-53011d45]{display:block;color:var(--color-muted);font-size:.85rem;margin-top:.25rem;font-style:italic}.gallery[data-v-56273c80]{padding:2rem 0}.gallery-header[data-v-56273c80]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.gallery-subtitle[data-v-56273c80]{margin-top:.35rem;color:var(--color-muted);font-size:.95rem}.filters[data-v-56273c80]{display:flex;gap:1rem;align-items:center}.filters select[data-v-56273c80]{padding:.5rem;border:1px solid #ddd;border-radius:4px;background:#fff}.refreshing[data-v-56273c80]{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--color-muted);min-width:90px}.refreshing-spinner[data-v-56273c80]{width:12px;height:12px;border:2px solid #c8d3d3;border-top-color:var(--color-accent);border-radius:50%;animation:spin-56273c80 .8s linear infinite}@keyframes spin-56273c80{to{transform:rotate(360deg)}}@keyframes fadeIn-56273c80{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer-56273c80{0%{transform:translate(-100%)}to{transform:translate(100%)}}.loading[data-v-56273c80],.empty[data-v-56273c80]{text-align:center;padding:4rem;background:var(--color-card);border-radius:12px}.image-grid[data-v-56273c80]{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.image-grid.initial-load .image-card[data-v-56273c80]{animation:fadeIn-56273c80 .35s ease both}.image-card[data-v-56273c80]{background:var(--color-card);border-radius:16px;overflow:hidden;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease;border:1px solid rgba(28,27,26,.08);box-shadow:0 10px 30px #1e1e1e14}.image-card[data-v-56273c80]:hover{transform:translateY(-6px);box-shadow:0 18px 40px #1e1e1e1f}.image-container[data-v-56273c80]{width:100%;height:200px;background:#eef1f4;position:relative}.image-card.is-processing .image-container[data-v-56273c80]:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.55) 40%,transparent 60%);animation:shimmer-56273c80 1.4s infinite}.image-container img[data-v-56273c80]{width:100%;height:100%;object-fit:cover;image-orientation:from-image}.card-overlay[data-v-56273c80]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#121a1b73;opacity:0;transition:opacity .2s ease;pointer-events:none}.image-card:hover .card-overlay[data-v-56273c80],.image-card:focus-visible .card-overlay[data-v-56273c80]{opacity:1}.view-cta[data-v-56273c80]{padding:.35rem .9rem;border-radius:999px;background:#ffffffeb;color:#1c1b1a;font-weight:600;font-size:.85rem}.delete-btn[data-v-56273c80]{position:absolute;top:8px;right:8px;width:30px;height:30px;border:none;border-radius:50%;background:#fffffff2;color:#d64545;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 2px 4px #0003}.delete-btn[data-v-56273c80]:hover{background:#e74c3c;color:#fff;transform:scale(1.1)}.placeholder[data-v-56273c80]{display:flex;align-items:center;justify-content:center;height:100%;font-size:1.2rem;color:var(--color-muted)}.image-info[data-v-56273c80]{padding:1rem;display:flex;justify-content:space-between;align-items:center}.date[data-v-56273c80]{font-size:.75rem;color:var(--color-muted)}.pagination[data-v-56273c80]{margin-top:2rem;display:flex;justify-content:center;align-items:center;gap:1rem}.queue[data-v-284cb0a1]{max-width:800px;margin:0 auto;padding:2rem 0}.queue-header[data-v-284cb0a1]{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem}.queue-subtitle[data-v-284cb0a1]{margin-top:.4rem;color:var(--color-muted);font-size:.95rem}.queue-top[data-v-284cb0a1]{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}.panel[data-v-284cb0a1]{background:var(--color-card);padding:1.5rem 1.75rem;border-radius:18px;border:1px solid rgba(28,27,26,.08);box-shadow:0 12px 28px #1e1e1e14}.panel-header[data-v-284cb0a1]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.panel-title[data-v-284cb0a1]{margin-bottom:1rem}.panel-badge[data-v-284cb0a1]{padding:.2rem .6rem;border-radius:999px;background:#2f6f6d1f;color:var(--color-accent-strong);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.stats-grid[data-v-284cb0a1]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.stat-card[data-v-284cb0a1]{text-align:center;padding:1rem;border-radius:14px;background:#2f6f6d14}.stat-value[data-v-284cb0a1]{font-size:2rem;font-weight:700;color:var(--color-ink)}.stat-label[data-v-284cb0a1]{font-size:.8rem;color:var(--color-muted);text-transform:uppercase;margin-top:.35rem;letter-spacing:.08em}.refresh-info[data-v-284cb0a1]{text-align:right;color:var(--color-muted);font-size:.875rem}.global-queues[data-v-284cb0a1]{margin-top:2rem}.queue-table[data-v-284cb0a1]{display:flex;flex-direction:column;gap:.35rem}.queue-row[data-v-284cb0a1]{display:grid;grid-template-columns:minmax(120px,1.2fr) repeat(5,minmax(80px,1fr));gap:.75rem;align-items:center;padding:.75rem .5rem;border-radius:10px}.queue-head[data-v-284cb0a1]{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-muted);border-bottom:1px solid rgba(28,27,26,.08)}.queue-row[data-v-284cb0a1]:not(.queue-head){background:#1c1b1a08}.queue-user[data-v-284cb0a1]{font-weight:600;color:var(--color-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-state[data-v-284cb0a1]{text-align:center;color:var(--color-muted);padding:1.5rem 0}
