/* ======================================================
   Spectra Core Bundle: spectra.css
   ------------------------------------------------------
   Single entry-point stylesheet for Spectra.

   v1.2 intent:
   - One link tag in demo pages
   - Tokens/theme first, then utilities, then components
   ====================================================== */

/* Theme (imports tokens internally) */
@import url('./themes/default.theme.css');

/* Utilities */
@import url('./utilities/_utilities.spacing.css');
@import url('./utilities/_utilities.layout.css');
@import url('./utilities/_utilities.typography.css');

/* Components */
@import url('./components/_buttons.css');
@import url('./components/_cards.css');
@import url('./components/_forms.css');
@import url('./components/_navigation.css');
@import url('./components/_hero.css');
@import url('./components/_links.css');
@import url('./components/_badges.css');
@import url('./components/_alerts.css');
@import url('./components/_modal.css');
@import url('./components/_tables.css');

/* ======================================================
   Global baseline
   ====================================================== */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  height: 100%;
}

body {
  margin: 0;
  min-width: 320px;
  min-inline-size: 320px;
  /* Avoid layout jitter / accidental horizontal scrollbars from 100vw elements */
  overflow-x: hidden;
  overscroll-behavior-x: contain;

  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  font-family: var(--font-family);
  line-height: var(--line-height);
  background: var(--color-bg);
  color: var(--color-text);
}

/* Media */
img,
svg,
video,
canvas {
  max-width: 100%;
  display: block;
}

/* Links (generic baseline; component variants live in _links.css) */
a {
  color: var(--color-primary);
  text-decoration: none;
}

a:hover {
  color: var(--color-primary-hover);
}

/* Selection */
::selection {
  background: rgba(0, 229, 208, 0.25);
}
