.verify .sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.verify .narrow{width:min(860px,100% - 32px);margin-inline:auto}.v-hero{padding:64px 0 48px;overflow:hidden}.v-hero .glow{filter:blur(110px);opacity:.5;background:var(--seal-soft);pointer-events:none;border-radius:50%;width:560px;height:560px;position:absolute;top:-260px;left:50%;transform:translate(-50%)}.v-hero h1{letter-spacing:-.04em;margin:18px 0 16px;font-size:clamp(36px,6vw,62px);font-weight:680}.v-hero h1 .serif{color:var(--seal)}.v-hero .lede{color:var(--muted);max-width:640px;font-size:19px}.checker{margin-top:32px;padding:14px;position:relative}.drop{text-align:center;border:1.5px dashed var(--line-strong);cursor:pointer;border-radius:16px;justify-items:center;gap:8px;padding:40px 20px;transition:border-color .15s,background .15s;display:grid;position:relative}.drop:hover,.drop.over{border-color:var(--seal);background:#19c37d0f}.drop:focus-within{outline:2px solid var(--seal);outline-offset:2px}.file-input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.drop-icon{background:var(--seal-soft);width:58px;height:58px;color:var(--seal);border-radius:16px;place-items:center;margin-bottom:6px;display:grid}.drop-title{font-size:18px;font-weight:650}.drop-title u{text-decoration-color:var(--seal);text-underline-offset:4px}.drop-note{color:var(--muted);font-size:14px}.hash-form{gap:10px;margin-top:12px;display:flex}.hash-form input{border:1px solid var(--line-strong);background:var(--ink);min-width:0;height:48px;color:var(--paper);font:14px var(--font-mono);border-radius:12px;flex:1;padding:0 14px}.hash-form input:focus{outline:2px solid var(--seal);outline-offset:1px;border-color:#0000}.hash-form input::placeholder{color:var(--muted-2);font-family:var(--font-sans);font-size:15px}.results{gap:20px;margin-top:28px;scroll-margin-top:84px;display:grid}.result{border-radius:var(--radius-lg);border:1px solid var(--line-strong);background:var(--ink-2);gap:20px;padding:26px;display:grid}.result.busy{color:var(--muted);align-items:center;gap:14px;padding:22px 26px;display:flex}.spinner{border:2.5px solid var(--line-strong);border-top-color:var(--seal);border-radius:50%;flex:none;width:20px;height:20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.result-head{align-items:flex-start;gap:18px;display:flex}.result-head h2{letter-spacing:-.035em;font-size:clamp(26px,4vw,36px)}.result-head p{color:var(--muted);margin-top:8px}.badge{border-radius:18px;flex:none;place-items:center;width:64px;height:64px;display:grid}.result.ok{background:radial-gradient(520px 220px at 0% 0%, #19c37d33, transparent), var(--ink-2);border-color:#19c37d73;box-shadow:0 24px 60px #19c37d1f}.result.ok .badge{background:var(--seal);color:#04140c;box-shadow:0 0 0 6px #19c37d2e}.result.ok h2{color:var(--seal)}.result.wait{background:radial-gradient(520px 220px at 0% 0%, #f5b84b24, transparent), var(--ink-2);border-color:#f5b84b73}.result.wait .badge{color:var(--warn);background:#f5b84b29}.result.wait h2{color:var(--warn)}.result.bad{background:radial-gradient(520px 220px at 0% 0%, #ff5b3a24, transparent), var(--ink-2);border-color:#ff5b3a73}.result.bad .badge{background:var(--signal-soft);color:var(--signal)}.test-mode{font-size:14px;color:var(--warn)!important}.fp{color:var(--muted);border:1px solid var(--line);background:#f6f5f10a;border-radius:12px;flex-wrap:wrap;align-items:baseline;gap:6px 12px;padding:12px 14px;font-size:13px;display:flex}.fp .fname{color:var(--paper);word-break:break-all;font-size:14px;font-weight:600}.fp code{word-break:break-all;color:var(--muted)}.facts{grid-template-columns:max-content 1fr;gap:10px 22px;margin:0;font-size:15px;display:grid}.facts dt{color:var(--muted)}.facts dd{overflow-wrap:anywhere;min-width:0;margin:0}.facts code{font-size:13px}.chips{flex-wrap:wrap;gap:6px;display:inline-flex}.chip{background:#f6f5f114;border-radius:99px;padding:3px 9px;font-size:12px;font-weight:600}.block h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:10px;font-size:13px;font-weight:600}.signers{gap:8px;margin:0;padding:0;list-style:none;display:grid}.signers li{border:1px solid var(--line);border-radius:12px;gap:4px;padding:12px 14px;display:grid}.signers .who{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.signers .mail{color:var(--muted);font-family:var(--font-mono);font-size:13px}.signers .how{color:var(--muted);font-size:14px}.checks{gap:10px;margin:0;padding:0;list-style:none;display:grid}.checks li{grid-template-columns:24px 1fr;align-items:start;gap:10px;font-size:15px;display:grid}.checks li svg{margin-top:3px}.checks .pass svg{color:var(--seal)}.checks .fail svg{color:var(--signal)}.checks .fail{color:#ffb4a3}.links{flex-wrap:wrap;gap:10px;display:flex}.links a{border:1px solid var(--line-strong);border-radius:10px;padding:8px 14px;font-size:14px;font-weight:600}.links a:hover{border-color:var(--seal);color:var(--seal)}.tech summary{cursor:pointer;color:var(--muted);font-size:14px;font-weight:600}.tech[open] summary{margin-bottom:12px}.tech-item{gap:4px;margin-bottom:12px;display:grid}.tech-item span{color:var(--muted-2);font-size:12px}.tech pre{background:var(--ink);border:1px solid var(--line);white-space:pre-wrap;word-break:break-all;color:#cfd3dc;border-radius:10px;margin:0;padding:12px;font-size:12px;overflow-x:auto}.how{padding:40px 0 24px}.how h2{margin-bottom:22px;font-size:clamp(26px,4vw,38px)}.steps{grid-template-columns:repeat(3,1fr);gap:14px;margin:0;padding:0;list-style:none;display:grid}.steps li{align-content:start;gap:10px;padding:22px;display:grid}.steps .n{background:var(--seal-soft);width:30px;height:30px;color:var(--seal);border-radius:9px;place-items:center;font-size:14px;font-weight:700;display:grid}.steps h3{letter-spacing:-.02em;font-size:19px}.steps p{color:var(--muted);font-size:15px}.steps a{color:var(--paper);text-decoration:underline;text-decoration-color:var(--seal);text-underline-offset:3px}.fine{color:var(--muted);margin-top:22px;font-size:15px}.cli{color:var(--muted);gap:10px;margin-top:22px;padding:18px 20px;font-size:15px;display:grid}.cli pre{color:var(--paper);margin:0;font-size:13px;overflow-x:auto}@media (width<=760px){.v-hero{padding:40px 0 32px}.v-hero .lede{font-size:17px}.drop{padding:30px 14px}.steps{grid-template-columns:1fr}.result{padding:20px}.result-head{gap:14px}.badge{border-radius:15px;width:52px;height:52px}.facts{grid-template-columns:1fr;gap:2px}.facts dd{margin-bottom:10px}}@media (width<=420px){.hash-form{flex-direction:column}}
