.grid-host{display:flex;justify-content:center;margin:1rem 0}table.punnett{border-collapse:collapse}table.punnett th,table.punnett td{width:64px;height:64px;text-align:center;vertical-align:middle}table.punnett th{font-weight:700;color:var(--color-primary-dark);font-size:1.2rem}table.punnett th.corner{background:transparent}table.punnett td.p-cell{border:2px solid var(--color-primary);background:var(--color-surface)}table.punnett td.filled{font-size:1.25rem;font-weight:700;color:var(--color-ink)}.allele-slot{width:26px;height:40px;margin:0 1px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);font-size:1.1rem;font-weight:700;cursor:pointer;color:var(--color-ink);vertical-align:middle}.allele-slot:hover{border-color:var(--color-primary)}.allele-slot:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.allele-slot.ok{background:#e3f5ea;border-color:#2f9e63;color:#1d6b41}.allele-slot.bad{background:#fbe9e8;border-color:#d9534f;color:#a4302c}table.punnett-4x4 th,table.punnett-4x4 td{width:72px;height:56px}table.punnett-4x4 td.dh-cell{font-size:.85rem;font-weight:600;color:var(--color-ink)}.gamete-slot{width:36px;height:32px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);font-size:.9rem;font-weight:700;cursor:pointer;color:var(--color-ink)}.gamete-slot:hover{border-color:var(--color-primary)}.gamete-slot:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.gamete-slot.ok{background:#e3f5ea;border-color:#2f9e63;color:#1d6b41}.gamete-slot.bad{background:#fbe9e8;border-color:#d9534f;color:#a4302c}@media (max-width: 620px){table.punnett th,table.punnett td{width:54px;height:54px}table.punnett-4x4 th,table.punnett-4x4 td{width:52px;height:46px}table.punnett-4x4 td.dh-cell{font-size:.72rem}.gamete-slot{width:30px;height:28px;font-size:.78rem}}
