/* LAKANA Proof Library v2 — architecture-to-execution evidence system.
   Additive, scoped to proof-library.html via the lpl- namespace. Does not
   modify shared design-system files or the lav2- namespace used by
   architecture.html, so no other page's layout is affected.
   A3 scope: structure only. No run data exists yet, so every card here is
   either a live cross-link or an explicitly labeled empty template. */

:root{--lakana-global-header-height:64px}

.lpl-domainnav a:focus-visible,.lpl-surface-card a:focus-visible,.lpl-domain-summary a:focus-visible,.lpl-math-nonclaim a:focus-visible,.lpl-cta-row a:focus-visible{outline:3px solid var(--lakana-teal);outline-offset:2px}

.lpl-domainnav{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:22px 0 0;
  padding:14px;
  background:white;
  border:1px solid var(--lakana-line);
  border-radius:20px;
  box-shadow:0 12px 30px rgba(10,22,37,.06);
  position:sticky;
  top:calc(var(--lakana-global-header-height, 64px) + 8px);
  z-index:40;
}
.lpl-domainnav a{
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.02em;
  color:var(--lakana-ink);
  text-decoration:none;
  padding:8px 11px;
  border-radius:999px;
  background:var(--lakana-paper);
  border:1px solid rgba(8,19,34,.08);
  white-space:nowrap;
}
.lpl-domainnav a:hover,.lpl-domainnav a:focus-visible{background:rgba(13,115,119,.12);border-color:rgba(13,115,119,.35)}

/* ---------- Hero ---------- */
.lpl-hero{margin-top:22px}
.lpl-kicker{
  display:inline-block;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.72rem;
  font-weight:950;
  color:var(--lakana-teal);
  margin-bottom:10px;
}
.lpl-hero h1{margin:0 0 14px;font-size:2.1rem;letter-spacing:-.03em;line-height:1.2;max-width:920px}
.lpl-hero > p{max-width:860px;color:var(--lakana-muted);font-size:1.02rem;line-height:1.6;margin:0 0 18px}

.lpl-status-notice{
  background:#081322;
  color:#EAF4F4;
  border-radius:22px;
  padding:18px 20px;
  border:1px solid rgba(70,214,209,.25);
  max-width:920px;
  margin-bottom:18px;
}
.lpl-status-notice b{
  display:block;
  color:var(--lakana-teal-2);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-bottom:6px;
}
.lpl-status-notice p{margin:0;color:rgba(234,244,244,.86);line-height:1.6;font-size:.92rem}

.lpl-cta-row{display:flex;flex-wrap:wrap;gap:10px}

/* ---------- Sections ---------- */
.lpl-section{
  background:white;
  border:1px solid var(--lakana-line);
  border-radius:28px;
  padding:26px;
  box-shadow:0 18px 46px rgba(10,22,37,.08);
  margin-top:22px;
  scroll-margin-top:calc(var(--lakana-global-header-height, 64px) + 56px);
}
.lpl-subsection,#proof-sos-bfb,#proof-sos-tab,#proof-w-x,#proof-wx-ag{
  scroll-margin-top:calc(var(--lakana-global-header-height, 64px) + 56px);
}
.lpl-section h2{margin:0 0 6px;font-size:1.7rem;letter-spacing:-.03em}
.lpl-lede{max-width:900px;color:var(--lakana-muted);line-height:1.65;margin:8px 0}

/* ---------- Three-surface distinction ---------- */
.lpl-surface-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.lpl-surface-card{
  background:var(--lakana-paper);
  border:1px solid rgba(8,19,34,.08);
  border-radius:20px;
  padding:16px;
}
.lpl-surface-card b{display:block;font-size:1.02rem;color:var(--lakana-ink);margin-bottom:6px}
.lpl-surface-card p{margin:0 0 10px;color:var(--lakana-muted);font-size:.87rem;line-height:1.55}
.lpl-surface-card a{color:var(--lakana-teal);font-weight:900;text-decoration:none;font-size:.85rem}
.lpl-surface-card a:hover,.lpl-surface-card a:focus-visible{text-decoration:underline}
.lpl-equivalence{
  margin:18px 0 6px;
  font-weight:950;
  font-size:1.05rem;
  letter-spacing:-.01em;
  color:var(--lakana-ink);
}

