<div class="lumi-ai-shell" data-assistant-panel-id="lumi_ai" data-lumi-ai data-endpoint="<%= endpoint %>" data-user-id="<%= user.id %>">
  <button class="lumi-ai-pill" type="button" data-lumi-ai-toggle aria-expanded="false" aria-controls="lumi-ai-panel">
    <span class="lumi-ai-mark" aria-hidden="true">AI</span>
    <span class="lumi-ai-pill-label">Lumi Assistant</span>
    <span class="lumi-ai-state" data-lumi-ai-state title="Checking runtime"></span>
  </button>
  <section class="lumi-ai-panel" id="lumi-ai-panel" data-lumi-ai-panel aria-hidden="true" aria-label="Lumi Assistant">
    <div class="lumi-ai-resize-handle" data-lumi-ai-resize aria-label="Resize Lumi Assistant"></div>
    <header class="lumi-ai-header">
      <div>
        <strong>Lumi Assistant</strong>
        <span data-lumi-ai-status>Checking local runtime</span>
      </div>
      <div class="lumi-ai-header-actions">
        <button type="button" class="lumi-ai-clear" data-lumi-ai-clear aria-label="Clear conversation" title="Clear conversation">Clear</button>
        <button type="button" class="lumi-ai-close" data-lumi-ai-close aria-label="Close Lumi Assistant" title="Close">&times;</button>
      </div>
    </header>
    <div class="lumi-ai-messages" data-lumi-ai-messages aria-live="polite" aria-busy="false"></div>
    <form class="lumi-ai-compose" data-lumi-ai-form>
      <span class="lumi-ai-cooldown" data-lumi-ai-cooldown role="status" hidden></span>
      <textarea name="message" rows="2" maxlength="6000" placeholder="Ask Lumi Assistant" aria-label="Message Lumi Assistant" required></textarea>
      <button type="submit" data-lumi-ai-submit aria-label="Send message" title="Send">
        <svg viewBox="0 0 24 24" aria-hidden="true"><path d="M4 4l17 8-17 8 3-8zM7 12h14" fill="none" stroke="currentColor" stroke-width="2" stroke-linejoin="round"/></svg>
      </button>
    </form>
    <footer class="lumi-ai-disclaimer">
      <span>AI can make mistakes. Verify important info.</span>
      <details>
        <summary aria-label="About Lumi Assistant replies" title="About Lumi Assistant replies">i</summary>
        <div class="lumi-ai-disclaimer-detail">
          Lumi Assistant replies may be inaccurate. Its replies, opinions, and recommendations do not represent Jenni, OokamiKunTV, admins, moderators, or the community.
        </div>
      </details>
    </footer>
  </section>
</div>
