.reference-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.reference-card{min-height:210px;gap:16px}
.reference-card strong{font-size:1.5rem;line-height:1.25}
.number-classes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:20px 0}
.number-classes span{background:#edf3f5;border:1px solid #cbd7dc;border-radius:8px;text-align:center;padding:14px 6px}
.number-classes small{display:block;color:#536775;margin-bottom:8px}
.number-classes b{font-size:1.8rem;font-variant-numeric:tabular-nums}
.context-packs{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0;max-height:340px;overflow:auto}
.context-pack{padding:10px 12px;background:#d9e8ee;border:1px solid #2776a5;border-radius:6px}
.context-pack.partial{background:#f7e6c7;border-style:dashed;border-color:#a56b17}
.context-pack small{margin-left:4px}
.criteria-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.criteria-results article{background:#edf3f5;border-radius:8px;padding:16px}
.criteria-results h4{margin:0 0 10px}
.fraction{display:inline-flex;flex-direction:column;text-align:center;vertical-align:middle;margin:0 8px}
.fraction>span{padding:6px 14px}
.fraction>span:first-child{border-bottom:2px solid currentColor}
.fraction-model{font-size:1.65rem;text-align:center;margin:24px 0}
.spatial-controls output{display:none}
.membership-table{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.membership-table p{display:flex;flex-direction:column;margin:0;background:#edf3f5;padding:12px;border-radius:6px}
.membership-table span{font-size:.9rem;color:#536775;margin-top:4px}
.vertex-buttons,.packing-actions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.vertex-buttons button[aria-pressed="true"]{background:#176854;color:white}
.math-graphic text{font-family:inherit}
.manipulative [data-area] svg text{font-size:14px}
.manipulative [data-canvas] svg text{font-size:16px}
.manipulative [data-canvas] svg text[font-size="13"]{font-size:13px}
.manipulative>.controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}
.coordinate-graphic svg{max-height:460px}
.table-scroll{overflow:auto;margin:20px 0}
.table-scroll table{min-width:520px;width:100%;border-collapse:collapse}
.table-scroll th,.table-scroll td{padding:14px;text-align:left;border-bottom:1px solid #cbd7dc;vertical-align:top}
.table-scroll th{background:#edf3f5}
#vocab-search{width:100%;max-width:550px;margin-top:10px}
@media(max-width:760px){.reference-grid{grid-template-columns:1fr}.reference-card{min-height:160px}.criteria-results{grid-template-columns:1fr}.number-classes small{font-size:.72rem}.number-classes b{font-size:1.4rem}.membership-table{grid-template-columns:1fr}.manipulative>.controls{grid-template-columns:1fr}}
