:root{color:#212529;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;font-size:16px;line-height:1.5;font-synthesis:none;--blue: #0069d9;--blue-dark: #0056b3;--border: #dee2e6;--muted: #6c757d;--light: #f8f9fa}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input{font:inherit}a{color:#0069d9}a:hover{color:#004b9b}[hidden]{display:none!important}section[id]{scroll-margin-top:18px}.site-header{min-height:74px;padding:12px max(24px,calc((100% - 1140px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--border);box-shadow:0 2px 6px #0000000f;background:#fff}.lab-link{display:inline-flex;align-items:center;color:#343a40;text-decoration:none}.lab-logo{display:block;width:48px;height:48px;object-fit:contain}nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px}nav a{padding:8px;color:#343a40;text-decoration:none}nav a:hover{text-decoration:underline}main{width:min(100% - 32px,760px);margin:42px auto 64px}.intro{text-align:center}.site-logo{display:block;width:118px;height:auto;margin:0 auto 12px}h1,h2,h3,p{margin-top:0}h1{margin-bottom:4px;font-size:40px;font-weight:500;line-height:1.2}.intro h2{margin-bottom:24px;font-size:28px;font-weight:400}h3{margin-bottom:4px;font-size:20px;font-weight:500}hr{margin:28px 0;border:0;border-top:1px solid rgba(0,0,0,.12)}.intro p{max-width:620px;margin-inline:auto}.local-note{color:#495057;font-size:14px}.setup-section,.upload-section{text-align:center}.setup-section>p,.upload-section>p{color:#495057}.session-note,.batch-note{max-width:680px;margin-inline:auto;font-size:14px}.setup-button{min-width:180px;margin-top:8px}.drop-zone{min-height:150px;margin-top:22px;padding:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:2px dashed #adb5bd;border-radius:4px;background:var(--light);cursor:pointer}.drop-zone:hover,.drop-zone:focus,.drop-zone.is-dragging{border-color:var(--blue);background:#eef6ff;outline:none}.drop-zone.is-disabled{border-color:#ced4da;background:#f1f3f5;cursor:not-allowed;opacity:.72}.drop-zone.is-disabled:hover,.drop-zone.is-disabled:focus{border-color:#ced4da;background:#f1f3f5}.drop-zone strong{font-size:18px;font-weight:500}.drop-zone span{color:var(--muted)}.queue-panel{margin-top:22px;padding:20px;border:1px solid var(--border);border-radius:4px;text-align:left}.queue-header,.results-header,.result-info{display:flex;align-items:center;justify-content:space-between;gap:16px}.button{min-height:38px;padding:7px 14px;border:1px solid transparent;border-radius:4px;cursor:pointer}.button:disabled{opacity:.65;cursor:not-allowed}.button-primary{color:#fff;background:var(--blue);border-color:var(--blue)}.button-primary:hover{background:var(--blue-dark);border-color:var(--blue-dark)}.button-secondary{color:#343a40;background:#fff;border-color:#adb5bd}.button-secondary:hover{background:#e9ecef}.file-list{margin:16px 0;padding:0;border-top:1px solid var(--border);list-style:none}.file-item{padding:10px 0;display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:12px;border-bottom:1px solid var(--border)}.file-icon{color:var(--muted);font-size:12px;font-weight:600}.file-meta strong,.file-meta small{display:block}.file-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta small{margin-top:2px;color:var(--muted);font-size:13px}.remove-file{padding:4px 8px;border:0;background:transparent;color:#a12622;cursor:pointer;font-size:20px}.model-status{margin:16px auto 0;display:flex;align-items:center;justify-content:center;gap:8px;color:#495057;font-size:14px}.status-dot{width:9px;height:9px;border-radius:50%;background:#e0a800}.status-dot.ready{background:#218838}.queue-panel>.button-primary{width:100%}.message,.progress-panel{margin-top:18px;padding:14px 16px;border-radius:4px;text-align:left}.message-error{color:#721c24;background:#f8d7da;border:1px solid #f5c6cb}.progress-panel{border:1px solid var(--border);background:var(--light)}.progress-copy{margin-bottom:10px;display:flex;justify-content:space-between;gap:16px;font-size:14px}.progress-copy span{color:var(--muted)}.progress-track{height:10px;overflow:hidden;border-radius:3px;background:#e9ecef}.progress-track span{display:block;width:0;height:100%;background:var(--blue);transition:width .2s linear}.progress-panel.is-indeterminate .progress-track span{width:35%!important;animation:indeterminate-progress 1.3s ease-in-out infinite}.setup-steps{margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;counter-reset:setup-step;list-style:none}.setup-steps li{padding:8px 6px;border:1px solid var(--border);border-radius:3px;color:var(--muted);background:#fff;font-size:12px;text-align:center}.setup-steps li:before{counter-increment:setup-step;content:counter(setup-step) ". ";font-weight:600}.setup-steps li.is-active{border-color:var(--blue);color:var(--blue-dark);background:#eef6ff}.setup-steps li.is-complete{border-color:#8fd19e;color:#155724;background:#d4edda}@keyframes indeterminate-progress{0%{transform:translate(-110%)}to{transform:translate(300%)}}.results{margin-top:40px}.results-header h2{margin:0;font-size:26px;font-weight:500}.result-grid{margin-top:20px;display:grid;gap:22px}.result-card{overflow:hidden;border:1px solid var(--border);border-radius:4px}.result-previews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.result-preview{min-width:0;margin:0;display:flex;flex-direction:column;background:#252525}.result-preview+.result-preview{border-left:1px solid #495057}.result-preview figcaption{padding:7px 10px;color:#f8f9fa;background:#343a40;font-size:12px;text-align:center}.result-preview canvas{display:block;width:100%;height:300px;object-fit:contain}.result-info{padding:14px}.result-info strong,.result-info small{display:block}.result-info small{margin-top:3px;color:var(--muted)}.information{margin-top:38px;text-align:center}.information p{margin-bottom:22px}.site-section{margin-top:54px}.site-section>h2{margin-bottom:12px;font-size:28px;font-weight:500;text-align:center}.section-intro{max-width:650px;margin:0 auto 24px;color:#495057;text-align:center}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.gallery-grid figure{margin:0;overflow:hidden;border:1px solid var(--border);border-radius:4px;background:var(--light)}.gallery-grid img{display:block;width:100%;height:260px;object-fit:contain;background:#202020}.gallery-grid figcaption{padding:10px 12px;text-align:center}.gallery-grid figcaption span{display:block;margin-top:2px;color:var(--muted);font-size:13px}.download-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.download-card{padding:16px;border:1px solid var(--border);border-radius:4px;color:#343a40;text-decoration:none}.download-card:hover{border-color:var(--blue);color:#343a40;background:#eef6ff}.download-card strong,.download-card span{display:block}.download-card strong{color:var(--blue)}.download-card span{margin-top:6px;color:var(--muted);font-size:13px}.imagej-note{margin-top:20px;padding:18px;border-left:4px solid var(--blue);background:var(--light)}.imagej-note h3{margin-bottom:8px}.imagej-note p{margin-bottom:0}.faq-list{border-top:1px solid var(--border)}.faq-list details{border-bottom:1px solid var(--border)}.faq-list summary{padding:15px 4px;cursor:pointer;font-weight:600}.faq-list details p{margin:0;padding:0 24px 18px;color:#495057}.contact-section{text-align:center}.contact-section>p{max-width:640px;margin:0 auto 18px}.contact-section .button{display:inline-flex;align-items:center;margin:0 4px 8px;text-decoration:none}footer{padding:24px;border-top:1px solid var(--border);color:var(--muted);text-align:center;font-size:13px}@media (max-width: 700px){.site-header{align-items:flex-start;flex-direction:column}nav{justify-content:flex-start}main{margin-top:30px}h1{font-size:34px}.intro h2{font-size:23px}.progress-copy,.results-header,.result-info{align-items:stretch;flex-direction:column}.results-header .button,.result-info .button{width:100%}.result-previews{grid-template-columns:1fr}.result-preview+.result-preview{border-top:1px solid #495057;border-left:0}.setup-steps{grid-template-columns:1fr 1fr}.gallery-grid,.download-grid{grid-template-columns:1fr}.gallery-grid img{height:auto}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{transition:none!important}}
