/* Karakter "Rekan" (components/karakter): animasi mandiri tanpa kursor. Durasi & tunda acak per
   instance (--rk-*) diset di Karakter. Dibatasi .rk-karakter agar Logo tetap statis. */
.rk-karakter .rk-mata, .rk-karakter .rk-pindai { transform-box: fill-box; transform-origin: center; }
.rk-karakter .rk-napas { transform-box: fill-box; transform-origin: 50% 100%; animation: rk-napas var(--rk-napas, 5s) var(--rk-napas-tunda, 0s) ease-in-out infinite; }
.rk-karakter .rk-antena { transform-box: fill-box; transform-origin: 50% 100%; animation: rk-goyang var(--rk-goyang, 4s) var(--rk-goyang-tunda, 0s) ease-in-out infinite; }
.rk-karakter .rk-mata { animation: rk-kedip var(--rk-kedip, 5s) var(--rk-tunda, 0s) infinite; transition: transform 0.25s ease; }
.rk-karakter .rk-lirik { animation: rk-lirik var(--rk-lirik, 8s) var(--rk-lirik-tunda, 0s) ease-in-out infinite; }
@keyframes rk-kedip {
  0%, 93%, 100% { transform: scaleY(1); }
  96% { transform: scaleY(0.1); }
}
/* Diam sebagian besar siklus, lalu melirik ke kiri, ke kanan, dan kembali. */
@keyframes rk-lirik {
  0%, 60%, 100% { transform: translateX(0); }
  64%, 72% { transform: translateX(-5px); }
  77%, 85% { transform: translateX(5px); }
  90% { transform: translateX(0); }
}
@keyframes rk-napas { 50% { transform: scale(1.03); } }
@keyframes rk-goyang {
  0%, 100% { transform: rotate(-5deg); }
  50% { transform: rotate(5deg); }
}
/* Berpikir: diam, mata menyipit & memindai, antena berdenyut warna aksen. */
.rk-karakter[data-berpikir="1"] .rk-lirik,
.rk-karakter[data-berpikir="1"] .rk-napas,
.rk-karakter[data-berpikir="1"] .rk-antena { animation: none; }
.rk-karakter[data-berpikir="1"] .rk-mata { animation: none; transform: scaleY(0.5); }
.rk-karakter[data-berpikir="1"] .rk-pindai { animation: rk-pindai 1.6s ease-in-out infinite; }
@keyframes rk-pindai {
  0%, 100% { transform: translate(calc(var(--rk-px, 9px) * -1), -3px); }
  50% { transform: translate(var(--rk-px, 9px), -3px); }
}
.rk-karakter[data-berpikir="1"] .rk-antena-bola { animation: rk-denyut 1.1s ease-in-out infinite; }
.rk-karakter[data-berpikir="1"] .rk-antena-halo { animation: rk-halo 1.1s ease-in-out infinite; }
@keyframes rk-denyut { 50% { fill: var(--aksen); } }
@keyframes rk-halo { 50% { opacity: 0.45; } }
/* Landing: kedip/lirik tetap jalan saat reduced-motion (gerak kecil, bukan latar bergerak). */
