/* MARIO reading page: self-drawn animated figures.
   Loop figures (.mrf--loop) run while on screen; one-shot figures (.mrf--once)
   play once and get a Replay button. Reduced motion shows a still frame. */

.mrf {
  --m-cur: var(--color-accent);
  --m-gt: #1a1a1a;
  --m-base: #b5532a;
  --m-imu1: #6c7380;
  --m-imu2: #2f9e57;
  --m-baro: #2b86c0;
  --m-mag: #8a3fd1;
  --m-pose: #4a4f5a;
  --m-grid: rgba(27, 31, 42, 0.1);
  --m-tint: rgba(78, 42, 132, 0.08);
  --m-on: #ffffff;
  position: relative;
  padding: 0.9rem 1rem 0.7rem;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background: var(--color-surface);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .mrf {
    --m-gt: #e4e4e4;
    --m-base: #e8895a;
    --m-imu1: #9aa1ae;
    --m-imu2: #5fc78a;
    --m-baro: #6fbfe8;
    --m-mag: #b98af0;
    --m-pose: #b4bac6;
    --m-grid: rgba(255, 255, 255, 0.12);
    --m-tint: rgba(179, 157, 219, 0.12);
    --m-on: #14161d;
  }
}

:root[data-theme="dark"] .mrf {
  --m-gt: #e4e4e4;
  --m-base: #e8895a;
  --m-imu1: #9aa1ae;
  --m-imu2: #5fc78a;
  --m-baro: #6fbfe8;
  --m-mag: #b98af0;
  --m-pose: #b4bac6;
  --m-grid: rgba(255, 255, 255, 0.12);
  --m-tint: rgba(179, 157, 219, 0.12);
  --m-on: #14161d;
}

.mrf-wide { margin-top: 1.6rem; }

.mrf-replay {
  position: absolute;
  top: -0.72rem;
  right: 0.9rem;
  z-index: 2;
  padding: 0.15rem 0.6rem;
  border: 1px solid var(--color-border);
  border-radius: 99px;
  background: var(--color-surface);
  color: var(--color-text-muted);
  font: inherit;
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  cursor: pointer;
  opacity: 0.85;
}
.mrf-replay:hover,
.mrf-replay:focus-visible {
  opacity: 1;
  color: var(--color-accent);
  border-color: var(--color-accent);
}

/* ---------- SVG vocabulary ---------- */
.mrf-svg { display: block; width: 100%; height: auto; overflow: visible; }
.mrf-svg text { fill: var(--color-text); font-family: inherit; font-size: 15px; }
.mrf-svg .t-sm { font-size: 13px; }
.mrf-svg .t-muted { fill: var(--color-text-muted); }
.mrf-svg .t-mid { text-anchor: middle; }
.mrf-svg .t-end { text-anchor: end; }
.mrf-svg .mrf-cap { font-size: 17px; font-weight: 700; }
.mrf-svg .mrf-val { font-size: 17px; font-weight: 700; }
.mrf-svg .c-cur { fill: var(--m-cur); font-weight: 700; }
.mrf-svg .c-base { fill: var(--m-base); font-weight: 700; }
.mrf-svg .c-baro { fill: var(--m-baro); font-weight: 700; }
.mrf-svg .c-mag { fill: var(--m-mag); font-weight: 700; }
.mrf-svg .c-imu2 { fill: var(--m-imu2); font-weight: 700; }

