:root{--accent: #f12345;--text-primary: #888888;--text-muted: #aaaaaa;--background: #ffffff;--border: rgba(170, 170, 170, .45);--accent-soft: rgba(241, 35, 69, .08)}*{box-sizing:border-box}html{font-size:clamp(15px,1.2vw,18px);color-scheme:light}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1.6;color:var(--text-primary);background:var(--background);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}button,input{font:inherit}a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(241,35,69,.25);transition:border-color .2s ease}a:hover{border-color:var(--accent)}button,.download-link{border:1px solid var(--accent);border-radius:6px;background:var(--accent);color:#fff;cursor:pointer;padding:.7rem 1rem;text-decoration:none;font-weight:500;transition:background .2s ease,color .2s ease,border-color .2s ease}button:hover:not(:disabled),.download-link:hover{background:var(--background);color:var(--accent)}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,.download-link:focus-visible,.drop-zone:focus-within{outline:2px solid var(--accent);outline-offset:2px}.page-body{min-height:100vh;padding:1.5rem}.app-shell{display:flex;flex-direction:column;gap:1.6rem;margin:0 auto;max-width:1180px}.app-header{margin-bottom:.5rem}.app-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.auth-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;min-width:0}.auth-email{font-size:.9rem;color:var(--text-muted);min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-callback{min-height:40vh;justify-content:center}.header-link{font-size:.95rem;color:var(--text-muted);text-decoration:none}.auth-actions .header-link{border:1px solid var(--accent);border-radius:6px;padding:.7rem 1rem;color:var(--accent);font-weight:500;line-height:1;transition:background .2s ease,color .2s ease,border-color .2s ease}.auth-actions .header-link:hover{background:var(--accent-soft);color:var(--accent);text-decoration:none}.auth-actions .header-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.header-link:hover{color:var(--text-primary);text-decoration:underline}.app-header h1{font-size:clamp(2rem,4vw,2.8rem);font-weight:500;letter-spacing:-.01em;line-height:1.25;margin:0 0 .4rem;color:var(--text-primary)}.app-header p{color:var(--text-muted);margin:0;max-width:65ch}h2{font-size:1rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-primary);margin:0 0 1rem}.upload-panel{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:.5rem}.upload-slot{display:grid;gap:.6rem;position:relative}.drop-zone{align-items:center;background:var(--background);border:2px dashed var(--border);border-radius:8px;cursor:pointer;display:grid;gap:.4rem;min-height:150px;padding:1rem;transition:border-color .2s ease,background .2s ease}.drop-zone[data-dragging=true]{background:var(--accent-soft);border-color:var(--accent)}.drop-zone strong{font-size:1.1rem;color:var(--text-primary)}.drop-zone span{color:var(--text-muted);overflow-wrap:anywhere}.file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.secondary-button{background:var(--background);color:var(--accent)}.compare-row{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.compare-button{min-width:180px}.alert{background:var(--accent-soft);border-left:4px solid var(--accent);color:var(--text-primary);margin:0;padding:.8rem 1rem}.alert a{border-bottom-color:var(--accent)}.warning{background:#fff8e8;border-left:4px solid #c58a12;color:#6a4d08;margin:0;padding:.8rem 1rem}.result-section,.metadata-section{margin-top:.5rem}.result-toolbar{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:0}.retention-notice{color:var(--muted);font-size:.9rem;margin:.75rem 0 1rem}.image-stage{background:var(--background);border:1px solid var(--border);border-radius:8px;max-height:70vh;overflow:auto;padding:1rem}.result-image{display:block;height:auto;max-width:none}.metadata-grid{display:grid;gap:.8rem;grid-template-columns:repeat(3,minmax(0,1fr))}.metadata-grid div{background:var(--background);border:1px solid var(--border);border-radius:8px;padding:1rem}.metadata-grid dt{color:var(--text-muted);font-size:.9rem}.metadata-grid dd{color:var(--text-primary);font-size:1.4rem;font-weight:700;margin:.25rem 0 0}.landing-shell{display:flex;flex-direction:column;gap:1.6rem;margin:0 auto;max-width:72ch}.landing-shell h1{font-size:clamp(2rem,4vw,2.8rem);font-weight:500;line-height:1.25;margin:0;color:var(--text-primary)}.landing-shell h2{font-size:clamp(1.4rem,3vw,1.9rem);font-weight:500;letter-spacing:normal;line-height:1.25;margin:0;text-transform:none;color:var(--text-primary)}.landing-shell p{margin:0;max-width:65ch}.landing-shell ul{margin:0;padding-left:1.2rem}.landing-shell li{margin-bottom:.4rem}.overlay-legend{display:flex;flex-direction:column;gap:.5rem;margin:.75rem 0 1rem}.overlay-legend-row{display:flex;align-items:flex-start;gap:.65rem;line-height:1.45}.overlay-swatch{flex-shrink:0;width:14px;height:14px;margin-top:.2rem;border:1px solid rgba(0,0,0,.12);border-radius:2px}.overlay-swatch--blue{background-color:#2864dc}.overlay-swatch--orange{background-color:#ff8000}.overlay-swatch--green{background-color:#28b428}.overlay-swatch--red{background-color:red}.landing-cta{display:inline-block;width:fit-content;margin-top:.25rem;padding:.55rem .9rem;border:1px solid var(--accent);border-radius:.35rem;background:var(--accent);color:#fff;font-weight:500;text-decoration:none;transition:background .2s ease,color .2s ease,border-color .2s ease}.landing-cta:hover{background:var(--background);color:var(--accent);border-color:var(--accent)}.landing-inline-link{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.landing-inline-link:hover{color:var(--text-primary)}.landing-divider{border:0;border-top:1px solid rgba(241,35,69,.2);margin:0}@media(min-width:768px){.page-body{padding:3rem}.app-shell,.landing-shell{gap:2rem}}@media(min-width:1200px){.landing-shell{max-width:80ch}}@media(max-width:760px){.page-body{padding:1rem}.app-header-row{flex-direction:column;align-items:stretch}.auth-actions{width:100%}.auth-email{flex:1 1 100%;white-space:normal;word-break:break-all}.auth-actions button{flex:1 1 auto;min-width:0}.upload-panel,.metadata-grid{grid-template-columns:1fr}}
