/* IoS publisher — a readable article page; no external fonts or scripts (works offline). */
:root {
  --bg: #fdfdfb; --text: #1d1f24; --dim: #5f6470; --rule: #d9dbe0; --accent: #2f5aa8; --soft: #f1f3f7;
  --writing: #e8f3ea; --editing: #fdf3e1; --review: #ece8f6;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--text); font: 17px/1.6 Georgia, 'Times New Roman', serif; }
header.site { padding: .6rem 1.5rem; border-bottom: 1px solid var(--rule); font: 600 15px/1.4 system-ui, sans-serif; }
header.site a { color: var(--text); text-decoration: none; }
main { max-width: 52rem; margin: 0 auto; padding: 1.5rem; }
a { color: var(--accent); }
h1, h2, h3 { font-family: system-ui, sans-serif; line-height: 1.25; }
.meta, .source { color: var(--dim); font: 13px/1.4 system-ui, sans-serif; }
.source { margin-left: .4rem; }
code, pre { font: 14px/1.45 ui-monospace, Menlo, Consolas, monospace; }
pre { background: var(--soft); padding: .75rem; overflow-x: auto; }
blockquote { margin: 1rem 0; padding-left: 1rem; border-left: 3px solid var(--rule); color: var(--dim); }
dl.byline { display: grid; grid-template-columns: max-content 1fr; gap: .15rem 1rem; font: 14px/1.45 system-ui, sans-serif; }
dl.byline dt a { color: var(--dim); text-decoration: none; }
dl.byline dd { margin: 0; }
form.versions { font: 14px/1.4 system-ui, sans-serif; margin: .75rem 0 1.25rem; }
.notice { background: var(--editing); padding: .5rem .75rem; font: 14px/1.4 system-ui, sans-serif; }
figure.artefact { margin: 1.5rem 0; padding: .75rem; border: 1px solid var(--rule); background: #fff; overflow-x: auto; }
figure.artefact svg { max-width: 100%; height: auto; }
figcaption { margin-top: .5rem; font: 14px/1.45 system-ui, sans-serif; }
figcaption .provenance, figcaption .open-workflow { margin-left: .4rem; font-size: 13px; }
.artefact-note { color: var(--dim); margin-left: .4rem; }
.embed-error { color: #a12a2a; }
table { border-collapse: collapse; font: 14px/1.4 system-ui, sans-serif; }
th, td { border-bottom: 1px solid var(--rule); padding: .25rem .6rem; text-align: left; vertical-align: top; }
td.num, th.num { text-align: right; font-variant-numeric: tabular-nums; }
.number { font: 600 1.4rem/1.2 system-ui, sans-serif; }
table.history tr.selected { background: var(--soft); }
table.attribution td { border: 0; padding: .05rem .5rem; }
table.attribution tr.kind-writing { background: var(--writing); }
table.attribution tr.kind-editing { background: var(--editing); }
table.attribution tr.kind-article-review { background: var(--review); }
table.attribution td.who { white-space: nowrap; color: var(--dim); }
#editor label { display: inline-block; margin: .3rem 1rem .3rem 0; font: 14px/1.4 system-ui, sans-serif; }
#editor label.wide { display: block; }
#editor input, #editor select, #editor textarea { font: inherit; }
#editor label.wide input, #editor textarea { width: 100%; }
#editor textarea { font: 14px/1.5 ui-monospace, Menlo, Consolas, monospace; }
#editor fieldset { border: 1px solid var(--rule); }
.picker ul { padding-left: 1.1rem; font: 14px/1.5 system-ui, sans-serif; }
ul.articles li { margin: .3rem 0; }
section.role ul { margin-top: .25rem; }
/* component, workflow and dataset pages; "this article rests on" (ADR 0015) */
section.rests-on { margin-top: 2rem; border-top: 1px solid var(--rule); font: 14px/1.5 system-ui, sans-serif; }
dl.rests-on { display: grid; grid-template-columns: max-content 1fr; gap: .2rem 1rem; }
dl.rests-on dt { color: var(--dim); }
dl.rests-on dd { margin: 0; }
.ports { display: flex; gap: 2rem; flex-wrap: wrap; font: 14px/1.5 system-ui, sans-serif; }
ul.publications, ul.used-in { font: 15px/1.5 system-ui, sans-serif; }
table.dataset th { width: 9rem; color: var(--dim); font-weight: 500; }
p.note { background: var(--editing); padding: .5rem .75rem; font: 14px/1.4 system-ui, sans-serif; }
/* figure views and the inspector (ADR 0018 decision 7; public/figure.js) */
figcaption .fig-inspect { margin-left: .4rem; font: 13px/1.2 system-ui, sans-serif; padding: .1rem .45rem; border: 1px solid var(--rule); border-radius: 4px; background: var(--bg); color: var(--accent); cursor: pointer; }
figcaption .fig-inspect[aria-pressed="true"] { background: var(--soft); }
figcaption .fig-inspect[hidden] { display: none; }
.fig-toolbar { display: flex; flex-wrap: wrap; gap: .35rem .8rem; align-items: center; margin-bottom: .5rem; padding: .35rem .5rem; background: var(--soft); border-radius: 4px; font: 13px/1.4 system-ui, sans-serif; }
.fig-toolbar select, .fig-toolbar button { font: inherit; }
.fig-toolbar .fig-series { display: inline-flex; gap: .5rem; }
.fig-toolbar .fig-message { flex-basis: 100%; color: var(--dim); }
.fig-toolbar .fig-message[data-state="error"] { color: #a12a2a; }
.fig-body svg { cursor: crosshair; }
.view-error { font: 13px/1.4 system-ui, sans-serif; }
.plotted { max-height: 24rem; overflow: auto; }
/* ADR 0026: an article's status, retraction banner and actions (colours: the variables above) */
.article-status { display: inline-block; margin: 0 0 .5rem; padding: .1rem .5rem; border: 1px solid var(--rule); border-radius: 10px; color: var(--dim); font: 13px/1.4 system-ui, sans-serif; }
.article-status[data-status="reviewed"] { background: var(--writing); color: var(--text); }
.article-status[data-status="under-review"] { background: var(--review); color: var(--text); }
.article-status[data-status="retracted"] { background: var(--editing); color: var(--text); }
.retraction { margin: .5rem 0 1rem; padding: .6rem .8rem; border-left: 4px solid var(--accent); background: var(--editing); font: 15px/1.45 system-ui, sans-serif; }
.article-actions { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; margin: 0 0 1rem; font: 13px/1.4 system-ui, sans-serif; }
.article-actions button { font: inherit; padding: .15rem .55rem; border: 1px solid var(--rule); border-radius: 4px; background: var(--bg); color: var(--accent); cursor: pointer; }
.article-actions button[disabled] { color: var(--dim); cursor: default; }
.article-verdict { display: flex; gap: .35rem; align-items: center; flex-wrap: wrap; }
.article-message { flex-basis: 100%; margin: 0; color: var(--dim); }
.article-message[data-state="error"] { color: var(--text); font-weight: 600; }
.used-in-counts { color: var(--dim); font: 13px/1.4 system-ui, sans-serif; }
/* the static reading site (bin/lib/site.js): version links, citation, status filter; print = the PDF of a version */
nav.versions, nav.status-filter { font: 14px/1.4 system-ui, sans-serif; margin: .75rem 0 1.25rem; }
p.citation, p.produced { font: 14px/1.45 system-ui, sans-serif; margin: .25rem 0; }
p.produced { color: var(--dim); }
ul.articles li.card { margin: .6rem 0; }
@media print {
  body { background: #fff; font-size: 11pt; }
  header.site, nav.versions, .fig-inspect, .article-actions, script { display: none; }
  main { max-width: none; padding: 0; }
  figure.artefact { break-inside: avoid; border-color: #ccc; }
  h1, h2, h3 { break-after: avoid; }
}
