@import "./typography.css";
@import "./sidebar.css";
@import "./breadcrumbs.css";
@import "./tags.css";

:root {
  font-family: NotoSans, sans-serif;
  font-size: 16px;
  font-weight: 300;
  color-scheme: dark;

  --text-color: light-dark(#000, #fff);
  --text-secondary-color: #777;
  --bg-color: light-dark(#fff, #000);
  --mx: 50vw;
  --my: 50vh;
}

::selection {
  color: black;
  background: white;
}

a {
  color: var(--text-color);
  text-decoration: none;
  font-weight: 400;
  transition: all 0.3s ease-in-out;

  &:hover {
    color: #3f51b5;
    text-decoration: underline;
  }
}

.external-link {
  display: inline-flex;
  align-items: center;
}

body {
  margin: 0;
  background:
    radial-gradient(
      circle at 15% 15%,
      rgba(103, 234, 255, 0.055),
      transparent 26%
    ),
    radial-gradient(
      circle at 85% 30%,
      rgba(168, 135, 255, 0.055),
      transparent 30%
    ),
    var(--bg-color);
}

.grid-canvas {
  position: fixed;
  inset: 0;
  z-index: -2;

  width: 100%;
  height: 100%;

  pointer-events: none;

  opacity: 0.26;
}

.spotlight {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 0;
  width: 800px;
  height: 800px;
  pointer-events: none;
  border-radius: 50%;
  opacity: 0;
  transform: translate3d(calc(var(--mx) - 400px), calc(var(--my) - 400px), 0);
  background: radial-gradient(
    circle,
    rgba(103, 234, 255, 0.11) 0%,
    rgba(168, 135, 255, 0.045) 30%,
    transparent 68%
  );
  transition: opacity 0.4s ease;
  will-change: transform;
}

body.pointer-active .spotlight {
  opacity: 1;
}

.noise {
  position: fixed;
  inset: 0;
  z-index: 100;
  pointer-events: none;
  opacity: 0.025;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='.7'/%3E%3C/svg%3E");
}

app {
  display: grid;
  margin: 0 auto;
  max-width: 1280px;
  min-height: 100vh;
  grid-template-columns: 40% auto;
  gap: 1rem;

  @media (max-width: 1024px) {
    grid-template-columns: auto;
    width: 100%;
    margin: none;
  }
}

main {
  padding: 4rem 1rem;

  @media (max-width: 1024px) {
    padding: 1rem;
  }
}

#experience {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  padding: 1rem 0;

  .experience-item {
    display: grid;
    grid-template-columns: 140px auto;
    gap: 1rem;
    padding: 2rem 1.5rem;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 28px;
    background: linear-gradient(
      135deg,
      rgba(103, 234, 255, 0.04),
      rgba(255, 255, 255, 0.025)
    );

    .year {
      color: var(--text-secondary-color);
    }

    h2 {
      margin-top: 0;
    }

    .project {
      display: flex;
      flex-direction: column;
      gap: 1.5rem;

      .project-item {
        h4 {
          margin: 0;
        }
        .description {
          margin-top: 0;
          color: var(--text-secondary-color);
        }
      }
    }
  }
}

.dog {
  display: grid;
  place-items: end;
  color: var(--text-secondary-color);
  padding-top: 4rem;
  font-size: 0.8rem;

  img {
    max-width: 500px;

    @media (max-width: 1280px) {
      width: 100%;
    }
  }
}

.main-content {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
