Required fixes:
- recognizer.ts: fetch() → requestUrl() (Obsidian API)
- settings.ts: createEl('h2') → Setting.setHeading()
- parser.test.ts: console.log → console.debug (4 occurrences)
- md-parser.ts: remove unnecessary escape in char class [^\s\-] → [^\s-]
- main.ts: async callbacks → void (async()=>{})() pattern; menu as any → as unknown as
- embed.ts / editor-view.ts: innerHTML → setIcon(); key: string → I18nKey; async handlers wrapped in void
- editor-view.ts: setState(state: any) → (state: unknown, result: ViewStateResult); querySelector generic
- i18n.ts: window as any → typed cast; export type I18nKey
- styles.css: CSS utility classes and CSS vars replace inline styles
Bug fixes found during testing:
- setCssProps is a method (el.setCssProps), not a standalone export — caused white modal
- collapse animation broken after expand: replaced rAF with forced reflow (void wrapper.offsetHeight)
- md-parser: // LIST with space not recognized — added \s* after // in both regexes