/* Unicorn custom theme styles (Tailwind utilities live in tailwind.css) */

:root{
  --brand-50:#EEF2FF;
  --brand-100:#E0E7FF;
  --brand-500:#6366F1;
  --brand-600:#4F46E5;
}

html{
  scroll-behavior:smooth;
  scroll-padding-top: 84px; /* sticky header offset */
}

/* Soft paper texture */
.paper{
  background-image:
    radial-gradient(circle at 1px 1px, rgba(15,23,42,.08) 1px, transparent 0);
  background-size: 22px 22px;
}

/* Shadows */
.shadow-soft{
  box-shadow: 0 12px 30px rgba(2,8,23,.10);
}
.shadow-ring{
  box-shadow: 0 0 0 1px rgba(15,23,42,.10), 0 10px 25px rgba(2,8,23,.08);
}

/* Hover polish */
.card-hover{
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease;
  will-change: transform;
}
.card-hover:hover{
  transform: translateY(-2px);
}

.btn-hover{
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease;
  will-change: transform;
}
.btn-hover:hover{
  transform: translateY(-1px);
}

/* Nav underline effect */
.nav-link{
  position:relative;
  padding-bottom: 4px;
}
.nav-link::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  background: rgba(79,70,229,.85);
  transform: scaleX(0);
  transform-origin:left;
  transition: transform .18s ease;
  border-radius: 999px;
}
.nav-link:hover::after,
.nav-link:focus-visible::after{
  transform: scaleX(1);
}

/* Dropdown menu behavior */
.js-dropdown:hover > .dropdown-menu,
.js-dropdown.is-open > .dropdown-menu{
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
.dropdown-menu{
  transform: translateY(8px);
}
/* Bridge area to prevent hover gap collapse */
.dropdown-menu::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-12px;
  height:12px;
}

/* Skill chips */
.skill-chip{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.45rem .8rem;
  border-radius: 999px;
  border: 1px solid rgb(226 232 240);
  background: rgb(248 250 252);
  font-size: .875rem;
  color: rgb(51 65 85);
  transition: background-color .18s ease, transform .18s ease;
}
.skill-chip:hover{ background: rgb(241 245 249); transform: translateY(-1px); }

/*
  Reveal on scroll
  Do NOT hide content unless JS is active (SEO + no "missing content" when JS fails).
*/
.js .reveal{
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .6s ease, transform .6s ease;
}
.js .reveal.in-view{
  opacity: 1;
  transform: translateY(0);
}

/* Dropdown: keep hover "bridge" so the submenu doesn't collapse */
.js-dropdown{ position:relative; }
.js-dropdown::after{
  content:"";
  position:absolute;
  left:-10px;
  right:-10px;
  top:100%;
  height:16px;
  z-index:40; /* below submenu (z-50) */
}

/* Dropdown trigger should look exactly like a normal nav link */
button.u-nav-link{
  -webkit-appearance:none;
  appearance:none;
  background:transparent;
  border:0;
  padding:0;
  margin:0;
  font:inherit;
  color:inherit;
  line-height:inherit;
  cursor:pointer;
}

/* Content spacing (Gutenberg/default) */
.entry-content > * + *{ margin-top: 1rem; }
.entry-content h2{ font-size: 1.5rem; font-weight: 600; margin-top: 1.5rem; }
.entry-content h3{ font-size: 1.25rem; font-weight: 600; margin-top: 1.25rem; }
.entry-content a{ color: rgb(79 70 229); text-decoration: underline; }
.entry-content ul{ list-style: disc; padding-left: 1.25rem; }
.entry-content ol{ list-style: decimal; padding-left: 1.25rem; }

/* Mobile menu */
.mobile-menu > ul{ display:flex; flex-direction:column; gap:.5rem; }
.mobile-menu a{ display:block; padding:.65rem .75rem; border-radius: .75rem; border:1px solid rgb(226 232 240); background: rgb(248 250 252); }
.mobile-menu a:hover{ background: rgb(241 245 249); }
.mobile-menu .sub-menu{ margin-top:.5rem; margin-left:.75rem; display:flex; flex-direction:column; gap:.5rem; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior: auto; }
  .card-hover, .btn-hover, .reveal{ transition:none !important; }
  .card-hover:hover, .btn-hover:hover{ transform:none !important; }
}
