/* ==========================================================================
   p-labels.css — Correctness Labels page (exp38, terminal phosphor).
   Loaded after hdr-event.css, before theme-verified/s35-craft/s35-a11y.
   Token-only colour: every value below reads a shell token. Green (--pass)
   appears exactly once on this page: the "fixed, regression pinned" tick in
   the worked example. Amber (--fail on terminal) marks authored high
   severity — caution, not decoration.
   ========================================================================== */

/* ---------- hero ---------- */
/* (old 58ch sub cap removed 2026-08-27 — outranked by the terminal fork's
   token cap; --measure-hero governs) */
.lb-asset{
  margin-top:1.1rem;font-family:var(--mono);font-size:.78rem;letter-spacing:.04em;
  color:var(--muted);
}
.lb-asset b{color:var(--ink);font-weight:500;}
.lb-asset a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--hair-strong);}
.lb-asset a:hover{color:var(--signal);text-decoration-color:var(--signal);}
.lb-hero .fine{max-width:62ch;margin-top:1.4rem;}

/* ---------- 01 · the compare block ---------- */
.lb-compare{
  display:grid;grid-template-columns:1fr 1fr;gap:1px;
  background:var(--hair);border:1px solid var(--hair);border-radius:var(--radius);
  overflow:hidden;margin-top:2.2rem;
}
.lb-col{background:var(--card);padding:1.5rem 1.4rem 1.6rem;min-width:0;}
.lb-col h3{
  margin:0 0 1rem;font-family:var(--mono);font-size:.75rem;font-weight:500;
  letter-spacing:.09em;text-transform:uppercase;color:var(--muted);
}
.lb-col ul{margin:0;padding:0;list-style:none;}
.lb-col li{
  padding:.62rem 0;border-top:1px solid var(--hair);
  font-family:var(--prose);font-size:.98rem;line-height:1.55;color:var(--ink-60);
}
.lb-col li code{font-size:.85em;}
.lb-verdict{
  margin:1.15rem 0 0;font-family:var(--mono);font-size:.78rem;letter-spacing:.05em;
  color:var(--ink);
}
@media (max-width:760px){
  .lb-compare{grid-template-columns:minmax(0,1fr);}
}

/* ---------- 03 · the six edges ---------- */
.lb-edges{margin:2.1rem 0 0;padding:0;list-style:none;counter-reset:lbe;}
.lb-edges li{
  counter-increment:lbe;position:relative;
  padding:.95rem 0 .95rem 3.4rem;border-top:1px solid var(--hair);
}
.lb-edges li:last-child{border-bottom:1px solid var(--hair);}
.lb-edges li::before{
  content:counter(lbe,decimal-leading-zero);
  position:absolute;left:0;top:1.05rem;
  font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;color:var(--ink-40);
}
.lb-edges b{
  display:block;font-family:var(--prose);font-size:1.02rem;font-weight:600;
  color:var(--ink);letter-spacing:-.01em;
}
.lb-edges p{
  margin:.2rem 0 0;font-family:var(--prose);font-size:.96rem;line-height:1.55;
  color:var(--ink-60);max-width:62ch;
}

/* ---------- 04 · the claim quotation ---------- */
.lb-claim{
  margin:2.1rem 0 0;padding:1.25rem 1.4rem 1.35rem;
  background:var(--card);border:1px solid var(--hair);border-radius:var(--radius);
}
.lb-claim-id{
  display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin:0 0 .7rem;
  font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;
  color:var(--muted);
}
.lb-claim-id b{color:var(--ink);font-weight:500;}
.lb-claim blockquote{
  margin:0;font-family:var(--mono);font-weight:400;font-size:.98rem;
  line-height:1.6;color:var(--ink-60);max-width:60ch;
}
.lb-claim-under{
  margin:.85rem 0 0;font-family:var(--mono);font-size:.75rem;letter-spacing:.04em;
  color:var(--muted);
}
.lb-claim-under a{color:var(--ink);}
.lb-claim-under a:hover{color:var(--signal);}

/* ---------- 04 · graded obligations ---------- */
.lb-ob{margin:2rem 0 0;padding:0;list-style:none;}
.lb-ob li{
  display:grid;grid-template-columns:12.5rem minmax(0,1fr);gap:1.1rem;
  padding:1rem 0;border-top:1px solid var(--hair);
}
.lb-ob li:last-child{border-bottom:1px solid var(--hair);}
.lb-sev{
  align-self:start;justify-self:start;
  font-family:var(--mono);font-size:.75rem;font-weight:500;letter-spacing:.08em;
  text-transform:uppercase;color:var(--muted);
  border:1px solid var(--hair-strong);border-radius:var(--radius);
  padding:.28rem .55rem;white-space:nowrap;
}
.lb-sev.is-high{color:var(--fail);border-color:var(--fail);}
.lb-ob p{
  margin:0;font-family:var(--prose);font-size:.98rem;line-height:1.58;
  color:var(--ink-60);max-width:60ch;
}
.lb-ob p b{color:var(--ink);font-weight:600;}
.lb-fixed{color:var(--pass);font-family:var(--mono);font-size:.85em;letter-spacing:.04em;}
@media (max-width:640px){
  .lb-ob li{grid-template-columns:minmax(0,1fr);gap:.45rem;}
}

