.translated-text {
  color: #21dc62 !important;
  transition: color 0.3s;
}
/* From Uiverse.io by Sergestra - Botón idioma */
#lang-toggle {
  outline: 0;
  border: 0;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 140px;
  height: 50px;
  border-radius: 0.5em;
  box-shadow: 0 0.625em 1em 0 rgba(30, 143, 255, 0.35);
  overflow: hidden;
  cursor: pointer;
  background: none;
  margin-left: 24px;
  margin-right: 100px;
  padding: 0;
}
#lang-toggle div {
  transform: translateY(0px);
  width: 100%;
  transition: 0.6s cubic-bezier(.16,1,.3,1);
}
#lang-toggle,
#lang-toggle div {
  transition: 0.6s cubic-bezier(.16,1,.3,1);
}
#lang-toggle div span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 50px;
  padding: 0.75em 1.125em;
}
#lang-toggle div:nth-child(1) {
  background-color: #1e90ff;
}
#lang-toggle div:nth-child(2) {
  background-color: #21dc62;
}
#lang-toggle:hover {
  box-shadow: 0 0.625em 1em 0 rgba(33, 220, 98, 0.35);
}
#lang-toggle:hover div {
  transform: translateY(-50px);
}
#lang-toggle p {
  font-size: 17px;
  font-weight: bold;
  color: #ffffff;
  margin: 0;
}
#lang-toggle:active {
  transform: scale(0.95);
}
/* === Botón moderno para los proyectos (sólo para .button en cards) === */
/* From Uiverse.io by Yaya12085 */ 
.button {
  width: fit-content;
  display: flex;
  padding: 1.2em 1rem;
  cursor: pointer;
  gap: 0.4rem;
  font-weight: bold;
  border-radius: 30px;
  text-shadow: 2px 2px 3px rgb(136 0 136 / 50%);
  background: linear-gradient(15deg, #880088, #aa2068, #cc3f47, #de6f3d, #f09f33, #de6f3d, #cc3f47, #aa2068, #880088) no-repeat;
  background-size: 300%;
  color: #fff;
  border: none;
  background-position: left center;
  box-shadow: 0 30px 10px -20px rgba(0,0,0,.2);
  transition: background .3s ease;
}

.button:hover {
  background-size: 320%;
  background-position: right center;
}

.button:hover svg {
  fill: #fff;
}

.button svg {
  width: 23px;
  fill: #f09f33;
  transition: .3s ease;
}
.button:hover svg {
  fill: #fff;
}
/* === Botón moderno y colorido para los proyectos (Uiverse.io) === */
.project-btn {
  width: fit-content;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-weight: bold;
  border-radius: 30px;
  text-shadow: 2px 2px 3px rgb(136 0 136 / 50%);
  background: linear-gradient(15deg, #880088, #aa2068, #cc3f47, #de6f3d, #f09f33, #de6f3d, #cc3f47, #aa2068, #880088) no-repeat;
  background-size: 300%;
  color: #fff !important;
  border: none;
  background-position: left center;
  box-shadow: 0 30px 10px -20px rgba(0,0,0,.2);
  transition: background .3s ease;
  padding: 1.2em 1rem;
  font-size: 1.1em;
  margin: 0 auto;
  justify-content: center;
}
.project-btn:hover {
  background-size: 320%;
  background-position: right center;
}
.project-btn svg {
  width: 23px;
  fill: #f09f33;
  transition: .3s ease;
}
.project-btn:hover svg {
  fill: #fff;
}
/* === Gradientes modernos y oscuros para cada cuadro superior de proyecto === */
.project-card:nth-child(1) .github-bg { background: linear-gradient(135deg, #74ebd5 60%, #ACB6E5 100%); }
.project-card:nth-child(2) .github-bg { background: linear-gradient(135deg, #232526 60%, #00c6fb 100%); }
.project-card:nth-child(3) .github-bg { background: linear-gradient(135deg, #232526 60%, #f7971e 100%); }
.project-card:nth-child(4) .github-bg { background: linear-gradient(135deg, #232526 60%, #e96443 100%); }
.project-card:nth-child(5) .github-bg { background: linear-gradient(135deg, #232526 60%, #43cea2 100%); }
.project-card:nth-child(6) .github-bg { background: linear-gradient(135deg, #232526 60%, #ff6a00 100%); }
.project-card:nth-child(7) .github-bg { background: linear-gradient(135deg, #232526 60%, #11998e 100%); }
.project-card:nth-child(8) .github-bg { background: linear-gradient(135deg, #232526 60%, #6a82fb 100%); }
.project-card:nth-child(9) .github-bg { background: linear-gradient(135deg, #232526 60%, #fc5c7d 100%); }
.project-card:nth-child(10) .github-bg { background: linear-gradient(135deg, #232526 60%, #00b09b 100%); }
/* === Fondo diferente para cada cuadro superior de proyecto === */
.project-card:nth-child(1) .github-bg { background: linear-gradient(135deg, #1abc9c 60%, #16a085 100%); }
.project-card:nth-child(2) .github-bg { background: linear-gradient(135deg, #e67e22 60%, #f39c12 100%); }
.project-card:nth-child(3) .github-bg { background: linear-gradient(135deg, #9b59b6 60%, #8e44ad 100%); }
.project-card:nth-child(4) .github-bg { background: linear-gradient(135deg, #e74c3c 60%, #c0392b 100%); }
.project-card:nth-child(5) .github-bg { background: linear-gradient(135deg, #2980b9 60%, #3498db 100%); }
.project-card:nth-child(6) .github-bg { background: linear-gradient(135deg, #27ae60 60%, #2ecc71 100%); }
.project-card:nth-child(7) .github-bg { background: linear-gradient(135deg, #f1c40f 60%, #f39c12 100%); }
.project-card:nth-child(8) .github-bg { background: linear-gradient(135deg, #232526 60%, #6a82fb 100%); }
.project-card:nth-child(9) .github-bg { background: linear-gradient(135deg, #fd79a8 60%, #e17055 100%); }
.project-card:nth-child(10) .github-bg { background: linear-gradient(135deg, #00b894 60%, #00cec9 100%); }
/* Fondo especial para la tarjeta SUMA (rojo, no rosa) */
.project-card:nth-child(4) .github-bg {
  background: linear-gradient(135deg, #e74c3c 60%, #c0392b 100%) !important;
}

/* Restaurar color original de los chips de lenguajes solo en la tarjeta SUMA */
.project-card:nth-child(4) .project-tags span {
  background: #19f9d8 !important;
  color: #181c2b !important;
  border: none !important;
  font-weight: 700;
}
/* === Restaurar fondo original para los cuadros superiores de proyectos === */
.project-card .github-bg {
  background: linear-gradient(135deg, #23234a 60%, #181c2b 100%);
  color: #fff;
}
.project-card .project-icon {
  color: #181c2b;
  text-shadow: 0 2px 24px #fff8, 0 1px 0 #fff;
}
.project-card .project-content,
.project-card .project-content h3,
.project-card .project-content .project-desc,
.project-card .project-btn {
  color: #fff !important;
}
/* Restaurar color llamativo original para los chips de lenguajes en todas las tarjetas */
.project-card .project-tags span {
  background: #19f9d8 !important;
  color: #181c2b !important;
  border: none !important;
  font-weight: 700;
}
.project-card .project-btn {
  background: rgba(0,0,0,0.22);
  color: #fff !important;
  border: 2px solid #fff3;
}
.project-card .project-btn:hover {
  background: #fff;
  color: #181c2b !important;
  border: 2px solid #fff;
}
/* === Tarjetas de proyectos sin imagen (GitHub style) === */
.github-bg {
  background: linear-gradient(135deg, #23234a 60%, #181c2b 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  height: 180px;
  position: relative;
}
.project-icon {
  font-size: 3.2em;
  font-weight: 900;
  color: #19f9d8;
  letter-spacing: 2px;
  text-shadow: 0 2px 24px #19f9d8aa, 0 1px 0 #23234a;
  z-index: 1;
  user-select: none;
}
.github-link {
  position: absolute;
  right: 18px;
  bottom: 18px;
  background: #181c2b;
  border-radius: 50%;
  box-shadow: 0 2px 12px #19f9d855;
  padding: 7px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s, box-shadow 0.2s, transform 0.2s;
  z-index: 2;
}
.github-link:hover {
  background: #19f9d8;
  box-shadow: 0 4px 24px #19f9d8cc;
  transform: scale(1.13) rotate(-8deg);
}
/* === Animaciones y efectos PRO para proyectos === */
.projects-grid {
  animation: fadeInUp 1.2s cubic-bezier(.4,2,.6,1);
}
@keyframes fadeInUp {
  0% { opacity: 0; transform: translateY(60px) scale(0.98); }
  60% { opacity: 1; transform: translateY(-8px) scale(1.03); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}

.project-card {
  box-shadow: 0 4px 32px 0 #19f9d822, 0 1.5px 8px 0 #0008, 0 0 0 0 #19f9d800;
  position: relative;
  overflow: hidden;
  transition: box-shadow 0.3s, transform 0.25s cubic-bezier(.4,2,.6,1);
}
.project-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, #19f9d855 0%, #23234a00 100%);
  opacity: 0;
  transition: opacity 0.3s;
  z-index: 2;
  pointer-events: none;
}
.project-card:hover::before {
  opacity: 1;
}
.project-card:hover {
  box-shadow: 0 8px 48px 0 #19f9d8cc, 0 2px 16px 0 #000a, 0 0 32px 8px #19f9d855;
  transform: translateY(-16px) scale(1.045) rotate(-1deg);
}
.project-img img {
  filter: grayscale(0.15) brightness(0.98) contrast(1.08);
  transition: filter 0.3s, transform 0.3s;
}
.project-card:hover .project-img img {
  filter: grayscale(0) brightness(1.08) contrast(1.12) drop-shadow(0 0 16px #19f9d8aa);
  transform: scale(1.04) rotate(1deg);
}
.project-content h3 {
  letter-spacing: 1.5px;
  text-shadow: 0 2px 12px #19f9d855;
}
.project-btn {
  box-shadow: 0 2px 12px #19f9d855, 0 0 0 0 #19f9d800;
  position: relative;
  z-index: 3;
}
.project-btn::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 120%;
  height: 120%;
  background: radial-gradient(circle, #19f9d8cc 0%, #19f9d800 80%);
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.7);
  border-radius: 999px;
  z-index: -1;
  transition: opacity 0.3s, transform 0.3s;
}
.project-btn:hover::after {
  opacity: 0.7;
  transform: translate(-50%, -50%) scale(1.1);
}
/* === Proyectos Destacados: Grid y Tarjetas Modernas === */
.projects-title {
  text-align: center;
  font-size: 2.2em;
  margin-bottom: 32px;
  color: #19f9d8;
  letter-spacing: 1px;
  text-shadow: 0 2px 16px #19f9d855;
}

.projects-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2.5rem;
  width: 100%;
  margin: 0 auto 32px auto;
}

.project-card {
  background: linear-gradient(135deg, #181c2b 60%, #23234a 100%);
  border-radius: 22px;
  box-shadow: 0 4px 32px 0 #19f9d822, 0 1.5px 8px 0 #0008;
  overflow: hidden;
  width: 340px;
  min-height: 420px;
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: transform 0.25s cubic-bezier(.4,2,.6,1), box-shadow 0.25s;
  position: relative;
}
.project-card:hover {
  transform: translateY(-12px) scale(1.035);
  box-shadow: 0 8px 48px 0 #19f9d8cc, 0 2px 16px 0 #000a;
}
.project-img {
  width: 100%;
  height: 180px;
  background: #23234a;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.project-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-bottom: 2px solid #19f9d8;
}
.project-content {
  padding: 2em 1.8em 2.2em 1.8em;
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
}
.project-content h3 {
  font-size: 1.7em !important;
  margin-bottom: 0.7em;
}
.project-desc {
  font-size: 1.25em !important;
  margin-bottom: 1.2em;
  line-height: 1.5em;
}
.project-content h3 {
  color: #19f9d8;
  font-size: 1.3em;
  margin-bottom: 0.5em;
  text-align: center;
}
.project-desc {
  color: #e0e0e0;
  font-size: 1em;
  margin-bottom: 1em;
  text-align: center;
}
.project-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  margin-bottom: 1.2em;
  justify-content: center;
}
.project-tags span {
  background: #19f9d8;
  color: #181c2b;
  font-weight: 700;
  border-radius: 12px;
  padding: 0.25em 0.9em;
  font-size: 0.95em;
  box-shadow: 0 1px 6px #19f9d822;
  letter-spacing: 0.5px;
}
.project-btn {
  margin-top: auto;
  background: #19f9d8;
  color: #181c2b;
  font-weight: 900;
  border: none;
  border-radius: 999px;
  padding: 0.7em 2.2em;
  font-size: 1.1em;
  letter-spacing: 1px;
  text-decoration: none;
  box-shadow: 0 2px 12px #19f9d855;
  transition: background 0.2s, color 0.2s, box-shadow 0.2s;
  cursor: pointer;
  outline: none;
}
.project-btn:hover {
  background: #23234a;
  color: #19f9d8;
  box-shadow: 0 4px 24px #19f9d8cc;
}

@media (max-width: 900px) {
  .projects-grid {
    gap: 1.2rem;
  }
  .project-card {
    width: 98vw;
    min-width: 0;
    max-width: 98vw;
  }
}
/* --- Ajuste para que los círculos de experiencia y proyectos no se salgan del cuadro --- */
.about-circles-row-skills {
  flex-wrap: wrap;
  gap: 18px;
  justify-content: center;
  align-items: flex-end;
}

@media (max-width: 500px) {
  .about-circles-row-skills {
    flex-direction: column;
    align-items: center;
    gap: 8px;
  }
  .about-circles-card {
    padding-left: 4px !important;
    padding-right: 4px !important;
  }
}
/* --- Ajustes responsivos y centrado para móvil y desktop --- */
@media (max-width: 700px) {
  .container, .section {
    padding-left: 8px;
    padding-right: 8px;
    width: 100vw;
    max-width: 100vw;
    box-sizing: border-box;
    align-items: center !important;
    justify-content: center !important;
    display: flex !important;
    flex-direction: column !important;
  }
  .dashboard-neo-flex {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    width: 100vw;
    max-width: 100vw;
    padding: 0;
    display: flex !important;
  }
  .dashboard-neo-card, .dashboard-neo-main, .dashboard-neo-side, .dashboard-neo-center {
    min-width: 0 !important;
    max-width: 98vw !important;
    width: 100% !important;
    margin: 0 auto 18px auto !important;
    box-sizing: border-box;
    align-items: center !important;
    justify-content: center !important;
    display: flex !important;
    flex-direction: column !important;
  }
  .dashboard-neo-bars {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .dashboard-neo-bar {
    width: 95% !important;
    margin: 0 auto 8px auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    box-sizing: border-box;
  }
  .dashboard-neo-bar .percent {
    min-width: 38px;
    max-width: 38px;
    font-size: 1em !important;
    text-align: right;
    margin-left: 6px;
    margin-right: 0;
    position: relative;
    right: 0;
    top: 0;
    background: none;
    color: #19f9d8;
    font-weight: 900;
    letter-spacing: 1px;
    display: inline-block;
    vertical-align: middle;
  }
  .about-circles-card, .about-circle-card {
    max-width: 98vw !important;
    width: 100% !important;
    margin: 0 auto 12px auto !important;
  }
  .dashboard-neo-globe {
    width: 100vw !important;
    max-width: 100vw !important;
    justify-content: center;
    margin: 0 auto 12px auto;
    display: flex !important;
    align-items: center !important;
  }
  .profile-card, .floating-card, .sidebar-profile {
    max-width: 96vw !important;
    width: 100% !important;
    margin: 0 auto 12px auto !important;
  }
  .form, .form-content, .form-textarea {
    width: 100% !important;
    max-width: 98vw !important;
    font-size: 1em !important;
    box-sizing: border-box;
  }
  .menu-btn {
    position: fixed !important;
    top: 12px !important;
    right: 12px !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    z-index: 300 !important;
    background: #040f16 !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 2px 12px 0 #0004;
  }
  .menu-btn .icon svg {
    width: 32px !important;
    height: 32px !important;
  }
  .menu-btn .icon {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px;
    min-height: 32px;
    left: 0;
    top: 0;
    position: relative;
  }
}

@media (min-width: 701px) {
  .container, .section {
    max-width: 1100px;
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
    box-sizing: border-box;
  }
  .hero-inner, .dashboard-neo-flex {
    flex-direction: row;
    justify-content: center;
    align-items: stretch;
    gap: 32px;
    max-width: 1100px;
    margin: 0 auto;
    width: 100%;
  }
  .dashboard-neo-card, .dashboard-neo-main, .dashboard-neo-side, .dashboard-neo-center {
    min-width: 260px;
    max-width: 340px;
    margin-bottom: 24px;
    width: 100%;
  }
  .dashboard-neo-main {
    min-width: 480px;
    max-width: 700px;
    flex: 3 1 480px;
  }
  .about-circles-card, .about-circle-card {
    max-width: 420px;
    margin: 0 auto 32px auto;
  }
  .dashboard-neo-globe {
    max-width: 520px;
    margin: 0 auto 18px auto;
  }
  .profile-card, .floating-card, .sidebar-profile {
    max-width: 340px;
    margin: 0 auto 18px auto;
  }
  .form, .form-content, .form-textarea {
    max-width: 480px;
    font-size: 1.1em;
  }
}

.section {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

.container {
  max-width: 1100px;
  margin: 0 auto;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.hero-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  max-width: 1100px;
  margin: 0 auto;
  width: 100%;
  gap: 32px;
}

.dashboard-neo-flex {
  justify-content: center;
  align-items: stretch;
  margin: 0 auto;
  width: 100%;
  max-width: 1400px;
}

@media (max-width: 1200px) {
  .dashboard-neo-flex {
    max-width: 98vw;
    gap: 24px;
  }
  .hero-inner {
    max-width: 98vw;
    gap: 24px;
  }
  .container {
    max-width: 98vw;
  }
}

@media (max-width: 900px) {
  .dashboard-neo-flex, .hero-inner {
    flex-direction: column;
    align-items: center;
    gap: 18px;
  }
  .container {
    padding: 0 8px;
  }
}
/* From Uiverse.io by dpaulos6 */
.c-button {
  font-weight: 700;
  font-size: 16px;
  text-decoration: none;
  padding: 0.9em 1.6em;
  cursor: pointer;
  display: inline-block;
  vertical-align: middle;
  position: relative;
  z-index: 1;
}
.c-button--gooey {
  color: #06c8d9;
  background-color: transparent;
  text-transform: uppercase;
  letter-spacing: 2px;
  border: 4px solid #06c8d9;
  position: relative;
  transition: all 700ms ease;
  border-radius: 999px;
}
.c-button--gooey .c-button__blobs {
  height: 100%;
  filter: url(#goo);
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  bottom: -3px;
  right: -1px;
  z-index: -1;
  border-radius: 20px;
}
.c-button--gooey .c-button__blobs div {
  background-color: #06c8d9;
  width: 34%;
  height: 100%;
  border-radius: 100%;
  position: absolute;
  transform: scale(1.4) translateY(125%) translateZ(0);
  transition: all 700ms ease;
}
.c-button--gooey .c-button__blobs div:nth-child(1) {
  left: -5%;
}
.c-button--gooey .c-button__blobs div:nth-child(2) {
  left: 30%;
  transition-delay: 60ms;
}
.c-button--gooey .c-button__blobs div:nth-child(3) {
  left: 66%;
  transition-delay: 25ms;
}
.c-button--gooey:hover {
  color: #fff;
}
.c-button--gooey:hover .c-button__blobs div {
  transform: scale(1.4) translateY(0) translateZ(0);
}
/* Animación para el logo AC y el texto de bienvenida */
.loader-logo-bounce {
  animation: ac-float 2.8s ease-in-out infinite, ac-glow 2.2s ease-in-out infinite alternate;
  box-shadow: 0 0 60px 0 #19f9d8cc, 0 0 120px 0 #19f9d822;
}

@keyframes ac-float {
  0% { transform: translateY(0); }
  50% { transform: translateY(-18px) scale(1.07); }
  100% { transform: translateY(0); }
}

@keyframes ac-glow {
  0% { box-shadow: 0 0 60px 0 #19f9d8cc, 0 0 120px 0 #19f9d822; }
  100% { box-shadow: 0 0 90px 10px #19f9d8, 0 0 180px 30px #19f9d8aa; }
}

.loader-logo-text {
  animation: ac-text-pop 1.2s cubic-bezier(.4,2,.6,1);
  display: inline-block;
}

@keyframes ac-text-pop {
  0% { opacity: 0; transform: scale(0.7); }
  60% { opacity: 1; transform: scale(1.15); }
  100% { opacity: 1; transform: scale(1); }
}

.loader-welcome {
  opacity: 0;
  animation: welcome-fade-in 1.6s 0.7s cubic-bezier(.4,2,.6,1) forwards;
  transform: translateY(18px);
}

@keyframes welcome-fade-in {
  0% { opacity: 0; transform: translateY(18px); }
  100% { opacity: 1; transform: translateY(0); }
}
/* --- About Me Progress Circles (Circular Stats) --- */
.about-progress-circle {
  position: relative;
  width: 110px;
  height: 110px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
}
.about-progress-circle svg {
  width: 110px;
  height: 110px;
  display: block;
}
.progress-bg {
  stroke: #23234a;
  opacity: 0.22;
  transition: stroke 0.3s;
}
.progress-bar {
  stroke: #19f9d8;
  stroke-width: 10;
  fill: none;
  stroke-linecap: round;
  stroke-dasharray: 301.6;
  stroke-dashoffset: 0;
  filter: drop-shadow(0 0 12px #19f9d8cc);
  transition: stroke-dashoffset 1.2s cubic-bezier(.4,2,.6,1), stroke 0.3s;
}
.progress-bar.exp {
  stroke: #19f9d8;
}
.progress-bar.proj {
  stroke: #19f9d8;
}

@media (max-width: 500px) {
  .progress-num {
    font-size: 1.3em !important;
    max-width: 80px;
    width: 80px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    padding: 0;
    text-align: center;
    justify-content: center;
    align-items: center;
    white-space: nowrap;
  }
}
/* --- Solar System Animation for My Stack (Final, realistic, visible, no glow artifacts) --- */
.solar-system-stack {
  display: inline-block;
  position: relative;
  width: 260px;
  height: 260px;
  background: none;
  z-index: 1;
}
.solar-system-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: 50%;
  background: radial-gradient(circle at center, #1B0F3A 0%, #050816 100%);
  pointer-events: none;
}
.solar-system-orbits {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.orbit {
  position: absolute;
  top: 50%;
  left: 50%;
  border: 1px solid #6EE7B7;
  border-radius: 50%;
  opacity: 0.18;
  pointer-events: none;
  background: none;
}
.orbit-1 { width: 38px;  height: 38px;  margin-left: -19px;  margin-top: -19px;  animation: rotate-orbit-1 3s linear infinite; z-index: 2;}
.orbit-2 { width: 60px;  height: 60px;  margin-left: -30px;  margin-top: -30px;  animation: rotate-orbit-2 5s linear infinite reverse; z-index: 3;}
.orbit-3 { width: 85px;  height: 85px;  margin-left: -42.5px; margin-top: -42.5px; animation: rotate-orbit-3 7s linear infinite; z-index: 4;}
.orbit-4 { width: 110px; height: 110px; margin-left: -55px;  margin-top: -55px;  animation: rotate-orbit-4 9s linear infinite reverse; z-index: 5;}
.orbit-5 { width: 135px; height: 135px; margin-left: -67.5px; margin-top: -67.5px; animation: rotate-orbit-5 11s linear infinite; z-index: 6;}
.orbit-6 { width: 160px; height: 160px; margin-left: -80px;  margin-top: -80px;  animation: rotate-orbit-6 13s linear infinite reverse; z-index: 7;}
.orbit-7 { width: 185px; height: 185px; margin-left: -92.5px; margin-top: -92.5px; animation: rotate-orbit-7 15s linear infinite; z-index: 8;}
.orbit-8 { width: 210px; height: 210px; margin-left: -105px; margin-top: -105px; animation: rotate-orbit-8 17s linear infinite reverse; z-index: 9;}
@keyframes rotate-orbit-1 { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes rotate-orbit-2 { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes rotate-orbit-3 { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes rotate-orbit-4 { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes rotate-orbit-5 { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes rotate-orbit-6 { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes rotate-orbit-7 { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes rotate-orbit-8 { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
.planet {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 20;
  transform: translate(-50%, -50%) translateX(19px);
  box-shadow: 0 0 8px 2px rgba(0,0,0,0.18);
}
.orbit-2 .planet { transform: translate(-50%, -50%) translateX(30px);}
.orbit-3 .planet { transform: translate(-50%, -50%) translateX(42.5px);}
.orbit-4 .planet { transform: translate(-50%, -50%) translateX(55px);}
.orbit-5 .planet { transform: translate(-50%, -50%) translateX(67.5px);}
.orbit-6 .planet { transform: translate(-50%, -50%) translateX(80px);}
.orbit-7 .planet { transform: translate(-50%, -50%) translateX(92.5px);}
.orbit-8 .planet { transform: translate(-50%, -50%) translateX(105px);}
/* --- Realistic planet colors and sizes --- */
.mercury {
  width: 6px; height: 6px;
  background: radial-gradient(circle at 60% 40%, #F2F2F2 70%, #8C8C8C 100%);
  border-radius: 50%;
  border: 1px solid #fff;
  box-shadow: 0 0 10px 2px #fff, 0 0 8px 2px #8C8C8Ccc;
}
.venus {
  width: 11px; height: 11px;
  background: radial-gradient(circle at 60% 40%, #FFD700 70%, #E6C27A 100%);
  border-radius: 50%;
  border: 2px solid #FFD700;
  box-shadow: 0 0 18px 4px #FFD700cc, 0 0 10px 2px #E6C27A;
}
.earth {
  width: 12px; height: 12px;
  background: radial-gradient(circle at 60% 40%, #2E6FD8 70%, #2FA84F 100%);
  border-radius: 50%;
  border: 2px solid #fff;
  box-shadow: 0 0 20px 5px #2E6FD8cc, 0 0 10px 2px #2FA84F;
}
.mars {
  width: 8px; height: 8px;
  background: radial-gradient(circle at 60% 40%, #FF4500 70%, #C1440E 100%);
  border-radius: 50%;
  border: 2px solid #FF4500;
  box-shadow: 0 0 16px 3px #FF4500cc, 0 0 8px 2px #C1440E;
}
.jupiter {
  width: 22px; height: 22px;
  background: repeating-linear-gradient(120deg, #FFD39B 0 4px, #D9A066 4px 8px, #B87333 8px 12px, #FFD39B 12px 16px);
  border-radius: 50%;
  border: 2px solid #FFD39B;
  box-shadow: 0 0 28px 8px #FFD39Bcc, 0 0 12px 3px #B87333;
}
.saturn {
  width: 18px; height: 18px;
  background: radial-gradient(circle at 60% 40%, #FFFACD 70%, #E8C27D 100%);
  border-radius: 50%;
  border: 2px solid #FFFACD;
  box-shadow: 0 0 22px 6px #FFFACDcc, 0 0 10px 2px #E8C27D;
  position: relative;
}
.saturn-ring {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  width: 32px; height: 8px;
  margin-left: -16px; margin-top: -4px;
  border-radius: 50%;
  border: 2px solid #D8B46C;
  border-left: 2px solid #FFFACD;
  border-right: 2px solid #FFFACD;
  background: transparent;
  z-index: 1;
  pointer-events: none;
  opacity: 0.95;
  box-shadow: 0 0 12px 2px #FFFACDcc;
}
.uranus {
  width: 13px; height: 13px;
  background: radial-gradient(circle at 60% 40%, #00FFFF 70%, #7FDBFF 100%);
  border-radius: 50%;
  border: 2px solid #00FFFF;
  box-shadow: 0 0 18px 4px #00FFFFcc, 0 0 8px 2px #7FDBFF;
}
.neptune {
  width: 13px; height: 13px;
  background: radial-gradient(circle at 60% 40%, #1F4E9E 70%, #426dfb 100%);
  border-radius: 50%;
  border: 2px solid #1F4E9E;
  box-shadow: 0 0 18px 4px #1F4E9Ecc, 0 0 8px 2px #426dfb;
}
.moon {
  width: 4px; height: 4px;
  background: radial-gradient(circle at 60% 40%, #FFFFFF 70%, #CFCFCF 100%);
  border-radius: 50%;
  border: 1px solid #fff;
  box-shadow: 0 0 8px 2px #fff, 0 0 4px 1px #CFCFCF;
  position: absolute;
  z-index: 25;
}
.earth-orbit-moon {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 20px;
  margin-left: -10px;
  margin-top: -10px;
  border-radius: 50%;
  pointer-events: none;
  z-index: 24;
  border: 1px dashed #CFCFCF44;
  opacity: 0.5;
  animation: rotate-moon 2.5s linear infinite;
}
@keyframes rotate-moon {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
.earth-orbit-moon .moon {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) translateX(10px);
}
/* --- Sun with smooth circular glow, no square artifact --- */
.sun-stack {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 56px;
  height: 56px;
  margin-left: -28px;
  margin-top: -28px;
  background: radial-gradient(circle at 60% 40%, #fff700 0%, #ffb300 60%, #ff6a00 100%);
  border-radius: 50%;
  z-index: 30;
  pointer-events: none;
  box-shadow: 0 0 60px 20px #fff70055, 0 0 120px 40px #ffb30033;
}
.sun-stack::after {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  width: 120px; height: 120px;
  margin-left: -60px; margin-top: -60px;
  border-radius: 50%;
  background: radial-gradient(circle, #fff70055 0%, #ffb30033 60%, transparent 100%);
  z-index: 1;
  pointer-events: none;
  filter: blur(2px);
  opacity: 0.7;
}
/* --- Solar System Animation for My Stack (Refactor) --- */
.solar-system-stack {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  width: 260px;
  height: 260px;
  min-width: 0;
  min-height: 0;
  max-width: 100%;
  max-height: 100%;
  overflow: hidden;
}
.solar-system-orbits {
  position: relative;
  width: 100%;
  height: 100%;
}
.orbit {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 210px;
  height: 210px;
  margin-left: -105px;
  margin-top: -105px;
  border: 1px solid #6EE7B7;
  border-radius: 50%;
  opacity: 0.18;
  pointer-events: none;
}
.orbit-2 {
  width: 160px;
  height: 160px;
  margin-left: -80px;
  margin-top: -80px;
}
.orbit-3 {
  width: 120px;
  height: 120px;
  margin-left: -60px;
  margin-top: -60px;
}
.orbit-4 {
  width: 80px;
  height: 80px;
  margin-left: -40px;
  margin-top: -40px;
}
.orbit-1 {
  animation: rotate-orbit-1 7s linear infinite;
  z-index: 2;
}
.orbit-2 {
  animation: rotate-orbit-2 10s linear infinite reverse;
  z-index: 3;
}
.orbit-3 {
  animation: rotate-orbit-3 14s linear infinite;
  z-index: 4;
}
.orbit-4 {
  animation: rotate-orbit-4 18s linear infinite reverse;
  z-index: 5;
}
@keyframes rotate-orbit-1 {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes rotate-orbit-2 {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes rotate-orbit-3 {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes rotate-orbit-4 {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
.planet {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) translateX(105px);
  /* 105px = radio de la órbita grande */
  z-index: 10;
  box-shadow: 0 0 12px 2px rgba(0,0,0,0.18);
}
.orbit-2 .planet {
  transform: translate(-50%, -50%) translateX(80px);
}
.orbit-3 .planet {
  transform: translate(-50%, -50%) translateX(60px);
}
.orbit-4 .planet {
  transform: translate(-50%, -50%) translateX(40px);
}
.planet-1 {
  width: 20px; height: 20px; background: #3fa7ff; border-radius: 50%; border: 2px solid #fff;}
.planet-2 {
  width: 26px; height: 26px; background: #e6c97b; border-radius: 50%; border: 2px solid #bfa14a;}
.planet-3 {
  width: 16px; height: 16px; background: #ffb347; border-radius: 50%; border: 2px solid #fff;}
.planet-4 {
  width: 14px; height: 14px; background: #ff5e5e; border-radius: 50%; border: 2px solid #fff;}
.sun-stack {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 56px;
  height: 56px;
  margin-left: -28px;
  margin-top: -28px;
  background: radial-gradient(circle at 60% 40%, #fff700 0%, #ffb300 60%, #ff6a00 100%);
  border-radius: 50%;
  box-shadow: 0 0 40px 10px #fff70088, 0 0 80px 20px #ffb30044;
  z-index: 20;
  animation: sun-glow-stack 2.5s infinite alternate;
  pointer-events: none;
}
@keyframes sun-glow-stack {
  0% { box-shadow: 0 0 40px 10px #fff70088, 0 0 80px 20px #ffb30044; }
  100% { box-shadow: 0 0 60px 20px #fff700cc, 0 0 120px 40px #ffb30088; }
}
/* --- Tarjeta visual para gráficas circulares en About Me --- */
.about-circles-card {
  background: linear-gradient(135deg, #23234a 60%, #18122b 100%);
  border-radius: 24px;
  box-shadow: 0 4px 32px 0 #6EE7B733, 0 1.5px 0 #6EE7B7;
  border: 2px solid #6EE7B7;
  margin: 0 auto 32px auto;
  padding: 32px 24px 24px 24px;
  max-width: 420px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.about-circles-row-skills {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 48px;
}
/* --- About Me Progress Circles (SKILLS) --- */
.orbit {
  position: absolute;
  top: 50%;
  left: 50%;
  border: 1px solid #6EE7B7;
  border-radius: 50%;
  opacity: 0.18;
  pointer-events: none;
}
.orbit-1 { width: 40px; height: 40px; margin-left: -20px; margin-top: -20px; animation: rotate-orbit-1 3s linear infinite; z-index: 2; }
.orbit-2 { width: 60px; height: 60px; margin-left: -30px; margin-top: -30px; animation: rotate-orbit-2 5s linear infinite reverse; z-index: 3; }
.orbit-3 { width: 85px; height: 85px; margin-left: -42.5px; margin-top: -42.5px; animation: rotate-orbit-3 7s linear infinite; z-index: 4; }
.orbit-4 { width: 110px; height: 110px; margin-left: -55px; margin-top: -55px; animation: rotate-orbit-4 9s linear infinite reverse; z-index: 5; }
.orbit-5 { width: 135px; height: 135px; margin-left: -67.5px; margin-top: -67.5px; animation: rotate-orbit-5 11s linear infinite; z-index: 6; }
.orbit-6 { width: 160px; height: 160px; margin-left: -80px; margin-top: -80px; animation: rotate-orbit-6 13s linear infinite reverse; z-index: 7; }
.orbit-7 { width: 185px; height: 185px; margin-left: -92.5px; margin-top: -92.5px; animation: rotate-orbit-7 15s linear infinite; z-index: 8; }
.orbit-8 { width: 210px; height: 210px; margin-left: -105px; margin-top: -105px; animation: rotate-orbit-8 17s linear infinite reverse; z-index: 9; }
@keyframes rotate-orbit-1 { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes rotate-orbit-2 { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes rotate-orbit-3 { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes rotate-orbit-4 { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes rotate-orbit-5 { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes rotate-orbit-6 { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes rotate-orbit-7 { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes rotate-orbit-8 { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
.planet {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) translateX(20px);
  z-index: 10;
  box-shadow: 0 0 12px 2px rgba(0,0,0,0.18);
}
.orbit-2 .planet { transform: translate(-50%, -50%) translateX(30px); }
.orbit-3 .planet { transform: translate(-50%, -50%) translateX(42.5px); }
.orbit-4 .planet { transform: translate(-50%, -50%) translateX(55px); }
.orbit-5 .planet { transform: translate(-50%, -50%) translateX(67.5px); }
.orbit-6 .planet { transform: translate(-50%, -50%) translateX(80px); }
.orbit-7 .planet { transform: translate(-50%, -50%) translateX(92.5px); }
.orbit-8 .planet { transform: translate(-50%, -50%) translateX(105px); }
.mercury {
  width: 7px; height: 7px;
  background: radial-gradient(circle at 60% 40%, #e0e0e0 60%, #b5b5b5 100%);
  border-radius: 50%;
  border: 1px solid #e0e0e0;
  box-shadow: 0 0 8px 2px #e0e0e088;
}
.venus {
  width: 13px; height: 13px;
  background: radial-gradient(circle at 60% 40%, #fff2b2 40%, #e1c16e 100%);
  border-radius: 50%;
  border: 2px solid #e6d8ad;
  box-shadow: 0 0 12px 2px #ffe29a88;
}
.earth {
  width: 14px; height: 14px;
  background: radial-gradient(circle at 60% 40%, #3fa7ff 60%, #34c759 100%);
  border-radius: 50%;
  border: 2px solid #fff;
  box-shadow: 0 0 14px 3px #3fa7ff88, 0 0 8px 2px #34c75966;
}
.mars {
  width: 10px; height: 10px;
  background: radial-gradient(circle at 60% 40%, #ffb199 40%, #c1440e 100%);
  border-radius: 50%;
  border: 2px solid #ffb199;
  box-shadow: 0 0 10px 2px #ffb19988;
}
.jupiter {
  width: 22px; height: 22px;
  background: radial-gradient(circle at 60% 40%, #fff2cc 30%, #e3aa6f 60%, #b97a56 100%);
  border-radius: 50%;
  border: 2px solid #fff2cc;
  box-shadow: 0 0 18px 4px #fff2cc88;
}
.saturn {
  width: 18px; height: 18px;
  background: radial-gradient(circle at 60% 40%, #fff7c2 40%, #ffe29a 70%, #c2b280 100%);
  border-radius: 50%;
  border: 2px solid #e6d8ad;
  box-shadow: 0 0 14px 3px #ffe29a88;
}
.uranus {
  width: 15px; height: 15px;
  background: radial-gradient(circle at 60% 40%, #b5fff6 40%, #7de2fc 100%);
  border-radius: 50%;
  border: 2px solid #e0f7fa;
  box-shadow: 0 0 12px 2px #7de2fc88;
}
.neptune {
  width: 15px; height: 15px;
  background: radial-gradient(circle at 60% 40%, #5e9bff 40%, #426dfb 100%);
  border-radius: 50%;
  border: 2px solid #b3c6ff;
  box-shadow: 0 0 12px 2px #426dfb88;
}
.about-circle-plus {
  font-size: 0.7em;
  margin-left: 2px;
  font-weight: 700;
  color: #19f9d8;
  opacity: 0.85;
}
.about-circles-row-skills .about-circle-label {
  color: #fff;
  font-size: 1.1em;
  font-weight: 600;
  margin-top: 2px;
  letter-spacing: 0.5px;
  text-align: center;
}
@keyframes glowPulse {
  0% { text-shadow: 0 0 24px #19f9d8cc, 0 1px 0 #fff2; }
  100% { text-shadow: 0 0 48px #19f9d8, 0 1px 0 #fff2; }
}
/* --- About Me Skills Pie Chart --- */
.about-skills-pie {
  display: flex;
  align-items: center;
  gap: 32px;
  margin: 24px 0 12px 0;
  flex-wrap: wrap;
}
.pie-chart {
  position: relative;
  width: 120px;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pie-chart svg {
  transform: rotate(-90deg);
}
.pie-bg {
  opacity: 0.18;
}
.pie-slice {
  fill: none;
  stroke-linecap: round;
  filter: drop-shadow(0 0 8px #19f9d8cc);
  stroke-dasharray: 0 314.2;
  stroke-dashoffset: 0;
  animation: pieGrow 1.6s cubic-bezier(.4,2,.6,1) forwards;
}
.pie-slice.pie1 { animation-delay: 0.1s; }
.pie-slice.pie2 { animation-delay: 0.3s; }
.pie-slice.pie3 { animation-delay: 0.5s; }
.pie-slice.pie4 { animation-delay: 0.7s; }
.pie-slice.pie5 { animation-delay: 0.9s; }
.pie-slice.pie6 { animation-delay: 1.1s; }
@keyframes pieGrow {
  to { stroke-dasharray: inherit; }
}
.pie-center-text {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  color: #19f9d8;
  font-size: 1.1em;
  font-weight: 800;
  letter-spacing: 1px;
  text-shadow: 0 0 8px #19f9d8cc;
  pointer-events: none;
}
.pie-legend {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.pie-legend li {
  color: #e6eef8;
  font-size: 1em;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 8px;
}
.pie-dot {
  display: inline-block;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  margin-right: 4px;
  box-shadow: 0 0 6px #19f9d8cc;
}
/* --- About Me Circles/Stats --- */
.about-circles-row {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 80px;
  margin: 36px 0 32px 0;
}
.about-circle-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: none;
}
.about-circle-glow {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
}
.about-circle-glow svg {
  filter: drop-shadow(0 0 18px #19f9d8cc);
}
.about-circle-num {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: 2.7em;
  font-weight: 900;
  color: #19f9d8;
  text-shadow: 0 0 18px #19f9d8cc, 0 1px 0 #fff2;
  letter-spacing: 2px;
  font-family: 'Orbitron', 'Montserrat', 'Arial', sans-serif;
  display: flex;
  align-items: center;
}
.about-circle-plus {
  font-size: 0.7em;
  margin-left: 2px;
  font-weight: 700;
  color: #19f9d8;
  opacity: 0.85;
}
.about-circle-label {
  color: #fff;
  font-size: 1.1em;
  font-weight: 600;
  margin-top: 2px;
  letter-spacing: 0.5px;
  text-align: center;
}
/* Creatividad y dinamismo para tarjetas laterales de My Stack */
.dashboard-neo-side {
  background: linear-gradient(135deg, #23234a 60%, #18122b 100%);
  border-radius: 24px;
  box-shadow: 0 4px 32px 0 #6EE7B733, 0 1.5px 0 #3b82f6;
  border: 2px solid transparent;
  position: relative;
  overflow: hidden;
  transition: box-shadow 0.3s, border 0.3s;
}
.dashboard-neo-side::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 24px;
  padding: 2px;
  background: linear-gradient(120deg, #6EE7B7, #3b82f6, #a855f7 80%);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  z-index: 1;
  opacity: 0.7;
  animation: neonBorder 3s linear infinite;
}
@keyframes neonBorder {
  0% { filter: hue-rotate(0deg); }
  100% { filter: hue-rotate(360deg); }
}
.dashboard-neo-side .dashboard-neo-title {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  transition: color 0.2s, text-shadow 0.2s;
}
.dashboard-neo-side .dashboard-neo-title:hover {
  color: #6EE7B7;
  text-shadow: 0 0 12px #3b82f6cc;
}
.dashboard-neo-side .dashboard-neo-title.skills::before {
  content: '\1F4AA'; /* 💪 */
  font-size: 2.1em;
  margin-right: 10px;
  display: inline-block;
  vertical-align: middle;
  animation: iconBounce 2.2s infinite cubic-bezier(.4,2,.6,1);
  filter: drop-shadow(0 0 8px #6EE7B7cc);
}
.dashboard-neo-side .dashboard-neo-title.tools::before {
  content: '\1F527'; /* 🔧 */
  font-size: 2.1em;
  margin-right: 10px;
  display: inline-block;
  vertical-align: middle;
  animation: iconSpin 3.5s linear infinite;
  filter: drop-shadow(0 0 8px #3b82f6cc);
}
.dashboard-neo-side .dashboard-neo-title.learning::before {
  content: '\1F4DA'; /* 📚 */
  font-size: 2.1em;
  margin-right: 10px;
  display: inline-block;
  vertical-align: middle;
  animation: iconWave 2.8s infinite cubic-bezier(.4,2,.6,1);
  filter: drop-shadow(0 0 8px #facc15cc);
}
.dashboard-neo-side .dashboard-neo-title.others::before {
  content: '\1F310'; /* 🌐 */
  font-size: 2.1em;
  margin-right: 10px;
  display: inline-block;
  vertical-align: middle;
  animation: iconPulse 2.5s infinite cubic-bezier(.4,2,.6,1);
  filter: drop-shadow(0 0 8px #38bdf8cc);
}
@keyframes iconBounce {
  0%,100% { transform: translateY(0); }
  30% { transform: translateY(-10px); }
  60% { transform: translateY(4px); }
}
@keyframes iconSpin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes iconWave {
  0%,100% { transform: rotate(0deg); }
  40% { transform: rotate(-12deg); }
  60% { transform: rotate(10deg); }
}
@keyframes iconPulse {
  0%,100% { filter: brightness(1); }
  50% { filter: brightness(2.2); }
}
/* Animación y diseño profesional para listas laterales de My Stack */
@keyframes fadeSlideLeft {
  0% {
    opacity: 0;
    transform: translateX(-32px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.dashboard-neo-side .dashboard-neo-title {
  position: relative;
  color: #fff;
  font-size: 1.3em;
  font-weight: 800;
  margin-bottom: 10px;
  margin-top: 18px;
  letter-spacing: 1px;
  text-shadow: 0 1px 4px #18122b44;
  opacity: 0;
  animation: fadeSlideLeft 0.7s cubic-bezier(.4,2,.6,1) forwards;
}
.dashboard-neo-side.in-view .dashboard-neo-title {
  opacity: 1;
  animation-delay: 0.1s;
}
.dashboard-neo-side .dashboard-neo-list li {
  opacity: 0;
  animation: fadeSlideLeft 0.7s cubic-bezier(.4,2,.6,1) forwards;
  animation-delay: 0.2s;
  color: #e6eef8;
  font-weight: 500;
  margin-bottom: 4px;
  text-shadow: none;
}
.dashboard-neo-side.in-view .dashboard-neo-list li {
  opacity: 1;
}
@keyframes fadeSlideUp {
  0% {
    opacity: 0;
    transform: translateY(32px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.dashboard-neo-main .dashboard-neo-title,
.dashboard-neo-main .dashboard-neo-bar span,
.dashboard-neo-main .dashboard-neo-bar .percent {
  opacity: 0;
  animation: fadeSlideUp 0.7s cubic-bezier(.4,2,.6,1) forwards;
}
.dashboard-neo-main.in-view .dashboard-neo-title {
  animation-delay: 0.1s;
}
.dashboard-neo-main.in-view .dashboard-neo-bar span {
  animation-delay: 0.2s;
}
.dashboard-neo-main.in-view .dashboard-neo-bar .percent {
  animation-delay: 0.3s;
}
.dashboard-neo-main.in-view .dashboard-neo-title,
.dashboard-neo-main.in-view .dashboard-neo-bar span,
.dashboard-neo-main.in-view .dashboard-neo-bar .percent {
  opacity: 1;
}
.dashboard-neo-title {
  color: #fff;
  font-weight: 900;
  font-size: 2em;
  letter-spacing: 1.5px;
  margin-bottom: 18px;
  text-shadow: 0 2px 8px #18122b44;
}
.dashboard-neo-list {
  color: #e6eef8;
  font-size: 1.08em;
  font-weight: 500;
  letter-spacing: 0.5px;
  margin-bottom: 18px;
}
.dashboard-neo-list li {
  color: #e6eef8;
  font-weight: 500;
  margin-bottom: 4px;
  text-shadow: none;
}
.dashboard-neo-side .dashboard-neo-title {
  color: #fff;
  font-size: 1.3em;
  font-weight: 800;
  margin-bottom: 10px;
  margin-top: 18px;
  letter-spacing: 1px;
  text-shadow: 0 1px 4px #18122b44;
}
.dashboard-neo-bar span {
  color: #f8fafc;
  font-weight: 700;
  font-size: 1.13em;
  letter-spacing: 1px;
  text-shadow: none;
}
.dashboard-neo-bar .percent {
  color: #6EE7B7;
  font-size: 1.2em;
  font-weight: 900;
  text-shadow: 0 1px 8px #3b82f6cc;
  letter-spacing: 1px;
}
/* Dashboard Neo Styles tipo dashboard moderno */
.dashboard-neo-bg {
  background: radial-gradient(ellipse at 60% 0%, #6d28d9 0%, #18122b 60%, #0f1020 100%);
  box-shadow: 0 0 80px 0 #6EE7B755 inset;
  padding: 48px 0 64px 0;
}
/* Flex para separar las tarjetas y aprovechar el espacio */
.dashboard-neo-flex {
  display: flex;
  flex-wrap: nowrap;
  gap: 48px;
  justify-content: space-between;
  align-items: stretch;
  max-width: 1400px;
  margin: 0 auto;
}
.dashboard-neo-card {
  background: rgba(24, 18, 43, 0.98);
  border-radius: 24px;
  box-shadow: 0 4px 32px 0 #6EE7B733, 0 1.5px 0 #6EE7B7;
  padding: 32px 32px 40px 32px;
  min-width: 260px;
  max-width: 340px;
  flex: 1 1 260px;
  margin-bottom: 24px;
  position: relative;
  height: 100%;
}
.dashboard-neo-main {
  min-width: 480px;
  max-width: 700px;
  flex: 3 1 480px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.dashboard-neo-title {
  font-size: 1.3em;
  font-weight: 900;
  color: #fff;
  letter-spacing: 2px;
  margin-bottom: 18px;
  text-shadow: 0 2px 16px #6EE7B7cc, 0 1px 0 #3b82f6;
}
.dashboard-neo-bars {
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 100%;
}
.dashboard-neo-bar {
  display: flex;
  align-items: center;
  gap: 24px;
  width: 100%;
}
.dashboard-neo-bar span {
  min-width: 110px;
  font-size: 1.1em;
  font-weight: 700;
  color: #fff;
  letter-spacing: 1px;
}
.dashboard-neo-bar-bg {
  flex: 1 1 100%;
  height: 20px;
  background: linear-gradient(90deg, #23234a 0%, #1a1a2e 100%);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 8px #000a;
  margin: 0 12px;
  min-width: 220px;
}
.dashboard-neo-bar-fill {
  height: 100%;
  border-radius: 12px;
  transition: width 1.2s cubic-bezier(.4,2,.6,1);
  background: linear-gradient(90deg, #6EE7B7 0%, #3b82f6 100%);
  box-shadow: 0 0 12px #6EE7B7cc;
  width: 0;
}
.dashboard-neo-main .dashboard-neo-bar-fill.advanced { background: linear-gradient(90deg, #6EE7B7 0%, #3b82f6 100%); }
.dashboard-neo-main .dashboard-neo-bar-fill.inter { background: linear-gradient(90deg, #facc15 0%, #f472b6 100%); }
.dashboard-neo-main .dashboard-neo-bar-fill.basic { background: linear-gradient(90deg, #f87171 0%, #facc15 100%); }
.dashboard-neo-main .dashboard-neo-bar .percent {
  min-width: 48px;
  text-align: right;
  font-size: 1.1em;
  font-weight: 700;
  color: #6EE7B7;
  text-shadow: 0 1px 8px #3b82f6cc;
}
.dashboard-neo-list {
  list-style: none;
  padding: 0 0 0 8px;
  margin: 0 0 18px 0;
  color: #e6eef8;
  font-size: 1.05em;
  font-weight: 600;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.dashboard-neo-side {
  min-width: 260px;
  max-width: 320px;
  background: rgba(34, 34, 68, 0.98);
  box-shadow: 0 2px 16px #6EE7B755, 0 1.5px 0 #3b82f6;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  height: 100%;
}
.dashboard-neo-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 24px;
  min-width: 340px;
  max-width: 520px;
}
.dashboard-neo-globe {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 18px;
  margin-bottom: 8px;
  width: 100%;
}
/* Animación de barras: avanzan desde 0 al porcentaje real al entrar a la sección */
.dashboard-neo-main .dashboard-neo-bar-fill { width: 0; }
.dashboard-neo-main.in-view .dashboard-neo-bar-fill.advanced { width: 100%; }
.dashboard-neo-main.in-view .dashboard-neo-bar-fill.inter { width: 60%; }
.dashboard-neo-main.in-view .dashboard-neo-bar-fill.basic { width: 20%; }
/* Dashboard Stack Styles */
.dashboard-stack {
  background: rgba(20, 20, 40, 0.95);
  border-radius: 24px;
  box-shadow: 0 4px 32px 0 #6EE7B733, 0 1.5px 0 #6EE7B7;
  padding: 32px 32px 40px 32px;
  margin-top: 32px;
}
.dashboard-grid {
  display: flex;
  flex-direction: column;
  gap: 28px;
  margin-top: 32px;
}
.dashboard-row {
  display: flex;
  align-items: center;
  gap: 18px;
  width: 100%;
}
.lang-label {
  min-width: 120px;
  font-size: 1.2em;
  font-weight: 700;
  color: #fff;
  letter-spacing: 1px;
}
.bar-bg {
  flex: 1;
  height: 18px;
  background: linear-gradient(90deg, #23234a 0%, #1a1a2e 100%);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 8px #000a;
  margin: 0 8px;
}
.bar-fill {
  height: 100%;
  border-radius: 12px;
  transition: width 1s cubic-bezier(.4,2,.6,1);
  background: linear-gradient(90deg, #6EE7B7 0%, #3b82f6 100%);
  box-shadow: 0 0 12px #6EE7B7cc;
}
.bar-fill.advanced { width: 100%; background: linear-gradient(90deg, #6EE7B7 0%, #3b82f6 100%); }
.bar-fill.inter { width: 60%; background: linear-gradient(90deg, #facc15 0%, #f472b6 100%); }
.bar-fill.basic { width: 20%; background: linear-gradient(90deg, #f87171 0%, #facc15 100%); }
.percent {
  min-width: 48px;
  text-align: right;
  font-size: 1.1em;
  font-weight: 700;
  color: #6EE7B7;
  text-shadow: 0 1px 8px #3b82f6cc;
}
/* Animación para los emojis del menú lateral */
.sidebar-emoji {
  font-size: 1.5em;
  display: inline-block;
  transition: transform 0.25s cubic-bezier(.4,2,.6,1), filter 0.25s;
}
.sidebar-link:hover .sidebar-emoji {
  transform: scale(1.25) rotate(-8deg);
  filter: drop-shadow(0 2px 6px #22f7c5cc);
}
:root{
    --bg: #0f1020;
    --card: #0f1724;
    --accent: #6EE7B7;
    --muted: #94a3b8;
    --glass: rgba(255,255,255,0.04);
    --glass-2: rgba(255,255,255,0.02);
    --radius:16px;
    --red-1: #ff4d6d;
    --red-2: #ff8c69;
    --red-3: #b83250;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
    margin:0;
    font-family:Inter,system-ui,-apple-system,'Segoe UI',Roboto,Arial;
  background:
    radial-gradient(900px 500px at 20% 20%, rgba(184,107,255,0.18), transparent 60%),
    radial-gradient(900px 500px at 80% 30%, rgba(0,255,255,0.10), transparent 60%),
    linear-gradient(120deg, var(--home-2), var(--home-1), var(--home-3));
  transition: background 700ms ease;
    color:#e6eef8;
    scroll-behavior:smooth;
  position: relative;
}

/* Experience scroll indicator */
.experience-section .container{position:relative;}
.exp-scroll{
  position:absolute;
  left:-28px;
  width:14px;
  pointer-events:none;
  --exp-accent: #38bdf8;
  --exp-accent-2: #2563eb;
}
.exp-scroll-track{
  position:relative;
  width:4px;
  height:100%;
  margin:0 auto;
  border-radius:999px;
  background:rgba(255,255,255,0.08);
  overflow:visible;
  box-shadow:0 0 10px rgba(2,6,23,0.4) inset;
}
.exp-scroll-fill{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:0;
  border-radius:999px;
  background:linear-gradient(180deg, color-mix(in srgb, var(--exp-accent) 20%, transparent), var(--exp-accent-2));
  box-shadow:0 0 16px color-mix(in srgb, var(--exp-accent) 70%, transparent);
  transition:height 120ms ease;
}
.exp-scroll-dot{
  position:absolute;
  left:50%;
  top:0;
  width:12px;
  height:12px;
  border-radius:50%;
  transform:translate(-50%, -50%);
  background:radial-gradient(circle, color-mix(in srgb, var(--exp-accent) 15%, #ffffff) 0%, var(--exp-accent) 45%, var(--exp-accent-2) 100%);
  box-shadow:0 0 18px color-mix(in srgb, var(--exp-accent) 70%, transparent), 0 0 6px color-mix(in srgb, var(--exp-accent-2) 70%, transparent);
}

@media (max-width: 900px){
  .exp-scroll{display:none;}
}

body.no-anim{
  transition:none;
}

body.is-red{
  background:
    radial-gradient(900px 500px at 20% 20%, rgba(255,77,109,0.16), transparent 60%),
    radial-gradient(900px 500px at 80% 30%, rgba(255,140,105,0.10), transparent 60%),
    linear-gradient(120deg, var(--red-2), var(--red-1), var(--red-3));
}

@supports not (animation-timeline: scroll()) {
    body {
        background-attachment: fixed;
    }
}

/* Pokemon Video Container */
/* Contenedor de video Pokémon */
.pokemon-video-container{
  position:fixed;
  inset:0;
  z-index:9999;
  overflow:hidden;
  pointer-events:none;
  display:none;
  background:#000;
  align-items:center;
  justify-content:center;
}
.pokemon-video-container video{
  width:85%;
  height:85%;
  object-fit:contain;
  display:none;
}
.video-overlay{
  position:fixed;
  inset:0;
  background:#000;
  z-index:9998;
  opacity:1;
  transition: opacity 0.6s ease-out;
  pointer-events:none;
}
.pokemon-video-container.show-video{
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:auto;
}
.pokemon-video-container.show-video video{
  display:block;
  position:relative;
  z-index:10000;
}
.pokemon-video-container.show-video .video-overlay.fade-out{
  opacity:0;
}

.pokemon-video-container.show-video video{
  display:block;
  position:relative;
  z-index:9999;
}
.pokemon-video-container.show-video .video-overlay.fade-out{
  opacity:0;
}

/* Background FX */
/* Efectos de fondo */
.bg{
  position:fixed;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
}
.blob,
.orb{
  position:absolute;
  border-radius:999px;
  filter: blur(55px);
  opacity:0.55;
  animation: floatBlob 14s ease-in-out infinite;
  mix-blend-mode: screen;
}
.blob{width:560px;height:560px;}
.orb{width:320px;height:320px;filter: blur(25px);opacity:0.5;animation: orbit 18s ease-in-out infinite;}

body.no-anim .blob,
body.no-anim .orb{
  animation:none;
}

.blob--home{
  left:-140px; top:40px;
  background: radial-gradient(circle at 30% 30%, rgba(184,107,255,0.95), rgba(77,255,240,0.25));
  animation-duration:16s;
}
.blob--home-2{
  right:-160px; top:140px;
  background: radial-gradient(circle at 30% 30%, rgba(0,255,255,0.55), rgba(90,60,255,0.35));
  animation-duration:19s;
}
.orb--home{
  left:20%; bottom:-120px;
  background: radial-gradient(circle at 40% 40%, rgba(184,107,255,0.7), rgba(120,60,255,0.2));
}

.blob--red{
  left:-120px; bottom:-200px;
  background: radial-gradient(circle at 40% 40%, rgba(255,77,109,0.55), rgba(184,107,255,0.25));
  animation-duration:20s;
}
.blob--red-2{
  right:-120px; top:220px;
  background: radial-gradient(circle at 35% 35%, rgba(255,140,105,0.55), rgba(120,40,60,0.3));
  animation-duration:22s;
}
.orb--red{
  right:18%; top:18%;
  background: radial-gradient(circle at 40% 40%, rgba(255,77,109,0.6), rgba(120,40,60,0.2));
}

body.is-red .blob--home,
body.is-red .blob--home-2,
body.is-red .orb--home{
  opacity:0.12;
}
body.is-red .blob--red,
body.is-red .blob--red-2,
body.is-red .orb--red{
  opacity:0.6;
}

body.is-red-anim .blob--red,
body.is-red-anim .blob--red-2,
body.is-red-anim .orb--red{
  animation-duration:12s;
}

@keyframes floatBlob{
  0%{ transform: translate(0px, 0px) scale(1); }
  50%{ transform: translate(40px, -25px) scale(1.06); }
  100%{ transform: translate(0px, 0px) scale(1); }
}
@keyframes orbit{
  0%{ transform: translate(0px, 0px); }
  50%{ transform: translate(60px, -40px); }
  100%{ transform: translate(0px, 0px); }
}

.noise{
  position:absolute;
  inset:0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='250' height='250'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='250' height='250' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E");
  opacity:0.10;
  mix-blend-mode: overlay;
}

/* Content layering above background */
/* Capa de contenido sobre el fondo */
.site-header,
main,
.floating-card{
  position: relative;
  z-index: 1;
}

.site-header{position:fixed;left:0;right:0;top:0;height:64px;background:rgba(5, 7, 20, 0.92);backdrop-filter:blur(8px);display:flex;align-items:center;gap:24px;justify-content:flex-start;padding:0 24px;z-index:100;box-shadow:0 8px 24px rgba(2,6,23,0.6)}
.brand{font-weight:900;font-size:22px;}
.nav{display:flex;gap:18px;align-items:center;flex-wrap:nowrap;white-space:nowrap;min-width:0;overflow-x:auto;}
/* Botón de idioma ES/EN */
.lang-toggle {
  margin-left: 24px;
  margin-right: 100px;
  padding: 8px 18px;
  font-size: 18px;
  font-weight: 700;
  border-radius: 8px;
  border: none;
  background: #181f2e;
  color: #22f7c5;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}
.lang-toggle:hover {
  background: #22f7c5;
  color: #181f2e;
}
.menu-btn {
  margin-left: auto;
}
.nav-link{color:#e6eef8;text-decoration:none;padding:8px 10px;border-radius:8px;font-size:24px;line-height:1.2;font-weight:800;white-space:nowrap;}
.nav-link.active,.nav-link:hover{color:#22f7c5;background:rgba(34,247,197,0.1)}
.nav-toggle{display:none;background:transparent;border:0;color:var(--muted);font-size:20px}

/* Sidebar menu styles */
/* Estilos del menú lateral */
.sidebar-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(4px);
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.sidebar-overlay.active {
  opacity: 1;
  visibility: visible;
}

.sidebar-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 85vw;
  max-width: 320px;
  height: 100vh;
  background: rgba(5, 7, 20, 0.98);
  backdrop-filter: blur(12px);
  border-right: 1px solid rgba(110, 231, 183, 0.15);
  z-index: 1000;
  padding-top: 0;
  transform: translateX(-100%);
  transition: transform 0.3s ease;
  overflow-y: hidden;
  display: flex;
  flex-direction: column;
  height: 100vh;
}

.sidebar-menu[aria-hidden="false"] {
  transform: translateX(0);
}

.sidebar-close {
  position: absolute;
  top: 20px;
  right: 20px;
  background: transparent;
  border: none;
  color: #e6eef8;
  font-size: 36px;
  cursor: pointer;
  padding: 0;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.2s ease;
  z-index: 102;
}

.sidebar-close:hover {
  color: #22f7c5;
}

.sidebar-title {
  color: #e6eef8;
  font-size: 22px;
  font-weight: 900;
  padding: 32px 24px 24px;
  margin: 0;
  border-bottom: 1px solid rgba(110, 231, 183, 0.1);
  letter-spacing: 1px;
}

.sidebar-nav {
  display: flex;
  flex-direction: column;
  list-style: none;
  padding: 0;
  margin: 0;
  flex: 1;
  justify-content: space-evenly;
  align-items: center;
  height: 100%;
}

.sidebar-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 18px 28px;
  color: #e6eef8;
  text-decoration: none;
  font-size: 22px;
  font-weight: 500;
  transition: all 0.2s ease;
  border-left: 4px solid transparent;
  text-align: center;
}

.sidebar-link:hover {
  background: rgba(34, 247, 197, 0.12);
  color: #22f7c5;
  border-left-color: #22f7c5;
  padding-left: 32px;
}

.sidebar-link:active {
  background: rgba(34, 247, 197, 0.18);
  color: #22f7c5;
}

/* Sidebar Profile Card */
.sidebar-profile {
  display: flex;
  gap: 16px;
  align-items: center;
  padding: 20px 24px;
  margin: 12px 0;
  border-top: 1px solid rgba(110, 231, 183, 0.1);
  border-bottom: 1px solid rgba(110, 231, 183, 0.1);
}

.sidebar-avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #3b82f6, #06b6d4);
  font-weight: 700;
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
}

.sidebar-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 50%;
}

.sidebar-avatar .fallback {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 18px;
}

.sidebar-info {
  flex: 1;
  min-width: 0;
}

.sidebar-name {
  color: #ffffff;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.2;
}

.sidebar-role {
  color: #ffffff;
  font-size: 17px;
  line-height: 1.2;
  margin-top: 4px;
  font-weight: 500;
}

.floating-card{position:fixed;right:40px;top:100px;background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));padding:12px;border-radius:12px;display:flex;gap:12px;align-items:center;box-shadow:0 12px 40px rgba(2,6,23,0.6);backdrop-filter:blur(6px);transition:opacity 0.4s ease, visibility 0.4s ease;opacity:1;visibility:visible}
.floating-card.scroll-hide{opacity:0;visibility:hidden}
.fp-avatar{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3b82f6,#06b6d4);font-weight:700;position:relative;overflow:hidden}
.fp-avatar img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}
.fp-avatar .fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:700}
.fp-name{font-weight:700}
.fp-role{font-size:13px;color:var(--muted)}

.hero{min-height:100vh;display:flex;align-items:center;padding-top:80px}
.hero-inner{display:flex;align-items:center;justify-content:space-between;max-width:1100px;margin:0 auto;padding:48px}
.hero-left{max-width:640px}
.hero-title{font-size:44px;margin:0}
.accent{color:var(--accent)}
.hero-sub{color:var(--muted);font-size:20px;margin:12px 0}
.hero-ctas{display:flex;gap:12px;margin-top:18px}

.cv-download{display:inline-flex;gap:8px;align-items:center;padding:8px 12px;border-radius:10px;background:linear-gradient(90deg,#fff,#f3f4f6);color:#04233a;font-weight:700;text-decoration:none}
.cv-download svg{opacity:0.95}
.cv-download:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(3,16,34,0.2)}
.cv-download:active{transform:translateY(1px)}
.cv-download span{font-size:14px}

.cv-inline{color:var(--accent);font-weight:700}

.profile-card{
  width:260px;
  height:360px;
  border-radius:20px;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, rgba(134, 94, 255, 0.22), rgba(0, 212, 255, 0.18));
  box-shadow:0 0 28px rgba(134, 94, 255, 0.35), 0 0 54px rgba(0, 212, 255, 0.28), 0 30px 80px rgba(2,6,23,0.6);
  border:2px solid rgba(134, 94, 255, 0.45);
}
.profile-photo{width:160px;height:160px;border-radius:50%;background:linear-gradient(135deg,#06b6d4,#3b82f6);box-shadow:0 14px 40px rgba(2,6,23,0.5);animation:none;position:relative;overflow:hidden}
.profile-photo img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}
.profile-deco{position:absolute;right:-24px;bottom:-24px;width:120px;height:120px;border-radius:20px;background:linear-gradient(90deg,rgba(110,231,183,0.06),transparent)}

@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}100%{transform:translateY(0)}}

.section{padding:80px 24px}
#CONTACT.section{padding:40px 24px 30px;margin-top:0}
#PROJECTS.section{padding-top:20px;padding-bottom:120px}
.container{max-width:1100px;margin:0 auto}

.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.project-card{background:linear-gradient(180deg, rgba(255,255,255,0.02), transparent);padding:18px;border-radius:14px;transition:transform .35s ease, box-shadow .35s ease;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between}
.project-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(2,6,23,0.65)}
.project-thumb{height:140px;border-radius:10px;background:linear-gradient(135deg,#06b6d4,#3b82f6);display:flex;align-items:center;justify-content:center;font-weight:700;color:#04233a}
.proj-link{display:inline-flex;margin-top:auto;width:100%;align-items:center;justify-content:center;color:#04233a;background:linear-gradient(90deg,#fff,#f3f4f6);padding:12px 16px;border-radius:10px;font-weight:700;font-size:16px;transition:transform .18s ease, box-shadow .18s ease}
.proj-link:hover{transform:translateY(-6px);box-shadow:0 14px 30px rgba(3,16,34,0.35)}

/* Center the Projects title */
/* Centrar el título de Proyectos */
#projects .container h2{ text-align:center; margin-bottom:18px; font-size:36px }

/* Center the Contact title */
/* Centrar el título de Contacto */
#contact .container h2{ text-align:center; margin-bottom:18px; font-size:36px }

/* Center and enlarge the About section title */
#about .container h2{ text-align:center; margin-bottom:18px; font-size:36px }

/* Make About, Stack, Experience, Projects, Contact titles larger + bold */
/* Hacer títulos (About, Stack, Experience, Projects, Contact) más grandes y en negritas */
/* Base box style for section titles */
#ABOUT\ Me h2,
#Stack h2,
#EXPERIENCE h2,
#PROJECTS h2,
#CONTACT h2 {
  text-align: center;
  margin-bottom: 18px;
  font-size: 36px;
  font-weight: 800;
  letter-spacing: 0.8px;
  padding: 10px 16px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 10px 24px rgba(2, 6, 23, 0.55);
}

/* Distinct colors per section */
#ABOUT\ Me h2 {
  background: linear-gradient(90deg, rgba(24, 90, 157, 0.9), rgba(0, 184, 212, 0.9), rgba(14, 116, 144, 0.9));
}

#Stack h2 {
  background: linear-gradient(90deg, rgba(67, 56, 202, 0.9), rgba(99, 102, 241, 0.9), rgba(124, 58, 237, 0.9));
}

/* Restore box style for Experiencia title */
#EXPERIENCE h2 {
  background: linear-gradient(90deg, rgba(139, 92, 246, 0.9), rgba(217, 70, 239, 0.9), rgba(236, 72, 153, 0.9));
  padding: 18px 48px 12px 48px;
  border-radius: 16px;
  box-shadow: 0 4px 24px 0 rgba(139, 92, 246, 0.15);
  display: inline-block;
  font-weight: 700;
}

#PROJECTS h2 {
  background: linear-gradient(90deg,
    rgba(91, 33, 182, 0.92) 0%,
    rgba(147, 51, 234, 0.92) 25%,
    rgba(236, 72, 153, 0.92) 50%,
    rgba(249, 115, 22, 0.92) 75%,
    rgba(234, 179, 8, 0.92) 100%
  );
  width: 100%;
  display: block;
  padding: 14px 20px;
  margin-top: -6px;
  font-size: 48px;
}

#CONTACT h2 {
  background: linear-gradient(90deg, rgba(234, 88, 12, 0.9), rgba(239, 68, 68, 0.9), rgba(245, 158, 11, 0.9));
}

/* Keep tools title centered (no box requested) */
#tools h2 {
  text-align: center;
  margin-bottom: 18px;
  font-size: 38px;
  font-weight: 800;
  letter-spacing: 1px;
}

#tools .lead {
  font-size: 20px;
  line-height: 1.7;
}

.docs-header{
  display:grid;
  grid-template-columns: 1fr auto 1fr;
  align-items:center;
  gap:16px;
  padding:14px 18px;
  margin:0 0 20px;
  border-radius:16px;
  background:linear-gradient(90deg,
    rgba(91, 33, 182, 0.92) 0%,
    rgba(147, 51, 234, 0.92) 25%,
    rgba(236, 72, 153, 0.92) 50%,
    rgba(249, 115, 22, 0.92) 75%,
    rgba(234, 179, 8, 0.92) 100%
  );
  border:1px solid rgba(255,255,255,0.08);
  box-shadow:0 14px 32px rgba(2,6,23,0.65);
  backdrop-filter: blur(8px);
}

.docs-header h2{
  margin:0;
  text-align:center;
  font-size:30px;
  font-weight:800;
  letter-spacing:0.4px;
  text-shadow:0 6px 18px rgba(2,6,23,0.7);
}

.docs-header #docs-expand-all{
  justify-self:start;
}

.docs-header #docs-collapse-all{
  justify-self:end;
}

.docs-header .docs-action{
  z-index:1;
}

.docs-wrap{display:flex;gap:24px;flex-wrap:wrap;margin-top:6px}
.docs-column{flex:1;min-width:260px}
.docs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px} 
/* Hide all cards after the 3rd when collapsed */
/* Oculta todas las tarjetas a partir de la 4 cuando está colapsado */
.docs-grid.collapsed .doc-card:nth-child(n+4){display:none} 
/* Needed for the gradient pseudo-element */
/* Necesario para el pseudo-elemento degradado */
.docs-grid.collapsed{position:relative} 
/* Remove bottom gradient to avoid dark lines */
/* Quitar degradado inferior para evitar líneas oscuras */
.docs-grid.collapsed::after{content:none} 
/* Vertically center buttons between columns */
/* Botones centrados verticalmente entre columnas */
.docs-controls{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:flex-start;margin:6px 8px 0} 
/* Styles for maximize/minimize button (now not absolute) */
/* Estilos para botón de maximizar/minimizar (ahora no absolute) */
.docs-toggle{position:static;right:auto;top:auto;background:linear-gradient(90deg,#fff,#f3f4f6);color:#031022;padding:6px 10px;border-radius:8px;border:0;font-weight:700;cursor:pointer;box-shadow:0 8px 20px rgba(2,6,23,0.18)}
.docs-toggle:focus{outline:2px solid rgba(110,231,183,0.16)}
.docs-column{position:relative}
/* Styles for document iframe */
/* estilos para iframe de documento */
.doc-embed-wrap iframe{width:100%;height:70vh;border-radius:8px}
.doc-card{background:linear-gradient(180deg, rgba(255,255,255,0.02), transparent);padding:18px;border-radius:14px;transition:transform .35s ease,box-shadow .35s ease;min-height:220px}
.doc-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(2,6,23,0.65)}
.doc-thumb{height:140px;border-radius:10px;background:linear-gradient(135deg,#f97316,#fb7185);display:flex;align-items:center;justify-content:center;font-weight:800;color:#031022;margin-bottom:12px}
.doc-thumb img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
.doc-card h4{margin:6px 0}
.doc-date{font-size:13px;color:var(--muted);margin:6px 0}
.doc-link{display:inline-flex;margin-top:auto;width:100%;align-items:center;justify-content:center;color:#04233a;background:linear-gradient(90deg,#fff,#f3f4f6);padding:12px 16px;border-radius:10px;font-weight:700;font-size:16px;transition:transform .18s ease, box-shadow .18s ease;text-decoration:none}
.docs-wrap a{text-decoration:none}
.doc-link:hover{transform:translateY(-6px);box-shadow:0 14px 30px rgba(3,16,34,0.35)}

/* From Uiverse.io by Yaya12085 */
/* De Uiverse.io por Yaya12085 */
.doc-link.button{
  width: fit-content;
  display: flex;
  padding: 1.2em 1rem;
  cursor: pointer;
  gap: 0.4rem;
  font-weight: bold;
  border-radius: 30px;
  text-shadow: 2px 2px 3px rgb(136 0 136 / 50%);
  background: linear-gradient(15deg, #880088, #aa2068, #cc3f47, #de6f3d, #f09f33, #de6f3d, #cc3f47, #aa2068, #880088) no-repeat;
  background-size: 300%;
  color: #fff;
  border: none;
  background-position: left center;
  box-shadow: 0 30px 10px -20px rgba(0,0,0,.2);
  transition: background .3s ease;
  text-decoration: none;
  margin: 10px auto 0;
}

.doc-link.button:hover{
  background-size: 320%;
  background-position: right center;
}

.doc-link.button:hover svg{
  fill: #fff;
}

.doc-link.button svg{
  width: 23px;
  fill: #f09f33;
  transition: .3s ease;
}

/* Hide floating card outside HOME */
/* Ocultar tarjeta flotante fuera de HOME */
.floating-card.is-hidden{opacity:0;pointer-events:none;transform:translateY(-12px);}

/* Center the docs section title */
#docs .container h2{ text-align:center; margin-bottom:18px; font-size:36px }

/* Style docs column subtitles */
.docs-column h3{
  font-size:28px;
  text-align:center;
  margin:0 0 16px;
  padding:10px 14px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,0.08);
  box-shadow:0 10px 24px rgba(2,6,23,0.55);
  color:#ffffff;
  text-shadow:0 4px 12px rgba(0,0,0,0.8), 0 0 2px rgba(0,0,0,0.95);
  -webkit-text-stroke: 0.6px rgba(0,0,0,0.6);
}

/* Distinct colors for Certificados/Diplomas subtitles */
.docs-column[data-which="certs"] h3{
  background:linear-gradient(90deg,
    rgba(16, 185, 129, 0.92) 0%,
    rgba(34, 197, 94, 0.92) 30%,
    rgba(132, 204, 22, 0.92) 60%,
    rgba(250, 204, 21, 0.92) 100%
  );
}

.docs-column[data-which="dips"] h3{
  background:linear-gradient(90deg, rgba(190, 24, 93, 0.9), rgba(225, 29, 72, 0.9), rgba(249, 115, 22, 0.9));
}

@media (max-width: 900px) {
  .docs-header{
    grid-template-columns: 1fr;
    gap:12px;
    text-align:center;
  }
  .docs-header h2{
    order: -1;
    font-size:26px;
  }
  .docs-header #docs-expand-all,
  .docs-header #docs-collapse-all{
    justify-self:center;
  }
}

/* Stack section styles (cards similar to attachment) */
/* Estilos de la sección Stack (tarjetas similares al adjunto) */
.stack-section .lead{
  max-width:900px;
  margin:0 auto 18px;
  text-align:center;
  font-size:20px;
  font-weight:700;
  padding:10px 16px;
  border-radius:12px;
  color:#ffffff;
  background:linear-gradient(90deg, rgba(2, 132, 199, 0.92), rgba(6, 182, 212, 0.92), rgba(16, 185, 129, 0.92));
  border:1px solid rgba(255,255,255,0.08);
  box-shadow:0 10px 24px rgba(2,6,23,0.55), 0 0 14px rgba(34,211,238,0.45);
  text-shadow:0 2px 8px rgba(0,0,0,0.6);
}
.stack-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:22px}
.stack-item{background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));padding:18px;border-radius:12px;display:flex;align-items:center;gap:18px;box-shadow:0 10px 30px rgba(2,6,23,0.6)}
.stack-icon{
  width:88px;
  height:88px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(90deg,#06b6d4,#3b82f6);
  color:#04233a;
  font-weight:800;
  font-size:14px;
  line-height:1.1;
  text-align:center;
  padding:6px;
  box-shadow:0 8px 24px rgba(6,182,212,0.08);
}
.stack-text h3{margin:0;font-size:18px}
.stack-text p{margin:4px 0 0;color:var(--muted)}

/* Shared section card (About/Stack/Experience) */
/* Tarjeta compartida de sección (About/Stack/Experience) */
.section-card{
  background:linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01));
  border:1px solid rgba(110,231,183,0.12);
  box-shadow:0 16px 40px rgba(2,6,23,0.55);
  border-radius:16px;
  padding:28px;
}

#ABOUT\ Me .section-card{
  background:linear-gradient(135deg, rgba(30, 58, 138, 0.35), rgba(15, 23, 42, 0.55));
  border:2px solid rgba(34, 211, 238, 0.45);
  box-shadow:
    0 0 22px rgba(34, 211, 238, 0.35),
    0 0 50px rgba(168, 85, 247, 0.25),
    0 16px 40px rgba(2,6,23,0.55);
}

#Stack .section-card{
  background:linear-gradient(135deg, rgba(249, 115, 22, 0.38), rgba(15, 23, 42, 0.6));
  border:2px solid rgba(250, 204, 21, 0.8);
  box-shadow:
    0 0 22px rgba(250, 204, 21, 0.6),
    0 0 55px rgba(251, 146, 60, 0.35),
    0 16px 40px rgba(2,6,23,0.55);
}

#ABOUT\ Me .section-card p{
  font-size:20px;
  line-height:1.75;
  letter-spacing:0.2px;
}

.about-extra{
  margin-top:28px;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
  gap:20px;
}
.about-block{
  background:rgba(2, 6, 23, 0.35);
  border:1px solid rgba(148, 163, 184, 0.18);
  border-radius:12px;
  padding:16px 18px;
  box-shadow:0 10px 26px rgba(2,6,23,0.45);
}
.about-block:nth-child(1){
  background:linear-gradient(135deg, rgba(30, 64, 175, 0.35), rgba(37, 99, 235, 0.18));
  border-color:rgba(59, 130, 246, 0.35);
}
.about-block:nth-child(2){
  background:linear-gradient(135deg, rgba(16, 185, 129, 0.3), rgba(20, 83, 45, 0.18));
  border-color:rgba(16, 185, 129, 0.35);
}
.about-block:nth-child(3){
  background:linear-gradient(135deg, rgba(168, 85, 247, 0.3), rgba(88, 28, 135, 0.18));
  border-color:rgba(168, 85, 247, 0.35);
}
.about-block h3{
  margin:0 0 12px;
  font-size:18px;
  letter-spacing:1px;
  font-weight:800;
}
.about-item{margin-bottom:14px;}
.about-title{font-weight:700;font-size:16px;color:#e6eef8;}
.about-sub{font-size:15px;color:#cbd5e1;margin-top:4px;}
.about-date{font-size:14px;color:#94a3b8;margin-top:4px;}
.education-block .about-sub{
  font-size:18px;
  font-weight:700;
  color:#e2e8f0;
}
.education-block .about-date{
  font-size:15px;
  font-weight:800;
  color:#ffffff;
}
.about-list{
  margin:0;
  padding-left:18px;
  color:#e2e8f0;
  line-height:1.7;
  font-size:16px;
}

.section-card .lead{max-width:900px;margin:0 auto 18px;text-align:center}

/* Experience section styles */
/* Estilos de la sección Experience */
.experience-section{
  padding-bottom:40px;
}
/* Restore summary to plain centered text */
/* Restore colored box for summary under Experiencia */
.experience-section .lead{
  max-width:900px;
  margin:0 auto 22px;
  text-align:center;
  background: linear-gradient(90deg, #2193b0 0%, #6dd5ed 100%);
  color: #fff;
  font-size: 1.35rem;
  font-weight: 700;
  box-shadow: 0 4px 24px 0 rgba(33, 147, 176, 0.15);
  border-radius: 14px;
  padding: 18px 24px 14px 24px;
  display: inline-block;
}

.experience-list{
  display:grid;
  grid-template-columns: 1fr;
  gap:22px;
  margin-top:22px;
  align-items:start;
}
.experience-item{
  background:linear-gradient(180deg, rgba(15, 23, 42, 0.9), rgba(2, 6, 23, 0.95));
  padding:24px;
  border-radius:14px;
  border:1px solid rgba(148, 163, 184, 0.2);
  box-shadow:0 18px 40px rgba(2,6,23,0.65), inset 0 1px 0 rgba(255,255,255,0.04);
  overflow-wrap:anywhere;
  position:relative;
}
.experience-item:nth-child(1){
  background:linear-gradient(135deg, rgba(30, 64, 175, 0.85), rgba(37, 99, 235, 0.55));
  box-shadow:0 12px 28px rgba(2,6,23,0.55), 0 0 18px rgba(59,130,246,0.45);
}
.experience-item:nth-child(2){
  background:linear-gradient(135deg, rgba(88, 28, 135, 0.85), rgba(147, 51, 234, 0.55));
  box-shadow:0 12px 28px rgba(2,6,23,0.55), 0 0 18px rgba(147,51,234,0.45);
}
.experience-item:nth-child(3){
  background:linear-gradient(135deg, rgba(185, 28, 28, 0.85), rgba(239, 68, 68, 0.55));
  box-shadow:0 12px 28px rgba(2,6,23,0.55), 0 0 18px rgba(239,68,68,0.45);
}
.experience-item:nth-child(4){
  background:linear-gradient(135deg, rgba(15, 23, 42, 0.95), rgba(30, 41, 59, 0.95));
  box-shadow:0 12px 28px rgba(2,6,23,0.65), 0 0 12px rgba(59,130,246,0.25);
}
.experience-item::before{
  content:none;
}
.exp-card{
  padding-left:36px;
}
.exp-header h3{
  margin:0 0 6px;
  font-size:24px;
  font-weight:800;
  color:#f8fafc;
}
.exp-sub{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  font-size:16px;
  color:#94f7d0;
  font-weight:700;
}
.exp-company{color:#34d399}
.exp-date{color:#e2e8f0}
.exp-list{
  margin:14px 0 16px 18px;
  color:#cbd5e1;
  line-height:1.7;
  font-size:18px;
}
.exp-list li{margin:8px 0}
.exp-tags{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.exp-tag{
  padding:6px 12px;
  border-radius:999px;
  border:1px solid rgba(56, 189, 248, 0.75);
  color:#7dd3fc;
  background:linear-gradient(90deg, rgba(15, 23, 42, 0.6), rgba(30, 41, 59, 0.6));
  font-size:14px;
  font-weight:700;
  box-shadow:0 6px 18px rgba(59, 130, 246, 0.25);
}

/* Small Tools section */
/* Sección pequeña de Tools */
#tools .lead{max-width:880px;margin:0 auto;text-align:center}


.contact-list{list-style:none;padding:0;color:var(--muted)}
.contact-list a{color:var(--accent)}

/* Neon box style for Contact section */
/* Estilo de caja neón para la sección Contact */
.neon-box{
  border:3px solid;
  border-image: linear-gradient(90deg, #00d4ff, #ff00ff, #00d4ff) 1;
  padding:40px;
  border-radius:12px;
  background:linear-gradient(135deg, rgba(0,212,255,0.03), rgba(255,0,255,0.03));
  box-shadow:
    0 0 20px rgba(0,212,255,0.5),
    0 0 40px rgba(255,0,255,0.3),
    inset 0 0 20px rgba(0,212,255,0.1);
  max-width:600px;
  margin:40px auto;
}

.site-footer {
  background: linear-gradient(135deg, rgba(5, 7, 20, 0.95) 0%, rgba(15, 23, 36, 0.95) 100%);
  border-top: 1px solid rgba(110, 231, 183, 0.15);
  padding: 64px 24px 24px;
  color: var(--muted);
  margin-top: 0;
}

.footer-container {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 48px;
  text-align: center;
}

.footer-left {
  text-align: left;
}

.footer-logo {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, #3b82f6, #06b6d4);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 18px;
  color: #ffffff;
  margin-bottom: 12px;
}

.footer-title {
  color: #ffffff;
  font-weight: 700;
  font-size: 18px;
  margin: 8px 0;
  line-height: 1.3;
}

.footer-subtitle {
  color: #22f7c5;
  font-size: 20px;
  margin: 4px 0 0 0;
  font-weight: 500;
}

.footer-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.footer-section-title {
  color: #e6eef8;
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 16px 0;
  letter-spacing: 0.5px;
}

.footer-socials {
  display: flex;
  gap: 16px;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.footer-social-link {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  background: rgba(34, 247, 197, 0.08);
  color: #22f7c5;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  text-decoration: none;
  border: 1px solid rgba(34, 247, 197, 0.2);
}
.footer-social-link.email{color:#22f7c5;border-color:rgba(34, 247, 197, 0.2);background:rgba(34, 247, 197, 0.08)}
.footer-social-link.linkedin{color:#0ea5e9;border-color:rgba(14,165,233,0.35);background:rgba(14,165,233,0.08)}
.footer-social-link.github{color:#0f172a;border-color:rgba(226,232,240,0.9);background:#ffffff}
.footer-social-link.x{color:#e2e8f0;border-color:rgba(148,163,184,0.35);background:rgba(148,163,184,0.08)}

.footer-social-link:hover {
  background: rgba(34, 247, 197, 0.15);
  color: #ffffff;
  border-color: #22f7c5;
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(34, 247, 197, 0.2);
}
.footer-social-link.email:hover{box-shadow:0 8px 24px rgba(0,120,212,0.25);border-color:#0078d4}
.footer-social-link.linkedin:hover{box-shadow:0 8px 24px rgba(14,165,233,0.25);border-color:#0ea5e9}
.footer-social-link.github:hover{box-shadow:0 8px 24px rgba(34,197,94,0.35);border-color:#22c55e}
.footer-social-link.x:hover{box-shadow:0 8px 24px rgba(148,163,184,0.25);border-color:#e2e8f0}

.footer-right {
  text-align: right;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.footer-copy {
  color: #e6eef8;
  font-weight: 700;
  font-size: 16px;
  margin: 0 0 8px 0;
}

.footer-badges {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.footer-badge {
  color: #22f7c5;
  font-size: 18px;
  font-weight: 600;
  background: rgba(34, 247, 197, 0.1);
  padding: 8px 18px;
  border-radius: 20px;
  border: 1px solid rgba(34, 247, 197, 0.3);
  display: inline-block;
}

.footer-note {
  color: #22f7c5;
  font-size: 13px;
  margin: 0;
  font-weight: 500;
}

@media (max-width: 900px) {
  .footer-container {
    grid-template-columns: 1fr;
    gap: 32px;
    text-align: center;
  }
  
  .footer-left {
    text-align: center;
  }
  
  .footer-right {
    text-align: center;
  }
}

/* Modal */
.modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(2,6,23,0.6);opacity:0;pointer-events:none;transition:opacity .28s ease;z-index:80}
.modal[aria-hidden="false"]{opacity:1;pointer-events:auto}
.modal-panel{background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));padding:22px;border-radius:14px;max-width:720px;width:92%;box-shadow:0 30px 80px rgba(2,6,23,0.7);transform:translateY(20px);transition:transform .32s cubic-bezier(.2,.9,.3,1)}
.modal[aria-hidden="false"] .modal-panel{transform:none}
.modal-close{position:absolute;right:18px;top:12px;border:0;background:transparent;color:var(--muted);font-size:26px}
.modal-body{padding-top:6px}
.modal-thumb{height:220px;background:linear-gradient(135deg,#06b6d4,#3b82f6);border-radius:8px;margin:12px 0 8px;display:flex;align-items:center;justify-content:center;color:#e6eef8;font-weight:700;font-size:24px;background:linear-gradient(135deg,#06b6d4,#3b82f6);box-shadow:0 8px 20px rgba(2,6,23,0.4)}

/* Buttons: ripple */
.btn{position:relative;overflow:hidden;border:0;padding:10px 16px;border-radius:12px;font-weight:700;cursor:pointer}
.btn:focus{outline:2px solid rgba(255,255,255,0.06);outline-offset:2px}
.btn-primary{background:linear-gradient(90deg,var(--accent),#60a5fa);color:#031022;box-shadow:0 10px 30px rgba(99,102,241,0.12)}
.btn-outline{background:transparent;border:1px solid rgba(255,255,255,0.06);color:var(--muted)}
.ripple{position:absolute;border-radius:50%;transform:scale(0);background:rgba(255,255,255,0.18);animation:ripple 700ms linear}
@keyframes ripple{to{transform:scale(6);opacity:0}}

@media (max-width:900px){
    .hero-inner{flex-direction:column;gap:24px;padding:20px}
    .hero-right{
  position:relative;
  display:flex;
  justify-content:center;
  overflow:hidden;
  background:linear-gradient(135deg, rgba(5,5,10,0.95), rgba(11,28,45,0.95));
  border-radius:20px;
  padding:40px;
  min-height:500px;
      margin-left:-200px;
}

/* Animated space background with stars */
.hero-right::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:
    radial-gradient(1px 1px at 10% 10%, white, transparent),
    radial-gradient(1px 1px at 20% 30%, white, transparent),
    radial-gradient(1px 1px at 30% 15%, white, transparent),
    radial-gradient(1px 1px at 50% 50%, white, transparent),
    radial-gradient(1px 1px at 70% 20%, white, transparent),
    radial-gradient(1px 1px at 80% 70%, white, transparent),
    radial-gradient(1px 1px at 40% 80%, white, transparent),
    radial-gradient(1px 1px at 90% 40%, white, transparent);
  background-size:200% 200%;
  animation:starfield 15s linear infinite;
  z-index:1;
  opacity:0.7;
}

/* Multiple shooting stars */
.hero-right .shooting-star{
  position:absolute;
  width:150px;
  height:2px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,0.8), transparent);
  z-index:2;
  box-shadow:0 0 15px rgba(255,255,255,0.6);
}

.shooting-star-1{
  top:20%;
  animation:shootingStar1 4s linear infinite;
}

.shooting-star-2{
  top:40%;
  animation:shootingStar2 5s linear infinite 1.5s;
}

.shooting-star-3{
  top:60%;
  animation:shootingStar3 4.5s linear infinite 2.5s;
}

/* Spaceships (simple triangles with animation) */
.spaceship{
  position:absolute;
  width:0;
  height:0;
  border-left:12px solid transparent;
  border-right:12px solid transparent;
  border-bottom:20px solid rgba(110,231,183,0.7);
  z-index:3;
  filter:drop-shadow(0 0 8px rgba(110,231,183,0.5));
}

.spaceship-1{
  top:25%;
  animation:shipTravel 8s linear infinite;
}

.spaceship-2{
  top:65%;
  animation:shipTravel 10s linear infinite 2s;
}

.spaceship-3{
  top:45%;
  animation:shipTravel 9s linear infinite 4s;
}

@keyframes starfield{
  0%{background-position:0 0}
  100%{background-position:200% 200%}
}

@keyframes shootingStar1{
  0%{left:-150px; opacity:0}
  10%{opacity:1}
  90%{opacity:1}
  100%{left:100%; opacity:0}
}

@keyframes shootingStar2{
  0%{right:-150px; opacity:0}
  10%{opacity:1}
  90%{opacity:1}
  100%{right:100%; opacity:0}
}

@keyframes shootingStar3{
  0%{left:-150px; opacity:0}
  10%{opacity:1}
  90%{opacity:1}
  100%{left:100%; opacity:0}
}

@keyframes shipTravel{
  0%{left:-50px; opacity:0}
  5%{opacity:1}
  95%{opacity:1}
  100%{left:100%; opacity:0}
}
    .floating-card{display:none}
    .nav-toggle{display:block}
    .nav{display:none}
}

:root{
    --bg:#0f1020;
    --card:#0f1724;
    --accent:#6EE7B7;
    --muted:#94a3b8;
    --glass: rgba(255,255,255,0.04);
    --glass-2: rgba(255,255,255,0.02);
    --radius:16px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
    margin:0;
    font-family:Inter, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
    background: radial-gradient(1200px 600px at 10% 10%, rgba(110,231,183,0.06), transparent 10%),
                radial-gradient(900px 500px at 90% 90%, rgba(79,70,229,0.04), transparent 10%),
                var(--bg);
    color:#e6eef8;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}
.site-header{
  position:fixed;left:0;right:0;top:0;height:64px;
  background:rgba(5, 7, 20, 0.92);backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:space-between;padding:0 24px;
  z-index:100;box-shadow:0 8px 24px rgba(2,6,23,0.6)
}
.brand{font-weight:700;letter-spacing:0.6px}
.nav a{color:#e6eef8;text-decoration:none;margin-left:18px}
.nav a:hover{color:#22f7c5;background:rgba(34,247,197,0.1)}

/* Nav toggle (mobile) */
.nav-toggle{display:none;background:transparent;border:0;color:var(--muted);font-size:22px;padding:8px;border-radius:8px}
.nav-toggle:focus{outline:2px solid rgba(110,231,183,0.18)}



.hero{padding:36px 24px 12px}
.hero-container{display:flex;justify-content:center}
.card-3d{
    width:340px;height:420px;perspective:1400px;cursor:grab
}
.card-3d:active{cursor:grabbing}
.card-face{position:relative;width:100%;height:100%;border-radius:var(--radius);transform-style:preserve-3d;
    transition:transform 600ms cubic-bezier(.2,.9,.3,1), box-shadow 300ms;box-shadow:0 10px 30px rgba(2,6,23,0.6);
    background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
    display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px;
}
.card-front{background:linear-gradient(135deg, rgba(30,41,59,0.6), rgba(2,6,23,0.6));backface-visibility:hidden}
.card-back{position:absolute;top:0;left:0;backface-visibility:hidden;transform:rotateY(180deg);padding:28px}

.avatar{width:96px;height:96px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;
.avatar{width:96px;height:96px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;position:relative;overflow:hidden;
    background:linear-gradient(135deg,#3b82f6,#06b6d4);color:white;font-size:28px;box-shadow:0 6px 30px rgba(2,6,23,0.6)}
.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;transform-origin:center center;animation:float 6s ease-in-out infinite}
.avatar-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:700}

@keyframes float{0%{transform:translateY(0) rotateZ(0)}50%{transform:translateY(-8px) rotateZ(1deg)}100%{transform:translateY(0) rotateZ(0)}}
.name{margin:14px 0 4px;font-size:20px}
.role{color:var(--muted);margin:0 0 18px}
.cta{display:flex;gap:12px}
.btn{border:0;padding:10px 16px;border-radius:12px;font-weight:600;background:var(--glass);color:var(--accent);backdrop-filter:blur(6px);transition:transform .18s ease, box-shadow .18s ease}
.btn:active{transform:translateY(1px)}
.btn-primary{background:linear-gradient(90deg,var(--accent),#60a5fa);color:#031022;box-shadow:0 8px 30px rgba(99,102,241,0.12)}
.btn-ghost{border:1px solid rgba(255,255,255,0.06);background:transparent}
.btn:hover{transform:translateY(-6px)}

.panel{padding:34px 24px;max-width:1100px;margin:18px auto;background:transparent}
.panel h2{margin:0 0 12px}
.lead{color:var(--muted);max-width:780px}

/* About description larger for readability */
#about .container p,
#about .container .lead {
    font-size:24px;
    line-height:1.9;
    max-width:920px;
    margin:0 auto;
    color:var(--muted);
}

.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.skill{background:var(--glass-2);padding:12px;border-radius:12px}
.skill-name{font-weight:600;margin-bottom:8px}
.skill-bar{height:10px;background:rgba(255,255,255,0.03);border-radius:999px;overflow:hidden}
.skill-fill{height:100%;background:linear-gradient(90deg,var(--accent),#60a5fa);width:var(--w);transition:width 900ms cubic-bezier(.2,.9,.3,1)}

.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.project-card{background:linear-gradient(180deg, rgba(255,255,255,0.02), transparent);padding:18px;border-radius:14px;transition:transform .35s ease, box-shadow .35s ease;cursor:pointer}
.project-card{will-change:transform}
.project-card:focus,.project-card:hover{transform:translateY(-10px) rotateX(3deg);box-shadow:0 18px 40px rgba(2,6,23,0.6)}
.project-thumb{height:120px;border-radius:10px;background:linear-gradient(135deg,#06b6d4,#3b82f6);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:22px;color:#04233a}
.proj-link{display:inline-block;margin-top:12px;color:var(--accent)}

.hobbies{display:flex;flex-wrap:wrap;gap:12px}
.hobby{background:var(--glass);padding:10px 14px;border-radius:999px;color:var(--muted)}

.contact-panel .contact-form{display:grid;gap:10px;max-width:520px}
.contact-form input,.contact-form textarea{padding:12px;border-radius:10px;border:1px solid rgba(255,255,255,0.04);background:transparent;color:inherit}
.socials a{margin-right:10px;color:var(--muted)}

/* Modal */
.modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(2,6,23,0.6);backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .28s ease;z-index:80}
.modal[aria-hidden="false"]{opacity:1;pointer-events:auto}
.modal-panel{background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));padding:22px;border-radius:14px;max-width:720px;width:92%;box-shadow:0 30px 80px rgba(2,6,23,0.7);transform:translateY(20px);transition:transform .32s cubic-bezier(.2,.9,.3,1)}
.modal[aria-hidden="false"] .modal-panel{transform:none}
.modal-close{position:absolute;right:18px;top:12px;border:0;background:transparent;color:var(--muted);font-size:26px}
.modal-body{padding-top:6px}
.modal-thumb{height:220px;background:linear-gradient(135deg,#06b6d4,#3b82f6);border-radius:8px;margin:12px 0 8px;display:flex;align-items:center;justify-content:center;color:#e6eef8;font-weight:700;background:linear-gradient(135deg,#06b6d4,#3b82f6);box-shadow:0 8px 20px rgba(2,6,23,0.4)}

/* Buttons: ripple */
.btn{position:relative;overflow:hidden;border:0;padding:10px 16px;border-radius:12px;font-weight:700;cursor:pointer}
.btn:focus{outline:2px solid rgba(255,255,255,0.06);outline-offset:2px}
.btn-primary{background:linear-gradient(90deg,var(--accent),#60a5fa);color:#031022;box-shadow:0 8px 30px rgba(99,102,241,0.12)}
.btn-outline{background:transparent;border:1px solid rgba(255,255,255,0.06);color:var(--muted)}
.ripple{position:absolute;border-radius:50%;transform:scale(0);background:rgba(255,255,255,0.18);animation:ripple 700ms linear}
@keyframes ripple{to{transform:scale(6);opacity:0}}

@media (max-width:900px){
    .card-3d{width:300px;height:380px}
    .nav{display:none}
    .nav-toggle{display:block}
    .nav.mobile-open{position:fixed;top:64px;left:10px;right:10px;background:linear-gradient(180deg, rgba(2,6,23,0.9), rgba(2,6,23,0.95));padding:12px;border-radius:12px;display:flex;flex-direction:column;gap:8px;z-index:60}
    .nav.mobile-open a{margin:0;padding:8px;border-radius:8px}
    .hero{padding-top:18px}
}

.muted{color:var(--muted);font-size:13px}

/* Fancy button styles inspired by modern UI kits */
.btn{
    position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:8px;justify-content:center;
}
.btn::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg, rgba(255,255,255,0.03), transparent);opacity:0;transition:opacity .28s}
.btn:hover::after{opacity:1}
.btn--glow{box-shadow:0 6px 24px rgba(110,231,183,0.08), inset 0 -2px 8px rgba(255,255,255,0.02)}
.btn-ghost{border:1px solid rgba(255,255,255,0.06);background:transparent}
.btn-primary{background:linear-gradient(90deg,var(--accent),#60a5fa);color:#031022;box-shadow:0 8px 30px rgba(99,102,241,0.12);transform:translateZ(0)}
.btn:active{transform:translateY(1px) scale(.995)}
.btn:focus{outline:2px solid rgba(255,255,255,0.06);outline-offset:2px}

/* Animated 'Ver' button variant */
.proj-link{display:inline-block;margin-top:12px;color:#04233a;background:linear-gradient(90deg,#fff,#f3f4f6);padding:8px 12px;border-radius:10px;font-weight:700;transition:transform .18s ease, box-shadow .18s ease}
.proj-link:hover{transform:translateY(-6px);box-shadow:0 14px 30px rgba(3,16,34,0.35)}


/* small reveal */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease, transform .6s ease}
.reveal.show{opacity:1;transform:none}

/* Space scene: background image, moving stars and shooting comets */
.hero{min-height:100vh;display:flex;align-items:center;padding-top:80px;position:relative;overflow:hidden}
.space-scene{position:absolute;inset:0;pointer-events:none;z-index:0}
.space-scene .stars{position:absolute;inset:0;background-image:radial-gradient(1px 1px at 10% 20%, rgba(255,255,255,0.9) 0, transparent 60%),
                                                                                         radial-gradient(1px 1px at 30% 40%, rgba(255,255,255,0.85) 0, transparent 60%),
                                                                                         radial-gradient(1px 1px at 70% 10%, rgba(255,255,255,0.75) 0, transparent 60%),
                                                                                         radial-gradient(1px 1px at 80% 70%, rgba(255,255,255,0.6) 0, transparent 60%);
        background-size: 120% 120%;opacity:0.85;animation: driftStars 60s linear infinite;filter:blur(0.3px)
}

@keyframes driftStars{from{transform:translateY(0) translateX(0)}to{transform:translateY(-120px) translateX(-80px)}}

/* Comet styling: thin tail + bright head, multiple instances with different timings */
.comet{position:absolute;left:-20%;top:10%;width:2px;height:120px;border-radius:50px;background:linear-gradient(180deg, rgba(255,255,255,1), rgba(110,231,183,0.05));transform:rotate(25deg);box-shadow:0 0 12px rgba(255,255,255,0.85);opacity:0;filter:blur(0.6px)}
.comet::after{content:'';position:absolute;right:-6px;top:-6px;width:12px;height:12px;background:radial-gradient(circle, #fff 0%, rgba(110,231,183,0.95) 45%, rgba(110,231,183,0.2) 100%);border-radius:50%;box-shadow:0 0 18px rgba(110,231,183,0.9)}

.comet-1{top:20%;animation:shoot 3.2s linear 1s infinite}
.comet-2{top:40%;animation:shoot 3.6s linear 3s infinite 1.5s}
.comet-3{top:60%;animation:shoot 4s linear 5s infinite 2.5s}

@keyframes shoot{
    0%{transform:translateX(-10vw) translateY(0) rotate(25deg);opacity:0}
    5%{opacity:1}
    50%{transform:translateX(120vw) translateY(-40vh) rotate(34deg);opacity:1}
    100%{transform:translateX(220vw) translateY(-80vh) rotate(50deg);opacity:0}
}

/* Ensure scene sits behind the profile card */
.hero-right .profile-card{position:relative;z-index:2}

/* Replace profile-photo gradient with user photo (place imagen at imagenes_yo/yo.jpg) */
.profile-photo{background-image: url("imagenes_yo/yo.jpg") !important;background-size:cover;background-position:center;background-repeat:no-repeat}

/* Slight tint overlay for readability when background image used */
.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg, rgba(2,6,23,0.45), rgba(2,6,23,0.55));z-index:1;pointer-events:none}

}
/* Iconos sociales */
/* Social Icons */
.social-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  border-radius:12px;
  background:linear-gradient(135deg, rgba(110,231,183,0.1), rgba(110,231,183,0.05));
  color:var(--accent);
  border:1px solid rgba(110,231,183,0.2);
  transition:all .3s ease;
  text-decoration:none;
}
.social-icon.email{color:var(--accent);border-color:rgba(110,231,183,0.2);background:linear-gradient(135deg, rgba(110,231,183,0.1), rgba(110,231,183,0.05));}
.social-icon.linkedin{color:#0ea5e9;border-color:rgba(14,165,233,0.35);background:linear-gradient(135deg, rgba(14,165,233,0.2), rgba(30,64,175,0.08));}
.social-icon.github{color:#0f172a;border-color:rgba(226,232,240,0.9);background:linear-gradient(135deg, #ffffff, #f1f5f9);}
.social-icon:hover{
  transform:translateY(-6px);
  box-shadow:0 12px 30px rgba(110,231,183,0.15);
  background:linear-gradient(135deg, rgba(110,231,183,0.2), rgba(110,231,183,0.1));
  border-color:rgba(110,231,183,0.4);
}
.social-icon.email:hover{box-shadow:0 12px 30px rgba(110,231,183,0.15);border-color:rgba(110,231,183,0.4)}
.social-icon.linkedin:hover{box-shadow:0 12px 30px rgba(14,165,233,0.25);border-color:rgba(14,165,233,0.6)}
.social-icon.github:hover{box-shadow:0 12px 30px rgba(34,197,94,0.35);border-color:rgba(34,197,94,0.7)}
.social-icon:active{
  transform:translateY(-2px)
}
.social-icon svg{
  width:24px;
  height:24px;
}

/* From Uiverse.io by ilkhoeri - 3D Rotating Carousel */
/* De Uiverse.io por ilkhoeri - Carrusel 3D giratorio */
.wrapper {
  width: 100%;
  height: 460px;
  position: relative;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  margin-top: -60px;
  margin-bottom: 40px;
}

.inner {
  --w: 120px;
  --h: 150px;
  --translateZ: 210px;
  --rotateX: -15deg;
  --perspective: 1200px;
  position: absolute;
  width: var(--w);
  height: var(--h);
  z-index: 2;
  transform-style: preserve-3d;
  transform: perspective(var(--perspective));
  animation: rotating 20s linear infinite;
}

@keyframes rotating {
  from {
    transform: perspective(var(--perspective)) rotateX(var(--rotateX)) rotateY(0);
  }
  to {
    transform: perspective(var(--perspective)) rotateX(var(--rotateX)) rotateY(1turn);
  }
}

.card {
  position: absolute;
  width: 100%;
  height: 100%;
  border: 3px solid rgba(var(--color-card), 0.8);
  border-radius: 12px;
  overflow: hidden;
  inset: 0;
  transform: rotateY(calc((360deg / var(--quantity)) * var(--index))) translateZ(var(--translateZ));
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: #031022;
  font-size: 14px;
}

.card .img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  background-size: cover;
  background-position: center;
  background: radial-gradient(circle, rgba(var(--color-card), 0.3) 0%, rgba(var(--color-card), 0.7) 80%, rgba(var(--color-card), 0.9) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  text-align: center;
  font-size: 12px;
}

.carousel-project {
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.carousel-project:hover {
  box-shadow: 0 0 30px rgba(var(--color-card), 0.6);
  filter: brightness(1.1);
}


/* From Uiverse.io by JkHuger - Astronaut Animation */
/* De Uiverse.io por JkHuger - Animación de astronauta */
@keyframes snow {
  0% {
    opacity: 0;
    transform: translateY(0px);
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(650px);
  }
}

@keyframes astronaut {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.box-of-star1,
.box-of-star2,
.box-of-star3,
.box-of-star4 {
  width: 100%;
  position: absolute;
  z-index: 10;
  left: 0;
  top: 0;
  transform: translateY(0px);
  height: 700px;
}

.box-of-star1 {
  animation: snow 5s linear infinite;
}

.box-of-star2 {
  animation: snow 5s -1.64s linear infinite;
}

.box-of-star3 {
  animation: snow 5s -2.30s linear infinite;
}

.box-of-star4 {
  animation: snow 5s -3.30s linear infinite;
}

.star {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background-color: #FFF;
  position: absolute;
  z-index: 10;
  opacity: 0.7;
}

.star:before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #FFF;
  position: absolute;
  z-index: 10;
  top: 80px;
  left: 70px;
  opacity: .7;
}

.star:after {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #FFF;
  position: absolute;
  z-index: 10;
  top: 8px;
  left: 170px;
  opacity: .9;
}

.star-position1 {
  top: 30px;
  left: 20px;
}

.star-position2 {
  top: 110px;
  left: 250px;
}

.star-position3 {
  top: 60px;
  left: 570px;
}

.star-position4 {
  top: 120px;
  left: 900px;
}

.star-position5 {
  top: 20px;
  left: 1120px;
}

.star-position6 {
  top: 90px;
  left: 1280px;
}

.star-position7 {
  top: 30px;
  left: 1480px;
}

.astronaut {
  width: 80px;
  height: 110px;
  position: absolute;
  z-index: 11;
  right: 150px;
  top: 50%;
  transform: translateY(-50%) scale(0.4);
  transform-origin: center;
  animation: astronaut 5s linear infinite;
}

.schoolbag {
  width: 100px;
  height: 150px;
  position: absolute;
  z-index: 1;
  top: calc(50% - 75px);
  left: calc(50% - 50px);
  background-color: #94b7ca;
  border-radius: 50px 50px 0 0 / 30px 30px 0 0;
}

.head {
  width: 97px;
  height: 80px;
  position: absolute;
  z-index: 3;
  background: -webkit-linear-gradient(left, #e3e8eb 0%, #e3e8eb 50%, #fbfdfa 50%, #fbfdfa 100%);
  border-radius: 50%;
  top: 34px;
  left: calc(50% - 47.5px);
}

.head:after {
  content: "";
  width: 60px;
  height: 50px;
  position: absolute;
  top: calc(50% - 25px);
  left: calc(50% - 30px);
  background: -webkit-linear-gradient(top, #15aece 0%, #15aece 50%, #0391bf 50%, #0391bf 100%);
  border-radius: 15px;
}

.head:before {
  content: "";
  width: 12px;
  height: 25px;
  position: absolute;
  top: calc(50% - 12.5px);
  left: -4px;
  background-color: #618095;
  border-radius: 5px;
  box-shadow: 92px 0px 0px #618095;
}

.body {
  width: 85px;
  height: 100px;
  position: absolute;
  z-index: 2;
  background-color: #fffbff;
  border-radius: 40px / 20px;
  top: 105px;
  left: calc(50% - 41px);
  background: -webkit-linear-gradient(left, #e3e8eb 0%, #e3e8eb 50%, #fbfdfa 50%, #fbfdfa 100%);
}

.panel {
  width: 60px;
  height: 40px;
  position: absolute;
  top: 20px;
  left: calc(50% - 30px);
  background-color: #b7cceb;
}

.panel:before {
  content: "";
  width: 30px;
  height: 5px;
  position: absolute;
  top: 9px;
  left: 7px;
  background-color: #fbfdfa;
  box-shadow: 0px 9px 0px #fbfdfa, 0px 18px 0px #fbfdfa;
}

.panel:after {
  content: "";
  width: 8px;
  height: 8px;
  position: absolute;
  top: 9px;
  right: 7px;
  background-color: #fbfdfa;
  border-radius: 50%;
  box-shadow: 0px 14px 0px 2px #fbfdfa;
}

.arm {
  width: 80px;
  height: 30px;
  position: absolute;
  top: 121px;
  z-index: 2;
}

.arm-left {
  left: 30px;
  background-color: #e3e8eb;
  border-radius: 0 0 0 39px;
}

.arm-right {
  right: 30px;
  background-color: #fbfdfa;
  border-radius: 0 0 39px 0;
}

.arm-left:before,
.arm-right:before {
  content: "";
  width: 30px;
  height: 70px;
  position: absolute;
  top: -40px;
}

.arm-left:before {
  border-radius: 50px 50px 0px 120px / 50px 50px 0 110px;
  left: 0;
  background-color: #e3e8eb;
}

.arm-right:before {
  border-radius: 50px 50px 120px 0 / 50px 50px 110px 0;
  right: 0;
  background-color: #fbfdfa;
}

.arm-left:after,
.arm-right:after {
  content: "";
  width: 30px;
  height: 10px;
  position: absolute;
  top: -24px;
}

.arm-left:after {
  background-color: #6e91a4;
  left: 0;
}

.arm-right:after {
  right: 0;
  background-color: #b6d2e0;
}

.leg {
  width: 30px;
  height: 40px;
  position: absolute;
  z-index: 2;
  bottom: 70px;
}

.leg-left {
  left: 76px;
  background-color: #e3e8eb;
  transform: rotate(20deg);
}

.leg-right {
  right: 73px;
  background-color: #fbfdfa;
  transform: rotate(-20deg);
}

.leg-left:before,
.leg-right:before {
  content: "";
  width: 50px;
  height: 25px;
  position: absolute;
  bottom: -26px;
}

.leg-left:before {
  left: -20px;
  background-color: #e3e8eb;
  border-radius: 30px 0 0 0;
  border-bottom: 10px solid #6d96ac;
}

.leg-right:before {
  right: -20px;
  background-color: #fbfdfa;
  border-radius: 0 30px 0 0;
  border-bottom: 10px solid #b0cfe4;
}

/* From Uiverse.io by StealthWorm */
/* De Uiverse.io por StealthWorm */
.space-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 13rem;
  overflow: hidden;
  height: 3rem;
  background-size: 300% 300%;
  cursor: pointer;
  backdrop-filter: blur(1rem);
  border-radius: 5rem;
  transition: 0.5s;
  animation: gradient_301 5s ease infinite;
  border: double 4px transparent;
  background-image: linear-gradient(#212121, #212121),
    linear-gradient(
      137.48deg,
      #ffdb3b 10%,
      #fe53bb 45%,
      #8f51ea 67%,
      #0044ff 87%
    );
  background-origin: border-box;
  background-clip: content-box, border-box;
  position: relative;
  text-decoration: none;
}

.space-btn #container-stars {
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  overflow: hidden;
  transition: 0.5s;
  backdrop-filter: blur(1rem);
  border-radius: 5rem;
}

.space-btn strong {
  z-index: 2;
  font-family: "Avalors Personal Use";
  font-size: 12px;
  letter-spacing: 5px;
  color: #ffffff;
  text-shadow: 0 0 4px white;
}

.space-btn #glow {
  position: absolute;
  display: flex;
  width: 12rem;
}

.space-btn .circle {
  width: 100%;
  height: 30px;
  filter: blur(2rem);
  animation: pulse_3011 4s infinite;
  z-index: -1;
}

.space-btn .circle:nth-of-type(1) {
  background: rgba(254, 83, 186, 0.636);
}

.space-btn .circle:nth-of-type(2) {
  background: rgba(142, 81, 234, 0.704);
}

.space-btn:hover #container-stars {
  z-index: 1;
  background-color: #212121;
}

.space-btn:hover {
  transform: scale(1.1);
}

.space-btn:active {
  border: double 4px #fe53bb;
  background-origin: border-box;
  background-clip: content-box, border-box;
  animation: none;
}

.space-btn:active .circle {
  background: #fe53bb;
}

.space-btn #stars {
  position: relative;
  background: transparent;
  width: 200rem;
  height: 200rem;
}

.space-btn #stars::after {
  content: "";
  position: absolute;
  top: -10rem;
  left: -100rem;
  width: 100%;
  height: 100%;
  animation: animStarRotate 90s linear infinite;
  background-image: radial-gradient(#ffffff 1px, transparent 1%);
  background-size: 50px 50px;
}

.space-btn #stars::before {
  content: "";
  position: absolute;
  top: 0;
  left: -50%;
  width: 170%;
  height: 500%;
  animation: animStar 60s linear infinite;
  background-image: radial-gradient(#ffffff 1px, transparent 1%);
  background-size: 50px 50px;
  opacity: 0.5;
}

@keyframes animStar {
  from {
    transform: translateY(0);
  }

  to {
    transform: translateY(-135rem);
  }
}

@keyframes animStarRotate {
  from {
    transform: rotate(360deg);
  }

  to {
    transform: rotate(0);
  }
}

@keyframes gradient_301 {
  0% {
    background-position: 0% 50%;
  }

  50% {
    background-position: 100% 50%;
  }

  100% {
    background-position: 0% 50%;
  }
}

@keyframes pulse_3011 {
  0% {
    transform: scale(0.75);
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.7);
  }

  70% {
    transform: scale(1);
    box-shadow: 0 0 0 10px rgba(0, 0, 0, 0);
  }

  100% {
    transform: scale(0.75);
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
  }
}

/* From Uiverse.io by mobinkakei */
/* De Uiverse.io por mobinkakei */
.cta {
  display: flex;
  padding: 8px 20px;
  text-decoration: none;
  font-size: 18px;
  color: white;
  background: #6225e6;
  transition: 1s;
  box-shadow: 6px 6px 0 black;
  transform: skewX(-15deg);
  border: none;
  cursor: pointer;
  font-weight: 800;
}

.cta:focus {
  outline: none;
}

.cta:hover {
  transition: 0.5s;
  box-shadow: 10px 10px 0 #fbc638;
}

.cta .second {
  transition: 0.5s;
  margin-right: 0px;
}

.cta:hover .second {
  transition: 0.5s;
  margin-right: 45px;
}

.cta .span {
  transform: skewX(15deg);
}

.cta .second {
  width: 20px;
  margin-left: 30px;
  position: relative;
  top: 12%;
}

.cta .one {
  transition: 0.4s;
  transform: translateX(-60%);
}

.cta .two {
  transition: 0.5s;
  transform: translateX(-30%);
}

.cta:hover .three {
  animation: color_anim 1s infinite 0.2s;
}

.cta:hover .one {
  transform: translateX(0%);
  animation: color_anim 1s infinite 0.6s;
}

.cta:hover .two {
  transform: translateX(0%);
  animation: color_anim 1s infinite 0.4s;
}

@keyframes color_anim {
  0% {
    fill: white;
  }

  50% {
    fill: #fbc638;
  }

  100% {
    fill: white;
  }
}

/* From Uiverse.io by Subaashbala */
/* De Uiverse.io por Subaashbala */
.minimize-btn {
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding: 0.6em 0em 0.6em 0.6em;
  background-color: #facc15;
  cursor: pointer;
  box-shadow: 4px 6px 0px black;
  border: 4px solid;
  border-radius: 15px;
  position: relative;
  overflow: hidden;
  z-index: 100;
  transition: box-shadow 250ms, transform 250ms, filter 50ms;
}

.minimize-btn:hover {
  transform: translate(2px, 2px);
  box-shadow: 2px 3px 0 black;
}

.minimize-btn:active {
  filter: saturate(0.75);
}

.minimize-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #f9a8d4;
  z-index: -1;
  transform: translateX(-100%);
  transition: transform 250ms;
}

.minimize-btn:hover::after {
  transform: translateX(0);
}

.minimize-btn .bgContainer {
  position: relative;
  display: flex;
  justify-content: start;
  align-items: center;
  overflow: hidden;
  max-width: 65%;
  font-size: 0.9em;
  font-weight: 600;
  color: #111827;
}

.minimize-btn .bgContainer span {
  position: relative;
  transform: translateX(-100%);
  transition: all 250ms;
  color: #000;
}

.minimize-btn:hover .bgContainer > span {
  transform: translateX(0);
}

.minimize-btn .arrowContainer {
  padding: 0.5em;
  margin-inline-end: 0.6em;
  border: 4px solid;
  border-radius: 50%;
  background-color: #f9a8d4;
  position: relative;
  overflow: hidden;
  transition: transform 250ms, background-color 250ms;
  z-index: 100;
}

.minimize-btn .arrowContainer::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background-color: #facc15;
  transform: translateX(-100%);
  z-index: -1;
  transition: transform 250ms ease-in-out;
}

.minimize-btn:hover .arrowContainer::after {
  transform: translateX(0);
}

.minimize-btn:hover .arrowContainer {
  transform: translateX(5px);
}

.minimize-btn:active .arrowContainer {
  transform: translateX(8px);
}

.minimize-btn .arrowContainer svg {
  vertical-align: middle;
}

/* From Uiverse.io by Javierrocadev */
/* De Uiverse.io por Javierrocadev */
.minimize-btn-2 {
  position: relative;
  height: 56px;
  width: 220px;
  padding: 12px;
  border: 2px solid #3b3b3b;
  border-radius: 12px;
  background: #262626;
  color: #f9fafb;
  font-weight: 800;
  font-size: 18px;
  text-align: left;
  overflow: hidden;
  cursor: pointer;
  transition: color 0.4s ease, border-color 0.4s ease;
}

.minimize-btn-2::before,
.minimize-btn-2::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  filter: blur(12px);
  transition: all 0.5s ease;
  z-index: 0;
}

.minimize-btn-2::before {
  width: 48px;
  height: 48px;
  right: 8px;
  top: 8px;
  background: #7c3aed;
}

.minimize-btn-2::after {
  width: 80px;
  height: 80px;
  right: 24px;
  top: 14px;
  background: #fda4af;
}

.minimize-btn-2:hover {
  color: #fda4af;
  border-color: #fda4af;
}

.minimize-btn-2:hover::after {
  right: -32px;
}

.minimize-btn-2:hover::before {
  right: 48px;
  bottom: -32px;
}

/* From Uiverse.io by gagan-gv */
/* De Uiverse.io por gagan-gv */


.menu-btn {
  width: 40px;
  height: 40px;
  border-radius: 5px;
  border: none;
  transition: all 0.5s ease-in-out;
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #040f16;
  color: #f5f5f5;
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 200;
  cursor: pointer;
}

@media (max-width: 700px) {
  .menu-btn {
    width: 32px;
    height: 32px;
    top: 6px;
    right: 6px;
    min-width: 32px;
    min-height: 32px;
    padding: 0;
  }
  .menu-btn .icon svg {
    width: 22px !important;
    height: 22px !important;
  }
  .menu-btn .icon {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px;
    min-height: 22px;
    left: 0;
    top: 0;
    position: relative;
  }
}

.menu-btn:hover {
  box-shadow: 0 0 20px 0px #2e2e2e3a;
}

.menu-btn .icon {
  position: absolute;
  height: 40px;
  width: 70px;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.5s;
}

.menu-btn .text {
  transform: translateX(55px);
}

.menu-btn:hover .icon {
  width: 175px;
}

.menu-btn:hover .text {
  transition: all 0.5s;
  opacity: 0;
}

.menu-btn:focus {
  outline: none;
}

.menu-btn:active .icon {
  transform: scale(0.85);
}

@media (max-width: 700px) {
  .menu-btn {
    display: none;
  }
}

/* Menu Dropdown Styles */
.menu-dropdown {
  position: absolute;
  top: 64px;
  right: 0;
  background: rgba(5, 7, 20, 0.95);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(110, 231, 183, 0.2);
  border-top: none;
  border-radius: 0 0 12px 12px;
  min-width: 280px;
  box-shadow: 0 12px 40px rgba(2, 6, 23, 0.8);
  z-index: 99;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  opacity: 1;
  visibility: visible;
  padding: 12px 0;
}

.menu-dropdown[aria-hidden="true"] {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.menu-dropdown .dropdown-nav {
  display: flex;
  flex-direction: column;
  list-style: none;
  padding: 0;
  margin: 0;
}

.menu-dropdown .dropdown-link {
  display: block;
  padding: 14px 24px;
  color: #e6eef8;
  text-decoration: none;
  font-size: 16px;
  font-weight: 600;
  transition: all 0.2s ease;
  border-left: 3px solid transparent;
}

.menu-dropdown .dropdown-link:hover {
  background: rgba(34, 247, 197, 0.08);
  color: #22f7c5;
  border-left-color: #22f7c5;
  padding-left: 28px;
}

.menu-dropdown .dropdown-link:active {
  background: rgba(34, 247, 197, 0.15);
  color: #22f7c5;
}

/* From Uiverse.io by KhelVers (adapted) */
/* De Uiverse.io por KhelVers (adaptado) */
#Container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: auto;
  min-height: unset;
}

#rays {
  z-index: 2;
  position: relative;
  bottom: -0.2em;
  animation: rays 2.6s ease-in-out infinite;
}

.form {
  position: relative;
  top: 0;
  padding: 2%;
  z-index: 3;
  display: flex;
  flex-direction: column;
  border-radius: 0.5rem;
  border: 4px solid #fff;
  background: rgba(0, 255, 240, 0.52);
  box-shadow: 0px 0px 64px 0px #82e1ff inset, 0px 0px 16px #a8fffaa6;
  backdrop-filter: blur(3.5px);
  gap: 0.5em;
  animation: float-contact 3s ease-in-out infinite;
  width: min(520px, 100%);
}

@keyframes float-contact {
  0% { transform: translateY(0); }
  50% { transform: translateY(10px); }
  100% { transform: translateY(0); }
}

#login-lable {
  text-align: center;
  color: white;
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 6px;
  text-shadow: 0px 0px 16px rgb(243, 243, 243);
  margin-bottom: 0.3em;
}

.form-content {
  height: 2.4em;
  padding: 1px 8px;
  color: #ffffff;
  text-decoration: none;
  letter-spacing: 1px;
  font-weight: 700;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  text-align: center;
  border-radius: 6px;
  border: 2px solid #fff;
  background: rgba(10, 20, 30, 0.65);
  box-shadow: 0px 0px 1px 3px #9ee5e3 inset, 0px 4px 4px 0px #181a6040;
  text-shadow: 0px 1px 4px rgb(243, 243, 243);
  font-size: 0.95rem;
}

.form-textarea {
  height: 5em;
  resize: vertical;
}

.form-content:focus-visible {
  outline: none;
  text-decoration: none;
  background: rgba(10, 20, 30, 0.8);
  box-shadow: 0px 0px 1px 4px #9ee5e3;
}

.form-content:hover {
  background: rgba(10, 20, 30, 0.75);
}

.form ::placeholder {
  font-weight: 300;
  color: #d9e2ef;
  letter-spacing: 0.1rem;
  text-shadow: none;
}

.form button {
  cursor: pointer;
  height: 2.8rem;
  padding: 0%;
  color: white;
  font-size: 1.2em;
  letter-spacing: 0.3rem;
  border: 2px solid white;
  background: linear-gradient(144deg, #9c11ffce, #2000eeb6 50%, #15efffbb);
  margin-top: 0.3em;
}

.form button:hover {
  position: relative;
  bottom: 4px;
  background: linear-gradient(144deg, #9c11ff, #2000ee 50%, #15fff3);
  box-shadow: 0px 0px 2px 2px #ffffff;
}

@keyframes float {
  0% {
    position: relative;
  }

  50% {
    top: 50px;
  }

  100% {
    position: relative;
  }
}

@keyframes rays {
  0% {
    opacity: 0.6;
  }

  50% {
    opacity: 1;
  }

  100% {
    opacity: 0.6;
  }
}

/* Center section titles */
/* Centrar títulos de sección */
[id="Diplomas and Certificates"] h2,
#PROJECTS h2 {
  text-align: center;
  margin-bottom: 18px;
  font-size: 36px;
}

#CONTACT h2 {
  text-align: center;
  margin-top: 0;
  margin-bottom: 18px;
  font-size: 48px;
  font-weight: 900;
  letter-spacing: 1px;
}

#CONTACT .container{
  padding-top: 0;
}

@media (max-width: 700px) {
  .menu-btn{
    display:flex !important;
  }
  .nav-toggle{
    display:none !important;
  }
}


@media (max-width: 700px) {
   .shooting-star,
   .spaceship,
   .comet {
    display: none;
  }
}

/* Disable comets/shooting stars on all screens */
.shooting-star,
.spaceship,
.comet {
  display: none;
}

/* === LOADER ANIMADO 3D === */
#loader {
  position: fixed;
  z-index: 9999;
  inset: 0;
  background: #10121a;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.7s cubic-bezier(.4,2,.6,1);
}
#loader.loader-fade {
  opacity: 0;
  pointer-events: none;
}
.loader-spinner {
  display: flex;
  gap: 18px;
  perspective: 600px;
}
.loader-spinner span {
  display: block;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: linear-gradient(135deg, #19f9d8 60%, #00e0ff 100%);
  box-shadow: 0 0 24px 6px #19f9d8cc, 0 0 8px 2px #00e0ff99;
  animation: loader3d 1.2s cubic-bezier(.4,2,.6,1) infinite;
}
.loader-spinner span:nth-child(2) {
  animation-delay: 0.15s;
  background: linear-gradient(135deg, #00e0ff 60%, #19f9d8 100%);
}
.loader-spinner span:nth-child(3) {
  animation-delay: 0.3s;
}
.loader-spinner span:nth-child(4) {
  animation-delay: 0.45s;
  background: linear-gradient(135deg, #19f9d8 60%, #00e0ff 100%);
}
@keyframes loader3d {
  0% { transform: scale(1) rotateY(0deg) translateY(0); filter: blur(0); }
  30% { transform: scale(1.2) rotateY(30deg) translateY(-10px); filter: blur(2px); }
  60% { transform: scale(0.9) rotateY(-30deg) translateY(8px); filter: blur(1px); }
  100% { transform: scale(1) rotateY(0deg) translateY(0); filter: blur(0); }
}
/* === FIN LOADER === */

/* === LOADER PROFESIONAL CON LOGO, PARTÍCULAS Y MENSAJE === */
#loader {
  position: fixed;
  z-index: 9999;
  inset: 0;
  background: #10121a;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.7s cubic-bezier(.4,2,.6,1);
  overflow: hidden;
  flex-direction: column;
}
#loader.loader-fade {
  opacity: 0;
  pointer-events: none;
}
#loader-particles {
  position: absolute;
  inset: 0;
  width: 100vw;
  height: 100vh;
  display: block;
  z-index: 1;
  pointer-events: none;
}
.loader-center {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 10;
}
.loader-logo-bounce {
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: radial-gradient(circle at 60% 40%, #19f9d8 0%, #00e0ff 80%, #10121a 100%);
  box-shadow: 0 0 60px 10px #19f9d8cc, 0 0 0 8px #10121a;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: loader-bounce 1.2s cubic-bezier(.4,2,.6,1) infinite;
  margin-bottom: 28px;
}
.loader-logo-text {
  font-family: 'Orbitron', 'Montserrat', 'Arial', sans-serif;
  font-size: 2.8em;
  font-weight: 900;
  color: #10121a;
  letter-spacing: 2px;
  text-align: center;
  text-shadow:
    0 0 18px #19f9d8cc,
    0 0 32px #00e0ffcc,
    0 0 48px #19f9d8cc,
    0 1px 0 #fff2;
  z-index: 10001;
  min-height: 2em;
  filter: brightness(1.2) drop-shadow(0 0 24px #19f9d8cc);
  animation: neon-pulse 1.2s infinite alternate cubic-bezier(.4,2,.6,1);
}
@keyframes neon-pulse {
  0% { filter: brightness(1.2) drop-shadow(0 0 24px #19f9d8cc); }
  100% { filter: brightness(2.1) drop-shadow(0 0 48px #00e0ffcc); }
}
/* ...existing code... */