.article-body{overflow-wrap:anywhere}.article-body img{max-width:100%;height:auto}.article-date{color:var(--muted);font-size:var(--text-body,15px)}.article-list{margin-top:40px}.migrated-content .project-entry h2{font-size:var(--text-h3);letter-spacing:var(--tracking-h3);margin:0 0 12px;padding:0;border:0}.article-list .project-entry{padding-left:28px}.migrated-content .authored-block{min-width:0}.migrated-content .disclosure-body>.authored-block:first-child p{margin-top:5px}@media(max-width:530px){.article-list .project-entry{padding-left:24px}}/* A single width for every reader-facing link and every nested label, in
   every interaction state. Choosing a width does not add a decoration. */
:root {
  --content-link-stroke: 1px;
  /* Match the exact text color, including black body links and red names. */
  --content-link-rule: currentColor;
}
html {
  /* Keep the same type scale when a mobile browser fits the desktop layout. */
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
a[href], a[href] * {
  /* Imported spans can set the entire text-decoration shorthand inline. */
  text-decoration-thickness: var(--content-link-stroke) !important;
  text-decoration-color: var(--content-link-rule) !important;
  text-decoration-style: solid !important;
}
.language-switch a.active {
  border-bottom-width: var(--content-link-stroke);
  border-bottom-color: var(--content-link-rule);
}
/* Custom rules belong to heading links. Smaller text uses its original
   native underline, with the shared width and color above. */
a.reader-link {
  border-bottom-width: 0 !important;
  text-decoration-line: none !important;
}
a.reader-link .link-stroke {
  /* Preserve the original inline box, but paint the title rule separately.
     A native underline remains available before measurement or without JS. */
  border-bottom: var(--content-link-stroke) solid transparent;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  text-decoration-line: underline !important;
  text-decoration-skip-ink: auto;
}
a.reader-link :is(.link-ink, u, [style*="underline" i]) {
  text-decoration-line: none !important;
}
a.reader-link .link-ink .math-inline { display: inline-block; }

a.reader-link .link-stroke > .link-ink {
  border: 0;
  text-shadow: none;
  filter: none;
}
a.reader-link.reader-line-ready .link-stroke { text-decoration-line: none !important; }
:is(h1, h2, h3, h4, h5, h6):has(a.reader-link) { position: relative; }
.reader-title-lines {
  position: absolute;
  inset: 0;
  overflow: visible;
  pointer-events: none;
  fill: var(--content-link-rule);
}
@media (forced-colors: active) {
  :root { --content-link-rule: LinkText; }
  .reader-title-lines { display: none; }
  a.reader-link .link-stroke,
  a.reader-link.reader-line-ready .link-stroke {
    border-bottom-width: 0;
    text-decoration-line: underline !important;
    text-decoration-skip-ink: auto;
  }
}
main .paper-author-name { color: var(--accent, #793d40); }

/* The title and its expanded abstract share a right edge before the arrow. */
.migrated-content[data-page="research"] {
  --paper-arrow-gap: clamp(12px, 2.5vw, 24px);
  --paper-arrow-size: 9px;
  --paper-arrow-end: 5px;
}
.migrated-content[data-page="research"] .source-disclosure > summary {
  column-gap: var(--paper-arrow-gap);
}
.migrated-content[data-page="research"] .disclosure-marker {
  inline-size: var(--paper-arrow-size);
  margin-inline-end: var(--paper-arrow-end);
}
.migrated-content[data-page="research"] .source-disclosure > .disclosure-body {
  margin-inline-end: calc(var(--paper-arrow-gap) + var(--paper-arrow-size) + var(--paper-arrow-end));
}
/* Imported paragraphs and text typed directly in the editor use that same width. */
.migrated-content[data-page="research"] .disclosure-body :is(p, ul, ol, small) {
  max-width: none;
}

/* A photo and its caption can occupy separate imported blocks or sit next
   to each other in content typed in the editor. Give the caption the photo
   column's width instead of the narrower reading width used for prose. */
.migrated-content[data-page="olympiad"] .source-block:has(> img:last-child) + .source-block > p:first-of-type,
.migrated-content[data-page="olympiad"] :is(img, p:has(> img:only-child)) + p,
.migrated-content[data-page="olympiad"] figcaption p {
  max-width: none;
}

/* Paper, course, handout and project titles occupy the same level, even
   where the page structure calls for an h2 instead of an h3. */
.style-hybrid main :is(.source-disclosure > summary h3, .project-entry > h2) {
  font-family: var(--serif);
  font-weight: 400;
  font-size: var(--text-h3);
  letter-spacing: var(--tracking-h3);
  line-height: 1.4;
}
@media (max-width: 530px) {
  .style-hybrid main :is(.source-disclosure > summary h3, .project-entry > h2) {
    line-height: 1.45;
  }
}
