/* Essay module — sidenotes + sticky TOC rail. CSS-only, no JS.
 * Left gutter = sidenotes, right rail = TOC. Never the same side. */
.remarque-prose{counter-reset:remarque-sidenote}
.remarque-sidenote-ref{counter-increment:remarque-sidenote;font-family:var(--font-mono);font-size:var(--text-meta);line-height:0;vertical-align:super;color:var(--color-accent);text-decoration:none}
.remarque-sidenote-ref::after{content:counter(remarque-sidenote)}
.remarque-sidenote-ref:hover{color:var(--color-accent-hover);text-decoration:underline}
.remarque-sidenote-ref--repeat{counter-increment:none}
.remarque-sidenote{display:block;margin-block:var(--space-3);padding-inline-start:var(--space-3);border-inline-start:var(--border-width) var(--border-style) var(--color-border-bold);font-family:var(--font-mono);font-size:var(--text-meta);line-height:var(--leading-meta);color:var(--color-fg-muted)}
.remarque-sidenote::before{content:counter(remarque-sidenote) "\2002";color:var(--color-accent);font-weight:var(--weight-semibold)}
.remarque-sidenote :where(p){margin:0}
.remarque-sidenote :where(p) + :where(p){margin-top:var(--space-2)}
@media (min-width: 80rem){
  .remarque-sidenote{float:left;clear:left;width:var(--space-10);margin-inline-start:calc(-1 * (var(--space-10) + var(--space-6)));margin-block:var(--space-1) var(--space-4);padding-inline-start:0;padding-inline-end:var(--space-2);border-inline-start:none;border-inline-end:var(--border-width) var(--border-style) var(--color-border);text-align:start}
}
.remarque-footnotes{margin-top:var(--space-7);padding-top:var(--space-3);border-top:var(--border-width) var(--border-style) var(--color-border);font-family:var(--font-mono);font-size:var(--text-meta);line-height:var(--leading-meta);color:var(--color-fg-muted)}
.remarque-footnotes h2{font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:var(--tracking-caps);font-variant-caps:all-small-caps;color:var(--color-muted);margin:0 0 var(--space-3)}
.remarque-footnotes ol{padding-inline-start:var(--space-5);margin:0}
.remarque-footnotes li + li{margin-top:var(--space-2)}
.remarque-footnotes a{color:var(--color-accent);text-decoration:none}
.remarque-footnotes a:hover{color:var(--color-accent-hover);text-decoration:underline}
.remarque-toc-rail{margin-block:var(--space-5)}
.remarque-toc-rail details{border:none;padding:0}
.remarque-toc-rail summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding-block:var(--space-2);border-bottom:var(--border-width) var(--border-style) var(--color-border);font-family:var(--font-mono);font-size:var(--text-meta);font-variant-caps:all-small-caps;letter-spacing:var(--tracking-caps);color:var(--color-muted);transition:color var(--motion-fast) var(--motion-easing)}
.remarque-toc-rail summary::-webkit-details-marker{display:none}
.remarque-toc-rail summary::before{content:"\25B8";display:inline-block;color:var(--color-muted);transition:transform var(--motion-fast) var(--motion-easing)}
.remarque-toc-rail details[open] summary::before{transform:rotate(90deg)}
.remarque-toc-rail summary:hover{color:var(--color-fg)}
.remarque-toc-rail ul{list-style:none;padding:0;margin:var(--space-3) 0 0}
.remarque-toc-rail li + li{margin-top:var(--space-1)}
.remarque-toc-rail a{font-family:var(--font-mono);font-size:var(--text-meta);color:var(--color-fg-muted);text-decoration:none;transition:color var(--motion-fast) var(--motion-easing)}
.remarque-toc-rail a:hover{color:var(--color-fg)}
@media (forced-colors: active){.remarque-toc-rail summary:hover,.remarque-toc-rail a:hover{text-decoration:underline}}
@media (min-width: 80rem){
  .remarque-essay{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,var(--content-reading)) minmax(var(--space-11),var(--space-12));column-gap:var(--space-6)}
  .remarque-essay > :not(.remarque-toc-rail){grid-column:2}
  .remarque-essay > .remarque-toc-rail{grid-column:3;grid-row:1 / span 999;align-self:start;justify-self:start;position:sticky;z-index:var(--z-sticky);top:var(--space-6);width:100%;max-height:calc(100vh - var(--space-8));overflow-y:auto}
}
