
/* ═══════════════════════════════════════════
   1. BIO-RHYTHM
   ═══════════════════════════════════════════ */

.bio-glow {
  position: fixed; inset: 0; z-index: -2;
  pointer-events: none; opacity: 0; transition: opacity 2s ease;
}
.bio-glow.active { opacity: 1; }
body.zen-mode .bio-glow { display: none; }


/* ═══════════════════════════════════════════
   3. DIGITAL TWIN STATUS
   ═══════════════════════════════════════════ */

.twin-status {
  display: flex; align-items: center; gap: 8px;
  padding: 6px 10px; border-radius: 8px;
  background: rgba(255,255,255,.02); border: 1px solid var(--border);
  font-family: 'JetBrains Mono', monospace; font-size: 8px;
  color: var(--sub); letter-spacing: .5px; margin-top: 6px;
  transition: all .4s; cursor: default; overflow: hidden;
}
.twin-status:hover { border-color: rgba(0,225,255,.1); background: rgba(255,255,255,.03); }
.twin-dot {
  width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; transition: background .5s;
}
.twin-dot.online { background: #22c55e; box-shadow: 0 0 6px rgba(34,197,94,.4); animation: livePulse 2s ease-in-out infinite; }
.twin-dot.busy { background: #f97316; box-shadow: 0 0 6px rgba(249,115,22,.3); }
.twin-dot.away { background: #6b7280; }
.twin-dot.sleeping { background: #3b82f6; box-shadow: 0 0 6px rgba(59,130,246,.2); animation: sleepPulse 4s ease-in-out infinite; }
@keyframes sleepPulse { 0%, 100% { opacity: .3; } 50% { opacity: .8; } }
.twin-text { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.twin-activity { color: var(--text); font-weight: 500; }
.twin-time { color: var(--sub); opacity: .5; font-size: 7px; flex-shrink: 0; }
.twin-typing { display: inline-flex; gap: 2px; margin-left: 4px; }
.twin-typing-dot {
  width: 3px; height: 3px; border-radius: 50%;
  background: var(--accent); animation: typeDot 1.4s ease-in-out infinite;
}
.twin-typing-dot:nth-child(2) { animation-delay: .2s; }
.twin-typing-dot:nth-child(3) { animation-delay: .4s; }
@keyframes typeDot { 0%, 100% { opacity: .2; transform: translateY(0); } 50% { opacity: 1; transform: translateY(-2px); } }

@media print { .twin-status { display: none !important; } }
