*, *::before, *::after { box-sizing: border-box; }
html {
  -webkit-text-size-adjust: 100%;
  color-scheme: dark;
  background: #000a0a;
  color: #ffffff;
}
body {
  min-height: 100vh;
  font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  line-height: 1.65;
  max-width: 42rem;
  margin: clamp(2rem, 6vw, 4rem) auto;
  padding: 0 clamp(1rem, 4vw, 1.25rem) clamp(2rem, 6vw, 4rem);
}
h1 {
  font-size: clamp(1.35rem, 4vw, 1.6rem);
  font-weight: 600;
  margin: 0 0 clamp(2rem, 5vw, 3rem);
  letter-spacing: -0.02em;
}
h1::before { content: "> "; font-weight: 400; }
h2 {
  font-size: 0.9rem;
  font-weight: 600;
  margin: clamp(1.75rem, 5vw, 2.5rem) 0 0.75rem;
  text-transform: lowercase;
  letter-spacing: 0.06em;
}
h2::before { content: "# "; font-weight: 400; }
a {
  color: #ffffff;
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-decoration-thickness: 1px;
}
ul { list-style: none; margin: 0; padding: 0; }
li { margin: 0 0 0.6rem; }
code { font-family: inherit; font-size: 0.95em; }
@media (hover: hover) {
  a:hover { color: #000000; background: #ffffff; }
  a:has(.icon):hover { background: none; color: inherit; }
  a:has(.icon):hover span { background: #ffffff; color: #000000; }
  .cow:has(a:hover, :focus-visible) span { position: relative; top: -0.15em; }
  .cow:has(~ * :is(a:hover, :focus-visible)) span { position: relative; top: 0.15em; }
}
a:active { color: #000000; background: #ffffff; }
a:has(.icon):active { background: none; color: inherit; }
a:has(.icon):active span { background: #ffffff; color: #000000; }
.project-title { font-weight: 700; }
.project-note { font-style: italic; }
.icon { height: 1em; width: 1em; vertical-align: -0.125em; margin-right: 0.4em; }
.icon-wide { width: auto; margin-right: 0; }
section { margin: 0 0 clamp(1.75rem, 4vw, 2.25rem); }
.cow { margin: clamp(2rem, 6vw, 3.5rem) 0; text-align: center; }
.cow pre {
  display: inline-block;
  text-align: left;
  font-size: clamp(0.625rem, 2.55vw, 0.8125rem);
  line-height: 1.2;
  margin: 0;
}
address { font-style: normal; }
footer {
  margin-top: clamp(2.5rem, 6vw, 4rem);
  padding-top: 1.5rem;
  border-top: 1px solid rgb(255 255 255 / 0.4);
  font-size: 0.85rem;
}
