/* ============================================================================
   LANN Product Design System v1 — base.css
   Element-level foundations shared by every mode. Reads --lann-* tokens only.
   Scoped softly: opt-in via .lann-mode-* on a container; bare element rules here
   stay conservative so importing lann-ui.css never hijacks an existing page.
   ========================================================================== */

.lann-mode-public,
.lann-mode-management,
.lann-mode-field,
.lann-mode-artifact {
  font-family: var(--lann-font-body);
  color: var(--lann-ink);
  background: var(--lann-cream);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.lann-mode-public a,
.lann-mode-management a,
.lann-mode-field a,
.lann-mode-artifact a {
  color: var(--lann-lavender-700);
  text-decoration: none;
}
.lann-mode-public a { color: var(--lann-lavender-900); }
.lann-mode-public a:hover,
.lann-mode-management a:hover,
.lann-mode-field a:hover,
.lann-mode-artifact a:hover { text-decoration: underline; }

/* Display type — reserved for brand/artifact headings + key numerals. */
.lann-display { font-family: var(--lann-font-display); font-weight: 400; letter-spacing: 0.01em; }
.lann-numeric { font-variant-numeric: tabular-nums; font-feature-settings: "tnum" 1; }
.lann-muted { color: var(--lann-ink-2); }
.lann-hairline { border: 0; border-top: 1px solid var(--lann-line); }

/* Focus — single consistent ring across the family. */
.lann-mode-public :focus-visible,
.lann-mode-management :focus-visible,
.lann-mode-field :focus-visible,
.lann-mode-artifact :focus-visible {
  outline: none;
  box-shadow: var(--lann-focus-ring);
  border-radius: var(--lann-radius-control);
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
