.protein-stage { position: relative; height: clamp(280px, 48vw, 360px); overflow: hidden; border: 1px solid #264a48; border-radius: 12px; background: radial-gradient(ellipse at center, #1d4142, #102729); }
.protein-stage img, .protein-stage canvas { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.protein-stage canvas { touch-action: pan-y; cursor: grab; }
.protein-stage canvas:active { cursor: grabbing; }
.protein-stage canvas:focus-visible { outline: 3px solid #b9f3d7; outline-offset: -5px; }
.protein-stage canvas[hidden], .protein-stage img[hidden] { display: none; }
.article-body .protein-status { margin: .6rem 0; color: #4e625b; font-size: .825rem; }
.protein-legend { display: flex; flex-wrap: wrap; gap: .6rem; margin: .7rem 0; font-size: .8rem; color: #4e625b; }
