/* the lattice navigator — shared by every labs page whose items carry κ addresses (lattice-nav.js) */
.ln-hero{width:min(1400px,calc(100vw - 48px));margin:36px 0 28px calc(50% - min(700px,50vw - 24px));position:relative}
.ln-hero>.section-kicker{display:block;margin-bottom:12px}
.ln{border:1px solid var(--border);background:rgba(10,16,28,.72);padding:22px 26px 26px}
.ln-text{max-width:900px;margin:16px auto 0}
.ln-rule{font:12.5px/1.65 var(--mono);color:var(--white-dim);margin:0 0 8px}
.ln-noscript{font-size:14px;color:var(--white-dim)}
/* toolbar */
.ln-bar{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center}
.ln-dims,.ln-mode,.ln-layers{display:flex;flex-wrap:wrap;gap:8px}
.ln-chip,.ln-seg,.ln-reset{background:transparent;border:1px solid #536b7a80;color:#b9dde0;font:13px var(--mono);padding:9px 14px;min-height:42px;cursor:pointer}
.ln-chip small{font-size:10px;margin-left:7px;color:var(--white-dim)}
.ln-chip[aria-pressed="true"],.ln-seg[aria-pressed="true"]{background:#203443;border-color:#89c9cd;color:#fff}
.ln-lay[aria-pressed="false"]{opacity:.5;text-decoration:line-through}
.ln-nb{font:12px var(--mono);color:var(--white-dim);display:flex;align-items:center;gap:6px;min-height:42px}
.ln-nb input{width:18px;height:18px}
.ln-reset{margin-left:auto}
.ln-reset:disabled,.ln-nb input:disabled{opacity:.4;cursor:default}
.ln-chip:focus-visible,.ln-seg:focus-visible,.ln-reset:focus-visible,.ln-go:focus-visible,.ln-cid:focus-visible,.ln-cell:focus-visible{outline:2px solid var(--amber,#f5b74a);outline-offset:3px}
.ln-status{font:12px/1.5 var(--mono);color:#b9dde0;margin:14px 0 6px}
/* the wide lattice */
.ln-stage{margin-top:6px}
.ln-svg{display:block;width:100%;height:auto;overflow:visible}
.ln-sl{font:600 14px var(--mono);fill:var(--white-dim);letter-spacing:.06em;text-transform:uppercase}
.ln-sl2{font:12px var(--mono);fill:rgba(240,238,232,.38)}
.ln-bandline{stroke:var(--border)}
.ln-e{stroke:rgba(240,238,232,.07);stroke-width:1.2}
.ln-link{stroke:rgba(245,183,74,.3);stroke-width:2}
.ln-link.ln-link-on{stroke:rgba(245,183,74,.95);stroke-width:3}
.ln-hit{fill:transparent}
.ln-dot{fill:rgba(240,238,232,.3)}.ln-dot.ln-core{fill:rgba(167,139,250,.6)}
.ln-m{fill:#0b1016;stroke:var(--cyan);stroke-width:2.4}
.ln-m.ln-mapped{fill:var(--cyan)}
.ln-m.ln-anchor{stroke:var(--coral);fill:var(--coral)}
.ln-halo{fill:none;stroke:rgba(77,217,232,.4);stroke-width:4}
.ln-n{font:700 14px var(--mono);text-anchor:middle;fill:#0b1016;pointer-events:none}
.ln-n.ln-n-h{fill:var(--cyan)}
.ln-mage{fill:var(--cyan);stroke:none}
.ln-mage.ln-ring{fill:none;stroke:var(--cyan);stroke-width:2.2;stroke-dasharray:none}
.ln-open{fill:none;stroke:var(--coral);stroke-width:2;stroke-dasharray:4 4}
.ln-v{cursor:pointer;outline:none}
.ln-v:focus-visible .ln-hit,.ln-v[aria-pressed="true"] .ln-hit{fill:rgba(245,183,74,.12);stroke:var(--amber,#f5b74a);stroke-width:2.5}
.ln-v.ln-hit-on .ln-dot{fill:var(--amber,#f5b74a)}
.ln-dim{opacity:.16}
.ln-off-items .ln-m,.ln-off-items .ln-n,.ln-off-items .ln-halo{display:none}
.ln-off-con .ln-c,.ln-off-con .ln-link,.ln-off-con .ln-open,.ln-off-con .ln-u{display:none}
.ln-off-mage .ln-mage,.ln-off-mage .ln-link{display:none}
/* conjecture glyphs: the register's status and confidence, kept */
.ln-c{stroke-width:1.8;cursor:pointer}
.ln-c-lit{fill:rgba(52,211,153,.75);stroke:rgba(52,211,153,1)}
.ln-c-active{fill:rgba(77,217,232,calc(var(--l,.4) * .85));stroke:var(--cyan)}
.ln-c-dark{fill:#05081a;stroke:var(--amber,#f5b74a)}
.ln-c-veiled{fill:rgba(139,77,170,.6);stroke:rgba(190,140,220,.95)}
.ln-c-alias{fill:none;stroke:rgba(240,238,232,.45);stroke-dasharray:3 3}
.ln-c-open{stroke:var(--coral);stroke-width:2.6}
.ln-c.ln-sel{stroke:#fff;stroke-width:3.4}
.ln-u{cursor:pointer;outline:none}
.ln-u:focus-visible .ln-c{stroke:#fff;stroke-width:3.4}
.ln-ul{font:12px var(--mono);fill:var(--white-dim);text-anchor:middle}
/* compact: rows of buttons, no horizontal scroll */
.ln-compact{display:flex;flex-direction:column;gap:12px}
.ln-rl{display:block;font:10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--white-dim);margin-bottom:5px}
.ln-cells{display:flex;flex-wrap:wrap;gap:5px}
.ln-cell{position:relative;min-width:44px;min-height:44px;padding:4px;background:#0b1016;border:1px solid rgba(240,238,232,.14);color:var(--white-dim);font:10px var(--mono);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ln-cell b{font-size:12px;color:var(--white)}
.ln-cell.ln-has{border-color:var(--cyan)}
.ln-cell.ln-has-m{border-color:var(--cyan);background:rgba(77,217,232,.28)}
.ln-cell.ln-has-a{border-color:var(--coral)}
.ln-cell.ln-has-r{box-shadow:0 0 0 3px rgba(77,217,232,.3)}
.ln-cell[aria-pressed="true"]{outline:2px solid var(--amber,#f5b74a)}
.ln-cell i{position:absolute;top:2px;font:9px var(--mono);font-style:normal}
.ln-ci{right:3px;color:var(--amber,#f5b74a)}.ln-ci.ln-ci-open{color:var(--coral)}
.ln-mi{left:3px;color:var(--cyan)}
.ln-ucell{font-size:11px;color:var(--white)}
/* reading a vertex */
.ln-info{margin-top:14px;min-height:3.4em;border-top:1px solid var(--border);padding-top:12px}
.ln-head{font:12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#b9dde0;margin-bottom:8px}
.ln-list{list-style:none;margin:0;padding:0}
.ln-list li,div.ln-list{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;padding:4px 0}
.ln-go{background:none;border:0;padding:0;color:var(--white);font:inherit;font-size:14px;cursor:pointer;text-align:left}
.ln-go:hover{color:var(--cyan)}
.ln-addr{font:12px/1.5 var(--mono);color:var(--cyan);word-break:break-all;user-select:all}
.ln-addr.ln-a{color:var(--coral)}
.ln-why{font-size:13px;color:var(--white-dim)}
.ln-cons{display:flex;flex-direction:column;gap:4px;margin-top:6px}
.ln-crow{display:flex;gap:10px;align-items:baseline}
.ln-cid{font:11px var(--mono);background:none;border:1px solid rgba(245,183,74,.55);color:var(--amber,#f5b74a);padding:3px 8px;min-height:30px;cursor:pointer;flex:none}
.ln-mages{font-size:13px;color:var(--cyan);margin:8px 0 0}
.ln-detail{margin-top:14px;padding:14px 16px;border-left:2px solid var(--amber,#f5b74a);background:rgba(245,183,74,.05);font-size:14px;color:var(--white)}
.ln-dh{font:12px var(--mono);letter-spacing:.06em;color:var(--white-dim)}
.ln-dh b{font-size:14px;color:var(--amber,#f5b74a)}
.ln-claim{margin:8px 0 4px;font-size:15px}
.ln-seat{font:12px var(--mono);color:#b9dde0;margin:8px 0 2px}
.ln-out{display:inline-block;margin-top:10px;font:12px var(--mono);letter-spacing:.08em}
/* legend */
.ln-legend{display:flex;flex-wrap:wrap;gap:10px 20px;font:11px var(--mono);letter-spacing:.06em;color:var(--white-dim);margin-top:16px}
.ln-legend i{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:7px;vertical-align:-1px;border:1.6px solid var(--cyan)}
.ln-legend .f{background:var(--cyan)}
.ln-legend .a{background:var(--coral);border-color:var(--coral)}
.ln-legend .r{box-shadow:0 0 0 3px rgba(77,217,232,.3)}
.ln-legend .d{border-radius:0;transform:rotate(45deg);width:9px;height:9px}
.ln-legend .d.lit{background:rgba(52,211,153,.75);border-color:rgb(52,211,153)}
.ln-legend .d.active{background:rgba(77,217,232,.5)}
.ln-legend .d.dark{background:#05081a;border-color:var(--amber,#f5b74a)}
.ln-legend .d.veiled{background:rgba(139,77,170,.6);border-color:rgb(190,140,220)}
.ln-legend .d.alias{border-style:dashed;border-color:rgba(240,238,232,.5)}
.ln-legend .o{border:2px dashed var(--coral)}
.ln-legend .m{border:2px solid var(--cyan);background:none}
.ln-legend .l{width:18px;height:0;border-radius:0;border:0;border-top:2.5px solid rgba(245,183,74,.7);vertical-align:3px}
/* the items the lattice filters */
[data-ln-out]{display:none!important}
@media (max-width:700px){.ln-hero{width:auto;margin:28px 0}.ln{padding:16px 14px 18px}.ln-reset{margin-left:0}}
@media (prefers-reduced-motion:no-preference){.ln-v .ln-hit,.ln-dim,.ln-cell{transition:opacity .2s,fill .2s}}
.kappa-addr{overflow-wrap:anywhere}
.ln-list li>*,div.ln-list>*,.ln-crow>*{min-width:0;max-width:100%}
