/* ContextNova static styles (placeholder).
   Tailwind will be added as /static/tailwind.css in the redesign step.
*/
:root {
  --brand: #24C58A;
}
/* Prevent layout shift on iframe loading spinner */
#frameLoading { min-height: 40px; }

/* Visual polish: logo-inspired accent overlay */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(900px 400px at 10% -20%, rgba(36,197,138,0.10), transparent),
    radial-gradient(700px 320px at 120% -10%, rgba(122,162,247,0.08), transparent),
    linear-gradient(135deg, rgba(36,197,138,0.06) 0%, rgba(122,162,247,0.04) 35%, rgba(36,197,138,0.06) 70%, transparent);
  z-index: 0;
}

/* Subtle geometric accent layer echoing the logo lines */
body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image: url('/static/accents.svg');
  background-repeat: no-repeat;
  background-position: right -120px top -40px;
  background-size: 1200px auto;
  opacity: 0.22;
  z-index: 0;
}

/* Card micro-interactions */
.card { transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease; }
.card:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(0,0,0,0.45);
  border-color: rgba(36,197,138,0.35);
}

/* Focus glow */
input:focus, button.btn:focus, .chip:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(36,197,138,0.45);
}

/* Activity bar under nav */
.activity-bar {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 2px;
  background: linear-gradient(90deg, rgba(36,197,138,0), rgba(36,197,138,0.85), rgba(122,162,247,0.85), rgba(36,197,138,0));
  background-size: 200% 100%;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 150ms ease;
  opacity: 0.9;
}
.activity-bar.on {
  transform: scaleX(1);
  animation: cn-activity 1.2s linear infinite;
}
@keyframes cn-activity { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }

/* Critical fallback for nav if utility CSS is delayed */
.nav { backdrop-filter: blur(8px); }

/* Accessibility: respect prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  .card { transition: none !important; }
  .card:hover { transform: none !important; box-shadow: none !important; }
  .activity-bar.on { animation: none !important; }
  .spinner { animation: none !important; }
}
