/* librationzero.css -- the LO Protocol Trust Benchmark instrument (GENERATED by lzgen.py).
   Per-project layout with an expandable per-element breakdown under each crypto.
   Static, canon-clean: all styling here (never inline); meter widths are discrete
   .lzw-NN utilities; the breakdown is a native <details> (no script). Tokens from p2-shell.css. */

.lz{max-width:var(--col); margin:0 auto; padding:26px 22px 64px}
.lz-hero{border-bottom:1px solid var(--hair); padding-bottom:16px}
.lz-mark{font-family:var(--disp); font-size:var(--fs-disp); line-height:.95; letter-spacing:.02em}
.lz-title{font-family:var(--disp); font-weight:400; font-size:var(--fs-num); margin:.35em 0 0}
.lz-legend{color:var(--faint); font-size:var(--fs-meta); letter-spacing:.03em; line-height:1.75; margin:14px 0 0; max-width:78ch}
.lz-legend b{color:var(--ink-2)}

.lz-roster{margin-top:16px}
.lz-proj{border:1px solid var(--hair); background:var(--panel); padding:16px 16px 12px; margin-top:12px}
.lz-phd{display:flex; align-items:flex-start; justify-content:space-between; gap:16px; flex-wrap:wrap}
.lz-pn{font-family:var(--disp); font-size:var(--fs-lead); font-weight:400; margin:0}
.lz-ptick{color:var(--faint); font-size:var(--fs-small); margin-left:.5em}
.lz-srank{color:var(--faint); margin-right:.5em}

.lz-3{display:grid; grid-template-columns:repeat(3, minmax(72px,1fr)); gap:1px; background:var(--hair); border:1px solid var(--hair); min-width:248px}
.lz-dex .lz-3{grid-template-columns:minmax(96px,160px)}
.lz-s{background:var(--paper); padding:7px 9px}
.lz-sl{display:block; color:var(--faint); font-size:9px; letter-spacing:.07em; text-transform:uppercase}
.lz-sv{display:block; font-family:var(--disp); font-size:var(--fs-lead); line-height:1.1; margin:2px 0 4px}
.lz-sb{display:block; background:var(--paper); border:1px solid var(--hair); height:6px; overflow:hidden}
.lz-sb i{display:block; height:100%; background:var(--ink)}
.lz-s.lz-pend .lz-sv{color:var(--faint)}
.lz-s.lz-pend .lz-sb i{background:var(--hair)}

.lz-pd{font-size:var(--fs-small); color:var(--ink); line-height:1.6; margin:12px 0 0; max-width:72ch}
.lz-pw{font-size:var(--fs-small); color:var(--ink-2); line-height:1.6; margin:7px 0 0; max-width:72ch}
.lz-wl{color:var(--dn); font-size:var(--fs-meta); letter-spacing:.06em; text-transform:uppercase; margin-right:.6em}
.lz-conf{color:var(--faint); text-transform:uppercase; letter-spacing:.05em; font-size:var(--fs-meta)}

/* the governance-style expandable breakdown */
.lz-bd{margin-top:11px; border-top:1px solid var(--hair); padding-top:8px}
.lz-bd>summary{cursor:pointer; color:var(--ink-2); font-size:var(--fs-meta); letter-spacing:.07em; text-transform:uppercase; list-style:none; user-select:none}
.lz-bd>summary::-webkit-details-marker{display:none}
.lz-bd>summary::before{content:"+ "; color:var(--faint)}
.lz-bd[open]>summary::before{content:"\2212 "}
.lz-bd>summary:hover{color:var(--ink)}
.lz-bt{width:100%; border-collapse:collapse; margin:12px 0 4px; font-size:var(--fs-meta)}
.lz-bt caption{caption-side:top; text-align:left; color:var(--faint); font-size:var(--fs-meta); letter-spacing:.04em; padding-bottom:6px}
.lz-bt th{color:var(--faint); font-weight:400; text-transform:uppercase; letter-spacing:.05em; border-bottom:1px solid var(--hair); padding:3px 6px; text-align:left}
.lz-bt td{border-bottom:1px solid var(--hair); padding:4px 6px; vertical-align:middle}
.lz-el{color:var(--ink-2)}
.lz-num{text-align:right; font-family:var(--disp); white-space:nowrap}
.lz-bk{width:84px}
.lz-bkb{display:block; background:var(--paper); border:1px solid var(--hair); height:7px; overflow:hidden}
.lz-bkb i{display:block; height:100%; background:var(--ink-2)}
.lz-bdnote{color:var(--faint); font-size:var(--fs-meta); margin:8px 0 0}

