/* SPDX-License-Identifier: CC0-1.0 */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,100..700;1,100..700&family=Inria+Sans:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&display=swap');

.katex {
    font-size: 1.15em !important;
   }
   
   /* inria-sans-300 - latin_latin-ext */
   @font-face {
     font-display: swap;
     /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
     font-family: 'Inria Sans';
     font-style: normal;
     font-weight: 300;
     src: url('fonts/inria-sans-v14-latin_latin-ext-300.woff2') format('woff2');
     /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
   }
   
   /* inria-sans-300italic - latin_latin-ext */
   @font-face {
     font-display: swap;
     /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
     font-family: 'Inria Sans';
     font-style: italic;
     font-weight: 300;
     src: url('fonts/inria-sans-v14-latin_latin-ext-300italic.woff2') format('woff2');
     /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
   }
   
   /* inria-sans-regular - latin_latin-ext */
   @font-face {
     font-display: swap;
     /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
     font-family: 'Inria Sans';
     font-style: normal;
     font-weight: 400;
     src: url('fonts/inria-sans-v14-latin_latin-ext-regular.woff2') format('woff2');
     /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
   }
   
   /* inria-sans-italic - latin_latin-ext */
   @font-face {
     font-display: swap;
     /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
     font-family: 'Inria Sans';
     font-style: italic;
     font-weight: 400;
     src: url('fonts/inria-sans-v14-latin_latin-ext-italic.woff2') format('woff2');
     /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
   }
   
   /* inria-sans-700 - latin_latin-ext */
   @font-face {
     font-display: swap;
     /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
     font-family: 'Inria Sans';
     font-style: normal;
     font-weight: 700;
     src: url('fonts/inria-sans-v14-latin_latin-ext-700.woff2') format('woff2');
     /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
   }
   
   /* inria-sans-700italic - latin_latin-ext */
   @font-face {
     font-display: swap;
     /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
     font-family: 'Inria Sans';
     font-style: italic;
     font-weight: 700;
     src: url('fonts/inria-sans-v14-latin_latin-ext-700italic.woff2') format('woff2');
     /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
   }
   
  :root {
    --content-gap: 15px;
    --radius: 5px;
    
    /* Light mode colors */
    --bg-color: #ffffff;
    --text-color: #000000;
    --text-secondary: #666666;
    --text-tertiary: #888888;
    --text-quaternary: #444444;
    --text-muted: #555555;
    --link-color: #666666;
    --link-hover: #aaaaaa;
    --link-text-color: #0066cc;
    --link-text-hover: #004499;
    --code-bg: rgba(0, 100, 100, 0.04);
    --block-hover: rgba(0, 100, 255, 0.02);
    --block-hover-2: rgba(0, 100, 255, 0.03);
    --block-hover-3: rgba(0, 100, 255, 0.04);
    --block-hover-4: rgba(0, 100, 255, 0.05);
    --block-hover-5: rgba(0, 100, 255, 0.06);
    --highlight-bg: rgba(255, 255, 140, 0.3);
    --highlight-bg-hover: rgba(255, 255, 140, 0.6);
    --border-color: #cccccc;
    --border-color-hover: #aaaaaa;
    --slug-color: gray;
    --edit-button-color: rgb(180, 180, 180);
  }
  
  /* Dark mode disabled - light mode is always used */
  /* @media (prefers-color-scheme: dark) {
    :root {
      Dark mode colors - improved contrast
      --bg-color: #2a2a2a;
      --text-color: #f5f5f5;
      --text-secondary: #d0d0d0;
      --text-tertiary: #b8b8b8;
      --text-quaternary: #d8d8d8;
      --text-muted: #c5c5c5;
      --link-color: #d0d0d0;
      --link-hover: #e8e8e8;
      --link-text-color: #7bb3ff;
      --link-text-hover: #9bc5ff;
      --code-bg: rgba(0, 150, 150, 0.2);
      --block-hover: rgba(100, 150, 255, 0.08);
      --block-hover-2: rgba(100, 150, 255, 0.12);
      --block-hover-3: rgba(100, 150, 255, 0.16);
      --block-hover-4: rgba(100, 150, 255, 0.20);
      --block-hover-5: rgba(100, 150, 255, 0.24);
      --highlight-bg: rgba(255, 200, 0, 0.25);
      --highlight-bg-hover: rgba(255, 200, 0, 0.4);
      --border-color: #666666;
      --border-color-hover: #888888;
      --slug-color: #a0a0a0;
      --edit-button-color: rgb(150, 150, 150);
    }
  } */
   
   h1,
   h2,
   h3,
   h4,
   h5,
   h6 {
     line-height: 1.2;
     margin-bottom: 0;
   }
   
   h5,
   h6,
   p {
     margin-top: 0;
   }
   
   h1,
   h2,
   h3,
   h4 {
     margin-top: .5em;
   }
   
   pre,
   img,
   .katex-display,
   section,
   center {
     overflow-y: hidden;
   }
   
  pre {
    border-radius: var(--radius);
    background-color: var(--code-bg);
    padding: .5em;
     font-size: 11pt;
     margin-top: 0em;
     overflow-x: auto;
     white-space: pre-wrap;
     white-space: -moz-pre-wrap;
     white-space: -pre-wrap;
     white-space: -o-pre-wrap;
     word-wrap: break-word;
   }
   
  code {
    border-radius: var(--radius);
    background-color: var(--code-bg);
    padding: 0.2em;
     font-size: 0.9em;
   }
   
  body {
    font-family: "Inria Sans";
    font-size: 12pt;
    line-height: 1.55;
    background-color: var(--bg-color);
    color: var(--text-color);
  }
   
   math {
    font-size: 1.12em;
   }
   
   mrow:hover {
    background-color: rgba(0, 100, 255, 0.04);
   }
   
   .logo {
     font-weight: 1000;
     font-size: 24px;
   }
   
  .logo a {
    color: var(--link-color);
    text-decoration: none;
  }
  
  .logo a:hover {
    color: var(--link-hover);
  }
   
   .header .nav {
     display: flex;
     justify-content: space-between;
     align-items: center;
   }
   
  .header .date {
    color: var(--text-secondary);
    font-size: 12pt;
  }
   
   .block.hide-metadata>details>summary>header>.metadata {
     display: none;
   }
   
  article>section>details>summary>header>h1>.taxon {
    display: block;
    font-size: .9em;
    color: var(--text-tertiary);
    padding-bottom: 5pt;
  }
   
   section section[data-taxon="Reference"]>details>summary>header>h1>.taxon,
   section section[data-taxon="Person"]>details>summary>header>h1>.taxon {
     display: none;
   }
   
   footer>section {
     margin-bottom: 1em;
   }
   
   footer h2 {
     font-size: 14pt;
   }
   
   .metadata>address {
     display: inline;
   }
   
   @media only screen and (max-width: 1000px) {
     body {
       margin-top: 1em;
       margin-left: .5em;
       margin-right: .5em;
       transition: background-color 0.2s ease, color 0.2s ease, margin 0.2s ease;
     }
   
     #grid-wrapper>nav {
       display: none;
       transition: background-color 0.2s ease, color 0.2s ease, margin 0.2s ease;
     }
   }
   
   @media only screen and (min-width: 1000px) {
     body {
       margin-top: 2em;
       margin-left: 2em;
       transition: background-color 0.2s ease, color 0.2s ease, margin 0.2s ease;
     }
   
     #grid-wrapper {
       display: grid;
       grid-template-columns: 90ex 1fr;
       gap: 2em;
     }
   }
   
   body>header {
     margin-bottom: 0.5em;
   }
   
   #grid-wrapper>article {
     max-width: 90ex;
     margin-right: 2em;
     grid-column: 1;
   }
   
   #grid-wrapper>nav {
     grid-column: 2;
     margin-left: 0;
   }
   
   details>summary>header {
     display: inline;
   }
   
   a.heading-link {
     box-shadow: none;
   }
   
   details h1 {
     font-size: 13pt;
     display: inline;
   }
   
   section .block[data-taxon] details>summary>header>h1 {
     font-size: 12pt;
   }
   
  span.taxon {
    color: var(--text-quaternary);
    font-weight: bolder;
  }
   
   
   .link-list>section>details>summary>header h1 {
     font-size: 12pt;
   }
   
   
   article>section>details>summary>header>h1 {
     font-size: 1.5em;
   }
   
   details>summary {
     list-style-type: none;
   }
   
   details>summary::marker,
   details>summary::-webkit-details-marker {
     display: none;
   }
   
   article>section>details>summary>header {
     display: block;
     margin-bottom: .5em;
   }
   
   section.block>details {
     margin-bottom: 0.4em;
   }
   
   
   section.block>details[open] {
     margin-bottom: 1em;
   }
   
   
   .link-list>section.block>details {
     margin-bottom: .25em;
   }
   
   nav#toc {
     margin-left: 0;
     max-width: 600px;
   }
   
   nav#toc h1 {
     margin-top: 0;
     font-size: 16pt;
   }
   
  nav#toc,
  nav#toc a {
    color: var(--text-muted);
  }
   
   nav#toc .link {
    box-shadow: none;
    text-decoration: none;
   }
   
   nav#toc a.bullet {
    opacity: 0.7;
    margin-left: 0.4em;
    margin-right: 0.3em;
    padding-left: 0.2em;
    padding-right: 0.2em;
    text-decoration: none;
   }
   
   nav#toc h2 {
     font-size: 1.1em;
   }
   
   nav#toc ul {
     list-style-type: none;
   }
   
  nav#toc li > ul {
   padding-left: 0.5em;
  }
   
   nav#toc li {
    list-style-position: inside;
   }
   
  .block {
    border-radius: var(--radius)
  }
  
  .block:hover {
    background-color: var(--block-hover);
  }
  
  /* Make nested block hovers stack and accumulate - each level adds intensity (lighter) */
  .block:hover .block:hover {
    background-color: var(--block-hover-2);
  }
  
  .block:hover .block:hover .block:hover {
    background-color: var(--block-hover-3);
  }
  
  .block:hover .block:hover .block:hover .block:hover {
    background-color: var(--block-hover-4);
  }
  
  .block:hover .block:hover .block:hover .block:hover .block:hover {
    background-color: var(--block-hover-5);
  }
   
   .block.highlighted {
     border-style: solid;
     border-width: 1pt;
   }
   
  .highlighted {
    background-color: var(--highlight-bg);
    border-color: var(--border-color);
  }
  
  .highlighted:hover {
    background-color: var(--highlight-bg-hover);
    border-color: var(--border-color-hover);
  }
   
  .slug,
  .doi,
  .orcid {
    color: var(--slug-color);
    font-weight: 200;
  }
  
  .edit-button {
    color: var(--edit-button-color);
    font-weight: 200;
  }
   
   .block {
     padding-left: 5px;
     padding-right: 10px;
     padding-bottom: 2px;
     border-radius: 5px;
   }
   
  /* Indent nested blocks to show visual nesting - match TOC indentation */
  .block .block {
    margin-left: 0.5em;
  }
  
  .block .block .block {
    margin-left: 0.5em;
  }
  
  .block .block .block .block {
    margin-left: 0.5em;
  }
   
   .link.external {
     text-decoration: underline;
   }
   
   a.link.local,
   .link.local a,
   a.slug {
     box-shadow: none;
     text-decoration-line: underline;
     text-decoration-style: dotted;
    }
   
   ninja-keys::part(ninja-action) {
     white-space: nowrap;
   }
   
   body {
     hyphens: auto;
   }
   
   table {
     margin-bottom: 1em;
   }
   
   table.macros {
     overflow-x: visible;
     overflow-y: visible;
     font-size: 0.9em;
   }
   
   table.macros td {
     padding-left: 5pt;
     padding-right: 15pt;
     vertical-align: baseline;
   }
   
   th {
     text-align: left;
   }
   
   th,
   td {
     padding: 0 15px;
     vertical-align: top;
   }
   
   td.macro-name,
   td.macro-body {
     white-space: nowrap;
   }
   
   td.macro-doc {
     font-size: .9em;
   }
   
   .enclosing.macro-scope>.enclosing {
     border-radius: 2px;
   }
   
   .enclosing.macro-scope>.enclosing:hover {
     background-color: rgba(0, 100, 255, 0.1);
   }
   
   [aria-label][role~="tooltip"]::after {
     font-family: "Inria Sans";
   }
   
   .tooltip {
     position: relative;
   }
   
   .inline.tooltip {
     display: inline-block;
   }
   
   .display.tooltip {
     display: block;
   }
   
   
   /* The tooltip class is applied to the span element that is the tooltip */
   
   .tooltip .tooltiptext {
     visibility: hidden;
     white-space: nowrap;
     min-width: fit-content;
     background-color: black;
     color: #fff;
     padding-left: 5px;
     padding-top: 5px;
     padding-right: 10px;
     border-radius: 6px;
     position: absolute;
     z-index: 1;
     top: 100%;
     left: 50%;
     margin-left: -60px;
     opacity: 0;
     transition: opacity 0.3s;
   }
   
   .tooltip .tooltiptext::after {
     content: "";
     position: absolute;
     top: 100%;
     left: 50%;
     margin-left: -5px;
     border-width: 5px;
   }
   
   
   /* Show the tooltip */
   
   .tooltip:hover .tooltiptext {
     visibility: visible;
     opacity: 1;
   }
   
   .tooltiptext a {
     color: white
   }
   
   .macro-doc {
     font-style: italic;
   }
   
   .macro-name {
     white-space: nowrap;
   }
   
   .macro-is-private {
     color: var(--secondary);
   }
   
   blockquote {
     border-inline-start: 1px solid var(--secondary);
   }
   
   a.slug:hover,
   a.bullet:hover,
   .edit-button:hover,
   .link:hover {
     background-color: rgba(0, 100, 255, .1);
   }
   
   .link {
    cursor: pointer;
   }
   
  a {
    color: var(--link-text-color);
    text-decoration: inherit;
  }
  
  a:hover {
    color: var(--link-text-hover);
  }
   
   .nowrap {
     white-space: nowrap;
   }
   
   .nocite {
     display: none
   }
   
   blockquote {
     font-style: italic;
   }
   
   
   
   address {
     display: inline;
   }
   
   
   .metadata ul {
     padding-left: 0;
     display: inline;
   }
   
   .metadata li::after {
     content: " · ";
   }
   
   .metadata li:last-child::after {
     content: "";
   }
   
   .metadata ul li {
     display: inline
   }
   
   img {
     object-fit: cover;
     max-width: 100%;
   }
   
   figure {
     text-align: center;
   }
   
   figcaption {
     font-style: italic;
     padding: 3px;
   }
   
   mark {
     background-color: rgb(255, 255, 151);
   }
   
   hr {
     margin-top: 10px;
     margin-bottom: 20px;
     background-color: gainsboro;
     border: 0 none;
     width: 100%;
     height: 2px;
   }
   
   ul, ol {
    padding-bottom: .5em;
   }
   
   ol {
    list-style-type: decimal;
   }
   
   ol li ol {
    list-style-type: lower-alpha;
   }
   
   ol li ol li ol {
    list-style-type: lower-roman;
   }
   
   .error, .info {
     border-radius: 4pt;
     padding-left: 3pt;
     padding-right: 3pt;
     padding-top: 1pt;
     padding-bottom: 2pt;
     font-weight: bold;
   }
   
   .error {
    background-color: red;
    color: white;
   }
   
   
   .info {
    background-color: #bbb;
    color: white;
   }
   