/* ========== ブートスクリーン ========== */

/* 初期状態：全コンテンツ非表示 */
.navbar,
#particles-container,
section,
footer {
  visibility: hidden;
  opacity: 0;
}

/* boot-ready後：裏でレンダリング開始（boot画面の下） */
body.boot-ready .navbar,
body.boot-ready #particles-container,
body.boot-ready section,
body.boot-ready footer {
  visibility: visible;
  opacity: 1;
}

/* boot中はスクロール無効 */
body.booting {
  overflow: hidden;
}

.boot-screen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: #000000;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.boot-screen.active {
  opacity: 1;
}

.boot-screen.fade-out {
  opacity: 0;
}

.boot-terminal {
  width: 90%;
  max-width: 900px;
  height: 80%;
  max-height: 600px;
  background: #000000;
  color: #00ff00;
  font-family: 'JetBrains Mono', 'Courier New', monospace;
  font-size: 0.9rem;
  padding: 2rem;
  overflow-y: auto;
  overflow-x: hidden;
  border: 2px solid #00ff00;
  box-shadow: 0 0 30px rgba(0, 255, 0, 0.3);
}

/* ブートターミナルのスクロールバー */
.boot-terminal::-webkit-scrollbar {
  width: 8px;
}

.boot-terminal::-webkit-scrollbar-track {
  background: #000000;
}

.boot-terminal::-webkit-scrollbar-thumb {
  background: #00ff00;
  border-radius: 4px;
}

.boot-terminal::-webkit-scrollbar-thumb:hover {
  background: #00cc00;
}

.boot-line {
  margin-bottom: 0.3rem;
  white-space: pre-wrap;
  word-wrap: break-word;
  animation: bootFadeIn 0.1s ease-in;
  line-height: 1.6;
}

@keyframes bootFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.boot-line.blink {
  animation: bootBlink 1s steps(2) infinite;
}

@keyframes bootBlink {
  0%, 49% {
    opacity: 1;
  }
  50%, 100% {
    opacity: 0;
  }
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
  .boot-terminal {
    width: 95%;
    height: 85%;
    font-size: 0.75rem;
    padding: 1rem;
  }
}

@media (max-width: 480px) {
  .boot-terminal {
    font-size: 0.65rem;
    padding: 0.75rem;
  }
}