/* DEX safety (app layer) */
.lz-dex{margin-top:40px}
.lz-dexhd{display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; border-bottom:1px solid var(--hair); padding-bottom:6px}
.lz-dexname{font-family:var(--disp); font-size:var(--fs-lead)}
.lz-dexlayer{color:var(--faint); font-size:var(--fs-meta); letter-spacing:.08em; text-transform:uppercase}
.lz-dexnote{color:var(--faint); font-size:var(--fs-meta); line-height:1.7; margin:10px 0 2px; max-width:74ch}

.lz-foot{margin-top:42px; border-top:1px solid var(--hair); padding-top:16px; color:var(--faint); font-size:var(--fs-meta); line-height:1.85; max-width:76ch}
.lz-foot b{color:var(--ink-2)}

@media (max-width:560px){ .lz-phd{flex-direction:column} .lz-3{width:100%} .lz-bk{display:none} }

/* meter widths 0..100 -- discrete so no width is ever set inline (canon). */

.lzw-0{width:0%}
.lzw-1{width:1%}
.lzw-2{width:2%}
.lzw-3{width:3%}
.lzw-4{width:4%}
.lzw-5{width:5%}
.lzw-6{width:6%}
.lzw-7{width:7%}
.lzw-8{width:8%}
.lzw-9{width:9%}
.lzw-10{width:10%}
.lzw-11{width:11%}
.lzw-12{width:12%}
.lzw-13{width:13%}
.lzw-14{width:14%}
.lzw-15{width:15%}
.lzw-16{width:16%}
.lzw-17{width:17%}
.lzw-18{width:18%}
.lzw-19{width:19%}
.lzw-20{width:20%}
.lzw-21{width:21%}
.lzw-22{width:22%}
.lzw-23{width:23%}
.lzw-24{width:24%}
.lzw-25{width:25%}
.lzw-26{width:26%}
.lzw-27{width:27%}
.lzw-28{width:28%}
.lzw-29{width:29%}
.lzw-30{width:30%}
.lzw-31{width:31%}
.lzw-32{width:32%}
.lzw-33{width:33%}
.lzw-34{width:34%}
.lzw-35{width:35%}
.lzw-36{width:36%}
.lzw-37{width:37%}
.lzw-38{width:38%}
.lzw-39{width:39%}
.lzw-40{width:40%}
.lzw-41{width:41%}
.lzw-42{width:42%}
.lzw-43{width:43%}
.lzw-44{width:44%}
.lzw-45{width:45%}
.lzw-46{width:46%}
.lzw-47{width:47%}
.lzw-48{width:48%}
.lzw-49{width:49%}
.lzw-50{width:50%}
.lzw-51{width:51%}
.lzw-52{width:52%}
.lzw-53{width:53%}
.lzw-54{width:54%}
.lzw-55{width:55%}
.lzw-56{width:56%}
.lzw-57{width:57%}
.lzw-58{width:58%}
.lzw-59{width:59%}
.lzw-60{width:60%}
.lzw-61{width:61%}
.lzw-62{width:62%}
.lzw-63{width:63%}
.lzw-64{width:64%}
.lzw-65{width:65%}
.lzw-66{width:66%}
.lzw-67{width:67%}
.lzw-68{width:68%}
.lzw-69{width:69%}
.lzw-70{width:70%}
.lzw-71{width:71%}
.lzw-72{width:72%}
.lzw-73{width:73%}
.lzw-74{width:74%}
.lzw-75{width:75%}
.lzw-76{width:76%}
.lzw-77{width:77%}
.lzw-78{width:78%}
.lzw-79{width:79%}
.lzw-80{width:80%}
.lzw-81{width:81%}
.lzw-82{width:82%}
.lzw-83{width:83%}
.lzw-84{width:84%}
.lzw-85{width:85%}
.lzw-86{width:86%}
.lzw-87{width:87%}
.lzw-88{width:88%}
.lzw-89{width:89%}
.lzw-90{width:90%}
.lzw-91{width:91%}
.lzw-92{width:92%}
.lzw-93{width:93%}
.lzw-94{width:94%}
.lzw-95{width:95%}
.lzw-96{width:96%}
.lzw-97{width:97%}
.lzw-98{width:98%}
.lzw-99{width:99%}
.lzw-100{width:100%}

