/* Full-text article pages (/<project>/paper/). Everything else comes from /style.css.
   Loaded by every page that reproduces a paper in full; keep it self-contained so a page
   needs exactly two stylesheets and no inline block. */
.vh{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
     clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.entry .attribution{ margin:0 0 var(--s5); padding:var(--s4);
     background:var(--paper); border:1px solid var(--rule); border-left:3px solid var(--accent);
     border-radius:var(--radius); font:400 var(--f-1)/1.6 var(--sans); color:var(--ink); }
.entry .attribution p{ margin:0 0 var(--s2); font:400 var(--f-1)/1.6 var(--sans); }
.entry .attribution p:last-child{ margin-bottom:0; }
.entry .attribution b{ color:var(--ink); font-weight:600; }
.entry .attribution .attr-links a{ white-space:nowrap; }
.entry .frontmatter{ margin:0 0 var(--s5); padding:var(--s4) 0 0; border-top:1px solid var(--rule);
     font:400 var(--f-1)/1.6 var(--sans); color:var(--ink-soft); }
.entry .frontmatter p{ margin:0 0 var(--s2); font:400 var(--f-1)/1.6 var(--sans); }
.entry .frontmatter p:last-child{ margin-bottom:0; }
.entry .frontmatter b{ color:var(--ink); font-weight:600; }
.entry .toc{ margin:var(--s6) 0; padding:var(--s4) var(--s5);
     background:var(--canvas); border:1px solid var(--rule); border-radius:var(--radius); }
.entry .toc h2{ margin:0 0 var(--s3); font:600 var(--f1)/1.3 var(--sans); }
.entry .toc ol{ margin:0; padding:0; list-style:none; font:400 var(--f-1)/1.7 var(--sans); }
.entry .toc ol ol{ margin:0 0 0 var(--s5); }
.entry .toc li{ margin:0; }
.entry h2, .entry h3, .entry h4{ scroll-margin-top:var(--s4); }
.entry h4.runin{ margin:var(--s5) 0 var(--s2); font:600 var(--f0)/1.4 var(--sans); color:var(--ink); }
/* Display equations: the number sits beside the formula, and a long formula scrolls inside
   its own box rather than widening the page. */
.entry .eqn{ display:flex; align-items:center; gap:var(--s4); margin:var(--s5) 0; }
.entry .eqn .eqbody{ flex:1 1 auto; min-width:0; overflow-x:auto; padding:var(--s1) 0; }
.entry .eqn .eqno{ flex:0 0 auto; font:400 var(--f-1)/1.6 var(--sans); color:var(--ink-soft); }
.entry math{ font-size:1.05em; }
.entry math.inl{ font-size:1em; }
/* Citation markers */
.entry sup.cite{ font-size:.72em; line-height:0; }
.entry sup.cite a{ text-decoration:none; }
.entry sup.cite a:hover{ text-decoration:underline; }
/* Tables. /style.css already rules #content table:not(.catalogue) and .table-scroll. */
.entry .table-scroll table{ min-width:24rem; }
.entry table caption{ font:600 var(--f-1)/1.4 var(--sans); }
.entry table th[scope="rowgroup"]{ text-align:left; padding-top:var(--s3); }
.entry table td.tick{ text-align:center; }
.entry table td.num{ text-align:right; }
.entry .table-note, .entry .fig-note{ margin:var(--s2) 0 var(--s6);
     font:400 var(--f-1)/1.6 var(--sans); color:var(--ink-soft); }
.entry .fig-note b, .entry .table-note b{ color:var(--ink); font-weight:600; }
/* A figure whose artwork lives only in the PDF */
.entry .fig-inpdf{ padding:var(--s4); background:var(--canvas); border:1px solid var(--rule);
     border-radius:var(--radius); font:400 var(--f-1)/1.6 var(--sans); color:var(--ink-soft); }
.entry .fig-inpdf p{ margin:0; font:400 var(--f-1)/1.6 var(--sans); }
.entry figure figcaption{ font:400 var(--f-1)/1.6 var(--sans); color:var(--ink-soft); }
.entry ol.references{ list-style:none; margin:0 0 var(--s5); padding:0; counter-reset:rf; }
.entry ol.references > li{ counter-increment:rf; position:relative;
     margin:0 0 var(--s3); padding-left:2.4rem; scroll-margin-top:var(--s4);
     font:400 var(--f-1)/1.6 var(--sans); color:var(--ink-soft); }
.entry ol.references > li::before{ content:counter(rf) "."; position:absolute; left:0; top:0;
     width:1.9rem; text-align:right; font:600 var(--f-1)/1.6 var(--sans); color:var(--accent); }
.entry ol.references > li:target{ background:var(--tint); }
/* A URL is one word to a line-breaking algorithm, and a reference list is where the long
   ones live: the practitioner's guide carries an 80-character link that no viewport under
   700px can fit, so the page scrolled sideways on a phone with nothing visibly wide on it.
   Breaking inside a long token is the one place it is wanted. Both list types are named
   because the hand-built guide marks its references up as a ul and the rules below, which
   only ever said ol, never applied to it. */
.entry ol.references > li, .entry ul.references > li,
.entry p code, .entry li code, .entry td code{ overflow-wrap:break-word; word-break:break-word; }

/* Author-year references: no number in the margin, hanging indent instead */
.entry ol.references.unnumbered > li{ padding-left:0; text-indent:-1.6rem;
     margin-left:1.6rem; }
.entry ol.references.unnumbered > li::before{ content:none; }
.entry ol.references a{ overflow-wrap:anywhere; }
.entry p code, .entry li code{ font:400 .9em/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
     color:var(--ink); }
@media print{ .entry .toc{ break-inside:avoid; } }

/* An abstract sits above the body and reads as the paper's own summary, not site prose. */
.entry .abstract{ margin:0 0 var(--s5); padding:var(--s4) var(--s5);
     background:var(--canvas); border-radius:var(--radius); }
.entry .abstract h2{ margin:0 0 var(--s2); font:600 var(--f0)/1.3 var(--sans); }
.entry .abstract p{ margin:0 0 var(--s3); }
.entry .abstract p:last-child{ margin-bottom:0; }
.entry .keywords{ margin:var(--s3) 0 0; font:400 var(--f-1)/1.6 var(--sans); color:var(--ink-soft); }
/* Endnotes: the paper's own notes, numbered as the paper numbers them. */
.entry ol.endnotes{ margin:0 0 var(--s5); padding-left:1.6rem;
     font:400 var(--f-1)/1.6 var(--sans); color:var(--ink-soft); }
.entry ol.endnotes > li{ margin:0 0 var(--s3); scroll-margin-top:var(--s4); }
.entry ol.endnotes > li:target{ background:var(--tint); }
.entry figure{ margin:var(--s5) 0; }
.entry figure img{ max-width:100%; height:auto; display:block; }

/* /papers/, the index of the full-text editions. */
.entry ul.fulltext{ list-style:none; margin:var(--s5) 0; padding:0; }
.entry ul.fulltext > li{ margin:0 0 var(--s4); padding:0 0 var(--s4);
     border-bottom:1px solid var(--rule); line-height:1.5; }
.entry ul.fulltext > li:last-child{ border-bottom:0; }
.entry ul.fulltext .who{ font:400 var(--f-1)/1.6 var(--sans); color:var(--ink-soft); }

/* The article's own title, above the attribution. The masthead names the section of the
   site; this names the paper. */
.entry h1.paper-title{ margin:0 0 var(--s2); font:600 var(--f3)/1.25 var(--sans); color:var(--ink); }
.entry p.byline{ margin:0 0 var(--s5); font:400 var(--f0)/1.5 var(--sans); color:var(--ink-soft); }
