/* The founding seal (src/web/founder.ts), its own sheet since 14 October 2026: founderLine() links it beside the line, so it
 * loads only while the founding window is open and leaves join-scene.css inside its 8 KB budget. Motion only where motion is
 * allowed, Save-Data is off and Reduce Motion is not asked for. */
/* The founding line (owner, 10 October 2026): the seal beside two sentences and the days left, on every sign-up and sign-in tile
 * while the window is open (src/web/founder.ts). The seal swings on its nail, the tails flutter, the friend waves, the sparks
 * twinkle: transform and opacity, under the scene's three gates. */
.pk-founder { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; padding: 10px 12px; border: 1px solid rgba(159, 211, 184, .35); border-radius: 14px; background: rgba(159, 211, 184, .1); color: var(--pk-ink, #f3efe4); }
.pk-founder-mark { flex: none; width: 56px; height: 56px; overflow: visible; }
.pk-founder-words { margin: 0; font-size: 14px; line-height: 1.35; }
.pk-founder-words strong { display: block; font-size: 15px; }
.pk-founder-words span { color: var(--pk-muted, #b6b3b5); }
.pk-founder-days { display: inline-block; margin-top: 6px; padding: 2px 8px; border-radius: 999px; background: rgba(255, 207, 122, .18); color: #ffcf7a; font-size: 12px; font-weight: 600; }
.pk-founder-mark .fm-seal { transform-box: view-box; transform-origin: 32px 5px; }
.pk-founder-mark .fm-tail { transform-box: fill-box; transform-origin: 50% 0; }
.pk-founder-mark .fm-arm { transform-box: fill-box; transform-origin: 0 100%; }
.pk-founder-mark .fm-friend { transform-box: fill-box; transform-origin: 0 100%; }
@media (prefers-reduced-motion: no-preference) {
  html:not([data-motion="off"]):not([data-save="1"]):not(.pk-save-data) .pk-founder-mark .fm-seal { animation: pk-js-seal-swing 3.8s ease-in-out infinite; }
  html:not([data-motion="off"]):not([data-save="1"]):not(.pk-save-data) .pk-founder-mark .fm-tail--l { animation: pk-js-seal-flutter 2.3s ease-in-out infinite; }
  html:not([data-motion="off"]):not([data-save="1"]):not(.pk-save-data) .pk-founder-mark .fm-tail--r { animation: pk-js-seal-flutter 2.3s ease-in-out .4s infinite reverse; }
  html:not([data-motion="off"]):not([data-save="1"]):not(.pk-save-data) .pk-founder-mark .fm-arm { animation: pk-js-seal-wave 1.1s ease-in-out infinite; }
  html:not([data-motion="off"]):not([data-save="1"]):not(.pk-save-data) .pk-founder-mark .fm-friend { animation: pk-js-seal-peek 6s ease-in-out infinite; }
  html:not([data-motion="off"]):not([data-save="1"]):not(.pk-save-data) .pk-founder-mark .fm-spark--a { animation: pk-js-seal-twinkle 2.4s ease-in-out infinite; }
  html:not([data-motion="off"]):not([data-save="1"]):not(.pk-save-data) .pk-founder-mark .fm-spark--b { animation: pk-js-seal-twinkle 2.4s ease-in-out .8s infinite; }
  html:not([data-motion="off"]):not([data-save="1"]):not(.pk-save-data) .pk-founder-mark .fm-spark--c { animation: pk-js-seal-twinkle 2.4s ease-in-out 1.6s infinite; }
}
@keyframes pk-js-seal-swing { 0%, 100% { transform: rotate(-7deg); } 50% { transform: rotate(7deg); } }
@keyframes pk-js-seal-flutter { 0%, 100% { transform: rotate(-5deg); } 50% { transform: rotate(5deg); } }
@keyframes pk-js-seal-wave { 0%, 100% { transform: rotate(-16deg); } 50% { transform: rotate(22deg); } }
@keyframes pk-js-seal-peek { 0%, 12%, 100% { transform: translateX(-9px) scale(.92); opacity: 0; } 22%, 88% { transform: none; opacity: 1; } }
@keyframes pk-js-seal-twinkle { 0%, 100% { opacity: .25; transform: scale(.7); } 50% { opacity: 1; transform: none; } }
