/* BASE — document defaults and the link treatment. Nova's own app sets these
   from theme tokens; recreations should get them for free. */
:root {
  --nova-transition-fast: 0.15s ease; /* @kind other */
  --nova-transition-base: 0.3s ease; /* @kind other */
  --nova-shadow-card: 0 0 0 0.5px rgb(0 0 0 / 0.08), 4px 8px 8px -6px rgb(0 0 0 / 0.04);
  --nova-shadow-raised: 3px 9px 36px 0 rgb(0 0 0 / 0.25);
  --nova-shadow-shell: 9px 12px 36px -1px rgb(0 0 0 / 0.16);
  --nova-page-gradient: linear-gradient(180deg, var(--surface) 0%, #f7f7f7 100%);
}
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--theme-body-font);
  font-size: var(--font-size-base);
  line-height: var(--line-height-fluent);
  -webkit-font-smoothing: antialiased;
}
a {
  color: var(--action-text);
  font-weight: var(--theme-link-font-weight);
  letter-spacing: var(--theme-link-letter-spacing);
  text-decoration: underline;
  text-underline-offset: 3px;
}
a:hover { color: var(--action-emphasis-text); }
a:focus-visible { outline: none; box-shadow: var(--focus-ring); border-radius: var(--radius-sm); }
h1, h2, h3, h4, h5, h6 { margin: 0; font-family: var(--theme-title-font); }
:where(button, input, select, textarea) { font: inherit; }
