.lens-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,1fr);gap:20px;margin:28px 0}.lens-map,.lens-info{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:26px}.lens-map{background:var(--dark);color:var(--white);text-align:center}.lens-map .eyebrow{text-align:left}.lens-map .small{color:#d4e1d7}.lens-info h2{margin:18px 0 12px}.lens-info p{color:var(--muted)}.lens-diagram{width:min(100%,480px);display:block;margin:18px auto}.lens-diagram .ring{fill:none;stroke:#627e70;stroke-width:1;stroke-dasharray:3 6}.lens-diagram polygon{fill:#27463e66;stroke:var(--green);stroke-width:1.5}.lens-diagram line{stroke:#7b9c88;stroke-width:1}.lens-diagram circle{fill:#d9ff7d}.lens-diagram circle.active{fill:#fff;stroke:var(--green);stroke-width:6}.lens-diagram circle.core{fill:var(--green)}.lens-diagram text{fill:var(--dark);font-size:16px;font-weight:800}.lens-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.lens-button{border:1px solid var(--line);border-radius:12px;padding:15px;text-align:left;background:var(--white);color:var(--ink);min-height:100px}.lens-button.selected{background:#e7f5db;border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal)}.lens-button span{font:12px Consolas,monospace;color:var(--teal);display:block}.lens-button strong{font-size:17px;display:block;margin:5px 0}.lens-button small{font-size:12px;color:var(--muted)}.lens-section{margin-top:25px}.lens-section>.small{max-width:880px}.lens-search{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;max-width:500px;margin:22px 0}.lens-part{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:0 18px;margin:10px 0}.lens-part>summary{padding:18px 0}.lens-cluster{padding-left:16px}.lens-cluster summary{font-size:15px}.lens-cluster small{font:11px Consolas,monospace;color:var(--teal);margin-left:8px}.lens-cluster ul{margin:10px 0 18px;padding-left:24px;columns:2}.lens-cluster li{break-inside:avoid;padding:4px 10px 4px 0;font-size:13px}.lens-info .pill-row{margin:22px 0}
@media(max-width:800px){.lens-layout{grid-template-columns:1fr}.lens-buttons{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.lens-buttons{grid-template-columns:1fr}.lens-cluster ul{columns:1}.lens-map,.lens-info{padding:18px}}
@media print{.lens-map{background:white;color:black}.lens-diagram .ring,.lens-diagram line{stroke:#888}.lens-diagram polygon{fill:none;stroke:#000}.lens-diagram circle{fill:#000}.lens-buttons{display:none}.lens-cluster ul{columns:1}}
