:root {
  --loginErrorColor: #ff2929;
  --loginBorderRadus: 0.5rem;
  --loginColor: #eee;
  --loginInputBackgroundColor: #393f4f;
  --loginInputHoverBackgroundColor: #495063;
  --loginLabelBackgroundColor: #303543;
  --loginSubmitBackgroundColor: #dd5030;
  --loginSubmitColor: #eee;
  --loginSubmitHoverBackgroundColor: #f35937;
  --light: #9aa4ec;
  --dark: #171a21;
  --link: rgb(27, 129, 112);
  --link-hover: rgb(24, 94, 82);
  --multiplier: 0.2;
  --htmlFontSize: 100%;
  --bodyColor: var(--baseColor);
  --bodyFontFamily: "Open Sans";
  --bodyFontFamilyFallback: sans-serif;
  --bodyFontSize: 0.875rem;
  --bodyFontWeight: 400;
  --bodyLineHeight: 1.5;
  --iconFill: var(--baseColor);
}

@use postcss-preset-env {
  stage: 0;
}

/* config.css */

:root {
  --baseColor: #606d7c;
}

/* helpers/align.css */

.align {
  display: grid;
  place-items: center;
}

.grid {
  inline-size: 90%;
  margin-inline: auto;
  max-inline-size: 20rem;
}

/* helpers/hidden.css */

.hidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

/* helpers/icon.css */

.icons {
  display: none;
}

.icon {
  block-size: 1em;
  display: inline-block;
  inline-size: 1em;
  vertical-align: middle;
}

.icon.dark {
    fill: var(--iconFill);
}

.icon.light {
    fill: #c0c6f6;
}

* {
  box-sizing: inherit;
}

html {
  box-sizing: border-box;
  font-size: var(--htmlFontSize);
}

body {
  font-family: var(--bodyFontFamily), var(--bodyFontFamilyFallback);
  font-size: var(--bodyFontSize);
  font-weight: var(--bodyFontWeight);
  line-height: var(--bodyLineHeight);
  margin: 0;
  min-block-size: 100vh;
}

body.dark {
  background-color: #272b36;
  color: var(--bodyColor);
}

body.light {
  background-color: #d1daff;
  color: #a1a0d4;
}

/* modules/anchor.css */

:root {
  --anchorColor: #c3562e;
}

a.dark {
  color: var(--anchorColor);
  outline: 0;
  text-decoration: none;
}

a.light {
    color: #8995ee;
    outline: 0;
    text-decoration: none;
  }

a:focus,
a:hover {
  text-decoration: underline;
}

/* modules/form.css */

:root {
  --formGap: 0.875rem;
}

input {
  background-image: none;
  border: 0;
  color: inherit;
  font: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  transition: background-color 0.3s;
}

.form {
  display: grid;
  gap: var(--formGap);
}

.form input[type="password"],
.form input[type="text"],
.form input[type="submit"] {
  inline-size: 100%;
}

input[type="submit"] {
  cursor: pointer;
}

.form__field {
  display: flex;
  min-height: 3rem;
}

.form__field.dark {
  -webkit-filter: drop-shadow(0px 14px 10px #21212a);
  filter: drop-shadow(0px 14px 10px #21212a);
}

.form__field.light {
  -webkit-filter: drop-shadow(0px 14px 10px #9ca3d3);
  filter: drop-shadow(0px 14px 10px #9ca3d3);
}

.form__input {
  flex: 1;
}

.form__input.dark::placeholder {
  color: rgb(127, 130, 152);
}

.form__input.light::placeholder {
    color: rgb(155, 163, 225);
  }

img.form__logo {
  max-width: 20rem;
  max-height: 20rem;
}

img.form__logo.dark {
  -webkit-filter: drop-shadow(0px 14px 10px #21212a);
  filter: drop-shadow(0px 14px 10px #21212a);
}

img.form__logo.light {
  -webkit-filter: drop-shadow(0px 14px 10px #9ca3d3);
  filter: drop-shadow(0px 14px 10px #9ca3d3);
}
/* modules/login.css */

.login {
  color: var(--loginColor);
}

.login label,
.login input[type="text"],
.login input[type="password"],
.login input[type="submit"] {
  border-radius: var(--loginBorderRadus);
  padding: 1rem;
}

.login label {
  background-color: var(--loginLabelBackgroundColor);
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
  padding-inline: 1.25rem;
}

.login.dark label {
    background-color: var(--loginLabelBackgroundColor);
}

.login.light label {
    background-color: #9aa4ec;
}


.login input[type="password"],
.login input[type="text"] {
  background-color: var(--loginInputBackgroundColor);
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}

.login.dark input[type="password"],
.login.dark input[type="text"] {
  background-color: var(--loginInputBackgroundColor);
}

.login.light input[type="password"],
.login.light input[type="text"] {
  background-color: #cacef8;
}

.login.dark input[type="password"]:focus,
.login.dark input[type="password"]:hover,
.login.dark input[type="text"]:focus,
.login.dark input[type="text"]:hover {
  background-color: var(--loginInputHoverBackgroundColor);
}

.login.light input[type="password"]:focus,
.login.light input[type="password"]:hover,
.login.light input[type="text"]:focus,
.login.light input[type="text"]:hover {
    background-color: #d0d5ff;
}

.login input[type="submit"] {
  color: var(--loginSubmitColor);
  font-weight: 700;
  text-transform: uppercase;
}

.login.dark input[type="submit"] {
    background-color: var(--loginSubmitBackgroundColor);
}

.login.light input[type="submit"] {
    background-color: #9aa4ec;
}

.login.dark input[type="submit"]:focus,
.login.dark input[type="submit"]:hover {
  background-color: var(--loginSubmitHoverBackgroundColor);
}

.login input[type="submit"]:focus,
.login input[type="submit"]:hover {
  background-color: #a6aff3;
}

/* modules/text.css */

p {
  margin-block: 1.5rem;
}

.text--center {
  text-align: center;
}

#errordescription {
  color: var(--loginErrorColor);
  text-align: center;
  justify-content: center;
  display: flex;
}

.toggle-switch {
  position: relative;
  width: 80px;
}

.toggle-switch label {
  position: absolute;
  width: 100%;
  height: 40px;
  background-color: var(--dark);
  border-radius: 20px;
  cursor: pointer;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  -o-border-radius: 20px;
}

.toggle-switch input {
  position: absolute;
  display: none;
}

.toggle-switch .slider {
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 20px;
  transition: 0.3s;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  -o-border-radius: 20px;
}

.toggle-switch input:checked ~ .slider {
  background-color: var(--light);
}

.toggle-switch .slider::before {
  content: "";
  position: absolute;
  top: 6px;
  left: 10px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  box-shadow: inset 10px 0px 0px 0px var(--light);
  background-color: var(--dark);
  transition: 0.3s;
}

.toggle-switch input:checked ~ .slider::before {
  transform: translateX(34px);
  background-color: var(--dark);
  box-shadow: none;
  -webkit-transform: translateX(34px);
  -moz-transform: translateX(34px);
  -ms-transform: translateX(34px);
  -o-transform: translateX(34px);
}

.toggle-container {
  justify-content: flex-end;
}
