<!-- Edit the text inside the HTML tags; keep classes and data-scene/data-step attributes intact.
The final button label is in data-final-label at the bottom. Save and refresh the preview. -->
<div class="workflow-sticky grid">
  <nav class="workflow-nav rail" aria-label="Research workflow">
    <button type="button" data-step="0" aria-current="step"><span>i.</span> Need</button>
    <button type="button" data-step="1"><span>ii.</span> Draft</button>
    <button type="button" data-step="2"><span>iii.</span> Review</button>
    <button type="button" data-step="3"><span>iv.</span> Publish</button>
    <button type="button" data-step="4"><span>v.</span> Solve</button>
  </nav>
  <div class="workflow-main">
    <div class="workflow-scenes">
      <article class="workflow-scene is-active" data-scene="0">
        <div class="workflow-caption"><h2>Nail the need.</h2>
            <p>Start with what matters.</p></div>
        <div class="workflow-canvas need-canvas">
          <p class="typed-prompt">How can we protect critical infrastructure when AI can find and exploit software vulnerabilities?</p>
        </div>
      </article>
      <article class="workflow-scene" data-scene="1" hidden>
        <div class="workflow-caption"><h2>Draft an agenda.</h2>
            <p>Turn the need into a family of research questions, with or without AI.</p></div>
        <div class="workflow-canvas agenda-canvas">
          <div class="workflow-agenda"><div class="document-label"><span>Research agenda</span><span class="workflow-status" data-status="draft">Draft</span></div>
            <h3>Contain the breach.</h3>
            <p class="document-deck">Can a compromised component be provably contained?</p>
            <div class="document-rule"></div>
            <p class="document-motivation">AI finds bugs faster than we patch them. Bound the damage instead: $$\operatorname{reach}(c) \subseteq \operatorname{policy}(c).$$</p></div>
        </div>
      </article>
      <article class="workflow-scene" data-scene="2" hidden>
        <div class="workflow-caption"><h2>Bring in the humans.</h2>
            <p>Humans decide. Are we asking the right questions? </p></div>
        <div class="workflow-canvas review-canvas">
          <div class="workflow-agenda"><div class="document-label"><span>Research agenda</span><span class="workflow-status" data-status="review">Human review</span></div>
            <h3>Contain the breach.</h3>
            <p class="document-deck">Can a whole seL4 system provably contain a compromised component?</p>
            <div class="document-rule"></div>
            <p class="document-motivation">AI finds bugs faster than we patch them. Bound the damage along every path, not just direct ones: $$\operatorname{reach}^*(c) \subseteq \operatorname{policy}(c).$$</p></div>
        </div>
      </article>
      <article class="workflow-scene" data-scene="3" hidden>
        <div class="workflow-caption"><h2>Publish the agenda.</h2>
            <p>Anyone may take it up: a student, an AI lab, a meandering agent.</p></div>
        <div class="workflow-canvas publish-canvas">
          <div class="workflow-agenda"><div class="document-label"><span>Research agenda</span><span class="workflow-status" data-status="published">Published</span></div>
            <h3>Contain the breach.</h3>
            <p class="document-deck">Can a whole seL4 system provably contain a compromised component?</p>
            <div class="document-rule"></div>
            <p class="document-motivation">AI finds bugs faster than we patch them. Bound the damage along every path, not just direct ones: $$\operatorname{reach}^*(c) \subseteq \operatorname{policy}(c).$$</p></div>
        </div>
      </article>
      <article class="workflow-scene" data-scene="4" hidden>
        <div class="workflow-caption"><h2>Crack the problems.</h2>
            <p>A proof checker, not a reputation, decides what holds.</p></div>
        <div class="workflow-canvas solve-canvas">
          <div class="workflow-agenda"><div class="document-label"><span>Research agenda</span><span class="workflow-status" data-status="verified">Verified</span></div>
            <h3>Contain the breach.</h3>
            <p class="document-deck">Can a whole seL4 system provably contain a compromised component?</p>
            <div class="document-rule"></div>
            <p class="document-theorem"><strong>Theorem 1.</strong> <em>Every component $c$ of the system, compromised or not, satisfies</em> $$\operatorname{reach}^*(c) \subseteq \operatorname{policy}(c).$$</p></div>
        </div>
      </article>
    </div>
    <div class="workflow-bottom"><span class="scroll-cue">Scroll ↓</span><div class="workflow-progress" aria-hidden="true"><span></span></div><button type="button" class="workflow-next" data-final-label="Explore agendas ↗">Next ↗</button></div>
  </div>
</div>
