@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Inter:wght@400;500;600&family=Newsreader:opsz,wght@6..72,500;6..72,600&display=swap');

:root{--ink:#13221a;--forest:#173b2a;--moss:#41624d;--acid:#d8e56a;--paper:#f3f1e9;--white:#fbfaf6;--line:#bbc2b9;--muted:#69736c;--error:#8d352d}
*{box-sizing:border-box}html{background:var(--forest)}body{margin:0;min-height:100vh;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;font-size:15px}.site-header{height:66px;padding:0 max(4vw,24px);display:flex;align-items:center;justify-content:space-between;background:var(--forest);color:#fff;border-bottom:1px solid rgba(255,255,255,.18)}.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-weight:500;letter-spacing:-.01em}.brand-mark{display:grid;place-items:center;width:31px;height:31px;border:1px solid var(--acid);color:var(--acid);font:500 11px 'IBM Plex Mono',monospace;letter-spacing:.08em}.group-menu{display:flex;align-items:center;gap:20px;font:400 12px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.05em}.group-menu form{margin:0}.link-button{padding:6px 0;border:0;border-bottom:1px solid var(--acid);background:none;color:var(--acid);font:inherit;cursor:pointer}.container{width:min(1180px,92vw);margin:auto;padding:64px 0 90px}.flash{margin-bottom:20px;padding:13px 15px;border-left:3px solid var(--moss);background:#e5ebe2;font-size:13px}.flash.error{border-color:var(--error);background:#f2e4df;color:var(--error)}.eyebrow{margin:0 0 14px;color:var(--moss);font:500 11px 'IBM Plex Mono',monospace;letter-spacing:.13em}h1,h2,h3{margin:0;font-family:Newsreader,Georgia,serif;font-weight:500;line-height:1}h1{font-size:clamp(3rem,7vw,5.8rem);letter-spacing:-.045em}h2{font-size:2.5rem;letter-spacing:-.025em}.muted{color:var(--muted)}.hero{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:60px;align-items:end;margin-bottom:48px;padding-bottom:38px;border-bottom:1px solid var(--ink)}.hero>div:first-child{max-width:820px}.hero p:last-child{max-width:650px;margin:22px 0 0;color:var(--muted);font-size:16px;line-height:1.65}.stat{height:142px;padding:18px 0 0 22px;border-left:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start}.stat span,.stat small{font:500 10px 'IBM Plex Mono',monospace;letter-spacing:.12em}.stat strong{margin:auto 0 2px;font:500 4.6rem/1 Newsreader,serif}.stat small{color:var(--muted)}.upload-card{position:relative;padding:28px 30px 30px;background:var(--white);border:1px solid var(--ink);box-shadow:7px 7px 0 var(--forest)}.section-label{display:flex;align-items:center;gap:13px;margin-bottom:24px}.section-label>span{font:500 11px 'IBM Plex Mono';color:var(--moss)}.section-label>div{display:flex;flex-direction:column;gap:3px}.section-label strong{font-size:14px}.section-label small{color:var(--muted);font:400 9px 'IBM Plex Mono';letter-spacing:.12em}.drop-zone{min-height:205px;border:1px dashed #89958b;background:#f7f6f0;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:.15s}.drop-zone:hover{border-color:var(--forest);background:#eef1e4}.drop-zone input{position:absolute;opacity:0;pointer-events:none}.drop-zone strong{font-weight:500}.drop-zone small{margin-top:10px;color:var(--muted);font:400 10px 'IBM Plex Mono';letter-spacing:.05em}.upload-icon{display:grid;place-items:center;width:43px;height:43px;margin-bottom:15px;border:1px solid var(--forest);font:400 24px 'IBM Plex Mono'}.location-row{display:flex;align-items:center;gap:16px;margin:18px 0}.primary,.secondary,.button{display:inline-block;padding:12px 17px;border-radius:0;text-decoration:none;text-transform:uppercase;font:500 11px 'IBM Plex Mono',monospace;letter-spacing:.07em;cursor:pointer}.primary{border:1px solid var(--forest);background:var(--forest);color:#fff}.primary:hover{background:#28543d}.primary:disabled{opacity:.55}.secondary{border:1px solid #8c978e;background:transparent;color:var(--forest)}.wide{width:100%;margin-top:20px;padding:15px}details{padding-top:16px;border-top:1px solid var(--line)}summary{font-size:13px;font-weight:500;cursor:pointer}.form-grid{display:grid;grid-template-columns:2fr 1fr;gap:15px;margin-top:18px}label{font-size:12px;font-weight:500}input{width:100%;margin-top:7px;padding:12px;border:1px solid #aab3aa;border-radius:0;background:#fff;font:inherit}input:focus{border-color:var(--forest);outline:2px solid var(--acid)}.hint{color:var(--muted);font-size:11px}.results-heading{display:flex;align-items:end;justify-content:space-between;margin:75px 0 24px;padding-bottom:18px;border-bottom:1px solid var(--ink)}.results-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.result-card{overflow:hidden;background:var(--white);border:1px solid var(--line)}.image-pair{display:grid;grid-template-columns:1fr 1fr;height:230px;background:#ddd}.image-pair img{width:100%;height:100%;object-fit:cover}.image-pair img+img{border-left:1px solid var(--white)}.result-body{position:relative;padding:20px}.coverage{display:flex;align-items:baseline;gap:10px;padding-bottom:15px;border-bottom:1px solid var(--line)}.coverage strong{font:500 2.6rem/1 Newsreader;color:var(--forest)}.coverage span{color:var(--muted);font:400 10px 'IBM Plex Mono';text-transform:uppercase;letter-spacing:.06em}.filename{margin:15px 0 5px;font-weight:500;overflow-wrap:anywhere}.meta,.notes{margin:4px 0;color:var(--muted);font:400 11px/1.5 'IBM Plex Mono'}.meta a{color:var(--moss)}.delete{padding:13px 0 0;border:0;background:none;color:var(--error);font:400 10px 'IBM Plex Mono';text-transform:uppercase;cursor:pointer}.empty{padding:70px;border:1px solid var(--line);text-align:center;color:var(--muted)}.empty-index{margin:0 0 18px;color:var(--moss);font:400 12px 'IBM Plex Mono'}.empty h3{margin-bottom:10px;color:var(--ink);font-size:1.6rem}.auth-card{max-width:520px;margin:5vh auto;padding:42px;background:var(--white);border:1px solid var(--ink);box-shadow:8px 8px 0 var(--forest)}.auth-card h1{font-size:3.3rem}.auth-card>.muted{line-height:1.6}.stack{display:flex;flex-direction:column;gap:18px;margin-top:32px}.switch{margin:25px 0 0;color:var(--muted);font-size:12px;text-align:center}.switch a{color:var(--forest);font-weight:600}
@media(max-width:720px){.container{padding-top:38px}.hero{grid-template-columns:1fr;gap:25px}.hero h1{font-size:3.5rem}.stat{height:auto;padding:15px 0 0;border-top:1px solid var(--line);border-left:0;flex-direction:row;align-items:baseline;gap:12px}.stat strong{margin:0;font-size:2.5rem}.results-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.location-row{align-items:flex-start;flex-direction:column;gap:9px}.image-pair{height:190px}.group-menu>span{display:none}.upload-card,.auth-card{padding:23px;box-shadow:5px 5px 0 var(--forest)}.auth-card h1{font-size:2.6rem}}

.drop-zone{transition:background .15s,border-color .15s,box-shadow .15s}
.drop-zone.is-dragging{border-color:var(--forest);background:#edf1d5;box-shadow:inset 0 0 0 2px var(--acid)}
.drop-zone.is-dragging .upload-icon{background:var(--acid);transform:translateY(-3px)}
.drop-zone.has-error{border-color:var(--error);color:var(--error)}
.upload-icon{transition:background .15s,transform .15s}
