:root {
  --bg: hsl(237.3deg 42.3% 30.6%);
  --bg-lighter: hsl(237.3deg 42.3% 35.6%);
  --border: hsl(237.3deg 42.3% 45.6%);
  --text: rgb(255 255 255 / 95%);
  --text-lighter: rgb(255 255 255 / 55%);
  --theme-error: rgb(219 70 65);
  --theme: hsl(255deg 66.7% 55.3%);
  --theme-transparent: hsl(255deg 66.7% 55.3% / 40%);
  --theme-secondary: hsl(85deg 66.7% 55.3%);
  --rounded: 16px;
  --rounded-sm: 10px;
  --fonts-xl: 1.5rem;
  --fonts-lg: 1.2rem;
  --fonts-md: 1rem;
  --fonts-sm: 0.9rem;
  --fonts-xs: 0.8rem;
  --fonts-xxs: 0.7rem;
  --extra-bold: 700;
  --bold: 600;
  --semi-bold: 500;
  --body: 400;
  --s-1: 0.25rem;
  --s-1-5: 0.375rem;
  --s-2: 0.5rem;
  --s-2-5: 0.625rem;
  --s-3: 0.75rem;
  --s-4: 1rem;
  --s-5: 1.25rem;
  --s-6: 1.5rem;
  --s-7: 1.75rem;
  --s-8: 2rem;
  --s-9: 2.25rem;
  --s-10: 2.5rem;
  --s-11: 2.75rem;
  --s-12: 3rem;
  --s-14: 3.5rem;
  --s-16: 4rem;
  --s-20: 5rem;
  --s-24: 6rem;
  --s-28: 7rem;
  --s-32: 8rem;
  --s-40: 10rem;
  --s-48: 12rem;
  --s-56: 14rem;
  --s-64: 16rem;
  --s-72: 18rem;
  --s-80: 20rem;
  --s-96: 2rem;
}

/* xs: "(min-width: 480px)",
sm: "(min-width: 640px)",
md: "(min-width: 768px)",
lg: "(min-width: 1024px)",
xl: "(min-width: 1280px)", */

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

body {
  background-color: var(--bg);
  color: var(--text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial,
    sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: antialiased;
  line-height: 1.55;
}

*:focus:not(:focus-visible) {
  outline: none !important;
}

button {
  display: inline-flex;
  width: auto;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--theme);
  appearance: none;
  background: var(--theme);
  border-radius: var(--rounded-sm);
  color: var(--text);
  cursor: pointer;
  font-size: var(--fonts-sm);
  font-weight: var(--bold);
  line-height: 1.2;
  outline-offset: 2px;
  padding-block: var(--s-1-5);
  padding-inline: var(--s-2-5);
  user-select: none;
}

button:focus-visible {
  outline: 2px solid var(--theme);
}

button:active {
  transform: translateY(1px);
}

button.outlined {
  background-color: transparent;
}

input:not(.plain) {
  height: 1rem;
  padding: var(--s-4) var(--s-3);
  border: none;
  border: 1px solid var(--border);
  background-color: var(--bg-lighter);
  border-radius: var(--rounded);
  color: var(--text);
  outline: none;
}

input:not(.plain):focus-within {
  border-color: transparent;
  outline: 2px solid var(--theme);
}

input:not(.plain)::placeholder {
  color: var(--text-lighter);
  font-weight: var(--semi-bold);
  letter-spacing: 0.5px;
}

input:not(.plain).error {
  border-color: transparent;
  outline: 2px solid var(--theme-error);
}

label {
  display: block;
  color: var(--text-lighter);
  font-size: var(--fonts-xs);
  font-weight: var(--bold);
  margin-block-end: var(--s-1);
}
