@font-face{font-family:Geist;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/Geist-Regular.woff2) format("woff2")}@font-face{font-family:Geist;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/Geist-Medium.woff2) format("woff2")}@font-face{font-family:Geist;font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/Geist-SemiBold.woff2) format("woff2")}@font-face{font-family:Geist;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/Geist-Bold.woff2) format("woff2")}@font-face{font-family:Geist Mono;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/GeistMono-Regular.woff2) format("woff2")}@font-face{font-family:Geist Mono;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/GeistMono-Medium.woff2) format("woff2")}:root{--bg: #f4f5f2;--surface: #fff;--text: #171a17;--muted: #62675f;--line: #dde2d8;--seal: #3e7a00;--seal-bg: #eaf7d4;--pending: #885000;--pending-bg: #fff1db;--danger: #bc282e;--danger-bg: #fde7e8;color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--bg: #0b0b0d;--surface: #16161a;--text: #f4f4f5;--muted: #a2a2ad;--line: #333339;--seal: #c6ff3d;--seal-bg: #27331b;--pending: #ffb547;--pending-bg: #35291a;--danger: #ff7478;--danger-bg: #381f24}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Geist,-apple-system,system-ui,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:3px}.brand,main,.foot{width:100%;max-width:680px;margin:0 auto}.brand{display:flex;align-items:center;gap:12px;padding:32px 20px 24px}.brand strong{font-size:16px;letter-spacing:-.3px}.brand-caption{display:block;font-size:12px;color:var(--muted)}.brand-mark{width:40px;height:44px;border:1.5px solid var(--text);border-radius:12px 12px 17px 17px;display:grid;place-items:center;font-size:22px;font-weight:600;position:relative}.brand-mark span{position:absolute;bottom:-2px;right:-3px;width:10px;height:10px;border:2px solid var(--bg);border-radius:50%;background:var(--seal)}.brand-note{margin-left:auto;color:var(--muted);font-size:9px;letter-spacing:1px}main{padding:0 20px;animation:appear .12s ease-out}.status{color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:24px;background:var(--surface)}.banner{border:1px solid var(--line);border-radius:20px;padding:24px;margin-bottom:20px;background:var(--surface)}.result-top{display:flex;align-items:center;gap:10px;margin-bottom:22px}.result-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--bg);color:var(--muted);font-size:20px;font-weight:600}.eyebrow{color:var(--muted);font-size:10px;font-weight:600;letter-spacing:1px}.banner h1{margin:0 0 12px;font-size:clamp(26px,5.8vw,32px);line-height:1.12;letter-spacing:-.8px;font-weight:600}.banner p{margin:0;color:var(--muted);font-size:15px;line-height:1.55;max-width:51ch}.result-time{font-family:Geist Mono,ui-monospace,monospace;font-size:14px;margin-bottom:12px;color:var(--seal)}.banner.ok .result-mark{background:var(--seal-bg);color:var(--seal)}.banner.warn .result-mark{background:var(--pending-bg);color:var(--pending)}.banner.bad{border-color:var(--danger)}.banner.bad .result-mark{background:var(--danger-bg);color:var(--danger)}.banner.bad h1{color:var(--danger)}.recovery{padding:4px 24px 24px;border-bottom:1px solid var(--line)}.recovery h2{margin:0 0 8px;font-size:17px;font-weight:600;letter-spacing:-.2px}.recovery p{color:var(--muted);font-size:15px;line-height:1.55;margin:0}.media{width:100%;border-radius:20px;display:block;margin-bottom:20px;background:var(--surface)}.media-fallback{border:1px solid var(--line);padding:20px 24px}.media-fallback p{margin:0 0 12px;color:var(--muted)}.media-fallback .download{display:inline-flex;align-items:center;min-height:48px;color:var(--text);font-weight:600}.facts{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:4px 20px;margin:0 0 20px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);column-gap:20px}.facts dt,.facts dd{margin:0;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}.facts dt{color:var(--muted)}.facts dd{text-align:right;overflow-wrap:anywhere}.facts dt:last-of-type,.facts dd:last-of-type{border-bottom:none}.qualification{font-size:13px;color:var(--muted);margin:0 4px 16px;line-height:1.55}.drop{display:block;border:1px dashed var(--muted);border-radius:18px;padding:24px;text-align:center;margin-bottom:12px;cursor:pointer}.drop input{display:block;margin:12px auto 0;max-width:100%;min-height:48px;font:inherit;font-size:14px}.drop input::file-selector-button{min-height:48px;padding:8px 12px;margin-right:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;cursor:pointer}.check-result{font-weight:600;min-height:1.5em}.check-result[data-match=true]{color:var(--seal)}.check-result[data-match=false]{color:var(--danger)}.diy{border-top:1px solid var(--line);padding-top:4px}.diy summary{cursor:pointer;color:var(--text);padding:14px 4px;min-height:48px;font-size:14px;font-weight:500}.diy p{color:var(--muted);font-size:14px}.diy pre{font-family:Geist Mono,ui-monospace,monospace;font-size:12px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px;overflow-x:auto}.diy pre.wrap{white-space:pre-wrap;word-break:break-all}.foot{color:var(--muted);font-size:12px;padding:32px 24px 40px}.foot strong{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:2px}.foot>span{display:block}.foot a{display:inline-flex;align-items:center;gap:6px;min-height:48px}.retry{min-height:48px;padding:12px 24px;border-radius:16px;border:0;background:var(--text);color:var(--bg);font:inherit;font-weight:600;cursor:pointer}:focus-visible{outline:2px solid var(--text);outline-offset:4px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.drop.dragging{border-color:var(--seal);background:var(--seal-bg)}.diy h2{font-size:15px;margin:16px 0 6px}@keyframes appear{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){main{animation:none}}@media (max-width: 450px){.brand-note{display:none}}@media (max-width: 350px){.banner{padding:20px}.facts{grid-template-columns:1fr}.facts dt{padding-bottom:2px;border:0}.facts dd{padding-top:0;text-align:left}}
