/* Compatibility fixes shared by the Next.js route and local preview. */
.source-fragment { display: contents; }
/* Original controls keep their transitions; only scroll-reveal starts settled. */
.reveal { opacity: 1; transform: none; }
.cl-text { white-space: pre-line; }
[hidden] { display: none !important; }
.demo-paused, .demo-paused *, .demo-paused::before, .demo-paused::after,
.demo-paused *::before, .demo-paused *::after { animation-play-state: paused !important; }
/* The official 2D orb owns its canvas; a quiet dotted fallback remains if unavailable. */
.orb-wrap:not(.lit) .orb, .closing-orb:not(.lit) .orb { opacity: 0; }
.hero-stage[data-demo-state="thinking"] .hc-state { color: #c9b7ff; }
.hero-stage[data-demo-state="working"] .hc-state { color: #c9b7ff; }
.hero-stage[data-demo-state="listening"] .hc-state { color: #ffb699; }
.hero-stage[data-demo-state="speaking"] .hc-state { color: #d1cbff; }
.hero-stage[data-demo-state="ready"] .hc-state,
.hero-stage[data-demo-state="breathing"] .hc-state { color: #8ee4af; }
.site-section .hc-row { grid-template-columns: 56px 1fr !important; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .marquee-track { flex-wrap: wrap; justify-content: center; mask-image: none; }
  .marquee-track ul { flex-wrap: wrap; justify-content: center; gap: 12px 32px; padding: 0 var(--gutter); }
  .marquee-track ul[aria-hidden] { display: none; }
}

/* Orb-only identity replacement. Layout and page palette remain awaiting approval. */
.mini-orb.swoop-inline-orb { width: 20px; height: 20px; background: none; box-shadow: none; border-radius: 0; }
.swoop-inline-canvas { width: 20px; height: 20px; }
.orb-fallback { background: none; box-shadow: none; border: 2px dotted currentColor; opacity: .35; }
.mini-orb.swoop-inline-orb:not(.lit) { border: 1px dotted currentColor; border-radius: 50%; }