.mrf-line { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.mrf-gt { stroke: var(--m-gt); stroke-width: 3; }
.mrf-gt-soft { stroke: var(--m-gt); stroke-width: 2; stroke-dasharray: 5 6; opacity: 0.55; }
.mrf-base { stroke: var(--m-base); stroke-width: 3.5; }
.mrf-cur { stroke: var(--m-cur); stroke-width: 3.5; }
.mrf-baro { stroke: var(--m-baro); stroke-width: 3.5; }
.mrf-mag { stroke: var(--m-mag); stroke-width: 3.5; }
.mrf-gap { stroke: var(--m-base); stroke-width: 2; stroke-dasharray: 4 5; }
.mrf-gap-cur { stroke: var(--m-cur); stroke-width: 2; stroke-dasharray: 4 5; }
.mrf-axis { stroke: var(--m-grid); stroke-width: 1; }
.mrf-grid { stroke: var(--m-grid); stroke-width: 1; }

.mrf-dash { stroke-dasharray: 1 1; stroke-dashoffset: 0; }
.mrf-dot { offset-distance: 100%; offset-rotate: 0deg; }
.mrf-dot-gt { fill: var(--m-gt); }
.mrf-dot-base { fill: var(--m-base); }
.mrf-dot-cur { fill: var(--m-cur); }
.mrf-dot-baro { fill: var(--m-baro); }
.mrf-dot-mag { fill: var(--m-mag); }

/* boxes in flow diagrams */
.mrf-box { fill: var(--color-surface); stroke: var(--color-border); stroke-width: 2; }
.mrf-box-soft { fill: var(--m-tint); stroke: none; }
.mrf-pill { fill: var(--color-surface); stroke-width: 3; }
.mrf-p-imu1 { stroke: var(--m-imu1); }
.mrf-p-imu2 { stroke: var(--m-imu2); }
.mrf-p-baro { stroke: var(--m-baro); }
.mrf-p-mag { stroke: var(--m-mag); }
.mrf-p-pose { stroke: var(--m-pose); }
.mrf-f-imu1 { fill: var(--m-imu1); }
.mrf-f-imu2 { fill: var(--m-imu2); }
.mrf-f-baro { fill: var(--m-baro); }
.mrf-f-mag { fill: var(--m-mag); }
.mrf-f-pose { fill: var(--m-pose); }
.mrf-tile { stroke: none; opacity: 0.85; }
.mrf-arrow { fill: none; stroke: var(--color-text-light); stroke-width: 2; stroke-linecap: round; }
.mrf-head { fill: var(--color-text-light); }
.mrf-pulse { fill: var(--m-cur); }

/* stick figure */
.mrf-body { fill: none; stroke: var(--color-text-light); stroke-width: 6; stroke-linecap: round; stroke-linejoin: round; }
.mrf-leg { fill: none; stroke: var(--m-cur); stroke-width: 9; stroke-linecap: round; stroke-linejoin: round; }
.mrf-skull { fill: var(--color-surface); stroke: var(--color-text-light); stroke-width: 4; }
.mrf-specs { fill: none; stroke: var(--m-cur); stroke-width: 4; stroke-linecap: round; }
.mrf-trace { fill: none; stroke: var(--m-cur); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }

/* result bars */
.mrf-bar-a { fill: var(--m-base); }
.mrf-bar-b { fill: var(--m-cur); }

/* dataset squares */
.mrf-sq { fill: var(--m-cur); opacity: 0.35; }
.mrf-sq-held { fill: var(--m-base); opacity: 0.9; }

/* frame state used by animated elements */
.mrf-vis { opacity: 0; }
.mrf-vis.mrf-static { opacity: 1; }
.mrf-late { opacity: 1; }

/* original images stay one click away */
.mrf-orig { margin-top: 0.7rem; font-size: 0.85rem; color: var(--color-text-muted); }
.mrf-orig summary { cursor: pointer; width: fit-content; }
.mrf-orig summary:hover { color: var(--color-accent); }

/* ---------- story layout ---------- */
.mrf-duo {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.1rem;
  align-items: start;
  margin-top: 1.25rem;
}
.mrf-duo > figure { margin: 0; }
.mrf-duo > figure > .mrf,
.mrf-duo > figure > .mrf-photo {
  width: 100%;
  aspect-ratio: 4 / 3;
  box-sizing: border-box;
}
.mrf-duo > figure > .mrf { display: flex; align-items: center; justify-content: center; }
.mrf-duo > figure > .mrf .mrf-svg { width: 100%; height: 100%; }
.mrf-photo {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.6rem;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background: #ffffff;
}
.mrf-photo img { display: block; width: 100%; height: auto; max-height: 100%; object-fit: contain; border: 0; }
.mrf-duo figcaption,
.mrf-note {
  margin: 0.6rem 0 0;
  font-size: 0.88rem;
  color: var(--color-text-muted);
  line-height: 1.5;
}
.mrf-lead-in { margin: 1.6rem 0 0; }
.mrf-lead-in:first-child { margin-top: 0; }

.mrf-three {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin: 1.1rem 0 0;
}
.mrf-three > figure { margin: 0; }
.mrf-three > figure > .mrf { padding: 0.6rem 0.6rem 0.4rem; }
.mrf-three figcaption {
  margin: 0.55rem 0 0;
  font-size: 0.86rem;
  line-height: 1.45;
  color: var(--color-text-muted);
}
.mrf-three figcaption strong { color: var(--color-text); }

/* chips: four trackers */
.mrf-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin: 0;
  padding: 0;
  list-style: none;
  align-items: center;
}
.mrf-chips li {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.35rem 0.8rem 0.35rem 0.6rem;
  border: 1px solid var(--color-border);
  border-radius: 99px;
  background: var(--color-surface);
  font-weight: 650;
  font-size: 0.95rem;
}
.mrf-chips li::before {
  content: "";
  width: 0.62rem;
  height: 0.3rem;
  border-left: 3px solid var(--m-cur);
  border-bottom: 3px solid var(--m-cur);
  transform: rotate(-45deg) translate(1px, -2px);
}
.mrf-chips-label { font-size: 0.88rem; color: var(--color-text-muted); margin-right: 0.4rem; }
.mrf.mrf-strip { padding: 0.9rem 1.1rem; }

