/* MitaBase Pro — a product of ETMITA · https://etmita.com
   Copyright © ETMITA. All rights reserved. */
/*
 * public/overview.css — Übersicht v3 (the MITA Base command-center
 * port). Almost everything on this page is Tailwind utilities
 * generated from src/styles/overview-preset.cjs against the token
 * scope in public/overview-tokens.css — this file holds ONLY what
 * utilities cannot express:
 *
 *   · the once-per-session entrance choreography (.ov3-in arms it;
 *     overview.page.ts removes the class after it finishes so the 8 s
 *     poll's re-paints never re-stagger the page)
 *   · the vehicle-track drive-in (van + Volt bar grow from origin)
 *   · the activity-feed scrollbar
 *   · reduced-motion kills
 *
 * Markup + logic: /js/pages/overview.js (GENERATED from
 * src/features/overview/overview.page.ts — never edit the emit).
 */

/* ── entrance: cards fade/slide in, staggered (port: i × 70–110 ms).
      Armed by .ov3-in only — without it, elements render settled. ── */
.ov3-in .ov3-card {
  animation: ov3Rise 0.5s cubic-bezier(0, 0, 0.2, 1) backwards;
}
.ov3-in .ov3-card:nth-child(2) { animation-delay: 0.07s; }
.ov3-in .ov3-card:nth-child(3) { animation-delay: 0.14s; }
.ov3-in .ov3-rise {
  animation: ov3Rise 0.5s cubic-bezier(0, 0, 0.2, 1) backwards;
  /* per-item extra delay comes inline from the renderer */
}
@keyframes ov3Rise {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

/* vans drive in from the origin; bars grow from 0 (700 ms ease-out,
   delay = index × 110 ms — inline). Only while .ov3-in is armed. */
.ov3-in .ov3-van {
  animation: ov3Drive 0.7s cubic-bezier(0, 0, 0.2, 1) backwards;
}
.ov3-in .ov3-track-bar {
  animation: ov3Grow 0.7s cubic-bezier(0, 0, 0.2, 1) backwards;
}
@keyframes ov3Drive {
  from { left: 5%; }
}
@keyframes ov3Grow {
  from { width: 0; }
}

/* ── activity feed scrollbar (thin; Volt on hover) ─────────────── */
.ov3-feed { scrollbar-width: thin; scrollbar-color: var(--border-strong) transparent; }
.ov3-feed::-webkit-scrollbar { width: 6px; }
.ov3-feed::-webkit-scrollbar-track { background: transparent; }
.ov3-feed::-webkit-scrollbar-thumb {
  background: var(--border-strong);
  border-radius: 999px;
}
.ov3-feed:hover::-webkit-scrollbar-thumb { background: var(--accent-fill-solid); }

/* new-event pulse (app.js installFeedPulse stamps .pulse-once) */
.ov3-feed .pulse-once { animation: ov3FeedIn 0.8s cubic-bezier(0, 0, 0.2, 1); }
@keyframes ov3FeedIn {
  0% { background: var(--accent-soft); }
  100% { background: transparent; }
}

/* ── reduced motion: everything instant ────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .ov3-in .ov3-card,
  .ov3-in .ov3-rise,
  .ov3-in .ov3-van,
  .ov3-in .ov3-track-bar,
  .ov3-feed .pulse-once { animation: none !important; }
}
