/* storystak.com/legal: the few rules the legal pages add to article.css.
   They share the article page's shell and tokens; nothing here restyles an
   article. Owner-managed: every legal page carries this file's hash, so a
   change here means running scripts/build-legal.mjs in the same commit. */

/* The head: no art, so the title gets the full measure. */
.legal-head h1{max-width:26ch}
.legal-head .dek a{color:var(--ink)}
.stamps{display:flex; flex-wrap:wrap; gap:6px 18px; margin:18px 0 0; font-family:var(--mono); font-size:12px; line-height:1.6; color:var(--muted)}
.stamps .open-item{font-family:inherit}

/* A page too short for a contents rail is one centred column. */
.art-grid.no-toc{grid-template-columns:minmax(0,1fr)}
.art-grid.no-toc .sheet{max-width:836px}

/* Contents: numbered sections of the Terms sit under their part. */
.toc-rail li.sub, .toc-inline li.sub{counter-increment:none; grid-template-columns:1fr; padding-left:24px; font-size:13px}
.toc-rail li.sub::before, .toc-inline li.sub::before{content:none}
.toc-rail ol.own-numbers li, .toc-inline ol.own-numbers li{grid-template-columns:1fr}
.toc-rail ol.own-numbers li::before, .toc-inline ol.own-numbers li::before{content:none}

/* Legal text is read closely and quoted by number: a little tighter than an
   article, and a clause never breaks inside its number. */
.legal-prose{font-size:16px; line-height:1.66}
.legal-prose h2{margin-top:2.2em}
.legal-prose h3{font-size:19px; margin-top:1.9em}
.legal-prose p{margin-bottom:1em}
.legal-prose li{margin-bottom:.55em}
.legal-prose table{min-width:560px}
.legal-prose tbody th{position:static; min-width:0; width:32%; font-weight:600}
.legal-prose thead th:first-child{position:static}

/* An open item: text the source still holds in [brackets]. The build's
   --check refuses to pass while one is on a page; the highlight is for
   whoever is reading the draft in a browser. */
.open-item{background:var(--yellow); color:var(--ink); padding:.05em .25em; border-radius:4px; box-decoration-break:clone; -webkit-box-decoration-break:clone}

/* The index: one row per document. */
.legal-list{list-style:none; margin:0; padding:0}
.legal-list li + li{border-top:1px solid var(--border)}
.legal-list a{display:grid; grid-template-columns:minmax(0,15em) minmax(0,1fr); gap:6px 28px; padding:18px 4px; text-decoration:none; color:inherit}
.legal-list .ll-name{font-weight:600; color:var(--ink)}
.legal-list .ll-about{color:var(--muted)}
.legal-list a:hover .ll-name{text-decoration:underline; text-underline-offset:3px}


@media (max-width:760px){
  .legal-list a{grid-template-columns:minmax(0,1fr); gap:2px; padding:16px 0}
  .legal-prose{font-size:15.5px}
}
@media print{
  .open-item{background:none; outline:1px solid #000}
}
