@charset "utf-8";
@font-face {
  font-family: "W95FA";
  src: url("../fonts/classic/w95fa.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
/* Small site-wide foundation. Component styles follow in document order. */
html {
  scrollbar-gutter: stable;
  -webkit-text-size-adjust: 100%;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
[hidden] {
  display: none !important;
}
body {
  margin: 0;
  overflow-wrap: anywhere;
}
button,
input,
select,
textarea {
  font: inherit;
  color: inherit;
}
button,
select,
summary {
  cursor: pointer;
}
button {
  border-radius: 0;
  touch-action: manipulation;
}
button:disabled {
  cursor: default;
}
img,
video,
svg {
  max-width: 100%;
}
img {
  border: 0;
}
figure {
  margin: 0;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 1.5em 0 0.6em;
  font-weight: 400;
  line-height: 1.3;
}
h1 {
  font-size: 28px;
}
h2,
h3 {
  font-size: 22px;
}
h4,
h5,
h6 {
  font-size: 18px;
}
p {
  margin: 0 0 16px;
}
ul,
ol {
  padding-left: 22px;
}
small,
.small,
.classic-small {
  font-size: 14px;
  line-height: 1.5;
}
strong,
b {
  font-weight: 700;
}
hr {
  border: 0;
  border-top: 1px solid var(--border);
  margin: 24px 0;
}
table {
  border-collapse: collapse;
  max-width: 100%;
}
th,
td {
  padding: 8px;
  border: 1px solid var(--border);
  text-align: left;
}
pre,
code,
kbd {
  font-family: "Courier New", monospace;
  font-size: 0.9em;
}
pre {
  overflow-x: auto;
  padding: 16px;
  border: 1px solid var(--border);
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.classic-frame {
  margin: 0 auto;
  background: var(--classic-chrome);
  border: 2px solid;
}
.classic-skip-link {
  position: absolute;
  top: 4px;
  left: 24px;
  transform: translateY(-200%);
  z-index: var(--layer-loading);
  padding: 8px;
}
.classic-skip-link:focus {
  transform: none;
}
.classic-tab,
.classic-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 32px;
  padding: 7px 12px;
  border: 1px solid;
  background: var(--classic-chrome);
  font: inherit;
}
.classic-profile-rail,
.classic-document {
  min-width: 0;
}
.classic-rail-heading {
  font-size: 16px;
  margin: 22px 0 10px;
}
.classic-contact-icon {
  display: block;
  width: 16px;
  height: 16px;
  image-rendering: pixelated;
}
.classic-icon {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  image-rendering: pixelated;
}
.classic-page-index {
  display: grid;
  gap: 9px;
}
.classic-page-index .classic-rail-heading {
  margin-bottom: 0;
}
.classic-archive-grid {
  display: grid;
  gap: 20px;
}
.classic-year-navigation {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.classic-year-navigation .classic-rail-heading {
  margin-top: 0;
}
.classic-archive-year + .classic-archive-year {
  margin-top: 28px;
  border-top: 1px solid var(--border);
  padding-top: 24px;
}
.classic-tag {
  display: inline-block;
}
.classic-footer {
  border-top: 1px solid var(--border);
}
.classic-footer-row {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.classic-credits {
  margin-top: 12px;
}
.classic-credits summary {
  width: fit-content;
}
.classic-credits p {
  margin: 10px 0 0;
}
.site-runtime__inner,
.site-runtime__views {
  display: flex;
  align-items: center;
  gap: 6px;
}
.publication-thumb-wrap {
  display: block;
  overflow: hidden;
}
.publication-thumb {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.publication-list {
  padding: 0;
  list-style: none;
}
.author__avatar-frame {
  position: relative;
}
.author__avatar-media {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
}
.author__avatar-image {
  opacity: 0;
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.author__urls {
  list-style: none;
}
.author__urls a {
  display: flex;
  align-items: center;
  gap: 8px;
}
.author__location {
  color: var(--text-muted);
}
.misc-showcase p:last-child {
  margin-bottom: 0;
}
.misc-note {
  margin: 18px 0;
}
.misc-note p + p {
  margin-top: 8px;
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}
@media print {
  html {
    scrollbar-gutter: auto;
  }
  .classic-skip-link,
  .classic-credits,
  .classic-year-navigation,
  .site-options-fab,
  .hover-photo__card {
    display: none;
  }
  a,
  a:visited {
    color: #111;
  }
  .publication-item,
  .classic-photo {
    break-inside: avoid;
  }
  pre {
    white-space: pre-wrap;
  }
}

/* The counter provider is read as data, never used as visible page chrome. */
#site-visit-widget {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  pointer-events: none;
}

/* Unmodified Nostalgia template cursors; provenance is in the page credits. */
body {
  cursor:
    url("data:application/octet-stream;base64,AAACAAEAICAAAAoACgAwAQAAFgAAACgAAAAgAAAAQAAAAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAwAAAAMAAAAGAAAABgAAAAwAAAEMAAABmAAAAdgAAAH4AAAB/wAAAf4AAAH8AAAB+AAAAfAAAAHgAAABwAAAAYAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////z////4f///+H////D///3w///84f///GH///wD///8A////AA///wAf//8AP///AH///wD///8B////A////wf///8P////H////z////9////////////////////////////////////////////////////////8="),
    auto;
}
a:hover,
button:not(:disabled) {
  cursor:
    url("data:application/octet-stream;base64,AAACAAEAICAAAAoACgAwAQAAFgAAACgAAAAgAAAAQAAAAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAB/gAAAf4AAAP/AAAD/wAAB/8AAAf/gAAP/4AAC/+AABv/gAA7/4AAM/2AAANtgAADbQAAA2wAAANgAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////AD///wA///8AP//+AB///gAf//wAH//8AA//+AAP//gAD//wAA//4AAP/+AAD//iAA///gAf//4AP//+AP///gf///4f///+H////h////4f////P//////////////////////////////////////////////////8="),
    pointer;
}
