:root {
  /*colors scheme*/
  --deep-blue-subtle: #00223d;
  --deep-blue-moderate: #000b14;
  --deep-blue-intense: #00060a;
  --turquoise-subtle: #37e2db;
  --turquoise-intense: oklch(0.7257 0.1251 190.36);
  --white-normal: oklch(1 0 0);
  --white-muted: #fff, 32%;
  --black-normal: oklch(0% 0 0);
  --black-muted: oklch(15.907% 0.00002 271.152 / 0.438);
  --grayscale-normal: #0d0d0d;
  --grayscale-subtle: #383838;
  --grayscale-muted: #8a8a8a;
  --grayscale-disabled: #6e6e6e, 16%;

  font-family: "Inter", sans-serif;
  line-height: 1.5;
  font-weight: 400;

  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.light {
  --color-primary: var(--turquoise-intense);
  --color-secondary: var(--white-normal);
  --borde-color: oklch(0.5382 0 0 / 16.08%);
  --heading-color: var(--grayscale-normal);
  --icon-color: var(--black-normal);
  --bg-image: url("/public/bg-light.webp");
  --bg-gradient: linear-gradient(
    299deg,
    rgba(255, 255, 255, 0.8) 30.45%,
    #fff 48.77%
  );
}

body.dark {
  --color-primary: var(--turquoise-intense);
  --color-secondary: var(--black-normal);
  --borde-color: oklch(0.7826 0 0);
  --heading-color: var(--white-normal);
  --icon-color: var(--white-normal);
  --bg-image: url("/public/bg-dark.webp");
  --bg-gradient: linear-gradient(
    299deg,
    rgba(13, 13, 13, 0.8) 30.45%,
    #0d0d0d 48.77%
  );
}

header {
  grid-area: header;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  align-items: center;
  height: 30px;
  padding: 10px 20px;
}

body {
  height: 100dvh;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto 1fr auto;
  grid-template-areas: "header" "main" "footer";
  background-color: var(--color-secondary);
  color: var(--heading-color);
  transition: background-color 0.2s, color 0.2s;
  background-image: var(--bg-gradient), var(--bg-image);
  background-size: cover, cover;
  background-position: center, center;
  background-repeat: no-repeat, no-repeat;
  overflow: hidden;
}

main {
  grid-area: main;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 50dvw;
  padding: 20px;
  overflow-y: auto;
  overflow-x: hidden;
  margin: 0 auto;
  box-sizing: border-box;

  @media (max-width: 768px) {
    width: 100dvw;
  }
}

#app-container {
  grid-area: main;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  box-sizing: border-box;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: rgba(128, 128, 128, 0.3) transparent;
}

/* Estilos del scrollbar para Webkit (Chrome, Safari, Edge) */
#app-container::-webkit-scrollbar {
  width: 12px;
}

#app-container::-webkit-scrollbar-track {
  background: transparent;
}

#app-container::-webkit-scrollbar-thumb {
  background: rgba(128, 128, 128, 0.3);
  border-radius: 6px;
}

#app-container::-webkit-scrollbar-thumb:hover {
  background: rgba(128, 128, 128, 0.5);
}

#app-container.welcome {
  align-items: center;
  justify-content: center;
  padding: 20px;
}

#app-container.welcome .welcome-content {
  display: flex;
  flex-direction: column;
  justify-content: unset;
  width: 50dvw;
  height: 84%;

  @media (max-width: 768px) {
    width: 94dvw;
  }
}

#app-container.chat-mode .chat-container {
  width: 48dvw;
  margin: 0 auto;

  @media (max-width: 768px) {
    width: 94dvw;
  }
}

footer {
  grid-area: footer;
  padding-bottom: 6px;
  display: flex;
  width: 50dvw;
  justify-content: center;
  margin: 0 auto;
  box-sizing: border-box;
  text-align: center;

  @media (max-width: 768px) {
    width: 94dvw;
  }
}

a {
  font-weight: 500;
  color: #646cff;
  text-decoration: inherit;
}
a:hover {
  color: #535bf2;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--heading-color);
}

h1 {
  font-size: 2.2em;
  line-height: 1.1;
}

.chat-container {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
  overflow: visible;
}

#app {
  max-width: 1280px;
  margin: 0 auto;
  padding: 2rem;
  text-align: center;
}

/*
.logo {
  height: 6em;
  padding: 1.5em;
  will-change: filter;
  transition: filter 300ms;
}
.logo:hover {
  filter: drop-shadow(0 0 2em #646cffaa);
}
.logo.vanilla:hover {
  filter: drop-shadow(0 0 2em #f7df1eaa);
}

.card {
  padding: 2em;
}

.read-the-docs {
  color: #888;
}

button {
  border-radius: 8px;
  border: 1px solid transparent;
  padding: 0.6em 1.2em;
  font-size: 1em;
  font-weight: 500;
  font-family: inherit;
  background-color: var(--color-primary);
  cursor: pointer;
  transition: border-color 0.25s;
}
button:hover {
  border-color: #646cff;
}
button:focus,
button:focus-visible {
  outline: 4px auto -webkit-focus-ring-color;
}
  */
