OneCompiler

7

35
 <!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>The Crimson Circle</title>
  <style>
    /* ===== Reset & Base ===== */
    *, *::before, *::after {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    body {
      font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
      background: linear-gradient(135deg, #0a0a0a 0%, #1a0000 50%, #0a0a0a 100%);
      color: #e0d5c1;
      min-height: 100vh;
      display: flex;
      justify-content: center;
      align-items: center;
      padding: 20px;
    }

    /* ===== Container ===== */
    .container {
      width: 100%;
      max-width: 720px;
      margin: 0 auto;
      padding: 40px 36px;
      background: rgba(18, 12, 10, 0.92);
      border: 1px solid rgba(180, 40, 40, 0.35);
      border-radius: 16px;
      box-shadow:
        0 0 40px rgba(180, 20, 20, 0.15),
        inset 0 0 60px rgba(60, 10, 10, 0.25);
      backdrop-filter: blur(2px);
      transition: box-shadow 0.5s ease;
    }

    /* ===== Header ===== */
    h1 {
      font-size: 2rem;
      font-weight: 300;
      letter-spacing: 4px;
      text-transform: uppercase;
      text-align: center;
      color: #b83030;
      text-shadow: 0 0 12px rgba(200, 30, 30, 0.5), 0 2px 0 #000;
      padding-bottom: 16px;
      border-bottom: 1px solid rgba(180, 40, 40, 0.3);
      margin-bottom: 24px;
    }

    /* ===== Body Text ===== */
    p {
      font-size: 1rem;
      line-height: 1.7;
      margin-bottom: 18px;
      color: #ccc0af;
    }

    /* ===== List ===== */
    ul {
      list-style: none;
      margin: 0 0 24px 0;
      padding: 0;
    }

    ul li {
      position: relative;
      padding: 10px 16px 10px 40px;
      margin-bottom: 8px;
      background: rgba(60, 20, 20, 0.25);
      border-left: 3px solid #8a2b2b;
      border-radius: 0 6px 6px 0;
      font-size: 0.95rem;
      color: #d6c9b8;
      transition: background 0.2s ease, border-color 0.2s ease;
    }

    ul li::before {
      content: "◈";
      position: absolute;
      left: 14px;
      top: 10px;
      color: #b83030;
      font-size: 1rem;
    }

    ul li:hover {
      background: rgba(80, 25, 25, 0.35);
      border-left-color: #c94444;
    }

    /* ===== Puzzle Section ===== */
    #game {
      margin-top: 32px;
      padding-top: 28px;
      border-top: 1px solid rgba(180, 40, 40, 0.25);
      text-align: center;
    }

    #game p {
      font-style: italic;
      color: #a09080;
      font-size: 0.95rem;
    }

    /* ===== Input & Button ===== */
    input[type="number"] {
      width: 120px;
      padding: 10px 14px;
      font-size: 1.1rem;
      text-align: center;
      background: #1e1412;
      color: #e0d5c1;
      border: 1px solid #5a2a2a;
      border-radius: 8px;
      outline: none;
      transition: border-color 0.3s ease, box-shadow 0.3s ease;
      margin-right: 8px;
    }

    input[type="number"]:focus {
      border-color: #b83030;
      box-shadow: 0 0 12px rgba(180, 40, 40, 0.3);
    }

    /* Hide spinner for number input */
    input[type="number"]::-webkit-outer-spin-button,
    input[type="number"]::-webkit-inner-spin-button {
      -webkit-appearance: none;
      margin: 0;
    }
    input[type="number"] {
      -moz-appearance: textfield;
    }

    button {
      padding: 10px 28px;
      font-size: 1rem;
      font-weight: 600;
      letter-spacing: 1px;
      text-transform: uppercase;
      color: #e0d5c1;
      background: linear-gradient(180deg, #6e1e1e, #441212);
      border: 1px solid #8a2b2b;
      border-radius: 8px;
      cursor: pointer;
      transition: background 0.3s ease, box-shadow 0.3s ease, transform 0.15s ease;
    }

    button:hover {
      background: linear-gradient(180deg, #8a2828, #551818);
      box-shadow: 0 0 18px rgba(180, 40, 40, 0.3);
    }

    button:active {
      transform: scale(0.97);
    }

    /* ===== Message ===== */
    #message {
      min-height: 1.6em;
      margin-top: 16px;
      font-size: 1rem;
      color: #c95a5a;
      text-shadow: 0 0 6px rgba(200, 60, 60, 0.3);
      transition: color 0.3s ease;
    }

    /* ===== Symbol / Emblem ===== */
    .cult-emblem {
      display: block;
      width: 120px;
      height: 120px;
      margin: 0 auto 20px auto;
      border-radius: 50%;
      border: 2px solid #8a2b2b;
      box-shadow: 0 0 30px rgba(180, 40, 40, 0.2);
      background: radial-gradient(circle at 40% 40%, #2e1212, #0f0808);
    }

    /* ===== Responsive ===== */
    @media (max-width: 520px) {
      .container {
        padding: 24px 18px;
      }
      h1 {
        font-size: 1.4rem;
        letter-spacing: 2px;
      }
      input[type="number"] {
        width: 90px;
        margin-right: 6px;
      }
      button {
        padding: 10px 18px;
      }
    }
  </style>
</head>
<body>
  <div class="container">

    <!-- Emblem -->
    <svg class="cult-emblem" viewBox="0 0 100 100" aria-hidden="true">
      <circle cx="50" cy="50" r="46" fill="none" stroke="#8a2b2b" stroke-width="2"/>
      <circle cx="50" cy="50" r="36" fill="none" stroke="#6a1f1f" stroke-width="1.5" stroke-dasharray="4 4"/>
      <polygon points="50,18 58,38 80,38 62,52 68,72 50,58 32,72 38,52 20,38 42,38" fill="#8a2b2b" opacity="0.6"/>
      <circle cx="50" cy="50" r="6" fill="#b83030" opacity="0.8"/>
    </svg>

    <h1>Welcome, Initiate</h1>

    <p>
      You have proven your worth… for now. The Crimson Circle observes
      your every move. Step carefully — not all who wander are lost, but
      many who find are never the same.
    </p>

    <ul>
      <li>Whispers carry further than screams in the dark.</li>
      <li>The seal must remain unbroken until the blood moon rises.</li>
      <li>Trust no one — not even the symbols on this page.</li>
    </ul>

    <p>
      <strong>Next clue:</strong>
      <span style="color:#b83030; letter-spacing:1px;">Project Wiki — Chamber 7</span>
    </p>

    <!-- Puzzle -->
    <div id="game">
      <p>Speak the number that opens the inner door…</p>
      <input type="number" id="guess" placeholder="___" aria-label="Enter the number">
      <button onclick="checkGuess()">Submit</button>
      <p id="message"></p>
    </div>
  </div>

  <script>
    function checkGuess() {
      const guess = document.getElementById("guess").value;
      const msg = document.getElementById("message");

      if (guess == 42) {
        document.body.innerHTML = `
          <!DOCTYPE html>
          <html lang="en">
          <head>
            <meta charset="UTF-8">
            <meta name="viewport" content="width=device-width, initial-scale=1.0">
            <title>Initiate — Ascended</title>
            <style>
              * { margin: 0; padding: 0; box-sizing: border-box; }
              body {
                font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
                background: linear-gradient(135deg, #0a0000 0%, #1c0505 50%, #0a0000 100%);
                color: #ffd7d7;
                min-height: 100vh;
                display: flex;
                justify-content: center;
                align-items: center;
                padding: 20px;
              }
              .ascended {
                max-width: 600px;
                padding: 40px;
                text-align: center;
                background: rgba(24, 8, 8, 0.95);
                border: 1px solid #b83030;
                border-radius: 20px;
                box-shadow: 0 0 60px rgba(180, 20, 20, 0.25);
              }
              h1 {
                font-size: 2.2rem;
                font-weight: 300;
                letter-spacing: 6px;
                text-transform: uppercase;
                color: #d43a3a;
                text-shadow: 0 0 20px rgba(200, 40, 40, 0.5);
                margin-bottom: 16px;
              }
              p {
                font-size: 1.1rem;
                line-height: 1.7;
                color: #ccb8b0;
                margin-bottom: 20px;
              }
              .seal {
                display: block;
                width: 100px;
                height: 100px;
                margin: 0 auto 24px auto;
              }
              .clue {
                color: #b83030;
                letter-spacing: 2px;
                font-weight: 600;
              }
            </style>
          </head>
          <body>
            <div class="ascended">
              <svg class="seal" viewBox="0 0 100 100">
                <circle cx="50" cy="50" r="46" fill="none" stroke="#d43a3a" stroke-width="2"/>
                <circle cx="50" cy="50" r="34" fill="none" stroke="#8a2b2b" stroke-width="1.5" stroke-dasharray="3 5"/>
                <polygon points="50,15 60,38 85,38 65,55 73,80 50,65 27,80 35,55 15,38 40,38" fill="#d43a3a" opacity="0.5"/>
                <circle cx="50" cy="50" r="8" fill="#d43a3a" opacity="0.7"/>
                <text x="50" y="54" text-anchor="middle" fill="#ffd7d7" font-size="14" font-weight="bold" font-family="serif">7</text>
              </svg>
              <h1>The Veil Parts</h1>
              <p>You have spoken the true number. The inner door groans open, revealing a corridor lined with candles that burn with crimson flames.</p>
              <p><span class="clue">NEXT CLUE:</span> Project Wiki — Chamber 7</p>
            </div>
          </body>
          </html>
        `;
      } else {
        msg.innerHTML = "Incorrect. The door stays shut.";
      }
    }
  </script>
</body>
</html>