Cursor Composer 2.5

CursorMay 2026

What it wrote

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>VOID FORGE — Incremental Reality Engine</title>
  <link rel="preconnect" href="https://fonts.googleapis.com">
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  <link href="https://fonts.googleapis.com/css2?family=Syne:wght@400;600;800&family=IBM+Plex+Mono:wght@400;500&display=swap" rel="stylesheet">
  <link rel="stylesheet" href="style.css">
</head>
<body>
  <canvas id="starfield" aria-hidden="true"></canvas>
  <div class="scanlines" aria-hidden="true"></div>
  <div class="grain" aria-hidden="true"></div>

  <header class="hud">
    <div class="hud-brand">
      <span class="brand-glyph">◈</span>
      <div>
        <h1>VOID FORGE</h1>
        <p class="tagline">Harvest the fabric of reality</p>
      </div>
    </div>
    <div class="hud-stats">
      <div class="stat-block primary">
        <span class="stat-label">Void Shards</span>
        <span class="stat-value" id="shard-count">0</span>
        <span class="stat-rate" id="shard-rate">+0 / sec</span>
      </div>
      <div class="stat-block">
        <span class="stat-label">Paradox</span>
        <span class="stat-value paradox" id="paradox-count">0</span>
        <span class="stat-rate" id="paradox-bonus">×1.00 global</span>
      </div>
    </div>
    <div class="hud-actions">
      <button class="btn ghost" id="save-btn" title="Save game">Save</button>
      <button class="btn ghost" id="export-btn" title="Export save">Export</button>
      <button class="btn ghost danger" id="reset-btn" title="Hard reset">Reset</button>
    </div>
  </header>

  <main class="layout">
    <section class="forge-panel">
      <div class="forge-ring ring-outer"></div>
      <div class="forge-ring ring-mid"></div>
      <div class="forge-ring ring-inner"></div>
      <button class="forge-core" id="forge-btn" aria-label="Harvest void shards">
        <span class="core-icon">⬡</span>
        <span class="core-label">HARVEST</span>
        <span class="core-power" id="click-power">+1</span>
      </button>
      <div class="forge-particles" id="click-particles" aria-hidden="true"></div>
      <div class="milestone-track" id="milestone-track"></div>
    </section>

    <section class="shop-panel">
      <nav class="tabs" role="tablist">
        <button class="tab active" data-tab="generators" role="tab" aria-selected="true">Generators</button>
        <button class="tab" data-tab="upgrades" role="tab">Upgrades</button>
        <button class="tab" data-tab="ascension" role="tab">Ascension</button>
      </nav>

      <div class="tab-content active" id="tab-generators" role="tabpanel">
        <p class="panel-desc">Reality tunnels that bleed void energy into your forge.</p>
        <div class="item-list" id="generator-list"></div>
      </div>

      <div class="tab-content" id="tab-upgrades" role="tabpanel">
        <p class="panel-desc">Warp the laws of physics. Each upgrade stacks forever.</p>
        <div class="item-list" id="upgrade-list"></div>
      </div>

      <div class="tab-content" id="tab-ascension" role="tabpanel">
        <div class="ascension-hero">
          <h2>Collapse Reality</h2>
          <p>Reset your forge to earn <strong>Paradox Points</strong> — permanent multipliers that transcend time.</p>
          <div class="ascension-preview">
            <div class="preview-row">
              <span>Shards this run</span>
              <span id="asc-shards">0</span>
            </div>
            <div class="preview-row highlight">
              <span>Paradox on collapse</span>
              <span id="asc-gain">+0</span>
            </div>
            <div class="preview-row">
              <span>Total paradox after</span>
              <span id="asc-total">0</span>
            </div>
          </div>
          <button class="btn ascension" id="ascend-btn" disabled>Collapse Reality</button>
          <div class="paradox-shop">
            <h3>Paradox Upgrades</h3>
            <div class="item-list" id="paradox-list"></div>
          </div>
        </div>
      </div>
    </section>
  </main>

  <aside class="event-log" id="event-log" aria-live="polite">
    <div class="log-header">Signal Feed</div>
    <ul id="log-entries"></ul>
  </aside>

  <div class="toast-zone" id="toast-zone" aria-live="assertive"></div>

  <script src="game.js"></script>
</body>
</html>