/* Fidelity layer: the page keeps the original Kostnadsröntgen design system. */
body {
  min-width: 320px;
}

#bordic-generative-canvas {
  width: 100%;
  height: 100%;
}

.kr-orb-1,
.kr-orb-2,
.kr-orb-3 {
  will-change: transform;
  animation: kr-drift 18s ease-in-out infinite alternate;
}

.kr-orb-2 {
  animation-duration: 24s;
  animation-delay: -7s;
}

.kr-orb-3 {
  animation-duration: 28s;
  animation-delay: -12s;
}

@keyframes kr-drift {
  from { transform: translate3d(-18px, -12px, 0); }
  to { transform: translate3d(35px, 28px, 0); }
}

.kr-result-section[hidden] {
  display: none;
}

.kr-kpi-value {
  line-height: 1.08;
  overflow-wrap: anywhere;
}

.kr-chart-wrap {
  height: 300px;
}

.kr-chart-wrap canvas {
  display: block;
  width: 100%;
  height: 100%;
}

.kr-method-value {
  max-width: 55%;
  text-align: right;
  overflow-wrap: anywhere;
}

.kr-precision-note {
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.04);
}

.kr-source-link {
  min-width: 0;
}

.kr-source-link span {
  overflow-wrap: anywhere;
}

.kr-form-message {
  min-height: 1rem;
}

.kr-form-message:empty {
  display: none;
}

.kr-cta-success,
.kr-cta-error {
  display: none;
}

.kr-cta-success[data-visible="true"],
.kr-cta-error[data-visible="true"] {
  display: block;
}

@media (max-width: 640px) {
  .kr-method-value {
    max-width: 48%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .kr-orb-1,
  .kr-orb-2,
  .kr-orb-3 {
    animation: none;
  }
}
