.swarm{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:14px;margin:22px 0}.peer{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;min-width:0;transition:.2s}.peer.focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(13,148,136,.12)}.peer.offline{opacity:.42;filter:grayscale(1)}.peer-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:10px}.peer-head span{font-size:12px;color:var(--sub)}.pieces,.piece-legend{display:flex;gap:5px;flex-wrap:wrap}.piece{display:grid;place-items:center;width:27px;aspect-ratio:1;border-radius:7px;background:#eef2f6;color:#728096;font:600 11px 'IBM Plex Mono',monospace}.piece.have{background:var(--piece);color:#fff}.piece.request{outline:3px solid #f3b33d;transform:scale(1.08)}.piece.bad{background:#be123c;color:#fff}.piece-legend{align-items:center;margin-top:18px}.piece-legend span{font-size:12px;color:var(--sub);margin-right:8px}.piece-legend .piece{display:inline-grid}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0 16px}.tabs button{background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 14px;color:var(--navy);font-weight:700;cursor:pointer}.tabs button.active{background:var(--navy);color:#fff}.tabpane{display:none}.tabpane.active{display:block}.tabpane h3{color:var(--navy);margin:0 0 8px}.tabpane p{margin:0 0 16px}.wire-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:18px 0}.wire-flow code{background:#eaf1fd;padding:8px 10px;border-radius:8px;color:var(--navy)}pre{background:#10283b;color:#d8f4ed;padding:18px;border-radius:14px;min-height:140px;overflow:auto}.rarity-bar{display:inline-block;height:8px;border-radius:6px;background:var(--teal);vertical-align:middle;margin-right:8px}.choke-state{font-weight:800;color:var(--teal)}@media(max-width:900px){.swarm{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.swarm{grid-template-columns:1fr}.wire-flow span{display:none}}
