:root{color-scheme:light;font-family:"Source Sans 3",Segoe UI,sans-serif;font-synthesis:none;--bg: #f4f4f2;--surface: #fbfbfa;--text: #191919;--muted: #686864;--border: #d4d4d0;--accent: #c03528;--accent-soft: rgb(192 53 40 / .08);--exact: #2d6a4f;--exact-soft: #e7f0eb;--fuzzy: #986b08;--fuzzy-soft: #f7efd9;--not-found: #9f2d24;--not-found-soft: #f6e8e6;background:var(--bg);color:var(--text);line-height:1.6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--bg);font-size:16px}button,input{font:inherit}button,a,.drop-zone{-webkit-tap-highlight-color:transparent}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}.skip-link{position:fixed;top:10px;left:10px;z-index:10;padding:8px 12px;border:1px solid var(--text);border-radius:6px;background:var(--surface);transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{display:flex;align-items:center;justify-content:space-between;min-height:64px;padding:0 clamp(20px,4vw,64px);border-bottom:1px solid var(--border)}.wordmark,.header-link{text-decoration:none}.wordmark{font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:13px;font-weight:500;letter-spacing:-.02em}.header-link{border-bottom:1px solid transparent;color:var(--muted);font-size:14px}.header-link:hover{border-bottom-color:var(--text);color:var(--text)}.hero{display:grid;grid-template-columns:minmax(0,3fr) minmax(280px,2fr);gap:clamp(48px,7vw,112px);max-width:1440px;min-height:calc(100svh - 64px);margin:0 auto;padding:clamp(64px,8vw,116px) clamp(20px,4vw,64px) 88px}.hero-tool-column{min-width:0}.eyebrow{margin:0 0 14px;color:var(--accent);font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:500;letter-spacing:.14em;line-height:1.4;text-transform:uppercase}h1,h2{margin:0;font-family:Newsreader,Georgia,serif;font-weight:500}h1{max-width:760px;font-size:clamp(28px,5vw,44px);letter-spacing:-.035em;line-height:.98}h2{font-size:clamp(27px,3vw,38px);letter-spacing:-.025em;line-height:1.08}.subtitle{max-width:740px;margin:24px 0 32px;color:#454542;font-size:clamp(17px,1.7vw,20px);line-height:1.55}.tool-shell{min-height:326px;overflow:hidden;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.upload-view,.drop-spread,.drop-zone{min-height:324px}.drop-spread{position:relative;display:grid;grid-template-columns:1fr 1px 1fr}.spread-gutter{width:1px;background:var(--border)}.drop-zone{display:flex;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:8px;margin:14px;padding:30px 22px;border:1.5px dashed #aaa9a4;border-radius:8px;text-align:center;transition:background-color .15s ease,border-color .15s ease}.drop-zone:hover{border-color:var(--text)}.drop-zone.is-dragging{border-style:solid;border-color:var(--accent);background:var(--accent-soft)}.drop-zone.has-file{border-style:solid;border-color:var(--text);background:#f0f0ed}.drop-zone input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.drop-zone svg{width:36px;height:36px;margin-bottom:8px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.drop-command{max-width:210px;font-weight:600;line-height:1.3}.drop-hint{color:var(--muted);font-size:13px}.file-name{display:none;max-width:100%;margin-top:8px;overflow:hidden;color:var(--accent);font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.has-file .file-name{display:block}.progress-view,.result-view,.error-view{display:flex;min-height:324px;padding:clamp(28px,5vw,56px);flex-direction:column;justify-content:center}.progress-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px;font-weight:600}.progress-count,.match-counter{flex:none;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums;white-space:nowrap}.progress-track{height:2px;margin:22px 0 12px;overflow:hidden;background:var(--border)}.progress-track span{display:block;width:33%;height:100%;background:var(--accent);transition:width .22s ease}.progress-view p,.error-view>p:not(.eyebrow){margin:0;color:var(--muted)}.review-view{padding:clamp(24px,4vw,42px)}.review-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:24px}.match-counter{padding-top:5px;color:var(--muted);font-size:12px}.fuzzy-toggle{display:flex;width:fit-content;cursor:pointer;align-items:center;gap:10px;margin-bottom:12px;font-size:14px;font-weight:600}.fuzzy-toggle input,.match-check{width:17px;height:17px;margin:0;accent-color:var(--accent)}.match-list{max-height:min(52vh,620px);overflow-y:auto;border-top:1px solid var(--border)}.match-row{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:13px;padding:22px 0 22px 16px;border-bottom:1px solid var(--border);border-left:3px solid var(--accent)}.match-row.is-not-found{border-left-color:var(--not-found)}.match-check{margin-top:3px}.match-copy blockquote{margin:0;font-family:Newsreader,Georgia,serif;font-size:19px;font-weight:500;line-height:1.35}.digest-comment{margin:8px 0 0;color:var(--muted);font-family:Newsreader,Georgia,serif;font-size:16px;font-style:italic}.found-text{margin:12px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.found-text span{font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.status-badge{align-self:start;padding:3px 7px;border-radius:6px;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:10px;font-weight:500;letter-spacing:.08em;line-height:1.4;text-transform:uppercase}.status-badge.exact{background:var(--exact-soft);color:var(--exact)}.status-badge.fuzzy{background:var(--fuzzy-soft);color:var(--fuzzy)}.status-badge.not-found{background:var(--not-found-soft);color:var(--not-found)}.review-actions,.result-actions{display:flex;align-items:center;gap:18px;padding-top:28px}.primary-button,.secondary-button,.text-button{cursor:pointer;border-radius:6px;font-weight:600}.primary-button,.secondary-button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:10px 18px;border:1px solid var(--accent);text-decoration:none}.primary-button{background:var(--accent);color:#fff}.primary-button:hover{border-color:var(--text);background:var(--text)}.secondary-button{background:transparent;color:var(--accent)}.secondary-button:hover{border-color:var(--text);color:var(--text)}.text-button{padding:8px 0;border:0;border-bottom:1px solid transparent;background:transparent;color:var(--muted)}.text-button:hover{border-bottom-color:currentColor;color:var(--text)}.result-view h2,.error-view h2{margin-bottom:14px}.result-report{margin:0;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:14px;font-variant-numeric:tabular-nums}.result-view>.text-button{width:fit-content;margin-top:18px}.privacy-line{display:flex;align-items:center;gap:9px;margin:14px 2px 0;color:var(--muted);font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:11px;letter-spacing:.05em;line-height:1.45;text-transform:uppercase}.privacy-line svg{flex:none;width:18px;height:18px;fill:none;stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.how-it-works{align-self:center;padding-top:40px}.how-it-works h2{max-width:430px}.how-it-works ol{margin:42px 0 0;padding:0;list-style:none}.how-it-works li{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:22px 0;border-top:1px solid var(--border)}.how-it-works li:last-child{border-bottom:1px solid var(--border)}.how-it-works li>span{padding-top:3px;color:var(--accent);font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:12px;font-variant-numeric:tabular-nums}.how-it-works li p{margin:0;color:#454542;line-height:1.55}.faq{display:grid;grid-template-columns:minmax(230px,2fr) minmax(0,3fr);column-gap:clamp(48px,8vw,130px);max-width:1280px;margin:0 auto;padding:110px clamp(20px,4vw,64px) 132px;border-top:1px solid var(--border)}.faq>.eyebrow{grid-column:1}.faq>h2{grid-column:1;max-width:360px}.faq-list{grid-row:1 / span 2;grid-column:2;border-top:1px solid var(--border)}.faq details{border-bottom:1px solid var(--border)}.faq summary{position:relative;cursor:pointer;padding:21px 40px 21px 0;font-weight:600;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{position:absolute;top:18px;right:2px;color:var(--accent);content:"+";font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:20px;font-weight:500}.faq details[open] summary:after{content:"−"}.faq details p{max-width:650px;margin:-4px 36px 22px 0;color:var(--muted)}footer{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:86px;padding:20px clamp(20px,4vw,64px);border-top:1px solid var(--border);color:var(--muted);font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:11px}footer div{display:flex;gap:24px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:959px){.hero{grid-template-columns:1fr;gap:78px;min-height:auto;padding-top:72px}.how-it-works{width:min(100%,680px);padding-top:0}}@media(max-width:680px){.site-header{min-height:58px}.wordmark{max-width:190px}.hero{padding-top:54px;padding-bottom:70px}.subtitle{margin-top:20px}.tool-shell,.upload-view,.drop-spread,.drop-zone{min-height:auto}.drop-spread{grid-template-columns:1fr}.spread-gutter{width:auto;height:1px}.drop-zone{min-height:214px}.progress-view,.result-view,.error-view{min-height:320px}.review-header,.review-actions,.result-actions{align-items:stretch;flex-direction:column}.review-header{gap:12px}.match-row{grid-template-columns:20px minmax(0,1fr)}.status-badge{grid-column:2;grid-row:2;width:fit-content}.faq{display:block;padding-top:76px;padding-bottom:90px}.faq>h2{margin-bottom:44px}footer{align-items:flex-start;flex-direction:column}footer div{align-items:flex-start;flex-direction:column;gap:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
