/* Lab notebook + Take part (2026-11-02).
   Builds on open-lab.css; tokens only. The timeline carries the Geometric
   Patina "drafting marks" invariant (STYLE_LAW v1.0 #02): a ruled spine with
   measured ticks, dates set like coordinates, nothing decorative that hides
   the entry. */

/* ---- extra evidence chips (open-lab.css defines early / model / inconclusive) ---- */
.olab-status[data-status="failed"]{border-color:var(--c-danger)}
.olab-status[data-status="failed"]::before{background:var(--c-danger)}
.olab-status[data-status="started"]::before{background:transparent;border:1px solid var(--c-gold-mid)}
.olab-status[data-status="published"]::before{background:var(--c-ok)}

/* ---- command block ---- */
.ln-code{margin:var(--space-16) 0;padding:var(--space-16) var(--space-24);border:1px solid var(--c-shell-hairline);border-left:2px solid var(--c-gold-mid);border-radius:var(--radius-2);background:var(--c-ink-2);font-family:var(--mono);font-size:var(--text-14);line-height:1.7;color:var(--c-paper);overflow-x:auto;white-space:pre}
.ln-hash{font-family:var(--mono);font-size:var(--text-12);color:var(--c-muted);overflow-wrap:anywhere}

/* ---- numbered ways in (take part) ---- */
.ln-ways{display:grid;gap:0;counter-reset:way;border-top:1px solid var(--c-shell-hairline)}
.ln-way{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:var(--space-40);padding-block:var(--space-40);border-bottom:1px solid var(--c-shell-hairline);scroll-margin-top:calc(var(--space-64) + var(--space-24))}
.ln-way-head{display:grid;gap:var(--space-12);align-content:start}
.ln-way-head::before{counter-increment:way;content:"0" counter(way) " /";font-family:var(--mono);font-size:var(--text-12);letter-spacing:.14em;color:var(--c-gold-mid)}
.ln-way-head h2{font-size:var(--text-28);line-height:1.15;letter-spacing:-.015em}
.ln-way-head p{font-size:var(--text-14);color:var(--c-muted)}
.ln-way-body{display:grid;gap:var(--space-16);align-content:start;max-width:68ch}
.ln-way-body p,.ln-way-body li{font-size:var(--text-16);line-height:1.65}
.ln-need{display:flex;flex-wrap:wrap;gap:var(--space-8) var(--space-24);font-family:var(--mono);font-size:var(--text-12);letter-spacing:.06em;color:var(--c-muted)}
.ln-need b{color:var(--c-paper);font-weight:500}

/* ---- timeline (notebook) ---- */
.ln-timeline{position:relative;display:grid;gap:0;margin-top:var(--space-24);padding-left:var(--space-40)}
.ln-timeline::before{content:"";position:absolute;left:11px;top:0;bottom:0;width:1px;background:linear-gradient(var(--c-gold),var(--c-shell-hairline))}
.ln-month{position:relative;margin:var(--space-40) 0 var(--space-16);font-family:var(--mono);font-size:var(--text-12);letter-spacing:.16em;text-transform:uppercase;color:var(--c-gold-mid)}
.ln-month::before{content:"";position:absolute;left:calc(-1 * var(--space-40) + 4px);top:50%;width:15px;height:1px;background:var(--c-gold-mid)}
.ln-entry{position:relative;display:grid;grid-template-columns:minmax(0,9rem) minmax(0,1fr);gap:var(--space-24);padding-block:var(--space-24);border-top:1px solid var(--c-shell-hairline);scroll-margin-top:calc(var(--space-64) + var(--space-24))}
.ln-entry::before{content:"";position:absolute;left:calc(-1 * var(--space-40) + 8px);top:calc(var(--space-24) + 6px);width:7px;height:7px;border:1px solid var(--c-gold-mid);background:var(--c-ink);transform:rotate(45deg)}
.ln-entry::after{content:"";position:absolute;left:calc(-1 * var(--space-40) + 18px);top:calc(var(--space-24) + 9px);width:10px;height:1px;background:var(--c-muted-2)}
.ln-date{font-family:var(--mono);font-size:var(--text-13);letter-spacing:.04em;color:var(--c-paper);padding-top:var(--space-2)}
.ln-date small{display:block;margin-top:var(--space-4);font-size:var(--text-12);color:var(--c-muted)}
.ln-body{display:grid;gap:var(--space-12);max-width:70ch}
.ln-body h3{font-size:var(--text-20);line-height:1.25;letter-spacing:-.005em}
.ln-body p{font-size:var(--text-16);line-height:1.65;color:var(--c-paper)}
.ln-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-8) var(--space-16);font-size:var(--text-13);color:var(--c-muted)}
.ln-meta a{color:var(--c-gold-mid);text-decoration:underline;text-underline-offset:3px}
.ln-meta a:hover{color:var(--c-gold-hi)}
.ln-legend{display:flex;flex-wrap:wrap;gap:var(--space-8) var(--space-16);margin-top:var(--space-24)}

@media(max-width:1050px){
  .ln-way{grid-template-columns:minmax(0,1fr);gap:var(--space-16)}
}
@media(max-width:700px){
  .ln-timeline{padding-left:var(--space-24)}
  .ln-timeline::before{left:5px}
  .ln-month::before{left:calc(-1 * var(--space-24) + 0px);width:12px}
  .ln-entry{grid-template-columns:minmax(0,1fr);gap:var(--space-8)}
  .ln-entry::before{left:calc(-1 * var(--space-24) + 2px)}
  .ln-entry::after{display:none}
  .ln-way{padding-block:var(--space-24)}
  .ln-way-head h2{font-size:var(--text-20)}
  .ln-code{padding:var(--space-12) var(--space-16);font-size:var(--text-13)}
}