/* ---------- Domain summary key/value strip ---------- */
.lpl-domain-summary{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:0 20px;
  margin:14px 0 0;
  border-top:1px solid var(--lakana-line);
  padding-top:14px;
}
.lpl-domain-summary > div{padding:8px 0;border-bottom:1px solid rgba(8,19,34,.07)}
.lpl-domain-summary b{
  display:block;
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-weight:950;
  color:#7C8998;
  margin:0 0 4px;
}
.lpl-domain-summary span{color:#354657;line-height:1.5;font-size:.88rem}
.lpl-domain-summary a{color:var(--lakana-teal);font-weight:800;text-decoration:none}
.lpl-domain-summary a:hover,.lpl-domain-summary a:focus-visible{text-decoration:underline}

.lpl-status{
  margin:14px 0 0;
  font-size:.82rem;
  color:#8A6415;
  background:rgba(207,157,42,.10);
  border:1px solid rgba(207,157,42,.32);
  border-radius:12px;
  padding:9px 14px;
  display:inline-block;
}

/* ---------- Future record anatomy tree ---------- */
.lpl-record-anatomy{
  margin-top:18px;
  padding-top:18px;
  border-top:1px dashed rgba(8,19,34,.14);
}
.lpl-anatomy-label{
  margin:0 0 10px;
  font-weight:950;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#9E2F2F;
}
.lpl-tree{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:6px;
  min-width:0;
}
.lpl-tree li{
  background:var(--lakana-paper);
  border:1px solid rgba(8,19,34,.08);
  border-radius:12px;
  padding:9px 12px;
  font-size:.85rem;
  color:#405064;
  line-height:1.5;
  min-width:0;
  overflow-wrap:anywhere;
}
.lpl-tree .lpl-tree{margin-top:8px;padding-left:16px;border-left:2px solid rgba(13,115,119,.25)}

.lpl-subsection{margin-top:22px;padding-top:20px;border-top:2px solid rgba(13,115,119,.14)}
.lpl-subsection h3{margin:0 0 4px;font-size:1.25rem;letter-spacing:-.02em}
.lpl-subsection .lpl-domain-summary{border-top:none;padding-top:6px}

/* ---------- Common authorities ---------- */
.lpl-common-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.lpl-common-card{
  background:var(--lakana-paper);
  border:1px solid rgba(8,19,34,.08);
  border-radius:18px;
  padding:14px;
}
.lpl-common-card b{display:block;font-size:.86rem;color:var(--lakana-ink);margin-bottom:6px}
.lpl-common-card p{margin:0;color:var(--lakana-muted);font-size:.85rem;line-height:1.55}

/* ---------- SSES future-visual cards ---------- */
.lpl-sses-visual-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:16px}
.lpl-sses-visual-card{
  background:white;
  border:1px solid var(--lakana-line);
  border-radius:18px;
  padding:16px;
}
.lpl-sses-visual-card b{display:block;font-size:.94rem;color:var(--lakana-ink);margin-bottom:8px;letter-spacing:-.01em}
.lpl-sses-visual-card p{margin:0 0 8px;font-size:.83rem;color:#405064;line-height:1.55}
.lpl-sses-visual-card p em{color:#7C8998;font-style:italic}
.lpl-visual-reserved{
  margin-top:10px !important;
  font-size:.78rem !important;
  color:#9E2F2F !important;
  background:rgba(158,47,47,.06);
  border-left:3px solid #9E2F2F;
  padding:8px 12px;
  border-radius:0 10px 10px 0;
}

/* ---------- Record template ---------- */
.lpl-template-card{
  margin-top:16px;
  background:var(--lakana-paper);
  border:1px solid rgba(8,19,34,.08);
  border-radius:20px;
  padding:18px 20px;
}
.lpl-template-list{
  margin:0;
  padding-left:0;
  list-style:none;
  counter-reset:pltmpl;
  display:grid;
  gap:6px;
  min-width:0;
}
.lpl-template-list li{
  counter-increment:pltmpl;
  position:relative;
  padding:8px 10px 8px 34px;
  border-radius:10px;
  background:white;
  border:1px solid rgba(8,19,34,.06);
  font-size:.86rem;
  color:#354657;
  line-height:1.5;
  min-width:0;
  overflow-wrap:anywhere;
}
.lpl-template-list li::before{
  content:counter(pltmpl);
  position:absolute;
  left:8px;
  top:8px;
  width:20px;
  height:20px;
  border-radius:6px;
  background:rgba(13,115,119,.14);
  color:var(--lakana-teal);
  font-weight:950;
  font-size:.7rem;
  display:flex;
  align-items:center;
  justify-content:center;
}
.lpl-template-list li em{color:#8A6415;font-style:normal;font-weight:800}

/* ---------- Public-safe math reference (re-themed from the legacy page) ---------- */
.lpl-math-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:16px}
.lpl-math-card{
  background:white;
  border:1px solid var(--lakana-line);
  border-radius:18px;
  padding:16px;
}
.lpl-math-card h3{margin:0 0 6px;font-size:1.02rem;letter-spacing:-.01em}
.lpl-math-card > p{margin:0 0 10px;font-size:.84rem;color:var(--lakana-muted);line-height:1.55}
.lpl-math-block{
  background:#0A1625;
  color:#DDE7EF;
  border-radius:12px;
  padding:12px 14px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.78rem;
  line-height:1.6;
  white-space:pre-wrap;
  overflow-x:auto;
}
.lpl-math-nonclaim{
  margin:10px 0 0 !important;
  font-size:.78rem;
  color:#9E2F2F;
  background:rgba(158,47,47,.06);
  border-left:3px solid #9E2F2F;
  padding:8px 12px;
  border-radius:0 10px 10px 0;
}
.lpl-math-nonclaim a{color:#9E2F2F;font-weight:800}

/* ---------- Responsive ---------- */
@media(max-width:1180px){
  .lpl-surface-grid{grid-template-columns:1fr}
  .lpl-common-grid{grid-template-columns:1fr}
  .lpl-domain-summary{grid-template-columns:1fr}
}
@media(max-width:740px){
  .lpl-domainnav{position:static}
  .lpl-hero h1{font-size:1.6rem}
  .lpl-sses-visual-grid{grid-template-columns:1fr}
  .lpl-math-grid{grid-template-columns:1fr}
}

@media print{
  .lpl-domainnav,.lakana-global-menu-v3,#lakana-global-menu-v3,.lakana-cta-row{display:none !important}
  .lpl-section{border:1px solid #000;box-shadow:none;page-break-inside:avoid}
  a[href]::after{content:none}
  body{background:white}
}

@media(prefers-reduced-motion:reduce){
  .lpl-domainnav a{transition:none}
}

/* Grid items default to min-width:auto (their content's min-content size),
   which lets long unbroken text force a track wider than the available
   viewport even when the track itself is minmax(0,1fr). Every card/list
   item living inside a grid needs min-width:0 to actually shrink-wrap. */
.lpl-surface-card,.lpl-common-card,.lpl-sses-visual-card,.lpl-math-card,.lpl-domain-summary > div{
  min-width:0;
  overflow-wrap:anywhere;
}
