/* DNA layer of the JOpt javadoc (javadoc-build.cjs): the top bar, the site's font and colors, the entry page.
   Tokens of the website: Public Sans, slate text (Tailwind slate), the accent #8A9219 for tabs, captions and the
   active line; link text in the darker #6E7514 (5.0:1 on white; Jens, 2026-11-02). */
@font-face { font-family: 'Public Sans'; src: url('fonts/PublicSans-Regular.ttf') format('truetype'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Public Sans'; src: url('fonts/PublicSans-Bold.ttf') format('truetype'); font-weight: 700; font-style: normal; font-display: swap; }
:root {
  --dna-font: 'Public Sans', 'Helvetica Neue', Arial, sans-serif;
  --dna-accent: #8A9219;
  --dna-accent-dark: #6E7514;
  --dna-accent-soft: #F3F5DE;
  --dna-text: #314158;
  --dna-text-strong: #0F172B;
  --dna-muted: #62748E;
  --dna-border: #E2E8F0;
  --dna-soft: #F1F5F9;
  --dna-softer: #F8FAFC;
  --dna-nav: #1D293D;
  --dna-tab: #45556C;
  --dna-bar-h: 44px;
}
.dna-bar {
  box-sizing: border-box; height: var(--dna-bar-h); display: flex; align-items: center; gap: 16px; padding: 0 16px;
  background: #FFFFFF; border-bottom: 1px solid var(--dna-border); color: var(--dna-text);
  font: 400 14px/1.2 var(--dna-font); white-space: nowrap;
}
.dna-bar a, .dna-bar a:link, .dna-bar a:visited { color: var(--dna-text); text-decoration: none; }
.dna-bar a:hover, .dna-bar a:focus { color: var(--dna-accent-dark); }
.dna-bar .dna-logo { display: flex; align-items: center; }
.dna-bar .dna-logo img { display: block; height: 22px; width: auto; }
.dna-bar .dna-title, .dna-bar .dna-title:link, .dna-bar .dna-title:visited { font-weight: 700; color: var(--dna-text-strong); }
.dna-bar .dna-links { display: flex; gap: 16px; }
.dna-bar .dna-spacer { flex: 1 1 auto; }
.dna-bar .dna-switch { display: inline-flex; border: 1px solid var(--dna-border); border-radius: 6px; overflow: hidden; }
.dna-bar .dna-switch a { padding: 5px 10px; }
.dna-bar .dna-switch a + a { border-left: 1px solid var(--dna-border); }
.dna-bar .dna-switch a.dna-active, .dna-bar .dna-switch a.dna-active:link, .dna-bar .dna-switch a.dna-active:visited { background: var(--dna-accent); color: #FFFFFF; }
.dna-bar .dna-menu { position: relative; }
.dna-bar .dna-menu summary {
  list-style: none; cursor: pointer; padding: 5px 26px 5px 10px; border: 1px solid var(--dna-border); border-radius: 6px;
  background: #FFFFFF; position: relative;
}
.dna-bar .dna-menu summary::-webkit-details-marker { display: none; }
.dna-bar .dna-menu summary::after {
  content: ''; position: absolute; right: 10px; top: 50%; margin-top: -3px; border: 4px solid transparent;
  border-top-color: var(--dna-muted);
}
.dna-bar .dna-menu summary .dna-menu-label { color: var(--dna-muted); margin-right: 6px; }
.dna-bar .dna-menu ul {
  position: absolute; right: 0; top: calc(100% + 4px); z-index: 1000; margin: 0; padding: 4px 0; list-style: none;
  min-width: 100%; max-height: 60vh; overflow-y: auto; background: #FFFFFF; border: 1px solid var(--dna-border);
  border-radius: 6px; box-shadow: 0 6px 20px rgba(15, 23, 43, 0.12);
}
.dna-bar .dna-menu li { margin: 0; padding: 0; }
.dna-bar .dna-menu li a { display: block; padding: 6px 12px; }
.dna-bar .dna-menu li a:hover, .dna-bar .dna-menu li a:focus { background: var(--dna-soft); }
.dna-bar .dna-menu li a[aria-current] { color: var(--dna-accent-dark); font-weight: 700; }
/* The archive note of an archived release (Jens, 2026-11-03); it links to the Archive section of the entry page. */
.dna-bar .dna-archive-note, .dna-bar .dna-archive-note:link, .dna-bar .dna-archive-note:visited {
  min-width: 0; overflow: hidden; text-overflow: ellipsis; padding: 4px 10px; border: 1px solid var(--dna-accent);
  border-radius: 6px; background: var(--dna-accent-soft); color: var(--dna-text-strong);
}
@media (max-width: 760px) { .dna-bar .dna-links, .dna-bar .dna-title, .dna-bar .dna-archive-long { display: none; } }
@media (max-width: 480px) { .dna-bar { gap: 10px; padding: 0 10px; } .dna-bar .dna-menu summary .dna-menu-label { display: none; } }
@media print { .dna-bar { display: none; } }

/* The entry page /javadoc/ */
body.dna-entry { margin: 0; background: #FFFFFF; color: var(--dna-text); font: 400 16px/1.6 var(--dna-font); }
.dna-entry main { max-width: 860px; margin: 0 auto; padding: 32px 16px 64px; }
.dna-entry h1 { color: var(--dna-text-strong); font-size: 32px; line-height: 1.2; margin: 8px 0 12px; }
.dna-entry h2 { color: var(--dna-text-strong); font-size: 22px; margin: 0 0 8px; }
.dna-entry h2 .dna-java { color: var(--dna-muted); font-weight: 400; font-size: 16px; margin-left: 8px; }
.dna-entry h3 { color: var(--dna-text-strong); font-size: 16px; margin: 16px 0 4px; }
.dna-entry a { color: var(--dna-accent-dark); }
.dna-entry a:hover { color: var(--dna-text-strong); }
.dna-entry .dna-line { border: 1px solid var(--dna-border); border-radius: 8px; padding: 20px 24px; margin: 24px 0; }
.dna-entry .dna-placeholder { border: 1px dashed var(--dna-accent); background: var(--dna-accent-soft); padding: 6px 12px; font-style: italic; }
.dna-entry .dna-latest { font-size: 18px; }
.dna-entry .dna-meta { color: var(--dna-muted); }
.dna-entry ul.dna-releases { margin: 0; padding-left: 20px; }
.dna-entry .dna-archive { background: var(--dna-softer); }
