/* [project]/components/Galaxy.css [app-client] (css) */
.galaxy-container {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.galaxy-canvas {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  inset: 0;
}

/* [project]/app/login/login.css [app-client] (css) */
.login-page {
  --ink: #fafafa;
  --ink-soft: #7a7c7f;
  --accent-soft: #eef6ff29;
  --alert: #ff7163;
  --ease-out: cubic-bezier(.25, 1, .5, 1);
  --ease-expo: cubic-bezier(.16, 1, .3, 1);
  width: 100%;
  height: 100vh;
  color: var(--ink);
  font-family: var(--font-sans), system-ui, sans-serif;
  position: relative;
}

@supports (color: lab(0% 0 0)) {
  .login-page {
    --ink: lab(98.26% 0 0);
    --ink-soft: lab(51.8441% -.262171 -1.86921);
    --accent-soft: lab(96.5002% -2.1244 -7.10868 / .16);
    --alert: lab(65.7081% 58.9334 39.321);
  }
}

.login-page__background {
  position: absolute;
  inset: 0;
}

.login {
  pointer-events: none;
  place-items: center;
  padding: 2rem;
  display: grid;
  position: absolute;
  inset: 0;
}

.login__card {
  pointer-events: auto;
  opacity: 0;
  background-color: #ffffff05;
  border: 1px solid #ffffff1f;
  border-radius: 2rem;
  width: 100%;
  max-width: 25rem;
  box-shadow: inset 0 1px #ffffff14;
}

.login--started .login__card {
  animation: card-rise .75s var(--ease-expo) 80ms both;
}

@keyframes card-rise {
  0% {
    opacity: 0;
    transform: translateY(1rem) scale(.985);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.login__body {
  flex-direction: column;
  align-items: center;
  padding: 2.75rem 2.25rem 2.25rem;
  display: flex;
}

.logo {
  flex: none;
  display: block;
  position: relative;
}

.logo__calque {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  overflow: visible;
}

.logo__anneau {
  stroke-dasharray: 276.47;
  stroke-dashoffset: 276.47px;
}

.login--started .logo__anneau {
  animation: logo-ring 1.13s var(--ease-out) forwards;
}

@keyframes logo-ring {
  to {
    stroke-dashoffset: 0;
  }
}

.logo__lames {
  transform-origin: 50%;
}

.login--started .logo__lames {
  animation: logo-pivot 1.67s var(--ease-expo) .4s both;
}

@keyframes logo-pivot {
  0% {
    transform: rotate(-38deg) scale(1.16);
  }

  to {
    transform: none;
  }
}

.logo__lame {
  opacity: 0;
}

.login--started .logo__lame {
  animation: logo-blade .67s var(--ease-out) both;
}

@keyframes logo-blade {
  to {
    opacity: 1;
  }
}

.logo__coeur {
  transform-origin: 50%;
  opacity: 0;
}

.login--started .logo__coeur {
  animation: logo-core .87s var(--ease-expo) 1.53s both;
}

@keyframes logo-core {
  0% {
    opacity: 0;
    transform: scale(.3);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.login__name {
  font-family: var(--font-title), system-ui, sans-serif;
  letter-spacing: -.01em;
  opacity: 0;
  margin: 1.25rem 0 0;
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1;
}

.login--started .login__name {
  animation: name-in .95s var(--ease-expo) .6s both;
}

@keyframes name-in {
  0% {
    opacity: 0;
    filter: blur(6px);
    transform: translateY(.375rem);
  }

  to {
    opacity: 1;
    filter: none;
    transform: none;
  }
}

.login__access {
  opacity: 0;
  visibility: hidden;
  width: 100%;
  transition: opacity .65s var(--ease-out) .12s,
    transform .7s var(--ease-expo) .12s,
    visibility 0s linear .12s;
  transform: translateY(.5rem);
}

.login__access--ready {
  opacity: 1;
  visibility: visible;
  transform: none;
}

.login__row {
  box-sizing: border-box;
  width: 100%;
  height: 40px;
  transition: border-color .4s var(--ease-out),
    box-shadow .4s var(--ease-out);
  background-color: #00000080;
  border: 1px solid #ffffff1a;
  border-radius: 12.8px;
  align-items: center;
  gap: .625rem;
  margin-top: 2rem;
  padding: 0 12px;
  display: flex;
}

.login__row:focus-within {
  box-shadow: 0 0 0 .25rem var(--accent-soft);
  border-color: #ffffff40;
}

.login__field {
  min-width: 0;
  height: 100%;
  font: inherit;
  font-family: var(--font-mono), ui-monospace, monospace;
  letter-spacing: .04em;
  color: var(--ink);
  caret-color: var(--ink);
  background: none;
  border: none;
  outline: none;
  flex: 1;
  font-size: 14px;
}

.login__field::placeholder {
  font-family: var(--font-sans), system-ui, sans-serif;
  letter-spacing: .01em;
  color: var(--ink-soft);
}

.login__submit {
  box-sizing: border-box;
  cursor: pointer;
  width: 100%;
  height: 40px;
  font-family: var(--font-sans), system-ui, sans-serif;
  color: #0a0a0a;
  transition: background-color .3s var(--ease-out),
    box-shadow .4s var(--ease-out),
    transform .3s var(--ease-expo);
  background-color: #fff;
  border: none;
  border-radius: 12.8px;
  place-items: center;
  margin-top: .875rem;
  padding: 0 16px;
  font-size: 14px;
  font-weight: 600;
  display: grid;
}

.login__submit:hover:not(:disabled) {
  background-color: #e8e8e8;
  box-shadow: 0 0 2rem #ffffff2e;
}

.login__submit:active:not(:disabled) {
  transform: scale(.98);
}

.login__submit:disabled {
  cursor: default;
}

.login__passkey {
  cursor: pointer;
  font-family: var(--font-sans), system-ui, sans-serif;
  color: var(--ink-soft);
  transition: color .3s var(--ease-out);
  background: none;
  border: none;
  margin: 1rem auto 0;
  padding: .25rem .5rem;
  font-size: 13px;
  display: block;
}

.login__passkey:hover:not(:disabled) {
  color: var(--ink);
}

.login__passkey:disabled {
  cursor: default;
}

.login__spinner {
  border: 2px solid #0a090840;
  border: 2px solid lab(2.47912% .221476 .63273 / .25);
  border-top-color: #0a0908;
  border-radius: 50%;
  width: 1rem;
  height: 1rem;
  animation: .9s linear infinite spin;
}

@keyframes spin {
  to {
    transform: rotate(1turn);
  }
}

.login__error {
  text-align: center;
  color: var(--alert);
  background-color: #ff716314;
  background-color: lab(65.7081% 58.9334 39.321 / .08);
  border: 1px solid #ff716340;
  border: 1px solid lab(65.7081% 58.9334 39.321 / .25);
  border-radius: .625rem;
  margin: .875rem 0 0;
  padding: .625rem .875rem;
  font-size: .875rem;
}

/*# sourceMappingURL=_18sw8q05ryffy._.css.map*/