/* Horiup website — shared base styles and keyframes.
   Component styling stays as inline style attributes in the HTML (unchanged from the design). */

body {
  margin: 0;
  background: #FCFBFF;
  color: #181A2E;
  font-family: Poppins, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 15px;
  line-height: 1.6;
  text-wrap: pretty;
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4 { font-family: Poppins, system-ui, -apple-system, sans-serif; letter-spacing: -0.02em; }

a { color: #7C15C4; text-decoration: none; }
a:hover { color: #5D0E95; }
a:focus-visible, button:focus-visible { outline: 2px solid #9C1BF5; outline-offset: 3px; }

::selection { background: #F6CFFF; }

img { max-width: 100%; }

/* Legal / support pages read as long-form text */
main p { line-height: 1.75; }

/* ---- Animations (referenced from inline style attributes in the HTML) ---- */
@keyframes h-drift { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes h-pulse { 0%, 100% { transform: scale(1); opacity: .95; } 50% { transform: scale(1.5); opacity: .2; } }
@keyframes h-bob  { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-16px); } }
@keyframes h-wave { 0%, 100% { height: 30%; } 50% { height: 100%; } }

/* Decorative motion only — the scenery carousel and prompt rotation keep running */
@media (prefers-reduced-motion: reduce) {
  [data-motion-optional] { animation: none !important; }
}
