/* lil' bird — shared theme toggle, wipe, CMYK stripe (all pages) */
/* Theme transition wipe */
.theme-wipe {
  position: fixed;
  inset: 0;
  z-index: 99999;
  pointer-events: none;
  opacity: 0;
  transform: scaleY(0);
  transform-origin: top center;
  background: linear-gradient(90deg, var(--c-cyan) 25%, var(--c-magenta) 50%, var(--c-yellow) 75%, var(--c-ink) 100%);
}
.theme-wipe.is-active {
  animation: theme-wipe 0.55s var(--ease-out) forwards;
}
@keyframes theme-wipe {
  0% { opacity: 0.85; transform: scaleY(0); }
  45% { opacity: 0.7; transform: scaleY(1); }
  100% { opacity: 0; transform: scaleY(1); }
}
@media (prefers-reduced-motion: reduce) {
  .theme-wipe { display: none !important; }
  body, body::before, body::after { transition: none !important; }
}

.cmyk-stripe {
  display: flex;
  height: 6px;
  border-bottom: 2px solid var(--c-ink);
  position: relative;
  z-index: 101;
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transition: opacity 0.4s ease, max-height 0.4s ease;
}
[data-theme="light"] .cmyk-stripe {
  opacity: 1;
  max-height: 10px;
}
.cmyk-stripe span { flex: 1; }
.cmyk-stripe .cs-c { background: var(--c-cyan); }
.cmyk-stripe .cs-m { background: var(--c-magenta); }
.cmyk-stripe .cs-y { background: var(--c-yellow); }
.cmyk-stripe .cs-k { background: var(--c-ink); }

