/* Custom by Bijan */
html {
  font-feature-settings: "ss01", "ss02", "cv01", "cv02", "cv03", "cv04", "cv05", "cv06", "cv07", "cv08", "cv09", "cv10";
}

html,
body {
  font-family: 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  scroll-behavior: smooth;
  line-height: var(--line-height-body);
  letter-spacing: -0.02em;
}

h1, h2, h3, h4, h5, h6 {
  letter-spacing: -0.02em;
  text-wrap: balance;
}

h1 { line-height: 1.1; }
h2 { line-height: 1.15; }
p { max-width: 60ch; }

a {
  color: #000;
  font-weight: 600;
  opacity: 1;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}
a, a:focus, a:hover { transition: opacity .2s ease-out }
a:focus, a:hover { opacity: .6 }
a:active { opacity: .8; transition: opacity .1s ease-out }

.highlight {
  overflow-x: auto;
  padding: 0.75rem;
  border-radius: 0.5rem;
}

.apple-font-stack { font-family: 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif }
.code, code, pre { font-family: 'Geist Mono', ui-monospace, 'SF Mono', Menlo, Monaco, monospace }

.backdrop-blur {
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

#navbar {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

@media (prefers-color-scheme:dark) {
  a { color: #fff; }
}

@media screen and (min-width:60em) {
  h1 { font-size: 3rem; }
  #content { font-size: 1.125rem; }
  .highlight { padding: 1rem; }
}

.header {
  background: linear-gradient(to bottom, white, rgba(255, 255, 255, 0));
}

@media (prefers-color-scheme:dark) {
  .header {
    background: linear-gradient(to bottom, black, rgba(0, 0, 0, 0));
  }
}

.balanced {
  text-wrap: balance;
}

/* Scroll snap for landing page */
.snap-y {
  scroll-snap-type: y proximity;
}

.snap-start {
  scroll-snap-align: start;
}
