@font-face{font-family:Newsreader;font-style:normal;font-weight:400 700;font-display:swap;src:url("/static/fonts/newsreader-latin.woff2?v=20261104-08") format("woff2")}
@font-face{font-family:Inter;font-style:normal;font-weight:300 700;font-display:swap;src:url("/static/fonts/inter-latin.woff2?v=20261104-08") format("woff2")}
@font-face{font-family:"Geist Mono";font-style:normal;font-weight:400 700;font-display:swap;src:url("/static/fonts/geist-mono-latin.woff2?v=20261104-08") format("woff2")}
html{scrollbar-gutter:stable}@supports not (scrollbar-gutter:stable){html{overflow-y:scroll}}:root{color-scheme:light;font-family:Newsreader,Georgia,"Times New Roman",serif;color:#111;background:#fff;font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.5}button,input{font:inherit}code,pre{font-family:"Geist Mono",Courier,monospace}button,a,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #111;outline-offset:4px}[hidden]{display:none!important}.site-header{height:80px;max-width:1184px;padding:0 32px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.brand{font-size:16px;font-weight:700;letter-spacing:-.4px}nav{display:flex;align-items:center;gap:24px;font-size:12px}main{max-width:960px;width:calc(100% - 64px);min-height:calc(100svh - 80px);margin:0 auto;display:block;padding:max(40px,calc((100svh - 400px)/2)) 0 64px;overflow-anchor:none}.workspace{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1fr);gap:72px;width:100%;max-width:852px;margin:0 auto;align-items:start}h1,h2{font-size:19px;font-weight:600;line-height:1.3;margin:0 0 20px}#drop-zone{width:100%;min-height:224px;border:1px dashed #777;border-radius:0;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#111;padding:24px}#drop-zone:hover,#drop-zone.dragover{border-color:#111;background:#fafafa}.browse-label{font-size:12px;color:#555;text-decoration:underline;text-underline-offset:3px}#file-guidance{font-size:11px;color:#555;margin:12px 0 0}#selected-file{border:1px solid #bbb}.preview-frame{height:224px;display:flex;align-items:center;justify-content:center;background:#fafafa;padding:12px}.preview-frame img,.preview-frame video{max-width:100%;max-height:200px;display:block;object-fit:contain}.file-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 12px;border-top:1px solid #ddd;font-size:11px}#file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-row button,.text-button{padding:0;border:0;background:none;color:#111;text-decoration:underline;text-underline-offset:3px;font-size:11px}.primary-button{font-weight:700;margin-top:16px;min-width:104px;height:40px;padding:0 20px;border:1px solid #111;background:#111;color:#fff;border-radius:0;font-size:12px}.primary-button:disabled{background:#eee;border-color:#eee;color:#555}#error-message{font-size:12px;line-height:1.6;margin:14px 0 0}.results-pane table{border-collapse:collapse;width:100%;font-size:12px;table-layout:fixed}.results-pane th,.results-pane td{padding:11px 0;border-bottom:1px solid #e1e1e1;vertical-align:top;text-align:left;line-height:1.5}.results-pane tr:first-child th,.results-pane tr:first-child td{padding-top:0}.results-pane th{font-weight:400;color:#555;width:42%}.results-pane td{font-weight:400;overflow-wrap:anywhere}#assessment-value{font-weight:700}#result-details{margin-top:17px;font-size:11px}summary{list-style:none;font-size:11px;text-decoration:underline;text-underline-offset:3px}summary::-webkit-details-marker{display:none}#result-details dl{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px 16px;margin:17px 0 0}dt{color:#555}dd{margin:0;overflow-wrap:anywhere}.text-button{margin-top:16px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100px;left:16px;background:#111;color:#fff;padding:10px;z-index:10}.skip-link:focus{top:12px}.page-shell{display:block;max-width:760px;min-height:0;width:calc(100% - 64px);margin:48px auto;padding:0 0 48px}.page-shell h1{font-size:25px;margin:30px 0}.page-shell h2{font-size:15px;margin:28px 0 10px}.page-shell p{font-size:13px;line-height:1.8;margin:10px 0}.page-shell a{text-decoration:underline;text-underline-offset:3px}.page-shell pre{overflow:auto;font-size:12px;line-height:1.6;padding:16px;background:#f6f6f6}.page-shell code{font-family:"Geist Mono",Courier,monospace;font-size:.93em;overflow-wrap:anywhere}@media(max-width:620px){.site-header{height:64px;padding:0 24px}main{width:calc(100% - 48px);min-height:calc(100svh - 64px);padding:72px 0 40px;align-items:flex-start}.workspace{grid-template-columns:minmax(0,1fr);gap:36px;max-width:380px;margin:0 auto}#drop-zone{min-height:176px}.upload-pane h2{text-align:center}.upload-pane form{width:calc(100% - 32px);max-width:280px;margin:0 auto;text-align:center}.page-shell{width:calc(100% - 48px);margin:24px auto}nav{gap:18px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* The lower header fade dips gently into the quiet space below. */
:root{--flow-render-height:clamp(126px,22svh,190px)}
.site-header{position:relative;isolation:isolate;color:#000;opacity:1}
.site-header>.brand,.site-header>nav,.site-header>nav a{color:#000;opacity:1}
.site-header>.brand,.site-header>nav{position:relative;z-index:1}
.flow-panel{position:absolute;inset:0;width:100%;height:128px;margin:0;overflow:hidden;contain:layout paint size;pointer-events:none;z-index:0;mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,.16) 5%,rgba(0,0,0,.5) 10%,rgba(0,0,0,.84) 15%,#000 20%,#000 80%,rgba(0,0,0,.84) 85%,rgba(0,0,0,.5) 90%,rgba(0,0,0,.16) 95%,transparent),linear-gradient(180deg,transparent,rgba(0,0,0,.104) 7.2px,rgba(0,0,0,.352) 14.4px,rgba(0,0,0,.648) 21.6px,rgba(0,0,0,.896) 28.8px,#000 36px),url("/static/flow-edge.svg?v=20261101-20");mask-size:100% 100%;mask-repeat:no-repeat;mask-composite:intersect}
.flow-panel canvas{position:absolute;left:0;top:40px;transform:translateY(-50%);display:block;width:100%;height:var(--flow-render-height);background:#fff;mask-image:linear-gradient(#000 calc(100% - 12px),transparent)}

site-header{display:block;height:80px}@media(max-width:620px){site-header{height:64px}}

#score-value{font-weight:400}

/* Android's system monospace may supply only a regular face. */
h1,h2,.brand,#assessment-value,.primary-button{font-synthesis:weight}

@media(max-width:620px){html{scrollbar-gutter:stable both-edges}}
.brand{display:inline-flex;align-items:center}.brand img{display:block;width:auto;height:36px}
@media(max-width:620px){.brand img{height:32px}}
/* Phones keep a plain white header without a renderer. */
@media(max-width:620px){
  site-header,.site-header{background:#fff}
  .flow-panel{display:none}
}
/* Newsreader carries the text; Inter the controls; Geist Mono the small labels. */
button,input,nav,summary,.text-button{font-family:Inter,Arial,sans-serif}
#drop-zone{font-family:Newsreader,Georgia,serif;font-size:18px}
.browse-label{font-family:Inter,Arial,sans-serif}
.results-pane table,#result-details,#file-guidance,.file-row{font-family:"Geist Mono",Courier,monospace}
#assessment-value,#status-value{font-family:Inter,Arial,sans-serif}
#assessment-value{font-size:13px;font-weight:700}
.page-shell p{font-size:16px;line-height:1.7}
.page-shell h2{font-size:19px}
@media(max-width:620px){.preview-frame{height:180px}.preview-frame img,.preview-frame video{max-height:156px}}

nav{font-weight:300;font-size:13px;letter-spacing:.1px}
.hero-title{text-align:center;max-width:852px;margin:0 auto 56px;margin-bottom:clamp(48px,7svh,80px);font-size:32px;line-height:1.15;font-weight:500}
@media(max-width:620px){.hero-title{text-align:center;font-size:28px}}

.contact-section{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1fr);gap:72px;max-width:852px;width:calc(100% - 64px);margin:0 auto;padding:64px 0 80px;border-top:1px solid #ddd;align-items:start}
.contact-address address{display:grid;gap:10px;font-style:normal;font-size:16px;line-height:1.7}
.contact-address a{width:fit-content;text-decoration:underline;text-underline-offset:4px}
#contact-form{min-width:0}
.contact-field{display:grid;gap:8px;margin-bottom:20px}
.contact-field label{font-family:Inter,Arial,sans-serif;font-size:12px}
.contact-field input,.contact-field textarea{display:block;box-sizing:border-box;width:100%;min-width:0;padding:10px 12px;border:1px solid #999;border-radius:0;background:#fff;color:#111;font-family:Inter,Arial,sans-serif;font-size:14px;line-height:1.5}
.contact-field textarea{resize:vertical;min-height:128px}
.contact-field input:focus,.contact-field textarea:focus{outline:none;box-shadow:none;border-color:#999}
#contact-verification{max-width:100%}
#contact-verification:not(:empty){margin-bottom:16px}
#contact-send{margin-top:0}
#contact-message{font-family:Inter,Arial,sans-serif;font-size:13px;line-height:1.5;margin:16px 0 0;overflow-wrap:anywhere}
#contact-message:empty{margin:0}
@media(max-width:620px){#checker{padding-bottom:clamp(96px,14svh,144px)}.contact-section{grid-template-columns:minmax(0,1fr);gap:32px;width:calc(100% - 48px);max-width:380px;padding:clamp(96px,14svh,144px) 0 64px}.contact-field input,.contact-field textarea{font-size:16px}}

.title-version{color:#555;white-space:nowrap;font:inherit;font-size:.5em}

#selected-file{--preview-height:224px;--file-row-height:40px;display:flex;flex-direction:column;height:calc(var(--preview-height) + var(--file-row-height) + 2px)}
#selected-file .preview-frame{flex:none;height:var(--preview-height)}
#selected-file .file-row{flex:none;height:var(--file-row-height)}
#selected-file .file-row button{flex-shrink:0}
#selected-file.file-only{height:80px}
#selected-file.file-only .preview-frame{display:none}
#selected-file.file-only .file-row{height:100%;border-top:0;padding:24px;font-size:12px}
@media(max-width:620px){#selected-file{--preview-height:180px}}

#status-value.is-analyzing::after{content:"...";display:inline-block;width:3ch;font-family:"Geist Mono",monospace;clip-path:inset(0 100% 0 0);animation:analysis-dots 1.6s steps(1,end) infinite}
@keyframes analysis-dots{0%{clip-path:inset(0 100% 0 0)}25%{clip-path:inset(0 66.6667% 0 0)}50%{clip-path:inset(0 33.3333% 0 0)}75%,100%{clip-path:inset(0)}}
