/* lp-mech.css: Lattice production-manual component layer (ported from lenspov lp-mech.css 2026-10-20) (2026-10-19, micro-niche wave).
   PORTED CONSTRUCTION, NOT COPIED CSS. The reference is the 2026-10-17 partner guide
   /articles/how-to-direct-repeatable-camera-moves-ai-video (inline cm-* system). Its second use is
   this wave's seven pages, so per visual skill 7.5 the diagram TYPES are extracted here as shared,
   token-driven components (lpm-*), and every colour resolves from the property sheet (styles.css
   :root plus the site.config.js runtime override of --accent / --secondary). Nothing here overrides
   a shared selector: every class is new and prefixed, so css-collision-audit has nothing to find.
   Light ground only (body.lattice-light), matching the property's article pages.
   Diagram types carried: top-down plan (mics, guests, lights), polar pattern, signal chain,
   to-scale price bars, cost stack, copyable keep-card, verdict-per-reader grid, finding callout. */

:root{
  --lpm-ink:var(--dark-mid);
  --lpm-ink-soft:var(--text);
  --lpm-faint:color-mix(in srgb,var(--text-light) 72%,var(--dark));
  --lpm-panel:color-mix(in srgb,var(--paper) 30%,#fff);
  --lpm-paper:color-mix(in srgb,var(--cream) 45%,var(--paper));
  --lpm-cream:var(--cream);
  --lpm-rule:color-mix(in srgb,var(--border) 82%,var(--text-light));
  --lpm-rule-soft:var(--border);
  --lpm-hot:var(--accent);
  --lpm-hot-soft:color-mix(in srgb,var(--accent) 12%,transparent);
  --lpm-warm:var(--secondary);
  --lpm-warm-hi:color-mix(in srgb,var(--lpm-warm) 55%,#fff); /* warm TEXT on dark surfaces (finding, keep card): a deep secondary measured 3.38 on --lpm-ink, peakloadout 2026-10-20 */
  --lpm-warm-soft:color-mix(in srgb,var(--secondary) 22%,transparent);
  --lpm-warm-ink:color-mix(in srgb,var(--secondary) 30%,var(--dark));
  --lpm-code-bg:var(--dark-mid);
  --lpm-code-ink:color-mix(in srgb,var(--paper) 92%,var(--secondary));
  --lpm-shadow:0 1px 2px color-mix(in srgb,var(--dark) 6%,transparent),0 18px 40px -28px color-mix(in srgb,var(--dark) 34%,transparent);
}

/* trade-press deck: kicker, one-clause headline (the H1), standfirst */
.lpm-kicker{display:block;font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--lpm-hot);margin:1.5rem 0 .5rem}
.lpm-deck{font-family:var(--display);font-size:1.16rem;line-height:1.5;color:var(--lpm-ink-soft);margin:0 0 1.1rem;max-width:62ch}
.lpm-byline{font-family:var(--mono);font-size:.74rem;color:var(--lpm-faint);margin:0 0 1.4rem;line-height:1.6}

/* chips: two hues AND two words, so colour is never the only signal */
.lpm-chip{display:inline-flex;align-items:center;gap:.35em;font-family:var(--mono);font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;line-height:1;padding:.32rem .5rem .3rem;border-radius:999px;border:1px solid;white-space:nowrap;vertical-align:.08em}
.lpm-chip::before{content:"";width:.42rem;height:.42rem;border-radius:50%;background:currentColor;flex:none}
.lpm-chip--hot{background:var(--lpm-hot-soft);color:var(--lpm-ink);border-color:color-mix(in srgb,var(--lpm-hot) 40%,transparent)}
.lpm-chip--hot::before{background:var(--lpm-hot)}
.lpm-chip--warm{background:var(--lpm-warm-soft);color:var(--lpm-ink);border-color:color-mix(in srgb,var(--lpm-warm) 55%,transparent)}
.lpm-chip--warm::before{background:var(--lpm-warm-ink);border-radius:1.5px}
.lpm-chip--plain{background:var(--lpm-panel);color:var(--lpm-ink-soft);border-color:var(--lpm-rule)}

/* cards */
.lpm-card{background:var(--lpm-panel);border:1px solid var(--lpm-rule-soft);border-radius:14px;box-shadow:var(--lpm-shadow);padding:1.4rem 1.5rem;margin-block:1.25rem 1.75rem}
.lpm-card > :last-child{margin-bottom:0}

/* the Lattice finding: one quotable sentence, its method one click away */
.lpm-finding{position:relative;background:var(--lpm-ink);color:var(--lpm-code-ink);border-radius:14px;padding:1.3rem 1.5rem 1.2rem;margin-block:1.4rem 1.8rem;box-shadow:var(--lpm-shadow)}
.lpm-finding-label{display:flex;align-items:center;gap:.5rem;font-family:var(--mono);font-size:.6875rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--lpm-warm-hi);margin:0 0 .55rem}
.lpm-finding-label::before{content:"";width:.55rem;height:.55rem;border-radius:2px;background:var(--lpm-hot)}
.lpm-finding-text{font-family:var(--display);font-size:1.2rem;line-height:1.45;color:#fff;margin:0 0 .7rem}
.lpm-finding-meta{font-family:var(--mono);font-size:.72rem;line-height:1.55;color:color-mix(in srgb,var(--paper) 78%,var(--dark));margin:0}
.lpm-finding-meta a:where(*){color:var(--lpm-warm-hi);text-decoration:underline;text-underline-offset:2px}

/* quick answer: numbered steps */
.lpm-qa{border-top:3px solid var(--lpm-hot)}
.lpm-qa-lead{font-family:var(--mono);font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--lpm-faint);margin:0 0 .4rem}
.lpm-steps.lpm-steps{list-style:none;counter-reset:lpmstep;margin:0;padding:0}
.lpm-steps > li{counter-increment:lpmstep;position:relative;margin:0;padding:.9rem 0 .9rem 3.4rem;border-top:1px solid var(--lpm-rule-soft);color:var(--lpm-ink-soft);line-height:1.6}
.lpm-steps > li:first-child{border-top:0}
.lpm-steps > li:last-child{padding-bottom:.2rem}
.lpm-steps > li::before{content:counter(lpmstep,decimal-leading-zero);position:absolute;left:0;top:.7rem;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:1.65rem;font-weight:700;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums lining-nums;color:var(--lpm-hot)}

