.so-lab,.so-figure{margin:1rem 0;padding:.75rem;background:#fdf9f3;border:1px solid #e9d9ce;border-radius:.65rem}
.so-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,94px),1fr));gap:.4rem}
.so-card{border:1px solid #a78c7e;border-radius:.4rem;padding:.3rem;display:grid;align-content:start;justify-items:center}
.so-card svg{width:min(100%,7rem);height:auto;margin-top:.2rem}
.so-card span,.so-figure figcaption{font-size:.85rem}
.so-figure figcaption{margin-top:.5rem}
.so-red{fill:#f6c9b8;stroke:#a25439}.so-blue{fill:#cbddea;stroke:#456c83}
.so-kept{fill:#e1ece3;stroke:#54765c}.so-removed{fill:none;stroke:#a25439;stroke-dasharray:2 1}.so-cross{fill:none;stroke:#a25439;stroke-width:1.4}
[data-route="group"] .so-card{box-shadow:inset 0 0 0 1px #a25439}
[data-route="whole"] :is(.so-red,.so-blue,.so-removed){stroke-width:2}
.so-lab label{display:block;font-weight:700;margin:.45rem 0}
.so-lab select{display:block;max-width:100%;min-height:44px;font:inherit;padding:.35rem;color:#30231d;background:#fffdf9;border:1px solid #a46d59;border-radius:.35rem}
.so-lab form button{margin-top:.6rem}
.so-paths{display:flex;flex-wrap:wrap;gap:.5rem;margin:.65rem 0}
.so-paths [aria-pressed="true"]{background:#f5e0d6;border-color:#a25439}
.so-lab [hidden]{display:none}
.hero-art .art-equation{font-size:clamp(19px,2.3vw,29px);gap:.5rem;white-space:nowrap}
@media(max-width:580px){
 .hero-art>.so-figure,.hero-art>.art-equation,.hero-art>p,.hero-art>.art-note{grid-column:1/-1}
 .hero-art>.so-figure{margin:0}
}
.so-lab #so-choice:not(:empty){margin-top:.5rem;font-size:.85rem;line-height:1.6}