/* ---------- 04 · the YAML excerpt ---------- */
.lb-code{margin:2.2rem 0 0;}
.lb-code-hd{
  display:block;padding:.55rem .95rem;
  background:var(--card);border:1px solid var(--hair);border-bottom:0;
  border-radius:var(--radius) var(--radius) 0 0;
  font-family:var(--mono);font-size:.75rem;letter-spacing:.05em;color:var(--muted);
  overflow-x:auto;white-space:nowrap;
}
.lb-code pre{
  margin:0;padding:1.2rem 1.35rem 1.3rem;overflow-x:auto;
  background:var(--card);border:1px solid var(--hair);
  border-radius:0 0 var(--radius) var(--radius);
  font-family:var(--mono);font-size:.8rem;line-height:1.75;color:var(--ink);
  white-space:pre;-webkit-overflow-scrolling:touch;
}
.lb-code .k{color:var(--muted);}
.lb-code-cap{
  margin:.6rem 0 0;font-family:var(--mono);font-size:.75rem;letter-spacing:.04em;
  color:var(--muted);max-width:70ch;
}
.lb-code-cap a{color:var(--ink);}
.lb-code-cap a:hover{color:var(--signal);}
@media (max-width:640px){
  .lb-code pre{font-size:.75rem;padding:1rem 1rem 1.1rem;}
}

/* ---------- 06 · the package card ---------- */
.lb-card{
  display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:1px;
  background:var(--hair);border:1px solid var(--hair);border-radius:var(--radius);
  overflow:hidden;margin-top:2.2rem;
}
.lb-card > div{background:var(--card);padding:1.5rem 1.4rem 1.6rem;min-width:0;}
.lb-files{margin:0;padding:0;list-style:none;}
.lb-files li{
  padding:.6rem 0;border-top:1px solid var(--hair);
  font-family:var(--mono);font-size:.8rem;line-height:1.55;color:var(--muted);
  letter-spacing:.02em;
}
.lb-files li:first-child{border-top:0;padding-top:0;}
.lb-files b{display:block;font-weight:500;color:var(--ink);letter-spacing:.03em;}
.lb-meta{display:flex;flex-direction:column;gap:.9rem;}
.lb-meta .btn{align-self:flex-start;}
.lb-meta-l{
  margin:0;font-family:var(--mono);font-size:.78rem;letter-spacing:.05em;color:var(--muted);
}
.lb-meta-l b{color:var(--ink);font-weight:500;}
.lb-sha{
  margin:0;font-family:var(--mono);font-size:.75rem;line-height:1.6;
  letter-spacing:.02em;color:var(--muted);word-break:break-all;
}
.lb-sha a{color:var(--ink);}
.lb-sha a:hover{color:var(--signal);}
@media (max-width:900px){
  .lb-card{grid-template-columns:minmax(0,1fr);}
}

/* ---------- 06 · the stat row ---------- */
.lb-stats{
  display:flex;flex-wrap:wrap;gap:.55rem 2.2rem;margin:2.1rem 0 0;
  font-family:var(--mono);font-size:.8rem;letter-spacing:.04em;color:var(--muted);
}
.lb-stats span{max-width:100%;}
.lb-stats b{font-size:1.05rem;font-weight:500;color:var(--ink);letter-spacing:0;}
.lb-stats a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--hair-strong);}
.lb-stats a:hover{color:var(--signal);text-decoration-color:var(--signal);}
.lb-elsewhere{
  margin:1.5rem 0 0;font-family:var(--mono);font-size:.78rem;letter-spacing:.04em;
  color:var(--muted);line-height:2;
}
.lb-elsewhere a{color:var(--ink);}
.lb-elsewhere a:hover{color:var(--signal);}

/* ---------- 07 · the tech line ---------- */
.lb-tech{
  margin:1.9rem 0 0;font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted);
}
.lb-tech s{text-decoration:none;color:var(--ink-40);padding:0 .18em;}

/* ---------- 08 · the pilot box ---------- */
.lb-pilot-box{
  border:1px solid var(--hair);border-radius:var(--radius);background:var(--card);
  padding:1.5rem 1.4rem 1.6rem;margin-top:2.2rem;
}
.lb-pilot-box h3{margin:0 0 .3rem;font-size:1.12rem;letter-spacing:-.015em;}
.lb-pilot-box > p{margin:.3rem 0 0;font-family:var(--prose);font-size:.98rem;line-height:1.58;color:var(--ink-60);max-width:66ch;}
.lb-pilot-rows{margin:1.2rem 0 0;}
.lb-pilot-rows > div{
  display:grid;grid-template-columns:9.5rem minmax(0,1fr);gap:1.1rem;
  padding:.75rem 0;border-top:1px solid var(--hair);
}
.lb-pilot-rows dt{
  margin:0;font-family:var(--mono);font-size:.75rem;font-weight:500;
  letter-spacing:.09em;color:var(--muted);padding-top:.15rem;
}
.lb-pilot-rows dd{
  margin:0;font-family:var(--prose);font-size:.98rem;line-height:1.55;color:var(--ink-60);
  max-width:58ch;
}
.lb-pilot-rows dd b{color:var(--ink);font-weight:600;}
@media (max-width:640px){
  .lb-pilot-rows > div{grid-template-columns:minmax(0,1fr);gap:.3rem;}
}

/* ---------- close ---------- */
.lb-ask{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem;margin-top:2.2rem;align-items:start;}
.lb-ask .lead-form{max-width:none;}
.lb-ask-copy p{font-family:var(--prose);font-size:1.02rem;line-height:1.6;color:var(--ink-60);max-width:52ch;}
.lb-ask-copy p b{color:var(--ink);}
.lb-ask-copy .fine{margin-top:1.3rem;}
@media (max-width:900px){
  .lb-ask{grid-template-columns:minmax(0,1fr);gap:2rem;}
}

/* ---------- shared small print ---------- */
.lb-note{
  margin:1.8rem 0 0;font-family:var(--prose);font-size:.96rem;line-height:1.6;
  color:var(--ink-60);max-width:66ch;
}
.lb-note b{color:var(--ink);}
.lb-links{display:flex;flex-wrap:wrap;gap:.6rem 1.8rem;margin:1.6rem 0 0;}
