/* Page-identity styles — loaded only on blog / about / contact.
   Everything degrades to the static page: without JS the timeline shows fully
   lit and the terminal stays hidden (its facts exist in the page text). */

/* ---- about: journey thread ---- */
.timeline { position: relative; }
.tl-thread { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.tl-anim .tl-item { opacity: 0.22; transform: translateX(14px); transition: opacity .6s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
.tl-anim .tl-item.tl-lit { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .tl-anim .tl-item { opacity: 1; transform: none; transition: none; }
  .tl-thread { display: none; }
}

/* ---- contact: command center ---- */
.cmd-center { display: none; }
.js .cmd-center {
  display: block;
  margin: 1.4rem 0 0.4rem;
  background: #0D0A06;
  border: 1px solid rgba(212, 175, 55, 0.28);
  border-radius: 12px;
  overflow: hidden;
}
.cmd-center .cc-bar {
  display: flex; align-items: center; gap: 8px;
  padding: 9px 14px;
  background: rgba(212, 175, 55, 0.07);
  border-bottom: 1px solid rgba(212, 175, 55, 0.18);
  font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
  font-size: 0.68rem; letter-spacing: 0.18em; color: #6E6453;
}
.cmd-center .cc-bar i { width: 9px; height: 9px; border-radius: 50%; background: rgba(212, 175, 55, 0.4); }
.cmd-center .cc-out {
  padding: 14px 16px 16px;
  font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
  font-size: 0.82rem; line-height: 1.9;
  min-height: 13.5em;
  white-space: pre-wrap; word-break: break-word;
}
.cmd-center .cc-cmd { color: #F0D77B; }
.cmd-center .cc-res { color: #cabd9f; }
.cmd-center .cc-cursor {
  display: inline-block; width: 0.55em; height: 1em; margin-left: 2px;
  vertical-align: text-bottom; background: #F0D77B;
  animation: ccBlink 1s steps(1) infinite;
}
@keyframes ccBlink { 50% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .cmd-center .cc-cursor { animation: none; } }