/* metric meters */
.project-metric[data-meter] { --m-meter: var(--color-accent); }
.mrf-meter { height: 5px; margin-top: 0.7rem; border-radius: 99px; background: var(--color-border); overflow: hidden; }
.mrf-meter span { display: block; height: 100%; width: var(--w); border-radius: inherit; background: var(--m-meter); transform-origin: left center; }

@media (max-width: 860px) {
  .mrf-three { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .mrf { padding: 0.7rem 0.6rem 0.5rem; }
  .mrf-replay { display: none; }
  .mrf-duo { grid-template-columns: 1fr; }
}
@media print { .mrf-replay { display: none; } }

/* ---------- motion ---------- */
@media (prefers-reduced-motion: no-preference) {
  .mrf-flow { stroke-dasharray: 6 8; animation: mrfFlow 0.9s linear infinite; }
  @keyframes mrfFlow { to { stroke-dashoffset: -14; } }
  .mrf--loop:not(.is-play) .mrf-flow,
  .mrf--loop:not(.is-play) [class*="k-"],
  .mrf--loop:not(.is-play) [class*="mrf-walk"] { animation-play-state: paused; }

  /* bars */
  .mrf-grow { transform-box: fill-box; transform-origin: 50% 100%; transform: scaleY(1);
    transition: transform 1.1s cubic-bezier(0.22, 1, 0.36, 1) var(--d, 0s); }
  .mrf--once:not(.is-play) .mrf-grow { transform: scaleY(0); transition: none; }
  .mrf-late { transition: opacity 0.5s ease var(--d, 0s); }
  .mrf--once:not(.is-play) .mrf-late { opacity: 0; transition: none; }

  /* tracker chips */
  .mrf-chips li { transition: opacity 0.5s ease calc(var(--i, 0) * 0.35s), transform 0.5s ease calc(var(--i, 0) * 0.35s); }
  .mrf--once:not(.is-play) .mrf-chips li { opacity: 0; transform: translateY(0.4rem); transition: none; }

  /* meters */
  .mrf-meter span { transition: transform 1.2s cubic-bezier(0.22, 1, 0.36, 1) 0.15s; }
  .project-metric[data-meter]:not(.is-in) .mrf-meter span { transform: scaleX(0); transition: none; }

  /* walking stick figure */
  @keyframes mrfThigh { 0% { transform: rotate(28deg); } 50% { transform: rotate(-28deg); } 100% { transform: rotate(28deg); } }
  @keyframes mrfShin { 0% { transform: rotate(0deg); } 25% { transform: rotate(52deg); } 50% { transform: rotate(6deg); } 100% { transform: rotate(0deg); } }
  @keyframes mrfBob { 0%, 50%, 100% { transform: translateY(0); } 25%, 75% { transform: translateY(-3px); } }
  @keyframes mrfGround { to { stroke-dashoffset: -44; } }
  @keyframes mrfScroll { to { transform: translateX(-120px); } }
  .mrf-walk-thigh { animation: mrfThigh 1.2s linear infinite; }
  .mrf-walk-thigh.is-b { animation-delay: -0.6s; }
  .mrf-walk-shin { animation: mrfShin 1.2s linear infinite; }
  .mrf-walk-shin.is-b { animation-delay: -0.6s; }
  .mrf-walk-bob { animation: mrfBob 1.2s ease-in-out infinite; }
  .mrf-walk-ground { stroke-dasharray: 14 30; animation: mrfGround 1.2s linear infinite; }
  .mrf-walk-scroll { animation: mrfScroll 1.2s linear infinite; }
}

@media (prefers-reduced-motion: reduce) {
  .mrf-walk-thigh { transform: rotate(14deg); }
  .mrf-walk-thigh.is-b { transform: rotate(-14deg); }
}

.mrf.mrf-strip { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.9rem; }
.mrf-strip .mrf-replay { top: -0.72rem; }
.project-section > p.mrf-lead-in { margin-top: 2rem; }
.project-section > p.mrf-lead-in:first-child { margin-top: 0; }
.mrf-chiprow { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.9rem; margin-top: 0.4rem; padding-top: 0.8rem; border-top: 1px solid var(--color-border); }
.mrf-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.75rem; margin: 1.1rem 0 1.35rem; }
@media (max-width: 860px) { .mrf-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Original two-up figures: kept for the slide deck only */
body:not(.present-mode) .mrf-deck-only { display: none; }
body.present-mode .mrf-deck-only .ck-reveal,
body.present-mode .mrf-deck-only .animate-on-scroll { opacity: 1; transform: none; transition: none; }

/* Inside the dedicated deck the figures follow the deck's day / night toggle */
body.present-mode .present-deck--research .mrf {
  --m-gt: #1a1a1a; --m-base: #b5532a; --m-imu1: #6c7380; --m-imu2: #2f9e57;
  --m-baro: #2b86c0; --m-mag: #8a3fd1; --m-pose: #4a4f5a;
  --m-grid: rgba(27, 31, 42, 0.1); --m-tint: rgba(78, 42, 132, 0.08); --m-on: #ffffff;
}
body.present-mode:not(.present-theme-light) .present-deck--research .mrf {
  --m-gt: #e4e4e4; --m-base: #e8895a; --m-imu1: #9aa1ae; --m-imu2: #5fc78a;
  --m-baro: #6fbfe8; --m-mag: #b98af0; --m-pose: #b4bac6;
  --m-grid: rgba(255, 255, 255, 0.12); --m-tint: rgba(179, 157, 219, 0.12); --m-on: #14161d;
}
.present-deck--research .mrf { padding: 0.7rem 0.9rem 0.55rem; }

/* generated timelines */
@media (prefers-reduced-motion: no-preference){
@keyframes k-dg{0%,2.7%{stroke-dashoffset:1;opacity:1}21.8%,92.7%{stroke-dashoffset:0;opacity:1}98.2%{stroke-dashoffset:0;opacity:0}100%{stroke-dashoffset:1;opacity:0}}
@keyframes k-db{0%,21.8%{stroke-dashoffset:1;opacity:1}65.5%,92.7%{stroke-dashoffset:0;opacity:1}98.2%{stroke-dashoffset:0;opacity:0}100%{stroke-dashoffset:1;opacity:0}}
@keyframes k-dc{0%,21.8%{stroke-dashoffset:1;opacity:1}65.5%,92.7%{stroke-dashoffset:0;opacity:1}98.2%{stroke-dashoffset:0;opacity:0}100%{stroke-dashoffset:1;opacity:0}}
@keyframes k-wg{0%,2.7%{offset-distance:0%;opacity:0}2.8%{offset-distance:0%;opacity:1}21.8%,92.7%{offset-distance:100%;opacity:1}98.2%,100%{offset-distance:100%;opacity:0}}
@keyframes k-wb{0%,21.8%{offset-distance:0%;opacity:0}21.9%{offset-distance:0%;opacity:1}65.5%,92.7%{offset-distance:100%;opacity:1}98.2%,100%{offset-distance:100%;opacity:0}}
@keyframes k-wc{0%,21.8%{offset-distance:0%;opacity:0}21.9%{offset-distance:0%;opacity:1}65.5%,92.7%{offset-distance:100%;opacity:1}98.2%,100%{offset-distance:100%;opacity:0}}
@keyframes k-gap{0%,67.3%{opacity:0}70.9%,92.7%{opacity:1}98.2%,100%{opacity:0}}
@keyframes k-pg1{0%,8%{opacity:0}12%,88%{opacity:1}96%,100%{opacity:0}}
@keyframes k-pg2{0%,16%{opacity:0}20%,88%{opacity:1}96%,100%{opacity:0}}
@keyframes k-pm1{0%,2.7%{offset-distance:0%;opacity:0}2.8%{offset-distance:0%;opacity:1}7.3%,7.3%{offset-distance:100%;opacity:1}8%,100%{offset-distance:100%;opacity:0}}
@keyframes k-pm2{0%,2.7%{offset-distance:0%;opacity:0}2.8%{offset-distance:0%;opacity:1}7.3%,7.3%{offset-distance:100%;opacity:1}8%,100%{offset-distance:100%;opacity:0}}
@keyframes k-pm3{0%,12%{offset-distance:0%;opacity:0}12.1%{offset-distance:0%;opacity:1}16%,16%{offset-distance:100%;opacity:1}16.7%,100%{offset-distance:100%;opacity:0}}
@keyframes k-pm4{0%,20%{offset-distance:0%;opacity:0}20.1%{offset-distance:0%;opacity:1}32%,32%{offset-distance:100%;opacity:1}32.7%,100%{offset-distance:100%;opacity:0}}
@keyframes k-pm5{0%,20%{offset-distance:0%;opacity:0}20.1%{offset-distance:0%;opacity:1}32%,32%{offset-distance:100%;opacity:1}32.7%,100%{offset-distance:100%;opacity:0}}
@keyframes k-pg3{0%,32%{opacity:0}36%,88%{opacity:1}96%,100%{opacity:0}}
@keyframes k-pg4{0%,32%{opacity:0}36%,88%{opacity:1}96%,100%{opacity:0}}
@keyframes k-pm6{0%,36%{offset-distance:0%;opacity:0}36.1%{offset-distance:0%;opacity:1}40%,40%{offset-distance:100%;opacity:1}40.7%,100%{offset-distance:100%;opacity:0}}
@keyframes k-pg5{0%,40%{opacity:0}44%,88%{opacity:1}96%,100%{opacity:0}}
@keyframes k-pm7{0%,42.7%{offset-distance:0%;opacity:0}42.8%{offset-distance:0%;opacity:1}46.7%,46.7%{offset-distance:100%;opacity:1}47.3%,100%{offset-distance:100%;opacity:0}}
@keyframes k-pg6{0%,46.7%{opacity:0}50.7%,88%{opacity:1}96%,100%{opacity:0}}
@keyframes k-pm8{0%,49.3%{offset-distance:0%;opacity:0}49.5%{offset-distance:0%;opacity:1}53.3%,53.3%{offset-distance:100%;opacity:1}54%,100%{offset-distance:100%;opacity:0}}
@keyframes k-pg7{0%,53.3%{opacity:0}57.3%,88%{opacity:1}96%,100%{opacity:0}}
@keyframes k-pm9{0%,38.7%{offset-distance:0%;opacity:0}38.8%{offset-distance:0%;opacity:1}42.7%,42.7%{offset-distance:100%;opacity:1}43.3%,100%{offset-distance:100%;opacity:0}}
@keyframes k-pg8{0%,42.7%{opacity:0}46.7%,88%{opacity:1}96%,100%{opacity:0}}
@keyframes k-pm10{0%,46.7%{offset-distance:0%;opacity:0}46.8%{offset-distance:0%;opacity:1}58.7%,58.7%{offset-distance:100%;opacity:1}59.3%,100%{offset-distance:100%;opacity:0}}
@keyframes k-pm11{0%,57.3%{offset-distance:0%;opacity:0}57.5%{offset-distance:0%;opacity:1}64%,64%{offset-distance:100%;opacity:1}64.7%,100%{offset-distance:100%;opacity:0}}
@keyframes k-pg9{0%,64%{opacity:0}68%,88%{opacity:1}96%,100%{opacity:0}}
@keyframes k-fp0{0%,4.3%{offset-distance:0%;opacity:0}4.4%{offset-distance:0%;opacity:1}25.7%,25.7%{offset-distance:100%;opacity:1}26.4%,100%{offset-distance:100%;opacity:0}}
@keyframes k-fp1{0%,8.6%{offset-distance:0%;opacity:0}8.7%{offset-distance:0%;opacity:1}30%,30%{offset-distance:100%;opacity:1}30.7%,100%{offset-distance:100%;opacity:0}}
@keyframes k-fp2{0%,12.9%{offset-distance:0%;opacity:0}13%{offset-distance:0%;opacity:1}34.3%,34.3%{offset-distance:100%;opacity:1}35%,100%{offset-distance:100%;opacity:0}}
@keyframes k-fp3{0%,17.1%{offset-distance:0%;opacity:0}17.3%{offset-distance:0%;opacity:1}38.6%,38.6%{offset-distance:100%;opacity:1}39.3%,100%{offset-distance:100%;opacity:0}}
@keyframes k-fp4{0%,21.4%{offset-distance:0%;opacity:0}21.6%{offset-distance:0%;opacity:1}42.9%,42.9%{offset-distance:100%;opacity:1}43.6%,100%{offset-distance:100%;opacity:0}}
@keyframes k-fq1{0%,27.1%{offset-distance:0%;opacity:0}27.3%{offset-distance:0%;opacity:1}34.3%,34.3%{offset-distance:100%;opacity:1}35%,100%{offset-distance:100%;opacity:0}}
@keyframes k-fq2{0%,41.4%{offset-distance:0%;opacity:0}41.6%{offset-distance:0%;opacity:1}48.6%,48.6%{offset-distance:100%;opacity:1}49.3%,100%{offset-distance:100%;opacity:0}}
@keyframes k-fq3{0%,55.7%{offset-distance:0%;opacity:0}55.9%{offset-distance:0%;opacity:1}61.4%,61.4%{offset-distance:100%;opacity:1}62.1%,100%{offset-distance:100%;opacity:0}}
@keyframes k-fg1{0%,34.3%{opacity:0}38.6%,51.4%{opacity:1}60%,100%{opacity:0}}
@keyframes k-fg2{0%,48.6%{opacity:0}52.9%,68.6%{opacity:1}77.1%,100%{opacity:0}}
@keyframes k-ft{0%,61.4%{stroke-dashoffset:1;opacity:1}84.3%,91.4%{stroke-dashoffset:0;opacity:1}97.1%{stroke-dashoffset:0;opacity:0}100%{stroke-dashoffset:1;opacity:0}}
@keyframes k-bb{0%,3.8%{stroke-dashoffset:1;opacity:1}57.5%,87.5%{stroke-dashoffset:0;opacity:1}95%{stroke-dashoffset:0;opacity:0}100%{stroke-dashoffset:1;opacity:0}}
@keyframes k-bc{0%,3.8%{stroke-dashoffset:1;opacity:1}57.5%,87.5%{stroke-dashoffset:0;opacity:1}95%{stroke-dashoffset:0;opacity:0}100%{stroke-dashoffset:1;opacity:0}}
@keyframes k-wbb{0%,3.8%{offset-distance:0%;opacity:0}3.9%{offset-distance:0%;opacity:1}57.5%,87.5%{offset-distance:100%;opacity:1}95%,100%{offset-distance:100%;opacity:0}}
@keyframes k-wbc{0%,3.8%{offset-distance:0%;opacity:0}3.9%{offset-distance:0%;opacity:1}57.5%,87.5%{offset-distance:100%;opacity:1}95%,100%{offset-distance:100%;opacity:0}}
@keyframes k-mb{0%,3.8%{stroke-dashoffset:1;opacity:1}60%,87.5%{stroke-dashoffset:0;opacity:1}95%{stroke-dashoffset:0;opacity:0}100%{stroke-dashoffset:1;opacity:0}}
@keyframes k-mc{0%,3.8%{stroke-dashoffset:1;opacity:1}60%,87.5%{stroke-dashoffset:0;opacity:1}95%{stroke-dashoffset:0;opacity:0}100%{stroke-dashoffset:1;opacity:0}}
@keyframes k-wmb{0%,3.8%{offset-distance:0%;opacity:0}3.9%{offset-distance:0%;opacity:1}60%,87.5%{offset-distance:100%;opacity:1}95%,100%{offset-distance:100%;opacity:0}}
@keyframes k-wmc{0%,3.8%{offset-distance:0%;opacity:0}3.9%{offset-distance:0%;opacity:1}60%,87.5%{offset-distance:100%;opacity:1}95%,100%{offset-distance:100%;opacity:0}}
@keyframes k-turn{0%%{transform:rotate(-26deg)}50%%{transform:rotate(26deg)}100%%{transform:rotate(-26deg)}}
@keyframes k-rd1{0%%{transform:scaleY(.35)}50%%{transform:scaleY(1)}100%%{transform:scaleY(.35)}}
@keyframes k-rd2{0%%{transform:scaleY(.2)}50%%{transform:scaleY(.72)}100%%{transform:scaleY(.2)}}
@keyframes k-hl{0%,25%{opacity:0}28.7%,62.5%{opacity:1}68.8%,100%{opacity:0}}
.k-dg{animation:k-dg 11s linear infinite }
.k-db{animation:k-db 11s linear infinite }
.k-dc{animation:k-dc 11s linear infinite }
.k-wg{animation:k-wg 11s linear infinite }
.k-wb{animation:k-wb 11s linear infinite }
.k-wc{animation:k-wc 11s linear infinite }
.k-gap{animation:k-gap 11s linear infinite }
.k-pg1{animation:k-pg1 7.5s linear infinite }
.k-pg2{animation:k-pg2 7.5s linear infinite }
.k-pm1{animation:k-pm1 7.5s linear infinite }
.k-pm2{animation:k-pm2 7.5s linear infinite }
.k-pm3{animation:k-pm3 7.5s linear infinite }
.k-pm4{animation:k-pm4 7.5s linear infinite }
.k-pm5{animation:k-pm5 7.5s linear infinite }
.k-pg3{animation:k-pg3 7.5s linear infinite }
.k-pg4{animation:k-pg4 7.5s linear infinite }
.k-pm6{animation:k-pm6 7.5s linear infinite }
.k-pg5{animation:k-pg5 7.5s linear infinite }
.k-pm7{animation:k-pm7 7.5s linear infinite }
.k-pg6{animation:k-pg6 7.5s linear infinite }
.k-pm8{animation:k-pm8 7.5s linear infinite }
.k-pg7{animation:k-pg7 7.5s linear infinite }
.k-pm9{animation:k-pm9 7.5s linear infinite }
.k-pg8{animation:k-pg8 7.5s linear infinite }
.k-pm10{animation:k-pm10 7.5s linear infinite }
.k-pm11{animation:k-pm11 7.5s linear infinite }
.k-pg9{animation:k-pg9 7.5s linear infinite }
.k-fp0{animation:k-fp0 7s linear infinite }
.k-fp1{animation:k-fp1 7s linear infinite }
.k-fp2{animation:k-fp2 7s linear infinite }
.k-fp3{animation:k-fp3 7s linear infinite }
.k-fp4{animation:k-fp4 7s linear infinite }
.k-fq1{animation:k-fq1 7s linear infinite }
.k-fq2{animation:k-fq2 7s linear infinite }
.k-fq3{animation:k-fq3 7s linear infinite }
.k-fg1{animation:k-fg1 7s linear infinite }
.k-fg2{animation:k-fg2 7s linear infinite }
.k-ft{animation:k-ft 7s linear infinite }
.k-bb{animation:k-bb 8s linear infinite }
.k-bc{animation:k-bc 8s linear infinite }
.k-wbb{animation:k-wbb 8s linear infinite }
.k-wbc{animation:k-wbc 8s linear infinite }
.k-mb{animation:k-mb 8s linear infinite }
.k-mc{animation:k-mc 8s linear infinite }
.k-wmb{animation:k-wmb 8s linear infinite }
.k-wmc{animation:k-wmc 8s linear infinite }
.k-turn{animation:k-turn 6s ease-in-out infinite;transform-origin:105px 150px}
.k-rd1{animation:k-rd1 6s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 100%}
.k-rd2{animation:k-rd2 6s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 100%}
.k-hl{animation:k-hl 8s linear infinite }
}
