/* Void Helm — base document styles (from app/globals.css @layer base). */

* {
  border-color: var(--helm-line);
}

html {
  background: var(--helm-bg);
}

body {
  margin: 0;
  background: var(--helm-bg);
  color: var(--helm-fg);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  /* quiet cross-palette transition */
  transition:
    background var(--helm-dur-theme) var(--helm-ease),
    color var(--helm-dur-theme) var(--helm-ease);
}

::selection {
  background: var(--helm-selection);
}

/* links — not defined in the source; quiet fg → accent on hover */
a {
  color: var(--helm-fg-soft);
  text-decoration-color: var(--helm-line-strong);
  text-underline-offset: 3px;
  transition: color var(--helm-dur-fast) var(--helm-ease);
}

a:hover {
  color: var(--helm-accent);
  text-decoration-color: var(--helm-accent-soft);
}

/* signature blinking caret */
.helm-caret {
  animation: helm-caret-blink 1.1s steps(1) infinite;
}

@keyframes helm-caret-blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}

/* quiet entrance */
@keyframes helm-rise {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