/* figures: the drawn mechanism */
.lpm-fig{margin-block:1.5rem 1.6rem;padding:1.1rem 1.1rem 1rem;background:var(--lpm-panel);border:1px solid var(--lpm-rule-soft);border-radius:14px;box-shadow:var(--lpm-shadow)}
.lpm-fig-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.lpm-fig-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lpm-panel{min-width:0;background:var(--lpm-paper);border:1px solid var(--lpm-rule-soft);border-radius:10px;padding:.75rem .75rem .55rem}
.lpm-panel-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .6rem;margin:0 .15rem .45rem}
.lpm-panel-name{font-family:var(--display);font-size:1.04rem;font-weight:600;color:var(--lpm-ink)}
.lpm-panel-sub{font-family:var(--mono);font-size:.6875rem;letter-spacing:.04em;color:var(--lpm-faint)}
.lpm-svg{display:block;width:100%;height:auto;margin:0 auto}
.lpm-svg--plan{max-width:420px}
.lpm-svg--polar{max-width:250px}
.lpm-svg--polar .lpm-t{font-size:13px}
.lpm-fig-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:900px){.lpm-fig-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
:is(.lpm-svg,.lpm-key) .lpm-t{font-family:var(--mono);font-size:10.5px;fill:var(--lpm-faint);letter-spacing:.02em}
:is(.lpm-svg,.lpm-key) .lpm-t-ink{fill:var(--lpm-ink);font-weight:600}
:is(.lpm-svg,.lpm-key) .lpm-t-hot{fill:var(--lpm-hot);font-weight:600}
:is(.lpm-svg,.lpm-key) .lpm-t-on{fill:#fff;font-weight:600}
:is(.lpm-svg,.lpm-key) .lpm-room{fill:#fff;stroke:var(--lpm-rule);stroke-width:1.2}
:is(.lpm-svg,.lpm-key) .lpm-desk{fill:var(--lpm-cream);stroke:var(--lpm-rule);stroke-width:1}
:is(.lpm-svg,.lpm-key) .lpm-grid{fill:none;stroke:var(--lpm-rule-soft);stroke-width:1}
:is(.lpm-svg,.lpm-key) .lpm-grid-d{fill:none;stroke:var(--lpm-rule-soft);stroke-width:1;stroke-dasharray:2 3}
:is(.lpm-svg,.lpm-key) .lpm-lobe{fill:var(--lpm-hot-soft);stroke:var(--lpm-hot);stroke-width:1.6}
:is(.lpm-svg,.lpm-key) .lpm-lobe-ghost{fill:none;stroke:var(--lpm-hot);stroke-width:1.1;stroke-dasharray:3 3;opacity:.55}
:is(.lpm-svg,.lpm-key) .lpm-beam{fill:var(--lpm-warm-soft);stroke:var(--lpm-warm-ink);stroke-width:1}
:is(.lpm-svg,.lpm-key) .lpm-null{fill:none;stroke:var(--lpm-ink);stroke-width:1.2;stroke-dasharray:4 3}
:is(.lpm-svg,.lpm-key) .lpm-dev{fill:var(--lpm-ink)}
:is(.lpm-svg,.lpm-key) .lpm-dev-o{fill:#fff;stroke:var(--lpm-ink);stroke-width:1.4}
:is(.lpm-svg,.lpm-key) .lpm-person{fill:var(--lpm-hot)}
:is(.lpm-svg,.lpm-key) .lpm-person-o{fill:#fff;stroke:var(--lpm-hot);stroke-width:1.5}
:is(.lpm-svg,.lpm-key) .lpm-noise{fill:none;stroke:var(--lpm-faint);stroke-width:1.2;stroke-dasharray:2 2.5}
:is(.lpm-svg,.lpm-key) .lpm-noise-src{fill:var(--lpm-cream);stroke:var(--lpm-faint);stroke-width:1}
:is(.lpm-svg,.lpm-key) .lpm-wire{fill:none;stroke:var(--lpm-ink);stroke-width:1.6;stroke-linecap:round}
:is(.lpm-svg,.lpm-key) .lpm-wire-hot{fill:none;stroke:var(--lpm-hot);stroke-width:1.8;stroke-linecap:round}
:is(.lpm-svg,.lpm-key) .lpm-box{fill:#fff;stroke:var(--lpm-rule);stroke-width:1.2}
:is(.lpm-svg,.lpm-key) .lpm-box-hot{fill:var(--lpm-hot-soft);stroke:var(--lpm-hot);stroke-width:1.3}
:is(.lpm-svg,.lpm-key) .lpm-box-warm{fill:var(--lpm-warm-soft);stroke:var(--lpm-warm-ink);stroke-width:1.1}
:is(.lpm-svg,.lpm-key) .lpm-box-ink{fill:var(--lpm-ink)}
:is(.lpm-svg,.lpm-key) .lpm-ah{fill:var(--lpm-ink)}
:is(.lpm-svg,.lpm-key) .lpm-ah-hot{fill:var(--lpm-hot)}
:is(.lpm-svg,.lpm-key) .lpm-bar{fill:var(--lpm-hot)}
:is(.lpm-svg,.lpm-key) .lpm-bar-alt{fill:var(--lpm-warm)}
:is(.lpm-svg,.lpm-key) .lpm-bar-ink{fill:var(--lpm-ink)}
:is(.lpm-svg,.lpm-key) .lpm-bar-track{fill:var(--lpm-rule-soft)}
:is(.lpm-svg,.lpm-key) .lpm-axis{stroke:var(--lpm-rule);stroke-width:1}
:is(.lpm-svg,.lpm-key) .lpm-mark{stroke:var(--lpm-ink);stroke-width:1.2;stroke-dasharray:3 3}
.lpm-legend.lpm-legend{padding:0}
.lpm-legend{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;list-style:none;margin:.85rem .2rem 0;padding:0}
.lpm-legend li{display:flex;align-items:center;gap:.4rem;margin:0;font-family:var(--mono);font-size:.6875rem;color:var(--lpm-faint)}
.lpm-key{width:20px;height:16px;flex:none}
.lpm-fig figcaption{margin:.75rem .2rem 0;padding-top:.7rem;border-top:1px solid var(--lpm-rule-soft);font-size:.8rem;line-height:1.5;color:var(--lpm-faint)}

/* keep-card: the decision artifact the reader copies */
.lpm-keep{background:var(--lpm-code-bg);border:1px solid color-mix(in srgb,var(--lpm-code-bg) 70%,var(--text));border-radius:12px;overflow:hidden;margin-block:1.25rem 1.6rem}
.lpm-keep-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .6rem .55rem .9rem;border-bottom:1px solid color-mix(in srgb,var(--paper) 16%,transparent)}
.lpm-keep-title{font-family:var(--mono);font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--lpm-warm-hi)}
.lpm-keep-text{margin:0;padding:.9rem 1rem 1rem;font-family:var(--mono);font-size:.8rem;line-height:1.7;color:var(--lpm-code-ink);white-space:pre-wrap;overflow-wrap:anywhere}
.lpm-copy{font:600 .6875rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--lpm-code-ink);background:transparent;border:1px solid color-mix(in srgb,var(--paper) 30%,transparent);border-radius:6px;padding:.42rem .65rem;cursor:pointer;min-width:4.6rem}
.lpm-copy:hover{background:color-mix(in srgb,var(--paper) 10%,transparent)}
.lpm-copy:focus-visible{outline:2px solid var(--lpm-warm);outline-offset:2px}
.lpm-copy.is-done{color:var(--lpm-warm-hi);border-color:var(--lpm-warm-hi)}
@media (prefers-reduced-motion:no-preference){.lpm-copy{transition:background-color .15s,border-color .15s,color .15s}}

/* verdict per reader type */
.lpm-verdicts.lpm-verdicts{padding:0;margin-left:0}
.lpm-verdicts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin-block:1.25rem 1.6rem;padding:0;list-style:none}
.lpm-verdicts > li{margin:0;min-width:0;background:var(--lpm-panel);border:1px solid var(--lpm-rule-soft);border-left:3px solid var(--lpm-hot);border-radius:10px;padding:1rem 1.1rem;box-shadow:var(--lpm-shadow)}
.lpm-v-who{display:block;font-family:var(--mono);font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--lpm-faint);margin-bottom:.3rem}
.lpm-v-pick{display:block;font-family:var(--display);font-size:1.12rem;font-weight:600;color:var(--lpm-ink);line-height:1.3;margin-bottom:.35rem}
.lpm-v-why{display:block;font-size:.9rem;line-height:1.55;color:var(--lpm-ink-soft)}

/* picks: every buyable thing shown as a card (Content OS 5b + 5d) */
.lpm-picks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin-block:1.25rem 1.75rem}
.lpm-pick{min-width:0;display:flex;flex-direction:column;gap:.55rem;background:var(--lpm-panel);border:1px solid var(--lpm-rule-soft);border-radius:12px;padding:1rem 1.1rem;box-shadow:var(--lpm-shadow)}
.lpm-pick-head{display:flex;align-items:center;gap:.65rem}
.lpm-mark{width:34px;height:34px;flex:none;border-radius:8px;border:1px solid var(--lpm-rule-soft);background:#fff;object-fit:contain;padding:3px}
.lpm-mark--chip{display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:1rem;color:#fff;background:var(--lpm-ink);border-color:var(--lpm-ink)}
.lpm-pick-name{font-family:var(--display);font-size:1.06rem;font-weight:600;line-height:1.25;color:var(--lpm-ink);margin:0}
.lpm-pick-for{display:block;font-family:var(--mono);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--lpm-faint);margin-top:.15rem}
.lpm-pick-price{font-family:var(--mono);font-size:.95rem;font-weight:700;color:var(--lpm-ink)}
.lpm-pick-price small{font-weight:400;font-size:.6875rem;color:var(--lpm-faint);margin-left:.3rem}
.lpm-pick p{margin:0;font-size:.9rem;line-height:1.55;color:var(--lpm-ink-soft)}
.lpm-pick-pills{display:flex;flex-wrap:wrap;gap:.35rem}
.lpm-pick-cta{margin-top:auto;padding-top:.35rem}
.lpm-pick-cta a:where(*){display:inline-block;font-family:var(--mono);font-size:.76rem;font-weight:700;color:#fff;background:var(--lpm-ink);padding:.5rem .9rem;border-radius:7px;text-decoration:none}
.lpm-pick-cta a:where(*):hover{background:var(--lpm-hot);color:#fff}

/* spec matrix */
.lpm-scroll{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-block:1rem 1.5rem;border:1px solid var(--lpm-rule-soft);border-radius:12px;background:var(--lpm-panel);box-shadow:var(--lpm-shadow)}
.lpm-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.86rem;line-height:1.45}
.lpm-table th,.lpm-table td{border:0;border-bottom:1px solid var(--lpm-rule-soft);padding:.65rem .8rem;text-align:left;vertical-align:top}
.lpm-table thead th{background:var(--lpm-ink);color:#fff;font-family:var(--mono);font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.lpm-table tbody tr:nth-child(even) td{background:var(--lpm-paper)}
.lpm-table tbody tr:last-child td{border-bottom:0}
.lpm-table tbody td:first-child{font-weight:650;color:var(--lpm-ink)}
.lpm-table td.lpm-num{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.lpm-table td.lpm-na{color:var(--lpm-faint);font-style:italic}
@media (max-width:700px){
  .lpm-table{min-width:36rem}
  .lpm-table tbody td:first-child,.lpm-table thead th:first-child{position:sticky;left:0;z-index:1;box-shadow:1px 0 0 var(--lpm-rule)}
  .lpm-table tbody td:first-child{background:var(--lpm-panel)}
  .lpm-table tbody tr:nth-child(even) td:first-child{background:var(--lpm-paper)}
}

/* cost stack (a + b = total) */
.lpm-stats{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;gap:.6rem;margin-block:0 1.6rem;padding:1rem;background:var(--lpm-panel);border:1px solid var(--lpm-rule-soft);border-radius:14px;box-shadow:var(--lpm-shadow)}
.lpm-stat{display:flex;flex-direction:column;justify-content:center;gap:.3rem;padding:.8rem .9rem;background:var(--lpm-paper);border-radius:10px;min-width:0}
.lpm-stat-n{font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:1.7rem;font-weight:700;font-variant-numeric:tabular-nums lining-nums;line-height:1;letter-spacing:-.02em;color:var(--lpm-ink)}
.lpm-stat-l{font-family:var(--mono);font-size:.7rem;line-height:1.4;letter-spacing:.03em;color:var(--lpm-faint)}
.lpm-stat--total{background:var(--lpm-ink)}
.lpm-stat--total .lpm-stat-n{color:#fff}
.lpm-stat--total .lpm-stat-l{color:color-mix(in srgb,var(--paper) 80%,var(--dark))}
.lpm-op{align-self:center;font-family:var(--mono);font-size:1.1rem;color:var(--lpm-faint)}

/* verdict strip */
.lpm-verdict{position:relative;margin-block:0 2rem;padding:1rem 1.25rem 1rem 3.1rem;background:var(--lpm-cream);border:1px solid var(--lpm-rule-soft);border-radius:12px;font-family:var(--display);font-size:1.06rem;line-height:1.5;color:var(--lpm-ink)}
.lpm-verdict::before{content:"";position:absolute;left:1.2rem;top:50%;width:1.1rem;height:1.1rem;margin-top:-.55rem;border-radius:50%;background:radial-gradient(circle,var(--lpm-hot) 0 32%,transparent 34%),radial-gradient(circle,transparent 0 56%,var(--lpm-hot) 58% 70%,transparent 72%)}

/* methodology */
.lpm-method{background:var(--lpm-paper);border:1px solid var(--lpm-rule-soft);border-left:3px solid var(--lpm-ink);border-radius:10px;padding:1rem 1.2rem;margin-block:1.25rem 1.6rem;font-size:.88rem;line-height:1.6;color:var(--lpm-ink-soft)}
.lpm-method strong:first-child{display:block;font-family:var(--mono);font-size:.6875rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--lpm-faint);margin-bottom:.3rem}
.lpm-method p{margin:0 0 .5rem}
.lpm-method p:last-child{margin-bottom:0}

/* doors: where a maker meets the page (seeding, press, creator programmes) */
.lpm-doors{font-size:.86rem;line-height:1.6;color:var(--lpm-ink-soft)}

@media (max-width:720px){
  .lpm-verdicts,.lpm-picks{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:600px){
  .lpm-fig{padding:.8rem .7rem .8rem}
  .lpm-fig-grid,.lpm-fig-grid--3{grid-template-columns:minmax(0,1fr)}
  .lpm-stats{grid-template-columns:minmax(0,1fr);gap:.35rem}
  .lpm-op{justify-self:center;line-height:1}
  .lpm-card{padding:1.15rem 1.1rem}
  .lpm-steps > li{padding-left:2.9rem}
  .lpm-steps > li::before{font-size:1.5rem}
  .lpm-panel{padding:.55rem .4rem .4rem}
  :is(.lpm-svg,.lpm-key) .lpm-t{font-size:12.5px}
  .lpm-finding-text{font-size:1.08rem}
}
/* wide breakout for figures on large screens; doubled class outranks each component's own margin */
@media (min-width:1040px){
  .lpm-wide.lpm-wide{width:min(940px,calc(100vw - 3rem));margin-left:calc((100% - min(940px,calc(100vw - 3rem))) / 2)}
}

/* read next: one device for interior related links on this layer */
.lpm-next{margin-block:3rem 2rem;padding-top:2rem;border-top:1px solid var(--lpm-rule-soft)}
.lpm-next-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem}
.lpm-next-card{display:block;min-width:0;background:var(--lpm-panel);border:1px solid var(--lpm-rule-soft);border-radius:12px;padding:1rem 1.1rem;box-shadow:var(--lpm-shadow)}
.lpm-next-card:where(a){text-decoration:none}
.article-wrap a.lpm-next-card{color:inherit;text-decoration:none}
.lpm-next-chip{display:inline-block;font-family:var(--mono);font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--lpm-faint);margin-bottom:.45rem}
.lpm-next-title{display:block;font-family:var(--display);font-size:1rem;font-weight:600;line-height:1.3;color:var(--lpm-ink);margin-bottom:.35rem}
.lpm-next-desc{display:block;font-size:.84rem;line-height:1.5;color:var(--lpm-ink-soft)}
@media (prefers-reduced-motion:no-preference){.lpm-next-card{transition:border-color .15s,transform .15s}.lpm-next-card:hover{border-color:var(--lpm-hot);transform:translateY(-2px)}}

/* PHONE LEGIBILITY (2026-10-20, eye-found on peakloadout at 400px; the same geometry applies wherever this kit runs).
   A 720-unit diagram scaled into a ~340px column renders its 10.5px labels at ~5px: drawn, but unreadable. Below 640px a
   wide figure keeps a 720px floor and scrolls sideways INSIDE its card (the table pattern, .lpm-scroll); captions and
   legends stay at card width. Narrow-by-design diagrams (plan, polar, panels in a grid) are left alone. */
@media (max-width:640px){
  .lpm-fig:has(> .lpm-svg:not(.lpm-svg--plan):not(.lpm-svg--polar)){overflow-x:auto;-webkit-overflow-scrolling:touch}
  .lpm-fig > .lpm-svg:not(.lpm-svg--plan):not(.lpm-svg--polar){min-width:720px}
  /* the kit bumps phone labels to 12.5px to offset a figure shrunk to the column; a floored figure is not shrunk, so the
     bump only widens labels past the viewBox (svgClip on 5 live pages, 10-20). Floored figures keep the designed 10.5px. */
  .lpm-fig > .lpm-svg:not(.lpm-svg--plan):not(.lpm-svg--polar) .lpm-t{font-size:10.5px}
  .lpm-fig > figcaption,.lpm-fig > .lpm-legend,.lpm-fig > .lpm-panel-head{position:sticky;left:0;max-width:calc(100vw - 4rem)}
}

/* ORPHAN GUARD (2026-10-20): an odd count of verdicts in the two-column grid left the last card alone in its row
   (peakloadout: 5 verdicts on 3 of 5 articles). The last card of an odd set spans the row instead. */
.lpm-verdicts > li:last-child:nth-child(odd){grid-column:1 / -1}
/* bar-chart labels render at 1:1 in a 720px column; keep them legible when the column scales */
.lpm-fig > .lpm-svg.lpm-svg--bars .lpm-t, :is(.lpm-svg--bars) .lpm-t{font-size:12.5px}
