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

html {
  font-family: 'Inter', ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-feature-settings: 'cv01', 'cv02', 'cv03';
  background: var(--g-bg);
  color: var(--g-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html, body { margin: 0; min-height: 100%; }
body { min-height: 100vh; min-height: 100dvh; background: var(--g-bg); line-height: 1.5; }

button, input, select, textarea { font: inherit; }
button, a { touch-action: manipulation; }
button { cursor: pointer; border: none; background: none; color: inherit; }
input, select, textarea { color: var(--g-text); }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
[hidden] { display: none !important; }

hr { border: none; border-top: 1px solid var(--g-border); margin: var(--g-space-4) 0; }

::selection { background: var(--g-accent); color: #fff; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
