:root{--ink:#161c18;--moss:#3f5a44;--moss-bright:#4f7358;--lichen:#93a487;--paper:#e9e8de;--paper-raised:#f4f3ec;--oxide:#8c3a32;--amber:#8a6b21;--display:"Instrument Serif", Georgia, serif;--body:"Archivo", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--line:#161c1824}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.6}.shell{max-width:1080px;margin:0 auto;padding:0 28px}.topbar{z-index:50;-webkit-backdrop-filter:blur(10px);background:#e9e8dee0;border-bottom:1px solid #0000;transition:border-color .25s,box-shadow .25s;position:sticky;top:0}.topbar.is-scrolled{border-bottom-color:var(--line);box-shadow:0 6px 20px -14px #161c1880}.devstrip{background:var(--moss);color:var(--paper-raised);font-family:var(--mono);letter-spacing:.06em;max-height:40px;font-size:.7rem;transition:max-height .3s,opacity .25s;overflow:hidden}.topbar.is-scrolled .devstrip{opacity:0;max-height:0}.devstrip__inner{align-items:center;gap:10px;padding-top:9px;padding-bottom:9px;display:flex}.devstrip__dot{background:var(--paper-raised);border-radius:50%;flex:none;width:6px;height:6px;animation:2.4s ease-in-out infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.nav__inner{align-items:center;gap:28px;height:62px;transition:height .25s;display:flex}.topbar.is-scrolled .nav__inner{height:54px}.wordmark{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--moss);flex:none;font-size:.85rem;text-decoration:none}.nav__links{align-items:center;gap:4px;margin-left:auto;display:flex;position:relative}.nav__pill{opacity:0;pointer-events:none;background:#3f5a441f;border-radius:999px;height:32px;margin-top:-16px;transition:transform .28s cubic-bezier(.4,0,.2,1),width .28s cubic-bezier(.4,0,.2,1),opacity .2s;position:absolute;top:50%;left:0}.nav__link{z-index:1;color:#161c18a8;white-space:nowrap;padding:6px 14px;font-size:.87rem;text-decoration:none;transition:color .18s;position:relative}.nav__link:hover,.nav__link.is-active{color:var(--moss)}.nav__link.is-active{font-weight:500}.nav__link:focus-visible{outline:2px solid var(--moss);outline-offset:2px;border-radius:999px}.btn{background:var(--moss);color:var(--paper-raised);border-radius:999px;flex:none;padding:9px 18px;font-size:.84rem;font-weight:500;text-decoration:none;transition:background .18s,transform .18s;display:inline-block}.btn:hover{background:var(--moss-bright);transform:translateY(-1px)}.btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.btn--lg{padding:13px 26px;font-size:.95rem}.hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:56px;padding:76px 0 92px;display:grid}.eyebrow{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--moss);margin:0 0 20px;font-size:.72rem}h1{font-family:var(--display);letter-spacing:-.015em;margin:0 0 22px;font-size:clamp(2.9rem,6.6vw,4.7rem);font-weight:400;line-height:1}h1 em{color:var(--moss);font-style:italic}.lede{color:#161c18c2;max-width:44ch;margin:0 0 32px;font-size:1.07rem}.hero__actions{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.hero__note{font-family:var(--mono);color:var(--lichen);font-size:.74rem}.card{background:var(--paper-raised);border:1px solid var(--line);border-radius:10px;margin:0;overflow:hidden;box-shadow:0 18px 40px -28px #161c188c}.card__label{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--moss);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:13px 20px;font-size:.68rem;display:flex}.badge{letter-spacing:.12em;color:var(--oxide);background:#8c3a321a;border-radius:999px;padding:3px 9px}.card__body{font-family:var(--mono);white-space:pre-wrap;word-break:break-word;color:#161c18d1;margin:0;padding:22px 20px;font-size:.78rem;line-height:1.85}.card__body .hl{color:var(--oxide);background:#8c3a321a}.card__body .fail{color:var(--oxide);font-weight:500}.card__foot{border-top:1px solid var(--line);color:#161c1899;padding:15px 20px 19px;font-size:.83rem;line-height:1.55}.section{padding:0 0 88px}.section__head{align-items:baseline;gap:14px;margin-bottom:20px;display:flex}.section__head h2{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--moss);margin:0;font-size:.74rem;font-weight:500}.section__tag{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--lichen);border:1px dashed #93a487b3;border-radius:999px;padding:2px 9px;font-size:.66rem}.samples{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.samples li{border-bottom:1px solid #161c181a;grid-template-columns:118px 1fr 1fr auto;align-items:baseline;gap:20px;padding:17px 10px;transition:background .18s;display:grid}.samples li:hover{background:var(--paper-raised)}.samples__id,.samples__host{font-family:var(--mono);font-size:.8rem}.samples__id{color:var(--lichen)}.samples__host{color:#161c1894}.samples__family{font-weight:500}.tag{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;border:1px solid;border-radius:999px;padding:4px 9px;font-size:.66rem}.tag--malicious{color:var(--oxide)}.tag--suspicious{color:var(--amber)}.tag--inconclusive{color:var(--lichen)}.note{font-family:var(--mono);color:var(--lichen);margin:16px 0 0;font-size:.72rem}.note code{background:#3f5a441a;border-radius:3px;padding:1px 5px}.cols{grid-template-columns:repeat(3,1fr);gap:36px;display:grid}.cols h3{font-family:var(--display);margin:0 0 8px;font-size:1.55rem;font-weight:400}.cols p{color:#161c1899;margin:0;font-size:.94rem}footer{border-top:1px solid var(--line);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--lichen);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:26px 0 40px;font-size:.7rem;display:flex}@media (width<=900px){.hero{grid-template-columns:1fr;gap:42px;padding:54px 0 68px}.cols{grid-template-columns:1fr;gap:28px}.samples li{grid-template-columns:1fr auto;row-gap:6px}.samples__host{grid-column:1/-1}}@media (width<=720px){.nav__inner{gap:14px}.nav__links{scrollbar-width:none;margin-left:0;overflow-x:auto}.nav__links::-webkit-scrollbar{display:none}.nav__inner>.btn{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
