/* /statistici only, linked after /site.css (ADR-0066 § 17 a2): the founder's form on the
   site's tokens. No inline style, no script. Mobile first, min-width only. */
.st { --b1: #E4E8F1; --b2: #C3CCDF; --b3: #8F9BB9; --b4: #4C5874; --b5: #142038; --on-dark: #FFFFFF; }
@media (prefers-color-scheme: dark) {
  .st { --b1: #1D2B48; --b2: #2F4066; --b3: #5A6C94; --b4: #ACB8D4; --b5: #FFFFFF; --on-dark: #142038; }
}
.st section { border-top: 2px solid var(--ink); margin-top: calc(var(--line) * 1.5); padding-top: var(--half); }
.st h2 { margin: 0 0 var(--half); }
.st h3 { margin: var(--line) 0 var(--half); }
.st .note { color: var(--ink-2); font-size: .875rem; line-height: 1.5rem; max-width: 72ch; margin: var(--half) 0; }
.st .lede-note { margin-top: var(--line); }
/* controls: the selects become links, server-rendered for ?an= and &organism= */
.st .pick { display: flex; flex-wrap: wrap; gap: 0 2ch; margin: 0 0 var(--half); padding: 0; list-style: none; }
.st .pick-l { color: var(--ink-2); display: inline-flex; align-items: center; min-height: 44px; margin-right: 1ch; }
.st .pick a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 .5ch; }
.st .pick a[aria-current] { font-weight: 700; text-decoration-thickness: 3px; }
/* scroll region: the table scrolls, the page does not (ADR-0066 § 9) */
.st .cifre-wrap { position: relative; } /* contains the .vh spans of its cells */
.st .cifre-wrap:focus-visible { outline: 3px solid var(--ink); outline-offset: 2px; }
/* 1. type x year matrix */
.st .hm { border-collapse: separate; border-spacing: 1px 2px; min-width: 62rem; width: 100%; font-size: .6875rem; }
.st .hm th { font-weight: 400; color: var(--ink-2); padding: .25rem 0; text-align: center; }
.st .hm thead th.on { color: var(--ink); font-weight: 700; }
.st .hm tbody th { text-align: left; color: var(--ink); min-width: 9rem; width: 9rem; padding-right: 1ch; position: sticky; left: 0; background: var(--paper); line-height: 1.2; font-size: .75rem; }
.st .hm tbody th a { display: inline-flex; align-items: center; min-height: 24px; }
.st .hm td { height: 1.75rem; min-width: 2rem; font-size: .625rem; letter-spacing: -.03em; text-align: center; padding: 0 3px; outline: 1px solid var(--b1); outline-offset: -1px; }
/* a filled cell is bounded by its own fill; the ring stays on the empty cells only, so a
   four-digit count keeps 3 px clear on each side (C340 D3) */
.st .hm td[class*="b"] { outline: 0; }
.st .hm td.on { box-shadow: inset 0 0 0 2px var(--ink); }
.st .b1 { background: var(--b1); color: var(--ink); }
.st .b2 { background: var(--b2); color: var(--ink); }
.st .b3 { background: var(--b3); color: var(--ink); }
.st .b4 { background: var(--b4); color: var(--on-dark); }
.st .b5 { background: var(--b5); color: var(--on-dark); }
@media (prefers-color-scheme: dark) { .st .b1, .st .b2, .st .b3 { color: #FFFFFF; } }
.st .hm td.na, .st .key .na { background: repeating-linear-gradient(135deg, transparent 0 4px, var(--rule) 4px 5px); }
.st .key { display: flex; flex-wrap: wrap; gap: .5rem 2ch; margin: var(--half) 0; padding: 0; list-style: none; font-size: .75rem; color: var(--ink-2); }
.st .key li { display: inline-flex; align-items: center; gap: 1ch; margin: 0; }
.st .key i { display: inline-block; width: 1.5rem; height: 1rem; outline: 1px solid var(--ink-2); outline-offset: -1px; }
.st .key .k0 { background: var(--paper); }
.st .sel { display: flex; flex-wrap: wrap; gap: .25rem 3ch; border-block: 1px solid var(--rule); padding: var(--half) 0; margin: var(--half) 0; }
.st .sel p { margin: 0; }
/* #publicare: the delay sentence on its own line, the two counts together below it (C340 D2) */
.st section[aria-labelledby="publicare"] .sel > p:first-child { flex-basis: 100%; }
/* 2. releases: stacked bars, SVG rects (attributes, not style) */
.st .rel { display: grid; grid-template-columns: 4ch minmax(0, 1fr) 6ch; gap: .25rem 1.5ch; align-items: center; font-size: .8125rem; }
.st .rel .h { color: var(--ink-2); font-size: .75rem; align-self: end; }
.st .rel .n { text-align: right; }
.st .rel .p { grid-column: 2 / 4; text-align: right; color: var(--ink-2); font-size: .75rem; }
@media (min-width: 768px) { .st .rel { grid-template-columns: 4ch minmax(0, 1fr) 7ch auto; } .st .rel .p { grid-column: auto; } .st .rel .h.p { white-space: nowrap; } }
.st svg.bar { display: block; width: 100%; height: 1.125rem; }
.st .s1 { fill: var(--ink); stroke: var(--paper); stroke-width: 1; vector-effect: non-scaling-stroke; }
.st .s2 { fill: var(--ink-2); stroke: var(--paper); stroke-width: 1; vector-effect: non-scaling-stroke; }
.st .s3 { fill: url(#st-hatch); stroke: var(--ink-2); stroke-width: 1; vector-effect: non-scaling-stroke; }
.st .s4 { fill: var(--paper); stroke: var(--ink); stroke-width: 1; vector-effect: non-scaling-stroke; }
.st .hatch-line { stroke: var(--ink-2); stroke-width: 1.5; }
.st a:focus-visible .seg, .st a:hover .seg { stroke: var(--ink); stroke-width: 3; vector-effect: non-scaling-stroke; }
.st .key .s1, .st .key .s2, .st .key .s3, .st .key .s4 { width: 1.5rem; height: 1rem; }
.st .key svg { width: 1.5rem; height: 1rem; display: block; }
/* 3. publication: lines and columns, labels in HTML so they never scale with the width */
.st .chart { position: relative; }
.st .chart svg { display: block; width: 100%; height: 12rem; overflow: visible; }
@media (min-width: 1280px) { .st .chart svg { height: 15rem; } }
.st .chart .grid { stroke: var(--rule); stroke-width: 1; vector-effect: non-scaling-stroke; stroke-dasharray: 2 4; }
.st .l1 { fill: none; stroke: var(--ink); stroke-width: 2.5; vector-effect: non-scaling-stroke; stroke-linejoin: round; }
.st .l2 { fill: none; stroke: var(--ink-2); stroke-width: 2.5; vector-effect: non-scaling-stroke; stroke-dasharray: 6 4; stroke-linejoin: round; }
.st .chart .col { fill: var(--b4); }
.st .chart .col.on { fill: var(--ink); }
.st .end .dot { fill: var(--state); }
.st .ax { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); font-size: .6875rem; color: var(--ink-2); border-top: 1px solid var(--ink); }
.st .ax span { text-align: center; padding-top: .25rem; }
.st .ax span:nth-child(odd) { visibility: hidden; }
@media (min-width: 768px) { .st .ax span:nth-child(odd) { visibility: visible; } }
.st .ax .on { color: var(--ink); font-weight: 700; }
.st .ymax { font-size: .6875rem; color: var(--ink-2); margin: 0; }
.st .lk { display: inline-flex; align-items: center; gap: 1ch; }
.st .lk svg { width: 2rem; height: .75rem; }
/* 4. drops: three bars per type */
.st .two { display: grid; gap: var(--line) 4ch; }
@media (min-width: 768px) { .st .two { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.st .drop { display: grid; grid-template-columns: 4ch minmax(0, 1fr) 6ch; gap: .5rem 1.5ch; align-items: center; font-size: .875rem; }
.st .drop .n { text-align: right; }
.st .low { fill: var(--paper); stroke: var(--state); stroke-width: 2; vector-effect: non-scaling-stroke; }
/* 5. ended types: one timeline per type */
.st .end { display: grid; gap: .25rem 2ch; padding: var(--half) 0; border-bottom: 1px solid var(--rule); font-size: .875rem; }
@media (min-width: 768px) { .st .end { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; align-items: center; } .st .end > span:last-child { white-space: nowrap; } }
.st .end svg { display: block; width: 100%; height: 1.5rem; }
.st .tl { stroke: var(--ink-2); stroke-width: 1; vector-effect: non-scaling-stroke; }
.st .tl-on { stroke: var(--ink); stroke-width: 3; vector-effect: non-scaling-stroke; }
.st .ends { display: flex; justify-content: space-between; font-size: .6875rem; color: var(--ink-2); }
/* 6. archive matrix: numbers kept, intensity per column */
.st .gm { border-collapse: separate; border-spacing: 2px; min-width: 46rem; width: 100%; font-size: .8125rem; }
.st .gm th { font-weight: 400; color: var(--ink-2); text-align: right; vertical-align: bottom; padding: .25rem .5ch; font-size: .75rem; }
.st .gm th:first-child, .st .gm tbody th { text-align: left; color: var(--ink); }
.st .gm td { text-align: right; padding: .25rem 1ch; }
.st .gm td a { display: inline-block; min-width: 24px; color: inherit; }
/* 7. category mapping: era span and volume */
.st .mp { border-collapse: collapse; min-width: 52rem; width: 100%; font-size: .8125rem; }
.st .mp th, .st .mp td { text-align: left; padding: .375rem 1.5ch .375rem 0; border-bottom: 1px solid var(--rule); vertical-align: middle; font-weight: 400; }
.st .mp thead th { color: var(--ink-2); border-bottom: 2px solid var(--ink); }
.st .mp td.n { text-align: right; white-space: nowrap; }
.st .mp svg { display: block; width: 100%; height: .5rem; margin-top: .25rem; }
.st .mp .trk { fill: var(--b1); }
.st .mp .rng { fill: var(--ink-2); }
.st .mp .vol { fill: var(--ink); }
/* evidence */
.st details.ev { margin: var(--half) 0 0; }
.st details.ev summary { display: inline-flex; align-items: center; min-height: 44px; cursor: pointer; text-decoration: underline; text-underline-offset: 4px; }
.st details.ev .cifre { margin-top: var(--half); }
@media (forced-colors: active) {
  .st .hm td, .st .gm td { forced-color-adjust: none; }
}
@media (min-width: 768px) { .st .hm tbody th { min-width: 12rem; width: 12rem; } }