/* FTB DEX key-transparency panel (filled live by mod-lz-keys.js; standby in markup) */
.lz-keys{margin-top:22px}
.lz-kt{width:100%; border-collapse:collapse; margin-top:12px; font-size:var(--fs-small)}
.lz-kt thead th{color:var(--faint); font-weight:400; text-transform:uppercase; letter-spacing:.05em; font-size:var(--fs-meta); border-bottom:1px solid var(--hair); padding:4px 8px; text-align:left}
.lz-kt tbody th,.lz-kt tbody td{border-bottom:1px solid var(--hair); padding:9px 8px; vertical-align:top; text-align:left; font-weight:400}
.lz-kname{color:var(--ink); white-space:nowrap}
.lz-krole{display:block; color:var(--faint); font-size:var(--fs-meta); letter-spacing:.03em; margin-top:2px; white-space:normal}
.lz-kad{width:42%}
.lz-kaddr{font-family:var(--disp); font-size:var(--fs-small); color:var(--ink-2); word-break:break-all;
  background:transparent; border:0; border-bottom:1px solid var(--hair); border-radius:0; padding:0;
  letter-spacing:0; text-transform:none; line-height:1.5}
.lz-kaddr:hover{background:var(--sel); color:var(--sel-ink)}
.lz-kstat{display:inline-block; font-size:var(--fs-meta); letter-spacing:.06em; text-transform:uppercase; color:var(--faint)}
.lz-kstat.is-keyless{color:var(--ok)}
.lz-kstat.is-active{color:var(--amber)}
.lz-kstat.is-pending{color:var(--faint)}
@media (max-width:560px){ .lz-kname{white-space:normal} .lz-kad{width:auto} }

/* keyless-process explainer (how a key becomes keyless) */
.lz-keyflow{margin-top:18px; border-top:1px solid var(--hair); padding-top:16px}
.lz-kfh{font-size:var(--fs-meta); letter-spacing:.1em; text-transform:uppercase; color:var(--ink); margin:0 0 10px}
.lz-kfsteps{margin:0; padding-left:1.25em; display:flex; flex-direction:column; gap:9px}
.lz-kfsteps li{font-size:var(--fs-small); line-height:1.7; color:var(--ink-2)}
.lz-kfsteps li b{color:var(--ink)}
.lz-kfsteps code{font-family:var(--mono); color:var(--ok)}
.lz-kfnote{font-size:var(--fs-small); line-height:1.7; color:var(--ink-2); margin:13px 0 0}
.lz-kfnote b{color:var(--ink)}

/* per-element score rationale under each breakdown row */
.lz-el .lz-why{display:block; color:var(--faint); font-size:var(--fs-meta); line-height:1.55; margin-top:5px; max-width:56ch; font-weight:400; letter-spacing:0; text-transform:none}
