// Research page — Variant A

const RESEARCH_DATA = {
  current: [
    {
      img: null,
      tag: "PhD Research · Working paper",
      venue: "Submitted, 2026",
      title: "Universities as Torture Environments: A Mixed-Methods Study of Systemic Political Violence",
      authors: "Fuad Al Abir et al.",
      blurb: "Cross-sectional mixed-method study (n = 3,078) across three major Bangladeshi public universities. We implemented a composite measure of experienced + witnessed torture, revealing 57.3% exposure and identifying residential halls and 'guest rooms' as institutionalized sites of ritualized violence. Leveraging the July 2024 uprising as a natural experiment, a quasi-experimental comparison detected an 8× post-regime reduction in violence — empirically validating that these environments were sustained solely by state power.",
      links: [],
    },
    {
      img: null,
      tag: "PhD Research · In progress",
      venue: "With Dr. Naeemul Hassan, UMD iSchool",
      title: "Quantifying Legitimization in Bangla & English Media Coverage of Extrajudicial Killings (2009–2024)",
      authors: "Fuad Al Abir & Naeemul Hassan",
      blurb: "Largest multilingual dataset of EJK news from major Bangla and English outlets. Using LLM-assisted annotation and semantic embeddings, we analyze source attribution, framing, and tagging to quantify legitimation strategies based on Van Leeuwen's framework — testing whether outlets reproduced state narratives or obscured institutional responsibility in violation of the Minnesota Protocol.",
      links: [{ label: "Data sample", href: "#" }],
    },
    {
      img: null,
      tag: "Spotlight",
      venue: "Agents4Science 2025",
      title: "Agentic Simulations of Narrative Propagation under Moderation Regimes",
      authors: "Fuad Al Abir",
      blurb: "An agent-based framework for studying how empirically grounded semantic, affective and moral profiles shape the diffusion of political narratives — and how AI-generated content amplifies, dampens, or reconfigures polarized discourse under different platform rules.",
      links: [],
    },
  ],
  publications: [
    {
      img: "static/assets/pubs/teasers/mondrian.gif",
      tag: "Conference",
      venue: "IEEE BIBM 2024 · Lisbon, Portugal",
      title: "Mondrian Abstraction and Language Model Embeddings for Differential Pathway Analysis",
      authors: "Fuad Al Abir & Jake Y. Chen",
      blurb: "A new visualization tool that simplifies biological networks by presenting pathways as structured, intuitive squares — retaining critical relationships using language-model embeddings while offering a visually accessible format.",
      links: [{ label: "Paper", href: "https://drive.google.com/file/d/1J3ArNQk23K5LiGIDYRdl8H3v_aIfavNA/view" }],
    },
    {
      img: "static/assets/pubs/teasers/gait.png",
      tag: "Journal",
      venue: "IEEE Access",
      title: "Gait Recognition with Wearable Sensors using Modified Residual Block-based Lightweight CNN",
      authors: "Fuad Al Abir*, Md Al Mehedi Hasan*, Md Al Siam, Jungpil Shin",
      blurb: "An efficient deep-learning model for gait recognition on low-power wearable devices — reducing parameters and memory by >85% versus prior work while maintaining state-of-the-art accuracy.",
      links: [{ label: "Paper", href: "https://ieeexplore.ieee.org/iel7/6287639/6514899/09758696.pdf" }],
    },
    {
      img: "static/assets/pubs/teasers/airwriting.png",
      tag: "Journal",
      venue: "Sensors",
      title: "Deep-Learning-Based Air-Writing Recognition with Proper Interpolation",
      authors: "Fuad Al Abir, Md Al Siam, Abu Sayeed, Md Al Mehedi Hasan, Jungpil Shin",
      blurb: "User-independent air-writing recognition with smart-bands — minimizing signal-duration variability without data loss and outperforming prior methods across multiple datasets.",
      links: [{ label: "Paper", href: "https://www.mdpi.com/1424-8220/21/24/8407" }],
    },
    {
      img: "static/assets/pubs/teasers/biomarker.png",
      tag: "Journal",
      venue: "Molecular Omics",
      title: "Biomarker Identification by Reversing Autoencoder Learning + Recursive Feature Elimination",
      authors: "Fuad Al Abir, S. M. Shovan, Md Al Mehedi Hasan, Abu Sayeed, Jungpil Shin",
      blurb: "A novel autoencoder-based method for cancer-biomarker identification from RNA-Seq data, surfacing 17 highly potent biomarkers and incorporating explainable-AI techniques to clarify gene influences.",
      links: [{ label: "Paper", href: "https://drive.google.com/file/d/17yGAJM7Ew430li2PyxSvmp54an72Zk7L/view" }],
    },
    {
      img: "static/assets/pubs/teasers/lung.gif",
      tag: "Journal",
      venue: "Informatics in Medicine Unlocked",
      title: "Most Dominant Metabolomic Biomarkers for Lung Cancer",
      authors: "Utshab K. Ghosh, Fuad Al Abir, Nahian Rifaat, S. M. Shovan, Abu Sayeed, Md Al Mehedi Hasan",
      blurb: "Two-phase approach combining statistical tests and machine learning to identify dominant metabolomic biomarkers from blood samples for early lung-cancer prediction.",
      links: [{ label: "Paper", href: "https://www.sciencedirect.com/science/article/pii/S2352914821002872" }],
    },
    {
      img: "static/assets/pubs/teasers/robot-surface.gif",
      tag: "Conference",
      venue: "IEEE MCSoC 2021",
      title: "Surface Type Classification for Autonomous Robots",
      authors: "Md Al Mehedi Hasan, Fuad Al Abir, Jungpil Shin",
      blurb: "Real-time surface recognition for autonomous robots — extensive feature extraction and classification of time-series data with state-of-the-art accuracy and minimal inference time.",
      links: [
        { label: "Paper", href: "https://ieeexplore.ieee.org/abstract/document/9691954" },
        { label: "Slides", href: "https://drive.google.com/file/d/1VFVBDL_NPLl-fvPt5A1bVpWxe5Ld1jsu/view" },
      ],
    },
  ],
};

