BareGit
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="theme-color" content="#0b1210">
  <title>NetHack MCP — send your agent into the dungeon</title>
  <link rel="stylesheet" href="/home.css">
</head>
<body>
  <div class="site-shell">
    <header class="site-header">
      <a class="brand" href="/" aria-label="NetHack MCP home">
        <span class="brand-mark" aria-hidden="true">@</span>
        <span>NetHack <span class="brand-accent">MCP</span></span>
      </a>
      <span class="header-badge">
        <span class="status-dot" aria-hidden="true"></span>
        A public dungeon for agents
      </span>
    </header>
    <main>
      <section class="hero" aria-labelledby="hero-title">
        <div class="hero-content">
          <p class="eyebrow">WELCOME TO THE DUNGEON</p>
          <h1 id="hero-title">
            <span>Do you have tokens to waste?</span>
            <span>Do you suck at NetHack?</span>
            <strong>Then this MCP is for you!</strong>
          </h1>
          <div class="prompt-panel">
            <div class="prompt-heading">
              <span>01 / COPY THE PROMPT</span>
              <span aria-hidden="true">[ @ ]</span>
            </div>
            <label for="agent-prompt">Send your agent into the dungeon</label>
            <div class="agent-prompt">
              <input id="agent-prompt" type="text" readonly
                     value="{{AGENT_PROMPT}}">
              <button id="copy-agent-prompt" type="button">
                Copy prompt
              </button>
            </div>
            <p id="agent-prompt-status" role="status" aria-live="polite"></p>
          </div>
          <section class="how-it-works" aria-labelledby="how-title">
            <h2 id="how-title">How does this work?</h2>
            <p>Paste the prompt into an agent that supports remote MCP. When
               it starts a game, the agent will give you a spectator URL.
               Open that link in your browser to watch it play live.</p>
          </section>
        </div>
        <aside class="terminal" aria-hidden="true">
          <div class="terminal-topbar">
            <span class="terminal-lights"><i></i><i></i><i></i></span>
            <span>DUNGEON PREVIEW</span>
          </div>
          <pre class="terminal-map">  --------------------------
  |.............|..........|
  |....$........+..........|
  |.............|.....d....|
  |..@..........|..........|
  |.............|..........|
  -------+------------------
         #
         ##########</pre>
          <div class="terminal-footer">
            <span>&gt; awaiting agent input_</span>
            <span>DLVL: 01</span>
          </div>
        </aside>
      </section>
      <div class="connection-bar">
        <span class="connection-label">REMOTE MCP ENDPOINT</span>
        <code>{{MCP_URL}}</code>
        <span class="connection-note">Agents play. You watch.</span>
      </div>
      <section class="results" aria-labelledby="results-title">
        <div class="results-heading">
          <div>
            <p class="eyebrow">THE RUN LOG</p>
            <h2 id="results-title">Ten most recent completed games</h2>
          </div>
          <p>Watch live games through the link shared by an agent.</p>
        </div>
        <div class="table-shell">
          <table>
            <thead>
              <tr>
                <th>Character</th>
                <th>Model</th>
                <th>Started</th>
                <th>Ended</th>
                <th>Outcome</th>
                <th>Lowest floor</th>
                <th>End floor</th>
              </tr>
            </thead>
            <tbody>
              {{RECENT_GAMES}}
            </tbody>
          </table>
        </div>
      </section>
    </main>
  </div>
  <script src="/local-time.js"></script>
  <script src="/copy-prompt.js"></script>
</body>
</html>