:root {
  color: var(--text-primary);
  background: var(--bg-base);
  font-family: var(--font-sans);
  font-size: var(--fs-15);
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

* {
  box-sizing: border-box;
}

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

body {
  margin: 0;
  min-height: 100vh;
  background: var(--bg-base);
  color: var(--text-primary);
  overscroll-behavior-y: none;
  -webkit-tap-highlight-color: transparent;
}

h1,
h2,
p {
  margin: 0;
  color: var(--text-primary);
}

h1 {
  font-size: var(--fs-24);
  font-weight: var(--fw-bold);
  letter-spacing: -0.01em;
}

h2 {
  font-size: var(--fs-17);
  font-weight: var(--fw-semibold);
}

p {
  color: var(--text-secondary);
}

button,
input,
select {
  min-height: 42px;
  border: 1px solid var(--line-strong);
  border-radius: var(--r-sm);
  background: var(--bg-surface);
  color: var(--text-primary);
  font: inherit;
  font-weight: var(--fw-bold);
  padding: 0 var(--sp-l);
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

button {
  cursor: pointer;
}

button:focus-visible,
input:focus-visible,
select:focus-visible {
  outline: none;
  box-shadow: var(--ring-focus);
}

img {
  max-width: 100%;
  display: block;
}