const PubEntry = ({ theme, entry, last }) => (
  <article style={{
    display: "grid", gridTemplateColumns: "200px 1fr", gap: 36,
    padding: "32px 0",
    borderBottom: last ? "none" : `1px solid ${theme.line}`,
  }}>
    <div>
      {entry.img ? (
        <img src={entry.img} alt="" style={{
          width: "100%", aspectRatio: "1/1", objectFit: "cover",
          background: theme.chip, border: `1px solid ${theme.line}`,
        }} />
      ) : (
        <div style={{
          width: "100%", aspectRatio: "1/1", background: theme.chip,
          backgroundImage: `repeating-linear-gradient(135deg, ${theme.line} 0 2px, transparent 2px 12px)`,
          display: "flex", alignItems: "flex-end", padding: 12,
          fontFamily: theme.fontMono, fontSize: 9, color: theme.muted, letterSpacing: "0.06em",
        }}>figure</div>
      )}
    </div>
    <div>
      <div style={{ display: "flex", gap: 14, alignItems: "baseline", marginBottom: 10, flexWrap: "wrap" }}>
        <span style={{ fontFamily: theme.fontMono, fontSize: 10.5, color: theme.accent, letterSpacing: "0.12em", textTransform: "uppercase" }}>{entry.tag}</span>
        <span style={{ fontFamily: theme.fontMono, fontSize: 10.5, color: theme.muted, letterSpacing: "0.04em" }}>·</span>
        <span style={{ fontFamily: theme.fontMono, fontSize: 10.5, color: theme.muted, letterSpacing: "0.04em" }}>{entry.venue}</span>
      </div>
      <h3 style={{ fontFamily: theme.fontSans, fontSize: 21, fontWeight: 500, letterSpacing: "-0.012em", margin: 0, marginBottom: 8, lineHeight: 1.3, color: theme.ink }}>
        {entry.title}
      </h3>
      <div style={{ fontFamily: theme.fontBody, fontSize: 14, color: theme.muted, marginBottom: 12 }}>{entry.authors}</div>
      <p style={{ fontFamily: theme.fontBody, fontSize: 15, color: theme.body, margin: 0, marginBottom: 14, lineHeight: 1.6, maxWidth: 720 }}>
        {entry.blurb}
      </p>
      {entry.links.length > 0 && (
        <div style={{ display: "flex", gap: 18, fontSize: 13, fontFamily: theme.fontMono, letterSpacing: "0.05em" }}>
          {entry.links.map((l, i) => (
            <a key={i} href={l.href} target="_blank" rel="noopener"
               style={{ color: theme.accent, textDecoration: "none", borderBottom: `1px solid ${theme.accent}` }}>
              {l.label} ↗
            </a>
          ))}
        </div>
      )}
    </div>
  </article>
);

const PageResearch = ({ theme }) => (
  <main>
    <Container theme={theme} style={{ paddingTop: 72, paddingBottom: 32 }}>
      <Eyebrow theme={theme} color={theme.accent}>Research</Eyebrow>
      <h1 style={{ fontFamily: theme.fontSans, fontSize: 40, fontWeight: 500, letterSpacing: "-0.02em", margin: "16px 0 20px", color: theme.ink, textWrap: "balance" }}>
        Computational social science, with a Global-South lens.
      </h1>
      <p style={{ fontFamily: theme.fontBody, fontSize: 18, color: theme.body, lineHeight: 1.6, margin: 0, maxWidth: 760 }}>
        Active doctoral work integrates social-science theory into NLP for political-narrative analysis. Earlier work — kept here as a record — focused on AI for healthcare, HCI, and bioinformatics.
      </p>
    </Container>

    <section style={{ borderTop: `1px solid ${theme.line}`, paddingTop: theme.sectionPad, paddingBottom: theme.sectionPad }}>
      <Container theme={theme}>
        <SectionTitle theme={theme}
          kicker="01 — Current"
          title="Active doctoral research"
          lede="Three threads, each grounded in a Bangladeshi case study and pointed at a broader methodological contribution." />
        {RESEARCH_DATA.current.map((e, i) => (
          <PubEntry key={i} theme={theme} entry={e} last={i === RESEARCH_DATA.current.length - 1} />
        ))}
      </Container>
    </section>

    <section style={{ borderTop: `1px solid ${theme.line}`, paddingTop: theme.sectionPad, paddingBottom: theme.sectionPad, background: theme.paper2 }}>
      <Container theme={theme}>
        <SectionTitle theme={theme}
          kicker="02 — Archive"
          title="Earlier publications · 2021–2024"
          lede="Prior work in deep learning, biomedical AI, and HCI — preserved for the record." />
        {RESEARCH_DATA.publications.map((e, i) => (
          <PubEntry key={i} theme={theme} entry={e} last={i === RESEARCH_DATA.publications.length - 1} />
        ))}
      </Container>
    </section>
  </main>
);

window.PageResearch = PageResearch;
