:root {
  /* カスタムカラー変数の定義 */
  --color-void: #0a0a0a;
  --color-lime: #a3e635;
  --color-silver: #e5e7eb;
  --color-silver-dim: #9ca3af;
  --color-mauve: #c084fc;
}

body {
  background-color: var(--color-void);
}

/* ユーティリティクラスの補完 */
.bg-void { background-color: var(--color-void); }
.text-lime { color: var(--color-lime); }
.text-silver { color: var(--color-silver); }
.text-silver-dim { color: var(--color-silver-dim); }
.text-void { color: var(--color-void); }

/* ナビゲーションリンク */
.nav-link {
  font-family: monospace;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  color: var(--color-silver-dim);
  text-transform: uppercase;
  transition: color 0.3s;
}
.nav-link:hover { color: var(--color-lime); }

.nav-button {
  font-family: monospace;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.5rem 1rem;
  border: 1px solid var(--color-lime);
  color: var(--color-lime);
  transition: all 0.3s;
}
.nav-button:hover {
  background-color: var(--color-lime);
  color: var(--color-void);
}

/* 背景のぼかし円（インラインスタイルから抽出） */
.glow-circle {
  position: absolute;
  border-radius: 50%;
  filter: blur(120px);
}
.glow-lime {
  width: 600px;
  height: 600px;
  background-color: var(--color-lime);
  opacity: 0.2;
  top: 10%;
  left: 27.6667%;
  transition: left 0.4s ease-in-out;
}
.glow-silver {
  width: 500px;
  height: 500px;
  background-color: rgb(168, 168, 168);
  opacity: 0.15;
  bottom: 5%;
  right: 6.75%;
  transition: right 0.4s ease-in-out;
}

/* アニメーション用スピナー（インラインスタイルから抽出） */
.spinner-track {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%);
  animation: spin 18s linear infinite;
}
.spinner-dot {
  position: absolute;
  top: 0;
  left: 50%;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--color-lime);
  transform: translateX(-50%);
  box-shadow: 0 0 10px var(--color-lime);
}

@keyframes spin {
  0% { transform: translate(-50%, -50%) rotate(0deg); }
  100% { transform: translate(-50%, -50%) rotate(360deg); }
}

.shadow-glow {
  box-shadow: 0 0 20px rgba(163, 230, 53, 0.2);
}