/* Loader adapted from SelfMadeSystem / Uiverse (MIT).
   https://uiverse.io/SelfMadeSystem/giant-bobcat-72
   Original source: https://github.com/uiverse-io/galaxy/blob/main/loaders/SelfMadeSystem_giant-bobcat-72.html
   Full copyright/permission notice: ../THIRD_PARTY_NOTICES.md.
   Changes: scoped names, theme colors, RGB-preserving goo filter, short-lived intro. */
.home-intro { display: none; }
@media screen and (prefers-reduced-motion: no-preference) {
  [data-home-intro] .home-intro { position: fixed; inset: 0; z-index: 20; display: grid; place-content: center; justify-items: center; gap: 24px; background: var(--background); color: var(--accent); pointer-events: none; transition: opacity 600ms ease; animation: intro-overlay-exit 1ms 12s forwards; }
  .home-intro p { margin: 0; font: 400 14px/1.5 var(--sans); }
  .intro-filter { position: absolute; width: 0; height: 0; }
  .intro-loader { width: 12em; height: 3em; position: relative; overflow: hidden; border-bottom: 8px solid currentColor; filter: url(#intro-goo); font-size: 14px; }
  .intro-loader::before, .intro-loader::after { content: ""; position: absolute; border-radius: 50%; }
  .intro-loader::before { width: 22em; height: 18em; background: var(--accent); left: -2em; bottom: -18em; animation: intro-wee-one 2s linear infinite; }
  .intro-loader::after { width: 16em; height: 12em; background: var(--text); left: -4em; bottom: -12em; animation: intro-wee-two 2s .75s linear infinite; }
  [data-home-intro] [data-intro-reveal] { opacity: 0; animation: intro-content-exit 1ms 12s forwards; }
  [data-home-intro="loading"] .signature-pen, [data-home-intro="leaving"] .signature-pen { stroke-dashoffset: 1; animation: intro-ink-exit 1ms 12s forwards; }
  [data-home-intro="leaving"] .home-intro, [data-home-intro="writing"] .home-intro, [data-home-intro="scene"] .home-intro, [data-home-intro="revealing"] .home-intro { opacity: 0; }
  [data-home-intro="writing"] .home-intro, [data-home-intro="scene"] .home-intro, [data-home-intro="revealing"] .home-intro { visibility: hidden; }
  :is([data-home-intro="writing"], [data-home-intro="scene"], [data-home-intro="revealing"]) [data-intro-reveal] { animation: intro-reveal var(--intro-duration, 750ms) var(--intro-delay, 4.2s) ease-out both; }
  [data-home-intro] .particle { animation-play-state: paused; }
  [data-home-intro="scene"] .particle, [data-home-intro="revealing"] .particle { animation-play-state: running; }
  [data-intro-reveal="background"] { --intro-delay: 3.2s; --intro-duration: 1s; --intro-opacity: .7; }
  [data-theme="day"] [data-intro-reveal="background"] { --intro-opacity: .45; }
  [data-intro-reveal="navigation"] { --intro-delay: 4.2s; }
  [data-intro-reveal="eyebrow"] { --intro-delay: 4.35s; }
  [data-intro-reveal="welcome"] { --intro-delay: 4.45s; }
  [data-intro-reveal="explore"] { --intro-delay: 4.65s; }
  [data-intro-reveal="note"], [data-intro-reveal="footer"] { --intro-delay: 4.8s; }
}
@keyframes intro-wee-one { from { transform: translateX(-10em) rotate(0deg); } to { transform: translateX(7em) rotate(180deg); } }
@keyframes intro-wee-two { from { transform: translateX(-8em) rotate(0deg); } to { transform: translateX(8em) rotate(180deg); } }
@keyframes intro-overlay-exit { to { opacity: 0; visibility: hidden; } }
@keyframes intro-content-exit { to { opacity: var(--intro-opacity, 1); } }
@keyframes intro-ink-exit { to { stroke-dashoffset: 0; } }
@keyframes intro-reveal { from { opacity: 0; } to { opacity: var(--intro-opacity, 1); } }
@media print { .home-intro { display: none !important; } [data-intro-reveal] { animation: none !important; opacity: 1 !important; } }
