  * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }

  body, html {
    height: 100%;
    background: radial-gradient(ellipse at bottom, #000010 0%, #000000 100%);
	background-color: #000010;
    color: var(--color-text);
    font-family: var(--font-sans);
    overflow-x: hidden;
    position: relative;
  }

  @keyframes twinkle {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.3; }
  }

  body::before {
    content: "";
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background:
      radial-gradient(2px 2px at 20% 15%, white, transparent),
      radial-gradient(1.5px 1.5px at 40% 40%, white, transparent),
      radial-gradient(1.2px 1.2px at 70% 30%, white, transparent),
      radial-gradient(2.5px 2.5px at 80% 70%, white, transparent),
      radial-gradient(1.7px 1.7px at 50% 80%, white, transparent),
      radial-gradient(1.3px 1.3px at 10% 75%, white, transparent),
      radial-gradient(2px 2px at 30% 60%, white, transparent),
      radial-gradient(1.4px 1.4px at 60% 50%, white, transparent);
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
    animation: twinkle 3s infinite ease-in-out alternate;
  }

  body::after {
    content: "";
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background:
      radial-gradient(1.7px 1.7px at 15% 25%, white, transparent),
      radial-gradient(1.2px 1.2px at 35% 55%, white, transparent),
      radial-gradient(2px 2px at 55% 45%, white, transparent),
      radial-gradient(1.5px 1.5px at 75% 65%, white, transparent),
      radial-gradient(1.1px 1.1px at 60% 85%, white, transparent),
      radial-gradient(1.4px 1.4px at 20% 70%, white, transparent),
      radial-gradient(2.3px 2.3px at 40% 30%, white, transparent),
      radial-gradient(1.3px 1.3px at 65% 50%, white, transparent);
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
    animation: twinkle 4.5s infinite ease-in-out alternate;
    animation-delay: 2s;
  }

  header {
    position: fixed;
    top: 0; left: 0; right: 0;
    height: 50px;
    background: transparent;
    border-bottom: 1px solid rgba(255,255,255,0.2);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 2rem;
    z-index: 10;
  }

  .site-name {
    font-weight: 700;
    font-size: 1.3rem;
    letter-spacing: 2px;
    user-select: none;
    color: var(--color-primary);
  }

  main {
    padding: 80px 2rem 2rem 2rem;
    max-width: 900px;
    margin: 0 auto;
	justify-content: center;
    align-items: center; 
	text-align: center;
	flex-direction: column;
  }

  @media (max-width: 480px) {
    header {
      padding: 0 1rem;
    }
    .site-name {
      font-size: 1.1rem;
    }
  }