    :root {
      --bg: #0d0d0d;
      --fg: #e4e4e4;
      --accent: #ff4081;
      --subtle: #999;
      --code: #00ffc3;
      --cursor: url('https://ani.cursors-4u.net/cursors/cur-11/cur1089.cur'), auto;
    }

    [data-theme="light"] {
      --bg: #fdfdfd;
      --fg: #111;
      --accent: #cc0066;
      --subtle: #555;
      --code: #004466;
    }

    * {
      box-sizing: border-box;
    }

    html {
      cursor: var(--cursor);
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      font-family: 'Fira Code', monospace;
      background: var(--bg);
      color: var(--fg);
      font-size: 14px;
      line-height: 1.6;
      padding: 2rem 1rem;
      max-width: 720px;
      margin-left: auto;
      margin-right: auto;
    }

    .faded {
      opacity: 0.5;
    }

    .theme-toggle {
      position: fixed;
      top: 1rem;
      right: 1rem;
      background: var(--accent);
      color: var(--bg);
      border: none;
      font-family: 'Fira Code', monospace;
      padding: 0.5rem 1rem;
      cursor: url('https://ani.cursors-4u.net/cursors/cur-11/cur1076.cur'), auto;
      box-shadow: 0 0 5px var(--accent);
    }

    #spell-button {
      padding: 20px 0;
    }

    #spell-toggle {
      background: var(--fg);
      color: var(--bg);
      border: none;
      font-family: 'Fira Code', monospace;
          text-align: left;
      padding: 0.5rem 1rem;
      cursor: url('https://ani.cursors-4u.net/cursors/cur-11/cur1076.cur'), auto;
      box-shadow: 0 0 5px var(--fg);
    }

    header {
      margin-bottom: 3rem;
    }

    header h1 {
      font-size: 1.5rem;
      color: var(--accent);
      margin-bottom: 0.25rem;
    }

    header p {
      color: var(--subtle);
      font-size: 0.9rem;
    }

    section {
      margin-bottom: 2.5rem;
    }

    h2 {
      font-size: 1.1rem;
      margin-bottom: 0.75rem;
      color: var(--accent);
    }

    ul {
      padding-left: 1.2rem;
    }

    li {
      margin-bottom: 0.5rem;
    }

    a {
      color: var(--code);
      text-decoration: none;
    }

    a:hover {
      text-decoration: underline;
      cursor: url('https://ani.cursors-4u.net/cursors/cur-11/cur1076.cur'), auto;
    }

    #typewriter {
    width: 100%;
    font-size: 16px;
    text-align: justify;
    min-height: 60px;
    margin-top: 70px;
    }

    @keyframes fall {
      to {
        transform: translateY(100vh);
        opacity: 1;
      }
    }

    .pixel-bonfire-section {
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      padding: 40px 0;
      font-family: 'Press Start 2P', monospace; /* Optional retro font */
    }
    
    .bonfire-gif {
      width: 200px;
      height: auto;
      image-rendering: pixelated;
      margin-top: -70px;
    }
    
    .bonfire-text {
      color: var(--fg);
      font-size: 0.9rem;
      margin-top: 10px;
      text-shadow: 1px 1px #000;
      animation: flickerText 2s infinite;
    }
    
    @keyframes flickerText {
      0%, 100% { opacity: 1; }
      50% { opacity: 0.75; }
    }